/* Editorial design system. Every surface owns its foreground colours. */
:root{--surface-light:#f5f1e9;--surface-paper:#fffdf8;--surface-dark:#10232b;--surface-deep:#0b1921;--surface-navy:#1f2545;--text-on-light-primary:#172c33;--text-on-light-secondary:#4c5b5e;--text-on-dark-primary:#fffdf8;--text-on-dark-secondary:#c1cdd0;--brand-aqua:#17e4db;--brand-cyan:#28c6db;--brand-sky:#44a4e3;--brand-blue:#4779d7;--brand-gold:#d6bb69;--gold-deep:#b58d16;--gold-light:#e8cd7e;--accent-light:#196862;--accent-dark:#82e5dc;--border-light:#c8cdca;--border-dark:#49616a;--surface:var(--surface-light);--ink:var(--text-on-light-primary);--muted:var(--text-on-light-secondary);--accent:var(--accent-light);--line:var(--border-light);--font-body:"Avenir Next",Avenir,"Segoe UI",Helvetica,Arial,sans-serif;--font-display:"Cormorant Garamond",Georgia,serif;--font-brand:"Katibeh",Georgia,serif;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4.5rem;--space-7:6rem;--space-8:9rem;--gutter:clamp(20px,5vw,88px);--container:1440px;--section-space:clamp(64px,8vw,128px);--header-height:92px;--radius:3px;--ease:cubic-bezier(.22,.68,.18,1);--duration-fast:180ms;--duration-base:320ms;--duration-reveal:700ms}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px);background:var(--surface-deep)}body{margin:0;background:var(--surface);color:var(--ink);font:16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img,video{display:block;max-width:100%}svg{display:block}figure,p{margin:0}p+p{margin-top:1.1em}ul{padding-left:1.2em}li+li{margin-top:.5em}::selection{background:var(--brand-aqua);color:var(--surface-deep)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:12px;z-index:500;padding:12px 20px;background:var(--surface-paper);color:var(--text-on-light-primary);transform:translateY(-160%)}.skip-link:focus{transform:none}
.surface-dark,.footer,#header,.mobile-panel{--surface:var(--surface-dark);--ink:var(--text-on-dark-primary);--muted:var(--text-on-dark-secondary);--accent:var(--accent-dark);--line:var(--border-dark);color:var(--ink);background:var(--surface)}.surface-light,.section.split:not(.reviews-wrap){--surface:var(--surface-light);--ink:var(--text-on-light-primary);--muted:var(--text-on-light-secondary);--accent:var(--accent-light);--line:var(--border-light);color:var(--ink);background:var(--surface)}
h1,h2,h3{margin:0;color:var(--ink);font-weight:500}h1,h2,.section-title{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(52px,6.8vw,108px);line-height:1.04}h2,.section-title{font-size:clamp(40px,4.6vw,72px);line-height:1.07}h3{font-size:22px;line-height:1.3}em{font-weight:500;color:var(--accent);font-family:var(--font-display)}strong,b{color:var(--ink)}p{color:var(--muted)}.eyebrow,.kicker{font:600 11px/1.6 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 20px}.eyebrow:before{content:none}.section{max-width:var(--container);margin:auto;padding:var(--section-space) var(--gutter)}.section-title{margin-bottom:28px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:44px}.section-heading .section-title{margin:0}.section-heading p{max-width:360px}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,112px);align-items:start}.copy{font-size:17px;line-height:1.8;color:var(--muted)}.copy strong{color:var(--ink)}.copy a,.legal a{text-decoration:underline;text-underline-offset:4px}
.arrow{width:20px;height:20px;stroke:currentColor;stroke-width:1.4;fill:none;flex:none;transition:transform var(--duration-base) var(--ease)}.actions{display:flex;gap:18px 26px;align-items:center;flex-wrap:wrap;margin-top:32px}.primary,.pill{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:54px;padding:14px 24px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--surface);font-size:13px;font-weight:600;transition:background var(--duration-fast),color var(--duration-fast),transform var(--duration-fast)}.primary:hover,.pill:hover{background:var(--accent);border-color:var(--accent);color:var(--surface)}.primary:hover .arrow,.textlink:hover .arrow{transform:translateX(4px)}.primary:active{transform:translateY(2px)}.textlink,.review-link{display:inline-flex;gap:18px;align-items:center;min-height:44px;font-size:14px;font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-color:var(--line);transition:color var(--duration-fast)}.textlink:hover,.review-link:hover{color:var(--accent);text-decoration-color:currentColor}
/* Static shared navigation; JS adds mobile interaction only. */
#header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:var(--header-height);padding:14px var(--gutter);transition:box-shadow var(--duration-base),background var(--duration-base)}#header.scrolled{background:var(--surface-deep);box-shadow:0 8px 30px #07171d18}.brand{display:flex;align-items:center;gap:12px;flex:none}.brand img{width:58px;height:48px;object-fit:contain}.brand>span{font:28px/1.1 var(--font-brand);padding-top:5px;white-space:nowrap}.brand small{display:block;font:8px/1.5 var(--font-body);letter-spacing:.18em;margin-top:3px}.desktop-nav{display:flex;gap:clamp(16px,1.6vw,28px)}.desktop-nav a{position:relative;padding:12px 0;font-size:13px;color:var(--muted)}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-base)}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--ink)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-cta{min-height:46px;font-size:12px;gap:16px;padding:10px 18px;background:transparent;color:var(--ink);border-color:var(--line)}.menu{display:none;align-items:center;gap:12px;min-height:46px;background:none;border:0;color:var(--ink);padding:6px 0;font-size:12px}.menu i{width:24px;height:9px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.mobile-panel{position:fixed;inset:0;z-index:150;padding:24px var(--gutter) 36px;visibility:hidden;opacity:0;overflow:auto;overscroll-behavior:contain;transition:opacity var(--duration-base),visibility var(--duration-base)}.mobile-panel.open{visibility:visible;opacity:1}.mobile-top{display:flex;align-items:center;justify-content:space-between}.mobile-top .eyebrow{margin:0}.menu-close{border:0;background:none;color:var(--ink);padding:10px;font-size:13px;display:flex;align-items:center;gap:20px}.menu-close span{font:32px/1 var(--font-body)}.mobile-panel nav{margin:28px 0;display:flex;flex-direction:column}.mobile-panel nav a{font:500 clamp(28px,6vw,44px)/1.2 var(--font-display);padding:12px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.mobile-panel nav a[aria-current]{color:var(--accent)}.mobile-contact{display:flex;flex-direction:column;gap:14px;font-size:14px}.mobile-contact>a{min-height:36px}.mobile-contact .social-links{margin-top:12px}
/* Deliberately abstract brand art, never a simulated client event. */
.media-frame{position:relative;aspect-ratio:var(--media-ratio,4/5);overflow:hidden;isolation:isolate;background:var(--surface-navy)}.media-fallback{position:absolute;inset:0;background:url('atelier.svg') center/cover no-repeat;transition:transform 1.2s var(--ease)}.media-frame>img,.media-frame>video,.media-frame>picture,.media-frame>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--media-position,center);transition:transform 1.2s var(--ease)}.media-cream .media-fallback{filter:sepia(.85) saturate(.45);background-position:60% 38%}.media-blue .media-fallback{background-position:80% 65%;background-size:150%;transform:scale(1.02)}.media-detail .media-fallback{background-position:20% 85%;background-size:180%}.art-monogram{position:absolute;inset:20% 0 auto;text-align:center;font:italic 500 clamp(110px,18vw,290px)/1 var(--font-display);letter-spacing:-.1em;color:#fffdf8c9;transform:translateX(-.04em)}.art-monogram span{display:inline-block;transform:translateY(.35em);font-style:normal}.art-label{position:absolute;left:24px;bottom:26px;right:24px;color:#fffdf8;font-size:10px;font-weight:600;letter-spacing:.18em;text-align:center;text-transform:uppercase}.media-frame.has-media .media-fallback{display:none}a:hover .media-frame>img,a:hover .media-frame>picture>img{transform:scale(1.035)}a:hover .media-fallback{transform:scale(1.035)}a:hover .media-blue .media-fallback{transform:scale(1.055)}
/* Flagship homepage */
.home-stage{max-width:1680px;margin:0 auto;position:relative;display:grid;grid-template-columns:1.02fr 1fr;min-height:720px;background:var(--surface-light)}.home-intro{padding:clamp(54px,6vw,96px) 36px 50px var(--gutter);z-index:2;align-self:center}.home-intro .eyebrow{max-width:360px}.home-intro h1{font-size:clamp(68px,7.7vw,122px);letter-spacing:-.045em;line-height:.98;max-width:740px;margin-bottom:30px}.home-intro h1 em{display:block}.home-intro>p:not(.eyebrow){max-width:445px;font-size:16px}.home-stage>.media-frame{margin:24px 24px 24px 0;min-height:650px;aspect-ratio:auto}.home-stage .art-label{bottom:38px}.hero-index{font-size:10px;letter-spacing:.13em;color:var(--muted);margin-top:48px}.intro-band{max-width:var(--container);margin:auto;padding:42px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:32px}.intro-band p{max-width:610px;font-size:22px;line-height:1.55;color:var(--ink)}.intro-band .eyebrow{max-width:180px;margin:0;flex:none}
.feature-editorial{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}.feature-editorial>.media-frame{aspect-ratio:4/5}.feature-editorial h2{margin-bottom:26px}.feature-editorial .feature-copy>p{max-width:420px}.feature-index{display:grid;margin-top:34px}.feature-index a{display:grid;grid-template-columns:32px 1fr 20px;gap:20px;align-items:center;border-top:1px solid var(--line);padding:21px 0}.feature-index a:last-child{border-bottom:1px solid var(--line)}.feature-index small{color:var(--accent);font-size:11px}.feature-index h3{font:500 29px/1.2 var(--font-display)}.feature-index a:hover .arrow{transform:translateX(5px)}.occasion-section{background:var(--surface-paper)}.occasion-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px 7vw}.occasion-feature:nth-child(even){padding-top:90px}.occasion-feature .media-frame{aspect-ratio:4/3}.occasion-feature:nth-child(even) .media-frame{aspect-ratio:4/5}.occasion-caption{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:24px}.occasion-caption h3{font:500 40px/1.1 var(--font-display)}.occasion-caption p{font-size:13px;margin-top:10px;max-width:410px}.occasion-caption .arrow{width:28px;height:28px}.occasion-links{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:54px}.occasion-links>a{padding:24px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.occasion-links h3{font:500 30px/1.2 var(--font-display)}.occasion-links p{font-size:13px;margin-top:8px}
.guest-feature{display:grid;grid-template-columns:1fr 1.15fr;gap:7vw;align-items:center}.guest-feature .media-stack{position:relative;padding:0 0 60px}.media-stack .media-frame:first-child{aspect-ratio:4/3}.media-stack .media-frame:last-child{position:absolute;width:36%;bottom:0;right:-20px;aspect-ratio:4/5;border:10px solid var(--surface-light)}.guest-feature h2{margin-bottom:26px}.guest-feature p{max-width:430px}.guest-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.guest-tags a{border:1px solid var(--line);padding:7px 14px;font-size:12px}.guest-tags a:hover{background:var(--surface-paper)}.gallery-sequence{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:24px;align-items:center;margin-top:46px}.gallery-sequence .media-frame:nth-child(2){aspect-ratio:3/2}.gallery-sequence .media-frame:nth-child(3){aspect-ratio:1}.gallery-note{display:flex;justify-content:space-between;gap:24px;margin-top:30px;font-size:13px}.gallery-note p{max-width:510px}.trust-editorial{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}.trust-points{display:grid;gap:28px}.trust-points>div{display:grid;grid-template-columns:32px 1fr;gap:22px}.trust-points small{color:var(--accent);font-size:12px;padding-top:3px}.trust-points h3{font-size:17px;margin-bottom:8px}.trust-points p{font-size:14px}.review-link{margin-top:28px}
/* Shared service, package and editorial content system. */
.hero,.hero-mini{max-width:var(--container);margin:auto;padding:72px var(--gutter) 68px;position:relative}.hero-copy{max-width:800px}.hero h1,.hero-mini h1{margin-bottom:26px}.hero .lead,.hero-mini p:not(.eyebrow){max-width:710px;font-size:18px;line-height:1.7}.hero-art,.bg-word,.noise,.orb{display:none}.service-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.service-hero:not(:has(>.media-frame)){display:block}.service-hero .media-frame{aspect-ratio:4/3}.hero-mini.with-media{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center}.hero-mini.with-media>.media-frame{aspect-ratio:4/3}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:var(--muted);margin-bottom:24px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}.service-card{display:block;padding:32px 0;border-top:1px solid var(--line)}.service-num{color:var(--accent);font-size:12px;margin-bottom:18px}.service-copy small,.card small{display:block;color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px}.service-copy h3,.card h3{font:500 34px/1.12 var(--font-display);margin-bottom:14px}.service-copy p,.card p{font-size:14px;line-height:1.75}.service-art{display:none}.service-card:hover h3,.card[href]:hover h3{color:var(--accent)}.service-card>.media-frame{margin-bottom:22px;aspect-ratio:4/3}.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}.card{padding:28px;background:var(--surface-paper);border:1px solid var(--line)}.span3{grid-column:span 3}.span4{grid-column:span 4}.span6{grid-column:span 6}.span8{grid-column:span 8}.span12{grid-column:1/-1}.card.visual{padding:0;min-height:320px}.media-slot{min-height:320px;background:url('atelier.svg') center/cover;display:grid;place-items:center}.media-slot span{padding:14px;background:var(--surface-dark);color:var(--text-on-dark-primary)}.media-caption{padding:28px}.list{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}.row>span{color:var(--accent);font-size:14px}.row h3{font-size:18px}.row p{font-size:14px;margin-top:8px}.notice{background:var(--surface-paper);color:var(--muted);font-size:13px;padding:20px 24px;border-left:2px solid var(--accent)}.quote-panel{padding:clamp(28px,5vw,72px);background:var(--surface-dark);--ink:var(--text-on-dark-primary);--muted:var(--text-on-dark-secondary);--accent:var(--accent-dark);--surface:var(--surface-dark);--line:var(--border-dark);color:var(--ink)}.quote-panel h2{margin-bottom:24px}.quote-panel p{max-width:650px}.price-summary{font:500 35px/1.2 var(--font-display);color:var(--ink);margin:24px 0}.price-summary small{display:block;font:12px/1.6 var(--font-body);color:var(--muted);margin-top:8px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.price-option{padding:26px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background var(--duration-base)}.price-option:hover{background:var(--surface-paper)}.price-option h3{font-size:13px;color:var(--muted)}.price-option strong{display:block;font:500 43px/1.2 var(--font-display);margin-top:14px}.inclusions-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.related-grid a{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.related-grid h3{font:500 28px/1.15 var(--font-display)}
/* Native details maintain keyboard and screen-reader behaviour without JS. */
.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.faq-section>div>p:not(.eyebrow){max-width:320px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:25px 0;cursor:pointer;list-style:none;font-size:17px;line-height:1.5}summary::-webkit-details-marker{display:none}.faq-toggle{font-size:27px;flex:none;width:30px;text-align:center;color:var(--accent);transition:transform var(--duration-fast)}details[open] .faq-toggle{transform:rotate(45deg)}.faq-answer{padding:0 52px 26px 0;font-size:15px}.faq-answer p{max-width:620px}details[open] .faq-answer{animation:answer-in 240ms var(--ease)}.legal{max-width:940px;padding-top:24px}.legal h2{font-size:36px;margin:48px 0 20px}.legal h3{font-size:20px;margin:32px 0 14px}.legal p,.legal li{color:var(--muted);font-size:16px}.legal .warning{background:var(--surface-paper);padding:24px;border-left:2px solid var(--accent)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.contact-options{display:grid;gap:16px}.contact-option{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 24px;gap:8px 20px;align-items:center}.contact-option small{color:var(--accent);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.contact-option strong{font:500 clamp(24px,2.6vw,38px)/1.2 var(--font-display);overflow-wrap:anywhere}.contact-option .arrow{grid-column:2;grid-row:1/3}.enquiry-workspace{min-width:0}.steps{list-style:none;padding:0;counter-reset:steps}.steps li{counter-increment:steps;display:grid;grid-template-columns:28px 1fr;gap:16px;margin:20px 0}.steps li:before{content:"0" counter(steps);font-size:11px;color:var(--accent);padding-top:4px}.steps strong{display:block;font-size:15px}.steps p{font-size:14px;margin-top:6px}
/* Future form support; no form or endpoint is activated. */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label,legend{font-size:13px;color:var(--ink)}.field input,.field select,.field textarea{width:100%;min-height:50px;border:1px solid var(--line);background:var(--surface-paper);color:var(--ink);padding:12px 14px;font-size:16px}.field textarea{min-height:140px}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);font-size:14px}.check input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:0;accent-color:var(--accent)}
.closing{display:grid;grid-template-columns:1.15fr 1fr;min-height:500px;align-items:stretch}.closing-copy{padding:clamp(48px,7vw,104px) var(--gutter)}.closing h2{font-size:clamp(48px,5.5vw,86px);margin-bottom:24px}.closing-copy>p:not(.eyebrow){max-width:440px;font-size:15px}.closing .primary{margin-top:30px}.closing>.media-frame{aspect-ratio:auto;min-height:420px}.closing .media-fallback{opacity:.8}.footer{background:var(--surface-deep);padding:72px var(--gutter) 28px}.footer-grid{max-width:calc(var(--container) - var(--gutter)*2);margin:auto;display:grid;grid-template-columns:1.3fr .65fr 1.3fr .7fr;gap:48px}.wordmark{font:36px/1.2 var(--font-brand)}.footer-brand p{font-size:14px;margin:18px 0}.footer h2{font:600 11px/1.6 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 22px}.footer-explore,.footer-legal{display:flex;flex-direction:column;align-items:start}.footer-explore>a,.footer-legal>a{font-size:13px;min-height:34px;color:var(--muted)}.footer a:hover{color:var(--accent)}.footer-contact>a:not(.textlink){display:block;margin-bottom:22px}.footer-contact span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.footer-contact strong{font-size:15px;font-weight:500;overflow-wrap:anywhere}.footer-contact>a:first-of-type strong{font-size:24px}.footer .textlink{font-size:12px}.social-links{display:flex;gap:10px}.social-links a{height:44px;width:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.social-links svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.social-links a:hover{background:var(--accent);color:var(--surface-dark);transform:translateY(-3px)}.footer-legal{margin-top:30px}.foot-bottom{max-width:calc(var(--container) - var(--gutter)*2);margin:60px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:11px}.foot-bottom a{min-height:30px}
/* Service discovery and occasion editorial modules. */
.catalogue-layout{display:grid;grid-template-columns:240px 1fr;gap:7vw;padding-top:48px}.catalogue-nav{position:sticky;top:calc(var(--header-height) + 40px);align-self:start}.catalogue-nav nav{display:flex;flex-direction:column;align-items:start;gap:4px}.catalogue-nav nav a{min-height:44px;padding:8px 0;color:var(--ink);font-size:15px}.catalogue-nav nav a:hover{color:var(--accent)}.catalogue-nav>p:last-child{font-size:13px;margin-top:24px;max-width:220px}.catalogue-group{margin-bottom:64px;scroll-margin-top:calc(var(--header-height) + 30px)}.catalogue-group:last-child{margin-bottom:0}.catalogue-heading{margin-bottom:28px}.catalogue-heading h2{font-size:clamp(30px,3.2vw,48px);max-width:600px}.catalogue-item{display:grid;grid-template-columns:30px 1fr 24px;gap:22px;align-items:start;padding:25px 0;border-top:1px solid var(--line)}.catalogue-item:last-child{border-bottom:1px solid var(--line)}.catalogue-number{font-size:11px;color:var(--accent);padding-top:8px}.catalogue-item h3{font:500 30px/1.2 var(--font-display);margin-bottom:8px}.catalogue-item p{font-size:14px;max-width:540px}.catalogue-item>.arrow{margin-top:8px}.catalogue-item:hover h3{color:var(--accent)}.catalogue-item:hover>.arrow{transform:translateX(5px)}.occasion-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:7vw;align-items:end}.occasion-intro h1{font-size:clamp(50px,5.8vw,88px)}.occasion-intro p:not(.eyebrow){font-size:16px}.occasion-hero-media{max-width:calc(1680px - var(--gutter)*2);margin:0 var(--gutter)}.occasion-hero-media .media-frame{aspect-ratio:21/9;max-height:630px}.occasion-hero-media .media-fallback{background-size:100%;background-position:50% 38%}.occasion-story>.media-frame{max-height:580px}.occasion-story h2{margin-bottom:28px}.occasion-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}.occasion-service-grid .catalogue-item:last-child{border-bottom:0}
@media(min-width:1680px){.occasion-hero-media{margin-inline:auto}}
@media(max-width:960px){.catalogue-layout{grid-template-columns:180px 1fr;gap:40px}.occasion-intro{grid-template-columns:1fr;gap:24px}.occasion-intro h1{max-width:900px}.occasion-intro>div:last-child{max-width:650px}.occasion-service-grid{gap:0 36px}.catalogue-item{gap:16px}}
@media(max-width:700px){.catalogue-layout{grid-template-columns:1fr;gap:38px;padding-top:20px}.catalogue-nav{position:static}.catalogue-nav nav{flex-direction:row;flex-wrap:wrap;gap:0 20px}.catalogue-nav>p:last-child{max-width:450px;margin-top:16px}.catalogue-nav nav a{font-size:13px;text-decoration:underline;text-underline-offset:5px}.catalogue-group{margin-bottom:48px}.catalogue-item{grid-template-columns:22px 1fr 18px;gap:14px}.catalogue-item h3{font-size:28px}.catalogue-item p{font-size:13px}.occasion-intro h1{font-size:clamp(48px,11vw,66px)}.occasion-hero-media .media-frame{aspect-ratio:3/2}.occasion-story>.media-frame{aspect-ratio:4/3}.occasion-service-grid{grid-template-columns:1fr}.occasion-service-grid .catalogue-item:last-child{border-bottom:1px solid var(--line)}}
.gallery-editorial{padding-top:0}.gallery-composition{display:grid;grid-template-columns:repeat(12,1fr);gap:32px;align-items:start}.gallery-composition>.media-frame:nth-child(1){grid-column:1/9}.gallery-composition>.media-frame:nth-child(2){grid-column:10/13;margin-top:120px}.gallery-composition>.media-frame:nth-child(3){grid-column:1/5;margin-top:40px}.gallery-composition>.media-frame:nth-child(4){grid-column:6/13;margin-top:90px}.gallery-composition>.media-frame:nth-child(5){grid-column:2/6}.gallery-composition>.media-frame:nth-child(6){grid-column:7/13;margin-top:110px}.event-brief{background:var(--surface-paper);padding:36px;align-self:start}.event-brief h2{font-size:42px;margin-bottom:28px}.event-brief li,.event-brief>p:last-child{font-size:14px;color:var(--muted)}.event-brief>p:last-child{margin-top:24px}.contact-layout{padding-top:24px}.contact-options{margin-top:36px}.contact-privacy{font-size:12px;margin-top:32px}.contact-privacy a{text-decoration:underline;text-underline-offset:3px}.what-next{border-top:1px solid var(--line)}.legal-layout{max-width:var(--container);margin:auto;display:grid;grid-template-columns:260px 1fr;gap:7vw;padding:0 var(--gutter) var(--section-space)}.legal-index{position:sticky;top:calc(var(--header-height) + 30px);align-self:start}.legal-index nav{display:flex;flex-direction:column;gap:12px}.legal-index a{font-size:13px;line-height:1.5;color:var(--muted)}.legal-index a:hover{color:var(--accent)}.legal-layout>.legal{padding:0;max-width:760px}.legal-layout .legal h2:first-child{margin-top:0}.legal h2{scroll-margin-top:calc(var(--header-height) + 24px)}
@media(max-width:960px){.legal-layout{grid-template-columns:200px 1fr;gap:40px}.gallery-composition{gap:22px}}
@media(max-width:700px){.gallery-composition{grid-template-columns:1fr 1fr;gap:20px}.gallery-composition>.media-frame:nth-child(n){grid-column:auto;margin-top:0}.gallery-composition>.media-frame:nth-child(1),.gallery-composition>.media-frame:nth-child(4),.gallery-composition>.media-frame:nth-child(6){grid-column:1/-1}.gallery-composition>.media-frame:nth-child(3){margin-top:40px}.gallery-composition>.media-frame:nth-child(5){grid-column:1/-1;aspect-ratio:4/3}.event-brief{padding:28px}.contact-layout .enquiry-workspace{grid-row:1}.contact-options{margin-top:28px}.legal-layout{grid-template-columns:1fr;gap:36px}.legal-index{position:static}.legal-index nav{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}.legal-index a{font-size:12px}.legal-layout>.legal{width:100%}}
.footer-controls{display:flex;gap:24px;align-items:start}.motion-toggle{background:none;border:0;color:var(--muted);font:inherit;padding:0;min-height:30px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.motion-toggle:disabled{cursor:default}.motion-toggle:hover{color:var(--accent)}.nojs-menu{display:none;background:var(--surface-dark);color:var(--text-on-dark-primary);padding:0 var(--gutter)}.nojs-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:24px}.nojs-menu nav a{padding:10px;font-size:14px}.nojs-menu summary{padding:18px 0}
html.reduce-motion{scroll-behavior:auto}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.reduce-motion .reveal.is-pending{opacity:1;transform:none}html.reduce-motion .home-stage>.media-frame{clip-path:none}
@media(max-width:960px){.nojs-menu{display:block}}
/* Finite entrance motion; content is visible by default without JavaScript. */
.media-gold .media-fallback{filter:sepia(.65) saturate(.55);background-position:60% 38%}.service-hero h1,.occasion-intro h1{animation:hero-in 900ms var(--ease) both}.service-hero>.media-frame,.occasion-hero-media>.media-frame{animation:media-in 1s var(--ease) both}.related-grid a:hover .arrow{transform:translateX(4px)}
.faq-answer{padding-top:12px}
/* Adjacent light sections share one interval instead of doubling whitespace. */
main>.section+.section,main>.surface-light+.section{padding-top:0}
.reveal{opacity:1;transform:none}.motion-ready .reveal.is-pending{opacity:0;transform:translateY(24px)}.motion-ready .reveal{transition:opacity var(--duration-reveal) var(--ease),transform var(--duration-reveal) var(--ease)}.home-intro h1{animation:hero-in 900ms var(--ease) both}.home-intro .eyebrow{animation:hero-in 650ms var(--ease) both}.home-stage>.media-frame{animation:media-in 1s var(--ease) both}@keyframes hero-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes media-in{from{opacity:.3;clip-path:inset(0 0 8% 0)}to{opacity:1;clip-path:inset(0)}}@keyframes answer-in{from{opacity:.4;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.home-stage{min-height:790px}.home-stage>.media-frame{min-height:710px}.home-intro{padding-left:88px}}
@media(max-width:1200px){.brand>span{font-size:25px}.brand img{width:46px}.desktop-nav{gap:18px}.header-cta{display:none}.footer-grid{grid-template-columns:1.1fr .6fr 1.1fr;gap:40px}.footer-follow{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-follow h2{margin:0}.footer-follow .footer-legal{flex-direction:row;gap:20px;align-items:center;margin:0}.home-intro h1{font-size:clamp(66px,8.2vw,104px)}.home-stage{min-height:650px}.home-stage>.media-frame{min-height:600px}.span3{grid-column:span 6}}
@media(max-width:960px){:root{--header-height:78px}.desktop-nav{display:none}.menu{display:flex}#header{padding-block:10px}.home-stage{min-height:560px}.home-stage>.media-frame{min-height:540px;margin:16px 16px 16px 0}.home-intro{padding-top:46px;padding-bottom:46px}.home-intro h1{font-size:clamp(56px,8.5vw,80px)}.home-intro>p:not(.eyebrow){font-size:15px}.home-intro .actions{gap:12px}.intro-band p{font-size:19px}.service-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:start}.occasion-grid{gap:40px}.feature-editorial,.guest-feature,.service-hero,.hero-mini.with-media{gap:40px}.footer-grid{gap:30px}.footer-contact strong{font-size:13px}.faq-section{gap:40px}.span4{grid-column:span 6}.closing-copy{padding-right:36px}.closing h2{font-size:56px}.closing>.media-frame{min-height:380px}}
@media(max-width:700px){:root{--section-space:64px;--gutter:24px}h1{font-size:clamp(48px,11.6vw,72px)}h2,.section-title{font-size:clamp(38px,9.4vw,56px)}.brand>span{font-size:25px}.brand img{width:45px;height:42px}.brand small{font-size:7px}.brand{gap:8px}.home-stage{display:flex;flex-direction:column;min-height:0}.home-intro{padding:48px var(--gutter) 38px}.home-intro .eyebrow{font-size:9px;max-width:300px;margin-bottom:24px}.home-intro h1{font-size:clamp(59px,14vw,90px);max-width:520px;line-height:1;letter-spacing:-.04em;margin-bottom:24px}.home-intro>p:not(.eyebrow){font-size:15px;max-width:450px}.home-intro .actions{margin-top:28px;gap:12px 22px}.primary{font-size:12px;padding:13px 18px;gap:22px;min-height:50px}.textlink{font-size:13px}.hero-index{display:none}.home-stage>.media-frame{min-height:0;height:auto;aspect-ratio:6/5;margin:0 var(--gutter) 28px}.home-stage .media-fallback{background-position:50% 38%}.home-stage .art-monogram{font-size:140px;top:8%}.home-stage .art-label{bottom:20px;font-size:9px}.intro-band{padding-top:28px;padding-bottom:38px;align-items:start;flex-direction:column;gap:16px}.intro-band .eyebrow{max-width:none}.intro-band p{font-size:18px}.section-heading{flex-direction:column;gap:22px;margin-bottom:32px}.section-heading p{max-width:450px}.split,.feature-editorial,.guest-feature,.trust-editorial,.inclusions-layout,.faq-section,.contact-layout{grid-template-columns:1fr;gap:36px}.feature-editorial>.media-frame{aspect-ratio:5/4}.feature-editorial h2{max-width:450px}.feature-index h3{font-size:27px}.feature-index a{padding:18px 0}.occasion-grid{gap:24px;grid-template-columns:1fr 1fr}.occasion-feature:nth-child(even){padding-top:50px}.occasion-feature .media-frame,.occasion-feature:nth-child(even) .media-frame{aspect-ratio:4/5}.occasion-caption{gap:8px;align-items:start;margin-top:16px}.occasion-caption h3{font-size:29px}.occasion-caption p{font-size:12px}.occasion-caption .arrow{width:18px;height:18px}.occasion-links{gap:24px;margin-top:34px}.occasion-links h3{font-size:25px}.occasion-links p{font-size:12px}.occasion-links .arrow{display:none}.media-stack .media-frame:last-child{right:-8px;border-width:7px}.gallery-sequence{gap:14px;grid-template-columns:1fr 1fr;margin-top:32px}.gallery-sequence .media-frame:nth-child(2){aspect-ratio:4/5;margin-top:42px}.gallery-sequence .media-frame:nth-child(3){display:none}.gallery-note{flex-direction:column;gap:12px}.hero,.hero-mini{padding-top:46px;padding-bottom:44px}.hero .lead,.hero-mini p:not(.eyebrow){font-size:16px}.hero-mini.with-media,.service-hero{grid-template-columns:1fr;gap:36px}.service-hero .media-frame,.hero-mini.with-media>.media-frame{aspect-ratio:4/3}.copy{font-size:16px}.service-grid{gap:0 24px}.service-copy h3{font-size:29px}.service-copy p{font-size:13px}.service-card{padding:25px 0}.bento{gap:16px}.span3,.span4,.span6,.span8{grid-column:span 6}.card{padding:24px}.card h3{font-size:30px}.row{grid-template-columns:40px 1fr;gap:18px;padding:20px 0}.row h3{font-size:16px}.inclusions-layout .media-frame{aspect-ratio:4/3}.pricing-grid{grid-template-columns:1fr 1fr}.price-option{padding:22px 20px}.price-option strong{font-size:37px}.related-grid{grid-template-columns:1fr;gap:20px}.related-grid h3{font-size:29px}.faq-section .section-title{margin-bottom:18px}summary{font-size:16px;padding:21px 0}.faq-answer{font-size:14px;padding-right:30px}.closing{grid-template-columns:1fr}.closing-copy{padding:56px var(--gutter)}.closing h2{font-size:clamp(48px,12vw,72px)}.closing>.media-frame{min-height:0;height:240px}.closing .art-monogram{display:none}.closing .media-fallback{background-size:100%;background-position:center 60%}.footer{padding-top:48px}.footer-grid{grid-template-columns:1fr 1fr;gap:38px 30px}.footer-brand{grid-column:1/-1}.footer-brand p{margin:12px 0}.footer-contact{grid-column:1/-1;grid-row:2}.footer-contact strong{font-size:16px}.footer-contact>a:first-of-type strong{font-size:26px}.footer-follow{grid-column:auto;display:block}.footer-follow h2{margin:0 0 16px}.footer-follow .footer-legal{display:flex;flex-direction:column;align-items:start;gap:0;margin-top:30px}.footer-legal h2{margin-bottom:16px}.social-links{gap:7px}.social-links a{width:40px;height:44px}.foot-bottom{margin-top:36px;flex-direction:column;gap:10px}.form-grid,.checkbox-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.legal h2{font-size:30px}.legal{padding-top:0}.contact-option strong{font-size:29px}}
@media(max-width:375px){:root{--gutter:20px}.brand>span{font-size:23px}.brand img{width:38px}.brand small{font-size:6px}.menu{gap:8px;font-size:11px}.home-intro h1{font-size:57px}.home-intro .actions{align-items:stretch;flex-direction:column}.home-intro .textlink{align-self:start}.occasion-grid{grid-template-columns:1fr}.occasion-feature:nth-child(even){padding-top:0}.occasion-feature .media-frame,.occasion-feature:nth-child(even) .media-frame{aspect-ratio:4/3}.service-grid{grid-template-columns:1fr}.span3,.span4,.span6,.span8{grid-column:1/-1}.footer-grid{column-gap:22px}.social-links{gap:4px}.social-links a{width:38px}.pricing-grid{grid-template-columns:1fr}.mobile-panel nav a{font-size:29px;padding:10px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal.is-pending{opacity:1;transform:none}.home-stage>.media-frame{clip-path:none}}
