/* v0.7.0c home: apple.com-style full-viewport area blocks, 2-col card grid, column footer */
.white{background:#fff;color:var(--ink)}
.ab{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:clamp(72px,9vw,120px) var(--g) 0;overflow:hidden;box-sizing:border-box}
.ab-intro{min-height:0;padding-bottom:clamp(24px,3vw,48px)}
.ab-intro .wrap{display:block;padding:0}
.ab-intro h2{font-size:clamp(2.25rem,5vw,4rem);line-height:1.05}
.ab-intro p{max-width:56ch;margin:16px auto 0;color:var(--muted)}
.ab-txt{max-width:980px}
.ab h2{font-size:clamp(2.25rem,6vw,4.5rem);line-height:1.04}
.ab-sub{font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.35;margin:14px auto 0;max-width:44ch}
.ab-ctas{display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap;margin:28px 0 0}
.pill{display:inline-block;padding:12px 24px;border-radius:980px;background:var(--moor);color:var(--bone);font:500 1rem Inter,Arial,sans-serif;text-decoration:none;transition:background .2s}
.pill:hover{background:#0f3646}
.ab-link{color:var(--moor);font:500 1rem Inter,Arial,sans-serif;text-decoration:none}
.ab-link:hover{text-decoration:underline}
.ab.moor .pill{background:var(--signal);color:var(--ink)}
.ab.moor .pill:hover{background:#c8e63f}
.ab.moor .ab-link{color:var(--signal)}
.ab.moor .ab-sub{color:#dfe8ec}
.ab-img{margin:clamp(32px,4vw,56px) 0 0;width:100%;max-width:1248px;flex:1;display:flex;align-items:flex-end}
.ab-img picture,.ab-img img{display:block;width:100%}
.ab-img img{height:auto;aspect-ratio:16/9;max-height:62vh;object-fit:cover;border-radius:12px 12px 0 0}
.pill:focus-visible,.ab-link:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.ab.bone .pill:focus-visible,.ab.white .pill:focus-visible,.ab.bone .ab-link:focus-visible,.ab.white .ab-link:focus-visible{outline-color:var(--moor)}
.ab-legal{padding:48px 0}
.ab-legal .legal{margin-top:0}
/* card grid */
.cg-s{padding:clamp(24px,3vw,40px) var(--g)}
.cg{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px);max-width:1248px;margin:0 auto}
.cg-card{border-radius:16px;padding:clamp(40px,5vw,72px);min-height:420px;display:flex;flex-direction:column;justify-content:center;text-align:center;align-items:center}
.cg-card h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1}
.cg-card p{margin:14px 0 0;max-width:44ch}
.cg-card .links{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.cg-card.moor a{color:var(--signal)}
.cg-quote blockquote{font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.2}
.cg-quote p{color:#b9c5cc;font:500 .8125rem "JetBrains Mono",monospace}
/* footer */
footer.ft{display:block;padding:56px var(--g) 40px}
.ft-top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:32px;border-bottom:1px solid #2a3338}
.ft-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:32px 0}
.fh{margin:0 0 12px;color:var(--bone);font:600 .8125rem Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{margin:0 0 10px}
.fcol a,.fcol .cookie-settings{color:#b9c5cc;text-decoration:none;font:400 .875rem Inter,Arial,sans-serif}
.fcol a:hover{color:var(--bone)}
.fcol .legal-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.fcol .cookie-settings{background:none;border:0;padding:0;cursor:pointer;text-align:left}
.ft-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;border-top:1px solid #2a3338;font:500 .75rem "JetBrains Mono",monospace;color:#9aa8b0}
@media (max-width:900px){.cg{grid-template-columns:1fr}.cg-card{min-height:320px}}
@media (max-width:560px){
 .ab{min-height:0;padding-top:64px}
 .ab-ctas{gap:18px}
 .ab-img img{aspect-ratio:4/3;border-radius:8px 8px 0 0}
 .ft-cols{grid-template-columns:1fr 1fr}
 .ft-cols .fcol:last-child{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.pill{transition:none}}
/* v070d: one photo rule for the home (hero + area blocks): content width, 16:9 (4:3 mobile), radius 12px (8px mobile) on all corners, no border */
.break img,.ab-img img{aspect-ratio:16/9;max-height:none;border-radius:12px;border:0;object-fit:cover}
.ab{padding-bottom:clamp(64px,7vw,112px)}
@media(max-width:560px){.break img,.ab-img img,.break img[src*="/area-"]{aspect-ratio:4/3;border-radius:8px}}
/* v070e: quote attribution on one line */
.cg-quote p{white-space:nowrap;max-width:none;font-size:.75rem;letter-spacing:0}
@media(max-width:400px){.cg-card.cg-quote{padding-left:20px;padding-right:20px}.cg-quote p{font-size:.6875rem;letter-spacing:-.01em}}
