@font-face{font-family:"Kaisei Opti";src:url(/assets/font-mvdeslg5-kaisei-opti-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Murecho";src:url(/assets/font-mvdeslg5-murecho-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Murecho";src:url(/assets/font-mvdeslg5-murecho-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Murecho";src:url(/assets/font-mvdeslg5-murecho-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --washi:#E9EEE4;--washi-2:#DAE3D6;--washi-3:#CCD8C9;--lit:#FFF8E4;
  --rib:#B99A63;--rib-text:#7A5A22;--rib-soft:rgba(185,154,99,.3);
  --ink:#25211B;--ink-2:#4A4236;
  --stamp:#A82414;--stamp-hi:#C0301C;--stamp-soft:#F6DACF;
  --post:#276149;
  --lagoon:#1C3732;--lagoon-2:#27493F;--lagoon-rule:#46665C;--lagoon-ink:#F3EBD4;--lagoon-ink-2:#C7D2C3;
  --glow:#FFC96B;--glow-soft:rgba(255,201,107,.34);
  --head:"Kaisei Opti","Hiragino Mincho ProN",Georgia,serif;--body:"Murecho","Hiragino Sans",Verdana,sans-serif;
  --measure:66ch;--maxw:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--washi);color:var(--ink);font:400 1.0625rem/1.7 var(--body);caret-color:var(--stamp);
  background-image:repeating-linear-gradient(90deg,transparent 0 119px,rgba(185,154,99,.16) 119px 120px)}
::selection{background:var(--glow);color:var(--ink)}
img{max-width:100%;height:auto;display:block}
a{color:var(--post);text-underline-offset:.22em;text-decoration-thickness:1.5px}
a:hover{color:var(--stamp)}
:focus-visible{outline:3px solid var(--stamp);outline-offset:3px}
.sw2fn-wx :focus-visible,.sw2fn-why :focus-visible,.sw2fn-foot :focus-visible,.sw2fn-section--deep :focus-visible{outline-color:var(--glow)}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.16;margin:0 0 .45em;text-wrap:balance;letter-spacing:0}
h1{font-size:clamp(2.35rem,5.2vw,4.3rem)}
h2{font-size:clamp(1.85rem,3.8vw,3rem)}
h3{font-size:1.4rem;line-height:1.25}
p{margin:0 0 1em;max-width:var(--measure)}
.sw2fn-wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:16px}
.sw2fn-skip{position:absolute;left:12px;top:-70px;background:var(--stamp);color:var(--lit);padding:.75rem 1.1rem;z-index:99;border-radius:4px}
.sw2fn-skip:focus{top:8px}.sw2fn-skip:hover{color:var(--lit)}

/* header: washi strip with a double rib line */
.sw2fn-head{background:var(--washi);border-bottom:1px solid var(--rib);box-shadow:0 3px 0 -2px var(--washi),0 4px 0 -2px var(--rib-soft);position:relative;z-index:5}
.sw2fn-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1.5rem;padding-block:.45rem;min-height:68px}
.sw2fn-brand{display:inline-flex;align-items:center;gap:.65rem;font:700 1.3rem/1.1 var(--head);text-decoration:none;min-height:44px;color:var(--ink)}
.sw2fn-brand:hover{color:var(--stamp)}
.sw2fn-brand img{width:34px;height:34px}
.sw2fn-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 .2rem;font:600 1.0625rem var(--body)}
.sw2fn-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 .85rem;text-decoration:none;color:var(--ink);border-radius:4px}
.sw2fn-links a:hover{color:var(--stamp);background:var(--lit);box-shadow:0 0 18px var(--glow-soft)}
.sw2fn-links a.sw2fn-cta{background:var(--stamp);color:var(--lit)!important;padding:0 1.15rem;margin-left:.5rem;box-shadow:inset 0 0 0 2px var(--stamp),inset 0 0 0 3px rgba(255,248,228,.55)}
.sw2fn-links a.sw2fn-cta:hover{background:var(--stamp-hi);color:var(--lit)!important;box-shadow:inset 0 0 0 2px var(--stamp-hi),inset 0 0 0 3px rgba(255,248,228,.75),0 0 22px var(--glow-soft)}
.sw2fn-menu{display:none;align-items:center;justify-content:center;min-width:48px;min-height:48px;background:var(--lit);border:1.5px solid var(--rib-text);border-radius:4px;color:var(--ink);cursor:pointer}
.sw2fn-menu:hover{box-shadow:0 0 18px var(--glow-soft)}
@media (max-width:760px){
  .sw2fn-menu{display:inline-flex}
  .sw2fn-links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--washi);border-bottom:1px solid var(--rib);flex-direction:column;align-items:stretch;padding:.8rem 16px 1.1rem;gap:.2rem;box-shadow:0 18px 30px -12px rgba(122,90,34,.35)}
  .sw2fn-links[data-open]{display:flex}
  .sw2fn-links a{min-height:48px}
  .sw2fn-links a.sw2fn-cta{margin:.4rem 0 0;justify-content:center}
}

/* weather strip: the bulb room, dim lagoon with a warm digit */
.sw2fn-wx{background:var(--lagoon);color:var(--lagoon-ink);padding:.7rem 0;border-bottom:1px solid var(--lagoon-rule)}
.sw2fn-wx a{color:var(--lagoon-ink)}
.sw2fn-wx-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 2rem}
.sw2fn-wx-photo{display:inline-flex;align-items:center;gap:.6rem;background:none;border:0;padding:0;color:var(--lagoon-ink);font:inherit;cursor:pointer;min-height:48px}
.sw2fn-wx-photo img{width:48px;height:48px;object-fit:cover;border-radius:50%;border:2px solid var(--glow);box-shadow:0 0 16px rgba(255,201,107,.45)}
.sw2fn-wx-photo span{font:600 .9rem/1 var(--body);border:1.5px solid var(--lagoon-ink-2);border-radius:4px;padding:.6rem .8rem;color:var(--lagoon-ink)}
.sw2fn-wx-photo:hover span,.sw2fn-wx-photo[aria-expanded=true] span{background:var(--glow);border-color:var(--glow);color:var(--ink)}
.sw2fn-wx-now{display:flex;align-items:center;gap:.9rem}
.sw2fn-wx-icon{display:inline-flex;color:var(--glow)}
.sw2fn-wx-now > div{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap}
.sw2fn-wx-now strong{font:700 2.3rem/1 var(--head);color:var(--glow);text-shadow:0 0 18px rgba(255,201,107,.5)}
.sw2fn-wx-now span{font-size:1rem;color:var(--lagoon-ink)}
.sw2fn-wx-now small{display:block;font-size:.88rem;color:var(--lagoon-ink-2)}
.sw2fn-wx-days{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.sw2fn-wx-days li{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;border:1px solid var(--lagoon-rule);border-radius:4px 4px 18px 18px/4px 4px 10px 10px;padding:.4rem .8rem;min-height:48px;min-width:124px;background:rgba(255,248,228,.05)}
.sw2fn-wx-day{font:700 .95rem var(--body);color:var(--lagoon-ink);grid-column:1}
.sw2fn-wx-glyph{display:inline-flex;grid-row:1/3;grid-column:2;color:var(--lagoon-ink-2)}.sw2fn-wx-glyph svg{width:22px;height:22px}
.sw2fn-wx-hl{grid-column:1;display:inline-flex;align-items:baseline;gap:.4rem;font-variant-numeric:tabular-nums}
.sw2fn-wx-hl strong{font:700 1.15rem/1 var(--head);color:var(--glow)}
.sw2fn-wx-hl em{font:600 .92rem var(--body);font-style:normal;color:var(--lagoon-ink-2)}
.sw2fn-wx-cond{grid-column:1/3;font-size:.8rem;color:var(--lagoon-ink-2);max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw2fn-wx-source{margin-left:auto;font-size:.88rem;color:var(--lagoon-ink-2)}
.sw2fn-wx-panel{padding:.2rem 16px 1rem}.sw2fn-wx-panel img{max-width:600px;width:100%;background:var(--lagoon-2);border:2px solid var(--lagoon-rule);border-radius:6px}.sw2fn-wx-panel p{font-size:.9rem;color:var(--lagoon-ink-2);margin:.5rem 0 0}
@media (max-width:700px){.sw2fn-wx-source{margin-left:0;width:100%}}

/* captions, not chips: a short rib line then plain text */
.sw2fn-eyebrow{display:flex;align-items:center;gap:.7rem;font:600 1rem/1.3 var(--body);color:var(--ink-2);margin:0 0 1rem;max-width:none}
.sw2fn-eyebrow::before{content:"";flex:none;width:2.4rem;height:2px;background:var(--rib);border-radius:2px}
.sw2fn-why .sw2fn-eyebrow,.sw2fn-section--deep .sw2fn-eyebrow,.sw2fn-foot .sw2fn-eyebrow{color:var(--lagoon-ink-2)!important}
.sw2fn-why .sw2fn-eyebrow::before,.sw2fn-section--deep .sw2fn-eyebrow::before{background:var(--glow)}

/* buttons */
.sw2fn-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:56px;padding:0 1.6rem;font:700 1.15rem var(--body);text-decoration:none;border:2px solid var(--stamp);border-radius:5px;cursor:pointer;transition:box-shadow .25s,background-color .25s,color .25s}
.sw2fn-btn--primary{background:var(--stamp);color:var(--lit);box-shadow:inset 0 0 0 2px var(--stamp),inset 0 0 0 3px rgba(255,248,228,.5)}
.sw2fn-btn--primary:hover{background:var(--stamp-hi);border-color:var(--stamp-hi);color:var(--lit);box-shadow:inset 0 0 0 2px var(--stamp-hi),inset 0 0 0 3px rgba(255,248,228,.7),0 0 26px var(--glow-soft)}
.sw2fn-btn--ghost{background:transparent;color:var(--ink);border-color:var(--rib-text)}
.sw2fn-btn--ghost:hover{background:var(--lit);color:var(--stamp);border-color:var(--stamp);box-shadow:0 0 26px var(--glow-soft)}
.sw2fn-btn[disabled]{opacity:.6;cursor:progress}

/* hero: horizontal bands, a full-width amber art band over an eelgrass-green copy band */
.sw2fn-hero{position:relative;overflow:hidden;background:#17604A;color:var(--lagoon-ink)}
.sw2fn-hero-in{display:flex;flex-direction:column}
.sw2fn-hero-art{order:-1;width:100%;height:clamp(250px,36vh,340px);overflow:hidden;background:#EDB653;border-bottom:6px solid var(--stamp)}
.sw2fn-hero-art svg{display:block;width:100%;height:100%}
.sw2fn-hero-copy{box-sizing:border-box;width:100%;max-width:calc(var(--maxw) + 32px);margin-inline:auto;padding:clamp(1.8rem,3.5vw,3rem) 16px clamp(2rem,4vw,3.2rem);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:auto auto auto 1fr;column-gap:clamp(1.5rem,4vw,4rem);align-items:start}
.sw2fn-hero h1{grid-column:1;grid-row:1/3;max-width:13ch;line-height:1.08;margin:0 0 .4em;color:#FFF8E4;font-size:clamp(2.35rem,4.6vw,4rem)}
.sw2fn-hero .sw2fn-eyebrow{grid-column:1;grid-row:3;margin:0;color:#E4EBD9}
.sw2fn-hero .sw2fn-eyebrow::before{background:var(--glow)}
.sw2fn-lead{font-size:1.2rem;max-width:52ch;margin:0 0 1.1em}
.sw2fn-hero .sw2fn-lead{grid-column:2;grid-row:1;color:#FFF8E4}
.sw2fn-acts{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:.8rem;margin:0 0 1.4rem}
.sw2fn-hero .sw2fn-btn--primary{background:var(--stamp);border-color:#FFF8E4;color:#FFF8E4;box-shadow:none}
.sw2fn-hero .sw2fn-btn--primary:hover{background:var(--stamp-hi);border-color:#FFFFFF;color:#FFFFFF;box-shadow:0 0 26px rgba(255,201,107,.5)}
.sw2fn-hero .sw2fn-btn--ghost{background:transparent;color:#FFF8E4;border-color:#FFF8E4}
.sw2fn-hero .sw2fn-btn--ghost:hover{background:#FFF8E4;color:#17604A;border-color:#FFF8E4;box-shadow:0 0 26px rgba(255,201,107,.5)}
.sw2fn-hero :focus-visible{outline-color:var(--glow)}
.sw2fn-trust{grid-column:2;grid-row:3/5;list-style:none;margin:0;padding:1rem 0 0;border-top:1px solid rgba(255,248,228,.4);display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;font-size:1rem;color:#FFF8E4;max-width:60ch}
.sw2fn-trust li{display:flex;gap:.65rem;align-items:flex-start}
.sw2fn-trust li::before{content:"";flex:none;width:.7rem;height:.7rem;margin-top:.5rem;background:var(--glow);border:1.5px solid #FFF8E4;border-radius:50%}
@media (max-width:900px){
  .sw2fn-hero-art{height:240px}
  .sw2fn-hero-copy{display:block;padding:2rem 16px 2.4rem}
  .sw2fn-hero h1{max-width:16ch;font-size:clamp(2.35rem,9vw,3.4rem)}
  .sw2fn-hero .sw2fn-eyebrow{margin-bottom:1.2rem}
}
@media (max-width:520px){.sw2fn-trust{grid-template-columns:1fr}.sw2fn-acts .sw2fn-btn{width:100%}}

/* section heads: heading with its caption beneath */
.sw2fn-sechead{margin-bottom:1.6rem}
.sw2fn-sechead h2{max-width:20ch;margin-bottom:.3em}
.sw2fn-sechead .sw2fn-eyebrow{margin-bottom:0}
.sw2fn-sec,.sw2fn-rates,.sw2fn-panel,.sw2fn-section{padding:clamp(2.6rem,5vw,4.2rem) 0}

/* rates: a folded ledger on the deeper washi, pleated at both edges */
.sw2fn-rates{background:var(--washi-2);border-top:0;position:relative}
.sw2fn-rates h2{max-width:18ch}
.sw2fn-rates-body p{font-size:1rem;color:var(--ink-2);max-width:72ch}
.sw2fn-table-wrap{overflow-x:auto;margin-top:1.2rem;border:1px solid var(--rib);border-radius:10px/22px;background:var(--lit);box-shadow:0 0 0 6px rgba(255,201,107,.14),0 28px 60px -34px rgba(122,90,34,.55)}
.sw2fn-table{width:100%;border-collapse:collapse;font-size:1.05rem}
.sw2fn-table th,.sw2fn-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--rib-soft)}
.sw2fn-table thead th{font:600 .95rem/1.25 var(--body);color:var(--ink-2);vertical-align:bottom;border-bottom:2px solid var(--rib);background:var(--washi-2)}
.sw2fn-table tbody tr:last-child td{border-bottom:0}
.sw2fn-table tbody tr:nth-child(even){background:rgba(218,227,214,.55)}
.sw2fn-table td{font-variant-numeric:tabular-nums;white-space:nowrap}
.sw2fn-table td:first-child{font-weight:600;white-space:normal}
.sw2fn-table td:nth-child(2){font:700 clamp(1.3rem,3vw,1.9rem)/1.1 var(--head);color:var(--stamp)}
.sw2fn-table td:nth-child(3){font:700 clamp(1.1rem,2.4vw,1.5rem)/1.1 var(--head);color:var(--ink)}
.sw2fn-table td:nth-child(4){color:var(--ink-2)}

/* how it works: three lit volumes at three heights */
.sw2fn-how{background:transparent}
.sw2fn-steps,.sw2fn-cols{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:start}
.sw2fn-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.sw2fn-steps > :nth-child(2){margin-top:2.2rem}
.sw2fn-steps > :nth-child(3){margin-top:.8rem}
.sw2fn-card{position:relative;padding:3.1rem 1.7rem 3rem;border:1px solid var(--rib);border-radius:42px/64px;
  background:
   linear-gradient(var(--rib-soft),var(--rib-soft)) 12% 14px/76% 1px no-repeat,
   linear-gradient(var(--rib-soft),var(--rib-soft)) 8% 26px/84% 1px no-repeat,
   linear-gradient(var(--rib-soft),var(--rib-soft)) 12% calc(100% - 14px)/76% 1px no-repeat,
   linear-gradient(var(--rib-soft),var(--rib-soft)) 8% calc(100% - 26px)/84% 1px no-repeat,
   radial-gradient(ellipse 85% 70% at 50% 45%,#FFFBEC 0,#FFF3D2 62%,#F5E4B8 100%);
  box-shadow:0 0 0 7px rgba(255,201,107,.12),0 0 60px -6px rgba(255,201,107,.5);color:var(--ink);transition:box-shadow .3s,transform .3s}
.sw2fn-card:hover{box-shadow:0 0 0 9px rgba(255,201,107,.2),0 0 80px -4px rgba(255,201,107,.75)}
.sw2fn-card p{font-size:1.02rem}
.sw2fn-card h3{color:var(--ink)}
.sw2fn-num{display:inline-grid;place-items:center;width:2.7rem;height:2.7rem;margin:0 0 .8rem;background:var(--stamp);color:var(--lit);font:700 1.4rem/1 var(--head);border-radius:6px;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px var(--stamp),inset 0 0 0 3px rgba(255,248,228,.5)}
@keyframes sw2fn-unfold{from{transform:scaleY(.94) translateY(8px);transform-origin:50% 0}to{transform:none}}
@media (prefers-reduced-motion:no-preference){.sw2fn-card{animation:sw2fn-unfold .8s cubic-bezier(.2,.8,.2,1) both}}
@media (max-width:860px){.sw2fn-steps{grid-template-columns:1fr}.sw2fn-steps > :nth-child(n){margin-top:0}}

/* quote engine: the bulb card */
.sw2fn-panel{background:var(--washi-3);position:relative}
.sw2fn-quote{background:radial-gradient(ellipse 90% 80% at 50% 30%,#FFFCF0 0,var(--lit) 70%,#FBEFCB 100%);border:1px solid var(--rib);border-radius:26px/40px;padding:clamp(1.3rem,3vw,2.2rem);box-shadow:0 0 0 8px rgba(255,201,107,.18),0 0 70px -10px rgba(255,201,107,.6),0 34px 60px -40px rgba(122,90,34,.6)}
.sw2fn-quote h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.sw2fn-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.3rem}
@media (max-width:560px){.sw2fn-fields{grid-template-columns:1fr}}
.sw2fn-field{display:flex;flex-direction:column;gap:.4rem}
.sw2fn-field > span{font:600 1rem var(--body);color:var(--ink)}
.sw2fn-field input,.sw2fn-field select,.sw2fn-field textarea{font:inherit;font-size:1.05rem;min-height:48px;padding:.65rem .8rem;border:1.5px solid var(--rib-text);border-radius:5px;background:#FFFDF6;color:var(--ink);width:100%}
.sw2fn-field input:hover,.sw2fn-field select:hover,.sw2fn-field textarea:hover{box-shadow:0 0 16px var(--glow-soft)}
.sw2fn-field input:focus,.sw2fn-field select:focus,.sw2fn-field textarea:focus{outline:3px solid var(--stamp);outline-offset:1px;border-color:var(--stamp)}
.sw2fn-field--wide{grid-column:1/-1}
.sw2fn-seg{display:flex;flex-wrap:wrap;gap:.5rem}
.sw2fn-seg label{display:inline-flex;align-items:center;min-height:48px;border:1.5px solid var(--rib-text);border-radius:5px;padding:.45rem .95rem;cursor:pointer;font:600 1rem var(--body);background:#FFFDF6;color:var(--ink);transition:box-shadow .25s,background-color .25s}
.sw2fn-seg label:hover{box-shadow:0 0 18px var(--glow-soft);background:var(--lit)}
.sw2fn-seg input{position:absolute;opacity:0;width:0;height:0}
.sw2fn-seg input:checked+span{background:var(--stamp);color:var(--lit);border-radius:3px;margin:-.45rem -.95rem;padding:.45rem .95rem;display:inline-flex;align-items:center;min-height:45px}
.sw2fn-seg label:has(input:checked){background:var(--stamp);color:var(--lit);border-color:var(--stamp);box-shadow:0 0 22px var(--glow-soft)}
.sw2fn-seg label:has(input:checked) span{background:transparent;margin:0;padding:0;min-height:0}
.sw2fn-seg input:focus-visible+span{outline:3px solid var(--ink);outline-offset:4px}
.sw2fn-note{font-size:.95rem;color:var(--ink-2);margin:.9rem 0}
.sw2fn-status{margin-top:.8rem;font-weight:600;min-height:1.4em;color:var(--ink)}
.sw2fn-status[data-tone=error]{color:#9B1C10}
.sw2fn-results{margin-top:1.8rem}
.sw2fn-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:baseline;margin-bottom:1rem;font-size:1rem;color:var(--ink)}
.sw2fn-result{display:grid;grid-template-columns:1fr auto;gap:.6rem 1.2rem;align-items:center;border:1px solid var(--rib);border-radius:16px/26px;padding:1.1rem 1.4rem;margin-bottom:.9rem;background:radial-gradient(ellipse 90% 90% at 50% 40%,#FFFBEC,#FFF1CC);color:var(--ink);box-shadow:0 0 0 5px rgba(255,201,107,.1);transition:box-shadow .3s}
.sw2fn-result:hover{box-shadow:0 0 0 6px rgba(255,201,107,.22),0 0 44px -4px rgba(255,201,107,.7)}
.sw2fn-result--best{border:2px solid var(--stamp);box-shadow:0 0 0 6px rgba(255,201,107,.3),0 0 50px -6px rgba(255,201,107,.8)}
.sw2fn-result strong{font:700 1.2rem/1.25 var(--head)}
.sw2fn-result small{display:block;color:var(--ink-2);font-size:.92rem}
.sw2fn-price{font:700 1.9rem/1 var(--head);text-align:right;color:var(--ink)}
.sw2fn-price small{display:block;font:600 .85rem var(--body);text-align:right;margin-top:.3rem;color:var(--ink-2)}
.sw2fn-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.sw2fn-tag{font:600 .82rem/1.2 var(--body);padding:.25rem .6rem;border-radius:3px;background:var(--washi-2);border:1px solid var(--rib);color:var(--ink)}
.sw2fn-tag--now{background:var(--stamp-soft);color:#8A1D10;border-color:#C98C7D;font-weight:700}
.sw2fn-group{font-size:1.25rem;margin:1.6rem 0 .5rem}
.sw2fn-applicant{margin:.3rem 0 1.2rem;border-color:var(--stamp)}
.sw2fn-result .sw2fn-btn{grid-column:1/-1;justify-self:start}
@media (min-width:640px){.sw2fn-result{grid-template-columns:1fr auto auto}.sw2fn-result .sw2fn-btn{grid-column:auto}}
.sw2fn-disclosure{font-size:.9rem;color:var(--ink-2);border-top:1px solid var(--rib-soft);padding-top:.9rem;margin-top:1.1rem}
details.sw2fn-more{margin-top:.5rem;font-size:.95rem}
details.sw2fn-more summary{cursor:pointer;color:var(--post);font-weight:700;min-height:44px;display:flex;align-items:center}
details.sw2fn-more summary:hover{color:var(--stamp)}

/* why: the dim room, text left, three arched windows below */
.sw2fn-why,.sw2fn-section--deep{background:var(--lagoon);color:var(--lagoon-ink);border-radius:50% 50% 0 0/38px 38px 0 0;position:relative;
  background-image:repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,248,228,.07) 119px 120px)}
.sw2fn-why{padding-top:clamp(3.2rem,6vw,5rem)}
.sw2fn-why h2,.sw2fn-section--deep h2,.sw2fn-why h3{color:var(--lagoon-ink)}
.sw2fn-why a,.sw2fn-section--deep a{color:var(--glow)}
.sw2fn-why a:hover,.sw2fn-section--deep a:hover{color:#FFFFFF}
.sw2fn-why p{color:var(--lagoon-ink)}
.sw2fn-why-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:1rem clamp(1.5rem,5vw,4rem);align-items:start}
.sw2fn-why-text p{font-size:1.1rem;max-width:62ch}
.sw2fn-hl{border:1px solid var(--lagoon-rule);border-radius:10px 10px 30px 30px/10px 10px 40px 40px;padding:1.2rem 1.4rem;background:rgba(255,248,228,.06)}
.sw2fn-hl p{margin:0;font-size:1.05rem;line-height:1.9}
@media (max-width:860px){.sw2fn-why-grid{grid-template-columns:1fr}}
.sw2fn-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:2.2rem;align-items:end}
.sw2fn-mosaic a{position:relative;display:block;background:var(--lagoon-2);border:2px solid var(--glow);border-radius:999px 999px 10px 10px/150px 150px 10px 10px;overflow:hidden;text-decoration:none;color:var(--lagoon-ink);box-shadow:0 0 0 6px rgba(255,201,107,.12),0 0 54px -6px rgba(255,201,107,.45);transition:box-shadow .3s}
.sw2fn-mosaic a:nth-child(2){margin-bottom:1.6rem}
.sw2fn-mosaic a:hover{box-shadow:0 0 0 8px rgba(255,201,107,.22),0 0 80px -2px rgba(255,201,107,.75);color:#fff}
.sw2fn-mosaic img{width:100%;aspect-ratio:4/5;object-fit:cover}
.sw2fn-mosaic span{display:block;padding:.8rem 1rem;background:var(--lagoon);color:var(--lagoon-ink);font:600 1.02rem/1.3 var(--body);text-align:center}
@media (max-width:760px){.sw2fn-mosaic{grid-template-columns:1fr;max-width:420px;margin-inline:auto}.sw2fn-mosaic a:nth-child(2){margin-bottom:0}}

/* learn: flat-folded tiles, they open into volume on hover */
.sw2fn-learn{padding-bottom:clamp(3rem,6vw,5rem)}
.sw2fn-learn-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem}
.sw2fn-learn-list .sw2fn-card,a.sw2fn-card{display:block;text-decoration:none;color:var(--ink);border-radius:8px 8px 40px 40px/8px 8px 56px 56px;padding:2.4rem 1.5rem 2.8rem}
.sw2fn-learn-list .sw2fn-card h3{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rib);text-decoration-thickness:2px;text-underline-offset:.2em}
.sw2fn-learn-list .sw2fn-card:hover h3{color:var(--stamp);text-decoration-color:var(--stamp)}
.sw2fn-learn-list .sw2fn-card p{margin:0}
.sw2fn-section--soft{background:var(--washi-2)}

/* tables, articles, FAQ */
.sw2fn-article{max-width:var(--measure);margin-inline:auto}
.sw2fn-article figure{margin:0 0 1.6rem}
.sw2fn-article figcaption{font-size:.92rem;color:var(--ink-2);margin-top:.5rem}
.sw2fn-article img{border-radius:8px;border:1px solid var(--rib);box-shadow:0 0 0 6px rgba(255,201,107,.14),0 20px 44px -26px rgba(122,90,34,.6)}
.sw2fn-article h2{margin-top:1.6em}
.sw2fn-article .sw2fn-card{margin:1.4rem 0}
.sw2fn-sources{font-size:.95rem;border-top:1px solid var(--rib);padding-top:1rem;margin-top:2.2rem;color:var(--ink-2)}
.sw2fn-sources ol{padding-left:1.3rem}
.sw2fn-faq details{border:1px dashed var(--rib-text);border-radius:6px;padding:.2rem 1.1rem;margin-bottom:.8rem;background:transparent;transition:box-shadow .3s,background-color .3s}
.sw2fn-faq details:hover{background:var(--lit);box-shadow:0 0 28px var(--glow-soft)}
.sw2fn-faq details[open]{border-style:solid;border-color:var(--rib);background:var(--lit);box-shadow:0 0 0 5px rgba(255,201,107,.16),0 0 40px -6px rgba(255,201,107,.55)}
.sw2fn-faq summary{cursor:pointer;font:700 1.15rem/1.35 var(--head);min-height:48px;display:flex;align-items:center;padding:.5rem 0;color:var(--ink)}
.sw2fn-faq summary::marker{color:var(--stamp)}
.sw2fn-faq details p{margin:.2rem 0 1rem}

/* footer */
.sw2fn-foot{background:var(--lagoon);color:var(--lagoon-ink);padding:clamp(2.6rem,5vw,3.6rem) 0 2rem;font-size:1rem;border-radius:50% 50% 0 0/34px 34px 0 0;
  background-image:repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,248,228,.07) 119px 120px)}
.sw2fn-foot a{color:var(--lagoon-ink)}
.sw2fn-foot a:hover{color:var(--glow)}
.sw2fn-foot .sw2fn-brand{color:var(--lagoon-ink)}
.sw2fn-foot-grid{display:grid;gap:1.6rem 2rem;grid-template-columns:2fr 1fr 1fr}
@media (max-width:700px){.sw2fn-foot-grid{grid-template-columns:1fr}}
.sw2fn-foot nav strong{display:block;font:700 1.15rem var(--head);margin-bottom:.5rem;color:var(--glow)}
.sw2fn-foot nav a{display:flex;align-items:center;min-height:44px}
.sw2fn-foot p{color:var(--lagoon-ink);max-width:60ch}
.sw2fn-foot p[data-copy=legal]{color:var(--lagoon-ink-2)}

.sw2fn-apply-shell{background:var(--lit);border:1px solid var(--rib);border-radius:14px/24px;padding:1rem;min-height:600px;box-shadow:0 0 0 6px rgba(255,201,107,.16)}
.sw2fn-apply-shell iframe{width:100%;border:0}
.sw2fn-calc output{font:700 1.8rem/1.2 var(--head);display:block;margin-top:.6rem;color:var(--stamp)}

/* highlight (no-exam) block */
.sw2fn-noexam{background:radial-gradient(ellipse 90% 90% at 50% 20%,#FFFBEC,#FFEEC2);border:2px solid var(--stamp);border-radius:24px/40px;padding:1.2rem 1.3rem .5rem;margin:0 0 1.6rem;box-shadow:0 0 0 7px rgba(255,201,107,.22),0 0 60px -8px rgba(255,201,107,.7)}
.sw2fn-group--noexam{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:0;font-size:1.3rem}
.sw2fn-noexam-badge{display:inline-block;background:var(--stamp);color:var(--lit);font:700 .9rem var(--body);padding:.4rem .8rem;border-radius:4px;transform:rotate(-2deg)}
.sw2fn-noexam-note{margin-bottom:.9rem;color:var(--ink)}
.sw2fn-result--noexam{border-color:var(--stamp);background:radial-gradient(ellipse 90% 90% at 50% 40%,#FFFDF4,#FFF3D2)}
.sw2fn-tag--noexam{background:var(--stamp);color:var(--lit);border-color:var(--stamp)}
.sw2fn-tag--usually{background:var(--washi-2);color:var(--ink);border-color:var(--rib-text)}
.sw2fn-noexam-note+.sw2fn-noexam-note{margin-top:1rem;padding-top:.9rem;border-top:1px dashed var(--rib-text)}

/* content stays visible; no scroll-hidden pieces */
[data-reveal]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sw2fn-card{animation:none}}
