:root{--ink:#44364e;--violet:#7563ac;--cream:#fff9f2;--serif:Italiana,Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}html.has-lenis{scroll-behavior:auto}body{margin:0;color:var(--ink);font-family:var(--sans);background:radial-gradient(ellipse at 4% 42%,rgba(235,190,226,.42),transparent 40%),radial-gradient(ellipse at 93% 58%,rgba(142,198,220,.35),transparent 38%),linear-gradient(145deg,#fffaf7 12%,#f5edf8 53%,#f1f9fa 100%)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:2px solid #584da1;outline-offset:4px}.skip{position:fixed;top:-100px;left:14px;z-index:100;padding:12px;background:white}.skip:focus{top:14px}[hidden]{display:none!important}.small-index{font-size:10px;letter-spacing:.22em;font-weight:500}
.nav{position:fixed;z-index:50;inset:0 0 auto;min-height:66px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:0 3%;background:rgba(255,249,246,.7);backdrop-filter:blur(18px);font-size:11px;letter-spacing:.08em}.nav-back{justify-self:start;font-weight:500}.nav-back span{margin-left:8px}.nav-title{font-weight:500;white-space:nowrap}.nav-title i{font-style:normal;color:#a493a8;margin:0 7px}.nav-links{display:flex;justify-content:flex-end;gap:24px}.nav-links a{padding:8px 0}.nav-links a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.nav-links a:hover,.nav-back:hover{color:var(--violet)}.progress{position:absolute;inset:auto 0 0;height:2px;overflow:hidden}.progress-fill{display:block;width:100%;height:100%;background:linear-gradient(90deg,#de97ba,#7770c3,#88c9c8);transform-origin:left;transform:scaleX(0)}
.opening{height:185vh;position:relative}.opening-sticky{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#e5e7fa,#f5dceb 54%,#fff6ea)}.opening-picture{position:absolute;inset:66px 0 0}.opening-art{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 9%;transform-origin:55% 20%}#vanta-mist{position:absolute;z-index:2;inset:0;opacity:.13;mix-blend-mode:screen;pointer-events:none}.opening-tint{position:absolute;z-index:3;inset:0;background:linear-gradient(90deg,rgba(253,242,252,.67),rgba(253,242,252,.36) 24%,transparent 54%),linear-gradient(0deg,rgba(244,230,247,.32),transparent 50%);pointer-events:none}.opening-copy{position:absolute;z-index:4;left:5.5%;bottom:10%;width:40%;max-width:600px}.opening-copy h1{font:400 clamp(74px,7.5vw,118px)/.85 var(--serif);letter-spacing:-.055em;margin:24px 0 33px;text-shadow:0 2px 25px rgba(255,248,255,.7)}.opening-copy h1 em{font-weight:400;color:var(--violet)}
.gateway-card.card-spotlight,.gateway-fallback{display:flex;flex-wrap:wrap;gap:28px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.gateway-card.card-spotlight:before{inset:-25px;border-radius:50%;filter:blur(18px)}.gateway-link,.gateway-fallback a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:14px;padding:8px 0;font:24px var(--sans);border-bottom:1px solid rgba(68,54,78,.5)}.gateway-link span,.gateway-fallback span{font-size:28px}.gateway-link:hover,.gateway-fallback a:hover{color:var(--violet)}.down-link{display:inline-flex;align-items:center;gap:23px;margin-top:25px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.down-link span{font-size:18px}
.encounter{height:185vh;position:relative;background:radial-gradient(ellipse at 25% 45%,rgba(246,211,231,.8),transparent 54%),radial-gradient(ellipse at 70% 34%,rgba(155,202,224,.45),transparent 44%),linear-gradient(135deg,#fff8fa,#e9e6f5 55%,#f6fbfb)}.encounter-sticky{height:100svh;min-height:580px;position:sticky;top:0;display:grid;place-items:center;overflow:hidden}.encounter-field{width:min(1300px,90vw);height:min(78svh,760px);position:relative;isolation:isolate}.encounter-field:before{content:"";position:absolute;inset:5% 18%;z-index:-1;background:radial-gradient(ellipse at 45% 45%,rgba(219,189,248,.67),rgba(159,221,225,.25) 43%,transparent 71%);filter:blur(36px)}.field-photo{position:absolute;z-index:1;display:block;height:95%;width:auto;max-width:46%;object-fit:contain}.field-photo-left{left:11%;top:0}.field-photo-right{right:9%;top:10%;height:86%}.field-label{position:absolute;z-index:4;bottom:0;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.21em;white-space:nowrap}
#reader-start{height:0}.reader{min-height:75svh;padding:64px 4% 95px;scroll-margin-top:66px}.reader-intro{max-width:1450px;margin:0 auto 42px;display:flex;justify-content:space-between;align-items:end;gap:30px}.reader-intro h2{font:400 clamp(55px,6vw,88px)/.95 var(--serif);letter-spacing:-.04em;margin:16px 0 20px}.reader-intro p:not(.small-index){max-width:500px;line-height:1.6;font-size:14px}.reader-intro>a{font-size:12px;margin-bottom:16px;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}.page-stack{max-width:1450px;margin:auto}.page{margin:0;min-width:0}.zoom-trigger{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;line-height:0;box-shadow:none}.zoom-trigger img{display:block;width:100%;height:auto;object-fit:contain}.zoom-mark{position:absolute;right:12px;bottom:12px;font-size:23px;line-height:1;color:#fff;text-shadow:0 1px 6px #403348;opacity:0;transition:opacity .2s}.zoom-trigger:hover .zoom-mark,.zoom-trigger:focus-visible .zoom-mark{opacity:1}.page figcaption{display:flex;justify-content:space-between;padding:10px 0 0;font-size:9px;letter-spacing:.15em;opacity:.7}.reader-lookbook .page-stack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;align-items:start;gap:24px}.reader-lookbook .page:nth-child(1),.reader-lookbook .page:nth-child(11){grid-column:span 2;grid-row:span 2}.reader-lookbook .page:nth-child(9){grid-column:span 2}
.reader-portfolio{padding:64px 0 0}.reader-portfolio .reader-intro{padding:0 4%}.portfolio-stack{width:100%;max-width:none;display:flex;flex-direction:column;gap:0}.portfolio-stack .page{width:100%}.portfolio-stack .zoom-trigger{width:100%}.portfolio-stack img{width:100%;height:auto;max-height:none}.portfolio-stack figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.portfolio-stack .zoom-mark{color:var(--ink);text-shadow:0 1px 5px #fff}
.end{padding:65px 5% 85px;display:flex;gap:25px;flex-wrap:wrap;align-items:center}.end .small-index{width:100%}.end a{font:30px var(--serif);text-decoration:underline;text-underline-offset:7px}.end .to-top{font-size:20px}
.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#f8f3f0;color:var(--ink)}.lightbox::backdrop{background:rgba(37,24,47,.83)}.lightbox-head{height:66px;padding:0 22px;position:sticky;top:0;z-index:2;background:rgba(255,249,245,.96);display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:11px;letter-spacing:.08em}.lightbox-head div{display:flex;gap:6px}.lightbox-head button{border:0;background:transparent;min-width:42px;height:42px;padding:0 12px;font-size:16px}.lightbox-head #lightbox-close{font-size:12px}.lightbox-scroll{height:calc(100dvh - 66px);overflow:auto;padding:20px}.lightbox-scroll img{display:block;width:auto;height:auto;max-width:none;max-height:none;margin:auto}
.flower-dock{position:fixed;right:3%;top:calc(100svh - 230px);z-index:35;width:150px;height:185px;cursor:grab;touch-action:none;filter:drop-shadow(0 13px 18px rgba(93,69,138,.2));transition:opacity .3s}.flower-dock:active{cursor:grabbing}.flower-dock:before{content:"";position:absolute;z-index:0;left:0;top:-3%;width:100%;height:85%;border-radius:50%;background:radial-gradient(ellipse,rgba(126,129,197,.34),rgba(129,196,219,.24) 39%,rgba(239,185,222,.13) 61%,transparent 78%);filter:blur(13px);pointer-events:none}.flower-dock canvas{position:relative;z-index:1;display:block;width:100%;height:150px;filter:saturate(1.45) contrast(1.08) drop-shadow(0 2px 3px rgba(101,96,166,.16))}.flower-dock.is-hidden{visibility:hidden;opacity:0;pointer-events:none}.flower-hint{position:absolute;z-index:2;bottom:0;left:0;right:0;text-align:center;padding:7px 0;color:#59456d;font-size:10px;letter-spacing:.04em}.flower-fallback{display:none}.flower-dock.no-webgl{width:95px;height:42px}.flower-dock.no-webgl .flower-hint{display:none}.flower-dock.no-webgl .flower-fallback{display:block;text-align:center;padding:11px;font-size:12px;background:rgba(240,224,244,.8)}.flower-trails{position:fixed;inset:0;z-index:34;pointer-events:none;overflow:hidden}.flower-trails span{position:absolute;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8),rgba(125,223,233,.5) 21%,rgba(183,157,236,.28) 48%,transparent 75%);filter:blur(3px);mix-blend-mode:screen;transform:translate(-50%,-50%) scale(.55);animation:flower-trail .55s ease-out forwards}@keyframes flower-trail{to{opacity:0;transform:translate(-50%,-75%) scale(1.9)}}
@media(max-width:1100px){.nav{grid-template-columns:1fr auto}.nav-title{display:none}.opening-copy{width:46%}.gateway-link,.gateway-fallback a{font-size:21px}.field-photo-left{left:2%}.field-photo-right{right:1%}.reader-lookbook .page-stack{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.reader-lookbook .page:nth-child(11){grid-row:auto}}
@media(max-width:650px){.nav{height:60px;min-height:60px;grid-template-columns:auto 1fr;gap:10px;padding:0 5%;font-size:10px}.nav-back{font-size:17px}.nav-back span{display:none}.nav-links{gap:17px}.world-link{font-size:9px}.opening{height:165svh}.opening-sticky{min-height:0}.opening-picture{top:60px}.opening-art{object-position:57% 0%}.opening-copy{left:7%;bottom:8%;width:86%;color:white;text-shadow:0 2px 18px rgba(31,21,50,.5)}.opening-copy h1{font-size:clamp(65px,18vw,90px);margin:18px 0 25px;text-shadow:0 3px 28px rgba(29,16,48,.46)}.opening-copy h1 em{color:#dfd0ff}.opening-tint{background:linear-gradient(180deg,rgba(255,244,248,.06),transparent 38%,rgba(37,19,56,.67) 100%)}.gateway-card.card-spotlight,.gateway-fallback{gap:24px}.gateway-link,.gateway-fallback a{font-size:20px;border-color:rgba(255,255,255,.6)}.gateway-link span,.gateway-fallback span{font-size:22px}.down-link{margin-top:21px;font-size:9px}.encounter{height:165svh}.encounter-sticky{min-height:0}.encounter-field{width:100%;height:80svh}.field-photo{max-width:72%;height:55%}.field-photo-left{left:-10%;top:36%}.field-photo-right{right:-10%;top:35%;height:50%}.field-label{bottom:5%;font-size:8px}.reader{padding:40px 3% 65px;scroll-margin-top:60px}.reader-intro{margin-bottom:26px;display:block;padding:0 3%}.reader-intro h2{font-size:60px;margin:13px 0 16px}.reader-intro p:not(.small-index){font-size:13px;line-height:1.5}.reader-intro>a{display:inline-block;margin:10px 0 0}.reader-lookbook .page-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reader-lookbook .page:nth-child(1),.reader-lookbook .page:nth-child(11){grid-column:span 2;grid-row:auto}.reader-lookbook .page:nth-child(9){grid-column:span 2}.page figcaption{font-size:8px;padding-top:7px;letter-spacing:.08em}.zoom-mark{opacity:1;right:8px;bottom:8px;font-size:18px}.reader-portfolio{padding:40px 0 0}.reader-portfolio .reader-intro{padding:0 6%;margin-bottom:26px}.end{padding:50px 6% 65px;gap:20px}.end a{font-size:26px}.lightbox-head{padding:0 10px;font-size:9px}.lightbox-head button{min-width:35px;padding:0 7px}.lightbox-scroll{padding:10px}.flower-dock{width:80px;height:100px;right:2%;top:calc(100svh - 100px)}.flower-dock canvas{height:80px}.flower-hint{font-size:8px;padding:4px 0;color:#fff;text-shadow:0 1px 5px #44364e}.flower-dock.near-encounter{right:8%}}
@media(pointer:coarse){html{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.opening,.encounter{height:auto}.opening-sticky,.encounter-sticky{position:relative}.encounter-sticky{min-height:600px}#vanta-mist,.gateway-card:before,.flower-trails{display:none}}
/* One continuous reading path; artwork remains the surface. */
.nav-links a[aria-current=location]{text-decoration:underline;text-underline-offset:6px}.portfolio-stack{gap:8px}.portfolio-stack .page{padding:3px 0}.reader-portfolio .reader-intro{margin-bottom:34px}.fluid-defs{position:absolute;width:0;height:0;overflow:hidden}.light-water{position:fixed;inset:0;z-index:38;pointer-events:none;mix-blend-mode:normal}.is-stirring,.flower-dock.is-bending{cursor:none}.is-stirring a,.is-stirring button{cursor:pointer}.flower-dock canvas{filter:none}.flower-dock:before{background:radial-gradient(ellipse,rgba(220,161,195,.28),rgba(126,196,211,.18) 42%,rgba(238,207,155,.13) 63%,transparent 80%);filter:blur(15px)}.flower-dock.is-blooming:before{animation:sculpture-bloom 1.2s ease-out}.flower-speech{position:absolute;left:-30px;right:-30px;top:100%;padding:6px;text-align:center;font-size:11px;line-height:1.35;letter-spacing:.01em;color:#554364;text-shadow:0 1px 5px #fff;opacity:0;transition:opacity .2s;pointer-events:none}.flower-speech.visible{opacity:1}.flower-dock.reading-dock{left:22%;right:auto;top:2px;width:60px;height:62px;z-index:55;filter:none}.reading-dock canvas{width:60px;height:60px}.reading-dock .flower-hint{display:none}.reading-dock:before{inset:0;width:100%;height:100%;filter:blur(8px)}.reading-dock .flower-speech{left:65px;right:auto;top:20px;width:155px;text-align:left;font-size:11px}.flower-dock.no-webgl .flower-fallback{border-radius:50%;background:radial-gradient(circle at 40% 25%,#efd7a2,#d2a4c7 50%,#90bcc8);color:#4c3a5d}.reading-dock.no-webgl{width:55px;height:55px}.reading-dock.no-webgl .flower-fallback{padding:18px 0 14px;font-size:10px}
@keyframes sculpture-bloom{0%{transform:scale(.8);opacity:.4}35%{transform:scale(1.65);opacity:1}100%{transform:scale(1);opacity:1}}
@media(max-width:650px){.nav.is-reading{height:78px}.flower-dock.reading-dock{left:46px;top:3px;width:55px;height:58px}.reading-dock canvas{height:55px;width:55px}.reading-dock .flower-speech{left:-30px;top:54px;width:115px;text-align:center;font-size:9px;padding:3px}.flower-speech{top:auto;bottom:100%;left:-70px;right:-5px;font-size:10px;color:#fff;text-shadow:0 1px 7px #4b3556}.reading-dock .flower-speech{color:#554364;text-shadow:none;bottom:auto}.reader{scroll-margin-top:78px}.light-water{opacity:.7}}
@media(prefers-reduced-motion:reduce){.light-water{display:none}.is-stirring,.flower-dock.is-bending{cursor:auto}.flower-dock canvas{display:none}.flower-speech{transition:none}}
/* Floating words, with no navigation surface. */
.nav{background:transparent;backdrop-filter:none;border:0;box-shadow:none;text-shadow:0 1px 7px rgba(255,255,255,.8)}.nav .progress{display:none}.opening-picture{inset:0}.nav-back span{font-weight:500;letter-spacing:.04em}.nav a{min-height:44px;display:inline-flex;align-items:center}.nav-title{text-shadow:0 1px 7px rgba(255,255,255,.8)}.nav.is-reading{background:transparent}.nav.nav-light{color:#fff;text-shadow:0 1px 6px rgba(29,20,42,.75)}.nav.nav-light a:hover{color:#e2d3ed}.nav-light .nav-title{text-shadow:inherit}.opening-copy .small-index,.end .small-index{text-transform:none}.reading-dock{background:none;border:0;box-shadow:none}
@media(max-width:650px){.opening-picture{top:0}.nav-links{gap:15px}.nav-links a{padding:0}.flower-dock.reading-dock{left:44px}.nav-title{display:none}}

/* Persistent opaque sculpture, visibly sized throughout the reading path. */
.flower-dock{z-index:60;transition:top .32s ease,left .32s ease,width .32s ease,height .32s ease,opacity .2s;overflow:visible;isolation:isolate}.flower-dock canvas{filter:drop-shadow(5px 8px 4px rgba(48,33,68,.27))}.nav.is-reading{height:100px}.flower-dock.reading-dock{left:24%;top:4px;width:90px;height:92px;z-index:60}.reading-dock canvas{width:90px;height:90px;filter:drop-shadow(3px 5px 3px rgba(48,33,68,.28))}.reading-dock .flower-speech{left:96px;top:36px;width:155px;font-size:12px}.reading-dock.no-webgl{width:76px;height:76px;top:12px}.reading-dock.no-webgl .flower-fallback{padding:28px 0;font-size:12px}.flower-dock.is-hidden{visibility:hidden;pointer-events:none}
@media(max-width:650px){.nav.is-reading{height:100px}.flower-dock.reading-dock{left:47px;top:4px;width:76px;height:92px}.reading-dock canvas{width:76px;height:76px}.reading-dock .flower-speech{left:-22px;top:76px;width:120px;font-size:10px;line-height:1.15;padding:2px}.reading-dock.no-webgl{width:72px;height:72px;top:8px}.reading-dock.no-webgl .flower-fallback{padding:26px 0}.reader{scroll-margin-top:100px}.flower-dock.reading-dock:before{opacity:.65}}
@media(prefers-reduced-motion:reduce){.flower-dock{transition:none}}

.reader{scroll-margin-top:100px}
