/* A bespoke heading treatment using Bodoni Moda (SIL OFL).
   This is not a copy or renamed version of Classy Vogue. */
@font-face{font-family:'Bodoni Moda';src:url('assets/bodoni-moda.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
:root{--serif:'Bodoni Moda',Georgia,serif}
h1,h2,h3{font-optical-sizing:auto;font-weight:400;font-feature-settings:"kern","liga";letter-spacing:-.035em}
.site-header .wordmark{display:flex;flex-direction:column;align-items:center;justify-content:center;width:fit-content;flex-shrink:0;min-width:0}
.site-header .wordmark>span{line-height:1.04;padding-bottom:2px}
.site-header .wordmark>small{display:block;text-align:center;margin:0;padding-left:4px;letter-spacing:4px;font-size:7px;line-height:1.1}
.footer-logo{display:block;width:fit-content;text-align:center}
.footer-logo span{margin:2px 0 0;padding-left:5px;letter-spacing:5px}
.cinematic-home .hero-copy h1{font-size:clamp(42px,4.3vw,58px);line-height:1.12}
.cinematic-home .chapter-copy h2{font-size:29px;line-height:1.16;letter-spacing:-.035em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[hidden]{display:none!important}

/* Photographic manor entrance: fixed stone surround, hinged leaves and independent key/tassel. */
html{scrollbar-gutter:stable}
.at-beauty-door{overflow:hidden}
dialog.website-entrance{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--wine);overflow:hidden}
dialog.website-entrance::backdrop{background:transparent}
.manor-entrance{position:absolute;inset:0;overflow:hidden;--manor-art:url('assets/manor-entrance.webp');--scene-w:1672px;--scene-h:941px;--left:390px;--seam:836px;--right:1284px;--top:112px;--bottom:941px;--bell-x:1397px;--bell-y:365px;--key-x:-10px;--key-y:395px;--key-w:170px;--key-h:255px;transition:opacity .3s ease}
.manor-entrance:before{content:"";position:absolute;inset:0;background:#e7d4b9;transition:opacity .3s}
.door-opening:before{opacity:0}
.manor-scene{position:absolute;left:calc(50% + var(--manor-offset,0px));top:50%;width:var(--scene-w);height:var(--scene-h);transform:translate(-50%,-50%) scale(var(--manor-scale,1));perspective:2000px;transform-style:preserve-3d}
.manor-frame{position:absolute;inset:0;background-image:var(--manor-art);background-size:100% 100%;clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,var(--left) var(--top),var(--left) var(--bottom),var(--right) var(--bottom),var(--right) var(--top),var(--left) var(--top))}
.manor-door{position:absolute;top:var(--top);height:calc(var(--bottom) - var(--top));background-image:var(--manor-art);background-size:var(--scene-w) var(--scene-h);backface-visibility:hidden;transition:transform .85s cubic-bezier(.3,.05,.2,1);transform-style:preserve-3d}
.manor-door-left{left:var(--left);width:calc(var(--seam) - var(--left));background-position:calc(-1 * var(--left)) calc(-1 * var(--top));transform-origin:left center}
.manor-door-right{left:var(--seam);width:calc(var(--right) - var(--seam));background-position:calc(-1 * var(--seam)) calc(-1 * var(--top));transform-origin:right center}
.manor-entrance .manor-bell{position:absolute;left:var(--bell-x);top:var(--bell-y);width:var(--bell-target,64px);height:var(--bell-target,64px);min-width:0;min-height:0;margin:0;padding:0;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:pointer;outline-offset:5px;transition:box-shadow .2s,background .2s}
.manor-bell:hover{box-shadow:0 0 0 3px #fff9,0 0 25px #fff9!important;background:#ffffff18!important}
.manor-bell:focus-visible{outline:3px solid #661b2c}
.manor-bell:active{background:#661b2c33!important}
.manor-key{position:absolute;left:var(--key-x);top:var(--key-y);width:var(--key-w);height:var(--key-h);margin:0;padding:0;border:0;background:none;cursor:pointer;transform-origin:31% 18%;filter:drop-shadow(1px 2px 1.5px #31201435);outline-offset:5px;transition:filter .2s}
.manor-key img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
/* A single connected cutout prevents the cord separating during a turn.
   The pivot stays at the visible stem's contact point inside the lock. */
.manor-key:hover{filter:drop-shadow(1px 2px 1.5px #31201435) brightness(1.035)}
.manor-key:focus-visible{outline:2px solid #661b2c;border-radius:4px}
.key-turning .manor-key{animation:manor-key-turn .55s ease-in-out both}
.key-turning .manor-door,.key-turning .manor-key{will-change:transform}
@keyframes manor-key-turn{0%{transform:scaleX(1) rotate(0)}55%{transform:scaleX(.9) rotate(-4deg)}100%{transform:scaleX(.94) rotate(-3deg)}}
.door-opening .manor-door-left{transform:rotateY(-100deg)}
.door-opening .manor-door-right{transform:rotateY(100deg)}
.door-opening .manor-bell{pointer-events:none;opacity:0}
.manor-entrance .entry-status{position:absolute;left:20px;right:20px;bottom:34px;margin:0;text-align:center;color:#661b2c;font:italic 400 clamp(16px,1.6vw,24px)/1.5 var(--serif);text-shadow:0 1px 8px #fff9;pointer-events:none}
.manor-entrance .entry-skip{position:absolute;right:5%;bottom:18px;margin:0;padding:10px 0;min-height:44px;border:0;border-bottom:1px solid currentColor;background:transparent;color:#661b2c;font:italic 400 14px/1.5 var(--serif)}
.entry-arrived{opacity:0;pointer-events:none}
.manor-portrait{--manor-art:url('assets/manor-entrance-mobile.webp');--scene-w:1024px;--scene-h:1536px;--left:214px;--seam:512px;--right:812px;--top:232px;--bottom:1502px;--bell-x:918px;--bell-y:671px;--key-x:-14px;--key-y:629px;--key-w:170px;--key-h:255px}
.manor-portrait .entry-status{bottom:72px;left:24px;right:24px;font-size:16px;line-height:1.35;text-wrap:balance}
.manor-portrait .entry-skip{right:24px;bottom:18px;font-size:13px}
@media(prefers-reduced-motion:reduce){.manor-entrance,.manor-door,.manor-key{transition:none!important}.manor-key{animation:none!important}}

/* Magazine masthead remains visible, including on small displays. */
.cinematic-home .mood-image{background:#e5ded4;height:350px}
.cinematic-home .mood-image img{object-position:center top;animation:none!important;transform:none!important}
.mood-image .material-caption{font-size:12px;bottom:16px;background:#f6f3eee8;padding:8px 14px;color:var(--wine)}
.finder-editorial{display:grid;grid-template-columns:270px 1fr;align-items:center;gap:44px;margin-bottom:36px;background:#e9e4dd}
.finder-editorial>img{height:280px;width:100%;object-fit:cover;object-position:50% 0}
.finder-editorial .page-intro{margin:0;padding:28px 35px 28px 0;text-align:left}
.finder-editorial .page-intro p{margin-left:0}
.finder-editorial .page-intro h1{font-size:clamp(32px,3.4vw,44px)}

/* A glove emerges through dimensional fabric; interaction never hides the form. */
.gift-concierge{max-width:1120px;margin:40px auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:0 0 16px}
.gift-concierge-copy{padding:24px 0 24px 40px}
.gift-concierge h2{font:400 clamp(32px,3.2vw,42px)/1.15 var(--serif);color:var(--wine);margin:14px 0}
.gift-concierge-copy>p:not(.story-label){font-size:14px;max-width:390px;margin-bottom:24px}
.curtain-gift{min-width:0;text-align:center}
.curtain-theatre{position:relative;height:340px;overflow:hidden;background:#282120;border:1px solid #cbc3b6;box-shadow:inset 0 0 30px #07040455}
.gift-hand-reveal{position:absolute;inset:0;z-index:2;opacity:0;transform:translate(-34%,8%) scale(.74);transform-origin:bottom left;transition:transform .65s cubic-bezier(.2,.7,.2,1),opacity .35s}
.gift-hand-reveal img{position:absolute;bottom:-8%;left:0;width:100%;height:128%;object-fit:contain;object-position:bottom center}
.gift-curtain{position:absolute;top:0;bottom:-12px;width:52%;z-index:3;transition:transform .7s cubic-bezier(.4,0,.15,1);background:repeating-linear-gradient(90deg,#e2dbce 0%,#f0eade 9%,#f8f3e8 13%,#c3bbad 24%,#938b7e 28%,#e5dfd3 35%);box-shadow:6px 0 12px #100c0a77;transform-origin:top}
.curtain-left{left:0;border-radius:0 0 15% 0}
.curtain-right{right:0;transform:scaleX(-1);border-radius:0 0 0 15%}
.curtain-open .curtain-left{transform:translateX(-62%) rotate(3deg)}
.curtain-open .curtain-right{transform:translateX(62%) scaleX(-1) rotate(3deg)}
.curtain-open .gift-hand-reveal{opacity:1;transform:translate(0,0) scale(1);transition-delay:.08s;z-index:4}
.curtain-seal{position:absolute;z-index:5;top:50%;left:50%;transform:translate(-50%,-50%);background:none;color:var(--wine);display:flex;align-items:center;flex-direction:column;gap:15px;transition:opacity .25s;min-width:170px}
.curtain-seal>span{width:68px;height:68px;display:grid;place-items:center;font:italic 28px Georgia,serif;background:var(--metal);border:2px ridge #eee9df;border-radius:50%;box-shadow:3px 5px 10px #211a1444}
.curtain-seal small{font-size:12px;line-height:1.5;background:#f5f0e5d9;padding:8px 15px}
.curtain-open .curtain-seal{opacity:0;pointer-events:none}
.curtain-toggle{background:none;min-height:44px;margin:8px auto 0;padding:10px 0;font-size:12px}
.gift-stage{padding:0;background:transparent;position:static}
.gift-stage .curtain-theatre{height:330px}
.gift-stage .gift-card{margin:22px auto 0;max-width:420px;box-shadow:0 8px 22px #49121f22}
.gift-stage .gift-front h2{font-size:30px;line-height:1.15}
.gift-stage .gift-brand{font-size:25px}
.gift-stage>button{min-height:44px;margin-top:12px}
.gift-stage>.quiet-note{font-size:12px;line-height:1.5}

/* Your Visit: an ivory invitation with brushed silver edging and cherry trim. */
.visit-page{padding:100px 32px 0;background:var(--paper)}
.visit-hero{min-height:0;height:480px;max-width:1120px;background:#ede8df;color:var(--wine);border:1px solid #c2bdb4;box-shadow:0 0 0 5px #ebe9e4,0 0 0 6px #bab6af;position:relative;grid-template-columns:1.05fr .95fr}
.visit-copy{padding:36px 40px 26px}
.visit-kicker{color:#6f5d57;font-size:10px;letter-spacing:1.7px;margin-bottom:20px;text-transform:uppercase}
.visit-copy h1{font:400 clamp(35px,3.6vw,47px)/1.14 var(--serif);color:var(--wine);letter-spacing:-.04em;margin-bottom:22px}
.visit-lead{color:#635551;font-size:14px;line-height:1.7;margin-bottom:20px}
.visit-book{background:var(--wine);color:var(--paper);border-color:var(--wine);font-size:13px}
.visit-book:hover{background:var(--deep);color:var(--paper)}
.visit-secondary{color:var(--wine);font-size:12px;margin-top:12px}
.visit-signoff{color:#756258;font-size:10px;padding-top:20px;padding-bottom:0;border:0;margin-top:auto}
.visit-signoff small{font-size:10px}
.visit-photo{margin:12px;box-shadow:inset 0 0 0 1px #fff}
.visit-photo:after{inset:40% 0 0}
.visit-photo figcaption{font:italic 23px Georgia,serif;bottom:26px;left:24px}
.visit-photo-mark{font-size:45px;right:22px;top:8px}
.visit-arrival{padding:60px 32px;max-width:1120px;gap:9%}
.visit-arrival h2,.visit-before h2{font:400 clamp(29px,3vw,38px)/1.18 var(--serif);letter-spacing:-.035em;margin-bottom:20px}
.visit-arrival-copy>p:not(.eyebrow){font-size:14px}
.visit-invitation{background:linear-gradient(120deg,#f3f1eb,#e9e6df);border:1px solid #aaa69d;box-shadow:4px 5px 0 #d0cdc5;transform:rotate(1deg)}
.visit-invitation summary{padding:22px}
.invitation-brand small{margin-top:2px}
.invitation-monogram{background:var(--metal);color:var(--wine);width:64px;height:64px;font-size:38px;border:2px ridge #dad7ce;margin:22px 0 16px}
.invitation-title{font-size:29px;margin-bottom:18px}
.invitation-toggle{font-size:12px}
.visit-before{padding:0 32px 56px;max-width:1120px}
.visit-questions summary{font-size:14px;padding:18px 0}
.visit-questions details p{font-size:14px}
.visit-closing{max-width:1120px;margin:0 auto 40px;padding:28px;background:var(--wine);color:var(--paper);gap:40px}
.visit-closing p{color:var(--paper);font-size:28px}
.visit-closing .button{background:var(--paper);color:var(--wine)}
.circle-live{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;border:1px solid #b3aba0;padding:6px 12px;margin-bottom:16px}
.circle-page .loyalty-card h2{font-size:30px}
.circle-page .reward-card h2{font-size:28px}
.circle-page .scheme-terms{background:transparent;border-top:1px solid var(--line);border-radius:0;padding:28px 0}
.circle-page .interest-form .quiet-note{font-size:12px}
.circle-page .stamp-track{opacity:.75}
.reward-card button.text-link{background:none;min-height:44px}

@media(max-width:900px){
 .gift-concierge{margin-inline:28px;gap:28px}.gift-concierge-copy{padding-left:0}
 .finder-editorial{grid-template-columns:220px 1fr;gap:28px}
 .visit-hero{height:auto;min-height:460px}.visit-copy{padding:28px}.visit-copy h1{font-size:36px}
 .visit-signoff{flex-direction:column;gap:4px}
}
@media(max-width:640px){
 .cinematic-home .hero-copy h1{font-size:42px}
 .cinematic-home .chapter-copy h2{font-size:27px}
 .cinematic-home .mood-image{height:280px}
 .finder-editorial{grid-template-columns:1fr;gap:0;margin-bottom:24px}
 .finder-editorial>img{height:220px;object-position:50% 0}
 .finder-editorial .page-intro{padding:24px}.finder-editorial .page-intro h1{font-size:32px}
 .gift-concierge{grid-template-columns:1fr;gap:12px;margin:24px}.gift-concierge-copy{padding:8px 0}
 .gift-concierge h2{font-size:32px}.curtain-theatre,.gift-stage .curtain-theatre{height:300px}
 .gift-stage .gift-front h2{font-size:25px}.gift-stage .gift-brand{font-size:22px}
 .visit-page{padding:94px 20px 0}
 .visit-hero{display:flex;flex-direction:column}
 .visit-copy{padding:28px 24px 22px}.visit-copy h1{font-size:36px}
 .visit-lead{font-size:14px}.visit-signoff{flex-direction:row;margin-top:12px;gap:8px}
 .visit-photo{min-height:220px;height:220px;margin:0 12px 12px}
 .visit-arrival{padding:42px 4px;gap:30px}
 .visit-before{padding:0 4px 36px;gap:20px}.visit-before h2,.visit-arrival h2{font-size:31px}
 .visit-closing{padding:24px;gap:16px;margin-bottom:24px}.visit-closing p{font-size:26px}
}
@media(prefers-reduced-motion:reduce){
 .entry-door,.entry-copy,.entry-hardware,.gift-curtain,.gift-hand-reveal,.curtain-seal{transition:none}
 .key-turning .entry-key{animation:none}
}
