/* First impression is independent of the editor's utility CSS. */
.intro-cover,.intro-envelope-stage{box-sizing:border-box;color:var(--intro-ink);background:var(--intro-paper);font-family:'Cormorant Garamond',Georgia,serif}
.intro-cover *,.intro-envelope-stage *{box-sizing:border-box}
.intro-cover{min-height:100vh;min-height:100svh;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:clamp(32px,5vw,72px);overflow:hidden;text-align:center;outline:none}
.intro-cover::before,.intro-envelope-stage::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 10%,#ffffff75,transparent 55%),repeating-linear-gradient(110deg,#00000002 0 1px,transparent 1px 4px)}
.intro-cover-picture,.intro-cover-picture img,#intro-cover-video,.intro-cover-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--intro-focus,center);z-index:-3}
.intro-cover-picture[hidden]{display:none!important}
#intro-cover-video{opacity:0;transition:opacity 700ms ease}
#intro-cover-video.is-playing{opacity:1}
.intro-cover--media{color:#fff;background:#34443e}
.intro-cover-shade{z-index:-2;pointer-events:none}
.intro-cover--media .intro-cover-shade{background:linear-gradient(180deg,#14201c66,#14201c4d 30%,#101a16a3)}
.intro-cover--photo[data-cover-presentation="full_photo"]{justify-content:flex-end;padding-bottom:28px}
.intro-cover--photo[data-cover-presentation="full_photo"] .intro-cover-top{position:absolute;top:clamp(30px,5vw,60px);left:28px;right:28px;flex-direction:row;justify-content:space-between;align-items:center}
.intro-cover--photo[data-cover-presentation="full_photo"] .intro-monogram{width:52px;height:58px;font-size:12px}
.intro-cover--photo[data-cover-presentation="full_photo"] .intro-cover-copy{padding:clamp(220px,40svh,500px) 12px 12px;max-width:900px}
.intro-cover--photo[data-cover-presentation="full_photo"] .intro-cover-shade{background:linear-gradient(180deg,#101b195e,transparent 25%,#14201924 40%,#142019bf 75%,#142019e0)}
.intro-cover--photo[data-cover-presentation="full_photo"] h1{font-size:clamp(46px,7.5vw,96px);margin:14px auto 18px}
.intro-cover--photo[data-cover-presentation="full_photo"] .intro-rule{margin-bottom:14px}
.intro-cover--photo[data-cover-presentation="full_photo"] .intro-subtitle{font-size:clamp(20px,2.2vw,26px)}
.intro-cover--photo[data-cover-presentation="full_photo"] .intro-date{margin-top:18px}
.intro-cover.is-ready[data-cover-presentation="full_photo"] .intro-cover-picture img,.intro-cover.is-ready[data-cover-presentation="framed"] .intro-cover-picture img{animation:intro-photo-arrive 1100ms ease-out both}
.intro-photo-credit{margin:0;padding:14px 24px;text-align:center;font:400 10px/1.7 'Montserrat',sans-serif;color:var(--intro-ink);background:var(--intro-paper);opacity:.8}
.intro-photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@keyframes intro-photo-arrive{from{opacity:.3;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
.intro-cover-frame{position:absolute;inset:20px;border:1px solid currentColor;opacity:.22;pointer-events:none;z-index:-1}
.intro-cover--editorial .intro-cover-frame::before{content:'';position:absolute;inset:12px;border:1px solid currentColor;border-radius:45% 45% 0 0}
.intro-cover-top{display:flex;flex-direction:column;align-items:center;gap:12px}
.intro-monogram{display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:66px;height:66px;font-size:16px;letter-spacing:0;overflow:hidden;padding:4px;white-space:nowrap}
.intro-kicker,.intro-date,.intro-scroll,.intro-envelope-hint,.intro-skip,.intro-video-toggle{font-family:'Montserrat',sans-serif}
.intro-kicker{font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;line-height:1.9;margin:0;max-width:520px;text-wrap:balance}
.intro-cover-copy{max-width:1000px;width:100%;padding:42px 16px}
.intro-cover h1{font:400 clamp(48px,7vw,104px)/1.02 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em;margin:22px auto 24px;overflow-wrap:anywhere;text-wrap:balance;max-width:14ch}
.intro-rule{width:52px;height:1px;background:currentColor;margin:0 auto 24px;opacity:.65}
.intro-subtitle{font-size:clamp(21px,2.3vw,29px);line-height:1.4;margin:0 auto;max-width:36ch;text-wrap:balance;overflow-wrap:anywhere}
.intro-date{font-size:12px;line-height:1.8;letter-spacing:.07em;margin:28px 0 0}
.intro-date span{display:block;font-size:10px;opacity:.8;margin-top:4px}
.intro-scroll{display:flex;flex-direction:column;gap:12px;align-items:center;text-decoration:none;color:inherit;font-size:9px;letter-spacing:.18em;text-transform:uppercase;position:relative;padding:12px}
.intro-scroll span:last-child{font-size:24px;line-height:1}
.intro-copy-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden;clip-path:inset(50%)}
.intro-cover.is-ready .intro-reveal{animation:intro-arrive 950ms both cubic-bezier(.2,.7,.2,1)}
.intro-cover.is-ready h1{animation-delay:100ms}.intro-cover.is-ready .intro-rule{animation-delay:180ms}.intro-cover.is-ready .intro-subtitle{animation-delay:240ms}.intro-cover.is-ready .intro-date{animation-delay:320ms}
@keyframes intro-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.intro-video-toggle{position:absolute;bottom:36px;right:36px;border:1px solid #ffffff75;background:#17221bcc;color:#fff;padding:10px 14px;border-radius:24px;font-size:10px;cursor:pointer}
.intro-envelope-stage[hidden]{display:none!important}
.intro-envelope-stage{--intro-flap-duration:900ms;--intro-flap-switch:360ms;--intro-letter-duration:800ms;--intro-exit-duration:560ms;position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;overflow-x:hidden;overflow-y:auto;gap:0;text-align:center;outline:none;transition:opacity var(--intro-exit-duration) cubic-bezier(.4,0,.2,1),visibility var(--intro-exit-duration);isolation:isolate}
.intro-envelope-stage.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.intro-envelope-heading{position:relative;max-width:540px;margin:0 0 clamp(46px,9vh,90px);transition:opacity 450ms ease,transform 550ms ease}
.intro-envelope-heading h2{font:400 clamp(25px,3.5vw,40px)/1.2 'Cormorant Garamond',Georgia,serif;margin:14px 0 0;text-wrap:balance;overflow-wrap:anywhere}
.intro-recipient{font-size:18px;margin:14px 0 0;line-height:1.4;overflow-wrap:anywhere}
.intro-envelope{position:relative;display:block;flex:none;width:min(540px,86vw);max-width:100%;aspect-ratio:1.6;border:0;border-radius:5px;background:var(--intro-envelope);color:var(--intro-ink);box-shadow:0 28px 55px -22px #312b254f,0 2px 6px #312b251a;cursor:pointer;perspective:clamp(420px,100vw,800px);perspective-origin:50% 0;padding:0;text-align:center;transition:transform var(--intro-flap-duration) cubic-bezier(.22,.7,.18,1),opacity var(--intro-exit-duration) ease;isolation:isolate}
.intro-envelope::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,#00000036,transparent 62%);transform-origin:50% 0;opacity:0}
.intro-envelope-liner{position:absolute;inset:3px;border-radius:4px;background:var(--intro-liner);background-image:repeating-linear-gradient(45deg,transparent 0 14px,#ffffff12 14px 15px)}
.intro-envelope-letter{position:absolute;inset:10px 7% 5%;z-index:1;background:var(--intro-paper);border:1px solid #0000000c;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px;gap:12px;transition:transform var(--intro-letter-duration) cubic-bezier(.26,.62,.32,1),box-shadow var(--intro-letter-duration) ease;box-shadow:0 0 8px #0000000a,inset 0 1px 0 #ffffff80;transform-origin:50% 100%;will-change:transform}
.intro-letter-monogram{font-size:22px;line-height:1.2;border-bottom:1px solid currentColor;padding-bottom:8px;max-width:90%;overflow-wrap:anywhere}
.intro-letter-title{font:400 clamp(19px,3vw,34px)/1.1 'Cormorant Garamond',Georgia,serif;max-width:90%;text-wrap:balance;overflow-wrap:anywhere}
.intro-letter-date{font:9px/1.5 'Montserrat',sans-serif;letter-spacing:.18em}
.intro-envelope-pocket{position:absolute;inset:0;background:var(--intro-envelope);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);border-radius:4px;z-index:2}
.intro-envelope-pocket::after{content:'';position:absolute;inset:0;background:linear-gradient(32deg,transparent 49.6%,#0000000d 50%,transparent 50.4%),linear-gradient(-32deg,transparent 49.6%,#0000000d 50%,transparent 50.4%)}
/* Rotate the two paper faces together; clipping/lighting stays on leaf faces to preserve 3D. */
.intro-envelope-flap{position:absolute;left:0;top:0;width:100%;height:56%;transform-origin:50% 0;transform-style:preserve-3d;transform:rotateX(0deg);transition:z-index 0s var(--intro-flap-switch);z-index:4;pointer-events:none;will-change:transform}
.intro-envelope-flap-front,.intro-envelope-flap-back{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.intro-envelope-flap-front{background:linear-gradient(#ffffff28,#00000008),var(--intro-envelope);clip-path:polygon(0 0,100% 0,50% 100%);transform:translateZ(.5px);box-shadow:inset 0 1px 0 #ffffff60}
.intro-envelope-flap-back{transform:rotateX(180deg) translateZ(.5px);background:var(--intro-liner);background-image:linear-gradient(0deg,#00000012,transparent 36%),repeating-linear-gradient(45deg,transparent 0 14px,#ffffff12 14px 15px);clip-path:polygon(0 100%,100% 100%,50% 0);box-shadow:inset 0 -1px 0 #ffffff50}
.intro-envelope-flap-front::after,.intro-envelope-flap-back::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent,#000000);opacity:0}
.intro-envelope-flap-back::after{background:linear-gradient(0deg,#000000,transparent 90%);opacity:.04}
.intro-seal{position:absolute;z-index:5;top:43%;left:50%;transform:translate(-50%,-25%);display:grid;place-items:center;width:76px;height:76px;padding:10px;border-radius:50%;background:var(--intro-ink);color:var(--intro-paper);box-shadow:inset 0 0 0 5px #ffffff18,inset 0 0 0 7px #00000016,2px 5px 9px #00000030;font:500 20px/1.1 'Cormorant Garamond',Georgia,serif;white-space:nowrap;overflow:hidden;transition:opacity 200ms,transform 300ms}
.intro-seal img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.intro-seal.intro-seal--partner{padding:4px}
.intro-envelope-hint{font-size:10px;letter-spacing:.1em;line-height:1.8;margin:34px 0 12px;position:relative;transition:opacity 300ms ease}
.intro-envelope-hint .marketing-arrow{display:inline-block;width:16px;height:16px;margin-left:8px;vertical-align:middle}
.intro-skip{border:0;background:transparent;color:inherit;opacity:.75;font-size:10px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:12px;position:relative;transition:opacity 300ms ease}
.intro-envelope-stage.is-unsealed .intro-seal{opacity:0;transform:translate(-50%,-25%) scale(.82)}
.intro-envelope-stage.is-unsealed .intro-envelope-hint,.intro-envelope-stage.is-unsealed .intro-skip{opacity:0;pointer-events:none}
.intro-envelope-stage.is-opening .intro-envelope-heading{opacity:0;transform:translateY(-5px)}
.intro-envelope-stage.is-opening .intro-envelope{transform:perspective(1100px) rotateX(10deg) rotateY(-6deg)}
.intro-envelope-stage.is-opening .intro-envelope-flap{z-index:0;transform:rotateX(176deg);animation:intro-flap-unfold var(--intro-flap-duration) cubic-bezier(.32,0,.24,1) both}
.intro-envelope-stage.is-opening .intro-envelope::after{animation:intro-fold-shadow var(--intro-flap-duration) ease-out both}
.intro-envelope-stage.is-opening .intro-envelope-flap-front::after{animation:intro-flap-front-light var(--intro-flap-duration) linear both}
.intro-envelope-stage.is-opening .intro-envelope-flap-back::after{animation:intro-flap-back-light var(--intro-flap-duration) ease-out both}
.intro-envelope-stage.is-revealing .intro-envelope-letter{transform:translateY(-46%) rotateX(-9deg);box-shadow:0 24px 38px -22px #1f1b174f,inset 0 1px 0 #ffffff80}
.intro-envelope-stage.is-leaving .intro-envelope{transform:perspective(1100px) translateY(14px) rotateX(5deg) rotateY(-3deg) scale(.985);opacity:.72}
.intro-envelope-stage[data-animation=soft]{--intro-flap-duration:1050ms;--intro-flap-switch:420ms;--intro-letter-duration:900ms}
.intro-envelope-stage[data-animation=swing].is-opening:not(.is-leaving) .intro-envelope{transform:perspective(1100px) rotateX(10deg) rotateY(-6deg) rotate(-3deg)}
.intro-envelope-stage[data-animation=lift].is-revealing .intro-envelope-letter{transform:translateY(-54%) rotateX(-9deg)}
.intro-envelope-stage[data-animation=reveal].is-opening:not(.is-leaving) .intro-envelope{transform:perspective(1100px) rotateX(10deg) rotateY(-6deg) scale(.96)}
@keyframes intro-flap-unfold{from{transform:rotateX(0deg)}to{transform:rotateX(176deg)}}
@keyframes intro-fold-shadow{0%{opacity:.3;transform:scaleY(.95)}40%{opacity:.22;transform:scaleY(.45)}70%{opacity:.06;transform:scaleY(.1)}100%{opacity:0;transform:scaleY(.04)}}
@keyframes intro-flap-front-light{0%{opacity:0}45%{opacity:.24}100%{opacity:.04}}
@keyframes intro-flap-back-light{0%{opacity:.34}55%{opacity:.22}100%{opacity:.04}}
.intro-envelope:focus-visible,.intro-skip:focus-visible,.intro-scroll:focus-visible,.intro-video-toggle:focus-visible{outline:2px solid currentColor;outline-offset:8px}
body.intro-locked{overflow:hidden}
@media(max-width:600px){.intro-cover{padding:38px 28px 24px}.intro-cover-frame{inset:12px}.intro-cover--editorial .intro-cover-frame::before{inset:7px}.intro-cover-copy{padding:32px 8px}.intro-cover h1{font-size:clamp(43px,12vw,66px)}.intro-monogram{width:52px;height:52px;font-size:12px}.intro-kicker{font-size:9px;letter-spacing:.16em}.intro-video-toggle{bottom:26px;right:22px;padding:9px;font-size:9px}.intro-cover--cinematic .intro-scroll{align-self:flex-start;max-width:160px}.intro-envelope-heading{margin-bottom:68px}.intro-seal{width:62px;height:62px;font-size:14px;padding:5px}}
@media(max-height:600px) and (min-width:601px){.intro-cover{padding:28px}.intro-cover-copy{padding:16px}.intro-cover h1{font-size:48px;margin:12px auto}.intro-cover-top{flex-direction:row}.intro-monogram{width:44px;height:44px}.intro-date{margin-top:16px}.intro-envelope-stage{justify-content:flex-start}.intro-envelope-heading{margin-bottom:35px}.intro-envelope{width:340px}}
@media(prefers-reduced-motion:reduce){.intro-cover *, .intro-envelope-stage *,.intro-envelope-stage *::before,.intro-envelope-stage *::after,.intro-envelope-stage{animation:none!important;transition:none!important}html{scroll-behavior:auto!important}}
:root .intro-envelope-partner { display: flex; justify-content: center; margin: 12px auto 0; opacity: .82; }
:root .intro-envelope-partner img { display: block; width: auto; max-width: 120px; height: 30px; object-fit: contain; }
