@font-face{font-family:Manrope;src:url('assets/Manrope-VariableFont_wght.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--ink:#11292b;--ink-soft:#264346;--paper:#f4f1e9;--cream:#e9e4d7;--gold:#d49a42;--green:#adc9a5;--line:rgba(17,41,43,.18);--sans:Manrope,Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.skip-link{position:fixed;top:-4rem;left:1rem;padding:.7rem 1rem;background:#fff;color:var(--ink);z-index:99}.skip-link:focus{top:1rem}.site-header{position:absolute;inset:0 0 auto;z-index:10;height:100px;display:flex;align-items:center;justify-content:space-between;width:min(1280px,calc(100% - 64px));margin:auto;color:#fff}.brand{display:block;width:174px;filter:brightness(0) invert(1)}.brand img{width:100%;height:auto}.nav{display:flex;align-items:center;gap:2rem;font-size:.85rem;font-weight:700;letter-spacing:.02em}.nav>a:not(.nav-call){position:relative}.nav>a:not(.nav-call)::after{content:"";position:absolute;left:0;right:0;bottom:-.35rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s var(--ease)}.nav>a:hover::after,.nav>a:focus-visible::after{transform:scaleX(1);transform-origin:left}.nav-call,.button{display:inline-flex;align-items:center;justify-content:center;gap:.85rem;padding:.78rem 1rem;border-radius:999px;border:1px solid currentColor;transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}.nav-call:hover,.button:hover{transform:translateY(-2px);background:#fff;color:var(--ink)}.menu-toggle{display:none}.hero{position:relative;display:grid;align-items:end;min-height:740px;min-height:100svh;overflow:hidden;color:#fff;background:var(--ink)}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;animation:heroReveal 1.3s var(--ease) both}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,29,31,.83) 0%,rgba(9,29,31,.43) 50%,rgba(9,29,31,.12) 100%),linear-gradient(0deg,rgba(9,29,31,.3),transparent 55%)}.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,rgba(255,255,255,.11) 50%,rgba(255,255,255,.11) calc(50% + 1px),transparent calc(50% + 1px));pointer-events:none}.hero-content{position:relative;padding:11.5rem 0 9rem}.hero-location,.contact-place{margin:0 0 1.2rem;font-size:.72rem;letter-spacing:.18em;font-weight:800;text-transform:uppercase}.hero h1{max-width:840px;margin:0;font-weight:650;letter-spacing:-.055em;font-size:clamp(3.2rem,7.2vw,7.3rem);line-height:.93;text-wrap:balance}.hero-copy{max-width:490px;margin:2rem 0 0;font-size:1.08rem;line-height:1.75;color:#e8eee9}.hero-actions{display:flex;align-items:center;gap:1.8rem;margin-top:2.5rem}.button-light{background:#fff;color:var(--ink);border-color:#fff;font-weight:800;font-size:.88rem}.text-link{display:inline-flex;gap:.7rem;align-items:center;font-weight:800;font-size:.88rem}.text-link span{font-size:1.2rem;transition:transform .2s var(--ease)}.text-link:hover span{transform:translate(3px,3px)}.hero-scroll{position:absolute;right:clamp(2rem,6vw,6rem);bottom:2.3rem;display:flex;align-items:center;gap:.85rem;writing-mode:vertical-rl;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.hero-scroll b{font-size:1rem}.intro{display:grid;grid-template-columns:170px minmax(0,760px);gap:clamp(2rem,8vw,10rem);padding-block:clamp(6rem,11vw,10rem)}.intro-stamp{width:120px;height:120px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;align-self:start;transform:rotate(-12deg)}.intro-stamp span{width:73px;font-size:.6rem;letter-spacing:.15em;line-height:1.5;font-weight:800;text-align:center}.intro h2,.services h2,.feature-copy h2,.showcase h2,.faq h2,.contact h2,.other-systems h2{font-size:clamp(2.4rem,5vw,5rem);line-height:1.03;letter-spacing:-.055em;margin:0;font-weight:650;text-wrap:balance}.intro p{max-width:62ch;font-size:1.14rem;margin:2rem 0 0;color:var(--ink-soft)}.services{padding-block:clamp(5rem,9vw,8rem);background:var(--ink);color:var(--paper)}.services-head{display:grid;grid-template-columns:1.2fr .55fr;gap:4rem;align-items:end;margin-bottom:3rem}.services h2 em{font-family:Georgia,serif;font-weight:400}.services-head p{margin:0;max-width:30ch;color:#c5d3cb}.service-list{border-top:1px solid rgba(244,241,233,.35)}.service{border-bottom:1px solid rgba(244,241,233,.35)}.service summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:50px 1fr 40px;gap:1rem;align-items:center;padding:1.65rem 0;transition:color .25s var(--ease)}.service summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.service summary:hover{color:#dceccf}.service summary span{font-size:.73rem;color:var(--gold);font-weight:800}.service h3{font-size:clamp(1.25rem,2.3vw,2rem);letter-spacing:-.035em;margin:0;font-weight:650}.service summary b,.faq summary b{font-size:1.7rem;font-weight:300;text-align:right;transition:transform .25s var(--ease)}.service[open] summary b,.faq details[open] summary b{transform:rotate(45deg)}.service-body{display:grid;grid-template-columns:minmax(230px,350px) minmax(0,570px);justify-content:space-between;gap:3rem;padding:0 0 2.4rem 66px;animation:detailIn .35s var(--ease) both}.service figure{margin:0;aspect-ratio:4/3;overflow:hidden}.service figure img{height:100%;width:100%;object-fit:cover}.service-body p{margin:.1rem 0 1rem;color:#d2ddd5;max-width:58ch}.split-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,8vw,9rem);align-items:center;padding-block:clamp(6rem,12vw,11rem)}.feature-image{position:relative}.feature-image img{width:100%;aspect-ratio:1.15;object-fit:cover}.feature-image span{position:absolute;right:-1.5rem;bottom:2rem;max-width:220px;padding:1.1rem 1.4rem;background:var(--gold);font-size:.85rem;font-weight:800;line-height:1.4;color:var(--ink)}.feature-copy p{margin:2rem 0;color:var(--ink-soft);max-width:42ch;font-size:1.05rem}.text-link.dark{border-bottom:1px solid var(--ink);padding-bottom:.3rem}.other-systems{padding-block:clamp(4rem,7vw,6rem);background:var(--green)}.other-systems h2{font-size:clamp(2rem,4vw,3.6rem);max-width:460px}.other-systems .wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:4rem;align-items:start}.other-systems ul{margin:0;padding:0;list-style:none;columns:2;column-gap:3rem}.other-systems li{padding:.9rem 0;border-bottom:1px solid rgba(17,41,43,.26);font-weight:700;break-inside:avoid}.showcase{padding-top:clamp(6rem,10vw,9rem);background:var(--paper)}.showcase-head{display:grid;grid-template-columns:1fr .55fr;gap:4rem;align-items:end;margin-bottom:3rem}.showcase h2{font-size:clamp(2.4rem,5vw,4.4rem)}.showcase-head p{max-width:29ch;margin:0;color:var(--ink-soft)}.gallery{display:grid;grid-template-columns:1.1fr .8fr .8fr 1.15fr;grid-template-rows:335px 330px;gap:12px;max-width:1440px;margin:auto}.gallery figure{margin:0;overflow:hidden;background:var(--ink)}.gallery img{height:100%;width:100%;object-fit:cover;transition:transform .65s var(--ease)}.gallery figure:hover img{transform:scale(1.045)}.gallery-a{grid-row:span 2}.gallery-b{grid-row:span 2}.gallery-c{grid-column:span 2}.faq{padding-block:clamp(6rem,11vw,10rem)}.faq>h2{font-size:clamp(2.4rem,5vw,4.7rem);margin-bottom:2.8rem}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:grid;grid-template-columns:1fr 40px;gap:1rem;cursor:pointer;list-style:none;padding:1.35rem 0;font-size:clamp(1.05rem,2vw,1.38rem);font-weight:700;letter-spacing:-.02em}.faq p{max-width:60ch;margin:0 0 1.5rem;color:var(--ink-soft);animation:detailIn .3s var(--ease) both}.contact{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.contact-photo{min-height:550px}.contact-photo img{width:100%;height:100%;object-fit:cover;opacity:.75}.contact-panel{padding:clamp(3.4rem,7vw,7.5rem);display:flex;flex-direction:column;align-items:flex-start}.contact h2{font-size:clamp(2.5rem,5vw,5rem);margin-bottom:1.5rem}.contact-panel>p:not(.contact-place){margin:0;max-width:36ch;color:#c5d3cb}.contact-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:2.4rem 0 1.6rem}.contact-actions a{border:1px solid rgba(244,241,233,.55);border-radius:999px;padding:.7rem 1rem;font-weight:800;font-size:.9rem;transition:background .2s var(--ease),color .2s var(--ease)}.contact-actions a:hover{background:var(--paper);color:var(--ink)}.contact-actions span{margin-left:.5rem}.mail{font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:.15rem}.contact address{margin-top:2.2rem;font-style:normal;color:#c5d3cb;font-size:.92rem}.footer{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:2rem}.footer img{width:130px}.footer p,.footer a{font-size:.78rem;font-weight:700;color:var(--ink-soft)}.footer a{border-bottom:1px solid currentColor}.mobile-call{display:none}@keyframes heroReveal{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes detailIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}::selection{background:var(--gold);color:var(--ink)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--ink-soft);border:3px solid var(--paper);border-radius:999px}
@media (max-width:780px){.wrap{width:min(100% - 40px,600px)}.site-header{height:76px;width:calc(100% - 40px)}.brand{width:142px}.menu-toggle{display:grid;gap:5px;place-content:center;width:42px;height:42px;border:0;background:transparent;color:#fff;cursor:pointer;z-index:2}.menu-toggle i{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .25s var(--ease)}.site-header.menu-open .menu-toggle i:first-of-type{transform:translateY(3.25px) rotate(45deg)}.site-header.menu-open .menu-toggle i:last-of-type{transform:translateY(-3.25px) rotate(-45deg)}.nav{position:fixed;inset:0;padding:7.5rem 2rem 2rem;background:var(--ink);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.55rem;font-size:1.6rem;transform:translateY(-100%);transition:transform .42s var(--ease)}.site-header.menu-open .nav{transform:translateY(0)}.nav-call{font-size:.85rem;margin-top:1rem}.hero{min-height:760px}.hero-media{object-position:62% center}.hero-wash{background:linear-gradient(0deg,rgba(9,29,31,.68),rgba(9,29,31,.25) 65%),linear-gradient(90deg,rgba(9,29,31,.22),transparent)}.hero-grid{background:linear-gradient(90deg,transparent 20%,rgba(255,255,255,.1) 20%,rgba(255,255,255,.1) calc(20% + 1px),transparent calc(20% + 1px))}.hero-content{padding:8.5rem 0 8.5rem}.hero h1{font-size:clamp(3.25rem,13vw,4.8rem);letter-spacing:-.065em}.hero-copy{font-size:1rem;max-width:345px}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.3rem}.hero-scroll{right:1.4rem;bottom:2rem}.intro{grid-template-columns:1fr;gap:2rem;padding-block:5rem}.intro-stamp{width:84px;height:84px}.intro-stamp span{font-size:.48rem;width:58px}.intro h2{font-size:clamp(2.5rem,11vw,3.8rem)}.intro p{font-size:1.02rem}.services{padding-block:4.5rem}.services-head,.showcase-head{display:block}.services-head p,.showcase-head p{margin-top:1.5rem}.services h2{font-size:clamp(2.7rem,12vw,4rem)}.service summary{grid-template-columns:34px 1fr 25px;gap:.65rem;padding:1.35rem 0}.service h3{font-size:1.25rem;line-height:1.15}.service-body{display:block;padding:0 0 1.8rem 0}.service figure{margin:0 0 1.25rem;aspect-ratio:1.45}.service-body p{font-size:.94rem}.split-feature{grid-template-columns:1fr;gap:3rem;padding-block:5.5rem}.feature-image img{aspect-ratio:1.1}.feature-image span{right:-.4rem;bottom:1rem;padding:.9rem 1rem;font-size:.75rem}.feature-copy h2{font-size:clamp(2.7rem,12vw,4rem)}.other-systems .wrap{display:block}.other-systems ul{columns:1;margin-top:1.8rem}.other-systems li{font-size:.95rem}.showcase{padding-top:5.5rem}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:240px 260px 230px;gap:7px}.gallery-a{grid-row:span 1}.gallery-b{grid-row:span 2}.gallery-c{grid-column:span 1}.gallery-d{grid-column:span 2}.faq{padding-block:5rem}.contact{grid-template-columns:1fr}.contact-photo{min-height:280px;max-height:340px}.contact-panel{padding:4rem 20px 6.8rem}.contact h2{font-size:clamp(2.7rem,12vw,4.2rem)}.contact-actions a{font-size:.82rem}.footer{padding:1.5rem 0 5.8rem;align-items:flex-start;flex-direction:column;gap:.75rem}.footer p{margin:0}.mobile-call{position:fixed;display:flex;justify-content:space-between;align-items:center;left:14px;right:14px;bottom:14px;padding:.9rem 1rem .9rem 1.2rem;border-radius:999px;background:var(--gold);box-shadow:0 14px 30px rgba(5,22,23,.26);z-index:11;font-weight:800;font-size:.82rem}.mobile-call b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--ink);color:#fff;font-size:1rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
