:root{
  --ivory:#F7F3EA;
  --paper:#FCFAF5;
  --charcoal:#1B1B1B;
  --terracotta:#C65A3A;
  --olive:#6B7F5B;
  --muted:#6B665E;
  --line:rgba(27,27,27,.14);
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius:2px;
  --header-offset:104px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset)}
body{margin:0;overflow-x:hidden;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);font-size:16px;line-height:1.5}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{color:inherit}
section[id]{scroll-margin-top:var(--header-offset)}

:where(a,button,input,select):focus-visible{
  outline:3px solid rgba(198,90,58,.42);
  outline-offset:4px;
}
input:focus-visible,select:focus-visible{outline-offset:1px}

.site-header{
  min-height:86px;
  display:grid;
  grid-template-columns:220px 1fr auto;
  align-items:center;
  gap:28px;
  padding:12px clamp(20px,4vw,64px);
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(247,243,234,.93);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.brand{display:block;width:190px}
.brand-full{width:100%;height:auto}
.brand-mark{display:none}
.nav{display:flex;justify-content:center;gap:36px;font-size:.82rem;font-weight:700;letter-spacing:.02em}
.nav a{padding:10px 0;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--terracotta);transition:right .2s ease}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  min-height:52px;
  padding:14px 22px;
  border:1px solid var(--terracotta);
  border-radius:var(--radius);
  background:var(--terracotta);
  color:#fff;
  font-family:var(--sans);
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  transition:transform .18s ease,filter .18s ease,opacity .18s ease;
}
.button-small{min-height:44px;padding:11px 18px;font-size:.78rem}
.button:disabled{cursor:not-allowed;opacity:.58;transform:none}

.section-shell{padding:clamp(72px,8vw,118px) clamp(20px,4vw,64px)}
.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.19em;font-size:.68rem;font-weight:800;color:var(--terracotta)}

.hero{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);
  gap:clamp(38px,6vw,92px);
  align-items:center;
  min-height:calc(100vh - 86px);
  border-bottom:1px solid var(--line);
}
.hero-copy{max-width:760px;min-width:0}
.hero h1{
  margin:20px 0 22px;
  font-family:var(--serif);
  font-size:clamp(3.55rem,6.3vw,6.8rem);
  font-weight:500;
  line-height:.9;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.hero h1 em{font-weight:500;color:var(--terracotta)}
.hero-lead{max-width:620px;margin:0;color:#4F4A43;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}
.hero-actions p{margin:0;max-width:230px;font-size:.76rem;line-height:1.55;color:var(--muted);font-weight:700}
.hero-visual{position:relative;min-width:0;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;background:var(--charcoal);color:#fff;overflow:hidden}
.hero-visual img{position:absolute;right:-5%;top:6%;width:min(74%,520px);opacity:.92;filter:brightness(1.08)}
.visual-kicker{position:absolute;left:34px;top:30px;font-size:.64rem;font-weight:800;letter-spacing:.2em;color:#CFC8BE}
.hero-visual p{position:relative;margin:0 0 34px;font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.6rem);line-height:.94;max-width:480px}
.visual-caption{position:relative;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#BDB6AC}

.section-intro{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,.95fr) minmax(220px,.55fr);gap:32px;align-items:end;margin-bottom:44px}
.section-intro h2,.supplier h2,.preorder h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(2.7rem,4.6vw,4.8rem);
  line-height:.96;
  font-weight:500;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.section-intro>p:last-child{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}

.box-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.box-card{display:flex;min-width:0;flex-direction:column;background:var(--paper);border:1px solid var(--line);overflow:hidden}
.box-card-dark{background:var(--charcoal);color:#fff}
.box-visual{position:relative;display:grid;place-items:center;min-height:245px;background:#ECE4D7;overflow:hidden}
.box-visual img{width:58%;opacity:.78;transition:transform .25s ease}
.box-visual>span{position:absolute;left:22px;top:18px;font-family:var(--serif);font-size:2rem;color:var(--terracotta)}
.box-card-dark .box-visual{background:#272624}
.box-card-dark .box-visual img{filter:brightness(1.7);opacity:.65}
.box-copy{display:flex;flex-direction:column;min-height:280px;padding:26px}
.box-meta{display:flex;justify-content:space-between;gap:16px;font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta)}
.box-card h3{margin:28px 0 10px;font-family:var(--serif);font-size:clamp(2rem,2.8vw,2.7rem);line-height:.98;font-weight:500;letter-spacing:-.02em}
.box-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.65}
.box-card-dark p{color:#D6D0C7}
.text-action{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin-top:auto;padding:18px 0 0;border:0;border-top:1px solid var(--line);background:transparent;font-size:.78rem;font-weight:800;cursor:pointer;text-align:left}
.box-card-dark .text-action{border-color:rgba(255,255,255,.16)}
.text-action span{color:var(--terracotta);font-size:1rem}

.supplier{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:clamp(42px,7vw,110px);
  align-items:center;
  background:var(--charcoal);
  color:#fff;
}
.supplier-image{min-width:0;min-height:520px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:30px;border:1px solid rgba(255,255,255,.16);overflow:hidden}
.supplier-image img{width:min(82%,500px);align-self:center;filter:brightness(1.6);opacity:.75}
.supplier-image span{font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#BDB6AC}
.supplier-copy{max-width:610px;min-width:0}
.supplier h2{margin:18px 0 26px}
.supplier-copy>p:not(.eyebrow):not(.supplier-note){margin:0;color:#D9D4CB;font-size:1rem;line-height:1.75}
.supplier-note{margin:30px 0 18px;padding-top:25px;border-top:1px solid rgba(255,255,255,.16);font-family:var(--serif);font-size:clamp(1.8rem,2.6vw,2.7rem);line-height:1.05;font-weight:500}
.supplier small{display:block;color:#AAA39A;font-size:.72rem;line-height:1.55}

.preorder{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);
  gap:clamp(48px,8vw,128px);
  align-items:start;
  background:#EEE7DB;
}
.preorder-copy{max-width:560px;min-width:0}
.preorder h2{margin:18px 0}
.preorder-copy>p:last-child{margin:0;color:#5A554E;font-size:1rem;line-height:1.7}
.preorder-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;padding-top:6px;min-width:0}
.preorder-form label{display:flex;min-width:0;flex-direction:column;gap:9px;font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.preorder-form input,.preorder-form select{width:100%;min-width:0;min-height:58px;padding:0 14px;border:1px solid rgba(27,27,27,.26);border-radius:0;background:rgba(255,255,255,.38);color:var(--charcoal);font-size:1rem;letter-spacing:0;text-transform:none;outline:none}
.preorder-form input:focus,.preorder-form select:focus{border-color:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta)}
.form-submit{grid-column:1/-1;width:100%;margin-top:6px}
.form-note,.form-status{grid-column:1/-1;margin:0;font-size:.72rem;line-height:1.55;color:#625D56}
.form-status{min-height:1.2em;font-weight:700;color:#A54229}

footer{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:28px;align-items:center;padding:34px clamp(20px,4vw,64px);border-top:1px solid var(--line);font-size:.72rem;font-weight:700;color:#5F5A53}
.footer-brand img{width:170px}
footer p{margin:0;text-align:center}
footer>a{text-align:right;padding:10px 0}

@media (hover:hover){
  .nav a:hover::after{right:0}
  .button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(.96)}
  .box-card:hover .box-visual img{transform:scale(1.025)}
}

@media (max-width:1120px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:42px}
  .hero h1{font-size:clamp(3.4rem,6vw,5.5rem)}
  .hero-visual{min-height:500px}
}

@media (max-width:980px){
  :root{--header-offset:88px}
  .site-header{grid-template-columns:1fr auto auto;gap:18px}
  .brand{width:156px}
  .nav{display:none}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:58px}
  .hero-copy{max-width:720px}
  .hero-visual{max-width:none;min-height:460px}
  .section-intro{grid-template-columns:1fr 2fr}
  .section-intro>p:last-child{grid-column:2}
  .box-grid{grid-template-columns:1fr}
  .box-card{display:grid;grid-template-columns:minmax(230px,.78fr) 1.22fr}
  .box-visual{min-height:100%;height:100%}
  .supplier,.preorder{grid-template-columns:1fr;gap:38px}
  .supplier-image{min-height:400px}
  .supplier-copy,.preorder-copy{max-width:720px}
  .preorder-form{max-width:720px}
  footer{grid-template-columns:1fr auto;align-items:center}
  footer p{display:none}
}

@media (max-width:720px){
  :root{--header-offset:78px}
  body{font-size:15px}
  .site-header{min-height:70px;padding:10px 16px;grid-template-columns:auto 1fr auto;gap:10px}
  .brand{width:44px}
  .brand-full{display:none}
  .brand-mark{display:block;width:44px;height:44px;object-fit:contain}
  .button-small{min-height:40px;padding:9px 12px;font-size:.68rem;white-space:nowrap}
  .section-shell{padding:60px 20px}
  .hero{gap:30px;padding-top:38px}
  .hero h1{font-size:clamp(3rem,13.5vw,4.6rem);line-height:.92;letter-spacing:-.03em}
  .hero-lead{font-size:1rem;line-height:1.6}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:14px;margin-top:28px}
  .hero-actions .button{width:100%}
  .hero-actions p{max-width:none}
  .hero-visual{min-height:370px;padding:24px}
  .hero-visual img{width:78%;right:-8%;top:7%}
  .visual-kicker{left:24px;top:22px}
  .hero-visual p{margin-bottom:24px;font-size:clamp(2.1rem,10vw,3.25rem)}
  .section-intro{grid-template-columns:1fr;gap:14px;margin-bottom:28px}
  .section-intro>p:last-child{grid-column:auto}
  .section-intro h2,.supplier h2,.preorder h2{font-size:clamp(2.55rem,12vw,3.7rem)}
  .box-card{display:flex}
  .box-visual{min-height:210px}
  .box-visual img{width:48%}
  .box-copy{min-height:245px;padding:22px}
  .box-card h3{margin-top:22px;font-size:2.35rem}
  .supplier,.preorder{gap:32px}
  .supplier-image{min-height:320px;padding:24px}
  .supplier-image img{width:65%}
  .preorder-form{grid-template-columns:1fr}
  .form-submit,.form-note,.form-status{grid-column:auto}
  .preorder-form input,.preorder-form select{font-size:16px}
  footer{grid-template-columns:1fr;align-items:start;gap:12px;padding:26px 20px}
  .footer-brand img{width:150px}
  footer>a{text-align:left}
}

@media (max-width:360px){
  .site-header{padding-inline:12px}
  .brand{width:40px}
  .brand-mark{width:40px;height:40px}
  .button-small{padding-inline:10px;font-size:.64rem}
  .hero h1{font-size:2.85rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
