
:root {
  --bg: #f7eddf;
  --paper: #fcf7ef;
  --cream: #f7e8d5;
  --cocoa: #291816;
  --cocoa-soft: #442823;
  --berry: #7d2e42;
  --raspberry: #b3485d;
  --rose: #d8aaa5;
  --pistachio: #a7b083;
  --gold: #c3a06c;
  --muted: #705e58;
  --line: rgba(41, 24, 22, .14);
  --white: #fff;
  --display: "Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", Georgia, serif;
  --sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  --container: min(1480px, calc(100vw - 64px));
  --radius: 30px;
  --ease: cubic-bezier(.2, .72, .18, 1);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--cocoa);
  background: var(--bg);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, video { display: block; width: 100%; height: 100%; object-fit: cover; }
figure { margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { color: var(--cocoa); background: var(--gold); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.grain {
  position: fixed; inset: 0; z-index: 2; pointer-events: none; opacity: .035;
  background-image: radial-gradient(circle at 20% 20%, rgba(0,0,0,.35) 1px, transparent 1px),
                    radial-gradient(circle at 70% 50%, rgba(0,0,0,.3) 1px, transparent 1px);
  background-size: 190px 190px, 250px 250px;
}
.progress-bar { position:fixed; inset:0 auto auto 0; z-index:1200; height:3px; width:0; background:linear-gradient(90deg,var(--berry),var(--gold),var(--pistachio)); }
.page-transition {
  position: fixed; inset: 0; z-index: 1100; display:grid; place-items:center;
  background: var(--cocoa); color: var(--cream); transform: translateY(-100%);
  transition: transform .55s var(--ease); pointer-events:none;
}
.page-transition span { font-family:var(--display); font-size:clamp(30px,5vw,76px); }
body.is-leaving .page-transition { transform: translateY(0); }

.cursor {
  position:fixed; left:0; top:0; z-index:1300; width:74px; height:74px; display:grid; place-items:center;
  border-radius:50%; background:var(--gold); color:var(--cocoa); pointer-events:none;
  transform:translate(-50%,-50%) scale(0); transition:transform .22s var(--ease);
}
.cursor.is-visible { transform:translate(-50%,-50%) scale(1); }
.cursor span { font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }

.site-header {
  position:fixed; inset:0 0 auto; z-index:200; display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  padding:18px 32px; color:var(--cream); mix-blend-mode:difference; transition:transform .4s var(--ease);
}
.site-header.is-hidden { transform:translateY(-110%); }
.brand { display:inline-flex; align-items:center; gap:12px; justify-self:start; }
.brand-mark { width:40px; aspect-ratio:1; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-family:var(--display); font-size:15px; }
.brand-name { font-size:11px; text-transform:uppercase; letter-spacing:.15em; }
.nav { display:flex; gap:27px; }
.nav a { position:relative; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; opacity:.74; }
.nav a.is-active, .nav a:hover { opacity:1; }
.nav a.is-active::after { content:""; position:absolute; left:0; right:0; bottom:-8px; height:1px; background:currentColor; }
.nav-cta { justify-self:end; display:inline-flex; gap:14px; align-items:center; padding:10px 15px; border:1px solid currentColor; border-radius:999px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.menu-toggle { display:none; width:48px; height:48px; border:1px solid currentColor; border-radius:50%; background:transparent; }
.menu-toggle span:not(.sr-only) { display:block; width:18px; height:1px; margin:5px auto; background:currentColor; }
.mobile-menu {
  position:fixed; inset:0; z-index:180; display:grid; align-content:end; gap:44px; padding:110px 24px 36px;
  color:var(--cream); background:var(--cocoa); opacity:0; visibility:hidden; transform:translateY(-18px); transition:.42s var(--ease);
}
.mobile-menu.is-open { opacity:1; visibility:visible; transform:none; }
.mobile-menu nav { display:grid; gap:11px; }
.mobile-menu nav a { font-family:var(--display); font-size:clamp(42px,11vw,70px); line-height:.98; }
.mobile-menu p { margin:0; color:rgba(255,255,255,.56); font-size:10px; text-transform:uppercase; letter-spacing:.16em; }

.section { padding:126px 32px; }
.section > * { width:var(--container); margin-inline:auto; }
.section--dark { color:var(--cream); background:var(--cocoa); }
.section--rose { background:#ead4d2; }
.section-label, .kicker, .eyebrow {
  font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.18em;
}
.section-label { margin-bottom:46px; color:var(--raspberry); }
.kicker { color:inherit; opacity:.72; }
.eyebrow { color:var(--berry); }
.display {
  margin:0; font-family:var(--display); font-weight:400; letter-spacing:-.045em; line-height:.93;
  font-size:clamp(56px,7.5vw,122px);
}
.display em, .page-title em, .article-title em { color:var(--berry); font-weight:400; }
.section--dark .display em { color:var(--gold); }
.lead { max-width:620px; font-family:var(--display); font-size:clamp(24px,2.2vw,35px); line-height:1.35; color:rgba(247,232,213,.78); }
.button {
  display:inline-flex; justify-content:space-between; align-items:center; gap:24px; min-width:220px;
  padding:15px 18px; border:0; border-radius:999px; cursor:pointer; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.12em;
}
.button--primary { color:var(--cream); background:var(--berry); }
.button--dark { color:var(--cream); background:var(--cocoa); }
.button--cream { color:var(--cocoa); background:var(--cream); }
.button--outline { color:var(--cocoa); border:1px solid rgba(41,24,22,.35); background:transparent; }
.text-link { display:inline-flex; align-items:center; gap:14px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.text-link--dark { color:var(--berry); }

.hero { position:relative; min-height:100svh; overflow:hidden; color:var(--cream); background:var(--cocoa); padding:108px 32px 28px; }
.hero-media, .hero-overlay { position:absolute; inset:0; }
.hero-video { filter:saturate(.9) contrast(1.02) brightness(.68); transform:scale(1.02); }
.hero-overlay { background:linear-gradient(90deg, rgba(37,20,18,.82) 0%, rgba(37,20,18,.46) 50%, rgba(37,20,18,.68) 100%), linear-gradient(180deg, rgba(0,0,0,.12), rgba(37,20,18,.46)); }
.hero-top, .hero-home-layout, .hero-scroll { position:relative; z-index:3; width:var(--container); margin-inline:auto; }
.hero-top { display:flex; justify-content:space-between; font-size:9px; text-transform:uppercase; letter-spacing:.18em; }
.hero-home-layout { display:grid; grid-template-columns:1.25fr .55fr; gap:50px; align-items:end; min-height:calc(100svh - 175px); }
.hero-title { margin:10px 0 0; font-family:var(--display); font-weight:400; line-height:.76; letter-spacing:-.055em; font-size:clamp(90px,15vw,245px); }
.hero-title span { display:block; }
.hero-title__soft { margin-left:5vw; color:#f0d0ce; font-style:italic; }
.hero-tag { margin:24px 0 0; font-family:var(--display); font-size:clamp(31px,3.2vw,53px); line-height:1; }
.hero-tag em { color:var(--gold); }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:30px; }
.hero-note { justify-self:end; padding:24px; width:min(100%,320px); border:1px solid rgba(255,255,255,.18); border-radius:24px; background:rgba(255,255,255,.06); backdrop-filter:blur(10px); }
.hero-note > span { display:block; margin-bottom:14px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.hero-note p { margin:0; font-family:var(--display); font-size:23px; line-height:1.25; }
.hero-scroll { display:flex; justify-content:space-between; margin-top:-5px; font-size:9px; text-transform:uppercase; letter-spacing:.16em; }

.ticker { overflow:hidden; background:var(--cream); border-bottom:1px solid var(--line); padding:15px 0; }
.ticker-track { display:flex; width:max-content; animation:ticker 27s linear infinite; }
.ticker-track span { padding-right:42px; color:var(--berry); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }
@keyframes ticker { to { transform:translateX(-50%); } }

.manifesto-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:8vw; align-items:end; }
.manifesto-copy { display:grid; gap:20px; max-width:520px; }
.manifesto-copy p { margin:0; color:var(--muted); font-size:15px; line-height:1.85; }

.home-collection { background:var(--paper); }
.home-collection__head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:70px; }
.home-collection__grid { display:grid; grid-template-columns:1.22fr .78fr .78fr; gap:18px; align-items:stretch; }
.creation-card { position:relative; display:block; min-height:580px; overflow:hidden; border-radius:var(--radius); background:var(--cream); color:var(--cream); }
.creation-card--hero { min-height:720px; }
.creation-card figure { position:absolute; inset:0; }
.creation-card figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(35,16,15,.76)); }
.creation-card img { transition:transform .8s var(--ease); }
.creation-card:hover img { transform:scale(1.055); }
.creation-card__caption { position:absolute; inset:auto 0 0; z-index:2; padding:25px; display:grid; grid-template-columns:38px 1fr; gap:4px 14px; }
.creation-card__caption span { grid-row:span 2; font-size:9px; letter-spacing:.14em; }
.creation-card__caption h3 { margin:0; font-family:var(--display); font-size:clamp(30px,3vw,48px); font-weight:400; }
.creation-card__caption p { margin:0; font-size:10px; text-transform:uppercase; letter-spacing:.11em; color:rgba(255,255,255,.75); }

.home-atelier { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; }
.home-atelier > * { width:auto; margin:0; }
.home-atelier__media { min-height:800px; overflow:hidden; border-radius:0 var(--radius) var(--radius) 0; }
.home-atelier__media video { filter:brightness(.76) saturate(.85); }
.home-atelier__copy { padding-right:max(32px,calc((100vw - 1480px)/2)); }
.home-atelier__copy .eyebrow { color:var(--gold); }
.home-atelier__copy .button { margin-top:24px; }

.home-bespoke__layout { display:grid; grid-template-columns:1.25fr .55fr; gap:8vw; align-items:end; }
.home-bespoke__aside { display:grid; gap:24px; }
.home-bespoke__aside p { margin:0; color:var(--muted); line-height:1.85; }
.journal-teaser { background:#efe0cc; }
.journal-teaser__head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:60px; }
.journal-mini-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.journal-mini { min-height:450px; padding:26px; display:flex; flex-direction:column; border:1px solid rgba(41,24,22,.18); border-radius:var(--radius); background:var(--cream); transition:transform .4s var(--ease); }
.journal-mini:hover { transform:translateY(-7px); }
.journal-mini--rose { background:#e7c4c1; }
.journal-mini--pistachio { background:#cdd2b4; }
.journal-mini > span { font-size:9px; text-transform:uppercase; letter-spacing:.14em; }
.journal-mini h3 { margin:auto 0 20px; font-family:var(--display); font-weight:400; font-size:clamp(34px,3.4vw,55px); line-height:.98; }
.journal-mini p { margin:0; color:var(--muted); line-height:1.7; font-size:13px; }

.page-hero {
  min-height:92svh; padding:130px 32px 70px; display:grid; grid-template-columns:.85fr 1.15fr; gap:7vw; align-items:end;
  background:var(--paper);
}
.page-hero > * { width:auto; margin:0; }
.page-hero__copy { padding-left:max(0px,calc((100vw - 1480px)/2)); }
.page-title { margin:20px 0 0; font-family:var(--display); font-size:clamp(66px,9vw,148px); line-height:.88; letter-spacing:-.05em; font-weight:400; }
.page-intro { max-width:580px; margin:28px 0 0; color:var(--muted); font-size:15px; line-height:1.85; }
.page-hero__collage { position:relative; min-height:700px; padding-right:max(0px,calc((100vw - 1480px)/2)); }
.page-hero__collage figure { position:absolute; overflow:hidden; border-radius:var(--radius); box-shadow:0 22px 70px rgba(41,24,22,.08); }
.collage-a { left:3%; top:4%; width:54%; height:65%; }
.collage-b { right:2%; bottom:0; width:42%; height:56%; }
.collage-c { left:31%; bottom:5%; width:28%; height:34%; border:8px solid var(--paper); }
.collection-intro__grid { display:grid; grid-template-columns:1.3fr .5fr; gap:7vw; align-items:end; }
.collection-intro__grid p { color:var(--muted); line-height:1.85; }
.catalogue { padding-top:40px; }
.catalogue-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.catalogue-card { grid-column:span 6; }
.catalogue-card--large { grid-column:span 12; }
.catalogue-card--wide { grid-column:span 6; }
.catalogue-card figure { height:650px; border-radius:var(--radius); overflow:hidden; }
.catalogue-card--large figure { height:780px; }
.catalogue-card img { transition:transform .8s var(--ease); }
.catalogue-card:hover img { transform:scale(1.04); }
.catalogue-card > div { padding:18px 4px 48px; }
.catalogue-card span { font-size:9px; text-transform:uppercase; letter-spacing:.15em; color:var(--berry); }
.catalogue-card h2 { margin:8px 0 6px; font-family:var(--display); font-size:clamp(34px,4vw,62px); font-weight:400; }
.catalogue-card p { margin:0; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.09em; }
.collection-cta { text-align:center; }
.collection-cta .display { max-width:1100px; margin-inline:auto; }
.collection-cta .button { margin-top:40px; }

.creation-hero { position:relative; min-height:100svh; overflow:hidden; color:var(--cream); background:var(--cocoa); }
.creation-hero__image, .creation-hero__shade { position:absolute; inset:0; }
.creation-hero__image img { object-position:center 45%; }
.creation-hero__shade { background:linear-gradient(90deg,rgba(38,18,17,.76),rgba(38,18,17,.18) 56%,rgba(38,18,17,.45)); }
.creation-hero__copy { position:absolute; z-index:2; left:max(32px,calc((100vw - 1480px)/2)); bottom:85px; }
.creation-title { margin:20px 0 0; font-family:var(--display); font-size:clamp(90px,14vw,220px); font-weight:400; line-height:.76; letter-spacing:-.055em; }
.creation-title em { color:#f0cccf; }
.creation-sub { font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.creation-back { position:absolute; z-index:2; right:32px; bottom:32px; font-size:9px; text-transform:uppercase; letter-spacing:.14em; }
.creation-overview__grid { display:grid; grid-template-columns:1.25fr .55fr; gap:8vw; align-items:end; }
.creation-notes > p { color:var(--muted); line-height:1.85; }
.creation-notes dl { margin:32px 0 0; }
.creation-notes dl > div { display:grid; grid-template-columns:100px 1fr; padding:13px 0; border-top:1px solid var(--line); }
.creation-notes dt { font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.13em; }
.creation-notes dd { margin:0; color:var(--muted); }
.creation-editorial { display:grid; grid-template-columns:1.1fr .45fr .65fr; gap:18px; align-items:center; background:var(--paper); }
.creation-editorial > * { width:auto; margin:0; }
.creation-editorial figure { height:720px; overflow:hidden; border-radius:var(--radius); }
.creation-editorial__portrait { height:560px !important; }
.creation-editorial__copy { padding:34px; }
.creation-editorial__copy span { font-size:9px; text-transform:uppercase; letter-spacing:.14em; color:var(--berry); }
.creation-editorial__copy h2 { font-family:var(--display); font-size:clamp(32px,3vw,48px); font-weight:400; line-height:1.05; }
.creation-editorial__copy p { color:var(--muted); line-height:1.8; }
.taste-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.taste-card { min-height:360px; padding:26px; border:1px solid rgba(255,255,255,.16); border-radius:var(--radius); display:flex; flex-direction:column; }
.taste-card span { font-size:9px; letter-spacing:.15em; }
.taste-card h3 { margin:auto 0 12px; font-family:var(--display); font-size:52px; font-weight:400; }
.taste-card p { margin:0; color:rgba(255,255,255,.62); line-height:1.75; }
.next-creation__layout { display:grid; grid-template-columns:1fr .75fr; gap:40px; align-items:end; }
.next-creation__layout figure { height:560px; border-radius:var(--radius); overflow:hidden; }
.next-creation__layout .button { grid-column:1; justify-self:start; }

.atelier-hero { position:relative; min-height:100svh; color:var(--cream); background:var(--cocoa); overflow:hidden; }
.atelier-hero__media, .atelier-hero__overlay { position:absolute; inset:0; }
.atelier-hero__media video { filter:brightness(.62) saturate(.82); }
.atelier-hero__overlay { background:linear-gradient(90deg,rgba(38,20,18,.76),rgba(38,20,18,.15) 70%); }
.atelier-hero__copy { position:absolute; z-index:2; left:max(32px,calc((100vw - 1480px)/2)); bottom:80px; max-width:1100px; }
.atelier-hero .page-intro { color:rgba(255,255,255,.72); }
.chef-story__grid { display:grid; grid-template-columns:1.2fr .55fr; gap:8vw; align-items:start; }
.chef-story__copy { padding-top:54px; }
.chef-story__copy p { color:var(--muted); line-height:1.85; }
.chef-story__copy blockquote { margin:34px 0 0; padding:20px 0 20px 22px; border-left:2px solid var(--berry); font-family:var(--display); font-size:24px; line-height:1.4; }
.craft-story-section { display:grid; grid-template-columns:1fr 1fr; min-height:300vh; color:var(--cream); background:var(--cocoa); }
.craft-stage { position:sticky; top:0; height:100vh; overflow:hidden; }
.craft-stage figure, .craft-stage__shade { position:absolute; inset:0; }
.craft-stage figure img { filter:brightness(.7) saturate(.9); }
.craft-stage__shade { background:linear-gradient(180deg,transparent 35%,rgba(41,24,22,.72)); }
.craft-stage__counter { position:absolute; z-index:2; left:32px; bottom:28px; font-family:var(--display); font-size:28px; }
.craft-story { width:min(650px,calc(100% - 64px)); margin:0 auto; padding:110px 0; }
.craft-story .display { margin-bottom:16vh; }
.craft-step { display:grid; grid-template-columns:62px 1fr; min-height:48vh; padding-top:34px; border-top:1px solid rgba(255,255,255,.15); opacity:.28; transition:opacity .4s ease; }
.craft-step.is-active { opacity:1; }
.craft-step > span { font-size:9px; letter-spacing:.15em; }
.craft-step h3 { margin:0 0 14px; font-family:var(--display); font-size:clamp(42px,5vw,70px); font-weight:400; }
.craft-step p { max-width:440px; margin:0; color:rgba(255,255,255,.62); line-height:1.8; }
.world-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:70px; }
.world-card { min-height:420px; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:var(--cream); display:flex; flex-direction:column; }
.world-card--gold { background:#dbc49f; }
.world-card--rose { background:#e3c4c2; }
.world-card span { font-size:9px; text-transform:uppercase; letter-spacing:.15em; }
.world-card h3 { margin:auto 0 12px; font-family:var(--display); font-size:52px; font-weight:400; }
.world-card p { margin:0; color:var(--muted); line-height:1.7; }

.page-hero--bespoke { background:#ead8ca; }
.bespoke-hero-image { min-height:700px; overflow:hidden; border-radius:var(--radius) 0 0 var(--radius); }
.services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.service-card { min-height:430px; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--cream); display:flex; flex-direction:column; }
.service-card--rose { background:#e7c5c1; }
.service-card--pistachio { background:#cdd3b4; }
.service-card--cocoa { color:var(--cream); background:var(--cocoa-soft); }
.service-card > span { font-size:9px; letter-spacing:.15em; }
.service-card h2 { margin:auto 0 14px; font-family:var(--display); font-size:clamp(44px,5vw,74px); font-weight:400; }
.service-card p { max-width:520px; margin:0; color:var(--muted); line-height:1.75; }
.service-card--cocoa p { color:rgba(255,255,255,.65); }
.bespoke-gallery { background:var(--paper); }
.bespoke-gallery__grid { display:grid; grid-template-columns:1.15fr .8fr .8fr; gap:18px; }
.bespoke-gallery__grid figure { height:650px; border-radius:var(--radius); overflow:hidden; }
.bespoke-gallery__grid figure:nth-child(2) { height:520px; margin-top:100px; }
.bespoke-gallery__grid figure:nth-child(3) { height:590px; margin-top:35px; }
.process-list { margin-top:70px; }
.process-row { display:grid; grid-template-columns:80px 1fr 1fr; gap:30px; align-items:center; padding:28px 0; border-top:1px solid rgba(255,255,255,.15); }
.process-row span { font-size:9px; letter-spacing:.15em; }
.process-row h3 { margin:0; font-family:var(--display); font-size:42px; font-weight:400; }
.process-row p { margin:0; color:rgba(255,255,255,.62); line-height:1.7; }
.commission-process .button { margin-top:40px; }

.page-hero--journal { background:#eee0ce; }
.journal-hero-image { min-height:700px; overflow:hidden; border-radius:var(--radius) 0 0 var(--radius); }
.journal-list { padding-top:70px; }
.journal-featured { display:grid; grid-template-columns:1.1fr .7fr; gap:50px; align-items:center; padding-bottom:90px; border-bottom:1px solid var(--line); }
.journal-featured__image { height:680px; overflow:hidden; border-radius:var(--radius); }
.journal-featured__copy > span, .journal-index__card > span { font-size:9px; text-transform:uppercase; letter-spacing:.14em; color:var(--berry); }
.journal-featured__copy h2 { font-family:var(--display); font-size:clamp(50px,6vw,92px); line-height:.92; font-weight:400; }
.journal-featured__copy p { color:var(--muted); line-height:1.8; }
.journal-index { display:grid; grid-template-columns:repeat(2,1fr); gap:0 60px; }
.journal-index__card { padding:50px 0; border-bottom:1px solid var(--line); }
.journal-index__card h2 { font-family:var(--display); font-size:clamp(34px,4vw,56px); font-weight:400; line-height:1; }
.journal-index__card p { max-width:500px; color:var(--muted); line-height:1.75; }

.article { padding:140px 32px 120px; }
.article-hero, .article-body { width:min(1180px,calc(100vw - 64px)); margin-inline:auto; }
.article-title { margin:22px 0 0; font-family:var(--display); font-size:clamp(72px,10vw,150px); line-height:.88; letter-spacing:-.05em; font-weight:400; }
.article-deck { max-width:700px; margin:30px 0 48px; color:var(--muted); font-size:18px; line-height:1.65; }
.article-hero__image { height:min(78vh,820px); overflow:hidden; border-radius:var(--radius); }
.article-body { max-width:760px; padding-top:90px; }
.article-body > p { margin:0 0 28px; color:#4d3a35; font-family:Georgia,serif; font-size:19px; line-height:1.9; }
.article-body .article-lead { font-family:var(--display); font-size:30px; line-height:1.5; color:var(--cocoa); }
.article-body h2 { margin:70px 0 24px; font-family:var(--display); font-size:52px; font-weight:400; line-height:1.05; }
.article-inline { width:min(1050px,calc(100vw - 64px)); height:650px; margin:70px 50% 12px; transform:translateX(-50%); overflow:hidden; border-radius:var(--radius); }
.article-body figcaption { margin-bottom:60px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.article-body blockquote { margin:70px 0; padding:30px 0 30px 28px; border-left:2px solid var(--berry); font-family:var(--display); font-size:36px; line-height:1.3; }
.article-end { margin-top:90px; padding-top:30px; border-top:1px solid var(--line); }
.article-end > span { font-size:9px; text-transform:uppercase; letter-spacing:.15em; color:var(--berry); }
.article-end h3 { font-family:var(--display); font-size:46px; font-weight:400; }

.contact-page { min-height:100svh; display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; padding:145px 32px 100px; background:var(--paper); }
.contact-page__intro { padding-left:max(0px,calc((100vw - 1480px)/2)); }
.contact-details { display:grid; gap:0; max-width:520px; margin-top:60px; }
.contact-details > div { display:grid; grid-template-columns:120px 1fr; padding:16px 0; border-top:1px solid var(--line); }
.contact-details span { font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.contact-details p { margin:0; color:var(--muted); }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:28px 18px; }
.contact-form--page { padding-right:max(0px,calc((100vw - 1480px)/2)); align-content:start; margin-top:70px; }
.contact-form label { display:grid; gap:10px; }
.contact-form label span { font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; padding:13px 0; border:0; border-bottom:1px solid rgba(41,24,22,.34); border-radius:0; outline:0; background:transparent; }
.contact-form__message { grid-column:1 / -1; }
.contact-form .button { grid-column:1 / -1; justify-self:start; margin-top:12px; }
.contact-after { text-align:center; }
.contact-after .display { margin-top:16px; }
.contact-after .button { margin-top:35px; }

.site-footer { padding:70px 32px 24px; color:var(--cream); background:var(--cocoa); }
.site-footer__top, .site-footer__brand, .site-footer__meta { width:var(--container); margin-inline:auto; }
.site-footer__top { display:flex; justify-content:space-between; gap:20px; margin-bottom:55px; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.site-footer__brand { font-family:var(--display); font-size:clamp(70px,11vw,178px); line-height:.82; letter-spacing:-.05em; color:#edd1ce; }
.site-footer__meta { display:flex; justify-content:space-between; gap:20px; margin-top:52px; padding-top:18px; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.58); font-size:9px; text-transform:uppercase; letter-spacing:.13em; }

.reveal { opacity:0; transform:translateY(34px); transition:opacity .82s var(--ease), transform .82s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width:1100px) {
  :root { --container:min(100% - 40px,1000px); }
  .site-header { grid-template-columns:1fr auto; padding:16px 20px; }
  .nav, .nav-cta { display:none; }
  .menu-toggle { display:block; justify-self:end; }
  .hero { padding:95px 20px 25px; }
  .hero-home-layout { grid-template-columns:1fr; gap:34px; }
  .hero-note { justify-self:start; }
  .manifesto-grid, .collection-intro__grid, .chef-story__grid { grid-template-columns:1fr; }
  .home-collection__grid { grid-template-columns:1.15fr .85fr; }
  .home-collection__grid .creation-card:last-child { grid-column:1 / -1; min-height:440px; }
  .home-atelier { grid-template-columns:.95fr 1.05fr; gap:4vw; }
  .home-atelier__media { min-height:680px; }
  .home-bespoke__layout { grid-template-columns:1fr; }
  .page-hero { grid-template-columns:1fr; gap:55px; padding-top:130px; }
  .page-hero__collage, .bespoke-hero-image, .journal-hero-image { min-height:620px; }
  .catalogue-card figure { height:560px; }
  .creation-editorial { grid-template-columns:1fr 1fr; }
  .creation-editorial__copy { grid-column:1 / -1; grid-row:2; }
  .creation-editorial__portrait { height:720px !important; }
  .world-grid { grid-template-columns:1fr 1fr; }
  .world-card:last-child { grid-column:1 / -1; }
  .journal-featured { grid-template-columns:1fr 1fr; gap:30px; }
  .contact-page { gap:5vw; }
}

@media (max-width:760px) {
  :root { --container:calc(100vw - 32px); --radius:22px; }
  .cursor { display:none; }
  .brand-name { display:none; }
  .section { padding:88px 16px; }
  .display { font-size:clamp(50px,15vw,80px); }
  .hero { min-height:920px; padding:88px 16px 22px; }
  .hero-top span:last-child { display:none; }
  .hero-title { font-size:clamp(75px,21vw,110px); line-height:.8; }
  .hero-title__soft { margin-left:8vw; }
  .hero-home-layout { min-height:760px; }
  .hero-note { width:100%; }
  .hero-actions .button { width:100%; }
  .home-collection__head, .journal-teaser__head { display:grid; }
  .home-collection__grid { display:block; }
  .creation-card, .creation-card--hero { min-height:500px; margin-bottom:16px; }
  .home-atelier { display:block; padding:0 16px 88px; }
  .home-atelier__media { min-height:600px; margin:0 -16px 64px; border-radius:0; }
  .home-atelier__copy { padding:0; }
  .journal-mini-grid { grid-template-columns:1fr; }
  .journal-mini { min-height:390px; }
  .page-hero { display:block; min-height:auto; padding:120px 16px 80px; }
  .page-hero__collage { min-height:620px; margin-top:55px; padding:0; }
  .page-title { font-size:clamp(62px,18vw,95px); }
  .collage-a { width:68%; height:55%; }
  .collage-b { width:58%; height:48%; }
  .collage-c { left:18%; bottom:2%; width:38%; height:30%; }
  .catalogue-grid { display:block; }
  .catalogue-card { display:block; margin-bottom:22px; }
  .catalogue-card figure, .catalogue-card--large figure { height:500px; }
  .creation-hero { min-height:880px; }
  .creation-hero__copy { left:16px; right:16px; bottom:95px; }
  .creation-title { font-size:clamp(82px,24vw,126px); }
  .creation-back { right:16px; bottom:28px; }
  .creation-overview__grid { grid-template-columns:1fr; }
  .creation-editorial { display:block; padding:88px 16px; }
  .creation-editorial figure, .creation-editorial__portrait { height:540px !important; margin-bottom:16px; }
  .creation-editorial__copy { padding:30px 8px; }
  .taste-grid { grid-template-columns:1fr; }
  .taste-card { min-height:300px; }
  .next-creation__layout { grid-template-columns:1fr; }
  .next-creation__layout figure { height:480px; }
  .next-creation__layout .button { grid-column:auto; width:100%; }
  .atelier-hero { min-height:900px; }
  .atelier-hero__copy { left:16px; right:16px; bottom:65px; }
  .chef-story__copy { padding-top:0; }
  .craft-story-section { display:block; min-height:auto; }
  .craft-stage { position:relative; height:70vh; }
  .craft-story { width:auto; padding:80px 16px 28px; }
  .craft-story .display { margin-bottom:85px; }
  .craft-step { min-height:320px; }
  .world-grid { grid-template-columns:1fr; }
  .world-card:last-child { grid-column:auto; }
  .world-card { min-height:350px; }
  .bespoke-hero-image, .journal-hero-image { height:560px; min-height:0; margin-top:50px; border-radius:var(--radius); }
  .services-grid { grid-template-columns:1fr; }
  .service-card { min-height:360px; }
  .bespoke-gallery__grid { display:block; }
  .bespoke-gallery__grid figure, .bespoke-gallery__grid figure:nth-child(2), .bespoke-gallery__grid figure:nth-child(3) { height:520px; margin:0 0 16px; }
  .process-row { grid-template-columns:42px 1fr; }
  .process-row p { grid-column:2; }
  .journal-featured { grid-template-columns:1fr; }
  .journal-featured__image { height:520px; }
  .journal-index { grid-template-columns:1fr; }
  .article { padding:120px 16px 90px; }
  .article-hero, .article-body { width:auto; }
  .article-title { font-size:clamp(62px,18vw,96px); }
  .article-hero__image { height:560px; }
  .article-body { padding-top:60px; }
  .article-body > p { font-size:17px; }
  .article-body .article-lead { font-size:26px; }
  .article-body h2 { font-size:42px; }
  .article-inline { width:100%; height:500px; margin:55px 0 12px; transform:none; }
  .article-body blockquote { font-size:30px; }
  .contact-page { display:block; padding:120px 16px 85px; }
  .contact-page__intro, .contact-form--page { padding:0; }
  .contact-form--page { grid-template-columns:1fr; margin-top:65px; }
  .contact-form__message, .contact-form .button { grid-column:auto; }
  .contact-form .button { width:100%; }
  .site-footer { padding:60px 16px 22px; }
  .site-footer__top, .site-footer__meta { display:grid; gap:10px; }
}

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


/* ==========================================================
   V4 — Final polish
   Keeps V3 art direction while improving rhythm and mobile UX.
   ========================================================== */

:root {
  --section-space: clamp(88px, 8vw, 132px);
  --page-gutter: clamp(16px, 2.3vw, 34px);
}

body {
  text-rendering: optimizeLegibility;
}

a,
button,
input,
select,
textarea {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

.section {
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
}

.hero-video,
.atelier-hero__media video,
.home-atelier__media video {
  will-change: transform;
}

.hero-video {
  transform: scale(1.035);
}

.creation-card,
.catalogue-card figure,
.showcase-card,
.bespoke-gallery__grid figure,
.journal-featured__image,
.article-hero__image,
.article-inline {
  isolation: isolate;
}

.creation-card img,
.catalogue-card img,
.bespoke-gallery__grid img,
.journal-featured__image img {
  transform: scale(1.002);
}

.button,
.nav-cta,
.text-link {
  transition:
    transform .35s var(--ease),
    opacity .25s ease,
    background-color .25s ease,
    border-color .25s ease;
}

.text-link:hover {
  opacity: .62;
}

.hero-note,
.mobile-menu,
.site-header {
  -webkit-backdrop-filter: blur(10px);
}

.page-title,
.article-title,
.hero-title,
.display {
  text-wrap: balance;
}

.page-intro,
.manifesto-copy p,
.home-bespoke__aside p,
.journal-mini p,
.creation-notes p,
.chef-story__copy p,
.article-body p {
  text-wrap: pretty;
}

@media (min-width: 1101px) {
  .hero-home-copy {
    padding-bottom: clamp(30px, 4vh, 62px);
  }

  .hero-note {
    margin-bottom: clamp(42px, 6vh, 90px);
  }

  .creation-card:nth-child(even),
  .catalogue-card:nth-child(even) {
    transform: translateY(18px);
  }

  .creation-card:nth-child(even).is-visible,
  .catalogue-card:nth-child(even).is-visible {
    transform: translateY(18px);
  }
}

@media (max-width: 1100px) {
  .hero-video {
    object-position: 58% center;
  }

  .hero-home-copy {
    max-width: 820px;
  }

  .page-hero__copy,
  .atelier-hero__copy {
    max-width: 900px;
  }

  .creation-card__caption {
    padding: 22px;
  }
}

@media (max-width: 760px) {
  :root {
    --section-space: 84px;
  }

  body {
    font-size: 15px;
  }

  .site-header {
    padding-top: max(14px, env(safe-area-inset-top));
  }

  .hero {
    min-height: 100svh;
    padding-top: calc(86px + env(safe-area-inset-top));
    padding-bottom: max(22px, env(safe-area-inset-bottom));
  }

  .hero-video {
    object-position: 61% center;
    transform: scale(1.08);
  }

  .hero-overlay {
    background:
      linear-gradient(
        180deg,
        rgba(37,20,18,.56) 0%,
        rgba(37,20,18,.32) 28%,
        rgba(37,20,18,.70) 70%,
        rgba(37,20,18,.88) 100%
      );
  }

  .hero-home-layout {
    min-height: calc(100svh - 150px);
    align-content: end;
    gap: 22px;
  }

  .hero-home-copy {
    align-self: end;
  }

  .hero-title {
    font-size: clamp(70px, 20.5vw, 104px);
    line-height: .82;
    max-width: 100%;
  }

  .hero-title__soft {
    margin-left: 5vw;
  }

  .hero-tag {
    max-width: 310px;
    margin-top: 18px;
    font-size: clamp(29px, 8.3vw, 36px);
    line-height: 1.03;
  }

  .hero-actions {
    display: grid;
    gap: 14px;
    margin-top: 24px;
  }

  .hero-actions .text-link {
    padding: 8px 2px;
  }

  .hero-note {
    display: none;
  }

  .hero-scroll {
    margin-top: 14px;
  }

  .display {
    line-height: .96;
    letter-spacing: -.04em;
  }

  .manifesto-grid,
  .home-bespoke__layout,
  .collection-intro__grid,
  .creation-overview__grid,
  .chef-story__grid {
    gap: 44px;
  }

  .home-collection__head,
  .journal-teaser__head {
    gap: 30px;
  }

  .creation-card,
  .creation-card--hero {
    min-height: 470px;
  }

  .creation-card figure img {
    object-position: center 52%;
  }

  .creation-card__caption h3 {
    font-size: 34px;
  }

  .page-hero {
    padding-top: calc(112px + env(safe-area-inset-top));
  }

  .page-title {
    font-size: clamp(58px, 17vw, 88px);
    line-height: .93;
  }

  .page-intro {
    margin-top: 22px;
    font-size: 14px;
  }

  .page-hero__collage {
    min-height: 560px;
  }

  .collage-a {
    width: 72%;
  }

  .collage-b {
    width: 60%;
  }

  .creation-hero__image img {
    object-position: 54% center;
  }

  .creation-title {
    font-size: clamp(74px, 22vw, 112px);
    line-height: .82;
  }

  .atelier-hero__media video {
    object-position: 58% center;
  }

  .bespoke-hero-image img,
  .journal-hero-image img {
    object-position: center 48%;
  }

  .contact-details > div {
    grid-template-columns: 108px 1fr;
  }

  .mobile-menu {
    padding-bottom: calc(34px + env(safe-area-inset-bottom));
  }

  .mobile-menu nav a {
    font-size: clamp(39px, 10vw, 58px);
    line-height: 1.02;
  }

  .site-footer__brand {
    font-size: clamp(58px, 17vw, 88px);
  }
}

@media (max-width: 390px) {
  .hero-title {
    font-size: clamp(64px, 19vw, 84px);
  }

  .hero-tag {
    font-size: 28px;
  }

  .button {
    min-width: 0;
  }

  .page-title {
    font-size: clamp(54px, 16vw, 74px);
  }

  .article-title {
    font-size: clamp(54px, 16vw, 78px);
  }
}

@media (hover: none) {
  .creation-card:hover img,
  .catalogue-card:hover img,
  .journal-mini:hover,
  .journal-card:hover {
    transform: none;
  }
}
