.page-opening{--opening-height:calc(100svh - var(--site-header-height,79px) - 35px);--opening-scroll-space:64px;--opening-visual-height:min(560px,calc(var(--opening-height) - 128px));position:relative;isolation:isolate;height:var(--opening-height);min-height:0;background:var(--paper);overflow:clip}
.page-opening__inner{height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);align-items:center;gap:clamp(28px,5vw,84px);padding-block:clamp(22px,3.6svh,42px) 84px}
.page-opening__copy{position:relative;z-index:2;min-width:0}
.page-opening__copy>.eyebrow{display:flex;align-items:center;gap:13px;color:var(--jewel-primary);font-size:9px;letter-spacing:.16em;line-height:1.7}
.page-opening__copy h1{margin:24px 0;color:var(--ink);font-family:var(--display);font-size:clamp(39px,min(4.7vw,7.4svh),72px);font-weight:600;letter-spacing:-.052em;line-height:1.12}
.page-opening__copy h1 em{display:block;color:var(--jewel-primary);font-style:normal;font-weight:600}
.page-opening__body{color:var(--muted);font-size:14px;line-height:1.85}
.page-opening__body>p{max-width:430px}
.page-opening__body>.button,.page-opening__body>.text-link{margin-top:25px}
.page-opening__body .button{min-height:46px;padding:13px 22px;font-size:12px}
.page-opening__visual{width:100%;height:var(--opening-visual-height);max-height:100%;min-height:0;min-width:0;align-self:center;position:relative}
.page-opening__visual img{display:block;width:100%;height:100%;object-fit:contain}
.page-opening--information,.page-opening--article{background:radial-gradient(ellipse at 90% 26%,var(--jewel-soft),transparent 58%)}
.page-opening--information .page-opening__copy h1,.page-opening--article .page-opening__copy h1{font-size:clamp(34px,min(4vw,6.3svh),58px)}
.opening-portrait{position:relative;height:100%;max-width:530px;margin:auto;padding:16px 24px 22px;isolation:isolate}
.opening-portrait__orbit{position:absolute;inset:6% 2%;border:1px solid var(--border-champagne);border-radius:50%;transform:rotate(-20deg);z-index:-1}
.opening-portrait__frame{height:100%;position:relative;border:1px solid var(--line);padding:10px 10px 37px;border-radius:130px 32px 32px;background:var(--surface-pearl);box-shadow:9px 12px 0 var(--jewel-soft)}
.opening-portrait__frame img{border-radius:120px 24px 24px;object-fit:contain}
.opening-portrait__frame figcaption{position:absolute;bottom:12px;inset-inline:14px;text-align:center;color:var(--jewel-primary);font-size:10px;font-weight:700;letter-spacing:.02em}
.opening-portrait__detail{position:absolute;bottom:0;left:-5px;width:26%;aspect-ratio:1;padding:6px;border:1px solid var(--border-champagne);border-radius:50%;background:var(--surface-pearl);box-shadow:0 8px 23px -10px var(--shadow-jewel)}
.opening-portrait__detail img{border-radius:50%;object-fit:contain}
.opening-portrait__spark{position:absolute;right:4px;top:18px;color:var(--jewel-gold);transform:rotate(15deg)}
.opening-portrait__spark .icon{width:35px;height:35px;fill:var(--paper)}
.opening-scroll{position:absolute;z-index:4;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:13px;min-height:42px;max-width:calc(100% - 36px);color:var(--jewel-primary);text-decoration:none;white-space:nowrap}
.opening-scroll__line{width:38px;height:1px;background:currentColor;opacity:.35}
.opening-scroll__label{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.opening-scroll__circle{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--paper);box-shadow:0 4px 15px -9px var(--shadow-jewel);transition:background .2s,color .2s,transform .2s}
.opening-scroll__circle .icon{width:17px;height:17px;transform:rotate(90deg);animation:opening-arrow 2.2s ease-in-out infinite}
.opening-scroll:hover .opening-scroll__circle{background:var(--jewel-primary);color:var(--brand-white);transform:translateY(2px)}
.opening-scroll:focus-visible{outline:2px solid var(--jewel-primary);outline-offset:5px;border-radius:var(--button-radius)}
[id$="-content"]{scroll-margin-top:calc(var(--site-header-height,79px) + 22px)}
@keyframes opening-arrow{0%,100%{transform:rotate(90deg) translateX(-2px)}50%{transform:rotate(90deg) translateX(2px)}}
@media(max-width:1000px) and (min-width:651px){.page-opening__inner{gap:25px}.page-opening__copy h1{font-size:clamp(35px,4.7vw,50px)}.page-opening__body{font-size:13px}.page-opening__copy>.eyebrow{font-size:8px;letter-spacing:.1em}}
@media(max-width:650px){.page-opening{--opening-height:calc(100svh - var(--site-header-height,77px) - 30px);--opening-visual-height:min(320px,calc(var(--opening-height) - 310px))}.page-opening__inner{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:15px;align-content:center;padding-block:19px 67px}.page-opening__copy>.eyebrow{font-size:8px;letter-spacing:.12em}.page-opening__copy h1{font-size:clamp(32px,min(8.9vw,5.1svh),43px);margin:14px 0;line-height:1.1;letter-spacing:-.045em}.page-opening__body{font-size:12px;line-height:1.75}.page-opening__body>.button,.page-opening__body>.text-link{margin-top:15px}.page-opening__body .button{min-height:40px;padding:10px 17px;font-size:11px}.page-opening__visual{height:100%;max-height:var(--opening-visual-height);max-width:380px;justify-self:center}.opening-scroll{bottom:10px;gap:10px}.opening-scroll__label{font-size:8px;letter-spacing:.09em}.opening-scroll__line{width:25px}.opening-scroll__circle{width:34px;height:34px}}
@media(max-height:700px) and (min-width:651px){.page-opening__inner{padding-block:15px 65px}.page-opening__copy h1{font-size:clamp(32px,6.3svh,49px);margin-block:15px}.page-opening__body{font-size:12px}.page-opening__body>.button,.page-opening__body>.text-link{margin-top:16px}.page-opening__copy>.eyebrow{font-size:8px}}
@media(max-width:650px) and (max-height:700px){.page-opening{--opening-visual-height:min(235px,calc(var(--opening-height) - 265px))}.page-opening__inner{padding-top:12px;gap:10px}.page-opening__copy h1{font-size:30px;margin-block:11px}.page-opening__body{font-size:11px;line-height:1.65}.page-opening__body>.button,.page-opening__body>.text-link{margin-top:11px}.page-opening__body .button{min-height:36px}.page-opening__copy>.eyebrow{font-size:7px}}
@media(prefers-reduced-motion:reduce){.opening-scroll__circle .icon{animation:none}.opening-scroll__circle{transition:none}}
.page-opening[data-listing-opening]{height:auto;min-height:var(--opening-height);scroll-snap-align:none}
.page-opening[data-listing-opening] .page-opening__inner{height:auto;min-height:var(--opening-height)}
.page-opening[data-listing-opening] .page-opening__visual{height:clamp(180px,var(--opening-visual-height),560px);max-height:none}
.page-opening[data-listing-opening] .page-opening__visual img{object-fit:contain}
.page-opening[data-listing-opening] .page-opening__copy{overflow-wrap:anywhere}
.page-opening[data-listing-opening] .page-opening__body .button{max-width:100%;white-space:normal;text-align:center}
@media(max-width:650px){.page-opening[data-listing-opening]{--listing-visual-min:180px}.page-opening--reviews[data-listing-opening]{--listing-visual-min:220px}.page-opening[data-listing-opening] .page-opening__inner{grid-template-rows:auto auto}.page-opening[data-listing-opening] .page-opening__visual{height:clamp(var(--listing-visual-min),calc(var(--opening-height) - 340px),320px)}}
