:root{
  --green:#0b7654; --green-700:#095e43; --ink:#181c23; --ink-2:#20252e;
  --paper-soft:#f4f2ee; --paper-soft-2:#ece7e1;
  --text:#191c21; --muted:#585e67; --on-dark-soft:rgba(255,255,255,.78); --on-dark-faint:rgba(255,255,255,.5);
  --line:rgba(0,0,0,.07); --line-dark:rgba(255,255,255,.12);
  --shadow:0 1px 2px rgba(20,24,31,.04),0 4px 16px rgba(20,24,31,.05);
  --shadow-hover:0 2px 6px rgba(20,24,31,.06),0 10px 28px rgba(20,24,31,.09);
  --radius:16px; --wrap:1120px;
  --fs-display:clamp(2.5rem,8.5vw,4.5rem); --fs-h1:clamp(2rem,6.4vw,3.1rem);
  --fs-h2:clamp(1.55rem,5vw,2.5rem); --fs-lead:clamp(1.02rem,2.3vw,1.15rem);
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html,body{margin:0;}
body{color:var(--text);background:#fff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px;}
@media(min-width:768px){.wrap{padding:0 36px;}}
.section{padding-top:clamp(48px,8vw,92px);padding-bottom:clamp(48px,8vw,92px);}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin:0;}
.display{font-family:'Play',sans-serif;font-weight:700;font-size:var(--fs-display);line-height:1.02;letter-spacing:-.025em;margin:0;}
.h1{font-family:'Play',sans-serif;font-weight:700;font-size:var(--fs-h1);line-height:1.06;letter-spacing:-.02em;margin:0;color:var(--text);}
.h2{font-family:'Play',sans-serif;font-weight:700;font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.02em;margin:0;color:var(--text);}
.h3{font-weight:700;font-size:1.0625rem;line-height:1.3;margin:0;}
.lead{font-size:var(--fs-lead);line-height:1.75;color:var(--muted);margin:0;}
.body{font-size:1rem;line-height:1.72;margin:0;}
.outline{color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.72);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:.95rem;line-height:1;padding:13px 22px;border-radius:11px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:.15s;white-space:nowrap;}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 1px 2px rgba(11,118,84,.25);}
.btn-primary:hover{background:var(--green-700);}
.btn-outline-dark{border-color:rgba(255,255,255,.35);color:#fff;}
.btn-outline-dark:hover{background:rgba(255,255,255,.1);}
.btn-outline-ink{border-color:var(--ink);color:var(--ink);}
.btn-outline-ink:hover{background:var(--ink);color:#fff;}
.btn-outline-light{border-color:rgba(255,255,255,.7);color:#fff;}
.btn-outline-light:hover{background:#fff;color:var(--ink);}
.cta-band .h2{color:#fff;}
@media(max-width:640px){.cta-inner{flex-direction:column;align-items:flex-start;gap:20px;}.cta-btns{width:100%;}.cta-btns .btn{flex:1;justify-content:center;text-align:center;padding:12px 14px;font-size:.92rem;}}
.btn[disabled]{opacity:.6;pointer-events:none;}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);transition:.18s;}
.card:hover{box-shadow:var(--shadow-hover);}
.grid{display:grid;gap:18px;}
.field{width:100%;font-size:16px;padding:12px 14px;border-radius:11px;border:1px solid var(--line);background:#fafafa;color:var(--text);outline:none;font-family:inherit;}
.field:focus{border-color:var(--green);background:#fff;}
.label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:7px;}
/* nav */
header.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px;}
.nav-logo{height:clamp(28px,7vw,36px);width:auto;border-radius:6px;cursor:pointer;}
.nav-desktop{display:none;gap:4px;}
.navlink{background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;padding:8px 12px;font-size:.92rem;white-space:nowrap;color:#4a5159;font-family:inherit;}
.navlink.active{color:var(--green);font-weight:700;border-bottom-color:var(--green);}
.navlink:hover{color:var(--green);}
.burger{display:inline-flex;background:none;border:none;cursor:pointer;padding:4px;color:var(--text);}
.call-num{display:none;}
.nav-call{order:0;}.nav-logo-a{order:1;}.nav-desktop{order:2;}.burger{order:3;}
@media(min-width:920px){.nav-desktop{display:flex;}.burger{display:none;}.nav-logo-a{order:0;}.nav-desktop{order:1;}.nav-call{order:3;}.call-num{display:inline;margin-left:6px;}}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:100;display:none;justify-content:flex-end;}
.overlay.open{display:flex;}
.drawer{width:80%;max-width:320px;height:100%;background:#fff;padding:22px;display:flex;flex-direction:column;box-shadow:-8px 0 30px rgba(0,0,0,.18);}
.drawer-link{text-align:left;background:none;border:none;cursor:pointer;padding:14px;border-radius:10px;font-size:1.05rem;color:var(--text);font-family:inherit;}
.drawer-link.active{background:rgba(11,118,84,.09);color:var(--green);font-weight:700;}
/* hero */
.hero{position:relative;overflow:hidden;}
.hero-inner{position:relative;min-height:84vh;display:flex;align-items:center;}
@media(min-width:761px){.nav-row{height:62px;padding-top:0;padding-bottom:0;}.hero{display:flex;flex-direction:column;min-height:calc(100vh - 63px);}.hero-inner{flex:1;min-height:0;}}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 45%;}
.hero-ov{position:absolute;inset:0;background:linear-gradient(110deg,rgba(20,23,28,.96),rgba(20,23,28,.74) 52%,rgba(0,0,0,.28));}
@media(max-width:760px){.hero-inner{min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px);}.hero-ov{background:linear-gradient(180deg,rgba(18,22,27,.82),rgba(18,22,27,.46) 48%,rgba(18,22,27,.9));}.hero-inner .wrap{padding-top:24px!important;padding-bottom:30px!important;}.display{font-size:clamp(2.4rem,12vw,3.3rem);line-height:1.12;letter-spacing:-.015em;}.outline{-webkit-text-stroke-width:1.6px;}.hero-inner .display{margin-top:6px;}.hero-inner .hero-eyebrow{margin-bottom:22px!important;}.hero-inner .lead{margin-top:22px!important;margin-bottom:30px!important;font-size:1.02rem;line-height:1.68;max-width:420px;}.hero-inner .btn{flex:1 1 100%;justify-content:center;padding:12px;font-size:.94rem;}}
.trustbar{background:var(--green);}
.trustbar .wrap{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:0;}
.trust-i{display:flex;align-items:center;gap:9px;justify-content:center;padding:14px 8px;color:#fff;font-size:.84rem;font-weight:500;text-align:center;}
@media(min-width:760px){.trustbar .wrap{grid-template-columns:repeat(4,1fr);}}
@media(max-width:760px){.trustbar .wrap{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:0;padding:0;-webkit-overflow-scrolling:touch;scrollbar-width:none;}.trustbar .wrap::-webkit-scrollbar{display:none;}.trust-i{flex:0 0 auto;white-space:nowrap;justify-content:flex-start;padding:13px 22px;font-size:.86rem;border-right:1px solid rgba(255,255,255,.2);}}
/* steps / cols */
.cols{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:560px){.cols{grid-template-columns:1fr 1fr;}}
@media(min-width:980px){.cols-4{grid-template-columns:repeat(4,1fr);}}
.svc{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:560px){.svc{grid-template-columns:1fr 1fr;}}
@media(min-width:980px){.svc{grid-template-columns:repeat(4,1fr);}}
.svc-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:rgba(11,118,84,.12);margin-bottom:16px;}
.ins{display:grid;grid-template-columns:1fr;gap:clamp(28px,5vw,48px);align-items:center;}
@media(min-width:860px){.ins{grid-template-columns:1.05fr .95fr;}}
.stat{background:var(--paper-soft);border-radius:var(--radius);padding:24px;}
.contact-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:start;}
@media(min-width:860px){.contact-grid{grid-template-columns:1.2fr .8fr;}}
/* gallery */
.gallery{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:600px){.gallery{grid-template-columns:1fr 1fr;}}
@media(min-width:980px){.gallery{grid-template-columns:repeat(3,1fr);}}
.photo-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.certgrid .photo-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;}
.photo-cap{padding:14px 16px;font-size:.9rem;font-weight:500;line-height:1.4;}
/* banner */
.banner{position:relative;overflow:hidden;background:var(--ink);}
.banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;}
.banner-ov{position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,24,31,.72),rgba(20,24,31,.42) 52%,rgba(20,24,31,.18));}
.banner-c{position:relative;z-index:2;padding:clamp(48px,8.5vw,116px) clamp(20px,4vw,36px) clamp(44px,7.5vw,100px);max-width:var(--wrap);}
/* faq */
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:12px;}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;background:none;border:none;cursor:pointer;text-align:left;font-size:1rem;font-weight:600;color:var(--text);font-family:inherit;line-height:1.4;}
.faq-a{padding:0 18px 20px;color:var(--muted);font-size:1rem;line-height:1.72;display:none;}
.faq-item.open .faq-a{display:block;}
.faq-item.open .chev{transform:rotate(180deg);}
.chev{flex-shrink:0;transition:.2s;color:var(--green);}
.banner-c .eq-tag{background:rgba(255,255,255,.15);color:#fff;}
.eq-tag{font-size:.85rem;font-weight:600;color:var(--green);background:rgba(11,118,84,.1);padding:8px 14px;border-radius:999px;}
.partners{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:640px;margin:0 auto;}
@media(min-width:640px){.partners{grid-template-columns:repeat(4,1fr);}}
.partner img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:14px;border:1px solid var(--line);box-shadow:var(--shadow);}
/* edit mode */
/* footer */
footer{background:var(--ink);color:#fff;}
.foot-grid{display:grid;grid-template-columns:1fr;gap:28px;}
@media(min-width:720px){.foot-grid{grid-template-columns:1.5fr 1fr 1.3fr;}}
.icn{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.hero-rating{display:flex;align-items:center;gap:9px;margin-top:22px;flex-wrap:wrap;}.hr-stars{color:#ffc233;letter-spacing:2px;font-size:1rem;line-height:1;}.hr-txt{font-size:.88rem;font-weight:500;color:rgba(255,255,255,.85);}
/* multi-page nav links (anchors instead of buttons) */
.navlink{text-decoration:none;display:inline-block;}
.drawer-link{text-decoration:none;display:block;}
