/* Hallmark · genre: editorial · macrostructure: Workbench · theme: Almanac · enrichment: local photography · nav: N3 · footer: Ft5 */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V5 */

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R4 V5 */
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;letter-spacing:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{cursor:pointer}.skip{position:fixed;left:16px;top:-90px;z-index:200;background:var(--paper);color:var(--ink);padding:10px 14px}.skip:focus{top:16px}.eyebrow{display:block;font:800 .75rem/1.2 var(--font-body);letter-spacing:.08em;margin-bottom:14px}h1,h2,h3{font-family:var(--font-display);font-style:normal;letter-spacing:0;line-height:1.03;overflow-wrap:anywhere;margin:0 0 22px}h1{font-size:clamp(2.7rem,7vw,7.6rem)}h2{font-size:clamp(2rem,4.5vw,4.7rem)}p{margin:0 0 1.15em}.media{margin:0;min-width:0;overflow:hidden}.media figcaption{font-size:.72rem;padding:7px 0;color:var(--muted)}.button,form button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:0;background:var(--accent);color:var(--accent-text);font-weight:850;text-decoration:none;white-space:nowrap}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:inherit;padding:9px 13px;font-weight:800}form{display:grid;gap:15px}label,fieldset{display:grid;gap:7px;font-weight:750}fieldset{border:1px solid var(--line);padding:14px}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);background:var(--input);color:var(--ink);padding:12px 13px;border-radius:0}textarea{min-height:120px;resize:vertical}.consent{display:flex;align-items:flex-start;font-weight:500}.consent input,input[type=radio],input[type=checkbox]{width:20px;height:20px;flex:0 0 auto;accent-color:var(--accent)}output{display:block;border-left:4px solid var(--accent);padding:12px 14px;background:var(--paper);color:var(--ink);font-weight:700}.contact,.newsletter{padding:clamp(56px,8vw,120px) clamp(20px,7vw,112px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(300px,1fr);gap:clamp(30px,8vw,120px)}.contact form,.newsletter form{padding:clamp(22px,4vw,46px);background:var(--paper);color:var(--ink);border:1px solid var(--line)}.newsletter{background:var(--accent);color:var(--accent-text)}.newsletter button{background:var(--ink);color:var(--bg)}details{border-top:1px solid var(--line);padding:17px 0}summary{cursor:pointer;font-weight:850;font-size:1.05rem}details p{max-width:70ch;margin-top:14px}.footer-brand{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;max-width:760px}.footer-brand>span{display:grid;place-items:center;width:56px;height:56px;background:var(--accent);color:var(--accent-text);font-weight:900}.footer-brand p{color:var(--footer-muted);margin-top:8px}.cookie{position:fixed;z-index:100;right:18px;bottom:18px;max-width:430px;padding:18px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 60px #0004}.cookie button{background:var(--accent);color:var(--accent-text);border:0;padding:9px 14px;font-weight:800}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}@media(max-width:800px){body{font-size:16px}.menu-toggle{display:block}header nav{display:none!important;position:absolute;left:12px;right:12px;top:calc(100% + 1px);padding:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);z-index:90}header nav.open{display:grid!important;gap:12px}.contact,.newsletter{grid-template-columns:minmax(0,1fr)}h1{font-size:clamp(2.45rem,13vw,4.5rem)}h2{font-size:clamp(1.9rem,9vw,3.2rem)}}@media(max-width:420px){.button,form button{width:100%}.contact,.newsletter{padding-left:16px;padding-right:16px}}

:root{--bg:#eef1ed;--paper:#fff;--ink:#172331;--muted:#637078;--line:#aab5b5;--accent:#148b82;--accent-text:#fff;--input:#fff;--focus:#e0513e;--font-body:"Segoe UI",Arial,sans-serif;--font-display:"Segoe UI",Arial,sans-serif;--footer-muted:#b8c4c8}.dp-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,5vw,72px);background:#172331;color:#fff;position:relative;z-index:40}.dp-brand{display:flex;gap:14px;align-items:center;text-decoration:none}.dp-brand>span{display:grid;place-items:center;width:48px;height:48px;background:var(--accent);font-weight:900}.dp-brand div{display:grid}.dp-brand small{color:#adbbc3}.dp-header nav{display:flex;gap:28px}.dp-header nav a{text-decoration:none;font-weight:800}.dp-dashboard{display:grid;grid-template-columns:minmax(0,1.15fr) 260px minmax(340px,.85fr);min-height:720px;background:#fff}.dp-intro{padding:clamp(50px,8vw,110px) clamp(20px,6vw,90px);align-self:center}.dp-intro h1{max-width:11ch}.dp-intro p{max-width:55ch;font-size:1.15rem}.dp-today{background:#e0513e;color:#fff;padding:42px 28px;display:flex;flex-direction:column;justify-content:center}.dp-today>span{font-weight:900;letter-spacing:.12em}.dp-today strong{font-size:3.2rem;line-height:1}.dp-dashboard-photo{height:100%;min-height:620px}.dp-planner{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:80px clamp(20px,7vw,110px);background:var(--accent);color:#fff}.dp-planner form{grid-template-columns:1fr 1fr}.dp-planner label:first-child,.dp-planner button,.dp-planner output{grid-column:1/-1}.dp-board{padding:80px clamp(20px,7vw,110px)}.dp-board header{max-width:780px}.dp-board>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line)}.dp-board a{padding:18px;text-decoration:none;border-right:1px solid var(--line);font-weight:800}.dp-board a:last-child{border:0}.dp-board a span{display:block;color:var(--accent);font-size:2rem}.dp-story{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:0;margin:0 clamp(20px,6vw,90px) 28px;background:var(--paper);border:1px solid var(--line)}.dp-story-copy{padding:clamp(28px,5vw,70px);order:2}.dp-story h2{max-width:13ch}.dp-story-photo{height:100%;min-height:430px}.dp-story:nth-of-type(even){grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.dp-story:nth-of-type(even) .dp-story-copy{order:0}.dp-compare{display:grid;grid-template-columns:1fr .75fr 1fr;gap:0;margin:90px 0;background:#172331;color:#fff}.dp-compare>div{min-height:420px}.dp-compare>div:nth-child(2){padding:50px 30px;display:flex;flex-direction:column;justify-content:center}.dp-sorter{padding:90px clamp(20px,8vw,120px);background:#f4cf51;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.dp-sorter form{grid-template-columns:1fr 1fr}.dp-sorter label,.dp-sorter button,.dp-sorter output{grid-column:1/-1}.dp-week{padding:80px clamp(20px,8vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#dce6e4}.dp-gallery{padding:90px clamp(20px,4vw,65px);background:#172331;color:#fff}.dp-gallery header{max-width:700px;margin-bottom:50px}.dp-gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.dp-gallery-item{height:230px}.dp-gallery-item:nth-child(8n+1){grid-column:span 2;grid-row:span 2;height:470px}.dp-gallery figcaption{color:#c9d3d7}.dp-faq{padding:90px clamp(20px,9vw,145px);display:grid;grid-template-columns:.7fr 1fr;gap:80px}.dp-contact{background:#dce6e4}.dp-footer{background:#172331;color:#fff;padding:70px clamp(20px,7vw,100px);display:grid;grid-template-columns:1fr .6fr;gap:40px}.dp-footer>p{grid-column:1/-1}.dp-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:1000px){.dp-dashboard{grid-template-columns:1fr 220px}.dp-dashboard-photo{grid-column:1/-1;height:440px;min-height:0}.dp-board>div{grid-template-columns:1fr 1fr}.dp-board a{border-bottom:1px solid var(--line)}.dp-story,.dp-story:nth-of-type(even),.dp-planner,.dp-sorter,.dp-week,.dp-faq{grid-template-columns:1fr}.dp-story-copy,.dp-story:nth-of-type(even) .dp-story-copy{order:0}.dp-compare{grid-template-columns:1fr}.dp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dp-gallery-item,.dp-gallery-item:nth-child(8n+1){grid-column:auto;grid-row:auto;height:230px}}@media(max-width:560px){.dp-dashboard{grid-template-columns:1fr}.dp-today{min-height:230px}.dp-dashboard-photo{height:330px}.dp-planner form,.dp-sorter form{grid-template-columns:1fr}.dp-planner label:first-child,.dp-planner button,.dp-planner output,.dp-sorter label,.dp-sorter button,.dp-sorter output{grid-column:auto}.dp-board>div{grid-template-columns:1fr}.dp-story{margin-left:12px;margin-right:12px}.dp-story-photo{min-height:280px}.dp-footer{grid-template-columns:1fr}}

header nav a,footer nav a,.tw-index a,summary{min-height:44px;display:flex;align-items:center}.tw-index a{padding:5px 0}summary{padding:7px 0}

.legal{max-width:980px;margin:0 auto;padding:70px 24px 110px}.legal-back{display:inline-block;margin-bottom:42px;font-weight:800}.legal h1{font-size:clamp(2.6rem,7vw,5.8rem);max-width:14ch}.legal h2{font-size:clamp(1.45rem,3vw,2.4rem);margin-top:45px}.legal p,.legal li{max-width:76ch}.sources{padding-left:1.3rem}.sources li{margin:0 0 12px;overflow-wrap:anywhere}
.cookie a{display:inline-flex;align-items:center;min-height:40px}


/* Strengthening pass · light editorial · form recovery + legal reading */
html, body { overflow-x: clip; }
.lf-strength { max-width: min(1180px, calc(100% - 2rem)); margin: clamp(3.5rem, 7vw, 7rem) auto; padding-block: clamp(2rem, 5vw, 4.5rem); border-block: 1px solid currentColor; }
.lf-strength-copy { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: clamp(1.25rem, 4vw, 4rem); align-items: start; }
.lf-strength h2 { max-width: 18ch; overflow-wrap: anywhere; font-style: normal; }
.lf-strength p { max-width: 72ch; }
.lf-strength-note { margin-top: 2rem; font-size: .86rem; opacity: .72; }
.lf-tool { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(1.5rem, 5vw, 5rem); }
.lf-tool form { min-width: 0; }
.local-tool-result { margin-top: 1rem; padding: 1rem 0; border-top: 1px solid currentColor; min-height: 3.5rem; }
.form-trap { position: absolute !important; inline-size: 1px !important; block-size: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; }
.form-consent { display: flex !important; align-items: flex-start !important; gap: .65rem !important; margin-block: 1rem !important; max-width: 65ch; font-size: .9rem; line-height: 1.45; }
.form-consent input { flex: 0 0 auto; inline-size: 1.1rem !important; block-size: 1.1rem !important; margin-top: .15rem; }
.form-status { min-height: 1.6rem; margin-top: .75rem; font-weight: 700; }
.form-status[data-state="loading"] { opacity: .72; }
.form-status[data-state="success"] { text-decoration: underline; text-underline-offset: .25em; }
.form-status[data-state="error"] { outline: 2px solid currentColor; outline-offset: .35rem; }
.legal-page { min-height: 100vh; }
.legal-skip { position: absolute; left: -9999px; top: 0; }
.legal-skip:focus { left: 1rem; top: 1rem; z-index: 100; padding: .75rem 1rem; background: inherit; color: inherit; outline: 3px solid currentColor; }
.legal-header, .legal-footer { width: min(1120px, calc(100% - 2rem)); margin-inline: auto; display: flex; gap: 1rem 2rem; align-items: center; justify-content: space-between; padding-block: 1.25rem; border-block-end: 1px solid currentColor; }
.legal-header nav, .legal-footer { flex-wrap: wrap; }
.legal-header nav { display: flex; gap: .5rem 1.25rem; }
.legal-brand { font-size: clamp(1.15rem, 2vw, 1.65rem); font-weight: 800; text-decoration: none; }
.legal-main { width: min(920px, calc(100% - 2rem)); margin: 0 auto; padding-block: clamp(3rem, 7vw, 7rem); }
.legal-intro { padding-bottom: clamp(2rem, 5vw, 4rem); border-bottom: 2px solid currentColor; }
.legal-intro h1 { max-width: 14ch; overflow-wrap: anywhere; font-style: normal; }
.legal-main > section { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: clamp(1rem, 4vw, 4rem); padding-block: clamp(2rem, 4vw, 3.5rem); border-bottom: 1px solid currentColor; }
.legal-main > section h2 { margin: 0; font-style: normal; }
.legal-main > section p { margin: 0; max-width: 70ch; }
.legal-contact { margin-top: clamp(2.5rem, 6vw, 5rem); padding: clamp(1.5rem, 4vw, 3rem); outline: 1px solid currentColor; outline-offset: -.25rem; }
.legal-footer { border-block-start: 1px solid currentColor; border-block-end: 0; }
@media (max-width: 48rem) {
  .lf-strength-copy, .lf-tool, .legal-main > section { grid-template-columns: minmax(0, 1fr); }
  .legal-header { align-items: flex-start; flex-direction: column; }
  .legal-header nav { flex-direction: column; }
  .legal-header a, .legal-footer a, .lf-strength button { min-height: 44px; display: inline-flex; align-items: center; }
}
