:root{--bg:#f7f6f2;--ink:#1d2725;--mut:#6b736f;--g:#1f5e55;--g2:#2f7a6e;--line:#e6e2d8;--sand:#7d6638;--card:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 18px/1.6 'Assistant','Heebo',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;height:auto;display:block}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px 6vw;background:rgba(247,246,242,.82);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(0,0,0,.04)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:600;color:var(--g)}
nav a{margin-inline-start:26px;text-decoration:none;font-size:15px;color:var(--mut);transition:color .2s}nav a:hover{color:var(--g)}
main>section{max-width:1120px;margin:0 auto;padding:clamp(72px,12vw,150px) 6vw}
.hero{text-align:center;min-height:78vh;display:flex;flex-direction:column;justify-content:center}
.eyebrow{letter-spacing:.2em;color:var(--sand);font-size:14px;margin:0 0 18px}
h1{font-weight:300;font-size:clamp(46px,8.5vw,104px);line-height:1.02;letter-spacing:-.02em;margin:0;color:var(--g)}
.lead{font-size:clamp(19px,2.1vw,24px);color:var(--mut);max-width:30ch;margin:28px auto 44px;font-weight:300}
.ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 34px;border-radius:999px;text-decoration:none;font-weight:600;font-size:17px;transition:transform .3s,background .3s,box-shadow .3s}
.btn.primary{background:var(--g);color:#fff}.btn.primary:hover{background:var(--g2);transform:translateY(-2px);box-shadow:0 10px 30px rgba(31,94,85,.22)}
.btn.ghost{border:1px solid var(--line);color:var(--g);background:#fff}.btn.ghost:hover{border-color:var(--g)}
.btn.sm{padding:11px 24px;font-size:15px;margin-top:18px}
.sec{font-weight:300;font-size:clamp(32px,4.6vw,54px);letter-spacing:-.01em;text-align:center;margin:0 0 56px;color:var(--ink)}
.sub{text-align:center;color:var(--mut);margin:-40px 0 48px}
.entry{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding-top:0!important}
.tile{background:var(--card);border-radius:22px;padding:34px 10px;text-align:center;text-decoration:none;transition:transform .4s,box-shadow .4s}
.tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.06)}
.tile h2{font-size:17px;font-weight:600;margin:10px 0 0}.ic{font-size:30px;color:var(--g2)}.sat{color:#c58a1b}.ind{color:#634aa8}.hyb{color:#4558b0}
.bgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.branch{background:var(--card);border-radius:28px;overflow:hidden}
.branch img{aspect-ratio:16/10;object-fit:cover;width:100%;transition:transform 1.2s}.branch:hover img{transform:scale(1.03)}
.bbody{padding:28px 32px 34px}.bbody h3{font-size:30px;font-weight:600;margin:0;color:var(--g)}.bbody>p{margin:4px 0 12px;color:var(--mut)}
details summary{cursor:pointer;list-style:none;color:var(--g2);font-weight:600;font-size:15px}details summary::-webkit-details-marker{display:none}
details summary::after{content:'+';margin-inline-start:8px;transition:transform .3s;display:inline-block}details[open] summary::after{transform:rotate(45deg)}
details p{font-size:15px;color:var(--mut);margin:8px 0}
mark{background:#fff3cd;color:#7a5a00;font-size:12px;padding:1px 7px;border-radius:6px;margin-inline-start:6px}
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
figure{margin:0}figure img,.ph{border-radius:20px;aspect-ratio:16/9;object-fit:cover;width:100%}
.ph{background:linear-gradient(135deg,#eef3ef,#e9e4d8);display:grid;place-items:center;color:var(--mut)}
figcaption{margin-top:12px;font-weight:600;text-align:center}
.syms{text-align:center;margin-top:48px}.symrow{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:22px;font-size:14px;color:var(--mut)}.symrow img{margin:0 auto 6px}
.faq{max-width:760px!important}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-size:19px;color:var(--ink);font-weight:400;display:flex;justify-content:space-between}
footer{border-top:1px solid var(--line);text-align:center;padding:64px 6vw;color:var(--mut);font-size:15px;display:grid;gap:8px;justify-items:center}
footer b{color:var(--ink);margin-inline-end:6px}.mock{color:#b07a00;font-size:12px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}

@media (max-width:760px){body{font-size:17px}nav a{margin-inline-start:16px}.entry{grid-template-columns:repeat(3,1fr)}.entry .tile:nth-child(n+4){grid-column:span 1}.bgrid,.lgrid{grid-template-columns:1fr}
/* polish v2 */
body{background:radial-gradient(1200px 600px at 50% -10%,#eaf1ec 0,transparent 60%),var(--bg);text-rendering:optimizeLegibility}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:#cfe3dc;color:var(--g)}
.top{transition:box-shadow .4s,background .4s}.top.scrolled{box-shadow:0 8px 30px rgba(29,39,37,.06);background:rgba(247,246,242,.92)}
nav a{position:relative}nav a::after{content:'';position:absolute;inset-inline:0;bottom:-4px;height:1px;background:var(--g);transform:scaleX(0);transition:transform .35s cubic-bezier(.2,.7,.2,1)}nav a:hover::after{transform:scaleX(1)}
.hero{position:relative;isolation:isolate}
.aura{position:absolute;z-index:-1;inset:8% 10%;border-radius:50%;background:radial-gradient(closest-side,rgba(47,122,110,.16),transparent 70%),radial-gradient(closest-side at 70% 60%,rgba(197,138,27,.10),transparent 70%);filter:blur(30px);animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(3%,-4%,0) scale(1.08)}}
h1{background:linear-gradient(180deg,#24695f,#173f39);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.eyebrow{display:inline-flex;align-self:center;gap:10px;align-items:center;padding:7px 18px;border:1px solid rgba(125,102,56,.22);border-radius:999px;background:rgba(255,255,255,.5);backdrop-filter:blur(6px)}
.hero>*{opacity:0;transform:translateY(16px);animation:rise 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.hero>.aura{opacity:1;transform:none}
.hero h1{animation-delay:.12s}.hero .lead{animation-delay:.26s}.hero .ctas{animation-delay:.4s}
@keyframes rise{to{opacity:1;transform:none}}
.btn.primary{background:linear-gradient(180deg,#26705f,var(--g));box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 6px 18px rgba(31,94,85,.18)}
.btn:active{transform:scale(.98)}
.btn:focus-visible,.tile:focus-visible,summary:focus-visible{outline:2px solid var(--g2);outline-offset:3px}
.sec::after{content:'';display:block;width:40px;height:1px;background:var(--sand);opacity:.5;margin:26px auto 0}
.tile,.branch,figure img,.ph{box-shadow:0 1px 2px rgba(29,39,37,.04),0 0 0 1px rgba(29,39,37,.04)}
.tile{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.tile .ic{display:inline-block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.tile:hover .ic{transform:translateY(-3px) scale(1.12)}
.branch{transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s}.branch:hover{transform:translateY(-4px);box-shadow:0 30px 60px rgba(29,39,37,.08)}
figure{overflow:hidden;border-radius:20px}figure img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}figure:hover img{transform:scale(1.04)}
figcaption{padding-bottom:4px}
main>section+section{position:relative}main>section+section::before{content:'';position:absolute;top:0;inset-inline:30%;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}
.entry::before{display:none}
.faq summary{transition:color .25s}.faq summary:hover{color:var(--g)}
.faq details[open] p{animation:rise .5s ease forwards}
footer{background:linear-gradient(180deg,transparent,rgba(31,94,85,.04))}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.hero>*{opacity:1;transform:none}}
