:root{--black:#0b0a09;--ink:#171512;--ivory:#f3eee6;--paper:#f8f5ef;--taupe:#a99b8d;--line:#d9d1c7;--champagne:#c9ad87;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}button,a,input,label{font:inherit}button,a{color:inherit}button{cursor:pointer}.topbar{height:86px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;width:100%;color:white;border-bottom:1px solid rgba(255,255,255,.2)}.brand{text-decoration:none;display:flex;flex-direction:column;align-items:center;line-height:1}.brand span{font-family:var(--serif);font-size:1.45rem;letter-spacing:-.04em}.brand small{font-size:.58rem;letter-spacing:.22em;margin-top:5px}.topbar nav{display:flex;align-items:center;gap:2.2rem}.topbar nav a,.nav-cta,.menu-button{font-size:.72rem;letter-spacing:.16em;text-decoration:none;background:none;border:0;color:inherit}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:14px 19px}.menu-button{display:none}.hero{min-height:760px;height:100svh;position:relative;display:flex;align-items:center;color:white;overflow:hidden;background:#050505}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.74) 34%,rgba(0,0,0,.12) 69%,rgba(0,0,0,.1))}.hero-copy{z-index:1;width:min(680px,52vw);margin-left:7vw;margin-top:70px}.eyebrow,.section-number{font-size:.7rem;font-weight:600;letter-spacing:.2em}.hero h1,.section h2,.promise h2,.dialog-step h2{font-family:var(--serif);font-size:clamp(3.5rem,6vw,6.8rem);line-height:.96;letter-spacing:-.055em;font-weight:500;margin:.35em 0}.hero h1 em,.section h2 em,.promise h2 em,.dialog-step h2 em{font-weight:500}.hero-lead{max-width:590px;font-size:1.05rem;line-height:1.7;color:#dedad5}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.2rem}.button{min-height:52px;padding:0 26px;border:0;font-size:.72rem;font-weight:600;letter-spacing:.14em}.button-light{background:white;color:#111}.button-dark{background:var(--black);color:white}.text-link{border:0;border-bottom:1px solid currentColor;background:transparent;text-decoration:none;font-size:.72rem;letter-spacing:.15em;padding:10px 0}.text-link span{margin-left:20px}.microcopy{font-family:var(--serif);font-style:italic;color:#c8c1b9;margin-top:1.6rem}.hero-index{position:absolute;right:5.5vw;bottom:4rem;display:flex;align-items:center;gap:12px;font-size:.65rem;letter-spacing:.1em}.hero-index i{display:block;width:88px;height:1px;background:rgba(255,255,255,.65)}.section{padding:8rem 7vw}.section-number{padding-bottom:2rem;border-bottom:1px solid var(--line)}.split-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:8vw;align-items:end;margin:3rem 0 5rem}.split-heading h2{font-size:clamp(3rem,5.8vw,6rem);margin:0}.split-heading p{font-size:1.08rem;line-height:1.75;color:#5e574f}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature-grid article{min-height:390px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.feature-grid article>span,.recommendations article>span{font-size:.7rem;letter-spacing:.18em;color:#8e8174}.feature-grid h3{font-family:var(--serif);font-weight:500;font-size:2.1rem;line-height:1.05;margin:4rem 0 1.5rem}.feature-grid p{color:#6e655c;margin:auto 0 0}.feature-grid .dark-card{background:var(--black);color:white}.dark-card p{color:#c9c3bb}.dark-card button{margin-top:1.5rem;border:0;border-top:1px solid #555;padding:1.2rem 0 0;text-align:left;background:none;color:white;font-size:.7rem;letter-spacing:.15em}.process{background:#e7dfd5}.process .split-heading>p{max-width:460px}.timeline{list-style:none;margin:0;padding:0;border-top:1px solid #bdb3a8}.timeline li{display:grid;grid-template-columns:70px 1.2fr 1fr;gap:2rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid #bdb3a8}.timeline b{font-size:.7rem;letter-spacing:.14em}.timeline span{font-family:var(--serif);font-size:1.7rem;line-height:1.2}.timeline small{color:#6c6258}.promise{min-height:620px;padding:8rem 7vw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--black);color:white}.promise h2{font-size:clamp(3rem,6vw,6rem);margin:.3em 0}.promise>p:not(.eyebrow){max-width:620px;color:#bbb4ac;font-size:1.1rem}.promise .button{margin-top:2rem}.academy{padding-bottom:10rem}.academy .text-link{display:inline-block;margin-top:1.5rem}.dark{color:var(--ink)}footer{padding:4rem 7vw;background:#080807;color:white;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #2e2c29}footer p{color:#89847e;font-size:.85rem}footer div:last-child{display:flex;gap:2rem}footer a{font-size:.68rem;letter-spacing:.15em;text-decoration:none}
dialog{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(12,10,8,.75);color:var(--ink)}dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(9px)}.dialog-shell{width:min(960px,100%);min-height:100%;margin:auto;background:var(--paper);padding:2rem clamp(1.4rem,5vw,5rem)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.dialog-top .brand{align-items:flex-start}.dialog-top .brand span{font-size:1.05rem}.close{border:0;background:none;font-size:.65rem;letter-spacing:.16em}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:1.4rem 0 2.5rem}.steps i{height:2px;background:#d8d0c6}.steps i.active{background:var(--ink)}.dialog-step{display:none;animation:fade .5s ease}.dialog-step.active{display:block}.dialog-step h2{font-size:clamp(3rem,7vw,5.4rem);margin:.2em 0 .4em}.step-intro{max-width:650px;color:#645d55;font-size:1.05rem}.requirements{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:2rem 0;padding:0;list-style:none;border-top:1px solid var(--line)}.requirements li{padding:1rem 0;border-bottom:1px solid var(--line)}.requirements li:before{content:'✓';margin-right:14px;color:#93785a}.consent{display:flex;gap:14px;background:#eee7dd;padding:1.3rem;margin:2rem 0;cursor:pointer}.consent input{width:20px;height:20px;accent-color:var(--black);flex:none}.consent span{font-size:.85rem}.privacy-note{display:grid;grid-template-columns:120px 1fr;gap:1rem;margin:1.5rem 0 2rem}.privacy-note span{font-size:.65rem;letter-spacing:.15em;font-weight:600}.privacy-note p{font-size:.8rem;color:#6b635a;margin:0}.full{width:100%}.button:disabled{opacity:.35;cursor:not-allowed}.photo-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}.photo-option{min-height:260px;border:1px solid var(--line);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer}.photo-option.primary{background:var(--black);color:white}.photo-option input{display:none}.option-icon{font-family:var(--serif);font-size:3rem}.photo-option b{font-size:.78rem;letter-spacing:.15em}.photo-option small{color:#8e8478}.camera-panel{margin-top:2rem;text-align:center}.camera-frame{max-width:540px;aspect-ratio:3/4;margin:auto;position:relative;overflow:hidden;background:#111}.camera-frame video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.face-guide{position:absolute;inset:12% 18%;border:1px solid rgba(255,255,255,.7);border-radius:48%}.camera-frame p{position:absolute;left:0;right:0;bottom:1rem;color:white;font-size:.8rem}.capture{width:68px;height:68px;border-radius:50%;border:1px solid #111;background:transparent;padding:6px;margin:1.5rem}.capture span{display:block;width:100%;height:100%;border-radius:50%;background:#111}.preview-panel{text-align:center}.preview-image{position:relative;max-width:500px;aspect-ratio:4/5;margin:2rem auto;overflow:hidden;background:#ddd}.preview-image img{width:100%;height:100%;object-fit:cover}.quality-badge{position:absolute;left:1rem;bottom:1rem;background:rgba(250,247,241,.92);padding:10px 14px;font-size:.66rem;letter-spacing:.12em}.preview-panel>p{color:#6c645b}.preview-actions{display:flex;justify-content:center;gap:2rem;align-items:center}.preference-group{margin:2rem 0}.preference-group fieldset{border:0;border-top:1px solid var(--line);padding:1.4rem 0;display:flex;gap:.6rem;flex-wrap:wrap}.preference-group legend{padding:0 1.2rem 0 0;font-size:.66rem;letter-spacing:.16em;font-weight:600}.preference-group label input{display:none}.preference-group label span{display:block;border:1px solid var(--line);padding:.7rem 1rem;font-size:.8rem;cursor:pointer}.preference-group label input:checked+span{background:var(--black);color:white;border-color:var(--black)}.loading{text-align:center;padding-top:2rem}.scan-visual{width:280px;height:350px;margin:0 auto 2rem;position:relative;overflow:hidden;background:#111}.scan-visual img{width:100%;height:100%;object-fit:cover}.scan-visual svg,.map svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#ead6b8;stroke-width:1;opacity:.9}.scan-visual svg:after{content:''}.scan-visual circle{fill:#ead6b8;stroke:none}.loading h2{font-size:2.6rem}.result .confidence{font-size:.68rem;letter-spacing:.14em}.confidence span{color:#8d7455}.result-hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin:3rem 0}.map{aspect-ratio:4/5;position:relative;overflow:hidden;background:#ddd}.map img{width:100%;height:100%;object-fit:cover}.map span{position:absolute;left:1rem;bottom:1rem;background:rgba(255,255,255,.9);padding:.6rem;font-size:.55rem;letter-spacing:.1em}.map .blush{stroke:#d4a894;stroke-width:7;opacity:.75}.map .eye{stroke:#35281d;stroke-width:3}.map .highlight{stroke:#f1ddaa;stroke-width:5;opacity:.8}.profile-summary{align-self:center}.profile-summary h3,.signature h3,.academy-reco h3,.consult h3{font-family:var(--serif);font-size:2rem;font-weight:500}.profile-summary p{color:#665e55}.profile-summary dl div{padding:1rem 0;border-bottom:1px solid var(--line)}.profile-summary dt{font-size:.65rem;letter-spacing:.15em}.profile-summary dd{margin:.3rem 0 0}.recommendations{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.recommendations article{padding:1.5rem;border-right:1px solid var(--line)}.recommendations article:last-child{border:0}.recommendations h3{font-family:var(--serif);font-size:1.6rem;font-weight:500}.recommendations p{font-size:.9rem;color:#655d54}.recommendations small{font-size:.6rem;letter-spacing:.12em}.signature{padding:4rem;margin:3rem 0;text-align:center;background:#e9e0d6}.signature h3{font-size:2.8rem}.academy-reco{background:var(--black);color:white;padding:3rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.academy-reco h3{font-size:2.2rem;margin:.5rem 0}.academy-reco p{color:#aaa39b}.consult{padding:3rem 0;text-align:center}.consult h3{margin-bottom:.3rem}.close-result{margin-top:2rem}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:850px){.topbar{height:72px;padding:0 1.2rem}.topbar .brand{align-items:flex-start}.topbar .brand span{font-size:1rem}.topbar .brand small{font-size:.48rem}.menu-button{display:block}.topbar nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0b0a09;padding:2rem;flex-direction:column;align-items:stretch}.topbar nav.open{display:flex}.hero{min-height:740px;align-items:flex-end}.hero>img{object-position:62% center}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.67) 52%,rgba(0,0,0,.12))}.hero-copy{width:auto;margin:0 1.35rem 4.5rem}.hero h1{font-size:clamp(3.4rem,16vw,5rem)}.hero-lead{font-size:.92rem}.hero-actions{align-items:stretch;flex-direction:column;gap:.6rem}.hero-actions .text-link{align-self:flex-start}.hero-index{display:none}.section{padding:5.5rem 1.35rem}.split-heading{grid-template-columns:1fr;gap:1rem;margin-bottom:3rem}.split-heading h2{font-size:3.6rem}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:290px}.feature-grid h3{margin:2.5rem 0 1rem}.timeline li{grid-template-columns:42px 1fr;gap:1rem}.timeline small{grid-column:2}.promise{padding:6rem 1.35rem;min-height:560px}.promise h2{font-size:3.7rem}footer{padding:3rem 1.35rem;flex-direction:column;align-items:flex-start;gap:1.2rem}.dialog-shell{padding:1.4rem}.dialog-step h2{font-size:3.5rem}.requirements{grid-template-columns:1fr}.photo-options{grid-template-columns:1fr}.photo-option{min-height:190px}.result-hero{grid-template-columns:1fr}.recommendations{grid-template-columns:1fr}.recommendations article{border-right:0;border-bottom:1px solid var(--line)}.signature{padding:2.2rem 1rem}.signature h3{font-size:2.3rem}.academy-reco{padding:2rem;flex-direction:column;align-items:flex-start}.academy-reco .button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
.academy-results article>b{font-size:.62rem;letter-spacing:.12em;color:#d7c3a6}.academy-access{margin-top:2rem;padding:1.6rem;border:1px solid #3a3733;display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:start}.academy-access strong{font-size:.72rem;letter-spacing:.14em}.academy-access p{margin:0!important;color:#c5beb5!important}.academy-journey{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.5rem 0 0}.academy-journey span{border:1px solid #45413d;padding:.55rem .7rem;font-size:.58rem;letter-spacing:.11em;color:#bdb5ac}@media(max-width:850px){.academy-access{grid-template-columns:1fr;gap:.7rem}.academy-reco>.button{width:100%;justify-content:center;text-align:center;padding:0 1rem}.academy-journey span{font-size:.55rem}}
.academy-reco{display:block}.academy-reco>.button{display:inline-flex;align-items:center;margin-top:2rem}.academy-head{max-width:680px}.academy-results{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #3a3733;border-left:1px solid #3a3733;margin-top:2rem}.academy-results article{padding:1.5rem;border-right:1px solid #3a3733;border-bottom:1px solid #3a3733;display:flex;flex-direction:column;min-height:310px}.academy-results article>span,.academy-results article>small{font-size:.65rem;letter-spacing:.13em;color:#aaa39b}.academy-results h4{font-family:var(--serif);font-weight:500;font-size:1.65rem;line-height:1.1;margin:2rem 0 .6rem}.academy-results article>p{font-size:.9rem}.academy-results article>em{font-family:var(--serif);margin:.5rem 0 1.5rem}.academy-results article>small{margin-top:auto;line-height:1.6}@media(max-width:850px){.academy-results{grid-template-columns:1fr}.academy-results article{min-height:260px}}
.quality-badge.passed{background:#f6f0e7;color:#493b2d}.quality-badge.failed{background:#211a16;color:#fff}.quality-error{max-width:620px;margin:1rem auto 1.5rem;padding:1rem 1.2rem;border-left:3px solid #8b674e;background:#efe5da;color:#4c3b31;text-align:left;font-size:.9rem}.map canvas{width:100%;height:100%;object-fit:cover;display:block}.recommendations{grid-template-columns:repeat(3,1fr)}.recommendations article:nth-child(3){border-right:0}.recommendations article:nth-child(n+4){border-top:1px solid var(--line)}.method-details{margin:3rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.3rem 0}.method-details summary{cursor:pointer;font-size:.7rem;font-weight:600;letter-spacing:.15em}.method-details>p{color:#6a6259;font-size:.85rem;max-width:760px}.method-details>small{display:block;color:#8a8178;font-size:.68rem}.measurement-grid{display:grid;grid-template-columns:repeat(5,1fr);margin:1.5rem 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.measurement-grid div{padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.measurement-grid dt{font-size:.65rem;letter-spacing:.1em;color:#786e65}.measurement-grid dd{margin:.35rem 0 0;font-family:var(--serif);font-size:1.35rem}@media(max-width:850px){.measurement-grid{grid-template-columns:repeat(2,1fr)}.recommendations{grid-template-columns:1fr}.recommendations article:nth-child(n){border-right:0;border-bottom:1px solid var(--line);border-top:0}.recommendations article:last-child{border-bottom:0}}
.result-gate{margin:3rem 0;padding:clamp(1.5rem,4vw,3rem);background:var(--black);color:#fff}.result-gate>div:first-child{max-width:680px}.result-gate h3{font-family:var(--serif);font-size:clamp(2rem,4vw,3.4rem);font-weight:500;line-height:1.05;margin:.35rem 0 1rem}.result-gate>div:first-child>p:last-child{color:#c8c0b7;max-width:660px}.circle-form-shell{margin:2rem 0 1rem;background:#fff;min-height:360px;overflow:hidden}.circle-form-shell iframe{display:block}.circle-privacy{font-size:.75rem;color:#aaa198;max-width:760px}.circle-privacy a{color:#fff}.circle-confirm{margin-top:1.5rem;border:1px solid #6f8a6f;padding:1rem 1.2rem;background:#152017}.circle-confirm span{font-size:.68rem;letter-spacing:.14em;color:#c9e0c9}.circle-confirm p{margin:.35rem 0 0;color:#fff}.pdf-download{margin:3rem 0;padding:3rem;background:#aa8762;color:#fff;display:grid;grid-template-columns:1fr auto;gap:1.5rem 3rem;align-items:center}.pdf-download h3{font-family:var(--serif);font-size:2.2rem;font-weight:500;margin:.35rem 0}.pdf-download p{color:#f1e7dc}.pdf-download small{grid-column:1/-1;color:#efe1d2}.pdf-download .button{white-space:nowrap}@media(max-width:850px){.result-gate{margin:2rem 0;padding:1.4rem}.circle-form-shell{margin-left:-.8rem;margin-right:-.8rem}.pdf-download{grid-template-columns:1fr;padding:2rem 1.4rem}.pdf-download small{grid-column:1}.pdf-download .button{width:100%;white-space:normal}}
.benefits{background:#f0e8df}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfc3b7;border-left:1px solid #cfc3b7}.benefit-grid article{min-height:275px;padding:2rem;border-right:1px solid #cfc3b7;border-bottom:1px solid #cfc3b7;display:flex;flex-direction:column}.benefit-grid span{font-size:.65rem;letter-spacing:.17em;color:#927b64}.benefit-grid h3{font-family:var(--serif);font-size:1.8rem;font-weight:500;line-height:1.1;margin:2.5rem 0 1rem}.benefit-grid p{margin:auto 0 0;color:#665d54}.benefit-statement{max-width:900px;margin:4rem auto 0;text-align:center;font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,3.2rem);font-style:italic;line-height:1.2}@media(max-width:850px){.benefit-grid{grid-template-columns:1fr}.benefit-grid article{min-height:220px}.benefit-statement{margin-top:3rem}}
.result-gate{max-width:790px;margin:3rem auto;padding:clamp(1.5rem,4vw,3.2rem);background:#ede3d8;color:var(--ink);border:1px solid #d3c3b3}.result-gate .gate-intro{max-width:660px;margin:0 auto;text-align:center}.result-gate .gate-intro>p:last-of-type{color:#655b52;max-width:610px;margin:0 auto}.result-gate h3{font-size:clamp(2.2rem,4.5vw,3.8rem)}.gate-points{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin:1.6rem 0 2rem}.gate-points span{border:1px solid #bda991;padding:.5rem .75rem;font-size:.58rem;letter-spacing:.14em}.circle-form-shell{display:block;width:100%;max-width:660px;margin:0 auto 1rem!important;background:#fff;border:1px solid #d6cabe;box-shadow:0 18px 50px rgba(55,43,31,.08);min-height:270px}.circle-form-shell>[data-circle-form-uid],.circle-form-shell iframe{display:block;width:100%!important;margin:0 auto!important}.circle-privacy{max-width:650px;margin:1.2rem auto 0;text-align:center;color:#71675d}.circle-privacy a{color:var(--ink)}.circle-confirm{max-width:650px;margin:1.5rem auto 0}@media(max-width:850px){.result-gate{padding:1.5rem 1rem}.circle-form-shell{width:calc(100% - 1rem);margin:0 auto 1rem!important}.gate-points{gap:.35rem}.gate-points span{font-size:.52rem}}
.dialog-shell:has(.dialog-step.result.active){background:#fff}.dialog-step.result.active{background:#fff}.dialog-step.result .result-gate{max-width:790px;margin:3rem auto;padding:clamp(1.5rem,4vw,3.2rem);background:#fff;color:var(--ink);border:0}.dialog-step.result .gate-points span{border-color:#171512}.dialog-step.result .circle-form-shell{background:#fff;border:0;box-shadow:none}.dialog-step.result .circle-privacy{color:#5f5851}
.brand-logo{--logo-size:1.62rem;display:inline-flex;align-items:baseline;gap:.28em;white-space:nowrap;line-height:.82;color:currentColor}.brand-luvi,.brand-facescan{font-size:var(--logo-size);line-height:.82}.brand-luvi{font-family:var(--serif);font-weight:500;letter-spacing:.01em}.brand-facescan{font-family:var(--sans);font-weight:600;letter-spacing:.14em}.dialog-top .brand-logo{--logo-size:1.28rem}.dialog-top .brand{overflow:visible}.dialog-top{min-height:62px}footer .brand-logo{--logo-size:1.42rem}.hero-actions .text-link{display:inline-flex;align-items:center}.hero-actions .text-link span{display:none}@media(max-width:850px){.topbar{height:88px}.topbar .brand-logo{--logo-size:1.3rem}.hero{height:auto;min-height:100svh;align-items:flex-start;padding-top:112px}.hero-copy{margin:0 1.35rem 4.5rem}.hero h1{font-size:clamp(3.25rem,14.5vw,4.6rem)}.hero-copy>.eyebrow{margin-top:0}.dialog-top .brand-logo{--logo-size:1.05rem}footer .brand-logo{--logo-size:1.25rem}}
/* iOS Safari: keep the modal inside the visible viewport and make its content the scroll surface. */
dialog{height:100dvh;overflow:hidden}
.dialog-shell{height:100dvh;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding-bottom:calc(3rem + env(safe-area-inset-bottom))}
@media(max-width:850px){.dialog-shell{padding-bottom:calc(4rem + env(safe-area-inset-bottom));scrollbar-gutter:stable}}
