/* Base styles shared by Blade pages (blog, contact). Copied from the Services page. */

  @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

  :root{
    --bg:#FFFFFF;
    --bg-alt:#FBF7F5;
    --panel:#FFFFFF;
    --ink:#191310;
    --ink-soft:#6B6058;
    --ink-faint:#9C9188;
    --accent:#EA0606;
    --accent-ink:#FFFFFF;
    --accent-dark:#B00505;
    --accent-tint:#FCE6E6;
    --line:#ECE3DD;
    --line-strong:#DDD1C8;
    color-scheme: light only;
  }

  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing:antialiased;
    padding-inline:0;
  }
  h1,h2,h3,.disp{
    font-family:'Montserrat', -apple-system, sans-serif;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:0.01em;
    line-height:0.95;
    text-wrap:balance;
    margin:0;
  }
  .mono{
    font-family:'Montserrat', -apple-system, sans-serif;
    font-weight:700;
    font-variant-numeric: tabular-nums;
  }
  a{color:inherit;}
  img{max-width:100%;}
  [hidden]{display:none!important;}

  .wrap{
    max-width:1180px;
    margin-inline:auto;
    padding-inline:20px;
  }
  @media (min-width:720px){ .wrap{padding-inline:40px;} }

  /* ---------- NAV ---------- */
  .nav{
    position:sticky;
    top:env(safe-area-inset-top,0px);
    z-index:50;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-block:16px;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:9px;
    font-family:'Montserrat', sans-serif;
    font-weight:800;
    font-size:20px;
    text-transform:uppercase;
    letter-spacing:0.02em;
    white-space:nowrap;
  }
  .brand-mark{
    width:14px;height:14px;
    background:var(--accent);
    flex-shrink:0;
  }
  .brand-logo{
    height:48px;
    width:48px;
    object-fit:cover;
    flex-shrink:0;
  }
  .nav-links{
    display:none;
    gap:28px;
    font-size:14px;
    font-weight:600;
    color:var(--ink-soft);
  }
  .nav-links a:hover{color:var(--ink);}
  @media (min-width:860px){ .nav-links{display:flex;} }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:none;
    cursor:pointer;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:14px;
    padding:13px 22px;
    border-radius:3px;
    text-decoration:none;
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--accent);
    color:var(--accent-ink);
  }
  .btn-primary:hover{background:var(--accent-dark);}
  .btn-ghost{
    background:transparent;
    color:var(--ink);
    border:1.5px solid var(--line-strong);
  }
  .btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
  .btn-sm{padding:10px 16px;font-size:13px;}

  /* ---------- FOOTER ---------- */
  .site-footer{
    background:var(--panel);
    border-top:1px solid var(--line);
    padding:72px 0 32px;
    color:var(--ink-soft);
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:40px;
    padding-bottom:48px;
    border-bottom:1px solid var(--line);
    margin-bottom:28px;
  }
  @media (min-width:720px){
    .footer-grid{grid-template-columns:1.8fr 1fr 1fr 1fr;}
  }
  .footer-brand-logo{
    display:flex;
    align-items:center;
    gap:9px;
    font-family:'Montserrat',sans-serif;
    font-weight:800;
    font-size:16px;
    text-transform:uppercase;
    letter-spacing:.02em;
    color:var(--ink);
    margin-bottom:16px;
  }
  .footer-brand-logo img{height:44px;width:44px;object-fit:cover;flex-shrink:0;}
  .footer-tagline{
    font-size:13.5px;
    line-height:1.8;
    color:var(--ink-faint);
    max-width:280px;
  }
  .footer-social{display:flex;gap:10px;margin-top:20px;}
  .footer-social a{
    width:36px;height:36px;border-radius:3px;
    display:flex;align-items:center;justify-content:center;
    background:var(--bg-soft, rgba(128,116,104,.1));
    border:1px solid var(--line);
    color:var(--ink-faint);
    transition:.25s;
  }
  .footer-social a:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
  .footer-social svg{width:15px;height:15px;}
  .footer-col-title{
    font-family:'Montserrat',sans-serif;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:var(--ink);
    margin-bottom:18px;
  }
  .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0;padding:0;}
  .footer-col a,.footer-col span{
    font-size:13.5px;
    font-weight:500;
    color:var(--ink-faint);
    text-decoration:none;
    transition:color .2s;
  }
  .footer-col a:hover{color:var(--accent);}
  .footer-bottom{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    font-size:12px;
    color:var(--ink-faint);
  }
  .footer-bottom a{color:var(--accent);text-decoration:none;}


  /* ---------- SECTION LABEL ---------- */
  .eyebrow{
    display:flex;
    align-items:baseline;
    gap:10px;
    font-family:'Montserrat',monospace;
    font-size:13px;
    font-weight:600;
    color:var(--accent);
    text-transform:uppercase;
    letter-spacing:0.08em;
    margin-bottom:14px;
  }
  .eyebrow .num{color:var(--ink-faint);}

  .section-alt{background:var(--bg-alt);}
  .sv-ceo{padding-top:0;}
  #honest{padding-bottom:88px;}
  /* =====================================================================
     SERVICES PAGE - built on the homepage brand system
     ===================================================================== */
  section{padding-block:76px;}
  @media (min-width:720px){ section{padding-block:108px;} }
  .nav-links a.active{color:var(--accent);}
  .sv h1,.sv h2,.sv h3{text-transform:none;letter-spacing:-0.01em;}
  .sv h2{font-size:clamp(28px,3.6vw,40px);font-weight:800;line-height:1.05;}
  .sv h2 em,.sv h1 em{font-style:normal;color:var(--accent);}
  .sv-lead{margin:16px 0 0;font-size:16.5px;line-height:1.6;color:var(--ink-soft);max-width:600px;}
  .sv .eyebrow{margin-bottom:14px;}
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){ .reveal{opacity:1;transform:none;transition:none;} }

  /* ---------- 1. HERO ---------- */
  .sv-hero{padding:56px 0 64px;}
  @media (min-width:720px){ .sv-hero{padding:72px 0 88px;} }
  .sv-hero-grid{display:grid;gap:48px;align-items:center;}
  @media (min-width:960px){ .sv-hero-grid{grid-template-columns:1.05fr 0.95fr;gap:32px;} }
  .sv-hero h1{font-size:clamp(32px,5vw,50px);font-weight:800;line-height:1.06;color:var(--ink);}
  .sv-hero-sub{margin:22px 0 0;max-width:520px;font-size:16.5px;line-height:1.65;color:var(--ink-soft);}
  .sv-hero-cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;}
  .sv-hero-note{margin:14px 0 0;font-size:13px;color:var(--ink-faint);}

  /* hero visual (same orbit language as the homepage) */
  .sv-visual{position:relative;width:100%;max-width:540px;margin-inline:auto;aspect-ratio:1.08/1;container-type:inline-size;}
  .sv-disc{
    position:absolute;right:4%;top:8%;width:62%;aspect-ratio:1/1;border-radius:50%;
    background:linear-gradient(200deg,#FF3B30 0%,#EA0606 38%,#B10404 72%,#7A0202 100%);
  }
  .sv-ring{position:absolute;right:-5%;top:-2%;width:82%;aspect-ratio:1/1;overflow:visible;}
  .sv-ring circle{fill:none;stroke:#D9D3D0;stroke-width:.55;stroke-dasharray:.01 2.2;stroke-linecap:round;}
  .sv-dash{
    position:absolute;left:2%;top:22%;width:70%;
    background:#fff;border-radius:3px;border:1px solid var(--line);
    box-shadow:0 3cqw 6cqw -2cqw rgba(40,0,0,.3);
    padding:3cqw;z-index:2;font-size:1.9cqw;color:var(--ink);
  }
  .sv-dash-top{display:flex;align-items:center;gap:.9cqw;margin-bottom:2.4cqw;}
  .sv-dash-top i{width:1.3cqw;height:1.3cqw;border-radius:50%;background:var(--line-strong);display:block;}
  .sv-dash-top i:first-child{background:var(--accent);}
  .sv-dash-top b{margin-left:2cqw;font-size:2.1cqw;font-weight:700;}
  .sv-dash-top span{margin-left:auto;font-size:1.7cqw;color:var(--ink-faint);font-weight:600;}
  .sv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6cqw;margin-bottom:2.4cqw;}
  .sv-kpi{background:var(--bg-alt);border-radius:3px;padding:1.6cqw 1.8cqw;}
  .sv-kpi small{display:block;font-size:1.55cqw;color:var(--ink-faint);font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
  .sv-kpi strong{display:block;font-size:3.2cqw;font-weight:800;margin-top:.5cqw;color:var(--accent);}
  .sv-dash-body{display:grid;grid-template-columns:1.5fr 1fr;gap:2cqw;align-items:end;}
  .sv-dash-body svg{width:100%;height:auto;display:block;}
  .sv-mini{
    position:absolute;left:10%;bottom:4%;width:40%;z-index:3;
    background:#fff;border-radius:3px;padding:2.4cqw 2.6cqw;border:1px solid var(--line);
    box-shadow:0 3cqw 6cqw -2cqw rgba(40,0,0,.3);
    animation:flag-bounce-up 3.4s ease-in-out infinite;
  }
  .sv-mini small{display:block;font-size:1.7cqw;font-weight:700;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;}
  .sv-mini strong{display:block;font-size:2.8cqw;font-weight:800;margin-top:.6cqw;}
  .sv-mini svg{display:block;width:100%;height:auto;margin-top:1.2cqw;}
  .sv-badge{
    position:absolute;z-index:4;width:12.4cqw;height:12.4cqw;border-radius:50%;
    background:#fff;display:flex;align-items:center;justify-content:center;
    box-shadow:0 .9cqw 2.8cqw rgba(60,20,20,.12), 0 0 0 1px rgba(0,0,0,.02);
    animation:flag-bounce-up 3.4s ease-in-out infinite;
  }
  .sv-badge svg{width:47%;height:47%;}
  .sv-badge.b1{left:60%;top:0;}
  .sv-badge.b2{right:0;top:32%;animation-name:flag-bounce-down;animation-delay:.8s;}
  .sv-badge.b3{left:-1%;top:6%;animation-delay:1.4s;}
  .sv-badge.b4{left:56%;bottom:-1%;animation-name:flag-bounce-down;animation-delay:.4s;}
  .sv-badge.b5{right:4%;bottom:8%;animation-delay:1s;}
  @keyframes flag-bounce-up{0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);}}
  @keyframes flag-bounce-down{0%,100%{transform:translateY(0);}50%{transform:translateY(4px);}}
  @media (prefers-reduced-motion: reduce){ .sv-badge,.sv-mini{animation:none;} }

  /* ---------- 2. THE HONEST VERSION ---------- */
  .honest-grid{display:grid;gap:16px;margin-top:44px;}
  @media (min-width:720px){ .honest-grid{grid-template-columns:1fr 1fr;} }
  .honest-card{
    background:var(--panel);border:1px solid var(--line);border-radius:3px;
    padding:26px 24px 28px;position:relative;
    transition:border-color .25s, transform .25s, box-shadow .25s;
  }
  .honest-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 18px 30px -22px rgba(234,6,6,.45);}
  .honest-num{
    font-family:'Montserrat',monospace;font-weight:700;font-size:11.5px;
    letter-spacing:.08em;text-transform:uppercase;color:var(--accent);
  }
  .honest-card h3{margin-top:10px;font-size:19px;font-weight:700;line-height:1.3;color:var(--ink);}
  .honest-card p{margin:8px 0 0;font-size:14.5px;line-height:1.6;color:var(--ink-soft);}
  .honest-cta{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;}
  .honest-cta p{margin:0;font-style:italic;font-size:14.5px;color:var(--ink-soft);}

  /* ---------- 3. CEO CARD ---------- */
  .ceo-card{
    max-width:920px;margin-inline:auto;border-radius:3px;overflow:hidden;position:relative;
    background:#111;
    display:grid;gap:24px;padding:40px 28px;text-align:center;color:#fff;
  }
  @media (min-width:720px){
    .ceo-card{grid-template-columns:190px 1fr;gap:44px;padding:48px 56px;text-align:left;align-items:center;}
  }
  .ceo-card::after{
    content:'';position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;border-radius:50%;
    border:1px dashed rgba(255,255,255,.28);pointer-events:none;
  }
  .ceo-person{display:flex;flex-direction:column;align-items:center;text-align:center;}
  .ceo-photo{
    width:124px;height:124px;border-radius:50%;overflow:hidden;position:relative;
    background:#fff;border:4px solid rgba(255,255,255,.35);
    display:flex;align-items:center;justify-content:center;
    font-size:38px;font-weight:800;color:var(--accent);
  }
  .ceo-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;}
  .ceo-name{margin-top:16px;font-size:15px;font-weight:800;}
  .ceo-role{margin-top:4px;font-size:13px;font-weight:500;color:rgba(255,255,255,.85);}
  .ceo-quote{margin:0;font-size:clamp(20px,2.4vw,26px);line-height:1.6;font-weight:700;position:relative;z-index:1;}

  /* ---------- 4. WHAT WE DO ---------- */
  .wwd-grid{display:grid;gap:16px;margin-top:48px;}
  @media (min-width:900px){ .wwd-grid{grid-template-columns:repeat(3,1fr);} }
  .wwd-card{
    background:var(--panel);border:1px solid var(--line);border-radius:3px;overflow:hidden;
    display:flex;flex-direction:column;
    transition:border-color .25s, transform .25s, box-shadow .25s;
  }
  .wwd-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 18px 30px -22px rgba(234,6,6,.45);}
  .wwd-bar{
    background:#111;color:#fff;text-align:center;
    font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:9px 12px;
  }
  .wwd-media{aspect-ratio:16/9;overflow:hidden;background:var(--bg-alt);border-bottom:1px solid var(--line);}
  .wwd-media picture{display:block;width:100%;height:100%;}
  .wwd-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
  .wwd-card:hover .wwd-media img{transform:scale(1.04);}
  .wwd-body{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1;}
  .wwd-head{display:flex;align-items:center;gap:14px;}
  .wwd-icon{
    width:44px;height:44px;border-radius:3px;flex-shrink:0;
    background:var(--panel);border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 2px 6px -2px rgba(25,19,16,.12);
  }
  .wwd-icon svg{width:22px;height:22px;}
  .wwd-card h3{font-size:20px;font-weight:800;color:var(--ink);}
  .wwd-body > p{margin:16px 0 0;font-size:14.5px;line-height:1.6;color:var(--ink-soft);}
  .wwd-list{list-style:none;margin:22px 0 0;padding:20px 0 0;border-top:1px solid var(--line);display:grid;gap:11px;}
  .wwd-list li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink);}
  .wwd-list li svg{width:15px;height:15px;flex-shrink:0;}

  /* ---------- 5. FAQ ---------- */
  .faq-grid{display:grid;gap:36px;}
  @media (min-width:960px){ .faq-grid{grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start;} .faq-intro{position:sticky;top:110px;} }
  .faq-intro .btn{margin-top:26px;}
  .faq-list{border-top:1px solid var(--line);}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{
    list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;
    padding:20px 0;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.35;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary:hover{color:var(--accent);}
  .faq-plus{
    width:30px;height:30px;border-radius:3px;flex-shrink:0;border:1.5px solid var(--line-strong);
    position:relative;transition:transform .3s, background .3s, border-color .3s;
  }
  .faq-plus::before,.faq-plus::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--ink);transition:background .3s, transform .3s;}
  .faq-plus::after{transform:rotate(90deg);}
  .faq-item[open] .faq-plus{background:var(--accent);border-color:var(--accent);}
  .faq-item[open] .faq-plus::before{background:#fff;}
  .faq-item[open] .faq-plus::after{transform:rotate(0deg);background:#fff;}
  .faq-item[open] summary{color:var(--accent);}
  .faq-answer{padding:0 50px 22px 0;font-size:15px;line-height:1.7;color:var(--ink-soft);}
  .faq-answer p{margin:0;}

  /* ---------- MOBILE MENU ---------- */
  .nav-right{display:flex;align-items:center;gap:10px;}
  .nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:3px;border:1.5px solid var(--line-strong);
    background:var(--panel);cursor:pointer;padding:0;
  }
  .nav-toggle span{position:relative;display:block;width:18px;height:2px;background:var(--ink);transition:background .2s;}
  .nav-toggle span::before,.nav-toggle span::after{content:'';position:absolute;left:0;width:18px;height:2px;background:var(--ink);transition:transform .25s, top .25s;}
  .nav-toggle span::before{top:-6px;} .nav-toggle span::after{top:6px;}
  .nav.open .nav-toggle span{background:transparent;}
  .nav.open .nav-toggle span::before{top:0;transform:rotate(45deg);}
  .nav.open .nav-toggle span::after{top:0;transform:rotate(-45deg);}
  .nav-mobile{display:none;border-top:1px solid var(--line);background:var(--bg);}
  .nav.open .nav-mobile{display:block;}
  .nav-mobile a{
    display:block;padding:15px 0;border-bottom:1px solid var(--line);
    font-size:15px;font-weight:700;color:var(--ink);text-decoration:none;
  }
  .nav-mobile a:last-child{border-bottom:none;}
  .nav-mobile a.active,.nav-mobile a:hover{color:var(--accent);}
  @media (min-width:860px){ .nav-toggle,.nav-mobile,.nav.open .nav-mobile{display:none;} }
  @media (max-width:400px){ .nav .btn-sm{padding:9px 12px;font-size:12px;} }

  /* ---------- FAILSAFE: content always visible without JS ---------- */
  html:not(.js) .reveal, html:not(.js) .hero-video-wrap, html:not(.js) .avatar, html:not(.js) .stage-card{opacity:1 !important;transform:none !important;}
  html:not(.js) #page-loader{display:none !important;}
  #page-loader{animation:loaderFailsafe .01s linear 3s forwards;}
  @keyframes loaderFailsafe{to{opacity:0;visibility:hidden;pointer-events:none;}}
  /* Google Partner card (shared) */
  .gp-card{width:96px;padding:14px 8px 10px;background:#fff;border:1px solid #E3DEDB;border-radius:3px;box-shadow:0 10px 22px -8px rgba(25,19,16,.35);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:3;}
  .gp-card .g-logo{width:34px;height:34px;}
  .gp-card span{font-size:9.5px;font-weight:600;color:#5f6368;white-space:nowrap;letter-spacing:.01em;}

  /* ---------- v47: services hero picture + logos ---------- */
  .svp{position:relative;width:min(100%,470px);margin:0 auto;padding:34px 30px 40px;}
  .svp-frame{position:relative;border:8px solid #111;border-radius:3px;background:#111;overflow:hidden;transform:rotate(-1.5deg);box-shadow:0 26px 50px -28px rgba(25,19,16,.55);}
  .svp-frame img{display:block;width:100%;height:auto;aspect-ratio:1.12/1;object-fit:cover;}
  .svp .gp-card{width:104px;}
  .svp-gp{position:absolute;left:-14px;top:0;transform:rotate(-9deg);z-index:3;}
  .svp-logo{position:absolute;z-index:3;filter:drop-shadow(0 10px 14px rgba(25,19,16,.18));animation:svp-float 4s ease-in-out infinite;}
  .svp-logo svg{display:block;width:100%;height:100%;}
  .svp-ads{right:-22px;top:-6px;width:118px;height:118px;transform:rotate(-12deg);}
  .svp-gtm{left:-26px;bottom:34px;width:92px;height:92px;animation-delay:.8s;}
  .svp-ga{right:-16px;bottom:-4px;width:92px;height:104px;animation-delay:1.5s;}
  @keyframes svp-float{0%,100%{translate:0 0;}50%{translate:0 -6px;}}
  @media (prefers-reduced-motion: reduce){ .svp-logo{animation:none;} }
  @media (max-width:520px){ .svp{padding:26px 18px 30px;} .svp-ads{width:84px;height:84px;right:-8px;} .svp-gtm{width:64px;height:64px;left:-8px;} .svp-ga{width:64px;height:72px;right:-6px;} .svp .gp-card{width:84px;} }
  .nav-links a,.nav-mobile a{text-decoration:none;}

  /* =================== MOBILE UX PASS =================== */
  @media (max-width:479px){ .nav-right .btn-sm .xs-hide{display:none;} }
  @media (max-width:719px){
    section{padding-block:60px;}
    /* full-width, thumb-friendly primary actions */
    .hero-cta,.sv-hero-cta{flex-direction:column;align-items:stretch;}
    .hero-cta .btn,.sv-hero-cta .btn,.expertise-cta .btn,.team-cta .btn,.acta-text .btn,.ab-hero .btn,.dv-text .btn,#different .story-intro .btn{width:100%;justify-content:center;padding-block:15px;font-size:15px;}
    .expertise-cta,.team-cta{padding-inline:0;}
    /* footer: bigger tap targets, 2 columns for links, better contrast */
    .site-footer{padding-top:48px;}
    .footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px;padding-bottom:32px;}
    .footer-grid > :first-child,.footer-grid > :last-child{grid-column:1 / -1;}
    .footer-col ul{gap:2px;}
    .footer-col a,.footer-col span{display:inline-block;padding:8px 0;font-size:14px;color:var(--ink-soft);}
    .footer-col-title{margin-bottom:6px;}
    .footer-social a{width:44px;height:44px;}
    .footer-social svg{width:18px;height:18px;}
    .footer-bottom{flex-direction:column;gap:6px;font-size:12.5px;}
    /* carousel dots: same look, 25px touch area */
    .pc-dots{gap:0;}
    .pc-dots button{width:9px;height:9px;padding:8px;box-sizing:content-box;background-clip:content-box;}
    .pc-dots button.on{background-color:var(--accent);background-clip:content-box;transform:none;}
  }
  /* Home */
  @media (max-width:639px){
    .expertise-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-20px;padding:2px 20px 10px;scrollbar-width:none;margin-top:28px;}
    .expertise-grid::-webkit-scrollbar{display:none;}
    .expertise-grid > .expertise-card{flex:0 0 82%;scroll-snap-align:start;scroll-margin-left:20px;}
    .diff-team{max-width:300px;margin-inline:auto;}
    .hero-visual .hp-stage{height:420px;min-height:420px;}
    .hp-phone{width:244px !important;}
  }
  @media (max-width:719px){ .sv-hero{padding:44px 0 20px;} .svp{padding:26px 18px 20px;} }
  .footer-col li a:has(.fc-ic){display:inline-flex;align-items:flex-start;gap:10px;}
  .fc-ic{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--accent);}
