:root{
  --grey-olive:#7a918dff;
  --muted-teal:#93b1a7ff;
  --muted-teal-2:#99c2a2ff;
  --tea-green:#c5edacff;
  --tea-green-2:#dbfeb8ff;

  --bg:#eef5f2;
  --text:#1f2c28;
  --card:rgba(255,255,255,.42);
  --stroke:rgba(255,255,255,.55);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:#ffffff;min-height:100%}
a{color:#2e4840;text-decoration:none}
a:hover{color:#25b995;text-decoration:underline}
.container{width:min(1140px,92%);margin:auto}
.full-width-banner{width:100vw;margin-left:calc(50% - 50vw);margin-top:12px;background:linear-gradient(120deg,rgba(147,177,167,.22),rgba(219,254,184,.28));border-top:1px solid rgba(122,145,141,.18);border-bottom:1px solid rgba(122,145,141,.18)}
.full-width-banner-inner{width:min(1140px,92%);margin:auto;padding:18px 0}
.full-width-banner p{margin:0 0 6px;font-weight:700;color:#365049}
.full-width-banner h2{margin:0;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.2}
.glass{background:var(--card);backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);border:1px solid var(--stroke);border-radius:24px;box-shadow:0 18px 50px rgba(16,34,28,.18)}
header{position:sticky;top:14px;z-index:20;padding-top:14px}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;position:relative}
.logo{font-weight:800;letter-spacing:.2px}
.site-logo{height:82px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{color:var(--text);text-decoration:none;margin:0 10px;font-weight:600;opacity:.9}
.nav-dropdown{position:relative}
.nav-dropdown-menu{position:absolute;top:calc(100% + 2px);left:0;min-width:320px;max-height:none;overflow:visible;padding:8px;background:rgba(255,255,255,.96);border:1px solid #d7e6df;border-radius:12px;box-shadow:0 14px 30px rgba(21,41,34,.12);display:none;z-index:50}
.nav-dropdown-menu a{display:block;margin:0;padding:9px 10px;border-radius:8px;font-weight:500}
.nav-dropdown-menu a:hover{background:#eef7f3}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:block}
.menu-toggle{display:none;border:1px solid #c9dccf;background:#f4fbf6;color:#1f2c28;border-radius:10px;padding:8px 10px;font-size:18px;line-height:1;cursor:pointer}
.btn{display:inline-block;text-decoration:none;padding:11px 18px;border-radius:999px;font-weight:700;border:1px solid rgba(255,255,255,.65);background:linear-gradient(135deg,var(--muted-teal),var(--tea-green));color:#1d2a25}
.hero{margin-top:22px;padding:42px 30px 28px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
.hero-content{max-width:760px}
.hero-kicker{margin:0 0 10px;color:#2f4a43;letter-spacing:.2px}
.hero-title{font-size:clamp(2rem,3.8vw,3.35rem);line-height:1.05;margin:.1rem 0 1rem}
.hero-copy{display:grid;gap:10px}
.hero-copy p{margin:0;font-size:1.1rem;line-height:1.55;opacity:.93}
.hero-steps{margin:18px 0 16px;padding:12px;border-radius:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;background:rgba(255,255,255,.48)}
.hero-steps div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.62);border:1px solid rgba(122,145,141,.22)}
.hero-steps strong{display:block;font-size:.95rem;margin-bottom:4px}
.hero-steps span{display:block;font-size:.84rem;line-height:1.35;color:#39514a}
.hero-visual{height:100%}
.hero-creative{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(122,145,141,.24),rgba(153,194,162,.22))}
.orb{position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none}
.orb-1{width:280px;height:280px;right:-70px;top:-70px;background:radial-gradient(circle,var(--tea-green-2),transparent 70%)}
.orb-2{width:220px;height:220px;left:-60px;bottom:-80px;background:radial-gradient(circle,var(--muted-teal-2),transparent 70%)}
.hero-panel{padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.32)}
.hero-visual .hero-image-slot{margin-top:0;min-height:360px;height:100%;border-radius:16px;border:1px solid rgba(122,145,141,.16);background:rgba(255,255,255,.54);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px}
.hero-visual .hero-image-slot img{width:100%;height:100%;object-fit:contain;opacity:.98;transform:none}
.hero-metrics{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;justify-content:flex-end}
.hero-metrics div{padding:10px 12px;border-radius:12px;background:#f4fbf6;border:1px solid #c9dccf;min-width:130px}
.hero-metrics strong{display:block;font-size:1rem;color:#1b2a24}
.hero-metrics span{font-size:.82rem;opacity:1;color:#3f5550}
h1{font-size:clamp(1.85rem,3.4vw,2.95rem);line-height:1.12;margin:.1rem 0 .8rem}
.lead{font-size:1.05rem;opacity:.9;max-width:60ch}
.chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
.chip{padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.28);font-weight:600;text-align:center}
.section{padding:30px 0}
.breadcrumbs{margin-top:10px}
.breadcrumbs.in-hero-breadcrumb{margin-top:14px;padding-top:10px;border-top:1px solid rgba(122,145,141,.2)}
.breadcrumbs ol{margin:0;padding:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.breadcrumbs li{font-size:.88rem;color:#4b635c}
.breadcrumbs li+li:before{content:'/';margin-right:8px;color:#8ca89f}
.breadcrumbs a{color:#2f4a43;text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.section h2{font-size:clamp(1.65rem,2.6vw,1.9rem);line-height:1.18;margin:0 0 14px}
.section h3{font-size:clamp(1.22rem,1.9vw,1.4rem);line-height:1.3;margin:1rem 0 .6rem}
.h2-last-two{color:#25b995}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.trust-cards{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.card{padding:16px;border-radius:16px}
.card h3{margin:.2rem 0 .5rem}
.card p{margin:0;opacity:.92}
.trust-cards .card h3{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.trust-cards .card h3 .ti{font-style:normal;color:#25b995;background:rgba(37,185,149,.12);border:1px solid rgba(37,185,149,.24);width:46px;height:46px;border-radius:12px;display:inline-grid;place-items:center;line-height:1;flex:0 0 46px}
.trust-cards .card h3 .ti svg{width:24px;height:24px;fill:#25b995;display:block}
.card-link{display:block;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card-link:hover{transform:translateY(-2px);border-color:#9ec8b8;box-shadow:0 14px 30px rgba(16,34,28,.12)}
.project-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.service-tile{display:flex;flex-direction:column;height:100%;padding:12px;border-radius:16px;border:1px solid var(--stroke);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.service-tile:hover{transform:translateY(-2px);border-color:#b9d8cc;box-shadow:0 14px 30px rgba(16,34,28,.12)}
.service-tile-media{display:block;border-radius:12px;overflow:hidden;margin-bottom:10px}
.service-tile img{display:block;width:100%;height:150px;object-fit:cover;border-radius:12px;background:#dde7e3;transition:transform .2s ease}
.service-tile:hover img{transform:scale(1.02)}
.service-tile h3{margin:.2rem 0 .45rem;font-size:1.02rem;text-transform:none;line-height:1.28}
.service-tile-title a{color:inherit;text-decoration:none}
.service-tile-title a:hover{color:inherit;text-decoration:underline}
.service-tile p{margin:0;opacity:.92;line-height:1.5}
.other-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.other-service-link{display:flex;align-items:center;min-height:92px;padding:18px;border-radius:16px;text-decoration:none;color:inherit;border:1px solid var(--stroke);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.other-service-link:hover{transform:translateY(-2px);border-color:#b9d8cc;box-shadow:0 14px 30px rgba(16,34,28,.12)}
.other-service-link span{display:block;font-weight:700;line-height:1.35}
.hub{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cta{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.info-block{padding:24px 22px;border-radius:18px;line-height:1.72}
.info-block p{margin:0 0 14px;opacity:.94}
.info-block p:last-child{margin-bottom:0}
.page-summary-section{padding:18px 0 8px}
.page-summary-block{padding:18px 22px}
.page-summary-block p{margin:0;line-height:1.72;opacity:.96}
.page-summary-block strong{color:#1f2c28}
.post-banner-section{padding-top:10px;padding-bottom:20px}
.post-banner{margin:0;overflow:hidden}
.post-banner img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.jumpy-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.jumpy-reference-card{margin:0}
.jumpy-reference-trigger{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
.jumpy-reference-trigger img{transition:transform .18s ease, box-shadow .18s ease}
.jumpy-reference-trigger:hover img{transform:scale(1.02);box-shadow:0 14px 28px rgba(16,34,28,.12)}
.jumpy-reference-card img{width:100%;height:220px;display:block;object-fit:cover;border-radius:16px;background:#dde7e3;border:1px solid rgba(122,145,141,.18)}
.jumpy-lightbox[hidden]{display:none}
.jumpy-lightbox{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px}
.jumpy-lightbox-backdrop{position:absolute;inset:0;background:rgba(18,31,26,.78)}
.jumpy-lightbox-dialog{position:relative;z-index:1;width:min(960px,92vw);max-height:90vh;padding:16px;border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 24px 60px rgba(0,0,0,.28)}
.jumpy-lightbox-dialog img{display:block;width:100%;max-height:calc(90vh - 32px);object-fit:contain;border-radius:14px;background:#edf4f0}
.jumpy-lightbox-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:999px;background:rgba(31,44,40,.82);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.process-entry{margin-top:16px;padding:22px;border-radius:18px}
.process-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
.process-content{min-width:0}
.process-entry-head{display:block;margin-bottom:10px}
.process-kicker{margin:6px 0 0;color:#426159;font-weight:700;font-size:.84rem;letter-spacing:.4px;text-transform:uppercase}
.process-entry h3{margin:0;font-size:1.4rem}
.process-intro{margin:0 0 14px;line-height:1.7;opacity:.95}
.process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.process-step{padding:12px;border-radius:12px;background:rgba(255,255,255,.58);border:1px solid rgba(122,145,141,.24)}
.process-step strong{display:block;margin-bottom:4px}
.process-step span{font-size:.9rem;color:#365049;line-height:1.4}
.process-note{margin:0;line-height:1.72;opacity:.94}
.process-visual{height:100%;border:1px solid rgba(122,145,141,.2);border-radius:14px;background:rgba(255,255,255,.5);padding:12px;display:flex;align-items:center;justify-content:center}
.process-visual img{width:100%;height:100%;max-height:430px;object-fit:cover;border-radius:10px}
.showcase-section{padding-top:8px}
.perf-head{text-align:center;max-width:940px;margin:0 auto 18px}
.perf-head h2{margin:.1rem 0 .65rem;font-size:clamp(1.85rem,3.2vw,2.65rem);line-height:1.18}
.perf-head p{margin:0 auto;opacity:.84;font-size:1.02rem;line-height:1.7;max-width:900px}
.perf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.perf-card{background:rgba(255,255,255,.55);border:1px solid rgba(122,145,141,.18);border-radius:14px;padding:20px;min-height:180px;text-align:center}
.perf-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(37,185,149,.12);border:1px solid rgba(37,185,149,.24);color:#25b995;margin:0 auto 12px}
.perf-icon svg{width:23px;height:23px;fill:#25b995;display:block}
.perf-card h3{margin:.25rem 0 .55rem}
.perf-card p{margin:0;opacity:.82;line-height:1.55}
.perf-clarity{margin-top:28px;padding:26px;background:rgba(255,255,255,.48);border:1px solid rgba(122,145,141,.18);border-radius:24px;display:grid;grid-template-columns:.95fr 1.05fr;gap:18px;align-items:center}
.perf-clarity h3{margin:.1rem 0 .6rem;font-size:clamp(2rem,3.4vw,3rem);line-height:1.1}
.perf-clarity h3 span{color:#25b995}
.perf-clarity p{margin:0 0 12px;line-height:1.62;opacity:.84}
.perf-clarity ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.perf-clarity li{position:relative;padding-left:26px;opacity:.88}
.perf-clarity li:before{content:'✓';position:absolute;left:0;top:0;color:#24b692;font-weight:700}
.perf-visual{min-height:260px;border-radius:18px;border:1px solid rgba(122,145,141,.16);background:linear-gradient(135deg,rgba(218,255,245,.75),rgba(173,233,217,.55));position:relative;overflow:hidden;max-width:calc(100% - 18px);margin-left:18px}
.perf-visual img{width:100%;height:100%;object-fit:cover;display:block}
.pricing-block{padding:24px;border-radius:24px;display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start;background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(219,254,184,.22))}
.pricing-content p{margin:0 0 10px;line-height:1.7;opacity:.9}
.pricing-points{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.pricing-points li{position:relative;padding-left:24px}
.pricing-points li:before{content:'✓';position:absolute;left:0;top:0;color:#25b995;font-weight:700}
.pricing-form-wrap{background:rgba(255,255,255,.62);border:1px solid rgba(122,145,141,.24);border-radius:16px;padding:16px}
.pricing-form{display:grid;gap:10px}
.pricing-form label{display:grid;gap:6px;font-weight:600;font-size:.92rem}
.pricing-form input,.pricing-form select{height:44px;border-radius:10px;border:1px solid #cfe1d9;padding:0 12px;background:#fff;color:#1f2c28}
.pricing-form button{width:100%;margin-top:6px}
.home-project-gallery{padding:24px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(147,177,167,.16))}
.home-project-gallery-head{max-width:760px;margin-bottom:16px}
.home-project-gallery-head p{margin:0;line-height:1.7;opacity:.9}
.home-project-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-project-gallery-item{margin:0}
.home-project-gallery-trigger{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
.home-project-gallery-trigger img{transition:transform .18s ease, box-shadow .18s ease}
.home-project-gallery-trigger:hover img{transform:scale(1.02);box-shadow:0 14px 28px rgba(16,34,28,.12)}
.home-project-gallery-item img{display:block;width:100%;height:220px;object-fit:cover;border-radius:16px;background:#dde7e3;border:1px solid rgba(122,145,141,.18)}
.faq-accordion{display:grid;gap:10px}
.faq-qa{padding:0;border-radius:16px;overflow:hidden}
.faq-qa summary{list-style:none;cursor:pointer;padding:16px 48px 16px 18px;font-weight:700;position:relative}
.faq-qa summary::-webkit-details-marker{display:none}
.faq-qa summary:after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#2f4a43}
.faq-qa[open] summary:after{content:'−'}
.faq-answer{padding:0 18px 16px;border-top:1px solid rgba(122,145,141,.18)}
.faq-answer p{margin:12px 0 0;line-height:1.72;opacity:.92}
.about-clean{padding:26px 0}
.about-clean-card{background:#f7fbfa;border:1px solid rgba(122,145,141,.2);border-radius:20px;padding:26px 24px}
.about-clean-card h1{font-size:clamp(1.8rem,3.2vw,2.7rem);margin:.1rem 0 1rem}
.about-clean-card p{line-height:1.75;opacity:.92;margin:0 0 12px}
.about-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.about-mini-grid article{background:#fff;border:1px solid rgba(122,145,141,.2);border-radius:14px;padding:14px}
.about-mini-grid h3{margin:.1rem 0 .4rem;font-size:1.05rem}
.about-mini-grid p{margin:0;line-height:1.55}
.about-steps{margin:10px 0 0;padding-left:18px;display:grid;gap:8px}
.about-impact{background:linear-gradient(180deg,#062147,#031733);color:#e9f4ff;padding:40px 0;margin-top:18px}
.about-impact h2{color:#fff;text-align:center;margin:0 0 8px}
.about-impact p{text-align:center;opacity:.86;max-width:760px;margin:0 auto 18px}
.about-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.about-stats article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:16px;text-align:center}
.about-stats strong{display:block;font-size:1.45rem;color:#2fe0b9}
.about-stats span{font-size:.85rem;opacity:.85}
.about-quote{margin-top:18px;background:rgba(47,224,185,.12);border:1px solid rgba(47,224,185,.4);border-radius:12px;padding:14px 16px;font-style:italic}
.site-footer{margin:28px 0 0;background:linear-gradient(135deg,rgba(147,177,167,.22),rgba(219,254,184,.18));color:var(--text);border-top:1px solid var(--stroke);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);}
.footer-top{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:26px;padding:34px 0 24px}
.footer-top-5{grid-template-columns:1.2fr repeat(4,1fr)}
.footer-logo{height:150px;width:auto;display:block;margin-bottom:10px}
.f-logo{font-size:1.25rem;font-weight:900;letter-spacing:.5px}.f-logo span{font-weight:700;opacity:.75}
.footer-brand p{margin:.55rem 0;opacity:.88;display:flex;gap:8px;align-items:flex-start}
.footer-logo-col p{display:block;max-width:280px;line-height:1.55}
.footer-col h4{margin:.2rem 0 .7rem;font-size:1rem;color:#1f2c28}
.footer-col a{display:block;color:#2e4840;text-decoration:none;margin:.45rem 0;opacity:.95}
.footer-col a:hover{color:#1f2c28}
.footer-bottom{border-top:1px solid rgba(122,145,141,.26);padding:14px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.footer-bottom small{opacity:.88;color:#2e4840}
.floating-contact{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:80;justify-items:end}
.fc-btn{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;text-decoration:none;font-weight:700;box-shadow:0 8px 18px rgba(16,34,28,.18);border:1px solid rgba(255,255,255,.5);font-size:.95rem;white-space:nowrap}
.fc-wa,.fc-tel{background:linear-gradient(135deg,#22c98a,#25b995);color:#ffffff}
.fc-wa:hover,.fc-tel:hover{background:linear-gradient(135deg,#169a69,#147f68);color:#ffffff;text-decoration:none}
.fc-ico{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.2);font-style:normal}
.fc-ico svg{width:14px;height:14px;fill:#fff;display:block}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-card{padding:20px;border-radius:18px}
.contact-card h2{font-size:32px;margin:0 0 10px}
.contact-card h3{margin:.9rem 0 .4rem}
.contact-card p{margin:0 0 10px;line-height:1.65}
.contact-card a{color:#1f4f44;text-decoration:none;font-weight:600}
.contact-map-wrap{padding:20px;border-radius:18px}
.contact-map-wrap iframe{width:100%;height:360px;border:0;border-radius:14px}
.blog-head{display:flex;align-items:end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.blog-head p{margin:0;color:#4f6660;font-weight:600}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.blog-card{overflow:hidden;border-radius:16px}
.blog-thumb{display:block;height:150px;background:linear-gradient(135deg,rgba(147,177,167,.38),rgba(219,254,184,.42));border-bottom:1px solid rgba(122,145,141,.2)}
.blog-body{padding:14px}
.blog-badge{display:inline-block;font-size:.74rem;background:rgba(37,185,149,.12);color:#1f6c58;border:1px solid rgba(37,185,149,.25);padding:3px 8px;border-radius:999px;margin-bottom:8px}
.blog-body h3{margin:.2rem 0 .5rem;font-size:1.1rem;line-height:1.35}
.blog-body p{margin:0 0 10px;opacity:.9;line-height:1.55}
.blog-read{font-weight:700;color:#1f6c58}
.blog-read:hover{color:#25b995}
@media (max-width:920px){
  .contact-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr 1fr}
  .other-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .hero-grid,.hub{grid-template-columns:1fr}
  .hero{padding:34px 20px 22px}
  .hero-steps{grid-template-columns:1fr}
  .process-layout{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .perf-cards{grid-template-columns:1fr}
  .perf-clarity{grid-template-columns:1fr}
  .pricing-block{grid-template-columns:1fr}
  .home-project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-mini-grid{grid-template-columns:1fr}
  .about-stats{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr 1fr}
  .trust-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jumpy-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-toggle{display:inline-block}
  .nav-links{display:none;position:absolute;left:4%;right:4%;top:88px;flex-direction:column;align-items:flex-start;padding:14px;border-radius:14px;background:#ffffff;border:1px solid #d7e6df;box-shadow:0 14px 30px rgba(21,41,34,.12)}
  .nav-links.open{display:flex}
  .nav-dropdown{width:100%}
  .nav-dropdown-menu{position:static;display:block;min-width:unset;max-height:220px;width:100%;margin-top:6px}
  .btn{display:none}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .cards,.chips,.project-services-grid,.trust-cards,.blog-grid,.jumpy-reference-grid,.other-services-grid,.home-project-gallery-grid{grid-template-columns:1fr}
  .jumpy-lightbox{padding:14px}
  .jumpy-lightbox-dialog{width:100%;padding:12px}
  .jumpy-lightbox-close{top:8px;right:8px}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .floating-contact{right:10px;bottom:10px}
  .fc-btn{padding:9px 12px;font-size:.92rem}
}

/* Global navigation refresh */
header{top:12px;padding-top:12px}
.nav.nav-shell{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:14px 18px;border-radius:26px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.8);box-shadow:0 20px 48px rgba(16,34,28,.12)}
.nav-shell .site-logo{height:74px}
.nav-links{display:flex;align-items:center;justify-content:center;gap:6px}
.nav-link{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 14px;border-radius:14px;color:#22332d;font-weight:700;text-decoration:none;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.nav-link:hover{background:rgba(147,177,167,.14);color:#17302a;text-decoration:none}
.nav-item{position:relative}
.nav-item:after{content:'';position:absolute;left:0;right:0;top:100%;height:14px}
.nav-link-toggle{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit}
.nav-link-toggle:after{content:'▾';font-size:.72rem;margin-left:8px;opacity:.65}
.nav-panel{position:absolute;top:calc(100% + 2px);left:50%;min-width:360px;max-width:min(calc(100vw - 32px),980px);padding:16px;border-radius:22px;background:rgba(255,255,255,.98);border:1px solid #d7e6df;box-shadow:0 18px 42px rgba(16,34,28,.16);opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:opacity .18s ease,transform .18s ease;z-index:70}
.nav-item:hover .nav-panel,.nav-item:focus-within .nav-panel,.nav-item.open .nav-panel{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.nav-panel-services{width:min(1120px,92vw)}
.nav-panel-models{width:min(640px,68vw)}
.nav-panel-guides{width:min(600px,64vw)}
.nav-panel-small{width:320px}
.nav-panel-grid{display:grid;grid-template-columns:240px 1fr;gap:18px;align-items:start}
.nav-panel-intro{padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(147,177,167,.18),rgba(219,254,184,.22))}
.nav-panel-eyebrow{display:block;margin-bottom:8px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#426159}
.nav-panel-intro strong{display:block;font-size:1.1rem;line-height:1.3}
.nav-panel-intro p{margin:10px 0 0;line-height:1.55;color:#3f5550}
.nav-panel-cta{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:800;color:#1f6c58;text-decoration:none}
.nav-panel-cta:hover{text-decoration:underline}
.nav-panel-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.nav-panel-columns-services{grid-template-columns:repeat(3,minmax(0,1fr))}
.nav-panel-group strong{display:block;margin-bottom:10px;font-size:.92rem;color:#21332d}
.nav-panel-group a,.nav-panel-list a{display:block;padding:8px 10px;border-radius:12px;color:#314741;font-weight:600;line-height:1.4;text-decoration:none}
.nav-panel-group a:hover,.nav-panel-list a:hover{background:#eef7f3;color:#17302a;text-decoration:none}
.nav-panel-list{display:grid;gap:4px}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-phone{display:inline-flex;align-items:center;height:46px;padding:0 14px;border-radius:999px;background:#f3faf6;border:1px solid #d4e5dc;color:#24443b;font-weight:800;text-decoration:none;white-space:nowrap}
.nav-phone:hover{text-decoration:none;background:#ebf7f1}
.nav-mobile-actions{display:none}

@media (max-width:920px){
  .nav.nav-shell{grid-template-columns:auto auto;gap:12px}
  .nav-links{display:none;grid-column:1 / -1;flex-direction:column;align-items:stretch;gap:10px;padding:14px 0 0;margin-top:4px;border-top:1px solid rgba(122,145,141,.18)}
  .nav-links.open{display:flex}
  .nav-item{width:100%}
  .nav-item:after{display:none}
  .nav-link,.nav-link-toggle{justify-content:space-between;width:100%;padding:0 14px;height:48px;background:#f7fbfa;border:1px solid rgba(122,145,141,.16)}
  .nav-link-toggle:after{margin-left:12px}
  .nav-item.open .nav-link-toggle{background:#eef7f3}
  .nav-panel,.nav-panel-services,.nav-panel-models,.nav-panel-guides,.nav-panel-small{position:static;width:100%;min-width:0;margin-top:8px;padding:14px;border-radius:18px;opacity:1;pointer-events:auto;transform:none;display:none;box-shadow:none}
  .nav-item.open .nav-panel{display:block}
  .nav-panel-grid,.nav-panel-columns,.nav-panel-columns-services{grid-template-columns:1fr}
  .nav-actions{display:none}
  .nav-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .nav-mobile-actions .btn,.nav-mobile-actions .nav-phone{display:flex;justify-content:center}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;justify-self:end;height:46px;padding:0 16px;border-radius:14px;background:#f4fbf6;border:1px solid #c9dccf;font-weight:800}
}

@media (max-width:620px){
  .nav.nav-shell{padding:12px 14px}
  .nav-shell .site-logo{height:62px}
  .nav-mobile-actions{grid-template-columns:1fr}
  .nav-panel-intro{padding:14px}
}
