
:root{color-scheme:dark;--ink:#f3eee4;--muted:#bbb7ad;--gold:#E4F222;--bg:#151714}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.shell{max-width:1440px;margin:auto}header{height:92px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff22}.brand{font-family:Italiana,Georgia,serif;font-size:1.8rem;letter-spacing:.08em;line-height:1}.brand small{display:block;font:500 .6rem 'DM Sans',sans-serif;letter-spacing:.35em;margin-top:9px;text-align:center}.header-link{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding:8px 0}.hero{min-height:650px;display:grid;grid-template-columns:47% 53%;align-items:stretch}.hero-copy{padding:11% 10% 10% 12%;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:var(--gold);text-transform:uppercase;font-size:.77rem;letter-spacing:.25em;font-weight:600}.hero h1,h2{font-family:Italiana,Georgia,serif;font-weight:400;line-height:1.08}.hero h1{font-size:clamp(3.7rem,6.2vw,7.2rem);letter-spacing:-.035em;margin:27px 0}.hero p{font-size:1.08rem;color:#d8d6cf;max-width:490px;margin:0 0 35px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;width:max-content;background:#E4F222;color:#171a17;padding:18px 27px;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;transition:background .2s,transform .2s}.button:hover{background:#f2ff57;transform:translateY(-2px)}.review-proof{display:inline-flex;align-items:center;gap:12px;margin-top:24px;color:#e8e2d7;font-size:.86rem;border-bottom:1px solid #E4F22266;padding-bottom:5px}.review-proof:hover{color:var(--gold)}.stars{color:var(--gold);letter-spacing:.12em;white-space:nowrap;font-size:1rem}.hero-image{position:relative;overflow:hidden;min-height:600px}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#15171455,transparent 35%)}.image-note{position:absolute;bottom:35px;right:38px;z-index:1;color:white;text-transform:uppercase;letter-spacing:.22em;font-size:.7rem}.at-a-glance{display:grid;grid-template-columns:repeat(4,1fr);padding:29px 7%;gap:20px;border-top:1px solid #ffffff22}.at-a-glance div{display:flex;flex-direction:column;gap:2px}.at-a-glance strong{color:var(--gold);font-size:1.15rem;font-weight:500}.at-a-glance span{font-size:.88rem;color:#d2d0c9}.questions{padding:88px 7%;border-top:1px solid #ffffff22;display:grid;grid-template-columns:1fr 1.45fr;gap:10%}.questions h2{font-size:clamp(2.8rem,4.3vw,5rem);margin:18px 0}.answers{display:grid;gap:22px}.answers div{border-bottom:1px solid #ffffff2b;padding-bottom:20px}.answers h3{font-size:1.08rem;font-weight:500;margin:0 0 7px}.answers p{color:#d2d0c9;margin:0}.answers a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.intro{padding:110px 7%;display:grid;grid-template-columns:1fr 1.45fr;gap:10%;border-top:1px solid #ffffff22}.intro h2,.visit h2{font-size:clamp(2.8rem,4.3vw,5rem);margin:18px 0}.intro-copy{max-width:680px;color:#d2d0c9;font-size:1.11rem}.steps{border-top:1px solid #ffffff2b;margin-top:32px}.step{padding:19px 0;border-bottom:1px solid #ffffff2b;display:grid;grid-template-columns:48px 1fr;gap:12px}.step span{color:var(--gold);font-size:.8rem}.step strong{display:block;color:var(--ink);font-weight:500}.step p{margin:3px 0 0;font-size:.94rem}.story{padding:88px 7%;border-top:1px solid #ffffff22;display:grid;grid-template-columns:1fr 1.45fr;gap:10%}.story h2{font-size:clamp(2.8rem,4.3vw,5rem);margin:18px 0}.story-copy{max-width:680px;color:#d2d0c9;font-size:1.06rem}.story-copy p{margin:0 0 20px}.story-copy h3{font-family:Italiana,Georgia,serif;font-weight:400;font-size:clamp(1.7rem,2.4vw,2.25rem);line-height:1.15;color:#f2f0e9;margin:30px 0 12px}.icon-editorial{margin:30px 0 40px}.icon-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.icon-editorial-grid a{display:block;overflow:hidden;background:#252523}.icon-editorial-grid img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;transition:transform .25s ease}.icon-editorial-grid a:hover img{transform:scale(1.035)}.icon-editorial figcaption{margin-top:10px;color:#aaa89f;font-size:.78rem;letter-spacing:.04em}@media(max-width:600px){.icon-editorial-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}.icon-editorial-grid a{flex:0 0 74%;scroll-snap-align:start}.icon-editorial-grid a:last-child{margin-right:1px}}@media(prefers-reduced-motion:reduce){.icon-editorial-grid img{transition:none}}.story-copy .story-signature{color:#e4f222;font-size:.92rem;letter-spacing:.02em;margin:0 0 26px}.concept-film{margin-top:26px;padding:20px 0 24px;border-top:1px solid #ffffff3b;border-bottom:1px solid #ffffff3b}.concept-film-label{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.concept-film p{margin:8px 0 2px;color:var(--ink);font-size:1rem}.concept-film small{display:block;margin:0 0 18px;color:var(--muted);font-size:.82rem}.concept-film-player{width:min(100%,355px);aspect-ratio:9/16;background:#080908;border:1px solid #ffffff30;overflow:hidden}.concept-film-player iframe{display:block;width:100%;height:100%;border:0}.visit{padding:85px 7% 105px;background:#252720;display:flex;align-items:end;justify-content:space-between;gap:30px}.visit p{color:#d2d0c9;margin:0}.visit .address-link{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.visit .address-link:hover{color:var(--gold)}.visit .details{max-width:570px}.visit .button{flex:none}footer{padding:30px 7%;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#bab7ae;letter-spacing:.07em}footer a{text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.at-a-glance{grid-template-columns:repeat(2,1fr);gap:24px}.questions{display:block;padding:70px 7%}.answers{margin-top:25px}header{height:75px;padding:0 6%}.brand{font-size:1.35rem}.brand small{font-size:.46rem}.header-link{font-size:.66rem}.hero{display:flex;flex-direction:column-reverse}.hero-image{min-height:350px}.hero-copy{padding:55px 7% 68px}.hero h1{font-size:clamp(3.4rem,13vw,5.5rem);margin:15px 0}.intro{display:block;padding:70px 7%}.story{display:block;padding:70px 7%}.story-copy{margin-top:22px}.intro-copy{margin-top:22px}.visit{padding:70px 7%;display:block}.visit .button{margin-top:30px}footer{flex-direction:column}.image-note{right:20px;bottom:20px}}@media(max-width:420px){.at-a-glance{grid-template-columns:1fr 1fr;gap:17px}.at-a-glance strong{font-size:1rem}.hero-image{min-height:300px}.button{width:100%;gap:10px}.hero p{font-size:1rem}}

.nav{display:flex;align-items:center;gap:19px}.nav a{font-size:.78rem;letter-spacing:.08em;white-space:nowrap}.nav a:hover,.page-footer a:hover{color:var(--gold)}
.hero-actions,.booking-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.text-link{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px;font-size:.88rem}
.difference,.reviews,.gallery,.paths,.booking{padding:88px 7%;border-top:1px solid #ffffff22}
.difference h2,.reviews h2,.gallery h2,.paths h2,.booking h2{font-size:clamp(2.8rem,4.3vw,5rem);margin:18px 0 30px}
.difference-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.difference article{border-top:1px solid #E4F22266;padding:20px 15px 14px 0}
.difference article span{color:var(--gold);letter-spacing:.2em;font-size:.8rem}.difference h3,.paths h3{font-family:Italiana,Georgia,serif;font-size:1.9rem;line-height:1.2;font-weight:400;margin:12px 0}
.difference p,.section-lead,.path-card p,.review-card p,.sub-copy{color:#d2d0c9}.difference p{max-width:540px;margin:0}.difference .closing{font-family:Italiana,Georgia,serif;font-size:1.8rem;color:var(--gold);margin:30px 0 0}
.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.gallery figure{margin:0}.gallery img{width:100%;height:340px;object-fit:cover;display:block}.gallery figcaption{font-size:.85rem;color:#ccc8bd;margin-top:10px}
.reviews-grid,.paths-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-card,.path-card{border:1px solid #ffffff30;padding:25px;min-height:220px}.review-card .stars{display:block}.review-card p{font-size:1rem;line-height:1.6}.review-card small{color:#bdb7aa}.review-card a,.path-card a{border-bottom:1px solid var(--gold);text-underline-offset:4px}.review-card a:hover,.path-card a:hover{color:var(--gold)}
.paths-grid{grid-template-columns:repeat(4,1fr)}.path-card{display:flex;flex-direction:column}.path-card p{flex:1}.path-card a{width:max-content;font-size:.84rem}
.booking{background:#252720}.booking p{color:#d2d0c9}.booking-actions{margin:24px 0}.booking .button{margin:0}
.page-hero{padding:82px 7% 55px;border-bottom:1px solid #ffffff22}.page-hero h1{font-family:Italiana,Georgia,serif;font-size:clamp(3.4rem,6vw,6.3rem);font-weight:400;line-height:1.07;max-width:900px;margin:22px 0}.page-hero p{font-size:1.08rem;color:#d2d0c9;max-width:730px}
.page-body{padding:50px 7% 90px;max-width:1050px}.page-body h2{font-family:Italiana,Georgia,serif;font-weight:400;font-size:2.8rem;margin:30px 0 14px}.page-body p,.page-body li{font-size:1.05rem;color:#d2d0c9}.page-body .button{margin-top:20px}.feature-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0 35px}.feature-list div{border-top:1px solid var(--gold);padding-top:14px}.feature-list strong{display:block;color:var(--ink);font-weight:500}.feature-list p{font-size:.95rem;margin:8px 0}
.calendar-switch{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0 25px}.calendar-switch a{border:1px solid #E4F22288;padding:11px 17px;font-size:.9rem}.calendar-switch a:hover{background:#E4F222;color:#151714}
.calendar-panel{background:#fafafa;color:#151714;padding:10px;min-height:770px}.calendly-inline-widget{min-width:320px;height:760px}.calendar-fallback{margin:12px 0 0}.calendar-fallback a{text-decoration:underline;text-decoration-color:var(--gold)}
.page-footer{border-top:1px solid #ffffff22;padding:35px 7%;display:flex;gap:15px 28px;flex-wrap:wrap;align-items:center;font-size:.85rem;color:#c7c2b7}.page-footer span{margin-right:auto}
@media(max-width:1000px){.nav{gap:12px}.nav a{font-size:.7rem}.paths-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){header{height:auto;min-height:75px;gap:16px;align-items:flex-start;flex-direction:column;padding-top:20px;padding-bottom:20px}.nav{width:100%;flex-wrap:wrap;justify-content:flex-start}.difference,.reviews,.gallery,.paths,.booking{padding:68px 7%}.difference-grid,.reviews-grid,.gallery-grid{grid-template-columns:1fr}.gallery img{height:300px}.feature-list{grid-template-columns:1fr}.page-hero{padding-top:65px}.page-body{padding-top:25px}}
@media(max-width:500px){.nav{justify-content:flex-start}.nav a{font-size:.76rem}.brand{flex:none}.paths-grid{grid-template-columns:1fr}.hero-actions .button{width:100%}.calendar-panel{margin:0 -7vw;padding:0}.calendly-inline-widget{height:730px}}

/* Fragrance Atelier fluorescent yellow identity */
header{border-bottom-color:#E4F22255}.brand{color:var(--gold)}.header-link{color:var(--gold)}.brand small{color:var(--ink)}

/* The masthead uses the same signature yellow as the booking banner. */
header{background:var(--gold);color:#171a17;border-bottom:0}
header .brand,header .brand small,header .nav a,header .header-link{color:#171a17}
header .brand{display:inline-block;white-space:nowrap}
header .header-link{border-bottom-color:#171a17}
header a:focus-visible{outline-color:#171a17}
header .nav a:hover,header .brand:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:800px){header{align-items:center;text-align:center;gap:18px;padding-top:24px;padding-bottom:18px}header .brand{font-size:clamp(1.45rem,6vw,2rem)}header .nav{justify-content:center;gap:10px 16px}header .nav a{font-size:.72rem}header .brand small{font-size:.58rem}}

/* Double the lettering throughout the fluorescent yellow masthead. */
header{height:auto;min-height:92px;flex-direction:column;justify-content:center;gap:24px;padding-top:26px;padding-bottom:26px;text-align:center}
header .brand{font-size:3.6rem;white-space:normal;line-height:1.08}
header .brand small{font-size:1.2rem;line-height:1.35;letter-spacing:.22em}
header .nav{justify-content:center;flex-wrap:wrap;gap:14px 28px}
header .nav a{font-size:1.56rem;line-height:1.3}
header .header-link{font-size:1.6rem;line-height:1.3}
@media(max-width:800px){header{gap:20px}header .brand{font-size:2.9rem}header .brand small{font-size:1.16rem}header .nav{gap:12px 20px}header .nav a{font-size:1.44rem}header .header-link{font-size:1.44rem}}

/* Shared navigation, editorial additions and accessible touch targets. */
.menu-toggle{display:none;background:transparent;color:#171a17;border:1px solid #171a17;font:600 1rem 'DM Sans',Arial,sans-serif;min-width:96px;min-height:44px;cursor:pointer}
header .nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.page-footer a{display:inline-flex;align-items:center;min-height:44px}
.hero-meta{margin:16px 0 0!important;font-size:.89rem!important;color:#e9e9dc!important}
.why-different,.complementary{padding:80px 7%;border-top:1px solid #ffffff22}
.why-different h2,.complementary h2{font-size:clamp(2.8rem,4.3vw,5rem);margin:18px 0 30px}
.why-different .feature-list{margin:0}.why-different .feature-list strong{font-size:1.14rem}
.complementary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.complementary article{border:1px solid #ffffff30;padding:25px}.complementary h3{font-size:1.2rem;font-weight:500;margin:0 0 8px}.complementary p{color:#d2d0c9;max-width:680px}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery img{width:100%;height:280px;object-fit:cover}
.gallery-placeholder{min-height:280px;border:1px dashed #9c9c8f;display:flex;align-items:center;justify-content:center;text-align:center;color:#c7c2b7;padding:20px}
.page-photo{display:block;width:min(100%,680px);height:260px;object-fit:cover;object-position:center 32%;margin-top:30px}
.reorder-collection-photo{width:min(100%,1000px);height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}
.offer-detail{color:var(--ink)!important;font-weight:600}.deck-placeholder{border-left:2px solid var(--gold);padding-left:16px}
.review-card small{display:block;margin-top:18px}.review-card p{overflow-wrap:anywhere}
@media(max-width:800px){header{position:relative;gap:12px}header .brand{max-width:100%;overflow-wrap:normal}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}header .nav{display:none;width:100%;flex-direction:column;gap:0}header.menu-open .nav{display:flex}header .nav a{font-size:1rem;width:100%;min-height:48px;padding:8px 14px;border-top:1px solid #171a1730}header .header-link{font-size:1rem!important}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery img,.gallery-placeholder{height:220px;min-height:220px}.complementary-grid{grid-template-columns:1fr}.why-different,.complementary{padding:68px 7%}}
@media(max-width:420px){header .brand{font-size:2.4rem}header .brand small{font-size:1rem}.gallery img,.gallery-placeholder{height:190px;min-height:190px}}

/* Conversion refinement: preserve the fluorescent identity and bring booking into view. */
header{min-height:0;gap:10px;padding:14px 5.5% 12px}
header .brand{font-size:2.35rem;line-height:1}
header .brand small{font-size:.7rem;margin-top:5px;letter-spacing:.2em}
header .nav{gap:4px 24px}
header .nav a{font-size:.87rem;min-height:38px}
header .header-link{font-size:.87rem;padding:3px 0}
.hero{min-height:570px;grid-template-columns:48% 52%}
.hero-copy{padding:38px 8% 42px 10%}
.hero h1{font-size:clamp(3.1rem,4.9vw,5.2rem);line-height:1.02;margin:16px 0}
.hero p{font-size:1.02rem;margin-bottom:20px}
.hero-meta{margin:13px 0 0!important}
.hero-image{min-height:570px}
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){header{padding:17px 6%;gap:8px}header .brand{font-size:2rem}header .brand small{font-size:.62rem}header .nav a{font-size:1rem;min-height:48px}.hero{min-height:0}.hero-copy{padding:38px 7% 48px}.hero h1{font-size:clamp(3rem,10vw,4.4rem)}.hero-image{min-height:340px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){header .brand{font-size:1.8rem}header .brand small{font-size:.58rem}.hero h1{font-size:3rem}}

/* Hotel partnership cover */
.hotel-cover{margin:34px 0 0;width:100%}.hotel-cover img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover}.hotel-cover figcaption{margin-top:9px;color:#bdb7aa;font-size:.8rem;letter-spacing:.02em}
@media(max-width:600px){.hotel-cover{margin-top:26px}.hotel-cover img{aspect-ratio:4/3;object-position:48% center}}

/* Three stages of the atelier experience */
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-grid img{height:clamp(320px,32vw,440px);object-fit:cover;object-position:center 42%}.gallery-grid figure:last-child img{object-position:center 60%}
@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery-grid img{height:300px}}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-grid img{height:auto;aspect-ratio:4/5}.gallery-grid figure:last-child img{object-position:center 57%}}

/* Keep the mobile cover photograph first while making booking immediately available. */
.hero-image .mobile-cover-book{display:none}
@media(max-width:800px){.hero-image .mobile-cover-book{display:inline-flex;position:absolute;left:7%;bottom:24px;z-index:2;min-height:48px;box-shadow:0 8px 28px #0007}.hero-image .image-note{bottom:auto;top:20px;right:7%;text-shadow:0 1px 8px #0008}}
@media(max-width:420px){.hero-image .mobile-cover-book{left:7%;width:auto;padding:14px 22px}}

/* Mobile hero: prevent horizontal drift and keep the headline inside the viewport. */
@media(max-width:800px){html,body{max-width:100%;overflow-x:clip}.hero,.hero-copy,.hero h1{min-width:0;max-width:100%}}
@media(max-width:420px){.hero h1{font-size:clamp(2.35rem,10.5vw,2.8rem);line-height:1.08}}

/* Four-image editorial gallery */
@media(min-width:801px){.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:601px) and (max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gallery-grid figure:last-child img{object-position:center center}

.gift-card-photo{width:min(100%,900px);height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}

.group-workshop-photo{width:min(100%,1000px);height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}

/* Story stays available without interrupting the booking path. */
.story>div:first-child{align-self:start;position:sticky;top:28px}.story-prompt{margin:14px 0 0;color:#d2d0c9;font-size:1rem}.story-prompt a{display:inline-block;color:var(--gold);text-decoration:underline;text-underline-offset:5px}.story-prompt a:hover{color:#f2ff57}@media(max-width:800px){.story>div:first-child{position:static}}

#story-title{scroll-margin-top:75px}.story-copy p a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}.story-copy p a:hover{color:var(--gold)}

/* Press resources */
.press-photo{object-position:center 47%}.page-body .text-link{color:var(--ink)}

/* Focused updates to existing page system */
.instagram-footer{display:inline-flex;align-items:center;gap:7px}.instagram-footer svg{flex:none}
.film-feature{padding:42px 7% 68px;border-top:1px solid #ffffff22}.film-feature .concept-film{max-width:780px;margin:0 auto}
.story-short-chapter h3{margin-top:28px}.story-details{margin-top:30px}.story-details summary{display:inline-block;cursor:pointer;color:var(--gold);text-decoration:underline;text-underline-offset:5px;font-size:1rem}.story-details summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.story-full{padding-top:28px}.story-copy:has(.story-details[open]) .story-short{display:none}
.process-list{padding-left:1.4rem;color:#d2d0c9}.process-list li{padding:6px 0 12px}.review-line{border-top:1px solid var(--gold);padding-top:18px;color:var(--ink)!important;font-weight:600}
.hotel-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px;max-width:760px;margin-top:28px}.hotel-form label{display:flex;flex-direction:column;gap:7px;font-size:.92rem;color:var(--ink)}.hotel-form input,.hotel-form textarea{width:100%;border:1px solid #777b70;background:#f4f2eb;color:#171a17;padding:12px;font:inherit;border-radius:0}.hotel-form label:nth-child(6){grid-column:span 2}.hotel-form button{border:0;cursor:pointer;margin-top:5px}.form-note{font-size:.89rem!important;color:#c6c9bf!important}@media(max-width:650px){.hotel-form{grid-template-columns:1fr}.hotel-form label:nth-child(6){grid-column:auto}}

/* Keep the booking details and calendar ahead of editorial imagery. */
.booking-hero{padding-top:38px;padding-bottom:32px}.booking-hero h1{font-size:clamp(2.4rem,4.5vw,4.5rem);max-width:850px}.booking-hero .button{max-width:100%;font-size:.875rem;letter-spacing:.08em;white-space:normal;text-align:center}#individual{scroll-margin-top:24px}
