:root{--brand:#073d47;--brand-deep:#052f36;--brand-soft:#0c5963;--mist:#d9e6e4;--mist-deep:#b9cecb;--paper:#f6f5f0;--white:#fff;--ink:#122022;--muted:#5b6968;--line:#073d472e;--line-light:#fff3;--shadow:0 24px 70px #052f3629;--header:82px;--radius:4px;--serif:Georgia, "Times New Roman", serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;scroll-padding-top:calc(var(--header) + 24px);overflow-x:clip}body{color:var(--ink);background:var(--paper);font-family:var(--sans);margin:0;font-size:16px;line-height:1.65;overflow-x:clip}body,button,input,textarea,select{font:inherit}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{color:inherit}p{color:var(--muted);text-wrap:pretty;margin:0 0 1.15em}h1,h2,h3{text-wrap:balance;margin:0}h1,h2{font-family:var(--serif);letter-spacing:-.045em;font-weight:500;line-height:.98}h1{font-size:clamp(3.25rem,7vw,7.6rem)}h2{font-size:clamp(2.5rem,5.2vw,5.35rem)}h3{font-size:1.12rem;line-height:1.3}address{font-style:normal}:focus-visible{outline-offset:4px;outline:3px solid #f2b84b}::selection{color:var(--white);background:var(--brand-soft)}.container{width:min(1280px,100% - 48px);margin-inline:auto}.section{padding:clamp(88px,10vw,150px) 0}.eyebrow{color:var(--brand-soft);letter-spacing:.15em;text-transform:uppercase;margin:0 0 22px;font-size:.74rem;font-weight:800;line-height:1.3}.body-large,.body-large p{font-size:clamp(1.12rem,1.6vw,1.4rem);line-height:1.65}.page-lead{max-width:800px;margin:30px 0 0;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.65}.text-link{color:inherit;border-bottom:1px solid;align-items:center;gap:.55rem;padding-bottom:3px;font-weight:750;display:inline-flex}.text-link:hover span{transform:translate(3px,-3px)}.text-link span{transition:transform .2s}.button{text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;min-height:52px;padding:0 23px;font-weight:800;line-height:1.2;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--brand-deep);background:var(--mist)}.button-primary:hover{background:var(--white)}.button-ghost{color:var(--white);background:#ffffff0d;border-color:#ffffff8c}.button-ghost:hover{background:#ffffff1f}.button-group{flex-wrap:wrap;gap:12px;display:flex}.skip-link{z-index:999;color:var(--white);background:var(--brand);padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{z-index:80;height:var(--header);color:var(--ink);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f5f0f0;justify-content:space-between;align-items:center;gap:28px;padding:0 clamp(20px,4vw,64px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:220px;display:inline-flex}.brand img{object-fit:cover;border-radius:50%;width:48px;height:48px}.brand strong,.brand small{line-height:1;display:block}.brand strong{font-size:.92rem}.brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;font-size:.67rem}.main-nav{align-items:center;gap:clamp(16px,2vw,30px);font-size:.84rem;font-weight:720;display:flex}.main-nav>a:not(.nav-cta){padding-block:9px;position:relative}.main-nav>a:not(.nav-cta):after{content:"";background:var(--brand);transform-origin:100%;height:1px;transition:transform .2s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.main-nav>a:hover:after,.main-nav>a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.nav-cta{min-height:42px;color:var(--white);background:var(--brand);border-radius:999px;align-items:center;padding:0 17px;display:inline-flex}.menu-toggle{border:1px solid var(--line);background:0 0;border-radius:50%;width:44px;height:44px;display:none;position:relative}.menu-toggle span{background:currentColor;width:16px;height:2px;transition:transform .2s;position:absolute;left:13px}.menu-toggle span:first-child{transform:translateY(-4px)}.menu-toggle span:last-child{transform:translateY(4px)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.home-hero{min-height:calc(100svh - var(--header));color:var(--white);background:var(--brand-deep);align-items:end;display:grid;position:relative;overflow:hidden}.hero-photo{z-index:0;object-fit:cover;object-position:center}.hero-overlay{z-index:1;background:linear-gradient(90deg,#052f36f7 0%,#052f36d1 39%,#052f362e 78%),linear-gradient(#0000 55%,#052f368c);position:absolute;inset:0}.hero-copy{z-index:2;padding-top:90px;padding-bottom:clamp(58px,9vh,105px);position:relative}.hero-copy .eyebrow{color:var(--mist)}.hero-copy h1{max-width:850px}.hero-copy>p:not(.eyebrow){color:#ffffffd6;max-width:690px;margin:30px 0;font-size:clamp(1.08rem,1.7vw,1.35rem)}.hero-proof{border-left:1px solid #ffffff59;align-items:center;gap:16px;padding:18px 0 18px 25px;display:flex;position:absolute;bottom:clamp(58px,9vh,105px);right:0}.hero-proof strong{font-family:var(--serif);font-size:3.5rem;font-weight:500;line-height:.8}.hero-proof span{color:#fffc;font-size:.85rem;line-height:1.45}.split-heading,.section-heading{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:end;gap:clamp(44px,8vw,120px);display:grid}.split-heading h2,.section-heading h2{max-width:800px}.value-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:clamp(60px,8vw,105px);display:grid}.value-grid article{border-left:1px solid var(--line);padding:34px clamp(24px,3vw,42px) 42px}.value-grid article:first-child{border-left:0;padding-left:0}.value-grid span,.principle-grid span{color:var(--brand-soft);font-size:.72rem;font-weight:850}.value-grid h3,.principle-grid h3{margin:30px 0 10px}.value-grid p{margin-bottom:0}.services-home{background:var(--white)}.section-heading>.text-link{justify-self:end}.service-list-home{border-top:1px solid var(--line);margin-top:72px}.service-list-home>a{border-bottom:1px solid var(--line);grid-template-columns:70px minmax(230px,.8fr) minmax(280px,1.1fr) 32px;align-items:center;gap:24px;padding:28px 10px;transition:padding .2s,color .2s,background .2s;display:grid}.service-list-home>a:hover{color:var(--white);background:var(--brand);padding-inline:22px}.service-list-home>a:hover p{color:#ffffffc2}.service-list-home span{color:var(--brand-soft);font-size:.73rem;font-weight:800}.service-list-home>a:hover span{color:var(--mist)}.service-list-home p{margin:0}.service-list-home b{font-size:1.4rem}.portfolio-home{color:var(--white);background:var(--brand-deep)}.section-heading.light .eyebrow,.portfolio-home .project-card-copy p{color:var(--mist-deep)}.section-heading.light .text-link{color:var(--white)}.project-feature-grid{grid-template-rows:repeat(2,330px);grid-template-columns:1.25fr .75fr;gap:16px;margin-top:65px;display:grid}.project-feature-grid .featured{grid-row:span 2}.project-card{background:var(--brand);min-width:0;position:relative;overflow:hidden}.project-card>a{height:100%;display:block;position:relative}.project-image{position:absolute;inset:0}.project-image img{object-fit:cover;transition:transform .65s cubic-bezier(.2,.6,.2,1)}.project-card>a:after{content:"";background:linear-gradient(#0000 30%,#031b1feb);position:absolute;inset:0}.project-card:hover img{transform:scale(1.04)}.project-card-copy{z-index:2;color:var(--white);padding:clamp(22px,3vw,38px);position:absolute;bottom:0;left:0;right:0}.project-card-copy p{letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:.7rem;font-weight:800}.project-card-copy h3{max-width:590px;font-family:var(--serif);font-size:clamp(1.65rem,3vw,3rem);font-weight:500;line-height:1.02}.project-card-copy .text-link{margin-top:17px;font-size:.8rem}.method-section{background:var(--mist)}.method-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(55px,10vw,150px);display:grid}.method-grid>div{top:calc(var(--header) + 35px);align-self:start;position:sticky}.method-grid .body-large{margin-top:32px}.method-grid ol{border-top:1px solid #073d474d;margin:0;padding:0;list-style:none}.method-grid li{border-bottom:1px solid #073d474d;grid-template-columns:62px 1fr;gap:25px;padding:30px 0;display:grid}.method-grid li>span{color:var(--brand-soft);font-size:.72rem;font-weight:850}.method-grid h3{margin-bottom:8px;font-size:1.25rem}.method-grid li p{margin:0}.brands-home{background:var(--paper)}.section-heading>p{max-width:500px;margin:0}.brand-carousel{min-width:0;max-width:100%;margin-top:60px;position:relative;overflow:hidden}.carousel-controls{justify-content:flex-end;gap:8px;margin-bottom:18px;display:flex}.carousel-controls button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;width:46px;height:46px}.carousel-controls button:hover{color:var(--white);background:var(--brand)}.brand-track{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-color:var(--brand-soft) transparent;gap:14px;width:100%;max-width:100%;padding:2px 2px 18px;display:flex;overflow-x:auto}.brand-card{background:var(--white);border:1px solid var(--line);scroll-snap-align:start;grid-template-columns:118px 1fr;align-items:center;gap:24px;min-width:min(350px,84vw);padding:28px;display:grid}.brand-card img{object-fit:cover;width:118px;height:118px}.brand-card h3{margin:0}.contact-band{color:var(--white);text-align:center;background:var(--brand);padding:clamp(90px,11vw,155px) 0}.contact-band .container{justify-items:center;display:grid}.contact-band .eyebrow{color:var(--mist)}.contact-band h2{max-width:900px}.contact-band p:not(.eyebrow){color:#ffffffc2;max-width:620px;margin:25px auto 30px;font-size:1.1rem}.site-footer{color:var(--white);background:#0c181a;padding:75px 0 30px}.footer-grid{grid-template-columns:1.2fr .55fr .8fr;gap:60px;display:grid}.site-footer h2{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px;font-size:.76rem;font-weight:800}.footer-brand strong{font-family:var(--serif);font-size:2rem;font-weight:500}.site-footer p,.site-footer span{color:#ffffffa6}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:8px}.site-footer address{gap:9px;display:grid}.site-footer a:hover{text-underline-offset:4px;text-decoration:underline}.footer-bottom{border-top:1px solid #ffffff26;justify-content:space-between;gap:30px;margin-top:65px;padding-top:24px;font-size:.8rem;display:flex}.page-hero,.project-title{background:var(--mist);padding:clamp(70px,9vw,125px) 0 clamp(78px,9vw,130px)}.page-hero h1,.project-title h1{max-width:1100px;font-size:clamp(3.4rem,7vw,7.2rem)}.breadcrumbs{margin-bottom:clamp(55px,8vw,105px)}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";opacity:.55;margin-left:8px}.breadcrumbs a{text-underline-offset:4px;text-decoration:underline}.editorial-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(45px,8vw,110px);display:grid}.editorial-image{min-height:720px;position:relative}.editorial-image img{object-fit:cover}.editorial-grid h2{margin-bottom:35px}.principle-section{color:var(--white);background:var(--brand-deep)}.principle-section .eyebrow{color:var(--mist-deep)}.principle-grid{border-top:1px solid var(--line-light);grid-template-columns:repeat(2,1fr);margin-top:75px;display:grid}.principle-grid article{border-right:1px solid var(--line-light);border-bottom:1px solid var(--line-light);min-height:255px;padding:34px}.principle-grid article:nth-child(2n){border-right:0}.principle-grid span{color:var(--mist-deep)}.principle-grid h3{font-size:1.35rem}.principle-grid p{color:#ffffffad}.service-detail-list{border-top:1px solid var(--line)}.service-detail-list article{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr;gap:clamp(25px,5vw,80px);padding:clamp(45px,6vw,78px) 0;display:grid}.service-detail-list article>span{color:var(--brand-soft);font-size:.74rem;font-weight:850}.service-detail-list article>div{grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);display:grid}.service-detail-list h2{font-size:clamp(2.2rem,4.2vw,4.5rem)}.service-detail-list .body-large{color:var(--ink)}.execution-partner{background:var(--mist);padding:clamp(90px,10vw,145px) 0}.portfolio-index{padding-top:50px}.filter-bar{flex-wrap:wrap;gap:9px;margin-bottom:12px;display:flex}.filter-bar button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;min-height:44px;padding:0 16px}.filter-bar button[aria-pressed=true]{color:var(--white);background:var(--brand);border-color:var(--brand)}.filter-status{margin-bottom:35px;font-size:.82rem}.project-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.project-grid .project-card{min-height:520px}.project-title .eyebrow{margin-top:35px}.project-cover{height:min(72vw,850px);position:relative}.project-cover img{object-fit:cover}.project-info{grid-template-columns:1.2fr .55fr;gap:clamp(50px,10vw,150px);display:grid}.project-info .body-large{max-width:760px;color:var(--ink)}.project-info aside{border:1px solid var(--line);padding:30px}.project-info aside h2{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px;font-size:.78rem;font-weight:850}.project-info ul{margin:0;padding-left:18px}.project-info li+li{margin-top:8px}.project-gallery{grid-template-columns:repeat(2,1fr);gap:18px;padding-bottom:clamp(90px,10vw,150px);display:grid}.project-gallery figure{min-height:560px;margin:0;position:relative}.project-gallery figure.gallery-wide{grid-column:1/-1;min-height:720px}.project-gallery img{object-fit:cover}.partner-feature{grid-template-columns:.55fr 1.45fr;align-items:center;gap:clamp(50px,10vw,150px);display:grid}.partner-logo{background:#04043c;place-items:center;min-height:420px;display:grid}.partner-logo img{image-rendering:auto;width:min(260px,70%);height:auto}.partner-feature h2{margin-bottom:30px}.commercial-relations{background:var(--white)}.contact-layout{grid-template-columns:1.25fr .75fr;gap:clamp(55px,10vw,145px);display:grid}.contact-layout h2{margin-bottom:45px}.contact-form{gap:22px;display:grid}.form-row{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.contact-form label{color:var(--ink);gap:8px;font-size:.84rem;font-weight:750;display:grid}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:52px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:0;padding:13px 15px}.contact-form textarea{resize:vertical;min-height:150px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--brand-soft)}.contact-form .button{color:var(--white);background:var(--brand);cursor:pointer;border:0;justify-self:start}.form-disclosure{margin:-4px 0 0;font-size:.78rem}.contact-details{color:var(--white);background:var(--brand);align-content:start;gap:35px;padding:35px;display:grid}.contact-details h2{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.76rem;font-weight:800}.contact-details a,.contact-details address,.contact-details p{color:#ffffffc7;display:block}.contact-details a+a{margin-top:7px}.contact-details p{margin:0}.social-links{border-top:1px solid var(--line-light);flex-wrap:wrap;gap:18px;padding-top:20px;display:flex}.map-section{background:var(--mist);height:560px}.map-section iframe{border:0;width:100%;height:100%}.legal-content .container{max-width:850px}.legal-content h2{font-family:var(--sans);letter-spacing:0;margin:55px 0 20px;font-size:1.5rem;font-weight:760;line-height:1.25}.legal-content a{color:var(--brand-soft);text-decoration:underline}.not-found{background:var(--mist);align-items:center;min-height:70svh;padding:90px 0;display:grid}.not-found p:not(.eyebrow){margin:30px 0;font-size:1.2rem}.not-found .button{color:var(--white);background:var(--brand)}@media (width<=1120px){.main-nav{gap:14px}.main-nav>a:not(.nav-cta){display:none}.menu-toggle{order:3;display:block}.main-nav{width:min(390px,100vw - 40px);color:var(--ink);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);align-items:stretch;padding:15px;display:none;position:absolute;top:calc(100% + 10px);right:20px}.main-nav.open{gap:3px;display:grid}.main-nav.open>a:not(.nav-cta){align-items:center;min-height:46px;padding:0 10px;display:flex}.main-nav.open .nav-cta{justify-content:center;margin-top:8px}.hero-proof{display:none}}@media (width<=900px){.container{width:min(100% - 34px,720px)}.section{padding:85px 0}.split-heading,.section-heading,.method-grid,.editorial-grid,.partner-feature,.contact-layout,.project-info{grid-template-columns:1fr}.section-heading{align-items:start;gap:28px}.section-heading>.text-link{justify-self:start}.value-grid{grid-template-columns:1fr}.value-grid article,.value-grid article:first-child{border-left:0;border-bottom:1px solid var(--line);padding:28px 0}.value-grid article:last-child{border-bottom:0}.service-list-home>a{grid-template-columns:48px 1fr 28px}.service-list-home p{grid-column:2/-1}.project-feature-grid{grid-template-rows:repeat(3,430px);grid-template-columns:1fr}.project-feature-grid .featured{grid-row:auto}.method-grid>div{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.editorial-image{min-height:560px}.service-detail-list article>div{grid-template-columns:1fr}.project-gallery figure,.project-gallery figure.gallery-wide{min-height:520px}.contact-details{padding:28px}}@media (width<=620px){:root{--header:70px}.container{width:calc(100% - 28px)}.site-header{padding-inline:14px}.brand{min-width:0}.brand img{width:42px;height:42px}.brand small{display:none}.home-hero{min-height:780px}.hero-overlay{background:linear-gradient(#052f3666,#052f36f5 70%)}.hero-copy{padding:90px 0 48px}.hero-copy h1{font-size:clamp(3.4rem,16vw,5rem)}.hero-copy>p:not(.eyebrow){font-size:1.03rem}.button-group{display:grid}.button{width:100%}.service-list-home>a{grid-template-columns:36px 1fr;padding:24px 0}.service-list-home p{grid-column:2}.service-list-home b{display:none}.project-feature-grid{grid-template-rows:repeat(3,380px)}.project-card-copy h3{font-size:2rem}.principle-grid,.project-grid,.project-gallery{grid-template-columns:1fr}.principle-grid article{border-right:0}.project-grid .project-card{min-height:430px}.project-gallery figure,.project-gallery figure.gallery-wide{grid-column:auto;min-height:390px}.service-detail-list article{grid-template-columns:40px 1fr;gap:15px}.service-detail-list h2{font-size:2.3rem}.partner-logo{min-height:300px}.form-row,.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}.brand-card{grid-template-columns:90px 1fr;min-width:88vw;padding:20px}.brand-card img{width:90px;height:90px}.map-section{height:430px}}.whatsapp-float{right:max(24px, env(safe-area-inset-right));bottom:max(24px, env(safe-area-inset-bottom));z-index:90;color:#fff;isolation:isolate;background:#128c4b;border:2px solid #fff;border-radius:50%;place-items:center;width:60px;height:60px;transition:background .2s,transform .2s;display:grid;position:fixed;box-shadow:0 4px 18px #00000038}.whatsapp-float:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;border:2px solid #25d366;animation:2.4s ease-out infinite whatsapp-halo;position:absolute;inset:-2px}.whatsapp-float svg{animation:2.4s ease-in-out infinite whatsapp-breathe}@keyframes whatsapp-halo{0%{opacity:.65;transform:scale(1)}75%,to{opacity:0;transform:scale(1.45)}}@keyframes whatsapp-breathe{0%,to{transform:scale(1)}40%{transform:scale(1.1)}}@keyframes whatsapp-glow{0%,to{opacity:.2}50%{opacity:.85}}.whatsapp-float:is(:hover,:focus-visible):before,.whatsapp-float:is(:hover,:focus-visible) svg{animation-play-state:paused}.whatsapp-float:hover{background:#0d713c;transform:translateY(-3px)}.whatsapp-float:focus-visible{outline:3px solid var(--brand);outline-offset:4px}@media (width<=620px){.whatsapp-float{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));width:56px;height:56px}}@media print{.whatsapp-float{display:none}}@media (prefers-reduced-motion:reduce){.whatsapp-float svg{animation:none}html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.whatsapp-float:before{animation:3.2s ease-in-out infinite whatsapp-glow;inset:-6px;transform:none;box-shadow:0 0 16px #25d366a6;animation-duration:3.2s!important;animation-iteration-count:infinite!important}}
