@font-face{font-family:Bebas Neue;src:url(assets/bebas.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url(assets/montserrat.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--deep:#082c38;--nav:#061e27;--aqua:#55efd9;--turq:#098c9d;--paper:#eef4f1;--white:#f7fbf9;--muted:#c2d2d3;--ink:#112f36;--rule:#c4d3d0;--display:"Bebas Neue","Arial Narrow",Impact,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--deep);color:var(--white);font:400 15px/1.65 Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:.95}h1{font-size:clamp(3.7rem,8.6vw,8.35rem)}h2{font-size:clamp(2.7rem,5.4vw,5.35rem)}h3{font-size:clamp(1.65rem,3vw,2.5rem)}em{font-style:normal;color:var(--aqua)}:focus-visible{outline:3px solid #099c9b;outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.skip{position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%);z-index:20;background:var(--aqua);color:var(--ink);padding:8px}.skip:focus{transform:none}
.top{position:relative;z-index:5;background:var(--nav);border-bottom:1px solid #b6fff028}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;width:203px;flex:none}.nav nav{margin-inline-start:auto}.nav nav,footer nav{display:flex;gap:clamp(14px,2.3vw,34px);align-items:center}.nav nav a,footer nav a{font-size:.78rem;font-weight:600;white-space:nowrap}.nav nav a{padding:31px 0 29px;border-bottom:2px solid transparent}.nav nav a:hover,.nav nav a[aria-current]{color:var(--aqua);border-color:var(--aqua)}.nav-cta{border:1px solid #91b4b477;padding:11px 14px;font-size:.74rem;font-weight:700;white-space:nowrap}.nav-cta span,.text-link span{color:var(--aqua);margin-left:8px}.menu-toggle{display:none}
.hero,.detail-hero,.inside{position:relative;isolation:isolate;overflow:hidden}.hero{background:#123b46}.hero-photo,.detail-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.hero-photo{object-position:50% 52%}.hero::before,.detail-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#041820f8 1%,#05212cdd 27%,#07283260 61%,#06232d12 100%),linear-gradient(0deg,#03171ff0 0%,transparent 37%)}.terrain{position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(assets/relieve.svg) center right / max(790px,70%) auto no-repeat;opacity:.05}
.hero-inner{min-height:clamp(620px,73svh,850px);display:flex;flex-direction:column;justify-content:space-between}.hero-content{padding-top:clamp(55px,8vh,110px);padding-bottom:55px}.tag{font-size:.69rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;display:flex;gap:10px;align-items:center;color:var(--aqua);margin-bottom:21px}.tag i{display:inline-block;width:7px;height:7px;background:currentColor}.hero h1{font-size:clamp(4.35rem,8.9vw,8.55rem);line-height:.86;letter-spacing:.006em}.hero-content>p:not(.tag){color:#eef6f6;max-width:445px;margin:24px 0;font-size:clamp(.93rem,1.45vw,1.08rem)}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border:1px solid transparent;min-height:46px;font-weight:700;font-size:.75rem;white-space:nowrap}.button span{font-size:1.07rem;line-height:1}.primary{background:var(--aqua);color:#052a31}.primary:hover{background:#a7fff1}.outline{border-color:#d0e9e6a0;background:transparent;color:inherit}.outline:hover,.nav-cta:hover{border-color:var(--aqua);background:#53efd914}
.capabilities{background:#0b3943;border-bottom:1px solid #387075}.capabilities .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.capabilities span{color:var(--aqua);border-right:1px solid #397078;padding:22px 18px;font-weight:700;font-size:.68rem;letter-spacing:.12em}.capabilities span:first-child{border-left:1px solid #397078}.capabilities b{color:#e8f4f3;margin-left:10px}
.section{padding:clamp(54px,7vw,103px) 0}.pale{background:var(--paper);color:var(--ink)}.pale .tag{color:#067785}.pale .outline{border-color:#64868a}.pale .outline:hover{background:#d3ebe5}.dark,.comparison-section{background:var(--deep)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:36px}.section-heading>p{max-width:475px;padding-bottom:4px}.services-grid,.projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.service-card{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:252px;padding:16px;background:#174653;color:#fff}.service-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#03191df9 0%,#09252bda 30%,#08253015 78%),linear-gradient(180deg,#041e2875,transparent 40%)}.service-card img{position:absolute;width:100%;height:100%;inset:0;z-index:-2;object-fit:cover;transition:transform .4s}.service-card:hover img{transform:scale(1.045)}.service-card:hover .card-top span:last-child{background:var(--aqua);color:var(--ink)}.card-top{display:flex;justify-content:flex-end;align-items:center;color:var(--aqua);font-size:.76rem;font-weight:700}.card-top span:last-child{border:1px solid #d0fff194;padding:3px 9px}.card-bottom h3{font-size:clamp(1.5rem,2.65vw,2.75rem)}.card-bottom p{font-size:.75rem;margin-top:6px;color:#deeeee;line-height:1.45}.pdf-box{margin-top:38px;padding:24px;border:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:20px}.pdf-box h2{font-size:2.5rem}.pdf-box p{margin-top:6px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(25px,6vw,90px);align-items:center}.split p:not(.tag){max-width:520px;margin:18px 0}.feature-img{aspect-ratio:1.45;object-fit:cover;width:100%;border-bottom:4px solid var(--turq)}.text-link,.back{display:inline-flex;align-items:center;gap:8px;font-weight:700;border-bottom:1px solid #449a9d;padding:8px 0}.contact-band{background:#0b3b46;padding:35px 0}.contact-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px}.contact-band h2{font-size:clamp(2.4rem,4.2vw,4.2rem)}
.inside{background:linear-gradient(103deg,#082c38 35%,#10505c);padding:clamp(50px,8vw,113px) 0}.inside-waves {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  mask-image: linear-gradient(95deg, #0003, #0005 28%, #000 63%);
}
@media (max-width: 700px) {
  .inside-waves { object-position: right; mask-image: linear-gradient(105deg, #0004, #0008 45%, #000); }
}.inside .intro-text,.detail-hero p:not(.tag){max-width:650px;margin-top:18px;color:#e3f0ef}.detail-hero{background:#143946;min-height:490px;display:grid;align-items:end}.detail-hero>.wrap{padding-block:45px 70px}.detail-hero .back{margin-bottom:54px}.detail-hero h1{font-size:clamp(3.6rem,8vw,7.7rem);max-width:850px}.detail-photo{object-position:center 47%}.technical{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(245px,100%),1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.technical article{padding:24px;border:solid var(--rule);border-width:0 1px 1px 0}.technical article>span{font-weight:700;color:#067785}.technical h3{margin:16px 0 8px}.comparison-section h2+p{margin:12px 0 21px}
.compare{--position:50%;position:relative;isolation:isolate;aspect-ratio:16/8;overflow:hidden;background:#18464c}.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%}.compare-before{clip-path:inset(0 calc(100% - var(--position)) 0 0)}.before-label,.after-label{position:absolute;top:15px;left:15px;background:#05222ce8;color:white;padding:6px 12px;font-size:.72rem;font-weight:700;letter-spacing:.1em}.after-label{left:auto;right:15px}.divider{position:absolute;top:0;bottom:0;left:var(--position);width:3px;background:var(--aqua);transform:translateX(-50%);display:grid;place-items:center}.divider span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--aqua);color:#062c33;font-size:1.5rem;font-weight:700}.compare input{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:ew-resize;touch-action:pan-y}.compare:focus-within{outline:3px solid var(--aqua);outline-offset:4px}.compare-figure figcaption{color:#d1e5e5;margin-top:12px;font-size:.78rem}
.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{border:1px solid var(--rule);display:flex;flex-direction:column;min-width:0}.project-image{border:0;padding:0;background:#cbdedb;display:block;width:100%}.project-image img{width:100%;aspect-ratio:1.6;object-fit:cover}.project-body{padding:18px;flex:1}.project-body h3{margin:9px 0}.project-body p{font-size:.85rem}.project-body button,.project-controls button,.photo-draft button{border:0;background:none;text-decoration:underline;color:#075d68;font-weight:700;padding:8px 0}.project-controls{border-top:1px solid var(--rule);display:flex;gap:16px;padding:7px 18px}.project-admin{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;border:1px solid var(--rule);margin-bottom:16px}.project-admin p,.status{font-size:.82rem}.status:not(:empty){margin-bottom:12px}dialog{width:min(620px,calc(100vw - 30px));max-height:90vh;padding:22px;border:1px solid #aac6c3;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#031820bd}dialog h2{font-size:2.65rem}.dialog-top,.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.icon{border:1px solid #658487;background:transparent;color:inherit;min-width:42px;min-height:42px;font-size:1.2rem}.icon:disabled{opacity:.4;cursor:default}dialog label{display:block;font-size:.85rem;font-weight:700;margin-bottom:10px}dialog small{display:block}dialog input,dialog textarea{display:block;width:100%;padding:8px;border:1px solid #658487;background:#fff;color:var(--ink);margin-top:4px}dialog .outline{border-color:#658487}#form-status:not(:empty){margin:8px 0}.photo-draft{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:10px}.photo-draft img{aspect-ratio:1.4;object-fit:cover;width:100%}#project-gallery{width:min(920px,calc(100vw - 30px))}#gallery-image{width:100%;max-height:55vh;object-fit:contain;background:#0c2c36}.gallery-controls{margin-top:12px}
.contact-list{margin-top:22px}.contact-list a{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:13px 0;border-top:1px solid var(--rule)}.contact-list span{grid-column:1;font-size:.72rem}.contact-list strong{grid-column:1;overflow-wrap:anywhere}.contact-list b{grid-column:2;grid-row:1/3;align-self:center}.contact-list a:hover{color:#087887}
footer{background:var(--nav);padding:34px 0 16px}.foot-grid{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:23px}.foot-end{border-top:1px solid #acc9ca55;padding-top:15px;display:flex;justify-content:space-between;gap:14px;font-size:.7rem;color:#c1d1d2}
@media(max-width:1060px){.wrap{width:calc(100% - 64px)}.nav .brand{width:171px}.services-grid{grid-template-columns:repeat(2,1fr)}.foot-grid{flex-wrap:wrap}.projects-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.nav-cta{display:none}.nav nav{gap:17px}.hero-photo{object-position:62% 50%}.hero::before{background:linear-gradient(90deg,#041820ef 0%,#05212c9e 50%,#06232d36 100%),linear-gradient(0deg,#03171ff0 0%,transparent 37%)}.wrap{width:calc(100% - 42px)}.section-heading{align-items:start;flex-direction:column}.split{gap:23px}}
@media(max-width:600px){.nav{min-height:68px}.menu-toggle{display:block;background:transparent;color:var(--white);border:1px solid #8db6b7;padding:5px 9px;font-size:.81rem}.nav nav{display:none;position:absolute;inset:100% 0 auto;background:var(--nav);padding:7px 22px 13px}.nav nav.open{display:grid;gap:0}.nav nav a{padding:9px 0}.hero-inner{min-height:620px}.hero-content{padding-top:75px}.hero h1{font-size:clamp(3.4rem,12vw,5.4rem)}.capabilities span{padding:12px 6px;font-size:.56rem}.capabilities b{display:block;margin-left:0;letter-spacing:.04em}.services-grid{gap:8px}.service-card{min-height:180px;padding:10px}.card-bottom p{font-size:.65rem}.split,.projects-grid{grid-template-columns:1fr}.pdf-box,.contact-band .wrap,.foot-grid{align-items:flex-start;flex-direction:column}.foot-grid nav{flex-wrap:wrap}.detail-hero{min-height:380px}.detail-hero>.wrap{padding-bottom:40px}.detail-hero .back{margin-bottom:36px}.compare{aspect-ratio:1.2}.photo-draft{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.pdf-brand{width:clamp(128px,16vw,185px);flex:none}.pdf-box>div{flex:1}
.divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.arrow{width:1em;height:1em;display:inline-block;vertical-align:-.12em;flex:none}.divider .arrow{width:24px;height:24px}.card-top .arrow{vertical-align:-.18em}.status button{margin-left:10px;color:#075d68;background:none;border:0;text-decoration:underline;font-weight:700}
@media(max-width:600px){.hero h1{font-size:clamp(2.75rem,12vw,5.4rem)}}

/* Home cover. Nested contour waves from the shared motion study. */
.hero{background:#071e29;--photo-x:50%;--photo-y:46%}
.hero-photo{object-position:var(--photo-x) var(--photo-y)}
.hero::before{background:linear-gradient(0deg,#061d2cf5 0%,#061c2acc 17%,#08263737 53%,transparent 71%)}
.hero-inner{min-height:clamp(640px,81svh,940px);justify-content:flex-end}
.hero-content{align-self:flex-end;width:min(635px,61%);padding-top:235px;padding-bottom:70px}
.hero h1{font-size:clamp(3.4rem,5.35vw,6.15rem);line-height:.9;letter-spacing:.006em}
.hero-content>p:not(.tag){margin:16px 0 20px;max-width:415px}
.hero-content .tag{margin-bottom:13px}
.hero-topography{position:absolute;inset:0;width:100%;height:100%;container-type:size;pointer-events:none;z-index:-1;overflow:hidden;mask-image:linear-gradient(165deg,#000 0%,#000 45%,#0005 69%,#0001 90%)}
.hero-topography svg{position:absolute;width:100%;height:100%;fill:none;stroke-linecap:round;stroke-linejoin:round}
/* Size and position the SVG like the cover image so the mask tracks both crops. */
@supports (width: 100cqw){
  .hero-topography svg{width:max(100cqw,calc(100cqh * 1672 / 941));height:auto;aspect-ratio:1672 / 941;left:var(--photo-x);top:var(--photo-y);transform:translate(calc(0% - var(--photo-x)),calc(0% - var(--photo-y)))}
}
.topo-base{stroke:#1ec7b3;stroke-width:.8;opacity:.14}
.topo-wave{opacity:0;stroke:#71ffeb;stroke-width:1.18;animation:contour-wave var(--wave-speed) ease-in-out infinite;animation-delay:var(--wave-delay)}
@keyframes contour-wave{0%,88%,100%{opacity:0}22%{opacity:.04}48%{opacity:.58}69%{opacity:.26}}
@media(prefers-reduced-motion:reduce){.topo-wave{opacity:.15}}

@media(max-width:780px){
  .hero-inner{min-height:590px}
  .hero-content{width:min(510px,78%)}
  .hero h1{font-size:clamp(3.1rem,7.6vw,4.8rem)}
}
@media(max-width:600px){
  .hero{--photo-x:48%;--photo-y:50%}
  .hero-photo{height:auto;aspect-ratio:1.35}
  .hero::before{background:linear-gradient(0deg,#071e29 0%,#071e29 40%,#071e2900 76%)}
  .hero-inner{min-height:clamp(540px,139vw,655px)}
  .hero-content{align-self:stretch;width:auto;padding-top:235px;padding-bottom:45px}
  .hero h1{font-size:clamp(2.7rem,9.65vw,3.7rem)}
  .hero-topography{bottom:auto;height:auto;aspect-ratio:1.35}
}

.foot-contact { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-bottom: 20px; font-size: .85rem; font-style: normal; }
.foot-contact a:hover, .foot-contact a:focus-visible { color: var(--aqua); text-decoration: underline; }

.field-experience {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #082c38;
}
.field-photo, .field-contours {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.field-photo {
  object-fit: cover;
  object-position: center 40%;
  z-index: -2;
}
.field-contours {
  z-index: -1;
  pointer-events: none;
  inset: 0 0 auto auto;
  width: min(60%, 760px);
  height: auto;
  fill: none;
  stroke-linecap: round;
  mask-image: linear-gradient(135deg, transparent, #000 43%);
}
.field-layout {
  min-height: clamp(510px, 48vw, 720px);
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding-block: 48px;
}
.field-copy {
  width: min(100%, 440px);
  padding: clamp(24px, 3vw, 42px);
  background: #062a37e6;
  border-top: 2px solid var(--aqua);
}
.field-copy h2 { font-size: clamp(2.8rem, 5vw, 5rem); }
.field-copy p { margin: 16px 0 18px; color: #e4f0ef; }
@media (max-width: 700px) {
  .field-layout { min-height: 590px; padding-block: 250px 22px; }
  .field-photo { object-position: 45% 32%; }
  .field-contours { width: 63%; }
}

.contact-list .whatsapp-button {
  display: inline-flex;
  margin-top: 14px;
  padding: 12px 16px;
  color: #052a31;
  border-top: 1px solid transparent;
}

.detail-waves {
  filter: brightness(0) invert(1);
  object-position: right top;
  mask-image: linear-gradient(120deg, transparent 18%, #0004 43%, #000 75%);
}
@media (max-width: 700px) {
  .detail-waves {
    mask-image: linear-gradient(145deg, #0005 10%, #000 55%, #0004 100%);
  }
}

.about-profile {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 5vw, 72px);
}
.about-profile p { margin-top: 16px; }
.about-profile img, .about-gallery img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.about-profile img { aspect-ratio: 16 / 9; }
.about-profile figcaption, .about-gallery figcaption {
  padding-top: 8px;
  color: #345760;
  font-size: .8rem;
}
.about-reasons { background: #082c38; }
.about-reason-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 26px 0;
}
.about-reason-grid article { border-top: 1px solid var(--aqua); padding: 18px 0 0; }
.about-reason-grid p { margin-top: 10px; color: #d1e5e5; }
.about-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 18px;
}
.about-gallery img { aspect-ratio: 16 / 10; }
@media (max-width: 900px) {
  .about-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .about-profile, .about-reason-grid { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
  .about-gallery { grid-template-columns: 1fr; }
}

.hero-logo-intro { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .hero-logo-intro {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    pointer-events: none;
    opacity: 0;
    background: #061e27a8;
    animation: hero-logo-fade 2.2s ease-in-out both;
  }
  .hero-logo-intro img { width: clamp(210px, 37vw, 470px); }
  .hero .hero-content { animation: hero-copy-enter .65s ease-out 2.05s both; }
  .hero .hero-content:focus-within { animation: none; }
}
@keyframes hero-logo-fade {
  0%, 100% { opacity: 0; }
  28%, 66% { opacity: 1; }
  100% { visibility: hidden; }
}
@keyframes hero-copy-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}
