/*
Theme Name: VA Roofing Studio
Theme URI: https://va-roofingandservices.com/
Author: VA Roofing & Services
Description: Custom lightweight WordPress theme for VA Roofing with editable roofing projects, reviews, hero content, and local SEO foundations.
Version: 1.1.1
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: va-roofing
*/

  /* ===== Tokens ===== */
  :root{
    --charcoal:#101820;
    --charcoal-2:#1a2530;
    --charcoal-3:#232f3c;
    --gold:#F59E0B;
    --gold-deep:#c97d0a;
    --offwhite:#F7F8FA;
    --white:#FFFFFF;
    --text:#17202A;
    --text-muted:#5b6774;
    --line:#e4e7eb;
    --line-dark:#2b3744;
    --shadow:0 20px 40px -20px rgba(16,24,32,0.25);
    --radius-sm:6px;
    --gable:polygon(0 14%, 50% 0, 100% 14%, 100% 100%, 0 100%);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',system-ui,sans-serif;
    color:var(--text);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
    line-height:1.6;
  }
  h1,h2,h3,h4{
    font-family:'Manrope',sans-serif;
    color:var(--charcoal);
    line-height:1.15;
    margin:0 0 .5em;
    letter-spacing:-0.01em;
  }
  p{margin:0 0 1em;color:var(--text-muted);}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  ul{margin:0;padding:0;list-style:none;}
  button{font-family:inherit;cursor:pointer;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  section{padding:96px 0;}
  @media(max-width:700px){section{padding:64px 0;}}

  /* focus states */
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
    outline:2px solid var(--gold-deep);outline-offset:2px;
  }

  /* ===== roofline mark (signature device, replaces eyebrow labels) ===== */
  .mark{display:inline-flex;align-items:flex-end;gap:6px;margin-bottom:18px;}
  .mark svg{width:34px;height:22px;flex-shrink:0;}
  .mark span{font-size:13px;font-weight:600;color:var(--gold-deep);letter-spacing:0.02em;}
  .mark.on-dark span{color:var(--gold);}

  .section-head{max-width:640px;margin-bottom:56px;}
  .section-head h2{font-size:clamp(28px,3.4vw,42px);}
  .section-head p{font-size:17px;max-width:560px;}

  /* ===== buttons ===== */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    padding:16px 30px;border-radius:var(--radius-sm);font-weight:700;font-size:15px;
    border:2px solid transparent;transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-gold{background:var(--gold);color:var(--charcoal);}
  .btn-gold:hover{background:var(--gold-deep);box-shadow:0 12px 24px -8px rgba(245,158,11,0.55);}
  .btn-outline{border-color:rgba(255,255,255,0.5);color:var(--white);}
  .btn-outline:hover{border-color:var(--white);background:rgba(255,255,255,0.08);}
  .btn-dark{background:var(--charcoal);color:var(--white);}
  .btn-dark:hover{background:var(--charcoal-2);}
  .btn-ghost{border-color:var(--charcoal);color:var(--charcoal);}
  .btn-ghost:hover{background:var(--charcoal);color:var(--white);}
  .btn-sm{padding:11px 20px;font-size:13.5px;}

  /* ===== nav ===== */
  header.nav{
    position:sticky;top:0;z-index:60;background:rgba(255,255,255,0.94);
    backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
    transition:box-shadow .2s ease;
  }
  header.nav.scrolled{box-shadow:0 8px 24px -16px rgba(16,24,32,0.25);}
  .nav-row{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
  .logo{display:flex;align-items:center;gap:10px;font-family:'Manrope',sans-serif;font-weight:800;font-size:18px;color:var(--charcoal);}
  .logo svg,.logo img.logo-icon{width:34px;height:32px;flex-shrink:0;object-fit:contain;}
  .logo small{display:block;font-family:'Inter';font-weight:600;font-size:10.5px;letter-spacing:0.08em;color:var(--gold-deep);}
  nav.primary{display:flex;gap:30px;}
  nav.primary a{font-size:14.5px;font-weight:600;color:var(--text);position:relative;padding:4px 0;}
  nav.primary a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);transition:width .2s ease;}
  nav.primary a:hover::after{width:100%;}
  .nav-actions{display:flex;align-items:center;gap:18px;}
  .nav-phone{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;color:var(--charcoal);}
  .nav-phone svg{width:17px;height:17px;color:var(--gold-deep);}
  .hamburger{display:none;background:none;border:none;padding:6px;}
  .hamburger svg{width:26px;height:26px;}
  .mobile-panel{display:none;}

  @media(max-width:1450px){
    nav.primary{display:none;}
    .nav-phone span{display:none;}
    .hamburger{display:block;}
  }
  @media(max-width:1450px){
    .mobile-panel{
      display:block;position:fixed;inset:0 0 0 auto;width:min(320px,84vw);height:100vh;
      background:var(--charcoal);transform:translateX(100%);transition:transform .3s ease;
      z-index:70;padding:26px 24px;overflow-y:auto;
    }
    .mobile-panel.open{transform:translateX(0);}
    .mobile-panel a{display:block;color:var(--white);font-weight:600;font-size:16px;padding:14px 0;border-bottom:1px solid var(--line-dark);}
    .mobile-panel .close-x{background:none;border:none;color:var(--white);margin-bottom:20px;}
    .mobile-panel .close-x svg{width:24px;height:24px;}
    .mobile-scrim{display:none;position:fixed;inset:0;background:rgba(16,24,32,0.5);z-index:65;}
    .mobile-scrim.open{display:block;}
  }

  /* mobile sticky conversion bar */
  .mobile-cta-bar{display:none;}
  @media(max-width:960px){
    .mobile-cta-bar{
      display:flex;position:fixed;bottom:0;left:0;right:0;z-index:55;
      border-top:1px solid var(--line-dark);
    }
    .mobile-cta-bar a{flex:1;text-align:center;padding:15px 10px;font-weight:700;font-size:14px;}
    .mobile-cta-bar a.call{background:var(--charcoal);color:var(--white);}
    .mobile-cta-bar a.est{background:var(--gold);color:var(--charcoal);}
    body{padding-bottom:54px;}
  }

  /* ===== hero ===== */
  .hero{
    position:relative;background:var(--charcoal);color:var(--white);
    padding:0;overflow:hidden;
  }
  .hero-inner{
    max-width:1180px;margin:0 auto;padding:96px 24px 150px;position:relative;z-index:3;
    display:grid;grid-template-columns:1.05fr 0.95fr;gap:40px;align-items:center;
  }
  @media(max-width:900px){.hero-inner{grid-template-columns:1fr;padding-top:56px;padding-bottom:110px;}}
  .hero-copy h1{color:var(--white);font-size:clamp(34px,5vw,58px);max-width:620px;}
  .hero-copy p.lead{color:rgba(255,255,255,0.75);font-size:18px;max-width:480px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 40px;}
  .trust-bar{display:flex;flex-wrap:wrap;gap:22px 34px;padding-top:26px;border-top:1px solid rgba(255,255,255,0.15);}
  .trust-bar li{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,0.85);}
  .trust-bar svg{width:17px;height:17px;color:var(--gold);flex-shrink:0;}

  .hero-art{position:relative;}
  .hero-photo-frame{position:relative;border:1px solid rgba(255,255,255,0.16);padding:10px;background:rgba(255,255,255,0.03);}
  .hero-photo-frame img{width:100%;height:340px;object-fit:cover;display:block;}
  .hero-photo-tag{
    position:absolute;top:24px;left:24px;background:var(--gold);color:var(--charcoal);
    font-size:11.5px;font-weight:700;padding:6px 12px;letter-spacing:0.02em;
  }
  @media(max-width:900px){.hero-photo-frame img{height:260px;}}

  .hero-bottom-notch{
    position:absolute;left:0;right:0;bottom:-1px;height:90px;background:var(--offwhite);
    clip-path:polygon(0 100%, 0 45%, 8% 30%, 16% 45%, 24% 20%, 32% 45%, 40% 25%, 48% 45%, 56% 15%, 64% 45%, 72% 28%, 80% 45%, 88% 22%, 96% 45%, 100% 30%, 100% 100%);
    z-index:2;
  }

  /* ===== services ===== */
  .services{background:var(--offwhite);}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  @media(max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.svc-grid{grid-template-columns:1fr;}}
  .svc-card{
    background:var(--white);border:1px solid var(--line);
    transition:box-shadow .2s ease, transform .2s ease;
  }
  .svc-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);}
  .svc-top{
    height:150px;position:relative;display:flex;align-items:flex-end;justify-content:flex-start;padding:14px;
    clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);
    background-color:var(--charcoal);background-size:cover;background-position:center;
  }
  .svc-top::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(16,24,32,0.1) 0%, rgba(16,24,32,0.65) 100%);
  }
  .svc-icon{
    position:relative;z-index:2;width:40px;height:40px;border-radius:50%;
    background:rgba(16,24,32,0.65);border:1px solid rgba(255,255,255,0.25);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .svc-icon svg{width:19px;height:19px;color:var(--gold);}
  .svc-body{padding:26px 26px 24px;}
  .svc-body h3{font-size:19px;margin-bottom:8px;}
  .svc-body p{font-size:14.5px;margin-bottom:16px;}
  .svc-more{
    display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--gold-deep);
    background:none;border:none;padding:0;
  }
  .svc-more svg{width:14px;height:14px;transition:transform .2s ease;}
  .svc-card[open] .svc-more svg{transform:rotate(90deg);}
  .svc-detail-wrap{
    max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .svc-card[open] .svc-detail-wrap{max-height:200px;}
  .svc-detail{font-size:14px;color:var(--text-muted);margin:0;padding:0 26px 26px;border-top:1px dashed var(--line);padding-top:14px;}
  details.svc-card summary{list-style:none;cursor:pointer;}
  details.svc-card summary::-webkit-details-marker{display:none;}

  /* ===== trust / why section ===== */
  .why{background:var(--charcoal);color:var(--white);position:relative;}
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
  @media(max-width:860px){.why-grid{grid-template-columns:1fr;gap:36px;}}
  .why h2{color:var(--white);font-size:clamp(28px,3.4vw,40px);}
  .why-lead{color:rgba(255,255,255,0.7);font-size:17px;max-width:460px;}
  .why-list{display:flex;flex-direction:column;gap:0;}
  .why-item{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line-dark);}
  .why-item:first-child{padding-top:0;}
  .why-item .num{font-family:'Manrope';font-weight:800;font-size:14px;color:var(--gold);width:26px;flex-shrink:0;padding-top:2px;}
  .why-item h4{color:var(--white);font-size:16.5px;margin-bottom:5px;}
  .why-item p{color:rgba(255,255,255,0.62);font-size:14.5px;margin:0;}
  .why-cta{margin-top:34px;}

  /* ===== badge strip ===== */
  .badge-strip{background:var(--white);padding:44px 0;border-bottom:1px solid var(--line);}
  .badge-label{text-align:center;font-size:12.5px;font-weight:700;color:var(--text-muted);letter-spacing:0.04em;margin-bottom:22px;}
  .badge-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:36px;}
  .badge-row img{height:40px;width:auto;object-fit:contain;filter:grayscale(1);opacity:0.6;transition:opacity .2s ease,filter .2s ease;}
  .badge-row img:hover{filter:grayscale(0);opacity:1;}
  @media(max-width:700px){.badge-row{gap:22px;}.badge-row img{height:32px;}}

  /* ===== process ===== */
  .process{background:var(--white);}
  .proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;}
  @media(max-width:800px){.proc-grid{grid-template-columns:1fr;}}
  .proc-step{position:relative;padding:0 30px 0 0;}
  .proc-step:not(:last-child)::after{
    content:"";position:absolute;top:26px;right:-2px;width:calc(100% - 60px);height:2px;
    background-image:linear-gradient(to right, var(--line) 0 8px, transparent 8px 16px);
    background-size:16px 2px;background-repeat:repeat-x;
  }
  @media(max-width:800px){.proc-step:not(:last-child)::after{display:none;}.proc-step{padding:0 0 40px 0;}}
  .proc-num{
    width:52px;height:52px;border-radius:50%;background:var(--charcoal);color:var(--gold);
    display:flex;align-items:center;justify-content:center;font-family:'Manrope';font-weight:800;font-size:19px;
    margin-bottom:22px;
  }
  .proc-step h3{font-size:19px;margin-bottom:8px;}
  .proc-step p{font-size:14.5px;}

  /* ===== gallery ===== */
  .gallery{background:var(--offwhite);}
  .gal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
  @media(max-width:760px){.gal-grid{grid-template-columns:1fr;}}
  .gal-card{background:var(--white);border:1px solid var(--line);overflow:hidden;}
  .gal-photo{height:230px;position:relative;overflow:hidden;background:var(--charcoal-2);}
  .gal-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .gal-tag{position:absolute;top:14px;left:14px;background:var(--gold);color:var(--charcoal);font-size:11.5px;font-weight:700;padding:5px 10px;letter-spacing:0.02em;z-index:2;}
  .gal-body{padding:22px 24px 26px;}
  .gal-body h3{font-size:17px;margin-bottom:4px;}
  .gal-body p.loc{color:var(--gold-deep);font-weight:600;font-size:13px;margin-bottom:10px;}
  .gal-body p.desc{font-size:14px;margin:0;}

  /* before/after slider */
  .ba{position:relative;height:230px;overflow:hidden;cursor:ew-resize;background:var(--charcoal-2);}
  .ba-layer{position:absolute;inset:0;}
  .ba-layer img{width:100%;height:100%;object-fit:cover;display:block;}
  .ba-after{clip-path:polygon(0 0,50% 0,50% 100%,0 100%);}
  .ba-label{position:absolute;bottom:10px;font-size:11px;font-weight:700;letter-spacing:0.06em;color:#fff;background:rgba(16,24,32,0.55);padding:3px 9px;z-index:2;left:10px;}
  .ba-after .ba-label{left:auto;right:10px;}
  .ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--gold);transform:translateX(-50%);z-index:3;}
  .ba-handle::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--gold);}
  .ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0;}

  /* ===== reviews ===== */
  .reviews{background:var(--white);}
  .rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-bottom:34px;}
  @media(max-width:760px){.rev-grid{grid-template-columns:1fr;}}
  .rev-card{background:var(--offwhite);border-left:3px solid var(--gold);padding:32px;}
  .stars{color:var(--gold);letter-spacing:2px;font-size:16px;margin-bottom:16px;}
  .rev-card p.quote{font-size:16.5px;color:var(--text);font-family:'Manrope';font-weight:500;line-height:1.5;margin-bottom:18px;}
  .rev-card .who{font-size:14px;font-weight:700;color:var(--text);margin:0;}
  .who-row{display:flex;align-items:center;gap:10px;}
  .who-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--white);border:1px solid var(--line);}
  .src{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted);}
  .google-cta{
    display:flex;align-items:center;gap:16px;max-width:560px;margin:0 auto;padding:22px 26px;
    background:var(--offwhite);border:1px solid var(--line);transition:box-shadow .2s ease, transform .2s ease;
  }
  .google-cta:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
  .gc-text{display:flex;flex-direction:column;gap:2px;flex:1;}
  .gc-text strong{font-family:'Manrope';font-size:15.5px;color:var(--charcoal);}
  .gc-text small{font-size:13px;color:var(--text-muted);}
  .gc-arrow{width:18px;height:18px;color:var(--gold-deep);flex-shrink:0;}

  /* ===== service areas ===== */
  .areas{background:var(--charcoal);color:var(--white);}
  .areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  @media(max-width:860px){.areas-grid{grid-template-columns:1fr;gap:36px;}}
  .areas h2{color:var(--white);}
  .area-list{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;margin-top:26px;}
  .area-list li{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;padding:10px 0;border-bottom:1px solid var(--line-dark);}
  .area-list svg{width:14px;height:14px;color:var(--gold);flex-shrink:0;}
  .area-more{color:rgba(255,255,255,0.55);font-size:13.5px;margin-top:16px;}
  .map-art{width:100%;height:auto;}

  /* ===== FAQ ===== */
  .faq{background:var(--offwhite);}
  .faq-list{max-width:760px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    padding:22px 4px;font-family:'Manrope';font-weight:700;font-size:16.5px;color:var(--charcoal);
    cursor:pointer;list-style:none;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item .plus{width:22px;height:22px;flex-shrink:0;position:relative;}
  .faq-item .plus::before,.faq-item .plus::after{content:"";position:absolute;background:var(--gold-deep);border-radius:1px;}
  .faq-item .plus::before{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%);}
  .faq-item .plus::after{left:50%;top:0;height:100%;width:2px;transform:translateX(-50%);transition:opacity .15s ease;}
  .faq-item[open] .plus::after{opacity:0;}
  .faq-item p{padding:0 4px 22px;font-size:15px;max-width:640px;}

  /* ===== estimate form ===== */
  .estimate{background:var(--charcoal);color:var(--white);}
  .est-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;}
  @media(max-width:900px){.est-grid{grid-template-columns:1fr;gap:34px;}}
  .estimate h2{color:var(--white);}
  .estimate .lead{color:rgba(255,255,255,0.7);font-size:16.5px;}
  .est-call{margin-top:30px;padding-top:26px;border-top:1px solid var(--line-dark);}
  .est-call p{color:rgba(255,255,255,0.6);font-size:14px;margin-bottom:8px;}
  .est-call a{display:flex;align-items:center;gap:10px;font-family:'Manrope';font-weight:800;font-size:24px;color:var(--white);}
  .est-call svg{width:22px;height:22px;color:var(--gold);}

  form.est-form{background:var(--white);padding:34px;border-radius:var(--radius-sm);}
  .f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:520px){.f-row{grid-template-columns:1fr;}}
  .f-group{margin-bottom:16px;}
  .f-group label{display:block;font-size:13px;font-weight:700;color:var(--charcoal);margin-bottom:6px;}
  .f-group input,.f-group select,.f-group textarea{
    width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
    font-family:'Inter';font-size:14.5px;color:var(--text);background:var(--white);
  }
  .f-group input:focus,.f-group select:focus,.f-group textarea:focus{border-color:var(--gold-deep);outline:none;}
  .f-group textarea{resize:vertical;min-height:90px;}
  .photo-note{
    display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius-sm);
    padding:16px 18px;background:var(--offwhite);
  }
  .photo-note svg{width:20px;height:20px;color:var(--gold-deep);flex-shrink:0;margin-top:2px;}
  .photo-note p{font-size:13.5px;margin:0;color:var(--text-muted);}
  .photo-note a{color:var(--gold-deep);font-weight:600;}
  .est-form .btn{width:100%;margin-top:6px;}
  .form-note{font-size:12px;color:var(--text-muted);margin-top:12px;text-align:center;}
  .form-status{font-size:13.5px;font-weight:600;margin-top:14px;text-align:center;min-height:0;}
  .form-status.success{color:#1c7a3f;}
  .form-status.error{color:#b3261e;}

  /* ===== final cta ===== */
  .final-cta{
    background:linear-gradient(135deg,var(--charcoal) 0%,#1c2733 100%);color:var(--white);text-align:left;
    position:relative;overflow:hidden;
  }
  .final-cta::after{
    content:"";position:absolute;right:-60px;top:-60px;width:320px;height:320px;border-radius:50%;
    background:radial-gradient(circle,rgba(245,158,11,0.14),transparent 70%);
  }
  .fc-inner{position:relative;z-index:2;max-width:640px;}
  .final-cta h2{color:var(--white);font-size:clamp(28px,3.6vw,40px);}
  .final-cta p{color:rgba(255,255,255,0.72);font-size:17px;}
  .fc-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}

  /* ===== footer ===== */
  footer{background:#0b1117;color:rgba(255,255,255,0.65);padding:72px 0 28px;font-size:14px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--line-dark);}
  @media(max-width:800px){.foot-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:520px){.foot-grid{grid-template-columns:1fr;}}
  .foot-logo{display:flex;align-items:center;gap:10px;font-family:'Manrope';font-weight:800;font-size:17px;color:var(--white);margin-bottom:14px;}
  .foot-logo svg,.foot-logo img.logo-icon{width:30px;height:28px;object-fit:contain;}
  footer h5{color:var(--white);font-family:'Manrope';font-size:13.5px;letter-spacing:0.03em;margin-bottom:16px;}
  footer ul li{margin-bottom:10px;}
  footer ul li a:hover{color:var(--gold);}
  .foot-social{display:flex;gap:10px;margin-top:18px;}
  .foot-social a{width:34px;height:34px;border:1px solid var(--line-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;}
  .foot-social a:hover{border-color:var(--gold);color:var(--gold);}
  .foot-social svg{width:15px;height:15px;}
  .foot-bottom{padding-top:22px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;font-size:12.5px;color:rgba(255,255,255,0.4);}
  .foot-bottom .legal-links{display:flex;gap:18px;}
  .foot-bottom a:hover{color:var(--gold);}
  .placeholder-note{color:rgba(255,255,255,0.35);font-style:italic;}

  /* reveal-on-scroll (single orchestrated moment, hero only + light section fade) */
  .reveal{opacity:0;transform:translateY(16px);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;}
    html{scroll-behavior:auto;}
  }

/* 2026 refresh: brighter spacing, modern depth and typography */
:root{--gold:#e8a32c;--gold-deep:#a96707;--radius-sm:12px;--shadow:0 18px 45px rgba(16,24,32,.12)}
.hero{background:radial-gradient(ellipse at 85% 20%,#31465a 0%,#101820 54%)}
.hero-inner{padding-top:110px;padding-bottom:150px;gap:65px}
.hero-photo-frame{border-radius:20px;overflow:hidden;padding:8px;box-shadow:0 24px 65px rgba(0,0,0,.24)}
.hero-photo-frame img{height:410px;border-radius:12px}
.svc-card,.gal-card,.rev-card{border-radius:16px;overflow:hidden}
.svc-card:hover,.gal-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.gal-card{transition:box-shadow .2s,transform .2s}
.gal-photo{height:255px}
.section-head h2{letter-spacing:-.035em}
.btn{box-shadow:0 6px 20px rgba(0,0,0,.08)}
.wp-projects-empty{grid-column:1/-1;padding:35px;border:1px dashed var(--line);border-radius:14px;background:#fff}
.wp-projects-empty p{margin:0}
.wp-admin-bar header.nav{top:32px}
@media(max-width:782px){.wp-admin-bar header.nav{top:46px}}
@media(max-width:900px){.hero-inner{padding-top:64px;gap:32px}.hero-photo-frame img{height:300px}}
@media(max-width:600px){.hero-photo-frame img{height:240px}}

/* Permanent responsive refinements */
.skip-link{position:absolute;left:16px;top:-100px;z-index:10000;background:white;padding:12px}.skip-link:focus{top:12px}
.brand-link{display:block;flex:0 0 240px;width:240px;height:76px}.va-brand-art{display:block;width:240px;height:76px;background:url('assets/images/brand-artwork.png') no-repeat -765px -397px/1382.4px 921.6px}
.custom-logo-link{display:block;flex-shrink:0}.custom-logo{max-width:240px;max-height:76px;width:auto;height:auto;object-fit:contain}
.nav-row{max-width:1440px;gap:24px}.nav-phone,.primary a{white-space:nowrap}nav.primary{gap:18px}nav.primary a{font-size:13px}
.hero h1{font-size:clamp(36px,4.2vw,60px);line-height:1.12;letter-spacing:-1.4px}.hero-inner{padding-top:80px;padding-bottom:90px;gap:48px}.hero-bottom-notch{display:none}
.btn{border-radius:8px;min-height:48px}section[id]{scroll-margin-top:110px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b77900;outline-offset:4px}
.why-grid,.est-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why-grid>*,.est-grid>*,.hero-inner>*,.wrap>*{min-width:0}
.est-form input,.est-form select,.est-form textarea{font-size:16px;min-height:48px;max-width:100%}.est-form textarea{min-height:130px}
.service-estimate{display:inline-block;margin:0 24px 24px;color:#8a5607;font-weight:700}.rev-card blockquote{margin:0 0 20px}.foot-social a{min-height:44px;min-width:44px}
.mobile-panel:not(.open){visibility:hidden}.mobile-panel.open{visibility:visible}.mobile-panel{max-width:90vw}.admin-bar header.nav{top:32px}
@media(max-width:1450px){#siteNav .primary{display:none!important}#siteNav .hamburger{display:flex!important}#siteNav .nav-row{justify-content:space-between}}
@media(max-width:900px){.why-grid,.est-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:782px){.admin-bar header.nav{top:46px}}
@media(max-width:767px){.nav-row{padding:10px 18px;gap:12px}.brand-link{flex-basis:192px;width:192px;height:61px}.va-brand-art{width:192px;height:61px;background-size:1105.92px 737.28px;background-position:-612px -317.6px}.custom-logo{max-width:192px;max-height:61px}.nav-phone{display:none}.nav-actions{gap:8px}.nav-actions .btn{font-size:11px;padding:12px;min-height:44px}.hero-inner{display:grid;grid-template-columns:minmax(0,1fr);padding:46px 22px 52px;gap:30px}.hero h1{font-size:38px;letter-spacing:-1px}.hero .lead{font-size:17px}.hero .btn{width:100%;justify-content:center}.f-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.wrap{padding-left:22px;padding-right:22px}.why-cta .btn,.est-form .btn{white-space:normal;text-align:center;width:100%;padding-left:12px;padding-right:12px}.est-form{padding:22px}.est-call a{font-size:24px}section[id]{scroll-margin-top:100px}body{padding-bottom:60px}}
@media(max-width:440px){.nav-actions>.btn{display:none}.hero h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

.brand-upload-link{display:block;flex-shrink:0}.brand-uploaded{width:auto;max-width:240px;max-height:76px;object-fit:contain}@media(max-width:767px){.brand-uploaded{max-width:192px;max-height:61px}}
