/* Readable typography, keyboard focus, and responsive interaction. */
:root{--muted:#555d4e;--body-size:1.125rem;--small-size:.9375rem}
html{font-size:100%;scroll-padding-top:110px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--body-size);line-height:1.65}
*,*::before,*::after{box-sizing:border-box}
button,input,select,textarea{font:inherit}
a,button,summary{touch-action:manipulation}
a:hover,button:hover{opacity:1}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #87421f;outline-offset:4px;box-shadow:0 0 0 6px #fff}
main:focus{outline:none}
.skip{font-size:1rem;padding:14px 20px;min-height:48px}
#main p,#info-body p{font-size:var(--body-size);line-height:1.75}
#main p:not(.product-line):not(.standfirst):not(.waitlist-lead):not(.policy-intro){overflow-wrap:break-word}
#main .ritual-copy p,#main .states-heading p,#main .page-intro p,#main .shop-ending p,#main .blend-story p,#main .product-details>p:not(.product-line),#main .contact-page>div>p,#main .policy-page>section p,#main .philosophy-opening-bottom p,#main .philosophy-invitation>p,#main .conviction-list p,#main .launch-promises p,#main .journal-card p,#main .confirmation p{color:#50594a}
#main .product-line{font-size:1.375rem;line-height:1.55;color:var(--ink)}
#main .waitlist-lead,#main .policy-intro{font-size:1.5rem!important;line-height:1.55!important}
#main .article-page .standfirst{font-size:1.5rem;line-height:1.6}
#main .article-page p{max-width:68ch;color:#50594a}
#main .closing-copy p,#main .philosophy-belief p{font-size:var(--body-size);color:#e1e5d8}
#main .waitlist-copy>p,#main .contact-invitation p{color:#50594a}
#main .product-caption p,#main .cart-line p,#main .scent-profile p,#main .demo-note,#main .purchase-note,#main .waitlist-fine,#main .policy-meta,#main .contact-business,#main .bundle-saving{font-size:var(--small-size)!important;line-height:1.7}
.eyebrow,.section-label,.hero-meta,.object-caption,.gallery-caption,.color-label,.philosophy-small,.philosophy-launch,.waitlist-image-caption,.gesture-photo-caption,.campaign-note{font-size:.8125rem;line-height:1.6;letter-spacing:.08em;font-weight:550;overflow-wrap:break-word}
.section-label,.object-caption,.gallery-caption{flex-wrap:wrap;gap:12px}
.philosophy-small,.philosophy-launch,.state-number{color:#535e47}
.philosophy-belief .eyebrow{font-size:.8125rem;color:#d1dac4}
.philosophy-centrepiece figcaption{font-size:.8125rem;line-height:1.5;background:#eee8d9;color:#343e2c;left:20px;right:20px;bottom:20px;max-width:fit-content}
.conviction-list article>span,.launch-promises article>span,.waitlist-social>span,.ingredients h3{font-size:.8125rem;line-height:1.65;color:#535e47}
.text-link{font-size:1rem;min-height:48px;max-width:100%;min-width:0;line-height:1.5;gap:24px;white-space:normal}
.text-link span{flex-shrink:0}
a[href="/waitlist/"],a[href="/waitlist/"] span,.footer-invite{font-size:1.125rem;line-height:1.5}
a[href="/waitlist/"]{min-height:48px;align-content:center;font-weight:550}
#header nav{gap:24px;font-size:1rem}
#header nav a,#header .shop-link{display:inline-flex;align-items:center;min-height:48px;line-height:1.4}
#header .shop-link,#header .shop-link span{font-size:1rem}
#bag{font-size:1rem;min-width:64px;min-height:48px;padding:10px 8px}
#menu-button{width:48px;min-width:48px;min-height:48px;padding:10px}
.nav-end{gap:16px}
.launch-ribbon{font-size:1rem;padding-block:24px;gap:24px;letter-spacing:.03em;flex-wrap:wrap}
.launch-ribbon span:first-child{font-size:.8125rem}
.launch-ribbon span:last-child{font-size:1.125rem;line-height:1.5}
.collection-prelaunch{font-size:1rem;flex-wrap:wrap;line-height:1.6;padding:22px;gap:14px}
.collection-prelaunch>span{font-size:.8125rem}
.collection-prelaunch a{font-size:1.0625rem;min-height:44px;display:inline-flex;align-items:center}
.hero-bottom p{font-size:var(--body-size);max-width:340px}
.hero-bottom .round-link{font-size:1.125rem;min-height:52px;gap:20px}
.hero-bottom .round-link>span{font-size:1.125rem;max-width:330px;line-height:1.5}
.hero-meta{font-size:.8125rem;gap:16px;line-height:1.5}
.hero-meta>span:first-child,.hero-meta>span:last-child{background:#191c17e8;padding:6px 10px}
.hero{height:auto;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;gap:30px;padding-bottom:45px}
.hero-meta{position:relative;margin-bottom:auto}
.hero h1{position:relative;inset:auto;margin:clamp(80px,9vw,150px) 0 0}
.hero-bottom{position:relative;inset:auto;gap:30px}
.hero-shade{background:linear-gradient(0deg,#191c17 0%,#191c17f2 32%,#191c17b8 58%,transparent 85%)}
.outline{color:#f4f0e7;-webkit-text-stroke:0}
.blend-selector{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.blend-choice{font-size:1rem;min-height:56px;line-height:1.5;padding:14px 12px;gap:12px;opacity:1;border-color:#747c69}
.blend-choice.active{background:#dfdfd1;border-color:#242621}
.blend-choice small{font-size:.8125rem;color:#525a48}
.blend-choice i{flex-shrink:0}
.state-row{min-height:72px;gap:24px}
.state-number{font-size:.875rem}.state-mood{font-size:1rem;line-height:1.6;color:#555e4b}
.shop-toolbar,.shop-toolbar label,.shop-toolbar select{font-size:1rem;letter-spacing:0;line-height:1.5}
.shop-toolbar{gap:24px;flex-wrap:wrap}
.shop-toolbar select{min-height:48px;border:1px solid #7b8171;border-radius:2px;padding:10px;max-width:100%}
.product-number{font-size:.75rem;line-height:1.5;background:#eee8d9f2;color:#343e2c;max-width:calc(100% - 32px)}
.discover{font-size:1rem}.product-caption{gap:16px;align-items:flex-start}
.product-caption h2{font-size:1.625rem;line-height:1.4;letter-spacing:-.035em}
.product-caption h2 a{display:inline-flex;align-items:center;min-height:44px}
.product-caption>span{font-size:1.125rem;line-height:1.6;padding-top:6px}
.quick-add{font-size:1rem;line-height:1.5;min-height:48px;padding-block:12px}
.back-link{font-size:1rem;min-height:44px;display:inline-flex;align-items:center;gap:8px;line-height:1.5}
.product-price{font-size:1.375rem;line-height:1.6}.product-price span{font-size:1rem;color:var(--muted)}
.color-label{font-size:.875rem}
.product-swatches{flex-wrap:wrap;gap:10px}
.product-swatches a{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;background:transparent;border-radius:50%}
.product-swatches a::before{content:"";display:block;width:28px;height:28px;border-radius:50%;background:var(--swatch);border:1px solid #626a58}
.product-swatches a.active::after{inset:3px;border:2px solid #3f4936}
.quantity{font-size:1.125rem;min-width:132px;flex-shrink:0}
.quantity button{width:44px;min-width:44px;min-height:48px;padding:8px;font-size:1.375rem}
.quantity output{min-width:28px;text-align:center}
.primary{font-size:1.0625rem;line-height:1.5;min-height:56px;padding:16px 20px;gap:16px}
.primary span{flex-shrink:0}
.bundle-price span{font-size:1rem;line-height:1.7;color:#50594a}
.bundle-feature .text-link,.other-rituals .text-link{font-size:1rem}
.bundle-inclusions a{font-size:1rem;line-height:1.6;min-height:48px;flex-wrap:wrap;gap:8px}
details,.product-details details{font-size:1rem}
summary{font-size:1.0625rem;line-height:1.6;min-height:56px;padding-block:16px;gap:16px}
.ingredients h3{font-size:.9375rem}.ingredients li{padding:14px 0}
.ingredients li strong{font-size:1rem;line-height:1.7}
.ingredients li span{font-size:.9375rem;line-height:1.7;color:#555d4e}
.care-list li,#info-body .care-list li{font-size:1rem;line-height:1.75;color:#555d4e;padding-block:14px}
.product-moment{background:color-mix(in srgb,var(--moment) 15%,var(--paper))}
.contact-details small{font-size:.9375rem;line-height:1.75;color:var(--muted)}
.contact-details address{font-size:1.125rem;line-height:1.7}
.policy-page{max-width:960px}
.policy-nav{font-size:1rem;gap:12px 24px}.policy-nav a{min-height:44px;display:inline-flex;align-items:center}
#main .policy-page>section p{max-width:68ch}
#main p a,#info-body a,.waitlist-success a{text-decoration:underline;text-underline-offset:4px}
form label,.waitlist-copy form>label:not(.consent-check),form h2{font-size:1rem;line-height:1.6}
form input,form select,.waitlist-copy form>input{font-size:1.125rem;line-height:1.5;min-height:52px;border:1px solid #747c69;border-radius:2px;padding:12px;max-width:100%}
.consent-check{font-size:1rem;line-height:1.7;min-height:48px;padding-block:8px;gap:14px;cursor:pointer}
.consent-check input{width:24px;height:24px;min-width:24px;min-height:24px;margin-top:2px;flex-shrink:0;padding:0;accent-color:#343e2c}
.waitlist-copy label>span{color:#50594a}
#main .form-status{font-size:1rem;color:#813b20;font-weight:500;line-height:1.65}
.form-status:empty{margin-top:0}
.waitlist-visual{min-height:0}
.waitlist-visual img{min-height:0}
.first-chapter p{max-width:65ch}
.footer-business p{font-size:1rem;line-height:1.85;color:#d1d8c8}
.footer-business>a:last-child{font-size:1rem;line-height:1.6;overflow-wrap:anywhere;display:inline-flex;align-items:center;min-height:44px}
.footer-directory nav{font-size:1rem;gap:8px}
.footer-directory nav>.eyebrow{font-size:.8125rem;color:#c4ceb6;line-height:1.6}
.footer-directory nav a,.footer-directory button{font-size:1rem;line-height:1.6;min-height:44px;display:inline-flex;align-items:center;text-align:left;padding:8px 0}
.footer-directory nav a[href="/waitlist/"]{font-size:1.125rem}
.footer-invite{color:#e3ead9;max-width:420px;min-height:48px;display:inline-flex;align-items:center}
.footer-legal{font-size:.875rem;line-height:1.7;color:#c4ceb6;flex-wrap:wrap;letter-spacing:.02em}
.footer-top .eyebrow{font-size:.875rem;color:#c4ceb6}
.footer-directory{grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:30px}
.cart-line p,#main .cart-line p{font-size:.9375rem;line-height:1.6}
.cart-line>span,.cart-line div>span,.cart-controls{font-size:1rem;line-height:1.6}
.cart-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.cart-controls button{min-width:44px;min-height:44px;font-size:1rem;padding:10px}
.cart-controls .remove{font-size:.9375rem;color:#50594a;text-decoration:underline;min-height:44px}
.cart-checkout small,.grand-total small{font-size:.9375rem;line-height:1.65}
.continue{font-size:1rem;min-height:44px}
.totals p,.demo-payment,#main .demo-banner p{font-size:1rem;line-height:1.65}
.totals .grand-total{font-size:1.25rem}
.dialog-head>button{min-width:44px;min-height:44px;flex-shrink:0;padding:10px}
#cart-dialog,#info-dialog{scroll-padding-block:24px;overscroll-behavior:contain}
#info-dialog{max-height:90dvh;overflow:auto}
#toast{font-size:1rem;line-height:1.6;max-width:calc(100vw - 32px);overflow-wrap:break-word}
.is-home #header{background:#191c17;color:#f4f0e7}
.is-home #header.scrolled{background:#eeece6;color:#242621}
.hero-meta>span:first-child,.hero-meta>span:last-child{background:#191c17}
.gesture-photo-caption{background:#232720;color:#f4f0e7;padding:8px 12px;max-width:calc(100% - 40px)}
@media(max-width:1100px){
 #header{height:76px}#header nav{display:none}#menu-button{display:block}
 #header .shop-link{display:inline-flex}
 #mobile-menu{inset:76px 0 0;padding:24px var(--pad);overflow-y:auto;overscroll-behavior:contain}
 #mobile-menu nav{gap:8px;font-size:clamp(1.375rem,4vw,2rem);letter-spacing:-.025em}
 #mobile-menu nav a{min-height:48px;line-height:1.5;padding:6px 0}
 #mobile-menu>span{font-size:1rem;line-height:1.7;margin-top:30px}
 .footer-directory{grid-template-columns:1fr 1fr;gap:30px}
 .footer-business{grid-column:1/-1}
 .blend-selector{grid-template-columns:repeat(3,minmax(0,1fr))}
 .product-page{grid-template-columns:1fr;padding-top:76px}
 .product-gallery{position:relative;top:auto;height:auto;min-height:0}
 .product-details{padding:45px var(--pad) 60px}
 .waitlist-page{grid-template-columns:1fr;padding-top:76px}
 .waitlist-visual{position:relative;top:auto;max-height:560px}
 .waitlist-visual>img{max-height:560px;object-fit:cover;object-position:center}
 .waitlist-copy{padding:42px var(--pad) 60px}
 .checkout-page{display:flex;flex-direction:column;gap:40px}
}
@media(max-width:760px){
 html{scroll-padding-top:92px}
 #header .shop-link{display:none}
 .nav-end{gap:10px}
 .hero{height:auto;min-height:0;padding:100px var(--pad) 36px;display:flex;flex-direction:column}
 .hero-meta{position:relative;order:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start;max-width:100%}
 .hero-meta>span:first-child,.hero-meta>span:last-child{max-width:100%;background:transparent;padding:0;font-size:.8125rem;line-height:1.6}
 .hero-image{position:relative;inset:auto;order:1;width:calc(100% + 2*var(--pad));margin:20px calc(-1*var(--pad)) 0;aspect-ratio:765/385;height:auto}
 .hero-shade{display:none}
 .hero h1{position:relative;inset:auto;order:2;font-size:clamp(2.6rem,10.8vw,5rem);line-height:1.08;letter-spacing:-.055em;margin:28px 0}
 .hero-bottom{position:relative;inset:auto;order:3;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
 .hero-bottom p{font-size:1.125rem;max-width:none}
 .hero-bottom .round-link>span{font-size:1.125rem;max-width:19rem;line-height:1.5}
 .hero-bottom .round-link{gap:20px}
 .round-link b{width:52px;height:52px;flex-shrink:0}
 .launch-ribbon{flex-direction:column;align-items:flex-start;gap:8px;padding-block:24px}
 .launch-ribbon span:last-child{font-size:1.125rem;line-height:1.6}
 .section-label,.object-caption,.gallery-caption{font-size:.8125rem}
 .object-stage{min-height:0;height:auto;padding-bottom:70px}
 .object-caption{bottom:12px;left:0;right:0;gap:8px}
 .blend-choice{font-size:1rem;padding:12px 8px;gap:8px;flex-wrap:wrap}
 .blend-choice small{font-size:.8125rem}
 .state-row{gap:12px;flex-wrap:wrap;padding-block:22px}
 .state-row h3{font-size:1.875rem;min-width:40%;flex:1}
 .state-row .state-mood{display:block;width:100%;order:5;font-size:1rem;padding-left:0}
 .state-row i{margin:0;width:24px;height:24px}
 .shop-toolbar{align-items:flex-start;gap:18px;padding-block:20px}
 .shop-toolbar label{flex-wrap:wrap;gap:12px}
 .product-grid,.other-rituals .product-grid{grid-template-columns:1fr;gap:34px}
 .product-caption h2{font-size:1.625rem}
 .product-gallery{min-height:0}
 .product-page .product-visual{width:100%;padding-top:40px;padding-bottom:75px}
 .product-gallery .back-link{position:relative;top:auto;left:auto;margin:20px var(--pad) 0}
 .product-details h1,.bundle-page .product-details h1{font-size:clamp(3rem,13vw,4.75rem)}
 .purchase-row{flex-wrap:wrap}
 .purchase-row .quantity{min-height:52px}
 .purchase-row .primary{flex:1 1 180px}
 .gallery-caption{position:absolute;bottom:20px;left:var(--pad);right:var(--pad);width:auto}
 .bundle-feature .text-link{font-size:1rem}
 .bundle-inclusions a{font-size:1rem}
 .philosophy-belief h2{font-size:clamp(2.5rem,10vw,3.875rem)}
 .philosophy-opening h1{font-size:clamp(2.8rem,11vw,5.0625rem)}
 .philosophy-small,.philosophy-launch,.philosophy-belief .eyebrow{font-size:.8125rem}
 .philosophy-centrepiece figcaption{font-size:.75rem;position:relative;inset:auto;margin:0;max-width:none;background:#eee8d9;padding:14px var(--pad)}
 .philosophy-invitation>div{gap:16px}
 .contact-details>div>a:not(.text-link){font-size:clamp(1.125rem,5vw,1.5rem);letter-spacing:0}
 .contact-details small,.footer-legal{font-size:.9375rem}
 .footer-directory{grid-template-columns:1fr 1fr;gap:32px 20px}
 .footer-directory nav,.footer-directory button{font-size:1rem}
 .footer-directory nav>.eyebrow{font-size:.8125rem}
 .footer-invite{font-size:1.125rem;max-width:100%}
 .footer-legal{gap:12px;flex-direction:column}
 .footer-legal>span{max-width:100%;overflow-wrap:break-word}
 .policy-page{padding-inline:var(--pad)}
 .form-row{grid-template-columns:1fr}
 .waitlist-social .text-link{min-width:0}
 .waitlist-image-caption{position:relative;inset:auto;display:flex;flex-wrap:wrap;padding:16px var(--pad);font-size:.8125rem;background:#e3dece}
 .waitlist-visual{display:block;max-height:none}
 .waitlist-visual>img{max-height:none;object-fit:contain}
 .closing-campaign .closing-copy p{font-size:1.125rem}
}
@media(max-width:380px){
 .blend-selector{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-directory{grid-template-columns:1fr}
 .footer-business{grid-column:auto}
 .hero h1{font-size:clamp(2.25rem,10.8vw,2.6rem)}
 .hero-bottom .round-link>span{max-width:12rem}
 #cart-dialog{padding:20px 16px}
 .cart-line{grid-template-columns:70px minmax(0,1fr);gap:16px}
 .cart-line>span{grid-column:2}
}
@media(forced-colors:active){
 :where(a,button,input,select,summary):focus-visible{outline:3px solid Highlight;box-shadow:none}
 .product-swatches a::before{border:2px solid ButtonText;forced-color-adjust:none}
 .product-swatches a.active::after{border-color:Highlight}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Allow enlarged and widely spaced text to reflow within narrow layouts. */
#main h1,#main h2,#main p{overflow-wrap:break-word}
.contact-page>*{min-width:0}
@media(max-width:760px){.waitlist-copy h1,.contact-page h1{font-size:clamp(2.5rem,11vw,4rem);overflow-wrap:anywhere}}

/* Draw the hero arrow consistently across mobile and desktop platforms. */
.round-link b{background:transparent;color:inherit;flex-shrink:0}
.round-link .hero-arrow-icon{display:block;width:22px;height:22px;overflow:visible}

/* Editorial waitlist invitation, with native modal focus and Escape support. */
body.waitlist-popup-open{overflow:hidden}
#waitlist-popup{width:min(960px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #b9b5a8;background:#f0ede5;color:#292e26;overflow:hidden;box-shadow:0 24px 100px #0005}
#waitlist-popup::backdrop{background:#161b16a6;backdrop-filter:blur(5px)}
.popup-scroll{max-height:calc(100dvh - 50px);overflow-y:auto;overscroll-behavior:contain}
.popup-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.popup-image{position:relative;background:#d9d2c2;min-height:100%}
.popup-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.popup-image>span{position:absolute;bottom:28px;left:24px;right:24px;color:#33382e;font-size:12px;line-height:1.65;letter-spacing:.12em;background:#efeadbe8;padding:16px}
.popup-copy{padding:48px 38px 32px;min-width:0;background:#f0ede5}
.popup-copy>.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.12em;display:block;padding-right:24px}
.popup-copy>h2{font-size:48px;line-height:1.04;letter-spacing:-.045em;margin:18px 0}
.popup-copy>h2 em{font-family:Georgia,serif;font-weight:400}
.popup-copy>p{font-size:17px;line-height:1.65;margin:0 0 24px;color:#50594a}
.popup-close{position:absolute;right:10px;top:10px;z-index:2;width:44px;height:44px;display:grid;place-items:center;background:#f0ede5;color:#292e26;border:1px solid #c7c4b8;border-radius:50%;cursor:pointer}
.popup-close:hover{background:#ded9cb}
.popup-form-slot form>label:not(.consent-check){display:block;font-size:16px;line-height:1.5;margin:14px 0 6px}
.popup-form-slot form>input:not([type=hidden]){display:block;width:100%;height:50px;background:#faf8f2;color:#292e26}
.popup-form-slot .consent-check{font-size:16px;line-height:1.5;margin:18px 0;align-items:flex-start;gap:12px;color:#444d3e}
.popup-form-slot .consent-check input{flex-shrink:0;margin-top:4px;accent-color:#333c2d;min-height:0;padding:0}
.popup-form-slot .consent-check a{text-decoration:underline;text-underline-offset:3px}
.popup-form-slot .primary{width:100%;margin-top:8px;font-size:17px;min-height:52px}
.popup-form-slot .primary:disabled{cursor:wait;opacity:.7}
.popup-form-slot .waitlist-fine{font-size:13px;line-height:1.6;color:#555d4e;margin:14px 0 0}
.popup-form-slot .form-status{font-size:16px;line-height:1.5;color:#713c28;margin:12px 0 0}
.popup-form-slot .form-status:empty{display:none}
.popup-form-slot .waitlist-success h2{font-size:48px;line-height:1.1}
.popup-form-slot .waitlist-success p{font-size:17px;color:#50594a;line-height:1.7}
@media(max-width:700px){
 #waitlist-popup{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
 .popup-scroll{max-height:calc(100dvh - 26px)}
 .popup-layout{display:block}
 .popup-image{display:none}
 .popup-copy{padding:56px 24px 28px}
 .popup-copy>h2{font-size:40px;overflow-wrap:break-word}
 .popup-copy>p{font-size:16px}
 .popup-copy>.eyebrow{font-size:11px;padding-right:0}
 .popup-form-slot .waitlist-success h2{font-size:40px}
}
.popup-image{overflow:hidden}
.popup-copy>h2{font-size:44px;margin:14px 0}
.popup-copy>p{font-size:16px;margin-bottom:16px}
.popup-form-slot .consent-check{margin:14px 0;line-height:1.4}
.popup-form-slot .waitlist-fine{font-size:13px;line-height:1.45;margin-top:12px}
.popup-joined .popup-copy>h2,.popup-joined #waitlist-popup-intro{display:none}
.popup-joined .popup-image>span{display:none}
@media(max-width:700px){.popup-copy>h2{font-size:38px}.popup-copy{padding-inline:22px}}
@media(prefers-reduced-motion:no-preference){
 #waitlist-popup[open]{animation:waitlist-appear .65s cubic-bezier(.2,.8,.2,1)}
 #waitlist-popup[open]::backdrop{animation:waitlist-backdrop .5s ease-out}
 #waitlist-popup[open] .popup-image img{animation:waitlist-image 1.4s cubic-bezier(.2,.8,.2,1)}
 #waitlist-popup[open] .popup-copy>.eyebrow{animation:waitlist-copy .6s .12s both}
 #waitlist-popup[open] .popup-copy>h2{animation:waitlist-copy .7s .2s both}
 #waitlist-popup[open] .popup-copy>p{animation:waitlist-copy .7s .28s both}
 #waitlist-popup[open] .popup-form-slot{animation:waitlist-copy .7s .36s both}
 #waitlist-popup .waitlist-success{animation:waitlist-copy .5s ease-out}
 .popup-close{transition:background .2s,transform .2s}
 .popup-close:hover{transform:rotate(90deg)}
 @keyframes waitlist-appear{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
 @keyframes waitlist-copy{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
 @keyframes waitlist-image{from{transform:scale(1.06);filter:brightness(.9)}to{transform:scale(1);filter:brightness(1)}}
 @keyframes waitlist-backdrop{from{background:#161b1600;backdrop-filter:blur(0)}to{background:#161b16a6;backdrop-filter:blur(5px)}}
}

/* Vector arrows cannot be replaced by platform emoji artwork. */
.ui-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;color:inherit;overflow:visible}
.primary .ui-arrow,.popup-continue .ui-arrow{width:20px;height:20px}

/* Give every mobile navigation link the same type size; emphasise only the invitation. */
#mobile-menu nav a{font-size:inherit;font-weight:400}
#mobile-menu nav a[href="/waitlist/"],#mobile-menu nav a[href="/waitlist/"] span{font-size:inherit;font-weight:700}

.launch-purchase{margin:28px 0;max-width:520px}
.launch-purchase>.eyebrow{display:block;margin-bottom:12px}
.launch-button{width:100%;min-height:56px}
#main .launch-purchase-note{font-size:1rem!important;line-height:1.65!important;color:#50594a;margin-top:14px}
.launch-card-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;text-decoration:none;font-size:1rem!important;line-height:1.5}
.launch-access>p{max-width:620px;margin:24px auto}
.launch-access .launch-purchase{margin-inline:auto}
