/* ============ Tokens — dark navy, Decizia red/orange ============ */
:root{
  --red:#FF5A32;
  --red-deep:#E7340D;
  --orange:#FF9142;
  --gold:#F6A93C;
  --ink:#F3F5FA;
  --ink-soft:#98A2B8;
  --paper:#0A0D14;
  --surface:#151B2C;
  --surface-alt:#0E1220;
  --line:#212A42;
  --line-strong:#2C3654;
  --tint: rgba(255,90,50,.15);
  --shadow: 0 24px 60px -24px rgba(0,0,0,.7);

  --font-display:'Fraunces', ui-serif, Georgia, serif;
  --font-body:'Public Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  --fs-h1: clamp(2.1rem, 1.5rem + 2.6vw, 3.4rem);
  --fs-h2: clamp(1.65rem, 1.35rem + 1.3vw, 2.5rem);
  --fs-h3: clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem);

  --maxw: 1180px;
  --gap-section: clamp(64px, 6vw + 16px, 116px);
  --radius: 10px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--font-display); margin:0; text-wrap:balance; font-weight:700; letter-spacing:-.01em;}
p{margin:0;}
ul{margin:0; padding:0; list-style:none;}
section{scroll-margin-top:96px;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,4vw,40px);}
.eyebrow{
  font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.12em;
  font-size:.76rem; font-weight:500; color:var(--red);
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.eyebrow .mosaic{flex:none;}
:focus-visible{outline:2.5px solid var(--red); outline-offset:3px; border-radius:4px;}

/* mosaic mark — echoes the logo's tiled cube */
.mosaic{display:inline-grid; grid-template-columns:repeat(3,1fr); gap:2px; width:16px; height:16px;}
.mosaic i{display:block; border-radius:1px;}
.mosaic i:nth-child(1){background:var(--gold);}
.mosaic i:nth-child(2){background:var(--orange);}
.mosaic i:nth-child(3){background:var(--red);}
.mosaic i:nth-child(4){background:var(--orange);}
.mosaic i:nth-child(5){background:var(--red);}
.mosaic i:nth-child(6){background:var(--red-deep);}
.mosaic i:nth-child(7){background:var(--red);}
.mosaic i:nth-child(8){background:var(--red-deep);}
.mosaic i:nth-child(9){background:var(--ink);}

/* ============ Header / primary nav ============ */
header{
  position:sticky; top:0; z-index:40;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:saturate(1.3) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px clamp(20px,4vw,40px);}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; flex:none;}
.brand img{height:40px; width:auto;}
.navlinks{display:flex; align-items:center; gap:8px; font-size:.94rem; font-weight:600;}
.navlinks > a{text-decoration:none; color:var(--ink-soft); padding:8px 4px; margin:0 6px; border-bottom:2px solid transparent; transition:color .15s, border-color .15s;}
.navlinks > a:hover{color:var(--ink); border-color:var(--line-strong);}
.navlinks > a[aria-current="page"]{color:var(--ink); border-color:var(--red);}

.nav-item{position:relative;}
.nav-drop-toggle{
  display:flex; align-items:center; gap:6px; background:none; border:none; cursor:pointer;
  font-family:var(--font-body); font-weight:600; font-size:.94rem; color:var(--ink-soft);
  padding:8px 4px; margin:0 6px; border-bottom:2px solid transparent; transition:color .15s, border-color .15s;
}
.nav-drop-toggle:hover, .nav-item:hover .nav-drop-toggle{color:var(--ink); border-color:var(--line-strong);}
.nav-drop-toggle svg{width:11px; height:11px; transition:transform .18s;}
.nav-item.open .nav-drop-toggle svg, .nav-item:hover .nav-drop-toggle svg{transform:rotate(180deg);}
.nav-dropdown{
  position:absolute; top:calc(100% + 6px); left:50%; transform:translateX(-50%);
  background:var(--surface); border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow);
  padding:8px; min-width:196px; display:grid; gap:2px;
  opacity:0; visibility:hidden; transform:translateX(-50%) translateY(-4px);
  transition:opacity .15s, transform .15s, visibility .15s;
}
.nav-item:hover .nav-dropdown, .nav-item:focus-within .nav-dropdown, .nav-item.open .nav-dropdown{
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{display:block; padding:9px 12px; border-radius:6px; text-decoration:none; color:var(--ink); font-size:.9rem; font-weight:600;}
.nav-dropdown a:hover{background:var(--surface-alt); color:var(--red);}
.nav-dropdown a[aria-current="page"]{color:var(--red);}

.nav-actions{display:flex; align-items:center; gap:16px;}

/* Language switcher */
.lang-switch{display:flex; align-items:center; gap:2px; font-family:var(--font-mono); font-size:.78rem;}
.lang-switch a{
  text-decoration:none; color:var(--ink-soft); padding:5px 8px; border-radius:6px; font-weight:600;
  transition:color .15s, background .15s;
}
.lang-switch a:hover{color:var(--ink); background:var(--surface);}
.lang-switch a.active{color:var(--red); background:var(--tint);}
.lang-switch .sep{color:var(--line-strong);}
.nav-drawer .lang-switch{font-size:.95rem; gap:6px; padding:14px 0; border-bottom:1px solid var(--line);}
.nav-drawer .lang-switch a{padding:6px 10px;}
.menu-toggle{display:none; background:none; border:1px solid var(--line-strong); border-radius:8px; padding:8px 10px; cursor:pointer;}
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after{content:""; display:block; width:20px; height:2px; background:var(--ink); position:relative; transition:.2s;}
.menu-toggle span::before{position:absolute; top:-6px;}
.menu-toggle span::after{position:absolute; top:6px;}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-body); font-weight:700; font-size:.92rem;
  padding:12px 22px; border-radius:8px; text-decoration:none; cursor:pointer;
  border:1px solid transparent; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:linear-gradient(120deg, var(--red), var(--orange)); color:#fff; box-shadow:0 10px 26px -12px rgba(255,90,50,.5);}
.btn-primary:hover{box-shadow:0 14px 34px -12px rgba(255,90,50,.65);}
.btn-ghost{background:transparent; border-color:var(--line-strong); color:var(--ink);}
.btn-ghost:hover{border-color:var(--red); color:var(--red);}
.btn-sm{padding:9px 16px; font-size:.85rem;}

/* ============ Hero (home) ============ */
.hero{padding:clamp(52px,7vw,96px) 0 var(--gap-section); position:relative; overflow:hidden;}
.hero::before{
  content:""; position:absolute; right:-160px; top:-160px; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,90,50,.16) 0%, rgba(255,90,50,0) 70%); pointer-events:none;
}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center;}
.hero h1{font-size:var(--fs-h1); line-height:1.06;}
.hero h1 em{font-style:italic; color:var(--red); font-weight:600;}
.hero .lede{margin-top:22px; font-size:1.15rem; color:var(--ink-soft); max-width:46ch;}
.hero-cta{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
.hero-stats{display:grid; grid-template-columns:repeat(3,auto); gap:28px; margin-top:48px;}
.stat b{display:block; font-family:var(--font-mono); font-size:1.7rem; font-weight:600; font-variant-numeric:tabular-nums; color:var(--ink);}
.stat span{font-size:.82rem; color:var(--ink-soft);}

.hero-art{
  position:relative; border-radius:20px;
  border:1px solid var(--line); box-shadow:var(--shadow);
  overflow:hidden;
}

/* ============ Page header (interior pages) ============ */
.page-head{padding:clamp(44px,6vw,76px) 0 clamp(36px,5vw,56px); border-bottom:1px solid var(--line); background:var(--surface-alt); position:relative; overflow:hidden;}
.page-head::before{
  content:""; position:absolute; left:-140px; top:-160px; width:420px; height:420px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,90,50,.13) 0%, rgba(255,90,50,0) 70%); pointer-events:none;
}
.page-head .wrap{position:relative; z-index:1;}
.page-head .crumbs{font-family:var(--font-mono); font-size:.78rem; color:var(--ink-soft); margin-bottom:18px; display:flex; gap:8px; align-items:center;}
.page-head .crumbs a{text-decoration:none; color:var(--ink-soft);}
.page-head .crumbs a:hover{color:var(--red);}
.page-head h1{font-size:var(--fs-h2);}
.page-head .lede{margin-top:14px; font-size:1.05rem; color:var(--ink-soft); max-width:62ch;}
.page-head .badge-row{margin-top:20px;}
.page-head-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center;}
.page-head-media{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow);}

/* Dashboard mock — replaces stock photography in hero visuals */
.dash-mock{width:100%; height:100%; display:flex; flex-direction:column; background:var(--surface);}
.dash-mock-bar{display:flex; align-items:center; gap:7px; padding:12px 16px; border-bottom:1px solid var(--line); background:var(--surface-alt); flex:none;}
.dash-mock-bar .dot{width:9px; height:9px; border-radius:50%; display:block;}
.dash-mock-bar .dot.d1{background:var(--red);}
.dash-mock-bar .dot.d2{background:var(--orange);}
.dash-mock-bar .dot.d3{background:var(--gold);}
.dash-mock-title{margin-left:8px; font-family:var(--font-mono); font-size:.74rem; color:var(--ink-soft); letter-spacing:.02em;}
.dash-mock-body{flex:1; display:flex; flex-direction:column; gap:14px; padding:18px; min-height:0;}
.dash-kpis{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; flex:none;}
.dash-kpi{border:1px solid var(--line); border-radius:8px; padding:10px 12px; background:var(--surface-alt);}
.dash-kpi .k-label{display:block; font-family:var(--font-mono); font-size:.66rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px;}
.dash-kpi .k-value{display:block; font-family:var(--font-mono); font-size:1.15rem; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums;}
.dash-kpi .k-delta{display:inline-block; margin-top:4px; font-family:var(--font-mono); font-size:.68rem; font-weight:600;}
.dash-kpi .k-delta.up{color:#4ADE80;}
.dash-kpi .k-delta.down{color:var(--red);}
.dash-charts{display:grid; grid-template-columns:1fr 1fr; gap:10px; flex:1; min-height:60px;}
.dash-bars{display:flex; align-items:flex-end; gap:6px; border:1px solid var(--line); border-radius:8px; background:var(--surface-alt); padding:10px;}
.dash-bars i{flex:1; display:block; border-radius:3px 3px 0 0; background:linear-gradient(180deg, var(--orange), var(--red)); opacity:.85;}
.dash-line{border:1px solid var(--line); border-radius:8px; background:var(--surface-alt); padding:10px; width:100%; height:100%;}
.dash-line polyline{fill:none; stroke:var(--red); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round;}
.dash-table{display:grid; gap:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; flex:none;}
.dash-row{display:flex; align-items:center; justify-content:space-between; padding:9px 12px; font-size:.8rem; color:var(--ink-soft); background:var(--surface-alt); border-top:1px solid var(--line);}
.dash-row:first-child{border-top:none;}
.dash-pill{font-family:var(--font-mono); font-size:.68rem; font-weight:600; padding:3px 9px; border-radius:999px;}
.dash-pill.ok{color:#4ADE80; background:rgba(74,222,128,.14);}
.dash-pill.warn{color:var(--gold); background:rgba(246,169,60,.16);}

/* Card media (photo on top of a pole-card) */
.pole-card.has-media{padding:0; overflow:hidden;}
.pole-card .card-media{aspect-ratio:16/10; overflow:hidden; background:var(--surface-alt);}
.pole-card .card-media img{width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(.25); transition:filter .25s ease, transform .35s ease;}
.pole-card.has-media:hover .card-media img{filter:grayscale(0); transform:scale(1.04);}
.pole-card .card-body{padding:24px; display:flex; flex-direction:column; gap:14px; flex:1;}

/* Side media (image inside a sticky detail column) */
.side-media{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); margin-top:22px;}
.side-media img{width:100%; display:block;}

/* Client logo wall — fixed light chips so any logo (opaque or transparent) stays legible on dark */
.logo-wall{display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-top:22px;}
.logo-tile{background:#EEF0F4; display:flex; align-items:center; justify-content:center; padding:18px 20px; aspect-ratio:2/1;}
.logo-tile img{max-width:100%; max-height:100%; object-fit:contain; filter:grayscale(1) opacity(.72); transition:filter .2s ease, opacity .2s ease;}
.logo-tile:hover img{filter:grayscale(0); opacity:1;}

/* Technology partner logos (real vendor badges) */
.tech-strip{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:20px;}
.tech-strip img{height:34px; width:auto; background:#EEF0F4; border-radius:6px; padding:6px 10px; box-sizing:content-box; filter:grayscale(.4) opacity(.9); transition:filter .2s ease, opacity .2s ease;}
.tech-strip img:hover{filter:none; opacity:1;}

/* ============ Trust strip ============ */
.trust{padding:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface-alt);}
.trust .wrap{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.trust .label{font-family:var(--font-mono); font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-soft); flex:none;}

/* ============ Section shells ============ */
.section{padding:var(--gap-section) 0;}
.section-alt{background:var(--surface-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.section-head{max-width:64ch; margin-bottom:44px;}
.section-head h2{margin-top:6px;}
.section-head .lede{margin-top:14px; color:var(--ink-soft); font-size:1.05rem;}

/* Pole overview cards */
.poles{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.pole-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:28px; display:flex; flex-direction:column; gap:14px;
}
.pole-card .num{
  display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
  border-radius:10px; background:var(--tint); color:var(--red);
  font-family:var(--font-mono); font-weight:700; font-size:.85rem;
}
.pole-card h3{font-size:var(--fs-h3);}
.pole-card p{color:var(--ink-soft); font-size:.95rem;}
.pole-card a{margin-top:auto; font-weight:700; font-size:.9rem; color:var(--red); text-decoration:none; display:inline-flex; align-items:center; gap:6px;}
.pole-card a::after{content:"→"; transition:transform .15s;}
.pole-card a:hover::after{transform:translateX(3px);}

/* Detailed pole sections */
.pole-detail{display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:start;}
.pole-detail .side{position:sticky; top:100px;}
.tag{display:inline-block; font-family:var(--font-mono); font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; color:var(--red); background:var(--tint); border-radius:999px; padding:5px 12px; margin-bottom:16px;}

.feature-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.feature{
  border:1px solid var(--line); border-radius:var(--radius); padding:22px; background:var(--surface);
}
.feature h4{font-size:1.02rem; margin-bottom:8px;}
.feature p{font-size:.9rem; color:var(--ink-soft);}

.badge-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.badge{
  font-family:var(--font-mono); font-size:.82rem; border:1px solid var(--line-strong); border-radius:999px;
  padding:7px 14px; color:var(--ink-soft);
}

.split-list{display:grid; gap:14px;}
.split-item{display:grid; grid-template-columns:auto 1fr; gap:16px; padding:16px 0; border-top:1px solid var(--line);}
.split-item:first-child{border-top:none;}
.split-item .dot{width:8px; height:8px; border-radius:50%; margin-top:8px; background:var(--red);}
.split-item h4{font-size:1rem; margin-bottom:4px;}
.split-item p{font-size:.9rem; color:var(--ink-soft);}

/* Industries */
.industry-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.industry-card{border:1px solid var(--line); background:var(--surface); border-radius:var(--radius); padding:22px;}
.industry-card h4{font-size:1.02rem; margin-bottom:8px;}
.industry-card p{font-size:.88rem; color:var(--ink-soft);}

/* About */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.timeline{border-left:2px solid var(--line); padding-left:22px; display:grid; gap:22px; margin-top:28px;}
.timeline b{font-family:var(--font-mono); color:var(--red); font-size:.82rem; display:block; margin-bottom:4px;}

.reasons{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:28px;}
.reason{padding:20px 0; border-top:1px solid var(--line);}
.reason h4{font-size:1rem; margin-bottom:6px; display:flex; align-items:center; gap:10px;}
.reason h4 .mosaic{width:12px; height:12px;}
.reason p{font-size:.88rem; color:var(--ink-soft);}

.partner-strip{display:flex; gap:12px; flex-wrap:wrap; margin-top:20px;}
.partner-strip span{font-family:var(--font-mono); font-size:.82rem; border:1px solid var(--line-strong); border-radius:8px; padding:8px 14px;}

/* Réalisations */
.filters{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px;}
.filters button{
  font-family:var(--font-mono); font-size:.8rem; border:1px solid var(--line-strong); background:var(--surface);
  color:var(--ink-soft); border-radius:999px; padding:7px 15px; cursor:pointer; transition:.15s;
}
.filters button:hover{border-color:var(--red); color:var(--red);}
.filters button.active{background:var(--ink); color:var(--surface); border-color:var(--ink);}
.cases{display:grid; gap:0; border-top:1px solid var(--line);}
.case{
  display:grid; grid-template-columns:110px 1fr auto; gap:24px; align-items:start;
  padding:26px 0; border-bottom:1px solid var(--line);
}
.case .date{font-family:var(--font-mono); font-size:.82rem; color:var(--ink-soft); padding-top:4px;}
.case .date b{display:block; font-size:1.3rem; color:var(--ink); font-weight:600;}
.case h4{font-size:1.05rem; margin-bottom:6px;}
.case p{font-size:.9rem; color:var(--ink-soft); max-width:62ch;}
.case .client{display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:.78rem; color:var(--red); align-self:center; white-space:nowrap;}
.case .client img{width:32px; height:32px; object-fit:contain; border:1px solid var(--line); border-radius:6px; background:#EEF0F4; padding:4px;}

/* Contact */
.contact-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:56px;}
.contact-card{border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); padding:28px;}
.contact-card h3{font-size:1.1rem; margin-bottom:18px;}
.contact-row{display:grid; grid-template-columns:20px 1fr; gap:12px; padding:12px 0; border-top:1px solid var(--line); font-size:.92rem;}
.contact-row:first-of-type{border-top:none;}
.contact-row a{text-decoration:none; color:var(--ink); font-weight:600;}
.contact-row a:hover{color:var(--red);}
.contact-row .lbl{color:var(--ink-soft); font-size:.78rem; font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.06em; grid-column:1/-1;}
.map-frame{margin-top:20px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; aspect-ratio:16/10;}
.map-frame iframe{width:100%; height:100%; border:0; display:block;}

form{display:grid; gap:16px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
label{font-size:.82rem; font-weight:600; color:var(--ink-soft); display:block; margin-bottom:6px;}
input, select, textarea{
  width:100%; font-family:var(--font-body); font-size:.95rem; padding:11px 13px;
  border:1px solid var(--line-strong); border-radius:8px; background:var(--surface); color:var(--ink);
}
textarea{min-height:120px; resize:vertical;}
input:focus, select:focus, textarea:focus{outline:none; border-color:var(--red); box-shadow:0 0 0 3px var(--tint);}
.form-note{font-size:.82rem; color:var(--ink-soft);}
.form-turnstile{margin:0 0 14px;}
.form-feedback{font-size:.88rem; margin:0; min-height:1.2em;}
.form-feedback:empty{margin:0;}
.form-feedback[data-state="sending"]{color:var(--ink-soft);}
.form-feedback[data-state="success"]{color:var(--red);}
.form-feedback[data-state="error"]{color:var(--red-deep);}

/* Callout — routes the visitor to the right form when several exist */
.callout{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px;
  background:var(--tint); border:1px solid color-mix(in srgb, var(--red) 35%, var(--line));
  border-radius:var(--radius); padding:16px 20px; margin-top:24px; font-size:.92rem;
}
.callout strong{color:var(--ink); font-weight:700;}
.callout .callout-links{display:flex; flex-wrap:wrap; gap:6px 16px;}
.callout a{color:var(--red); font-weight:700; text-decoration:none; white-space:nowrap;}
.callout a:hover{text-decoration:underline;}

/* Compact intent cards (choose the right form) */
.intent-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px;}
.intent-card{
  border:1px solid var(--line); border-radius:var(--radius); background:var(--surface);
  padding:22px; text-decoration:none; color:var(--ink); display:flex; flex-direction:column; gap:10px;
  transition:border-color .15s, transform .15s;
}
.intent-card:hover{border-color:var(--red); transform:translateY(-2px);}
.intent-card.active{border-color:var(--red); background:var(--tint);}
.intent-card h4{font-size:1rem;}
.intent-card p{font-size:.86rem; color:var(--ink-soft);}
.intent-card span.go{margin-top:auto; font-weight:700; font-size:.85rem; color:var(--red);}

/* Legal / simple prose pages */
.prose{max-width:74ch; display:grid; gap:20px;}
.prose h2{font-size:1.3rem; margin-top:12px;}
.prose p, .prose li{color:var(--ink-soft); font-size:.98rem;}
.prose li{padding-left:18px; position:relative;}
.prose li::before{content:"–"; position:absolute; left:0; color:var(--red);}
.prose ul{display:grid; gap:8px;}

/* Footer */
footer{border-top:1px solid var(--line); padding:56px 0 28px; background:var(--surface-alt);}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;}
.foot-brand img{height:34px; margin-bottom:14px;}
.foot-brand p{font-size:.88rem; color:var(--ink-soft); max-width:34ch;}
.foot-col h5{font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; color:var(--ink-soft); margin-bottom:14px;}
.foot-col ul{display:grid; gap:10px;}
.foot-col a{text-decoration:none; font-size:.9rem; color:var(--ink); }
.foot-col a:hover{color:var(--red);}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; margin-top:48px; padding-top:24px; border-top:1px solid var(--line); font-size:.8rem; color:var(--ink-soft); flex-wrap:wrap; gap:12px;}
.foot-bottom a{text-decoration:none; color:var(--ink-soft);}
.foot-bottom a:hover{color:var(--red);}

/* ============ Responsive ============ */
@media (max-width:980px){
  .navlinks{display:none;}
  .menu-toggle{display:inline-flex; flex-direction:column; justify-content:center;}
  .hero-grid, .pole-detail, .about-grid, .contact-grid, .page-head-grid{grid-template-columns:1fr;}
  .pole-detail .side{position:static;}
  .poles, .feature-grid, .industry-grid, .reasons, .intent-grid{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr; row-gap:32px;}
  .case{grid-template-columns:70px 1fr; }
  .case .client{grid-column:2; }
  .logo-wall{grid-template-columns:repeat(3,1fr);}
  .page-head-media{order:-1;}
}
@media (max-width:640px){
  .poles, .feature-grid, .industry-grid, .reasons, .form-row, .intent-grid{grid-template-columns:1fr;}
  .hero-stats{grid-template-columns:repeat(3,1fr); gap:14px;}
  .foot-grid{grid-template-columns:1fr;}
  .trust .logos{gap:8px 16px; font-size:.9rem;}
  .logo-wall{grid-template-columns:repeat(2,1fr);}
}

.nav-drawer{
  display:none; position:fixed; inset:0; z-index:50; background:var(--paper);
  padding:20px clamp(20px,4vw,40px); overflow-y:auto;
}
.nav-drawer.open{display:block;}
.nav-drawer .nav{padding:0 0 24px;}
.nav-drawer a{display:block; padding:13px 0; font-family:var(--font-display); font-size:1.3rem; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink);}
.nav-drawer a[aria-current="page"]{color:var(--red);}
.nav-drawer .drawer-sub{padding-left:18px;}
.nav-drawer .drawer-sub a{font-size:1.05rem; color:var(--ink-soft);}
.nav-drawer .drawer-label{padding:13px 0 0; font-family:var(--font-mono); font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); border-bottom:1px solid var(--line);}
.nav-drawer .btn{margin-top:24px; width:100%;}
