/* ============================================================
   LDN LEAFLETS — style.css
   Editorial black / white / grey
   Fonts: Bebas Neue · DM Serif Display · DM Sans
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&family=DM+Serif+Display:ital@0;1&display=swap');

/* ── VARIABLES ─────────────────────────────── */
:root {
  --black:      #0A0A0A;
  --off-black:  #111111;
  --dark:       #1A1A1A;
  --grey:       #333333;
  --mid-grey:   #666666;
  --light-grey: #CCCCCC;
  --border:     #E0E0E0;
  --light:      #F2F2F2;
  --off-white:  #F7F7F7;
  --white:      #FFFFFF;
  --nav-h:      72px;
  --ease:       cubic-bezier(.4,0,.2,1);
}

/* ── RESET ──────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body  { font-family:'DM Sans',sans-serif; background:var(--white); color:var(--black); overflow-x:hidden; line-height:1.6; }
img   { display:block; max-width:100%; height:auto; }
a     { text-decoration:none; color:inherit; }
ul    { list-style:none; }
button { cursor:pointer; font-family:inherit; border:none; background:none; }

/* ── CUSTOM CURSOR ───────────────────────────── */
@media (pointer:fine) {
  body { cursor:none; }
  .cur      { width:8px; height:8px; background:var(--black); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:transform .12s; }
  .cur-ring { width:32px; height:32px; border:1.5px solid var(--black); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:left .22s var(--ease),top .22s var(--ease),transform .2s; }
}

/* ── LAYOUT ─────────────────────────────────── */
.section        { padding:120px 64px; }
.section--grey  { background:var(--off-white); }
.section--dark  { background:var(--black); }

/* ── LABELS & TITLES ────────────────────────── */
.tag {
  display:inline-flex; align-items:center; gap:12px;
  font-size:11px; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--mid-grey); font-weight:600; margin-bottom:20px;
}
.tag::before { content:''; width:20px; height:1px; background:var(--mid-grey); flex-shrink:0; }
.tag--light { color:rgba(255,255,255,.35); }
.tag--light::before { background:rgba(255,255,255,.2); }

.h-display {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(44px,5.5vw,68px);
  letter-spacing:1px; line-height:.93; margin-bottom:22px;
}
.h-display em { font-family:'DM Serif Display',serif; font-style:italic; color:var(--grey); }
.h-display--light { color:var(--white); }
.h-display--light em { color:var(--light-grey); }
.body-text { font-size:16px; line-height:1.75; color:var(--grey); font-weight:400; max-width:520px; }

/* ── BUTTONS ────────────────────────────────── */
.btn { display:inline-block; padding:15px 36px; font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; transition:all .25s var(--ease); white-space:nowrap; }
.btn-dark    { background:var(--black); color:var(--white); }
.btn-dark:hover    { background:var(--dark); transform:translateY(-2px); }
.btn-outline { border:1.5px solid var(--black); color:var(--black); }
.btn-outline:hover { background:var(--black); color:var(--white); }
.btn-white   { background:var(--white); color:var(--black); }
.btn-white:hover   { background:var(--light-grey); transform:translateY(-2px); }

/* ── NAV ────────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:var(--nav-h); background:var(--white); border-bottom:1px solid var(--border);
  transition:height .3s,background .3s;
}
.nav.scrolled { height:60px; background:rgba(255,255,255,.95); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.nav__inner   { height:100%; display:flex; align-items:center; justify-content:space-between; padding:0 64px; }
.nav__logo img { height:28px; width:auto; }
.nav__links   { display:flex; gap:32px; align-items:center; }
.nav__links a { font-size:12px; font-weight:500; letter-spacing:.8px; text-transform:uppercase; position:relative; transition:color .2s; }
.nav__links a::after { content:''; position:absolute; bottom:-3px; left:0; width:0; height:1.5px; background:var(--black); transition:width .25s; }
.nav__links a:hover::after, .nav__links a.active::after { width:100%; }
.nav__cta { background:var(--black) !important; color:var(--white) !important; padding:10px 22px !important; font-size:11px !important; letter-spacing:1.5px !important; }
.nav__cta::after { display:none !important; }
.nav__cta:hover  { background:var(--dark) !important; }
.nav__burger { display:none; flex-direction:column; gap:5px; padding:4px; }
.nav__burger span { display:block; width:24px; height:1.5px; background:var(--black); transition:all .3s; }
.nav__burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.nav__burger.open span:nth-child(2) { opacity:0; }
.nav__burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.nav__mobile { display:none; position:fixed; top:var(--nav-h); left:0; right:0; background:var(--white); border-bottom:1px solid var(--border); padding:28px 24px; flex-direction:column; gap:22px; z-index:999; box-shadow:0 8px 32px rgba(0,0,0,.08); }
.nav__mobile.open { display:flex; }
.nav__mobile a { font-size:15px; font-weight:500; }

/* ── TICKER ─────────────────────────────────── */
.ticker { background:var(--black); padding:13px 0; overflow:hidden; white-space:nowrap; }
.ticker__inner { display:inline-flex; animation:ticker 32s linear infinite; }
.ticker__inner span { font-family:'Bebas Neue',sans-serif; font-size:14px; letter-spacing:3px; color:rgba(255,255,255,.8); padding:0 28px; }
.ticker__dot { color:rgba(255,255,255,.2) !important; padding:0 6px !important; letter-spacing:0 !important; }
@keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── HERO ───────────────────────────────────── */
.hero { min-height:100vh; padding-top:var(--nav-h); display:grid; grid-template-columns:1fr 1fr; overflow:hidden; }
.hero__left { display:flex; flex-direction:column; justify-content:center; padding:80px 56px 80px 64px; }
.hero__eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--grey); font-weight:500; margin-bottom:28px; }
.hero__eyebrow::before { content:''; width:28px; height:1px; background:var(--mid-grey); }
.hero__h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(72px,9vw,118px); line-height:.9; letter-spacing:1px; margin-bottom:28px; }
.hero__h1 em { font-family:'DM Serif Display',serif; font-style:italic; color:var(--grey); }
.hero__sub { font-size:16px; line-height:1.7; color:var(--grey); max-width:400px; margin-bottom:44px; font-weight:400; }
.hero__actions { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.hero__stats   { display:flex; gap:40px; margin-top:56px; padding-top:40px; border-top:1px solid var(--border); flex-wrap:wrap; }
.hero__stat-num { font-family:'Bebas Neue',sans-serif; font-size:40px; letter-spacing:1px; line-height:1; }
.hero__stat-lbl { font-size:11px; letter-spacing:.5px; color:var(--mid-grey); margin-top:4px; text-transform:uppercase; }
.hero__right { position:relative; overflow:hidden; background:var(--off-black); }
.hero__visual { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:48px; }
.hero__dot-grid { position:absolute; inset:0; background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px); background-size:32px 32px; }
.hero__ghost { font-family:'Bebas Neue',sans-serif; font-size:clamp(120px,16vw,200px); line-height:.85; letter-spacing:4px; color:rgba(255,255,255,.04); user-select:none; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); white-space:nowrap; pointer-events:none; }
.hero__bar    { width:100%; max-width:340px; height:2px; background:var(--white); margin-bottom:3px; position:relative; z-index:2; }
.hero__cards  { position:relative; z-index:2; display:flex; flex-direction:column; gap:2px; width:100%; max-width:340px; }
.hero__card   { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); padding:18px 24px; display:flex; align-items:center; justify-content:space-between; transition:background .25s; }
.hero__card:hover { background:rgba(255,255,255,.09); }
.hero__card--hi { background:rgba(255,255,255,.07) !important; border-color:rgba(255,255,255,.14) !important; }
.hero__card-l  { display:flex; align-items:center; gap:14px; }
.hero__card-icon { width:36px; height:36px; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.hero__card-lbl { font-size:10px; letter-spacing:.5px; color:rgba(255,255,255,.4); text-transform:uppercase; margin-bottom:2px; }
.hero__card-val { font-family:'Bebas Neue',sans-serif; font-size:19px; letter-spacing:1px; color:var(--white); line-height:1; }
.hero__card-r   { font-size:10px; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.28); }
.hero__tagline  { position:absolute; bottom:40px; right:40px; z-index:3; font-size:10px; letter-spacing:3px; color:rgba(255,255,255,.18); text-transform:uppercase; }
.hero__scroll   { position:absolute; bottom:40px; left:64px; display:flex; align-items:center; gap:12px; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--mid-grey); z-index:3; }
.hero__scroll-line { width:1px; height:44px; background:var(--grey); animation:scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%{transform:scaleY(0);transform-origin:top} 50%{transform:scaleY(1);transform-origin:top} 51%{transform:scaleY(1);transform-origin:bottom} 100%{transform:scaleY(0);transform-origin:bottom} }

/* ── PAGE HEADER ────────────────────────────── */
.page-hd { padding-top:var(--nav-h); background:var(--black); }
.page-hd__inner { padding:80px 64px; }
.page-hd__h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(52px,8vw,96px); letter-spacing:1px; line-height:.91; color:var(--white); }
.page-hd__h1 em { font-family:'DM Serif Display',serif; font-style:italic; color:var(--light-grey); }
.page-hd__sub { font-size:16px; color:rgba(255,255,255,.45); max-width:580px; line-height:1.75; font-weight:300; margin-top:20px; }
.page-hd__bar { height:2px; background:var(--white); }

/* ── WHY GRID ───────────────────────────────── */
.why-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--border); margin-top:64px; }
.why-item { padding:48px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); position:relative; overflow:hidden; transition:background .2s; }
.why-item:nth-child(even) { border-right:none; }
.why-item:nth-child(n+3)  { border-bottom:none; }
.why-item::before { content:''; position:absolute; top:0; left:0; width:0; height:2px; background:var(--black); transition:width .4s; }
.why-item:hover { background:var(--off-white); }
.why-item:hover::before { width:100%; }
.why-num   { font-family:'Bebas Neue',sans-serif; font-size:52px; color:var(--border); line-height:1; margin-bottom:14px; }
.why-title { font-size:17px; font-weight:600; margin-bottom:10px; }
.why-body  { font-size:15px; color:var(--grey); line-height:1.75; }

/* ── PROCESS ────────────────────────────────── */
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:64px; border-top:2px solid var(--black); }
.process-step { padding:44px 36px 36px; border-right:1px solid var(--border); }
.process-step:last-child { border-right:none; }
.ps-num   { font-family:'Bebas Neue',sans-serif; font-size:64px; letter-spacing:2px; line-height:1; color:var(--light-grey); margin-bottom:18px; }
.ps-title { font-size:16px; font-weight:600; margin-bottom:8px; }
.ps-body  { font-size:14px; color:var(--grey); line-height:1.7; }

/* ── TESTIMONIALS ───────────────────────────── */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:56px; }
.testi-card { background:rgba(255,255,255,.03); padding:44px 36px; border:1px solid rgba(255,255,255,.07); transition:background .3s; }
.testi-card:hover { background:rgba(255,255,255,.07); }
.testi-stars { color:var(--white); font-size:13px; letter-spacing:5px; margin-bottom:20px; }
.testi-q    { font-family:'DM Serif Display',serif; font-size:16px; font-style:italic; line-height:1.65; color:rgba(255,255,255,.88); margin-bottom:28px; }
.testi-name { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.35); }
.testi-biz  { font-size:13px; color:rgba(255,255,255,.5); margin-top:4px; }

/* ── CTA BAND ───────────────────────────────── */
.cta-band { background:var(--black); padding:96px 64px; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.cta-h    { font-family:'Bebas Neue',sans-serif; font-size:clamp(38px,5vw,62px); letter-spacing:1px; color:var(--white); line-height:.93; margin-bottom:10px; }
.cta-sub  { font-size:15px; color:rgba(255,255,255,.5); font-weight:300; }

/* ── SERVICES PAGE ──────────────────────────── */
.services-layout { display:grid; grid-template-columns:1fr 2fr; gap:80px; align-items:start; }
.service-cards   { display:flex; flex-direction:column; gap:2px; }
.service-card { padding:36px 44px; background:var(--off-white); border-left:3px solid transparent; transition:all .3s; cursor:pointer; }
.service-card:hover, .service-card.active { background:var(--black); border-left-color:var(--white); }
.service-card:hover .sc-title, .service-card.active .sc-title { color:var(--white); }
.service-card:hover .sc-body,  .service-card.active .sc-body  { color:rgba(255,255,255,.5); }
.service-card:hover .sc-price, .service-card.active .sc-price { color:rgba(255,255,255,.45); }
.sc-icon  { font-size:26px; margin-bottom:14px; display:block; }
.sc-title { font-size:19px; font-weight:600; margin-bottom:8px; transition:color .3s; }
.sc-body  { font-size:14px; color:var(--grey); line-height:1.7; transition:color .3s; }
.sc-price { display:inline-block; margin-top:16px; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--mid-grey); font-weight:600; transition:color .3s; }

.s3-grid  { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--border); border:1px solid var(--border); margin-top:56px; }
.s3-item  { background:var(--white); padding:44px 36px; transition:background .2s; }
.s3-item:hover { background:var(--off-white); }
.s3-icon  { font-size:32px; margin-bottom:18px; }
.s3-title { font-size:17px; font-weight:600; margin-bottom:10px; }
.s3-body  { font-size:15px; color:var(--grey); line-height:1.7; }

/* ── ABOUT PAGE ─────────────────────────────── */
.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.about-visual { position:relative; height:540px; }
.about-box-main { position:absolute; top:0; left:0; right:60px; bottom:60px; background:var(--black); padding:48px; display:flex; flex-direction:column; justify-content:flex-end; }
.abm-tag   { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.3); font-weight:600; margin-bottom:10px; }
.abm-quote { font-family:'DM Serif Display',serif; font-size:21px; font-style:italic; line-height:1.45; color:rgba(255,255,255,.88); }
.about-box-stat { position:absolute; bottom:0; right:0; width:190px; height:190px; background:var(--dark); display:flex; align-items:center; justify-content:center; flex-direction:column; border:1px solid rgba(255,255,255,.08); }
.abs-num { font-family:'Bebas Neue',sans-serif; font-size:60px; line-height:1; letter-spacing:2px; color:var(--white); }
.abs-lbl { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.5); text-align:center; padding:0 12px; line-height:1.5; margin-top:4px; }
.about-values { margin-top:36px; display:flex; flex-direction:column; gap:12px; }
.about-value  { display:flex; gap:14px; align-items:flex-start; padding:18px; background:var(--off-white); border-left:2px solid transparent; transition:all .25s; }
.about-value:hover { border-left-color:var(--black); background:var(--light); }
.av-icon  { font-size:18px; flex-shrink:0; margin-top:2px; }
.av-title { font-size:13px; font-weight:600; margin-bottom:3px; }
.av-body  { font-size:13px; color:var(--grey); line-height:1.6; }

.stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin-top:56px; }
.stat-box  { background:var(--white); padding:44px 36px; text-align:center; transition:background .2s; }
.stat-box:hover { background:var(--off-white); }
.stat-num  { font-family:'Bebas Neue',sans-serif; font-size:60px; color:var(--black); letter-spacing:2px; line-height:1; }
.stat-lbl  { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--mid-grey); margin-top:8px; }

/* ── CONTACT PAGE ───────────────────────────── */
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.contact-detail { display:flex; gap:18px; align-items:flex-start; margin-bottom:28px; padding-bottom:28px; border-bottom:1px solid var(--border); }
.contact-detail:last-of-type { border-bottom:none; margin-bottom:0; }
.cd-icon  { width:40px; height:40px; background:var(--black); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.cd-label { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--mid-grey); margin-bottom:3px; }
.cd-val   { font-size:14px; font-weight:500; }
.contact-note { margin-top:32px; padding:28px; background:var(--off-white); border-left:2px solid var(--black); }
.cn-title { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; margin-bottom:6px; }
.cn-body  { font-size:14px; color:var(--grey); line-height:1.7; }

/* ── FORM ───────────────────────────────────── */
.form-panel   { background:var(--off-white); padding:44px; }
.form-panel h3 { font-size:19px; font-weight:600; margin-bottom:6px; }
.form-panel p  { font-size:13px; color:var(--grey); margin-bottom:28px; }
.form { display:flex; flex-direction:column; gap:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group label { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; font-weight:600; color:var(--grey); }
.form-group input,
.form-group select,
.form-group textarea {
  background:var(--white); border:1.5px solid transparent; border-bottom-color:var(--border);
  padding:13px 16px; font-family:'DM Sans',sans-serif; font-size:14px; color:var(--black);
  outline:none; transition:border-color .2s; width:100%; border-radius:0; -webkit-appearance:none;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--black); }
.form-group textarea { height:130px; resize:vertical; }
.form-submit {
  background:var(--black); color:var(--white); padding:16px 44px;
  font-family:'DM Sans',sans-serif; font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:600;
  border:none; transition:all .25s; align-self:flex-start; cursor:pointer;
}
.form-submit:hover { background:var(--dark); transform:translateY(-2px); }
.form-success { display:none; text-align:center; padding:56px 36px; }
.form-success__icon  { font-size:44px; margin-bottom:16px; }
.form-success__title { font-family:'Bebas Neue',sans-serif; font-size:32px; letter-spacing:1px; margin-bottom:10px; }
.form-success__body  { font-size:15px; color:var(--grey); line-height:1.7; }

/* ── FOOTER ─────────────────────────────────── */
.footer { background:var(--off-black); color:var(--white); padding:80px 64px 40px; }
.footer__top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:56px; margin-bottom:56px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,.08); }
.footer__logo img { height:26px; width:auto; filter:invert(1); margin-bottom:16px; }
.footer__tagline  { font-size:13px; color:rgba(255,255,255,.4); line-height:1.7; max-width:280px; }
.footer__col-title { font-size:10px; letter-spacing:2.5px; text-transform:uppercase; color:rgba(255,255,255,.28); font-weight:600; margin-bottom:18px; }
.footer__links    { display:flex; flex-direction:column; gap:10px; }
.footer__links a  { font-size:13px; color:rgba(255,255,255,.45); transition:color .2s; }
.footer__links a:hover { color:var(--white); }
.footer__bottom   { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer__copy     { font-size:12px; color:rgba(255,255,255,.22); }
.footer__domain   { font-size:12px; color:rgba(255,255,255,.38); }

/* ── FADE-IN ────────────────────────────────── */
@keyframes fadeUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
.fade-up   { animation:fadeUp .6s var(--ease) both; }
.delay-1   { animation-delay:.1s; }
.delay-2   { animation-delay:.22s; }
.delay-3   { animation-delay:.36s; }
.delay-4   { animation-delay:.5s; }

/* ── RESPONSIVE ─────────────────────────────── */
@media (max-width:1100px) {
  .section, .nav__inner, .footer, .cta-band { padding-left:40px; padding-right:40px; }
  .hero__left { padding-left:40px; padding-right:40px; }
}

@media (max-width:900px) {
  :root { --nav-h:64px; }
  .section, .footer, .cta-band { padding-left:24px; padding-right:24px; }
  .nav__inner { padding:0 24px; }
  .nav__links  { display:none; }
  .nav__burger { display:flex; }

  /* Hero */
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero__right { height:400px; }
  .hero__left  { padding:52px 24px 40px; }
  .hero__ghost { display:none; }
  .hero__scroll { left:24px; }
  .hero__h1 { font-size:clamp(60px,14vw,80px); }
  .hero__stats { gap:24px; flex-wrap:wrap; }

  /* Page headers */
  .page-hd__inner { padding:52px 24px; }
  .page-hd__h1 { font-size:clamp(44px,10vw,72px); }

  /* Section titles */
  .h-display { font-size:clamp(36px,7vw,52px); }

  /* Why grid */
  .why-grid { grid-template-columns:1fr; }
  .why-item { border-right:none !important; padding:32px 24px; }
  .why-num  { font-size:40px; }

  /* Process */
  .process-grid { grid-template-columns:1fr 1fr; }
  .process-step { padding:32px 24px 28px; }
  .ps-num { font-size:48px; }

  /* Testimonials */
  .testi-grid { grid-template-columns:1fr; }
  .testi-card { padding:32px 24px; }

  /* Stats */
  .stats-row { grid-template-columns:1fr 1fr; }
  .stat-box  { padding:32px 24px; }
  .stat-num  { font-size:48px; }

  /* Services */
  .services-layout { grid-template-columns:1fr; gap:32px; }
  .service-card { padding:28px 24px; }
  .s3-grid { grid-template-columns:1fr; }
  .s3-item { padding:32px 24px; }

  /* About */
  .about-layout { grid-template-columns:1fr; gap:32px; }
  .about-visual { height:280px; }
  .about-box-stat { width:120px; height:120px; }
  .abs-num { font-size:40px; }
  .about-box-main { right:40px; bottom:40px; padding:32px; }
  .abm-quote { font-size:17px; }

  /* Contact */
  .contact-layout { grid-template-columns:1fr; gap:40px; }
  .form-row { grid-template-columns:1fr; }
  .form-panel { padding:28px 20px; }

  /* CTA */
  .cta-band { flex-direction:column; text-align:center; padding:60px 24px; }
  .cta-h { font-size:clamp(32px,7vw,48px); }

  /* Footer */
  .footer { padding:56px 24px 32px; }
  .footer__top { grid-template-columns:1fr 1fr; gap:28px; }
}

@media (max-width:600px) {
  /* Hero cards panel */
  .hero__right { height:360px; }
  .hero__visual { padding:24px; }
  .hero__bar { max-width:100%; }
  .hero__cards { max-width:100%; }
  .hero__card { padding:14px 16px; }
  .hero__card-val { font-size:15px; }
  .hero__card-r { display:none; }

  /* Process single col */
  .process-grid { grid-template-columns:1fr; }
  .process-step { border-right:none; border-bottom:1px solid var(--border); }
  .process-step:last-child { border-bottom:none; }

  /* Stats single col */
  .stats-row { grid-template-columns:1fr 1fr; }

  /* Why items tighter */
  .why-item { padding:24px 20px; }

  /* CTA buttons */
  .hero__actions { flex-direction:column; align-items:flex-start; gap:10px; }
  .hero__actions .btn { width:100%; text-align:center; }

  /* Headings */
  .hero__h1 { font-size:clamp(52px,12vw,72px); }
  .h-display { font-size:clamp(32px,8vw,48px); }
  .cta-h { font-size:clamp(28px,8vw,42px); }
  .page-hd__h1 { font-size:clamp(38px,10vw,60px); }

  /* Section padding */
  .section { padding:72px 20px; }
  .cta-band { padding:52px 20px; }

  /* About visual tighter */
  .about-visual { height:240px; }
  .about-box-main { right:32px; bottom:32px; padding:24px; }
  .about-box-stat { width:100px; height:100px; }
  .abs-num { font-size:34px; }
  .abs-lbl { font-size:9px; }

  /* Footer */
  .footer__top { grid-template-columns:1fr; }
  .footer__bottom { flex-direction:column; align-items:flex-start; gap:6px; }

  /* Nav mobile */
  .nav__mobile { padding:20px; gap:18px; }

  /* Form */
  .form-panel { padding:24px 16px; }
  .form-submit { width:100%; text-align:center; }

  /* Testimonials */
  .testi-card { padding:24px 20px; }
  .testi-q { font-size:15px; }
}

@media (max-width:380px) {
  .hero__h1 { font-size:clamp(44px,13vw,60px); }
  .hero__stat-num { font-size:32px; }
  .hero__stats { gap:16px; }
  .section { padding:56px 16px; }
  .cta-band { padding:44px 16px; }
  .footer { padding:44px 16px 28px; }
}
