:root{--bg:#F5F6F4;--surf:#FFFFFF;--surf2:#E9ECE8;--text:#17252A;--muted:#55636A;--faint:#87949A;--line:#D9DED9;--accent:#2B5460;--accenth:#1F404A;--on:#FFFFFF;--dark:#16262C;--wood:#A0714A;--disp:'Cabinet Grotesk', 'Helvetica Neue', sans-serif;--body:'Satoshi', 'Helvetica Neue', sans-serif;--dispw:700;--track:-0.025em;--r:4px;--max:1240px;--fs-xs:clamp(.75rem,.72rem + .15vw,.8125rem);--fs-sm:clamp(.875rem,.85rem + .1vw,.9375rem);--fs-base:clamp(1rem,.97rem + .15vw,1.0625rem);--fs-lg:clamp(1.125rem,1.05rem + .35vw,1.3125rem);--fs-xl:clamp(1.5rem,1.25rem + 1vw,2rem);--fs-2xl:clamp(2rem,1.5rem + 2.2vw,3.25rem);--fs-3xl:clamp(2.6rem,1.6rem + 4.4vw,5.25rem)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:var(--fs-base);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:.2em;transition:color .2s,background .2s,border-color .2s,opacity .2s}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--disp);font-weight:var(--dispw);letter-spacing:var(--track);line-height:1.08;margin:0 0 .5em;text-wrap:balance}
h1{font-size:var(--fs-3xl)} h2{font-size:var(--fs-2xl)} h3{font-size:var(--fs-lg);line-height:1.25}
h1 em,h2 em{font-style:italic;color:var(--accent)}
p{margin:0 0 1em;text-wrap:pretty;max-width:68ch}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.narrow{max-width:820px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--text);color:var(--bg);padding:.6rem 1rem;z-index:99}.skip:focus{left:1rem}
.eyebrow{font-family:var(--body);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:1rem}
.lede{font-size:var(--fs-lg);color:var(--muted);line-height:1.55;max-width:56ch}
.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--accent);color:var(--on);border:1px solid var(--accent);padding:.85rem 1.4rem;border-radius:var(--r);font:500 var(--fs-sm)/1 var(--body);letter-spacing:.02em;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--accenth);border-color:var(--accenth);color:var(--on)}
.btn-sm{padding:.6rem 1rem}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}.btn-ghost:hover{background:var(--text);color:var(--bg);border-color:var(--text)}
.btn-ghost-light{background:transparent;color:var(--on);border:1px solid color-mix(in srgb,var(--on) 45%,transparent)}.btn-ghost-light:hover{background:var(--on);color:var(--dark)}
.link{font-size:var(--fs-sm);font-weight:500;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;white-space:nowrap}.link:hover{border-color:var(--accent)}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text)}
.logo-mark{color:var(--accent);display:inline-flex}
.logo-text{font-family:var(--disp);font-size:1.35rem;letter-spacing:var(--track);line-height:1;font-weight:var(--dispw);white-space:nowrap}
.site-aes .logo-text .lt2{font-style:italic}
.site-home .logo-text{font-weight:800;font-size:1.25rem}.site-home .lt2{color:var(--accent)}
.nav{display:flex;align-items:center;gap:1.75rem;font-size:var(--fs-sm)}
.nav>a:not(.btn),.dd-btn{text-decoration:none;color:var(--text);font:inherit;background:none;border:0;cursor:pointer;padding:.25rem 0}
.nav>a:not(.btn):hover,.dd-btn:hover{color:var(--accent)}
.dd{position:relative}.dd-btn::after{content:"";display:inline-block;width:.4em;height:.4em;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg) translate(-2px,-2px);margin-left:.45em}
.dd-menu{position:absolute;top:calc(100% + 12px);left:-1rem;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);padding:.5rem;min-width:200px;display:none;box-shadow:0 12px 32px -12px rgba(0,0,0,.18)}
.dd-menu a{display:block;padding:.55rem .75rem;text-decoration:none;border-radius:3px}.dd-menu a:hover{background:var(--surf2);color:var(--text)}
.dd.open .dd-menu{display:block}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;position:relative;cursor:pointer}
.menu-btn span:not(.sr){position:absolute;left:11px;right:11px;height:1.5px;background:var(--text);transition:transform .25s}
.menu-btn span:nth-child(1){top:18px}.menu-btn span:nth-child(2){top:25px}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
@media(max-width:900px){.menu-btn{display:block}.nav{position:absolute;top:72px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;padding:.5rem clamp(1.25rem,4vw,2.5rem) 1.5rem;border-bottom:1px solid var(--line);display:none}.nav.open{display:flex}.nav>a:not(.btn),.dd-btn{padding:.9rem 0;border-bottom:1px solid var(--line);text-align:left;width:100%}.dd-menu{position:static;display:block;border:0;box-shadow:none;background:none;padding:0 0 .5rem 1rem}.dd-btn::after{display:none}.nav .btn{margin-top:1rem}}
/* sections */
.sec{padding:clamp(4rem,8vw,7.5rem) 0}.sec-tight{padding:clamp(2rem,4vw,3.5rem) 0 clamp(4rem,8vw,6rem)}
.sec-alt{background:var(--surf2)}
.sec-head{margin-bottom:clamp(2rem,4vw,3rem);max-width:640px}.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;max-width:none;flex-wrap:wrap}.sec-head.row h2{margin:0}
.sec-head p:not(.eyebrow){color:var(--muted)}
.two{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr}}
/* hero: split (aesthetics) */
.hero-split{padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,7vw,6rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hero-fig{margin:0;position:relative}.hero-fig img{aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.hero-fig figcaption{position:absolute;left:1.25rem;bottom:1.25rem;background:var(--surf);padding:.6rem .9rem;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-fig img{aspect-ratio:4/3}}
/* hero: full (weddings) */
.hero-full{position:relative;min-height:min(88vh,860px);display:flex;align-items:flex-end;color:#FFFDF8;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,28,22,.15) 0%,rgba(20,28,22,.25) 45%,rgba(20,28,22,.78) 100%)}
.hero-full-in{position:relative;padding-top:8rem;padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.hero-full .eyebrow{color:rgba(255,253,248,.85)}.hero-full h1{max-width:14ch}.hero-full h1 em{color:#E9D9B6}.hero-full .lede{color:rgba(255,253,248,.88)}
.hero-full .finder{background:rgba(255,253,248,.97);color:var(--text)}
/* hero: stack (home) */
.hero-stack{padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,6vw,5rem)}
.hs-top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:end;margin-bottom:2rem}
.hs-top h1{margin:0;max-width:15ch}.hs-top .lede{margin:0}
.hs-fig{margin:2rem 0 0;position:relative}.hs-fig img{aspect-ratio:21/9;object-fit:cover;border-radius:6px}
.hs-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:0;background:var(--surf);border:1px solid var(--line);border-radius:6px;position:relative;margin:-2.5rem 1.5rem 0;}
.hs-stats div{padding:1.1rem 1.4rem;border-left:1px solid var(--line)}.hs-stats div:first-child{border:0}
.hs-stats dt{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.hs-stats dd{margin:.2rem 0 0;font-family:var(--disp);font-weight:700;font-size:var(--fs-xl);font-variant-numeric:tabular-nums}
@media(max-width:800px){.hs-top{grid-template-columns:1fr}.hs-fig img{aspect-ratio:4/3}.hs-stats{margin:-1.5rem .75rem 0}.hs-stats div{padding:.8rem}}
/* finder */
.finder{display:grid;grid-template-columns:1fr 1fr auto;gap:0;background:var(--surf);border:1px solid var(--line);border-radius:var(--r);margin-top:2rem;max-width:720px;padding:.4rem}
.finder label{display:flex;flex-direction:column;padding:.45rem 1rem;border-right:1px solid var(--line)}.finder label:nth-child(2){border-right:0}
.finder label span,.filters label span{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
select,input,textarea{font:inherit;color:var(--text);background:transparent;border:0;padding:.2rem 0;width:100%;min-width:0}
.finder select{appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23777' stroke-width='1.4'/%3E%3C/svg%3E") right center no-repeat;padding-right:1.25rem}
@media(max-width:640px){.finder{grid-template-columns:1fr}.finder label{border-right:0;border-bottom:1px solid var(--line)}.finder .btn{margin:.4rem}}
/* islands */
.isles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--text)}
.isle{display:grid;grid-template-rows:auto auto 1fr auto;padding:1.5rem 1.5rem 1.75rem 0;margin-right:1.5rem;text-decoration:none;border-bottom:1px solid var(--line);min-height:260px}
.isle-n{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.1em}
.isle-name{font-family:var(--disp);font-size:var(--fs-xl);letter-spacing:var(--track);font-weight:var(--dispw);margin:3.5rem 0 .5rem;line-height:1.1}
.isle-d{color:var(--muted);font-size:var(--fs-sm)}
.isle-go{margin-top:1.25rem;transition:transform .25s}.isle:hover .isle-go{transform:translateX(6px)}.isle:hover .isle-name{color:var(--accent)}
@media(max-width:900px){.isles{grid-template-columns:1fr 1fr}.isle{min-height:200px}.isle-name{margin-top:2rem}}
@media(max-width:520px){.isles{grid-template-columns:1fr}.isle{min-height:0;margin-right:0}.isle-name{margin-top:.75rem}}
/* categories */
.catlist{border-top:1px solid var(--line)}
.catrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1.5rem;padding:1.4rem 0;border-bottom:1px solid var(--line);text-decoration:none}
.cr-name{font-family:var(--disp);font-size:var(--fs-xl);font-weight:var(--dispw);letter-spacing:var(--track);line-height:1.15}.catrow:hover .cr-name{color:var(--accent)}
.cr-d{grid-column:1;color:var(--muted);font-size:var(--fs-sm)}.cr-n{grid-row:1;grid-column:2;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;align-self:center}
/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.card{background:var(--surf);padding:1.5rem 1.5rem 1.25rem;display:flex;flex-direction:column;min-height:250px;transition:background .2s}
.card:hover{background:var(--bg)}
.card[hidden]{display:none}
.card-meta{display:flex;justify-content:space-between;gap:1rem;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.5rem}
.card-meta span:first-child{color:var(--accent);font-weight:500}
.card h3{font-size:var(--fs-lg);margin-bottom:.5rem}.card h3 a{text-decoration:none}
.card-blurb{font-size:var(--fs-sm);color:var(--muted);margin-bottom:1rem}
.tags{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.tags li{font-size:.75rem;border:1px solid var(--line);padding:.2rem .55rem;border-radius:99px;color:var(--muted)}
.tags-lg li{font-size:var(--fs-sm);padding:.35rem .8rem}
.card-foot{margin:auto 0 0;display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-xs);padding-top:1rem;border-top:1px solid var(--line)}
.status{color:var(--faint);letter-spacing:.06em;text-transform:uppercase}
.more{text-decoration:none;font-weight:500}
/* band */
.band{background:var(--dark);color:var(--on)}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(4rem,8vw,7rem)}
.band figure{margin:0}.band img{aspect-ratio:5/4;object-fit:cover;border-radius:2px}
.band .eyebrow{color:color-mix(in srgb,var(--on) 65%,transparent)}.band-copy p:not(.eyebrow){color:color-mix(in srgb,var(--on) 80%,transparent);font-size:var(--fs-lg)}
@media(max-width:900px){.band-grid{grid-template-columns:1fr}}
/* guides */
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(1.5rem,3vw,2.5rem)}
.gcard{text-decoration:none;display:flex;flex-direction:column}
.gcard img{aspect-ratio:3/2;object-fit:cover;margin-bottom:1.1rem;border-radius:2px;transition:opacity .3s}.gcard:hover img{opacity:.88}
.g-read{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.5rem}
.gcard h3,.gcard h2{font-size:var(--fs-xl);margin-bottom:.4rem}.gcard:hover h3,.gcard:hover h2{color:var(--accent)}.gcard p{color:var(--muted);font-size:var(--fs-sm)}
@media(max-width:900px){.gcards{grid-template-columns:1fr}}
/* cta */
.cta{border-top:1px solid var(--line)}
.cta-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.cta p:not(.eyebrow){color:var(--muted)}
.tiers-mini{list-style:none;margin:0;padding:0;border-top:1px solid var(--text)}
.tiers-mini li{display:flex;justify-content:space-between;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.tiers-mini span{font-family:var(--disp);font-size:var(--fs-lg);font-weight:var(--dispw)}.tiers-mini b{font-weight:500;font-variant-numeric:tabular-nums}.tiers-mini small{color:var(--muted);font-weight:400}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr}}
/* page heads */
.page-head{padding:clamp(2rem,5vw,4rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line)}
.page-head h1{font-size:var(--fs-2xl);max-width:20ch}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.ph-fig{margin:0}.ph-fig img{aspect-ratio:4/3;object-fit:cover;border-radius:2px}
@media(max-width:900px){.ph-grid{grid-template-columns:1fr}}
.crumbs ol{list-style:none;margin:0 0 1.75rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;font-size:var(--fs-xs);color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:var(--faint)}.crumbs a{text-decoration:none}
.slot{background:var(--surf);border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--line));padding:1.75rem;border-radius:var(--r)}
.slot h3{font-size:var(--fs-xl)}.slot p:not(.eyebrow){color:var(--muted);font-size:var(--fs-sm)}.slot .eyebrow{color:var(--accent)}
.isl-sec + .isl-sec{margin-top:clamp(3rem,6vw,5rem)}.isl-sec h2{font-size:var(--fs-xl)}
/* filters */
.filters{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--surf);border:1px solid var(--line);border-radius:var(--r)}
.filters label{display:flex;flex-direction:column;min-width:170px}.filters label.grow{flex:1;min-width:200px}
.filters select,.filters input{border-bottom:1px solid var(--line);padding:.4rem 0}
.fl-count{margin:0;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}
.empty{padding:3rem 0;text-align:left}
/* listing */
.listing{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.listing h1{font-size:var(--fs-2xl)}.h-sm{font-family:var(--body);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:500;margin-top:2rem}
.facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:2rem 0 1.25rem}
.facts div{padding:1rem 0;border-bottom:1px solid var(--line)}.facts dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.facts dd{margin:.25rem 0 0}
.src{font-size:var(--fs-sm);color:var(--muted)}
.claim{position:sticky;top:96px;background:var(--surf);border:1px solid var(--line);padding:2rem;border-radius:var(--r);display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}
.claim h2{font-size:var(--fs-xl);margin:0}.claim p:not(.eyebrow){color:var(--muted);font-size:var(--fs-sm);margin:0}.claim .eyebrow{margin:0;color:var(--accent)}
.claim .btn{white-space:normal;text-align:center}
@media(max-width:900px){.listing{grid-template-columns:1fr}.claim{position:static}.facts{grid-template-columns:1fr}}
/* article */
.a-head{padding:clamp(2rem,5vw,4rem) 0 2rem}.a-head h1{font-size:var(--fs-2xl)}
.byline{font-size:var(--fs-sm);color:var(--muted)}
.a-fig{margin:0 auto 3rem}.a-fig img{aspect-ratio:21/9;object-fit:cover;width:100%;border-radius:2px}
.prose{padding-bottom:clamp(4rem,8vw,6rem)}
.prose h2{font-size:var(--fs-xl);margin-top:2.5rem}.prose p,.prose li{font-size:var(--fs-base)}
.prose a{color:var(--accent)}
.check{list-style:none;padding:0;margin:0 0 1.5rem}.check li{position:relative;padding:.55rem 0 .55rem 1.75rem;border-bottom:1px solid var(--line)}
.check li::before{content:"";position:absolute;left:.15rem;top:1.05rem;width:.7rem;height:.4rem;border-left:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(-45deg)}
.callout{background:var(--surf2);padding:1.5rem 1.75rem;margin:2rem 0;border-radius:var(--r)}.callout h3{margin-bottom:.5rem}.callout ul{margin:0;padding-left:1.1rem}
.note{font-size:var(--fs-sm);color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}
.sources{margin-top:2.5rem;font-size:var(--fs-sm)}.sources h2{font-family:var(--body);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:500}.sources ul{padding-left:1.1rem}
.a-next{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--text)}.a-next h2{margin-top:0}.a-next ul{padding-left:1.1rem;margin-bottom:1.5rem}
/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.5rem}
.tier{background:var(--surf);border:1px solid var(--line);padding:2rem;border-radius:var(--r);display:flex;flex-direction:column}
.tier-hi{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.tier h3{font-size:var(--fs-xl);margin-bottom:.25rem}.tier .eyebrow{color:var(--accent);margin-bottom:.75rem}
.price{display:flex;align-items:baseline;gap:.25rem;margin:.5rem 0 1rem}.price b{font-family:var(--disp);font-size:var(--fs-2xl);font-weight:var(--dispw);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.price span{color:var(--muted)}
.tier>p{color:var(--muted);font-size:var(--fs-sm)}.tier .check{flex:1}.tier .check li{font-size:var(--fs-sm)}
@media(max-width:900px){.tiers{grid-template-columns:1fr}}
/* forms */
.lead{background:var(--surf);border:1px solid var(--line);padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--r)}
.lead .grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem;margin-bottom:1.5rem}
.lead label{display:flex;flex-direction:column;gap:.35rem}.lead label.full{grid-column:1/-1}
.lead label span{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.lead input,.lead select,.lead textarea{border:1px solid var(--line);border-radius:3px;padding:.7rem .8rem;background:var(--bg)}
.lead input:focus,.lead select:focus,.lead textarea:focus{outline:none;border-color:var(--accent)}
.lead .invalid{border-color:#B3261E}
.form-err{color:#B3261E;font-size:var(--fs-sm)}.form-ok{margin:1rem 0 0;padding:1rem;background:var(--surf2);border-radius:3px}
@media(max-width:600px){.lead .grid{grid-template-columns:1fr}}
/* qca */
.qca-hero{padding:clamp(3rem,7vw,6rem) 0 clamp(2rem,4vw,3rem)}.qca-hero h1{font-size:var(--fs-2xl);max-width:16ch}
.qca-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--text)}
.qca-list>div{padding:2rem 2rem 2rem 0;border-bottom:1px solid var(--line)}.qca-list h2{font-size:var(--fs-xl)}.qca-list p{color:var(--muted)}
.qn{display:block;font-size:var(--fs-xs);color:var(--accent);letter-spacing:.1em;margin-bottom:1rem}
@media(max-width:800px){.qca-list{grid-template-columns:1fr}}
/* footer */
.ftr{background:var(--dark);color:color-mix(in srgb,var(--on) 78%,transparent);padding:clamp(3.5rem,7vw,5.5rem) 0 2rem;font-size:var(--fs-sm)}
.ftr .logo{color:var(--on)}.ftr .logo-mark{color:color-mix(in srgb,var(--on) 80%,transparent)}
.ftr-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:2rem;padding-bottom:2.5rem;border-bottom:1px solid color-mix(in srgb,var(--on) 15%,transparent)}
.ftr-brand p{margin-top:1rem;max-width:34ch}
.ftr h2{font-family:var(--body);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:color-mix(in srgb,var(--on) 55%,transparent);font-weight:500;margin-bottom:1rem}
.ftr ul{list-style:none;margin:0;padding:0}.ftr li{margin-bottom:.55rem}.ftr a{text-decoration:none}.ftr a:hover{color:var(--on)}
.disc{font-size:var(--fs-xs);color:color-mix(in srgb,var(--on) 55%,transparent);max-width:90ch;margin:1.75rem 0}
.ftr-bot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:var(--fs-xs);color:color-mix(in srgb,var(--on) 60%,transparent)}
.qca{color:var(--on)!important;border:1px solid color-mix(in srgb,var(--on) 30%,transparent);padding:.55rem .9rem;border-radius:99px;letter-spacing:.04em}
.qca:hover{background:var(--on);color:var(--dark)!important}
@media(max-width:1000px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-brand{grid-column:1/-1}}
/* site accents */
.site-wed .eyebrow{letter-spacing:.2em}.site-wed .tier-hi{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.site-wed .isles{border-top-color:var(--gold)}.site-wed .card-meta span:first-child{color:var(--gold)}
.site-home .eyebrow{color:var(--accent);font-weight:700}.site-home .card,.site-home .tier,.site-home .lead,.site-home .claim{border-radius:6px}
.site-home .cards{border-radius:6px;overflow:hidden}.site-home .card-meta span:first-child{color:var(--wood)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* fixes */
.cards{gap:0;background:none;border:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.card{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.prose a.btn{color:var(--on);text-decoration:none}
.ftr .lt2{color:inherit!important}
@media(max-width:700px){.hero-shade{background:linear-gradient(180deg,rgba(20,28,22,.35) 0%,rgba(20,28,22,.6) 40%,rgba(20,28,22,.88) 100%)}.hs-stats dd{font-size:1.15rem}.hero-full{min-height:0}}
/* consent forms */
.lead .chk{flex-direction:row;align-items:flex-start;gap:.7rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:4px;background:var(--surf)}
.lead .chk input{width:1.1rem;height:1.1rem;margin-top:.2rem;flex:none;accent-color:var(--accent)}
.lead .chk .chk-t{text-transform:none;letter-spacing:0;font-size:var(--fs-sm);color:var(--text);line-height:1.5}
.lead .chk .chk-t a{text-decoration:underline}
.lead .chk.invalid{border-color:#B3261E}
.form-note{font-size:var(--fs-sm);color:var(--muted);margin:0 0 1rem}.lead .form-note{margin:0}
.wa-note{background:var(--surf2);padding:.8rem 1rem;border-radius:4px;color:var(--text)!important}
.vpicker{border:1px solid var(--line);border-radius:4px;padding:1rem;background:var(--surf)}.vpicker.invalid{border-color:#B3261E}
.vp-h{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 .75rem;font-weight:500}.vp-n{color:var(--muted);font-size:var(--fs-sm);font-weight:400}
.vgroup{border:0;padding:0;margin:0 0 1rem}.vgroup legend{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.5rem}
.vlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}
.lead .vpick{flex-direction:row;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);cursor:pointer}
.lead .vpick span{text-transform:none;letter-spacing:0;color:var(--text);font-size:var(--fs-sm);display:flex;flex-direction:column}.lead .vpick small{color:var(--muted)}
.lead .vpick input{margin-top:.2rem;accent-color:var(--accent)}.lead .vpick:has(input:checked){border-color:var(--accent)}.lead .vpick:has(input:disabled){opacity:.5}
.vpick[hidden],.vgroup[hidden]{display:none}
.tie-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.tie h2{font-size:var(--fs-2xl);max-width:18ch}.tie-act{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}
.tie-side{border-left:1px solid var(--line);padding-left:clamp(1.5rem,4vw,3rem)}.tie-side h3{font-size:var(--fs-lg)}.tie-side p:not(.eyebrow){color:var(--muted)}
@media(max-width:800px){.tie-grid{grid-template-columns:1fr}.tie-side{border-left:0;border-top:1px solid var(--line);padding:2rem 0 0}}
.addon{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:2rem;padding:1.75rem 2rem;border:1px solid var(--accent);border-radius:var(--r);background:var(--surf)}
.addon h3{margin:.2rem 0 .4rem}.addon p:not(.eyebrow):not(.price){color:var(--muted);max-width:60ch;margin:0}.addon .price{margin:0}
.ftr-bot span a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.lead .full{grid-column:1/-1}
.lead input[type=checkbox]{padding:0;width:1.1rem;height:1.1rem;flex:none;border:0;margin:.2rem 0 0}
.lead .vpick span{flex:1}
