/* ===================================================================
   A Pro — Event Production & Advertising
   Design tokens grounded in the brand's own mark: brand blue #3571B7,
   brand orange #F7944E. Dark "stage" sections vs warm "workshop/paper"
   sections stand for the two halves of the work: the live event and
   the daytime fabrication behind it.
=================================================================== */

@font-face{
  font-family:"Geist";
  src:url("https://cdn.jsdelivr.net/npm/geist@1.7.2/dist/fonts/geist-sans/Geist-Variable.woff2") format("woff2-variations"),
      url("https://cdn.jsdelivr.net/npm/geist@1.7.2/dist/fonts/geist-sans/Geist-Variable.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --ink:        #0a121f;
  --ink-2:      #0e1728;
  --ink-3:      #121d33;
  --navy:       #163b6d;
  --navy-2:     #1e4a85;
  --blue:       #3571b7;
  --blue-light: #7fb0e6;
  --orange:     #f7944e;
  --orange-deep:#dd7a30;
  --amber-glow: #ffb56b;
  --paper:      #f5f1e8;
  --paper-2:    #ece4d3;
  --paper-line: rgba(20,33,58,.14);
  --dark-line:  rgba(255,255,255,.14);
  --text-ink:      #14213a;
  --text-ink-soft: #4b5a72;
  --text-light:      #f2f4f8;
  --text-light-soft: #a9b7cc;

  --font-display: "Geist", system-ui, -apple-system, sans-serif;
  --font-body: "Geist", system-ui, -apple-system, sans-serif;
  --font-serif: "Playfair Display", Georgia, serif;

  --fs-100: 0.8125rem;
  --fs-200: 0.9375rem;
  --fs-300: 1.0625rem;
  --fs-400: 1.25rem;
  --fs-500: 1.625rem;
  --fs-600: clamp(1.9rem, 1.6rem + 1.2vw, 2.5rem);
  --fs-700: clamp(2.4rem, 1.9rem + 2vw, 3.4rem);
  --fs-hero: clamp(2.6rem, 1.6rem + 5vw, 5.4rem);

  --gutter: clamp(1.25rem, 4vw, 3rem);
  --maxw: 78rem;
  --cut: 16px;

  --ease: cubic-bezier(.22,.8,.28,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
}

body{
  margin:0;
  background:var(--paper);
  color:var(--text-ink);
  font-family:var(--font-body);
  font-size:var(--fs-300);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,p,figure{ margin:0; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
input,textarea,select{ font:inherit; }

h1,h2,h3{
  font-weight:800;
  letter-spacing:-0.01em;
  line-height:1.08;
}
h3{ font-family:var(--font-display); }
h1,h2{ font-family:var(--font-serif); letter-spacing:0; }

/* ---------- cursor-following glow ---------- */
.cursor-glow{
  position:fixed; inset:0; z-index:5; pointer-events:none;
  opacity:0; transition:opacity .5s var(--ease);
  background:radial-gradient(420px circle at var(--x,50%) var(--y,50%),
    rgba(247,148,78,.16), rgba(53,113,183,.08) 45%, transparent 72%);
  mix-blend-mode:screen;
}
.cursor-glow.is-active{ opacity:1; }
@media (prefers-reduced-motion: reduce){ .cursor-glow{ display:none; } }

.wrap{
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.skip-link{
  position:absolute; left:-999px; top:0;
  background:var(--orange); color:#14100b; padding:.75em 1.25em; z-index:999;
}
.skip-link:focus{ left:var(--gutter); top:var(--gutter); }

:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:3px;
}

/* ---------- buttons: cut-corner signature shape ---------- */
.btn{
  --cut: 14px;
  display:inline-flex; align-items:center; justify-content:center;
  gap:.5em;
  padding:.95em 1.7em;
  font-weight:700;
  font-size:var(--fs-200);
  white-space:nowrap;
  transition:transform .25s var(--ease), background-color .25s var(--ease), color .25s var(--ease);
}
.btn-cut{
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));
}
.btn-orange{ background:var(--orange); color:#1a1000; }
.btn-orange:hover{ background:var(--orange-deep); transform:translateY(-2px); }
.btn-navy{ background:var(--navy); color:var(--text-light); }
.btn-navy:hover{ background:var(--navy-2); transform:translateY(-2px); }
.btn-ghost{ background:transparent; color:var(--text-light); box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4); }
.btn-ghost:hover{ box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8); transform:translateY(-2px); }
.btn-sm{ padding:.6em 1.2em; font-size:var(--fs-100); }
.btn-block{ width:100%; }

/* ===================== HEADER ===================== */
.site-header{
  position:fixed; inset-inline:0; top:0; z-index:100;
  padding-block:1.1rem;
  transition:background-color .3s var(--ease), padding-block .3s var(--ease), border-color .3s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.is-scrolled{
  background:rgba(10,18,31,.86);
  backdrop-filter:blur(10px);
  padding-block:.7rem;
  border-color:var(--dark-line);
}
.header-inner{ display:flex; align-items:center; gap:1.5rem; }
.brand{ display:flex; align-items:center; margin-right:auto; flex:0 0 auto; }
.brand-logo{ height:34px; width:auto; flex:0 0 auto; }

.main-nav{ display:flex; gap:1.9rem; }
.main-nav a{
  color:var(--text-light-soft); font-size:var(--fs-200); font-weight:600;
  position:relative; padding-block:.2rem;
}
.main-nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px;
  background:var(--orange); transition:right .25s var(--ease);
}
.main-nav a:hover{ color:var(--text-light); }
.main-nav a:hover::after{ right:0; }

.header-actions{ display:flex; align-items:center; gap:1.1rem; }
.phone-link{ display:flex; align-items:center; gap:.4rem; color:var(--text-light); font-weight:600; font-size:var(--fs-200); }
.phone-link svg{ color:var(--orange); }

.lang-toggle{ display:flex; align-items:center; gap:.35em; color:var(--text-light-soft); font-weight:700; font-size:var(--fs-100); }
.lang-toggle span[data-lang-btn]{ padding:.2em .3em; }
.lang-toggle span.is-active{ color:var(--orange); }
.lang-sep{ opacity:.5; }

.nav-toggle{ display:none; flex-direction:column; gap:5px; padding:.4rem; }
.nav-toggle span{ width:22px; height:2px; background:var(--text-light); display:block; }

/* ===================== HERO ===================== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex; align-items:center;
  background:var(--ink);
  overflow:hidden;
  padding-top:6rem;
}
.hero-art{ position:absolute; inset:0; z-index:0; }
.truss-grid{ position:absolute; inset:0; width:100%; height:100%; }
.spotlight{
  position:absolute; width:60vw; height:60vw; max-width:900px; max-height:900px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(247,148,78,.28) 0%, rgba(247,148,78,0) 65%);
  filter:blur(4px);
  opacity:0;
  transform:scale(.85);
  animation:spotIn 1.6s var(--ease) forwards;
}
.spotlight-1{ top:-18%; left:-10%; animation-delay:.1s; }
.spotlight-2{ top:10%; right:-15%; background:radial-gradient(circle, rgba(53,113,183,.35) 0%, rgba(53,113,183,0) 65%); animation-delay:.3s; }
.spotlight-3{ bottom:-25%; left:30%; animation-delay:.5s; }
@keyframes spotIn{ to{ opacity:1; transform:scale(1); } }

.hero-inner{ position:relative; z-index:1; }

.hero-pillars{
  display:flex; align-items:center; gap:.9rem;
  margin-bottom:2rem;
  opacity:0; transform:translateY(14px); animation:fadeUp .8s var(--ease) forwards; animation-delay:0s;
}
.pillar{ display:flex; align-items:center; gap:.5em; }
.pillar b{ font-family:var(--font-display); font-size:var(--fs-100); color:var(--text-light-soft); font-weight:700; }
.pillar i{ font-style:normal; font-size:var(--fs-100); font-weight:600; color:var(--text-light-soft); }
.pillar.is-active b{ color:var(--orange); }
.pillar.is-active i{ color:var(--text-light); }
.pillar-sep{ width:22px; height:1px; background:var(--dark-line); }

.hero-title{
  color:var(--text-light);
  font-family:var(--font-serif);
  font-weight:800;
  letter-spacing:0;
  font-size:var(--fs-hero);
  max-width:16ch;
}
.hero-title .reveal-line{
  display:block; overflow:hidden;
}
.hero-title .reveal-line > span{
  display:block;
  transform:translateY(105%);
  animation:lineUp .9s var(--ease) forwards;
}
.hero-title .reveal-line-2 > span{
  animation-delay:.15s; color:var(--orange);
  font-style:italic; font-weight:700;
}
@keyframes lineUp{ to{ transform:translateY(0); } }

.hero-lead{
  color:var(--text-light-soft);
  font-size:var(--fs-400);
  max-width:42ch;
  margin-top:1.6rem;
}
.hero-cta{ display:flex; gap:1rem; margin-top:2.4rem; flex-wrap:wrap; }

.fade-up-1,.fade-up-2{ opacity:0; transform:translateY(14px); animation:fadeUp .8s var(--ease) forwards; }
.fade-up-1{ animation-delay:.55s; }
.fade-up-2{ animation-delay:.75s; }
@keyframes fadeUp{ to{ opacity:1; transform:translateY(0); } }

@media (prefers-reduced-motion: reduce){
  .spotlight,.hero-title .reveal-line > span,.fade-up-1,.fade-up-2,.hero-pillars{
    animation:none !important; opacity:1 !important; transform:none !important;
  }
}

.scroll-indicator{
  position:absolute; right:var(--gutter); bottom:2.2rem; z-index:1;
  display:flex; flex-direction:column; align-items:center; gap:.7rem;
}
.scroll-indicator span:first-child{
  font-size:var(--fs-100); color:var(--text-light-soft); font-weight:600;
  writing-mode:vertical-rl;
}
.scroll-track{
  position:relative; width:1px; height:46px; background:var(--dark-line); overflow:hidden;
}
.scroll-dot{
  position:absolute; left:-1.5px; top:-8px; width:4px; height:16px; border-radius:2px;
  background:var(--orange); animation:scrollDot 2s ease-in-out infinite;
}
@keyframes scrollDot{ 0%{ transform:translateY(-8px); } 60%,100%{ transform:translateY(52px); } }
@media (prefers-reduced-motion: reduce){ .scroll-dot{ animation:none; top:14px; } }
@media (max-width:640px){ .scroll-indicator{ display:none; } }

/* ===================== SIDE STICKY CTA ===================== */
.side-cta{
  position:fixed; right:0; top:62%; transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl;
  background:var(--orange); color:#1a1000; font-weight:700; font-size:var(--fs-100);
  letter-spacing:.02em; padding:1.1rem .6rem; z-index:90;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),0 100%);
  transition:padding-right .25s var(--ease), background-color .25s var(--ease);
}
.side-cta:hover{ background:var(--orange-deep); padding-right:.9rem; }
@media (max-width:640px){ .side-cta{ display:none; } }

/* ===================== GIANT WORDMARK TEXTURE ===================== */
.giant-wordmark{
  position:absolute; left:50%; top:-2%; transform:translateX(-50%);
  font-family:var(--font-display); font-weight:900;
  font-size:clamp(6rem,22vw,17rem); line-height:1; letter-spacing:-.02em;
  color:rgba(255,255,255,.045); white-space:nowrap; pointer-events:none; z-index:0;
}


/* ===================== SECTION SHELLS ===================== */
.section{ padding-block:clamp(4rem,8vw,7rem); }
.section-paper{ background:var(--paper); color:var(--text-ink); }
.section-ink{ background:var(--ink); color:var(--text-light); }
.section-navy{ background:linear-gradient(160deg,var(--navy) 0%,#0f2c56 100%); color:var(--text-light); position:relative; overflow:hidden; }
.section-navy > .wrap{ position:relative; z-index:1; }

.section-head{ max-width:44rem; margin-bottom:3rem; }
.section-head h2{ font-size:var(--fs-700); color:var(--text-ink); }
.section-head p{ margin-top:1rem; font-size:var(--fs-400); color:var(--text-ink-soft); }
.section-head-light h2{ color:var(--text-light); }
.section-head-light p{ color:var(--text-light-soft); }

/* ===================== SERVICES ===================== */
.service-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--paper-line);
  border:1px solid var(--paper-line);
}
.service-card{
  background:var(--paper);
  padding:2.4rem 2rem;
  position:relative;
}
.service-mark{
  width:34px; height:34px; margin-bottom:1.4rem;
  border:1.5px solid var(--orange);
  clip-path:polygon(30% 0,100% 0,100% 70%,70% 100%,0 100%,0 30%);
}
.service-card h3{ font-size:var(--fs-500); margin-bottom:.6rem; }
.service-card p{ color:var(--text-ink-soft); }

/* ===================== PORTFOLIO ===================== */
.portfolio-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem;
}
.portfolio-card{
  position:relative; display:block; width:100%; aspect-ratio:4/3;
  overflow:hidden; text-align:left;
}
.portfolio-card::before,.portfolio-card::after{
  content:""; position:absolute; width:22px; height:22px; z-index:2;
  border:2px solid var(--orange); opacity:0; transition:opacity .3s var(--ease);
}
.portfolio-card::before{ top:10px; left:10px; border-right:0; border-bottom:0; }
.portfolio-card::after{ bottom:10px; right:10px; border-left:0; border-top:0; }
.portfolio-card:hover::before,.portfolio-card:hover::after,
.portfolio-card:focus-visible::before,.portfolio-card:focus-visible::after{ opacity:1; }
.portfolio-card img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s var(--ease), filter .4s var(--ease);
  filter:saturate(.92);
}
.portfolio-card:hover img,.portfolio-card:focus-visible img{ transform:scale(1.06); filter:saturate(1.05); }
.portfolio-card::marker{ content:none; }
.portfolio-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  padding:1.1rem 1.2rem 1rem;
  background:linear-gradient(0deg,rgba(6,10,18,.92) 10%,rgba(6,10,18,0) 100%);
  display:flex; flex-direction:column; gap:.15rem;
  transform:translateY(10%);
  opacity:.85;
  transition:transform .35s var(--ease), opacity .35s var(--ease);
}
.portfolio-card:hover .portfolio-caption,.portfolio-card:focus-visible .portfolio-caption{
  transform:translateY(0); opacity:1;
}
.portfolio-caption b{ color:#fff; font-family:var(--font-display); font-size:var(--fs-300); }
.portfolio-caption i{ font-style:normal; color:var(--orange); font-size:var(--fs-100); font-weight:600; }

/* ===================== PROCESS ===================== */
.process{
  display:grid; grid-template-columns:repeat(5,1fr); gap:1.5rem;
  position:relative; counter-reset:none;
  padding-top:2.5rem;
}
.process::before{
  content:""; position:absolute; top:0; left:0; height:2px; background:var(--orange);
  width:0%; transition:width 1.4s var(--ease);
}
.process.in-view::before{ width:100%; }
.process-step{ position:relative; padding-top:1.5rem; }
.process-step::before{
  content:""; position:absolute; top:-5px; left:0; width:10px; height:10px;
  background:var(--paper); border:2px solid var(--orange); border-radius:50%;
  transform:scale(0); transition:transform .4s var(--ease);
  transition-delay:calc(var(--i, 0) * .15s + .3s);
}
.process.in-view .process-step::before{ transform:scale(1); }
.process-index{
  display:block; font-family:var(--font-display); font-weight:800;
  font-size:var(--fs-400); color:var(--orange); margin-bottom:.6rem;
}
.process-step h3{ font-size:var(--fs-400); margin-bottom:.5rem; }
.process-step p{ color:var(--text-ink-soft); font-size:var(--fs-200); }

/* ===================== COMMITMENTS ===================== */
.commit-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:2.2rem 2.5rem;
}
.commit-item{ border-top:2px solid rgba(255,255,255,.25); padding-top:1.2rem; }
.commit-item h3{ font-size:var(--fs-400); color:#fff; margin-bottom:.5rem; }
.commit-item p{ color:var(--text-light-soft); font-size:var(--fs-200); }

/* ===================== WORKSHOP ===================== */
.workshop-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:start; }
.workshop-media{ display:flex; flex-direction:column; gap:.7rem; }
.workshop-photo{ position:relative; overflow:hidden; }
.workshop-photo img{ width:100%; display:block; }
.workshop-photo-main img{ aspect-ratio:16/11; object-fit:cover; }
.workshop-photo-row{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.workshop-photo-row img{ aspect-ratio:4/3; object-fit:cover; }
.workshop-stat{
  position:absolute; left:-1px; bottom:-1px;
  background:var(--orange); color:#1a1000; padding:1.1rem 1.5rem;
  display:flex; flex-direction:column; line-height:1.1;
  clip-path:polygon(0 0,100% 0,100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));
}
.workshop-stat strong{ font-family:var(--font-display); font-size:var(--fs-600); }
.workshop-stat span{ font-size:var(--fs-100); font-weight:600; }
.workshop-copy h2{ font-size:var(--fs-700); margin-bottom:1.2rem; }
.workshop-copy p{ color:var(--text-ink-soft); font-size:var(--fs-300); margin-bottom:1.8rem; }

/* ===================== CONTACT ===================== */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); }
.contact-copy h2{ font-size:var(--fs-700); color:#fff; margin-bottom:1rem; }
.contact-copy p{ color:var(--text-light-soft); font-size:var(--fs-300); margin-bottom:2rem; }
.contact-list{ display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem; }
.contact-list li{ display:flex; gap:1rem; font-size:var(--fs-200); flex-wrap:wrap; }
.contact-label{ color:var(--orange); font-weight:700; min-width:7.5rem; }
.contact-list a:hover{ text-decoration:underline; }
.map-frame{ border:1px solid var(--dark-line); }
.map-frame iframe{ width:100%; height:220px; border:0; display:block; filter:grayscale(.3) invert(.92) contrast(.9); }

.contact-form{
  background:var(--ink-2); padding:clamp(1.6rem,3vw,2.4rem);
  border:1px solid var(--dark-line);
  display:flex; flex-direction:column; gap:1.1rem;
  align-self:start;
}
.field{ display:flex; flex-direction:column; gap:.4rem; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.field label{ font-size:var(--fs-100); color:var(--text-light-soft); font-weight:600; }
.field input,.field select,.field textarea{
  background:var(--ink); border:1px solid var(--dark-line); color:var(--text-light);
  padding:.75em .9em;
}
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--orange); outline:none; }
.form-note{ font-size:var(--fs-100); color:var(--text-light-soft); text-align:center; }

/* ===================== FOOTER ===================== */
.site-footer{ background:var(--ink-2); color:var(--text-light-soft); padding-block:2.4rem; border-top:1px solid var(--dark-line); }
.footer-inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.footer-brand{ display:flex; align-items:center; }
.footer-brand .brand-logo{ height:32px; width:auto; }
.footer-nav{ display:flex; gap:1.3rem; flex-wrap:wrap; }
.footer-nav a:hover{ color:#fff; }
.footer-copy{ font-size:var(--fs-100); width:100%; text-align:center; margin-top:1rem; opacity:.7; }
@media (min-width:760px){ .footer-copy{ width:auto; margin-top:0; text-align:right; } }

/* ===================== LIGHTBOX ===================== */
.lightbox{ position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:4vh 4vw; }
.lightbox[hidden]{ display:none; }
.lightbox-backdrop{ position:absolute; inset:0; background:rgba(6,10,18,.92); }
.lightbox-body{ position:relative; max-width:min(1100px,92vw); max-height:88vh; margin:0; z-index:1; }
.lightbox-body img{ max-height:72vh; width:auto; margin-inline:auto; }
.lightbox-body figcaption{ color:var(--text-light); text-align:center; margin-top:1rem; display:flex; flex-direction:column; gap:.2rem; }
.lightbox-body figcaption strong{ font-family:var(--font-display); font-size:var(--fs-400); }
.lightbox-body figcaption span{ color:var(--orange); font-size:var(--fs-100); font-weight:600; }
.lightbox-close{
  position:absolute; top:-2.6rem; right:0; color:#fff; font-size:2rem; line-height:1;
  width:2.2rem; height:2.2rem;
}
.lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:3rem; height:3rem; display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:2.2rem; line-height:1;
  background:rgba(6,10,18,.55); border:1px solid var(--dark-line);
  transition:background-color .25s var(--ease);
}
.lightbox-nav:hover{ background:rgba(247,148,78,.85); color:#1a1000; }
.lightbox-nav[hidden]{ display:none; }
.lightbox-prev{ left:-1.5rem; }
.lightbox-next{ right:-1.5rem; }
#lightboxCount{ font-style:normal; color:var(--text-light-soft); font-size:var(--fs-100); }
@media (max-width:760px){
  .lightbox-prev{ left:.5rem; }
  .lightbox-next{ right:.5rem; }
}

/* ===================== RESPONSIVE ===================== */
@media (max-width:980px){
  .main-nav{
    display:flex; flex-direction:column; gap:0;
    position:fixed; inset:64px 0 auto 0; background:var(--ink);
    padding:1rem var(--gutter) 1.5rem; border-bottom:1px solid var(--dark-line);
    transform:translateY(-110%); opacity:0; pointer-events:none;
    transition:transform .3s var(--ease), opacity .3s var(--ease);
  }
  .main-nav.is-open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .main-nav a{ padding-block:.9rem; border-bottom:1px solid var(--dark-line); }
  .nav-toggle{ display:flex; }
  .phone-link span{ display:none; }
  .service-grid{ grid-template-columns:1fr 1fr; }
  .portfolio-grid{ grid-template-columns:1fr 1fr; }
  .process{ grid-template-columns:1fr 1fr; row-gap:2.4rem; }
  .process::before{ display:none; }
  .commit-grid{ grid-template-columns:1fr 1fr; }
  .workshop-grid,.contact-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .service-grid{ grid-template-columns:1fr; }
  .portfolio-grid{ grid-template-columns:1fr; }
  .process{ grid-template-columns:1fr; }
  .commit-grid{ grid-template-columns:1fr; }
  .field-row{ grid-template-columns:1fr; }
  .hero-cta{ flex-direction:column; align-items:stretch; }
  .header-inner{ gap:.6rem; }
  .phone-link{ display:none; }
  .btn-sm{ padding:.55em .8em; }
}
