:root{--navy:#3b1f2b;--navy2:#5a2d40;--navy3:#7a3d56;--accent:#be185d;--accent2:#9d174d;--green:#d9779b;--eyebrow:#fbcfe8;--bar:#260f1a;--tick:#be185d;--soft:#fdf2f6;--bg:#fffafb;--navy-rgb:59,31,43;--accent-rgb:190,24,93;--ink:#1b2333;--muted:#566173;--line:#e3e7ee;--radius:12px;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.7 var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
.w{max-width:1080px;margin:0 auto;padding:16px 24px}
main.w{max-width:760px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px 44px;margin:28px auto;box-shadow:0 1px 2px rgba(var(--navy-rgb),.04),0 8px 24px rgba(var(--navy-rgb),.05)}
body.home main.w{max-width:1080px;background:transparent;border:0;box-shadow:none;padding:8px 24px}
a{color:var(--navy2);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--accent)}
h1,h2,h3{font-family:var(--serif);color:var(--navy);letter-spacing:-.01em;line-height:1.2}
h1{font-size:clamp(1.8rem,3.6vw,2.5rem);margin:.2em 0 .5em}h2{font-size:1.5rem;margin:1.9em 0 .6em}h3{font-size:1.15rem;margin:1.4em 0 .4em}
p,li{max-width:70ch}
/* language bar */
.langs{background:var(--bar)!important;font-size:.8em!important;color:#c9d4e3}.langs a{color:#dfe7f2;text-decoration:none}.langs a:hover{color:#fff}
/* header */
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
header .w{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding-top:12px;padding-bottom:12px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-family:var(--serif);font-weight:700;font-size:1.35rem;letter-spacing:-.01em}
.logo svg{flex:none}.logo .wm b{color:var(--green);font-weight:700}
nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
nav a{color:var(--ink);text-decoration:none;font-size:.95rem;padding:8px 12px;border-radius:8px}nav a:hover{background:var(--bg);color:var(--navy)}
nav a[href$="#consult"]{background:var(--accent);color:#fff;font-weight:600}nav a[href$="#consult"]:hover{background:var(--accent2);color:#fff}
/* hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 60%,var(--navy3) 100%);color:#e8eef7}
.hero .w{padding:56px 24px 60px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3rem);margin:0 0 .4em}.hero p{color:#d5deeb;font-size:1.1rem;margin:0 0 1.4em}
.hero .eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--eyebrow);margin-bottom:12px}
.btn{display:inline-block;background:var(--accent);color:#fff!important;text-decoration:none;font-weight:700;padding:14px 22px;border-radius:10px;box-shadow:0 6px 16px rgba(var(--accent-rgb),.3)}.btn:hover{background:var(--accent2)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.4);box-shadow:none;margin-left:8px}.btn.ghost:hover{background:rgba(255,255,255,.08)}
.hero-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);padding:22px 24px}
.hero-card h2{color:#fff;font-size:1.1rem;margin:0 0 10px;font-family:var(--sans)}
.ticks{list-style:none;padding:0;margin:0}.ticks li{position:relative;padding-left:28px;margin:8px 0;color:#e8eef7}
.ticks li:before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--tick) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
/* notices */
.disc{background:#fffaf0;border:1px solid #f1e2b8;border-left:4px solid #d9a400;border-radius:8px;padding:12px 16px;font-size:.9em;color:#4a4232}
.note{background:#eef4fb;border:1px solid #d6e3f3;border-left:4px solid var(--navy2);border-radius:8px;padding:12px 16px;font-size:.93em}
.quick{background:#eef8f2!important;border:1px solid #cfe9da!important;border-left:4px solid var(--green)!important;border-radius:8px;padding:14px 18px!important}
.byline-trust{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin:-4px 0 18px}.byline-trust span:before{content:"✓ ";color:var(--green);font-weight:700}
/* guide cards */
.section-title{font-size:1.6rem;margin:36px 0 6px}.section-sub{color:var(--muted);margin:0 0 18px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;list-style:none;padding:0;margin:0}
.cards li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 20px;max-width:none;position:relative;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;flex-direction:column}
.cards li:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--green);margin-bottom:14px}
.cards li:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(var(--navy-rgb),.08);border-color:#cfd8e6}
.cards li a{text-decoration:none;color:var(--navy);font-family:var(--serif);font-size:1.12rem;line-height:1.3}.cards li a:after{content:"";position:absolute;inset:0}
.cards li br{display:none}.cards li small{display:block;color:var(--muted);font-size:.92rem;line-height:1.55;margin-top:8px}
.newguides ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.newguides li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:.92rem;color:var(--muted);max-width:none}
.newguides li a{display:block;font-weight:600;color:var(--navy);text-decoration:none;margin-bottom:4px}
main.w:not(.home) .newguides li{background:var(--bg)}
.keep{background:var(--bg);border-radius:8px;padding:12px 16px}
.xsite{color:var(--muted);font-size:.93rem}
/* tables, faq */
.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff;font-size:.95rem;border:1px solid var(--line);border-radius:8px;overflow:hidden}
th{background:#f0f4f9;color:var(--navy);font-weight:600}td,th{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.faq h3{border-top:1px solid var(--line);padding-top:16px}
/* lead form */
.lead{background:#fff;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:var(--radius);padding:30px 32px;margin:40px 0;box-shadow:0 12px 32px rgba(var(--navy-rgb),.08)}
body.home .lead{max-width:760px;margin:48px auto}
.lead h2{margin-top:0;font-size:1.6rem}.lead>p{color:var(--muted)}
.lead .ticks{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 14px}.lead .ticks li{color:var(--ink);font-size:.92rem;margin:4px 0}
.lead form{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.lead form>label,.lead form>div,.lead form>button,.lead form>small,.lead form>p{grid-column:1/-1}
.lead form>label:nth-of-type(2),.lead form>label:nth-of-type(3),.lead form>label:nth-of-type(4),.lead form>label:nth-of-type(5){grid-column:auto}
.lead label{display:block;margin:10px 0 0;font-weight:600;font-size:.88rem;color:var(--navy)}
.lead input,.lead select,.lead textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #cdd5e1;border-radius:9px;font:inherit;font-size:1rem;background:#fbfcfe;transition:border-color .15s,box-shadow .15s}
.lead input:focus,.lead select:focus,.lead textarea:focus{outline:0;border-color:var(--navy2);box-shadow:0 0 0 3px rgba(var(--navy-rgb),.15);background:#fff}
.lead input[type=checkbox]{display:inline-block;width:auto;margin:0 8px 0 0;vertical-align:-2px}
.lead label:has(input[type=checkbox]){font-weight:400;color:var(--ink);font-size:.86rem;line-height:1.5}
.lead button{margin-top:18px;width:100%;background:var(--accent);color:#fff;border:0;padding:15px 18px;border-radius:10px;font-weight:700;font-size:1.05rem;cursor:pointer;box-shadow:0 6px 16px rgba(var(--accent-rgb),.25)}.lead button:hover{background:var(--accent2)}
.lead small{display:block;margin-top:12px;color:var(--muted);font-size:.82rem}.hp{position:absolute;left:-9999px}
/* footer */
footer{background:var(--navy);color:#c3cede;margin-top:56px;font-size:.88em}footer a{color:#fff}
footer .w{padding:36px 24px}footer .fbrand{display:flex;align-items:center;gap:10px;color:#fff;font-family:var(--serif);font-size:1.2rem;font-weight:700;margin-bottom:14px}
footer .fcols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;margin-bottom:22px}footer .fh{font-weight:700;color:#fff;margin:0 0 8px;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase}
footer ul{list-style:none;padding:0;margin:0}footer li{margin:5px 0}footer li a{text-decoration:none;color:#dbe4f0}footer li a:hover{color:#fff}
footer .legal{border-top:1px solid rgba(255,255,255,.15);padding-top:18px;color:rgba(255,255,255,.82)}
/* mobile */
@media (max-width:760px){body{font-size:16px}.w{padding:12px 18px}
main.w{border-radius:0;border-left:0;border-right:0;padding:24px 18px;margin:0}
.hero .w{grid-template-columns:1fr;padding:36px 18px 40px;gap:24px}.btn{display:block;text-align:center}.btn.ghost{margin:10px 0 0}
nav{width:100%;justify-content:space-between}nav a{padding:6px 8px;font-size:.9rem}
header{position:static}.lead{padding:22px 18px}.lead form{grid-template-columns:1fr}.lead form>label{grid-column:1/-1!important}
footer .fcols{grid-template-columns:1fr 1fr}footer .fcols>div:first-child{grid-column:1/-1}.cards{grid-template-columns:1fr}}

/* shared-template sites */
.cta{background:var(--soft);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:var(--radius);padding:18px 22px;margin:24px 0}
.hero .cta{background:transparent;border:0;padding:0;margin:0}.hero .cta b{display:none}.hero .cta br{display:none}
main form{background:#fff;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:var(--radius);padding:26px 28px;box-shadow:0 12px 32px rgba(var(--navy-rgb),.08)}
main form label{display:block;margin:12px 0 0;font-weight:600;font-size:.88rem;color:var(--navy)}
main form input,main form select,main form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #cdd5e1;border-radius:9px;font:inherit;font-size:1rem;background:#fbfcfe}
main form input:focus,main form select:focus,main form textarea:focus{outline:0;border-color:var(--navy2);box-shadow:0 0 0 3px rgba(var(--navy-rgb),.15);background:#fff}
main form input[type=checkbox]{display:inline-block;width:auto;margin:0 8px 0 0;vertical-align:-2px}
main form label:has(input[type=checkbox]){font-weight:400;color:var(--ink);font-size:.86rem;line-height:1.5}
main form button{margin-top:16px;width:100%;background:var(--accent);color:#fff;border:0;padding:15px 18px;border-radius:10px;font-weight:700;font-size:1.05rem;cursor:pointer}main form button:hover{background:var(--accent2)}
.form-ticks{margin:8px 0 18px}.form-ticks li{color:var(--ink)!important}
.btn{border:0}.btn.alt{background:transparent;border:1px solid rgba(255,255,255,.45);box-shadow:none}
main.w .btn.alt{border-color:var(--navy2);color:var(--navy2)!important}
.src{font-size:.85em;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}

/* affiliate / product components */
main a[href*="amazon.com"],main a[href*="amzn.to"]{font-weight:600}
main p>a.btn[href*="amazon."],main p>a[rel~="sponsored"].btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff!important;text-decoration:none;padding:13px 20px;border-radius:10px;box-shadow:0 6px 16px rgba(var(--accent-rgb),.25)}
main p>a.btn[href*="amazon."]:after,main ul>li>a[href*="amazon."]:after{content:"→";font-weight:700}
main ul:has(>li>a[rel~="sponsored"]){list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:14px 0 22px}
main ul:has(>li>a[rel~="sponsored"])>li{max-width:none;margin:0}
main ul>li>a[rel~="sponsored"]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:14px 16px;text-decoration:none;color:var(--navy);box-shadow:0 2px 8px rgba(var(--navy-rgb),.05);transition:transform .15s,box-shadow .15s}
main ul>li>a[rel~="sponsored"]:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(var(--navy-rgb),.1);color:var(--navy)}
main ul>li>a[rel~="sponsored"]:after{content:"→";color:var(--accent);font-size:1.2rem}
.toolcta{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}
.aff-note{font-size:.82rem;color:var(--muted);margin:-6px 0 14px}
/* accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
nav a,footer li a{min-height:24px;display:inline-block}
.langs a{display:inline-block;padding:4px 2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== v2 "premium editorial" layer (Nov 1 2026): bold modern product feel + editorial trust ===== */
:root{--display:"Inter","SF Pro Display",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--shadow-sm:0 1px 2px rgba(16,24,40,.06);--shadow:0 1px 3px rgba(16,24,40,.06),0 12px 32px -12px rgba(16,24,40,.14)}
body{background:#fff;font-size:18px;line-height:1.72;letter-spacing:-.003em}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.025em;color:#0f1728}
h1{font-size:clamp(2.1rem,4.4vw,3.1rem);line-height:1.08;margin:.15em 0 .45em}
h2{font-size:clamp(1.45rem,2.4vw,1.85rem);line-height:1.18;margin:2.2em 0 .6em;scroll-margin-top:90px}
h3{font-size:1.18rem;font-weight:700;letter-spacing:-.015em}
main.w{max-width:780px;border:0;box-shadow:none;border-radius:0;padding:var(--s7) 24px var(--s8);margin:0 auto;background:transparent}
main.w>p:first-of-type,main.w>.disc+p{font-size:1.1em;color:#2a3344}
header{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid #eef0f4}
header .w{max-width:1200px;padding-top:14px;padding-bottom:14px}
.logo{font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:1.4rem}
nav a{font-weight:600;font-size:.94rem;color:#344054;border-radius:999px;padding:8px 14px}
nav a:last-child:not([href$="#consult"]){border:1px solid #d0d5dd}
nav a[href$="#consult"]{border-radius:999px;padding:9px 18px}
/* hero */
.hero .w{max-width:1200px;padding:96px 24px 104px;gap:56px}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.1rem);line-height:1.02;letter-spacing:-.04em;font-weight:800}
.hero p{font-size:1.2rem;line-height:1.6;max-width:52ch;color:rgba(255,255,255,.82)}
.hero .eyebrow{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 14px;letter-spacing:.06em;font-size:.74rem}
.hero-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:28px 30px;backdrop-filter:blur(6px);box-shadow:0 24px 60px -20px rgba(0,0,0,.35)}
.hero-card h2{font-family:var(--display);font-weight:700;letter-spacing:-.01em;font-size:1.05rem}
.btn{border-radius:999px;padding:15px 28px;font-weight:700;letter-spacing:-.005em;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(var(--accent-rgb),.35)}
/* homepage sections */
body.home main.w{max-width:1200px;padding:var(--s7) 24px 0}
.section-title{font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.035em;margin:var(--s7) 0 var(--s5)}
.cards{gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.cards li{border:1px solid #eaecf0;border-radius:18px;padding:26px 26px 24px;box-shadow:var(--shadow-sm)}
.cards li:before{width:40px;height:40px;border-radius:12px;background:rgba(var(--accent-rgb),.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20V3H6.5A2.5 2.5 0 0 0 4 5.5z'/%3E%3C/svg%3E") center/20px no-repeat;margin-bottom:18px}
.cards li:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d0d5dd}
.cards li a{font-family:var(--display);font-weight:700;font-size:1.14rem;letter-spacing:-.015em;color:#0f1728}
.cards li a:hover{color:var(--accent)}
.cards li small{font-size:.95rem;color:#475467}
/* guide trust bar, updated date, disclosure */
.byline-trust{font-size:.86rem;gap:8px 18px;padding:14px 0;margin:0 0 6px;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0;color:#475467}
.byline-trust span:before{content:"";display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
p.updated{margin:10px 0 18px}p.updated small{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:#344054;background:#f2f4f7;border-radius:999px;padding:4px 12px}
.disc{background:#f9fafb;border:1px solid #eaecf0;border-left:0;border-radius:12px;color:#475467;font-size:.86rem;padding:12px 16px}
.quick{border-radius:16px!important;border:1px solid rgba(var(--accent-rgb),.18)!important;border-left:0!important;background:linear-gradient(180deg,rgba(var(--accent-rgb),.06),rgba(var(--accent-rgb),.02))!important;padding:20px 24px!important}
.note,.cta,.toolcta,.keep{border-radius:16px}
/* table of contents */
.toc{border:1px solid #eaecf0;border-radius:16px;padding:18px 22px;margin:22px 0 8px;background:#fcfcfd}
.toc p{margin:0 0 8px;font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#667085}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px}.toc li{font-size:.94rem;margin:3px 0;break-inside:avoid}
.toc a{text-decoration:none;color:#344054}.toc a:hover{color:var(--accent);text-decoration:underline}
/* related guides as cards */
ul.rel{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
ul.rel li{max-width:none;margin:0}
ul.rel a{display:block;height:100%;border:1px solid #eaecf0;border-radius:14px;padding:14px 16px;text-decoration:none;color:#0f1728;font-weight:600;font-size:.95rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}
ul.rel a:hover{border-color:#d0d5dd;box-shadow:var(--shadow);color:var(--accent)}
/* affiliate buttons: pill + clear destination */
main ul>li>a[rel~="sponsored"]{border-radius:14px;border:1px solid #eaecf0;border-left:4px solid var(--accent);font-weight:700;min-height:68px}
/* tables */
table{border:1px solid #eaecf0;border-radius:14px;border-collapse:separate;border-spacing:0;font-size:.94rem}
th{background:#f9fafb;color:#344054;font-family:var(--display);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
tr:last-child td{border-bottom:0}
/* forms */
main form,.lead{border-radius:20px;border:1px solid #eaecf0;border-top:4px solid var(--accent);box-shadow:var(--shadow)}
main form button,.lead button{border-radius:999px}
main form input,main form select,main form textarea,.lead input,.lead select,.lead textarea{border-radius:12px;border-color:#d0d5dd;background:#fff}
/* footer */
footer{background:#0b1220;margin-top:var(--s8)}footer .w{max-width:1200px;padding:56px 24px 40px}
footer .fbrand{font-family:var(--display);letter-spacing:-.03em;font-weight:800}
footer .fh{font-family:var(--display);color:#98a2b3;font-size:.76rem}
@media (max-width:760px){body{font-size:17px}
main.w{padding:28px 20px 44px}body.home main.w{padding:28px 20px 0}
.hero .w{padding:48px 20px 52px}.hero h1{font-size:2.35rem}
.toc ol{columns:1}nav a{padding:6px 10px}nav a:last-child:not([href$="#consult"]){border:0}
.section-title{margin:32px 0 16px}.cards li{padding:22px}}

/* ===== v3: icon fix + niche hero variants (Nov 1 2026) ===== */
.cards li:before{content:"→";display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent);color:#fff;font:700 1.05rem/1 var(--display);margin-bottom:18px;box-shadow:0 6px 14px rgba(var(--accent-rgb),.28)}
.cards li:hover:before{transform:translateX(2px)}
.hero{position:relative;overflow:hidden}
.hero h1 em{font-style:normal;color:var(--eyebrow)}
/* light (pet sites; Rover / Spruce Pets / Dribbble pet shots: warm pastel, blobs, friendly) */
.hero-light{color:var(--ink)}
.hero-light.hero{background-color:var(--soft)}
.hero-light h1{color:#0f1728}.hero-light p{color:#475467}
.hero-light .eyebrow{background:#fff;border-color:rgba(var(--accent-rgb),.25);color:var(--accent)}
.hero-light .hero-card{background:#fff;border:1px solid #eaecf0;backdrop-filter:none;box-shadow:0 30px 60px -24px rgba(var(--navy-rgb),.25)}
.hero-light .hero-card h2{color:#0f1728}.hero-light .ticks li{color:#344054}.hero-light .hero-card a{color:var(--accent)!important}
.hero-light .cta,.hero-light .cta a:not(.btn){color:#344054}
/* ocean (travel/boats; Boatsetter / Lonely Planet: full-bleed water, wave edge) */
.hero-ocean:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0 38c120 18 240 26 360 14S600 10 720 14s240 32 360 34 240-16 360-22v50H0z' fill='%23ffffff' fill-opacity='.18'/%3E%3Cpath d='M0 50c140 12 280 14 420 4s280-26 420-18 280 28 420 26 120-8 180-12v30H0z' fill='%23ffffff'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.hero-ocean .w{padding-bottom:128px}
/* skyline (real estate; Clever / Redfin: neighbourhood silhouette) */
.hero-skyline:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;opacity:.16;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 90'%3E%3Cpath fill='white' d='M0 90V60l30-24 30 24v-8h20v-20l28-22 28 22v28h16V44l26-20 26 20v46h10V56l22-18 22 18v-6h18V30l32-26 32 26v60h8V52l24-20 24 20v38h14V40l30-24 30 24v50h12V58l22-18 22 18v32z'/%3E%3C/svg%3E") bottom/600px 90px repeat-x}
.hero-skyline .w{padding-bottom:132px}
/* editorial (Wirecutter: white page, black serif headline, hairline rules) */
.hero-editorial.hero{background:#fff;color:var(--ink);border-bottom:1px solid #e4e7ec}
.hero-editorial h1{color:#111;font-family:var(--serif);font-weight:700;letter-spacing:-.02em}
.hero-editorial p{color:#3b4350}.hero-editorial .eyebrow{background:none;border:0;border-top:3px solid var(--accent);border-radius:0;padding:10px 0 0;color:#111}
.hero-editorial .hero-card{background:#f8f9fb;border:1px solid #e4e7ec;border-top:4px solid #111;border-radius:4px;backdrop-filter:none;box-shadow:none}
.hero-editorial .hero-card h2{color:#111;font-family:var(--serif);font-size:1.2rem}.hero-editorial .ticks li{color:#344054}.hero-editorial .hero-card a{color:var(--accent)!important}
/* legal (Justia / Clio: sober navy, serif authority, fine grid) */
.hero-legal.hero{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(160deg,var(--navy),var(--navy2));background-size:44px 44px,44px 44px,auto}
.hero-legal h1{font-family:var(--serif);font-weight:600;letter-spacing:-.02em}
.hero-legal .eyebrow{background:none;border:1px solid rgba(201,162,74,.6);color:#e9cf8f;border-radius:4px}
.hero-legal .hero-card{border-radius:8px;border-top:3px solid #c9a24a}
@media (max-width:760px){.hero-ocean .w{padding-bottom:84px}.hero-skyline .w{padding-bottom:96px}.hero-skyline:after{height:60px;background-size:400px 60px}}
.hero-legal.hero{background-repeat:repeat,repeat,no-repeat;background-position:0 0,0 0,0 0;background-size:44px 44px,44px 44px,100% 100%}
@media (max-width:760px){.hero-light.hero{background-size:150px,auto;background-position:right -30px bottom -30px,0 0}.hero:before{opacity:.6}}
.hero .cta .btn{display:inline-block;margin:18px 10px 0 0}
@media (max-width:760px){header .w{padding-top:10px;padding-bottom:8px;gap:4px}nav{gap:2px}nav a{font-size:.88rem}.hero .cta .btn{display:block}}

/* ===== v4 photography (Nov 1 2026) ===== */
img{max-width:100%;height:auto}
.hero-media{position:relative}
.hero-img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:24px;box-shadow:0 30px 60px -24px rgba(0,0,0,.45)}
.hero-media .hero-card{position:relative;margin:-64px 24px 0 -28px;background:rgba(var(--navy-rgb),.94);backdrop-filter:none}
.hero-light .hero-media .hero-card,.hero-editorial .hero-media .hero-card{background:#fff}
.hero-credit{display:block;text-align:right;font-size:.68rem;opacity:.75;margin-top:8px}.hero-credit a{color:inherit}
@media (min-width:761px){.hero .w{grid-template-columns:1.1fr 1fr}}
.cards li.has-img{padding:0;overflow:hidden}.cards li.has-img:before{display:none}
.cards li.has-img>*:not(img){margin-left:24px;margin-right:24px}.cards li.has-img>:last-child{margin-bottom:22px}
.card-img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:16px;transition:transform .3s}
.cards li.has-img:hover .card-img{transform:scale(1.03)}
figure.feat{margin:6px 0 26px}figure.feat img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px}
figure.feat figcaption,.photo-credits{font-size:.75rem;color:#667085;margin-top:6px}figure.feat figcaption a{color:inherit}
.photo-credits h2{font-size:1.1rem}.photo-credits li{margin:4px 0}
@media (max-width:760px){.hero-media .hero-card{margin:-40px 12px 0}.hero-img{border-radius:18px}}
.hero{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20opacity%3D%220.1%22%20width%3D%22400%22%20height%3D%22400%22%20viewBox%3D%220%200%2040%2040%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2218.5%22%20fill%3D%22%233b1f2b%22/%3E%3Cpath%20d%3D%22M11%2015c0-3%202.4-5%205-5h8c2.6%200%205%202%205%205%22%20fill%3D%22none%22%20stroke%3D%22%23fbcfe8%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M12%2015l2.5%2013M17%2015l1%2014M23%2015l-1%2014M28%2015l-2.5%2013%22%20stroke%3D%22%23fbcfe8%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M10%2015h20%22%20stroke%3D%22%23be185d%22%20stroke-width%3D%222.6%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E"),linear-gradient(180deg,#fff5f8,#fdeaf1);background-repeat:no-repeat;background-position:right -60px bottom -90px,0 0;background-size:420px,auto}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 84% 30%,rgba(190,24,93,.13) 0 220px,transparent 221px),radial-gradient(circle at 96% 96%,rgba(217,119,155,.22) 0 140px,transparent 141px)}.hero>.w{position:relative;z-index:1}.logo .wm b{color:#be185d}