:root{--ink:#071722;--ink2:#0d2635;--panel:#102e3f;--blue:#1f658d;--blue2:#2f7ead;--sky:#75c8f2;--red:#c92037;--red2:#e34255;--mist:#eef4f7;--white:#fff;--muted:#627985;--line:#d9e4e9;--shadow:0 24px 70px rgba(7,23,34,.14);--radius:24px;--max:1180px;--navh:88px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--navh) + 18px)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.58;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;font-weight:800;font-size:.75rem;letter-spacing:.15em;color:var(--blue)}.eyebrow:before{content:"";width:24px;height:2px;background:var(--red)}h1,h2,h3{line-height:1.05;margin:0 0 18px;letter-spacing:-.035em}h1{font-size:clamp(3rem,7vw,6.7rem);font-weight:850}h2{font-size:clamp(2.1rem,4.4vw,4.2rem);font-weight:820}h3{font-size:1.35rem;font-weight:800}p{margin:0 0 18px}.lead{font-size:clamp(1.08rem,1.6vw,1.3rem);color:#496471;max-width:720px}.section{padding:96px 0}.section-tight{padding:66px 0}.section-dark{background:var(--ink);color:#fff}.section-dark .lead,.section-dark .muted{color:#acc0ca}.section-mist{background:var(--mist)}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 22px;border-radius:999px;background:var(--red);color:#fff;font-weight:800;border:1px solid transparent;transition:.25s transform,.25s background,.25s box-shadow}.btn:hover,.btn:focus-visible{transform:translateY(-2px);background:#ac172a;box-shadow:0 12px 28px rgba(201,32,55,.24)}.btn.secondary{background:transparent;color:var(--ink);border-color:#aabdc6}.section-dark .btn.secondary,.hero .btn.secondary{color:#fff;border-color:#4e6875}.btn.secondary:hover{background:rgba(255,255,255,.08);box-shadow:none}.btn.blue{background:var(--blue)}.btn.blue:hover{background:#174e6d}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.pill{display:inline-flex;padding:8px 12px;border-radius:999px;background:#e1edf2;color:#26536a;font-size:.82rem;font-weight:800}.muted{color:var(--muted)}
.skip{position:fixed;z-index:999;top:8px;left:8px;transform:translateY(-150%);background:#fff;color:#000;padding:10px 14px;border-radius:8px}.skip:focus{transform:none}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(10,49,70,.09)}.nav-shell{height:var(--navh);display:grid;grid-template-columns:220px 1fr 220px;align-items:center;gap:20px}.brand img{width:190px}.desktop-nav{justify-self:center;display:flex;align-items:center;gap:3px}.nav-link,.nav-trigger{display:flex;align-items:center;gap:6px;padding:13px 12px;border:0;background:none;color:#173242;font-weight:760;border-radius:12px}.nav-link:hover,.nav-trigger:hover,.nav-link:focus-visible,.nav-trigger:focus-visible,.nav-link.active{background:#edf4f7;color:var(--blue)}.nav-cta{justify-self:end}.dropdown{position:relative}.dropdown:after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}.dropdown-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,8px);min-width:270px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:0 24px 60px rgba(8,28,41,.18);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}.dropdown.open .dropdown-menu,.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.dropdown-menu a{display:block;padding:11px 13px;border-radius:10px;font-weight:700;color:#294857}.dropdown-menu a:hover,.dropdown-menu a:focus-visible{background:#edf4f7;color:var(--blue)}.mobile-toggle,.mobile-panel{display:none}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#061520 0%,#0d2a3b 66%,#13384b 100%);color:#fff;min-height:calc(100vh - var(--navh));display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 20%,rgba(62,148,194,.24),transparent 35%),linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.035) 50%,transparent 50.2%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding:74px 0}.hero h1 em{font-style:normal;color:#77c9f4}.hero-copy{max-width:670px}.hero-copy .lead{color:#bad0da}.hero-visual{position:relative}.hero-visual img{filter:drop-shadow(0 28px 45px rgba(0,0,0,.28));animation:float 8s ease-in-out infinite}.hero-callout{position:absolute;right:-10px;bottom:22px;background:#fff;color:var(--ink);border-radius:18px;padding:17px 19px;box-shadow:var(--shadow);width:min(250px,50%)}.hero-callout strong{display:block;font-size:1.08rem}.hero-callout span{color:#607784;font-size:.88rem}.hero-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero-facts span{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#d9e6eb;font-size:.88rem;font-weight:700}@keyframes float{50%{transform:translateY(-10px)}}
.problem-bar{position:relative;margin-top:-34px;z-index:5}.problem-panel{background:#fff;border:1px solid #dfe8ec;border-radius:26px;box-shadow:var(--shadow);padding:24px;display:grid;grid-template-columns:1.1fr 2fr;gap:24px;align-items:center}.problem-panel h3{margin:0}.problem-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.problem-option{padding:14px 12px;border:1px solid #d9e4e9;border-radius:14px;background:#f9fbfc;text-align:left;color:#244655;font-weight:750;transition:.2s}.problem-option:hover,.problem-option.active{border-color:#4c91b7;background:#edf7fb;color:#0c5d86}.problem-answer{grid-column:1/-1;border-top:1px solid #e2eaee;padding-top:18px;display:none}.problem-answer.visible{display:flex;justify-content:space-between;gap:24px;align-items:center}.problem-answer p{margin:0;color:#496471}.problem-answer strong{color:#112f40}
.history-band{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}.year-block{position:sticky;top:130px;border-left:6px solid var(--red);padding-left:28px}.year-block .year{font-size:clamp(5rem,12vw,9rem);font-weight:900;line-height:.8;color:var(--ink);letter-spacing:-.08em}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:96px 1fr;gap:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.timeline-item .date{font-weight:900;color:var(--red);font-size:1.05rem}.timeline-item p{margin:0;color:#54707c}
.service-card{position:relative;overflow:hidden;border-radius:24px;background:#fff;border:1px solid var(--line);padding:28px;min-height:290px;display:flex;flex-direction:column;transition:.25s transform,.25s box-shadow}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card .num{font-weight:900;color:#b4c7cf;font-size:.8rem;letter-spacing:.14em}.service-card .icon{width:50px;height:50px;border-radius:14px;background:#eaf4f8;display:grid;place-items:center;margin:24px 0;color:var(--blue)}.service-card p{color:#627985}.service-card a{margin-top:auto;font-weight:850;color:var(--blue)}.service-card:after{content:"";position:absolute;right:-40px;bottom:-50px;width:130px;height:130px;border:20px solid #eff5f7;border-radius:50%}
.system-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:34px}.system-pill{border:1px solid #47616d;background:#0e2b3c;padding:18px 14px;border-radius:16px;text-align:center}.system-pill b{display:block;color:#fff;margin-bottom:5px}.system-pill span{color:#9db5c0;font-size:.82rem}
.project-strip{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:center}.project-strip img{border-radius:24px}.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:34px}.project-card{grid-column:span 4;border-radius:24px;background:#102e3f;color:#fff;overflow:hidden;min-height:330px;display:flex;flex-direction:column;position:relative}.project-card.large{grid-column:span 8}.project-art{height:170px;background:linear-gradient(135deg,#183c52,#0c2432);position:relative;overflow:hidden}.project-art:before,.project-art:after{content:"";position:absolute;border-radius:50%;border:16px solid rgba(111,196,240,.35)}.project-art:before{width:115px;height:115px;right:30px;top:18px}.project-art:after{width:56px;height:56px;right:92px;top:48px;border-width:8px}.project-card:nth-child(even) .project-art:before{border-color:rgba(224,65,82,.38)}.project-card .body{padding:24px;display:flex;flex-direction:column;flex:1}.project-card p{color:#aec2cb}.project-card .meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.project-card .meta span{font-size:.74rem;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.08);color:#cfe0e7}.project-card button{margin-top:auto;align-self:flex-start;border:0;background:none;color:#7ed0f8;padding:0;font-weight:850}.filterbar{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.filterbar button{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:999px;font-weight:800;color:#365665}.filterbar button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.detail-drawer{position:fixed;inset:0;z-index:300;background:rgba(3,15,22,.72);display:none;align-items:center;justify-content:center;padding:20px}.detail-drawer.open{display:flex}.detail-panel{width:min(680px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:26px;padding:32px;position:relative}.detail-panel .close{position:absolute;right:18px;top:18px;width:40px;height:40px;border:0;border-radius:50%;background:#edf3f6;font-size:22px}.detail-panel .factbox{background:#eef5f8;border-radius:16px;padding:18px;margin:18px 0;color:#47616d}.detail-panel .factbox strong{color:#143246}
.feature-panel{background:linear-gradient(135deg,#0b2230,#13384b);border-radius:30px;padding:34px;color:#fff;box-shadow:var(--shadow)}.feature-panel img{border-radius:18px;margin:20px 0}.feature-panel p{color:#b3c8d2}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.stat{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:16px}.stat strong{display:block;font-size:1.35rem;color:#fff}.stat span{color:#a9bec8;font-size:.85rem}
.page-hero{background:linear-gradient(125deg,#061520,#12384b);color:#fff;padding:86px 0 74px;overflow:hidden;position:relative}.page-hero:after{content:"";position:absolute;width:420px;height:420px;border:70px solid rgba(87,165,205,.08);border-radius:50%;right:-120px;top:-160px}.page-hero .lead{color:#b6cad3}.page-hero h1{font-size:clamp(3rem,6vw,5.6rem);max-width:900px}.breadcrumb{display:flex;gap:10px;color:#9fb6c1;font-size:.85rem;margin-bottom:24px}.breadcrumb a{color:#d7e4ea}.content-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px}.content-card p:last-child{margin-bottom:0}.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}.decision{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}.decision b{display:block;margin-bottom:8px;color:#143448}.decision span{color:#637c88}.steps{counter-reset:steps;display:grid;gap:14px}.step{position:relative;padding:22px 22px 22px 82px;border:1px solid var(--line);border-radius:18px}.step:before{counter-increment:steps;content:counter(steps);position:absolute;left:20px;top:20px;width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:900}.step p{margin:0;color:#5d7480}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;align-items:start}.contact-card{background:var(--ink);color:#fff;border-radius:28px;padding:32px;position:sticky;top:120px}.contact-card a{display:block;font-size:1.2rem;font-weight:850;margin:8px 0;color:#fff}.contact-card small{color:#9fb6c1}.contact-list{display:grid;gap:18px;margin-top:28px}.contact-row{padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}.form-card{border:1px solid var(--line);border-radius:28px;padding:32px;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;color:#254555;font-size:.9rem}.field input,.field textarea,.field select{width:100%;border:1px solid #cddbe2;border-radius:13px;padding:13px 14px;background:#fbfdfe;color:#143246}.field textarea{min-height:135px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid rgba(47,126,173,.16);border-color:#4b91b7}.form-note{font-size:.83rem;color:#6a808b;margin-top:14px}.map-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:#7bd0f8!important;font-size:.95rem!important}
.accreditation{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#f8fbfc}.accreditation .badge{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e4f1f7;color:var(--blue);font-weight:900}.accreditation p{margin:0;color:#59717d}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.team-card{border:1px solid var(--line);border-radius:20px;padding:24px}.team-card small{color:var(--red);font-weight:800}.team-card p{color:#617985}.legal{max-width:840px}.legal h2{font-size:2rem;margin-top:44px}.legal h3{font-size:1.2rem;margin-top:28px}.legal ul{padding-left:20px;color:#506c79}
.cta-band{padding:42px;border-radius:30px;background:linear-gradient(135deg,#c92037,#9e1024);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-band h2{font-size:clamp(2rem,4vw,3.7rem);max-width:760px}.cta-band p{color:#f5cbd1}.cta-band .btn{background:#fff;color:#9f1425}.cta-band .btn:hover{background:#f5f8fa}
.site-footer{background:#06151f;color:#dce8ed;padding:62px 0 26px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:34px}.footer-brand img{width:200px;filter:brightness(0) invert(1);opacity:.95}.footer-brand p{color:#96aeb9;max-width:320px}.site-footer h3{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:#fff}.site-footer a{display:block;padding:5px 0;color:#9fb6c1}.site-footer a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;margin-top:38px;color:#819ca8;font-size:.84rem}.footer-bottom a{display:inline;color:#a7bec8}.note-box{border-left:4px solid var(--blue);background:#edf5f8;padding:18px 20px;border-radius:0 14px 14px 0;color:#466270}.error-page{min-height:70vh;display:grid;place-items:center;text-align:center}.error-page .code{font-size:clamp(6rem,20vw,13rem);line-height:.8;font-weight:900;color:#e5eef2;letter-spacing:-.08em}
@media(max-width:1160px){:root{--navh:76px}.nav-shell{grid-template-columns:1fr auto;height:var(--navh)}.desktop-nav,.nav-cta{display:none}.mobile-toggle{display:flex;width:48px;height:48px;border:1px solid var(--line);border-radius:14px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px}.mobile-toggle span{width:21px;height:2px;background:#173444}.mobile-panel{display:none;position:fixed;left:0;right:0;top:var(--navh);height:calc(100dvh - var(--navh));background:#fff;padding:20px;overflow:auto;border-top:1px solid var(--line)}.mobile-panel.open{display:block}.mobile-panel a,.mobile-sub-trigger{display:flex;width:100%;justify-content:space-between;padding:15px 8px;border-bottom:1px solid #e6edf0;font-weight:800;border-left:0;border-right:0;border-top:0;background:#fff;color:#173444;text-align:left}.mobile-sub{display:none;padding:0 0 8px 18px}.mobile-sub.open{display:block}.mobile-sub a{font-weight:700;color:#4d6773}.hero-grid{grid-template-columns:1fr;gap:34px;padding:58px 0 88px}.hero-copy{max-width:800px}.hero-visual{width:min(780px,100%);margin:auto}.split{gap:40px}.system-grid{grid-template-columns:repeat(3,1fr)}.project-card,.project-card.large{grid-column:span 6}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.container{width:min(calc(100% - 28px),var(--max))}.section{padding:72px 0}.grid-3,.grid-4,.grid-2,.split,.contact-grid,.history-band,.project-strip{grid-template-columns:1fr}.problem-panel{grid-template-columns:1fr}.problem-options{grid-template-columns:1fr 1fr}.problem-answer.visible{align-items:flex-start;flex-direction:column}.year-block{position:static}.timeline-item{grid-template-columns:76px 1fr}.decision-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr}.contact-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.cta-band{align-items:flex-start;flex-direction:column}.portfolio-grid{grid-template-columns:1fr}.project-card,.project-card.large{grid-column:auto}.page-hero{padding:64px 0 58px}.hero-callout{right:8px;bottom:8px}.system-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.brand img{width:160px}.hero{min-height:auto}.hero-grid{padding:48px 0 78px}.hero h1{font-size:clamp(2.7rem,14vw,4.5rem)}.hero-callout{position:relative;right:auto;bottom:auto;width:auto;margin-top:-22px;margin-inline:10px}.problem-options,.form-grid,.team-grid,.footer-grid,.stat-row{grid-template-columns:1fr}.problem-bar{margin-top:-24px}.problem-panel{padding:18px}.service-card,.form-card,.contact-card{padding:24px}.system-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr;gap:6px}.cta-band{padding:28px}.footer-bottom{flex-direction:column}.page-hero h1{font-size:clamp(2.7rem,13vw,4rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
