
  :root{
    --cream:#ffedd7; --walnut:#100904; --bark:#382416; --cork:#40372e;
    --driftwood:#6c5f51; --ember:#dc5000;
    --font:'Inter',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    --gutter:clamp(20px,5vw,68px);
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--walnut);color:var(--cream);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  ::selection{background:var(--ember);color:var(--walnut)}
  a{color:inherit;text-decoration:none}

  .eyebrow{text-transform:uppercase;font-weight:500;font-size:12px;letter-spacing:.28em;color:var(--driftwood)}
  .display{text-transform:uppercase;font-weight:500;line-height:.9;font-size:clamp(40px,8.2vw,108px)}
  .heading{text-transform:uppercase;font-weight:500;line-height:.92;font-size:clamp(30px,4.6vw,58px)}
  .body{font-weight:400;font-size:clamp(19px,2.1vw,29px);line-height:1.26;color:var(--cream);max-width:46ch}
  .muted{color:var(--driftwood)}

  nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px var(--gutter)}
  nav .brand{display:flex;align-items:center;gap:12px}
  nav .brand img{height:42px;width:auto;display:block}
  nav ul{display:flex;gap:28px;list-style:none}
  nav ul a{font-size:12px;text-transform:uppercase;font-weight:500;letter-spacing:.04em;padding-bottom:3px;border-bottom:1px dashed transparent;transition:border-color .2s}
  nav ul a:hover,nav ul a:focus-visible{border-bottom-color:var(--cream)}
  @media(max-width:760px){nav ul{display:none}}

  .serial{position:fixed;right:14px;top:50%;z-index:40;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--driftwood);font-weight:500}
  @media(max-width:760px){.serial{display:none}}

  section{padding:clamp(80px,12vh,140px) var(--gutter);position:relative}
  .divider{border:0;border-top:1px dashed var(--cork);margin:0 var(--gutter)}

  .hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:120px;padding-bottom:56px}
  .hero .mark{height:clamp(72px,10vw,104px);width:auto;margin-bottom:30px}
  .hero .eyebrow{margin-bottom:22px}
  .hero .display{max-width:15ch}
  .hero .sub{margin-top:26px;font-size:clamp(18px,2.3vw,26px);font-weight:400;color:var(--cream);max-width:40ch;line-height:1.3}
  .hero-actions{margin-top:42px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}
  .hero-meta{margin-top:auto;padding-top:46px;display:flex;gap:40px;flex-wrap:wrap}
  .hero-meta div{display:flex;flex-direction:column;gap:6px}
  .hero-meta .k{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--driftwood)}
  .hero-meta .v{font-size:14px;text-transform:uppercase;font-weight:500;letter-spacing:.03em}

  .btn-fill{display:inline-block;background:var(--bark);color:var(--cream);border-radius:36px;padding:15px 30px;text-transform:uppercase;font-weight:500;font-size:13px;letter-spacing:.06em;border:1px solid transparent;transition:transform .2s,background .2s}
  .btn-fill:hover,.btn-fill:focus-visible{background:#4a3020;transform:translateY(-1px)}
  .btn-ghost{display:inline-block;background:transparent;color:var(--cream);border:1px solid var(--cream);border-radius:22.5px;padding:12px 26px;text-transform:uppercase;font-weight:500;font-size:13px;letter-spacing:.06em;transition:background .2s,color .2s}
  .btn-ghost:hover,.btn-ghost:focus-visible{background:var(--cream);color:var(--walnut)}

  .reveal{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(24px,4vw,68px)}
  .reveal .r-left{text-align:right}
  .reveal .r-left .heading{max-width:9ch;margin-left:auto}
  @media(max-width:900px){.reveal{grid-template-columns:1fr;text-align:left;gap:40px;justify-items:start}.reveal .r-left{text-align:left}.reveal .r-left .heading{margin-left:0}.reveal .can-wrap{order:-1}}

  .can-wrap{display:flex;justify-content:center;align-items:center;padding:20px}
  .can-wrap img{width:clamp(150px,17vw,240px);height:auto;filter:drop-shadow(0 40px 55px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(220,80,0,.06));animation:float 7s ease-in-out infinite}
  @keyframes float{0%,100%{transform:translateY(-9px)}50%{transform:translateY(9px)}}

  .platforms .eyebrow{margin-bottom:22px}
  .platforms h2{margin-bottom:44px;max-width:20ch}
  .tag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));border-top:1px dashed var(--cork);border-left:1px dashed var(--cork)}
  .tag{border-right:1px dashed var(--cork);border-bottom:1px dashed var(--cork);padding:26px 24px;display:flex;flex-direction:column;gap:8px;min-height:112px;justify-content:center;transition:background .25s}
  .tag:hover{background:#180d06}
  .tag .t{font-size:clamp(17px,1.9vw,22px);text-transform:uppercase;font-weight:500;letter-spacing:.02em}
  .tag .s{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--driftwood);font-weight:500}
  .platforms .note{margin-top:26px;font-size:13px;color:var(--driftwood);letter-spacing:.02em}

  .process .eyebrow{margin-bottom:40px}
  .steps{display:flex;flex-direction:column}
  .step{display:grid;grid-template-columns:64px 1fr;gap:clamp(20px,4vw,60px);padding:34px 0;border-top:1px dashed var(--cork);align-items:start}
  .step:last-child{border-bottom:1px dashed var(--cork)}
  .step .num{font-size:14px;font-weight:500;color:var(--ember);padding-top:6px}
  .step .st-head{display:flex;flex-direction:column;gap:14px;max-width:60ch}
  .step h3{font-size:clamp(24px,3vw,40px);text-transform:uppercase;font-weight:500;line-height:1}
  .step p{font-size:clamp(16px,1.6vw,20px);color:var(--driftwood);font-weight:400;line-height:1.35;max-width:54ch}
  @media(max-width:600px){.step{grid-template-columns:1fr;gap:14px}}

  .why{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
  .why .stats{display:flex;flex-direction:column;gap:28px}
  .stat .n{font-size:clamp(38px,5.5vw,66px);text-transform:uppercase;font-weight:500;line-height:.9}
  .stat .d{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--driftwood);font-weight:500;margin-top:8px}
  @media(max-width:800px){.why{grid-template-columns:1fr;gap:40px}}

  .design-sell{text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}
  .design-sell .heading{max-width:18ch}
  .design-sell .body{text-align:center;color:var(--driftwood);max-width:60ch}

  .clients .eyebrow{text-align:center;display:block;margin-bottom:40px}
  .logo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(24px,5vw,72px);align-items:center;opacity:.75}
  .logo-row span{text-transform:uppercase;font-weight:600;letter-spacing:.1em;font-size:clamp(15px,2vw,22px);color:var(--driftwood)}

  .contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,110px);align-items:start}
  .contact .heading{max-width:12ch}
  .contact .lead{margin-top:22px;color:var(--driftwood);font-size:clamp(17px,1.8vw,22px);max-width:40ch;line-height:1.35}
  .form{display:flex;flex-direction:column;gap:26px;padding-top:6px}
  .field{display:flex;flex-direction:column;gap:8px}
  .field label{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--driftwood);font-weight:500}
  .field input,.field textarea{background:transparent;border:0;border-bottom:1px solid var(--driftwood);color:var(--cream);font-family:var(--font);font-size:17px;padding:8px 2px;border-radius:0;transition:border-color .2s}
  .field textarea{resize:vertical;min-height:70px}
  .field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--cream)}
  .form .btn-fill{align-self:flex-start;margin-top:6px}
  @media(max-width:800px){.contact{grid-template-columns:1fr;gap:40px}}

  footer{padding:60px var(--gutter) 44px;border-top:1px dashed var(--cork);display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;align-items:flex-end}
  footer .f-brand{display:flex;align-items:center;gap:12px}
  footer .f-brand img{height:46px;width:auto}
  footer .f-contact{display:flex;flex-direction:column;gap:6px}
  footer .f-contact a,footer .f-contact span{font-size:13px;text-transform:uppercase;letter-spacing:.04em;font-weight:500;color:var(--driftwood)}
  footer .f-contact a:hover{color:var(--cream)}
  footer .f-legal{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cork)}

  .fx{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
  .fx.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){*{animation:none!important}html{scroll-behavior:auto}.fx{opacity:1;transform:none;transition:none}}

  /* facility full-bleed band */
  .facility-band{position:relative;min-height:78vh;background:#0b0503 center/cover no-repeat;display:flex;align-items:flex-end;padding:0}
  .facility-band .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,9,4,.55),rgba(16,9,4,.15) 40%,rgba(16,9,4,.85))}
  .facility-band .fb-cap{position:relative;padding:var(--gutter);display:flex;flex-direction:column;gap:8px}
  .facility-band .fb-cap .k{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--cream);font-weight:500;opacity:.85}
  .facility-band .fb-cap h2{font-size:clamp(26px,4vw,50px);text-transform:uppercase;font-weight:500;line-height:.95;max-width:16ch}

  /* product showcase strip */
  .showcase .eyebrow{margin-bottom:10px}
  .showcase h2{margin-bottom:36px;max-width:20ch}
  .pstrip{display:flex;gap:20px;overflow-x:auto;padding-bottom:16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .pstrip::-webkit-scrollbar{height:6px}
  .pstrip::-webkit-scrollbar-thumb{background:var(--cork);border-radius:9999px}
  .pcard{flex:0 0 auto;width:210px;scroll-snap-align:start;display:flex;flex-direction:column;gap:14px}
  .pcard img{width:100%;height:auto;border-radius:12px;display:block}
  .pcard figcaption{display:flex;flex-direction:column;gap:3px;padding:0 2px}
  .pcard .pc-name{font-size:14px;text-transform:uppercase;font-weight:500;letter-spacing:.02em}
  .pcard .pc-tag{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ember);font-weight:500}


  /* ---- contact page ---- */
  .page-hero{padding-top:150px;padding-bottom:40px}
  .page-hero .display{max-width:16ch}
  .contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,7vw,110px);align-items:start;padding-top:10px}
  @media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:44px}}
  .field select{background:transparent;border:0;border-bottom:1px solid var(--driftwood);color:var(--cream);font-family:var(--font);font-size:17px;padding:8px 2px;border-radius:0}
  .field select option{background:var(--walnut);color:var(--cream)}
  .direct{display:flex;flex-direction:column;gap:34px}
  .direct .blk{display:flex;flex-direction:column;gap:10px}
  .direct .blk .h{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--driftwood);font-weight:500}
  .direct .blk a,.direct .blk p{font-size:clamp(17px,1.7vw,20px);color:var(--cream);font-weight:500;letter-spacing:.01em}
  .direct .blk a:hover{color:var(--ember)}
  .nextsteps{display:flex;flex-direction:column;gap:0}
  .nextstep{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:18px 0;border-top:1px dashed var(--cork)}
  .nextstep:last-child{border-bottom:1px dashed var(--cork)}
  .nextstep .n{color:var(--ember);font-weight:500;font-size:13px;padding-top:3px}
  .nextstep p{color:var(--driftwood);font-size:16px;line-height:1.35}
  .signpost{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;background:#180d06;border-radius:12px;padding:clamp(24px,4vw,40px);margin:0 var(--gutter) clamp(60px,10vh,120px)}
  .signpost .sp-txt{display:flex;flex-direction:column;gap:6px}
  .signpost .sp-txt .k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--driftwood);font-weight:500}
  .signpost .sp-txt .t{font-size:clamp(20px,2.6vw,30px);text-transform:uppercase;font-weight:500;line-height:1}
  .form-note{font-size:12px;color:var(--driftwood);margin-top:4px;line-height:1.4}

  /* ---- about page ---- */
  .story{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(34px,6vw,90px);align-items:start}
  @media(max-width:820px){.story{grid-template-columns:1fr;gap:38px}}
  .story .body{margin-bottom:22px}
  .ataglance{display:flex;flex-direction:column;border-top:1px dashed var(--cork)}
  .ataglance .row{display:flex;flex-direction:column;gap:6px;padding:20px 0;border-bottom:1px dashed var(--cork)}
  .ataglance .row .k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--driftwood);font-weight:500}
  .ataglance .row .v{font-size:clamp(16px,1.7vw,20px);text-transform:uppercase;font-weight:500;letter-spacing:.02em}
  .values{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));border-top:1px dashed var(--cork);border-left:1px dashed var(--cork);margin-top:44px}
  .value{border-right:1px dashed var(--cork);border-bottom:1px dashed var(--cork);padding:30px 26px;display:flex;flex-direction:column;gap:12px;min-height:170px}
  .value .vn{color:var(--ember);font-size:12px;font-weight:500;letter-spacing:.1em}
  .value h3{font-size:clamp(19px,2.1vw,25px);text-transform:uppercase;font-weight:500;line-height:1.05}
  .value p{color:var(--driftwood);font-size:15px;line-height:1.42}
  .ownbrands{display:flex;flex-wrap:wrap;gap:clamp(24px,4vw,60px);align-items:center;justify-content:space-between}
  .ownbrands .ob-imgs{display:flex;gap:16px;flex:0 0 auto}
  .ownbrands .ob-imgs img{height:200px;width:auto}
  @media(max-width:640px){.ownbrands .ob-imgs img{height:150px}}
