@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/f0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/fonts/f1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/f2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* American Home Fitters — "Clapboard & Cream" */
:root{
 --paper:#FBF8F2;--cream:#F3ECDF;--linen:#E8DFCF;--ink:#1F2A36;--text:#2B3540;--muted:#525C66;
 --navy:#2C3E52;--navy-2:#22313F;--slate:#5A6B7B;--sage:#6F8068;--sage-soft:#DCE3D5;--red:#8C3A2E;--red-2:#74301F;
 --line:#D9CFBE;--focus:#C9781F;--card:#FFFFFF;--on-navy:#F7F2E8;
 --serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Source Sans 3","Segoe UI",Arial,sans-serif;
 --fs:1.1875rem;--r:10px;--wrap:1180px;--gut:clamp(1.15rem,4vw,2.5rem);
}
html[data-theme=warm]{--paper:#FBF3E6;--cream:#F4E6D0;--linen:#EBD9BE;--card:#FFFAF2;--navy:#4A3B2E;--navy-2:#3A2E24;--slate:#6B5A4A;--sage:#6E6A3E;--sage-soft:#E9E2C8;--line:#DCC9A9;--text:#33291F;--ink:#2A2118;--muted:#5C4E40}
html[data-theme=contrast]{--paper:#FFFFFF;--cream:#FFFFFF;--linen:#F2F2F2;--card:#FFFFFF;--ink:#000;--text:#000;--muted:#1A1A1A;--navy:#001B3A;--navy-2:#000;--slate:#000;--sage:#003A1E;--sage-soft:#FFFFFF;--red:#7A0000;--red-2:#5A0000;--line:#000;--focus:#B35900;--on-navy:#FFFFFF}
html[data-theme=contrast] a{text-decoration:underline!important}
html[data-theme=contrast] .card,html[data-theme=contrast] .panel{border:2px solid #000}
html[data-text="1"]{font-size:115%}html[data-text="2"]{font-size:132%}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:6rem}
body{margin:0;background:var(--paper);color:var(--text);font:400 var(--fs)/1.65 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:.2em}
a:hover{color:var(--red)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--ink);line-height:1.15;margin:0 0 .6em;letter-spacing:-.005em;font-variation-settings:"SOFT" 50,"opsz" 60}
h1{font-size:clamp(2.3rem,1.6rem + 2.8vw,3.9rem)}
h2{font-size:clamp(1.85rem,1.4rem + 1.7vw,2.75rem)}
h3{font-size:clamp(1.3rem,1.15rem + .5vw,1.6rem)}
p{margin:0 0 1.1em;max-width:68ch}
ul{padding-left:1.2em}li{margin:.35em 0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-5rem;background:var(--navy);color:#fff;padding:.8rem 1.2rem;z-index:100;border-radius:6px}
.skip:focus{top:1rem;color:#fff}
.eyebrow{font:600 .95rem/1.3 var(--sans);letter-spacing:.06em;color:var(--red);margin:0 0 .8rem;display:flex;gap:.6rem;align-items:center}
.eyebrow::before{content:"";width:2.2rem;height:2px;background:currentColor}
.lede{font-size:1.2em;color:var(--muted)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:.75rem 1.5rem;border-radius:999px;font:600 1.05rem/1.2 var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s}
.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-2);color:#fff}
.btn-navy{background:var(--navy);color:var(--on-navy)}.btn-navy:hover{background:var(--navy-2);color:#fff}
.btn-line{border-color:currentColor;color:var(--navy);background:transparent}.btn-line:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.on-dark .btn-line{color:var(--on-navy)}.on-dark .btn-line:hover{background:var(--on-navy);color:var(--navy)}
.btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.4rem}
.textlink{font-weight:600;text-decoration:underline;text-decoration-thickness:1px}
.textlink::after{content:" →"}
/* access bar */
.a11y{background:var(--navy-2);color:#E9E3D6;font-size:.95rem}
.a11y .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.6rem;min-height:52px;padding-top:.3rem;padding-bottom:.3rem}
.a11y .grp{display:flex;align-items:center;gap:.35rem}
.a11y .lbl{margin-right:.3rem}
.a11y button{min-width:48px;min-height:44px;padding:0 .7rem;border-radius:6px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:600 1rem var(--sans);cursor:pointer}
.a11y button[aria-pressed=true]{background:#F7F2E8;color:#1F2A36;border-color:#F7F2E8}
.a11y .lic{margin-left:auto;color:#D5CEC0}
/* header */
.site-head{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-head .wrap{display:flex;align-items:center;gap:1.2rem;min-height:84px}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--ink)}
.brand img{width:132px;height:auto;mix-blend-mode:multiply}
html[data-theme=contrast] .brand img{mix-blend-mode:normal}
.brand span{font:600 1.05rem/1.2 var(--serif);max-width:9ch}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.2rem}
.nav a{display:flex;align-items:center;min-height:48px;padding:0 .7rem;text-decoration:none;color:var(--ink);font-weight:600;font-size:1.02rem;border-radius:6px}
.nav a:hover,.nav a[aria-current=page]{color:var(--red);background:var(--cream)}
.head-call{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;line-height:1.15;color:var(--ink)}
.head-call small{font-size:.85rem;color:var(--muted)}
.head-call strong{font:600 1.3rem var(--serif);color:var(--red)}
.menu-btn{display:none;margin-left:auto;min-height:48px;padding:0 1rem;border-radius:8px;border:2px solid var(--navy);background:transparent;color:var(--navy);font:600 1.05rem var(--sans)}
@media (max-width:1180px){.head-call{display:none}}
@media (max-width:1020px){
 .menu-btn{display:inline-flex;align-items:center}
 .nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);display:none;margin:0}
 .nav.open{display:block}
 .nav ul{flex-direction:column;padding:.5rem var(--gut) 1.2rem}
 .nav a{font-size:1.15rem;border-bottom:1px solid var(--line);border-radius:0}
 .a11y .lic{margin-left:0}
}
/* hero (home): angled photo */
.hero{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden}
.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.hero .panel-ang{position:relative;z-index:1;background:linear-gradient(90deg,rgba(28,40,53,.94),rgba(34,49,63,.86));clip-path:polygon(0 0,100% 0,82% 100%,0 100%);width:min(820px,64%);padding:clamp(3.5rem,8vw,6.5rem) clamp(4rem,9vw,7rem) clamp(3.5rem,8vw,6rem) 0}
.hero .panel-ang .in{padding-left:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)))}
.hero h1{color:#fff;font-weight:400;max-width:15ch}
.hero h1 em{font-style:italic;color:#F1D9B5}
.hero p{color:#E9E3D6;font-size:1.15em;max-width:36ch}
.hero .eyebrow{color:#F1D9B5}
.hero .call-big{display:inline-flex;flex-direction:column;text-decoration:none;color:#fff;margin-top:1.4rem}
.hero .call-big small{color:#D7CFC0;font-size:.95rem}
.hero .call-big strong{font:500 clamp(1.7rem,1.3rem + 1.3vw,2.3rem) var(--serif)}
.hero .lic-line{margin-top:1.4rem;font-size:.98rem;color:#D7CFC0;border-top:1px solid rgba(255,255,255,.2);padding-top:1rem;max-width:42ch}
@media (max-width:820px){
 .hero picture img{position:relative;height:auto;aspect-ratio:3/2;clip-path:polygon(0 12%,100% 0,100% 100%,0 100%);margin-top:-2rem}
 .hero .panel-ang{width:100%;clip-path:none;padding:2.4rem var(--gut) 3.4rem;background:var(--navy)}
 .hero .panel-ang .in{padding-left:0}
}
/* inner hero */
.phero{position:relative;background:var(--navy);color:var(--on-navy);overflow:hidden}
.phero .ph{position:absolute;inset:0 0 0 46%}
.phero .ph img{width:100%;height:100%;object-fit:cover}
.phero .ph::before{content:"";position:absolute;inset:0 auto 0 -1px;width:22%;background:var(--navy);clip-path:polygon(0 0,100% 0,0 100%);z-index:1}
.phero .wrap{position:relative;padding-top:clamp(2.6rem,6vw,4.6rem);padding-bottom:clamp(2.8rem,6vw,4.6rem)}
.phero .txt{max-width:min(560px,48%)}
.phero h1{color:#fff;font-weight:400}
.phero p{color:#E4DDCF}
.crumbs{font-size:.95rem;margin-bottom:1rem;color:#D3CBBB}
.crumbs a{color:#F1D9B5}
.phero .eyebrow{color:#F1D9B5}
@media (max-width:820px){.phero .ph{position:relative;inset:auto;height:auto}.phero .ph img{aspect-ratio:16/10}.phero .ph::before{width:100%;height:18%;clip-path:polygon(0 0,100% 0,0 100%);inset:-1px 0 auto 0}.phero .txt{max-width:none}}
/* trust strip */
.trust{background:var(--cream);border-bottom:1px solid var(--line)}
.trust ul{list-style:none;margin:0;padding:1.1rem 0;display:flex;flex-wrap:wrap;gap:.6rem 2.2rem;justify-content:center}
.trust li{display:flex;align-items:center;gap:.55rem;font-weight:600;color:var(--ink);margin:0}
.trust li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--sage)}
/* sections */
.sec{padding:clamp(3.6rem,8vw,6.5rem) 0}
.sec.cream{background:var(--cream)}
.sec.navy{background:var(--navy);color:var(--on-navy)}.sec.navy h2,.sec.navy h3{color:#fff}.sec.navy p{color:#E4DDCF}.sec.navy a{color:#F1D9B5}
.sec.navy .eyebrow{color:#F1D9B5}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:2.2rem}
.head-row h2{margin:0;max-width:20ch}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.split.rev>:first-child{order:2}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}
.offset{position:relative;padding:0 2rem 2rem 0}
.offset::before{content:"";position:absolute;right:0;bottom:0;width:70%;height:75%;background:var(--sage-soft);border-radius:var(--r)}
.offset img{position:relative;border-radius:var(--r);box-shadow:0 18px 40px -18px rgba(31,42,54,.45);width:100%;object-fit:cover}
.quote-mini{border-left:3px solid var(--red);padding:.3rem 0 .3rem 1.2rem;font:italic 400 1.3rem/1.5 var(--serif);color:var(--ink);margin:1.6rem 0}
/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.6rem}
.card{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card .b{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1}
.card h3{margin-bottom:.4rem}
.card p{color:var(--muted);flex:1}
.card a.cover{text-decoration:none;color:inherit}
.feature{display:grid;grid-template-columns:1.15fr 1fr;background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);margin-bottom:1.6rem}
.feature img{height:100%;width:100%;object-fit:cover;min-height:320px}
.feature .b{padding:clamp(1.6rem,4vw,3rem)}
@media (max-width:860px){.feature{grid-template-columns:1fr}.feature img{min-height:0;aspect-ratio:16/10}}
.tag{display:inline-block;background:var(--sage-soft);color:var(--ink);font-weight:600;font-size:.92rem;padding:.25rem .8rem;border-radius:999px;margin-bottom:.8rem}
/* testimonial band */
.tband{background:var(--linen);position:relative;overflow:hidden}
.tband::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 38px,rgba(44,62,82,.06) 38px 40px)}
.tband .wrap{position:relative}
.tq{max-width:52rem;margin:0 auto;text-align:center}
.tq .mark{font:400 5rem/1 var(--serif);color:var(--red);height:3rem;display:block}
.tq blockquote{margin:0;font:400 clamp(1.3rem,1.1rem + .9vw,1.85rem)/1.5 var(--serif);color:var(--ink)}
.tq cite{display:block;margin-top:1.2rem;font:600 1rem var(--sans);font-style:normal;color:var(--muted)}
.stars{color:#9A6A12;letter-spacing:.12em;font-size:1.15rem}
.tctrl{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.6rem}
.tctrl button{width:52px;height:52px;border-radius:50%;border:2px solid var(--navy);background:transparent;color:var(--navy);font-size:1.3rem;cursor:pointer}
.reviews-grid{columns:2 340px;column-gap:1.6rem}
.rv{break-inside:avoid;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.6rem;margin:0 0 1.6rem}
.rv blockquote{margin:.6rem 0 1rem;font-size:1.05rem}
.rv .who{font-weight:600;color:var(--ink)}.rv .src{color:var(--muted);font-size:.95rem}
/* promise (trust) */
.promise{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:1px solid rgba(255,255,255,.2)}
.promise > div{padding:1.8rem 1.6rem 1.6rem 0;border-bottom:1px solid rgba(255,255,255,.2)}
.promise h3{font-size:1.35rem}
.num{font:400 1rem var(--sans);color:#F1D9B5;display:block;margin-bottom:.6rem;letter-spacing:.08em}
/* steps */
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.6rem}
.steps li{counter-increment:s;border-top:2px solid var(--navy);padding-top:1rem;margin:0}
.steps li::before{content:counter(s,decimal-leading-zero);font:400 2rem var(--serif);color:var(--red);display:block}
.steps strong{display:block;font:500 1.25rem var(--serif);color:var(--ink);margin:.3rem 0}
/* faq */
details{border-bottom:1px solid var(--line);padding:.2rem 0}
summary{cursor:pointer;min-height:56px;display:flex;align-items:center;font:500 1.2rem var(--serif);color:var(--ink);list-style:none;gap:1rem;justify-content:space-between}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:400 1.6rem var(--sans);color:var(--red)}
details[open] summary::after{content:"–"}
details p{color:var(--muted)}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.gal figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gal figcaption{padding:.8rem 1rem;font-size:1rem;color:var(--muted)}
/* lines table */
.lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem}
.line-card{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:var(--r);padding:1.4rem 1.4rem 1.2rem}
.line-card.best{border-top-color:var(--red)}
.line-card dl{margin:1rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:1rem}
.line-card dt{color:var(--muted)}.line-card dd{margin:0;font-weight:600;color:var(--ink)}
.fine{font-size:.95rem;color:var(--muted)}
/* map */
.mapband{background:#1F3326;color:#F4EDE2}
.mapband h2,.mapband h3{color:#fff}.mapband p{color:#DCD4C4}
.mapgrid{display:grid;grid-template-columns:.9fr 1.3fr;gap:3rem;align-items:center}
@media (max-width:900px){.mapgrid{grid-template-columns:1fr}}
.mapband svg{width:100%;height:auto;display:block}
.mapband ul.towns{columns:2;list-style:none;padding:0;margin:1rem 0 0}
.mapband ul.towns li{margin:.2rem 0}
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem}
.areas ul{list-style:none;padding:0}
.areas li{padding:.45rem 0;border-bottom:1px solid var(--line)}
/* financing band */
.fband{background:var(--sage-soft)}
.big-num{font:400 clamp(3rem,2rem + 4vw,5.5rem)/1 var(--serif);color:var(--navy)}
/* contact & form */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.cbox{background:var(--navy);color:var(--on-navy);border-radius:var(--r);padding:2rem}
.cbox a{color:#fff}.cbox h2,.cbox h3{color:#fff}.cbox p{color:#E4DDCF}
.cbox .ph{font:500 clamp(1.6rem,1.3rem + 1vw,2.1rem) var(--serif);text-decoration:none;display:inline-block;margin:.2rem 0 .8rem}
form.lead{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.4rem,3vw,2.2rem)}
.fld{margin-bottom:1.15rem}
.fld label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--ink)}
.fld input,.fld select,.fld textarea{width:100%;min-height:54px;padding:.7rem .9rem;font:inherit;font-size:1.05rem;color:var(--ink);background:#fff;border:2px solid #9AA3AB;border-radius:8px}
.fld textarea{min-height:120px}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--navy);outline:3px solid var(--focus);outline-offset:1px}
.fld .err{color:#A3261B;font-weight:600;font-size:.98rem;margin-top:.3rem;display:none}
.fld [aria-invalid=true]{border-color:#A3261B}
.fld [aria-invalid=true]+.err{display:block}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}@media (max-width:600px){.two{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{margin-top:1rem;padding:1rem 1.2rem;border-radius:8px;display:none}
.form-msg.ok{display:block;background:#E3EDDF;color:#1E3B17}.form-msg.bad{display:block;background:#F6E2DC;color:#5E1B11}
/* cta band */
.cta{background:var(--red);color:#fff}
.cta .wrap{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:space-between;padding-top:2.6rem;padding-bottom:2.6rem}
.cta h2{color:#fff;margin:0;font-weight:400}
.cta a.callnum{font:500 clamp(1.6rem,1.2rem + 1.4vw,2.4rem) var(--serif);color:#fff;text-decoration:none}
.cta .btn{background:#FBF8F2;color:var(--red-2)}.cta .btn:hover{background:#fff}
html[data-theme=contrast] .cta{background:#000}
/* footer */
.foot{background:var(--navy-2);color:#D6CFC1;padding:3.6rem 0 6rem;font-size:1rem}
.foot a{color:#F3ECDF}
.foot .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:900px){.foot .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot .cols{grid-template-columns:1fr}}
.foot h2{font-size:1.15rem;color:#fff;font-family:var(--sans);font-weight:700;letter-spacing:.03em}
.foot ul{list-style:none;padding:0;margin:0}.foot li{margin:.15rem 0}.foot li a{display:inline-block;padding:.35rem 0}
.foot .logo-tile{background:#FBF8F2;display:inline-block;padding:.6rem .9rem;border-radius:8px;margin-bottom:1rem}
.foot .base{border-top:1px solid rgba(255,255,255,.15);margin-top:2.4rem;padding-top:1.4rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}
/* sticky mobile bar */
.mbar{display:none}
@media (max-width:820px){
 .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;box-shadow:0 -6px 18px rgba(0,0,0,.15)}
 .mbar a{min-height:60px;display:flex;align-items:center;justify-content:center;gap:.5rem;font:700 1.08rem var(--sans);text-decoration:none}
 .mbar .c{background:var(--navy);color:#fff}.mbar .e{background:var(--red);color:#fff}
 body{padding-bottom:60px}
}
.muted{color:var(--muted)}
.mt0{margin-top:0}.center{text-align:center}
.chips{display:flex;flex-wrap:wrap;gap:.7rem;list-style:none;padding:0}
.chips a{display:inline-flex;align-items:center;min-height:48px;padding:0 1.1rem;border:1px solid var(--line);border-radius:999px;background:var(--card);text-decoration:none;font-weight:600}
.prose h2{margin-top:1.6em}
.badge-row{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;margin-top:1.4rem}
.badge-row img{height:56px;width:auto;background:#fff;padding:.4rem .7rem;border-radius:8px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.a11y,.mbar,.nav,.menu-btn{display:none}}
.nav a,.head-call strong{white-space:nowrap}
@media (max-width:1320px){.brand span{display:none}.nav a{padding:0 .55rem}}
@media (max-width:700px){
 .a11y .lbl,.a11y .lic{display:none}
 .a11y .wrap{gap:.4rem .9rem;justify-content:space-between;flex-wrap:nowrap;min-height:50px}
 .a11y button{min-width:44px;padding:0 .5rem;font-size:.95rem}
 .a11y .grp{gap:.25rem}
 .brand img{width:112px}
 .site-head .wrap{min-height:72px}
}
@media (max-width:380px){.a11y button{min-width:40px;padding:0 .35rem;font-size:.88rem}}
.a11y .s{display:none}
@media (max-width:700px){.a11y .l{display:none}.a11y .s{display:inline}}
.a11y{font-size:15px}.a11y button{font-size:15px;min-height:44px}
@media (max-width:1500px){.brand span{display:none}}
@media (max-width:700px){.a11y button{font-size:14px;min-width:42px;padding:0 7px}.a11y .wrap{padding-left:10px;padding-right:10px}}
@media (max-width:380px){.a11y button{font-size:13px;min-width:38px;padding:0 5px}}
.contact-grid>*,.split>*,.mapgrid>*,.foot .cols>*{min-width:0}
a[href^="mailto:"]{overflow-wrap:anywhere}
.mapband{overflow:hidden}.mapband svg{overflow:hidden}
h1,h2,h3{overflow-wrap:break-word}
@media (max-width:1600px){
 html[data-text="2"] .menu-btn{display:inline-flex;align-items:center}
 html[data-text="2"] .nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);display:none;margin:0}
 html[data-text="2"] .nav.open{display:block}
 html[data-text="2"] .nav ul{flex-direction:column;padding:.5rem var(--gut) 1.2rem}
 html[data-text="2"] .nav a{border-bottom:1px solid var(--line);border-radius:0}
}
@media (max-width:1380px){
 html[data-text="1"] .menu-btn{display:inline-flex;align-items:center}
 html[data-text="1"] .nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);display:none;margin:0}
 html[data-text="1"] .nav.open{display:block}
 html[data-text="1"] .nav ul{flex-direction:column;padding:.5rem var(--gut) 1.2rem}
 html[data-text="1"] .nav a{border-bottom:1px solid var(--line);border-radius:0}
}
html[data-text="1"] .head-call,html[data-text="2"] .head-call{order:2;margin-left:auto}
html[data-text="1"] .menu-btn,html[data-text="2"] .menu-btn{order:3;margin-left:1rem}
@media (max-width:1180px){html[data-text="1"] .menu-btn,html[data-text="2"] .menu-btn{margin-left:auto}}
.gal4{grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.gal4{grid-template-columns:1fr 1fr}}@media (max-width:520px){.gal4{grid-template-columns:1fr}}
.a11y .l{white-space:nowrap}
@media (max-width:700px){.a11y .l{display:inline;position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
/* ===== v2: reading options disclosure ===== */
.a11y{display:none}
.rd{position:relative;margin-left:.6rem}
.rd-btn{min-height:44px;padding:0 .8rem;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;font:600 15px var(--sans);cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.rd-btn span[aria-hidden]{font:500 17px var(--serif);color:var(--ink)}
.rd-btn:hover,.rd-btn[aria-expanded=true]{border-color:var(--navy);color:var(--ink)}
.rd-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:70;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -16px rgba(31,42,54,.35);padding:1rem 1.1rem;width:max-content;max-width:min(92vw,360px);font-size:15px}
.rd-h{margin:.2rem 0 .4rem;font-weight:700;color:var(--ink);font-size:15px}
.rd-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}
.rd-row button{min-height:44px;min-width:48px;padding:0 .8rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:600 15px var(--sans);cursor:pointer}
.rd-row button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.rd-note{margin:0;color:var(--muted);font-size:14px}
@media (max-width:1180px){.rd{margin-left:auto}}
@media (max-width:1020px){.rd{margin-left:auto}.menu-btn{margin-left:.6rem}.site-head .wrap{gap:.6rem}}
@media (max-width:520px){.rd-t{display:none}.rd-btn{min-width:48px;justify-content:center}}
.site-head .wrap{position:relative}
/* ===== v2: flow ===== */
.reveal-on .rv-up{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal-on .rv-up.in{opacity:1;transform:none}
.sec{padding:clamp(3.4rem,7vw,6rem) 0}
.sec.cream{background:linear-gradient(180deg,var(--paper) 0,var(--cream) 140px,var(--cream) calc(100% - 140px),var(--paper) 100%)}
.fade-cream{background:linear-gradient(180deg,var(--paper),var(--cream))}
.fade-paper{background:linear-gradient(180deg,var(--cream),var(--paper))}
.sec.navy{background:transparent;color:var(--on-navy);padding:0;margin:clamp(2rem,5vw,4rem) 0}
.sec.navy>.wrap{background:var(--navy);border-radius:22px;padding:clamp(2.4rem,6vw,4.6rem) clamp(1.4rem,5vw,4rem);max-width:calc(var(--wrap) + 6rem);box-shadow:0 30px 60px -40px rgba(20,30,40,.6)}
.mapband{background:transparent;padding:0;margin:clamp(2rem,5vw,4rem) 0}
.mapband>.wrap{background:#1F3326;border-radius:22px;padding:clamp(2.4rem,6vw,4.4rem) clamp(1.4rem,5vw,4rem);max-width:calc(var(--wrap) + 6rem)}
.tband{background:radial-gradient(120% 90% at 50% 50%,var(--linen) 0,var(--linen) 45%,var(--paper) 100%)}
.tband::before{mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent)}
.trust{background:transparent;border:0;position:relative;z-index:3;margin-top:-2.6rem}
.trust ul{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 40px -24px rgba(31,42,54,.4);max-width:calc(var(--wrap) - 2*var(--gut));margin:0 auto;padding:1.1rem 1.6rem}
.hero{padding-bottom:0}.hero .panel-ang{padding-bottom:clamp(5rem,9vw,7.5rem)}
.phero .wrap{padding-bottom:clamp(4rem,7vw,5.6rem)}
.phero{border-radius:0 0 28px 28px}
.cta{background:transparent;position:relative;z-index:2;margin-bottom:-3.2rem}
.cta .wrap{background:var(--red);border-radius:20px;color:#fff;box-shadow:0 26px 50px -28px rgba(60,20,10,.6);padding:2.2rem clamp(1.4rem,4vw,3rem)}
html[data-theme=contrast] .cta .wrap{background:#000}
.foot{padding-top:6.4rem;border-radius:28px 28px 0 0;background:var(--navy-2)}
.straddle{position:relative;z-index:2;margin-bottom:-6rem}
.straddle+.sec,.straddle+section{padding-top:calc(6rem + clamp(2.4rem,5vw,4rem))}
.bleed{position:relative;margin:clamp(1rem,3vw,2rem) 0}
.bleed img{width:100%;height:clamp(280px,46vw,560px);object-fit:cover;border-radius:0}
.bleed figcaption{position:absolute;left:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));bottom:-2rem;max-width:min(520px,86vw);background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.4rem;box-shadow:0 20px 40px -24px rgba(31,42,54,.45);font:400 1.15rem/1.5 var(--serif);color:var(--ink)}
.bleed+.sec{padding-top:clamp(4.6rem,8vw,6.6rem)}
.editorial{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.editorial h2{position:sticky;top:7rem}
@media (max-width:860px){.editorial{grid-template-columns:1fr}.editorial h2{position:static}}
.duo{display:grid;grid-template-columns:1.25fr .85fr;gap:1.2rem;align-items:end}
.duo img{border-radius:var(--r);width:100%;object-fit:cover}
.duo img:first-child{aspect-ratio:4/5}.duo img:last-child{aspect-ratio:3/4;margin-bottom:-3rem;box-shadow:0 18px 40px -18px rgba(31,42,54,.45)}
@media (max-width:600px){.duo img:last-child{margin-bottom:0}}
.list-clean{list-style:none;padding:0;margin:0}
.list-clean li{padding:.9rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;gap:.9rem}
.list-clean li::before{content:"";width:10px;height:10px;margin-top:.55rem;border-radius:50%;background:var(--sage)}
.list-clean strong{display:block;color:var(--ink);font:500 1.2rem var(--serif)}
.pull{font:italic 400 clamp(1.4rem,1.1rem + 1vw,2rem)/1.45 var(--serif);color:var(--ink);border-left:3px solid var(--red);padding-left:1.4rem;margin:2rem 0}
.pull cite{display:block;font:600 1rem var(--sans);font-style:normal;color:var(--muted);margin-top:.8rem}
.svc-index{display:grid;grid-template-columns:repeat(12,1fr);gap:1.4rem}
.svc-index a{grid-column:span 4;text-decoration:none;color:inherit;display:block;position:relative;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.svc-index a.lg{grid-column:span 8;grid-row:span 2}
.svc-index a img{width:100%;aspect-ratio:4/3;object-fit:cover}
.svc-index a.lg img{aspect-ratio:auto;height:calc(100% - 7rem);min-height:280px}
.svc-index .t{padding:1rem 1.2rem 1.2rem}.svc-index h3{margin:0 0 .2rem}.svc-index p{margin:0;color:var(--muted);font-size:1rem}
@media (max-width:900px){.svc-index a,.svc-index a.lg{grid-column:span 6;grid-row:auto}.svc-index a.lg img{height:auto;aspect-ratio:4/3}}
@media (max-width:560px){.svc-index a,.svc-index a.lg{grid-column:span 12}}
/* ===== v3: logo-derived palette + motifs ===== */
:root{--logo:#0893C8;--red:#13719E;--red-2:#0F5E85;--navy:#1E3A50;--navy-2:#172C3D;--sage:#0893C8;--sage-soft:#DCEAF1;--focus:#C9781F}
html[data-theme=warm]{--red:#8A4B2A;--red-2:#6E3A20;--logo:#B0703F;--sage:#B0703F}
html[data-theme=contrast]{--red:#003F66;--red-2:#002A45;--logo:#003F66;--sage:#003F66;--sage-soft:#fff}
.hero{background:var(--navy)}
.hero .panel-ang{background:linear-gradient(90deg,rgba(23,44,61,.95),rgba(30,58,80,.86))}
/* tile bullets (the three AHF squares) */
.trust li::before,.list-clean li::before{border-radius:2px;width:9px;height:9px;background:var(--logo)}
/* gable eyebrow: rule + tiny roofline */
.eyebrow::before{width:2.4rem;height:12px;background:none;border-bottom:2px solid currentColor;
 -webkit-mask:linear-gradient(#000 0 0);clip-path:none}
.gable{display:block;margin:0 auto;width:min(240px,50vw);height:auto;color:var(--ink);opacity:.55}
.gable-div{padding:clamp(1.4rem,3vw,2.4rem) 0 0;text-align:center}
.tband .mark{color:var(--logo)}
.wm{position:absolute;pointer-events:none;color:var(--logo);opacity:.07}
.tband{position:relative}.tband .wm{right:-4%;bottom:-8%;width:46%;max-width:620px}
.foot{position:relative;overflow:hidden}.foot .wm{left:50%;transform:translateX(-50%);top:1.2rem;width:min(900px,90%);color:#fff;opacity:.05}
.foot .wrap{position:relative}
.foot .logo-tile{box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.lockup{display:flex;align-items:center;gap:.8rem;justify-content:center;font:600 .82rem var(--sans);letter-spacing:.32em;color:var(--muted);text-transform:uppercase;margin:0 0 1rem}
.lockup::before,.lockup::after{content:"";width:2.6rem;height:1px;background:currentColor}
.line-card{border-top-color:var(--navy)}.line-card.best{border-top-color:var(--logo)}
.tag{background:var(--sage-soft)}
.offset::before{background:var(--sage-soft)}
.offset::after{content:"";position:absolute;right:0;bottom:calc(75% + 10px);width:42px;height:12px;background:linear-gradient(90deg,var(--logo) 0 30%,transparent 30% 35%,var(--logo) 35% 65%,transparent 65% 70%,var(--logo) 70%);border-radius:2px;opacity:.9}
.steps li{border-top-color:var(--logo)}
.steps li::before{color:var(--red)}
.mapband>.wrap{background:var(--navy-2)}
.svc-index a.wd{grid-column:span 6}.svc-index a.wd img{aspect-ratio:16/9}@media (max-width:560px){.svc-index a.wd{grid-column:span 12}}
/* ===== v4: hero mirrored — photo left, copy right; walkway visible ===== */
@media (min-width:821px){
 .hero{min-height:clamp(620px,48vw,800px)}
 .hero picture img{right:auto;width:66%;object-position:42% 78%}
 .hero .panel-ang{margin-left:auto;width:min(720px,44%);min-height:inherit;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);padding:clamp(3.5rem,7vw,6rem) 0 clamp(5rem,9vw,7.5rem) clamp(5rem,9vw,8rem);background:linear-gradient(90deg,rgba(23,44,61,.97),var(--navy) 30%)}
 .hero .panel-ang .in{padding-left:0;padding-right:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)))}
}
@media (min-width:821px) and (max-width:1100px){.hero picture img{width:60%;object-position:38% 80%}.hero .panel-ang{width:52%}}
@media (max-width:820px){.hero picture img{clip-path:none;margin-top:0;aspect-ratio:4/3;object-position:40% 85%}}
/* galleries: show whole photo, no cut-off subjects */
.gal{display:block;columns:3 280px;column-gap:1.2rem}
.gal figure{break-inside:avoid;margin:0 0 1.2rem}
.gal img{aspect-ratio:auto;height:auto}
.gal4{display:grid;columns:auto}
.gal4 figure{margin:0}.gal4 img{aspect-ratio:3/4;object-fit:cover}
/* per-photo focal points */
img[src*="/p03-"]{object-position:50% 40%}
img[src*="/p09-"]{object-position:45% 55%}
img[src*="/p15-"]{object-position:50% 55%}
img[src*="/p34-"]{object-position:60% 60%}
img[src*="/p05-"]{object-position:50% 45%}
img[src*="/p32-"]{object-position:50% 35%}
img[src*="/p40-"]{object-position:50% 25%}
img[src*="/p39-"]{object-position:50% 30%}
img[src*="/p06-"]{object-position:50% 45%}
img[src*="/p24-"]{object-position:60% 55%}
img[src*="/p23-"]{object-position:50% 45%}
img[src*="/p20-"]{object-position:50% 55%}
img[src*="/p25-"]{object-position:50% 70%}
img[src*="/p14-"]{object-position:40% 55%}
img[src*="/p16-"]{object-position:30% 50%}
img[src*="/p29-"]{object-position:50% 65%}
img[src*="/p22-"]{object-position:50% 70%}
img[src*="/p13-"]{object-position:50% 60%}
img[src*="/p33-"]{object-position:50% 40%}
img[src*="/p18-"]{object-position:50% 40%}
.bleed img[src*="/p06-"]{object-position:50% 38%}
.bleed img[src*="/p25-"]{object-position:50% 72%}
/* inner hero: taller photo window for portrait images */
.phero{min-height:clamp(480px,40vw,620px)}
@media (max-width:820px){.phero .ph img{aspect-ratio:4/3}}
@media (min-width:821px){
 .hero{min-height:0}
 .hero h1{font-size:clamp(2.3rem,1.5rem + 2vw,3.3rem);max-width:14ch}
 .hero .panel-ang{padding-top:clamp(2.6rem,5vw,4rem);padding-bottom:clamp(4.6rem,7vw,6rem)}
 .hero picture img{width:68%;object-position:40% 92%}
}
@media (max-width:1020px){.rd{order:3;margin-left:auto}.menu-btn{order:4;margin-left:.5rem}.head-call{order:5}}
@media (min-width:821px){
 .hero .panel-ang{width:min(780px,49%);padding-left:clamp(4rem,6vw,5.5rem)}
 .hero .panel-ang .in{padding-right:max(var(--gut),calc((100vw - var(--wrap))/2))}
 .hero picture img{width:60%}
 .hero p{max-width:40ch}
}
@media (min-width:821px){.hero .panel-ang{width:min(820px,52%);padding-left:clamp(6.5rem,9vw,8.5rem)}.hero picture img{width:58%;object-position:38% 92%}}
.bleed img[src*="/p15-"]{object-position:50% 48%}
@media (max-width:1020px){html[data-text] .menu-btn{margin-left:.5rem}html[data-text] .rd{margin-left:auto}}
.bleed img[src*="/p15-"]{object-position:50% 18%}
@media (min-width:821px){.phero .ph{left:50%}.phero .txt{max-width:min(520px,42%)}}

/* ---- Malarkey product + logos (Oct 14) ---- */
.trust li.logo-li::before{display:none}
.trust .mlk-logo-sm{height:30px;width:auto;display:block}
.mlk-feature{height:44px;width:auto;margin:0 0 1rem;display:block}
.mlk-facts{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:.4rem}
.mlk-facts li{padding-left:1.1rem;position:relative}.mlk-facts li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--logo)}
.mlk-facts strong{color:var(--ink)}
.mlk-product{position:relative}
.mp-head{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.4rem,4vw,3rem);align-items:center;margin-bottom:2.4rem}
.mlk-stack{width:clamp(110px,14vw,170px);height:auto}
.mp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.mp-item{padding:1.6rem 1.6rem 1.8rem 0;border-bottom:1px solid var(--line)}
.mp-item:not(:nth-child(3n+1)){padding-left:1.6rem;border-left:1px solid var(--line)}
.mp-num{display:block;font:500 clamp(2rem,1.6rem + 1.6vw,3rem)/1 var(--serif);color:var(--navy);margin-bottom:.6rem}
.mp-item h3{margin:0 0 .4rem;font-size:1.2rem}.mp-item p{margin:0;color:var(--muted);font-size:1.05rem}
@media (max-width:900px){.mp-grid{grid-template-columns:1fr 1fr}.mp-item:not(:nth-child(3n+1)){padding-left:0;border-left:0}.mp-item:nth-child(2n){padding-left:1.4rem;border-left:1px solid var(--line)}}
@media (max-width:560px){.mp-head{grid-template-columns:1fr}.mp-grid{grid-template-columns:1fr}.mp-item:nth-child(2n){padding-left:0;border-left:0}.mp-item{padding-right:0}}
.swatches{display:grid;grid-template-columns:minmax(220px,1fr) 2.4fr;gap:2rem;align-items:center;margin-top:2.6rem}
.sw-row{display:grid;grid-template-columns:repeat(7,1fr);gap:.7rem}
.sw-row figure{margin:0}.sw-row img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:8px;box-shadow:0 10px 22px -14px rgba(31,42,54,.6)}
.sw-row figcaption{font-size:.9rem;color:var(--muted);margin-top:.35rem;line-height:1.25}
@media (max-width:900px){.swatches{grid-template-columns:1fr}.sw-row{grid-template-columns:repeat(4,1fr)}}
@media (max-width:420px){.sw-row{grid-template-columns:repeat(3,1fr)}}
.tiers{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;counter-reset:t}
.tiers li{position:relative;padding:1.4rem 1.4rem 1.6rem;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.tiers li:nth-child(2){transform:translateY(1.2rem)}.tiers li:nth-child(3){transform:translateY(2.4rem);border-top:4px solid var(--logo)}
.tier-n{font-weight:700;letter-spacing:.04em;color:var(--sage);font-size:.95rem}
.tiers h3{margin:.3rem 0 .4rem}.tiers p{margin:0;color:var(--muted)}
@media (max-width:860px){.tiers{grid-template-columns:1fr}.tiers li:nth-child(n){transform:none}}
.mlk-logo-dark{display:block;height:44px;width:auto;margin-top:1.8rem;opacity:.95}
.mlk-band{position:relative;margin:-1rem 0 1rem}
.mlk-band-in{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1.2rem,3vw,2.6rem);align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(1.4rem,3vw,2.2rem) clamp(1.4rem,3vw,2.6rem);box-shadow:0 24px 50px -32px rgba(31,42,54,.5)}
.mlk-band-logo{height:48px;width:auto}.mlk-band h2{font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem);margin:0 0 .3rem}.mlk-band p{margin:0;color:var(--muted)}
@media (max-width:860px){.mlk-band-in{grid-template-columns:1fr}}
.foot-mlk{display:inline-block;margin-top:1.2rem}.mlk-foot{height:36px;width:auto;display:block}
.gal3{grid-template-columns:repeat(3,1fr)}@media (max-width:700px){.gal3{grid-template-columns:1fr}}
.detail-fig{margin:0 0 1.6rem}.detail-fig img{width:100%;border-radius:var(--r);aspect-ratio:16/9;object-fit:cover}.detail-fig figcaption{font-size:.95rem;color:var(--muted);margin-top:.4rem}
.sec.navy .steps strong{color:#fff}
.mlk-product~.sec .line-card dl,.line-card dl{grid-template-columns:1fr auto}.line-card dd{text-align:right;white-space:nowrap}
.duo img[src*="/pg063-"]{object-position:22% 50%}.gal img[src*="/pg063-"],.svc-index img[src*="/pg063-"]{object-position:30% 50%}
@media (max-width:600px){.trust li.logo-li{flex-direction:column;gap:.4rem;text-align:center;width:100%;justify-content:center}}
/* phase1 components: composed from existing tokens */
.spec-dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.2rem;margin:0}.spec-dl dt{font-weight:600}.spec-dl dd{margin:0}
.yt{margin:0}.yt-btn{position:relative;display:block;width:100%;padding:0;border:0;background:var(--navy);cursor:pointer;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9}
.yt-btn img{width:100%;height:100%;object-fit:cover;opacity:.75}.yt-play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:2rem}
.yt-btn:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.yt iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r)}
.cg-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}.cg-filter button{min-height:44px;padding:0 1rem;border:1px solid var(--line);border-radius:999px;background:var(--card);font:inherit;font-weight:600;cursor:pointer}
.cg-filter button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.cg-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
.cg-sw{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--card);cursor:pointer;font:inherit;text-align:left;overflow:hidden}.cg-sw img{width:100%;height:auto;display:block}.cg-sw span{display:block;padding:.5rem .7rem;font-weight:600}
.cg-pending{aspect-ratio:1;border:2px dashed var(--line);border-radius:var(--r);display:grid;place-content:center;text-align:center;padding:.8rem;background:var(--paper)}.cg-pending small{color:var(--muted)}
.cg-dlg{border:0;border-radius:var(--r);padding:1.6rem;max-width:min(560px,92vw)}.cg-dlg img{width:100%;height:auto}.cg-dlg::backdrop{background:rgba(20,30,40,.6)}
.ba{margin:0 0 2rem}.ba-wrap{position:relative;overflow:hidden;border-radius:var(--r)}.ba-wrap img{display:block;width:100%;height:auto}.ba-before{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}.ba-before img{width:100%;height:100%;object-fit:cover}
.ba-range{position:absolute;inset:auto 0 1rem;width:90%;margin:auto}
/* grouped nav (section 21), reuses .nav a look */
.nav .has-sub{position:relative}
.sub-btn{display:flex;align-items:center;gap:.3rem;min-height:48px;padding:0 .7rem;border:0;background:transparent;color:var(--ink);font:600 1.02rem var(--sans);border-radius:6px;cursor:pointer;white-space:nowrap}
.sub-btn:hover,.sub-btn[aria-expanded=true],.sub-btn.is-cur{color:var(--red);background:var(--cream)}
.sub-btn .caret{font-size:.8em;transition:transform .2s}.sub-btn[aria-expanded=true] .caret{transform:rotate(180deg)}
.nav ul.sub{position:absolute;top:100%;left:0;z-index:60;display:grid;gap:0;min-width:250px;padding:.5rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 20px 40px -24px rgba(20,30,40,.45)}
.nav ul.sub[hidden]{display:none}
.nav .has-sub:first-child ul.sub{grid-template-columns:1fr 1fr;min-width:480px}
.nav .has-sub:last-child ul.sub{left:auto;right:0}
@media (max-width:1020px){.nav .sub-btn{width:100%;justify-content:space-between;font-size:1.15rem;border-bottom:1px solid var(--line);border-radius:0}
 .nav ul.sub,.nav .has-sub:first-child ul.sub{position:static;box-shadow:none;border:0;min-width:0;grid-template-columns:1fr;padding:0 0 0 1rem}
 .nav ul.sub a{font-size:1.05rem}}
html[data-text="1"] .nav .sub-btn,html[data-text="2"] .nav .sub-btn{width:100%;justify-content:space-between;border-bottom:1px solid var(--line);border-radius:0}
html[data-text="1"] .nav ul.sub,html[data-text="2"] .nav ul.sub,html[data-text="1"] .nav .has-sub:first-child ul.sub,html[data-text="2"] .nav .has-sub:first-child ul.sub{position:static;box-shadow:none;border:0;min-width:0;grid-template-columns:1fr;padding:0 0 0 1rem}
.cg-sw .cg-pending{aspect-ratio:4/3;border:0;border-bottom:1px dashed var(--line);border-radius:0;gap:.2rem}.cg-pending small{display:block;font-size:.85rem;line-height:1.3}
.cg-dlg img[hidden]{display:none}
.feature .b img.mlk-feature{height:44px;min-height:0;width:auto;aspect-ratio:auto;object-fit:contain}
