:root{
    --cream:#f6f1e7;
    --paper:#fffdf8;
    --sand:#e8ddc8;
    --sand-deep:#ded1b6;
    --espresso:#2a2320;
    --espresso-soft:#3a322c;
    --ink-muted:#6f6155;
    --clay:#c2613b;
    --clay-deep:#a64f2e;
    --olive:#7c8350;
    --olive-deep:#646a40;
    --line:rgba(42,35,32,.12);
    --shadow:0 10px 30px -12px rgba(42,35,32,.22);
    --shadow-sm:0 4px 14px -8px rgba(42,35,32,.28);
    --disp:"Bricolage Grotesque",system-ui,sans-serif;
    --body:"Hanken Grotesk",system-ui,sans-serif;
    --script:"Caveat",cursive;
    --maxw:440px;
  }
  *{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--body);
    background:#cfc4ac;
    color:var(--espresso);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  /* outer canvas to frame the mobile column on desktop */
  .canvas{
    min-height:100vh;
    display:flex;
    justify-content:center;
    background:
      radial-gradient(1200px 600px at 50% -10%, #e3d8c0, transparent),
      #c9bda3;
    padding:0;
  }
  .device{
    width:100%;
    max-width:var(--maxw);
    background:var(--cream);
    min-height:100vh;
    position:relative;
    overflow:hidden;
    box-shadow:0 0 60px -20px rgba(42,35,32,.5);
  }
  img,svg{display:block;}
  a{color:inherit;text-decoration:none;}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

  h1,h2,h3{font-family:var(--disp);line-height:1.02;letter-spacing:-.02em;font-weight:800;}
  .eyebrow{
    font-family:var(--body);
    font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
    color:var(--clay);
  }
  .script{font-family:var(--script);font-weight:700;}

  /* ---------- placeholder ---------- */
  .ph{
    background:
      repeating-linear-gradient(45deg,#e6dac2,#e6dac2 11px,#dccdac 11px,#dccdac 22px);
    display:flex;align-items:flex-end;justify-content:flex-start;
    color:#8a7c66;font-family:ui-monospace,Menlo,monospace;font-size:10.5px;letter-spacing:.04em;
    position:relative;overflow:hidden;
  }
  .ph span{
    background:rgba(255,253,248,.82);
    padding:3px 7px;border-radius:6px;margin:8px;
    backdrop-filter:blur(2px);
  }
  .ph.dark{
    background:
      repeating-linear-gradient(45deg,#3a322c,#3a322c 11px,#332b25 11px,#332b25 22px);
    color:#b8a892;
  }
  .ph.dark span{background:rgba(26,21,18,.6);color:#d8c9b2;}
  .ph.clay{
    background:
      repeating-linear-gradient(45deg,#b3552f,#b3552f 11px,#a64f2e 11px,#a64f2e 22px);
    color:#fde7d8;
  }
  .ph.clay span{background:rgba(60,24,12,.35);color:#ffe9da;}

  /* ---------- preview control ---------- */
  .preview-bar{
    position:fixed;top:14px;left:50%;transform:translateX(-50%);
    z-index:200;display:flex;align-items:center;gap:10px;
    background:rgba(26,21,18,.92);color:#f3ead9;
    padding:7px 9px 7px 14px;border-radius:999px;
    box-shadow:0 12px 30px -10px rgba(0,0,0,.5);
    font-size:12px;backdrop-filter:blur(6px);
  }
  .preview-bar .pv-label{font-weight:600;letter-spacing:.02em;opacity:.78;}
  .pv-seg{display:flex;background:rgba(255,255,255,.1);border-radius:999px;padding:3px;gap:2px;}
  .pv-seg button{
    width:30px;height:26px;border-radius:999px;font-weight:700;font-size:12.5px;
    color:#d9cbb4;transition:.18s;
  }
  .pv-seg button.on{background:var(--clay);color:#fff;}

  /* ---------- header ---------- */
  .topbar{
    position:sticky;top:0;z-index:90;
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 18px;
    background:rgba(246,241,231,.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid transparent;
    transition:border-color .25s, box-shadow .25s;
  }
  .topbar.scrolled{border-color:var(--line);box-shadow:0 6px 20px -16px rgba(42,35,32,.6);}
  .brand{display:flex;align-items:center;gap:9px;}
  .brand .mark{
    width:32px;height:32px;border-radius:9px;flex:none;
    background:var(--espresso);color:var(--clay);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--disp);font-weight:800;font-size:17px;
  }
  .brand .mark::after{content:"FF";}
  .brand .name{font-family:var(--disp);font-weight:700;font-size:15.5px;letter-spacing:-.01em;line-height:1;}
  .brand .name small{display:block;font-family:var(--body);font-weight:600;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin-top:3px;}
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-weight:700;border-radius:999px;transition:.18s transform,.18s box-shadow,.18s background;
    white-space:nowrap;
  }
  .btn:active{transform:translateY(1px) scale(.99);}
  .btn-primary{background:var(--clay);color:#fff;padding:13px 20px;font-size:15px;box-shadow:0 8px 18px -10px var(--clay-deep);}
  .btn-primary:hover{background:var(--clay-deep);}
  .btn-ghost{background:transparent;color:var(--espresso);border:1.5px solid var(--line);padding:12px 18px;font-size:15px;}
  .btn-ghost:hover{border-color:var(--espresso);}
  .btn-dark{background:var(--espresso);color:var(--cream);padding:13px 20px;font-size:15px;}
  .btn-dark:hover{background:#1c1714;}
  .btn-sm{padding:9px 15px;font-size:13.5px;}
  .ic{width:17px;height:17px;flex:none;}

  /* ---------- sections ---------- */
  section{padding:54px 20px;}
  .sec-head{margin-bottom:26px;}
  .sec-head .eyebrow{display:block;margin-bottom:10px;}
  .sec-head h2{font-size:31px;}
  .sec-head p{color:var(--ink-muted);margin-top:12px;font-size:15.5px;max-width:34ch;}

  /* ---------- HERO shared ---------- */
  .hero{display:none;}
  .hero.active{display:block;}
  .hero-cta{display:flex;flex-direction:column;gap:10px;margin-top:22px;}
  .stars{display:inline-flex;gap:2px;color:var(--clay);}
  .stars svg{width:15px;height:15px;}
  .trust{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:13px;color:var(--ink-muted);}
  .trust .avs{display:flex;}
  .trust .avs i{
    width:26px;height:26px;border-radius:50%;display:block;margin-left:-8px;
    border:2px solid var(--cream);
    background:repeating-linear-gradient(45deg,#cdbfa4,#cdbfa4 5px,#c3b496 5px,#c3b496 10px);
  }
  .trust .avs i:first-child{margin-left:0;}

  /* HERO A — photo forward */
  .heroA{position:relative;padding:0;color:#fff;}
  .heroA .img{height:560px;width:100%;}
  .heroA .img.ph{align-items:center;justify-content:center;}
  .heroA .scrim{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(26,18,14,.42) 0%,rgba(26,18,14,0) 30%,rgba(26,18,14,.55) 68%,rgba(20,14,10,.92) 100%);
  }
  .heroA .inner{position:absolute;left:0;right:0;bottom:0;padding:26px 22px 30px;}
  .heroA .eyebrow{color:#f4b78f;}
  .heroA h1{font-size:44px;margin-top:12px;text-shadow:0 2px 24px rgba(0,0,0,.3);}
  .heroA p{font-size:16px;color:#f0e6d8;margin-top:14px;max-width:32ch;}
  .heroA .trust{color:#e7d9c6;}
  .heroA .badge-top{
    position:absolute;top:74px;right:18px;
    background:rgba(255,253,248,.95);color:var(--espresso);
    border-radius:14px;padding:11px 13px;box-shadow:var(--shadow);
    text-align:center;
  }
  .heroA .badge-top b{font-family:var(--disp);font-size:22px;display:block;line-height:1;}
  .heroA .badge-top small{font-size:10px;color:var(--ink-muted);letter-spacing:.04em;}

  /* HERO B — editorial split */
  .heroB{padding:34px 20px 46px;background:var(--cream);}
  .heroB .script{color:var(--olive);font-size:26px;line-height:1;transform:rotate(-3deg);display:inline-block;margin-bottom:4px;}
  .heroB h1{font-size:46px;margin-top:6px;}
  .heroB h1 em{font-style:normal;color:var(--clay);}
  .heroB p{color:var(--ink-muted);font-size:16px;margin-top:16px;}
  .heroB .portrait{
    margin-top:24px;border-radius:20px;height:360px;width:100%;
    box-shadow:var(--shadow);
  }
  .heroB .stats{display:flex;gap:10px;margin-top:18px;}
  .heroB .stats div{
    flex:1;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:13px 12px;text-align:center;
  }
  .heroB .stats b{font-family:var(--disp);font-size:24px;display:block;line-height:1;color:var(--espresso);}
  .heroB .stats small{font-size:11px;color:var(--ink-muted);letter-spacing:.02em;}

  /* HERO C — bold type block */
  .heroC{padding:0;}
  .heroC .block{
    background:var(--clay);color:#fff;padding:36px 22px 30px;position:relative;overflow:hidden;
  }
  .heroC .block::before{
    content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;
    background:rgba(255,255,255,.08);
  }
  .heroC .eyebrow{color:#ffe2cf;}
  .heroC h1{font-size:54px;line-height:.95;margin-top:14px;text-transform:uppercase;font-weight:800;letter-spacing:-.025em;}
  .heroC h1 span{display:block;color:#1c1714;}
  .heroC .community{
    display:inline-flex;align-items:center;gap:9px;margin-top:20px;
    background:rgba(28,23,20,.18);border:1px solid rgba(255,255,255,.25);
    padding:8px 13px;border-radius:999px;font-size:13px;font-weight:600;
  }
  .heroC .strip{display:flex;gap:0;overflow:hidden;}
  .heroC .strip .ph{height:170px;flex:1;}
  .heroC .strip .shot{height:190px;flex:1;width:50%;min-width:0;object-fit:cover;object-position:center 28%;}
  .heroC .strip .shot-rich{height:190px;flex:1;min-width:0;background-repeat:no-repeat;background-position:top center;background-size:165%;}
  .heroC .below{padding:24px 22px 8px;}
  .heroC .below p{font-size:16px;color:var(--ink-muted);max-width:34ch;}

  /* ---------- quick stats strip ---------- */
  .statstrip{background:var(--espresso);color:var(--cream);padding:26px 20px;}
  .statstrip .row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;}
  .statstrip b{font-family:var(--disp);font-size:30px;display:block;line-height:1;color:#fff;}
  .statstrip .clay b{color:#f4a079;}
  .statstrip small{font-size:11px;color:#c9b9a4;letter-spacing:.03em;display:block;margin-top:6px;}

  /* ---------- about ---------- */
  .about{background:var(--cream);}
  .about .portrait{border-radius:18px;height:340px;width:100%;margin-bottom:22px;box-shadow:var(--shadow-sm);object-fit:cover;object-position:center 22%;}
  .about p{color:var(--espresso-soft);font-size:16px;margin-top:14px;}
  .about .sig{font-family:var(--script);font-size:30px;color:var(--clay);margin-top:18px;line-height:1;}
  .about .sig small{display:block;font-family:var(--body);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin-top:6px;}
  .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
  .chip{background:var(--sand);color:var(--espresso-soft);font-weight:600;font-size:12.5px;padding:7px 12px;border-radius:999px;}

  /* ---------- services ---------- */
  .services{background:var(--paper);}
  .svc-grid{display:flex;flex-direction:column;gap:14px;}
  .svc{
    border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--cream);
    transition:.2s transform,.2s box-shadow;position:relative;overflow:hidden;
  }
  .svc:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
  .svc .ico{
    width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    background:var(--sand);color:var(--clay);margin-bottom:14px;
  }
  .svc:nth-child(2) .ico{color:var(--olive);}
  .svc:nth-child(4) .ico{color:var(--olive-deep);}
  .svc .ico svg{width:24px;height:24px;}
  .svc h3{font-size:20px;}
  .svc p{color:var(--ink-muted);font-size:14.5px;margin-top:8px;}
  .svc .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
  .svc .tags span{font-size:11px;font-weight:600;color:var(--olive-deep);background:rgba(124,131,80,.13);padding:5px 9px;border-radius:7px;}

  /* ---------- transformations ---------- */
  .transforms{background:var(--cream);}
  .ba-row{display:flex;gap:14px;overflow-x:auto;padding:4px 20px 14px;margin:0 -20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .ba-row::-webkit-scrollbar{display:none;}
  .ba{flex:none;width:248px;scroll-snap-align:center;}
  .ba-frame{
    position:relative;height:300px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);
    user-select:none;touch-action:pan-y;
  }
  .ba-frame .layer{position:absolute;inset:0;height:100%;width:100%;}
  .ba-frame .after-layer{z-index:1;}
  .ba-frame .before-clip{position:absolute;inset:0;z-index:2;overflow:hidden;width:50%;}
  .ba-frame .before-clip .layer{width:248px;}
  .ba-frame .tag{
    position:absolute;top:10px;z-index:3;font-size:10px;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;color:#fff;padding:4px 8px;border-radius:6px;background:rgba(28,23,20,.6);
  }
  .ba-frame .tag.b{left:10px;}
  .ba-frame .tag.a{right:10px;background:var(--clay);}
  .ba-frame .handle{
    position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:4;transform:translateX(-1px);
    box-shadow:0 0 0 1px rgba(0,0,0,.06);
  }
  .ba-frame .knob{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;
    width:36px;height:36px;border-radius:50%;background:#fff;box-shadow:var(--shadow);
    display:flex;align-items:center;justify-content:center;color:var(--clay);
  }
  .ba .meta{margin-top:12px;}
  .ba .meta b{font-family:var(--disp);font-size:16px;}
  .ba .meta small{display:block;color:var(--ink-muted);font-size:13px;margin-top:2px;}
  .swipe-hint{display:flex;align-items:center;gap:7px;color:var(--ink-muted);font-size:12.5px;margin-top:4px;}
  /* gallery */
  .gal-row{display:flex;gap:14px;overflow-x:auto;padding:4px 20px 14px;margin:0 -20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  .gal-row::-webkit-scrollbar{display:none;}
  .gal{flex:none;width:258px;scroll-snap-align:center;margin:0;}
  .gal img{width:100%;height:320px;object-fit:cover;border-radius:16px;box-shadow:var(--shadow-sm);}
  .gal:nth-child(3) img{object-position:top center;}
  .gal figcaption{margin-top:11px;font-size:13.5px;color:var(--ink-muted);font-weight:500;max-width:30ch;}

  /* ---------- testimonials ---------- */
  .testimonials{background:var(--espresso);color:var(--cream);}
  .testimonials .eyebrow{color:#f4a079;}
  .testimonials .sec-head h2{color:#fff;}
  .t-card{
    background:#322a24;border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:22px;margin-bottom:14px;
  }
  .t-card .stars{color:#f4a079;margin-bottom:12px;}
  .t-card q{font-size:16px;line-height:1.5;color:#f1e7d8;display:block;font-style:normal;}
  .t-card .who{display:flex;align-items:center;gap:11px;margin-top:16px;}
  .t-card .who i{width:38px;height:38px;border-radius:50%;flex:none;background:repeating-linear-gradient(45deg,#4a4038,#4a4038 5px,#433a32 5px,#433a32 10px);}
  .t-card .who b{font-size:14px;display:block;}
  .t-card .who small{font-size:12px;color:#bba88f;}

  /* ---------- certifications ---------- */
  .certs{background:var(--paper);}
  .cert-list{display:flex;flex-direction:column;gap:10px;}
  .cert{
    display:flex;align-items:center;gap:14px;background:var(--cream);
    border:1px solid var(--line);border-radius:14px;padding:14px 16px;
  }
  .cert .seal{
    width:42px;height:42px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;
    background:var(--sand);color:var(--clay);
  }
  .cert .seal svg{width:22px;height:22px;}
  .cert b{font-size:15px;font-family:var(--disp);font-weight:700;}
  .cert small{display:block;color:var(--ink-muted);font-size:12.5px;margin-top:2px;}
  .cert.award .seal{background:var(--espresso);color:#f4a079;}
  .cred-sub{font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin:28px 0 14px;display:flex;align-items:center;gap:10px;}
  .cred-sub::after{content:"";flex:1;height:1px;background:var(--line);}
  .cert-chips{display:flex;flex-wrap:wrap;gap:8px;}
  .cert-chips span{display:inline-flex;align-items:center;gap:7px;background:var(--cream);border:1px solid var(--line);color:var(--espresso-soft);font-weight:600;font-size:13px;padding:8px 13px;border-radius:10px;}
  .cert-chips span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--clay);flex:none;}

  .contact{background:var(--cream);}
  .form{display:flex;flex-direction:column;gap:12px;margin-top:8px;}
  .field label{display:block;font-size:12.5px;font-weight:600;color:var(--espresso-soft);margin-bottom:6px;letter-spacing:.01em;}
  .field input,.field select,.field textarea{
    width:100%;font-family:inherit;font-size:15px;color:var(--espresso);
    background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;
    transition:.15s border-color;
  }
  .field textarea{resize:vertical;min-height:96px;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--clay);}
  .form .btn-primary{margin-top:4px;}
  .form-note{font-size:12.5px;color:var(--ink-muted);text-align:center;margin-top:2px;}
  .or{display:flex;align-items:center;gap:12px;color:var(--ink-muted);font-size:12px;margin:22px 0;}
  .or::before,.or::after{content:"";flex:1;height:1px;background:var(--line);}
  .socials{display:flex;flex-direction:column;gap:10px;}
  .soc{
    display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:14px;
    border:1.5px solid var(--line);background:var(--paper);font-weight:600;font-size:15px;
    transition:.18s;
  }
  .soc:hover{border-color:var(--espresso);transform:translateY(-1px);}
  .soc .si{width:38px;height:38px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;}
  .soc .si svg{width:20px;height:20px;}
  .soc.fb .si{background:#1877f2;}
  .soc.ig .si{background:linear-gradient(45deg,#f09433,#e6683c 35%,#dc2743 55%,#bc1888 90%);}
  .soc small{display:block;font-weight:500;font-size:12px;color:var(--ink-muted);}
  .soc .go{margin-left:auto;color:var(--ink-muted);}
  .loc{display:flex;align-items:center;gap:9px;justify-content:center;color:var(--ink-muted);font-size:13.5px;margin-top:22px;}

  /* form success */
  .form-success{
    display:none;text-align:center;background:var(--paper);border:1px solid var(--line);
    border-radius:16px;padding:26px 20px;
  }
  .form-success.show{display:block;}
  .form-success .check{width:52px;height:52px;border-radius:50%;background:var(--olive);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
  .form-success h3{font-size:20px;}
  .form-success p{color:var(--ink-muted);font-size:14.5px;margin-top:8px;}

  /* ---------- footer ---------- */
  footer{background:var(--espresso);color:#c9b9a4;padding:34px 20px 26px;text-align:center;}
  footer .brand{justify-content:center;margin-bottom:14px;}
  footer .brand .name{color:var(--cream);}
  footer .fnav{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 18px;margin:6px 0 18px;font-size:13.5px;}
  footer .fnav a:hover{color:#f4a079;}
  footer .copy{font-size:11.5px;color:#8c7d6a;line-height:1.6;}

  /* ---------- sticky bottom CTA ---------- */
  .sticky-cta{
    position:fixed;bottom:0;left:50%;transform:translateX(-50%) translateY(120%);
    width:100%;max-width:var(--maxw);
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    background:rgba(246,241,231,.92);backdrop-filter:blur(12px);
    border-top:1px solid var(--line);
    z-index:80;transition:transform .3s cubic-bezier(.2,.8,.2,1);
    display:flex;gap:10px;
  }
  .sticky-cta.show{transform:translateX(-50%) translateY(0);}
  .sticky-cta .btn{flex:1;}

  .topnav{display:none;}

  @media (min-width:600px){
    .device{margin:0;border-radius:0;}
  }

  /* ============ DESKTOP ============ */
  @media (min-width:880px){
    :root{ --pad:max(56px, calc((100% - 1160px) / 2)); --gap:56px; }
    body{ background:var(--cream); }
    .canvas{ display:block; background:var(--cream); padding:0; }
    .device{ max-width:none; width:100%; box-shadow:none; min-height:100vh; }

    /* header + nav */
    .topbar{ padding:18px var(--pad); }
    .brand .name{ font-size:18px; }
    .brand .name small{ font-size:10px; }
    .topnav{ display:flex; gap:28px; margin-left:auto; margin-right:30px; }
    .topnav a{ font-weight:600; font-size:15px; color:var(--espresso-soft); transition:color .15s; }
    .topnav a:hover{ color:var(--clay); }
    .topbar .btn-primary{ font-size:15px; padding:12px 22px; }

    /* hero: two columns */
    .heroC{ padding:0; background:var(--clay); display:grid; grid-template-columns:1.05fr 0.95fr; grid-template-rows:1fr auto; grid-template-areas:"block media" "below media"; align-items:stretch; min-height:clamp(560px,72vh,720px); }
    .hero.heroC.active{ display:grid; }
    .heroC .block{ grid-area:block; padding:80px var(--gap) 18px var(--pad); display:flex; flex-direction:column; justify-content:center; }
    .heroC .block::before{ width:300px; height:300px; right:auto; top:auto; left:-110px; bottom:-110px; }
    .heroC h1{ font-size:clamp(56px,6.4vw,86px); }
    .heroC .eyebrow{ font-size:13px; }
    .heroC .community{ font-size:15px; padding:10px 16px; }
    .heroC .strip{ grid-area:media; flex-direction:column; height:100%; overflow:hidden; }
    .heroC .strip .shot,.heroC .strip .shot-rich{ height:auto; flex:1; width:100%; }
    .heroC .strip .shot-rich{ display: none; }
    .heroC .below{ grid-area:below; background:transparent; padding:0 var(--gap) 76px var(--pad); }
    .heroC .below p{ color:#f4e8d9; font-size:18px; max-width:46ch; }
    .heroC .below .hero-cta{ flex-direction:row; margin-top:24px; }
    .heroC .below .btn-dark{ font-size:16px; padding:15px 30px; }

    /* sections: centered content column */
    section{ padding:90px var(--pad); }
    .sec-head{ margin-bottom:36px; }
    .sec-head h2{ font-size:42px; }
    .sec-head p{ font-size:17px; max-width:50ch; }

    /* stats strip */
    .statstrip{ padding:42px var(--pad); }
    .statstrip .row{ max-width:780px; margin:0 auto; gap:24px; }
    .statstrip b{ font-size:48px; }
    .statstrip small{ font-size:13px; }

    /* about: portrait + copy */
    .about{ display:grid; grid-template-columns:440px 1fr; column-gap:64px; align-items:center; }
    .about .portrait{ height:540px; margin-bottom:0; }
    .about-copy{ max-width:620px; }
    .about p{ font-size:17px; }

    /* services 4-up with 2-up responsive intermediate breakpoint */
    .svc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
    @media (min-width: 1080px) {
      .svc-grid{ grid-template-columns:repeat(4,1fr); }
    }
    .svc{ padding:30px 26px; }
    .svc h3{ font-size:21px; }

    /* gallery 3-up */
    .gal-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; overflow:visible; margin:0; padding:0; scroll-snap-type:none; }
    .gal{ width:auto; }
    .gal img{ height:400px; }
    .transforms .swipe-hint{ display:none; }

    /* testimonials 3-up */
    .t-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
    .t-card{ margin-bottom:0; height:100%; }

    /* certifications */
    .cert-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
    .cred-sub{ margin-top:42px; }

    /* contact: centered */
    .contact{ text-align:center; }
    .contact .sec-head{ max-width:620px; margin:0 auto 32px; }
    .contact .sec-head p{ margin-left:auto; margin-right:auto; }
    .socials{ flex-direction:row; max-width:780px; margin:0 auto; }
    .soc{ flex:1; text-align:left; }
    .loc{ margin-top:30px; }

    /* footer */
    footer{ padding:52px var(--pad); }

    /* sticky CTA not needed on desktop */
    .sticky-cta{ display:none !important; }
  }

  @media (min-width:1280px){
    .heroC h1{ font-size:92px; }
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition:none!important;}
  }