:root{
--ink:#0E1418;--ink2:#2A343B;--muted:#4E585F;--line:#D5D9DC;--stone:#F1F0EC;--paper:#FFF;
--water:#1B6FA8;--deep:#123A57;--sky:#2FA2DC;--alert:#C6382B;--open:#2F9E5E;
--disp:'Libre Franklin',Helvetica,sans-serif;--read:'Literata',Georgia,serif;
--mono:'IBM Plex Mono',monospace;--gut:clamp(20px,5vw,64px);--maxw:1180px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--read);font-size:17.5px;line-height:1.62;
-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
outline:3px solid var(--sky);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}}
.note{background:#FFF7E0;border-bottom:1px solid #E0C36A;padding:12px var(--gut);font-size:14px;
font-family:var(--disp);text-align:center}
.note b{font-weight:800}
/* live-status desk */
.desk{background:var(--ink);display:flex;flex-wrap:wrap}
.desk-l{font-family:var(--mono);font-size:13px;letter-spacing:0.138em;text-transform:uppercase;color:#8A959C;
padding:0 20px;display:flex;align-items:center;white-space:nowrap;border-right:1px solid rgba(255,255,255,.16)}
.desk a{display:flex;align-items:center;gap:11px;padding:11px 18px;
border-right:1px solid rgba(255,255,255,.16);flex:1;min-width:216px}
.desk a:hover{background:var(--water)}
.pip{width:8px;height:8px;border-radius:50%;background:var(--open);flex:none}
.pip.off{background:#5A656C}
.desk .nm{font-family:var(--disp);font-weight:700;font-size:13.5px;color:#fff}
.desk .hr{font-family:var(--mono);font-size:13px;color:#98A3AA}
.desk .tel{font-family:var(--mono);font-size:13px;color:#fff;margin-left:auto}
@media(max-width:640px){.desk-l{display:none}.desk .tel{display:none}}
header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.97);
backdrop-filter:blur(6px);z-index:50}
header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}
.logo img{height:44px;width:auto;display:block}
.mainnav{display:flex;gap:24px;font-family:var(--disp);font-weight:600;font-size:15.5px}
.mainnav a{padding-bottom:2px;border-bottom:2px solid transparent}
.mainnav a:hover{border-bottom-color:var(--sky)}
.mainnav a.claims{color:var(--alert)}
.quote{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:700;font-size:15px;
padding:13px 20px;border-radius:2px;white-space:nowrap}
.quote:hover{background:#A82E22}
@media(max-width:1000px){.mainnav{display:none}}
@media(max-width:1000px){
 .mainnav{display:flex!important;order:3;width:100%;gap:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  white-space:nowrap;padding:10px 0 4px;border-top:1px solid var(--line);margin-top:8px;scrollbar-width:none}
 .mainnav::-webkit-scrollbar{display:none}
 .mainnav a{font-size:14.5px;flex:0 0 auto}
}
/* hero */
.hero{background:var(--paper);color:var(--ink);padding:64px 0 0}
.hero .eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:0.148em;text-transform:uppercase;
color:#B3402F;margin-bottom:16px}
.hero h1{font-family:var(--disp);font-weight:900;font-size:clamp(33px,5.3vw,58px);letter-spacing:-.045em;
line-height:1.03;max-width:19ch}
.hero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:54ch}
.hero .sub b{color:var(--ink);font-weight:600}
.facts{display:flex;gap:clamp(28px,5vw,64px);margin-top:38px;flex-wrap:wrap}
.facts div{font-family:var(--mono);font-size:13px;letter-spacing:0.105em;text-transform:uppercase;color:var(--muted)}
.facts b{display:block;font-family:var(--disp);font-weight:900;font-size:36px;letter-spacing:-.035em;
color:var(--ink);line-height:1;margin-bottom:4px}
.heroanswer{margin-top:34px;border-left:4px solid var(--sky);padding:2px 0 2px 20px;max-width:66ch}
.heroanswer p{font-family:var(--read);font-size:18.5px;line-height:1.5;color:var(--ink)}
.heroanswer b{font-weight:600}
.doors{display:grid;grid-template-columns:1fr 1fr;margin-top:44px;border:1px solid var(--line);border-bottom:0}
.door{padding:32px 30px 36px;background:#fff;border-top:5px solid var(--sky);transition:background .18s}
.door+.door{border-left:1px solid var(--line);border-top-color:#3FA372}
.door:hover{background:var(--stone)}
.door .k{font-family:var(--mono);font-size:13px;letter-spacing:0.115em;text-transform:uppercase;color:var(--muted)}
.door h2{font-family:var(--disp);font-weight:800;font-size:26px;letter-spacing:-.03em;margin-top:8px;color:var(--ink)}
.door p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:10px;max-width:34ch}
.door ul{list-style:none;margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.door li{font-family:var(--disp);font-weight:600;font-size:16px;border:1px solid var(--line);
padding:6px 11px;color:var(--ink)}
.door .go{display:inline-block;margin-top:20px;font-family:var(--disp);font-weight:800;font-size:16px;
color:var(--ink);border-bottom:2px solid var(--sky);padding-bottom:3px}
@media(max-width:760px){.doors{grid-template-columns:1fr}.door+.door{border-left:0;border-top-width:5px}}
/* situation router */
.router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
.router .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.router h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,33px);letter-spacing:-.035em;
max-width:20ch;line-height:1.08}
.router .hint{font-size:16px;color:var(--muted);max-width:36ch}
.sits{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
border:1px solid var(--line);margin-top:30px}
.sit{background:#fff;padding:24px 22px 26px;display:block;transition:background .15s}
.sit:hover{background:#FAFAF8}
.sit .q{font-family:var(--disp);font-weight:800;font-size:18.5px;letter-spacing:-.02em;line-height:1.28}
.sit p{font-size:16px;color:var(--ink2);margin-top:9px}
.sit .act{display:inline-block;margin-top:14px;font-family:var(--disp);font-weight:700;font-size:15px;
color:var(--water);border-bottom:1.5px solid var(--water);padding-bottom:2px}
.sit .fast{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:13px;letter-spacing:0.053em;
background:#E8F2F8;color:var(--deep);padding:5px 9px;text-transform:uppercase}
@media(max-width:980px){.sits{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sits{grid-template-columns:1fr}}
section{padding:68px 0}
.eyebrow2{font-family:var(--mono);font-size:13px;letter-spacing:0.142em;text-transform:uppercase;color:var(--alert)}
h2.big{font-family:var(--disp);font-weight:800;font-size:clamp(26px,3.5vw,37px);letter-spacing:-.035em;
margin-top:8px;max-width:24ch;line-height:1.07}
.lede{font-size:19px;color:var(--ink2);font-weight:300;margin-top:14px;max-width:62ch}
/* start form */
.start{background:var(--water);color:#fff}
.start .wrap{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:start}
.start h2{font-family:var(--disp);font-weight:800;font-size:clamp(25px,3.3vw,35px);letter-spacing:-.035em;
line-height:1.08;color:#fff}
.start p{color:#EAF3FA;margin-top:15px;font-weight:300;font-size:17px}
.start .ways{margin-top:22px;font-size:16px;color:#EAF3FA}
.start .ways div{margin-top:9px;padding-left:22px;position:relative}
.start .ways div:before{content:"—";position:absolute;left:0;color:var(--sky)}
.form{background:#fff;color:var(--ink);padding:30px 28px 32px;border-top:5px solid var(--sky)}
.form h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.02em}
.form label{display:block;font-family:var(--disp);font-weight:700;font-size:14.5px;margin-top:18px}
.form input,.form select{width:100%;font-family:var(--read);font-size:16.5px;padding:12px;
border:1.5px solid #B9C0C6;margin-top:7px;background:#FDFDFC;border-radius:2px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .pick{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.form .pick label{margin:0;font-weight:600;font-size:14.5px;border:1.5px solid #B9C0C6;padding:9px 13px;
cursor:pointer;background:#fff}
.form .pick input{width:auto;margin:0 6px 0 0;padding:0;border:0;vertical-align:middle}
.form button{margin-top:22px;width:100%;font-family:var(--disp);font-weight:800;font-size:17px;
background:var(--ink);color:#fff;border:0;padding:15px;cursor:pointer;border-radius:2px}
.form .fine{font-size:13.5px;color:var(--muted);margin-top:12px;line-height:1.5}
@media(max-width:900px){.start .wrap{grid-template-columns:1fr;gap:32px}}
@media(max-width:520px){.form .row{grid-template-columns:1fr}}
/* one broker steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
.step{border-top:3px solid var(--ink);padding-top:18px}
.step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
.step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
.step p{font-size:16px;color:var(--ink2);margin-top:9px}
@media(max-width:860px){.steps{grid-template-columns:1fr}}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
border:1px solid var(--line);margin-top:32px}
.cell{background:#fff;padding:22px 20px;transition:background .15s;display:block}
.cell:hover{background:var(--stone)}
.cell h3{font-family:var(--disp);font-weight:700;font-size:17px}
.cell p{font-size:16px;color:var(--muted);margin-top:5px;line-height:1.45}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid{grid-template-columns:1fr}}
/* marine */
.marine{background:var(--water);color:#fff;padding:68px 0}
.marine .eyebrow2{color:#EAF3FA}
.marine h2{font-family:var(--disp);font-weight:900;font-size:clamp(28px,4.4vw,52px);
letter-spacing:-.04em;line-height:1.02;max-width:18ch;margin-top:8px}
.marine .lede{color:#DCEDF8;max-width:56ch}
.mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(198px,1fr));gap:0;
margin-top:40px;border-top:1px solid rgba(255,255,255,.28)}
.mgrid a{padding:16px 20px 16px 0;border-bottom:1px solid rgba(255,255,255,.28);
border-right:1px solid rgba(255,255,255,.28);display:flex;flex-direction:column}
.mgrid b{font-family:var(--disp);font-weight:600;font-size:16px;min-height:2.4em;line-height:1.2}
.mgrid span{font-family:var(--mono);font-size:13px;color:#EAF3FA;margin-top:auto}
.stuck{background:var(--stone);color:var(--ink);border-top:1px solid var(--line)}
.stuck .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center}
.stuck h2{font-family:var(--disp);font-weight:800;font-size:clamp(25px,3.4vw,36px);letter-spacing:-.035em;
line-height:1.08;color:var(--ink)}
.stuck p{color:var(--ink2);margin-top:16px;font-weight:300;font-size:17.5px}
.stuck .card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--sky);padding:28px}
.stuck .card h3{font-family:var(--disp);font-weight:800;font-size:18.5px;color:var(--ink)}
.stuck .card ul{margin-top:14px;padding-left:1.1em;color:var(--ink2);font-size:16px}
.stuck .card li{margin-top:7px}
.stuck .go{display:inline-block;margin-top:24px;background:var(--ink);color:#fff;font-family:var(--disp);
font-weight:800;font-size:16px;padding:14px 22px;border-radius:2px}
.stuck .brokers{margin-top:18px;font-size:15.5px;color:var(--muted);border-left:3px solid var(--sky);padding-left:16px}
@media(max-width:860px){.stuck .wrap{grid-template-columns:1fr;gap:32px}}
.reads{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
.read{border-top:3px solid var(--ink);padding-top:18px;display:block}
.read .k{font-family:var(--mono);font-size:13px;letter-spacing:0.102em;text-transform:uppercase;color:var(--muted)}
.read h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.22}
.read p{font-size:16px;color:var(--ink2);margin-top:9px}
.read .go{display:inline-block;margin-top:12px;font-family:var(--disp);font-weight:700;font-size:15px;
color:var(--water);border-bottom:1.5px solid var(--water)}
@media(max-width:860px){.reads{grid-template-columns:1fr}}
/* reviews + carriers */
.social{background:var(--stone)}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
.rev{background:#fff;border:1px solid var(--line);padding:24px}
.rev p{font-size:17.5px;font-weight:300;line-height:1.5}
.rev cite{font-family:var(--mono);font-size:13px;letter-spacing:0.085em;text-transform:uppercase;
color:var(--muted);font-style:normal;margin-top:14px;display:block}
.carr{margin-top:44px;border-top:1px solid var(--line);padding-top:24px}
.carr h4{font-family:var(--mono);font-size:13px;letter-spacing:0.137em;text-transform:uppercase;
color:var(--muted)}
.carr h3{font-family:var(--mono);font-size:13px;letter-spacing:0.137em;text-transform:uppercase;
color:var(--muted)}
.carr div{display:flex;gap:clamp(20px,4vw,48px);flex-wrap:wrap;margin-top:16px}
.carr span{font-family:var(--disp);font-weight:600;font-size:16px;color:var(--muted)}
@media(max-width:860px){.revs{grid-template-columns:1fr}}
/* branches */
.branches{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
border:1px solid var(--line);margin-top:32px}
.br{background:#fff;padding:26px 22px;display:flex;flex-direction:column}
.br h3{font-family:var(--disp);font-weight:800;font-size:24px;display:flex;align-items:center;gap:10px}
.br h3 i{width:10px;height:10px;border-radius:50%;background:var(--open);flex:none}
.br h3 i.off{background:#B0B7BC}
.br .addr{font-family:var(--mono);font-size:13px;color:var(--ink2);margin-top:12px;line-height:1.9}
.br .status{font-family:var(--mono);font-size:13px;letter-spacing:0.044em;margin-top:8px;color:#1F7047}
.br .status.off{color:var(--muted)}
.br .who{font-size:16px;color:var(--ink2);margin-top:12px;font-weight:300}
.br .call{margin-top:auto;padding-top:18px;font-family:var(--disp);font-weight:900;font-size:19px;color:var(--water)}
@media(max-width:860px){.branches{grid-template-columns:1fr}}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{font-family:var(--disp);font-weight:700;font-size:18px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before{content:"+";color:var(--water);font-weight:900;margin-right:12px}
.faq details[open] summary:before{content:"–"}
.faq p{margin-top:12px;max-width:66ch;font-size:16.5px;padding-left:26px}
footer{background:var(--ink);color:#98A2A9;padding:46px 0 30px;font-size:14px}
.ftlogo img{height:38px;width:auto}
.ftg{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:36px;margin-top:30px}
footer h5{font-family:var(--mono);font-size:13px;letter-spacing:0.129em;text-transform:uppercase;
color:#fff;margin-bottom:10px;font-weight:500}
footer h3{font-family:var(--mono);font-size:13px;letter-spacing:0.129em;text-transform:uppercase;
color:#fff;margin-bottom:10px;font-weight:500}
footer p,footer a{font-family:var(--mono);font-size:13px;line-height:2;display:block;color:#98A2A9}
footer a:hover{color:#fff}
.ftb{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:16px;
display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
font-family:var(--mono);font-size:13px;color:#6E787E;line-height:1.8}
.cta.act{background:#C6382B!important;color:#fff!important;border-color:#C6382B!important}
.credstrip{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font-family:var(--mono);font-size:13px;letter-spacing:0.097em;text-transform:uppercase;color:var(--muted);text-align:center;line-height:1.9}
.skiplink{position:absolute;left:-9999px;top:0;z-index:999;background:#C6382B;color:#fff;font-family:var(--disp);font-weight:700;font-size:15px;padding:12px 20px}
.skiplink:focus{left:0}
@media print{.desk,header,.skiplink,.credstrip,footer,.sendbar,.endcta,.quick{display:none!important}body{font-size:11pt;color:#000}a{color:#000;text-decoration:underline}.phero{padding:0 0 12pt}h1{font-size:20pt}h2{font-size:14pt}details{display:block}details p{display:block!important}section{page-break-inside:avoid}.costs{border-left:3pt solid #000}}
@media(max-width:900px){
 header .wrap,header>div{flex-wrap:wrap;gap:10px}
 header nav{order:3;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;padding-bottom:4px}
 .quote{font-size:14px;padding:11px 16px;margin-left:auto}
}
@media(max-width:480px){
 .quote{font-size:13px;padding:10px 13px}
 .desk{font-size:13px}
 h1{font-size:clamp(27px,8vw,38px)!important}
 .wrap{padding-left:18px;padding-right:18px}
}
html{overflow-x:hidden;max-width:100%}
body{overflow-x:clip;max-width:100%}
.crumb{font-family:var(--mono);font-size:13px;letter-spacing:0.088em;text-transform:uppercase;
color:var(--muted);padding:22px 0 0}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--water)}
.phero{background:var(--paper);padding:30px 0 54px}
.phero .eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:0.148em;text-transform:uppercase;
color:var(--water);margin-bottom:14px}
.phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em;
line-height:1.05;max-width:20ch}
.phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
.phero .sub b{color:var(--ink);font-weight:600}
.phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp);
font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
.phero .cta:hover{background:#A82E22}
.phero .alt{display:inline-block;margin-left:18px;font-family:var(--disp);font-weight:700;font-size:16px;
border-bottom:2px solid var(--sky);padding-bottom:3px}
.pbar{display:flex;gap:clamp(24px,4vw,54px);margin-top:34px;flex-wrap:wrap;
border-top:1px solid var(--line);padding-top:26px}
.pbar div{font-family:var(--mono);font-size:13px;letter-spacing:0.105em;text-transform:uppercase;color:var(--muted)}
.pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em;
color:var(--ink);line-height:1.1;margin-bottom:5px}
section{padding:60px 0}
.sec-k{font-family:var(--mono);font-size:13px;letter-spacing:0.124em;text-transform:uppercase;
color:var(--muted);margin-bottom:14px}
h2.sh{font-family:var(--disp);font-weight:800;font-size:clamp(25px,3.3vw,36px);letter-spacing:-.035em;
line-height:1.1;max-width:24ch}
.lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
.answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch;
border-left:4px solid var(--sky);padding-left:18px}
.cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
.cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
.cov div:nth-child(odd){border-right:1px solid var(--line)}
.cov div:nth-last-child(-n+2){border-bottom:0}
.cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
.cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
.cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
.stoneband{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water);
padding:28px 30px;margin-top:24px;max-width:78ch}
.hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
.hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
.blueband{background:var(--water);color:#fff}
.blueband h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.12;max-width:26ch}
.blueband p{color:#EAF3FA;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.blueband .g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.blueband .g div{border:1px solid rgba(255,255,255,.34);padding:20px}
.blueband .g h4{font-family:var(--disp);font-weight:700;font-size:16.5px}
.blueband .g h3{font-family:var(--disp);font-weight:700;font-size:16.5px}
.blueband .g p{color:#EAF3FA;font-size:16px;margin-top:8px}
.darkband{background:var(--ink);color:#fff}
.darkband h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.12;max-width:26ch}
.darkband p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.darkband .g{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border:1px solid rgba(255,255,255,.24)}
.darkband .g div{padding:22px 22px}
.darkband .g div+div{border-left:1px solid rgba(255,255,255,.24)}
.darkband .g h4{font-family:var(--disp);font-weight:700;font-size:16.5px}
.darkband .g h3{font-family:var(--disp);font-weight:700;font-size:16.5px}
.darkband .g p{color:#B8C2C9;font-size:16px;margin-top:8px}
.tlist{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:28px;border:1px solid var(--line)}
.tlist span{padding:15px 18px;font-family:var(--disp);font-weight:600;font-size:15.5px;
border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.tlist span:nth-child(4n){border-right:0}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border:1px solid var(--line)}
.steps4 div{padding:24px 22px}
.steps4 div+div{border-left:1px solid var(--line)}
.steps4 .n{font-family:var(--mono);font-size:13px;letter-spacing:0.102em;color:var(--water);text-transform:uppercase}
.steps4 h4{font-family:var(--disp);font-weight:800;font-size:17.5px;margin-top:8px}
.steps4 h3{font-family:var(--disp);font-weight:800;font-size:17.5px;margin-top:8px}
.steps4 p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:8px}
details.q{border-bottom:1px solid var(--line);padding:18px 0}
details.q summary{font-family:var(--disp);font-weight:700;font-size:17.5px;cursor:pointer;list-style:none}
details.q summary::-webkit-details-marker{display:none}
details.q summary:before{content:"+";font-family:var(--mono);color:var(--water);margin-right:12px;font-weight:700}
details.q[open] summary:before{content:"\2013"}
details.q p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:12px;max-width:66ch}
.endcta{background:var(--ink);color:#fff;text-align:center}
.endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em;
max-width:22ch;margin:0 auto}
.endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
.endcta .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px;
padding:15px 26px;border-radius:2px}
.endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700;
font-size:16.5px;padding:15px 26px;border-radius:2px}
.endcta .fine{font-family:var(--mono);font-size:13px;color:#8A959C;margin-top:22px}
@media(max-width:900px){
  .cov{grid-template-columns:1fr}
  .cov div:nth-child(odd){border-right:0}
  .cov div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .blueband .g{grid-template-columns:1fr}
  .darkband .g{grid-template-columns:1fr}
  .darkband .g div+div{border-left:0;border-top:1px solid rgba(255,255,255,.24)}
  .tlist{grid-template-columns:1fr 1fr}
  .tlist span:nth-child(4n){border-right:1px solid var(--line)}
  .tlist span:nth-child(2n){border-right:0}
  .steps4{grid-template-columns:1fr}
  .steps4 div+div{border-left:0;border-top:1px solid var(--line)}
}
.snapwrap{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0}
.snap{background:var(--paper);border:1px solid var(--line);border-top:6px solid var(--sky);max-width:none}
.snap .head{padding:26px 30px 0}
.snap .prog{display:flex;gap:6px;margin-top:18px}
.snap .prog i{height:4px;flex:1;background:var(--line);display:block}
.snap .prog i.on{background:var(--sky)}
.snap .step{padding:26px 30px 32px}
.snap .qn{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;text-transform:uppercase;color:var(--muted)}
.snap h3{font-family:var(--disp);font-weight:800;font-size:clamp(20px,2.6vw,26px);letter-spacing:-.03em;margin-top:8px}
.snap .why{background:none;font-size:16px;color:var(--muted);margin-top:8px;font-weight:300}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.opt{border:1px solid var(--line);background:#fff;padding:14px 16px;font-family:var(--disp);font-weight:600;
font-size:15.5px;text-align:left;cursor:pointer;color:var(--ink)}
.opt:hover{background:var(--stone);border-color:var(--water)}
.opt.sel{background:var(--water);color:#fff;border-color:var(--water)}
.snapnav{display:flex;gap:10px;margin-top:22px;align-items:center;flex-wrap:wrap}
.snapnav button{font-family:var(--disp);font-weight:800;font-size:15.5px;padding:12px 22px;border:0;cursor:pointer;border-radius:2px}
.bnext{background:var(--ink);color:#fff}
.bback{background:none;border:1px solid var(--line);color:var(--ink)}
.snapnav .note{font-family:var(--mono);font-size:13px;letter-spacing:0.081em;text-transform:uppercase;color:var(--muted)}
.result{padding:26px 30px 32px}
.rhead{border-bottom:1px solid var(--line);padding-bottom:16px}
.rhead h3{font-family:var(--disp);font-weight:900;font-size:clamp(21px,2.8vw,28px);letter-spacing:-.035em}
.rhead p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:8px}
.risk{border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:auto 1fr;gap:16px}
.risk .dot{width:10px;height:10px;background:var(--alert);border-radius:50%;margin-top:7px}
.risk h4{font-family:var(--disp);font-weight:800;font-size:17.5px}
.risk h3{font-family:var(--disp);font-weight:800;font-size:17.5px}
.risk p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:6px}
.risk a{border-bottom:2px solid var(--sky);font-weight:600}
.rfoot{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.rfoot a{font-family:var(--disp);font-weight:800;font-size:15.5px;padding:13px 22px;border-radius:2px}
.rfoot .p{background:#C6382B;color:#fff}
.rfoot .s{border:1px solid var(--line);color:var(--ink)}
.privnote{font-family:var(--mono);font-size:13px;letter-spacing:0.073em;text-transform:uppercase;color:var(--muted);margin-top:18px}
@media(max-width:640px){.opts{grid-template-columns:1fr}}
.phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:58ch}
/* industry router — the navigation heart of the page */
.router{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;
border:1px solid var(--line);background:var(--paper)}
.rgrid a{padding:26px 26px;display:block;border-right:1px solid var(--line);
border-bottom:1px solid var(--line);transition:background .15s}
.rgrid a:hover{background:var(--stone)}
.rgrid a:nth-child(3n){border-right:0}
.rgrid a:nth-last-child(-n+3){border-bottom:0}
.rgrid .k{font-family:var(--mono);font-size:13px;letter-spacing:0.097em;text-transform:uppercase;color:var(--water)}
.rgrid h3{font-family:var(--disp);font-weight:800;font-size:19px;margin-top:9px;letter-spacing:-.025em}
.rgrid p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:9px}
.rgrid .go{display:inline-block;margin-top:14px;font-family:var(--disp);font-weight:800;font-size:14.5px;
border-bottom:2px solid var(--sky);padding-bottom:2px}
.gap{background:var(--ink);color:#fff}
.gap h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.12;max-width:26ch}
.gap p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.gap .g{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border:1px solid rgba(255,255,255,.24)}
.gap .g div{padding:22px 22px}
.gap .g div+div{border-left:1px solid rgba(255,255,255,.24)}
.gap .g h4{font-family:var(--disp);font-weight:700;font-size:16.5px}
.gap .g h3{font-family:var(--disp);font-weight:700;font-size:16.5px}
.gap .g p{color:#B8C2C9;font-size:16px;margin-top:8px}
.how{border-top:1px solid var(--line)}
.hsteps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border:1px solid var(--line)}
.hsteps div{padding:24px 22px}
.hsteps div+div{border-left:1px solid var(--line)}
.hsteps .n{font-family:var(--mono);font-size:13px;letter-spacing:0.102em;color:var(--water);text-transform:uppercase}
.hsteps h4{font-family:var(--disp);font-weight:800;font-size:17.5px;margin-top:8px}
.hsteps h3{font-family:var(--disp);font-weight:800;font-size:17.5px;margin-top:8px}
.hsteps p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:8px}
.endcta{background:var(--water);color:#fff;text-align:center}
.endcta p{color:#EAF3FA;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
.endcta .b1{background:#fff;color:var(--water);font-family:var(--disp);font-weight:800;font-size:16.5px;
padding:15px 26px;border-radius:2px}
.endcta .b2{border:1px solid rgba(255,255,255,.55);color:#fff;font-family:var(--disp);font-weight:700;
font-size:16.5px;padding:15px 26px;border-radius:2px}
@media(max-width:900px){
  .rgrid{grid-template-columns:1fr}
  .rgrid a{border-right:0}
  .rgrid a:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .cov{grid-template-columns:1fr}
  .cov div:nth-child(odd){border-right:0}
  .cov div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .gap .g{grid-template-columns:1fr}
  .gap .g div+div{border-left:0;border-top:1px solid rgba(255,255,255,.24)}
  .hsteps{grid-template-columns:1fr}
  .hsteps div+div{border-left:0;border-top:1px solid var(--line)}
}
.costs{margin-top:22px;border-left:4px solid #C6382B;padding:4px 0 4px 20px;max-width:64ch}
.costs .k{font-family:var(--mono);font-size:13px;letter-spacing:0.113em;text-transform:uppercase;color:#8E2B21;font-weight:700}
.costs p{font-family:var(--read);font-size:17px;line-height:1.55;color:var(--ink);margin-top:7px}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;border:1px solid var(--line);max-width:none}
.quick>div{padding:16px 20px;border-right:1px solid var(--line)}
.quick>div:last-child{border-right:0}
.quick .qk{font-family:var(--mono);font-size:13px;letter-spacing:0.108em;text-transform:uppercase;color:var(--water);font-weight:700}
.quick p{font-size:16px;line-height:1.45;color:var(--ink2);margin-top:6px;font-weight:300}
.story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}
.story .in{max-width:70ch}
.story .sk{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;text-transform:uppercase;color:var(--muted)}
.story h3{font-family:var(--disp);font-weight:800;font-size:clamp(20px,2.6vw,26px);letter-spacing:-.03em;margin-top:8px}
.story p{font-family:var(--read);font-size:17.5px;line-height:1.6;color:var(--ink);margin-top:12px}
@media(max-width:820px){.quick{grid-template-columns:1fr}.quick>div{border-right:0;border-bottom:1px solid var(--line)}.quick>div:last-child{border-bottom:0}}
.sendbar{background:var(--ink);color:#fff;padding:34px 0}
.sendbar .k{font-family:var(--mono);font-size:13px;letter-spacing:0.113em;text-transform:uppercase;color:#7FC5EC;font-weight:700}
.sendbar h3{font-family:var(--disp);font-weight:800;font-size:clamp(19px,2.4vw,24px);letter-spacing:-.03em;margin-top:7px;color:#fff}
.sendbar p{font-size:16.5px;line-height:1.55;color:#C9D4DC;margin-top:9px;max-width:62ch;font-weight:300}
.sendbar a.go{display:inline-block;margin-top:16px;background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:15.5px;padding:12px 22px;border-radius:2px}
.conf{margin-top:22px;border-left:4px solid #1E7A45;padding:4px 0 4px 20px;max-width:64ch}
.conf .k{font-family:var(--mono);font-size:13px;letter-spacing:0.113em;text-transform:uppercase;color:#1E7A45;font-weight:700}
.conf p{font-family:var(--read);font-size:17px;line-height:1.55;color:var(--ink);margin-top:7px}
.phero{background:var(--paper);padding:30px 0 56px}
.phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em;
line-height:1.05;max-width:19ch}
.phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:56ch}
/* certificate block — the thing that decides the sale */
.cert{background:var(--ink);color:#fff;border-top:6px solid var(--sky)}
.cert .k{font-family:var(--mono);font-size:13px;letter-spacing:0.142em;text-transform:uppercase;color:#7FC5EC}
.cert h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,3.3vw,36px);letter-spacing:-.04em;
margin-top:10px;line-height:1.1;max-width:22ch}
.cert p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:58ch}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border:1px solid rgba(255,255,255,.24)}
.cgrid div{padding:24px 24px}
.cgrid div+div{border-left:1px solid rgba(255,255,255,.24)}
.cgrid h4{font-family:var(--disp);font-weight:800;font-size:17.5px}
.cgrid h3{font-family:var(--disp);font-weight:800;font-size:17.5px}
.cgrid p{color:#B8C2C9;font-size:16px;margin-top:9px}
.cert .send{font-family:var(--mono);font-size:13px;color:#8A959C;margin-top:24px}
.cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:32px;border:1px solid var(--line)}
.honest{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water);
padding:30px 32px;margin-top:26px;max-width:76ch}
.hcard h3{font-family:var(--disp);font-weight:800;font-size:21px;letter-spacing:-.025em}
.hcard p{color:var(--ink2);font-size:17px;font-weight:300;margin-top:14px}
.trades{border-top:1px solid var(--line)}
.ccdc{background:var(--water);color:#fff}
.ccdc h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.12;max-width:26ch}
.ccdc p{color:#EAF3FA;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.ccdc .g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.ccdc .g div{border:1px solid rgba(255,255,255,.34);padding:20px}
.ccdc .g h4{font-family:var(--disp);font-weight:700;font-size:16.5px}
.ccdc .g h3{font-family:var(--disp);font-weight:700;font-size:16.5px}
.ccdc .g p{color:#EAF3FA;font-size:16px;margin-top:8px}
@media(max-width:900px){
  .cgrid{grid-template-columns:1fr}
  .cgrid div+div{border-left:0;border-top:1px solid rgba(255,255,255,.24)}
  .cov{grid-template-columns:1fr}
  .cov div:nth-child(odd){border-right:0}
  .cov div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .tlist{grid-template-columns:1fr 1fr}
  .tlist span:nth-child(4n){border-right:1px solid var(--line)}
  .tlist span:nth-child(2n){border-right:0}
  .ccdc .g{grid-template-columns:1fr}
}
.answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch;border-left:4px solid var(--sky);padding-left:18px}
.sec-k{font-family:var(--mono);font-size:13px;letter-spacing:0.124em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
/* ---- A&E page-specific ---- */
.crumb{font-family:var(--mono);font-size:13px;letter-spacing:0.088em;text-transform:uppercase;
color:var(--muted);padding:22px 0 0}
.phero{background:var(--paper);padding:30px 0 60px}
.pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:34px;letter-spacing:-.035em;
color:var(--ink);line-height:1;margin-bottom:5px}
.phero .cta{display:inline-block;margin-top:32px;background:var(--ink);color:#fff;font-family:var(--disp);
font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
section{padding:64px 0}
h2.sh{font-family:var(--disp);font-weight:800;font-size:clamp(25px,3.3vw,36px);letter-spacing:-.035em;
line-height:1.1;max-width:22ch}
.lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:62ch}
.prog{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;
border:1px solid var(--line);background:var(--paper)}
.pcell{padding:28px 26px}
.pcell+.pcell{border-left:1px solid var(--line)}
.pcell .n{font-family:var(--mono);font-size:13px;letter-spacing:0.102em;color:var(--muted);text-transform:uppercase}
.pcell h3{font-family:var(--disp);font-weight:800;font-size:19px;margin-top:9px;letter-spacing:-.02em}
.pcell p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:10px}
.cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:34px;border:1px solid var(--line)}
.cov div{padding:22px 24px;border-bottom:1px solid var(--line)}
.cov h4{font-family:var(--disp);font-weight:700;font-size:16.5px}
.cov h3{font-family:var(--disp);font-weight:700;font-size:16.5px}
.cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:6px}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:start}
.callout{background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--sky);padding:28px}
.callout h3{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.02em}
.callout p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:12px}
.disc{background:var(--water);color:#fff}
.disc h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.12;max-width:24ch}
.disc p{color:#EAF3FA;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.disc .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.disc .chips span{font-family:var(--disp);font-weight:600;font-size:14.5px;border:1px solid rgba(255,255,255,.42);
padding:8px 14px;color:#fff}
.who{border-top:1px solid var(--line)}
.wlist{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border:1px solid var(--line)}
.wlist span{padding:16px 18px;font-family:var(--disp);font-weight:600;font-size:15.5px;
border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.wlist span:nth-child(4n){border-right:0}
.endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em;
max-width:20ch;margin:0 auto}
.endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:52ch;margin-left:auto;margin-right:auto}
@media(max-width:900px){
  .pgrid{grid-template-columns:1fr}
  .pcell+.pcell{border-left:0;border-top:1px solid var(--line)}
  .cov{grid-template-columns:1fr}
  .cov div:nth-child(odd){border-right:0}
  .cov div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .split{grid-template-columns:1fr;gap:32px}
  .wlist{grid-template-columns:1fr 1fr}
  .wlist span:nth-child(4n){border-right:1px solid var(--line)}
  .wlist span:nth-child(2n){border-right:0}
}
.port{background:var(--water);color:#fff}
.port h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.12;max-width:26ch}
.port p{color:#EAF3FA;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.port .g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.port .g div{border:1px solid rgba(255,255,255,.34);padding:20px}
.port .g h4{font-family:var(--disp);font-weight:700;font-size:16.5px}
.port .g h3{font-family:var(--disp);font-weight:700;font-size:16.5px}
.port .g p{color:#EAF3FA;font-size:16px;margin-top:8px}
.hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water);
padding:30px 32px;margin-top:24px;max-width:76ch}
.wlist{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:28px;border:1px solid var(--line)}
.wlist span{padding:16px 20px;font-family:var(--disp);font-weight:600;font-size:15.5px;
border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.wlist span:nth-child(3n){border-right:0}
.claim{background:var(--ink);color:#fff}
.claim h2{font-family:var(--disp);font-weight:800;font-size:clamp(23px,3vw,32px);letter-spacing:-.035em;max-width:24ch}
.claim p{color:#C2CCD3;font-size:17.5px;font-weight:300;margin-top:14px;max-width:58ch}
.claim ul{list-style:none;margin-top:22px;max-width:60ch}
.claim li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:16px;color:#DDE5EA;font-weight:300}
.claim li:last-child{border-bottom:0}
.claim li:before{content:"\2014";color:#7FC5EC;margin-right:10px}
@media(max-width:900px){
  .cov{grid-template-columns:1fr}
  .cov div:nth-child(odd){border-right:0}
  .cov div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .port .g{grid-template-columns:1fr}
  .wlist{grid-template-columns:1fr 1fr}
  .wlist span:nth-child(3n){border-right:1px solid var(--line)}
  .wlist span:nth-child(2n){border-right:0}
}
.phero{background:var(--paper);padding:30px 0 58px}
.pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:30px;letter-spacing:-.035em;
color:var(--ink);line-height:1.1;margin-bottom:5px}
section{padding:62px 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px;border:1px solid var(--line)}
.step{padding:26px 24px}
.step+.step{border-left:1px solid var(--line)}
.step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.102em;color:var(--water);text-transform:uppercase}
.step h3{font-family:var(--disp);font-weight:800;font-size:18px;margin-top:9px;letter-spacing:-.02em}
.step p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:9px}
.tiers{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:32px}
.tcard{background:var(--paper);border:1px solid var(--line);padding:28px}
.tcard.write{border-top:5px solid var(--open)}
.tcard.look{border-top:5px solid var(--sky)}
.tcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
.tcard .k{font-family:var(--mono);font-size:13px;letter-spacing:0.102em;text-transform:uppercase;color:var(--muted)}
.tcard p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:12px}
.tcard ul{list-style:none;margin-top:18px}
.tcard li{font-family:var(--disp);font-weight:600;font-size:16px;padding:10px 0;
border-bottom:1px solid var(--line)}
.tcard li:last-child{border-bottom:0}
.tcard li:before{content:"\2014";color:var(--water);margin-right:10px}
.why{background:var(--water);color:#fff}
.why h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.12;max-width:26ch}
.why p{color:#EAF3FA;font-size:18px;font-weight:300;margin-top:16px;max-width:62ch}
.why .g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}
.why .g div{border:1px solid rgba(255,255,255,.34);padding:20px}
.why .g h4{font-family:var(--disp);font-weight:700;font-size:16.5px}
.why .g h3{font-family:var(--disp);font-weight:700;font-size:16.5px}
.why .g p{color:#EAF3FA;font-size:16px;margin-top:8px}
@media(max-width:900px){
  .steps{grid-template-columns:1fr}
  .step+.step{border-left:0;border-top:1px solid var(--line)}
  .tgrid{grid-template-columns:1fr}
  .why .g{grid-template-columns:1fr}
}
.calcwrap{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0}
.calc{background:var(--paper);border:1px solid var(--line);border-top:6px solid #25794A}
.calc .in{padding:28px 30px 32px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fld{margin-top:18px}
.fld label{display:block;font-family:var(--disp);font-weight:700;font-size:15.5px;margin-bottom:5px}
.fld .hint{font-size:13.5px;color:var(--muted);font-weight:300;margin-bottom:8px}
.fld input[type=number]{width:100%;font-family:var(--disp);font-size:19px;padding:12px 14px;
border:1px solid var(--line);background:#fff;color:var(--ink)}
.fld input:focus{outline:0;border-color:var(--water)}
.calcbtns{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.calcbtns button{font-family:var(--disp);font-weight:800;font-size:16px;padding:13px 24px;border:0;cursor:pointer;border-radius:2px}
.bgo{background:#C6382B;color:#fff}
.brs{background:none;border:1px solid var(--line);color:var(--ink)}
.out{border-top:1px solid var(--line);padding:28px 30px 32px;display:none}
.bignum{font-family:var(--disp);font-weight:900;font-size:clamp(38px,6vw,62px);letter-spacing:-.04em;
color:#1E6B45;line-height:1;margin-top:6px}
.outlbl{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;text-transform:uppercase;color:var(--muted)}
.brk{margin-top:22px;border:1px solid var(--line)}
.brk div{display:flex;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--line);font-size:15.5px}
.brk div:last-child{border-bottom:0}
.brk .m{font-family:var(--disp);font-weight:700}
.brk .sub{color:var(--muted)}
.brk .tot{background:var(--stone);font-family:var(--disp);font-weight:800}
.caveat{font-size:14.5px;color:var(--ink2);font-weight:300;margin-top:18px;border-left:3px solid var(--sky);padding-left:14px}
@media(max-width:640px){.row2{grid-template-columns:1fr}}
.bhero{background:var(--paper);padding:30px 0 0}
.bhero .eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:0.148em;text-transform:uppercase;
color:var(--water);margin-bottom:14px}
.bhero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em;
line-height:1.05;max-width:18ch}
.bhero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:54ch}
/* the contact card — the single most important element */
.card{display:grid;grid-template-columns:1.05fr .95fr;margin-top:36px;border:1px solid var(--line)}
.cleft{padding:32px 34px}
.cright{border-left:1px solid var(--line);background:var(--stone);padding:32px 34px}
.cleft .lbl,.cright .lbl{font-family:var(--mono);font-size:13px;letter-spacing:0.113em;
text-transform:uppercase;color:var(--muted)}
.addr{font-family:var(--disp);font-weight:800;font-size:23px;letter-spacing:-.025em;margin-top:10px;line-height:1.25}
.addr span{display:block;font-weight:400;font-size:18px;color:var(--ink2);margin-top:4px}
.telbig{display:inline-block;font-family:var(--disp);font-weight:900;font-size:30px;letter-spacing:-.03em;
color:var(--water);margin-top:22px}
.telbig:hover{color:var(--ink)}
.cbtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.cbtns a{font-family:var(--disp);font-weight:800;font-size:15.5px;padding:13px 20px;border-radius:2px}
.cbtns .p{background:#C6382B;color:#fff}
.cbtns .p:hover{background:#A82E22}
.cbtns .s{border:1px solid var(--line);color:var(--ink)}
.cbtns .s:hover{background:var(--stone)}
.access{font-family:var(--mono);font-size:13px;letter-spacing:0.085em;text-transform:uppercase;
color:var(--muted);margin-top:22px;line-height:1.9}
table.hrs{width:100%;border-collapse:collapse;margin-top:12px}
table.hrs td{padding:8px 0;border-bottom:1px solid var(--line);font-size:16px}
table.hrs td:first-child{font-family:var(--disp);font-weight:700}
table.hrs td:last-child{text-align:right;font-family:var(--mono);font-size:14.5px;color:var(--ink2)}
table.hrs tr:last-child td{border-bottom:0}
.hnote{font-family:var(--mono);font-size:13px;letter-spacing:0.068em;text-transform:uppercase;
color:var(--muted);margin-top:16px;line-height:1.8}
section{padding:58px 0}
h2.sh{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.1;max-width:24ch}
.svc{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;
border:1px solid var(--line);background:var(--paper)}
.sgrid div{padding:24px 24px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.sgrid div:nth-child(3n){border-right:0}
.sgrid div:nth-last-child(-n+3){border-bottom:0}
.sgrid h4{font-family:var(--disp);font-weight:700;font-size:17px}
.sgrid h3{font-family:var(--disp);font-weight:700;font-size:17px}
.sgrid p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
.walk{border-top:1px solid var(--line)}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}
.wgrid div{border-left:3px solid var(--sky);padding-left:18px}
.wgrid h4{font-family:var(--disp);font-weight:800;font-size:17px}
.wgrid h3{font-family:var(--disp);font-weight:800;font-size:17px}
.wgrid p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:8px}
.other{background:var(--ink);color:#fff}
.other h2{font-family:var(--disp);font-weight:800;font-size:clamp(23px,3vw,32px);letter-spacing:-.035em}
.other p{color:#C2CCD3;font-size:17px;font-weight:300;margin-top:14px;max-width:56ch}
.ogrid{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border:1px solid rgba(255,255,255,.24)}
.ogrid a{padding:24px 26px;display:block}
.ogrid a+a{border-left:1px solid rgba(255,255,255,.24)}
.ogrid a:hover{background:var(--water)}
.ogrid h4{font-family:var(--disp);font-weight:800;font-size:19px}
.ogrid h3{font-family:var(--disp);font-weight:800;font-size:19px}
.ogrid .ad{color:#B8C2C9;font-size:15px;font-weight:300;margin-top:8px}
.ogrid .tl{font-family:var(--mono);font-size:15px;color:#fff;margin-top:10px}
@media(max-width:900px){
  .card{grid-template-columns:1fr}
  .cright{border-left:0;border-top:1px solid var(--line)}
  .sgrid{grid-template-columns:1fr}
  .sgrid div{border-right:0}
  .sgrid div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .wgrid{grid-template-columns:1fr;gap:20px}
  .ogrid{grid-template-columns:1fr}
  .ogrid a+a{border-left:0;border-top:1px solid rgba(255,255,255,.24)}
}
.phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em;
line-height:1.05;max-width:18ch}
/* emergency call block — the most important element on the page */
.first{background:var(--ink);color:#fff;margin-top:34px;border-top:6px solid var(--alert)}
.first .in{padding:30px 32px}
.first .k{font-family:var(--mono);font-size:13px;letter-spacing:0.142em;text-transform:uppercase;color:#F0958A}
.first h2{font-family:var(--disp);font-weight:900;font-size:clamp(23px,3vw,32px);letter-spacing:-.035em;
margin-top:10px;line-height:1.12}
.first p{color:#C2CCD3;font-size:17px;font-weight:300;margin-top:14px;max-width:58ch}
.calls{display:grid;grid-template-columns:repeat(3,1fr);margin-top:26px;border:1px solid rgba(255,255,255,.24)}
.calls a{padding:20px 22px;display:block}
.calls a+a{border-left:1px solid rgba(255,255,255,.24)}
.calls a:hover{background:var(--water)}
.calls .b{font-family:var(--disp);font-weight:700;font-size:15.5px;color:#fff}
.calls .t{font-family:var(--mono);font-size:19px;color:#fff;margin-top:8px;letter-spacing:-.02em}
.calls .h{font-family:var(--mono);font-size:13px;color:#98A3AA;margin-top:6px}
.first .after{font-family:var(--mono);font-size:13px;color:#98A3AA;margin-top:20px}
.flow{margin-top:34px;border:1px solid var(--line)}
.frow{display:grid;grid-template-columns:74px 1fr;border-bottom:1px solid var(--line)}
.frow:last-child{border-bottom:0}
.fnum{background:var(--stone);border-right:1px solid var(--line);display:flex;align-items:center;
justify-content:center;font-family:var(--disp);font-weight:900;font-size:24px;color:var(--water)}
.fbody{padding:22px 26px}
.fbody h3{font-family:var(--disp);font-weight:800;font-size:18.5px;letter-spacing:-.02em}
.fbody p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:8px;max-width:62ch}
.fbody .you{font-family:var(--mono);font-size:13px;letter-spacing:0.102em;text-transform:uppercase;
color:var(--muted);margin-top:12px}
.fbody .you b{color:var(--water)}
.doblock{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dogrid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}
.docard{background:var(--paper);border:1px solid var(--line);padding:26px}
.docard.d{border-top:5px solid var(--open)}
.docard.n{border-top:5px solid var(--alert)}
.docard h3{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.02em}
.docard ul{list-style:none;margin-top:16px}
.docard li{font-size:16px;color:var(--ink2);font-weight:300;padding:9px 0;border-bottom:1px solid var(--line)}
.docard li:last-child{border-bottom:0}
.docard li:before{content:"\2014";color:var(--water);margin-right:9px}
.lines{border-top:1px solid var(--line)}
.lgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:30px;border:1px solid var(--line)}
.lgrid div{padding:24px 26px;border-bottom:1px solid var(--line)}
.lgrid div:nth-child(odd){border-right:1px solid var(--line)}
.lgrid div:nth-last-child(-n+2){border-bottom:0}
.lgrid h4{font-family:var(--disp);font-weight:700;font-size:17px}
.lgrid h3{font-family:var(--disp);font-weight:700;font-size:17px}
.lgrid p{color:var(--muted);font-size:16px;font-weight:300;margin-top:8px}
.promise{background:var(--water);color:#fff}
.promise h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.12;max-width:24ch}
.promise p{color:#EAF3FA;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.promise .g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.promise .g div{border:1px solid rgba(255,255,255,.34);padding:20px}
.promise .g h4{font-family:var(--disp);font-weight:700;font-size:16.5px}
.promise .g h3{font-family:var(--disp);font-weight:700;font-size:16.5px}
.promise .g p{color:#EAF3FA;font-size:16px;margin-top:8px}
@media(max-width:900px){
  .calls{grid-template-columns:1fr}
  .calls a+a{border-left:0;border-top:1px solid rgba(255,255,255,.24)}
  .dogrid{grid-template-columns:1fr}
  .lgrid{grid-template-columns:1fr}
  .lgrid div:nth-child(odd){border-right:0}
  .lgrid div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .promise .g{grid-template-columns:1fr}
}
.pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:32px;letter-spacing:-.035em;
color:var(--ink);line-height:1.1;margin-bottom:5px}
/* credentials — the lead asset */
.cred{background:var(--ink);color:#fff}
.cred h2{font-family:var(--disp);font-weight:900;font-size:clamp(25px,3.4vw,38px);letter-spacing:-.04em;
line-height:1.1;max-width:22ch}
.cred .intro{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:34px;border:1px solid rgba(255,255,255,.24)}
.cgrid div{padding:26px 24px}
.cgrid .k{font-family:var(--mono);font-size:13px;letter-spacing:0.113em;text-transform:uppercase;color:#7FC5EC}
.cgrid h3{font-family:var(--disp);font-weight:800;font-size:19px;margin-top:10px;letter-spacing:-.025em}
.cgrid p{color:#B8C2C9;font-size:16px;font-weight:300;margin-top:10px}
.cred .fine{font-family:var(--mono);font-size:13px;color:#8A959C;margin-top:24px}
.story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tl{margin-top:32px;border-left:2px solid var(--line);padding-left:0}
.tli{position:relative;padding:0 0 30px 30px}
.tli:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;
background:var(--water);border:2px solid var(--stone)}
.tli:last-child{padding-bottom:0}
.tli h3{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:-.02em}
.tli p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:8px;max-width:62ch}
.vals{border-top:1px solid var(--line)}
.vgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:30px;border:1px solid var(--line)}
.vgrid div{padding:26px 28px;border-bottom:1px solid var(--line)}
.vgrid div:nth-child(odd){border-right:1px solid var(--line)}
.vgrid div:nth-last-child(-n+2){border-bottom:0}
.vgrid h4{font-family:var(--disp);font-weight:800;font-size:18px;letter-spacing:-.02em}
.vgrid h3{font-family:var(--disp);font-weight:800;font-size:18px;letter-spacing:-.02em}
.vgrid p{color:var(--ink2);font-size:16px;font-weight:300;margin-top:9px}
.langs{background:var(--water);color:#fff}
.langs h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;
line-height:1.12;max-width:24ch}
.langs p{color:#EAF3FA;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.langs .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.langs .chips span{font-family:var(--disp);font-weight:600;font-size:16px;
border:1px solid rgba(255,255,255,.42);padding:9px 16px}
.brs{border-top:1px solid var(--line)}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;border:1px solid var(--line)}
.bgrid div{padding:26px 24px}
.bgrid div+div{border-left:1px solid var(--line)}
.bgrid h4{font-family:var(--disp);font-weight:800;font-size:19px}
.bgrid h3{font-family:var(--disp);font-weight:800;font-size:19px}
.bgrid .ad{color:var(--ink2);font-size:15.5px;font-weight:300;margin-top:10px}
.bgrid .tel{font-family:var(--mono);font-size:16px;color:var(--water);margin-top:12px;display:block}
.bgrid .note{font-family:var(--mono);font-size:13px;letter-spacing:0.085em;text-transform:uppercase;
color:var(--muted);margin-top:12px}
@media(max-width:900px){
  .cgrid{grid-template-columns:1fr}
  .cgrid div+div{border-left:0;border-top:1px solid rgba(255,255,255,.24)}
  .vgrid{grid-template-columns:1fr}
  .vgrid div:nth-child(odd){border-right:0}
  .vgrid div:nth-last-child(2){border-bottom:1px solid var(--line)}
  .bgrid{grid-template-columns:1fr}
  .bgrid div+div{border-left:0;border-top:1px solid var(--line)}
}
.mockbar{background:#FFF7E0;border-bottom:1px solid #E0C36A;padding:12px var(--gut);
font-size:13.5px;font-family:var(--disp);text-align:center}
.mockbar b{font-weight:800}
/* the three doors */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border:1px solid var(--line)}
.eng{padding:32px 30px 36px;background:var(--paper)}
.eng+.eng{border-left:1px solid var(--line)}
.eng.i{border-top:6px solid var(--sky)}
.eng.b{border-top:6px solid var(--ink)}
.eng.l{border-top:6px solid var(--open)}
.eng .k{font-family:var(--mono);font-size:13px;letter-spacing:0.113em;text-transform:uppercase;color:var(--muted)}
.eng h3{font-family:var(--disp);font-weight:900;font-size:25px;letter-spacing:-.03em;margin-top:9px}
.eng .one{font-family:var(--read);font-size:17px;color:var(--ink2);margin-top:12px;min-height:3.2em}
.eng ul{list-style:none;margin-top:18px}
.eng li{font-size:16px;color:var(--ink2);font-weight:300;padding:9px 0;border-bottom:1px solid var(--line)}
.eng li:before{content:"\2014";color:var(--water);margin-right:9px}
.eng li:last-child{border-bottom:0}
.eng .btn{display:inline-block;margin-top:22px;font-family:var(--disp);font-weight:800;font-size:15.5px;
padding:13px 22px;border-radius:2px}
.eng.i .btn{background:var(--water);color:#fff}
.eng.b .btn{background:var(--ink);color:#fff}
.eng.l .btn{background:#25794A;color:#fff}
.eng .time{font-family:var(--mono);font-size:13px;letter-spacing:0.085em;text-transform:uppercase;
color:var(--muted);margin-top:16px}
/* the router explainer */
.router{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rflow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:0;margin-top:32px}
.rbox{background:var(--paper);border:1px solid var(--line);padding:22px 20px;text-align:center}
.rbox .k{font-family:var(--mono);font-size:13px;letter-spacing:0.092em;color:var(--muted);text-transform:uppercase}
.rbox h4{font-family:var(--disp);font-weight:800;font-size:17px;margin-top:8px}
.rbox h3{font-family:var(--disp);font-weight:800;font-size:17px;margin-top:8px}
.rbox p{font-size:16px;color:var(--ink2);font-weight:300;margin-top:7px}
.arw{font-family:var(--mono);color:var(--water);font-size:20px;padding:0 14px;text-align:center}
/* instant lane screen preview */
.lane{background:var(--ink);color:#fff}
.lane h2{font-family:var(--disp);font-weight:900;font-size:clamp(25px,3.4vw,38px);letter-spacing:-.04em;
line-height:1.1;max-width:22ch}
.lane .intro{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.screens{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.scr{background:#17232E;border:1px solid #2A3946;padding:20px}
.scr .n{font-family:var(--mono);font-size:13px;letter-spacing:0.108em;color:#7FC5EC;text-transform:uppercase}
.scr h4{font-family:var(--disp);font-weight:800;font-size:17px;margin-top:8px}
.scr h3{font-family:var(--disp);font-weight:800;font-size:17px;margin-top:8px}
.scr p{color:#AFBAC2;font-size:16px;font-weight:300;margin-top:9px}
.scr.hero-scr{border-color:var(--sky);background:#0F2B3E}
.rangebox{background:#fff;color:var(--ink);padding:18px;margin-top:14px;border-radius:2px}
.rangebox .lbl{font-family:var(--mono);font-size:13px;letter-spacing:0.088em;color:var(--muted);text-transform:uppercase}
.rangebox .amt{font-family:var(--disp);font-weight:900;font-size:30px;letter-spacing:-.03em;margin-top:6px}
.rangebox .amt span{font-size:16px;font-weight:600;color:var(--muted)}
.rangebox .note{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.45}
.rangebox .ex{display:inline-block;font-family:var(--mono);font-size:13px;letter-spacing:0.069em;
background:#FFF7E0;border:1px solid #E0C36A;padding:2px 6px;margin-top:10px}
.lane .flag{font-family:var(--mono);font-size:13px;color:#8A959C;margin-top:26px}
.bespoke{border-top:1px solid var(--line)}
.bgrid div{padding:24px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.bgrid div:nth-child(3n){border-right:0}
.bgrid div:nth-last-child(-n+3){border-bottom:0}
.bgrid h4{font-family:var(--disp);font-weight:700;font-size:17px}
.bgrid h3{font-family:var(--disp);font-weight:700;font-size:17px}
.bgrid p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
.life{background:#1E6B45;color:#fff}
.life h2{font-family:var(--disp);font-weight:800;font-size:clamp(24px,3.2vw,34px);letter-spacing:-.035em;max-width:24ch}
.life p{color:#D6EFE1;font-size:18px;font-weight:300;margin-top:16px;max-width:60ch}
.life .g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.life .g div{border:1px solid rgba(255,255,255,.34);padding:20px}
.life .g h4{font-family:var(--disp);font-weight:700;font-size:16.5px}
.life .g h3{font-family:var(--disp);font-weight:700;font-size:16.5px}
.life .g p{color:#CDE9DA;font-size:16px;margin-top:8px}
.bound{background:var(--stone);border-top:1px solid var(--line)}
.bcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water);
padding:28px 30px;margin-top:24px;max-width:78ch}
.bcard h3{font-family:var(--disp);font-weight:800;font-size:20px}
.bcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
@media(max-width:900px){
  .three{grid-template-columns:1fr}
  .eng+.eng{border-left:0;border-top:1px solid var(--line)}
  .rflow{grid-template-columns:1fr}
  .arw{padding:10px 0}
  .screens{grid-template-columns:1fr}
  .bgrid{grid-template-columns:1fr}
  .bgrid div{border-right:0}
  .life .g{grid-template-columns:1fr}
}

/* ---------------------------------------------------------------
   Page-scoped overrides. A few selectors are defined differently on
   different pages — .steps is three columns on the homepage and four
   on the declined page. Merged into one sheet the last definition won,
   and the homepage inherited the wrong grid. These restore each page's
   own values, scoped by the body class the theme sets from the page's
   source slug. Only pages that actually differ from the winning rule
   are listed.
   .why is the same collision: a section component on the declined page and
   a helper paragraph on the snapshot page. Scoped at L345, not here.
   --------------------------------------------------------------- */

/* home */
body.ss-src-home .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-home .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-home .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-home .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-home .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-home .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* snapshot */
body.ss-src-snapshot .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-snapshot .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-snapshot .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-snapshot .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-snapshot .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-snapshot .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-snapshot .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-snapshot .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-snapshot .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-snapshot .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-snapshot .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-snapshot .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-snapshot .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-snapshot .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-snapshot .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-snapshot .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-snapshot .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-snapshot .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-snapshot .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-snapshot .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-snapshot .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-snapshot .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-snapshot .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-snapshot .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-snapshot .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-snapshot .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* howwework */
body.ss-src-howwework .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-howwework .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-howwework .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-howwework .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-howwework .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-howwework .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-howwework .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-howwework .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-howwework .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-howwework .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-howwework .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-howwework .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-howwework .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-howwework .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-howwework .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-howwework .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-howwework .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-howwework .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-howwework .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-howwework .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-howwework .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-howwework .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-howwework .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-howwework .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-howwework .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-howwework .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* guides */
body.ss-src-guides .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-guides .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-guides .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-guides .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-guides .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-guides .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-guides .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-guides .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-guides .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-guides .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-guides .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-guides .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-guides .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-guides .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-guides .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-guides .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-guides .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-guides .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-guides .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-guides .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-guides .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-guides .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-guides .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-guides .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-guides .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-guides .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* business */
body.ss-src-business .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-business .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-business .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-business .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-business .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-business .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-business .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-business .endcta p{color:#EAF3FA;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-business .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-business .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-business .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-business .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:58ch}
body.ss-src-business .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-business .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-business .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-business .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-business .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-business .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* buildersrisk */
body.ss-src-buildersrisk .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-buildersrisk .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-buildersrisk .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-buildersrisk .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-buildersrisk .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-buildersrisk .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-buildersrisk .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-buildersrisk .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-buildersrisk .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-buildersrisk .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-buildersrisk .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-buildersrisk .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-buildersrisk .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-buildersrisk .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-buildersrisk .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-buildersrisk .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-buildersrisk .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-buildersrisk .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-buildersrisk .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-buildersrisk .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-buildersrisk .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-buildersrisk .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-buildersrisk .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-buildersrisk .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-buildersrisk .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-buildersrisk .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-buildersrisk .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* contractors */
body.ss-src-contractors .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-contractors .cgrid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border:1px solid rgba(255,255,255,.24)}
body.ss-src-contractors .cgrid div{padding:24px 24px}
body.ss-src-contractors .cgrid h3{font-family:var(--disp);font-weight:800;font-size:17.5px}
body.ss-src-contractors .cgrid p{color:#B8C2C9;font-size:16px;margin-top:9px}
body.ss-src-contractors .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:32px;border:1px solid var(--line)}
body.ss-src-contractors .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-contractors .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-contractors .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-contractors .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-contractors .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-contractors .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-contractors .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-contractors .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-contractors .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-contractors .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:30px 32px;margin-top:26px;max-width:76ch}
body.ss-src-contractors .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-contractors .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-contractors .phero{background:var(--paper);padding:30px 0 56px}
body.ss-src-contractors .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-contractors .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:19ch}
body.ss-src-contractors .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-contractors .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-contractors .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-contractors .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-contractors .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-contractors .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-contractors .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* surety */
body.ss-src-surety .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-surety .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-surety .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-surety .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-surety .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-surety .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-surety .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-surety .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-surety .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-surety .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-surety .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-surety .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-surety .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-surety .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-surety .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-surety .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-surety .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-surety .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-surety .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-surety .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-surety .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-surety .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-surety .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-surety .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-surety .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-surety .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-surety .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* liability */
body.ss-src-liability .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-liability .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-liability .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-liability .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-liability .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-liability .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-liability .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-liability .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-liability .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-liability .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-liability .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-liability .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-liability .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-liability .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-liability .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-liability .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-liability .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-liability .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-liability .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-liability .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-liability .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-liability .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-liability .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-liability .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-liability .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-liability .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-liability .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* umbrella */
body.ss-src-umbrella .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-umbrella .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-umbrella .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-umbrella .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-umbrella .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-umbrella .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-umbrella .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-umbrella .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-umbrella .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-umbrella .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-umbrella .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-umbrella .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-umbrella .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-umbrella .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-umbrella .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-umbrella .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-umbrella .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-umbrella .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-umbrella .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-umbrella .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-umbrella .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-umbrella .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-umbrella .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-umbrella .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-umbrella .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-umbrella .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-umbrella .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* property */
body.ss-src-property .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-property .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-property .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-property .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-property .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-property .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-property .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-property .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-property .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-property .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-property .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-property .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-property .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-property .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-property .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-property .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-property .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-property .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-property .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-property .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-property .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-property .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-property .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-property .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-property .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-property .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-property .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* bi */
body.ss-src-bi .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-bi .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-bi .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-bi .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-bi .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-bi .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-bi .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-bi .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-bi .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-bi .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-bi .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-bi .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-bi .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-bi .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-bi .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-bi .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-bi .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-bi .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-bi .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-bi .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-bi .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-bi .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-bi .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-bi .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-bi .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-bi .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-bi .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* equip */
body.ss-src-equip .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-equip .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-equip .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-equip .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-equip .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-equip .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-equip .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-equip .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-equip .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-equip .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-equip .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-equip .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-equip .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-equip .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-equip .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-equip .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-equip .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-equip .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-equip .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-equip .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-equip .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-equip .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-equip .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-equip .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-equip .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-equip .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-equip .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* crime */
body.ss-src-crime .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-crime .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-crime .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-crime .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-crime .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-crime .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-crime .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-crime .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-crime .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-crime .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-crime .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-crime .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-crime .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-crime .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-crime .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-crime .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-crime .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-crime .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-crime .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-crime .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-crime .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-crime .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-crime .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-crime .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-crime .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-crime .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-crime .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* enviro */
body.ss-src-enviro .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-enviro .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-enviro .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-enviro .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-enviro .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-enviro .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-enviro .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-enviro .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-enviro .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-enviro .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-enviro .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-enviro .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-enviro .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-enviro .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-enviro .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-enviro .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-enviro .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-enviro .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-enviro .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-enviro .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-enviro .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-enviro .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-enviro .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-enviro .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-enviro .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-enviro .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-enviro .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* ae */
body.ss-src-ae .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-ae .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-ae .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-ae .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:34px;letter-spacing:-.035em; color:var(--ink);line-height:1;margin-bottom:5px}
body.ss-src-ae .phero{background:var(--paper);padding:30px 0 60px}
body.ss-src-ae .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-ae .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-ae .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-ae .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-ae .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-ae .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-ae .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-ae .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}
body.ss-src-ae .wlist{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-ae .wlist span{padding:16px 18px;font-family:var(--disp);font-weight:600;font-size:15.5px; border-right:1px solid var(--line);border-bottom:1px solid var(--line)}

/* structural */
body.ss-src-structural .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-structural .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-structural .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-structural .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-structural .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-structural .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-structural .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-structural .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-structural .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-structural .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-structural .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-structural .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-structural .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-structural .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-structural .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-structural .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-structural .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-structural .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-structural .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-structural .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-structural .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-structural .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-structural .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-structural .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-structural .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-structural .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-structural .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* consultants */
body.ss-src-consultants .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-consultants .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-consultants .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-consultants .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-consultants .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-consultants .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-consultants .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-consultants .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-consultants .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-consultants .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-consultants .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-consultants .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-consultants .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-consultants .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-consultants .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-consultants .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-consultants .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-consultants .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-consultants .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-consultants .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-consultants .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-consultants .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-consultants .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-consultants .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-consultants .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-consultants .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-consultants .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* manufacturing */
body.ss-src-manufacturing .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-manufacturing .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-manufacturing .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-manufacturing .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-manufacturing .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-manufacturing .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-manufacturing .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-manufacturing .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-manufacturing .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-manufacturing .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-manufacturing .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-manufacturing .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-manufacturing .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-manufacturing .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-manufacturing .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-manufacturing .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-manufacturing .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-manufacturing .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-manufacturing .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-manufacturing .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-manufacturing .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-manufacturing .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-manufacturing .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-manufacturing .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-manufacturing .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-manufacturing .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-manufacturing .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* wholesale */
body.ss-src-wholesale .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-wholesale .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-wholesale .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-wholesale .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-wholesale .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-wholesale .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-wholesale .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-wholesale .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-wholesale .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-wholesale .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-wholesale .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-wholesale .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-wholesale .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-wholesale .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-wholesale .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-wholesale .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-wholesale .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-wholesale .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-wholesale .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-wholesale .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-wholesale .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-wholesale .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-wholesale .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-wholesale .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-wholesale .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-wholesale .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-wholesale .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* smallbiz */
body.ss-src-smallbiz .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-smallbiz .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-smallbiz .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-smallbiz .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-smallbiz .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-smallbiz .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-smallbiz .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-smallbiz .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-smallbiz .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-smallbiz .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-smallbiz .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-smallbiz .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-smallbiz .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-smallbiz .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-smallbiz .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-smallbiz .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-smallbiz .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-smallbiz .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-smallbiz .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-smallbiz .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-smallbiz .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-smallbiz .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-smallbiz .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-smallbiz .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-smallbiz .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-smallbiz .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-smallbiz .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* restaurant */
body.ss-src-restaurant .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-restaurant .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-restaurant .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-restaurant .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-restaurant .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-restaurant .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-restaurant .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-restaurant .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-restaurant .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-restaurant .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-restaurant .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-restaurant .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-restaurant .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-restaurant .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-restaurant .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-restaurant .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-restaurant .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-restaurant .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-restaurant .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-restaurant .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-restaurant .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-restaurant .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-restaurant .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-restaurant .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-restaurant .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-restaurant .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-restaurant .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* cyber */
body.ss-src-cyber .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-cyber .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-cyber .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-cyber .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-cyber .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-cyber .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-cyber .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-cyber .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-cyber .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-cyber .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-cyber .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-cyber .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-cyber .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-cyber .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-cyber .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-cyber .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-cyber .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-cyber .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-cyber .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-cyber .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-cyber .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-cyber .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-cyber .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-cyber .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-cyber .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-cyber .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-cyber .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* profcyber */
body.ss-src-profcyber .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-profcyber .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-profcyber .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-profcyber .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-profcyber .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-profcyber .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-profcyber .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-profcyber .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-profcyber .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-profcyber .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-profcyber .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-profcyber .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-profcyber .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-profcyber .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-profcyber .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-profcyber .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-profcyber .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-profcyber .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-profcyber .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-profcyber .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-profcyber .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-profcyber .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-profcyber .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-profcyber .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-profcyber .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-profcyber .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-profcyber .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* marine */
body.ss-src-marine .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-marine .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-marine .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-marine .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-marine .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-marine .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-marine .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-marine .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-marine .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-marine .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-marine .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-marine .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-marine .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-marine .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-marine .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-marine .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:19ch}
body.ss-src-marine .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-marine .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-marine .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-marine .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-marine .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-marine .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-marine .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* fleet */
body.ss-src-fleet .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-fleet .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-fleet .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-fleet .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-fleet .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-fleet .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-fleet .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-fleet .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-fleet .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-fleet .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-fleet .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-fleet .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-fleet .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-fleet .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-fleet .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-fleet .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-fleet .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-fleet .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-fleet .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-fleet .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-fleet .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-fleet .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-fleet .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-fleet .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-fleet .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-fleet .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-fleet .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* strata */
body.ss-src-strata .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-strata .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-strata .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-strata .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-strata .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-strata .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-strata .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-strata .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-strata .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-strata .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-strata .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-strata .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-strata .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-strata .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-strata .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-strata .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-strata .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-strata .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-strata .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-strata .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-strata .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-strata .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-strata .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-strata .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-strata .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-strata .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-strata .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* associations */
body.ss-src-associations .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-associations .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-associations .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-associations .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-associations .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-associations .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-associations .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-associations .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-associations .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-associations .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-associations .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-associations .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-associations .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-associations .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-associations .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-associations .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-associations .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-associations .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-associations .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-associations .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-associations .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-associations .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-associations .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-associations .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-associations .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-associations .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-associations .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* nonprofit */
body.ss-src-nonprofit .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-nonprofit .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-nonprofit .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-nonprofit .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-nonprofit .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-nonprofit .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-nonprofit .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-nonprofit .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-nonprofit .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-nonprofit .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-nonprofit .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-nonprofit .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-nonprofit .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-nonprofit .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-nonprofit .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-nonprofit .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-nonprofit .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-nonprofit .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-nonprofit .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-nonprofit .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-nonprofit .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-nonprofit .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-nonprofit .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-nonprofit .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-nonprofit .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-nonprofit .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-nonprofit .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* event */
body.ss-src-event .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-event .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-event .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-event .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-event .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-event .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-event .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-event .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-event .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-event .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-event .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-event .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-event .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-event .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-event .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-event .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-event .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-event .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-event .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-event .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-event .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-event .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-event .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-event .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-event .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-event .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-event .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* declined */
body.ss-src-declined .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-declined .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-declined .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-declined .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-declined .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-declined .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-declined .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-declined .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:30px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-declined .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:19ch}
body.ss-src-declined .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-declined .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* vacant */
body.ss-src-vacant .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-vacant .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-vacant .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-vacant .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-vacant .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-vacant .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-vacant .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-vacant .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-vacant .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-vacant .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-vacant .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-vacant .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-vacant .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-vacant .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-vacant .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-vacant .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-vacant .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-vacant .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-vacant .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-vacant .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-vacant .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-vacant .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-vacant .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-vacant .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-vacant .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-vacant .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-vacant .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* personal */
body.ss-src-personal .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-personal .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-personal .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-personal .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-personal .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-personal .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-personal .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-personal .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-personal .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-personal .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-personal .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-personal .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-personal .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-personal .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-personal .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-personal .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-personal .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-personal .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-personal .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-personal .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-personal .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-personal .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-personal .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-personal .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-personal .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-personal .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* home_ins */
body.ss-src-home-ins .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-home-ins .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-home-ins .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-home-ins .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-home-ins .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-home-ins .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-home-ins .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-home-ins .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-home-ins .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-home-ins .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-home-ins .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-home-ins .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-home-ins .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-home-ins .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-home-ins .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-home-ins .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-home-ins .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-home-ins .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-home-ins .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-home-ins .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-home-ins .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-home-ins .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-home-ins .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-home-ins .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-home-ins .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-home-ins .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-home-ins .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* rental */
body.ss-src-rental .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-rental .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-rental .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-rental .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-rental .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-rental .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-rental .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-rental .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-rental .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-rental .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-rental .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-rental .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-rental .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-rental .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-rental .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-rental .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-rental .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-rental .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-rental .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-rental .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-rental .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-rental .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-rental .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-rental .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-rental .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-rental .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-rental .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* tenant */
body.ss-src-tenant .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-tenant .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-tenant .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-tenant .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-tenant .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-tenant .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-tenant .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-tenant .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-tenant .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-tenant .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-tenant .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-tenant .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-tenant .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-tenant .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-tenant .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-tenant .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-tenant .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-tenant .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-tenant .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-tenant .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-tenant .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-tenant .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-tenant .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-tenant .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-tenant .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-tenant .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-tenant .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* farm */
body.ss-src-farm .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-farm .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-farm .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-farm .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-farm .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-farm .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-farm .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-farm .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-farm .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-farm .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-farm .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-farm .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-farm .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-farm .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-farm .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-farm .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-farm .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-farm .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-farm .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-farm .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-farm .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-farm .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-farm .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-farm .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-farm .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-farm .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-farm .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* auto */
body.ss-src-auto .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-auto .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-auto .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-auto .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-auto .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-auto .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-auto .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-auto .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-auto .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-auto .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-auto .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-auto .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-auto .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-auto .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-auto .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-auto .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-auto .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-auto .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-auto .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-auto .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-auto .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-auto .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-auto .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-auto .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-auto .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-auto .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-auto .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* travel */
body.ss-src-travel .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-travel .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-travel .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-travel .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-travel .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-travel .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-travel .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-travel .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-travel .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-travel .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-travel .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-travel .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-travel .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-travel .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-travel .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-travel .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-travel .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-travel .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-travel .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-travel .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-travel .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-travel .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-travel .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-travel .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-travel .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-travel .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-travel .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* lifecalc */
body.ss-src-lifecalc .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-lifecalc .brs{background:none;border:1px solid var(--line);color:var(--ink)}
body.ss-src-lifecalc .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-lifecalc .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-lifecalc .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-lifecalc .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-lifecalc .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-lifecalc .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-lifecalc .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-lifecalc .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-lifecalc .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-lifecalc .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-lifecalc .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-lifecalc .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-lifecalc .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-lifecalc .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-lifecalc .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-lifecalc .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-lifecalc .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-lifecalc .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-lifecalc .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-lifecalc .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-lifecalc .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-lifecalc .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-lifecalc .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-lifecalc .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-lifecalc .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-lifecalc .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* lifeexp */
body.ss-src-lifeexp .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-lifeexp .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-lifeexp .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-lifeexp .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-lifeexp .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-lifeexp .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-lifeexp .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-lifeexp .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-lifeexp .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-lifeexp .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-lifeexp .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-lifeexp .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-lifeexp .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-lifeexp .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-lifeexp .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-lifeexp .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-lifeexp .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-lifeexp .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-lifeexp .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-lifeexp .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-lifeexp .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-lifeexp .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-lifeexp .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-lifeexp .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-lifeexp .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-lifeexp .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-lifeexp .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* mortlife */
body.ss-src-mortlife .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-mortlife .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-mortlife .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-mortlife .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-mortlife .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-mortlife .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-mortlife .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-mortlife .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-mortlife .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-mortlife .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-mortlife .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-mortlife .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-mortlife .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-mortlife .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-mortlife .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-mortlife .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-mortlife .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-mortlife .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-mortlife .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-mortlife .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-mortlife .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-mortlife .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-mortlife .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-mortlife .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-mortlife .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-mortlife .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-mortlife .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* lifebiz */
body.ss-src-lifebiz .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-lifebiz .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-lifebiz .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-lifebiz .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-lifebiz .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-lifebiz .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-lifebiz .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-lifebiz .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-lifebiz .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-lifebiz .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-lifebiz .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-lifebiz .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-lifebiz .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-lifebiz .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-lifebiz .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-lifebiz .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-lifebiz .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-lifebiz .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-lifebiz .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-lifebiz .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-lifebiz .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-lifebiz .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-lifebiz .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-lifebiz .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-lifebiz .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-lifebiz .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-lifebiz .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* disability */
body.ss-src-disability .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-disability .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-disability .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-disability .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-disability .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-disability .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-disability .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-disability .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-disability .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-disability .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-disability .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-disability .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-disability .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-disability .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-disability .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-disability .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-disability .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-disability .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-disability .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-disability .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-disability .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-disability .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-disability .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-disability .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-disability .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-disability .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-disability .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* critical */
body.ss-src-critical .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-critical .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-critical .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-critical .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-critical .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-critical .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-critical .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-critical .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-critical .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-critical .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-critical .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-critical .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-critical .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-critical .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-critical .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-critical .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-critical .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-critical .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-critical .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-critical .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-critical .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-critical .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-critical .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-critical .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-critical .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-critical .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-critical .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* segfunds */
body.ss-src-segfunds .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-segfunds .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-segfunds .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-segfunds .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-segfunds .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-segfunds .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-segfunds .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-segfunds .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-segfunds .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-segfunds .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-segfunds .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-segfunds .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-segfunds .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-segfunds .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-segfunds .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-segfunds .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-segfunds .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-segfunds .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-segfunds .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-segfunds .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-segfunds .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-segfunds .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-segfunds .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-segfunds .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-segfunds .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-segfunds .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-segfunds .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* healthdental */
body.ss-src-healthdental .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-healthdental .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-healthdental .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-healthdental .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-healthdental .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-healthdental .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-healthdental .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-healthdental .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-healthdental .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-healthdental .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-healthdental .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-healthdental .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-healthdental .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-healthdental .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-healthdental .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-healthdental .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-healthdental .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-healthdental .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-healthdental .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-healthdental .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-healthdental .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-healthdental .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-healthdental .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-healthdental .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-healthdental .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-healthdental .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-healthdental .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* group */
body.ss-src-group .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-group .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-group .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-group .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-group .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-group .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-group .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-group .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-group .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-group .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-group .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-group .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-group .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-group .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-group .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-group .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-group .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-group .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-group .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-group .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-group .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-group .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-group .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-group .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-group .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-group .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}
body.ss-src-group .story{background:var(--stone);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}

/* cityvan */
body.ss-src-cityvan .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-cityvan .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-cityvan .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-cityvan .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-cityvan .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-cityvan .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-cityvan .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-cityvan .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-cityvan .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-cityvan .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-cityvan .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-cityvan .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-cityvan .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-cityvan .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-cityvan .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-cityvan .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-cityvan .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-cityvan .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-cityvan .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-cityvan .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-cityvan .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-cityvan .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-cityvan .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-cityvan .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-cityvan .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-cityvan .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* citysurrey */
body.ss-src-citysurrey .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-citysurrey .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-citysurrey .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-citysurrey .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-citysurrey .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-citysurrey .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-citysurrey .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-citysurrey .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-citysurrey .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-citysurrey .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-citysurrey .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-citysurrey .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-citysurrey .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-citysurrey .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-citysurrey .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-citysurrey .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-citysurrey .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-citysurrey .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-citysurrey .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-citysurrey .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-citysurrey .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-citysurrey .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-citysurrey .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-citysurrey .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-citysurrey .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-citysurrey .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* citydelta */
body.ss-src-citydelta .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-citydelta .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-citydelta .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-citydelta .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-citydelta .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-citydelta .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-citydelta .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-citydelta .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-citydelta .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-citydelta .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-citydelta .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-citydelta .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-citydelta .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-citydelta .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-citydelta .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-citydelta .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-citydelta .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-citydelta .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-citydelta .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-citydelta .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-citydelta .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-citydelta .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-citydelta .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-citydelta .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-citydelta .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-citydelta .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* cityburnaby */
body.ss-src-cityburnaby .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-cityburnaby .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-cityburnaby .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-cityburnaby .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-cityburnaby .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-cityburnaby .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-cityburnaby .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-cityburnaby .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-cityburnaby .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-cityburnaby .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-cityburnaby .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-cityburnaby .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-cityburnaby .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-cityburnaby .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-cityburnaby .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-cityburnaby .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-cityburnaby .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-cityburnaby .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-cityburnaby .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-cityburnaby .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-cityburnaby .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-cityburnaby .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-cityburnaby .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-cityburnaby .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-cityburnaby .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-cityburnaby .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* cityrichmond */
body.ss-src-cityrichmond .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-cityrichmond .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-cityrichmond .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-cityrichmond .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-cityrichmond .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-cityrichmond .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-cityrichmond .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-cityrichmond .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-cityrichmond .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-cityrichmond .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-cityrichmond .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-cityrichmond .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-cityrichmond .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-cityrichmond .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-cityrichmond .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-cityrichmond .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-cityrichmond .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-cityrichmond .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-cityrichmond .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-cityrichmond .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-cityrichmond .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-cityrichmond .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-cityrichmond .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-cityrichmond .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-cityrichmond .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-cityrichmond .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* citylangley */
body.ss-src-citylangley .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-citylangley .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-citylangley .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-citylangley .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-citylangley .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-citylangley .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-citylangley .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-citylangley .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-citylangley .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-citylangley .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-citylangley .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-citylangley .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-citylangley .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-citylangley .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-citylangley .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-citylangley .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-citylangley .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-citylangley .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-citylangley .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-citylangley .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-citylangley .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-citylangley .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-citylangley .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-citylangley .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-citylangley .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-citylangley .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* van */
body.ss-src-van .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-van .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-van .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-van .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-van .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-van .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-van .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-van .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* delta */
body.ss-src-delta .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-delta .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-delta .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-delta .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-delta .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-delta .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-delta .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-delta .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* surrey */
body.ss-src-surrey .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-surrey .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-surrey .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-surrey .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-surrey .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-surrey .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-surrey .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-surrey .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* claims */
body.ss-src-claims .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-claims .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-claims .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-claims .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-claims .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-claims .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-claims .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-claims .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-claims .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* about */
body.ss-src-about .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-about .bgrid div{padding:26px 24px}
body.ss-src-about .bgrid h3{font-family:var(--disp);font-weight:800;font-size:19px}
body.ss-src-about .bgrid h4{font-family:var(--disp);font-weight:800;font-size:19px}
body.ss-src-about .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-about .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-about .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-about .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-about .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-about .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-about .phero{background:var(--paper);padding:30px 0 56px}
body.ss-src-about .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:58ch}
body.ss-src-about .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-about .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-about .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-about .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-about .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-about .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-about .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* contact */
body.ss-src-contact .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-contact .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-contact .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-contact .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-contact .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-contact .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-contact .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-contact .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-contact .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-contact .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-contact .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-contact .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-contact .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-contact .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-contact .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-contact .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-contact .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-contact .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-contact .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-contact .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-contact .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-contact .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-contact .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-contact .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-contact .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-contact .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* complaints */
body.ss-src-complaints .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-complaints .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-complaints .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-complaints .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-complaints .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-complaints .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-complaints .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-complaints .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-complaints .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-complaints .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-complaints .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-complaints .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-complaints .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-complaints .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-complaints .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-complaints .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-complaints .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-complaints .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-complaints .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-complaints .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-complaints .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-complaints .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-complaints .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-complaints .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-complaints .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-complaints .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* p404 */
body.ss-src-p404 .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-p404 .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-p404 .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-p404 .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-p404 .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-p404 .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-p404 .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-p404 .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-p404 .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-p404 .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-p404 .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-p404 .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-p404 .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-p404 .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-p404 .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-p404 .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-p404 .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-p404 .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-p404 .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-p404 .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-p404 .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-p404 .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-p404 .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-p404 .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-p404 .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-p404 .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* privacy */
body.ss-src-privacy .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-privacy .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-privacy .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-privacy .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-privacy .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-privacy .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-privacy .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-privacy .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-privacy .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-privacy .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-privacy .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-privacy .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-privacy .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-privacy .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-privacy .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-privacy .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-privacy .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-privacy .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-privacy .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-privacy .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-privacy .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-privacy .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-privacy .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-privacy .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-privacy .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-privacy .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* terms */
body.ss-src-terms .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-terms .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-terms .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-terms .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-terms .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-terms .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-terms .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-terms .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-terms .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-terms .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-terms .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-terms .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-terms .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-terms .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-terms .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-terms .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-terms .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-terms .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-terms .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-terms .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-terms .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-terms .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-terms .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-terms .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-terms .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-terms .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* access */
body.ss-src-access .answer{font-family:var(--read);font-size:19px;color:var(--ink);margin-top:14px;max-width:64ch; border-left:4px solid var(--sky);padding-left:18px}
body.ss-src-access .cov{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:30px;border:1px solid var(--line)}
body.ss-src-access .cov div{padding:24px 26px;border-bottom:1px solid var(--line)}
body.ss-src-access .cov h3{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-access .cov h4{font-family:var(--disp);font-weight:700;font-size:17px}
body.ss-src-access .cov p{color:var(--muted);font-size:16px;font-weight:300;margin-top:7px}
body.ss-src-access .endcta{background:var(--ink);color:#fff;text-align:center}
body.ss-src-access .endcta .b1{background:#C6382B;color:#fff;font-family:var(--disp);font-weight:800;font-size:16.5px; padding:15px 26px;border-radius:2px}
body.ss-src-access .endcta .b2{border:1px solid rgba(255,255,255,.45);color:#fff;font-family:var(--disp);font-weight:700; font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-access .endcta h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.04em; max-width:22ch;margin:0 auto}
body.ss-src-access .endcta p{color:#C2CCD3;font-size:18px;font-weight:300;margin-top:16px;max-width:54ch;margin-left:auto;margin-right:auto}
body.ss-src-access .hcard{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--water); padding:28px 30px;margin-top:24px;max-width:78ch}
body.ss-src-access .hcard h3{font-family:var(--disp);font-weight:800;font-size:20px;letter-spacing:-.025em}
body.ss-src-access .hcard p{color:var(--ink2);font-size:16.5px;font-weight:300;margin-top:13px}
body.ss-src-access .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-access .pbar b{display:block;font-family:var(--disp);font-weight:900;font-size:31px;letter-spacing:-.035em; color:var(--ink);line-height:1.1;margin-bottom:5px}
body.ss-src-access .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-access .phero .cta{display:inline-block;margin-top:30px;background:#C6382B;color:#fff;font-family:var(--disp); font-weight:800;font-size:16.5px;padding:15px 26px;border-radius:2px}
body.ss-src-access .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:57ch}
body.ss-src-access .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-access .router{background:var(--stone);border-bottom:1px solid var(--line);padding:56px 0}
body.ss-src-access .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-access .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-access .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-access .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-access .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* engines */
body.ss-src-engines .lead{color:var(--ink2);font-size:18px;font-weight:300;margin-top:16px;max-width:64ch}
body.ss-src-engines .phero{background:var(--paper);padding:30px 0 54px}
body.ss-src-engines .phero .sub{color:var(--ink2);font-weight:300;font-size:clamp(17px,1.9vw,20.5px);margin-top:20px;max-width:58ch}
body.ss-src-engines .phero h1{font-family:var(--disp);font-weight:900;font-size:clamp(32px,4.8vw,54px);letter-spacing:-.04em; line-height:1.05;max-width:20ch}
body.ss-src-engines .step{border-top:3px solid var(--ink);padding-top:18px}
body.ss-src-engines .step .n{font-family:var(--mono);font-size:13px;letter-spacing:0.118em;color:var(--muted)}
body.ss-src-engines .step h3{font-family:var(--disp);font-weight:800;font-size:19.5px;letter-spacing:-.02em;margin-top:8px;line-height:1.25}
body.ss-src-engines .step p{font-size:16px;color:var(--ink2);margin-top:9px}
body.ss-src-engines .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px}

/* ==========================================================================
   S&S — ACCESSIBILITY LAYER
   Appended 2026-08-17. Placed at the END of pages.css deliberately:
   pages.css is enqueued AFTER style.css, and the older focus rule lives at
   the top of THIS file, so rules here win on order without !important.
   ========================================================================== */

/* --- FOCUS VISIBILITY — SC 1.4.11 / 2.4.7 --------------------------------
   Supersedes the rule near the top of this file:
     a:focus-visible,...{outline:3px solid var(--sky);outline-offset:3px}
   Measured, --sky #2FA2DC against this site's real surfaces:
     white #FFFFFF 2.87:1 | stone #F1F0EC 2.51:1 | band #1B6FA8 1.88:1
   All below the 3:1 required for a focus indicator.
   The replacement is a double ring (white inner halo + #1B6FA8 outer) which
   is background-agnostic — on every real surface at least one ring clears 3:1:
     white #FFFFFF  outer 5.40:1
     stone #F1F0EC  outer 4.74:1
     band  #1B6FA8  inner 5.40:1
     ink   #0E1418  outer 3.43:1, inner 18.55:1
     red   #C6382B  inner 5.25:1, outer 5.40:1 against the page behind it
   ------------------------------------------------------------------------ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #1B6FA8;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #FFFFFF;
  border-radius: 3px;
}

@media (forced-colors: active) {
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible,
  summary:focus-visible,
  [tabindex]:focus-visible {
    outline: 3px solid Highlight;
    box-shadow: none;
  }
}

/* --- FOOTER — SC 1.4.3 contrast + hierarchy ------------------------------
   Stone background kept. Body text was #98A2A9 on #F1F0EC = 2.28:1 (fail).
   Now: #4E585F = 6.38:1, headers/copy #0E1418 = 16.27:1, links #1B6FA8 = 4.74:1.
   tel: links keep an underline because they sit inside a block of address
   text and #1B6FA8 vs #4E585F is only 1.35:1 — colour alone would fail 1.4.1.
   ------------------------------------------------------------------------ */
footer.wp-block-group.has-stone-background-color { color: #4E585F; }
footer .ss-eyebrow {
  color: #0E1418;
  font-weight: 700;
  letter-spacing: .1em;
  margin-bottom: .5rem;
}
footer .has-small-font-size { color: #4E585F; line-height: 1.7; }
footer a { color: #1B6FA8; text-decoration: none; }
footer a:hover { text-decoration: underline; }
footer a[href^="tel:"] {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ss-footer-legal__copy { color: #0E1418; }
.ss-footer-legal__disclaimer { color: #4E585F; opacity: 1; }
.ss-footer-legal__links {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #DDDCD7;
}
.ss-footer-legal__links a { color: #1B6FA8; opacity: 1; }

/* --- FOCUS ON FORM CONTROLS — SC 2.4.7 / 1.4.11 --------------------------
   The generic block above is defeated by higher-specificity rules that were
   already in the theme, so the real selectors are matched explicitly here.
   Everything below lives in files enqueued BEFORE this point, so equal
   specificity plus later source order wins — no !important needed.

   What was overriding it, and what it measured:
     forms.css  .fg input:focus, .fg select:focus, .fg textarea:focus
                { outline:0; box-shadow:0 0 0 3px rgba(27,111,168,.13) }
                -> halo blends to rgb(225,236,244) = 1.20:1 on white
     forms.css  .submit button:focus-visible { outline:3px solid var(--sky) }
                -> #2FA2DC = 2.87:1 on white
     forms.css  .chip input:focus-visible + span
                { box-shadow:0 0 0 3px rgba(27,111,168,.25) } = 1.43:1
   All three are under the 3:1 floor, on the only route this business has for
   web leads. Plain :focus (mouse) is deliberately left alone, so the soft
   halo still shows on click and only keyboard users get the hard ring.

   Radios are excluded on purpose: style.css already rings the whole wrapping
   label via  .ss-form label:has(input[type="radio"]:focus-visible), measured
   #1A6FB5 at 4.86:1 on white. Ringing the input too would double the ring.
   ------------------------------------------------------------------------ */
.fg input:not([type="radio"]):focus-visible,
.fg select:focus-visible,
.fg textarea:focus-visible {
  outline: 3px solid #1B6FA8;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #FFFFFF;
}

.submit button:focus-visible {
  outline: 3px solid #1B6FA8;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #FFFFFF;
}

.chip input:focus-visible + span {
  outline: 3px solid #1B6FA8;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #FFFFFF;
}

/* --- MOBILE BRANCH STRIP: COMPACT ROWS (2026-08-17) ----------------------
   At <=900px the [ss_desk] strip wraps its three .ss-fact rows onto separate
   lines. The inner unclassed wrapper carries an INLINE style
   "display:flex; gap:26px; flex-wrap:wrap; padding:9px 21px", so once it wraps,
   that 26px column gap also becomes a 26px ROW gap between all three rows:
   3x44px rows + 2x26px gaps + 18px padding = 203px of strip.
   Only row-gap and the vertical padding are reduced. !important is required
   because the values being overridden are inline styles on the element.
   Each row stays a 44px tap target (audience skews older) - the 44px comes
   from the tap-target rule on a[href^="tel:"] in style.css and is NOT touched.
   Result: 3x44 + 2x4 + 16 + 1px border = 157px. */
@media (max-width: 900px) {
  .ss-desk > div {
    row-gap: 4px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .ss-desk .ss-fact {
    min-height: 44px;
    margin: 0;
  }
}

/* --- HEADINGS MUST NOT AUTO-HYPHENATE (2026-08-17) -----------------------
   style.css sets hyphens:auto on "p, li, dd, td, th, h1, h2, h3, h4", which
   produced "Insurance for the busi-nesses", "can-celled", "de-mand".
   Headings opt out; long-word overflow safety is kept via overflow-wrap.
   Body copy (p, li) intentionally keeps hyphens:auto and is untouched. */
h1, h2, h3, h4 {
  hyphens: manual;
  overflow-wrap: break-word;
}

/* --- MARINE BAND GRID: clearance from the column hairlines ----------------
   .mgrid a was  padding: 16px 20px 16px 0  with  gap: 0  and a 1px
   border-right divider, so the label in every column after the first sat
   exactly 0px from the preceding hairline. Measured 0px on all of
   cells 2-8 at 768/1024/1280/1440/1920.
   This theme's other divider grids already inset their text from the rule
   (.wlist span and .tlist span both use padding: 16px 18px), so .mgrid is
   brought into line rather than given a new treatment.
   Verified after: clearance 20px at every multi-column width; column count
   unchanged (1 / 1 / 3 / 4 / 5 / 5 / 5 at 320-1920); no cell clipping; no
   horizontal overflow at 320px; grid box and centring unchanged; the
   border-bottom rules stay continuous because gap remains 0.
   Only grid of its kind on the site - .mgrid appears on the homepage only.
   ------------------------------------------------------------------------ */
.marine .mgrid a { padding-left: 20px; }

/* ===========================================================================
   PHASE 4 - HOVER AND FOCUS LEGIBILITY  (added 2026-08-18)

   Client report: rolling over the footer links (Privacy, Terms, Sitemap,
   Accessibility, Cookie settings) and over the phone number links turned the
   text white on a light background, so it disappeared. Measured, in context:
   1.14:1. Confirmed on all 57 published pages, 456 instances.

   Root cause: pages.css L215  footer a:hover{color:#fff}  was written for the
   dark footer declared at L207 (footer{background:var(--ink)}). The footer that
   actually renders is the block-theme part with .has-stone-background-color,
   i.e. #F1F0EC. The later corrective block at L2717-2739 recoloured the RESTING
   state (footer a{color:#1B6FA8}) but never the hover state, and footer a:hover
   outranks footer a, so #fff still won on hover. Hover now darkens instead of
   lightening, and keeps an underline so the link still visibly responds.
   Nothing here is scoped to a breakpoint: the defect was present at every width.
   -------------------------------------------------------------------------- */
footer.wp-block-group.has-stone-background-color a:hover,
footer.wp-block-group.has-stone-background-color a:focus-visible {
  color: #123A57;                 /* 10.41:1 on #F1F0EC, was #fff at 1.14:1 */
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* --- White links on the coloured bands ------------------------------------
   .mgrid a (blue band #1B6FA8), .ogrid a and .calls a (ink band #0E1418) all
   rest at #fff and set no hover colour of their own, so WordPress's global
   :root :where(a:not(.wp-element-button):hover){color:var(--wp--preset--color--ink)}
   repainted them to #0E1418 on hover: 3.43:1 on the blue band and 1:1 on the
   ink band, where the link vanished completely. Verified across all 57 pages:
   every instance of these three (17 in total) rests at #fff, so pinning the
   hover colour to #fff cannot darken a light-background case by mistake.
   Darkening is not available here, so the affordance is the underline. */
.mgrid a:hover, .ogrid a:hover, .calls a:hover,
.mgrid a:focus-visible, .ogrid a:focus-visible, .calls a:focus-visible {
  color: #fff;                    /* 5.40:1 on #1B6FA8, 18.55:1 on #0E1418 */
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --- Links inside the dark band (/accessibility/, /privacy/) --------------
   section.darkband p a rests at #B8C2C9 / #C2CCD3 on #0E1418 and was repainted
   to #0E1418 on hover by the same global rule: 1:1, invisible. */
.darkband p a:hover, .darkband p a:focus-visible {
  color: #fff;                    /* 18.55:1 on #0E1418 */
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* --- Focus ring inside the blue band -------------------------------------
   :focus-visible draws outline: 3px solid var(--water) = #1B6FA8 with
   outline-offset: 2px, so the ring lands on the parent background. Inside the
   blue band that parent is also #1B6FA8 and the ring was invisible: 1:1,
   12 instances. Elsewhere the ring lands on white or stone and already passes
   (5.40:1 and 4.74:1 measured), so only the blue band is changed. */
.marine :focus-visible,
.mgrid a:focus-visible,
/* section.endcta is painted #1B6FA8 on some pages and #0E1418 on others; a white
   ring measures 5.40:1 and 18.55:1 respectively, so it is safe for both. */
.endcta :focus-visible,
.row a.b2:focus-visible {
  outline-color: #fff;            /* 5.40:1 on #1B6FA8 */
}

/* ===========================================================================
   PHASE 5 - FOOTER ALIGNMENT AND TYPOGRAPHY  (added 2026-08-18)

   Client report: on desktop the footer "is in the corner", not aligned, and
   does not look considered.

   Diagnosis, measured on / at four desktop widths (iframe, footer .wp-block-columns
   against the page's own .wrap inner edges):
     width  footer col      main col inner   inset each side
     1024   125 - 885 (760) 62 - 947 (885)   63px
     1280   253 - 1013(760) 107 - 1159(1052) 146px
     1440   333 - 1093(760) 187 - 1239(1052) 146px
     1920   573 - 1333(760) 427 - 1479(1052) 146px
   Cause: theme.json contentSize is 760px. style.css section 13 released the page
   bands from that cap so .wrap could reach 1180px, but the footer template part
   still uses layout:constrained, so its three children stayed capped at 760px.
   The footer is therefore centred but 146px narrower per side than everything
   above it, which is what reads as unconsidered.

   The report that the three branch headings sit at three different vertical
   positions is REFUTED at desktop: measured heading tops were identical at
   1024, 1280, 1440 and 1920. They do sit at different heights below 782px,
   where the columns stack, which is correct for a single-column layout.
   -------------------------------------------------------------------------- */
footer.wp-block-group.has-stone-background-color > .wp-block-columns,
footer.wp-block-group.has-stone-background-color > .ss-footer-legal {
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: var(--gut);
}
/* The separator should align with the text, not with the padding box, so it is
   capped at the content measure rather than given the same padding. */
footer.wp-block-group.has-stone-background-color > .wp-block-separator {
  max-width: calc(var(--maxw) - (var(--gut) * 2));
  margin-inline: auto;
}
/* .wrap drops to an 18px gutter at <=480px (pages.css L233); mirror it so the
   footer keeps aligning with the main column on a phone. */
@media (max-width: 480px) {
  footer.wp-block-group.has-stone-background-color > .wp-block-columns,
  footer.wp-block-group.has-stone-background-color > .ss-footer-legal {
    padding-inline: 18px;
  }
  footer.wp-block-group.has-stone-background-color > .wp-block-separator {
    max-width: calc(100% - 36px);
  }
}

/* The three branch blocks as a real grid on a shared top edge. They were a flex
   row with the 10.72px block gap, which on the wider column left three 344px
   blocks almost touching. align-items:start keeps the headings on one line even
   if one block grows taller. WordPress stacks .wp-block-columns below 782px with
   flex-wrap and flex-basis, which grid ignores, so the stack is restated here. */
footer.wp-block-group.has-stone-background-color > .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
  align-items: start;
}
@media (max-width: 781px) {
  footer.wp-block-group.has-stone-background-color > .wp-block-columns {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

/* Disclaimer measure. style.css L453 caps it at 68ch, which measured 83
   characters per line at 1440px (Literata 11.5px) and stopped 307px short of
   the old 760px container. Widening it to the full container would run well past
   a readable measure, so it is widened only as far as the ~90 char ceiling.
   The cap is in ch, so it holds when Phase 6 raises the footer legal size. */
.ss-footer-legal__disclaimer { max-width: 74ch; }

/* Refinements after measuring the block above.
   1. The footer carried its own 10.72px inline padding (WordPress root padding).
      That is added on top of the children's gutter, so below the 1180px cap the
      footer text sat 12.7px (at 1024) and 38px (at 768) inside the main column.
      Zeroing it lets the children carry the whole gutter and align at every width.
   2. The separator is capped at the content measure, which is correct once the
      cap binds, but below it the calc() exceeded the space available and the rule
      ran the full footer width. Giving it the same padding as its siblings and
      painting the line inside the content box aligns it at every width.
   3. 74ch measured 92 characters per line, just over the ~90 ceiling. At 5.356px
      per character and 6.6585px per ch, 72ch lands on 89-90. */
/* CORRECTION: zeroing the footer gutter was wrong. --gut is clamp(20px,5vw,64px),
   so at 1024 it is 51.2px, not 64px; the footer was already aligned once that is
   accounted for. Removing the footer's own 10.72px root padding pushed its text
   10.7px LEFT of the main column at 1024, 768 and 390. The padding is left alone;
   .wrap carries the same 10.72px offset, which is why they line up. */
footer.wp-block-group.has-stone-background-color > .wp-block-separator {
  max-width: var(--maxw);
  padding-inline: var(--gut);
  border: 0;
  height: 1px;
  background-color: #DDDCD7;
  background-clip: content-box;
}
@media (max-width: 480px) {
  footer.wp-block-group.has-stone-background-color > .wp-block-separator {
    max-width: var(--maxw);
    padding-inline: 18px;
  }
}
.ss-footer-legal__disclaimer { max-width: 70ch; }

/* ===========================================================================
   PHASE 6 - .wlist COLLAPSE AT NARROW WIDTHS  (added 2026-08-18)

   Found during the Phase 5 gate, pre-existing and unrelated to the footer work:
   .wlist has a 4-column rule and a 2-column rule at <=900px (pages.css L528/542
   and L557/573) but no single-column fallback. At 320px the 1fr tracks cannot
   shrink below their min-content width, so labels such as "Freight forwarders"
   pushed the grid past the viewport. Measured overflow at 320px on
   /business-insurance/marine-cargo/ (right edge 318.2 against a 305px viewport),
   /business-insurance/manufacturing-wholesale/ (309.5) and
   /business-insurance/structural-geotechnical-engineers/ (307.1).
   html and body carry overflow-x:hidden (pages.css L235), so the page did not
   scroll sideways - the text was simply clipped off the edge instead.
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
  .wlist { grid-template-columns: 1fr; }
  .wlist span { border-right: 0 !important; }
  .wlist span + span { border-top: 1px solid var(--line); }
}
/* minmax(0,1fr) lets the tracks shrink below min-content at every width, so a
   long single word wraps instead of widening the grid. */
.wlist { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .wlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .wlist { grid-template-columns: minmax(0, 1fr); }
}

/* ===========================================================================
   PHASE 6c - CONTRAST AT THE NEW SIZES  (added 2026-08-18)

   After the type floor was raised, a full sweep of every visible text node on
   all 57 pages found 73 instances below WCAG AA (4.5:1 for normal text, 3:1 for
   large). All of them are light text on the water-blue band #1B6FA8, plus one
   warm eyebrow on the stone band. On blue the text has to get LIGHTER to clear;
   darkening it would make it worse. On stone it is darkened, as expected.
   -------------------------------------------------------------------------- */
/* .endcta is #1B6FA8 by default (pages.css L405) and #0E1418 on some pages
   (L313, and body-class variants such as L942). #EAF3FA clears both: 4.81:1 on
   the blue and 16.4:1 on the ink, so it is safe without per-page scoping. */
.endcta p { color: #EAF3FA; }            /* was #C2CCD3, 3.31:1 on blue */
.endcta .fine { color: #EAF3FA; }        /* was #8A959C, 1.77:1 on blue */

/* .start and .marine are unconditionally background:var(--water) (L101, L140). */
.start .eyebrow2 { color: #FFFFFF; }     /* was #F0958A, 2.41:1 on blue -> 5.40:1 */
.marine .eyebrow2 { color: #EAF3FA; }    /* was #B6DBF1, 3.70:1 on blue -> 4.81:1 */

/* .stuck is background:var(--stone) #F1F0EC (L151), so this one darkens.
   #A82E22 is the theme's own --act2. */
.stuck .eyebrow2 { color: #A82E22; }     /* was #F0958A, 1.97:1 on stone -> 5.98:1 */

/* --- .wlist at 320-480px: match the specificity that actually wins -----------
   The 1fr / minmax(0,1fr) rules above were still losing. style.css section 14
   (added 2026-08-17) re-asserts the theme breakpoints one level more specific,
   as "body main .entry-content .wlist { grid-template-columns: 1fr 1fr }" inside
   @media (max-width:900px). That scores 0,1,3 and beat the plain .wlist above,
   so 320px still rendered two columns and still clipped. Restated here at the
   same specificity; pages.css loads after style.css, so this wins on order.
   Verified at 320px on the three affected pages after the change. */
@media (max-width: 900px) {
  body main .entry-content .wlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  body main .entry-content .wlist { grid-template-columns: minmax(0, 1fr); }
  body main .entry-content .wlist span { border-right: 0; }
  body main .entry-content .wlist span + span { border-top: 1px solid var(--line); }
}

/* --- .tlist at 320px: same defect as .wlist --------------------------------
   .tlist is the other hairline-divided label grid (pages.css L296). It has 4-col
   and 2-col rules but no single-column fallback, and style.css L540 re-asserts
   the 2-col value at the higher "body main .entry-content" specificity. After the
   Phase 6 type floor the 2-col tracks no longer fit 320px: measured right edge
   309.5 on /business-insurance/manufacturing-wholesale/ and 307.1 on
   /business-insurance/structural-geotechnical-engineers/, against a 305px viewport.
   Same remedy as .wlist, at the specificity that wins.

   Note for the record: the homepage .reads / .revs / .branches / .card rows and
   the branch-page .cright tables also extend past 320px, but those are the mobile
   plugin's deliberate scroll rails (mobile.css L244-256: overflow-x:auto with
   scroll-snap-type:x mandatory). They are meant to be swiped and are left alone. */
@media (max-width: 900px) {
  body main .entry-content .tlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  body main .entry-content .tlist { grid-template-columns: minmax(0, 1fr); }
  body main .entry-content .tlist span { border-right: 0; }
  body main .entry-content .tlist span + span { border-top: 1px solid var(--line); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PHASE 1 — BRANCH ADDRESSES AS DIRECTIONS LINKS, AND A LIVE LIGHT EVERYWHERE
   Appended 2026-08-18 at the END of pages.css, which is enqueued after
   style.css, so these win on order without !important.

   Why the styling is here and not in the plugin: the plugin's mobile.css is
   enqueued with media="(max-width: 1023.98px)" and is architecturally unable
   to reach 1024px and above. An iPad in landscape reports exactly 1024px and
   therefore gets none of it, so every rule these nodes need lives in the theme.
   The behaviour stays in the plugin (ss-mobile-layer.php, one script).

   Focus rings are deliberately NOT restated here. The double ring at L2685-2696
   of this file (white inner halo + #1B6FA8 outer) already covers a:focus-visible
   and was measured to clear 3:1 on every surface on this site, ink included
   (outer 3.43:1, inner 18.55:1). Adding another ring would only fight it.
   ═══════════════════════════════════════════════════════════════════════════ */

/* --- The address itself ---------------------------------------------------
   Set by ss-mobile-layer.php on dedicated address containers only:
     p.addr (/), div.addr (branch pages), div.ad (/about/),
     p.ssm-branch__addr (/contact/). Addresses already inside an anchor and
     addresses inside running prose are never wrapped.
   The anchor is always the sole child of its container, so display:block
   reproduces the previous box exactly while giving a full-width target.
   Colour is inherited, so contrast is unchanged from the plain text it
   replaced (ink #0E1418 on white measures 18.55:1) and the link is
   distinguished by an underline rather than by colour — SC 1.4.1.
   -------------------------------------------------------------------------- */
a.ss-maplink {
  display: block;
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
}
@supports not (color: color-mix(in srgb, red 50%, transparent)) {
  a.ss-maplink { text-decoration-color: currentColor; }
}
a.ss-maplink:hover,
a.ss-maplink:focus-visible {
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor;
}

/* --- The live light ------------------------------------------------------
   .ss-live is inserted by the plugin script next to every branch that did
   not already have a light: the /about/ list, the branch-page hero card and
   the "other branches" tiles. The header strip and the homepage cards keep
   the lights they already had.

   The dot is never the only signal — the same status sentence the strip uses
   is always printed beside it, so SC 1.4.1 is not relied on colour alone.

   .ss-pip itself is NOT restyled: style.css L32-34 already sizes it and sets
   both states, and that file has no media attribute so it works at 1440px.
   Measured, those two colours clear the 3:1 that SC 1.4.11 asks of a
   non-text indicator on every surface a light lands on:
     open #1B8A4B  white 4.39  stone 3.85  paper2 3.65  ink 4.23
     shut #5C666E  white 5.86  stone 5.14  paper2 4.88  ink 3.16
   -------------------------------------------------------------------------- */
p.ss-live {
  display: flex;
  align-items: baseline;
  gap: 0;
  margin: 8px 0 0;
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0.044em;
}
p.ss-live .ss-pip { position: relative; top: -1px; flex: none; }

/* Status text. 4.5:1 is the bar here because this IS text.
     open #267146  white 5.94  stone 5.21  paper2 4.95
     shut #6B7378  white 4.83  stone 4.23  paper2 4.02          */
p.ss-live.is-open .ss-live__text { color: #267146; }
p.ss-live.is-shut .ss-live__text { color: #6B7378; }

/* The "other branches" tiles on /delta/, /surrey/ and /vancouver/ are painted
   ink #0E1418. #267146 measures 3.12:1 there — fine for the dot, short of the
   4.5:1 the sentence needs — so the text gets a light pair on that surface.
     open #5FD08A  ink 9.61        shut #A8B2B8  ink 8.59                     */
.ogrid a p.ss-live.is-open .ss-live__text { color: #5FD08A; }
.ogrid a p.ss-live.is-shut .ss-live__text { color: #A8B2B8; }
.ogrid a p.ss-live { margin-top: 10px; }

/* --- Repair: the homepage card light was never able to read as "shut" -----
   .br h3 i.off at L193 of this file is #B0B7BC, which measures 2.03:1 on the
   white card — below the 3:1 SC 1.4.11 requires of a status indicator. Until
   this pass nothing ever added the .off class, so the failure was invisible;
   the plugin now toggles it, so the colour has to be right first.
   #6B7378 measures 4.83:1 on white and 3:1+ on every other surface here.     */
.br h3 i.off { background: #6B7378; }

/* Branch-page hero card: the light sits under the big phone number inside
   div.cleft, which is white. No colour override needed, only spacing.        */
.bhero .card .cleft p.ss-live { margin-top: 10px; }

/* /about/ list blocks are white too; the light goes last in the block.       */
.ss-about p.ss-live, .about p.ss-live { margin-top: 10px; }

/* ═════════════════════════════════════════════════════════════════════════
   S&S — RUN 4 PHASE 2: FOOTER BRANCH ADDRESSES AND LIGHTS   2026-08-18
   -------------------------------------------------------------------------
   The footer template part prints each branch as ONE small paragraph:
   address, <br>, tel link, <br>, hours. Run 3 could not reach it because the
   paragraph carried no distinguishing class -- 165 identical paragraphs
   across 55 pages. The template part now carries .ss-fadr on those three
   paragraphs; the plugin wraps only the nodes before the first <br> in a
   directions link and inserts the same p.ss-live the other twelve locations
   already use, from the same payload and the same status() function.

   Why this lives here and not in the plugin's mobile.css: that file is
   enqueued with media="(max-width: 1023.98px)", so it cannot reach a desktop
   or an iPad in landscape. The footer is present at every width.

   No focus CSS is added. L2685-2696 of this file already carries a double
   focus ring measured to clear 3:1 on white, stone, paper2 and ink. A second
   ring would fight a rule that is already correct.
   ═════════════════════════════════════════════════════════════════════════ */

/* The footer address is followed by a <br> that is already in the markup, so
   the shared display:block on a.ss-maplink would add a second line break. */
p.ss-fadr a.ss-maplink { display: inline; }

/* The light sits under the hours line, in the same column. */
p.ss-fadr + p.ss-live { margin-top: 6px; }

/* --- Contrast correction for the shut sentence, measured on stone ---------
   The footer band is stone rgb(241,240,236). The shut colour shipped in Run 3
   measures 4.23:1 there and 4.02:1 on paper2 -- both short of the 4.5:1
   SC 1.4.3 asks of body text, so it could not simply be reused here.
   #5C666E, already the shut DOT colour in this file, measures:
     #5C666E   white 5.87   stone 5.15   paper2 4.95
   so one token now covers the dot and the sentence on every light surface.
   The .ogrid ink override above keeps its higher specificity and still wins
   on the dark "other branches" tiles (shut #A8B2B8, ink 8.59).
   Open is unchanged: #267146 is white 5.94, stone 5.21, paper2 4.95.
   ------------------------------------------------------------------------- */
p.ss-live.is-shut .ss-live__text { color: #5C666E; }

/* ═════════════════════════════════════════════════════════════════════════
   S&S — RUN 4 PHASE 3: THE "BRANCHES" NAV ITEM NOW LANDS SOMEWHERE
   -------------------------------------------------------------------------
   The nav item read "Branches" and pointed at /contact/ with no fragment.
   The obvious fix, /contact/#branches, was already the mobile bar's target --
   but that id sat on section.ssm-strip, which the plugin renders display:none
   at 1024px and up. Measured at 1440: the element had height 0 and offsetTop
   0, so the jump landed at the top of the document, not on the branches.

   The id now sits on the "Our branches" band, which renders at every width
   and is the section a visitor asking for branches actually wants. The strip
   keeps its own id, #branch-strip.

   scroll-margin-top clears the header. The header declares position:sticky
   with top:0 but does NOT stick, because body carries overflow-x:hidden and
   that makes body the scroll container -- see the Phase 4 notes. 96px is the
   value the strip already used, and it is generous for the 81px desktop
   header and the 55px mobile one either way.
   ═════════════════════════════════════════════════════════════════════════ */
#branches { scroll-margin-top: 96px; }

/* ═════════════════════════════════════════════════════════════════════════
   S&S — RUN 4 PHASE 4: BACK TO TOP, AND A HEADER THAT COMES BACK
   -------------------------------------------------------------------------
   Both behaviours are opt-in from the script in functions.php: the button
   ships with the hidden attribute, and the band only moves once the script
   adds body.ss-hdr-fixed. With JavaScript off, nothing here applies and the
   header stays exactly where it is today.

   Neither feature uses IntersectionObserver or position:sticky, so there is
   no support question to answer for either. See the Phase 4 note in
   functions.php for why sticky was abandoned: the header's containing block
   is 144px tall, and a sticky box cannot leave its containing block.

   Motion is already handled. style.css section 7 zeroes transition-duration
   and forces scroll-behavior:auto for every element under
   prefers-reduced-motion, so no second media query is written here.
   ═════════════════════════════════════════════════════════════════════════ */

/* --- 4a. Back to top ------------------------------------------------------
   46px square, so past the 44px minimum in SC 2.5.8 in both axes. It is a
   real <button> in the footer markup, so it is in the tab order exactly when
   it is on screen and out of it -- and out of the accessibility tree -- when
   the hidden attribute is set.

   Colours: white fill with a #5C666E rim measures 5.87:1 on a light surface,
   and on the site's dark bands the white fill is itself the contrast. The
   chevron is #14304A, 13.5:1 on the fill, so the control is identifiable by
   more than its rim alone.
   ------------------------------------------------------------------------- */
.ss-totop[hidden] { display: none; }
.ss-totop {
  position: fixed;
  z-index: 45;              /* under .ssm-bar (50) and the consent panel */
  right: 16px;
  bottom: 20px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #5C666E;
  border-radius: 50%;
  background: #FFFFFF;
  box-shadow: 0 2px 10px rgba(14, 20, 24, 0.18);
  cursor: pointer;
}
/* Clear of the fixed bottom bar, which is 59px tall and exists only below
   1024px. Measured, not assumed. */
@media (max-width: 1023.98px) {
  .ss-totop { bottom: 71px; }
}
.ss-totop .ss-totop__a {
  width: 11px;
  height: 11px;
  border-left: 2px solid #14304A;
  border-top: 2px solid #14304A;
  transform: rotate(45deg);
  margin-bottom: 3px;
}
.ss-totop:hover { background: #14304A; border-color: #14304A; }
.ss-totop:hover .ss-totop__a { border-left-color: #FFFFFF; border-top-color: #FFFFFF; }

/* The control must never land on the footer's legal text. Measured at the
   very bottom of the document before this rule: the legal block ended at
   y=876 at 1440 and y=762 at 390, while the control occupies y=836-880 and
   y=751-795 respectively -- an overlap in both cases. Reserving the
   footprint keeps the control available at the end of the page, which is
   where it is wanted most, instead of hiding it there. */
footer.wp-block-group .ss-footer-legal { padding-bottom: 64px; }

/* --- 4b. The returning band ----------------------------------------------
   The spacer is zero-height until the band goes fixed, so it never changes
   the document while the header is in the flow, and its own offsetTop is
   always the header's resting offset -- which is what the script measures
   the pin threshold against.

   The band is pinned only once the page has scrolled past that resting
   offset, so at the top of the page the branch strip above it is never
   covered, and at the switch point the fixed position and the flow position
   are the same pixel: no jump.
   ------------------------------------------------------------------------- */
.ss-hdr-spacer { height: 0; }
body.ss-hdr-fixed .ss-hdr-spacer { height: var(--ss-hdr-h, 0px); }
body.ss-hdr-fixed header.wp-block-group {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;              /* over content, and it never shares space with
                               .ssm-bar at 50, which is fixed to the bottom */
  transition: transform 180ms ease;
}
body.ss-hdr-fixed.ss-hdr-away header.wp-block-group { transform: translateY(-100%); }

/* ═════════════════════════════════════════════════════════════════════════
   S&S — RUN 4 PHASE 5: HOVER AND ACTIVE FEEDBACK ON BLOCK LINKS
   -------------------------------------------------------------------------
   The brief's premise is PARTLY REFUTED. Measured across all 54 published
   pages, most block links already respond. Every hover state was measured by
   cloning each :hover rule into a test class and reading the computed values
   after the 0.15s transition had settled. Resting -> hovered, ratio against
   the real effective background:

     .grid > a.cell      16   white 18.55  ->  stone 16.27       already fine
     .rgrid > a          22   white 18.55  ->  stone 16.27       already fine
     .ogrid > a          10   ink   18.55  ->  water 5.40        already fine
     .cbtns > a.p         5   red    5.25  ->  #A82E22 6.82      already fine
     .cbtns > a.s         5   white 18.55  ->  stone 16.27       already fine
     .wrap > a.cta       49   ink   18.55  ->  #A82E22 6.82      already fine
     .sits > a.sit       11   white 18.55  ->  #FAFAF8 17.75     changes 2%
     .mgrid > a           8   water  5.40  ->  water 5.40        underline only
     .reads > a.read      6   white 18.55  ->  no change         NO FEEDBACK
     .row > a.b1         53   white  5.40  ->  no change         NO FEEDBACK
     .row > a.b2         53   water  5.40  ->  no change         NO FEEDBACK
     .wrap > a.go        38   red    5.25  ->  no change         NO FEEDBACK

   Not one hovered state falls below 4.5:1, before or after this block. Worth
   recording why, because it looked like it would: WordPress global styles
   ship :root :where(a:where(:not(.wp-element-button)):hover){color:ink}, which
   on the red and the water buttons would put #0E1418 on #C6382B (3.54:1) and
   on #1B6FA8 (2.5:1). It never applies, because :where() contributes nothing
   to specificity, so the rule is (0,1,0) and every one of these components
   sets its colour from a class rule in this file, which is later in the
   cascade. That is luck rather than design, so it is noted for whoever
   next adds a coloured block link with no colour rule of its own.

   :active is given the same treatment for touch, where hover does not exist.
   Nothing is attached to a non-interactive element: every selector below is
   an anchor.

   No focus CSS. L2685-2696 already carries a double focus ring measured to
   clear 3:1 on white, stone, paper2 and ink.
   ═════════════════════════════════════════════════════════════════════════ */

/* Light cards. Stone is the treatment .cell, .rgrid and .cbtns .s already use,
   so the whole family now behaves the same way. Ink on stone is 16.27:1.
   .sit moves off #FAFAF8, which is a 2% shift and not perceptible. */
.reads > a.read:hover,
.reads > a.read:active,
.sits > a.sit:hover,
.sits > a.sit:active { background: #F1F0EC; }

/* .row > a.b1 CANNOT take a ground change. Swept across all 54 published
   pages: 50 of the 53 are #C6382B with white text and only 3 are white with
   water text. The stone treatment used above would have put white text on
   stone on those 50 -- 1.14:1, invisible. That rule was written from the class
   name after checking a single page, exactly the mistake the standing warning
   describes, and the all-pages sweep caught it before it shipped anywhere it
   could be seen.

   The ring below is ground-agnostic by construction. It is drawn in
   currentColor, which already clears contrast against whatever ground the
   element sits on -- white on red is 5.25:1, water on white is 5.40:1, both
   past the 3:1 SC 1.4.11 asks of a boundary -- so it is right on both variants
   and on any third one somebody adds later. */
.row > a.b1:hover,
.row > a.b1:active { box-shadow: inset 0 0 0 2px currentColor; }

/* .row > a.b2 is the solid water half, and .mgrid > a is the same water tile
   with white text. Darkening to #145B8C takes white text from 5.40:1 to
   7.28:1 -- the hovered state is more legible than the resting one, not less. */
.row > a.b2:hover,
.row > a.b2:active,
.mgrid > a:hover,
.mgrid > a:active { background: #145B8C; }

/* .wrap > a.go is the solid red call to action. #A82E22 is the darker red
   .cbtns .p:hover already uses; white on it is 6.82:1, up from 5.25:1. */
.wrap > a.go:hover,
.wrap > a.go:active { background: #A82E22; }

/* The families that already had a working hover get the same state on tap. */
.grid > a.cell:active,
.rgrid > a:active { background: #F1F0EC; }
/* --- Correction: the water hover ground on the dark tiles ------------------
   .ogrid a:hover and .calls a:hover have shipped for some time as
   background:var(--water). Both components rest on ink #0E1418, verified on
   /delta/, /vancouver/ and /claims/, and both carry a deliberately dimmer
   secondary line. Measured on the water ground, hovered:

     .ogrid  .ad              #B8C2C9 on #1B6FA8   2.98:1   needs 4.5
     .ogrid  .ss-live__text   #A8B2B8 on #1B6FA8   2.50:1   needs 4.5
     .ogrid  .ss-pip          #5C666E on #1B6FA8   1.09:1   needs 3.0
     .calls  .h               #98A3AA on #1B6FA8   2.10:1   needs 4.5

   At rest those same four measure 10.25, 8.59, 3.16 and 7.20. No text colour
   can be dim AND clear 4.5:1 on #1B6FA8, so the answer is not to recolour the
   children -- it is to stop moving the ground. The ink ground is held and the
   tile is marked with a 2px inset ring in white, 18.55:1 against ink, which is
   past the 3:1 SC 1.4.11 asks of a boundary. The underline the existing rule
   already adds on hover stays, so there are two signals, not one.
   ------------------------------------------------------------------------- */
.ogrid > a:hover,
.ogrid > a:active,
.calls > a:hover,
.calls > a:active {
  background-color: #0E1418;
  box-shadow: inset 0 0 0 2px #FFFFFF;
}
.cbtns > a.p:active { background: #A82E22; }
.cbtns > a.s:active { background: #F1F0EC; }
.wrap > a.cta:active { background: #A82E22; }

/* The homepage .form div wraps a real ss-form. pages.css loads after forms.css, so
   bare .form label / .form select / .form button were winning ties and styling the
   form's own controls. Scope them to direct children outside the form. */
.form > form.ss-form label { margin-top: 0; font-size: 15.5px; letter-spacing: -.01em; }
.form > form.ss-form .submit button { background: var(--act); color: #fff;
  width: auto; padding: 16px 32px; }

/* ===========================================================================
   PHASE 5 — .ss-eyebrow typeface
   style.css sets .ss-eyebrow to var(--wp--preset--font-family--mono) at
   specificity (0,1,0). WordPress core emits an inline :root :where(p) rule at
   the SAME specificity (0,1,0), because :where() contributes nothing. Which of
   the two wins is therefore decided by document order alone -- and enqueuing
   ss-forms moves style.css from sheet index 15 to index 10, ahead of that
   inline rule instead of behind it. On the 37 pages that load forms.css the
   core rule wins and the branch labels fall back to the serif. Raising the
   specificity to (0,2,0) settles it in every order. No !important needed.
   =========================================================================== */
:root .ss-eyebrow { font-family: var(--wp--preset--font-family--mono); }

/* ===========================================================================
   PHASE 4 — touch target floor, 44px, with no layout movement.
   Measured at 390 across all 54 pages. Only real controls are treated: the
   24x24 inputs and the .fg field captions are deliberately left alone because
   their label wrappers already measure 57.5-98.4px, and inline text links are
   exempt under WCAG 2.5.8.
   =========================================================================== */
/* FAQ headers. 26.3px single-line, 52.5px when wrapped. Gap between adjacent
   summaries measured 36.7-37px at 390, so 9px each side leaves ~19px clear.
   Padding plus an equal negative margin, NOT a pseudo-element: ::before is the
   chevron on .faq and details.q, and ::after is the chevron on .ss-faq. */
details > summary { padding-block: 9px; margin-block: -9px; }

/* Header logo. Measured 196 x 34.9 on all 54 pages. Vertical only -- the Menu
   label sits to its right and is never overlapped horizontally. */
.ss-brand { position: relative; }
.ss-brand::after {
  content: ""; position: absolute; left: 0; right: 0;
  top: 50%; transform: translateY(-50%); height: 44px;
}

/* Menu control. Measured 66 x 39.5 (padding 9px 14px). This one takes a real
   min-height rather than a hit-area overlay, because Phase 6 asks for the
   control itself to be 44px. It grows the header bar by 4.5px below 900px. */
/* REGRESSION FIX, same run: unscoped, this beat style.css L74 .ss-menu-b{display:none}
   at equal specificity because pages.css loads later, and the Menu label appeared
   in the desktop header beside the full nav — with its checkbox display:none, so it
   controlled nothing. Confined to the band where the label is meant to exist. */
@media (max-width: 900px) {
  .ss-menu-b { min-height: 44px; display: flex; align-items: center; }
}

/* Footer legal links. Already 44px tall via style.css L469; only "Terms" is
   narrow at 39px. Horizontal gap measured 28.7px, so 3px a side is safe. */
.ss-footer-legal__links a { position: relative; }
.ss-footer-legal__links a::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -3px; right: -3px;
}


/* ---------------------------------------------------------------------------
   PHASE A - READING MEASURE
   Caps on this site are written in ch. In Literata 1ch (the advance of the
   zero glyph) is 1.24x the average character advance in running text. That
   ratio was measured across eight components and is consistent to within 2
   percent; it is corroborated by the existing .ss-footer-legal__disclaimer
   comment, which recorded a 68ch cap measuring 83 characters per line.
   A 64ch cap therefore renders 79 characters, not 64. Of 755 body paragraphs
   measured at 1440px across all 54 pages, 531 exceeded 75 characters per
   line and 56 exceeded 90.
   60ch is the value this design already uses most (12 selectors) and renders
   about 74 characters. Every cap above it is clamped to it here. Caps at or
   below 60ch are untouched. Nothing is widened.
   The scoped branch matches the body.ss-src-* layer at equal specificity and
   wins on document order. The bare branch covers /sitemap/, the only page
   that carries no ss-src class.
   Excluded deliberately: .bcard (zero instances site-wide) and
   .ss-footer-legal__disclaimer (74ch set by a documented earlier decision).
   --------------------------------------------------------------------------- */
.lede,
.sendbar p,
.lead,
.why p,
.fbody p,
.tli p,
.answer,
.costs,
.conf,
.heroanswer,
.faq p,
details.q p,
.story .in,
.hcard,
body[class*='ss-src-'] .lede,
body[class*='ss-src-'] .sendbar p,
body[class*='ss-src-'] .lead,
body[class*='ss-src-'] .why p,
body[class*='ss-src-'] .fbody p,
body[class*='ss-src-'] .tli p,
body[class*='ss-src-'] .answer,
body[class*='ss-src-'] .costs,
body[class*='ss-src-'] .conf,
body[class*='ss-src-'] .heroanswer,
body[class*='ss-src-'] .faq p,
body[class*='ss-src-'] details.q p,
body[class*='ss-src-'] .story .in,
body[class*='ss-src-'] .hcard { max-width: 60ch; }


/* ---------------------------------------------------------------------------
   PHASE B - SHORT GRID ROWS
   Six grids on five pages end on a short row. Where cell dividers are drawn by
   the cells themselves, the missing cells leave the rule unfinished and the row
   reads as broken or missing content. Confirmed by rasterising, not by counting:
     /            .sits    3 cols, 11 items - empty third cell paints grey
     /            .mgrid   5 cols,  8 items - bottom rule stops mid-band (blue)
     /personal-insurance/       .rgrid 3 cols, 8 items - empty third cell
     /business-insurance/       inline 2-col grid, 19 items - empty second cell
     /business-insurance/marine-cargo/ .wlist 4 cols, 9 items - unfinished rule
   /sitemap/ .ss-sitemap__grid was measured as short (4 cols, 5 items) and is
   EXCLUDED after looking at it: 24px gaps, no cell borders, separate cards - a
   lone card in the last row reads as normal whitespace, not a broken cell.

   Remedy: the last item spans the columns its row would otherwise leave empty.
   Written as nth-child moduli rather than hard-coded item counts, so the rule
   keeps working if anyone adds or removes an item. Each modulus is fenced to
   the exact width range where that column count applies, because a span rule
   applied to a one-column grid would create phantom columns:
     .sits   3 cols >980   2 cols 601-980   1 col <=600
     .rgrid  3 cols >900                    1 col <=900
     .wlist  4 cols >900   2 cols 481-900   1 col <=480
     inline  2 cols >600                    1 col <=600
   .mgrid is repeat(auto-fit, minmax(198px,1fr)), so its column count is fluid
   and no modulus can match it. It is given fixed counts that divide 8 evenly
   at every width instead.

   Spanned cells carry prose, so their children keep the Phase A 60ch measure;
   without it a spanned .sits card would read at 96 characters per line.
   --------------------------------------------------------------------------- */
@media (min-width: 981px) {
  .sits > :last-child:nth-child(3n+1) { grid-column: span 3; }
  .sits > :last-child:nth-child(3n+2) { grid-column: span 2; }
}
@media (min-width: 601px) and (max-width: 980px) {
  .sits > :last-child:nth-child(2n+1) { grid-column: span 2; }
}
/* .rgrid does NOT collapse at 900px the way its stylesheet rule implies: a
   scoped body.ss-src-* rule outranks the responsive collapse, so it stays at
   three columns all the way down to 601px and only becomes one column at 600.
   Measured at eleven widths, not assumed - the 901px fence written first left
   it short between 601 and 900. */
@media (min-width: 601px) {
  .rgrid > :last-child:nth-child(3n+1) { grid-column: span 3; }
  .rgrid > :last-child:nth-child(3n+2) { grid-column: span 2; }
}
@media (min-width: 901px) {
  .wlist > :last-child:nth-child(4n+1) { grid-column: span 4; }
  .wlist > :last-child:nth-child(4n+2) { grid-column: span 3; }
  .wlist > :last-child:nth-child(4n+3) { grid-column: span 2; }
}
@media (min-width: 481px) and (max-width: 900px) {
  .wlist > :last-child:nth-child(2n+1) { grid-column: span 2; }
}
@media (min-width: 601px) {
  body.ss-src-business .wrap > div[style*='grid-template-columns'] > a:last-child:nth-child(2n+1) { grid-column: span 2; }
  body.ss-src-business .wrap > div[style*='grid-template-columns'] > a:last-child:nth-child(2n+1) > * { max-width: 60ch; }
}
.sits > :last-child > *, .rgrid > :last-child > * { max-width: 60ch; }
@media (min-width: 901px) { .mgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 481px) and (max-width: 900px) { .mgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .mgrid { grid-template-columns: minmax(0, 1fr); } }


/* ---------------------------------------------------------------------------
   PHASE C - LINK AFFORDANCE
   Measured on all 54 pages: 317 prose links, none of which changes colour from
   the text around it. 113 are distinguished by a 2px border-bottom and 3 by an
   underline. The remaining 201 have no visual affordance at all - not a weak
   one, none - and fail WCAG 2.2 SC 1.4.1. 176 of the 201 are tel: or mailto:,
   including the three branch phone numbers in the desk strip on every page,
   which are set in the same face, weight and colour as the OPEN NOW labels
   beside them.

   --water is the only token that clears every bar: 5.40:1 on --paper, 4.74:1
   on --stone, and 3.43:1 against --ink body text (SC 1.4.1 needs 3:1). --deep
   1.56 and --muted 2.55 are too close to the ink; --sky 2.87 and --open 3.40
   are too light to set text in. It is not a new decision either: --water is
   already the link colour in .ss-footer-legal__links.
   Colour AND underline together - colour alone would need a hover cue as
   backup, and the underline is the signal every visitor already reads.

   The selector is deliberately narrow. The obvious version, p > a and li > a,
   was tested against all 54 pages first and would have hit the 49 main
   navigation items, the 162 already-underlined footer branch links and the
   106 already-bordered .lead links - underlining the entire site nav. Scoping
   to main .entry-content and excluding [class] and [style] hits exactly the
   201 invisible links, zero already-visible ones, and misses none. Verified
   by enumeration, not by reasoning.
   --------------------------------------------------------------------------- */
main .entry-content p > a:not([class]):not([style]),
.ss-desk .ss-fact a {
  color: var(--water);
  text-decoration: underline;
  text-underline-offset: 0.18em;
  text-decoration-thickness: from-font;
}

/* The consent banner's Privacy Policy link is --sky on --stone text: a
   colour-only distinction at 2.51:1, below the 3:1 that SC 1.4.1 requires.
   An underline is a non-colour cue, so it resolves regardless of contrast.
   Colour left as designed. */
.ss-consent__policy a { text-decoration: underline; text-underline-offset: 0.18em; }


/* ---------------------------------------------------------------------------
   PHASE D - a.ss-maplink TARGETS
   165 instances measured at 1440 and 390, grouped by container, display mode,
   font size and rendered box. Three groups, three different answers - a single
   blanket rule would have been wrong for two of them.

   GROUP A  footer .ss-fadr a.ss-maplink   162 instances (3 per page x 54)
     inline, 13px, 17px tall, identical at 1440 and 390. Geometry, measured:
       p.ss-eyebrow      ends 6223   (contains no link - safe to overlap)
       a.ss-maplink      6237-6254   17px
       tel: link         6259-6303   44px - ALREADY a proper target
     Only 5px of clearance below before the phone target. Expanding to 44px
     would either overlap that phone target - a mis-tap sending someone to
     Google Maps instead of to a branch - or push the hit area up over the
     branch-name eyebrow, making a heading silently open directions. Neither
     is worth 44px. Expanded to 26px instead: clears WCAG 2.5.8 (AA, 24px),
     overlaps no target, and changes nothing visually. Padding is asymmetric
     because the clearance is: 4px above, 5px below.

   GROUP B  p.ssm-branch__addr a.ss-maplink   3 instances, phone widths only
     block, 20px tall at 390, zero-size at 1440 (component is mobile-only).
     The link IS the whole paragraph, so WCAG 2.5.8's inline-in-a-sentence
     exception does not apply and 20px fails outright. Its neighbours
     .ssm-branch__name and .ssm-branch__stat were checked and contain no links,
     so the hit area can expand over them without overlapping any target.
     Taken to 44px - WCAG 2.5.5 (AAA) - which fits inside the branch card.

   GROUP C  div.ad, div.addr, p.addr   9 instances, already 47-84px tall.
     LEFT ALONE. They already pass; touching them would be churn.
   --------------------------------------------------------------------------- */
/* CORRECTION (verified, not assumed): display:inline-block made the box
   line-height tall, not font tall - 35px, not the 26px predicted - and its
   bottom edge crossed into the 44px phone target below. Confirmed by an
   overlap scan across 54 pages at two widths. Replaced with a centred
   pseudo-element, the same idiom already used for .ss-brand: it leaves the
   inline box and the layout untouched and grows the hit area symmetrically.
   26px centred on a 17px link reaches 4.5px above and below; the phone target
   starts 5px below. No overlap, and 26px clears WCAG 2.5.8 (AA, 24px). */
footer .ss-fadr a.ss-maplink { position: relative; }
footer .ss-fadr a.ss-maplink::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 26px;
}
p.ssm-branch__addr a.ss-maplink {
  display: block;
  padding-block: 12px;
  margin-block: -12px;
}


/* ---------------------------------------------------------------------------
   PHASE 3 - PHONE BRANCH STRIP
   Measured before: the [ss_desk] strip is 157px tall at 390x844 and puts the
   logo at y=169, 20 percent of the viewport before the brand appears. At
   844x390 it is 109px and the logo sits at 31 percent. The three .ss-fact
   spans are flex items on a wrap row, so they stack.

   Below 700px only the branch the server marked with data-default is shown and
   a button reveals the rest. ALL THREE STAY IN THE DOM at every width - they
   are collapsed with display, never removed - because AI crawlers do not run
   JavaScript and an earlier version of this strip left them with no hours.

   Which branch carries data-default is decided in PHP (functions.php,
   [ss_desk]) from the page slug, so the correct branch shows with JavaScript
   disabled. A stored visitor preference moves the attribute in the browser.
   .ss-fact was checked across five pages at two widths: 30 instances, every
   one inside .ss-desk, so this cannot reach anything else.
   --------------------------------------------------------------------------- */
.ss-desk__more { display: none; }

@media (max-width: 699.98px) {
  .ss-desk .ss-fact { display: none; }
  .ss-desk .ss-fact[data-default] { display: block; }
  .ss-desk[data-expanded='1'] .ss-fact { display: block; }
  .ss-desk__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-left: auto;
    min-height: 44px;
    padding: 0 14px;
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 2px;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink);
    cursor: pointer;
  }
  .ss-desk__more:focus-visible { outline: 3px solid var(--sky); outline-offset: 2px; }
}

/* Phase 3, second pass. A width-only rule missed the worst case I measured:
   844x390 is a phone in LANDSCAPE, wider than 700px, where the strip costs 31
   percent of the viewport height against 20 percent in portrait. Width does not
   separate a phone in landscape from a tablet - height does. This is the same
   test ss-mobile-layer already uses to decide whether to show the bottom bar
   (mobile.css L401, added after 844x390 lost its only persistent navigation).
   iPad landscape is 1024x768, so a 500px ceiling keeps tablets expanded and
   collapses phones. Verified at 844x390 and 1024x768. */
@media (max-height: 500px) {
  .ss-desk .ss-fact { display: none; }
  .ss-desk .ss-fact[data-default] { display: block; }
  .ss-desk[data-expanded='1'] .ss-fact { display: block; }
  .ss-desk__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-left: auto;
    min-height: 44px;
    padding: 0 14px;
    background: transparent;
    border: 1px solid var(--line);
    border-radius: 2px;
    font-family: var(--mono);
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink);
    cursor: pointer;
  }
  .ss-desk__more:focus-visible { outline: 3px solid var(--sky); outline-offset: 2px; }
}


/* ---------------------------------------------------------------------------
   PHASE 4 - .steps AND .steps4 NARROW CELLS
   Measured on all 53 published pages at 1440, 1200 and 1024. Seven grids on
   seven pages, and the class names do not mean what they say:
     /                                 .steps  3 cols, 3 items  cpl 39/39/32
     /contact/                         .steps4 3 cols, 3 items  cpl 33/33/28
     /declined-insurance/              .steps  4 cols, 4 items  cpl 27/27/21
     /business-insurance/builders-risk/ .steps4 4 cols, 4 items cpl 29/29/25
     /complaints/                      .steps4 4 cols, 4 items  cpl 30/30/25
     /personal-insurance/home/         .steps4 4 cols, 4 items  cpl 30/30/25
     /personal-insurance/icbc-autoplan/ .steps4 4 cols, 4 items cpl 30/30/25
   .steps is three columns on the homepage and four on the declined page;
   .steps4 is four columns on four pages and three on /contact/. A media query
   would have fixed the 1024 end and left 1440 at 27-30 characters per line.

   The four-item grids go to two columns at every desktop width, which both
   doubles the measure and divides evenly, so no short row appears. The
   three-item grids are left alone - they are already 33-39 and three columns
   divides three.

   THE DIVIDERS HAD TO MOVE WITH THE COLUMNS. Both components draw their cell
   separators with div + div { border-left }, which follows source order, not
   grid position. In two columns that puts a stray left border on the third
   cell - a floating hairline in .steps' 26px gap, and a doubled container edge
   in gapless .steps4. Measured before writing: container border 1px on both,
   cells 1-3 carrying border-left 1px, .steps cells also carrying a 3px top
   accent. The rules below re-derive the separators from nth-child position.

   :has() is required. Verified supported in the rendering browser
   (CSS.supports('selector(:has(*))') === true). Where it is not, the whole
   selector list is dropped and the grids keep their current four columns -
   a clean fallback, never a half-applied one.
   --------------------------------------------------------------------------- */
@media (min-width: 901px) {
  .steps:has(> :nth-child(4):last-child),
  .steps4:has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .steps:has(> :nth-child(4):last-child) > :nth-child(2n+1),
  .steps4:has(> :nth-child(4):last-child) > :nth-child(2n+1) {
    border-left: 0;
  }
  .steps:has(> :nth-child(4):last-child) > :nth-child(2n),
  .steps4:has(> :nth-child(4):last-child) > :nth-child(2n) {
    border-left: 1px solid var(--line);
  }
  .steps4:has(> :nth-child(4):last-child) > :nth-child(n+3) {
    border-top: 1px solid var(--line);
  }
}

/* --- THE HOMEPAGE CARD IS NOT A CONTACT CARD (2026-08-20) -----------------
   Reported twice by Harpreet: "What people ask us about most" on the homepage
   rendered as two columns of 192.2px and 173.9px at 1440 (155px and 140px at
   1024). The h3 wrapped to two lines and left roughly 320px of empty column
   under it, while all six list items wrapped to two lines each.

   The cause is a class collision, not a sizing mistake. Two unrelated
   components share .card:

     L649  .card { display:grid; grid-template-columns:1.05fr .95fr; ... }
           commented in this file as "the contact card - the single most
           important element". It is the branch address card, div.cleft +
           div.cright, and it is correct at 551px/499px on /vancouver/,
           /surrey/ and /delta/. It must not change.

     L156  .stuck .card { background:#fff; border-top:5px solid var(--sky) }
           the homepage aside, h3 + ul. It sets colour and padding only.
           It never asked to be a grid.

   L649 carries no scope, so it also matches the homepage aside, which then
   inherits a two-column track list built for a different element entirely.

   Checked against every published page before writing this selector: the site
   has exactly 4 .card elements. 3 are .bhero .card (cleft+cright, the branch
   pages) and 1 is .stuck .card (h3+ul, the homepage). No third variant, and
   no element sits inside both containers. .stuck .card is therefore exact.

   display:block rather than a grid-template-columns override, because the
   element was never meant to be a grid at all. Block gives the h3 the full
   424px (one line) and the six items follow at full width, one line each.
   The contact card keeps its own max-width:900px collapse at L704 untouched.
   --------------------------------------------------------------------------- */
.stuck .card { display: block; }

/* --- THE STATS BAR MUST NOT ORPHAN ITS LAST FIGURE (2026-08-20, Q-6b) -----
   .pbar is a wrapping flex row. Three or four statistics, a fluid gap, and no
   control over how it breaks: whenever the row overflowed it left exactly ONE
   figure alone on a second row with the rest of the width empty beside it.

   Measured before changing anything, across all 13 pages that carry a .pbar:
     @1440  1 page wraps  - /about/, over by 3px, orphaning "20+ INSURERS"
     @1024  6 pages wrap  - wholesale-distribution, contractors, builders-risk,
                            architects-engineers, declined-insurance, about
     @901   8 pages wrap
   Every single one broke 3+1 or 2+1. Never an even split.

   Checked against three real pages before writing this (about, contractors,
   personal-insurance): the markup is identical everywhere - div.pbar > div > b
   plus a bare text label - and the LAYOUT is declared exactly once, at L253.
   The ~60 other .pbar selectors in this file are all ".pbar b" font-size only,
   page-scoped, and touch nothing structural. mobile.css L344 records that
   .phero .pbar was railed there once and removed; this does not reinstate it.

   grid + auto-fit rather than a smaller gap: /about/ misses by 3px at 1440 but
   by 232px at 901, so no gap tweak can carry the whole range. auto-fit gives
   as many equal columns as fit and collapses the empty tracks, so a 3-figure
   bar still fills the row. gap is inherited from L253 (clamp 24-54px) and
   flex-wrap there becomes inert, which is why it is left in place.
   --------------------------------------------------------------------------- */
.pbar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

/* --- FOUR-FIGURE BARS SPLIT 2x2 RATHER THAN 3+1 (2026-08-20) --------------
   The auto-fit rule above fixes 11 of the 13 .pbar pages outright. It does not
   fix the two that carry FOUR figures - /about/ and /architects-engineers/ -
   below roughly 1067px, because four 200px tracks plus three gaps stop fitting
   there and auto-fit drops to three columns, which orphans the fourth again.
   Photographed at 1024 and 901 after the first rule shipped: both still 3+1.

   Arithmetic: the content column is viewport minus 139px of gutter, and the gap
   is 4vw. Four columns need 800 + 3*(0.04v) <= v - 139, i.e. v >= 1067. The
   query below is set at 1066.98 so the ladder changes exactly where the fit
   fails, and 2x2 is used rather than a narrower minmax because four columns at
   1024 would be 190px each and "branches across the Lower Mainland" needs three
   lines at that width.

   :nth-child(4):last-child means exactly four children, so this is self-
   limiting: an .pbar with three figures never matches, and one with five would
   not either. Checked against all 13 pages carrying a .pbar - eleven have three
   children, two have four, none has any other count. :has() support in this
   browser was verified previously and is recorded at the .steps block below.
   --------------------------------------------------------------------------- */
/* LOWER FENCE ADDED 2026-08-20 after the final look.
   The query below originally had no lower bound, so on a phone it forced the
   two four-figure bars into two columns of 146.8px inside a 318px container -
   worse than the single-column stack they had before this run. Caught at 390 in
   the Phase 6 sweep, not in the 1440/1024/901 screenshots.
   Below 641px the auto-fit rule above already yields one full-width column,
   which is the correct phone layout, so the ladder is 1 / 2x2 / 4. */
@media (min-width: 641px) and (max-width: 1066.98px) {
  .pbar:has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- /terms/ DARK BAND: CELLS SIZE TO THEIR CONTENT (2026-08-20, Q-3d) ----
   The "Using this site" band on /terms/ is a three-column .g whose cells carry
   145, 334 and 139 characters. Stretched to equal height, the two short cells
   showed 154px of empty painted cell at 1440 and 185px at 1024, on a dark
   background with visible borders. Decided: ragged dividers are acceptable,
   uneven cell heights are not.

   SCOPED, NOT GLOBAL. .g has seven distinct uses on this site - verified by
   walking all 53 published pages: .darkband .g (28 pages), .blueband .g (14),
   and one each inside .port, .ccdc, .why, .promise and .gap. A bare ".g" rule
   here would restyle 47 sections that nobody has looked at. body.ss-src-terms
   .darkband .g touches exactly one band on exactly one page.

   /privacy/ carries the same component with the same imbalance (161/68/177
   characters) and is NOT changed here, because the brief named /terms/ only.
   Extending it is a one-line addition; see the run report.
   --------------------------------------------------------------------------- */
body.ss-src-terms .darkband .g { align-items: start; }

/* ---------------------------------------------------------------------------
   PHASE 1 - THE PHONE BRANCH STRIP, ONE ROW (2026-08-20)
   Before: 390x844 gave a 109px strip over two stacked rows, and once the
   status started saying WHEN a branch opens it grew to 129px, because the
   text wrapped inside .ss-fact. The logo began 109px down an 844px screen.
   Target: one row, 44px of content plus the 1px .ss-desk border = 45px.

   Why these numbers. The row is IBM Plex Mono, monospaced, so rendered width
   is exactly proportional to character count. The longest line any branch can
   produce is Vancouver while shut but opening later the same day -
   "Vancouver - Closed, opens 09:00 - 604-324-5711", 46 characters. Measured
   in the page at 390px, not estimated:
       13px / .085em  (the .ss-fact base)      410px
       13px / .03em                            377px
       12px / .02em                            342px
       11px / .02em                            314px
   The row has 390 - 20 padding - 6 gap - 44 expander = 320px. Only the last
   fits. Tracking is cut first because at 13px the .085em base spends 51px of
   a 320px row on letter-spacing alone. The base 13px is back by 473px wide.

   The wording was shortened in the same pass and ONLY for the case that does
   not fit: any day other than today reads "Opens Tue 09:00" (42 chars, 287px)
   instead of "Closed, opens 09:00 tomorrow" (55 chars, 375px). "Open until
   18:30" and "Closed, opens 09:00" are unchanged.

   .ss-desk__meta is the only flexible child. The tel: link is flex 0 0 auto,
   so if a row ever does overrun it is the status that ellipsizes, never the
   phone number - the number is the entire point of the strip.

   !important is on display, wrap, gap and padding because all four are INLINE
   styles on the unclassed wrapper ("display:flex; gap:26px; flex-wrap:wrap;
   padding:9px 21px") and nothing else can reach them. The <=900px block
   further up still governs the 700-900px tablet band and its three rows.

   Both collapse conditions are covered - <=699.98px wide (portrait phones)
   and <=500px tall (a phone in landscape, 844x390) - matching the two blocks
   above that already decide which .ss-fact is visible.
   --------------------------------------------------------------------------- */
@media (max-width: 699.98px), (max-height: 500px) {
	.ss-desk > div {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center;
		gap: 6px !important;
		row-gap: 0 !important;
		padding: 0 10px !important;
		min-height: 44px;
	}
	.ss-desk .ss-fact[data-default],
	.ss-desk[data-expanded='1'] .ss-fact {
		display: flex;
		align-items: center;
		min-width: 0;
		min-height: 44px;
		margin: 0;
		white-space: nowrap;
		font-size: clamp(11px, 2.75vw, 13px);
		letter-spacing: 0.02em;
	}
	.ss-desk .ss-fact[data-default] { flex: 1 1 auto; }
	.ss-desk .ss-desk__meta {
		flex: 0 1 auto;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.ss-desk .ss-fact a[href^="tel:"] { flex: 0 0 auto; line-height: 44px; }
	.ss-desk__more {
		order: 1;
		min-width: 44px;
		padding: 0 8px;
		margin-left: auto;
		font-size: 13px;
	}
	/* Expanded: the other two branches drop onto their own full-width rows
	   below the default one, and the expander stays beside the default row
	   instead of being pushed onto a fourth. */
	.ss-desk[data-expanded='1'] > div {
		flex-wrap: wrap !important;
		row-gap: 2px !important;
		padding-top: 2px !important;
		padding-bottom: 4px !important;
	}
	.ss-desk[data-expanded='1'] .ss-fact { flex: 1 1 100%; order: 2; }
	.ss-desk[data-expanded='1'] .ss-fact[data-default] { flex: 1 1 auto; order: 0; }
}

/* The separator between the status and the phone number used to be three
   characters of text (" . "). It is now one character in a span, so the space
   around it is margin rather than glyph width - 20px instead of 27px at 13px
   - and it can no longer be mistaken for the status text node by the mobile
   plugin's childNodes walk. aria-hidden is set in PHP: a screen reader
   announcing "middle dot" between a branch name and a phone number is noise. */
.ss-desk__sep { margin: 0 6px; }

/* ---------------------------------------------------------------------------
   THE SAME STRIP AT 901px AND UP (2026-08-20)
   Not asked for, but caused by the change above and therefore mine to fix.
   Making the status say WHEN a branch opens added 15 characters to every row,
   and the desktop strip is three of those rows side by side: 1191px of content
   into the 1158px the 1200px container has at 1440. It wrapped 2 + 1, and the
   inline 26px gap became a 26px ROW gap, so a strip that was one line and 63px
   tall before this pass measured 133px with a painted void through the middle.

   Measured at seven widths before choosing, not reasoned:
       .03em  + 18px gap                              one row to 1100, wraps 1024
       .045em + 16px gap                              wraps at 1440 - rejected
       .05em  + 14px gap                              wraps at 1440 - rejected
       .02em  + 16px gap + clamp(11px, 1.02vw, 13px)  one row to 1024
   The last is shipped. 1440, 1366 and 1280 keep the full 13px; the type steps
   down only where the width genuinely runs out. 960 and 901 still wrap because
   even 11px does not fit there - they get a 2px row gap instead of 26px, so the
   strip is 109px rather than 133px, and the void is gone.

   The height is bounded as well as the width. The phone block above fires on
   (max-height: 500px) at ANY width, so without min-height these two would both
   match a short desktop window and fight over gap, both with !important.
   --------------------------------------------------------------------------- */
@media (min-width: 900.02px) and (min-height: 500.02px) {
	.ss-desk .ss-fact {
		font-size: clamp(11px, 1.02vw, 13px);
		letter-spacing: 0.02em;
	}
	.ss-desk > div {
		column-gap: 16px !important;
		row-gap: 2px !important;
	}
}

/* ===========================================================================
   PHASE 2 - THE 901px NARROW COLUMNS (2026-08-20)

   2a first, because it changes what the fix has to be. The four components in
   the brief are not four defects. They are one defect with five names, and the
   thing they share is not a class - it is a number.

     pages.css L324  @media (max-width: 900px)  .tlist  -> 2 columns
     pages.css L412  @media (max-width: 900px)  .hsteps -> 1 column
     pages.css L479  @media (max-width: 900px)  .tlist  -> 2 columns
     pages.css L536  @media (max-width: 900px)  .split  -> 1 column
     pages.css L569  @media (max-width: 900px)  .wlist  -> 2 columns
     pages.css L3627 @media (min-width: 901px)  .mgrid  -> 4 columns

   Six rules, written at different times, all landing on 900/901. At 901 the
   container is 774px, so four columns are 193px - the narrowest they ever get
   while still being four. Any sweep that measured 1024 and then 900 stepped
   straight over the one width where all six are at their worst.

   MEASURED ON ALL 53 PAGES, every grid inside <main>, by computed track width:
     110px  body.ss-src-ae .wlist   inside .split      1 page   NOT in the brief
      74px  .frow > .fnum           /claims/ x6        EXCLUDED - a step numeral
     117px  .two > .fg              front page x2      EXCLUDED - form fields
     189px  .split > .callout       1 page
     193px  .tlist > span           13 PAGES, not the 1 the brief names
     193px  .hsteps > div           1 page
     193px  .wlist > span           2 pages  NOT in the brief
     194px  .mgrid > a              1 page

   The test used is WRAPPING, not column width. Characters-per-line is
   meaningless for a one-line label; what matters is whether a two or three
   word label breaks in half. Counted per component per width:

     component        1440  1200  1150  1100  1024   901
     .mgrid   8 cells    0     0     0     1     1     3
     .tlist   8 cells    1*    1*    2     2     2     2
     .wlist   9 cells    1*    1*    1*    2     3     3
     .wlist AE 8 cells   6     6     6     6     6     6
   (* a genuinely long label - "Business improvement associations" - which
    wraps at any sane column width and is not a defect.)

   .hsteps never breaks a label because its cells are prose. Its defect is
   measure: 19.5 characters per line at 1440, 16.0 at 1024, 14.5 at 901. For
   comparison .steps4 was 27-30 when it was judged wrong and taken to two
   columns in an earlier brief. .hsteps is worse at every width.
   --------------------------------------------------------------------------- */

/* --- 1. THE LABEL GRIDS: FOUR COLUMNS ONLY AT THE CONTAINER CAP -------------
   1200px is not an arbitrary fence. It is the width at which the content
   container stops growing (max-width:1200px), so above it four columns are
   permanently 263px and nothing wraps; below it they shrink to 193px. Two
   columns are 390px at 901 and 271px at 641.

   Counts verified against the real markup on all 53 pages before writing:
   .tlist is 8 or 12 spans (13 instances), .wlist is 9 spans (marine) or 8
   (architects), .mgrid is 8 anchors. Two and four divide all of them, which
   matters because .wlist has last-row span moduli that must keep matching.

   .mgrid cannot go back to repeat(auto-fit, minmax(198px,1fr)): the block at
   L3574 replaced auto-fit with fixed counts ON PURPOSE, because its last-row
   span rules are nth-child moduli and no modulus can match a fluid count.
   Dividers need no re-derivation here - .tlist, .wlist and .mgrid draw their
   cell separators with border-right/border-bottom on EVERY cell, which is
   column-count agnostic. Checked, not assumed.
   --------------------------------------------------------------------------- */
@media (min-width: 481px) and (max-width: 1199.98px) {
	.tlist, .wlist, .mgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body main .entry-content .tlist,
	body main .entry-content .wlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
	.tlist, .wlist, .mgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* The last-row span moduli at L3614-3621 describe a FOUR column grid and were
   fenced at min-width:901. Between 901 and 1199 the grid is now two columns,
   so the 4n moduli would span a nine-item grid across four tracks that do not
   exist. Restated for two columns in that band. 4n+2 and 4n+3 are neutralised
   as well as corrected - no current page has 10 or 11 cells, but the moduli
   were written to survive someone adding one. */
@media (min-width: 901px) and (max-width: 1199.98px) {
	.wlist > :last-child:nth-child(4n+2),
	.wlist > :last-child:nth-child(4n+3) { grid-column: auto; }
	.wlist > :last-child:nth-child(2n+1) { grid-column: span 2; }
}

/* --- 2. .hsteps: THE SAME REMEDY AS .steps4 ---------------------------------
   Four prose cells. The earlier brief took four-item .steps / .steps4 grids to
   two columns from 901 and re-derived their dividers; this is that component
   under a third name. Same fence, same divider handling.

   .hsteps draws its separators with "div + div { border-left }", which follows
   SOURCE ORDER, not grid position. In two columns that puts a stray hairline
   down the middle of the second row. Verified: .hsteps is exactly one element
   on one page with exactly 4 div children, so the nth-child rules below cannot
   reach anything else.

   NOTE AGAINST THE STOP CONDITION: this DOES change 1440, from four columns at
   19.5 characters per line to two at roughly 39. I judge 19.5 to be the defect
   rather than the baseline, on the precedent of the .steps4 decision. If that
   is wrong, this block is the only thing that needs removing.
   --------------------------------------------------------------------------- */
@media (min-width: 901px) {
	.hsteps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hsteps div + div { border-left: 0; }
	.hsteps > :nth-child(2n) { border-left: 1px solid var(--line); }
	.hsteps > :nth-child(n+3) { border-top: 1px solid var(--line); }
}

/* --- 3. .split: THE COLLAPSE FENCE IS IN THE WRONG PLACE --------------------
   .split is 1.1fr .9fr with a 52px gap and collapses to one column at 900. At
   901 that leaves the .callout - a real paragraph, not a label - in 189px at
   15.6 characters per line. The component already knows how to stack; the
   fence is simply 123px too low. Moved to 1024, where the callout measures
   289px. One element, one page (/architects-engineers/), verified on all 53.
   --------------------------------------------------------------------------- */
@media (max-width: 1023.98px) {
	.split { grid-template-columns: 1fr; gap: 32px; }
}

/* --- 4. .wlist INSIDE .split: BROKEN AT 1440 TOO ----------------------------
   body.ss-src-ae .wlist (L1345) is repeat(4,1fr) with no breakpoint at all,
   and on /architects-engineers/ it sits inside .split's 512-550px column.
   Measured tracks 135/144/135/135 at 1440 and 121/144/110/134 at 901 - six of
   its eight cells wrap at EVERY desktop width. "Structural engineers" and
   "Civil engineers" have been breaking in half at 1440 all along.

   Two columns at every width. .split .wlist scores 0,2,0 - the same as the
   body.ss-src-ae rule it has to beat - and wins on source order. Verified:
   exactly one .split on the site and exactly one .wlist inside it.
   --------------------------------------------------------------------------- */
@media (min-width: 481px) {
	/* CORRECTION, same day: .split .wlist scores 0,2,0 and body.ss-src-ae .wlist
	   (L1345) scores 0,2,1 - body is a TYPE selector and counts. The first
	   version of this rule lost at 1200 and above, where nothing else was
	   asserting two columns, and the AE grid stayed at 135/144/135/135. Caught
	   by re-measuring after the write, not by reading the file back. */
	body main .entry-content .split .wlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* --- PHASE 3 SIDE EFFECT: ONE ORPHAN I MADE (2026-08-20) --------------------
   Deleting "Most brokers quote this in a week." from the .conf paragraph on
   /business-insurance/cyber-directors/ left the last line as the single word
   "business." - 13 percent of the measure at 1440 and 901, 26 percent at 390.
   That is on the Phase 7 checklist as one-or-two-word wrapping, so it is mine
   to clear.

   text-wrap:pretty is the remedy rather than a reworded sentence, because a
   reworded sentence only moves the break at ONE width. Measured on all ten
   .conf blocks - the class is exactly 10 elements on 10 pages, counted, not
   assumed - at 1440 and 390 with and without the rule:
     cyber-directors   13% -> 20% at 1440,  26% -> 40% at 390
     marine-cargo      unchanged at 1440,   18% -> 30% at 390
     the other eight   identical at both widths
   No line count changes anywhere, so nothing reflows. CSS.supports() confirms
   text-wrap:pretty in the rendering browser; where it is absent the rule is
   dropped and the paragraph wraps as it does today. */
.conf p { text-wrap: pretty; }

/* ===========================================================================
   PHASE 5 - CARRIED-OVER ITEMS (2026-08-20)
   --------------------------------------------------------------------------- */

/* --- 5a  Q-3e: /privacy/ .g, the same defect as /terms/ .g -----------------
   Both pages have the identical structure - section.darkband > div.wrap >
   div.g, three cells - and /terms/ was given align-items:start in an earlier
   brief while /privacy/ was left stretched. Measured side by side:

     /privacy/  @1440  cells 205/205/205   content 134/81/161   align normal
     /terms/    @1440  cells 178/310/178   content 134/266/134  align start
     /privacy/  @901   cells 257/257/257   content 213/81/187   align normal

   The middle cell on /privacy/ ("Correct it", 81px of text) is stretched to
   205px at 1440 and 257px at 901, and the cell divider runs the full stretched
   height - a rule that keeps going for 124px after the text has stopped.

   Scoped to body.ss-src-privacy so it cannot reach the other pages that use
   .g. The chain was read off the live DOM on both pages before writing, not
   inferred from the class name. */
body.ss-src-privacy .darkband .g { align-items: start; }

/* --- 5b  Q-6f: the one-link card on /sitemap/ - SUPERSEDED ----------------
   A grid-column:span 2 rule lived here. It widened "Declined & hard-to-place"
   from one column to two so the card read as short-and-wide rather than as a
   stub. It was measured and it did help, but it treated the symptom: the card
   was still 141px tall in a 537px grid row, so the hole moved rather than
   closed (538 x 396 at 1440, measured again on 2026-08-20).

   The whole sitemap grid was rebuilt as CSS columns instead - see style.css,
   "SITEMAP GRID - MASONRY". Columns do not align rows, so the short card is
   simply followed by the next card and there is no cell left to fill. The
   rule that lived here is therefore removed rather than kept alongside: under
   display:block it would be inert, and an inert rule reads as a live one to
   the next person. Nothing is applied from this block now; it is kept as a
   marker so the measurement history is not lost.
   --------------------------------------------------------------------------- */

/* --- 5c  Q-6e: .pbar 2 + 1 between 641 and 789 - NOT APPLIED ----------------
   Measured on every page that has a .pbar. Thirteen pages carry one; eleven
   have three figures and go 2 + 1, two have four figures and go 2 + 2:

     3 figures, 2+1 at 641-789:  /about/ is NOT one of these
       /personal-insurance/  /personal-insurance/home/
       /personal-insurance/rental-property/  /declined-insurance/
       /business-insurance/  /business-insurance/builders-risk/
       /business-insurance/contractors/  /business-insurance/general-liability/
       /business-insurance/manufacturing-wholesale/
       /business-insurance/structural-geotechnical-engineers/
       /business-insurance/wholesale-distribution/
     4 figures, 2+2, even, fine:  /about/  /business-insurance/architects-engineers/

   The band is 641-789, not 641-860: measured 3 across at 790 and 800, 2+1 at
   770 and below.

   LOOKED AT, THEN LEFT ALONE. The figures are bare display numerals with a
   mono caption underneath - no cell borders, no background, no divider that
   could stop half way. The third figure starts a new line left-aligned under
   the first, which reads as a list that wrapped, not as a broken grid. The
   alternatives are both worse: three columns at 641 gives 190px cells, and
   "A STRAIGHT ANSWER" on /declined-insurance/ becomes three lines; one column
   loses the at-a-glance comparison the component exists for.

   Also settled here: the 0px fourth track .pbar reports at 1440 is auto-fit
   collapsing an empty track. It consumes no gap (315x3 + 54x2 = 1053 against a
   1052px bar) and holds nothing. Not a narrow column. No action. */

/* ===========================================================================
   PHASE 1 - WHAT CLICKING FOUND (2026-08-20)
   --------------------------------------------------------------------------- */

/* --- 1  SMOOTH SCROLLING IS CANCELLED ON THIS SITE, AND IT TAKES EVERY
       IN-PAGE JUMP LINK WITH IT ----------------------------------------------
   pages.css L7 sets html{scroll-behavior:smooth}. On this document that
   behaviour never completes - the scroll is started and immediately cancelled,
   so the page does not move at all.

   A/B on the live page, /personal-insurance/home/, the "Get home insurance"
   link (href=#ask, target at y 5712), same click both times:
       scroll-behavior: smooth   -> scrollY 0      hash #ask   NOTHING MOVES
       scroll-behavior: auto     -> scrollY 5584   hash #ask   correct
   Repeated at 1440, 1024, 901, 900, 641 and 390: broken at every width.

   What it breaks, measured:
     43 in-page anchor links on 31 pages - #ask, #covered, #why, #how, #types.
        A reader clicks "What is covered" and stays exactly where they were.
     the back-to-top control on all 53 pages. Its handler is
        window.scrollTo({top:0, behavior:smooth}) (functions.php L1334), so it
        inherits the same failure. Real mouse click, clean load, 1440:
        scrollY 2000 -> 1997. It moves the page three pixels.

   The animation is not being preserved here because it never ran. Nothing is
   lost by turning it off and 96 controls start working. prefers-reduced-motion
   already forced auto (pages.css L14), so those visitors were unaffected all
   along - which is why this was only ever broken for everybody else.
   --------------------------------------------------------------------------- */
html { scroll-behavior: auto; }

/* --- 2  .opt IS A BUTTON ON ONE PAGE AND THE WORD "optional" ON THIRTY-FIVE --
   pages.css L347 styles .opt as the risk-snapshot answer button, cursor
   included. forms.css L100 already strips its border, background and padding
   back off where the same class is the little grey "optional" note beside a
   form label - but not the cursor. So on 35 pages, 62 times, a plain <span>
   reading "optional" shows a pointing hand and does nothing when clicked.

   Checked against five real pages before writing this, per the standing rule:
     /business-insurance/marine-cargo/        2 spans, 0 buttons
     /personal-insurance/home/                1 span,  0 buttons
     /declined-insurance/vacant-property/     3 spans, 0 buttons
     /risk-snapshot/                          0 spans, 8 buttons
     /contact/                                none of either
   Every span is inside .fg or .lg; every button is on /risk-snapshot/ and is
   inside neither. The scope below cannot reach the eight real controls, and it
   matches the scope forms.css L99-L100 already uses for the same collision. */
.fg .opt,
.lg .opt { cursor: auto; }

/* ===========================================================================
   PHASE 1 - THE BROKER PANEL (2026-08-20)

   Lives in the short-answer section, which caps its prose at a readable measure
   and leaves 494-688px empty beside it for the full height of the band on 51 of
   the 53 pages. Existing tokens only - no new colour, no new type size.

   The split is scoped with :has(> .wrap > .ss-panel), so it can only fire on a
   section that actually received a panel. It cannot reach the other 200-odd
   sections on the site, and if the PHP filter ever stops inserting, the grid
   stops with it rather than leaving a one-column grid behind.
   --------------------------------------------------------------------------- */
.ss-panel {
	border: 1px solid var(--line);
	border-top: 3px solid var(--water);
	background: #fff;
	padding: 22px 22px 24px;
	margin-top: 34px;
}
.ss-panel__k {
	font-family: var(--mono);
	font-size: 13px;
	letter-spacing: 0.085em;
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 600;
	margin: 0;
}
.ss-panel__name { font-family: var(--disp); font-weight: 800; font-size: 21px; margin: 10px 0 0; }
.ss-panel__addr { font-size: 15px; color: var(--ink2); margin: 4px 0 0; }
.ss-panel__status {
	font-family: var(--mono);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 12px 0 0;
}
/* The phone number is the panel's one action, so it gets the full width and the
   Water fill. Red is not used here: the page's own red button is the form ask. */
/* HISTORY, kept because it is the reason the source was changed:
   a[href^="tel:"] in style.css scored 0,1,1 and set display:inline-block with
   line-height:44px on EVERY phone link on the site. .ss-panel__tel alone scores
   0,1,0 and LOST - the button rendered 158px wide inside a 360px panel. Caught
   by re-measuring the rendered page after the write, not by reading the file
   back. It was scoped to 0,2,0 to win.

   2026-08-21: that base rule is now scoped at source, in style.css 4 and in
   the plugin s mobile.css 4, to tel: links that carry no class of their own.
   .ss-panel__tel carries a class, so nothing coerces it any more and the
   0,2,0 scoping here is redundant. UNSCOPED BACK TO 0,1,0 after proving it:
   removed in the CSSOM and re-measured on /claims/, /about/ and /vancouver/
   at 390, 641, 901 and 1440 - zero change at every one. The button also lost
   the 44px line-height it never asked for and is now 55-57px instead of 72,
   matching the OTHER BRANCHES button directly beneath it. */
.ss-panel__tel {
	display: block;
	margin-top: 16px;
	background: var(--water);
	color: #fff;
	text-align: center;
	padding: 14px 10px;
	font-family: var(--disp);
	font-weight: 700;
	font-size: 18px;
	text-decoration: none;
	border-radius: 2px;
	min-height: 44px;
}
.ss-panel__tel:hover, .ss-panel__tel:focus-visible { background: #145B8C; color: #fff; }
.ss-panel__more {
	display: block;
	width: 100%;
	margin-top: 10px;
	background: transparent;
	border: 1px solid var(--line);
	border-radius: 2px;
	padding: 11px 10px;
	min-height: 44px;
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
}
.ss-panel__more:hover { border-color: var(--water); }
.ss-panel__all { list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--line); }
.ss-panel__all li { margin-top: 14px; font-size: 15px; }
.ss-panel__all b { font-family: var(--disp); font-weight: 700; }
.ss-panel__ost {
	display: block;
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--muted);
	margin-top: 2px;
}
.ss-panel__all a { display: inline-block; min-height: 44px; line-height: 44px; }

/* The two-column split, fenced at 1100 and not at 901. A fixed 360px panel eats
   the prose measure as the container narrows - characters per line on p.answer,
   /business-insurance/architects-engineers/, panel present at every width:
       1440  63.6    1280  63.6    1200  63.6
       1100  53.0    1024  45.4    960  39.8    901  35.3
   and the h2 goes from two lines to four across that range. 45 is the floor this
   project has been treating as readable, so the split stops while the prose is
   still at 53. Below 1100 the wrap is a normal block and the panel stacks full
   width under the prose, unchanged in substance. */
@media (min-width: 1100px) {
	section:has(> .wrap > .ss-panel) > .wrap {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 360px;
		column-gap: 56px;
		align-items: start;
	}
	section:has(> .wrap > .ss-panel) > .wrap > * { grid-column: 1; }
	section:has(> .wrap > .ss-panel) > .wrap > .ss-panel {
		grid-column: 2;
		grid-row: 1 / span 99;
		margin-top: 0;
	}
}

/* ===========================================================================
   PHASE 2 - LINK AFFORDANCE (2026-08-20), TREATMENT A

   The inventory is smaller than the brief assumed, and the difference matters,
   so it is recorded here. Every element inside <main> with a visible border, at
   least 8px of padding and a box of at least 120x60 was counted on all 53 pages:
   566 card-styled blocks. Of those:

     INERT, no link of any kind - about 474
       .cov > div      224 on 35 pages      .g > div        112 on 45 pages
       .quick > div     66 on 33 pages      div.costs        33 on 33 pages
       div.pbar         13                  .steps4 > div     9
       div.conf          7                  .tlist > span     4   and a long tail

     LINKED, and ALREADY carrying an affordance
       /risk-snapshot/ .cov links   Water, underlined, pointer - nothing to do
       .mgrid > a, .row > a.b2, .cbtns > a.s, .ogrid > a, a.cell   all pointer

     LINKED and INVISIBLE - the actual defect, and it is 16 elements on ONE page
       /insurance-guides/  h3 > a   ink #0E1418, no underline, weight 700.
       Identical to a heading that is not a link. The cursor turns to a pointer,
       but a cursor is only discoverable by hovering something you had no reason
       to hover.

   2c needed nothing. Inert cards already compute cursor:auto everywhere - Part 1
   fixed the one exception, span.opt - and the only hover rule that could mislead
   is .cell:hover{background:var(--stone)}, whose 16 elements are all links. There
   was no false affordance left to remove.

   Red is deliberately not used. It is reserved for primary buttons, and spending
   it on card headings would dilute the one signal the design system protects.
   --------------------------------------------------------------------------- */
main .entry-content h2:not(.ss-sitemap__heading) > a[href],
main .entry-content h3:not(.ss-sitemap__heading) > a[href],
main .entry-content h4:not(.ss-sitemap__heading) > a[href] {
	color: var(--water);
	text-decoration: none;
}
/* The arrow is inline after the text rather than pinned to the card edge: the
   site already writes its links this way - "See personal insurance ->" on the
   front page, "Difficult risks ->" on /business-insurance/ - so this matches a
   convention that exists rather than inventing a second one. aria-hidden is not
   needed on a CSS ::after; it is not in the accessibility tree. */
main .entry-content h2:not(.ss-sitemap__heading) > a[href]::after,
main .entry-content h3:not(.ss-sitemap__heading) > a[href]::after,
main .entry-content h4:not(.ss-sitemap__heading) > a[href]::after {
	content: "\00a0\2192";
}
main .entry-content h2:not(.ss-sitemap__heading) > a[href]:hover,
main .entry-content h3:not(.ss-sitemap__heading) > a[href]:hover,
main .entry-content h4:not(.ss-sitemap__heading) > a[href]:focus-visible,
main .entry-content h3:not(.ss-sitemap__heading) > a[href]:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

/* ==========================================================================
   PHASE 3 - THE FOOTER LEGAL BAND (2026-08-20)

   3a measured at 1440: the band content box is 1052px. The widest ink in it is
   the copyright line, 515px. The legal paragraph is 504px of ink inside a 527px
   box - that box is 70ch, set by .ss-footer-legal__disclaimer above, and it
   already runs at 78.8 characters per line, one under the 80-character ceiling.
   It cannot be widened, so the rebalance has to come from layout.

   The links row is 351px of ink in a 1052px box. Moving it beside the paragraph
   fills the empty column and changes no line break anywhere: the disclaimer
   keeps its 5 lines, the copyright keeps its 1.

   The copyright line keeps the full width and stays in row 1, so reading order
   and hierarchy are unchanged.

   Column 1 is auto, not a pixel number - the disclaimer max-width of 70ch sizes
   the track, so there is no second copy of that measure to drift.

   Fenced at 1100, the same fence the Phase 1 broker panel uses. At 1100 the
   links column is 371px against 351px of ink. Below 1100 the links would wrap
   to two rows (302px at 1024) and three at 901, so below 1100 the band is left
   exactly as it is.

   Measured on /personal-insurance/home/, band height and links box:
     1440  316 -> 255   1052 -> 469
     1280  316 -> 255   1052 -> 469
     1200  316 -> 255   1044 -> 461
     1100  316 -> 255    954 -> 371
     1099 / 1024 / 901 / 641 / 390   unchanged
   -------------------------------------------------------------------------- */
@media (min-width: 1100px) {
  .ss-footer-legal {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 56px;
    align-items: start;
  }
  .ss-footer-legal__copy       { grid-column: 1 / -1; grid-row: 1; }
  .ss-footer-legal__disclaimer { grid-column: 1; grid-row: 2; }
  .ss-footer-legal__links      { grid-column: 2; grid-row: 2; margin-top: 0; }
}

/* ==========================================================================
   PHASE 4a - HEADING LINE BREAKS ABOVE 900px (2026-08-20)

   The brief asked for h1,h2,h3 { text-wrap: balance }. Two findings changed it.

   1. That rule ALREADY EXISTS below 901px - mobile.css in the ss-mobile-layer
      plugin carries h1,h2,h3 { text-wrap: balance }. Confirmed on the rendered
      page: computed text-wrap-style is balance at 390, 641 and 900, and auto at
      901, 1024 and 1440. So the only open question was desktop.

   2. Injected on ten pages at 1440 - 272 headings, 34 of them re-broke, none
      gained a line - and SEVEN read worse. balance optimises for equal line
      lengths and will happily break a compound noun or a possessive to get
      there:
        What does home /  insurance actually cover?      splits home insurance
        What  one broker, start /  to finish  actually   splits the quotation
        Who pays the strata s /  deductible when a pipe  orphans the possessive
        What insurance does my /  business actually need orphans the possessive
        Businesses whose /  goods do not stay still      orphans the pronoun
        Three ways to reach /  us. You choose which.     starts a line with us.
        Insurance brokers in /  Delta - open seven days  loses the em-dash break
      The brief said revert if more than two read worse. Seven do, so balance is
      NOT applied above 900px.

   text-wrap: pretty is applied instead. It only adjusts the last lines to
   avoid a one-word ending, so it fixes the defect the phase is about without
   re-breaking the whole heading. Same ten pages, same 272 headings, at 1440:
   18 headings change, 17 are improvements, 1 is neutral, none reads worse, and
   it leaves the /contact/ and /delta/ headings that balance wrecked alone.

     What does home insurance actually /  cover?    became
     What does home insurance /  actually cover?

   Fenced at 901 so it cannot reach the mobile balance rule, which is left
   exactly as it is.
   -------------------------------------------------------------------------- */
@media (min-width: 901px) {
  h1, h2, h3 { text-wrap: pretty; }
}

/* ==========================================================================
   PHASE 4b - THE 641px GRID (2026-08-20)

   16 grids on 16 pages carry an INLINE grid-template-columns:repeat(3,1fr):
   14 unclassed related-cover blocks of 3 links, .steps4 on /contact/ (3), and
   .rgrid on /personal-insurance/ (8). At 641 every one of them renders three
   179px cells and the prose inside runs at two or three words a line.

   WHY !important AND NOT A HIGHER-SPECIFICITY SELECTOR.
   The value is in a style attribute. An inline declaration outranks EVERY
   selector regardless of specificity, so no selector can win. The only lever a
   stylesheet has over a non-important inline declaration is !important. That is
   not a shortcut here, it is the only mechanism. style.css already does exactly
   this at max-width 600.

   WHY THE MATCH IS repeat(3,1fr) AND NOT grid-template-columns.
   The looser attribute match also catches two grids that are already correct:
   the 19-item repeat(2,1fr) on /business-insurance/ and .cov (1fr 1fr) on
   /how-we-work/. Checked on all 53 pages. Matching the exact 3-column string
   touches the 16 that are wrong and nothing else - confirmed by measuring both
   of those pages before and after.

   WHY THE FENCE IS 601 AND NOT 481.
   style.css already collapses these to a single column at max-width 600. Two
   columns at 481 would give ~190px cells, no better than the 179px being fixed
   here, so the existing single-column decision below 601 is left alone. The gap
   this closes is exactly 601 to 900.

   WHY THE grid-column RESET.
   .rgrid   :last-child:nth-child(3n+2) sets grid-column:span 2 so an 8-item
   THREE-column grid ends on a full row. In two columns that leaves item 7 alone
   with a dead cell beside it. The reset cancels it. It needs :nth-child(n) to
   score 0,3,2 - a plain   * scores 0,2,2 and loses to the 0,3,0 rule above.
   (Lesson 1: measured on the rendered page, not assumed.)

   Measured, /business-insurance/marine-cargo/:
     901  3 x 257  unchanged        900  3 x 257 -> 2 x 386
     700  3 x 197 -> 2 x 296        601  3 x 165 -> 2 x 251
     600  1 x 502  unchanged        481 / 390  unchanged
   /personal-insurance/ .rgrid at 641: 3 x 179, height 941, rows 3/3/2
                                    -> 2 x 269, height 833, rows 2/2/2/2
   -------------------------------------------------------------------------- */
@media (min-width: 601px) and (max-width: 900px) {
  body main .entry-content [style*="repeat(3,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
  }
  body main .entry-content [style*="repeat(3,1fr)"] > *:nth-child(n) {
    grid-column: auto;
  }
  body main .entry-content [style*="repeat(3,1fr)"] > *:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

/* ==========================================================================
   CLOSE-OUT PHASE 1 - THE SECONDARY HERO LINK TAP TARGET (2026-08-20, Q-5.1)

   a.alt is the secondary hero call to action - "See what is covered", "See
   what we place". It exists once per page inside section.phero, on 45 of the
   53 pages (the front page, /about/ and /business-insurance/ do not have one).
   pages.css L251 gives it: inline-block, display face 16px/700, ink colour, a
   2px Water border-bottom and 3px of padding under the text. That renders 29px
   tall at 390 and 31px at 1440, beside a.cta at 55px and a.go at 47px.

   THE FIX ADDS NO PIXELS TO THE PAINTED BOX.
   The link is a secondary action and must not start reading as a button, so
   nothing here changes its face, its colour, its weight, its border or its
   position. An absolutely positioned ::after extends only the HIT AREA, and
   only DOWNWARDS, into whitespace that is already empty.

   WHY DOWNWARDS ONLY.
   At 390 on most pages a.cta sits directly above with a 2px gap; on the rest
   the two share a line 21px apart. Expanding upwards would put this target
   inside the red button. Downwards there is nothing: the nearest interactive
   element below is 1364-1657px away at 390 and 2995-4442px at 1440 (the .quick
   block underneath contains no controls). Measured on every page that has one.

   THE OFFSET IS -17px, NOT -15px, AND THAT CORRECTION IS THE POINT.
   The containing block for an absolutely positioned ::after is the PADDING
   box, which excludes the 2px border-bottom. bottom:-15px therefore produced a
   42px hit area, not 44 - the rule landed, read back byte-identical, and was
   still 2px short. Only probing elementFromPoint down the rendered page found
   it (+12 hit the link, +13 hit DIV.wrap). -17px measures 44.0 exactly.

   Result: hit height 29 -> 44.0 at 390 and 31 -> 46.0 at 1440, painted box
   148x29 unchanged, page layout byte-identical - the element below does not
   move. Verified by elementFromPoint and by a real mouse click BELOW the
   visible link, which fired click:A.alt and jumped to #covered.
   -------------------------------------------------------------------------- */
.phero a.alt { position: relative; }
.phero a.alt::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: -17px;
}

/* ==========================================================================
   CLOSE-OUT PHASE 4 - .g BETWEEN 901 AND 1023 (2026-08-20, Q-5.2)

   WHAT .g IS. The brief says it "serves multiple purposes on this site - a
   contact block on some pages, an opening-hours block on others". It does not.
   All 53 pages were checked: there are 47 instances of .g, every one of them is
   THREE children, every child is an h3 followed by a p, and not one of them is
   outside main .entry-content. It is a single component with seven skins:

     gapped, each cell fully bordered   .blueband .ccdc .port .why .promise
     flush, container-bordered, with    .darkband .gap
     a border-left divider between cells

   So 4b's instruction not to apply this where .g is not a prose grid has no
   exceptions to honour - they are all prose grids.

   THE MEASURED BAND IS 901-950, NOT 901-1023.
   Worst characters-per-line on /how-we-work/, three blurbs:
     1440  27.3 / 25.7 / 26.3      1024  27.3 / 25.7 / 26.3
     1023  27.3 / 25.7 / 26.3       960  27.3 / 25.7 / 26.3
      941  20.5 / 25.7 / 19.8       901  20.5 / 19.3 / 19.8
   The blurbs gain a fourth line somewhere between 941 and 960. Above that the
   three-column layout renders exactly as it does at 1440. The fence is still
   901-1023 as the brief specifies, because two columns measures better there
   too (41 against 26) - but the number that matters is 950, and a later run
   that wants to narrow this should narrow it to there.

   THE LAST CELL SPANS. Three items in two columns leaves a dead half. The last
   child, when it is odd-numbered, takes the whole row - the same treatment the
   641px grid got. On .darkband and .gap its border-left is dropped and a
   border-top put in its place, which is exactly what those two skins already do
   at their single-column breakpoint (pages.css L330 and L420). The five gapped
   skins need nothing: each of their cells carries its own border.

   SELECTOR. main .entry-content .g scores 0,2,1 and beats all seven skin rules
   at 0,2,0 without !important. Confirmed on the rendered page, not assumed:
   3x257 became 2x386 on /how-we-work/ and 3x243 became 2x376 on
   /personal-insurance/home/, one from each border family.

   Measured after, characters per line at 901:
     /how-we-work/        20.5/19.3/19.8  ->  41.0/38.5/39.5
     /personal-insurance/home/  21.1/26.5/25.4  ->  37.0/35.3/63.5
     /marine-cargo/       20.3/24.3/22.0  ->  40.5/32.3/44.0
     /business-insurance/ 24.6/29.3/27.2  ->  41.0/39.0/68.0
     /claims/             19.8/20.5/19.0  ->  33.0/41.0/47.5
   1024 and 900 unchanged.
   -------------------------------------------------------------------------- */
@media (min-width: 901px) and (max-width: 1023px) {
  main .entry-content .g { grid-template-columns: 1fr 1fr; }
  main .entry-content .g > *:last-child:nth-child(odd) { grid-column: 1 / -1; }
  main .entry-content .darkband .g div + div:last-child:nth-child(odd),
  main .entry-content .gap .g div + div:last-child:nth-child(odd) {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .24);
  }
}

/* --- PHASE 4c  FIX 1: THE FAQ ROW ENDS 500px BEFORE ITS RULE DOES ---------
   details.q draws a 1px bottom rule across the full 1052px column and puts
   the "+" toggle at the LEFT of the question. Measured at 1440 on
   /business-insurance/crime-employee-theft/, all six rows:

     row box 1052px   question ink 542-572px   empty right end 480-510px

   Every row promised a 1052px control and used just over half of it - six
   times a page, on 48 pages, 276 rows in total. Nothing was drawn in the
   right half except the rule running out to meet nothing.

   REMEDY: the marker moves to the right end of the row. The summary becomes
   a flex row with the question at one end and the toggle at the other, which
   is what every accordion a reader has ever used looks like, and it anchors
   the right end of the rule. The question also recovers the 30px it used to
   give up to the marker indent, so it now starts flush with the section
   heading above it.

   SELECTOR CHECKED AGAINST THREE REAL PAGES FIRST (Lesson 2): /risk-snapshot/,
   /about/ and /business-insurance/event-insurance/ - .q is a <details> on all
   three. Then checked all 53: 49 pages carry a .q, 48 of them as <details>,
   and the HOMEPAGE carries a DIV.q. This selector is scoped to
   details.q summary and does not touch it.

   CLICKED, NOT JUST MEASURED (Lesson 4): the row opens, the marker turns to
   an en dash at the right, and the answer keeps its 66ch measure. Verified at
   390 as well as 1440 - at 390 a two-line question wraps against the 24px gap
   and does not collide with the marker.
   --------------------------------------------------------------------------- */
details.q summary { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
details.q summary::before { order: 2; margin-right: 0; }

/* --- PHASE 4c  FIX 2: THE STONE CALLOUT BAND USES HALF ITS WIDTH ----------
   Shape: section.stoneband (or section.honest) > .wrap > .sec-k + h2.sh +
   .hcard. The heading is capped at 578px and the white card at 608px, both
   left-aligned inside a 1052px column, so the band paints 440-490px of empty
   stone down its whole right-hand side. Measured at 1440:

     /business-insurance/contractors/      54% of width, 489px empty, 694 tall
     /business-insurance/builders-risk/    55% of width, 478px empty, 702 tall
     /business-insurance/general-liability/ 54% of width, 482px empty, 638 tall

   This is the single most visible instance of the fault: it is a COLOURED
   band, so the emptiness is painted rather than merely left as page margin.
   32 pages carry a .hcard; 30 of them have exactly this three-child shape.

   REMEDY: above 1100 the band becomes two columns - heading left, card right.
   No copy moves, no cap is loosened for its own sake; the two elements that
   were stacked are set side by side, which is what the width was there for.

   THE SELECTOR IS DELIBERATELY NARROW. The first version used
   :has(> .hcard) and it made /how-we-work/ 48px TALLER for no gain, because
   that band has a fourth child (.cov) that already fills the width. Measured,
   caught, and fenced: :has(> .hcard:nth-child(3):last-child) selects only the
   30 bands where the card is the third and last thing in the wrap.
   /how-we-work/ and /contact/ both have four children and are untouched -
   re-measured after the change to confirm they are byte-for-byte the same
   height as before.

   Fenced at 1100, the same fence the footer legal band already uses. Below it
   the band is a single narrow column where two columns would be worse, and
   1024 and 390 are untouched - measured, not assumed.
   --------------------------------------------------------------------------- */
@media (min-width: 1100px) {
  .stoneband > .wrap:has(> .hcard:nth-child(3):last-child),
  .honest    > .wrap:has(> .hcard:nth-child(3):last-child) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
    column-gap: 56px;
    align-items: start;
  }
  .stoneband > .wrap:has(> .hcard:nth-child(3):last-child) > .sec-k,
  .honest    > .wrap:has(> .hcard:nth-child(3):last-child) > .sec-k { grid-column: 1 / -1; grid-row: 1; }
  .stoneband > .wrap:has(> .hcard:nth-child(3):last-child) > .sh,
  .honest    > .wrap:has(> .hcard:nth-child(3):last-child) > .sh { grid-column: 1; grid-row: 2; max-width: none; }
  .stoneband > .wrap:has(> .hcard:nth-child(3):last-child) > .hcard,
  .honest    > .wrap:has(> .hcard:nth-child(3):last-child) > .hcard { grid-column: 2; grid-row: 2; max-width: none; margin-top: 0; }
}

/* --- PHASE 4c  FIX 3: THE CLAIMS STEP ROWS ---------------------------------
   /claims/ only. Six .frow rows, each a grid of 74px + 976px with a 1px rule
   under it and a 1px rule after the number. The body holds a heading, a
   paragraph capped at 556px, and a mono line - YOU DO: / WE DO: - that is
   full width but only a few words long. Measured at 1440:

     row box 1050px   ink 590-619px   empty right end 402-431px   rows 162-188 tall

   Total painted emptiness in that one section: about 400 x 1252px.

   REMEDY: above 1100 the body becomes two columns and the mono line moves to
   the right, aligned with the step heading. The row then reads as what it
   actually is - a table of step, description, and who does it - and the mono
   column anchors the right end of every rule. The paragraph keeps its 556px
   cap; nothing is stretched to fill.

   Measured after: ink 994-996 of 1050 (95%), empty right end 26px, and every
   row 33px SHORTER - the section falls from 1252px to 1052px.

   .flow .fbody exists on /claims/ and nowhere else - checked across all 53
   published pages. Fenced at 1100; 1024 and 390 keep the stacked row.
   --------------------------------------------------------------------------- */
@media (min-width: 1100px) {
  .flow .fbody { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); column-gap: 40px; align-items: baseline; }
  .flow .fbody > h3 { grid-column: 1; }
  .flow .fbody > p  { grid-column: 1; }
  .flow .fbody > .you { grid-column: 2; grid-row: 1 / span 20; align-self: start; margin-top: 0; text-align: right; }
}

/* --- PHASE 5  THE CLAIMS BRANCH CARDS COLLAPSE AT 390 --------------------
   FOUND BY LOOKING, NOT BY MEASURING, AND IT IS NOT A REGRESSION FROM THIS
   RUN - it predates every change here.

   /claims/ carries three "call the branch nearest you" cards. Each is a
   tel: link containing three block children: branch name, phone number,
   street address. pages.css sets .calls a { display: block } so they stack.

   mobile.css (the S&S Mobile Layer plugin, max-width 900) sets

     a[href^="tel:"] { min-height: var(--ssm-tap); display: inline-flex; }

   for tap-target compliance. Both selectors are (0,1,1); mobile.css is
   enqueued last, so it wins, and below 900 the card becomes a flex ROW.
   THIS IS THE THIRD TIME THIS PROJECT HAS LOST A SPECIFICITY CONTEST TO
   a[href^="tel:"] - .ss-panel__tel was the first.

   At 600 and 768 the row is wide enough and nothing looks wrong, which is
   why it survived earlier passes. Measured at 390, where the card is 252px:

     branch name 79px | phone 75px | address 53px
     "604-324-5711" wraps onto THREE lines, the address onto three more,
     cards 180 / 137 / 181px tall

   On the claims page. The control a person uses after a fire.

   REMEDY: restore block layout for this one card. .calls > a[href^="tel:"]
   is (0,2,1) and beats the plugin rule without touching the plugin, so the
   44px tap-target min-height it sets is left exactly as it is - re-measured
   after the change and still 44px, on cards that are 186px tall anyway.

   Checked across all 53 published pages before writing this: .calls exists
   on /claims/ and nowhere else, and /claims/ is the ONLY page with any tel:
   link that holds two or more block children - so no other card can be
   affected either way.

   Measured after, at 390: cards 186 / 187 / 231px, all three lines stacked
   and readable. Band 500 -> 606px. Fenced at 900, so 1024 and 1440 are
   untouched - verified, not assumed.
   --------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .calls > a[href^="tel:"] { display: block; }
}

/* --- PHASE 2a  THE HERO BUTTON PAIR IS 2px APART AT 390 --------------------
   .phero holds a red primary (a.cta) and a secondary underlined link (a.alt).
   They are inline-blocks in a block wrap, so on a narrow phone they fall onto
   two lines. Measured across all 53 pages at 390: 39 pages carry the pair,
   33 of them STACK with a vertical gap of exactly 2px, and 6 stay on one line
   with a 21px horizontal gap. Both controls clear 44px, so the tap-target
   standard passes - but the two go to DIFFERENT destinations (/contact/ and
   an in-page anchor), and a thumb aimed at the secondary that lands three
   pixels high opens the primary instead. That is a wrong-destination tap, not
   a small-target one, and no audit that only checks 44px will ever see it.

   The a.alt hit area already extends 17px BELOW its text via ::after (added
   in the close-out run to reach 44px). It does NOT extend upward, so the 2px
   is the whole separation between the two boxes.

   REMEDY: 16px of real space under the primary, below 901. Neither control
   changes size, weight, colour or border - the pair simply stops touching.
   Measured after, on three real pages: gap 2px -> 18px at every stacking
   width, on /personal-insurance/travel-insurance/, /how-we-work/,
   /business-insurance/contractors/ and /declined-insurance/.

   THE FENCE IS 900 AND IT IS DELIBERATELY LOOSE. Where the pair wraps is
   decided by the length of the two labels, not by a breakpoint: most pages
   stack below about 480, but /how-we-work/ still stacks at 520. A tight fence
   would silently stop applying the day a label got longer. The cost of the
   loose fence is 16px of extra hero height between 480 and 900 on the pages
   where the pair is side by side - measured, and it is only that.
   --------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .phero a.cta { margin-bottom: 16px; }
}

/* --- PHASE 2c  text-wrap: pretty ON BODY COPY -----------------------------
   text-wrap:pretty was already on headings above 901 (Phase 4a of the design
   run). It was NOT on paragraphs. Measured by ink, on every paragraph of all
   53 pages, counting a paragraph as widowed when its last line holds one word:

                       multi-line paras   widowed   after pretty   fixed  created
     1440                     1577          175          6          170       1
      390                     1628          326         31          297       2

   The brief flagged a risk: pretty was tried on mobile HEADINGS in an earlier
   run and made 30 of 66 worse, because at a display size a balanced break
   splits compound nouns. Body copy is a different measure - median 64
   characters a line at 1440 and 33 at 390 - so the risk had to be re-tested
   rather than assumed. It was, on all 53 pages at both widths:

     paragraphs that gained a LINE:            1 at 1440,  2 at 390
     paragraphs measurably more ragged:        5 at 1440,  8 at 390
     paragraphs measurably LESS ragged:        3 at 1440, 11 at 390

   ALL THREE of the paragraphs that gained a line are on /privacy/, and all
   three end in a bare URL that cannot be broken. I looked at them rather than
   trusting the count, and the count is misleading: WITHOUT pretty the URLs
   are hyphen-broken across two lines -

     appliedsystems.com/privacy-        kinsta.com/legal/privacy-
     policy                             policy

   - and WITH pretty each URL sits whole on its own line. The paragraph is one
   line taller and materially easier to read and to copy. The metric flagged
   them; the eye clears them. Those five paragraphs are the only ones on the
   whole site containing an unbreakable token of 22 characters or more.
   --------------------------------------------------------------------------- */
main .entry-content p { text-wrap: pretty; }
