/* James Concern Limited — extracted stylesheet (cacheable across pages) */
    :root {
      --green-dark:#10261d;--green-mid:#1f5c43;--green-light:#3f8f68;
      --teal:#a8551f;--teal-light:#e2884f;--cream:#f6f2e8;
      --white:#ffffff;--text-dark:#1c231e;--text-muted:#5c6a5f;--border:#ddd4c0;--mono:'IBM Plex Mono',monospace;
    }
    *{margin:0;padding:0;box-sizing:border-box;}
    html{scroll-behavior:smooth;}
    body{font-family:'Inter',sans-serif;background:var(--cream);color:var(--text-dark);overflow-x:hidden;}

    /* NAV */
    nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,0.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:0 5%;display:flex;align-items:center;justify-content:space-between;height:70px;transition:box-shadow .25s;}
    nav.scrolled{box-shadow:0 4px 24px rgba(16,38,29,.1);}
    .nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
    .nav-logo-icon{width:44px;height:44px;}
    .nav-logo-name{font-family:'Fraunces',serif;font-size:16px;font-weight:700;color:var(--green-dark);line-height:1.1;}
    .nav-logo-tagline{font-size:10px;color:var(--teal);font-weight:400;letter-spacing:.5px;}
    .nav-links{display:flex;list-style:none;gap:32px;align-items:center;}
    .nav-links a{text-decoration:none;font-size:14px;font-weight:500;color:var(--text-muted);transition:color .2s;}
    .nav-links a:hover,.nav-links a.active{color:var(--green-mid);}
    .nav-cta{background:var(--green-mid)!important;color:var(--white)!important;padding:9px 22px;border-radius:6px;font-weight:600!important;}
    .nav-cta:hover{background:var(--green-dark)!important;}
    .nav-call{background:var(--cream);border:1.5px solid var(--border);color:var(--green-dark)!important;padding:8px 16px;border-radius:6px;font-weight:700!important;font-size:13px!important;white-space:nowrap;}
    .nav-call:hover{background:var(--green-light);border-color:var(--green-light);color:#fff!important;}
    @media(max-width:900px){.nav-call{display:none;}}
    .whatsapp-float{position:fixed;bottom:24px;right:24px;background:#25D366;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.25);z-index:200;transition:transform .2s;}
    .whatsapp-float:hover{transform:scale(1.08);}

    /* PAGE HERO (used on About/Services/Products/Contact — shorter than home hero) */
    .page-hero{background:linear-gradient(135deg,var(--green-dark) 0%,var(--teal) 60%,var(--green-light) 100%);padding:150px 5% 70px;text-align:center;position:relative;overflow:hidden;}
    .page-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;}
    .page-hero-content{position:relative;max-width:760px;margin:0 auto;}
    .page-hero h1{font-family:'Fraunces',serif;font-size:clamp(30px,5vw,52px);color:#fff;margin-bottom:14px;}
    .page-hero p{color:rgba(255,255,255,.82);font-size:16px;max-width:600px;margin:0 auto;line-height:1.7;}
    .breadcrumb{position:relative;margin-bottom:18px;font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.7);}
    .breadcrumb a{color:rgba(255,255,255,.85);text-decoration:none;}
    .breadcrumb a:hover{text-decoration:underline;}

    /* HOME HERO */
    .hero{min-height:100vh;background:linear-gradient(135deg,var(--green-dark) 0%,var(--teal) 60%,var(--green-light) 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:100px 5% 60px;}
    .hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;}
    .hero-content{position:relative;text-align:center;max-width:860px;animation:fadeUp .9s ease both;}
    @keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
    .hero-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:var(--white);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:7px 20px;border-radius:50px;margin-bottom:28px;}
    .hero h1{font-family:'Fraunces',serif;font-size:clamp(36px,6vw,72px);color:var(--white);line-height:1.1;margin-bottom:22px;font-weight:700;}
    .hero h1 span{color:var(--teal-light);}
    .hero-sub{font-size:18px;color:rgba(255,255,255,.82);max-width:600px;margin:0 auto 44px;line-height:1.7;}
    .hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
    .btn-primary{background:var(--teal);color:#fff;padding:15px 38px;border-radius:4px;font-weight:700;font-size:14px;letter-spacing:.3px;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 6px 24px rgba(0,0,0,.25);display:inline-block;}
    .btn-primary:hover{transform:translateY(-2px);background:var(--teal-light);box-shadow:0 10px 32px rgba(0,0,0,.3);}
    .btn-outline{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.5);padding:14px 36px;border-radius:4px;font-weight:600;font-size:14px;letter-spacing:.3px;text-decoration:none;transition:background .2s,border-color .2s;display:inline-block;}
    .btn-outline:hover{background:rgba(255,255,255,.1);}
    .hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);animation:bounce 2s infinite;color:rgba(255,255,255,.6);font-size:24px;}
    @keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

    /* SECTIONS */
    section{padding:80px 5%;}
    .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
    .reveal.in-view{opacity:1;transform:translateY(0);}
    .section-label{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
    .section-label::before{content:'';width:22px;height:1px;background:var(--teal);display:inline-block;}
    .section-title{font-family:'Fraunces',serif;font-size:clamp(28px,4vw,44px);color:var(--green-dark);line-height:1.2;margin-bottom:18px;}
    .section-desc{font-size:16px;color:var(--text-muted);max-width:560px;line-height:1.75;}

    /* ABOUT */
    .about{background:var(--white);}
    .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:1100px;margin:0 auto;}
    .about-card{background:linear-gradient(135deg,var(--green-dark),var(--teal));border-radius:16px;padding:50px 40px;color:var(--white);position:relative;overflow:hidden;}
    .about-card-big{font-family:'Fraunces',serif;font-size:56px;font-weight:700;color:var(--teal-light);line-height:1;margin-bottom:6px;}
    .about-card-label{font-size:13px;opacity:.8;font-weight:500;}
    .about-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;}
    .about-stat{background:rgba(255,255,255,.1);border-radius:10px;padding:18px 16px;border:1px solid rgba(255,255,255,.15);}
    .about-stat-num{font-family:'Fraunces',serif;font-size:28px;font-weight:700;color:var(--white);}
    .about-stat-label{font-size:12px;opacity:.75;margin-top:3px;}
    .about-values{display:flex;flex-direction:column;gap:16px;margin-top:32px;}
    .about-value{display:flex;align-items:flex-start;gap:14px;}
    .about-value-icon{width:40px;height:40px;border-radius:8px;background:var(--green-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;}
    .about-value-text h4{font-weight:600;font-size:15px;color:var(--green-dark);margin-bottom:3px;}
    .about-value-text p{font-size:13px;color:var(--text-muted);line-height:1.5;}

    /* SERVICES */
    .services{background:var(--cream);}
    .services-header{text-align:center;max-width:600px;margin:0 auto 56px;}
    .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:1100px;margin:0 auto;}
    .service-card{background:var(--white);border-radius:14px;padding:36px 28px;border:1px solid var(--border);transition:transform .25s,box-shadow .25s,border-color .25s;cursor:default;}
    .service-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(26,71,49,.12);border-color:var(--green-light);}
    .service-icon{font-size:36px;margin-bottom:18px;display:block;}
    .service-card h3{font-family:'Fraunces',serif;font-size:20px;color:var(--green-dark);margin-bottom:10px;}
    .service-card p{font-size:14px;color:var(--text-muted);line-height:1.65;}

    /* TRUST BAR */
    .trust-bar{background:var(--green-dark);display:flex;flex-wrap:wrap;justify-content:center;gap:0;}
    .trust-item{color:#fff;font-size:12.5px;font-weight:600;padding:14px 24px;border-right:1px solid rgba(255,255,255,.15);white-space:nowrap;}
    .trust-item:last-child{border-right:none;}
    @media(max-width:900px){.trust-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.15);width:100%;text-align:center;}}

    /* PRODUCTS */
    .products{background:var(--white);}
    .products-header{text-align:center;max-width:640px;margin:0 auto 40px;}
    .cat-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:44px;}
    .cat-tab{background:var(--cream);border:1.5px solid var(--border);color:var(--text-muted);padding:10px 20px;border-radius:50px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;}
    .cat-tab:hover{border-color:var(--green-light);color:var(--green-dark);}
    .cat-tab.active{background:var(--green-mid);border-color:var(--green-mid);color:#fff;}
    .product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;max-width:1150px;margin:0 auto;}
    .product-card{background:#fff;border:1px solid var(--border);border-top:3px solid var(--green-dark);border-radius:6px;padding:26px 22px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column;position:relative;}
    .product-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(16,38,29,.14);border-top-color:var(--teal);}
    .product-icon{font-size:32px;margin-bottom:14px;}
    .product-card h4{font-family:'Fraunces',serif;font-size:17px;color:var(--green-dark);margin-bottom:4px;}
    .product-model{font-family:var(--mono);font-size:11px;color:var(--text-muted);font-weight:600;letter-spacing:.3px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--border);}
    .product-price{display:inline-block;font-family:var(--mono);background:var(--green-dark);color:#fff;font-size:12px;font-weight:600;letter-spacing:.2px;padding:5px 12px;border-radius:3px;margin-bottom:12px;}
    .product-card p{font-size:13px;color:var(--text-muted);line-height:1.55;flex-grow:1;margin-bottom:16px;}
    .product-quote-btn{background:var(--green-dark);color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:12.5px;font-weight:700;letter-spacing:.3px;cursor:pointer;font-family:inherit;transition:background .2s;align-self:flex-start;}
    .product-quote-btn:hover{background:var(--teal);}
    .category-block{margin-bottom:50px;}
    .category-block-title{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-size:24px;color:var(--green-dark);margin-bottom:22px;padding-bottom:12px;border-bottom:2px solid var(--border);}

    /* PRICING / QUOTE SECTION */
    .pricing-section{background:linear-gradient(135deg,var(--green-dark),var(--teal));padding:80px 5%;}
    .pricing-inner{max-width:640px;margin:0 auto;}
    .pricing-header{text-align:center;margin-bottom:36px;}
    .pricing-header .section-label{color:var(--teal-light);justify-content:center;}
    .pricing-header h2{font-family:'Fraunces',serif;color:#fff;font-size:clamp(26px,4vw,38px);margin-bottom:14px;}
    .pricing-header p{color:rgba(255,255,255,.8);font-size:15px;max-width:520px;margin:0 auto;line-height:1.7;}
    .quote-form-box{background:#fff;border-radius:16px;padding:36px 32px;}
    .quote-success{background:#e8f8ee;border:1px solid #2d7a4f;color:#1a4731;padding:18px;border-radius:8px;text-align:center;font-weight:600;}
    .quote-error{background:#fff0f0;border:1px solid #e74c3c;color:#c0392b;padding:12px;border-radius:8px;margin-bottom:16px;font-size:13px;}

    /* WHY */
    .why{background:linear-gradient(135deg,var(--green-dark) 0%,var(--teal) 100%);color:var(--white);text-align:center;}
    .why .section-title{color:var(--white);}
    .why .section-label{color:var(--teal-light);justify-content:center;}
    .why .section-desc{color:rgba(255,255,255,.78);max-width:540px;margin:0 auto 56px;}
    .why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;max-width:1000px;margin:0 auto;}
    .why-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:32px 22px;transition:background .25s;}
    .why-item:hover{background:rgba(255,255,255,.14);}
    .why-item-num{font-family:'Fraunces',serif;font-size:42px;font-weight:700;color:var(--teal-light);line-height:1;margin-bottom:8px;}
    .why-item h4{font-size:15px;font-weight:600;margin-bottom:8px;}
    .why-item p{font-size:13px;opacity:.72;line-height:1.55;}

    /* CONTACT */
    .contact{background:var(--white);}
    .contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;max-width:1000px;margin:0 auto;align-items:start;}
    .contact-info h2{font-family:'Fraunces',serif;font-size:36px;color:var(--green-dark);margin-bottom:16px;}
    .contact-info > p{font-size:15px;color:var(--text-muted);line-height:1.7;margin-bottom:32px;}
    .contact-detail{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;}
    .contact-detail-icon{width:42px;height:42px;background:linear-gradient(135deg,var(--green-mid),var(--teal));border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;}
    .contact-detail-body h4{font-size:13px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;}
    .contact-detail-body p,.contact-detail-body a{font-size:15px;color:var(--green-dark);font-weight:500;text-decoration:none;}
    .contact-detail-body a:hover{color:var(--teal);}
    .contact-form{background:var(--cream);border-radius:16px;padding:40px 36px;border:1px solid var(--border);}
    .contact-form h3{font-family:'Fraunces',serif;font-size:22px;color:var(--green-dark);margin-bottom:24px;}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
    .form-group{margin-bottom:16px;}
    .form-group label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:6px;}
    .form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 15px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:'Inter',sans-serif;color:var(--text-dark);background:var(--white);outline:none;transition:border-color .2s;}
    .form-group input:focus,.form-group textarea:focus{border-color:var(--green-mid);}
    .form-group textarea{resize:vertical;min-height:100px;}
    .form-submit{width:100%;background:linear-gradient(135deg,var(--green-mid),var(--teal));color:var(--white);border:none;padding:14px;border-radius:8px;font-size:15px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:opacity .2s,transform .2s;margin-top:6px;}
    .form-submit:hover{opacity:.9;transform:translateY(-1px);}

    /* CTA BAND (home page, links to Products/Contact) */
    .cta-band{background:var(--green-dark);text-align:center;padding:70px 5%;}
    .cta-band h2{font-family:'Fraunces',serif;color:#fff;font-size:clamp(24px,3.5vw,34px);margin-bottom:16px;}
    .cta-band p{color:rgba(255,255,255,.75);max-width:500px;margin:0 auto 30px;font-size:15px;}
    .cta-band-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

    /* FOOTER */
    footer{background:var(--green-dark);color:rgba(255,255,255,.75);padding:50px 5% 30px;}
    .footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;max-width:1100px;margin:0 auto 40px;}
    .footer-brand h3{font-family:'Fraunces',serif;color:var(--white);font-size:20px;margin-bottom:10px;}
    .footer-brand p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.6);max-width:280px;}
    .footer-tagline{margin-top:12px;font-size:12px;font-style:italic;color:var(--teal-light);}
    .footer-col h4{color:var(--white);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;}
    .footer-col ul{list-style:none;}
    .footer-col ul li{margin-bottom:10px;}
    .footer-col ul li a{color:rgba(255,255,255,.6);text-decoration:none;font-size:13px;transition:color .2s;}
    .footer-col ul li a:hover{color:var(--teal-light);}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;text-align:center;font-size:12px;color:rgba(255,255,255,.4);max-width:1100px;margin:0 auto;}
    .admin-bar{background:#1a4731;color:#fff;text-align:center;padding:10px;font-size:13px;font-family:'Inter',sans-serif;}
    .admin-bar a{color:#3dbdb1;font-weight:700;text-decoration:none;margin-left:10px;}

    @media(max-width:768px){
      .about-grid,.contact-grid,.footer-grid{grid-template-columns:1fr;gap:32px;}
      .form-row{grid-template-columns:1fr;}
      section{padding:60px 5%;}
    }

/* ACCESSIBILITY: explicit focus-visible states */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--teal-light);
  outline-offset: 2px;
}

/* Skip-to-content link (visually hidden until focused) */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--green-dark);color:#fff;padding:12px 20px;z-index:999;border-radius:0 0 6px 0;text-decoration:none;font-size:14px;font-weight:600;}
.skip-link:focus{left:0;}

/* MOBILE NAV MENU */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--green-dark);margin:5px 0;transition:transform .2s,opacity .2s;}
@media(max-width:900px){
  .nav-toggle{display:block;}
  .nav-links{position:fixed;top:70px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:10px 5% 20px;border-bottom:1px solid var(--border);box-shadow:0 12px 24px rgba(0,0,0,.08);transform:translateY(-140%);opacity:0;transition:transform .25s ease,opacity .25s ease;max-height:80vh;overflow-y:auto;}
  .nav-links.open{display:flex;transform:translateY(0);opacity:1;}
  .nav-links li{width:100%;padding:12px 0;border-bottom:1px solid var(--border);}
  .nav-links a{display:block;}
  .nav-call{display:inline-block!important;margin-top:6px;}
}
