:root{
  --bg:#f4ede1;
  --bg-strong:#eadbc7;
  --paper:#fffaf1;
  --paper-soft:#f8f0e4;
  --ink:#19130d;
  --ink-soft:#5f5447;
  --line:#d8c7b2;
  --line-strong:#ab8d66;
  --accent:#cb5c34;
  --accent-deep:#8a3418;
  --accent-soft:#f6ddd3;
  --gold:#f0c46c;
  --gold-soft:#fae7bc;
  --sage:#5f7354;
  --sage-soft:#dde5d7;
  --cobalt:#355fa0;
  --cobalt-soft:#dbe6fb;
  --plum:#71456e;
  --plum-soft:#eeddf0;
  --charcoal:#1d1814;
  --forest:#294135;
  --forest-soft:#dce7df;
  --radius:32px;
  --radius-md:24px;
  --radius-sm:16px;
  --shadow:0 22px 48px rgba(48,31,17,.08);
  --shadow-sm:0 12px 24px rgba(48,31,17,.07);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:'Space Grotesk',system-ui,sans-serif;
  color:var(--ink);
  background:
    linear-gradient(180deg,rgba(255,255,255,.46),transparent 24%),
    radial-gradient(circle at top left,rgba(240,196,108,.32),transparent 24%),
    radial-gradient(circle at bottom right,rgba(203,92,52,.14),transparent 28%),
    linear-gradient(135deg,#f6efe4 0%,#f1e5d4 48%,#efe0cb 100%);
  -webkit-font-smoothing:antialiased;
}

body::before{
  content:'';
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(rgba(145,119,85,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(145,119,85,.08) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.08) 65%,transparent 100%);
  pointer-events:none;
}

a{color:inherit;text-decoration:none}
img{max-width:100%}

.site-frame{
  position:fixed;
  inset:20px;
  border:1px solid rgba(93,76,58,.18);
  border-radius:40px;
  pointer-events:none;
}

.page-shell{
  width:min(1380px,calc(100% - 2rem));
  margin:0 auto;
  padding:1.2rem 0 2.2rem;
}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  padding-top:1rem;
}

.panel-shell{
  border:1px solid rgba(121,96,69,.2);
  background:rgba(255,250,241,.86);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter:blur(12px);
}

.panel-shell-dark{
  background:linear-gradient(135deg,#1f1811 0%,#2d2219 100%);
  color:#fff9f0;
}

.brand-bar{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:1rem;
  padding:1rem 1.2rem;
}

.brand{
  display:flex;
  align-items:center;
  gap:.9rem;
  min-width:0;
}

.brand-mark{
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--accent) 0%,var(--gold) 100%);
  color:#1f1811;
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}

.brand-copy{
  display:flex;
  flex-direction:column;
  gap:.16rem;
}

.brand-copy strong{
  font-size:1.02rem;
  letter-spacing:-.02em;
}

.brand-copy span,
.status-pill,
.section-label,
.product-code,
.product-mini-badge,
.product-strapline,
.breadcrumbs,
.hero-stats span,
.footer-bottom,
.bullet-list,
.text-link,
.detail-metrics span{
  font-family:'IBM Plex Mono',ui-monospace,monospace;
}

.brand-copy span{
  font-size:.65rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-soft);
}

.nav-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  flex-wrap:wrap;
}

.nav-link{
  padding:.7rem .9rem;
  border-radius:999px;
  font-size:.76rem;
  border:1px solid transparent;
  color:#6c5f53;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}

.nav-link:hover{
  transform:translateY(-1px);
  background:#fff7ea;
  border-color:rgba(121,96,69,.16);
  color:var(--ink);
}

.nav-link.is-active{
  background:#1e1812;
  border-color:#1e1812;
  color:#fff8ef;
}

.status-pill{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  padding:.7rem .95rem;
  border-radius:999px;
  background:#fff1dd;
  border:1px solid rgba(171,141,102,.28);
  font-size:.66rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8a3418;
}

.status-pill span{
  width:9px;
  height:9px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--gold));
  box-shadow:0 0 0 4px rgba(203,92,52,.15);
}

.page-stack{
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding-top:1rem;
}

.hero-shell,
.section-shell{
  padding:1.5rem;
}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:1rem;
}

.hero-grid-tight{
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
}

.hero-main,
.hero-side{
  border-radius:28px;
  padding:1.45rem;
  border:1px solid rgba(121,96,69,.18);
}

.hero-main{
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,245,230,.68));
}

.hero-side{
  background:linear-gradient(180deg,#2a2119,#1b1510);
  color:#fff7eb;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.46rem .78rem;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent-deep);
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
  margin-bottom:1rem;
}

.eyebrow::before{
  content:'';
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--gold));
}

.hero-title,
.section-title,
.footer-title{
  margin:0;
  letter-spacing:-.055em;
  line-height:1.02;
}

.hero-title{
  font-size:clamp(2.1rem,5vw,4.6rem);
  max-width:900px;
}

.hero-copy,
.section-copy,
.footer-copy,
.signal-list span,
.focus-card p,
.product-summary,
.detail-card p{
  color:var(--ink-soft);
  line-height:1.75;
}

.hero-copy{
  font-size:1rem;
  max-width:840px;
  margin:1rem 0 1.4rem;
}

.hero-actions,
.city-cloud,
.chip-cloud,
.product-tags,
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:.85rem 1.15rem;
  border-radius:18px;
  font-size:.9rem;
  font-weight:700;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}

.btn:hover{transform:translateY(-1px)}

.btn-primary{
  background:linear-gradient(135deg,var(--accent) 0%,#a54420 48%,#6a2d1a 100%);
  color:#fff8ef;
  box-shadow:0 14px 28px rgba(138,52,24,.18);
}

.btn-secondary{
  background:#fffaf1;
  color:var(--ink);
  border:1px solid rgba(121,96,69,.2);
}

.hero-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
  margin-top:1.4rem;
}

.stat-card{
  padding:1rem;
  border-radius:22px;
  background:#fffdf8;
  border:1px solid rgba(121,96,69,.16);
  box-shadow:var(--shadow-sm);
}

.stat-card strong{
  display:block;
  font-size:1.55rem;
  line-height:1;
}

.stat-card span{
  display:block;
  margin-top:.4rem;
  font-size:.64rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#8c7251;
}

.stat-card p{
  margin:.55rem 0 0;
  font-size:.8rem;
  line-height:1.6;
  color:var(--ink-soft);
}

.section-head{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  margin-bottom:1.2rem;
}

.section-label{
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#8c7251;
}

.panel-shell-dark .section-label,
.hero-side .section-label,
.hero-side .signal-list span,
.panel-shell-dark .section-copy,
.panel-shell-dark .focus-card p{
  color:rgba(255,244,230,.74);
}

.section-title{
  font-size:clamp(1.45rem,2.4vw,2.2rem);
}

.section-copy{
  margin:0;
  max-width:860px;
  font-size:.95rem;
}

.product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.product-grid-compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.product-card{
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:1.2rem;
  border-radius:26px;
  border:1px solid rgba(121,96,69,.18);
  background:#fffaf1;
  box-shadow:var(--shadow-sm);
  min-height:100%;
}

.product-card.is-compact{
  padding:1rem;
}

.tone-rust{--tone:var(--accent);--tone-soft:var(--accent-soft)}
.tone-amber{--tone:#c28b18;--tone-soft:#fae7bc}
.tone-charcoal{--tone:#46372b;--tone-soft:#ece2d2}
.tone-sage{--tone:var(--sage);--tone-soft:var(--sage-soft)}
.tone-cobalt{--tone:var(--cobalt);--tone-soft:var(--cobalt-soft)}
.tone-plum{--tone:var(--plum);--tone-soft:var(--plum-soft)}
.tone-forest{--tone:var(--forest);--tone-soft:var(--forest-soft)}
.tone-brick{--tone:#9f4930;--tone-soft:#f1ddd5}
.tone-sand{--tone:#9a6e38;--tone-soft:#f4ead8}

.product-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
}

.product-code{
  font-size:.64rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#866e4e;
}

.product-mini-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.34rem .6rem;
  border-radius:999px;
  background:var(--tone-soft);
  color:var(--tone);
  font-size:.6rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.product-figure,
.detail-hero-figure{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:160px;
  border-radius:22px;
  background:
    linear-gradient(180deg,#fff7eb 0%,var(--tone-soft) 100%);
  border:1px solid rgba(121,96,69,.14);
  overflow:hidden;
}

.detail-hero-figure{
  padding:1rem;
  min-height:unset;
  display:grid;
  gap:1rem;
}

.product-figure::before{
  content:'';
  position:absolute;
  inset:auto 0 18px;
  height:1px;
  background:rgba(121,96,69,.16);
}

.product-figure-screen,
.product-figure-pole,
.product-figure-base{
  position:relative;
  z-index:1;
}

.product-figure-screen{
  width:110px;
  height:72px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--tone) 0%,#fff 190%);
  border:4px solid rgba(255,255,255,.7);
  box-shadow:0 16px 24px rgba(48,31,17,.12);
}

.product-figure-pole{
  position:absolute;
  bottom:32px;
  width:10px;
  height:56px;
  border-radius:999px;
  background:linear-gradient(180deg,#d2c1aa,#8f7858);
}

.product-figure-base{
  position:absolute;
  bottom:24px;
  width:88px;
  height:10px;
  border-radius:999px;
  background:#c8b28d;
}

.figure-portrait .product-figure-screen,
.figure-tower .product-figure-screen{
  width:80px;
  height:118px;
}

.figure-elevated .product-figure-screen{
  width:120px;
  height:80px;
  transform:translateY(-14px);
}

.figure-elevated .product-figure-pole{
  height:72px;
}

.figure-giant .product-figure-screen{
  width:156px;
  height:92px;
}

.figure-wide .product-figure-screen,
.figure-road .product-figure-screen{
  width:148px;
  height:66px;
}

.figure-header .product-figure-screen{
  width:148px;
  height:46px;
  border-radius:14px;
}

.figure-tower .product-figure-pole{
  height:78px;
}

.product-copy h3,
.focus-card h3,
.detail-card h3{
  margin:0;
  font-size:1.2rem;
  letter-spacing:-.03em;
}

.product-strapline{
  margin:0;
  font-size:.63rem;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--tone);
}

.product-summary{
  margin:0;
  font-size:.9rem;
}

.product-tags span,
.city-link,
.chip-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.55rem .78rem;
  border-radius:999px;
  border:1px solid rgba(121,96,69,.18);
  background:#fff8ee;
  font-size:.78rem;
  color:#5f5447;
}

.chip-link{
  background:var(--tone-soft);
  color:var(--tone);
  border-color:transparent;
}

.city-link{
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}

.city-link:hover{
  transform:translateY(-1px);
  border-color:rgba(121,96,69,.28);
  background:#fff3df;
}

.city-link.is-active{
  background:#1e1812;
  color:#fff8ef;
  border-color:#1e1812;
}

.text-link{
  font-size:.74rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--tone);
}

.focus-grid,
.detail-grid,
.footer-grid{
  display:grid;
  gap:1rem;
}

.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-grid{grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,.8fr))}

.focus-card,
.detail-card{
  padding:1.15rem;
  border-radius:24px;
  background:rgba(255,250,241,.94);
  border:1px solid rgba(121,96,69,.18);
  box-shadow:var(--shadow-sm);
}

.panel-shell-dark .focus-card{
  background:rgba(255,250,241,.06);
  border-color:rgba(255,244,230,.12);
}

.focus-card p,
.detail-card p{
  margin:.6rem 0 0;
  font-size:.9rem;
}

.signal-list{
  display:flex;
  flex-direction:column;
  gap:.8rem;
  margin-top:1rem;
}

.signal-list div{
  display:flex;
  gap:.85rem;
  align-items:flex-start;
  padding:.8rem .85rem;
  border-radius:18px;
  background:rgba(255,244,230,.06);
  border:1px solid rgba(255,244,230,.08);
}

.signal-list strong{
  min-width:54px;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold);
}

.breadcrumbs{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
  font-size:.64rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#866e4e;
  margin-bottom:1rem;
}

.breadcrumbs a{color:var(--accent-deep)}

.detail-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}

.detail-metrics div{
  padding:.85rem;
  border-radius:18px;
  background:#fffdf8;
  border:1px solid rgba(121,96,69,.16);
}

.detail-metrics span{
  display:block;
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#866e4e;
}

.detail-metrics strong{
  display:block;
  margin-top:.35rem;
  font-size:.95rem;
  line-height:1.45;
}

.detail-card-list{
  background:linear-gradient(180deg,#fff8ef 0%,#f5ebdd 100%);
}

.bullet-list{
  margin:.85rem 0 0;
  padding-left:1.1rem;
  display:grid;
  gap:.55rem;
  font-size:.78rem;
  letter-spacing:.02em;
  color:#4d4338;
}

.cta-shell{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.site-footer{
  margin-top:1rem;
  padding:1.35rem;
}

.footer-title{
  font-size:clamp(1.4rem,2.4vw,2rem);
}

.footer-copy{
  margin:.8rem 0 0;
  max-width:560px;
}

.footer-links{
  margin-top:.85rem;
}

.footer-links a{
  padding:.42rem 0;
  color:#6b5e50;
  font-size:.88rem;
}

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.4rem;
  padding-top:1rem;
  border-top:1px solid rgba(121,96,69,.16);
  font-size:.66rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#866e4e;
}

@media (max-width:1180px){
  .brand-bar,
  .hero-grid,
  .hero-grid-tight,
  .focus-grid,
  .footer-grid,
  .detail-grid,
  .product-grid,
  .product-grid-compact,
  .hero-stats{
    grid-template-columns:1fr;
  }

  .brand-bar{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .cta-shell{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:760px){
  .site-frame{display:none}
  .page-shell{width:min(100%,calc(100% - 1rem))}
  .hero-shell,
  .section-shell,
  .site-footer{padding:1rem}
  .hero-main,
  .hero-side{padding:1rem}
  .hero-title{font-size:2rem}
  .nav-row,
  .hero-actions,
  .city-cloud,
  .chip-cloud,
  .product-tags,
  .footer-links{
    width:100%;
  }
  .btn,
  .nav-link,
  .city-link,
  .chip-link{width:100%}
  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}
