
:root{
  --ink:#17130f;
  --paper:#f0eadf;
  --paper-2:#e7ddcf;
  --amber:#eb8e2d;
  --brown:#6b3b22;
  --muted:#6f675f;
  --line:rgba(23,19,15,.18);
  --ease:cubic-bezier(.2,.75,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);color:var(--ink)}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}
body.is-loading{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
::selection{background:var(--amber);color:#111}

.loader{
  position:fixed;inset:0;z-index:1000;background:#17130f;color:#f0eadf;
  display:grid;place-items:center;transition:opacity .9s var(--ease),visibility .9s;
}
.loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader__inner{width:min(720px,82vw);text-align:center}
.loader__word{font-size:clamp(4rem,14vw,10rem);font-weight:900;letter-spacing:-.08em;line-height:.8}
.loader__track{height:1px;background:rgba(255,255,255,.18);margin-top:2rem;overflow:hidden}
.loader__bar{height:100%;width:0;background:var(--amber);transition:width 1.3s var(--ease)}
.loader__meta{display:flex;justify-content:space-between;margin-top:.7rem;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;opacity:.62}

.site-header{
  position:fixed;z-index:100;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;
  padding:20px 28px;mix-blend-mode:multiply;transition:background .4s,border-color .4s;
}
.site-header.is-solid{background:rgba(240,234,223,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);mix-blend-mode:normal}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:190px;height:auto}
.nav{display:flex;align-items:center;gap:28px;font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.nav a{position:relative}
.nav a::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__cta{border:1px solid var(--ink);padding:12px 18px;border-radius:999px}

.hero{
  position:relative;min-height:100svh;padding:118px 28px 34px;display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,1.2fr);
  align-items:center;overflow:hidden;isolation:isolate;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(circle at 72% 42%,rgba(235,142,45,.13),transparent 30%),
    linear-gradient(110deg,#f4eee5 0%,#ece3d6 48%,#dfd2c2 100%);
}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
}
.hero__copy{position:relative;z-index:3;max-width:760px;padding-left:clamp(0px,3vw,48px)}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:.68rem;letter-spacing:.19em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.eyebrow::before{content:"";width:38px;height:1px;background:var(--amber)}
.hero h1{margin:20px 0 24px;font-size:clamp(4.3rem,8.5vw,9.4rem);line-height:.78;letter-spacing:-.075em;text-transform:uppercase;font-weight:900}
.hero h1 span{display:block}
.hero h1 .outline{-webkit-text-stroke:1.3px var(--ink);color:transparent}
.hero__lead{max-width:500px;font-size:clamp(1rem,1.4vw,1.22rem);line-height:1.55;color:#4f4943}
.hero__actions{display:flex;align-items:center;gap:14px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 21px;border-radius:999px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;border:1px solid var(--ink);transition:transform .35s var(--ease),background .35s,color .35s}
.btn:hover{transform:translateY(-3px)}
.btn--dark{background:var(--ink);color:var(--paper)}
.btn--ghost{background:transparent}
.hero__stage{
  position:relative;height:min(75vh,760px);min-height:560px;z-index:2;cursor:none;
}
#woodCanvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.stage-copy{position:absolute;right:3%;top:9%;text-align:right;pointer-events:none}
.stage-copy strong{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
.stage-copy span{display:block;margin-top:6px;font-size:.77rem;color:var(--muted)}
.stage-index{position:absolute;right:3%;bottom:7%;font-weight:900;font-size:clamp(4rem,7vw,7rem);line-height:.8;letter-spacing:-.07em;color:rgba(23,19,15,.08);pointer-events:none}
.reveal-meter{position:absolute;left:4%;bottom:8%;display:flex;align-items:center;gap:12px;font-size:.65rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800;pointer-events:none}
.reveal-meter__line{width:74px;height:2px;background:rgba(23,19,15,.15);position:relative;overflow:hidden}
.reveal-meter__fill{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:var(--amber)}
.custom-cursor{position:fixed;z-index:150;width:84px;height:84px;border:1px solid rgba(23,19,15,.55);border-radius:50%;display:grid;place-items:center;pointer-events:none;transform:translate(-50%,-50%) scale(.7);opacity:0;transition:opacity .25s,transform .25s;backdrop-filter:blur(3px)}
.custom-cursor.is-active{opacity:1;transform:translate(-50%,-50%) scale(1)}
.custom-cursor span{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;text-align:center}

.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#17130f;color:#f0eadf}
.marquee__track{display:flex;width:max-content;gap:42px;padding:15px 0;animation:marquee 20s linear infinite;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800}
.marquee__track span::after{content:"✦";margin-left:42px;color:var(--amber)}
@keyframes marquee{to{transform:translateX(-50%)}}

.story{padding:120px 28px 60px;background:var(--paper)}
.story__head{max-width:1240px;margin:0 auto 64px;display:grid;grid-template-columns:.6fr 1.4fr;gap:50px;align-items:start}
.kicker{font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--muted)}
.story h2{margin:0;font-size:clamp(3.2rem,7.2vw,7.5rem);line-height:.86;letter-spacing:-.07em;text-transform:uppercase}
.story h2 em{font-style:normal;color:var(--amber)}
.gallery{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.card{position:relative;overflow:hidden;min-height:500px;background:#d8cbbb}
.card:nth-child(1){grid-column:span 7}
.card:nth-child(2){grid-column:span 5;margin-top:120px}
.card:nth-child(3){grid-column:3/span 8;margin-top:18px}
.card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);will-change:transform}
.card:hover img{transform:scale(1.04)}
.card__label{position:absolute;left:18px;bottom:18px;background:rgba(240,234,223,.9);backdrop-filter:blur(8px);padding:11px 13px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}

.footer-cta{min-height:78vh;background:#17130f;color:#f0eadf;display:grid;place-items:center;text-align:center;padding:80px 24px}
.footer-cta h2{font-size:clamp(4rem,10vw,10rem);line-height:.8;letter-spacing:-.07em;text-transform:uppercase;margin:0}
.footer-cta p{max-width:580px;margin:28px auto;color:#c8bfb4;line-height:1.6}
.footer-cta .btn{border-color:#f0eadf;color:#f0eadf}
.footer-cta .btn:hover{background:#f0eadf;color:#17130f}

@media(max-width:1050px){
  .hero{grid-template-columns:1fr;padding-top:110px}
  .hero__copy{padding-left:0;max-width:none}
  .hero__stage{height:58vh;min-height:460px;margin-top:-30px}
  .nav a:not(.nav__cta){display:none}
  .story__head{grid-template-columns:1fr;gap:18px}
}
@media(max-width:680px){
  .site-header{padding:16px}
  .brand img{width:145px}
  .nav__cta{padding:10px 13px;font-size:.62rem}
  .hero{padding:104px 16px 20px}
  .hero h1{font-size:clamp(3.5rem,18vw,6rem)}
  .hero__lead{font-size:.96rem}
  .hero__actions{flex-wrap:wrap}
  .hero__stage{height:48vh;min-height:360px;margin:4px -16px 0}
  .stage-copy{top:2%;right:5%}
  .reveal-meter{left:5%;bottom:2%}
  .stage-index{right:5%;bottom:2%}
  .custom-cursor{display:none}
  .story{padding:80px 16px 40px}
  .gallery{display:block}
  .card,.card:nth-child(2),.card:nth-child(3){min-height:390px;margin:0 0 16px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
