@font-face{font-family:"Be Vietnam Pro";src:url("bvp-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Be Vietnam Pro";src:url("bvp-500.woff2") format("woff2");font-weight:500 900;font-style:normal;font-display:swap}

:root{
  --accent:#8e2336;
  --wine:#561521;
  --accent-soft:#f1d9de;
  --sakura:#e8bcc7;
  --sakura-deep:#b87989;
  --sky:#dceeff;
  --sky-strong:#bad9f5;
  --paper:#fffdf7;
  --ink:#15202b;
  --muted:#71808c;
  --line:rgba(21,32,43,.24);
  --pad:clamp(1.15rem,4vw,4.4rem);
  --type-hero:clamp(5.35rem,10.5vw,11rem);
  --type-section:clamp(3.9rem,7.25vw,7.5rem);
  --type-card:clamp(2.65rem,4.15vw,4.45rem);
  --type-manifesto:clamp(4rem,7.6vw,7.9rem);
  --type-contact:clamp(3.9rem,6.35vw,6.7rem);
  --type-lead:clamp(1.25rem,1.75vw,1.72rem);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-editorial:cubic-bezier(.22,.72,.18,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--sky);color:var(--ink);font-family:"Be Vietnam Pro",Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}
body::selection{background:var(--accent);color:var(--paper)}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;background:var(--accent);color:var(--paper);border:2px solid var(--ink);padding:.7rem 1rem;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}

.nav{--nav-alpha:.62;--nav-blur:14px;--nav-shadow:.04;--nav-line:.18;position:fixed;z-index:50;inset:0 0 auto;isolation:isolate;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.3rem var(--pad);color:var(--paper);border-bottom:0;box-shadow:0 8px 28px rgba(0,0,0,var(--nav-shadow))}
.nav::before{content:"";position:absolute;z-index:-1;inset:0 0 -1.05rem;background:linear-gradient(180deg,rgba(12,16,20,var(--nav-alpha)) 0%,rgba(12,16,20,calc(var(--nav-alpha) - .1)) 48%,rgba(12,16,20,.18) 72%,rgba(12,16,20,0) 100%);-webkit-backdrop-filter:blur(var(--nav-blur)) saturate(.82);backdrop-filter:blur(var(--nav-blur)) saturate(.82);-webkit-mask-image:linear-gradient(#000 0 66%,transparent 100%);mask-image:linear-gradient(#000 0 66%,transparent 100%)}
.nav::after{content:"";position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:1px;background:linear-gradient(90deg,var(--accent),rgba(255,253,247,.22) 52%,rgba(255,253,247,0));transform-origin:left;transform:scaleX(var(--nav-line))}
.brand{justify-self:start;display:flex;align-items:center;min-height:2.25rem;line-height:0}
.brand__logo{display:block;width:clamp(7.6rem,8.6vw,8.8rem);height:auto;filter:drop-shadow(0 5px 12px rgba(0,0,0,.24));transition:transform .35s var(--ease-out),filter .35s var(--ease-out)}
.brand:hover .brand__logo,.brand:focus-visible .brand__logo{transform:translateY(-1px) scale(1.015);filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}
.nav__links{display:flex;gap:2.25rem;font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500}
.nav__links a,.nav__call,.nav__album,.text-link{position:relative}
.nav__links a::after,.nav__call::after,.nav__album::after,.text-link::after{content:"";position:absolute;left:0;right:100%;bottom:-.3rem;height:2px;background:currentColor;transition:right .35s var(--ease-out)}
.nav__links a:hover::after,.nav__links a:focus-visible::after,.nav__call:hover::after,.nav__call:focus-visible::after,.nav__album:hover::after,.nav__album:focus-visible::after,.text-link:hover::after,.text-link:focus-visible::after{right:0}
.nav__links a.is-active{color:var(--accent-soft)}
.nav__links a.is-active::after{right:0;background:var(--accent-soft)}
.nav__actions{justify-self:end;display:flex;align-items:center;gap:1.55rem}
.nav__call,.nav__album{font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500}

.hero{position:relative;min-height:100svh;isolation:isolate;display:grid;overflow:hidden;background:var(--sky);color:var(--ink);border-bottom:2px solid var(--ink)}
.hero::before{content:"";position:absolute;z-index:-2;inset:0 43% 0 0;background-image:radial-gradient(circle at 1px 1px,rgba(16,20,24,.14) 1px,transparent 0);background-size:18px 18px;mask-image:linear-gradient(135deg,black,transparent 72%)}
.hero__wash{position:absolute;z-index:-1;inset:0;background:radial-gradient(700px circle at var(--spot-x,37%) var(--spot-y,40%),rgba(184,121,137,.2),transparent 58%),linear-gradient(125deg,rgba(255,253,247,.34),transparent 42%)}
.hero__sakura{position:absolute;z-index:2;top:2rem;right:31%;width:min(65vw,74rem);height:auto;opacity:.54;pointer-events:none;filter:saturate(.88) contrast(.96) drop-shadow(0 18px 30px rgba(86,21,33,.09));transform-origin:88% 8%;animation:sakura-breathe 10s ease-in-out infinite alternate;will-change:transform}
.site__petals{position:fixed;z-index:18;inset:0;overflow:hidden;pointer-events:none;contain:layout paint}
.site__petals img{--start:70%;--duration:14s;--delay:0s;--gust-a:-6vw;--gust-b:5vw;--end-x:-10vw;--petal-scale:.78;--push-x:0px;--push-y:0px;--push-r:0deg;position:absolute;top:-12%;left:var(--start);width:clamp(1.2rem,2vw,2.4rem);height:auto;opacity:0;filter:drop-shadow(0 4px 7px rgba(86,21,33,.22));transform-origin:50% 24%;animation:petal-wind var(--duration) linear infinite;animation-delay:var(--delay);transition:filter .25s ease;will-change:transform,opacity}
.site__petals img:nth-child(1){--start:18%;--duration:13.8s;--delay:-3.2s;--gust-a:-8vw;--gust-b:3vw;--end-x:-13vw;--petal-scale:.76}
.site__petals img:nth-child(2){--start:34%;--duration:17.4s;--delay:-11.1s;--gust-a:5vw;--gust-b:-7vw;--end-x:9vw;--petal-scale:1.05}
.site__petals img:nth-child(3){--start:52%;--duration:15.6s;--delay:-6.8s;--gust-a:-11vw;--gust-b:4vw;--end-x:-7vw;--petal-scale:.64}
.site__petals img:nth-child(4){--start:66%;--duration:18.8s;--delay:-15.5s;--gust-a:-4vw;--gust-b:8vw;--end-x:-15vw;--petal-scale:.92}
.site__petals img:nth-child(5){--start:79%;--duration:14.9s;--delay:-8.4s;--gust-a:-13vw;--gust-b:-2vw;--end-x:-22vw;--petal-scale:.72}
.site__petals img:nth-child(6){--start:92%;--duration:20.2s;--delay:-17.8s;--gust-a:7vw;--gust-b:-5vw;--end-x:4vw;--petal-scale:.58}
.site__petals img:nth-child(7){--start:43%;--duration:16.7s;--delay:-1.6s;--gust-a:-7vw;--gust-b:6vw;--end-x:-11vw;--petal-scale:.86}
.site__petals img:nth-child(8){--start:59%;--duration:12.9s;--delay:-9.7s;--gust-a:9vw;--gust-b:-3vw;--end-x:14vw;--petal-scale:1.12}
.site__petals img:nth-child(9){--start:71%;--duration:19.1s;--delay:-13.4s;--gust-a:-6vw;--gust-b:10vw;--end-x:-8vw;--petal-scale:.7}
.site__petals img:nth-child(10){--start:85%;--duration:15.2s;--delay:-4.7s;--gust-a:-12vw;--gust-b:2vw;--end-x:-18vw;--petal-scale:.96}
.site__petals img:nth-child(11){--start:27%;--duration:21.3s;--delay:-18.6s;--gust-a:6vw;--gust-b:-8vw;--end-x:11vw;--petal-scale:.62}
.site__petals img:nth-child(12){--start:97%;--duration:17.8s;--delay:-7.3s;--gust-a:-9vw;--gust-b:4vw;--end-x:-19vw;--petal-scale:.82}
body.is-petal-active .site__petals img{filter:drop-shadow(0 7px 10px rgba(86,21,33,.27))}
.hero__copy{position:relative;z-index:3;align-self:center;padding:8.1rem var(--pad) 5.8rem;width:min(65vw,69rem);transform:translate3d(0,var(--hero-copy-y,0),0);will-change:transform}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.35rem;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600}
.eyebrow::before{content:"";width:.72rem;height:.72rem;border-radius:50%;background:var(--accent);border:1px solid var(--wine)}
.eyebrow--red{color:var(--ink)}
.hero h1{margin:0;width:min(39rem,55vw);line-height:1}
.hero__line{display:block;will-change:transform,clip-path,opacity;transform:translate3d(var(--drift,0),var(--hero-line-y,0),0)}
.hero__line--one{position:relative;z-index:2;width:100%}
.hero__signature{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 26px rgba(21,32,43,.08))}
.hero__line--two{position:relative;z-index:4;display:flex;align-items:center;gap:.9rem;width:min(28rem,86%);margin:.6rem 0 0 clamp(1rem,8vw,8rem);color:var(--wine);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.hero__line--two b{flex:0 0 auto;color:var(--accent);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:2.25rem;font-weight:400;line-height:1}
.hero__line--two i{flex:1 1 3.5rem;height:1px;background:linear-gradient(90deg,var(--accent),rgba(142,35,54,.15))}
.hero__line--two span{white-space:nowrap}
.hero__meta{margin-top:clamp(2.2rem,3.8vw,3.6rem);padding-top:1.5rem;border-top:2px solid var(--ink);display:grid;grid-template-columns:minmax(20rem,33rem) auto;gap:2.2rem;align-items:end;max-width:58rem}
.hero__meta p{margin:0;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.55;font-weight:500}
.hero__actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;min-height:3.45rem;padding:.86rem 1.4rem;border:2px solid var(--ink);border-radius:999px;font-weight:600;font-size:.86rem;box-shadow:4px 4px 0 var(--ink);transition:transform .2s,box-shadow .2s,background .2s}
.button span{font-size:1.1rem}
.button:hover,.button:focus-visible{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}
.button--light{background:var(--accent);color:var(--paper);border-color:var(--wine)}
.text-link{font-size:.88rem;font-weight:500}
.hero__portrait{position:absolute;z-index:1;inset:0 0 0 auto;width:50%;margin:0;overflow:hidden;border-left:2px solid var(--ink);clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);transform:translate3d(0,var(--hero-media-y,0),0) scale(var(--hero-media-scale,1));transform-origin:center top;will-change:transform}
.hero__portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--sky) 0%,rgba(220,238,255,.7) 10%,transparent 28%,transparent 84%,rgba(86,21,33,.12) 100%)}
.hero__portrait img{width:100%;height:100%;object-fit:cover;object-position:58% 50%;filter:saturate(.92) contrast(1.03);animation:image-settle 1.35s var(--ease-out) both}
@keyframes image-settle{from{opacity:.2;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes sakura-breathe{from{transform:translate3d(0,-2px,0) rotate(-.12deg)}to{transform:translate3d(-4px,3px,0) rotate(.16deg)}}
@keyframes petal-wind{
  0%{opacity:0;transform:translate3d(var(--push-x),calc(-10vh + var(--push-y)),0) rotate(var(--push-r)) rotateX(18deg) scale(var(--petal-scale))}
  8%{opacity:.72}
  27%{transform:translate3d(calc(var(--gust-a) + var(--push-x)),calc(28vh + var(--push-y)),0) rotate(calc(112deg + var(--push-r))) rotateX(62deg) scale(var(--petal-scale))}
  51%{opacity:.88;transform:translate3d(calc(var(--gust-b) + var(--push-x)),calc(57vh + var(--push-y)),0) rotate(calc(238deg + var(--push-r))) rotateY(68deg) scale(var(--petal-scale))}
  76%{transform:translate3d(calc(var(--gust-a) + var(--push-x)),calc(84vh + var(--push-y)),0) rotate(calc(382deg + var(--push-r))) rotateX(48deg) scale(var(--petal-scale))}
  100%{opacity:0;transform:translate3d(calc(var(--end-x) + var(--push-x)),calc(112vh + var(--push-y)),0) rotate(calc(548deg + var(--push-r))) rotateY(76deg) scale(var(--petal-scale))}
}
.hero__stamp,.hero__scroll{position:absolute;z-index:5;bottom:1.5rem;margin:0;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.hero__stamp{left:var(--pad);background:var(--paper);border:1px solid var(--ink);padding:.35rem .55rem}
.hero__scroll{right:var(--pad);display:flex;gap:1rem;align-items:center;background:var(--accent);color:var(--paper);border:1px solid var(--wine);padding:.35rem .55rem}

.ticker{overflow:hidden;background:var(--wine);color:var(--paper);border-bottom:2px solid var(--ink)}
.ticker__track{display:flex;align-items:center;gap:1.15rem;width:max-content;padding:.55rem 1.15rem .62rem 0;font-size:clamp(2rem,3.8vw,4rem);font-weight:900;line-height:1.02;animation:ticker 24s linear infinite}
.ticker__track em{font-family:inherit;font-style:normal;font-weight:500;text-transform:none;letter-spacing:-.035em}
.ticker__track i{font-size:.42em;font-style:normal}
@keyframes ticker{to{transform:translateX(-50%)}}

.stories{position:relative;overflow:hidden;padding:clamp(6rem,10vw,10rem) var(--pad);background:var(--paper);border-bottom:2px solid var(--ink)}
.stories::before{content:"STORIES";position:absolute;right:-.04em;top:.1em;font-size:clamp(5rem,14vw,15rem);font-weight:900;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(16,20,24,.09);pointer-events:none;transform:translate3d(0,var(--stories-word-y,0),0);will-change:transform}
.section-head{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end}
.section-head h2{margin:0;font-size:var(--type-section);line-height:.86;letter-spacing:-.058em;text-transform:uppercase;text-wrap:balance}
.section-head h2>span,.section-head h2>em{display:block}
.section-head h2 em{position:relative;display:inline-block;font-family:inherit;font-style:normal;font-size:.82em;font-weight:500;letter-spacing:-.045em;text-transform:none}
.section-head h2 em::after{content:"";position:absolute;z-index:-1;left:-.04em;right:-.08em;bottom:.04em;height:.48em;background:var(--accent-soft);transform:rotate(-1deg);transform-origin:left;transition:transform 1s .28s var(--ease-out)}
.section-head__note{justify-self:end;max-width:30rem;margin:0 0 .65rem;color:var(--muted);font-size:1rem}
.filters{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;margin:clamp(3.4rem,6vw,5.8rem) 0 2.6rem}
.filter{border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);padding:.72rem 1.05rem;color:var(--ink);cursor:pointer;font-size:.84rem;font-weight:500;transition:background .2s,transform .2s,box-shadow .2s}
.filter:hover,.filter:focus-visible,.filter.is-active{background:var(--accent);color:var(--paper);border-color:var(--wine);box-shadow:3px 3px 0 var(--ink);transform:translate(-2px,-2px)}
.story-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(4rem,8vw,8rem) clamp(1.5rem,3vw,3.4rem);align-items:start}
.story-card{min-width:0;transition:opacity .32s,transform .4s}
.story-card[hidden]{display:none}
.story-card--wide{grid-column:1/9}
.story-card--high{grid-column:9/13;margin-top:8rem}
.story-card--offset{grid-column:3/10;margin-top:0}
.story-card__media{position:relative;margin:0;overflow:hidden;background:var(--sky);aspect-ratio:4/3;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--sky-strong)}
.story-card--high .story-card__media{aspect-ratio:4/5;box-shadow:8px 8px 0 var(--accent)}
.story-card--offset .story-card__media{aspect-ratio:16/10;box-shadow:8px 8px 0 var(--accent)}
.story-card__media img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--media-y,0),0) scale(var(--media-scale,1.075));will-change:transform;transition:transform .35s linear,filter .6s}
.story-card--high .story-card__media img{object-position:50% 42%}
.story-card--offset .story-card__media img{object-position:50% 38%}
.story-card:hover .story-card__media img{transform:translate3d(0,var(--media-y,0),0) scale(1.105);filter:saturate(1.08)}
.story-card__cue{position:absolute;inset:auto 1rem 1rem auto;background:var(--accent);color:var(--paper);border:1.5px solid var(--wine);border-radius:999px;padding:.68rem .9rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;transform:translateY(calc(100% + 1.2rem));transition:transform .32s}
.story-card:hover .story-card__cue{transform:translateY(0)}
.story-card__cue b{margin-left:.5rem;font-size:1rem}
.story-card__body{display:grid;grid-template-columns:3.4rem 1fr;gap:1rem;padding-top:1.35rem;margin-top:1rem;border-top:2px solid var(--ink)}
.story-card__index{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;border:1.5px solid var(--wine);background:var(--accent);color:var(--paper);font-size:.78rem;font-weight:600}
.story-card__type{margin:0 0 .65rem;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:var(--muted)}
.story-card h3{margin:0;font-size:var(--type-card);line-height:.96;letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance;transition:letter-spacing .45s var(--ease-out),color .35s}
.story-card:hover h3{letter-spacing:-.065em;color:var(--accent)}
.story-card h3 em{font-family:inherit;font-style:normal;font-weight:500;text-transform:none;background:var(--sky)}
.story-card__body div>p:last-child{max-width:38rem;margin:1.05rem 0 0;color:var(--muted);font-size:.94rem}

.people{position:relative;overflow:hidden;padding:clamp(6rem,10vw,10rem) var(--pad);background:var(--ink);color:var(--paper);border-bottom:2px solid var(--paper)}
.people::before{content:"HEART";position:absolute;right:-.04em;top:-.12em;color:transparent;-webkit-text-stroke:1px rgba(255,253,247,.08);font-size:clamp(6rem,18vw,19rem);font-weight:900;line-height:1;letter-spacing:-.08em;pointer-events:none}
.people__head{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,8rem);align-items:end}
.people .eyebrow{color:var(--sakura)}
.people .eyebrow::before{background:var(--sakura);border-color:var(--paper)}
.people__head h2{margin:0;font-size:var(--type-section);line-height:.88;letter-spacing:-.058em;text-transform:uppercase;text-wrap:balance}
.people__head h2 span,.people__head h2 em{display:block}
.people__head h2 em{font-family:inherit;font-style:normal;font-size:.76em;font-weight:500;letter-spacing:-.045em;text-transform:none;color:var(--sakura);margin-left:clamp(2rem,6vw,6.5rem);margin-top:.15em}
.people__intro{max-width:36rem;margin:0 0 .6rem;color:rgba(255,253,247,.74);font-size:var(--type-lead);line-height:1.52;letter-spacing:-.02em}
.people__gallery{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(18rem,27vw) minmax(18rem,27vw);gap:clamp(.75rem,1.25vw,1.35rem);margin-top:clamp(4.5rem,8vw,8rem)}
.people__frame{position:relative;margin:0;overflow:hidden;border:1px solid rgba(255,253,247,.38);background:#090d12;isolation:isolate}
.people__frame--prep{grid-column:1/6;grid-row:1/3}
.people__frame--light{grid-column:6/13;grid-row:1}
.people__frame--ceremony{grid-column:6/9;grid-row:2}
.people__frame--moment{grid-column:9/13;grid-row:2}
.people__frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04);transform:scale(1.055);transition:transform 1.2s var(--ease-out),filter .65s ease}
.people__frame--prep img{object-position:50% 47%}
.people__frame--light img{object-position:50% 44%}
.people__frame--ceremony img{object-position:50% 43%}
.people__frame--moment img{object-position:50% 48%}
.people__frame::after{content:"";position:absolute;z-index:1;inset:42% 0 0;background:linear-gradient(180deg,transparent,rgba(7,10,14,.84));pointer-events:none}
.people__frame figcaption{position:absolute;z-index:2;left:1.1rem;right:1.1rem;bottom:1rem;display:grid;grid-template-columns:auto 1fr;gap:.1rem .75rem;align-items:end;color:var(--paper)}
.people__frame figcaption span{grid-row:1/3;align-self:start;color:var(--sakura);font-size:.7rem;letter-spacing:.14em}
.people__frame figcaption strong{font-size:clamp(1.05rem,1.6vw,1.45rem);line-height:1.15;text-transform:uppercase;letter-spacing:.035em}
.people__frame figcaption small{color:rgba(255,253,247,.72);font-size:.74rem;line-height:1.35}
.people__frame:hover img{transform:scale(1.085);filter:saturate(.98) contrast(1.03)}
.people__roles{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:clamp(4.5rem,7vw,7rem) 0 0;padding:0;border-top:1px solid rgba(255,253,247,.4)}
.people__roles li{display:grid;grid-template-columns:2.7rem 1fr;gap:.65rem;padding:1.6rem clamp(1rem,2vw,2rem) 1.8rem 0;border-right:1px solid rgba(255,253,247,.28)}
.people__roles li+li{padding-left:clamp(1rem,2vw,2rem)}
.people__roles li:last-child{border-right:0;padding-right:0}
.people__roles li>span{color:var(--sakura);font-size:.7rem;letter-spacing:.14em;padding-top:.28rem}
.people__roles h3{margin:0 0 .7rem;font-size:clamp(1.04rem,1.35vw,1.28rem);line-height:1.35;letter-spacing:-.02em}
.people__roles p{margin:0;color:rgba(255,253,247,.68);font-size:.88rem;line-height:1.62}
.people__closing{position:relative;z-index:1;display:grid;grid-template-columns:minmax(8rem,.3fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;margin:clamp(3rem,5vw,5rem) 0 0;padding-top:1.4rem;border-top:1px solid rgba(255,253,247,.4);font-size:clamp(1.35rem,2.4vw,2.5rem);font-weight:500;line-height:1.35;letter-spacing:-.03em}
.people__closing span{color:var(--sakura);font-size:.72rem;line-height:1.4;letter-spacing:.17em;text-transform:uppercase;padding-top:.45rem}

.manifesto{position:relative;overflow:hidden;background:var(--wine);color:var(--paper);padding:clamp(6rem,10vw,10rem) var(--pad);border-bottom:2px solid var(--ink)}
.manifesto::after{content:"H";position:absolute;right:-.05em;top:-.42em;font-size:min(80vw,70rem);font-weight:900;line-height:1;color:rgba(255,253,247,.055);pointer-events:none;transform:translate3d(0,var(--manifesto-letter-y,0),0) rotate(var(--manifesto-letter-r,0deg));will-change:transform}
.manifesto__kicker{display:inline-block;margin:0 0 2rem;background:var(--sky);color:var(--ink);border:1.5px solid var(--paper);border-radius:999px;padding:.45rem .75rem;font-size:.76rem;letter-spacing:.19em;text-transform:uppercase;font-weight:600}
.manifesto__title{position:relative;z-index:1;max-width:82rem;font-size:var(--type-manifesto);line-height:.88;letter-spacing:-.06em;text-transform:uppercase;font-weight:900;text-wrap:balance}
.manifesto__title span,.manifesto__title em{display:block}
.manifesto__title em{font-family:inherit;font-style:normal;font-size:.7em;font-weight:500;line-height:1.05;letter-spacing:-.045em;text-transform:none;color:var(--sky);margin-left:clamp(3.5rem,9vw,10rem);margin-top:.16em;-webkit-text-stroke:0}
.manifesto__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(17rem,.68fr) minmax(30rem,1.32fr);gap:clamp(3rem,7vw,7rem);margin-top:clamp(4.2rem,7vw,7rem)}
.manifesto__lead{max-width:31rem;font-family:inherit;font-style:normal;font-size:var(--type-lead);font-weight:500;line-height:1.42;letter-spacing:-.025em;margin:0}
.principles{list-style:none;margin:0;padding:0;border-top:2px solid rgba(255,253,247,.72)}
.principles li{display:grid;grid-template-columns:3.6rem 1fr;gap:1rem;padding:1.35rem 0;border-bottom:2px solid rgba(255,253,247,.72)}
.principles li>span{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--sky);color:var(--ink);border:1.5px solid var(--paper);font-size:.74rem;font-weight:600}
.principles h3{margin:0 0 .3rem;font-size:1.12rem;line-height:1.3;text-transform:uppercase;letter-spacing:.025em}
.principles p{margin:0;max-width:36rem;color:rgba(255,253,247,.76);font-size:.98rem;line-height:1.55}

.contact{display:grid;grid-template-columns:.84fr 1.16fr;background:var(--sky);min-height:54rem;position:relative;border-bottom:2px solid var(--ink)}
.contact::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,20,24,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(16,20,24,.08) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,transparent 35%,black 100%);pointer-events:none}
.contact__image{position:relative;margin:clamp(4.5rem,7vw,7rem) 0 clamp(4.5rem,7vw,7rem) var(--pad);min-height:40rem;overflow:hidden;border:2px solid var(--ink);border-radius:50% 50% 1.2rem 1.2rem;box-shadow:10px 10px 0 var(--accent)}
.contact__image img{width:100%;height:100%;object-fit:cover;object-position:50% 56%;filter:saturate(.9) contrast(1.03);transform:translate3d(0,var(--contact-media-y,0),0) scale(1.09);will-change:transform}
.contact__copy{position:relative;z-index:1;padding:clamp(6rem,9vw,9.5rem) var(--pad) 10rem}
.contact h2{margin:0;font-size:var(--type-contact);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;text-wrap:balance}
.contact h2>span,.contact h2>em{display:block}
.contact h2 em{position:relative;font-family:inherit;font-style:normal;font-size:.82em;font-weight:500;letter-spacing:-.04em;text-transform:none}
.contact h2 em::after{content:"";position:absolute;z-index:-1;left:-.05em;right:-.08em;bottom:.05em;height:.5em;background:var(--accent-soft);transform:rotate(-1deg);transform-origin:left;transition:transform 1s .3s var(--ease-out)}
.contact__intro{max-width:38rem;font-size:1rem;margin:2.1rem 0;color:var(--muted)}
.contact__actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.button--ink{background:var(--accent);color:var(--paper);border-color:var(--wine)}
.contact__phone{font-size:clamp(1.25rem,2vw,1.85rem);font-weight:600;border-bottom:2px solid currentColor}
.contact__details{position:absolute;z-index:2;left:calc(42% + var(--pad));right:var(--pad);bottom:2.2rem;border-top:2px solid var(--ink);padding-top:1.2rem;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem;font-size:.76rem}
.contact__details p{margin:0}
.contact__details span{display:block;text-transform:uppercase;letter-spacing:.14em;font-weight:600;margin-bottom:.35rem}
.contact__details a{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.22em}

footer{display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:end;background:var(--ink);color:var(--paper);padding:clamp(4rem,7vw,6.5rem) var(--pad) 2rem}
.footer__brand{grid-row:span 2;align-self:end;line-height:0;color:var(--paper)}
.footer__logo{display:block;width:clamp(16rem,42vw,43rem);height:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.2))}
footer p{margin:0;font-size:.74rem;letter-spacing:.15em;text-transform:uppercase}
footer div{display:flex;gap:1rem;font-size:.8rem}
footer div a{text-decoration:underline;text-underline-offset:.25em}
footer small{grid-column:2/4;text-align:right;color:rgba(255,253,247,.55);font-size:.7rem}

.js .hero__line{opacity:0;clip-path:inset(-.28em -.12em 100% -.12em);transform:translate3d(var(--drift,0),calc(.72em + var(--hero-line-y,0px)),0);transition:opacity .8s ease,clip-path 1.05s var(--ease-out),transform 1.05s var(--ease-out)}
.js .hero__line--two{transition-delay:.12s}
.js.is-ready .hero__line{opacity:1;clip-path:inset(-.28em -.12em -.16em -.12em);transform:translate3d(var(--drift,0),var(--hero-line-y,0),0)}
.js .reveal{--reveal-delay:0ms;--reveal-x:0rem;--reveal-y:4.6rem;--reveal-r:0deg;opacity:0;filter:blur(12px);transform:translate3d(var(--reveal-x),var(--reveal-y),0) rotate(var(--reveal-r)) scale(.985);transition:opacity .82s var(--reveal-delay) ease,filter 1.05s var(--reveal-delay) var(--ease-out),transform 1.15s var(--reveal-delay) var(--ease-editorial)}
.js .reveal.is-visible{opacity:1;filter:none;transform:none}
.js .section-head:not(.is-visible) h2 em::after,.js .contact h2:not(.is-visible) em::after{transform:scaleX(0) rotate(-1deg)}
.js .section-head.reveal{opacity:1;filter:none;transform:none}
.js .section-head h2>span,.js .section-head h2>em,.js .contact h2>span,.js .contact h2>em{opacity:0;clip-path:inset(-.28em -.12em 100% -.12em);transform:translate3d(0,.72em,0);transition:opacity .7s ease,clip-path 1.05s var(--ease-out),transform 1.05s var(--ease-editorial)}
.js .section-head h2>em,.js .contact h2>em{transition-delay:.13s}
.js .section-head.is-visible h2>span,.js .section-head.is-visible h2>em,.js .contact h2.is-visible>span,.js .contact h2.is-visible>em{opacity:1;clip-path:inset(-.28em -.12em -.16em -.12em);transform:none}
.js .section-head__note{opacity:0;transform:translate3d(2.5rem,1rem,0);transition:opacity .72s .22s ease,transform 1s .22s var(--ease-out)}
.js .section-head.is-visible .section-head__note{opacity:1;transform:none}
.js .story-card.reveal{opacity:1;filter:none;transform:none;transition:none}
.js .story-card .story-card__media{opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(var(--card-x,0),3.8rem,0) rotate(var(--card-r,0deg));transform-origin:center bottom;transition:opacity .55s var(--reveal-delay) ease,clip-path 1.15s var(--reveal-delay) var(--ease-out),transform 1.2s var(--reveal-delay) var(--ease-editorial)}
.js .story-card .story-card__body{opacity:0;transform:translate3d(0,2.4rem,0);transition:opacity .72s calc(var(--reveal-delay) + 180ms) ease,transform .95s calc(var(--reveal-delay) + 180ms) var(--ease-out)}
.js .story-card.is-visible .story-card__media{opacity:1;clip-path:inset(0);transform:none}
.js .story-card.is-visible .story-card__body{opacity:1;transform:none}
.js .story-card.is-visible .story-card__cue{transition-delay:.62s}
.js .people__frame.reveal{filter:none}
.js .people__frame.reveal img{clip-path:inset(0 0 100% 0);transition:clip-path 1.15s var(--reveal-delay) var(--ease-out),transform 1.2s var(--ease-out),filter .65s ease}
.js .people__frame.reveal.is-visible img{clip-path:inset(0)}
.js .manifesto__title.reveal{filter:none;transform:none}
.js .manifesto__title span,.js .manifesto__title em{opacity:0;clip-path:inset(-.28em -.12em 100% -.12em);transform:translateY(.55em);transition:opacity .72s ease,clip-path 1s var(--ease-out),transform 1s var(--ease-out)}
.js .manifesto__title em{transition-delay:.14s}
.js .manifesto__title.is-visible span,.js .manifesto__title.is-visible em{opacity:1;clip-path:inset(-.28em -.12em -.16em -.12em);transform:none}
.js .contact__image.reveal{filter:none;transform:translateY(1.5rem);transition:transform 1.05s var(--ease-out),opacity .55s ease}
.js .contact__image.reveal img{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease-out),transform .35s linear}
.js .contact__image.reveal.is-visible{transform:none}
.js .contact__image.reveal.is-visible img{clip-path:inset(0)}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.manifesto :focus-visible,footer :focus-visible{outline-color:var(--paper)}

@media (max-width:1000px){
  .nav{grid-template-columns:1fr auto}.nav__links{display:none}.nav__actions{grid-column:2}
  .hero{min-height:58rem;align-content:end}
  .hero__portrait{width:100%;height:64%;top:0;border-left:0;border-bottom:0;clip-path:none}
  .hero__portrait::after{background:linear-gradient(180deg,transparent 30%,rgba(220,238,255,.12) 50%,var(--sky) 98%)}
  .hero__portrait img{object-position:58% 50%}
  .hero__copy{width:100%;padding-top:24rem;padding-bottom:5.7rem;align-self:start}
  .hero__sakura{top:18rem;right:-4rem;width:min(62rem,115vw);opacity:.34}
  .hero h1{width:min(38rem,76vw)}
  .hero__meta{grid-template-columns:1fr;max-width:39rem}
  .hero__stamp{display:none}
  .section-head{grid-template-columns:1fr}.section-head__note{justify-self:start}
  .people__head{grid-template-columns:1fr;gap:2.5rem}.people__intro{max-width:43rem}.people__gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(25rem,55vw))}.people__frame--prep,.people__frame--light,.people__frame--ceremony,.people__frame--moment{grid-column:auto;grid-row:auto}.people__frame--light img{object-position:56% 50%}.people__roles{grid-template-columns:repeat(2,minmax(0,1fr))}.people__roles li:nth-child(2){border-right:0}.people__roles li:nth-child(n+3){border-top:1px solid rgba(255,253,247,.28)}
  .manifesto__grid{grid-template-columns:1fr;gap:3rem}.manifesto__lead{max-width:39rem}
  .contact{grid-template-columns:1fr}.contact__image{margin-right:var(--pad);min-height:30rem;height:58vw;border-radius:50% 50% 1rem 1rem}.contact__copy{padding-top:2rem;padding-bottom:15rem}.contact__details{left:var(--pad);grid-template-columns:1fr 1fr}
  footer{grid-template-columns:1fr}.footer__brand{grid-row:auto}footer small{grid-column:auto;text-align:left}
}

@media (max-width:680px){
  .nav{padding:.2rem .85rem}.nav::before{inset:0 0 -.8rem}.nav::after{left:.85rem;right:.85rem}.brand{min-height:1.9rem}.brand__logo{width:6.4rem}.nav__actions{gap:.9rem}.nav__call,.nav__album{font-size:.66rem;letter-spacing:.13em}
  .hero{min-height:55rem}
  .hero__portrait{height:56%}
  .hero__sakura{top:19rem;right:-8.5rem;width:42rem;opacity:.3}
  .site__petals img{width:1.55rem}.site__petals img:nth-child(n+9){display:none}
  .hero__copy{padding:19.5rem 1rem 5.2rem}.hero h1{width:min(24rem,78vw)}.hero__line--two{gap:.65rem;width:min(23rem,95%);margin:.45rem 0 0 .8rem;font-size:.6rem;letter-spacing:.1em}.hero__line--two b{font-size:1.75rem}.hero__line--two i{flex-basis:1.5rem}
  .hero__meta{margin-top:2rem;padding-top:1rem}.hero__meta p{font-size:.95rem}.hero__actions{gap:1rem}.button{min-height:3.15rem;padding:.72rem 1rem}.text-link{font-size:.82rem}.hero__scroll{right:1rem;bottom:1.1rem}
  .ticker__track{font-size:2.05rem}
  .stories{padding-inline:1rem}.stories::before{top:.35em}.section-head h2{font-size:clamp(3.15rem,14vw,4.55rem);line-height:.9}.filters{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding:.2rem 1rem .55rem .2rem;margin-right:-1rem}.filter{white-space:nowrap}
  .story-grid{grid-template-columns:1fr;gap:4.5rem}.story-card--wide,.story-card--high,.story-card--offset{grid-column:auto;margin-top:0}.story-card--high .story-card__media{aspect-ratio:4/5}.story-card__cue{transform:none}.story-card__body{grid-template-columns:3rem 1fr}.story-card h3{font-size:clamp(2.65rem,12vw,3.25rem)}
  .people{padding-inline:1rem}.people::before{top:.15em}.people__head h2{font-size:clamp(3.1rem,14vw,4.45rem);line-height:.9}.people__head h2 em{font-size:.7em;margin-left:0;margin-top:.35em}.people__intro{font-size:1.05rem;line-height:1.6}.people__gallery{display:flex;gap:.8rem;overflow-x:auto;margin-inline:-1rem;padding:0 1rem .85rem;scroll-snap-type:x mandatory;scrollbar-width:none}.people__gallery::-webkit-scrollbar{display:none}.people__frame{flex:0 0 82vw;height:112vw;max-height:38rem;scroll-snap-align:center}.people__frame--light img{object-position:60% 50%}.people__roles{grid-template-columns:1fr}.people__roles li,.people__roles li+li{padding:1.35rem 0;border-right:0;border-top:1px solid rgba(255,253,247,.28)}.people__roles li:first-child{border-top:0}.people__closing{grid-template-columns:1fr;gap:.65rem;font-size:1.35rem}.people__closing span{padding-top:0}
  .manifesto{padding-inline:1rem}.manifesto__title{font-size:clamp(3.25rem,14.5vw,4.75rem);line-height:.9}.manifesto__title em{font-size:.66em;margin-left:0;margin-top:.35em}.manifesto__lead{font-size:clamp(1.18rem,5.5vw,1.42rem);line-height:1.48}.principles li{grid-template-columns:3rem 1fr}
  .contact__image{margin:3.7rem 1rem 2rem;height:108vw;min-height:25rem;border-radius:48% 48% .8rem .8rem}.contact__copy{padding:3rem 1rem 19rem}.contact h2{font-size:clamp(3.1rem,14vw,4.5rem);line-height:.9}.contact__details{left:1rem;right:1rem;grid-template-columns:1fr;gap:.8rem}.contact__details span{display:inline-block;min-width:7rem}
  footer{padding-inline:1rem}.footer__logo{width:min(25rem,92vw)}footer div{flex-direction:column;gap:.35rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.site__petals{display:none}.js .reveal,.js .hero__line,.js .manifesto__title span,.js .manifesto__title em{opacity:1;filter:none;clip-path:none;transform:none}
}
