:root {
  --paper: #fbfaf8;
  --ink: #0c0806;
  --ink-soft: #6e6159;
  --cream: #f5f1ea;
  --gold: #c5b49b;
  --gold-rich: #bd985b;
  --line: #ded6cb;
  --burgundy: #55101b;
  --burgundy-deep: #3f0106;
  --night: #17100e;
  --night-2: #241d18;
  --radius: 18px;
  --shadow: 0 30px 80px -45px rgba(12,8,6,.38);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
img { display:block; max-width:100%; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:9999; background:#fff; padding:12px 16px; border-radius:8px; box-shadow:var(--shadow); }
.skip-link:focus { top:16px; }

.site-header { position:fixed; inset:0 0 auto 0; z-index:100; padding:18px 24px; transition:padding .25s ease; }
.site-header.is-scrolled { padding-top:10px; }
.nav-shell {
  width:min(1240px, calc(100% - 16px));
  min-height:66px;
  margin:auto;
  padding:10px 12px 10px 18px;
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:20px;
  background:rgba(251,250,248,.82);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  border:1px solid rgba(99,86,78,.18);
  border-radius:999px;
  box-shadow:0 14px 50px -32px rgba(12,8,6,.45);
}
.brand-mini { display:flex; align-items:baseline; gap:10px; min-width:0; }
.brand-word { font:600 28px/1 "Playfair Display", serif; letter-spacing:-.045em; }
.gold-dot { color:var(--gold-rich); }
.brand-est { font-size:9px; letter-spacing:.22em; color:var(--gold-rich); white-space:nowrap; }
.nav-links { display:flex; align-items:center; gap:26px; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#4f443e; }
.nav-links a { position:relative; padding:10px 0; }
.nav-links a::after { content:""; position:absolute; left:0; right:100%; bottom:5px; height:1px; background:var(--burgundy); transition:right .2s ease; }
.nav-links a:hover::after { right:0; }
.nav-cta { justify-self:end; display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 20px; color:var(--cream); background:linear-gradient(110deg,var(--burgundy),var(--burgundy-deep)); border-radius:999px; font-size:11px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }

.hero { position:relative; min-height:100svh; overflow:hidden; padding:128px 24px 0; background:var(--paper); }
.texture-grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(99,86,78,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(99,86,78,.12) 1px,transparent 1px); background-size:46px 46px; mask-image:linear-gradient(to bottom,black,transparent 85%); }
.hero-orb { position:absolute; border-radius:50%; filter:blur(1px); opacity:.75; pointer-events:none; }
.hero-orb-a { width:520px;height:520px;right:-190px;top:80px;background:radial-gradient(circle,rgba(197,180,155,.25),rgba(197,180,155,0) 70%); }
.hero-orb-b { width:430px;height:430px;left:-160px;bottom:40px;background:radial-gradient(circle,rgba(85,16,27,.08),rgba(85,16,27,0) 70%); }
.hero-inner { position:relative; z-index:2; width:min(1420px,100%); margin:auto; min-height:calc(100svh - 168px); display:grid; grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr); gap:72px; align-items:center; padding:30px 0 60px; }
.eyebrow, .kicker { font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--burgundy); }
.eyebrow span { width:34px; height:1px; background:var(--gold-rich); }
.hero-logo-lockup { width:min(430px,92%); margin:22px 0 20px; }
.hero-logo-word { font:500 clamp(72px,6.2vw,102px)/.82 "Playfair Display",serif; letter-spacing:-.065em; color:#171719; white-space:nowrap; padding-bottom:18px; }
.hero-logo-word::first-letter { letter-spacing:-.075em; }
.hero-logo-e { position:relative; display:inline-block; }
.hero-logo-e::after { content:""; position:absolute; left:.38em; top:-.22em; width:.075em; height:.29em; background:var(--gold-rich); border-radius:999px; transform:rotate(28deg); transform-origin:center; }
.hero-logo-word .hero-logo-domain { font-size:.28em; letter-spacing:-.035em; margin-left:.05em; }
.hero-logo-est { margin-top:26px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; color:var(--gold-rich); }
.hero-logo-est span { height:1px; background:var(--gold-rich); opacity:.85; }
.hero-logo-est strong { font:500 15px/1 Inter,sans-serif; letter-spacing:.25em; white-space:nowrap; }
.hero h1, .manifesto h2, .world h2, .process h2, .business h2, .launch h2 { font-family:"Playfair Display",serif; font-weight:500; letter-spacing:-.055em; margin:0; }
.hero h1 { font-size:clamp(64px,7vw,112px); line-height:.88; max-width:760px; }
.hero h1 em, .manifesto h2 em, .world h2 em, .launch h2 em { color:var(--burgundy); font-weight:500; }
.hero-lead { max-width:650px; margin:30px 0 0; color:var(--ink-soft); font-size:clamp(17px,1.6vw,21px); line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.button { min-height:50px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; transition:transform .18s ease,background .18s ease,border-color .18s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:var(--cream); background:linear-gradient(110deg,var(--burgundy),var(--burgundy-deep)); border:1px solid transparent; }
.button-ghost { border:1px solid var(--line); background:rgba(255,255,255,.46); }
.hero-note { display:flex; gap:18px; margin-top:28px; color:#7a6d65; font-family:"Playfair Display",serif; font-style:italic; font-size:15px; }
.hero-note span+span::before { content:"·"; margin-right:18px; color:var(--gold-rich); }

.hero-visual { position:relative; height:min(690px,67vw); min-height:590px; }
.hero-photo { position:absolute; overflow:hidden; background:#ddd5ca; box-shadow:var(--shadow); }
.hero-photo img { width:100%; height:100%; object-fit:cover; }
.hero-photo-main { width:69%; height:78%; right:7%; top:4%; border-radius:180px 180px 24px 24px; }
.hero-photo-main::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.28); border-radius:inherit; pointer-events:none; }
.photo-label { position:absolute; left:22px; right:22px; bottom:20px; display:flex; justify-content:space-between; align-items:center; padding:13px 15px; color:white; background:rgba(12,8,6,.58); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.16); border-radius:12px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.photo-label span { color:#decaa8; }
.hero-photo-small { width:29%; aspect-ratio:1/1.12; border-radius:16px; border:6px solid var(--paper); }
.hero-photo-glass { left:1%; top:11%; transform:rotate(-5deg); }
.hero-photo-studio { right:0; bottom:3%; transform:rotate(4deg); }
.launch-stamp { position:absolute; left:13%; bottom:9%; width:150px; height:150px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--cream); background:var(--burgundy); border:1px solid rgba(197,180,155,.65); outline:1px solid rgba(85,16,27,.35); outline-offset:6px; transform:rotate(-8deg); box-shadow:0 20px 45px -25px rgba(85,16,27,.8); }
.launch-stamp span,.launch-stamp small { font-size:9px; letter-spacing:.26em; }
.launch-stamp strong { font:500 56px/.95 "Playfair Display",serif; color:#d9c3a0; }
.hero-ticker { position:relative; z-index:3; margin:0 -24px; overflow:hidden; color:var(--cream); background:var(--night); border-top:1px solid #3c302a; border-bottom:1px solid #3c302a; }
.ticker-track { display:flex; width:max-content; gap:26px; padding:14px 0; animation:ticker 35s linear infinite; font-size:10px; font-weight:600; letter-spacing:.24em; }
.ticker-track i { color:var(--gold-rich); font-style:normal; }
@keyframes ticker { to { transform:translateX(-50%); } }

.section-pad { padding:118px max(24px,calc((100vw - 1420px)/2)); }
.section-index { font-size:10px; letter-spacing:.24em; font-weight:600; color:#9a8c82; text-transform:uppercase; }
.manifesto-grid { display:grid; grid-template-columns:1fr 1fr; gap:120px; margin-top:42px; align-items:start; }
.kicker { color:var(--burgundy); margin:0 0 18px; }
.manifesto h2 { font-size:clamp(54px,5.4vw,88px); line-height:.98; }
.manifesto-copy { padding-top:34px; max-width:620px; }
.manifesto-copy p { color:var(--ink-soft); font-size:17px; line-height:1.8; margin:0 0 20px; }
.manifesto-copy .lead-copy { color:var(--ink); font:500 clamp(26px,2.3vw,34px)/1.35 "Playfair Display",serif; }
.signature-line { margin-top:34px; display:flex; align-items:center; gap:14px; color:#8a7a70; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.signature-line span { width:46px;height:1px;background:var(--gold-rich); }

.world { background:linear-gradient(160deg,#110b09,#1b1210 58%,#261d18); color:var(--cream); }
.world-head { display:grid; grid-template-columns:1fr 2fr; gap:40px; margin-bottom:68px; }
.section-index.light { color:#85766c; }
.light-kicker { color:var(--gold); }
.world h2 { font-size:clamp(52px,5vw,82px); line-height:1.03; }
.world h2 em { color:#d3bea0; }
.bento-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:230px; gap:18px; }
.bento-card { position:relative; overflow:hidden; grid-column:span 4; border-radius:var(--radius); background:#251b17; border:1px solid rgba(197,180,155,.12); }
.bento-card img { width:100%;height:100%;object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.bento-card:hover img { transform:scale(1.035); }
.bento-large { grid-column:span 7; grid-row:span 2; }
.bento-wide { grid-column:span 8; }
.bento-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(11,7,6,.88),rgba(11,7,6,.08) 66%); }
.bento-copy { position:absolute; left:26px; right:26px; bottom:24px; z-index:2; }
.bento-copy span { color:#d7c3a4; font-size:9px; letter-spacing:.24em; font-weight:600; }
.bento-copy h3,.bento-text h3 { margin:8px 0 5px; font:500 clamp(25px,2.2vw,38px)/1.08 "Playfair Display",serif; letter-spacing:-.03em; }
.bento-copy p,.bento-text p { max-width:560px;color:#d8cec8;font-size:14px;line-height:1.6; }
.bento-copy.compact h3 { max-width:380px; font-size:29px; }
.bento-text { grid-column:span 5; padding:34px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(145deg,#3e0a12,#5b111d); }
.bento-text .kicker { color:#dbc7a9; }
.bento-text p { color:#eadfd8; }
.big-number { position:absolute; top:-30px; right:20px; font:500 160px/1 "Playfair Display",serif; color:rgba(255,255,255,.045); }

.process { display:grid; grid-template-columns:.85fr 1.15fr; gap:84px; align-items:center; }
.process-intro { align-self:start; padding-top:28px; }
.process h2 { font-size:clamp(50px,4.5vw,74px); line-height:1; }
.process-intro>p:not(.kicker) { max-width:540px; margin:24px 0 0; color:var(--ink-soft); font-size:17px; line-height:1.75; }
.process-media { position:relative; overflow:hidden; border-radius:24px; min-height:560px; box-shadow:var(--shadow); }
.process-media img { width:100%; height:100%; min-height:560px; object-fit:cover; }
.process-badge { position:absolute; left:20px; bottom:20px; padding:13px 16px; color:var(--cream); background:rgba(12,8,6,.66); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(14px); border-radius:999px; font-size:9px; letter-spacing:.22em; }
.process-steps { grid-column:1/-1; margin-top:10px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.step { padding:26px 28px 0 0; border-right:1px solid var(--line); min-height:170px; }
.step+.step { padding-left:28px; }
.step:last-child { border-right:0; }
.step span { color:var(--gold-rich); font-size:10px; letter-spacing:.2em; }
.step h3 { margin:11px 0 8px; font:500 27px/1.1 "Playfair Display",serif; }
.step p { color:var(--ink-soft); font-size:14px; line-height:1.6; }

.business { display:grid; grid-template-columns:1.05fr .95fr; min-height:680px; background:var(--burgundy-deep); color:var(--cream); }
.business-media { overflow:hidden; min-height:560px; }
.business-media img { width:100%;height:100%;object-fit:cover; }
.business-copy { padding:90px clamp(36px,7vw,110px); display:flex; flex-direction:column; justify-content:center; }
.business h2 { margin-top:8px; font-size:clamp(48px,4.4vw,74px); line-height:1.02; }
.business-copy>p:not(.kicker) { max-width:560px; margin:25px 0 0; color:#eadfd8; font-size:17px; line-height:1.75; }
.business-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.business-tags span { padding:8px 11px; border:1px solid rgba(197,180,155,.33); border-radius:999px; color:#dbc9ae; font-size:9px; letter-spacing:.18em; }

.launch-card { position:relative; overflow:hidden; min-height:590px; padding:72px clamp(34px,6vw,86px); display:flex; align-items:center; border:1px solid var(--line); border-radius:28px; background:linear-gradient(145deg,#f7f2ec,#efe5db); box-shadow:var(--shadow); }
.launch-card::before { content:""; position:absolute; inset:0; background-image:radial-gradient(circle at 78% 30%,rgba(85,16,27,.1),transparent 26%),linear-gradient(rgba(99,86,78,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(99,86,78,.08) 1px,transparent 1px); background-size:auto,42px 42px,42px 42px; }
.launch-copy { position:relative; z-index:2; max-width:720px; }
.launch h2 { font-size:clamp(62px,7vw,110px); line-height:.9; }
.launch-copy>p:not(.kicker) { max-width:600px; margin:25px 0 0; color:var(--ink-soft); font-size:17px; line-height:1.7; }
.instagram-card { margin-top:34px; width:min(520px,100%); min-height:78px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; padding:13px 17px; border-radius:16px; background:var(--night); color:var(--cream); transition:transform .2s ease,box-shadow .2s ease; }
.instagram-card:hover { transform:translateY(-3px); box-shadow:0 25px 45px -32px rgba(12,8,6,.72); }
.instagram-icon { width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(197,180,155,.35);font-size:26px;color:#d3bea0; }
.instagram-card small { display:block;color:#9f9086;font-size:9px;letter-spacing:.18em; }
.instagram-card strong { display:block;margin-top:3px;font-size:17px; }
.instagram-arrow { font-size:24px;color:#d3bea0; }
.launch-year { position:absolute; right:-20px; bottom:-95px; font:500 clamp(250px,30vw,520px)/.8 "Playfair Display",serif; letter-spacing:-.08em; color:rgba(85,16,27,.055); }

.footer { padding:0 max(24px,calc((100vw - 1420px)/2)) 44px; }
.footer-inner { padding-top:34px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:30px; align-items:flex-end; }
.footer-brand { font:600 34px/1 "Playfair Display",serif; letter-spacing:-.04em; }
.footer-brand span { color:var(--gold-rich); }
.footer p { margin:8px 0 0; color:#8a7c73; font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.footer-right { text-align:right; }
.footer-right a { font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1); transition-delay:var(--delay,0ms); }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width:1100px) {
  .nav-links { display:none; }
  .nav-shell { grid-template-columns:1fr auto; }
  .hero-inner { grid-template-columns:1fr; gap:45px; padding-bottom:70px; }
  .hero-copy { max-width:820px; }
  .hero-visual { width:min(780px,100%); margin:auto; height:670px; }
  .manifesto-grid { gap:60px; }
  .world-head { grid-template-columns:1fr; }
  .bento-large { grid-column:span 8; }
  .bento-text { grid-column:span 4; }
  .bento-card { grid-column:span 6; }
  .bento-wide { grid-column:span 6; }
  .process { grid-template-columns:1fr; gap:46px; }
  .process-media { min-height:500px; }
  .process-steps { margin-top:0; }
  .business { grid-template-columns:1fr; }
  .business-media { min-height:520px; max-height:620px; }
}

@media (max-width:760px) {
  .site-header { padding:12px 10px; }
  .nav-shell { width:100%; min-height:60px; padding:8px 8px 8px 14px; }
  .brand-word { font-size:25px; }
  .brand-est { display:none; }
  .nav-cta { padding:0 15px; font-size:10px; }
  .hero { padding:102px 18px 0; }
  .hero-inner { min-height:auto; padding-top:32px; }
  .hero-logo-lockup { width:min(330px,92%); margin-top:18px; }
  .hero-logo-word { font-size:clamp(68px,22vw,88px); padding-bottom:16px; }
  .hero-logo-est { margin-top:26px; gap:10px; }
  .hero-logo-est strong { font-size:12px; letter-spacing:.2em; }
  .hero h1 { font-size:clamp(58px,20vw,82px); }
  .hero-lead { font-size:16px; line-height:1.65; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; }
  .hero-note { flex-wrap:wrap; gap:8px; }
  .hero-note span+span::before { margin-right:8px; }
  .hero-visual { height:510px; min-height:510px; margin-top:2px; }
  .hero-photo-main { width:72%;height:72%;right:5%;top:7%;border-radius:100px 100px 18px 18px; }
  .hero-photo-small { width:34%; border-width:4px; }
  .hero-photo-glass { top:16%;left:0; }
  .hero-photo-studio { bottom:3%;right:1%; }
  .launch-stamp { width:112px;height:112px;left:8%;bottom:6%; }
  .launch-stamp strong { font-size:42px; }
  .section-pad { padding:80px 18px; }
  .manifesto-grid { grid-template-columns:1fr; gap:28px; margin-top:32px; }
  .manifesto-copy { padding-top:0; }
  .manifesto-copy p { font-size:15px; }
  .world-head { margin-bottom:38px; }
  .bento-grid { grid-template-columns:1fr; grid-auto-rows:310px; }
  .bento-card,.bento-large,.bento-text,.bento-wide { grid-column:auto;grid-row:auto; }
  .bento-text { min-height:350px; }
  .bento-copy { left:20px;right:20px;bottom:20px; }
  .bento-copy h3,.bento-copy.compact h3,.bento-text h3 { font-size:29px; }
  .process-media,.process-media img { min-height:390px; }
  .process-steps { grid-template-columns:1fr 1fr; }
  .step { border-bottom:1px solid var(--line); min-height:160px; padding:22px 18px 0 0; }
  .step+.step { padding-left:18px; }
  .step:nth-child(2) { border-right:0; }
  .step:nth-child(3),.step:nth-child(4) { border-bottom:0; }
  .business-media { min-height:380px; }
  .business-copy { padding:70px 24px; }
  .launch-card { min-height:620px; padding:48px 24px; align-items:flex-start; }
  .launch h2 { font-size:clamp(62px,19vw,90px); }
  .launch-year { right:-10px;bottom:-50px; }
  .footer { padding:0 18px 30px; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
  .footer-right { text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .reveal { opacity:1; transform:none; }
}
