@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/poppins-400-v2.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/poppins-600-v2.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/poppins-700-v2.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/poppins-800-v2.woff2') format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600 700;font-display:swap;src:url('fonts/source-serif-4-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600 700;font-display:swap;src:url('fonts/source-serif-4-latin.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}
:root{
--accent:#a04c42;--accent-hover:#8a4038;--accent-on-dark:#c9705f;--accent-on-dark-lg:#b0544a;
--page:#faf7f2;--dark:#211d19;--deep:#f1ece3;
--card:#faf7f2;--card-line:#e3dccf;--divider:#3a342c;
--on-dark:#f5f1e9;--on-dark-muted:#b5ac9c;--hero-sub:#8f8778;
--ink:#1c1a17;--muted:#6a6357;--grey-500:#8b8f93;
--icon-bg:rgba(160,76,66,0.1);
--sans:'Poppins',system-ui,sans-serif;--serif:'Source Serif 4',Georgia,serif;
--d1:clamp(2.75rem,5vw,4.75rem);--d2:clamp(2rem,3.5vw,3rem);
--h1:2.5rem;--h3:1.375rem;--lg:1.25rem;--md:1rem;--sm:0.875rem;
--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
--r-sm:4px;--r-md:8px;--maxw:1200px;
--ease:cubic-bezier(.4,0,.2,1);--fast:150ms;
}
*{margin:0;padding:0;box-sizing:border-box}
main{display:block}
[id]{scroll-margin-top:120px}
/* clip, not hidden: kills sideways scroll from off-screen flyouts without creating a scroll container (keeps sticky header working) */
html{overflow-x:clip}
body{font-family:var(--sans);color:var(--ink);background:var(--page)}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s6)}
.btn-solid{background:var(--page);color:var(--ink);font-weight:600;padding:14px 24px;border-radius:var(--r-sm);border:none;font-size:15px;font-family:var(--sans);cursor:pointer;transition:opacity var(--fast) var(--ease),transform var(--fast) var(--ease);display:inline-block}
.btn-solid:hover{opacity:.88;transform:translateY(-1px);color:var(--ink)}
.btn-outline{background:transparent;color:var(--on-dark);font-weight:700;padding:12px 22px;border:1px solid var(--on-dark);border-radius:var(--r-sm);font-size:14px;font-family:var(--sans);cursor:pointer;transition:background var(--fast) var(--ease);display:inline-block}
.btn-outline:hover{background:rgba(245,241,233,0.1);color:var(--on-dark)}
.btn-accent{background:var(--accent);color:#fff;font-weight:600;padding:16px 28px;border-radius:var(--r-sm);border:none;font-size:16px;font-family:var(--sans);cursor:pointer;transition:background var(--fast) var(--ease);display:inline-block}
.btn-accent:hover{background:var(--accent-hover);color:#fff}
header{position:sticky;top:0;z-index:40;background:transparent}
header::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--dark);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:background-color .3s ease,border-color .3s ease}
header.scrolled::before{background:rgba(33,29,25,.86);border-bottom-color:rgba(245,241,233,.07)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) var(--s6);gap:var(--s6)}
.logo{flex-shrink:0;white-space:nowrap}
/* "Cybersecurity" nav label: tighten the desktop band where it would otherwise wrap the logo */
@media(min-width:1101px) and (max-width:1250px){.nav{gap:var(--s4)}.nav-links{gap:18px}li:not(.dd)+li.dd{margin-left:10px}nav .btn-outline{padding-left:14px;padding-right:14px}}
.logo{display:flex;align-items:baseline;gap:10px}
.logo .mark{font-size:1.5rem;font-weight:700;color:var(--on-dark);letter-spacing:-0.01em;font-family:var(--serif)}
.logo .mark .lt,.logo .mark .w{position:relative;top:-1px}
.logo .mark .w{color:var(--accent-on-dark-lg)}
.logo .mark .br{color:var(--accent-on-dark-lg);font-weight:600;font-size:1.2em;margin:0 3px;font-family:var(--serif);display:inline-block}
.logo .mark .br:last-child{margin-left:0}
@media(prefers-reduced-motion:no-preference){.logo:hover .mark .br:first-child{animation:br-l 400ms ease-in-out}.logo:hover .mark .br:last-child{animation:br-r 400ms ease-in-out}}
@keyframes br-l{0%,100%{transform:translateX(0)}40%{transform:translateX(-2.5px)}75%{transform:translateX(0.5px)}}
@keyframes br-r{0%,100%{transform:translateX(0)}40%{transform:translateX(2.5px)}75%{transform:translateX(-0.5px)}}
.logo .badge{font-size:calc(var(--sm) - 1px);color:var(--on-dark-muted);font-weight:400;opacity:.85}
.nav-links{display:flex;align-items:center;gap:var(--s6);list-style:none}
.nav-links a{color:var(--on-dark);font-weight:600;font-size:1rem;font-family:var(--sans)}
.nav-links a:hover,.nav-links a.active{color:var(--accent-on-dark)}
li:not(.dd)+li.dd{margin-left:var(--s5)}
.nav-links .dd{position:relative;display:flex;justify-content:center}

.cbox{width:12px;height:12px;overflow:visible;flex-shrink:0}
.cbox rect{fill:none;stroke:var(--on-dark);stroke-width:1.5}
.cbox path{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18;stroke-dashoffset:18}
.cbox .x1{transition:stroke-dashoffset 136ms ease-in}
.cbox .x2{transition:stroke-dashoffset 136ms ease-in}
.nav-links .dd > a{display:inline-flex;align-items:center;gap:1px;position:relative}
.nav-links .dd > a .bk2{font-family:var(--serif);font-weight:600;font-size:1.15em;color:var(--accent);display:inline-block;transform:translateY(-1px);transition:transform .2s ease-in,opacity .16s ease-in;line-height:1}
.nav-links .dd > a .bl2{margin-right:4px}
.nav-links .dd > a .br2{margin-left:4px}
.dd.open > a .bl2{transform:translateY(-1px) translateX(9px) scale(.55);opacity:0}
.dd.open > a .br2{transform:translateY(-1px) translateX(-9px) scale(.55);opacity:0}
.nav-links .dd > a .chev{position:absolute;left:50%;bottom:-9px;width:11px;height:7px;transform:translate(-50%,-8px) scale(.4);opacity:0;overflow:visible;transition:transform .24s cubic-bezier(.34,1.8,.64,1) .17s,opacity .12s ease .17s}
.nav-links .dd > a .chev path{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dd.open > a .chev{transform:translate(-50%,0) scale(1);opacity:1}
/* hover/keyboard indicator only where the dropdown actually opens on hover/focus (desktop nav) */
@media(min-width:1101px){
.nav-links .dd:hover > a .bl2,.nav-links .dd:focus-within > a .bl2{transform:translateY(-1px) translateX(9px) scale(.55);opacity:0}
.nav-links .dd:hover > a .br2,.nav-links .dd:focus-within > a .br2{transform:translateY(-1px) translateX(-9px) scale(.55);opacity:0}
.nav-links .dd:hover > a .chev,.nav-links .dd:focus-within > a .chev{transform:translate(-50%,0) scale(1);opacity:1}
}
.dd .menu a:hover .x1{stroke-dashoffset:0}
.dd .menu a:hover .x2{stroke-dashoffset:0;transition-delay:145ms}
.dd .menu{position:absolute;top:calc(100% + 12px);left:-7px;transform:translateY(4px);background:var(--dark);border:1px solid var(--divider);border-radius:var(--r-sm);padding:8px 0;min-width:270px;white-space:nowrap;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity 180ms var(--ease),transform 180ms var(--ease),visibility 180ms;z-index:40}
.dd .menu::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.dd:hover .menu{opacity:1;visibility:visible;transform:translateY(0)}
.dd .menu a{padding:9px 18px;font-size:.9rem;color:var(--on-dark-muted);font-family:var(--sans);font-weight:500;border-bottom:none;display:flex;align-items:center;gap:9px}
.dd .menu .cbox rect{stroke:var(--on-dark-muted)}
.dd .menu a:hover{color:var(--accent-on-dark)}
.hero{background:var(--dark);position:relative;padding:var(--s9) 0 calc(var(--s9) + 60px)}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s8);align-items:center}
.hero-grid>*{min-width:0}
.hero h1{font-size:var(--d1);line-height:1.05;font-weight:700;font-family:var(--serif)}
.hero h1 .lead{color:var(--accent-on-dark-lg);display:block}
.hero h1 .sub{color:var(--hero-sub);display:block}
.hero .side p{color:var(--on-dark);font-size:var(--lg);line-height:1.3;margin-bottom:var(--s5)}
.hero .side{padding-top:0}
.page-hero{background:var(--dark);padding:var(--s8) 0 calc(var(--s8) + 40px)}
.crumbs{color:var(--hero-sub);font-size:var(--sm);margin-bottom:var(--s4)}
.crumbs a{color:var(--on-dark-muted)}
.crumbs a:hover{color:var(--on-dark)}
.page-hero .kicker{color:var(--accent-on-dark);font-family:var(--sans);font-weight:600;font-size:var(--sm);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--s3)}
.page-hero h1{font-size:var(--d2);line-height:1.1;font-weight:700;font-family:var(--serif);color:var(--on-dark);max-width:760px}
.page-hero p{color:var(--on-dark-muted);font-size:var(--lg);line-height:1.5;max-width:680px;margin-top:var(--s4)}
.page-hero p.hero-byline{font-size:var(--sm)}
.transition{position:relative;height:110px;background:var(--page);margin-top:-1px}
.transition .dark{position:absolute;top:-1px;left:0;right:0;height:80%;background:var(--dark);clip-path:polygon(0 0,100% 0,100% 60%,0 100%)}
.section{padding:var(--s8) 0;position:relative}
.section .kicker{color:var(--accent);font-weight:600;font-size:var(--sm);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--s3)}
.section h2{font-size:var(--h1);font-weight:700;color:var(--ink);line-height:1.15;font-family:var(--serif);margin-bottom:var(--s5);max-width:680px}
.section .prose{max-width:680px;color:var(--ink);font-size:1.0625rem;line-height:1.7}
.section .prose p{margin-bottom:var(--s4)}
.section .prose .muted{color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:start}
.two-col>*{min-width:0}
.deep{background:var(--deep)}
.section.deep{border-top:1px solid var(--card-line);border-bottom:1px solid var(--card-line)}
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px}
.burger svg{width:26px;height:26px;stroke:var(--on-dark)}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;max-width:520px}
.choices label{display:flex;align-items:center;gap:9px;font-weight:500;cursor:pointer;font-size:var(--sm)}
.choices input{width:auto;accent-color:var(--accent)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.card-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--card-line);border-radius:var(--r-md);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s4)}
a.card{color:var(--ink)}
a.card:hover{border-color:var(--accent)}
.card .icon{width:44px;height:44px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--icon-bg)}
.card .icon svg{width:22px;height:22px;stroke:var(--accent)}
.card h3{color:var(--ink);font-size:var(--h3);font-weight:600;font-family:var(--serif)}
.card p{color:var(--muted);font-size:var(--md);line-height:1.6}
.card .more{font-size:var(--sm);font-weight:600;color:var(--accent);margin-top:auto}
.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);max-width:960px}
.steps li{counter-increment:step;background:var(--card);border:1px solid var(--card-line);border-radius:var(--r-md);padding:var(--s5) var(--s5) var(--s5) 68px;position:relative;font-size:var(--md);line-height:1.6;color:var(--muted)}
.steps li b{display:block;color:var(--ink);font-family:var(--serif);font-size:1.125rem;font-weight:600;margin-bottom:4px}
.steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:var(--s5);top:var(--s5);font-family:var(--serif);font-weight:700;color:var(--accent);font-size:1.25rem}
.checks{list-style:none;display:grid;gap:var(--s3);max-width:680px}
.checks li{padding-left:28px;position:relative;font-size:var(--md);line-height:1.6;color:var(--ink)}
.checks li::before{content:'§';position:absolute;left:0;top:0;color:var(--accent);font-family:var(--serif);font-weight:700;font-size:1.05rem;line-height:1.6}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);max-width:820px;margin:0 auto}
.stats .stat b{display:block;font-size:var(--d2);font-weight:700;color:var(--accent);font-family:var(--serif)}
.stats .stat span{color:var(--muted);font-size:var(--sm);font-weight:600}
.dark-band{background:var(--dark);padding:var(--s8) 0}
.dark-band h2{color:var(--on-dark);font-size:var(--h1);font-weight:700;font-family:var(--serif);margin-bottom:var(--s5)}
.dark-band .stats .stat b{color:var(--accent-on-dark-lg)}
.dark-band .stats .stat span{color:var(--on-dark-muted)}
.dark-band .note{color:var(--hero-sub);font-size:var(--sm);margin-top:var(--s5)}
.trust{padding:var(--s7) 0 var(--s9);text-align:center}
.trust h2{font-size:var(--h1);font-weight:700;color:var(--ink);margin-bottom:var(--s8);line-height:1.15;font-family:var(--serif)}
.logo-row{display:flex;justify-content:center;align-items:center;gap:var(--s8);flex-wrap:wrap;background:var(--dark);border-radius:var(--r-md);padding:var(--s6) var(--s7)}
.logo-row img{height:40px;width:auto;opacity:.75}
.trust .logo-row{background:none;padding:0;margin-bottom:var(--s7);gap:var(--s7)}
.trust .logo-row img{filter:brightness(0);opacity:.55;height:34px;transition:opacity .2s ease}
.trust .logo-row img:hover{opacity:.85}
@media(max-width:640px){.trust .logo-row{gap:var(--s5)}.trust .logo-row img{height:26px}}
.hero .logo-row{background:none;padding:var(--s8) 0 0;justify-content:flex-start}
.logo-row .cl{font-size:1.1rem;color:var(--muted);white-space:nowrap}
.logo-row .serif{font-family:Georgia,'Times New Roman',serif}
.logo-row .small{font-size:.7rem;letter-spacing:.06em;display:block;text-align:center;margin-top:2px;color:var(--grey-500)}
.cta-band{background:var(--page);padding:var(--s9) 0;text-align:center}
.cta-band.deep{background:var(--deep);border-top:1px solid var(--card-line)}
.cta-band h2{font-size:var(--h1);font-weight:700;color:var(--ink);margin-bottom:var(--s3);font-family:var(--serif)}
.cta-band p{color:var(--muted);font-size:var(--lg);margin-bottom:var(--s6)}
footer{background:var(--dark);padding:var(--s9) 0 var(--s6);position:relative;overflow:hidden}
footer .fwm,footer .fwm2{position:absolute;font-family:var(--serif);font-weight:600;line-height:1;pointer-events:none;user-select:none;z-index:0}
/* the two brace watermarks share one vertical anchor so they line up with each other */
footer .fwm,footer .fwm2{font-size:744px;top:50%;transform:translateY(-50%);opacity:.9}
/* homepage footer: the braces are a viewport-fixed background, so the footer content scrolls over perfectly still brackets */
footer.pfx .fwm,footer.pfx .fwm2{display:none}
footer.pfx{background-color:var(--dark);background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='440'%20height='1200'%20viewBox='0%200%20440%201200'%3E%3Ctext%20x='220'%20y='600'%20font-family='Georgia,serif'%20font-weight='600'%20font-size='1040'%20fill='%23f5f1e9'%20fill-opacity='0.05'%20text-anchor='middle'%20dominant-baseline='central'%3E%7B%3C/text%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='440'%20height='1200'%20viewBox='0%200%20440%201200'%3E%3Ctext%20x='220'%20y='600'%20font-family='Georgia,serif'%20font-weight='600'%20font-size='1040'%20fill='%23f5f1e9'%20fill-opacity='0.04'%20text-anchor='middle'%20dominant-baseline='central'%3E%7D%3C/text%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:left -60px bottom,right -30px bottom;background-size:auto 792px,auto 792px;background-attachment:fixed,fixed}
@media(max-width:640px){footer.pfx{background-image:none}}
footer .fwm{left:-30px;color:rgba(245,241,233,0.045)}
@media(max-width:640px){footer .fwm{opacity:.8}footer .fwm2{display:none}}
footer .fwm2{right:4%;color:rgba(245,241,233,0.035)}
footer .wrap{position:relative;z-index:1}
.foot-grid{display:grid;grid-template-columns:repeat(4,max-content);justify-content:space-between;gap:var(--s6) var(--s4);padding-bottom:var(--s8)}
.foot-grid>*{white-space:nowrap}
/* Footer columns are sized to their content on desktop so no label wraps.
   Below that the count steps down rather than squeezing the columns. */
@media(max-width:1039px){.foot-grid{grid-template-columns:1fr 1fr;justify-content:stretch;column-gap:var(--s6)}.foot-grid>*{white-space:normal}}
.foot-col h3{color:var(--on-dark);font-weight:600;font-size:1.05rem;font-family:var(--serif);padding-bottom:8px;margin-bottom:var(--s4);display:inline-block;border-bottom:2px solid var(--accent)}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:var(--s3)}
.foot-col a{color:var(--on-dark-muted);font-size:var(--sm);font-family:var(--sans)}
.foot-col a:hover{color:var(--on-dark)}
.foot-col h3{line-height:1.35}
.foot-col h3.br-h{border-bottom-color:transparent;padding-bottom:0;margin-bottom:calc(var(--s4) + 8px)}
.foot-col.contact h3{margin-bottom:calc(var(--s4) + 2px)}
.foot-col h3 .fb{font-family:var(--serif);font-weight:600;font-size:1.15em;color:var(--accent-on-dark-lg);display:inline-block;line-height:1}
.foot-col h3 .fb:first-child{margin-right:5px}
.foot-col h3 .fb:last-child{margin-left:5px}
.foot-col.contact .c-line{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-family:var(--sans);font-size:var(--sm);color:var(--on-dark-muted)}
.foot-col.contact .c-line svg{width:15px;height:15px;stroke:var(--accent-on-dark);fill:none;stroke-width:1.7;flex-shrink:0}
.foot-col.contact .c-line a{color:inherit;font-size:inherit}
.foot-col.contact .c-line a:hover{color:var(--on-dark)}
.foot-col.contact .c-sm{font-family:var(--sans);font-size:12.5px;color:var(--on-dark-muted);line-height:1.55;opacity:.85;margin:0}
.foot-bottom{border-top:1px solid var(--divider);padding-top:var(--s5);display:flex;justify-content:space-between;align-items:center;gap:var(--s5);flex-wrap:wrap;color:var(--grey-500);font-size:var(--sm)}
.foot-bottom a{color:var(--grey-500)}
.foot-nav{display:flex;gap:var(--s5);flex-wrap:wrap}
.foot-nav a{color:var(--on-dark-muted);white-space:nowrap}
.foot-nav a:hover{color:var(--on-dark)}
@media(max-width:640px){.foot-bottom{flex-direction:column-reverse;align-items:flex-start;gap:var(--s4)}}
.scroll-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:var(--r-sm);background:var(--divider);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}
.scroll-top svg{stroke:var(--on-dark);width:18px;height:18px}
.form{display:grid;gap:var(--s4)}
.form label{font-size:var(--sm);font-weight:600;color:var(--ink);display:block}
.form label input,.form label textarea{margin-top:6px}
.form label em{color:var(--accent);font-style:normal}
.form input,.form textarea{font-family:var(--sans);font-size:var(--md);padding:12px 14px;border:1px solid var(--card-line);border-radius:var(--r-sm);background:#fff;color:var(--ink);width:100%}
.form input:focus,.form textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}
.form textarea{min-height:130px;resize:vertical}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.post{background:var(--card);border:1px solid var(--card-line);border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;color:var(--ink)}
.post:hover{border-color:var(--accent);color:var(--ink)}
.post .thumb{height:150px;background:var(--dark);display:flex;align-items:center;justify-content:center}
.post .thumb svg{width:34px;height:34px;stroke:var(--accent)}
.post .body{padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3);flex:1}
.post .date{font-size:var(--sm);color:var(--muted);font-weight:600}
.post h3{font-family:var(--serif);font-size:1.25rem;font-weight:600;line-height:1.3}
.post p{color:var(--muted);font-size:var(--sm);line-height:1.6}
.post .more{font-size:var(--sm);font-weight:600;color:var(--accent);margin-top:auto}
@media(max-width:1180px){.logo .badge{display:none}}
.m-only{display:none}
@media(max-width:1100px){nav .btn-outline{display:none}.m-only{display:list-item}li:not(.dd)+li.dd{margin-left:0}.nav-links{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s6);position:fixed;inset:0;height:100dvh;background:var(--dark);z-index:20;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 260ms var(--ease),visibility 260ms}
.nav-links a{font-size:1.5rem}
.burger{display:block;position:relative;z-index:30}
header.open .nav-links{opacity:1;visibility:visible;pointer-events:auto}
.nav-links .dd{flex-direction:column;align-items:center}
.dd .menu{position:static;transform:none;opacity:1;visibility:visible;background:none;border:none;min-width:0;padding:0;max-height:0;overflow:hidden;transition:max-height 300ms var(--ease),margin 300ms var(--ease)}
.dd .menu::before{display:none}
.dd:hover .menu{transform:none}
.dd.open .menu{max-height:260px;margin-top:var(--s3)}
.dd .menu a{font-size:1rem;text-align:center;padding:7px 0}

.hero-grid,.two-col{grid-template-columns:1fr}.card-grid,.blog-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr}.steps{grid-template-columns:1fr}}
@media(max-width:640px){.card-grid,.blog-grid,.card-grid.cols-2{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}.choices{grid-template-columns:1fr}}

.section .kicker::before,.page-hero .kicker::before{content:'¶';margin-right:8px;opacity:.55}
.legal-pad{background:#fbf7a3 repeating-linear-gradient(to bottom,transparent 0 27px,#a8c3e0 27px 28px);border-radius:2px;padding:28px 28px 28px 64px;position:relative;box-shadow:0 2px 10px rgba(28,26,23,.14);max-width:680px}
.legal-pad::before{content:'';position:absolute;top:0;bottom:0;left:44px;width:2px;background:#e08b8b;box-shadow:5px 0 0 #e08b8b}
.legal-pad .lp-head{font-family:var(--serif);font-style:italic;font-weight:600;color:#1c1a17;line-height:28px;font-size:1.125rem}
.legal-pad p{line-height:28px;margin:0;color:#3a342c;font-size:.9375rem;font-family:var(--sans)}
.sign-here{position:relative;display:inline-block}
.sign-here .flag{position:absolute;right:calc(100% + 16px);top:50%;transform:translateY(-50%);background:#c8372d;color:#fff;font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.14em;line-height:1;padding:9px 20px 9px 12px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);white-space:nowrap}
.shelf{display:flex;gap:7px;align-items:flex-end;margin-top:var(--s6)}
.book{width:54px;height:232px;border-radius:4px 4px 2px 2px;position:relative;background:linear-gradient(to bottom,#cfb488 0 7%,#c9a227 7% 7.7%,#6e2c26 7.7% 19%,#c9a227 19% 19.7%,#cfb488 19.7% 25%,#c9a227 25% 25.7%,#6e2c26 25.7% 40%,#c9a227 40% 40.7%,#cfb488 40.7% 100%);box-shadow:inset -7px 0 9px -6px rgba(0,0,0,.45),inset 3px 0 4px -3px rgba(255,255,255,.5),0 5px 8px -4px rgba(28,26,23,.4)}
.book:nth-child(2n){height:224px}
.book:nth-child(3n+1){height:238px}
.book span{position:absolute;top:8.5%;left:0;right:0;text-align:center;color:#f2e3c2;font-family:var(--sans);font-weight:600;font-size:7px;line-height:1.5;letter-spacing:.08em}
.book b{position:absolute;top:28%;left:0;right:0;text-align:center;color:#f2e3c2;font-family:var(--serif);font-weight:700;font-size:11px}
.book i{position:absolute;bottom:6%;left:0;right:0;text-align:center;color:#8a6420;font-family:var(--sans);font-style:normal;font-weight:700;font-size:8px;letter-spacing:.1em}
.filed{position:absolute;top:-16px;right:-10px;transform:rotate(7deg);border:3px double #b04a3f;color:#b04a3f;padding:7px 12px;font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-align:center;line-height:1.5;border-radius:4px;background:rgba(250,247,242,.9)}
.caption em{font-style:italic}
.caption .docket{display:block;font-family:var(--sans);font-weight:600;font-size:var(--sm);color:var(--muted);margin-top:10px;letter-spacing:.02em}
.exhibit{display:inline-flex;align-items:center;height:26px;background:#e9b949;color:#3d3106;font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.14em;padding:0 16px;border-radius:4px 4px 0 0;box-shadow:0 -1px 2px rgba(0,0,0,.1);margin-bottom:0}
.redline del{color:#b04a3f;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#b04a3f}
.redline ins{color:var(--accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;font-weight:600}
.comment-bubble{background:#fffdf8;border:1px solid var(--card-line);border-left:3px solid var(--accent);border-radius:var(--r-sm);padding:var(--s5);font-size:var(--sm);color:var(--muted);line-height:1.6;position:relative}
.comment-bubble b{display:block;font-family:var(--sans);color:var(--accent);font-size:11px;letter-spacing:.1em;margin-bottom:6px}
.rl{cursor:default}
.rl .rl-new{opacity:0;max-width:0;display:inline-block;white-space:nowrap;overflow:hidden;vertical-align:bottom;color:var(--accent);font-weight:600;transition:max-width 400ms var(--ease),opacity 300ms var(--ease),margin 400ms var(--ease)}
.rl:hover .rl-old{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#b04a3f;color:var(--muted)}
.rl:hover .rl-new{opacity:1;max-width:420px;margin-left:6px}
.case-card{position:relative;padding-top:44px;overflow:visible}
.cmf{max-width:900px;margin:0 auto;background:var(--dark);color:var(--on-dark);border-radius:12px;padding:48px 52px;box-shadow:0 18px 50px rgba(28,26,23,.16)}
.cmf .kick{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold,#e8b93b)}
.cmf .co{font-family:var(--serif);font-size:1.9rem;font-weight:700;line-height:1.1;margin:14px 0 4px;color:var(--on-dark)}
.cmf .cmeta{font-family:var(--sans);font-size:12.5px;color:var(--on-dark-muted);letter-spacing:.02em}
.cmf .metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px;margin:32px 0;background:rgba(255,255,255,.09);border-radius:8px;overflow:hidden}
.cmf .metrics .m{background:var(--dark);padding:22px 22px}
.cmf .metrics .n{font-family:var(--serif);font-size:2.4rem;font-weight:700;color:var(--gold,#e8b93b);line-height:1}
.cmf .metrics .n span{font-size:1.3rem}
.cmf .metrics .l{font-family:var(--sans);font-size:11.5px;color:var(--on-dark-muted);margin-top:8px;line-height:1.4}
.cmf .cbody{font-family:var(--serif);font-size:15.5px;line-height:1.65;color:#d8d0c2}
.cmf .cbody b{color:var(--on-dark)}
.cmf .tagrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cmf .tag{font-family:var(--sans);font-size:11.5px;color:var(--on-dark-muted);border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:6px 13px}
@media(max-width:640px){.cmf{padding:32px 24px}.cmf .metrics{grid-template-columns:1fr}.cmf .co{font-size:1.5rem}}
.card-tab{position:absolute;top:-17px;left:26px;height:28px;padding:0 20px;display:flex;align-items:center;background:#e9b949;color:#3d3106;font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-radius:4px 4px 0 0;box-shadow:0 -1px 2px rgba(0,0,0,.1)}
@media(max-width:900px){.sign-here .flag{display:none}.shelf{flex-wrap:wrap}}
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);margin-top:var(--s6);border-top:1px solid var(--card-line);border-bottom:1px solid var(--card-line)}
.id-col{align-self:center}
.card-stack{position:relative}
.card-stack .id-card{position:relative;z-index:5}
.stack-layer{position:absolute;left:0;right:0;top:0;bottom:0;background:#fffdf8;border:1px solid var(--card-line);border-radius:var(--r-md);box-shadow:0 8px 22px rgba(28,26,23,.06)}
.stack-layer.s1{transform:translate(9px,10px) rotate(.5deg);z-index:4;background:#fdfbf4}
.stack-layer.s2{transform:translate(18px,20px) rotate(1deg);z-index:3;background:#fbf8f0}
.stack-layer.s3{transform:translate(27px,30px) rotate(1.5deg);z-index:2;background:#f8f4ea}
.stack-layer.s4{transform:translate(36px,40px) rotate(2deg);z-index:1;background:#f4efe3}
@media(max-width:640px){.stack-layer{display:none}}
.id-note{margin-top:60px;font-family:var(--sans);font-size:12.5px;color:var(--muted);font-style:italic;line-height:1.5;text-align:left}
/* the 60px above clears the offset stack layers; they are hidden on mobile, so the gap goes too */
@media(max-width:640px){.id-note{margin-top:var(--s4)}}
.avail{position:absolute;top:-13px;left:170px;display:inline-flex;align-items:center;gap:6px;background:rgba(62,107,62,.12);color:#3e6b3e;font-family:var(--sans);font-weight:600;font-size:10px;letter-spacing:.06em;padding:4px 10px;border-radius:20px;text-transform:uppercase;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.avail i{width:6px;height:6px;border-radius:50%;background:#3e6b3e;box-shadow:0 0 0 0 rgba(62,107,62,.5);animation:availpulse 2.2s infinite}
@keyframes availpulse{0%{box-shadow:0 0 0 0 rgba(62,107,62,.45)}70%{box-shadow:0 0 0 6px rgba(62,107,62,0)}100%{box-shadow:0 0 0 0 rgba(62,107,62,0)}}
@media(prefers-reduced-motion:reduce){.avail i{animation:none}}
.stat-cell{padding:var(--s6) var(--s5);border-left:1px solid var(--card-line)}
.stat-cell:first-child{border-left:none}
.stat-cell .n{font-family:var(--serif);font-weight:700;font-size:3.1rem;line-height:1;color:var(--ink);display:flex;align-items:baseline;gap:6px}
.stat-cell .n small{font-family:var(--sans);font-weight:600;font-size:.9rem;color:var(--accent);letter-spacing:.02em}
.stat-cell .l{font-family:var(--sans);font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.45}
@media(max-width:760px){.stat-band{grid-template-columns:repeat(2,1fr)}.stat-cell:nth-child(3){border-left:none}.stat-cell:nth-child(3),.stat-cell:nth-child(4){border-top:1px solid var(--card-line)}}
@media(max-width:480px){.stat-band{grid-template-columns:1fr}.stat-cell{border-left:none}.stat-cell:nth-child(2){border-top:1px solid var(--card-line)}}

.pillar-line{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:1.1rem;margin:-4px 0 var(--s6)}
.lic{color:var(--on-dark-muted);font-family:var(--serif);font-style:italic;font-size:var(--sm);padding-bottom:var(--s4)}
.bill{background:#fffdf8;border:1px solid var(--card-line);border-radius:3px;padding:var(--s4) var(--s5);margin-top:var(--s4)}
.bill b{font-family:var(--sans);font-size:10px;letter-spacing:.12em;color:var(--muted);display:block;margin-bottom:8px}
.bill .mono-line{font-family:'Courier New',monospace;font-size:.85rem;line-height:1.9;color:var(--ink)}
.verdict .v-opt{font-family:var(--serif);font-size:1.25rem;display:flex;align-items:center;gap:12px;justify-content:center;margin-bottom:var(--s3);color:var(--ink)}
.vbox{width:19px;height:19px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 18 18'%3E%3Crect x='1' y='1' width='12' height='12' fill='none' stroke='%237d766a' stroke-width='1.3'/%3E%3C/svg%3E") center/contain no-repeat}
.vbox.checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 18 18'%3E%3Crect x='1' y='1' width='12' height='12' fill='none' stroke='%237d766a' stroke-width='1.3'/%3E%3Cpath d='M4.4 7.3 L6.3 9.4' fill='none' stroke='%23a04c42' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M6.3 9.4 L9.8 4.4' fill='none' stroke='%23a04c42' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.verdict .sign-here{display:inline-block;margin-top:var(--s5)}
.verdict em{font-style:italic;margin-right:8px}
.transcript{background:#fffdf8;border:1px solid var(--card-line);border-radius:3px;padding:var(--s4) var(--s5);margin-top:var(--s5);font-family:'Courier New',monospace}
.t-head{font-size:10px;letter-spacing:.12em;color:var(--muted);margin-bottom:10px;font-weight:700}
.t-line{display:flex;gap:10px;font-size:.9rem;line-height:1.8}
.t-line i{color:var(--muted);font-style:normal;width:22px;text-align:right;flex-shrink:0;font-size:.75rem;padding-top:4px;border-right:1px solid var(--card-line);padding-right:8px}
.t-line b{flex-shrink:0}
.rates{width:100%;border-collapse:collapse;background:#fffdf8;border:1px solid var(--card-line)}
.rates th{background:var(--dark);color:var(--on-dark);font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:13px 16px;text-align:left;font-weight:600}
.rates td{padding:16px;border-top:1px solid var(--card-line);vertical-align:top;font-size:.95rem;line-height:1.6;color:var(--muted)}
.rates td b{font-family:var(--serif);font-size:1.05rem;color:var(--ink);display:block}
.rates td.fee{font-family:'Courier New',monospace;white-space:nowrap;font-weight:700;color:var(--ink)}
.checks li::before{content:'';background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 18 18'%3E%3Crect x='1' y='1' width='12' height='12' fill='none' stroke='%237d766a' stroke-width='1.3'/%3E%3Cpath d='M4.4 7.3 L6.3 9.4' fill='none' stroke='%23a04c42' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M6.3 9.4 L9.8 4.4' fill='none' stroke='%23a04c42' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;width:14px;height:14px;top:5px}

.article{max-width:800px;margin:0 auto;padding:0 var(--s6)}
.article.wide{max-width:var(--maxw)}
/* when an article sits inside .wrap, the wrap already provides the page gutter */
.wrap>.article{padding-left:0;padding-right:0}
/* mobile page gutter: one standard, everywhere */
@media(max-width:640px){.wrap,.article,.article-layout,.checklist-layout{padding-left:20px;padding-right:20px}}
.article .prose{max-width:none}
.article h2{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--ink);margin:var(--s7) 0 var(--s4);line-height:1.2}
.article h3{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ink);margin:var(--s5) 0 var(--s3)}
.article p{font-size:1.0625rem;line-height:1.75;color:var(--ink);margin-bottom:var(--s4)}
.article .lede{font-family:var(--serif);font-size:1.2rem;line-height:1.6}
.article ul.plain{margin:0 0 var(--s4) 20px}
.article ul.plain li{font-size:1.0625rem;line-height:1.75;margin-bottom:var(--s2)}
sup.fn{font-size:.7em}
sup.fn a{text-decoration:none;font-weight:700}
.callout-ob{border:1px solid var(--card-line);background:#fffdf8;border-radius:var(--r-md);margin:var(--s6) 0;overflow:hidden}
.callout-ob .ob-head{background:var(--dark);color:var(--on-dark);padding:12px 20px;font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.ob-cols{display:grid;grid-template-columns:1fr 1fr}
.ob-col{padding:var(--s5)}
.ob-col+.ob-col{border-left:1px solid var(--card-line)}
.ob-col h3{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.ob-col p{font-size:.95rem;line-height:1.7;margin-bottom:var(--s3)}
.ob-col ul{list-style:none;display:grid;gap:7px;font-size:.95rem;line-height:1.6}
.ob-col ul li{position:relative;padding-left:15px}
.ob-col ul li::before{content:'';position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.55}
.g-plate{border:1px solid var(--card-line);background:#fffdf8;border-radius:var(--r-md);padding:calc(var(--s5) + 10px) var(--s5) var(--s5);margin:calc(var(--s6) + 12px) 0 var(--s6);position:relative}
.g-plate .g-tag{position:absolute;top:-12px;left:20px;display:inline-flex;align-items:center;height:24px;background:#e9b949;color:#3d3106;font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.13em;padding:0 14px;border-radius:4px 4px 0 0;box-shadow:0 -1px 2px rgba(0,0,0,.1)}
.g-plate .g-cap{font-size:.85rem;color:var(--muted);margin-top:var(--s4);font-style:italic;font-family:var(--serif)}
.hotspots{display:grid;gap:10px;counter-reset:hs}
.hotspots div{counter-increment:hs;display:flex;gap:12px;align-items:baseline;font-size:.95rem;line-height:1.6}
.hotspots div::before{content:counter(hs);flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--sans);font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;transform:translateY(3px)}
.hotspots b{color:var(--ink)}
.hotspots span{color:var(--muted)}
.vbar{display:flex;height:44px;border-radius:3px;overflow:hidden;margin:var(--s4) 0 var(--s3);font-family:var(--sans);font-weight:700;font-size:12px;color:#fff}
.vbar .vp{background:var(--accent);display:flex;align-items:center;padding-left:14px}
.vbar .vt{background:#c9a227;display:flex;align-items:center;justify-content:center}
.vstat{display:flex;gap:var(--s6);align-items:baseline;flex-wrap:wrap}
.vstat b{font-family:var(--serif);font-size:2.6rem;color:var(--ink)}
.vstat span{color:var(--muted);font-size:.9rem}
.cascade{display:grid;gap:0;margin:var(--s4) 0}
.node{border:1px solid var(--card-line);background:#fffdf8;border-radius:3px;padding:10px 16px;font-size:.9rem;color:var(--muted);position:relative;max-width:420px;transition:all 300ms var(--ease)}
.node b{color:var(--ink);font-family:var(--sans)}
.node.lit{border-color:var(--accent);background:rgba(160,76,66,.06)}
.node.lit b{color:var(--accent)}
.node+.node{margin-top:22px}
.node+.node::before{content:'';position:absolute;top:-22px;left:28px;height:22px;width:2px;background:var(--card-line)}
.node.lit+.node.lit::before{background:var(--accent)}
.pipeline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:var(--s4) 0}
.pipeline .pbox{border:1px solid var(--accent);color:var(--ink);border-radius:3px;padding:10px 14px;font-size:.85rem;font-family:var(--sans);font-weight:600;background:rgba(160,76,66,.05)}
.pipeline .parr{color:var(--accent);font-weight:700}
.strata{border:1px solid var(--card-line);border-radius:4px;overflow:hidden;margin:var(--s4) 0}
.strata .st{padding:12px 18px;font-size:.9rem;border-top:1px solid var(--card-line);color:var(--ink);font-family:'Courier New',monospace}
.strata .st:first-child{border-top:none;background:#fffdf8;font-family:var(--serif);font-style:italic;padding:20px 18px;color:var(--ink)}
.strata .st b{color:var(--accent);font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:3px}
.strata .st:nth-child(n+2){background:var(--deep)}
/* .flat = the first row is just another item, not a heading for the rows below */
.strata.flat .st:first-child{background:var(--deep);font-family:'Courier New',monospace;font-style:normal;padding:12px 18px}

.ivx{border:1px solid var(--card-line);border-left:3px solid var(--accent);background:#fffdf8;border-radius:var(--r-md);padding:var(--s5);margin:var(--s6) 0}
.ivx .iv-head{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--accent);margin-bottom:var(--s4)}
.ivx .iv-note{font-size:.8rem;color:var(--muted);margin-top:var(--s4);font-style:italic}
.iv-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:var(--s4)}
.iv-chip{font-family:var(--sans);font-size:.85rem;font-weight:600;padding:10px 14px;border:1.5px solid var(--card-line);border-radius:3px;background:#fff;cursor:pointer;color:var(--ink)}
.iv-chip.sel{border-color:var(--accent);background:rgba(160,76,66,.07);color:var(--accent)}
.iv-q{font-family:var(--serif);font-size:1.1rem;color:var(--ink);margin-bottom:var(--s3)}
.iv-msg{border:1px solid var(--card-line);background:#fff;border-radius:3px;padding:var(--s4);font-size:.9rem;line-height:1.6;color:var(--ink);margin-bottom:var(--s3);font-family:var(--sans)}
.iv-msg .mh{font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--card-line);padding-bottom:8px;margin-bottom:10px}
.iv-reveal{border-top:1px dashed var(--card-line);margin-top:var(--s3);padding-top:var(--s3);font-size:.88rem;color:var(--muted)}
.iv-reveal b{color:var(--accent)}
.iv-band{font-family:var(--serif);font-size:1.3rem;font-weight:700;margin-bottom:var(--s3)}
.iv-band.good{color:#3e6b3e}
.iv-band.mid{color:#c9a227}
.iv-band.bad{color:var(--accent)}
mark.hl{background:rgba(200,55,45,.15);color:var(--accent);padding:0 2px}
.chk{list-style:none;display:grid;gap:10px;margin:var(--s4) 0}
.chk label{display:flex;gap:10px;align-items:flex-start;font-size:.97rem;line-height:1.6;cursor:pointer}
.chk input{accent-color:var(--accent);margin-top:5px;flex-shrink:0}
.footnotes{border-top:3px double var(--card-line);margin-top:var(--s7);padding-top:var(--s5)}
.footnotes h3{margin-top:0}
.footnotes ol{margin-left:20px}
.footnotes li{font-size:.85rem;color:var(--muted);line-height:1.65;margin-bottom:7px}
.footnotes a{text-decoration:none}
.ch-nav{display:flex;justify-content:space-between;gap:var(--s4);margin:var(--s7) 0 0;border-top:1px solid var(--card-line);padding-top:var(--s5)}
.ch-nav a{font-family:var(--serif);font-weight:600;font-size:1rem}
.ch-nav .dis{color:var(--muted);pointer-events:none}
.ch-meta{font-family:var(--sans);font-size:var(--sm);color:var(--muted);font-weight:600;margin-bottom:var(--s4)}
.docket{border:1px solid var(--card-line);background:#fffdf8;border-radius:var(--r-md);padding:var(--s5) var(--s6);margin-top:var(--s7)}
.docket ol{margin-left:22px;columns:2;column-gap:var(--s6)}
.docket li{font-size:.95rem;line-height:2;color:var(--muted);font-family:var(--serif)}
@media(max-width:700px){.ob-cols{grid-template-columns:1fr}.ob-col+.ob-col{border-left:none;border-top:1px solid var(--card-line)}.docket ol{columns:1}}

/* p.byline, not .byline — otherwise `.article p` outranks it and the size never applies */
p.byline{font-family:var(--sans);font-size:var(--sm);color:var(--muted);margin-bottom:var(--s5)}
.byline b{color:var(--ink)}
.toc{border:1px solid var(--card-line);background:#fffdf8;border-radius:var(--r-md);padding:var(--s4) var(--s5);margin-bottom:var(--s6);display:grid;gap:8px}
.toc b{font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.toc a{font-family:var(--serif);font-size:.95rem}
.bio-box{display:flex;align-items:center;gap:var(--s4);border:1px solid var(--card-line);background:#fffdf8;border-radius:var(--r-md);padding:var(--s5);margin-top:var(--s7);font-size:.9rem;line-height:1.65;color:var(--muted)}
.bio-box .bp{width:104px;height:124px;flex-shrink:0;object-fit:cover;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 140'%3E%3Cpath d='M38 2 H82 C102 2 106 8 104 30 C102 46 104 56 120 70 C104 84 102 94 104 110 C106 132 102 138 82 138 H38 C18 138 14 132 16 110 C18 94 16 84 0 70 C16 56 18 46 16 30 C14 8 18 2 38 2 Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 140'%3E%3Cpath d='M38 2 H82 C102 2 106 8 104 30 C102 46 104 56 120 70 C104 84 102 94 104 110 C106 132 102 138 82 138 H38 C18 138 14 132 16 110 C18 94 16 84 0 70 C16 56 18 46 16 30 C14 8 18 2 38 2 Z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.bio-box b{color:var(--ink)}
.bio-box b a,.byline b a{font-weight:800;color:inherit}
.hub-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-top:var(--s6)}
.hub-cards a{border:1px solid var(--card-line);background:#fffdf8;border-radius:var(--r-md);padding:var(--s4) var(--s5);color:var(--ink);display:grid;gap:6px}
.hub-cards a:hover{border-color:var(--accent);color:var(--ink)}
.hub-cards .n{font-family:var(--sans);font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--accent);text-transform:uppercase}
.hub-cards a h3{font-family:var(--serif);font-size:1.1rem;font-weight:600}
.hub-cards a p{font-size:.85rem;color:var(--muted);line-height:1.55;margin:0}
@media(max-width:700px){.hub-cards,.article.wide .hub-cards{grid-template-columns:1fr}}

.form .choices label{display:flex;align-items:center;gap:9px}
.form label:has(.cbox-f),.chk label,.choices label{position:relative}
input[type="checkbox"]:has(+ .cbox-f){position:absolute;opacity:0;width:14px;height:14px;margin:0;cursor:pointer}
.cbox-f{width:13px;height:13px;flex-shrink:0;overflow:visible;pointer-events:none}
.chk .cbox-f{margin-top:5px}
.cbox-f rect{fill:#fff;stroke:var(--ink);stroke-width:1.5}
input[type="checkbox"]:checked + .cbox-f .x1{stroke-dashoffset:0}
input[type="checkbox"]:checked + .cbox-f .x2{stroke-dashoffset:0;transition-delay:145ms}
input[type="checkbox"]:focus-visible + .cbox-f rect{stroke:var(--accent)}
@media(max-width:700px){.ob-cols{grid-template-columns:1fr!important}.hub-cards{grid-template-columns:1fr}.pipeline{flex-direction:column;align-items:stretch}.parr{transform:rotate(90deg);align-self:center}}
@media(max-width:640px){.g-plate{padding:var(--s4)}.ivx{padding:var(--s4)}.bio-box{flex-direction:column}.ch-nav{flex-direction:column;gap:10px}}

.ytl{background:#fffdf8;border:1px solid var(--card-line);border-radius:var(--r-md);padding:var(--s4) var(--s5);margin:0 0 var(--s6);font-size:.93rem;line-height:1.65;color:var(--muted)}
.ytl b{color:var(--ink);font-family:var(--serif);font-size:1.05rem;display:block;margin-bottom:6px}
.callout-ob + .ytl{margin-top:-14px}
.part-head{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:var(--s6) 0 var(--s3);display:flex;gap:12px;align-items:center;font-weight:700}
.part-head::after{content:'';flex:1;height:1px;background:var(--card-line)}
.hub-cards .soon{border:1px dashed var(--card-line);border-radius:var(--r-md);padding:var(--s4) var(--s5);display:grid;gap:6px;color:var(--muted)}
.hub-cards .soon .n{font-family:var(--sans);font-size:10px;letter-spacing:.12em;font-weight:700;text-transform:uppercase}
.hub-cards .soon h3{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--ink);opacity:.7;margin:0}
.hub-cards .soon p{font-size:.85rem;line-height:1.55;margin:0}
.soon .dock{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.1em;font-family:var(--sans);text-transform:uppercase}
.foot-disclaimer{font-size:11.5px;color:var(--on-dark-muted);opacity:.9;max-width:680px;line-height:1.6;margin-bottom:var(--s4)}
.xlink{border:1px solid var(--card-line);border-radius:var(--r-md);background:#fffdf8;padding:var(--s4) var(--s5);margin:var(--s6) 0;display:grid;gap:6px}
.xlink .n{font-family:var(--sans);font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--accent);text-transform:uppercase}

.form-ok{border:1px solid var(--card-line);border-left:3px solid var(--accent);background:#fffdf8;border-radius:var(--r-sm);padding:var(--s5);font-size:var(--md);color:var(--ink);line-height:1.6}
.form-ok b{font-family:var(--serif)}
.form-err{font-size:var(--sm);color:#b04a3f;line-height:1.6}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:#fff;padding:10px 18px;font-family:var(--sans);font-weight:600;font-size:14px;border-radius:0 0 var(--r-sm) 0}
.skip-link:focus{left:0;color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}
.dd:focus-within .menu{opacity:1;visibility:visible;transform:translateY(0)}

.ex-hero{align-items:center}

/* homepage lede: same size as the "We build it." lines, keeping the lighter weight and muted color */
.ex-hero .ex-lede{font-size:min(24px, calc((100vw - 44px)/14.53));line-height:1.5;max-width:560px}
/* homepage hero: five fixed lines at every width — fluid two-tier sizing, wrapping forbidden.
   ".big" (the long top line) sets the binding width constraint; the four short lines sit a tier below. */
.ex-hero h1{font-size:min(2.84rem, calc((100vw - 44px)/14.53))}
.ex-hero h1 .lead,.ex-hero h1 .sub,.ex-hero h1 .big{white-space:nowrap}
.ex-hero h1 .big{display:block;color:var(--on-dark);font-size:min(3.55rem, calc((100vw - 44px)/11.62));margin-bottom:10px}
@media(min-width:1101px){
.ex-hero h1{font-size:calc((min(100vw, 1200px) - 128px)*0.0402)}
.ex-hero h1 .big{font-size:calc((min(100vw, 1200px) - 128px)*0.0502)}
}
/* stacked/mobile checklist card: no green counts, and air between category and its description */
@media(max-width:1100px){.hero .audit .arow .r{display:none}.hero .audit .arow .al .sb{margin-top:3px}}
.ex-lede{color:var(--on-dark-muted);font-size:var(--lg);line-height:1.55;margin:var(--s5) 0 var(--s6);max-width:540px}
.audit{background:#fffdf8;color:var(--ink);border-radius:var(--r-md);padding:30px 32px 26px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.ex-tag{position:absolute;top:-13px;left:24px;background:#e9b949;color:#3d3106;font-family:var(--sans);font-weight:700;font-size:10px;letter-spacing:.12em;padding:6px 12px;border-radius:2px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.audit h2,.audit h3{font-family:var(--serif);font-size:17px;font-weight:600;margin-bottom:4px}
.audit .cap{font-family:var(--serif);font-style:italic;font-size:12.5px;color:var(--muted);margin-bottom:18px}
.arow{display:flex;gap:11px;align-items:baseline;padding:9px 0;border-top:1px solid var(--card-line);font-size:13.5px;line-height:1.45}
.arow .al{min-width:0}
.hero .audit .arow{gap:8px;font-size:12.5px;align-items:center}
.hero .audit .arow .abox{transform:none}
/* hero card category rows: bold category, muted benefit line, green count on the right */
.hero .audit .arow .al b{display:block;font-weight:600;font-size:12.5px;line-height:1.35;color:var(--ink)}
.hero .audit .arow .al .sb{display:block;font-weight:400;font-size:11px;line-height:1.4;color:var(--muted)}
.hero .audit .arow .r{padding-left:8px}
.arow .r{margin-left:auto;flex-shrink:0;font-family:var(--sans);font-weight:600;font-size:10.5px;letter-spacing:.08em;color:#3e6b3e;padding-left:12px}
.hero .audit{padding:28px 20px 24px}
.abox{width:13px;height:13px;flex-shrink:0;overflow:visible;transform:translateY(1px)}
.abox rect{fill:#fff;stroke:var(--ink);stroke-width:1.5}
.abox path{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:18;stroke-dashoffset:18}
@keyframes lwchk{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:no-preference){
.arow.a1 .x1{animation:lwchk .3s ease-in .8s forwards}.arow.a1 .x2{animation:lwchk .3s ease-in .95s forwards}
.arow.a2 .x1{animation:lwchk .3s ease-in 1.3s forwards}.arow.a2 .x2{animation:lwchk .3s ease-in 1.45s forwards}
.arow.a3 .x1{animation:lwchk .3s ease-in 1.8s forwards}.arow.a3 .x2{animation:lwchk .3s ease-in 1.95s forwards}
.arow.a4 .x1{animation:lwchk .3s ease-in 2.3s forwards}.arow.a4 .x2{animation:lwchk .3s ease-in 2.45s forwards}
.arow.a5 .x1{animation:lwchk .3s ease-in 2.8s forwards}.arow.a5 .x2{animation:lwchk .3s ease-in 2.95s forwards}
.arow.a6 .x1{animation:lwchk .3s ease-in 3.3s forwards}.arow.a6 .x2{animation:lwchk .3s ease-in 3.45s forwards}
.arow.a7 .x1{animation:lwchk .3s ease-in 3.8s forwards}.arow.a7 .x2{animation:lwchk .3s ease-in 3.95s forwards}
.arow.a8 .x1{animation:lwchk .3s ease-in 4.3s forwards}.arow.a8 .x2{animation:lwchk .3s ease-in 4.45s forwards}
.arow.a9 .x1{animation:lwchk .3s ease-in 4.8s forwards}.arow.a9 .x2{animation:lwchk .3s ease-in 4.95s forwards}}
@media(prefers-reduced-motion:reduce){.abox path{stroke-dashoffset:0}}
.amore{display:block;border-top:1px solid var(--card-line);margin-top:2px;padding-top:14px;font-family:var(--sans);font-weight:600;font-size:13px}
.cl-sec .abox path{stroke-dashoffset:0}
.id-card{background:#fffdf8;border:1px solid var(--card-line);border-radius:var(--r-md);padding:30px 34px 26px;position:relative;display:flex;gap:28px;box-shadow:0 10px 30px rgba(28,26,23,.08)}
.id-card .id-photo{width:120px;height:140px;object-fit:cover;border-radius:4px;border:1px solid var(--card-line);flex-shrink:0}
.id-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:700;margin:0}
.id-card .id-role{font-size:13px;color:var(--accent);font-weight:600;margin:2px 0 12px}
.id-card ul{list-style:none;display:grid;gap:6px;font-size:13.5px;color:var(--muted)}
.id-card ul b{color:var(--ink);font-weight:600}
.id-card ul li::before{content:'§';color:var(--accent);margin-right:9px;font-family:var(--serif)}
@media(max-width:640px){.id-card{flex-direction:column;width:100%!important;height:auto!important;padding:26px 22px 22px}.id-card .id-photo{width:101px}.id-card ul{font-size:13px}}
@media(max-width:900px){.audit{max-width:480px}}

@media print{header,footer,.transition,.scroll-top,.cta-band,.ivx form,.review-bar{display:none!important}body{background:#fff;color:#000}.article,.wrap{max-width:100%;padding:0}.page-hero{background:#fff;color:#000;padding:0 0 12pt}.page-hero h1,.page-hero p,.page-hero .crumbs{color:#000}a{color:#000;text-decoration:underline}.toc{display:none}.g-plate,.callout-ob,.audit{box-shadow:none;border:1pt solid #999}}

.thumb.redl{background:var(--dark);padding:20px 18px;display:flex;flex-direction:column;justify-content:center;gap:8px;align-items:flex-start;position:relative;height:150px}
.thumb.redl .m{position:absolute;top:11px;right:13px;font-family:var(--sans);font-size:8.5px;font-weight:700;letter-spacing:.1em;color:var(--accent-on-dark)}
.thumb.redl .old{font-family:var(--serif);font-size:15px;color:rgba(245,241,233,.55);text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-align:left}
.thumb.redl .new{font-family:var(--serif);font-size:15px;color:var(--on-dark);border-bottom:2px solid var(--accent);padding-bottom:1px;text-align:left}

.svc-grid{display:grid;grid-template-columns:1fr 360px;gap:var(--s8);align-items:start;position:relative}
.svc-num{position:absolute;top:2px;right:0;font-family:var(--serif);font-weight:700;font-size:1.1rem;color:var(--accent);letter-spacing:.02em}
.svc-lead{font-family:var(--serif);font-size:1.15rem;line-height:1.6;color:var(--ink);max-width:660px;margin-bottom:var(--s4)}
.svc-main .prose,.svc-main .prose p{max-width:660px}
.svc-inc-h{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.svc-inc{list-style:none;margin:0;padding:0}
.svc-inc li{font-size:14.5px;line-height:1.5;color:var(--ink);padding:14px 0;border-top:1px solid var(--card-line);display:flex;gap:12px}
.svc-inc li:first-child{border-top:none}
.svc-inc li::before{content:'\A7';color:var(--accent);font-family:var(--serif);font-weight:700;flex-shrink:0}
.svc-inc li b{font-weight:600}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr;gap:var(--s6)}.svc-num{position:static;display:block;margin-bottom:var(--s3)}}

.article-layout>*{min-width:0}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s7);max-width:var(--maxw);margin:0 auto;padding:0 var(--s6);align-items:start}
.article-layout .article{max-width:760px;margin:0;padding:0}
.chapter-side{position:sticky;top:115px;max-height:calc(100vh - 135px);overflow-y:auto;display:grid;gap:var(--s4);scrollbar-width:thin}
.side-box{border:1px solid var(--card-line);background:#fffdf8;border-radius:var(--r-md);padding:var(--s4) var(--s5)}
.side-box .sn{font-family:var(--sans);font-size:10px;letter-spacing:.12em;font-weight:700;color:var(--accent);text-transform:uppercase;margin-bottom:10px;display:block}
.side-box .sn a{color:inherit}
.side-toc{list-style:none;margin:0;padding:0}
.side-toc a{display:flex;gap:10px;padding:4px 0;font-size:.85rem;line-height:1.4;color:var(--muted);font-family:var(--sans)}
.side-toc a b{font-family:var(--serif);color:var(--accent);font-weight:700;min-width:20px;text-align:left;font-size:.85rem}
.side-toc a:hover{color:var(--ink)}
.side-toc a.cur{color:var(--ink);font-weight:600}
.side-cta{background:var(--dark);border-color:var(--divider)}
.side-cta .sn{color:var(--accent-on-dark)}
.side-cta p{font-size:.85rem;color:var(--on-dark-muted);line-height:1.55;margin:0 0 14px;font-family:var(--sans)}
.side-cta .btn-accent{display:block;text-align:center;padding:11px 16px;font-size:14px}
@media(max-width:1100px){.article-layout{grid-template-columns:1fr}.article-layout .article{max-width:800px;margin:0 auto}.chapter-side{position:static;max-height:none;max-width:800px;margin:0 auto;width:100%}}

.article.wide .hub-cards{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px) and (min-width:701px){.article.wide .hub-cards{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.article.wide .hub-cards{grid-template-columns:1fr}}
.form-2col{grid-template-columns:1fr 1fr;column-gap:var(--s5)}
.form-2col>label[style*="flex-direction:row"],.form-2col>div{grid-column:1/-1}
@media(max-width:700px){.form-2col{grid-template-columns:1fr}}

.trust-band{background:var(--dark);padding:var(--s8) 0 var(--s7)}
.trust-band .wrap{padding-bottom:var(--s7);border-bottom:1px solid var(--divider)}
/* inside the footer the trust-band shares the footer's dark bg, so the brace watermarks read through behind it */
footer .trust-band{background:transparent;padding-top:0}
.tb-grid{display:grid;grid-template-columns:auto auto;justify-content:space-between;gap:var(--s8);align-items:center}
.tb-left h2{font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.85rem);font-weight:700;line-height:1.2;color:var(--on-dark);margin:0;white-space:nowrap}
.tb-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:var(--s7);max-width:none;margin:0;text-align:left;align-items:start}
.tb-stats .stat b{display:flex;align-items:baseline;white-space:nowrap;font-family:var(--serif);font-size:2.25rem;font-weight:700;color:var(--accent-on-dark-lg);line-height:1.1}
.tb-stats .stat b small{font-size:.8rem;font-weight:400;font-family:var(--sans);color:var(--on-dark-muted);margin-left:3px}
.tb-stats .stat b .gt{color:var(--on-dark-muted);font-size:1.5rem;margin-right:1px}
.tb-stats .stat span{display:block;color:var(--on-dark-muted);font-size:var(--sm);font-weight:600;margin-top:6px;line-height:1.35}
.logo-row.tb-logos{background:none;padding:0;gap:var(--s6);align-items:center}
.logo-row.tb-logos img{height:44px;width:auto;filter:grayscale(1) invert(1);opacity:.78;transition:opacity .2s ease}
.logo-row.tb-logos img:hover{opacity:1}
@media(max-width:900px){.tb-grid{grid-template-columns:1fr;gap:var(--s7);text-align:center}
.tb-left h2{max-width:none;margin-left:auto;margin-right:auto;white-space:normal}
.tb-stats{text-align:center;justify-content:center}
.tb-stats .stat b{justify-content:center}
.logo-row.tb-logos{flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--s6)}
.logo-row.tb-logos img{height:32px}}
@media(max-width:560px){.tb-stats{grid-template-columns:1fr;gap:var(--s4)}.logo-row.tb-logos img{height:26px}}

.stat-bar{background:var(--page);border-bottom:1px solid var(--card-line);padding:var(--s6) 0 var(--s8)}
.sb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);max-width:none;margin:0;align-items:start}
.sb-stats .stat{text-align:center}
.sb-stats .stat b{display:flex;align-items:baseline;justify-content:center;white-space:nowrap;font-family:var(--serif);font-size:2.75rem;font-weight:700;color:var(--accent);line-height:1.05}
.sb-stats .stat b small{font-size:.85rem;font-weight:400;font-family:var(--sans);color:var(--muted);margin-left:4px}
.sb-stats .stat b .gt{color:var(--muted);font-size:1.75rem;margin-right:2px}
.sb-stats .stat span{display:block;color:var(--muted);font-size:var(--sm);font-weight:600;line-height:1.35;margin-top:8px}
@media(max-width:760px){.stat-bar{padding:var(--s6) 0 var(--s7)}.sb-stats{grid-template-columns:1fr;gap:var(--s6);text-align:center}.sb-stats .stat{text-align:center}.sb-stats .stat b{justify-content:center}}

/* hero checklist on mobile: grid keeps the check beside its label and drops the tag to its own line, aligned under the label */
@media(max-width:640px){.hero .audit .arow{display:grid;grid-template-columns:auto 1fr;column-gap:11px;row-gap:3px;align-items:center}.hero .audit .arow .abox{grid-column:1;grid-row:1}.hero .audit .arow .al{grid-column:2;grid-row:1}.hero .audit .arow .r{display:none}}
.article,.article p,.article li,.g-plate,.ivx{overflow-wrap:anywhere}

.steps.steps-flow{grid-template-columns:1fr;max-width:none;gap:var(--s4)}
.steps-flow li{padding:var(--s4) var(--s5) var(--s4) 64px}
.steps-flow li::before{top:var(--s4)}
.steps-flow li b{display:inline;margin:0}
.steps-flow li b::after{content:" — ";color:var(--muted);font-weight:400}
@media(min-width:1200px){.steps-flow li+li::after{content:'{';position:absolute;left:-26px;top:-42px;font-family:var(--serif);font-weight:600;font-size:64px;line-height:1;color:var(--accent);opacity:.45;z-index:2;pointer-events:none}}

.vpie{display:flex;align-items:center;gap:var(--s6);margin:var(--s4) 0 0;flex-wrap:wrap}
.vpie svg{width:118px;height:118px;flex-shrink:0}
.vkey{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vkey li{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:.92rem;color:var(--muted);line-height:1.4}
.vkey b{color:var(--ink);font-weight:600}
.vkey em{font-style:normal;color:var(--muted);font-size:.85rem}
.vkey .sw{width:13px;height:13px;border-radius:3px;flex-shrink:0}
.vkey-note{padding-top:8px;border-top:1px solid var(--card-line);margin-top:2px}
@media(max-width:520px){.vpie{gap:var(--s5)}.vpie svg{width:104px;height:104px}}
.form label[style*="flex-direction:row"] .cbox-f{margin-top:3px}
.checklist-layout{max-width:var(--maxw);grid-template-columns:minmax(0,1fr) 280px;gap:var(--s6)}
.checklist-layout .article{max-width:none}
@media(max-width:1100px){.checklist-layout{max-width:var(--maxw);grid-template-columns:1fr}.checklist-layout .article{max-width:800px}}
.ch-meta .rt{margin-left:1.4em}
.side-guides{padding-right:var(--s4)}
.side-guides .side-toc a{gap:8px}
.side-guides .side-toc b{min-width:0;text-align:left}

/* landing-page comparison tables */
.cmpt-wrap{overflow-x:auto;margin:var(--s5) 0}
.cmpt{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.95rem;line-height:1.55;min-width:560px}
.cmpt th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-align:left;padding:10px 14px;border-bottom:2px solid var(--accent)}
.cmpt td{padding:12px 14px;border-bottom:1px solid var(--card-line);vertical-align:top;color:var(--ink)}
.cmpt td:first-child{font-weight:600}
.cmpt tr:nth-child(even) td{background:#fffdf8}
/* landing-page FAQ */
.lp-faq h3{font-family:var(--serif);font-size:1.1rem;font-weight:700;color:var(--ink);margin:var(--s5) 0 6px}
.lp-faq h3:first-of-type{margin-top:var(--s4)}

/* mockup gallery (dev only, /_mockups/) */
.mg-lbl{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--accent);display:inline-block;padding:4px 12px;border-radius:3px;margin:0 0 0 var(--s6)}
.mg-sec{margin:0 0 var(--s5)}
.mg-sec>h2.mg-title{font-family:var(--serif);font-size:1.9rem;color:var(--ink);padding:var(--s7) var(--s6) var(--s3);border-top:2px solid var(--accent);margin:var(--s8) 0 0}
.mg-sec>p.mg-note{color:var(--muted);font-size:var(--md);padding:0 var(--s6) var(--s4);max-width:760px}
.mg-var{border:1px dashed var(--card-line);margin:0 var(--s5) var(--s5);border-radius:6px;overflow:hidden}
.mg-var-hd{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--muted);padding:8px var(--s5);background:#fffdf8;border-bottom:1px solid var(--card-line)}
.mg-var-hd b{color:var(--accent)}
/* cross-border strip */
.xbor{display:grid;grid-template-columns:1fr 1fr;gap:0}
.xbor>div{padding:var(--s6)}
.xbor>div:first-child{border-right:1px solid var(--divider)}
.xbor .flag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-on-dark-lg);margin-bottom:var(--s3)}
.xbor ul{list-style:none;display:grid;gap:8px}
.xbor li{display:flex;gap:9px;font-size:var(--md);color:var(--on-dark-muted)}
.xbor li b{color:var(--on-dark);font-weight:600}
@media(max-width:640px){.xbor{grid-template-columns:1fr}.xbor>div:first-child{border-right:none;border-bottom:1px solid var(--divider)}}
/* process steps horizontal */
.pflow{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);counter-reset:pf}
.pflow .pf{position:relative;padding-top:var(--s5)}
.pflow .pf::before{counter-increment:pf;content:counter(pf);position:absolute;top:0;left:0;font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--accent);opacity:.5}
.pflow .pf b{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--ink);margin-bottom:4px}
.pflow .pf span{font-size:.9rem;color:var(--muted);line-height:1.55}
@media(max-width:760px){.pflow{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.pflow{grid-template-columns:1fr}}
/* proof numbers */
.proofrow{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);text-align:center;margin:var(--s5) 0}
.proofrow .pn{font-family:var(--serif);font-size:2.6rem;font-weight:700;color:var(--accent);line-height:1}
.proofrow .pl{font-size:.9rem;color:var(--muted);margin-top:6px;display:block}
@media(max-width:560px){.proofrow{grid-template-columns:1fr;gap:var(--s4)}}
/* objection two-col */
.objx{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.objx .bad,.objx .good{border-radius:6px;padding:var(--s5)}
.objx .bad{background:#fbf1ef;border:1px solid #e6c9c3}
.objx .good{background:#fffdf8;border:1px solid var(--card-line)}
.objx h4{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.objx .bad h4{color:#a04c42}.objx .good h4{color:#3e6b3e}
.objx ul{list-style:none;display:grid;gap:8px;font-size:.95rem;line-height:1.55}
@media(max-width:640px){.objx{grid-template-columns:1fr}}
/* mobile rhythm: trim the tall desktop paddings on phones */
@media(max-width:640px){.hero{padding:var(--s7) 0 calc(var(--s7) + 36px)}.section{padding:var(--s7) 0}}
/* homepage redline: on mobile drop each green replacement to its own line under the struck term */
@media(max-width:640px){.rl{line-height:1.7}.rl>div{margin-bottom:10px}.rl b{display:block}}

/* process highlights: one full-width item per line on phones */
@media(max-width:640px){.pfeat{flex-direction:column;gap:var(--s4)}.pfeat>div{min-width:100%}}
/* trust-band logos on phones & tablets: a one-at-a-time crossfade carousel — covers every width where three logos would shrink or wrap */
@media(max-width:1039px){
.logo-row.tb-logos{position:relative;display:block;height:72px;padding:0}
.logo-row.tb-logos img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:48px;width:auto;opacity:0;animation:tbcycle 9s linear infinite}
.logo-row.tb-logos img:nth-child(2){animation-delay:3s}
.logo-row.tb-logos img:nth-child(3){animation-delay:6s}
}
@keyframes tbcycle{0%{opacity:0}4%{opacity:1}30%{opacity:1}34%{opacity:0}100%{opacity:0}}
@media(max-width:1039px) and (prefers-reduced-motion:reduce){
.logo-row.tb-logos{display:flex;height:auto;flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--s6)}
.logo-row.tb-logos img{position:static;transform:none;height:26px;opacity:1;animation:none}
}

/* after a failed submit attempt, make required-field problems visible (the native bubble can be missed,
   and the consent checkbox input is visually hidden behind its svg) */
.form input:user-invalid,.form textarea:user-invalid{border-color:var(--accent)}
.form label:has(> input[type="checkbox"]:user-invalid) .cbox-f rect{stroke:var(--accent);stroke-width:2}
.form label:has(> input[type="checkbox"]:user-invalid)::after{content:"— required";color:var(--accent);font-weight:600;font-size:.85em;margin-left:4px}


/* footer location: tagline sits tightly under the city, pin aligns to the first line */
.foot-col.contact .c-line:has(.c-sub){align-items:flex-start}
.foot-col.contact .c-line:has(.c-sub) svg{margin-top:2px}
.c-sub{display:block;font-style:normal;font-size:12px;line-height:1.3;margin-top:1px;opacity:.85}

/* ---- mobile refinements (Aug 13) ---- */
/* 1. phones: the hero states its case in the headline alone */
@media(max-width:640px){.ex-hero .ex-lede{display:none}}
/* 2. pull the diagonal up to sit just under the subtitle / last hero element */
@media(max-width:640px){
.hero{padding-bottom:28px}
.page-hero{padding-bottom:34px}
}
@media(min-width:641px) and (max-width:1100px){
.hero{padding-bottom:64px}
.page-hero{padding-bottom:64px}
}
@media(min-width:1101px){
.hero{padding-bottom:96px}
.page-hero{padding-bottom:72px}
}
/* 3. phones: checklist PAGE cards at half the padding, inside and around */
@media(max-width:640px){
.audit.cl-card{padding:15px 16px 13px;margin-bottom:16px}
.cl-card .arow{padding:5px 0}
}
/* 4. phones: tighter space above the first footer column */
@media(max-width:640px){
footer{padding-top:44px}
footer .trust-band{padding-bottom:20px}
.trust-band .wrap{padding-bottom:24px}
}
/* 5. mobile menu: left-aligned, indented submenus, larger submenu text */
@media(max-width:1100px){
.nav-links{align-items:flex-start;padding-left:34px}
.nav-links .dd{align-items:flex-start}
/* hang the red brackets into the gutter so Design/Marketing/Cyber letters align with the plain items */
.nav-links .dd > a{margin-left:-15px}
.dd .menu a{text-align:left;font-size:1.15rem;padding:7px 0 7px 18px}
.dd.open .menu{max-height:340px}
}

/* phones: matched breathing room — title→lines gap widened, button gets the same gap above */
@media(max-width:640px){
.ex-hero h1 .big{margin-bottom:28px}
.ex-hero .btn-accent{margin-top:28px}
}
/* checklist page, phones: the reference tag (e.g. "CYBERSECURITY CH. 13") stacks under the item text instead of squeezing it */
@media(max-width:640px){.cl-card .arow.cl-row{flex-wrap:wrap}.cl-card .arow.cl-row > span:not(.r){flex:1 1 0;min-width:0}.cl-card .arow.cl-row .r{flex-basis:100%;margin-left:0;padding-left:calc(14px + 8px);padding-top:2px}}
