/*
Theme Name: Karan PPC
Theme URI: https://karanppc.com
Author: Karan Venugopal
Description: A block theme for the Karan PPC homepage, built to match the approved design pixel-for-pixel. Edit the page text directly in the Site Editor's Custom HTML block, all free, no page builder required.
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: karan-ppc
*/

/* This file is the exact CSS from the approved design mockup, unchanged,
   so the live site renders identically to it. */

:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px)}body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#faf9f5;color:#141413}img{max-width:100%}[hidden]:not([hidden=until-found i]){display:none!important}

  :root{
    /* color */
    --color-bg:#FFFFFF;
    --color-bg-alt:#F3F6F3;
    --color-surface:#FFFFFF;
    --color-ink:#12130F;
    --color-ink-soft:#53584F;
    --color-accent:#187A4B;
    --color-accent-dark:#0F5C38;
    --color-accent-soft:#DFF1E5;
    --color-dark:#0E0F0C;
    --color-dark-ink:#FFFFFF;
    --color-dark-ink-soft:#B7BBB2;
    --color-border:#E1E5DE;
    --color-border-dark:#2A2C27;
    --color-danger:#AA402C;
    --color-danger-soft:#F5DFD8;

    /* type */
    --font-display:"Plus Jakarta Sans",-apple-system,"Segoe UI",sans-serif;
    --font-body:"Plus Jakarta Sans",-apple-system,"Segoe UI",sans-serif;
    --font-mono:"Plus Jakarta Sans",-apple-system,"Segoe UI",sans-serif;

    --text-xs:0.75rem;
    --text-sm:0.875rem;
    --text-base:1rem;
    --text-md:1.125rem;
    --text-lg:1.375rem;
    --text-xl:clamp(1.75rem,3.4vw + 1rem,2.5rem);
    --text-2xl:clamp(2.25rem,4.4vw + 1rem,3.25rem);
    --text-3xl:clamp(2.6rem,5.6vw + 1rem,4.2rem);

    /* space */
    --space-1:0.25rem;
    --space-2:0.5rem;
    --space-3:0.75rem;
    --space-4:1rem;
    --space-5:1.5rem;
    --space-6:2rem;
    --space-7:3rem;
    --space-8:4rem;
    --space-9:6rem;
    --space-10:8rem;

    /* misc */
    --radius-sm:4px;
    --radius-md:10px;
    --radius-lg:22px;
    --container-max:1180px;
    --border-w:1px;
    --shadow-card:0 1px 2px rgba(28,27,21,0.05), 0 12px 28px -18px rgba(28,27,21,0.35);
  }

  *,*::before,*::after{box-sizing:border-box;}
  body{
    background:var(--color-bg);
    color:var(--color-ink);
    font-family:var(--font-body);
    font-size:var(--text-base);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;margin:0;padding:0;}
  h1,h2,h3,h4,p{margin:0;text-wrap:balance;}
  h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--color-ink);}
  button{font-family:var(--font-body);cursor:pointer;}
  :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;}

  .wrap{
    max-width:var(--container-max);
    margin-inline:auto;
    padding-inline:var(--space-5);
  }

  .eyebrow{
    font-family:var(--font-mono);
    font-size:var(--text-xs);
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--color-accent-dark);
    display:flex;
    align-items:center;
    gap:var(--space-2);
  }
  .eyebrow-dot{
    width:6px;height:6px;border-radius:50%;
    background:var(--color-accent);
    flex:none;
  }
  .eyebrow-dark{color:var(--color-accent-soft);}

  .heading-accent{
    color:var(--color-accent);
  }
  .heading-accent-dark{
    color:var(--color-accent-soft);
  }

  /* ---------- buttons ---------- */
  .btn-primary,.btn-secondary,.btn-ghost{
    font-family:var(--font-body);
    font-weight:600;
    font-size:var(--text-sm);
    letter-spacing:0.01em;
    padding:var(--space-4) var(--space-6);
    border-radius:var(--radius-sm);
    display:inline-flex;
    align-items:center;
    gap:var(--space-2);
    border:var(--border-w) solid transparent;
    transition:transform .15s ease, background .15s ease;
  }
  .btn-primary{
    background:var(--color-accent);
    color:var(--color-bg);
  }
  .btn-primary:hover{background:var(--color-accent-dark);}
  .btn-secondary{
    background:transparent;
    color:var(--color-ink);
    border-color:var(--color-ink);
  }
  .btn-secondary:hover{background:var(--color-ink);color:var(--color-bg);}
  .btn-ghost{
    background:transparent;
    color:var(--color-dark-ink);
    border-color:var(--color-border-dark);
    font-size:var(--text-xs);
    padding:var(--space-3) var(--space-5);
  }
  .btn-arrow{width:14px;height:14px;flex:none;}
  .btn-row{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;}

  /* ---------- header ---------- */
  .site-header{
    position:sticky;
    top:env(safe-area-inset-top,0px);
    z-index:40;
    background:var(--color-bg);
    border-bottom:var(--border-w) solid var(--color-border);
  }
  .nav-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-5);
    padding-block:var(--space-4);
  }
  .brand{
    display:flex;
    flex-direction:column;
    line-height:1.1;
  }
  .brand-mark{
    font-family:var(--font-mono);
    font-weight:700;
    font-size:var(--text-md);
    letter-spacing:0.04em;
  }
  .brand-tag{
    font-family:var(--font-mono);
    font-size:10px;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--color-ink-soft);
    margin-top:2px;
  }
  .brand-logo{
    height:36px;
    width:auto;
    display:block;
  }
  .nav-links{
    display:flex;
    align-items:center;
    gap:var(--space-6);
  }
  .nav-link{
    font-family:var(--font-mono);
    font-size:var(--text-xs);
    letter-spacing:0.05em;
    text-transform:uppercase;
    color:var(--color-ink-soft);
  }
  .nav-link:hover{color:var(--color-ink);}
  .nav-actions{display:flex;align-items:center;gap:var(--space-5);}
  .nav-phone{
    font-family:var(--font-mono);
    font-size:var(--text-xs);
    color:var(--color-ink-soft);
    display:flex;
    align-items:center;
    gap:var(--space-2);
  }
  .nav-icon{width:15px;height:15px;flex:none;}
  .menu-toggle{display:none;}
  .hamburger-btn{
    display:none;
    width:40px;height:40px;
    align-items:center;
    justify-content:center;
    border:var(--border-w) solid var(--color-border);
    border-radius:var(--radius-sm);
    background:var(--color-surface);
  }
  .hamburger-icon{width:18px;height:14px;display:flex;flex-direction:column;justify-content:space-between;}
  .hamburger-bar{
    display:block;
    height:2px;
    background:var(--color-ink);
    border-radius:2px;
  }
  .mobile-panel{display:none;}

  /* ---------- section shells ---------- */
  .section{padding-block:var(--space-9);}
  .section-alt{background:var(--color-bg-alt);}
  .section-dark{background:var(--color-dark);color:var(--color-dark-ink);}
  .section-dark .eyebrow{color:var(--color-accent-soft);}
  .section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--color-dark-ink);}
  .section-tight{padding-block:var(--space-8);}
  /* the hero and the section right after it sit close together on purpose,
     so both trim the shared edge down past the normal section-tight value */
  .section-hero-shell{padding-bottom:var(--space-6);}
  .section-signs-shell{padding-top:var(--space-6);}
  .section-head{
    display:flex;
    flex-direction:column;
    gap:var(--space-4);
    max-width:640px;
    margin-bottom:var(--space-8);
  }
  .section-head-wide{max-width:760px;}
  .section-lede{
    font-size:var(--text-md);
    color:var(--color-ink-soft);
  }
  .section-dark .section-lede{color:var(--color-dark-ink-soft);}

  /* ---------- hero ---------- */
  .hero-grid{
    display:flex;
    align-items:center;
    gap:var(--space-9);
  }
  .hero-copy{flex:1 1 480px;display:flex;flex-direction:column;gap:var(--space-5);}
  .hero-heading{font-size:var(--text-3xl);line-height:1.06;}
  .hero-sub{font-size:var(--text-md);color:var(--color-ink-soft);max-width:52ch;}
  .trust-bar{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-5);
    padding-top:var(--space-5);
    border-top:var(--border-w) solid var(--color-border);
    margin-top:var(--space-3);
  }
  .trust-item{
    display:flex;
    align-items:center;
    gap:var(--space-2);
    font-family:var(--font-mono);
    font-size:var(--text-xs);
    color:var(--color-ink-soft);
  }
  .trust-icon{width:14px;height:14px;flex:none;color:var(--color-accent);}

  .founder-badge{display:flex;align-items:center;gap:var(--space-3);}
  .hero-visual-badge{margin-bottom:var(--space-5);gap:var(--space-4);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);width:100%;}
  .founder-badge-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--color-bg),0 0 0 3px var(--color-border);}
  .hero-visual-badge .founder-badge-photo{width:64px;height:64px;}
  .founder-badge-text{display:flex;flex-direction:column;gap:2px;}
  .founder-badge-name{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:0.02em;}
  .hero-visual-badge .founder-badge-name{font-size:var(--text-md);}
  .founder-badge-role{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-soft);font-weight:400;}
  .hero-visual-badge .founder-badge-role{font-size:var(--text-sm);}

  .hero-visual{flex:1 1 420px;}
  .report-card{
    background:var(--color-dark);
    color:var(--color-dark-ink);
    border-radius:var(--radius-lg);
    padding:var(--space-6);
    box-shadow:var(--shadow-card);
    display:flex;
    flex-direction:column;
    gap:var(--space-5);
  }
  .report-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-3);
  }
  .report-card-title{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:0.03em;}
  .report-card-badge{
    font-family:var(--font-mono);
    font-size:10px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--color-dark-ink-soft);
    border:var(--border-w) solid var(--color-border-dark);
    padding:var(--space-1) var(--space-2);
    border-radius:var(--radius-sm);
  }
  .report-list{display:flex;flex-direction:column;gap:var(--space-3);}
  .report-row{
    display:flex;
    align-items:center;
    gap:var(--space-3);
    padding:var(--space-3) var(--space-4);
    background:rgba(246,242,231,0.05);
    border:var(--border-w) solid var(--color-border-dark);
    border-radius:var(--radius-sm);
  }
  .report-check{
    width:20px;height:20px;flex:none;
    color:var(--color-accent-soft);
  }
  .report-row-text{font-size:var(--text-sm);}
  .report-row-text strong{display:block;font-size:var(--text-sm);}
  .report-row-text span{color:var(--color-dark-ink-soft);font-size:var(--text-xs);}
  .report-foot{
    font-family:var(--font-mono);
    font-size:10px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--color-dark-ink-soft);
    border-top:var(--border-w) solid var(--color-border-dark);
    padding-top:var(--space-4);
  }

  /* ---------- banner strip ---------- */
  .banner-cta{
    background:var(--color-accent-soft);
    border-bottom:var(--border-w) solid var(--color-border);
  }
  .banner-inner{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:var(--space-2) var(--space-5);
    padding-block:var(--space-3);
    font-family:var(--font-mono);
    font-size:var(--text-xs);
    letter-spacing:0.04em;
    text-transform:uppercase;
  }
  .banner-item{display:flex;align-items:center;gap:var(--space-2);color:var(--color-accent-dark);}
  .banner-sep{color:var(--color-ink-soft);}
  .banner-link{
    display:flex;align-items:center;gap:var(--space-2);
    color:var(--color-ink);font-weight:700;
    border-bottom:1px solid var(--color-ink);
    padding-bottom:2px;
  }

  /* ---------- signs list ---------- */
  .signs-grid{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);}
  .sign-item{
    flex:1 1 320px;
    display:flex;
    align-items:flex-start;
    gap:var(--space-3);
    padding:var(--space-4) var(--space-5);
    background:var(--color-surface);
    border:var(--border-w) solid var(--color-border);
    border-radius:var(--radius-md);
    font-size:var(--text-sm);
    color:var(--color-ink-soft);
  }
  .sign-icon{width:18px;height:18px;flex:none;margin-top:1px;color:var(--color-accent);}
  .bridge-statement{
    margin-top:var(--space-7);
    font-family:var(--font-display);
    font-size:var(--text-lg);
    max-width:56ch;
  }

  /* ---------- approach / cadence ---------- */
  .approach-grid{display:flex;gap:var(--space-8);align-items:flex-start;flex-wrap:wrap;}
  .approach-copy{flex:1 1 420px;display:flex;flex-direction:column;gap:var(--space-4);}
  .approach-copy p{color:var(--color-ink-soft);}
  .cadence-list{flex:1 1 340px;display:flex;flex-direction:column;gap:var(--space-3);}
  .cadence-item{
    display:flex;
    gap:var(--space-4);
    align-items:flex-start;
    padding:var(--space-4);
    background:var(--color-surface);
    border:var(--border-w) solid var(--color-border);
    border-radius:var(--radius-md);
  }
  .cadence-tag{
    font-family:var(--font-mono);
    font-size:var(--text-xs);
    color:var(--color-bg);
    background:var(--color-accent);
    padding:var(--space-1) var(--space-3);
    border-radius:var(--radius-sm);
    white-space:nowrap;
    flex:none;
  }
  .cadence-text strong{display:block;font-size:var(--text-sm);}
  .cadence-text span{font-size:var(--text-sm);color:var(--color-ink-soft);}

  /* ---------- about ---------- */
  .about-grid{display:flex;gap:var(--space-8);align-items:flex-start;}
  .about-photo{
    flex:0 0 300px;
    aspect-ratio:4/5;
    max-width:100%;
    width:300px;
    height:auto;
    object-fit:cover;
    border-radius:var(--radius-md);
    background:var(--color-accent-soft);
    border:var(--border-w) solid var(--color-border);
  }
  .about-content{flex:1 1 420px;display:flex;flex-direction:column;gap:var(--space-4);}
  .about-content p{color:var(--color-ink-soft);}
  .credential-row{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-3);
    margin-top:var(--space-3);
  }
  .credential-item{
    display:flex;
    align-items:center;
    gap:var(--space-2);
    font-family:var(--font-mono);
    font-size:var(--text-xs);
    letter-spacing:0.02em;
    background:var(--color-bg-alt);
    border:var(--border-w) solid var(--color-border);
    padding:var(--space-2) var(--space-4);
    border-radius:999px;
  }
  .credential-icon{width:13px;height:13px;flex:none;color:var(--color-accent);}

  /* ---------- services ---------- */
  .service-grid{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-5);
  }
  .card-service{
    flex:1 1 300px;
    background:var(--color-surface);
    border:var(--border-w) solid var(--color-border);
    border-radius:var(--radius-md);
    padding:var(--space-5);
    display:flex;
    flex-direction:column;
    gap:var(--space-3);
  }
  .card-service-note{
    border-color:var(--color-accent);
    background:var(--color-accent-soft);
  }
  .card-service-caution{
    border-color:var(--color-border);
    background:var(--color-bg-alt);
  }
  .card-service-caution .service-icon{color:var(--color-ink-soft);}
  .card-service-caution .service-flag{color:var(--color-ink-soft);}
  .service-icon{
    width:34px;height:34px;
    color:var(--color-accent);
  }
  .card-service h3{font-size:var(--text-md);}
  .card-service p{font-size:var(--text-sm);color:var(--color-ink-soft);}
  .service-flag{
    font-family:var(--font-mono);
    font-size:10px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--color-accent-dark);
  }

  /* ---------- loop / process ---------- */
  .loop-grid{
    display:flex;
    gap:var(--space-5);
    flex-wrap:wrap;
  }
  .card-step{
    flex:1 1 250px;
    background:var(--color-surface);
    border:var(--border-w) solid var(--color-border);
    border-radius:var(--radius-md);
    padding:var(--space-6);
    display:flex;
    flex-direction:column;
    gap:var(--space-4);
  }
  .step-number{
    font-family:var(--font-display);
    font-size:var(--text-xl);
    color:var(--color-border);
  }
  .card-step h3{font-size:var(--text-md);letter-spacing:0.02em;}
  .card-step p{font-size:var(--text-sm);color:var(--color-ink-soft);}
  .step-rule{height:3px;width:40px;background:var(--color-accent);border-radius:2px;}

  /* ---------- pricing ---------- */
  .pricing-grid{display:flex;gap:var(--space-6);flex-wrap:wrap;align-items:stretch;}
  .pricing-card{
    flex:1 1 320px;
    background:var(--color-dark);
    color:var(--color-dark-ink);
    border-radius:var(--radius-lg);
    padding:var(--space-7);
    display:flex;
    flex-direction:column;
    gap:var(--space-4);
  }
  .pricing-badge{
    align-self:flex-start;
    font-family:var(--font-mono);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:0.08em;
    background:var(--color-accent-soft);
    color:var(--color-accent-dark);
    padding:var(--space-1) var(--space-3);
    border-radius:999px;
  }
  .price-tag{display:flex;align-items:baseline;gap:var(--space-2);}
  .price-number{font-family:var(--font-display);font-size:var(--text-2xl);}
  .price-period{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-dark-ink-soft);}
  .price-desc{color:var(--color-dark-ink-soft);font-size:var(--text-sm);}
  .price-feature-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);}
  .price-feature{
    display:flex;
    align-items:flex-start;
    gap:var(--space-3);
    font-size:var(--text-sm);
  }
  .price-check{width:16px;height:16px;flex:none;color:var(--color-accent-soft);margin-top:3px;}
  .pricing-note-card{
    flex:1 1 320px;
    background:var(--color-surface);
    border:var(--border-w) solid var(--color-border);
    border-radius:var(--radius-lg);
    padding:var(--space-7);
    display:flex;
    flex-direction:column;
    gap:var(--space-4);
  }
  .pricing-note-card h3{font-size:var(--text-md);color:var(--color-ink);}
  .pricing-note-card p{font-size:var(--text-sm);color:var(--color-ink-soft);}
  .fit-row{display:flex;flex-direction:column;gap:var(--space-3);}
  .fit-item{display:flex;align-items:flex-start;gap:var(--space-3);padding-block:var(--space-3);border-top:var(--border-w) solid var(--color-border);font-size:var(--text-sm);color:var(--color-ink);}
  .fit-item:first-child{border-top:none;padding-top:0;}
  .fit-icon{width:17px;height:17px;flex:none;margin-top:2px;}
  .fit-icon-yes{color:var(--color-accent);}
  .fit-icon-no{color:var(--color-danger);}
  .fit-footnote{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-ink-soft);}

  /* ---------- compare table ---------- */
  .compare-scroll{overflow-x:auto;border-radius:var(--radius-md);border:var(--border-w) solid var(--color-border);}
  .compare-table{
    border-collapse:collapse;
    width:100%;
    min-width:680px;
    background:var(--color-surface);
  }
  .compare-table th,.compare-table td{
    text-align:left;
    padding:var(--space-4) var(--space-5);
    border-bottom:var(--border-w) solid var(--color-border);
    vertical-align:top;
    font-size:var(--text-sm);
  }
  .compare-table thead th{
    background:var(--color-dark);
    color:var(--color-dark-ink);
    font-family:var(--font-mono);
    font-size:var(--text-xs);
    letter-spacing:0.05em;
    text-transform:uppercase;
    font-weight:600;
  }
  .compare-table thead th:first-child{color:var(--color-dark-ink-soft);}
  .compare-table thead .col-me{color:var(--color-accent-soft);}
  .compare-row-label{font-weight:700;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0.03em;text-transform:uppercase;color:var(--color-ink-soft);}
  .compare-cell{display:flex;gap:var(--space-2);align-items:flex-start;}
  .compare-mark{width:16px;height:16px;flex:none;margin-top:2px;}
  .mark-yes{color:var(--color-accent);}
  .mark-no{color:var(--color-danger);}
  .mark-mid{color:var(--color-ink-soft);}
  .compare-table tbody tr:last-child td{border-bottom:none;}

  /* ---------- faq ---------- */
  .faq-list{display:flex;flex-direction:column;gap:var(--space-3);max-width:820px;}
  .faq-item{
    background:var(--color-surface);
    border:var(--border-w) solid var(--color-border);
    border-radius:var(--radius-md);
    padding:var(--space-5) var(--space-6);
  }
  .faq-question{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--space-4);
    font-family:var(--font-display);
    font-size:var(--text-md);
    cursor:pointer;
    list-style:none;
  }
  .faq-question::-webkit-details-marker{display:none;}
  .faq-icon{width:18px;height:18px;flex:none;color:var(--color-accent);transition:transform .15s ease;}
  .faq-item[open] .faq-icon{transform:rotate(45deg);}
  .faq-answer{padding-top:var(--space-4);color:var(--color-ink-soft);font-size:var(--text-sm);max-width:68ch;}

  /* ---------- final cta ---------- */
  .cta-final{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-7);
    align-items:center;
    justify-content:space-between;
  }
  .cta-final-copy{flex:1 1 420px;display:flex;flex-direction:column;gap:var(--space-3);}
  .cta-final-copy p{color:var(--color-dark-ink-soft);max-width:52ch;}

  /* ---------- contact ---------- */
  .contact-grid{display:flex;gap:var(--space-8);flex-wrap:wrap;}
  .contact-info{flex:1 1 300px;display:flex;flex-direction:column;gap:var(--space-5);}
  .contact-info p{color:var(--color-ink-soft);font-size:var(--text-sm);}
  .contact-detail{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);}
  .contact-detail-icon{width:16px;height:16px;flex:none;color:var(--color-accent);}
  .contact-form-wrap{
    flex:1 1 420px;
    background:var(--color-surface);
    border:var(--border-w) solid var(--color-border);
    border-radius:var(--radius-lg);
    padding:var(--space-6);
  }
  .mockup-badge{
    display:inline-flex;
    align-items:center;
    gap:var(--space-2);
    font-family:var(--font-mono);
    font-size:10px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--color-danger);
    background:var(--color-danger-soft);
    padding:var(--space-2) var(--space-3);
    border-radius:var(--radius-sm);
    margin-bottom:var(--space-5);
  }
  .contact-form{display:flex;flex-direction:column;gap:var(--space-4);}
  .form-row{display:flex;gap:var(--space-4);flex-wrap:wrap;}
  .form-field{flex:1 1 200px;display:flex;flex-direction:column;gap:var(--space-2);}
  .form-label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.04em;color:var(--color-ink-soft);}
  .form-input,.form-select,.form-textarea{
    font-family:var(--font-body);
    font-size:var(--text-sm);
    padding:var(--space-3) var(--space-4);
    border:var(--border-w) solid var(--color-border);
    border-radius:var(--radius-sm);
    background:var(--color-bg);
    color:var(--color-ink);
    width:100%;
  }
  .form-textarea{resize:vertical;min-height:96px;font-family:var(--font-body);}
  .form-submit{margin-top:var(--space-2);align-self:flex-start;}
  .form-status{font-family:var(--font-mono);font-size:var(--text-xs);min-height:1em;margin:0;}
  .form-status-success{color:var(--color-accent);}
  .form-status-error{color:var(--color-danger);}

  /* ---------- footer ---------- */
  .site-footer{background:var(--color-dark);color:var(--color-dark-ink);}
  .footer-top{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-8);
    padding-block:var(--space-8);
    border-bottom:var(--border-w) solid var(--color-border-dark);
  }
  .footer-brand{flex:1 1 260px;display:flex;flex-direction:column;gap:var(--space-4);}
  .footer-logo{height:32px;width:auto;display:block;}
  .footer-brand p{color:var(--color-dark-ink-soft);font-size:var(--text-sm);max-width:34ch;}
  .footer-col{flex:1 1 160px;display:flex;flex-direction:column;gap:var(--space-3);}
  .footer-col-title{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.06em;color:var(--color-dark-ink-soft);}
  .footer-link{font-size:var(--text-sm);color:var(--color-dark-ink-soft);}
  .footer-link:hover{color:var(--color-dark-ink);}
  .footer-bottom{
    display:flex;
    flex-wrap:wrap;
    gap:var(--space-3);
    justify-content:space-between;
    padding-block:var(--space-5);
    font-family:var(--font-mono);
    font-size:10px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--color-dark-ink-soft);
  }

  /* ================= tablet ================= */
  @media (max-width:1024px){
    .wrap{padding-inline:var(--space-5);}
    .hero-grid{gap:var(--space-6);}
    .about-photo{flex-basis:240px;}
    .cta-final{justify-content:flex-start;}
    .footer-top{gap:var(--space-6);}

    .nav-links,.nav-phone{display:none;}
    .hamburger-btn{display:flex;}
    .menu-toggle:checked ~ .mobile-panel{display:flex;}
    .mobile-panel{
      display:none;
      flex-direction:column;
      gap:var(--space-1);
      padding-block:var(--space-4);
      border-top:var(--border-w) solid var(--color-border);
    }
    .mobile-panel .nav-link{
      display:block;
      padding-block:var(--space-3);
      font-size:var(--text-sm);
      border-bottom:var(--border-w) solid var(--color-border);
    }
    .mobile-panel .btn-primary{margin-top:var(--space-3);justify-content:center;}
  }

  /* ================= mobile ================= */
  @media (max-width:767px){
    .wrap{padding-inline:var(--space-4);}
    .section{padding-block:var(--space-7);}
    .section-tight{padding-block:var(--space-6);}
    .section-head{margin-bottom:var(--space-6);gap:var(--space-3);}

    .hero-grid{flex-direction:column;align-items:stretch;gap:var(--space-7);}
    .hero-heading{font-size:var(--text-2xl);}
    .trust-bar{flex-direction:column;gap:var(--space-3);}
    .btn-row{flex-direction:column;align-items:stretch;}
    .btn-row .btn-primary,.btn-row .btn-secondary{justify-content:center;}

    .banner-inner{flex-direction:row;flex-wrap:wrap;text-align:center;gap:var(--space-2) var(--space-3);padding-block:var(--space-2);}
    .banner-sep,.banner-extra{display:none;}
    .banner-link{width:100%;justify-content:center;margin-top:var(--space-1);}

    .problem-grid,.approach-grid,.about-grid,.contact-grid,.pricing-grid{flex-direction:column;}
    .about-photo{flex-basis:auto;width:100%;max-width:280px;margin-inline:auto;}
    .service-grid,.loop-grid{flex-direction:column;}
    .footer-top{flex-direction:column;gap:var(--space-6);}
    .footer-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-2);}
    .cta-final{flex-direction:column;align-items:flex-start;}
    .cta-final .btn-row{width:100%;}
  }

/* ---------- WordPress-specific housekeeping (not part of the original design) ---------- */
.wp-site-blocks {
  overflow-x: hidden;
}
