:root{--navy: #112651;--navy-deep: #0b1834;--green: #256533;--green-deep: #1b4c26;--green-soft: #e7f2eb;--paper: #f4f1ea;--white: #fffcf8;--ink: #142033;--muted: #3e4d5c;--line: rgba(17, 38, 81, .14);--shadow: 0 18px 50px rgba(17, 38, 81, .12);--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Outfit", "Segoe UI", sans-serif;--max: 1160px}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.05rem;line-height:1.6;font-weight:400}body.nav-open{overflow:hidden}img{max-width:100%}h1,h2,h3{font-family:var(--serif);font-weight:560;letter-spacing:-.03em;line-height:1.04;color:var(--navy)}p{margin:0 0 .9rem}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--green);color:#fff}:focus-visible{outline:2px solid var(--green);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--navy);color:#fff;padding:.6rem .9rem;z-index:50;border-radius:999px}.skip-link:focus{top:.6rem}.wrap{width:min(var(--max),calc(100% - 2.5rem));margin-inline:auto}.kicker{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 .7rem;color:var(--green);font-size:.76rem;font-weight:650;letter-spacing:.16em;text-transform:uppercase}.kicker:before{content:"";width:1.6rem;height:2px;background:currentColor}.kicker.light{color:#d7efe0}.lede{font-size:1.15rem;color:var(--muted);max-width:42rem}.topbar{background:var(--navy);color:#fffcf8e0;font-size:.84rem}.topbar-inner,.band-row,.header-inner,.section-head-row,.footer-base{display:flex;justify-content:space-between;gap:1rem;align-items:center}.topbar-inner{width:min(var(--max),calc(100% - 2.5rem));margin:0 auto;padding:.45rem 0}.topbar p{margin:0}.topbar-links{display:flex;gap:1rem;flex-wrap:wrap}.topbar a,.footer a,.contact-panel a{color:#fff;text-decoration:none}.topbar a:hover,.footer a:hover,.contact-panel a:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:50;background:#f4f1eaeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid transparent}body.nav-open .site-header{background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}body.nav-open .brand-text strong,body.nav-open .nav-toggle{color:#fff}.site-header.is-scrolled{border-bottom-color:var(--line)}.header-inner{width:min(var(--max),calc(100% - 2.5rem));margin:0 auto;min-height:82px}.brand{position:relative;z-index:60;display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--navy)}.brand img,.footer-logo img{height:58px;width:auto;display:block}.brand-text strong{display:block;font-family:var(--serif);font-size:1.35rem;letter-spacing:-.03em;line-height:1}.brand-text small{display:block;margin-top:.22rem;letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;color:var(--green);font-weight:650}.nav-links{display:flex;align-items:center;gap:1.25rem}.nav-links a{text-decoration:none;color:var(--navy);font-weight:560}.nav-links a.active,.nav-links a:hover{color:var(--green)}.nav-links .btn-green,.nav-links .btn-green:hover,.nav-links .btn-green.active{color:#fff}.nav-toggle{position:relative;z-index:60;display:none;border:1px solid var(--line);background:#fff;border-radius:999px;min-height:42px;padding:0 .95rem;cursor:pointer;font-weight:650;color:var(--navy)}body.nav-open .nav-toggle{background:transparent;border-color:#fff6}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.2rem;border-radius:999px;border:1.5px solid transparent;text-decoration:none;font-weight:650;cursor:pointer;transition:background .2s ease,transform .2s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.7;cursor:wait;transform:none}.btn-green,a.btn-green{background:var(--green);color:#fff}.btn-green:hover,a.btn-green:hover{background:var(--green-deep);color:#fff}.btn-navy,a.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-deep)}.btn-ghost{background:transparent;color:var(--navy);border-color:#11265147}.btn-ghost:hover{border-color:var(--navy)}.btn-light{background:#fff;color:var(--navy)}.btn-light:hover{background:var(--paper)}.text-link{color:var(--green);font-weight:650;text-decoration:none}.text-link:hover{text-decoration:underline}.hero{padding:2.2rem 0 3.2rem}.hero-grid,.intro-grid,.about-grid,.detail-layout,.contact-grid{display:grid;gap:2.4rem;align-items:center}.hero-grid>*,.intro-grid>*,.about-grid>*,.detail-layout>*,.contact-grid>*,.work-row>*,.groups>*,.photo-row>*{min-width:0}.hero-grid{grid-template-columns:1.05fr .95fr}.hero h1{margin:0 0 1rem;font-size:clamp(3rem,6vw,5.15rem);max-width:11ch}.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.3rem 0 .4rem}.hero-points{list-style:none;padding:1.2rem 0 0;margin:1.2rem 0 0;display:grid;gap:.8rem;border-top:1px solid var(--line)}.hero-points li{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:baseline}.hero-points strong{font-family:var(--serif);color:var(--green);font-size:1.2rem}.hero-media{position:relative}.hero-frame,.framed{background:#fff;border:3px solid var(--navy);padding:8px}.hero-frame{border-radius:1.6rem 1.6rem 5.5rem}.hero-frame img{width:100%;height:min(460px,58vh);object-fit:cover;object-position:center 40%;border-radius:1.15rem 1.15rem 4.8rem;display:block}.hero-caption{margin:.85rem 0 0;max-width:28rem;background:#fff;padding:.85rem 1rem;border-radius:1rem;border:1px solid var(--line);font-size:.95rem;line-height:1.4}.band-green{background:var(--green);color:#fff}.band-row{width:min(var(--max),calc(100% - 2.5rem));margin:0 auto;padding:.95rem 0}.band-row p{margin:0}.band-row a{color:#fff;font-weight:650;text-decoration:none;white-space:nowrap}.section{position:relative;z-index:1;padding:4.5rem 0;background:var(--paper)}.section-tight{padding-top:2.5rem}.section-head{margin-bottom:1.8rem;max-width:40rem}.section-head h2,.intro-grid h2,.work-copy h3,.cta-panel h2,.contact-panel h2,.form-card h2{margin:0 0 .6rem}.section-head-row{max-width:none;align-items:end}.intro-grid,.about-grid{grid-template-columns:.9fr 1.1fr;align-items:start}.intro-grid h2,.section-head h2,.cta-panel h2{font-size:clamp(2.1rem,4vw,3.4rem)}.photo-row,.groups,.steps,.service-grid,.project-grid,.values{display:grid;gap:1rem}.photo-row{grid-template-columns:repeat(3,1fr)}.photo-tile{position:relative;min-height:360px;border-radius:1.5rem;overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:1.2rem;text-decoration:none}.photo-tile img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.photo-tile:hover img,.work-media:hover img,.project-card:hover img,.service-card:hover img{transform:scale(1.05)}.photo-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0b1834c7,#0b18340d 58%)}.photo-tile span{position:relative;z-index:1;display:grid;gap:.2rem}.photo-tile small{letter-spacing:.04em}.photo-tile strong{font-family:var(--serif);font-size:1.8rem;font-weight:560;letter-spacing:-.03em;line-height:1.05}.groups{grid-template-columns:repeat(4,1fr)}.groups-three{grid-template-columns:repeat(3,1fr)}.groups-two{grid-template-columns:repeat(2,1fr)}.services-panel{position:relative;isolation:isolate;overflow:hidden;background:transparent;padding:5rem 0}.services-panel-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;clip-path:inset(0);pointer-events:none}.services-panel-media span{position:fixed;top:0;right:0;bottom:0;left:0;display:block;background-image:var(--panel-image);background-size:cover;background-position:center;background-repeat:no-repeat}.services-panel-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#0b1834c7,#0b1834e0),linear-gradient(90deg,#1126518c,#25653347)}.services-panel-inner{position:relative;z-index:2}.services-panel .section-head{max-width:38rem;margin-inline:auto;text-align:center}.services-panel .kicker{color:#9fd0ae;justify-content:center}.services-panel .section-head h2{color:#fffcf8}.services-panel .lede{color:#fffcf8d6;margin-inline:auto}.service-icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:.4rem}.service-icon-item{position:relative;display:grid;justify-items:start;gap:.75rem;min-height:220px;padding:1.35rem 1.25rem 1.4rem;text-decoration:none;color:#fffcf8;border:1px solid rgba(255,252,248,.16);border-radius:1.35rem;background:linear-gradient(160deg,#fffcf81a,#fffcf808);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease}.service-icon-item:hover{transform:translateY(-6px);border-color:#9fd0ae8c;background:linear-gradient(160deg,#fffcf829,#2565332e);box-shadow:0 20px 44px #08102247}.service-icon-index{position:absolute;top:1.15rem;right:1.2rem;font-family:var(--serif);font-size:.95rem;letter-spacing:.08em;color:#fffcf86b}.service-icon-mark{width:3.4rem;height:3.4rem;display:grid;place-items:center;border-radius:1rem;color:#9fd0ae;background:#25653347;border:1px solid rgba(159,208,174,.28)}.service-icon-mark svg{width:1.7rem;height:1.7rem}.service-icon-item h3{margin:.2rem 0 0;font-size:1.55rem;color:#fffcf8}.service-icon-item p{margin:0;color:#fffcf8b8;font-size:.95rem;line-height:1.45}.services-panel-cta{display:flex;justify-content:center;margin-top:1.8rem}@media(max-width:980px){.service-icon-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.services-panel-media span{position:absolute}.service-icon-grid{grid-template-columns:1fr}.service-icon-item{min-height:0}}@media(prefers-reduced-motion:reduce){.services-panel-media span{position:absolute}}.service-grid-two{grid-template-columns:repeat(2,1fr)}.clients-section{padding-bottom:3.2rem}.clients-section .section-head{margin-bottom:1.4rem}.clients-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.clients-track{display:flex;width:max-content;gap:1.25rem;animation:clients-scroll 48s linear infinite}.clients-marquee:hover .clients-track{animation-play-state:paused}.client-logo{flex:0 0 auto;box-sizing:border-box;width:220px;height:160px;display:flex;align-items:center;justify-content:center;padding:1.1rem 1.25rem;background:#fff;border:1px solid var(--line);border-radius:1rem;overflow:hidden}.client-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}@keyframes clients-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.group-card,.step,.form-card,.service-card,.project-card,.values article{background:#fff;border:1px solid var(--line);border-radius:1.25rem}.group-card{padding:1.2rem 1.15rem .4rem}.group-card h3,.step h3{font-size:1.45rem;margin:0 0 .35rem}.group-card>p,.step p,.values p{color:var(--muted);font-size:.95rem}.group-card ul,.check-list,.inline-links,.contact-list,.footer ul,.mini-index{list-style:none;padding:0;margin:.4rem 0 0}.group-card li{border-top:1px solid var(--line)}.group-card a{display:block;padding:.75rem 0;text-decoration:none;color:var(--navy);font-weight:650}.group-card a span{display:block;margin-top:.15rem;font-weight:400;color:var(--muted);font-size:.88rem}.group-card a:hover,.work-copy a:hover,.mini-index a:hover{color:var(--green)}.work-list{border-bottom:1px solid var(--line)}.work-row{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:center;padding:1.5rem 0;border-top:1px solid var(--line)}.work-row.flip .work-media{order:2}.work-media{display:block;border-radius:1.4rem;overflow:hidden}.work-media img,.project-card-media img,.service-card img,.about-photos img,.gallery img{width:100%;display:block;object-fit:cover}.work-media img{height:320px;transition:transform .6s ease}.work-copy h3{font-size:clamp(2rem,3vw,2.8rem);margin:0 0 .5rem}.work-copy a{text-decoration:none}.where{color:var(--green);font-weight:650;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.steps,.values{grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0}.step,.values article{padding:1.2rem 1.15rem 1.3rem;border-top:3px solid var(--green)}.step strong{display:block;font-family:var(--serif);color:var(--green);font-size:1.7rem;margin-bottom:.6rem}.cta-panel,.contact-panel{background:var(--navy);color:#fff;border-radius:1.8rem;padding:clamp(1.4rem,3vw,2.6rem)}.cta-panel{display:grid;grid-template-columns:1.4fr auto;gap:1.5rem;align-items:center}.cta-panel h2,.contact-panel h2,.cta-panel p,.contact-panel p{color:#fff}.cta-panel p,.contact-panel p,.contact-panel a{color:#fffcf8e0}.page-hero{padding:3rem 0 .4rem}.page-hero h1{margin:.2rem 0 .8rem;font-size:clamp(2.7rem,5.4vw,4.6rem);max-width:14ch}.page-hero-banner{position:relative;isolation:isolate;min-height:clamp(420px,68vh,740px);display:flex;flex-direction:column;justify-content:flex-end;color:var(--white);overflow:hidden}.page-hero-media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;clip-path:inset(0);pointer-events:none}.page-hero-media span{position:fixed;top:0;right:0;bottom:0;left:0;display:block;background-image:var(--hero-image);background-size:cover;background-position:center;background-repeat:no-repeat;will-change:transform}.page-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,#0b1834d1,#0b18348c 55%,#0b183466),linear-gradient(180deg,#0b183459,#0b1834c7)}.page-hero-banner>.wrap{position:relative;z-index:2}.page-hero-content{padding:6.5rem 0 3.4rem;max-width:40rem}.page-hero-banner .kicker{color:#9fd0ae}.page-hero-banner h1{margin:.25rem 0 .9rem;color:var(--white);font-size:clamp(2.6rem,5.4vw,4.5rem);max-width:13ch;text-wrap:balance}.page-hero-banner .lede{color:#fffcf8db;max-width:34rem;margin-bottom:0}.home-hero-banner{min-height:clamp(560px,92vh,920px)}.home-hero-banner .page-hero-content{max-width:42rem;padding:7.5rem 0 4rem}.home-hero-banner .lede{margin-bottom:1.4rem}.home-hero-banner .hero-actions{margin-bottom:1.6rem}.home-hero-banner .btn-ghost{color:#fff;border-color:#ffffff80;background:#ffffff0f}.home-hero-banner .btn-ghost:hover{border-color:#fff;background:#ffffff1f;color:#fff}.home-hero-banner .hero-points{margin:0;color:#fffcf8e0}.home-hero-banner .hero-points strong{color:#9fd0ae}.crumbs{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.92rem;margin-bottom:.8rem}.crumbs a{color:var(--green);font-weight:650;text-decoration:none}.about-photos{display:grid;gap:.9rem}.principles-section{background:radial-gradient(ellipse 70% 60% at 10% 0%,rgba(37,101,51,.07),transparent 55%),radial-gradient(ellipse 50% 50% at 95% 80%,rgba(17,38,81,.06),transparent 50%),var(--paper)}.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}.principle-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:1.4rem;padding:1.55rem 1.35rem 1.7rem;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.principle-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:linear-gradient(90deg,var(--green),var(--navy))}.principle-card:hover{transform:translateY(-5px);border-color:#25653347;box-shadow:0 18px 40px #11265114}.principle-icon{width:3.4rem;height:3.4rem;display:grid;place-items:center;margin-bottom:1.1rem;border-radius:1rem;color:var(--green);background:#2565331a}.principle-icon svg{width:1.85rem;height:1.85rem}.principle-card h3{margin:0 0 .55rem;font-size:1.7rem}.principle-card p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.55}.about-photos img:first-child{height:380px;border-radius:1.5rem 1.5rem 6rem}.about-photos img:last-child{height:240px;border-radius:1.4rem;width:78%;margin-left:auto}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card{overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column}.service-card img{height:190px;transition:transform .6s ease}.service-card div{padding:1rem 1.05rem 1.2rem}.service-card small{color:var(--green);font-weight:650;letter-spacing:.12em}.service-card h2{font-size:1.55rem;margin:.3rem 0}.service-card p{margin:0;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.3rem}.filters button{border:1px solid var(--line);background:transparent;color:var(--navy);border-radius:999px;padding:.45rem .9rem;cursor:pointer;font-weight:560}.filters button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.project-grid{grid-template-columns:repeat(2,1fr)}.project-card{overflow:hidden}.project-card a{display:block;text-decoration:none;color:inherit}.project-card-media{overflow:hidden}.project-card-media img{height:280px;transition:transform .6s ease}.project-grid .project-card:first-child{grid-column:1 / -1}.project-grid .project-card:first-child .project-card-media img{height:460px}.project-grid.compact{grid-template-columns:repeat(3,1fr)}.project-grid.compact .project-card:first-child{grid-column:auto}.project-grid.compact .project-card-media img,.project-grid.compact .project-card:first-child .project-card-media img{height:210px}.project-card-body{padding:1rem 1.05rem 1.15rem}.project-card-body p{margin:0;color:var(--green);font-size:.78rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.project-card-body h2{margin:.25rem 0;font-size:1.7rem}.project-card-body span{color:var(--muted)}.fine-print{margin-top:1.4rem;color:var(--muted);font-size:.92rem}.side-note{color:var(--muted);font-size:.92rem;margin:.7rem 0 0}.service-hero{padding:2.4rem 0 .5rem}.service-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:1.6rem;align-items:center}.service-hero-copy h1{margin:.15rem 0 .85rem;font-size:clamp(2.4rem,4.8vw,4.1rem);max-width:12ch}.service-hero-media{border-radius:1.6rem;overflow:hidden;border:1px solid var(--line);background:#fff;min-height:420px}.service-hero-media img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}.service-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.4rem;align-items:start}.service-overview,.scope-panel{background:#fff;border:1px solid var(--line);border-radius:1.35rem;padding:1.4rem 1.35rem 1.5rem}.service-overview h2,.scope-panel h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:.2rem 0 1rem}.scope-panel{position:sticky;top:104px}.scope-list{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:.55rem}.scope-list li{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.75rem .85rem;border-radius:.9rem;background:#11265108;border:1px solid transparent;transition:border-color .25s ease,background .25s ease}.scope-list li:hover{border-color:#25653347;background:#2565330d}.scope-list span{font-family:var(--serif);color:var(--green);font-size:1.05rem;line-height:1.2}.scope-list strong{font-weight:560;color:var(--navy);font-size:.98rem;line-height:1.35}.scope-panel .btn{width:100%}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.related-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:1.25rem;transition:transform .35s ease,box-shadow .35s ease}.related-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #11265114}.related-card img{width:100%;height:180px;object-fit:cover;transition:transform .6s ease}.related-card:hover img{transform:scale(1.04)}.related-card div{padding:.95rem 1rem 1.15rem}.related-card small{display:block;color:var(--muted);font-size:.86rem;margin-bottom:.3rem}.related-card h3{margin:0;font-size:1.35rem}.service-index{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.service-index a{display:grid;grid-template-columns:3rem 1fr;grid-template-rows:auto auto;column-gap:.9rem;row-gap:.15rem;padding:1rem 1.1rem;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-radius:1rem;transition:border-color .25s ease,transform .25s ease}.service-index a:hover,.service-index a[aria-current=page]{border-color:#25653373;transform:translate(4px)}.service-index span{grid-row:span 2;align-self:center;font-family:var(--serif);color:var(--green);font-size:1.35rem}.service-index strong{font-size:1.15rem;color:var(--navy)}.service-index em{grid-column:2;font-style:normal;color:var(--muted);font-size:.92rem}.prose h2,.side-card h2{font-size:1.7rem;margin:1.4rem 0 .6rem}.side-card{background:#fff;border:1px solid var(--line);border-radius:1.25rem;padding:1.2rem;position:sticky;top:104px}.side-card .btn{width:100%;margin-top:1rem}.page-enter{animation:page-in .5s cubic-bezier(.22,1,.36,1)}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.reveal{opacity:0;transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal-up{transform:translateY(32px)}.reveal-down{transform:translateY(-28px)}.reveal-left{transform:translate(-40px)}.reveal-right{transform:translate(40px)}.reveal-fade{transform:none}.reveal.is-in{opacity:1;transform:none}.check-list li,.inline-links li,.contact-list li,.footer li{margin:.45rem 0}.check-list li{position:relative;padding-left:1.15rem}.check-list li:before{content:"";position:absolute;left:0;top:.55rem;width:.45rem;height:.45rem;border-radius:50%;background:var(--green)}.inline-links a,.mini-index a{color:var(--navy);font-weight:650;text-decoration:none}.inline-links a:hover,.mini-index a[aria-current=page]{color:var(--green)}.gallery{display:grid;grid-template-columns:1.3fr 1fr;gap:.8rem;margin:1.2rem 0 0;padding:0;list-style:none}.gallery li:first-child{grid-row:span 2}.gallery img{height:100%;min-height:210px;border-radius:1.1rem}.mini-index{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem 1.2rem}.mini-index li{border-top:1px solid var(--line);padding-top:.45rem}.contact-grid{grid-template-columns:.82fr 1.18fr;align-items:start;margin-bottom:1.4rem}.contact-list li{display:grid;gap:.1rem;margin:.85rem 0}.contact-list span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#d7efe0}.contact-list a{font-size:1.15rem;color:#fff;text-decoration:none;font-weight:560}.form-card{padding:1.4rem}.form-card h2{font-size:2rem}.form-context{color:var(--green);font-weight:650}.form{display:grid;gap:.9rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.field{display:grid;gap:.35rem;font-size:.92rem;font-weight:650;color:var(--navy)}.field input,.field select,.field textarea{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:.85rem;padding:.85rem .9rem;font-weight:400}.field textarea{resize:vertical;min-height:140px}.hp{position:absolute;left:-9999px;height:0;overflow:hidden}.form-errors{margin:0;padding-left:1.1rem;color:#8d1d1d}.form-success{background:var(--green-soft);border-radius:1rem;padding:1.2rem}.form-success h2{margin-top:0}.map-frame{background:#fff;border:3px solid var(--navy);border-radius:1.5rem;padding:8px}.map-frame iframe{width:100%;height:380px;border:0;border-radius:1rem;display:block}.footer{position:relative;z-index:1;background:var(--navy-deep);color:#fffcf8db;padding:3rem 0 1.2rem;margin-top:1rem}.footer-grid{display:grid;grid-template-columns:1.3fr 1.1fr .9fr .9fr;gap:1.5rem}.footer-logo{display:inline-flex;background:#fff;border-radius:999px;padding:.3rem .45rem}.footer h2{color:#fff;font-size:1.2rem;margin:0 0 .6rem}.footer a{text-decoration:none}.footer-blurb{max-width:28rem}.footer-base{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);font-size:.9rem}.footer-base p{margin:0}.not-found{padding-bottom:4rem}@media(max-width:980px){.hero-grid,.intro-grid,.about-grid,.detail-layout,.service-hero-grid,.service-detail-grid,.contact-grid,.cta-panel,.groups,.groups-two,.groups-three,.steps,.values,.footer-grid,.project-grid.compact,.mini-index,.related-grid,.photo-row,.service-grid,.service-grid-two{grid-template-columns:1fr 1fr}.work-row,.work-row.flip{grid-template-columns:1fr}.work-row.flip .work-media{order:0}.hero-frame,.hero-frame img{border-radius:1.3rem}.hero-frame img,.project-grid .project-card:first-child .project-card-media img{height:320px}.side-card,.scope-panel{position:static}.service-hero-media,.service-hero-media img{min-height:300px}.topbar-inner p:first-child{display:none}}@media(max-width:1120px){.nav-toggle{display:inline-flex}.nav-links{display:none}.nav-links.is-open{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;height:100dvh;background:var(--navy-deep);flex-direction:column;align-items:flex-start;justify-content:center;padding:6rem 2rem 2rem;gap:.35rem;overflow:auto}.nav-links a{color:#fff;font-family:var(--serif);font-size:2.1rem;font-weight:560}.nav-links .btn{font-family:var(--sans);font-size:1rem;margin-top:.8rem}.header-inner{position:relative;z-index:60}}@media(max-width:700px){.wrap,.topbar-inner,.band-row,.header-inner{width:min(var(--max),calc(100% - 1.4rem))}.groups,.groups-two,.groups-three,.steps,.values,.photo-row,.service-grid,.service-grid-two,.project-grid,.project-grid.compact,.footer-grid,.intro-grid,.about-grid,.detail-layout,.service-hero-grid,.service-detail-grid,.related-grid,.principles-grid,.contact-grid,.cta-panel,.hero-grid,.form-row,.mini-index,.gallery{grid-template-columns:1fr}.service-hero-copy h1{max-width:none}.page-hero-media span{position:absolute}.page-hero-content{padding:5rem 0 2.6rem}.page-hero-banner h1{max-width:none}.client-logo{width:170px;height:130px}.gallery li:first-child{grid-row:auto}.hero h1,.page-hero h1{max-width:none}.section-head-row,.band-row,.footer-base,.cta-panel{align-items:flex-start;flex-direction:column}.about-photos img:last-child{width:100%}.project-grid .project-card:first-child{grid-column:auto}.brand img{height:48px}}.whatsapp-float{position:fixed;right:1.25rem;bottom:1.25rem;z-index:80;width:3.75rem;height:3.75rem;display:grid;place-items:center;border-radius:999px;background:#25d366;color:#fff;box-shadow:0 10px 28px #11265138;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.whatsapp-float:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 32px #11265147;color:#fff}.whatsapp-float svg{width:1.7rem;height:1.7rem;display:block;overflow:visible}@media(max-width:700px){.whatsapp-float{right:1rem;bottom:1rem;width:3.25rem;height:3.25rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}.page-hero-media span{position:absolute}}
