@font-face{font-family:"Cormorant";src:url(/type/cg-300.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/type/cg-400.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/type/cg-300i.woff2) format("woff2");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/type/cg-400i.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:"Cinzel";src:url(/type/cinzel.woff2) format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Manrope";src:url(/type/manrope.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{
--wine:#1c0507;--deep:#2b080b;--crimson:#5a0f17;--ruby:#86202b;--gold:#c6a15b;--gold2:#e9cf93;--gold3:#8c6a32;
--ivory:#f4ecdc;--parch:#eadcc0;--ink:#24120e;--muted:#8a7360;
--serif:"Cormorant",Georgia,"Times New Roman",serif;--caps:"Cinzel",Georgia,serif;--sans:"Manrope",Helvetica,Arial,sans-serif;
--ease:cubic-bezier(.16,1,.3,1)}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--wine);color:var(--ivory);font:400 16px/1.8 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:.98;letter-spacing:-.015em}
em{font-style:italic}
::selection{background:var(--gold);color:var(--wine)}
.caps{font:500 11px/1.5 var(--caps);letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.skip{position:absolute;left:-999px;top:10px;background:var(--ivory);color:var(--ink);padding:10px 14px;z-index:999}
.skip:focus{left:10px}
/* grain */
body:after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
/* dust */
#dust{position:fixed;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;mix-blend-mode:screen}
/* preloader */
.loader{position:fixed;inset:0;z-index:200;display:none;background:var(--wine);color:var(--gold2)}
.js .loader{display:grid;place-items:center}
.loader .lc{display:grid;justify-items:center;gap:26px}
.loader svg{width:min(150px,32vw);height:auto;overflow:visible}
.loader path{fill:none;stroke:var(--gold);stroke-width:1}
.loader .count{font:300 clamp(60px,9vw,120px)/1 var(--serif);color:var(--ivory);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.loader .lt{font:500 10px var(--caps);letter-spacing:.6em;color:var(--gold)}
.loader .lid{position:absolute;left:0;right:0;height:50.5%;background:var(--wine)}
.loader .lid.t{top:0}.loader .lid.b{bottom:0}
/* page curtain */
.curtain{position:fixed;inset:0;z-index:180;pointer-events:none;background:var(--crimson);transform:translateY(100%)}
.curtain:after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--gold)}
/* cursor */
.cursor{position:fixed;left:0;top:0;z-index:170;pointer-events:none;width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid var(--gold);border-radius:50%;display:none;align-items:center;justify-content:center;font:500 8px var(--caps);letter-spacing:.2em;color:var(--wine);transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .4s,border-color .4s}
.cursor span{opacity:0;transition:opacity .3s}
.cursor.link{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(198,161,91,.12)}
.cursor.view{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--gold2);border-color:var(--gold2)}
.cursor.view span{opacity:1}
.dot{position:fixed;left:0;top:0;z-index:171;pointer-events:none;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--gold2);display:none}
@media (hover:hover) and (pointer:fine){.js .cursor{display:flex}.js .dot{display:block}}
/* thread */
.thread{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:4;overflow:visible}
.thread path{fill:none;stroke:var(--gold);stroke-width:1.2;opacity:.75}
.thread circle{fill:var(--gold2)}
/* header */
.top{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:26px 4.5vw;transition:transform .7s var(--ease),background .5s,padding .5s}
.top.solid{background:linear-gradient(180deg,rgba(28,5,7,.92),rgba(28,5,7,.75));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:16px 4.5vw}
.top.hide{transform:translateY(-110%)}
.logo{display:flex;align-items:center;gap:14px}
.logo svg{width:26px;height:36px}
.logo svg path{fill:none;stroke:var(--gold);stroke-width:1.4}
.logo b{display:block;font:400 21px/1 var(--serif);letter-spacing:.02em;color:var(--ivory)}
.logo small{display:block;font:500 8px var(--caps);letter-spacing:.42em;color:var(--gold);margin-top:6px}
.top nav{display:flex;gap:36px}
.top nav a{font:500 10px var(--caps);letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);position:relative;padding:8px 0;overflow:hidden;display:inline-block}
.top nav a span{display:block;transition:transform .6s var(--ease)}
.top nav a span:after{content:attr(data-t);position:absolute;left:0;top:100%;color:var(--gold2)}
.top nav a:hover span{transform:translateY(-100%)}
.top nav a[aria-current] {color:var(--gold2)}
.top nav a[aria-current]:before{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--gold)}
.burger{display:none;background:none;border:0;color:var(--ivory);cursor:pointer;width:44px;height:44px;position:relative;z-index:3}
.burger i{position:absolute;left:10px;right:10px;height:1px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger i:first-child{top:18px}.burger i:last-child{top:26px}
.burger[aria-expanded=true] i:first-child{top:22px;transform:rotate(45deg)}
.burger[aria-expanded=true] i:last-child{top:22px;transform:rotate(-45deg)}
/* split helpers */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.w>i{display:inline-block;font-style:inherit;will-change:transform}
.ch{display:inline-block;will-change:transform}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:18px;font:500 10px var(--caps);letter-spacing:.32em;text-transform:uppercase;color:var(--ivory);padding:18px 30px;border:1px solid rgba(198,161,91,.55);border-radius:60px;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s}
.btn:before{content:"";position:absolute;inset:0;background:var(--gold2);transform:translateY(101%);border-radius:60px;transition:transform .6s var(--ease);z-index:-1}
.btn:hover{color:var(--wine);border-color:var(--gold2)}
.btn:hover:before{transform:none}
.btn svg{width:18px;height:10px;transition:transform .5s var(--ease)}
.btn:hover svg{transform:translateX(5px)}
.btn svg path{fill:none;stroke:currentColor;stroke-width:1.2}
.btn.btn-ink{color:var(--ink);border-color:rgba(36,18,14,.35)}
.btn.btn-ink:before{background:var(--crimson)}
.btn.btn-ink:hover{color:var(--ivory);border-color:var(--crimson)}
/* hero */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;background:radial-gradient(120% 90% at 50% 30%,#6a121c 0%,var(--crimson) 32%,var(--deep) 62%,var(--wine) 100%)}
.hero .mast{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font:300 clamp(90px,21vw,360px)/.8 var(--serif);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(233,207,147,.42);white-space:nowrap;user-select:none;pointer-events:none}
.hero .rays{position:absolute;left:50%;top:50%;width:170vmax;height:170vmax;margin:-85vmax 0 0 -85vmax;opacity:.16;background:repeating-conic-gradient(from 0deg,rgba(233,207,147,.7) 0deg .25deg,transparent .25deg 6deg);mask:radial-gradient(circle,transparent 18%,#000 30%,transparent 70%);-webkit-mask:radial-gradient(circle,transparent 18%,#000 30%,transparent 70%);animation:spin 160s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero .archwrap{position:absolute;left:53%;top:50%;width:min(31vw,420px);aspect-ratio:3/4.3;transform:translate(-50%,-46%);z-index:2}
.hero .arch{position:absolute;inset:0;border-radius:999px 999px 0 0;overflow:hidden;background:var(--wine);box-shadow:0 50px 120px rgba(0,0,0,.6)}
.hero .arch img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.hero .archline{position:absolute;inset:-16px;border:1px solid rgba(198,161,91,.7);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.hero .archline2{position:absolute;inset:-32px;border:1px solid rgba(198,161,91,.25);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.hero .float{position:absolute;z-index:1;box-shadow:0 30px 70px rgba(0,0,0,.55)}
.hero .f1{width:min(15vw,210px);left:9vw;top:22vh;border-radius:999px 999px 0 0;overflow:hidden}
.hero .f2{width:min(16vw,230px);right:7vw;bottom:23vh;overflow:hidden}
.hero .f3{width:min(13vw,190px);right:15vw;top:15vh;border-radius:50%;overflow:hidden;aspect-ratio:1}
.hero .f3 img{width:100%;height:100%;object-fit:cover}
.hero .copy{position:absolute;left:4.5vw;bottom:9vh;z-index:5;max-width:38vw}
.hero h1{font-size:clamp(42px,4.9vw,88px);color:var(--ivory)}
.hero h1 em{color:var(--gold2)}
.hero .copy p{margin-top:24px;max-width:360px;color:#dcc7a6;font-size:15px}
.hero .side{position:absolute;right:4.5vw;bottom:9vh;z-index:5;text-align:right}
.hero .side .caps{display:block;margin-bottom:8px}
.scrollhint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px}
.scrollhint i{display:block;width:1px;height:54px;background:rgba(198,161,91,.25);position:relative;overflow:hidden}
.scrollhint i:after{content:"";position:absolute;left:0;top:-24px;width:1px;height:24px;background:var(--gold2);animation:drip 2.4s var(--ease) infinite}
@keyframes drip{to{top:60px}}
/* prologue */
.prologue{position:relative;padding:22vh 8vw 20vh;text-align:center;background:var(--wine)}
.prologue .caps{display:block;margin-bottom:46px}
.prologue p.big{font:300 clamp(30px,3.9vw,62px)/1.22 var(--serif);max-width:1180px;margin:0 auto;color:var(--ivory)}
.prologue p.big em{color:var(--gold2)}
.prologue .orn{width:200px;margin:60px auto 0}
.prologue .orn path{fill:none;stroke:var(--gold);stroke-width:1}
/* reels */
.reel{position:relative;overflow:hidden}
.reel-no{font:500 10px var(--caps);letter-spacing:.5em;color:var(--gold);display:flex;align-items:center;gap:18px}
.reel-no:before{content:"";width:46px;height:1px;background:var(--gold)}
.ivory{background:var(--ivory);color:var(--ink)}
.ivory .reel-no,.ivory .caps{color:var(--ruby)}
.ivory .reel-no:before{background:var(--ruby)}
.parch{background:var(--parch);color:var(--ink)}
.parch .reel-no{color:var(--ruby)}.parch .reel-no:before{background:var(--ruby)}
.rh{font-size:clamp(48px,6.6vw,112px);margin:30px 0 40px}
.rh em{color:var(--ruby)}
.dark .rh em,.wine .rh em{color:var(--gold2)}
.lede{font-size:17px;line-height:1.9;max-width:470px;margin-bottom:1.2em}
.ivory .lede,.parch .lede{color:#4a372c}
.wine{background:var(--wine)}
.dark{background:var(--deep)}
/* artist reel */
.artist-reel{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:22vh 7vw}
.develop{position:relative;justify-self:center;width:min(440px,80vw);background:#f8f1e1;padding:18px 18px 70px;box-shadow:0 50px 90px rgba(36,18,14,.35);transform:rotate(-3deg)}
.develop img{filter:sepia(.25)}
.develop figcaption{position:absolute;left:18px;right:18px;bottom:22px;font:500 9px var(--caps);letter-spacing:.3em;color:#6d5947}
.develop .tape{position:absolute;width:110px;height:30px;background:rgba(233,207,147,.55);top:-14px;left:50%;transform:translateX(-50%) rotate(2deg)}
.dropcap:first-letter{float:left;font:300 108px/.74 var(--serif);padding:10px 16px 0 0;color:var(--ruby)}
/* honour */
.honour{position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16vh 6vw;background:radial-gradient(70% 60% at 50% 45%,var(--ruby) 0%,var(--crimson) 45%,var(--wine) 100%)}
.honour .medal{position:absolute;left:50%;top:50%;width:min(80vmin,760px);height:min(80vmin,760px);transform:translate(-50%,-50%);opacity:.5}
.honour .medal circle,.honour .medal path{fill:none;stroke:var(--gold);stroke-width:.6}
.honour svg.year{width:min(92vw,1100px);height:auto;overflow:visible;position:relative}
.honour svg.year text{font:300 300px var(--serif);fill:rgba(233,207,147,0);stroke:var(--gold2);stroke-width:1.2}
.honour h2{position:relative;font-size:clamp(40px,5vw,78px);margin-top:10px}
.honour h2 em{color:var(--gold2)}
.honour p{position:relative;max-width:560px;margin:22px auto 0;color:#e6d2b2}
.honour .btn{margin-top:40px}
/* royal */
.royal{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;padding:22vh 7vw}
.blinds{position:relative;width:min(520px,82vw);justify-self:center}
.blinds .bimg{position:relative;overflow:hidden}
.blinds .slats{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:none}
.blinds .slats i{flex:1;background:var(--parch);transform-origin:top}
.blinds .border{position:absolute;inset:-22px;width:calc(100% + 44px);height:calc(100% + 44px);pointer-events:none;overflow:visible}
.blinds .border rect{fill:none;stroke:var(--gold3);stroke-width:1}
.blinds .border rect.in{stroke:var(--gold)}
.blinds figcaption{margin-top:34px;font:500 9px var(--caps);letter-spacing:.3em;color:#7a6550}
/* timeline */
.tl-wrap{position:relative;background:var(--wine);overflow:hidden}
.tl-head{padding:18vh 7vw 6vh}
.tl-head .rh{margin-bottom:0}
.tl-track{display:flex;align-items:stretch;gap:0;padding:0 7vw 18vh;width:max-content}
.tl-card{position:relative;width:min(42vw,560px);padding:60px 60px 0 0;flex:0 0 auto}
.tl-card .yr{font:300 clamp(90px,11vw,190px)/.9 var(--serif);color:transparent;-webkit-text-stroke:1px var(--gold);display:block}
.tl-card:nth-child(odd) .yr{color:var(--gold2);-webkit-text-stroke:0}
.tl-card h3{font-size:clamp(28px,2.6vw,40px);margin:26px 0 14px;color:var(--ivory)}
.tl-card p{color:#cdb79a;max-width:380px;font-size:15px}
.tl-line{position:absolute;left:0;right:0;top:0;height:1px;background:rgba(198,161,91,.25)}
.tl-line i{position:absolute;inset:0;background:var(--gold2);transform-origin:left;transform:scaleX(0)}
.tl-card:before{content:"";position:absolute;left:0;top:-7px;width:13px;height:13px;border:1px solid var(--gold2);background:var(--wine);transform:rotate(45deg)}
/* bouquet assembly */
.assembly{position:relative;height:100vh;min-height:680px;background:var(--deep);overflow:hidden}
.assembly .centre{position:absolute;left:50%;top:50%;width:min(28vw,380px);transform:translate(-50%,-50%);z-index:3;box-shadow:0 40px 100px rgba(0,0,0,.6)}
.assembly .centre:after{content:"";position:absolute;inset:-14px;border:1px solid rgba(198,161,91,.6)}
.assembly .petal{position:absolute;width:min(17vw,250px);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5);z-index:2}
.assembly .p1{left:8vw;top:12vh;border-radius:999px 999px 0 0}
.assembly .p2{right:8vw;top:10vh;border-radius:50%;aspect-ratio:1}
.assembly .p2 img{width:100%;height:100%;object-fit:cover}
.assembly .p3{left:12vw;bottom:9vh}
.assembly .p4{right:11vw;bottom:10vh;border-radius:999px 999px 0 0}
.assembly .atitle{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;z-index:1;font:300 clamp(80px,14vw,240px)/.85 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(233,207,147,.25);white-space:nowrap;pointer-events:none}
.assembly .acap{position:absolute;left:0;right:0;bottom:4vh;text-align:center;z-index:4}
/* vase story */
.vase-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center;padding:22vh 7vw}
.frame{position:relative;padding:20px;background:linear-gradient(135deg,#dcbb74,#7d5b26 30%,#e8cd8f 55%,#80602b 80%,#d6b46c);box-shadow:0 50px 100px rgba(36,18,14,.4);justify-self:center;width:min(460px,80vw)}
.frame .fi{overflow:hidden}
.stitch{position:relative;margin:34px 0 10px;max-width:400px}
.stitch svg{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);overflow:visible}
.stitch svg rect{fill:none;stroke:var(--ruby);stroke-width:1;stroke-dasharray:6 6}
/* film */
.film{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:20vh 7vw}
.film-frame{position:relative;justify-self:center;width:min(400px,78vw);border-radius:999px 999px 0 0;overflow:hidden;box-shadow:0 50px 100px rgba(0,0,0,.6)}
.film-frame:after{content:"";position:absolute;inset:10px;border:1px solid rgba(233,207,147,.55);border-radius:999px 999px 0 0;pointer-events:none}
.film-frame video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#000}
.play{position:absolute;left:50%;top:50%;width:110px;height:110px;margin:-55px 0 0 -55px;border-radius:50%;border:1px solid var(--gold2);background:rgba(28,5,7,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--ivory);font:500 9px var(--caps);letter-spacing:.3em;cursor:pointer;z-index:3;transition:background .4s,opacity .4s}
.play:hover{background:var(--gold2);color:var(--wine)}
.film-frame.playing .play{opacity:0;pointer-events:none}
/* closing */
.closing{position:relative;height:110vh;min-height:700px;overflow:hidden;display:grid;place-items:center;text-align:center}
.closing .bg{position:absolute;inset:-12% 0;background:url(/media/silk-bouquet-detail.webp) center/cover}
.closing:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(60% 60% at 50% 50%,rgba(28,5,7,.55),rgba(28,5,7,.92))}
.closing .in{position:relative;z-index:2;padding:0 6vw}
.closing h2{font-size:clamp(56px,9vw,160px)}
.closing h2 em{color:var(--gold2)}
.closing .caps{display:block;margin-bottom:30px}
/* footer */
footer{position:relative;background:#120304;color:#cbb592;padding:0 0 40px;overflow:hidden}
.marq{border-block:1px solid rgba(198,161,91,.2);padding:26px 0;white-space:nowrap;overflow:hidden}
.marq div{display:inline-block;font:400 clamp(38px,5vw,76px)/1 var(--serif);font-style:italic;color:var(--ivory);animation:marq 46s linear infinite}
.marq span{margin:0 34px}
.marq b{font:500 14px var(--caps);color:var(--gold);vertical-align:middle;font-style:normal}
@keyframes marq{to{transform:translateX(-50%)}}
.foot{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:30px;padding:60px 4.5vw 0}
.foot nav{display:flex;gap:28px;flex-wrap:wrap}
.foot nav a{font:500 10px var(--caps);letter-spacing:.28em;text-transform:uppercase;transition:color .3s}
.foot nav a:hover{color:var(--gold2)}
.foot .fl{font:300 30px/1.1 var(--serif);color:var(--ivory)}
.foot small{display:block;font:500 9px var(--caps);letter-spacing:.3em;color:var(--gold3);margin-top:10px}
/* inner pages */
.ph{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:center;padding:150px 7vw 90px;overflow:hidden;background:radial-gradient(90% 80% at 75% 40%,#6a121c 0%,var(--crimson) 35%,var(--wine) 100%)}
.ph h1{font-size:clamp(56px,8vw,140px);line-height:.9}
.ph h1 em{color:var(--gold2)}
.ph .sub{margin-top:34px;font-size:17px;color:#dcc7a6;max-width:430px}
.ph .reel-no{margin-bottom:34px}
.ph .archwrap{position:relative;justify-self:center;width:min(400px,70vw);aspect-ratio:3/4.2}
.ph .arch{position:absolute;inset:0;border-radius:999px 999px 0 0;overflow:hidden;box-shadow:0 50px 120px rgba(0,0,0,.6)}
.ph .arch img{width:100%;height:115%;object-fit:cover}
.ph .archline{position:absolute;inset:-16px;border:1px solid rgba(198,161,91,.7);border-bottom:0;border-radius:999px 999px 0 0}
.ph .ghost{position:absolute;right:-2vw;bottom:-4vw;font:300 clamp(160px,26vw,440px)/.8 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(233,207,147,.14);pointer-events:none;white-space:nowrap}
.ph.short{min-height:76vh;grid-template-columns:1fr}
.story{position:relative;background:var(--ivory);color:var(--ink);padding:18vh 7vw 14vh}
.story .col{max-width:740px;margin:0 auto}
.story .sec{margin-bottom:12vh}
.story .num{font:500 10px var(--caps);letter-spacing:.45em;color:var(--ruby);display:block;margin-bottom:20px}
.story h2{font-size:clamp(40px,4.4vw,70px);margin-bottom:30px}
.story h2 em{color:var(--ruby)}
.story p{font-size:18.5px;line-height:1.95;color:#3a2a22;margin-bottom:1.15em}
.story .src{display:inline-flex;align-items:center;gap:12px;font:500 10px var(--caps);letter-spacing:.28em;color:var(--ruby);text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:6px;margin-top:8px}
.wide{margin:14vh -7vw;position:relative;overflow:hidden}
.wide .wi{height:86vh;overflow:hidden;position:relative}
.wide .wi img{position:absolute;left:0;top:-15%;width:100%;height:130%;object-fit:cover}
.wide figcaption{padding:20px 7vw 0;font:500 9px var(--caps);letter-spacing:.3em;color:#7a6550}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:3vw;margin:12vh 0}
.pair figure{overflow:hidden}
.pair figure:nth-child(1){border-radius:999px 999px 0 0}
.pair figure:nth-child(2){margin-top:14vh}
.pull{position:relative;margin:12vh 0;padding:6vh 0;text-align:center}
.pull p{font:300 italic clamp(32px,3.6vw,56px)/1.25 var(--serif)!important;color:var(--crimson)!important;margin:0!important}
.pull svg{width:100%;height:14px;overflow:visible}
.pull svg path{fill:none;stroke:var(--gold3);stroke-width:1}
.note{font-size:14px!important;color:#6d5a48!important;border-top:1px solid #d6c4a2;padding-top:18px}
.refs{list-style:none;padding:0;margin:0}
.refs li{border-top:1px solid #d6c4a2;padding:34px 0;display:grid;grid-template-columns:70px 1fr;gap:20px}
.refs li:last-child{border-bottom:1px solid #d6c4a2}
.refs .rn{font:300 44px/1 var(--serif);color:var(--ruby)}
.refs a{font:400 26px/1.25 var(--serif);color:var(--ink);background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .6s var(--ease)}
.refs a:hover{background-size:100% 1px}
.refs p{font-size:16px!important;margin:10px 0 0!important}
.next{position:relative;display:block;overflow:hidden;background:var(--wine);color:var(--ivory);text-align:center;padding:20vh 6vw}
.next .caps{display:block;margin-bottom:24px}
.next b{display:block;font:300 clamp(54px,9vw,160px)/.9 var(--serif);transition:letter-spacing .9s var(--ease),color .6s}
.next b em{color:var(--gold2)}
.next:hover b{letter-spacing:.02em}
.next .fill{position:absolute;inset:0;background:var(--crimson);transform:scaleY(0);transform-origin:bottom;transition:transform .9s var(--ease)}
.next:hover .fill{transform:scaleY(1)}
.next>*{position:relative}
.next .fill{position:absolute}
/* initial states (only when JS animations run) */
.js:not(.rm) [data-fade]{opacity:0;transform:translateY(40px)}
@media (max-width:900px){
.top{padding:18px 5vw}
.top nav{position:fixed;inset:0;background:var(--wine);flex-direction:column;align-items:center;justify-content:center;gap:34px;clip-path:circle(0 at calc(100% - 40px) 40px);transition:clip-path .9s var(--ease);z-index:2}
.top nav.open{clip-path:circle(150% at calc(100% - 40px) 40px)}
.top nav a{font-size:13px}
.burger{display:block}
.hero .archwrap{width:62vw;transform:translate(-50%,-62%)}
.hero .f1{width:26vw;left:4vw;top:15vh}
.hero .f2{display:none}
.hero .f3{width:22vw;right:4vw;top:auto;bottom:34vh}
.hero .copy{left:6vw;right:6vw;bottom:8vh;max-width:none}
.hero .copy p{font-size:14px}
.hero .side,.scrollhint{display:none}
.artist-reel,.royal,.vase-story,.film,.ph{grid-template-columns:1fr;padding:14vh 6vw}
.royal .blinds{order:-1}
.tl-card{width:78vw;padding-right:30px}
.assembly .centre{width:56vw}
.assembly .petal{width:30vw}
.assembly .p1{left:3vw;top:10vh}.assembly .p2{right:3vw;top:12vh}.assembly .p3{left:4vw;bottom:10vh}.assembly .p4{right:4vw;bottom:9vh}
.wide{margin:10vh -7vw}.wide .wi{height:60vh}
.pair{grid-template-columns:1fr}.pair figure:nth-child(2){margin-top:0}
.refs li{grid-template-columns:1fr;gap:6px}
.thread,#dust{display:none}
.ph{padding-top:120px}
.ph .archwrap{width:70vw}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.hero .veil{position:absolute;inset:0;z-index:4;display:grid;place-items:center;text-align:center;opacity:0;pointer-events:none;background:radial-gradient(60% 60% at 50% 50%,rgba(28,5,7,.25),rgba(28,5,7,.75))}
.hero .veil-t{font:300 clamp(44px,6.4vw,110px)/1 var(--serif);font-style:italic;color:var(--ivory);padding:0 6vw}
.hero .veil-t small{display:block;font:500 11px var(--caps);letter-spacing:.5em;color:var(--gold2);font-style:normal;margin-bottom:26px}
@media (max-width:900px){.tl-track{flex-direction:column;width:auto;gap:60px}.tl-card{width:auto}.tl-line{display:none}.tl-card:before{display:none}.hero .veil{display:none}}
.pair figure{aspect-ratio:3/4}
.pair figure img{width:100%;height:100%;object-fit:cover}
.story .num{font-size:12px}
.blinds .slats{display:none}
.js .blinds .slats{display:flex}
html:not(.js) .tl-track{flex-wrap:wrap;width:auto;row-gap:60px}
html:not(.js) .honour svg.year text{fill:var(--gold2)}
html:not(.js) .curtain,html:not(.js) #dust{display:none}
