
:root{
  --ivory:#f4efe6;
  --white:#fcfaf6;
  --black:#111111;
  --ink:#242322;
  --champagne:#c8af88;
  --blush:#d8b6ad;
  --taupe:#9f9387;
  --muted:#746f69;
  --line:rgba(25,25,25,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Manrope",sans-serif;overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button{font:inherit}

.header{
  height:82px;background:var(--white);padding:0 3vw;
  display:grid;grid-template-columns:.4fr 1fr 1fr;align-items:center;
  border-bottom:1px solid var(--line);position:relative;z-index:50
}
.menu-btn{display:none;border:0;background:transparent;justify-self:start}
.menu-btn span{display:block;width:28px;height:1px;background:var(--black);margin:7px 0}
.logo img{width:185px;height:auto}
.nav{justify-self:end;display:flex;gap:1.6rem;font-size:.53rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em}

.hero{min-height:890px;background:var(--ivory);position:relative;padding:4vw 5vw 6vw;overflow:hidden}
.hero-word{position:absolute;left:50%;top:2vw;transform:translateX(-50%);font:400 clamp(8rem,17vw,19rem)/.8 "Italiana",serif;white-space:nowrap;color:#ded5c7;letter-spacing:-.07em}
.hero-grid{height:680px;position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.1fr .85fr;gap:1.2vw;align-items:end;padding:0 10vw}
.panel{margin:0;overflow:hidden}
.panel.one{height:72%}.panel.two{height:91%}.panel.three{height:66%}
.hero-copy{position:absolute;left:5vw;bottom:5vw;z-index:4;max-width:660px}
.hero-copy>span,.hero-note span,.hero-note strong,.manifesto-kicker,.edit-head>span,.bride-card>span,.occasion-copy>span,.designer-copy>span,.zeus-copy>span,.details-head>span,.slot-copy>span,.slot-side,.finale-copy>span{
  font-size:.5rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase
}
.hero h1,.manifesto h2,.edit h2,.bride h2,.occasion h2,.designer-note h2,.zeus-note h2,.details h2,.slot-note h2,.finale h2{
  font:400 clamp(4rem,6.3vw,7.2rem)/.9 "Italiana",serif;
  letter-spacing:-.045em;margin:1rem 0
}
.hero-copy p{max-width:500px;line-height:1.75;color:var(--muted)}
.hero-note{position:absolute;right:5vw;bottom:5vw;text-align:right;display:flex;flex-direction:column;gap:.35rem}
.hero-note span{color:var(--muted)}
.marquee{height:48px;background:var(--black);color:white;display:flex;align-items:center;justify-content:center;gap:1.6rem;white-space:nowrap;overflow:hidden;font-size:.53rem;font-weight:600;letter-spacing:.13em}
.marquee i{font-style:normal;color:var(--champagne)}

.manifesto{padding:10vw 8vw;background:var(--white);display:grid;grid-template-columns:.25fr 1.1fr .55fr;gap:5vw}
.manifesto-kicker{writing-mode:vertical-rl;color:var(--muted)}
.manifesto h2{font-size:clamp(3.8rem,5.2vw,6rem);margin-top:0}
.manifesto-copy{align-self:end}.manifesto-copy p{line-height:1.9;color:var(--muted)}

.edit{padding:9vw 5vw;background:var(--black);color:white}
.edit-head{display:grid;grid-template-columns:.3fr 1fr;align-items:end;margin-bottom:4vw}
.edit-head>span{color:#8f8b86}
.edit h2{font-size:clamp(4rem,5.9vw,6.6rem);margin:0}
.edit-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:1vw}
.edit-rail article{background:#1d1d1d}
.edit-rail figure{margin:0;height:560px}
.edit-rail article>div{padding:1.5rem}
.edit-rail span{font-size:.5rem;color:#8d8984}.edit-rail h3{font:400 1.55rem "Italiana",serif;margin:.7rem 0}.edit-rail p{font-size:.72rem;line-height:1.6;color:#a6a29d}

.bride{min-height:800px;position:relative;background:var(--champagne);overflow:hidden}
.bride-main{margin:0;width:68%;height:800px}
.bride-card{position:absolute;right:5vw;top:50%;transform:translateY(-50%);background:var(--white);padding:3.5rem;width:min(500px,42vw)}
.bride h2{font-size:clamp(3.7rem,5vw,5.8rem)}
.bride-card p{line-height:1.85;color:var(--muted)}
.bride-card a{display:inline-block;margin-top:1.5rem;font-size:.53rem;font-weight:600;border-bottom:1px solid}
.bride-index{position:absolute;right:1.5vw;bottom:1.5vw;font:400 2.4rem "Italiana",serif;color:#8e7755}

.occasion{padding:9vw 6vw;background:var(--ivory);display:grid;grid-template-columns:.7fr 1.3fr;gap:6vw}
.occasion-copy{align-self:center}.occasion h2{font-size:clamp(3.8rem,5vw,5.8rem)}.occasion-copy p{line-height:1.85;color:var(--muted)}
.occasion-grid{height:680px;position:relative}
.occasion-grid figure{margin:0;position:absolute}
.o1{left:0;top:0;width:58%;height:88%}.o2{right:0;bottom:0;width:48%;height:56%;border:12px solid var(--ivory)}
.occasion-label{position:absolute;right:3%;top:5%;display:flex;flex-direction:column;gap:.4rem;text-align:right}
.occasion-label span{font-size:.48rem;letter-spacing:.13em}

.designer-note{padding:10vw 8vw;background:var(--blush);display:grid;grid-template-columns:.25fr 1.2fr;gap:6vw}
.designer-number{font:400 8rem/1 "Italiana",serif;color:#b88f84}
.designer-note h2{font-size:clamp(3.7rem,5vw,5.8rem)}
.designer-copy p{max-width:800px;line-height:1.85;color:#624e48}

.zeus-note{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px;background:var(--white)}
.zeus-photo{min-height:720px}
.zeus-copy{padding:7vw 6vw;display:flex;flex-direction:column;justify-content:center}
.zeus-note h2{font-size:clamp(3.7rem,5vw,5.8rem)}
.zeus-copy p{line-height:1.85;color:var(--muted)}

.details{padding:9vw 5vw;background:var(--ivory)}
.details-head{display:grid;grid-template-columns:.3fr 1fr;align-items:end;margin-bottom:4vw}
.details h2{font-size:clamp(4rem,5.8vw,6.5rem);margin:0}
.details-grid{display:grid;grid-template-columns:.8fr 1.2fr .8fr;gap:1vw;align-items:center}
.details-grid figure{margin:0;position:relative}
.details-grid figure:nth-child(1),.details-grid figure:nth-child(3){height:470px}.details-grid figure:nth-child(2){height:620px}
.details-grid figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--white);padding:.55rem .7rem;font-size:.48rem;letter-spacing:.13em}

.slot-note{padding:10vw 8vw;background:var(--champagne);display:grid;grid-template-columns:.25fr 1.2fr;gap:6vw}
.slot-side{writing-mode:vertical-rl;color:#766244}
.slot-note h2{font-size:clamp(3.6rem,4.9vw,5.6rem)}
.slot-copy p{max-width:820px;line-height:1.85;color:#5f5548}

.finale{height:820px;position:relative;color:white}
.finale figure{position:absolute;inset:0;margin:0}
.finale:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.5))}
.finale-copy{position:absolute;left:6vw;bottom:5vw;z-index:2}
.finale h2{font-size:clamp(4rem,6vw,6.8rem);max-width:900px}

footer{padding:5vw 6vw 2.5vw;background:var(--black);color:white;display:grid;grid-template-columns:1fr 1fr .5fr;gap:5vw}
.footer-logo img{width:190px;height:auto}.footer-copy p{font-size:.67rem;color:#908c86;max-width:360px}.footer-links{display:flex;flex-direction:column;gap:.55rem;font-size:.53rem;text-transform:uppercase;letter-spacing:.11em}
.footer-bottom{grid-column:1/-1;border-top:1px solid #303030;margin-top:3rem;padding-top:1.4rem;font-size:.48rem;color:#6f6b67}
.mobile-menu{display:none}

@media(max-width:980px){
  .header{grid-template-columns:auto 1fr auto}.logo{justify-self:center}.nav{display:none}.menu-btn{display:block}
  .hero-grid{padding:0 3vw}.hero-copy{max-width:540px}
  .manifesto{grid-template-columns:.2fr 1fr}.manifesto-copy{grid-column:2}
  .occasion{grid-template-columns:1fr}.occasion-copy{max-width:700px}
  .mobile-menu{display:flex;position:fixed;inset:82px 0 0;background:var(--white);z-index:40;flex-direction:column;padding:8vw;transform:translateX(100%);transition:.35s}
  .mobile-menu.open{transform:none}.mobile-menu a{font:400 3rem/1.5 "Italiana",serif;border-bottom:1px solid var(--line)}
}

@media(max-width:680px){
  .header{height:70px;padding:0 5vw}.logo img{width:160px}.mobile-menu{inset:70px 0 0}
  .hero{min-height:980px;padding:10vw 5vw}.hero-word{font-size:8rem;top:8vw}.hero-grid{height:620px;grid-template-columns:1fr 1fr;padding:0}.panel.one{height:70%;align-self:start}.panel.two{height:90%;grid-row:1;grid-column:2}.panel.three{display:none}.hero-copy{left:7vw;right:7vw;bottom:13vw}.hero h1{font-size:4.5rem}.hero-note{display:none}
  .manifesto{grid-template-columns:1fr;padding:18vw 7vw}.manifesto-kicker{writing-mode:initial}.manifesto-copy{grid-column:auto}
  .edit{padding:18vw 6vw}.edit-head{grid-template-columns:1fr}.edit-rail{grid-template-columns:1fr}.edit-rail figure{height:520px}
  .bride{min-height:860px}.bride-main{width:100%;height:560px}.bride-card{left:7vw;right:7vw;top:auto;bottom:5vw;transform:none;width:auto;padding:2rem}
  .occasion{padding:18vw 7vw}.occasion-grid{height:600px}.o1{width:70%;height:80%}.o2{width:55%;height:50%}.occasion-label{display:none}
  .designer-note{grid-template-columns:1fr;padding:18vw 7vw}.designer-number{font-size:6rem}
  .zeus-note{grid-template-columns:1fr}.zeus-photo{min-height:520px}.zeus-copy{padding:18vw 7vw}
  .details{padding:18vw 6vw}.details-head{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr}.details-grid figure,.details-grid figure:nth-child(1),.details-grid figure:nth-child(2),.details-grid figure:nth-child(3){height:500px}
  .slot-note{grid-template-columns:1fr;padding:18vw 7vw}.slot-side{writing-mode:initial}
  .finale{height:650px}.finale-copy{left:7vw;right:7vw}
  footer{grid-template-columns:1fr;padding:14vw 6vw 6vw}.footer-bottom{grid-column:1}
}
