:root{--accent:#08A88A;--accent-2:#55D6BE;--ink:#10231f;--muted:#63706d;--paper:#f4f8f7;--card:#fff;--line:#dce7e4;--shadow:0 24px 70px rgba(15,49,42,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:radial-gradient(circle at 82% 2%,color-mix(in srgb,var(--accent-2) 14%,transparent),transparent 33%),var(--paper);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0,0,0,0);white-space:nowrap}
.wrap{width:min(1160px,calc(100% - 40px));margin:auto}
.nav{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:25px}
.logo{display:flex;align-items:center;gap:11px;color:var(--ink);font-size:21px;font-weight:850;text-decoration:none;letter-spacing:-.035em}
.logo-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(140deg,var(--accent),var(--accent-2));box-shadow:0 9px 22px color-mix(in srgb,var(--accent) 28%,transparent)}
.nav nav{display:flex;align-items:center;gap:25px}
.nav nav a{color:var(--muted);font-size:14px;text-decoration:none}
.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:0;border-radius:13px;padding:10px 18px;color:#fff;background:var(--ink);font-weight:750;text-decoration:none;cursor:pointer}
.button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 12px 26px color-mix(in srgb,var(--accent) 24%,transparent)}
.hero{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:64px;padding:74px 0 66px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 12px;background:#ffffffc7;color:var(--muted);font-size:13px;font-weight:720}
.eyebrow:before{width:8px;height:8px;border-radius:50%;background:var(--accent);content:"";box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 13%,transparent)}
h1{max-width:720px;margin:21px 0 20px;font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.058em}
.lead{max-width:650px;margin:0;color:var(--muted);font-size:19px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.panel{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:25px;padding:22px;background:#ffffffdd;box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.panel:after{position:absolute;right:-50px;bottom:-80px;width:190px;height:190px;border-radius:50%;background:var(--accent-2);content:"";filter:blur(75px);opacity:.17}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px}
.badge{border-radius:999px;padding:5px 10px;color:#126b52;background:#e8f8f2;font-size:12px;font-weight:750}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.metric{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.metric strong{display:block;font-size:24px;letter-spacing:-.04em}
.metric span{color:var(--muted);font-size:12px}
.visual{display:flex;height:160px;align-items:flex-end;gap:9px;border-radius:17px;padding:18px;background:linear-gradient(180deg,#f8fbfa,#eef5f3)}
.visual i{flex:1;min-width:8px;border-radius:7px 7px 2px 2px;background:linear-gradient(var(--accent-2),var(--accent));transform-origin:bottom;animation:rise .8s both}
.visual i:nth-child(1){height:36%}.visual i:nth-child(2){height:58%;animation-delay:.08s}.visual i:nth-child(3){height:47%;animation-delay:.16s}.visual i:nth-child(4){height:76%;animation-delay:.24s}.visual i:nth-child(5){height:68%;animation-delay:.32s}.visual i:nth-child(6){height:91%;animation-delay:.4s}
@keyframes rise{from{transform:scaleY(.08);opacity:.2}}
.section{padding:70px 0}
.section-head{max-width:720px;margin-bottom:30px}
.section h2{margin:0 0 10px;font-size:clamp(30px,4vw,46px);line-height:1.1;letter-spacing:-.045em}
.section-head p{margin:0;color:var(--muted)}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.tab{border:1px solid var(--line);border-radius:11px;padding:9px 14px;color:var(--muted);background:#fff;cursor:pointer}
.tab[aria-selected=true]{border-color:var(--accent);color:#fff;background:var(--accent)}
.tab-panel{display:none;grid-template-columns:repeat(3,1fr);gap:15px}
.tab-panel.active{display:grid}
.card{min-height:175px;border:1px solid var(--line);border-radius:19px;padding:23px;background:var(--card);box-shadow:0 8px 30px rgba(20,57,49,.05)}
.card-icon{display:grid;width:39px;height:39px;place-items:center;border-radius:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,white);font-weight:850}
.card h3{margin:17px 0 6px;font-size:18px}.card p{margin:0;color:var(--muted);font-size:14px}
.calculator{display:grid;grid-template-columns:1fr .8fr;gap:24px;border:1px solid var(--line);border-radius:24px;padding:28px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}
.calculator p{color:#b9c9c5}.range{width:100%;accent-color:var(--accent-2)}
.calc-result{display:grid;place-items:center;border:1px solid #ffffff20;border-radius:18px;background:#ffffff0d;text-align:center}
.calc-result strong{display:block;color:#fff;font-size:40px;letter-spacing:-.05em}.calc-result span{color:#b9c9c5}
.faq{display:grid;gap:10px}.faq-item{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff}
.faq-question{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;padding:18px 20px;color:var(--ink);background:transparent;font-weight:760;text-align:left;cursor:pointer}
.faq-question:after{content:"+";color:var(--accent);font-size:24px}.faq-question[aria-expanded=true]:after{content:"−"}
.faq-answer{display:none;padding:0 20px 18px;color:var(--muted)}.faq-answer.open{display:block}
.contact{display:flex;align-items:center;justify-content:space-between;gap:25px;border-radius:24px;padding:34px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,white),#fff)}
.demo-form{display:flex;gap:8px}.demo-form input{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:#fff}
.form-note{min-height:25px;margin:8px 0 0;color:#24785f;font-size:13px}
footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:13px}.foot{display:flex;justify-content:space-between;gap:20px}
.reveal{opacity:0;transform:translateY(14px);transition:.55s ease}.reveal.visible{opacity:1;transform:none}

/* Local-only interaction archetypes used by the category templates. */
.archetype{border:1px solid var(--line);border-radius:26px;padding:28px;background:#fff;box-shadow:var(--shadow)}
.archetype-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.archetype-head h2{margin-bottom:7px}
.local-art{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:20px;background:#eef5f3}
.feature-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr);gap:25px;align-items:start}
.filter-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px}
.filter-search{flex:1 1 220px;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:9px 13px;background:#fff}
.filter-chip,.choice-chip{min-height:42px;border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--muted);background:#fff;font-weight:700;cursor:pointer}
.filter-chip[aria-pressed=true],.choice-chip[aria-pressed=true]{border-color:var(--accent);color:#fff;background:var(--accent)}
.result-count{margin-left:auto;color:var(--muted);font-size:14px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.catalog-card{position:relative;min-height:154px;border:1px solid var(--line);border-radius:17px;padding:20px;background:linear-gradient(145deg,#fff,#f8fbfa)}
.catalog-card[hidden]{display:none}.catalog-card small{display:block;margin-bottom:10px;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.catalog-card h3{margin:0 0 7px}.catalog-card p{margin:0;color:var(--muted);font-size:14px}
.gallery-stage{display:grid;gap:12px}.gallery-stage>img{aspect-ratio:12/7;object-fit:cover}.gallery-caption{min-height:26px;margin:0;color:var(--muted)}
.gallery-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-choice{border:2px solid transparent;border-radius:16px;padding:0;background:transparent;cursor:pointer}
.gallery-choice[aria-pressed=true]{border-color:var(--accent)}.gallery-choice img{display:block;width:100%;aspect-ratio:12/7;border-radius:13px;object-fit:cover}
.smart-calculator{display:grid;grid-template-columns:1fr .88fr;gap:28px;padding:30px;border-radius:26px;color:#fff;background:#10231f;box-shadow:var(--shadow)}
.smart-calculator p,.smart-calculator label{color:#b9c9c5}.calc-controls{display:grid;gap:13px}.calc-controls select{width:100%;min-height:45px;border:1px solid #ffffff25;border-radius:12px;padding:8px 11px;color:#10231f;background:#fff}
.calc-visual{display:grid;align-content:center;gap:18px}.calc-visual .local-art{border-color:#ffffff22}.calc-total{border:1px solid #ffffff20;border-radius:18px;padding:18px;background:#ffffff0d;text-align:center}
.calc-total strong{display:block;font-size:clamp(34px,5vw,52px);letter-spacing:-.05em}
.schedule-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:25px}.schedule-picker{display:grid;align-content:start;gap:20px}.choice-row{display:flex;flex-wrap:wrap;gap:9px}
.schedule-result{border-radius:18px;padding:20px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.schedule-result strong{display:block;margin-top:5px;font-size:25px}
.service-board{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;border-radius:26px;padding:28px;color:#fff;background:#10231f;box-shadow:var(--shadow)}
.service-board .local-art{border-color:#ffffff20}.service-controls{display:grid;align-content:start;gap:18px}.service-controls .choice-chip{border-color:#ffffff25;color:#c9d6d2;background:#ffffff0b}
.service-controls .choice-chip[aria-pressed=true]{border-color:var(--accent-2);color:#10231f;background:var(--accent-2)}
.status-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-metric{border:1px solid #ffffff1d;border-radius:16px;padding:15px;background:#ffffff09}.status-metric strong{display:block;color:#fff;font-size:27px}
.endpoint-box{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #ffffff20;border-radius:14px;padding:12px}.endpoint-box code{overflow-wrap:anywhere;color:#bcefe1}
.endpoint-box button{min-width:max-content;border:0;border-radius:9px;padding:7px 10px;color:#10231f;background:var(--accent-2);font-weight:750;cursor:pointer}

:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:3px}
@media(max-width:850px){.nav nav a:not(.button){display:none}.hero{grid-template-columns:1fr;gap:38px;padding-top:44px}.panel{max-width:650px}.tab-panel{grid-template-columns:1fr}.calculator,.feature-layout,.smart-calculator,.schedule-layout,.service-board{grid-template-columns:1fr}.contact{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.wrap{width:min(100% - 26px,1160px)}.metric-grid{grid-template-columns:1fr}.metric:nth-child(n+2){display:none}.visual{height:130px}.actions,.demo-form{align-items:stretch;flex-direction:column}.contact,.archetype,.smart-calculator,.service-board{padding:22px}.archetype-head{align-items:flex-start;flex-direction:column}.catalog-grid,.status-metrics{grid-template-columns:1fr}.gallery-thumbs{gap:6px}.foot{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.visual i,.reveal{animation:none;transition:none;opacity:1;transform:none}}
