/* newportbeachlifeinsurance.vip — world: variable-font-specimen, set as the Crystal Cove beach-cottage row.
   Whitewash ground, board-and-batten walls in sea-glass, tin-roof grey, one teal door accent; weights step from hairline to black
   the way battens step in width. Hierarchy by scale contrast alone; tiny mono labels carry the readout. */
@font-face{font-family:"Epilogue";src:url(/assets/font-2lpfnizg-epilogue-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Epilogue";src:url(/assets/font-2lpfnizg-epilogue-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Epilogue";src:url(/assets/font-2lpfnizg-epilogue-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"DM Mono";src:url(/assets/font-2lpfnizg-dm-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  color-scheme:light;
  --wash:#f6f7f2;
  --sea:#d3e8df;
  --sea-deep:#7fbfae;
  --sea-pale:#e9f4ef;
  --butter:#f1d68a;
  --coral:#e4775b;
  --azure:#8fbfdc;
  --ink:#10242b;
  --muted:#2f4a52;
  --teal:#0b5d66;
  --teal-dk:#07424a;
  --night:#073942;
  --night-2:#0b4a55;
  --tin:#8c9a9e;
  --tin-lt:#b9c6c8;
  --error:#9c1f1f;
  --display:"Epilogue","Helvetica Neue",Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --measure:62ch;
  --wall:repeating-linear-gradient(90deg,transparent 0 118px,rgba(16,36,43,.15) 118px 121px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--wash);color:var(--ink);font-family:var(--display);font-weight:400;font-size:1.0625rem;line-height:1.65}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--butter);color:var(--ink)}
a{color:var(--teal);text-decoration-thickness:1.5px;text-underline-offset:.2em}
a:hover{color:var(--teal-dk);text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
h1,h2,h3{font-family:var(--display);color:var(--ink);margin:0 0 .5em;text-wrap:balance}
h1{font-weight:300;font-size:clamp(2.5rem,6vw,4.6rem);line-height:1;letter-spacing:-.045em}
h2{font-weight:800;font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.04;letter-spacing:-.035em}
h3{font-weight:800;font-size:1.3rem;line-height:1.2;letter-spacing:-.015em}
p{margin:0 0 1em;max-width:var(--measure)}
strong{font-weight:800}
.sosrg-wrap{width:min(100% - 2.5rem,76rem);margin-inline:auto}
@media (max-width:600px){.sosrg-wrap{width:min(100% - 2rem,76rem)}}
.sosrg-skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--wash);padding:.8rem 1rem;z-index:99}
.sosrg-skip:focus{left:1rem;top:1rem}

/* ---------- header: whitewash bar with a ruled foot ---------- */
.sosrg-head{position:sticky;top:0;z-index:30;background:var(--night);border-bottom:4px solid var(--butter)}
.sosrg-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.sosrg-brand{display:inline-flex;align-items:center;gap:.8rem;min-height:48px;color:var(--wash);text-decoration:none;font-family:var(--display);font-weight:800;font-size:1.2rem;line-height:1.1;letter-spacing:-.025em}
.sosrg-brand img{display:none}
.sosrg-brand::before{content:"";flex:none;width:30px;height:26px;background:
  linear-gradient(90deg,var(--butter) 0 1px,transparent 1px 5px,var(--butter) 5px 8px,transparent 8px 12px,var(--butter) 12px 17px,transparent 17px 22px,var(--butter) 22px 30px) center/100% 100% no-repeat}
.sosrg-brand:hover{color:var(--butter)}
.sosrg-links{display:flex;align-items:center;gap:.2rem 1.6rem}
.sosrg-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--wash);text-decoration:none;font-family:var(--mono);font-size:1rem;letter-spacing:.02em;text-transform:uppercase;background:linear-gradient(var(--butter),var(--butter)) left calc(100% - 6px)/0 3px no-repeat;transition:background-size .3s}
.sosrg-links a:hover{background-size:100% 3px;color:var(--wash)}
.sosrg-links a.sosrg-cta{background:var(--butter);color:var(--ink);padding:0 1.2rem;font-weight:400;border-bottom:4px solid var(--coral)}
.sosrg-links a.sosrg-cta:hover{background:var(--wash);color:var(--ink)}
.sosrg-menu{display:none;align-items:center;justify-content:center;min-width:48px;min-height:48px;background:transparent;border:2px solid var(--wash);color:var(--wash);cursor:pointer;padding:0}
@media (max-width:760px){
  .sosrg-menu{display:inline-flex}
  .sosrg-links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--night);border-bottom:4px solid var(--butter);flex-direction:column;align-items:stretch;padding:.8rem 1rem 1.2rem;gap:.2rem}
  .sosrg-links[data-open]{display:flex}
  .sosrg-links a{min-height:48px}
  .sosrg-links a.sosrg-cta{justify-content:center;margin-top:.5rem}
}

/* ---------- weather: the instrument readout ---------- */
.sosrg-wx{background:var(--ink);color:var(--wash)}
.sosrg-wx-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.8rem;padding:.7rem 0}
.sosrg-wx-photo{display:inline-flex;align-items:center;gap:.7rem;min-height:48px;background:none;border:0;padding:0;color:var(--wash);font:inherit;cursor:pointer}
.sosrg-wx-photo img{width:44px;height:44px;object-fit:cover;border:2px solid var(--wash);border-radius:0}
.sosrg-wx-photo span{font-family:var(--mono);font-size:.9375rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1.5px;border:0;border-radius:0;padding:0}
.sosrg-wx-photo:hover span,.sosrg-wx-photo[aria-expanded=true] span{background:var(--butter);color:var(--ink);text-decoration:none;padding:.1rem .4rem;margin:-.1rem -.4rem}
.sosrg-wx-now{display:flex;align-items:center;gap:.8rem}
.sosrg-wx-icon{display:inline-flex;color:var(--butter)}
.sosrg-wx-now strong{display:block;font-family:var(--display);font-weight:800;font-size:2rem;line-height:1;letter-spacing:-.03em;color:var(--wash)}
.sosrg-wx-now span{font-family:var(--mono);font-size:.9375rem;color:var(--wash)}
.sosrg-wx-now small{display:block;font-family:var(--mono);font-size:.875rem;color:#c9dbd7}
.sosrg-wx-days{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.sosrg-wx-days li{display:grid;grid-template-columns:auto auto;column-gap:.6rem;align-items:center;border:1px solid #5d767c;padding:.35rem .7rem;min-width:124px;font-family:var(--mono);font-size:.875rem;color:var(--wash)}
.sosrg-wx-day{font-weight:400;text-transform:uppercase;letter-spacing:.06em;color:#c9dbd7}
.sosrg-wx-glyph{grid-row:1/3;grid-column:2;color:var(--butter)}
.sosrg-wx-glyph svg{width:22px;height:22px}
.sosrg-wx-hl strong{font-family:var(--display);font-weight:800;font-size:1rem;color:var(--wash)}
.sosrg-wx-hl em{font-style:normal;margin-left:.4rem;color:#c9dbd7}
.sosrg-wx-cond{grid-column:1/3;font-size:.8125rem;color:#c9dbd7;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sosrg-wx-source{margin-left:auto;font-family:var(--mono);font-size:.8125rem;color:#c9dbd7}
.sosrg-wx-panel{padding:0 0 1.2rem}
.sosrg-wx-panel img{max-width:600px;width:100%;background:#0b1020;border:2px solid var(--wash)}
.sosrg-wx-panel p{font-family:var(--mono);font-size:.875rem;color:#c9dbd7;margin:.6rem 0 0}
.sosrg-wx :focus-visible{outline-color:var(--butter)}
@media (max-width:700px){.sosrg-wx-source{margin-left:0;width:100%}.sosrg-wx-now strong{font-size:1.7rem}}

/* ---------- hero: the cottage wall after dark ---------- */
.sosrg-hero{position:relative;background-color:var(--night);background-image:repeating-linear-gradient(90deg,transparent 0 118px,rgba(211,232,223,.13) 118px 121px);color:var(--wash);padding:0 0 clamp(2.2rem,4vw,3.2rem)}
.sosrg-hero-grid{display:grid;gap:clamp(1.6rem,4vw,3.4rem);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;padding-top:2.2rem}
.sosrg-axis{padding-top:1.2rem}
.sosrg-axis p,.sosrg-axis .sosrg-eyebrow{margin:0 0 .55rem;text-align:left;max-width:none;color:var(--sea)}
.sosrg-axis::after{content:"";display:block;height:12px;border-bottom:2px solid var(--sea);background:
  repeating-linear-gradient(90deg,var(--sea) 0 2px,transparent 2px 60px) left bottom/100% 12px no-repeat,
  repeating-linear-gradient(90deg,var(--sea) 0 1px,transparent 1px 12px) left bottom/100% 6px no-repeat}
.sosrg-hero h1{color:var(--wash);font-weight:300;font-size:clamp(2.7rem,6.1vw,5.5rem);line-height:.96;letter-spacing:-.055em;margin:0;max-width:none}
.sosrg-hero-copy{border-left:4px solid var(--butter);padding:.2rem 0 .2rem 1.4rem}
.sosrg-hero-lower{display:block}
.sosrg-eyebrow{margin:0 0 .8rem;font-family:var(--mono);font-weight:400;font-size:.875rem;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sosrg-lead{font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.5;color:var(--ink)}
.sosrg-hero .sosrg-lead{font-size:1.125rem;color:var(--wash)}
.sosrg-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.2rem 0 1.2rem;max-width:none}
.sosrg-hero .sosrg-btn--primary{background:var(--butter);border-color:var(--butter);border-bottom:6px solid var(--coral);color:var(--ink)}
.sosrg-hero .sosrg-btn--primary:hover{background:var(--wash);border-color:var(--wash);color:var(--ink)}
.sosrg-hero .sosrg-btn--ghost{color:var(--wash);border-color:var(--wash)}
.sosrg-hero .sosrg-btn--ghost:hover{background:var(--wash);color:var(--night)}
.sosrg-hero :focus-visible{outline-color:var(--butter)}
.sosrg-trust{list-style:none;margin:0;padding:0;font-family:var(--mono);font-size:.9375rem;line-height:1.4;color:var(--wash);max-width:34rem}
.sosrg-trust li{display:flex;align-items:center;gap:.8rem;padding:.4rem 0;border-top:1px solid rgba(211,232,223,.45)}
.sosrg-trust li::before{content:"";flex:none;width:18px;height:8px;background:var(--butter);font-weight:400}
.sosrg-trust li:last-child{border-bottom:1px solid rgba(211,232,223,.45)}

/* photos as three cottage windows under the row */
.sosrg-strip{background-color:var(--sea);background-image:var(--wall);padding:clamp(2rem,4vw,3.4rem) 0}
/* photos as cottage windows */
.sosrg-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.sosrg-mosaic a{display:flex;flex-direction:column;background:var(--wash);border:8px solid var(--wash);outline:2px solid var(--ink);color:var(--wash);text-decoration:none;position:relative}
.sosrg-mosaic img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sosrg-mosaic span{display:block;background:var(--ink);color:var(--wash);padding:.6rem .8rem;font-family:var(--mono);font-size:.9375rem;line-height:1.3;letter-spacing:.03em;text-transform:uppercase}
.sosrg-mosaic a:hover span{background:var(--teal-dk);text-decoration:underline}
.sosrg-mosaic a:nth-child(1)::after,.sosrg-mosaic a:nth-child(2)::after,.sosrg-mosaic a:nth-child(3)::after{content:"";position:absolute;left:-8px;right:-8px;bottom:-4px;height:6px}
.sosrg-mosaic a:nth-child(1)::after{background:var(--coral)}
.sosrg-mosaic a:nth-child(2)::after{background:var(--butter)}
.sosrg-mosaic a:nth-child(3)::after{background:var(--azure)}
@media (max-width:900px){.sosrg-hero-grid{grid-template-columns:1fr;align-items:start}.sosrg-mosaic{grid-template-columns:1fr}}
.sosrg-row{background:#dbeaf1;line-height:0;overflow:hidden;border-bottom:3px solid var(--ink)}
.sosrg-row svg{display:block;width:100%;height:clamp(150px,19vw,250px)}

/* ---------- sections ---------- */
.sosrg-section{padding:clamp(2.6rem,6vw,4.4rem) 0}
.sosrg-sec{padding:clamp(3rem,7vw,6rem) 0}
.sosrg-section--soft{background-color:var(--sea);background-image:var(--wall)}
.sosrg-section--deep{background:var(--ink);color:#e9f1ef}
.sosrg-section--deep h1,.sosrg-section--deep h2,.sosrg-section--deep h3{color:var(--wash)}
.sosrg-section--deep a{color:var(--butter)}
.sosrg-section--deep .sosrg-eyebrow{color:var(--sea-deep)!important}
.sosrg-sh{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.4rem 2rem;margin:0 0 clamp(1.6rem,3vw,2.6rem);padding-bottom:1rem;border-bottom:2px solid var(--ink)}
.sosrg-sh h2{grid-column:1;grid-row:1;margin:0;max-width:18ch}
.sosrg-sh .sosrg-eyebrow{grid-column:2;grid-row:1;margin:0 0 .35rem;text-align:right}
@media (max-width:700px){.sosrg-sh{grid-template-columns:1fr}.sosrg-sh .sosrg-eyebrow{grid-column:1;grid-row:2;text-align:left;margin:.5rem 0 0}}
.sosrg-cols,.sosrg-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
@media (max-width:860px){.sosrg-cols,.sosrg-steps{grid-template-columns:1fr}}
.sosrg-card{display:block;background:#fff;border:2px solid var(--ink);padding:1.4rem 1.4rem 1.6rem;color:var(--ink);text-decoration:none}
.sosrg-steps>.sosrg-card{margin-left:-2px;border-top-width:12px}
.sosrg-steps>.sosrg-card:first-child{margin-left:0;border-top-color:var(--sea-deep)}
.sosrg-steps>.sosrg-card:nth-child(2){border-top-color:var(--butter)}
.sosrg-steps>.sosrg-card:nth-child(3){border-top-color:var(--coral)}
@media (max-width:860px){.sosrg-steps>.sosrg-card{margin-left:0;margin-top:-2px}.sosrg-steps>.sosrg-card:first-child{margin-top:0}}
.sosrg-card p{max-width:none;margin:0;color:var(--muted)}
.sosrg-card h3{margin:0 0 .5em}
.sosrg-num{display:block;font-family:var(--display);font-size:clamp(5rem,9vw,8rem);line-height:.85;letter-spacing:-.06em;color:var(--teal);margin:0 0 1rem;width:auto;height:auto;background:none;border-radius:0}
.sosrg-steps>.sosrg-card:nth-child(1) .sosrg-num{font-weight:300}
.sosrg-steps>.sosrg-card:nth-child(2) .sosrg-num{font-weight:400}
.sosrg-steps>.sosrg-card:nth-child(3) .sosrg-num{font-weight:800}

/* ---------- buttons ---------- */
.sosrg-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 1.5rem;border:2px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-family:var(--display);font-weight:800;font-size:1.0625rem;letter-spacing:-.01em;text-decoration:none;cursor:pointer}
.sosrg-btn--primary{background:var(--teal);border-color:var(--teal);border-bottom:6px solid var(--teal-dk);color:#fff}
.sosrg-btn--primary:hover{background:var(--teal-dk);border-color:var(--teal-dk);color:#fff}
.sosrg-btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.sosrg-btn--ghost:hover{background:var(--ink);color:var(--wash)}
.sosrg-btn[disabled]{opacity:.6;cursor:progress}

/* ---------- quote engine ---------- */
.sosrg-wall{background-color:var(--sea);background-image:var(--wall)}
.sosrg-quote-wrap{max-width:none}
.sosrg-quote{background:#fff;border:3px solid var(--ink);border-top:16px solid var(--coral);padding:clamp(1.2rem,3vw,2.4rem)}
.sosrg-quote h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 1.2rem}
.sosrg-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 1.4rem}
@media (max-width:560px){.sosrg-fields{grid-template-columns:1fr}}
.sosrg-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.sosrg-field>span{font-family:var(--mono);font-weight:400;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.sosrg-field input,.sosrg-field select,.sosrg-field textarea{font:inherit;font-size:1.0625rem;min-height:48px;padding:.6rem .8rem;border:2px solid var(--ink);border-radius:0;background:var(--wash);color:var(--ink);width:100%}
.sosrg-field textarea{min-height:9rem}
.sosrg-field input:focus,.sosrg-field select:focus,.sosrg-field textarea:focus{outline:3px solid var(--teal);outline-offset:2px;background:#fff}
.sosrg-field--wide{grid-column:1/-1}
.sosrg-seg{display:flex;flex-wrap:wrap;gap:0}
.sosrg-seg label{position:relative;display:inline-flex;align-items:center;min-height:48px;padding:0 1.1rem;border:2px solid var(--ink);margin:0 -2px -2px 0;background:var(--wash);color:var(--ink);font-size:1.0625rem;cursor:pointer}
.sosrg-seg label:hover{background:var(--sea-pale)}
.sosrg-seg input{position:absolute;opacity:0;width:0;height:0}
.sosrg-seg input:checked+span{background:none;color:inherit;margin:0;padding:0;display:inline;border-radius:0}
.sosrg-seg label:has(input:checked){background:var(--teal);border-color:var(--teal-dk);color:#fff;z-index:1;font-weight:800}
.sosrg-seg label:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:3px;z-index:2}
.sosrg-seg input:focus-visible+span{outline:0}
.sosrg-note{font-family:var(--mono);font-size:.875rem;line-height:1.55;color:var(--muted);margin:1.2rem 0 1.2rem;max-width:var(--measure)}
.sosrg-status{margin-top:1rem;font-weight:800;min-height:1.5em}
.sosrg-status[data-tone=error]{color:var(--error)}
.sosrg-results{margin-top:2rem}
.sosrg-summary{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:baseline;margin-bottom:1rem;font-family:var(--mono);font-size:.9375rem}
.sosrg-result{display:grid;grid-template-columns:1fr auto;gap:.6rem 1.4rem;align-items:center;background:#fff;border:2px solid var(--ink);border-left:12px solid var(--sea-deep);padding:1rem 1.2rem;margin-bottom:.8rem}
.sosrg-result--best{border-left-color:var(--coral);background:var(--sea-pale)}
.sosrg-result strong{font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.015em}
.sosrg-result small{display:block;color:var(--muted);font-size:.9375rem}
.sosrg-price{font-family:var(--display);font-weight:800;font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1;letter-spacing:-.04em;text-align:right}
.sosrg-price small{display:block;font-family:var(--mono);font-weight:400;font-size:.8125rem;letter-spacing:0;text-align:right;margin-top:.3rem}
.sosrg-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.sosrg-tag{font-family:var(--mono);font-size:.8125rem;line-height:1.3;padding:.2rem .55rem;border:1.5px solid var(--ink);background:var(--wash);color:var(--ink)}
.sosrg-tag--now{background:#fde4dc;color:#6e1c0a;border-color:#8f2a12;font-weight:400}
.sosrg-group{font-size:1.3rem;margin:1.8rem 0 .6rem}
.sosrg-applicant{margin:.2rem 0 1rem;border-color:var(--teal)}
.sosrg-result .sosrg-btn{grid-column:1/-1;justify-self:start}
@media (min-width:640px){.sosrg-result{grid-template-columns:1fr auto auto}.sosrg-result .sosrg-btn{grid-column:auto}}
.sosrg-disclosure{font-size:.9375rem;color:var(--muted);border-top:2px solid var(--ink);padding-top:1rem;margin-top:1.2rem}
details.sosrg-more{margin-top:.5rem;font-size:.9375rem}
details.sosrg-more summary{cursor:pointer;color:var(--teal);font-weight:800;min-height:44px;display:flex;align-items:center}
.sosrg-noexam{background:var(--sea-pale);border:3px solid var(--teal);padding:1rem 1rem .4rem;margin:0 0 1.4rem}
.sosrg-group--noexam{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:0;font-size:1.3rem}
.sosrg-noexam-badge{display:inline-block;background:var(--teal);color:#fff;font-family:var(--mono);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .65rem}
.sosrg-noexam-note{margin-bottom:.9rem;color:var(--ink)}
.sosrg-noexam-note+.sosrg-noexam-note{margin-top:1rem;padding-top:.9rem;border-top:2px dashed var(--teal)}
.sosrg-result--noexam{border-left-color:var(--teal);background:#fff}
.sosrg-tag--noexam{background:var(--teal);color:#fff;border-color:var(--teal)}
.sosrg-tag--usually{background:#dcece6;color:var(--ink);border-color:var(--teal)}

/* ---------- rates: the specimen table ---------- */
.sosrg-rates{background:var(--wash)}
.sosrg-ladder{line-height:0;margin:0 0 2.4rem}
.sosrg-ladder svg{display:block;width:100%;height:54px}
.sosrg-rates-note p{color:var(--muted);font-size:1.0625rem}
.sosrg-table-wrap{overflow-x:auto}
.sosrg-table{width:100%;border-collapse:collapse;font-size:1.0625rem}
.sosrg-table th,.sosrg-table td{padding:.8rem .8rem .8rem 0;border-bottom:1px solid var(--ink);text-align:left;vertical-align:baseline}
.sosrg-table thead th{font-family:var(--mono);font-weight:400;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--ink);vertical-align:bottom}
.sosrg-table td:first-child{font-size:1.1rem}
.sosrg-table td:nth-child(2){font-weight:800;font-size:clamp(1.4rem,3vw,2.2rem);letter-spacing:-.04em;line-height:1.1}
.sosrg-table td:nth-child(3){font-weight:300;font-size:clamp(1.4rem,3vw,2.2rem);letter-spacing:-.04em;line-height:1.1}
.sosrg-table td:nth-child(4){font-family:var(--mono);font-size:1rem}
.sosrg-table tbody tr:hover{background:var(--sea-pale)}

/* ---------- why: the dark cottage interior ---------- */
.sosrg-why{background:var(--ink);color:#e4eeeb}
.sosrg-why h2{color:var(--wash)}
.sosrg-why .sosrg-sh{border-bottom-color:#e4eeeb}
.sosrg-why .sosrg-eyebrow{color:var(--sea-deep)}
.sosrg-why-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,5vw,5rem);align-items:start}
@media (max-width:900px){.sosrg-why-grid{grid-template-columns:1fr}}
.sosrg-why-text p{font-size:1.15rem;line-height:1.7;max-width:60ch}
.sosrg-why-links p{font-family:var(--mono);font-size:1rem;line-height:1.9;color:#e4eeeb;border-top:2px solid var(--butter);padding-top:1rem}
.sosrg-why a{color:var(--butter);text-decoration-thickness:1.5px;display:inline-block;min-height:32px}
.sosrg-why a:hover{color:#fff}
.sosrg-why :focus-visible{outline-color:var(--butter)}

/* ---------- learn ---------- */
.sosrg-learn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media (max-width:1000px){.sosrg-learn-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sosrg-learn-grid{grid-template-columns:1fr}}
.sosrg-learn-grid>.sosrg-card{border-top-width:14px;min-height:12rem;transition:transform .2s}
.sosrg-learn-grid>.sosrg-card:nth-child(1){border-top-color:var(--coral)}
.sosrg-learn-grid>.sosrg-card:nth-child(2){border-top-color:var(--butter)}
.sosrg-learn-grid>.sosrg-card:nth-child(3){border-top-color:var(--sea-deep)}
.sosrg-learn-grid>.sosrg-card:nth-child(4){border-top-color:var(--azure)}
.sosrg-learn-grid>.sosrg-card:hover{transform:translateY(-4px);background:var(--sea-pale)}
.sosrg-learn-grid>.sosrg-card:hover h3{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.15em}

/* ---------- articles, faq, forms on inner pages ---------- */
.sosrg-article{max-width:50rem;margin-inline:auto}
.sosrg-article h1{margin-bottom:.4em}
.sosrg-article h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:2em 0 .6em}
.sosrg-article p,.sosrg-article li{max-width:none;font-size:1.0625rem}
.sosrg-article figure{margin:0 0 1.5rem}
.sosrg-article figcaption{font-family:var(--mono);font-size:.875rem;color:var(--muted);margin-top:.5rem}
.sosrg-article img{border:6px solid var(--wash);outline:2px solid var(--ink)}
.sosrg-section--soft .sosrg-article{max-width:none}
.sosrg-section--soft h1{font-size:clamp(2.4rem,6vw,4.8rem)}
.sosrg-section--soft .sosrg-eyebrow{color:var(--ink)}
.sosrg-section--soft .sosrg-lead{max-width:48rem}
.sosrg-card.sosrg-calc,.sosrg-calc{background:#fff;border:2px solid var(--ink);border-top:12px solid var(--sea-deep);margin:1.6rem 0 2rem;padding:1.4rem}
.sosrg-calc output{display:block;margin-top:1rem;font-family:var(--display);font-weight:800;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;line-height:1.1;color:var(--teal)}
.sosrg-sources{font-size:.9375rem;border-top:2px solid var(--ink);padding-top:1rem;margin-top:2.4rem}
.sosrg-sources ol{padding-left:1.3rem}
.sosrg-faq details{border-bottom:2px solid var(--ink);padding:0}
.sosrg-faq details:first-child{border-top:2px solid var(--ink)}
.sosrg-faq summary{display:flex;align-items:center;gap:1rem;min-height:56px;padding:.8rem 0;cursor:pointer;font-weight:800;font-size:1.15rem;line-height:1.3;letter-spacing:-.015em;list-style:none}
.sosrg-faq summary::-webkit-details-marker{display:none}
.sosrg-faq summary::before{content:"";flex:none;width:6px;height:26px;background:var(--ink);transition:width .2s}
.sosrg-faq details[open] summary::before{width:20px;background:var(--teal)}
.sosrg-faq details p{padding:0 0 1.2rem 2.2rem}
.sosrg-apply-shell{background:#fff;border:3px solid var(--ink);padding:1rem;min-height:600px}
.sosrg-apply-shell iframe{width:100%;border:0}

/* ---------- footer: the tin roof ---------- */
.sosrg-foot{background:var(--ink);color:#dbe7e4;padding:0 0 2.4rem;font-size:1rem}
.sosrg-foot::before{content:"";display:block;height:16px;background:repeating-linear-gradient(90deg,var(--tin) 0 7px,var(--tin-lt) 7px 14px);margin-bottom:2.6rem}
.sosrg-foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
@media (max-width:700px){.sosrg-foot-grid{grid-template-columns:1fr}}
.sosrg-foot a{color:#fff}
.sosrg-foot a:hover{color:var(--butter)}
.sosrg-foot .sosrg-brand{color:#fff;font-size:1.35rem}
.sosrg-foot .sosrg-brand::before{background:linear-gradient(90deg,#fff 0 1px,transparent 1px 5px,#fff 5px 8px,transparent 8px 12px,#fff 12px 17px,transparent 17px 22px,#fff 22px 30px) center/100% 100% no-repeat}
.sosrg-foot nav strong{display:block;font-family:var(--mono);font-weight:400;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sea-deep);margin-bottom:.4rem}
.sosrg-foot nav a{display:flex;align-items:center;min-height:44px}
.sosrg-foot p{max-width:40ch}
.sosrg-foot :focus-visible{outline-color:var(--butter)}

[data-reveal]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.sosrg-foot .sosrg-wrap>p{max-width:80ch}

/* hover states keep their contrast on every ground */
.sosrg-mosaic a:hover,.sosrg-card:hover{color:var(--wash)}
.sosrg-card:hover{color:var(--ink)}
.sosrg-foot .sosrg-brand:hover{color:var(--butter)}
.sosrg-why a:hover,.sosrg-foot a:hover{color:var(--butter)}

/* inner pages: the label reads as a caption under the title */
.sosrg-section--soft>.sosrg-wrap,.sosrg-section>.sosrg-article{display:flex;flex-direction:column;align-items:stretch}
.sosrg-section--soft>.sosrg-wrap>*,.sosrg-section>.sosrg-article>*{order:3;min-width:0}
.sosrg-section--soft>.sosrg-wrap>h1,.sosrg-section>.sosrg-article>h1{order:1}
.sosrg-section--soft>.sosrg-wrap>.sosrg-eyebrow,.sosrg-section>.sosrg-article>.sosrg-eyebrow{order:2;margin:0 0 1.2rem}
.sosrg-skip:hover{color:var(--wash)}
.sosrg-section--soft>.sosrg-wrap>.sosrg-eyebrow,.sosrg-section>.sosrg-article>.sosrg-eyebrow{text-transform:none;letter-spacing:.01em;font-size:1rem}
