/* Pleated paper fan: valley and mountain folds, bougainvillea, pool turquoise, sun-yellow rivet */
@font-face{font-family:"Gloock";src:url(/assets/font-2nnnkwty-gloock-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/assets/font-2nnnkwty-hanken-grotesk-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/assets/font-2nnnkwty-hanken-grotesk-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/assets/font-2nnnkwty-hanken-grotesk-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--aqua:#EDF6F5;--aqua-deep:#D8EBE9;--white:#FFFFFF;--plum:#2A1030;--plum-soft:#5A3D60;--magenta:#B0145E;--magenta-dark:#8A0F49;--rose:#FBE3EC;--teal:#0B6B73;--teal-deep:#08454B;--sun:#F5B82E;--sun-deep:#C98A0A;--sun-pale:#FFF3D0;--rule:#9CC4C0;--alert:#9A1B1B;
--display:"Gloock","Georgia",serif;--body:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;--measure:42rem;--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(--aqua);background-image:repeating-linear-gradient(90deg,rgba(11,107,115,.045) 0 40px,rgba(255,255,255,0) 40px 80px);color:var(--plum);font-family:var(--body);font-size:1.0625rem;line-height:1.65;overflow-x:hidden}
::selection{background:var(--sun);color:var(--plum)}
img{display:block;max-width:100%;height:auto}
a{color:var(--magenta-dark);text-underline-offset:.2em;text-decoration-thickness:1.5px}
a:hover{color:var(--teal-deep);text-decoration-thickness:3px}
:focus-visible{outline:3px solid var(--magenta);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.14;margin:0 0 .55em;letter-spacing:0;color:var(--plum);text-wrap:balance}
h1{font-size:clamp(2.3rem,5vw,4.1rem)}
h2{font-size:clamp(1.75rem,3.3vw,2.6rem)}
h3{font-size:1.4rem}
p{margin:0 0 1em;max-width:var(--measure)}
strong{font-weight:700}
.swlvz-wrap{width:min(100% - 2.5rem,76rem);margin-inline:auto}
@media (max-width:600px){.swlvz-wrap{width:min(100% - 2rem,76rem)}}
.swlvz-skip{position:absolute;left:-999px;top:0;background:var(--plum);color:var(--white);padding:.75rem 1rem;z-index:99}
.swlvz-skip:focus,.swlvz-skip:hover{left:1rem;top:1rem;color:var(--white)}

/* header: teal pleated paper, scalloped lower edge */
.swlvz-head{position:sticky;top:0;z-index:20;background:repeating-linear-gradient(90deg,var(--teal) 0 28px,#0A5F67 28px 56px);border:0;backdrop-filter:none;color:var(--white)}
.swlvz-head::after{content:"";position:absolute;left:0;right:0;top:100%;height:13px;pointer-events:none;background:radial-gradient(circle at 50% 0,#0B6B73 0 12px,transparent 12.5px) 0 0/28px 13px repeat-x}
.swlvz-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.swlvz-brand{display:inline-flex;align-items:center;min-height:44px;font-family:var(--display);font-weight:400;font-size:1.35rem;color:var(--white);text-decoration:none}
.swlvz-brand img{display:none}
.swlvz-brand:hover,.swlvz-foot .swlvz-brand:hover{color:var(--sun)}
.swlvz-links{display:flex;gap:.3rem 1.3rem;align-items:center}
.swlvz-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--white);text-decoration:none;font-weight:600;font-size:1.0625rem;border-bottom:3px solid transparent;transition:border-color .25s var(--ease)}
.swlvz-links a:hover{color:var(--white);border-bottom-color:var(--sun)}
.swlvz-cta{background:var(--sun)!important;color:var(--plum)!important;padding:0 1.2rem;border-radius:999px;border-bottom:0!important;font-weight:700!important}
.swlvz-links a.swlvz-cta:hover{background:var(--white)!important;color:var(--plum)!important}
.swlvz-menu{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:2px solid var(--white);border-radius:10px;padding:.3rem;color:var(--white);cursor:pointer}
@media (max-width:760px){
.swlvz-menu{display:inline-flex}
.swlvz-links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--teal-deep);flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.4rem;gap:.2rem}
.swlvz-links[data-open]{display:flex}
.swlvz-links a{border-bottom:0;padding:0 .2rem}
.swlvz-cta{justify-content:center;margin-top:.4rem}
.swlvz-head::after{display:none}
}

/* weather: a pale paper band */
.swlvz-wx{background:var(--sun-pale);color:var(--plum);border-bottom:3px solid var(--sun);margin-top:13px;padding:0 1rem}
.swlvz-wx-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.6rem;padding:.8rem 0}
.swlvz-wx-photo{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;background:none;border:0;padding:0;color:var(--plum);font:inherit;cursor:pointer}
.swlvz-wx-photo img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid var(--teal)}
.swlvz-wx-photo span{font-size:.95rem;font-weight:700;letter-spacing:.04em;border:2px solid var(--teal);border-radius:999px;padding:.3rem .8rem;text-transform:none;color:var(--plum)}
.swlvz-wx-photo:hover span,.swlvz-wx-photo[aria-expanded=true] span{background:var(--teal);border-color:var(--teal-deep);color:var(--white)}
.swlvz-wx-now{display:flex;align-items:center;gap:.7rem}
.swlvz-wx-now strong{font-family:var(--display);font-weight:400;font-size:2rem;line-height:1;color:var(--magenta-dark)}
.swlvz-wx-now span{font-size:1.0625rem}
.swlvz-wx-now small{display:block;font-size:.95rem;opacity:1;color:var(--plum-soft)}
.swlvz-wx-icon{display:inline-flex;color:var(--teal-deep)}
.swlvz-wx-days{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.swlvz-wx-days li{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.5rem;align-items:center;border:1.5px solid rgba(42,16,48,.35);border-radius:14px 14px 4px 4px;padding:.4rem .7rem;font-size:.95rem;min-width:124px}
.swlvz-wx-day{font-weight:700;grid-column:1}
.swlvz-wx-glyph{grid-row:1/3;grid-column:2;color:var(--teal-deep)}.swlvz-wx-glyph svg{width:24px;height:24px}
.swlvz-wx-hl{grid-column:1}.swlvz-wx-hl strong{font-size:1rem}.swlvz-wx-hl em{font-style:normal;opacity:1;margin-left:.3rem;color:var(--plum-soft)}
.swlvz-wx-cond{grid-column:1/3;font-size:.9rem;opacity:1;color:var(--plum-soft);max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.swlvz-wx-source{margin-left:auto;font-size:.9rem;opacity:1;color:var(--plum-soft)}
.swlvz-wx-panel{padding:0 0 1rem}.swlvz-wx-panel img{border-radius:12px;max-width:600px;width:100%;background:var(--teal-deep)}.swlvz-wx-panel p{font-size:.95rem;opacity:1;color:var(--plum-soft);margin:.5rem 0 0}
@media (max-width:700px){.swlvz-wx-source{margin-left:0;width:100%}.swlvz-wx-now strong{font-size:1.7rem}}

/* hero: a full-width bougainvillea band, the fan opened on its rivet in a pale half-moon above the headline */
.swlvz-eyebrow{margin:0 0 .8rem;font-family:var(--display);font-size:1.15rem;font-weight:400;letter-spacing:.01em;text-transform:none;color:var(--magenta-dark);display:flex;align-items:center;gap:.8rem;max-width:none}
.swlvz-eyebrow::before{content:"";width:2.2rem;height:0;border-top:3px dashed var(--teal);flex:none}
.swlvz-hero{position:relative;padding:clamp(2rem,4vw,3.2rem) 0 clamp(4.5rem,8vw,7rem);background:linear-gradient(180deg,#6E0A3B 0,#8A0F49 55%,#94104F 100%);color:var(--white);clip-path:polygon(0 0,100% 0,100% calc(100% - clamp(2rem,5vw,4.5rem)),0 100%);margin-bottom:clamp(-3rem,-3vw,-1rem)}
.swlvz-hero-grid{display:flex;flex-direction:column;align-items:center;gap:1.6rem;text-align:center}
.swlvz-hero-copy{display:flex;flex-direction:column;align-items:center;max-width:52rem}
.swlvz-hero .swlvz-eyebrow{justify-content:center;color:var(--sun)}
.swlvz-hero .swlvz-eyebrow::before{border-top-color:var(--sun)}
.swlvz-hero h1{margin:0 0 .5em;font-size:clamp(2.3rem,5vw,4rem);line-height:1.08;color:var(--white)}
.swlvz-hero h1::first-letter{color:var(--sun);font-size:1.3em;line-height:.9}
.swlvz-lead{font-size:1.2rem;line-height:1.65;color:var(--plum);max-width:36rem}
.swlvz-hero .swlvz-lead{color:var(--white);max-width:38rem;margin-inline:auto}
.swlvz-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1.4rem;align-items:center;margin:1.4rem 0 0}
.swlvz-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1.8rem;margin:1.4rem 0 0;padding:0;list-style:none;font-size:1.0625rem;font-weight:600;color:var(--white)}
.swlvz-trust li{display:flex;align-items:center;gap:.6rem;min-height:30px}
.swlvz-trust li::before{content:"";width:.8rem;height:.8rem;flex:none;background:var(--sun);border:2px solid var(--white);border-radius:50%}
.swlvz-hero a{color:var(--white)}
.swlvz-hero :focus-visible{outline-color:var(--sun)}
.swlvz-stage{display:block;order:-1;width:100%;max-width:520px;padding:1.2rem 1.2rem 0;background:var(--sun-pale);border-radius:999px 999px 0 0;box-shadow:0 8px 0 var(--plum)}
.swlvz-stage svg{width:100%;height:auto;max-width:480px;margin-inline:auto}
@media (max-width:900px){.swlvz-stage{max-width:340px;padding:.9rem .9rem 0}.swlvz-stage svg{max-width:300px}.swlvz-hero{margin-bottom:-1rem}}

/* buttons */
.swlvz-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:0 1.7rem;border:2px solid var(--plum);border-radius:999px;background:var(--white);color:var(--plum);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}
.swlvz-btn span{transition:transform .3s var(--ease)}
.swlvz-btn:hover span{transform:translateX(4px)}
.swlvz-btn--primary{background:var(--magenta);border-color:var(--magenta-dark);color:var(--white);box-shadow:0 5px 0 var(--plum)}
.swlvz-btn--primary:hover{background:var(--magenta-dark);color:var(--white);transform:translateY(2px);box-shadow:0 3px 0 var(--plum);filter:none}
.swlvz-btn--ghost{background:transparent;color:var(--plum);border:2px dashed var(--teal)}
.swlvz-btn--ghost:hover{background:var(--aqua-deep);color:var(--plum);border-style:solid}
.swlvz-btn[disabled]{opacity:.65;cursor:progress}
.swlvz-btn--primary[disabled]:hover{transform:none;box-shadow:0 5px 0 var(--plum)}

.swlvz-hero .swlvz-btn--primary{background:var(--sun);border-color:var(--sun-deep);color:var(--plum);box-shadow:0 5px 0 var(--plum)}
.swlvz-hero .swlvz-btn--primary:hover{background:var(--white);color:var(--plum)}
.swlvz-hero .swlvz-btn--ghost{color:var(--white);border:2px dashed var(--white);background:transparent}
.swlvz-hero .swlvz-btn--ghost:hover{background:var(--plum);color:var(--white)}

/* mosaic: three photographs fanned on a pivot below them */
.swlvz-blades{position:relative;padding:3.4rem 0 clamp(2rem,4vw,3rem);overflow:clip}
.swlvz-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(.8rem,2vw,1.6rem);order:0;padding-top:.6rem}
.swlvz-mosaic a{position:relative;display:block;overflow:visible;aspect-ratio:auto;border-radius:6px;background:var(--white);border:2px solid var(--plum);padding:10px 10px 0;color:var(--plum);text-decoration:none;transform-origin:50% 160%;box-shadow:6px 8px 0 rgba(42,16,48,.14);transition:transform .4s var(--ease)}
.swlvz-mosaic a:first-child{grid-column:auto;aspect-ratio:auto;transform:rotate(-4deg)}
.swlvz-mosaic a:nth-child(2){transform:translateY(-.8rem)}
.swlvz-mosaic a:nth-child(3){transform:rotate(4deg)}
.swlvz-mosaic a:hover{transform:translateY(-.4rem) rotate(0)}
.swlvz-mosaic img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:2px;transition:none}
.swlvz-mosaic a:hover img{transform:none}
.swlvz-mosaic span{position:static;display:flex;align-items:center;min-height:64px;padding:.5rem .2rem;background:none;color:var(--plum);font-family:var(--display);font-weight:400;font-size:1.2rem;line-height:1.2}
.swlvz-mosaic a:hover span{color:var(--magenta-dark);text-decoration:underline;text-underline-offset:.2em}
@media (max-width:760px){.swlvz-mosaic{grid-template-columns:1fr;gap:1.2rem}.swlvz-mosaic a:first-child,.swlvz-mosaic a:nth-child(2),.swlvz-mosaic a:nth-child(3){transform:none}.swlvz-mosaic a:hover{transform:none}}

/* sections with a creased margin rail */
.swlvz-sec{padding:4rem 1rem;position:relative}
.swlvz-section{padding:3rem 1rem;background:none}
.swlvz-section--soft{background:var(--aqua-deep)}
.swlvz-section--deep{background:var(--plum);color:var(--white)}
.swlvz-section--deep h2,.swlvz-section--deep h3{color:var(--white)}
.swlvz-section--deep a{color:var(--sun)}
.swlvz-rail{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:0 clamp(1.5rem,3.5vw,3rem)}
.swlvz-rail-head{border-right:3px dashed var(--teal);padding-right:clamp(1rem,2vw,1.6rem)}
.swlvz-rail-head .swlvz-eyebrow{display:block;position:sticky;top:96px;font-size:1.3rem;line-height:1.2}
.swlvz-rail-head .swlvz-eyebrow::before{display:block;margin-bottom:.6rem;width:2.2rem}
.swlvz-rail-head svg{width:100%;max-width:150px;height:auto;margin-top:1.6rem}
.swlvz-rail-body h2{max-width:34rem}
@media (max-width:820px){
.swlvz-rail{grid-template-columns:minmax(0,1fr)}
.swlvz-rail-head{border-right:0;border-bottom:3px dashed var(--teal);padding:0 .9rem .9rem 0;margin-bottom:1.4rem}
.swlvz-rail-head .swlvz-eyebrow{position:static}
.swlvz-rail-head .swlvz-eyebrow::before{display:inline-block;margin:0 .6rem 0 0}
.swlvz-rail-head .swlvz-eyebrow{display:flex}
.swlvz-rail-head svg{display:none}
}

/* three folds: the cards are pleats, valley then mountain */
.swlvz-cols{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.swlvz-card{background:var(--white);border:2px solid var(--plum);border-radius:6px;padding:1.4rem}
.swlvz-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:2rem}
.swlvz-steps>.swlvz-card{position:relative;border-radius:0;border-width:2px 0 2px 2px;padding:1.6rem 1.4rem 1.8rem;background:linear-gradient(90deg,var(--white) 0 50%,#F1F8F7 50% 100%)}
.swlvz-steps>.swlvz-card:last-child{border-right-width:2px}
.swlvz-steps>.swlvz-card:nth-child(2){background:linear-gradient(90deg,#F1F8F7 0 50%,var(--white) 50% 100%)}
.swlvz-steps>.swlvz-card>*{position:relative;z-index:1}
.swlvz-steps p{margin:0;max-width:none}
.swlvz-num{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--sun);border:2px solid var(--plum);color:var(--plum);font-family:var(--display);font-weight:400;font-size:1.4rem;margin-bottom:.8rem}
@media (max-width:900px){.swlvz-steps{grid-template-columns:1fr}.swlvz-steps>.swlvz-card,.swlvz-steps>.swlvz-card:last-child{border-width:2px 2px 0 2px}.swlvz-steps>.swlvz-card:last-child{border-bottom-width:2px}.swlvz-steps>.swlvz-card,.swlvz-steps>.swlvz-card:nth-child(2){background:var(--white)}}

/* quote engine */
.swlvz-panel{background:repeating-linear-gradient(90deg,var(--aqua-deep) 0 40px,#CCE4E1 40px 80px)}
.swlvz-quote{background:var(--white);border:2px solid var(--plum);border-radius:10px;padding:clamp(1.2rem,3vw,2rem);box-shadow:9px 9px 0 var(--sun)}
.swlvz-quote h2{font-size:clamp(1.6rem,3vw,2.1rem)}
.swlvz-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.3rem}
@media (max-width:620px){.swlvz-fields{grid-template-columns:1fr}}
.swlvz-field{display:flex;flex-direction:column;gap:.35rem}
.swlvz-field>span{font-size:1rem;font-weight:700;color:var(--plum)}
.swlvz-field input,.swlvz-field select,.swlvz-field textarea{font:inherit;min-height:48px;padding:.65rem .8rem;border:2px solid var(--plum);border-radius:8px;background:var(--white);color:var(--plum);width:100%}
.swlvz-field textarea{min-height:140px}
.swlvz-field input:focus,.swlvz-field select:focus,.swlvz-field textarea:focus{outline:3px solid var(--sun);outline-offset:1px;border-color:var(--magenta)}
.swlvz-field--wide{grid-column:1/-1}
.swlvz-seg{display:flex;flex-wrap:wrap;gap:.5rem}
.swlvz-seg label{display:inline-flex;align-items:center;min-height:46px;border:2px solid var(--plum);border-radius:999px;padding:.4rem 1rem;cursor:pointer;font-size:1.0625rem;font-weight:600;background:var(--white);transition:background .2s}
.swlvz-seg label:hover{background:var(--rose)}
.swlvz-seg input{position:absolute;opacity:0;width:0;height:0}
.swlvz-seg input:checked+span{font-weight:700}
.swlvz-seg label:has(input:checked){background:var(--teal);border-color:var(--teal-deep);color:var(--white)}
.swlvz-seg label:has(input:focus-visible){outline:3px solid var(--magenta);outline-offset:3px}
.swlvz-note{font-size:.95rem;color:var(--plum-soft);margin-top:.8rem;max-width:none}
.swlvz-status{margin-top:.8rem;font-weight:700;min-height:1.4em}
.swlvz-status[data-tone=error]{color:var(--alert)}
.swlvz-results{margin-top:1.6rem}
.swlvz-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:baseline;margin-bottom:1rem;font-size:1rem}
.swlvz-result{display:grid;grid-template-columns:1fr auto;gap:.6rem 1.2rem;align-items:center;border:2px solid var(--plum);border-radius:8px;padding:1rem 1.1rem;margin-bottom:.8rem;background:var(--white)}
.swlvz-result--best{border-color:var(--magenta);box-shadow:6px 6px 0 var(--sun)}
.swlvz-result strong{font-family:var(--display);font-weight:400;font-size:1.2rem}
.swlvz-result small{display:block;color:var(--plum-soft);font-size:.95rem}
.swlvz-price{font-family:var(--display);font-size:1.9rem;font-weight:400;text-align:right;line-height:1;color:var(--magenta-dark)}
.swlvz-price small{display:block;font-family:var(--body);font-size:.85rem;font-weight:600;text-align:right;margin-top:.3rem;color:var(--plum-soft)}
.swlvz-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.swlvz-tag{font-size:.85rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;background:var(--aqua);border:1.5px solid var(--teal);color:var(--teal-deep)}
.swlvz-tag--now{background:var(--rose);color:var(--magenta-dark);border-color:var(--magenta);font-weight:700}
.swlvz-group{font-family:var(--display);font-weight:400;font-size:1.35rem;margin:1.6rem 0 .5rem}
.swlvz-applicant{margin:.2rem 0 1rem;border-color:var(--magenta)}
.swlvz-result .swlvz-btn{grid-column:1/-1;justify-self:start}
@media (min-width:640px){.swlvz-result{grid-template-columns:1fr auto auto}.swlvz-result .swlvz-btn{grid-column:auto}}
.swlvz-disclosure{font-size:.92rem;color:var(--plum-soft);border-top:2px dashed var(--rule);padding-top:.9rem;margin-top:1.2rem;max-width:none}
details.swlvz-more{margin-top:.5rem;font-size:.95rem}
details.swlvz-more summary{cursor:pointer;color:var(--magenta-dark);font-weight:700;min-height:44px;display:flex;align-items:center}

/* rates table: ruled in fold bands */
.swlvz-rates-note p{max-width:38rem}
.swlvz-table-wrap{overflow-x:auto;margin-top:1.4rem;border:2px solid var(--plum);border-radius:8px;background:var(--white);padding:.35rem}
.swlvz-table{width:100%;border-collapse:collapse;font-size:1.0625rem}
.swlvz-table th,.swlvz-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--rule)}
.swlvz-table thead th{background:var(--teal);color:var(--white);font-size:.95rem;font-weight:700;letter-spacing:.03em;border-bottom:0}
.swlvz-table tbody tr:nth-child(odd){background:#F1F8F7}
.swlvz-table tbody tr:last-child td{border-bottom:0}
.swlvz-table td:first-child{font-weight:700}
.swlvz-table td:nth-child(2){font-family:var(--display);font-size:1.2rem;color:var(--magenta-dark)}

/* why: plum paper with a scalloped top */
.swlvz-why{background:var(--plum);color:var(--white);margin-top:14px;padding-bottom:4.5rem}
.swlvz-why::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:14px;background:radial-gradient(circle at 50% 100%,var(--plum) 0 13px,transparent 13.5px) 0 0/28px 14px repeat-x}
.swlvz-why h2{color:var(--white)}
.swlvz-why .swlvz-eyebrow{color:var(--sun)}
.swlvz-why .swlvz-eyebrow::before{border-top-color:var(--sun)}
.swlvz-why .swlvz-rail-head{border-right-color:var(--sun);border-bottom-color:var(--sun)}
.swlvz-why a{color:var(--sun)}
.swlvz-why a:hover{color:var(--white)}
.swlvz-why :focus-visible{outline-color:var(--sun)}
.swlvz-why-text p{max-width:40rem}
.swlvz-hl{margin-top:1.8rem;padding-top:1.2rem;border-top:2px dashed var(--sun)}
.swlvz-hl p{margin:0;max-width:none}

/* learn: four arched tabs */
.swlvz-learn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-top:2rem}
.swlvz-learn>a.swlvz-card{display:block;padding:1.6rem 1.5rem 1.5rem;border-radius:3rem 3rem 6px 6px;border-top-width:8px;border-top-color:var(--magenta);color:var(--plum);text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.swlvz-learn>a.swlvz-card:nth-child(2){border-top-color:var(--sun)}
.swlvz-learn>a.swlvz-card:nth-child(3){border-top-color:var(--teal)}
.swlvz-learn>a.swlvz-card:nth-child(4){border-top-color:var(--plum)}
.swlvz-learn>a.swlvz-card h3{margin:0 0 .4rem;color:var(--plum)}
.swlvz-learn>a.swlvz-card p{margin:0;color:var(--plum-soft)}
.swlvz-learn>a.swlvz-card:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--sun)}
.swlvz-learn>a.swlvz-card:hover h3{color:var(--magenta-dark);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
@media (max-width:700px){.swlvz-learn{grid-template-columns:1fr}}
a.swlvz-card{text-decoration:none;color:var(--plum)}

/* articles, faq, apply */
.swlvz-article{max-width:var(--measure);margin-inline:auto}
.swlvz-article h1{margin-bottom:.4em}
.swlvz-article h2{margin-top:1.6em}
.swlvz-article figure{margin:0 0 1.5rem}
.swlvz-article figcaption{font-size:.95rem;color:var(--plum-soft);margin-top:.4rem}
.swlvz-article img{border-radius:6px;border:2px solid var(--plum)}
.swlvz-calc{background:var(--sun-pale);border-color:var(--sun-deep)}
.swlvz-calc output{font-family:var(--display);font-size:2.2rem;font-weight:400;display:block;margin-top:.6rem;color:var(--magenta-dark)}
.swlvz-sources{font-size:1rem;border-top:2px dashed var(--rule);padding-top:1rem;margin-top:2rem}
.swlvz-sources ol{padding-left:1.3rem}
.swlvz-faq details{border-bottom:2px dashed var(--rule);padding:.5rem 0}
.swlvz-faq summary{cursor:pointer;display:flex;align-items:center;gap:.8rem;min-height:48px;font-family:var(--display);font-weight:400;font-size:1.2rem;list-style:none}
.swlvz-faq summary::-webkit-details-marker{display:none}
.swlvz-faq summary::before{content:"+";flex:none;display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--sun);border:2px solid var(--plum);font-family:var(--body);font-weight:700;font-size:1.2rem;line-height:1}
.swlvz-faq details[open] summary::before{content:"\2212";background:var(--teal);color:var(--white)}
.swlvz-apply-shell{background:var(--white);border:2px solid var(--plum);border-radius:10px;padding:1rem;min-height:600px;box-shadow:8px 8px 0 var(--sun)}
.swlvz-apply-shell iframe{width:100%;border:0}

/* no-exam highlight */
.swlvz-noexam{background:var(--sun-pale);border:2px solid var(--sun-deep);border-radius:12px;padding:1rem 1rem .4rem;margin:0 0 1.4rem;box-shadow:6px 6px 0 rgba(42,16,48,.14)}
.swlvz-group--noexam{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:0;font-size:1.35rem}
.swlvz-noexam-badge{display:inline-block;background:var(--magenta);color:var(--white);font-family:var(--body);font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.35rem .8rem;border-radius:999px}
.swlvz-noexam-note{margin-bottom:.9rem;color:var(--plum)}
.swlvz-result--noexam{border-color:var(--sun-deep);background:var(--white)}
.swlvz-tag--noexam{background:var(--magenta);color:var(--white);border-color:var(--magenta-dark)}
.swlvz-tag--usually{background:var(--sun-pale);color:var(--plum);border-color:var(--sun-deep)}
.swlvz-noexam-note+.swlvz-noexam-note{margin-top:1rem;padding-top:.9rem;border-top:2px dashed var(--sun-deep)}

/* footer: plum paper, scalloped top */
.swlvz-foot{position:relative;margin-top:16px;background:var(--plum);color:#F1E6F2;padding:2.8rem 0 2.2rem;font-size:1rem;border:0}
.swlvz-foot::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:14px;background:radial-gradient(circle at 50% 100%,var(--plum) 0 13px,transparent 13.5px) 0 0/28px 14px repeat-x}
.swlvz-foot a{color:var(--white);text-decoration-color:var(--sun)}
.swlvz-foot a:hover{color:var(--sun)}
.swlvz-foot :focus-visible{outline-color:var(--sun)}
.swlvz-foot .swlvz-brand{font-size:1.5rem;margin-bottom:.4rem}
.swlvz-foot-grid{display:grid;gap:1.6rem;grid-template-columns:2fr 1fr 1fr}
@media (max-width:700px){.swlvz-foot-grid{grid-template-columns:1fr}}
.swlvz-foot nav strong{display:block;font-family:var(--display);font-weight:400;font-size:1.2rem;color:var(--sun);margin-bottom:.4rem}
.swlvz-foot nav a{display:flex;align-items:center;min-height:36px;margin-bottom:.1rem}
.swlvz-foot p{max-width:46rem}

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