@font-face{font-family:"Rozha One";src:url(/assets/font-uinw4mxb-rozha-one-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/assets/font-uinw4mxb-atkinson-hyperlegible-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/assets/font-uinw4mxb-atkinson-hyperlegible-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--paper:#E7EDE2;--paper-hi:#F8FAF3;--tray:#D3DCC7;--ink:#18241E;--ink-soft:#364A3F;--green:#1D4B39;--green-deep:#12332A;--ochre:#D9A02E;--ochre-lt:#F2DDA2;--seal:#B3361B;--seal-deep:#8C2713;--display:"Rozha One","Bodoni 72","Didot",Georgia,serif;--body:"Atkinson Hyperlegible","Gill Sans","Trebuchet MS",Calibri,sans-serif;--measure:40rem;--maxw:72rem;--radius:3px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background-color:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.0925rem;line-height:1.62}
::selection{background:var(--green);color:var(--paper-hi)}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-underline-offset:.22em;text-decoration-thickness:1.5px}
a:hover{color:var(--seal-deep);text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--seal);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;margin:0 0 .5em;letter-spacing:0;color:var(--green);text-wrap:balance}
h1{font-size:clamp(2.35rem,6.4vw,4.9rem);line-height:1.02}
h2{font-size:clamp(1.75rem,3.4vw,2.65rem)}
h3{font-size:1.3rem;line-height:1.2}
p{margin:0 0 1em;max-width:var(--measure)}
.soiii-wrap{width:min(100%,calc(var(--maxw) + 2.5rem));padding-inline:1.25rem;margin-inline:auto}
@media (max-width:600px){.soiii-wrap{padding-inline:1rem}}
.soiii-skip{position:absolute;left:-999px;top:0;background:var(--ochre);color:var(--ink);padding:.8rem 1rem;z-index:99;font-weight:700}.soiii-skip:focus{left:1rem;top:1rem}

/* art */
svg[class*="soiii-art-"]{display:block;pointer-events:none}
.soiii-a-wood{fill:var(--ochre)}.soiii-a-wood-line{stroke:var(--green)}.soiii-a-iron-line{stroke:var(--ink)}
.soiii-a-ink{fill:var(--ink)}.soiii-a-ink-line{stroke:var(--ink)}
.soiii-a-green{fill:var(--green)}.soiii-a-ochre{fill:var(--ochre)}.soiii-a-ochre-line{stroke:var(--ochre)}
.soiii-a-seal{fill:var(--seal)}.soiii-a-paper{fill:var(--paper-hi)}.soiii-a-paper-line{stroke:var(--paper-hi)}
.soiii-a-ground{stroke:var(--ink)}

/* header: green strip, ochre paper band underneath */
.soiii-head{position:relative;z-index:20;background:var(--green);color:var(--paper-hi);border-bottom:6px solid var(--ochre);box-shadow:0 3px 0 var(--ink)}
.soiii-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.4rem 1.6rem;min-height:74px}
.soiii-brand{display:inline-flex;align-items:center;gap:.75rem;min-height:48px;font-family:var(--display);font-weight:400;font-size:1.4rem;line-height:1.1;color:var(--paper-hi);text-decoration:none}
.soiii-brand img{display:none}
.soiii-brand::before{content:"";flex:none;width:42px;height:42px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='17.5' fill='none' stroke='%23D9A02E' stroke-width='4'/%3E%3Cg stroke='%23FBF8EC' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M20 5v30M5 20h30M9.4 9.4l21.2 21.2M30.6 9.4L9.4 30.6'/%3E%3C/g%3E%3Ccircle cx='20' cy='20' r='5' fill='%23B3361B' stroke='%23FBF8EC' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .8s var(--ease)}
.soiii-brand:hover{color:var(--ochre-lt)}.soiii-brand:hover::before{transform:rotate(60deg)}
.soiii-links{display:flex;align-items:center;gap:0 1.4rem}
.soiii-links a{display:inline-flex;align-items:center;min-height:48px;color:var(--paper-hi);text-decoration:none;font-weight:700;font-size:1.05rem;background:linear-gradient(var(--ochre),var(--ochre)) left calc(50% + .9rem)/0 3px no-repeat;transition:background-size .45s var(--ease)}
.soiii-links a:not(.soiii-cta):hover{background-size:100% 3px;color:var(--paper-hi)}
.soiii-cta{background:var(--ochre)!important;color:var(--ink)!important;padding:0 1.25rem;border:3px solid var(--ink);border-radius:var(--radius);box-shadow:3px 3px 0 var(--ink);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.soiii-links a.soiii-cta:hover{background:var(--ochre-lt)!important;color:var(--ink)!important;transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.soiii-menu{display:none;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:var(--paper-hi);border:3px solid var(--ink);border-radius:var(--radius);color:var(--ink);cursor:pointer}
@media (max-width:760px){
.soiii-menu{display:inline-flex}
.soiii-links{display:none;position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;flex-direction:column;align-items:stretch;gap:.2rem;padding:1rem;background:var(--paper-hi);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.soiii-links[data-open]{display:flex}
.soiii-links a{color:var(--ink);background-position:left calc(50% + .9rem)}
.soiii-links a:not(.soiii-cta):hover{color:var(--ink)}
.soiii-cta{justify-content:center;margin-top:.4rem}
.soiii-brand{font-size:1.18rem}
.soiii-brand::before{width:36px;height:36px}
}

/* weather: a dated slip */
.soiii-wx{background:var(--paper-hi);color:var(--ink);border-bottom:2px dashed var(--green)}
.soiii-wx-row{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.6rem;padding:.8rem 0}
.soiii-wx-photo{display:inline-flex;align-items:center;gap:.7rem;min-height:48px;background:none;border:0;padding:0;color:var(--green);font:inherit;cursor:pointer}
.soiii-wx-photo img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid var(--green);filter:grayscale(1) contrast(1.05)}
.soiii-wx-photo span{font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--green);border-radius:var(--radius);padding:.3rem .65rem;min-height:36px;display:inline-flex;align-items:center}
.soiii-wx-photo:hover span,.soiii-wx-photo[aria-expanded=true] span{background:var(--green);border-color:var(--green);color:var(--paper-hi)}
.soiii-wx-now{display:flex;align-items:center;gap:.7rem}
.soiii-wx-now strong{font-family:var(--display);font-weight:400;font-size:2.1rem;line-height:1;color:var(--seal-deep)}
.soiii-wx-now span{font-size:1rem}.soiii-wx-now small{display:block;font-size:.85rem;color:var(--ink-soft)}
.soiii-wx-icon{display:inline-flex;color:var(--green)}
.soiii-wx-days{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.soiii-wx-days li{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.5rem;align-items:center;border:2px dashed var(--green);border-radius:var(--radius);padding:.35rem .65rem;font-size:.85rem;min-width:124px;background:var(--paper)}
.soiii-wx-day{font-weight:700;grid-column:1}.soiii-wx-glyph{grid-row:1/3;grid-column:2;color:var(--green)}.soiii-wx-glyph svg{width:22px;height:22px}
.soiii-wx-hl{grid-column:1}.soiii-wx-hl strong{font-size:1rem}.soiii-wx-hl em{font-style:normal;color:var(--ink-soft);margin-left:.3rem}
.soiii-wx-cond{grid-column:1/3;font-size:.8rem;color:var(--ink-soft);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.soiii-wx-source{margin-left:auto;font-size:.82rem;color:var(--ink-soft)}
.soiii-wx-panel{padding:0 0 1rem}.soiii-wx-panel img{border-radius:var(--radius);max-width:600px;width:100%;background:var(--tray);border:3px solid var(--ink)}.soiii-wx-panel p{font-size:.88rem;color:var(--ink-soft);margin:.5rem 0 0}
@media (max-width:700px){.soiii-wx-source{margin-left:0;width:100%}.soiii-wx-now strong{font-size:1.8rem}}

/* hero: the wrapper lid, destination largest */
.soiii-hero{padding:2.2rem 0 3rem}
.soiii-wrapper{position:relative;overflow:hidden;background:var(--paper-hi);border:4px solid var(--green);border-radius:var(--radius);padding:clamp(1.4rem,3.4vw,2.6rem);box-shadow:8px 8px 0 var(--ink)}
.soiii-wrapper::before{content:"";position:absolute;inset:9px;border:1.5px solid var(--green);border-radius:1px;pointer-events:none}
svg.soiii-art-band{position:absolute;top:34px;right:-92px;width:320px;height:auto;transform:rotate(45deg);transform-origin:center;z-index:2}
.soiii-dest{position:relative;padding-right:clamp(0px,9vw,150px)}
.soiii-dest h1{margin:0 0 .35em;color:var(--green)}
.soiii-dest .soiii-eyebrow{margin:0 0 .4rem}
.soiii-wrapper-body{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(1.4rem,3vw,2.6rem);align-items:start;margin-top:1.4rem;padding-top:1.4rem;border-top:3px double var(--green)}
@media (max-width:900px){.soiii-wrapper-body{grid-template-columns:1fr}}
.soiii-eyebrow{font-family:var(--body);letter-spacing:.01em;font-size:1rem;font-weight:700;color:var(--seal-deep);margin-bottom:.6rem;display:flex;align-items:center;gap:.7rem}
.soiii-eyebrow::before{content:"";flex:none;width:.8rem;height:.8rem;background:var(--seal)}
.soiii-lead{font-size:1.2rem;line-height:1.55;color:var(--ink)}
.soiii-acts{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.2rem 0 1.4rem}
.soiii-trust{counter-reset:cmp;display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;border:3px solid var(--green);background:var(--paper)}
.soiii-trust li{counter-increment:cmp;position:relative;padding:.75rem .8rem .75rem 2.9rem;font-size:.98rem;font-weight:700;line-height:1.3;border-bottom:3px solid var(--green);display:flex;align-items:center;min-height:56px}
.soiii-trust li:nth-child(odd){border-right:3px solid var(--green)}
.soiii-trust li:nth-last-child(-n+2){border-bottom:0}
.soiii-trust li::before{content:counter(cmp);position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:50%;background:var(--seal);color:var(--paper-hi);font-size:.9rem;font-weight:700}
@media (max-width:520px){.soiii-trust{grid-template-columns:1fr}.soiii-trust li{border-right:0!important;border-bottom:3px solid var(--green)!important}.soiii-trust li:last-child{border-bottom:0!important}}
.soiii-plates{position:relative;padding-bottom:.5rem}
@media (max-width:900px){.soiii-plates{order:-1}}
.soiii-mosaic{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.soiii-mosaic a{position:relative;display:flex;flex-direction:column;background:var(--paper);border:3px solid var(--ink);border-radius:var(--radius);overflow:hidden;color:var(--ink);text-decoration:none;box-shadow:4px 4px 0 var(--green)}
.soiii-mosaic a:first-child{grid-column:1/-1}
.soiii-mosaic a::before{content:"";position:absolute;left:0;right:0;top:0;aspect-ratio:8/5;background:var(--green);mix-blend-mode:screen;opacity:.0;transition:opacity .4s}
.soiii-mosaic a:first-child::before{aspect-ratio:16/9}
.soiii-mosaic img{width:100%;aspect-ratio:8/5;object-fit:cover;background:var(--green);filter:grayscale(1) contrast(1.15) sepia(.35) hue-rotate(60deg) saturate(.9) brightness(.98);border-bottom:3px solid var(--ink);transition:filter .5s}
.soiii-mosaic a:first-child img{aspect-ratio:16/9}
.soiii-mosaic a:hover img{filter:none}
.soiii-mosaic span{display:block;padding:.55rem .75rem;font-weight:700;font-size:.95rem;line-height:1.3;background:var(--ochre-lt)}
.soiii-mosaic a:hover span{background:var(--ochre)}
svg.soiii-art-wheel{position:absolute;z-index:0;right:-70px;bottom:-110px;width:260px;height:260px;opacity:.9;animation:soiii-turn 90s linear infinite}
svg.soiii-art-seal{position:absolute;z-index:3;left:-16px;top:-16px;width:60px;height:60px;transform:rotate(-8deg)}
@media (max-width:900px){svg.soiii-art-wheel{display:none}svg.soiii-art-seal{left:auto;right:-8px;top:-18px}}
@keyframes soiii-turn{to{transform:rotate(360deg)}}
@media (max-width:760px){svg.soiii-art-band{width:220px;right:-70px;top:22px}.soiii-dest{padding-right:0}.soiii-dest h1{padding-top:2.4rem}}

/* sections, section heads, compartments */
.soiii-section{padding:3.6rem 0}
.soiii-sechead{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem 1.4rem;margin-bottom:1.6rem;padding-bottom:.9rem;border-bottom:4px solid var(--green);position:relative}
.soiii-sechead::after{content:"";position:absolute;left:0;bottom:-10px;width:5.5rem;height:6px;background:var(--seal)}
.soiii-sechead h2{margin:0}
.soiii-sechead .soiii-eyebrow{margin:0}
.soiii-section--soft{background:var(--tray)}
.soiii-section--deep{background:var(--green-deep);color:var(--paper-hi);position:relative}
.soiii-section--deep h2,.soiii-section--deep h3{color:var(--ochre-lt)}
.soiii-section--deep a{color:var(--ochre-lt)}.soiii-section--deep a:hover{color:#fff}
.soiii-section--deep .soiii-sechead{border-bottom-color:var(--ochre)}
.soiii-section--deep .soiii-sechead::after{background:var(--ochre)}
.soiii-section--deep .soiii-eyebrow{color:var(--ochre-lt)}
.soiii-section--deep .soiii-eyebrow::before{background:var(--ochre)}
.soiii-section--deep :focus-visible{outline-color:var(--ochre)}
.soiii-cols{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.soiii-card{background:var(--paper-hi);border:3px solid var(--green);border-radius:var(--radius);padding:1.3rem}
.soiii-num{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--seal);color:var(--paper-hi);font-family:var(--display);font-size:1.4rem;margin-bottom:.7rem;box-shadow:0 0 0 3px var(--paper-hi),0 0 0 5px var(--seal)}
.soiii-steps{gap:0;border:4px solid var(--green);background:var(--paper-hi)}
.soiii-steps .soiii-card{border:0;border-radius:0;background:transparent;padding:1.5rem 1.4rem 1.3rem}
.soiii-steps .soiii-card+.soiii-card{border-left:3px dashed var(--green)}
@media (max-width:760px){.soiii-steps .soiii-card+.soiii-card{border-left:0;border-top:3px dashed var(--green)}}
.soiii-steps h3{color:var(--green)}

.soiii-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;border:3px solid var(--ink);border-radius:var(--radius);padding:.7rem 1.4rem;font:inherit;font-size:1.05rem;font-weight:700;cursor:pointer;text-decoration:none;box-shadow:4px 4px 0 var(--ink);transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s}
.soiii-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.soiii-btn--primary{background:var(--seal);color:var(--paper-hi)}.soiii-btn--primary:hover{background:var(--seal-deep);color:var(--paper-hi)}
.soiii-btn--ghost{background:var(--paper-hi);color:var(--ink)}.soiii-btn--ghost:hover{background:var(--ochre-lt);color:var(--ink)}
.soiii-btn[disabled]{opacity:.65;cursor:progress}
.soiii-section--deep .soiii-btn--primary{border-color:var(--ochre)}

/* quote: a tray with the paper band across its top */
.soiii-panel{padding:1rem 0 3.6rem}
.soiii-tied{position:relative;padding-top:0}
svg.soiii-art-strap{width:100%;height:30px;margin-bottom:-4px;position:relative;z-index:1;border:3px solid var(--ink);border-bottom:0}
.soiii-quote{background:var(--paper-hi);border:4px solid var(--green);border-top:3px solid var(--ink);border-radius:0 0 var(--radius) var(--radius);padding:clamp(1.2rem,3vw,2rem);box-shadow:8px 8px 0 var(--ink)}
.soiii-quote h2{font-size:1.7rem}
.soiii-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.2rem}
@media (max-width:620px){.soiii-fields{grid-template-columns:1fr}}
.soiii-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.soiii-field>span{font-size:.92rem;font-weight:700;color:var(--green);letter-spacing:.02em}
.soiii-field input,.soiii-field select,.soiii-field textarea{font:inherit;min-height:48px;padding:.6rem .75rem;border:2.5px solid var(--green);border-radius:var(--radius);background:var(--paper);color:var(--ink);width:100%}
.soiii-field input:focus,.soiii-field select:focus,.soiii-field textarea:focus{outline:3px solid var(--ochre);outline-offset:1px;border-color:var(--ink);background:#fff}
.soiii-field--wide{grid-column:1/-1}
.soiii-seg{display:flex;flex-wrap:wrap;gap:.55rem}
.soiii-seg label{position:relative;display:inline-flex;align-items:center;min-height:48px;border:2.5px solid var(--green);border-radius:var(--radius);padding:.4rem 1rem;cursor:pointer;font-size:1.02rem;font-weight:700;background:var(--paper);color:var(--ink);transition:background .2s,color .2s}
.soiii-seg label:hover{background:var(--ochre-lt)}
.soiii-seg input{position:absolute;opacity:0;width:1px;height:1px}
.soiii-seg input:checked+span{margin:0;padding:0;background:none}
.soiii-seg label:has(input:checked){background:var(--green);color:var(--paper-hi);border-color:var(--ink);box-shadow:inset 0 -5px 0 var(--ochre)}
.soiii-seg label:has(input:focus-visible){outline:3px solid var(--seal);outline-offset:3px}
.soiii-note{font-size:.92rem;color:var(--ink-soft);margin-top:.9rem}
.soiii-status{margin-top:.8rem;font-weight:700;min-height:1.4em}
.soiii-status[data-tone=error]{color:#8F1F1F}
.soiii-results{margin-top:1.6rem}
.soiii-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:baseline;margin-bottom:1rem;font-size:1rem;font-weight:700;color:var(--green)}
.soiii-result{display:grid;grid-template-columns:1fr auto;gap:.6rem 1.2rem;align-items:center;border:3px solid var(--green);border-left:12px solid var(--ochre);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:.8rem;background:var(--paper-hi)}
.soiii-result--best{border-color:var(--seal);border-left-color:var(--seal);box-shadow:5px 5px 0 var(--seal)}
.soiii-result strong{font-family:var(--display);font-weight:400;font-size:1.2rem;color:var(--green)}
.soiii-result small{display:block;color:var(--ink-soft);font-size:.9rem}
.soiii-price{font-family:var(--display);font-size:2rem;text-align:right;line-height:1;color:var(--seal-deep)}
.soiii-price small{display:block;font-family:var(--body);font-size:.8rem;font-weight:700;text-align:right;margin-top:.3rem;color:var(--ink-soft)}
.soiii-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.soiii-tag{font-size:.8rem;font-weight:700;padding:.15rem .55rem;border-radius:2px;background:var(--tray);color:var(--ink);border:1.5px solid var(--green)}
.soiii-tag--now{background:#F7D9CE;color:#7A1F0E;border-color:var(--seal);font-weight:700}
.soiii-group{font-size:1.3rem;margin:1.6rem 0 .5rem;color:var(--green)}
.soiii-applicant{margin:.2rem 0 1rem;border-color:var(--green)}
.soiii-result .soiii-btn{grid-column:1/-1;justify-self:start}
@media (min-width:640px){.soiii-result{grid-template-columns:1fr auto auto}.soiii-result .soiii-btn{grid-column:auto}}
.soiii-disclosure{font-size:.88rem;color:var(--ink-soft);border-top:2px dashed var(--green);padding-top:.9rem;margin-top:1rem}
details.soiii-more{margin-top:.5rem;font-size:.92rem}details.soiii-more summary{cursor:pointer;color:var(--green);font-weight:700;min-height:32px}

/* tables: a printed price slip */
.soiii-rates-note{max-width:var(--measure);margin-bottom:1.2rem}
.soiii-rates-note p{color:var(--ink-soft)}
.soiii-table-wrap{overflow-x:auto;padding:.35rem;border:4px solid var(--green);background:var(--paper-hi);box-shadow:8px 8px 0 var(--ink)}
.soiii-table{width:100%;border-collapse:collapse;font-size:1.02rem}
.soiii-table th,.soiii-table td{padding:.8rem 1rem;border-bottom:2px dotted var(--green);text-align:left}
.soiii-table th{background:var(--green);color:var(--paper-hi);font-size:.85rem;text-transform:uppercase;letter-spacing:.09em;border-bottom:0;white-space:nowrap}
.soiii-table tbody tr:nth-child(even){background:var(--paper)}
.soiii-table tbody tr:last-child td{border-bottom:0}
.soiii-table td:nth-child(2){font-family:var(--display);font-size:1.25rem;color:var(--seal-deep)}

/* why: the yard at dusk */
.soiii-yard{overflow:hidden}
.soiii-why-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem;align-items:center}
@media (max-width:900px){.soiii-why-wrap{grid-template-columns:1fr}}
.soiii-why-text p{color:var(--paper-hi)}
.soiii-why-links{font-size:1rem;line-height:1.9}
.soiii-why-links a{display:inline-block;padding:.1rem 0;font-weight:700}
.soiii-why-art svg{width:100%;height:auto;max-width:520px;margin-inline:auto;background:var(--paper-hi);border:4px solid var(--ochre);padding:1rem;border-radius:var(--radius)}

/* learn: numbered compartments */
.soiii-section--last{padding-bottom:0;overflow:hidden}
.soiii-learn{counter-reset:lrn;gap:0;border:4px solid var(--green);background:var(--paper-hi);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.soiii-learn .soiii-card{counter-increment:lrn;display:block;position:relative;border:0;border-radius:0;padding:1.4rem 1.4rem 1.5rem 4.4rem;text-decoration:none;color:var(--ink);background:transparent;box-shadow:inset 0 0 0 1.5px var(--green);transition:background .25s}
.soiii-learn .soiii-card::before{content:counter(lrn);position:absolute;left:1.1rem;top:1.2rem;font-family:var(--display);font-size:2.3rem;line-height:1;color:var(--seal)}
.soiii-learn .soiii-card:hover{background:var(--ochre-lt)}
.soiii-learn h3{color:var(--green);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
.soiii-learn p{margin:0;color:var(--ink-soft)}
svg.soiii-art-ridge{width:100%;height:clamp(70px,12vw,150px);margin-top:3rem;margin-bottom:-1px}

/* articles */
.soiii-article{max-width:var(--measure);margin-inline:auto}.soiii-article figure{margin:0 0 1.5rem}.soiii-article figcaption{font-size:.9rem;color:var(--ink-soft);margin-top:.4rem}
.soiii-article img{border-radius:var(--radius);border:3px solid var(--ink)}
.soiii-article h1{font-size:clamp(2.1rem,5vw,3.4rem)}
.soiii-article h2{margin-top:1.8em;padding-top:.5em;border-top:3px double var(--green)}
.soiii-sources{font-size:.95rem;border-top:3px double var(--green);padding-top:1rem;margin-top:2rem}.soiii-sources ol{padding-left:1.2rem}
.soiii-faq{border-top:4px solid var(--green);padding-top:.4rem}
.soiii-faq details{border-bottom:2px solid var(--green);padding:0}
.soiii-faq summary{cursor:pointer;font-weight:400;font-family:var(--display);font-size:1.25rem;color:var(--green);min-height:56px;padding:.9rem 3rem .9rem .2rem;position:relative;list-style:none;display:flex;align-items:center}
.soiii-faq summary::-webkit-details-marker{display:none}
.soiii-faq summary::after{content:"";position:absolute;right:.4rem;top:50%;width:1.9rem;height:1.9rem;transform:translateY(-50%);border-radius:50%;background:var(--seal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 4v12M4 10h12' stroke='%23FBF8EC' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/70% no-repeat;transition:transform .3s var(--ease)}
.soiii-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.soiii-faq details p{padding:0 .2rem .9rem}
.soiii-calc{background:var(--paper-hi)}
.soiii-calc output{font-family:var(--display);font-size:2.2rem;display:block;margin-top:.7rem;color:var(--seal-deep)}
.soiii-apply-shell{background:var(--paper-hi);border:4px solid var(--green);border-radius:var(--radius);padding:1rem;min-height:600px;box-shadow:8px 8px 0 var(--ink)}
.soiii-apply-shell iframe{width:100%;border:0}

/* footer */
.soiii-foot{background:var(--green-deep);border-top:6px solid var(--ochre);padding:2.6rem 0;font-size:.98rem;color:var(--paper-hi)}
.soiii-foot-grid{display:grid;gap:1.6rem;grid-template-columns:2fr 1fr 1fr}@media (max-width:700px){.soiii-foot-grid{grid-template-columns:1fr}}
.soiii-foot a{color:var(--ochre-lt)}.soiii-foot a:hover{color:#fff}
.soiii-foot .soiii-brand{color:var(--paper-hi)}
.soiii-foot nav a{display:block;margin-bottom:.4rem;min-height:32px}
.soiii-foot nav strong{display:block;font-family:var(--display);font-weight:400;font-size:1.15rem;color:var(--ochre-lt);margin-bottom:.5rem}
.soiii-foot p{max-width:none}
.soiii-foot :focus-visible{outline-color:var(--ochre)}

[data-reveal]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* no-exam highlight */
.soiii-noexam{background:var(--ochre-lt);border:4px solid var(--green);border-radius:var(--radius);padding:1rem 1rem .4rem;margin:0 0 1.4rem;box-shadow:6px 6px 0 var(--ink)}
.soiii-group--noexam{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:0;font-size:1.35rem}
.soiii-noexam-badge{display:inline-block;background:var(--seal);color:var(--paper-hi);font-family:var(--body);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .7rem;border-radius:2px}
.soiii-noexam-note{margin-bottom:.9rem;color:var(--ink)}
.soiii-result--noexam{border-color:var(--green);background:var(--paper-hi)}
.soiii-tag--noexam{background:var(--green);color:var(--paper-hi);border-color:var(--green)}
.soiii-tag--usually{background:var(--paper-hi);color:var(--ink);border-color:var(--green)}
.soiii-noexam-note+.soiii-noexam-note{margin-top:1rem;padding-top:.9rem;border-top:2px dashed var(--green)}
@media (max-width:600px){.soiii-table{font-size:.95rem}.soiii-table th,.soiii-table td{padding:.65rem .5rem}.soiii-table th{font-size:.7rem;letter-spacing:.03em;white-space:normal}.soiii-table td:nth-child(2){font-size:1.1rem}}
.soiii-skip:hover{color:var(--ink)}
