:root {
    --green:       #3d7a3a;
    --green-mid:   #4e9a4a;
    --green-light: #eef5ec;
    --green-dark:  #2c5a2a;
    --accent:      #b8d4b5;
    --text:        #1a1a1a;
    --muted:       #6b6b6b;
    --border:      rgba(17,24,39,.10);
    --bg:          #ffffff;
    --soft:        #f7f8f6;
    --warm:        #f4f2ef;
    --max:         1120px;
    --radius:      6px;
    --radius-lg:   10px;
    --shadow-1:    0 2px 12px rgba(0,0,0,.07);
    --shadow-2:    0 8px 32px rgba(0,0,0,.10);
    --ring:        0 0 0 3px rgba(61,122,58,.20);
  }
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;height:auto;display:block;}
  section{scroll-margin-top:90px;}
  .container{width:min(var(--max),calc(100% - 32px));margin:0 auto;}
  @media(min-width:768px){.container{width:min(var(--max),calc(100% - 48px));}}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:var(--radius);font-weight:700;font-size:14px;line-height:1;letter-spacing:.4px;text-transform:uppercase;border:1.5px solid rgba(17,24,39,.18);background:#fff;color:#1a1a1a;box-shadow:var(--shadow-1);cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s,color .16s;-webkit-tap-highlight-color:transparent;}
  .btn:hover{background:var(--soft);border-color:rgba(17,24,39,.28);box-shadow:var(--shadow-2);}
  .btn:active{opacity:.92;}
  .btn:focus-visible{outline:none;box-shadow:var(--ring);}
  .btn.primary{background:var(--green);border-color:var(--green-dark);color:#fff;box-shadow:0 2px 10px rgba(44,90,42,.22);}
  .btn.primary:hover{background:var(--green-dark);box-shadow:0 4px 18px rgba(44,90,42,.28);}
  .btn.secondary{border:1.5px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;backdrop-filter:blur(6px);}
  .btn.secondary:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.65);}
  /* TOPBAR */
  .topbar{background:#fff;border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(0,0,0,.06);position:sticky;top:0;z-index:100;transition:box-shadow .18s;}
  .topbar.is-scrolled{box-shadow:0 2px 16px rgba(0,0,0,.09);}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;}
  .brand{display:flex;align-items:center;gap:12px;}
  .logo{width:48px;height:48px;border-radius:4px;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:#fff;flex-shrink:0;}
  .logo img{width:100%;height:100%;object-fit:contain;}
  .phone{font-weight:700;font-size:14px;color:var(--green-dark);padding:8px 14px;border-radius:var(--radius);background:var(--green-light);border:1px solid var(--accent);display:inline-flex;align-items:center;gap:6px;transition:background .15s;letter-spacing:.1px;}
  .phone:hover{background:#ddeedd;}
  .nav-toggle{width:42px;height:42px;border-radius:var(--radius);border:1px solid rgba(0,0,0,.12);background:#fff;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s;-webkit-tap-highlight-color:transparent;}
  .nav-toggle:hover{background:var(--soft);}
  .nav-toggle span{position:relative;width:20px;height:1.5px;background:#333;border-radius:999px;display:block;transition:transform .18s,opacity .18s;}
  .nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:1.5px;background:#333;border-radius:999px;transition:transform .18s,top .18s;}
  .nav-toggle span::before{top:-6px;}
  .nav-toggle span::after{top:6px;}
  .nav-toggle.is-open span{background:transparent;}
  .nav-toggle.is-open span::before{top:0;transform:rotate(45deg);}
  .nav-toggle.is-open span::after{top:0;transform:rotate(-45deg);}
  .nav-cta{display:flex;align-items:center;gap:10px;white-space:nowrap;}
  .nav-cta .btn{padding:10px 18px;font-size:12px;}
  /* DESKTOP MENU */
  .menu{position:relative;display:flex;align-items:center;justify-content:center;gap:2px;flex:1 1 auto;flex-wrap:wrap;padding:6px 10px;}
  .menu > a{position:relative;padding:8px 14px;border-radius:var(--radius);color:#3a3a3a;font-weight:600;letter-spacing:.2px;text-transform:uppercase;font-size:12.5px;transition:background .15s,color .15s;white-space:nowrap;}
  .menu > a:hover{background:var(--green-light);color:var(--green-dark);}
  .menu > a.active{color:var(--green-dark);background:var(--green-light);font-weight:700;}
  .menu-drop{position:relative;display:inline-flex;align-items:center;}
  .drop-trigger{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:var(--radius);border:none;background:none;color:#3a3a3a;font-weight:600;letter-spacing:.2px;text-transform:uppercase;font-size:12.5px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent;}
  .drop-trigger:hover,.menu-drop.is-open .drop-trigger{background:var(--green-light);color:var(--green-dark);}
  .drop-trigger.active{background:var(--green-light);color:var(--green-dark);font-weight:700;}
  .drop-trigger svg{width:10px;height:10px;flex-shrink:0;transition:transform .2s;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
  .menu-drop.is-open .drop-trigger svg{transform:rotate(180deg);}
  .drop-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:210px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);padding:6px;z-index:200;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;}
  .menu-drop.is-open .drop-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
  .drop-label{display:block;padding:6px 10px 4px;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);}
  .drop-panel a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--radius);font-size:13px;font-weight:600;color:#2a2a2a;transition:background .13s,color .13s;}
  .drop-panel a:hover{background:var(--green-light);color:var(--green-dark);}
  .drop-panel a.active{background:var(--green-light);color:var(--green-dark);}
  .drop-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;}
  .drop-panel a:hover .drop-dot,.drop-panel a.active .drop-dot{background:var(--green);}
  .drop-all{font-size:11px !important;text-transform:uppercase !important;letter-spacing:.5px !important;color:var(--muted) !important;border-bottom:1px solid var(--border) !important;border-radius:0 !important;margin-bottom:4px !important;padding-bottom:10px !important;}
  .drop-all:hover{background:transparent !important;color:var(--green-dark) !important;}
  @media(max-width:900px){.menu,.phone{display:none!important;}.nav-toggle{display:flex;}.call-floater{display:inline-flex;align-items:center;justify-content:center;}}
  @media(min-width:901px){.nav-toggle{display:none;}}
  /* MOBILE NAV */
  .mobile-nav{display:none;margin:8px 0 12px;padding:6px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-2);overflow:hidden;}
  .mobile-nav.is-open{display:block;}
  .mobile-nav > a{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:var(--radius);font-weight:600;font-size:13px;letter-spacing:.3px;text-transform:uppercase;color:#2a2a2a;transition:background .14s,color .14s;position:relative;}
  .mobile-nav > a:not(:last-of-type)::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:1px;background:rgba(17,24,39,.07);}
  .mobile-nav > a:hover{background:var(--green-light);color:var(--green-dark);}
  .mobile-section{border-bottom:1px solid rgba(17,24,39,.07);}
  .mobile-section:last-of-type{border-bottom:none;}
  .mobile-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 14px;background:none;border:none;text-align:left;font-weight:600;font-size:13px;letter-spacing:.3px;text-transform:uppercase;color:#2a2a2a;cursor:pointer;font-family:inherit;transition:background .14s,color .14s;border-radius:var(--radius);-webkit-tap-highlight-color:transparent;}
  .mobile-section-toggle:hover{background:var(--green-light);color:var(--green-dark);}
  .mobile-section-toggle.is-open{color:var(--green-dark);background:var(--green-light);}
  .mobile-section-toggle svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s;flex-shrink:0;}
  .mobile-section-toggle.is-open svg{transform:rotate(180deg);}
  .mobile-sub{max-height:0;overflow:hidden;transition:max-height .28s;padding:0 8px;}
  .mobile-sub.is-open{max-height:360px;padding:0 8px 6px;}
  .mobile-sub a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--radius);font-size:13px;font-weight:600;color:#3a3a3a;transition:background .13s,color .13s;}
  .mobile-sub a:hover{background:var(--green-light);color:var(--green-dark);}
  .mobile-call{display:flex !important;align-items:center;justify-content:center;margin-top:6px;border-radius:var(--radius) !important;background:var(--green) !important;color:#fff !important;font-weight:700;padding:13px 14px;}
  .mobile-call::after{display:none !important;}
  .mobile-call:hover{background:var(--green-dark) !important;}
  /* CALL FLOATER */
  .call-floater{position:fixed;right:16px;bottom:16px;z-index:9999;display:none;padding:13px 18px;border-radius:var(--radius);background:var(--green);color:#fff;font-weight:700;font-size:13px;letter-spacing:.4px;text-transform:uppercase;box-shadow:0 4px 20px rgba(44,90,42,.30);border:1px solid var(--green-dark);}
  .call-floater:hover{background:var(--green-dark);}
  /* SKIP LINK */
  .skip-link{position:absolute;top:-9999px;left:16px;z-index:9999;padding:10px 16px;background:var(--green);color:#fff;font-weight:900;border-radius:8px;}
  .skip-link:focus{top:16px;}
  /* HERO */
  .hero{min-height:clamp(380px,60vh,560px);display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 0;color:#fff;position:relative;}
  .hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,0,0,0) 0%,rgba(0,0,0,.22) 100%);pointer-events:none;}
  .hero .container{position:relative;z-index:1;}
  .hero-brand{display:inline-block;margin:0 auto 16px;padding:5px 16px;border:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.88);font-weight:600;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;}
  .hero h1{margin:0;font-weight:700;letter-spacing:-1px;line-height:1;text-shadow:0 2px 20px rgba(0,0,0,.30);font-size:clamp(32px,8vw,58px);}
  .hero .tagline{margin:14px auto 0;color:var(--accent);font-weight:500;font-size:clamp(14px,3.5vw,17px);letter-spacing:.6px;max-width:68ch;}
  .hero-actions{margin-top:28px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
  /* INTRO */
  .intro{background:#fff;padding:64px 0 48px;border-top:1px solid var(--border);}
  .intro .kicker{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 14px;}
  .intro .kicker::before{content:"";width:28px;height:1.5px;background:var(--green);}
  .intro h2{margin:0 0 16px;color:#1a1a1a;letter-spacing:-.6px;line-height:1.15;font-weight:700;font-size:clamp(26px,5vw,40px);}
  .intro p{margin:0 0 16px;color:var(--muted);font-size:14.5px;line-height:1.85;max-width:78ch;}
  .intro p:last-child{margin-bottom:0;}
  /* CHECKLIST SECTION */
  .checklist-section{background:var(--soft);padding:64px 0;border-top:1px solid var(--border);}
  .checklist-section h2{margin:0 0 28px;font-size:clamp(24px,4.5vw,36px);font-weight:700;letter-spacing:-.5px;color:#1a1a1a;}
  .check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
  @media(max-width:980px){.check-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:600px){.check-grid{grid-template-columns:1fr;}}
  .check-col{background:#fff;padding:28px 24px;}
  .check-col-title{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--green-dark);margin:0 0 12px;display:flex;align-items:center;gap:8px;}
  .check-col-title::before{content:"";width:20px;height:1.5px;background:var(--green);}
  .check-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;}
  .check-col ul li{font-size:13.5px;color:#4a4a4a;line-height:1.5;display:flex;align-items:flex-start;gap:8px;}
  .check-col ul li::before{content:"✓";color:var(--green);font-weight:700;font-size:12px;flex-shrink:0;margin-top:2px;}
  /* CONTENT SECTIONS */
  .content-section{background:#fff;padding:64px 0;border-top:1px solid var(--border);}
  .content-section.alt{background:var(--warm);}
  .content-section h2{margin:0 0 18px;font-size:clamp(22px,4vw,34px);font-weight:700;letter-spacing:-.4px;color:#1a1a1a;line-height:1.2;}
  .content-section p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.85;}
  .content-section p:last-child{margin-bottom:0;}
  .content-section .step-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;}
  .content-section .step-list li{display:flex;align-items:flex-start;gap:14px;font-size:14px;color:#4a4a4a;line-height:1.6;}
  .step-num{width:28px;height:28px;border-radius:var(--radius);background:var(--green-light);border:1px solid var(--accent);display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--green);flex-shrink:0;margin-top:1px;}
  .content-section .bullet-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;}
  .content-section .bullet-list li{font-size:14px;color:#4a4a4a;line-height:1.6;display:flex;align-items:flex-start;gap:10px;}
  .content-section .bullet-list li::before{content:"—";color:var(--green);font-weight:700;flex-shrink:0;margin-top:1px;}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
  @media(max-width:860px){.two-col{grid-template-columns:1fr;gap:32px;}}
  /* SERVICES LIST (location pages) */
  .services-list{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:8px;}
  .svc-row{background:#fff;padding:22px 24px;border-bottom:1px solid var(--border);transition:background .14s;}
  .svc-row:last-child{border-bottom:none;}
  .svc-row:hover{background:var(--green-light);}
  .svc-row h3{margin:0 0 6px;font-size:15px;font-weight:700;color:#1a1a1a;display:flex;align-items:center;gap:10px;}
  .svc-row h3 span.badge{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--green-dark);background:var(--green-light);border:1px solid var(--accent);padding:3px 8px;border-radius:999px;}
  .svc-row p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.7;}
  .svc-row a{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;font-weight:700;color:var(--green-dark);text-transform:uppercase;letter-spacing:.3px;}
  .svc-row a:hover{color:var(--green);}
  /* WHY CARDS */
  .why-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:8px;}
  @media(max-width:860px){.why-cards{grid-template-columns:1fr;}}
  .why-card{background:#fff;padding:28px 24px;transition:background .15s;}
  .why-card:hover{background:var(--green-light);}
  .why-ico{width:38px;height:38px;border-radius:var(--radius);display:grid;place-items:center;font-size:17px;background:var(--green-light);border:1px solid var(--accent);margin-bottom:14px;}
  .why-card h3{margin:0 0 8px;font-size:14px;font-weight:700;color:#1a1a1a;}
  .why-card p{margin:0;color:#5a5a5a;font-size:13.5px;line-height:1.75;}
  /* REVIEW QUOTE */
  .review-quote{border-left:3px solid var(--green);padding:16px 20px;background:var(--green-light);border-radius:0 var(--radius) var(--radius) 0;margin:20px 0;}
  .review-quote p{margin:0 0 6px;font-size:14px;color:#2a2a2a;line-height:1.7;font-style:italic;}
  .review-quote cite{font-size:12px;font-weight:700;color:var(--green-dark);font-style:normal;letter-spacing:.3px;}
  /* FAQ */
  .faq{background:var(--soft);padding:64px 0;border-top:1px solid var(--border);}
  .faq-header{text-align:center;margin-bottom:36px;}
  .faq-header h2{margin:0;font-size:clamp(24px,4.5vw,36px);letter-spacing:-.4px;color:#1a1a1a;font-weight:700;}
  .faq-header p{margin:10px auto 0;color:var(--muted);font-size:14px;max-width:58ch;}
  .faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
  .faq-item{border:none;background:#fff;overflow:hidden;border-bottom:1px solid var(--border);}
  .faq-item:last-child{border-bottom:none;}
  .faq-item:hover{background:var(--soft);}
  .faq-q{width:100%;background:none;border:none;text-align:left;padding:20px 24px;font-size:14.5px;font-weight:700;color:#1a1a1a;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;line-height:1.4;-webkit-tap-highlight-color:transparent;}
  .faq-q:focus-visible{outline:2px solid var(--green);outline-offset:-2px;}
  .faq-icon{flex:0 0 20px;width:20px;height:20px;border-radius:var(--radius);background:var(--green-light);border:1px solid var(--accent);display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--green);transition:transform .2s,background .2s,color .2s;}
  .faq-item.is-open .faq-icon{transform:rotate(45deg);background:var(--green);color:#fff;border-color:var(--green-dark);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .28s,padding .28s;padding:0 24px;color:#555;font-size:14px;line-height:1.8;}
  .faq-item.is-open .faq-a{max-height:500px;padding:0 24px 20px;}
  .faq-a a{color:var(--green-dark);text-decoration:underline;text-underline-offset:2px;}
  /* CTA BAND */
  .cta-band{background:#1c2a1c;color:#fff;padding:56px 0;}
  .cta-band .row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
  .cta-band h2{margin:0;font-size:clamp(22px,4.5vw,36px);letter-spacing:-.4px;font-weight:700;line-height:1.15;max-width:28ch;}
  .cta-band p{margin:10px 0 0;color:rgba(255,255,255,.80);font-size:14px;line-height:1.85;max-width:58ch;}
  .cta-band .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
  .cta-band .btn{border:1.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;box-shadow:none;}
  .cta-band .btn:hover{background:rgba(255,255,255,.16);}
  .cta-band .btn.primary{background:var(--green);border-color:var(--green-dark);color:#fff;box-shadow:0 2px 10px rgba(44,90,42,.22);}
  .cta-band .btn.primary:hover{background:var(--green-dark);}
  @media(max-width:768px){.cta-band .row{flex-direction:column;text-align:center;}}
  /* ECO STRIP */
  .eco-strip{background:#fff;padding:56px 0;border-top:1px solid var(--border);}
  .eco-strip__inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;}
  .eco-strip__logo{width:80px;height:80px;border-radius:999px;background:#fff;border:1px solid rgba(17,24,39,.10);box-shadow:0 6px 18px rgba(0,0,0,.06);display:grid;place-items:center;overflow:hidden;}
  .eco-strip__logo img{width:86%;height:86%;object-fit:contain;}
  .eco-strip__kicker{margin:0;color:var(--green);font-weight:700;font-size:14px;letter-spacing:.3px;}
  .eco-strip__title{margin:0;color:#1a1a1a;font-weight:800;letter-spacing:-1px;line-height:1.05;font-size:clamp(30px,5vw,50px);}
  /* FOOTER */
  .footer{background:#1c2a1c;color:rgba(255,255,255,.75);padding:64px 0 40px;}
  .footer__wrap{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:42px;align-items:start;}
  .footer__brand h3{margin:0 0 14px;font-size:24px;line-height:1.15;letter-spacing:-.4px;color:#fff;font-weight:700;}
  .footer__brand p{margin:0 0 20px;color:rgba(255,255,255,.55);font-size:13.5px;line-height:1.8;max-width:52ch;}
  .footer-social{display:flex;gap:10px;}
  .social-btn{width:38px;height:38px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);font-weight:700;border-radius:var(--radius);border:1px solid rgba(255,255,255,.12);transition:background .14s,color .14s;}
  .social-btn:hover{background:var(--green);color:#fff;border-color:var(--green);}
  .social-btn svg{width:16px;height:16px;display:block;}
  .footer-col h4{margin:0 0 16px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.40);font-weight:600;}
  .footer-col a{display:block;margin:9px 0;color:rgba(255,255,255,.60);font-size:13.5px;transition:color .14s;}
  .footer-col a:hover{color:#fff;}
  .contact-row{display:flex;gap:12px;align-items:flex-start;margin:12px 0;}
  .contact-ico{width:22px;height:22px;display:grid;place-items:center;font-size:14px;opacity:.7;flex:0 0 22px;margin-top:1px;}
  .contact-title{font-weight:600;color:rgba(255,255,255,.8);font-size:12.5px;margin-bottom:2px;}
  .contact-text{color:rgba(255,255,255,.5);font-size:13px;line-height:1.5;}
  .contact-text a{color:rgba(255,255,255,.5);}
  .contact-text a:hover{color:#fff;}
  .footer__bottom{margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:rgba(255,255,255,.35);font-size:12px;}
  .footer__bottom a{color:rgba(255,255,255,.45);}
  .footer__bottom a:hover{color:rgba(255,255,255,.8);}
  @media(max-width:980px){.footer__wrap{grid-template-columns:1fr;text-align:center;justify-items:center;}.footer__brand p{margin-left:auto;margin-right:auto;}.footer-social{justify-content:center;}address.footer-col{width:100%;}.contact-row{width:260px;margin-left:auto;margin-right:auto;text-align:left;justify-content:flex-start;}.footer__bottom{justify-content:center;}}
  /* ABOUT PAGE SPECIFIC */
  .about-founder{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start;}
  @media(max-width:700px){.about-founder{grid-template-columns:1fr;}}
  .founder-img{width:220px;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-2);background:var(--soft);}
  .founder-img img{width:100%;height:100%;object-fit:cover;}
  .founder-body h2{margin:0 0 4px;font-size:clamp(26px,4.5vw,38px);font-weight:700;letter-spacing:-.5px;color:#1a1a1a;}
  .founder-body .founder-title{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 20px;}
  .founder-body p{margin:0 0 14px;color:var(--muted);font-size:14.5px;line-height:1.85;}
  .founder-body .owner-sig{font-size:13px;font-weight:700;color:var(--green-dark);font-style:italic;margin-top:6px;}
  .standard-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:8px;}
  @media(max-width:700px){.standard-cards{grid-template-columns:1fr;}}
  .std-card{background:#fff;padding:28px 24px;transition:background .15s;}
  .std-card:hover{background:var(--green-light);}
  .std-card h3{margin:0 0 8px;font-size:15px;font-weight:700;color:#1a1a1a;display:flex;align-items:center;gap:8px;}
  .std-card p{margin:0;color:#5a5a5a;font-size:13.5px;line-height:1.75;}
  .pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
  .pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius);background:var(--green-light);border:1px solid var(--accent);font-weight:600;font-size:12px;color:var(--green-dark);}

/* ─── MOBILE NAV FIXES ─── */
@media (max-width: 640px) {
  .nav-cta .btn.primary { display: none; }
  .nav-cta { gap: 6px; }
}
@media (max-width: 900px) {
  .mobile-nav > a,
  .mobile-section-toggle { text-align: left; justify-content: space-between; }
  .mobile-sub a:last-child { border-bottom: none; }
}

/* ─── CALCULATOR RESPONSIVE FIXES ─── */
@media (max-width: 540px) {
  .calc-rooms-grid { grid-template-columns: 1fr 1fr !important; }
  .calc-addons-grid { grid-template-columns: 1fr 1fr !important; }
  .calc-contact-pair { grid-template-columns: 1fr !important; }
}
@media (max-width: 380px) {
  .calc-rooms-grid { grid-template-columns: 1fr !important; }
  .calc-addons-grid { grid-template-columns: 1fr !important; }
}

/* ═══ BLOG STYLES (added by build) ═══════════════════════════ */
.post-hero { background: var(--soft); padding: 56px 0 32px; border-bottom: 1px solid var(--border); }
.post-hero .container { max-width: 760px; }
.post-hero .kicker { color: var(--green); font-weight: 700; font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase; margin: 0 0 12px; }
.post-hero h1 { margin: 0 0 14px; font-size: clamp(28px, 5.5vw, 44px); letter-spacing: -.6px; color: #1a1a1a; line-height: 1.15; font-weight: 700; }
.post-hero .post-meta { margin: 0; color: var(--muted); font-size: 13.5px; }
.post-hero .post-meta time { font-weight: 600; }
.post-hero .post-meta .sep { margin: 0 8px; color: var(--accent); }

.post-body { background: #fff; padding: 48px 0 64px; }
.post-body .container { max-width: 720px; }
.post-body p { font-size: 16px; line-height: 1.85; color: #2a2a2a; margin: 0 0 20px; }
.post-body h2 { font-size: clamp(22px, 4vw, 30px); margin: 36px 0 14px; font-weight: 700; letter-spacing: -.4px; color: #1a1a1a; line-height: 1.25; }
.post-body h3 { font-size: clamp(18px, 3vw, 22px); margin: 28px 0 12px; font-weight: 700; color: #1a1a1a; line-height: 1.3; }
.post-body ul, .post-body ol { padding-left: 1.5em; margin: 0 0 20px; color: #2a2a2a; font-size: 16px; line-height: 1.85; }
.post-body li { margin: 0 0 8px; }
.post-body a { color: var(--green-dark); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.post-body a:hover { color: var(--green); }
.post-body strong { font-weight: 700; color: #1a1a1a; }
.post-body em { font-style: italic; }
.post-body blockquote { margin: 24px 0; padding: 16px 24px; border-left: 3px solid var(--green); background: var(--green-light); border-radius: 0 var(--radius) var(--radius) 0; }
.post-body blockquote p { font-size: 15px; color: #2a2a2a; font-style: italic; margin: 0; }
.post-body code { background: var(--soft); padding: 2px 6px; border-radius: 4px; font-size: .9em; font-family: 'SFMono-Regular', Consolas, monospace; }
.post-body pre { background: var(--soft); padding: 16px; border-radius: var(--radius); overflow-x: auto; margin: 0 0 20px; font-size: 13px; line-height: 1.6; }
.post-body img { margin: 24px 0; border-radius: var(--radius-lg); border: 1px solid var(--border); }
.post-body hr { border: 0; border-top: 1px solid var(--border); margin: 36px 0; }
.post-body table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 14.5px; }
.post-body th, .post-body td { padding: 10px 14px; border: 1px solid var(--border); text-align: left; }
.post-body th { background: var(--soft); font-weight: 700; }

.post-footer { background: var(--soft); padding: 40px 0; border-top: 1px solid var(--border); }
.post-footer .container { max-width: 720px; }
.post-footer .author-line { display: flex; align-items: center; gap: 14px; }
.post-footer .author-avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--green-light); border: 1px solid var(--accent); display: grid; place-items: center; font-weight: 700; color: var(--green-dark); flex-shrink: 0; }
.post-footer .author-info { font-size: 13.5px; color: var(--muted); }
.post-footer .author-info strong { color: #1a1a1a; font-size: 14.5px; display: block; }

/* Blog INDEX page */
.blog-index { background: #fff; padding: 56px 0; }
.blog-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 32px; }
@media (max-width: 760px) { .blog-grid { grid-template-columns: 1fr; } }
.blog-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 28px 26px; transition: box-shadow .18s, transform .18s; display: flex; flex-direction: column; }
.blog-card:hover { box-shadow: var(--shadow-2); transform: translateY(-2px); }
.blog-card .blog-card-date { color: var(--green); font-weight: 700; font-size: 11.5px; letter-spacing: 1.2px; text-transform: uppercase; margin: 0 0 12px; }
.blog-card h2 { font-size: 19px; margin: 0 0 12px; color: #1a1a1a; line-height: 1.3; font-weight: 700; letter-spacing: -.3px; }
.blog-card h2 a { color: inherit; }
.blog-card h2 a:hover { color: var(--green-dark); }
.blog-card p { font-size: 14.5px; color: var(--muted); line-height: 1.7; margin: 0 0 18px; flex: 1; }
.blog-card .blog-card-read { font-size: 12.5px; font-weight: 700; color: var(--green-dark); text-transform: uppercase; letter-spacing: .3px; }
.blog-card .blog-card-read::after { content: ' →'; transition: margin-left .16s; }
.blog-card:hover .blog-card-read::after { margin-left: 4px; }

.blog-empty { text-align: center; padding: 48px 0; color: var(--muted); font-size: 14.5px; }
