@font-face{font-family:"Besley";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/font-izgcls4z-besley-700.woff2) format("woff2")}
@font-face{font-family:"Rethink Sans";font-weight:400;font-style:normal;font-display:swap;src:url(/assets/font-izgcls4z-rethink-sans-400.woff2) format("woff2")}
@font-face{font-family:"Rethink Sans";font-weight:700;font-style:normal;font-display:swap;src:url(/assets/font-izgcls4z-rethink-sans-700.woff2) format("woff2")}

:root{--ink:#14161a;--ink2:#3c4046;--bone:#f3f6f6;--bone2:#d2d9db;--deck:#e2e7e9;--deck2:#cfd6d9;--white:#fcfefe;--yellow:#f5b800;--yellow-hi:#ffd23d;--grey:#7b8087;--rail:#4a5057;
--head:"Besley","Rockwell","Clarendon",Georgia,serif;--body:"Rethink Sans","Helvetica Neue",Arial,sans-serif;--maxw:1180px;--gap:clamp(1.25rem,3.4vw,3rem)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background-color:var(--deck);background-image:linear-gradient(rgba(20,22,26,.07) 2px,transparent 2px);background-size:100% 92px;color:var(--ink);font-family:var(--body);font-weight:400;font-size:18px;line-height:1.62;font-synthesis:none;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--yellow);color:var(--ink)}
a{color:var(--ink);text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:4px;text-decoration-color:var(--ink)}
a:visited{color:var(--ink2)}
a:hover{background:var(--yellow);color:var(--ink);text-decoration-color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:4px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 7px var(--yellow)}
strong{font-weight:700}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.1;margin:0 0 .5em;letter-spacing:-.005em;color:var(--ink)}
h1{font-size:clamp(2.35rem,5.2vw,4.4rem);line-height:1.03}
h2{font-size:clamp(1.8rem,3.3vw,2.75rem)}
h3{font-size:1.3rem;line-height:1.2}
p{margin:0 0 1em;max-width:38rem}
.so2xy-wrap{width:min(100% - 2.5rem,var(--maxw));margin-inline:auto}
.so2xy-skip{position:absolute;left:-999px;top:0;background:var(--yellow);color:var(--ink);border:3px solid var(--ink);padding:.7rem 1.2rem;font-weight:700}.so2xy-skip:focus{left:1rem;top:1rem;z-index:99}

/* deck rail: the black header with the painted yellow edge */
.so2xy-head{position:sticky;top:0;z-index:20;background:var(--ink);border-bottom:8px solid var(--yellow)}
.so2xy-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.so2xy-brand{display:inline-flex;align-items:center;gap:.8rem;font-family:var(--head);font-weight:700;font-size:1.3rem;line-height:1.1;color:var(--bone);text-decoration:none;padding:.4rem 0}
.so2xy-brand:visited{color:var(--bone)}
.so2xy-brand:hover{background:none;color:var(--yellow)}
.so2xy-brand img{display:none}
.so2xy-brand::before{content:"";flex:none;width:14px;height:34px;background:var(--yellow);box-shadow:inset 0 -9px 0 var(--bone2)}
.so2xy-links{display:flex;align-items:center;gap:.3rem}
.so2xy-links a{display:inline-flex;align-items:center;min-height:48px;padding:0 .85rem;color:var(--bone);font-weight:700;font-size:1rem;text-decoration:none;border-bottom:4px solid transparent}
.so2xy-links a:visited{color:var(--bone)}
.so2xy-links a:hover{background:none;color:var(--yellow);border-bottom-color:var(--yellow)}
.so2xy-links .so2xy-cta{margin-left:.6rem;background:var(--yellow);color:var(--ink);border:3px solid var(--yellow);padding:0 1.15rem}
.so2xy-links .so2xy-cta:visited{color:var(--ink)}
.so2xy-links .so2xy-cta:hover{background:var(--bone);border-color:var(--bone);color:var(--ink)}
.so2xy-menu{display:none;align-items:center;justify-content:center;width:50px;height:50px;background:transparent;border:3px solid var(--bone);border-radius:0;color:var(--bone);cursor:pointer;padding:0}
.so2xy-menu:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
@media (max-width:860px){
.so2xy-menu{display:inline-flex}
.so2xy-links{display:none;position:absolute;left:0;right:0;top:100%;margin-top:8px;background:var(--ink);border-bottom:8px solid var(--yellow);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1.25rem}
.so2xy-links[data-open]{display:flex}
.so2xy-links a{min-height:52px;border-bottom:1px solid var(--rail);padding:0 .2rem}
.so2xy-links .so2xy-cta{margin:1rem 0 0;justify-content:center;border:3px solid var(--yellow)}
}

/* weather: a plank-white strip under the rail */
.so2xy-wx{padding-inline:.5rem;background:var(--white);color:var(--ink);border-bottom:3px solid var(--ink)}
.so2xy-wx-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.6rem;padding:.75rem 0}
.so2xy-wx-photo{display:inline-flex;align-items:center;gap:.7rem;background:none;border:0;padding:0;color:var(--ink);font:inherit;cursor:pointer;min-height:52px}
.so2xy-wx-photo img{width:52px;height:52px;border-radius:0;object-fit:cover;border:3px solid var(--ink)}
.so2xy-wx-photo span{font-size:.88rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:3px solid var(--ink);border-radius:0;padding:.3rem .7rem;background:var(--yellow);color:var(--ink)}
.so2xy-wx-photo:hover span,.so2xy-wx-photo[aria-expanded=true] span{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.so2xy-wx-now{display:flex;align-items:center;gap:.7rem}
.so2xy-wx-now strong{font-family:var(--head);font-weight:700;font-size:2.3rem;line-height:1}
.so2xy-wx-now span{font-size:1rem}.so2xy-wx-now small{display:block;font-size:.9rem;color:var(--ink2)}
.so2xy-wx-icon{display:inline-flex;color:var(--ink)}
.so2xy-wx-days{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.so2xy-wx-days li{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.6rem;align-items:center;border:2px solid var(--ink);border-left-width:8px;background:var(--deck);border-radius:0;padding:.3rem .7rem .35rem;font-size:.9rem;min-width:128px}
.so2xy-wx-day{font-weight:700;grid-column:1;letter-spacing:.06em;text-transform:uppercase}.so2xy-wx-glyph{grid-row:1/3;grid-column:2;color:var(--ink)}.so2xy-wx-glyph svg{width:24px;height:24px}
.so2xy-wx-hl{grid-column:1}.so2xy-wx-hl strong{font-size:1rem}.so2xy-wx-hl em{font-style:normal;color:var(--ink2);margin-left:.3rem}
.so2xy-wx-cond{grid-column:1/3;font-size:.85rem;color:var(--ink2);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so2xy-wx-source{margin-left:auto;font-size:.88rem;color:var(--ink2)}
.so2xy-wx-panel{padding:0 0 1rem}.so2xy-wx-panel[hidden]{display:none}
.so2xy-wx-panel img{border-radius:0;max-width:600px;width:100%;background:#0b1020;border:3px solid var(--ink)}
.so2xy-wx-panel p{font-size:.9rem;color:var(--ink2);margin:.5rem 0 0}
@media (max-width:700px){.so2xy-wx-source{margin-left:0;width:100%}.so2xy-wx-now strong{font-size:2rem}}

/* captions: the eyebrow is a small running line with a painted tick, never a chip */
.so2xy-eyebrow{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem;max-width:none;font-size:.88rem;font-weight:700;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.so2xy-eyebrow::before{content:"";flex:none;width:26px;height:8px;background:var(--yellow);box-shadow:0 0 0 2px var(--ink)}
.so2xy-lead{font-size:1.28rem;line-height:1.5;color:var(--ink2);max-width:36rem}

/* hero: creosote black, the pier in section */
.so2xy-hero{background:var(--ink);color:var(--bone);padding:3.5rem 0 3.2rem}
.so2xy-hero h1{color:var(--bone)}
.so2xy-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:var(--gap);align-items:center}
.so2xy-hero .so2xy-lead{color:var(--bone2)}
.so2xy-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.8rem 0 0;max-width:none}
.so2xy-trust{display:grid;grid-template-columns:1fr 1fr;gap:0 1.6rem;margin:2.2rem 0 0;padding:0;list-style:none;border-top:2px solid var(--rail);font-size:1rem;color:var(--bone)}
.so2xy-trust li{padding:.7rem 0;border-bottom:1px solid var(--rail);line-height:1.35}
.so2xy-trust li::before{content:"";display:inline-block;width:.7rem;height:.7rem;margin-right:.65rem;background:var(--yellow);vertical-align:.02em}
.so2xy-hero-art{margin:0}
.so2xy-hero-art svg{display:block;width:100%;height:auto;aspect-ratio:720/520}
.so2xy-hero .so2xy-eyebrow{color:var(--bone2);margin:1rem 0 0}
.so2xy-hero .so2xy-eyebrow::before{box-shadow:0 0 0 2px var(--bone2)}
.so2xy-hero .so2xy-btn--ghost{color:var(--bone);border-color:var(--bone)}
.so2xy-hero .so2xy-btn--ghost:visited{color:var(--bone)}
.so2xy-hero .so2xy-btn--ghost:hover{background:var(--bone);color:var(--ink)}
@media (max-width:900px){.so2xy-hero-grid{grid-template-columns:minmax(0,1fr)}.so2xy-hero-art{order:-1}.so2xy-hero-art svg{aspect-ratio:16/10}}
@media (max-width:520px){.so2xy-trust{grid-template-columns:minmax(0,1fr)}}

/* painted hazard stripe between the sections */
.so2xy-hazard{height:14px;background:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2736%27 height=%2714%27 viewBox=%270 0 36 14%27%3E%3Crect width=%2736%27 height=%2714%27 fill=%27%23f5b800%27/%3E%3Cpath d=%27M14 0h12L22 14H10z%27 fill=%27%2314161a%27/%3E%3C/svg%3E") repeat-x 0 0/36px 14px}

/* photo plates: one wide plank and two beside it */
.so2xy-plates{padding:clamp(2rem,5vw,3.6rem) 0 clamp(2rem,5vw,3.4rem)}
.so2xy-mosaic{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,auto);gap:clamp(.8rem,1.8vw,1.4rem)}
.so2xy-mosaic a{position:relative;display:block;border:3px solid var(--ink);border-radius:0;overflow:hidden;background:var(--ink);color:var(--bone);text-decoration:none;aspect-ratio:auto}
.so2xy-mosaic a:first-child{grid-column:1;grid-row:1/3;aspect-ratio:auto}
.so2xy-mosaic img{width:100%;height:100%;min-height:200px;object-fit:cover;transition:transform .4s}
.so2xy-mosaic a:hover img,.so2xy-mosaic a:focus-visible img{transform:scale(1.02)}
.so2xy-mosaic a:hover{background:var(--ink)}
.so2xy-mosaic span{position:absolute;left:0;bottom:0;max-width:92%;padding:.65rem 1rem .7rem;background:var(--ink);border-top:6px solid var(--yellow);color:var(--bone);font-family:var(--head);font-weight:700;font-size:1.1rem;line-height:1.25}
.so2xy-mosaic a:hover span{color:var(--yellow)}
.so2xy-mosaic a:visited span{color:var(--bone2)}
@media (max-width:760px){.so2xy-mosaic{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.so2xy-mosaic a:first-child{grid-column:auto;grid-row:auto}.so2xy-mosaic img{min-height:0;aspect-ratio:16/10}}

/* sections */
.so2xy-sec{padding:2.6rem 0 3.4rem}
.so2xy-section{padding:2.8rem 0 3rem}
.so2xy-section--soft{padding-inline:.5rem;background:var(--yellow);border-top:14px solid var(--ink);border-bottom:6px solid var(--ink);padding:2.8rem 0 3.4rem}
.so2xy-section--deep{background:var(--ink);color:var(--bone)}
.so2xy-sec--last{padding-bottom:4.4rem}
.so2xy-shead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.2rem 2rem;border-bottom:6px solid var(--ink);padding-bottom:.4rem;margin-bottom:1.6rem}
.so2xy-shead h2{margin:0;max-width:24ch}
.so2xy-shead .so2xy-eyebrow{margin:0 0 .6rem;text-align:right;flex:none}
@media (max-width:700px){.so2xy-shead{display:block}.so2xy-shead .so2xy-eyebrow{margin:.5rem 0 .6rem}}

.so2xy-cols{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.so2xy-card{background:var(--white);border:3px solid var(--ink);border-radius:0;padding:1.4rem 1.4rem 1.3rem}
.so2xy-card p:last-child{margin-bottom:0}
.so2xy-steps{display:grid;gap:2.2rem 1.6rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding-top:1.6rem}
.so2xy-steps .so2xy-card{position:relative;padding-top:2.7rem;box-shadow:7px 7px 0 var(--ink)}
.so2xy-num{position:absolute;top:-1.7rem;left:1.2rem;display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;background:var(--yellow);border:3px solid var(--ink);box-shadow:inset 0 0 0 4px var(--white);color:var(--ink);font-family:var(--head);font-weight:700;font-size:1.5rem;line-height:1;margin:0}

/* buttons */
.so2xy-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;border:3px solid var(--ink);border-radius:0;padding:.7rem 1.5rem;font:inherit;font-weight:700;font-size:1.05rem;line-height:1.2;cursor:pointer;text-decoration:none}
.so2xy-btn--primary{background:var(--yellow);border-color:var(--ink);color:var(--ink);box-shadow:5px 5px 0 var(--ink)}
.so2xy-btn--primary:visited{color:var(--ink)}
.so2xy-btn--primary:hover{background:var(--yellow-hi);color:var(--ink);box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}
.so2xy-hero .so2xy-btn--primary{border-color:var(--yellow);box-shadow:5px 5px 0 var(--bone)}
.so2xy-hero .so2xy-btn--primary:hover{box-shadow:2px 2px 0 var(--bone)}
.so2xy-btn--ghost{background:transparent;color:var(--ink)}
.so2xy-btn--ghost:visited{color:var(--ink)}
.so2xy-btn--ghost:hover{background:var(--ink);color:var(--bone)}
.so2xy-btn[disabled]{background:var(--deck2);border-color:var(--grey);color:var(--ink2);box-shadow:none;cursor:progress}

/* yellow band that holds the quote */
.so2xy-panel{background:var(--yellow);border-top:14px solid var(--ink);border-bottom:6px solid var(--ink);padding:3.2rem 0 3.8rem}
.so2xy-panel .so2xy-eyebrow::before,.so2xy-section--soft .so2xy-eyebrow::before{background:var(--ink);box-shadow:none}
.so2xy-section--soft .so2xy-eyebrow,.so2xy-section--soft .so2xy-lead{color:var(--ink)}

/* quote engine */
.so2xy-quote{background:var(--white);border:3px solid var(--ink);border-radius:0;padding:clamp(1.2rem,3vw,2.2rem);box-shadow:9px 9px 0 var(--ink)}
.so2xy-quote h2{font-size:clamp(1.6rem,2.8vw,2.2rem);max-width:none}
.so2xy-section--soft .so2xy-quote{max-width:62rem}
.so2xy-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.5rem}
@media (max-width:560px){.so2xy-fields{grid-template-columns:minmax(0,1fr)}}
.so2xy-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.so2xy-field>span{font-size:1rem;font-weight:700}
.so2xy-field input,.so2xy-field select,.so2xy-field textarea{font:inherit;font-size:1.05rem;min-height:50px;padding:.65rem .8rem;border:3px solid var(--ink);border-radius:0;background:var(--white);color:var(--ink);width:100%}
.so2xy-field input:focus,.so2xy-field select:focus,.so2xy-field textarea:focus{outline:4px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 7px var(--yellow)}
.so2xy-field--wide{grid-column:1/-1}
.so2xy-seg{display:flex;flex-wrap:wrap;gap:.55rem}
.so2xy-seg label{position:relative;display:block;cursor:pointer;border:0;padding:0;border-radius:0}
.so2xy-seg input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0}
.so2xy-seg span{display:inline-flex;align-items:center;gap:.55rem;min-height:50px;padding:.5rem 1.1rem;border:3px solid var(--ink);border-radius:0;background:var(--white);color:var(--ink);font-size:1rem;font-weight:700}
.so2xy-seg label:hover span{background:var(--deck)}
.so2xy-seg input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bone);margin:0;padding:.5rem 1.1rem;display:inline-flex;border-radius:0}
.so2xy-seg input:checked+span::before{content:"";flex:none;width:.7rem;height:.7rem;background:var(--yellow)}
.so2xy-seg label:has(input:checked){background:transparent;border:0}
.so2xy-seg input:focus-visible+span{outline:4px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 7px var(--yellow)}
.so2xy-note{font-size:.95rem;color:var(--ink2);margin-top:1rem;max-width:34rem}
.so2xy-status{margin-top:.8rem;font-weight:700;min-height:1.4em}
.so2xy-status[data-tone=error]{color:#9c1c1c}
.so2xy-results{margin-top:2rem}
.so2xy-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:baseline;margin-bottom:1rem;font-size:1rem;border-top:6px solid var(--ink);padding-top:.8rem}
.so2xy-result{display:grid;grid-template-columns:1fr auto;gap:.6rem 1.4rem;align-items:center;border:3px solid var(--ink);border-left-width:12px;border-radius:0;padding:1rem 1.1rem;margin-bottom:.8rem;background:var(--white)}
.so2xy-result--best{background:#fff1b8;box-shadow:6px 6px 0 var(--ink)}
.so2xy-result strong{font-family:var(--head);font-weight:700;font-size:1.2rem}
.so2xy-result small{display:block;color:var(--ink2);font-size:.92rem}
.so2xy-price{font-family:var(--head);font-size:2rem;font-weight:700;text-align:right;line-height:1}
.so2xy-price small{display:block;font-family:var(--body);font-size:.85rem;font-weight:700;text-align:right;margin-top:.3rem}
.so2xy-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.so2xy-tag{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border-radius:0;background:var(--white);color:var(--ink);border:2px solid var(--ink)}
.so2xy-tag--now{background:var(--ink);color:var(--yellow);border-color:var(--ink)}
.so2xy-tag--noexam{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.so2xy-tag--usually{background:var(--deck);color:var(--ink);border-color:var(--ink)}
.so2xy-group{font-size:1.4rem;margin:1.8rem 0 .6rem;border-top:6px solid var(--ink);padding-top:.7rem}
.so2xy-applicant{margin:.2rem 0 1rem;border-color:var(--ink)}
.so2xy-result .so2xy-btn{grid-column:1/-1;justify-self:start}
@media (min-width:640px){.so2xy-result{grid-template-columns:1fr auto auto}.so2xy-result .so2xy-btn{grid-column:auto}}
.so2xy-disclosure{font-size:.92rem;color:var(--ink2);border-top:2px solid var(--ink);padding-top:.9rem;margin-top:1.2rem}
details.so2xy-more{margin-top:.5rem;font-size:.95rem}details.so2xy-more summary{cursor:pointer;color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}

/* no-exam highlight */
.so2xy-noexam{background:#fff1b8;border:3px solid var(--ink);border-radius:0;padding:1rem 1.2rem .6rem;margin:0 0 1.6rem;box-shadow:6px 6px 0 var(--ink)}
.so2xy-group--noexam{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:0;border-top:0;padding-top:0;font-size:1.4rem}
.so2xy-noexam-badge{display:inline-block;background:var(--ink);color:var(--yellow);font-family:var(--body);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .7rem;border-radius:0}
.so2xy-noexam-note{margin-bottom:.9rem;color:var(--ink)}
.so2xy-result--noexam{background:var(--white)}
.so2xy-noexam-note+.so2xy-noexam-note{margin-top:1rem;padding-top:.9rem;border-top:2px solid var(--ink)}

/* rates: a schedule board */
.so2xy-rates-note{margin-bottom:1.2rem}.so2xy-rates-note p{color:var(--ink2);font-size:1rem;max-width:44rem}
.so2xy-table-wrap{overflow-x:auto;border:3px solid var(--ink);background:var(--white);box-shadow:7px 7px 0 var(--ink)}
.so2xy-table{width:100%;border-collapse:collapse;font-size:1.08rem;font-variant-numeric:tabular-nums lining-nums}
.so2xy-table th,.so2xy-table td{padding:.9rem .9rem;border-bottom:2px solid var(--deck2);text-align:left;vertical-align:baseline}
.so2xy-table th{background:var(--ink);color:var(--bone);font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3;border-bottom:6px solid var(--yellow)}
.so2xy-table td:first-child{font-weight:700}
.so2xy-table th:not(:first-child),.so2xy-table td:not(:first-child){text-align:right}
.so2xy-table tbody tr:last-child td{border-bottom:0}
@media (max-width:520px){.so2xy-table{font-size:1rem}.so2xy-table th,.so2xy-table td{padding:.7rem .5rem}.so2xy-table th{font-size:.76rem;letter-spacing:.04em}}

/* why: a white plank with two columns and a drop initial */
.so2xy-whyband{background:var(--white);border-top:6px solid var(--ink);border-bottom:6px solid var(--ink)}
.so2xy-why-text{column-count:2;column-gap:clamp(1.5rem,3vw,3rem);margin-top:.4rem}
.so2xy-why-text p{max-width:none}
.so2xy-why-text>p:first-child::first-letter{float:left;font-family:var(--head);font-weight:700;font-size:5.2rem;line-height:.8;padding:.06em .12em .02em 0;margin:.04em .14em 0 0;color:var(--ink);background:var(--yellow);padding:.06em .1em 0;border:3px solid var(--ink)}
.so2xy-why-links{column-span:all;margin-top:.8rem;padding:1rem 1.2rem;border:3px solid var(--ink);border-left-width:14px;background:var(--deck)}
.so2xy-why-links p{max-width:none;margin:0;font-size:1.05rem;line-height:1.9}
.so2xy-why-links a{font-weight:700}
@media (max-width:760px){.so2xy-why-text{column-count:1}}

/* learn: four planks with a heavy left edge */
.so2xy-learn-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}
.so2xy-learn-list>a.so2xy-card{display:block;border-left-width:16px;color:var(--ink);text-decoration:none;padding:1.2rem 1.4rem 1.3rem}
.so2xy-learn-list>a.so2xy-card:visited{color:var(--ink2);border-left-color:var(--grey)}
.so2xy-learn-list>a.so2xy-card h3{margin:0 0 .4rem}
.so2xy-learn-list>a.so2xy-card p{margin:0;color:var(--ink2)}
.so2xy-learn-list>a.so2xy-card:hover{background:var(--white);border-left-color:var(--yellow);box-shadow:7px 7px 0 var(--ink)}
.so2xy-learn-list>a.so2xy-card:hover h3{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
@media (max-width:700px){.so2xy-learn-list{grid-template-columns:minmax(0,1fr)}}

/* inner pages */
.so2xy-article,.so2xy-section--soft>.so2xy-wrap{display:flex;flex-direction:column;align-items:stretch}
.so2xy-article>h1,.so2xy-section--soft>.so2xy-wrap>h1{order:-2;margin-bottom:.35em;max-width:20ch}
.so2xy-article>.so2xy-eyebrow,.so2xy-section--soft>.so2xy-wrap>.so2xy-eyebrow{order:-1;margin:0 0 1.4rem}
.so2xy-article>script,.so2xy-section--soft>.so2xy-wrap>script{display:none}
.so2xy-article{max-width:58rem;margin-inline:max(1.25rem,calc((100% - var(--maxw))/2));width:auto;border-left:10px solid var(--ink);padding:.2rem 0 .2rem clamp(1.1rem,3vw,2.4rem)}
.so2xy-section>.so2xy-wrap.so2xy-article{width:auto}
.so2xy-article h2{margin-top:1.8em;font-size:clamp(1.55rem,2.6vw,2.15rem)}
.so2xy-article p{font-size:1.1rem;max-width:42rem}
.so2xy-article .so2xy-lead{font-size:1.3rem}
.so2xy-article>.so2xy-lead+p::first-letter,.so2xy-article>figure+p::first-letter{float:left;font-family:var(--head);font-weight:700;font-size:4.8rem;line-height:.8;margin:.04em .14em 0 0;padding:.06em .1em 0;color:var(--ink);background:var(--yellow);border:3px solid var(--ink)}
.so2xy-article figure{margin:0 0 1.8rem;max-width:44rem}
.so2xy-article figure img{border:3px solid var(--ink);border-radius:0;width:100%}
.so2xy-article figcaption{font-size:.92rem;color:var(--ink2);margin-top:.6rem;max-width:40rem;border-left:6px solid var(--yellow);padding-left:.8rem}
.so2xy-article img{border-radius:0}
.so2xy-article .so2xy-btn{margin-top:.4rem;align-self:flex-start}
.so2xy-sources{font-size:1rem;border-top:6px solid var(--ink);padding-top:1rem;margin-top:2.4rem}.so2xy-sources ol{padding-left:1.3rem;margin:.5rem 0 0}.so2xy-sources li{margin-bottom:.3rem}
.so2xy-faq{margin-top:1.2rem}
.so2xy-faq details{background:var(--white);border:3px solid var(--ink);margin-bottom:.8rem;padding:0}
.so2xy-faq details[open]{border-left-width:14px;box-shadow:6px 6px 0 var(--ink)}
.so2xy-faq summary{cursor:pointer;font-family:var(--head);font-weight:700;font-size:1.22rem;line-height:1.3;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;padding:.7rem 1.1rem}
.so2xy-faq summary::-webkit-details-marker{display:none}
.so2xy-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:2.2rem;height:2.2rem;background:var(--yellow);border:3px solid var(--ink);font-family:var(--body);font-weight:700;font-size:1.5rem;line-height:1}
.so2xy-faq details[open] summary::after{content:"\2212"}
.so2xy-faq details[open] summary{border-bottom:3px solid var(--ink)}
.so2xy-faq summary:hover{background:var(--deck)}
.so2xy-faq details p{margin:0;padding:1rem 1.1rem .2rem;max-width:44rem}
.so2xy-faq details p:last-child{padding-bottom:1.1rem}
.so2xy-calc{border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink);background:var(--white);padding:1.4rem 1.5rem;margin:1.6rem 0 2rem;max-width:44rem}
.so2xy-calc h2{margin-top:0!important;font-size:1.5rem!important}
.so2xy-calc output{font-family:var(--head);font-size:2.6rem;font-weight:700;display:block;margin-top:1.1rem;color:var(--ink);line-height:1.1;border-top:6px solid var(--yellow);padding-top:.5rem}
.so2xy-apply-shell{background:var(--white);border:3px solid var(--ink);border-radius:0;box-shadow:9px 9px 0 var(--ink);padding:1rem;min-height:600px}
.so2xy-apply-shell iframe{width:100%;border:0}
@media (max-width:620px){.so2xy-article{border-left-width:6px;padding-left:1rem}}

/* the quay at the foot of the page */
.so2xy-foot{background:var(--ink);color:var(--bone2);border-top:14px solid var(--yellow);padding:2.8rem 0 3rem;font-size:1rem}
.so2xy-foot-grid{display:grid;gap:1.8rem var(--gap);grid-template-columns:2fr 1fr 1fr}
@media (max-width:700px){.so2xy-foot-grid{grid-template-columns:minmax(0,1fr)}}
.so2xy-foot a{color:var(--bone)}
.so2xy-foot a:visited{color:var(--bone2)}
.so2xy-foot a:hover{background:var(--yellow);color:var(--ink)}
.so2xy-foot .so2xy-brand{font-size:1.5rem;padding:0 0 .7rem}
.so2xy-foot .so2xy-brand:hover{background:none;color:var(--yellow)}
.so2xy-foot p{color:var(--bone2)}
.so2xy-foot p[data-copy]{font-size:.9rem!important;margin-top:1.8rem!important;max-width:42rem;border-top:2px solid var(--rail);padding-top:1rem}
.so2xy-foot nav strong{display:block;color:var(--yellow);font-size:.88rem;letter-spacing:.14em;text-transform:uppercase;border-top:4px solid var(--yellow);padding-top:.6rem;margin-bottom:.4rem}
.so2xy-foot nav a{display:flex;align-items:center;min-height:44px;margin:0;font-weight:700;text-decoration:none}
.so2xy-foot nav a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

[data-reveal],[data-reveal].so2xy-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.so2xy-mosaic img,.so2xy-btn{transition:none}.so2xy-btn--primary:hover{transform:none}}

/* inset so bordered and coloured bands never sit flush against their content */
.so2xy-wx,.so2xy-hero,.so2xy-panel,.so2xy-section--soft,.so2xy-whyband,.so2xy-sec,.so2xy-section{padding-left:.6rem;padding-right:.6rem}
.so2xy-table-wrap{padding:.35rem}

@media (max-width:700px){.so2xy-hero{padding-top:1.8rem;padding-bottom:2rem}.so2xy-sec{padding-top:1.8rem;padding-bottom:2.4rem}.so2xy-section,.so2xy-section--soft{padding-top:2rem;padding-bottom:2.4rem}.so2xy-panel{padding-top:2.2rem;padding-bottom:2.6rem}.so2xy-sec--last{padding-bottom:3rem}}
