:root { --pub-ink:#102a2c; --pub-muted:#607572; --pub-brand:#177b73; --pub-deep:#0b3435; --pub-line:#d9e4e1; --pub-soft:#f2f7f5; }
* { box-sizing:border-box; }
html { min-width:320px; scroll-behavior:smooth; }
body { margin:0; color:var(--pub-ink); background:#f8fbfa; font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.public-shell { width:min(1180px,calc(100% - 36px)); margin-inline:auto; }
.public-header { position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(16,42,44,.1); background:rgba(248,251,250,.92); backdrop-filter:blur(14px); }
.public-nav { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.public-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-weight:950; letter-spacing:.02em; }
.public-brand-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:#fff; background:var(--pub-deep); }
.public-links { display:flex; align-items:center; gap:5px; }
.public-links a { min-height:42px; display:inline-flex; align-items:center; padding:8px 11px; border-radius:10px; color:#4c625f; font-size:13px; font-weight:750; text-decoration:none; }
.public-links a:hover,.public-links a[aria-current="page"] { color:var(--pub-deep); background:#e9f2ef; }
.public-actions { display:flex; gap:8px; }
.public-button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 16px; border:1px solid var(--pub-line); border-radius:11px; color:var(--pub-deep); background:#fff; font-size:13px; font-weight:900; text-decoration:none; }
.public-button.primary { border-color:var(--pub-brand); color:#fff; background:var(--pub-brand); }
.public-button:hover { transform:translateY(-1px); box-shadow:0 7px 18px rgba(14,62,58,.12); }
.public-menu { display:none; position:relative; }
.public-menu summary { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--pub-line); border-radius:11px; cursor:pointer; list-style:none; }
.public-menu summary::-webkit-details-marker { display:none; }
.public-menu-panel { position:absolute; right:0; top:52px; width:min(310px,calc(100vw - 36px)); display:grid; gap:5px; padding:10px; border:1px solid var(--pub-line); border-radius:14px; background:#fff; box-shadow:0 18px 45px rgba(16,42,44,.16); }
.public-menu-panel a { min-height:44px; display:flex; align-items:center; padding:10px 12px; border-radius:9px; text-decoration:none; font-size:14px; font-weight:750; }
.public-menu-panel a:hover { background:var(--pub-soft); }
.public-hero { position:relative; overflow:hidden; padding:clamp(76px,10vw,132px) 0 clamp(62px,8vw,104px); color:#eefcf8; background:var(--pub-deep); }
.public-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),radial-gradient(circle at 82% 12%,rgba(45,212,191,.25),transparent 28rem); background-size:48px 48px,48px 48px,auto; }
.public-hero .public-shell { position:relative; }
.public-eyebrow { display:inline-flex; align-items:center; gap:9px; color:#99f6e4; font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.public-eyebrow::before { content:""; width:28px; height:2px; background:#5eead4; }
.public-hero h1 { max-width:820px; margin:20px 0; font-size:clamp(2.5rem,6vw,5.2rem); line-height:.98; letter-spacing:-.05em; text-wrap:balance; }
.public-hero p { max-width:680px; margin:0; color:#c4dcd7; font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.7; }
.public-section { padding:clamp(58px,8vw,100px) 0; }
.public-section.alt { background:#edf4f1; }
.public-section h2 { max-width:720px; margin:0 0 14px; font-size:clamp(1.8rem,4vw,3rem); line-height:1.08; letter-spacing:-.035em; }
.public-lead { max-width:720px; margin:0 0 34px; color:var(--pub-muted); line-height:1.7; }
.public-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.public-card { min-width:0; padding:24px; border:1px solid var(--pub-line); border-radius:16px; background:#fff; }
.public-card i { color:var(--pub-brand); font-size:20px; }
.public-card h3 { margin:18px 0 8px; font-size:17px; }
.public-card p { margin:0; color:var(--pub-muted); font-size:13px; line-height:1.65; }
.public-timeline { max-width:820px; display:grid; gap:0; }
.public-milestone { position:relative; display:grid; grid-template-columns:100px 1fr; gap:24px; padding:0 0 36px; }
.public-milestone::before { content:""; position:absolute; left:91px; top:20px; bottom:-2px; width:1px; background:#bdd0cb; }
.public-milestone:last-child::before { display:none; }
.public-milestone strong { color:var(--pub-brand); font-size:13px; }
.public-milestone div { position:relative; padding-left:20px; }
.public-milestone div::before { content:""; position:absolute; left:-13px; top:5px; width:11px; height:11px; border:3px solid #edf4f1; border-radius:50%; background:var(--pub-brand); box-shadow:0 0 0 1px var(--pub-brand); }
.public-milestone h3 { margin:0 0 7px; font-size:18px; }
.public-milestone p { margin:0; color:var(--pub-muted); font-size:13px; line-height:1.65; }
.clients-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.client-card { min-height:150px; display:grid; place-items:center; align-content:center; gap:14px; padding:22px; border:1px solid var(--pub-line); border-radius:16px; background:#fff; text-align:center; }
.client-card img { width:72px; height:72px; object-fit:contain; border-radius:14px; }
.client-card strong { font-size:14px; overflow-wrap:anywhere; }
.client-placeholder { width:72px; height:72px; display:grid; place-items:center; border-radius:14px; color:#fff; background:var(--pub-deep); font-size:22px; font-weight:950; }
.public-state { max-width:680px; padding:28px; border:1px dashed #a9c0ba; border-radius:16px; background:#fff; text-align:center; }
.public-state i { color:var(--pub-brand); font-size:26px; }
.public-state h3 { margin:14px 0 8px; }
.public-state p { margin:0; color:var(--pub-muted); font-size:13px; line-height:1.6; }
.public-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:32px; border-radius:20px; color:#eafff8; background:var(--pub-deep); }
.public-cta h2 { margin:0 0 8px; font-size:clamp(1.5rem,3vw,2.4rem); }
.public-cta p { margin:0; color:#bad5cf; }
.public-footer { padding:30px 0; border-top:1px solid var(--pub-line); color:#657975; font-size:12px; }
.public-footer .public-shell { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.public-footer nav { display:flex; gap:16px; flex-wrap:wrap; }
:focus-visible { outline:3px solid rgba(15,143,132,.38); outline-offset:3px; }
@media(max-width:900px){.public-links,.public-actions{display:none}.public-menu{display:block}.public-grid,.clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.public-shell{width:min(100% - 28px,1180px)}.public-grid,.clients-grid{grid-template-columns:1fr}.public-milestone{grid-template-columns:70px 1fr;gap:12px}.public-milestone::before{left:64px}.public-cta{align-items:flex-start;flex-direction:column}.public-cta .public-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

