:root{
  --bone:#f5f1ea;--bone2:#efe9de;--paper:#faf7f1;
  --ink:#2e2a24;--ink2:#5c564c;--muted:#948b7b;
  --gold:#a98c54;--warm:#bf8b52;--cool:#7d9a8c;--line:#ddd5c6;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:'Jost',sans-serif;font-weight:300;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
::selection{background:var(--gold);color:var(--paper);}

nav{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:40px 56px;}
.brand{font-family:'Marcellus',serif;font-size:24px;letter-spacing:0.46em;font-weight:500;padding-left:0.46em;}
.navlinks{display:flex;gap:44px;}
.navlinks a{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;font-weight:400;color:var(--ink2);text-decoration:none;transition:color .35s;}
.navlinks a:hover{color:var(--gold);}

/* HERO , asymmetric, oversized type bleeding left, big negative space */
.hero{min-height:100vh;position:relative;padding:0 56px;display:flex;align-items:center;}
.hero-inner{width:100%;}
.hero .num{position:absolute;top:22vh;right:8vw;font-family:'Jost',sans-serif;font-size:clamp(14px,1.4vw,17px);line-height:1;color:var(--gold);z-index:2;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;user-select:none;}
.hero .eyebrow{font-size:11px;letter-spacing:0.42em;text-transform:uppercase;color:var(--gold);margin-bottom:26px;position:relative;z-index:2;}
.hero h1{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(46px,9vw,134px);line-height:.92;letter-spacing:-0.01em;position:relative;z-index:2;margin-left:-6px;}
.hero h1 em{font-style:italic;color:var(--gold);display:block;padding-left:1.4em;}
.hero .lede{margin-top:48px;max-width:34ch;font-family:'Marcellus',serif;font-style:normal;letter-spacing:0.01em;font-size:clamp(18px,1.9vw,24px);line-height:1.5;color:var(--ink2);position:relative;z-index:2;padding-left:2px;}

@keyframes rise{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes fade{to{opacity:1;}}

/* running strip */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 56px;background:var(--bone);display:flex;justify-content:space-between;font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--muted);}

/* IDEA , asymmetric: small label column + big statement, offset */
.idea{padding:150px 56px;display:grid;grid-template-columns:0.9fr 2.1fr;gap:70px;}
.idea .side{border-top:2px solid var(--ink);padding-top:20px;}
.idea .side .k{font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);}
.idea .side .meta{margin-top:14px;font-size:13px;color:var(--muted);line-height:1.7;}
.idea h2{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(27px,4.2vw,56px);line-height:1.12;letter-spacing:-0.005em;color:var(--ink);}
.idea h2 em{font-style:italic;color:var(--gold);}
.idea .sub{margin-top:32px;max-width:52ch;font-size:16px;color:var(--ink2);line-height:1.9;}

/* DUO , asymmetric offset stacked, not two neat centered cards */
.duo{padding:60px 56px 120px;}
.prod{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--line);padding:60px 0;position:relative;}
.prod:first-of-type{border-top:1px solid var(--line);}
.prod .lbl{display:flex;align-items:flex-start;gap:20px;}
.prod .lbl .idx{font-family:'Marcellus',serif;font-style:normal;font-size:22px;color:var(--gold);line-height:1;padding-top:6px;}
.prod h3{font-family:'Marcellus',serif;font-weight:500;font-size:clamp(31px,4.1vw,50px);line-height:1;letter-spacing:0.02em;}
.prod .tag{font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-top:14px;}
.prod .desc{font-size:16px;color:var(--ink2);line-height:1.9;max-width:40ch;justify-self:end;}
.prod .accent{position:absolute;left:0;top:60px;width:44px;height:3px;}
.prod.w .accent{background:var(--warm);}
.prod.c .accent{background:var(--cool);}
.prod.w h3{color:var(--ink);}
.prod .lbl{padding-left:64px;}

/* TRADE , big asymmetric CTA, weighted right */
.trade{padding:150px 56px;display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:end;background:var(--bone);border-top:1px solid var(--line);}
.trade .k{font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;}
.trade h2{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(36px,5.5vw,81px);line-height:.98;letter-spacing:-0.01em;color:var(--ink);}
.trade h2 em{font-style:italic;color:var(--gold);}
.trade .right p{font-size:16px;color:var(--ink2);line-height:1.9;max-width:42ch;margin-bottom:36px;}
.btn{font-size:11px;letter-spacing:0.24em;text-transform:uppercase;font-weight:400;background:var(--ink);color:var(--paper);padding:19px 46px;text-decoration:none;display:inline-block;transition:background .4s,letter-spacing .4s;}
.btn:hover{background:var(--gold);letter-spacing:0.3em;}

/* SAMPLES , request form */
.samples{padding:150px 56px;display:grid;grid-template-columns:1fr 1.3fr;gap:60px;border-top:1px solid var(--line);}
.samples .k{font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;}
.samples h2{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(32px,4.4vw,62px);line-height:1.02;letter-spacing:-0.01em;color:var(--ink);}
.samples h2 em{font-style:italic;color:var(--gold);}
.samples .note{margin-top:28px;font-size:16px;color:var(--ink2);line-height:1.9;max-width:36ch;}
.samples .row{display:grid;grid-template-columns:1fr 1fr;gap:36px;}
.field{display:block;margin-bottom:34px;}
.field span{display:block;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.field span i{font-style:normal;letter-spacing:0.1em;text-transform:none;}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:8px 0;outline:none;transition:border-color .35s;-webkit-appearance:none;appearance:none;}
.field textarea{resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--gold);}
.samples button.btn{border:0;cursor:pointer;font-family:inherit;margin-top:6px;}
.samples button.btn:disabled{opacity:.6;cursor:default;}
.hp{display:none!important;}
.form-status{margin-top:18px;font-size:14px;color:var(--warm);min-height:1.5em;}
.form-success h3{font-family:'Marcellus',serif;font-weight:400;font-size:clamp(28px,3vw,40px);color:var(--ink);margin-bottom:12px;}
.form-success p{font-size:16px;color:var(--ink2);line-height:1.9;}

footer{padding:52px 56px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);}
.foot-brand{font-family:'Marcellus',serif;font-size:20px;letter-spacing:0.44em;padding-left:0.44em;}
.foot-fine{font-size:11px;letter-spacing:0.14em;color:var(--muted);text-transform:uppercase;}


/* viewport edge fade overlays */
.edge-fade{position:fixed;left:0;right:0;height:120px;z-index:25;pointer-events:none;}
.edge-fade.top{top:0;background:linear-gradient(to bottom, var(--paper) 0%, rgba(250,247,241,0.7) 40%, transparent 100%);}
.edge-fade.bottom{bottom:0;background:linear-gradient(to top, var(--paper) 0%, rgba(250,247,241,0.7) 40%, transparent 100%);}
@media(max-width:860px){.edge-fade{height:80px;}}

.reveal{opacity:0;filter:blur(14px);transform:translateY(18px);transition:opacity 1.1s ease,filter 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;filter:blur(0);transform:translateY(0);}

@media(max-width:860px){
  nav{padding:24px;}
  .navlinks{display:none;}
  .hero{padding:0 26px;}
  .hero .num{right:2vw;top:16vh;}
  .hero .num .ord{font-size:1.8em;vertical-align:-0.08em;letter-spacing:0;margin-left:-0.08em;margin-right:0.28em;}
  .idea{grid-template-columns:1fr;gap:36px;padding:90px 26px;}
  .prod{grid-template-columns:1fr;gap:24px;}
  .prod .lbl{padding-left:40px;}
  .prod .desc{justify-self:start;padding-left:40px;}
  .trade{grid-template-columns:1fr;gap:40px;padding:90px 26px;align-items:start;}
  .samples{grid-template-columns:1fr;gap:40px;padding:90px 26px;}
  .samples .row{grid-template-columns:1fr;gap:0;}
  .marquee{padding:20px 26px;font-size:9px;letter-spacing:0.2em;gap:10px;}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}.reveal{opacity:1;filter:none;transform:none;}.hero .eyebrow,.hero h1,.hero .lede{opacity:1;transform:none;}}
.field select{cursor:pointer;padding-right:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23a98c54' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 4px center;}
