:root{--ink:#183b3e;--muted:#556b6b;--paper:#f8f9f6;--white:#fff;--stone:#eaece5;--line:#cdd6d1;--deep:#102e31;--accent:#91bec0;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--ease:cubic-bezier(.22,.68,0,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}ul,ol{margin:0;padding:0}button{border-radius:0}a,button,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #007c90;outline-offset:6px}.projects :focus-visible,.hero :focus-visible,.contact :focus-visible,.lightbox :focus-visible{outline-color:#b0ecec}h1,h2,h3{font-weight:400}h2{font-family:var(--serif);font-size:clamp(2.3rem,4.5vw,4.35rem);letter-spacing:-.045em;line-height:1.13;text-wrap:balance}h2 em,h1 em{font-weight:400}p{max-width:65ch}p+p{margin-top:1.15em}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:.73rem;line-height:1.5;text-transform:uppercase;letter-spacing:.15em;font-weight:600;margin-bottom:25px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:60px}.section-aside{flex:0 1 300px;color:var(--muted);font-size:.95rem}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:12px 18px;background:white;transform:translateY(-180%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header{position:sticky;top:0;z-index:40;background:white;border-bottom:1px solid #e9eeeb}.header-inner{max-width:1440px;margin:auto;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:89px}.brand{display:inline-block;flex-shrink:0}.brand img{width:244px;height:auto}.header nav{display:flex;align-items:center;gap:34px;font-size:.83rem}.header nav>a:not(.nav-contact){position:relative;padding-block:10px}.header nav>a:not(.nav-contact)::after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.header nav>a:hover::after{transform:scaleX(1)}.nav-contact{display:flex;gap:30px;align-items:center;padding:12px 18px;background:var(--ink);color:white;transition:background .25s}.nav-contact:hover{background:#29555a}.menu-toggle{display:none}
.hero{isolation:isolate;position:relative;min-height:690px;height:min(850px,calc(100svh - 89px));display:flex;align-items:center;color:white;overflow:hidden;background:var(--deep)}.hero-photo,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 56%;transform:scale(1.045);animation:hero-settle 2.4s var(--ease) both}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,26,23,.83) 0%,rgba(5,26,23,.65) 31%,rgba(5,26,23,.09) 72%),linear-gradient(0deg,rgba(5,26,23,.7),transparent 30%)}.hero-content{padding-top:12px;padding-bottom:65px}.hero .eyebrow{font-size:.72rem;letter-spacing:.16em}.hero h1{font:400 clamp(4.5rem,7.55vw,7.4rem)/1.04 var(--serif);letter-spacing:-.048em;max-width:900px;margin-bottom:30px}.hero-line{display:block;animation:hero-line-in 1.4s var(--ease) both}.hero-line:nth-child(2){animation-delay:.15s}.hero-description{font-size:1rem;line-height:1.75;max-width:430px;color:#f0f4ed}.hero-actions{margin-top:32px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 22px;font-size:.85rem;font-weight:600;border:1px solid transparent;transition:background .25s,color .25s,transform .25s}.button span{font-size:1.25rem;line-height:1;transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}.button-light{background:#f5f5ec;color:#183b3e}.button-light:hover{background:#dbe8de}.hero-phone{font-size:.8rem;border-bottom:1px solid #cad3cc;padding:12px 0}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #ffffff55;padding-top:20px;font-size:.7rem;letter-spacing:.055em}.hero-bottom a{display:flex;align-items:center;gap:20px;padding:5px}.hero-enter{animation:hero-line-in 1.4s .22s var(--ease) both}@keyframes hero-settle{from{transform:scale(1.11)}to{transform:scale(1.045)}}@keyframes hero-line-in{from{opacity:0;transform:translateY(28px);clip-path:inset(100% 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
.intro{display:grid;grid-template-columns:1fr 2.5fr;gap:65px}.section-marker .eyebrow{max-width:150px}.fine-line{display:block;width:70px;height:1px;background:var(--ink);margin-top:35px}.intro-main h2{margin-bottom:35px}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;color:var(--muted)}.intro-columns p+p{margin:0}.services{background:var(--stone)}.service-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;align-items:start}.service{border-top:1px solid #b7c5bc}.service:last-child{border-bottom:1px solid #b7c5bc}.service summary{list-style:none;display:grid;grid-template-columns:24px 1fr 20px;align-items:center;gap:22px;padding:25px 0;cursor:pointer;font-size:1.35rem;line-height:1.3;letter-spacing:-.03em}.service summary::-webkit-details-marker{display:none}.service-number{font-size:.72rem;letter-spacing:0;color:var(--muted)}.plus{position:relative;width:18px;height:18px}.plus::before,.plus::after{content:'';position:absolute;top:8px;left:0;height:1px;width:18px;background:currentColor;transition:transform .3s}.plus::after{transform:rotate(90deg)}.service[open] .plus::after{transform:rotate(0)}.service-content{padding:0 15px 30px 46px;color:#405859;font-size:.96rem}.service-content>p{animation:content-in .35s var(--ease)}.service-content ul{display:grid;gap:8px;margin-top:23px;padding-left:16px;font-size:.88rem;color:var(--ink)}.service-detail{font-size:.82rem;line-height:1.65;margin-top:22px!important}.service-visual{position:sticky;top:125px}.service-visual img{width:100%;height:420px;object-fit:cover;transition:opacity .25s}.service-visual figcaption{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;padding-top:15px;color:var(--muted)}@keyframes content-in{from{opacity:.2;transform:translateY(-6px)}to{opacity:1;transform:none}}
.projects{background:var(--deep);color:#f3f4ea}.projects .section-aside{color:#c3d1cb}.projects .section-head{margin-bottom:80px}.editorial-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;row-gap:65px;align-items:start}.project-wide{grid-column:1/9}.project-offset{grid-column:9/13;margin-top:120px}.project-portrait{grid-column:1/5;margin:0 15px 0 55px}.project-landscape{grid-column:6/13;margin-top:100px}.project-last{margin-top:70px}.project-open{display:block;position:relative;overflow:hidden;background:#284346}.project img{width:100%;height:auto;aspect-ratio:1.42;object-fit:cover;transition:transform 1s var(--ease)}.project-offset img{aspect-ratio:.85}.project-portrait img{aspect-ratio:.69}.project-landscape img{aspect-ratio:1.2}.project-wide:first-child img{aspect-ratio:1.65}.image-zoom{position:absolute;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;background:#fff;color:var(--ink);border-radius:50%;font-size:1.2rem;transition:transform .4s}.project a:hover img{transform:scale(1.025)}.project a:hover .image-zoom{transform:rotate(45deg)}.project figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding-top:17px;border-bottom:1px solid #587073;padding-bottom:18px;font-size:.9rem}.project figcaption>span:last-child{font-size:.71rem;color:#bfd0cb;text-align:right}.gallery-note{margin-top:50px;font-size:.75rem;color:#bfd0cb;max-width:none;text-align:center}
.feature{padding-bottom:0}.feature-heading{display:grid;grid-template-columns:1fr 2.5fr;gap:65px;margin-bottom:50px}.feature-heading p:not(.eyebrow){margin-top:26px;color:var(--muted);max-width:650px}.feature-frame{position:relative;overflow:hidden;aspect-ratio:2.08;background:#254640}.feature-frame img{width:100%;height:115%;object-fit:cover;object-position:50% 54%;transform:translateY(var(--parallax,-6%));will-change:transform}.feature-frame figcaption{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:.82rem;letter-spacing:.04em;background:#173a3eed;color:white;padding:10px 20px;white-space:nowrap}.survey-corner{position:absolute;width:44px;height:44px;border-color:white;border-style:solid;transition:transform 1.3s var(--ease),opacity 1.3s}.corner-tl{top:30px;left:30px;border-width:1px 0 0 1px}.corner-br{bottom:30px;right:30px;border-width:0 1px 1px 0}.will-reveal:not(.is-visible) .corner-tl{transform:translate(-15px,-15px)}.will-reveal:not(.is-visible) .corner-br{transform:translate(15px,15px)}
.comparison-section .section-head{margin-bottom:30px}.comparison-review-note{font-size:.82rem;color:#536563;background:#e9eee9;border-left:2px solid #54776e;padding:15px 20px;margin-bottom:25px;max-width:760px}.comparison-review-note strong{font-weight:600}.comparison{position:relative;width:100%;aspect-ratio:2.12;isolation:isolate;overflow:hidden;touch-action:pan-y;user-select:none;background:#dee7e0}.comparison-layer{position:absolute;inset:0}.comparison-before{clip-path:inset(0 calc(100% - var(--position)) 0 0);z-index:1}.comparison-layer img{width:100%;height:100%;object-fit:cover}.comparison-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-size:45px 45px;background-image:linear-gradient(#57796d12 1px,transparent 1px),linear-gradient(90deg,#57796d12 1px,transparent 1px);color:#274e49}.placeholder-before{background-color:#e6e6df}.placeholder-after{background-color:#cbddd7}.comparison-placeholder>span{font:clamp(3rem,7vw,7rem)/1 var(--serif);opacity:.55;margin-bottom:20px}.comparison-placeholder p{font:clamp(1.2rem,2.5vw,2.6rem)/1.2 var(--serif)}.comparison-placeholder small{font-size:.75rem;margin-top:15px}.comparison-label{position:absolute;top:20px;padding:6px 14px;background:var(--ink);color:white;z-index:2;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;pointer-events:none}.label-before{left:20px}.label-after{right:20px}.comparison-divider{position:absolute;left:var(--position);top:0;bottom:0;width:2px;background:white;transform:translateX(-50%);z-index:3;pointer-events:none}.comparison-divider>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:white;color:var(--ink);border-radius:50%;display:flex;justify-content:center;align-items:center;gap:7px;box-shadow:0 2px 10px #0002}.comparison-divider i{height:16px;width:1px;background:#bdccc5}.comparison-range{position:absolute;inset:0;z-index:4;margin:0;width:100%;height:100%;opacity:0;cursor:ew-resize;touch-action:pan-y}.comparison:focus-within .comparison-divider>span{outline:3px solid #007c90;outline-offset:4px}.comparison-figure figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font-size:.77rem;color:var(--muted)}
.process{background:#eaece5}.process-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:36px;--progress:0}.process-list::before,.process-list::after{content:'';position:absolute;top:0;height:1px;left:0;right:0;background:#afbeb5}.process-list::after{background:var(--ink);transform-origin:left;transform:scaleX(var(--progress))}.process-list li{padding-top:25px}.step-index{font-size:.78rem;color:#546a61}.process-list h3{font:1.45rem/1.3 var(--serif);letter-spacing:-.025em;margin-top:24px;margin-bottom:18px}.process-list p{color:#506762;font-size:.9rem;max-width:26ch}.experience{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:110px}.experience-heading h2{margin-bottom:30px}.experience-heading>p:not(.eyebrow){color:var(--muted)}.experience-detail{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:end}.experience-number{font:7rem/.8 var(--serif);letter-spacing:-.08em}.experience-number>span{display:block;font:.8rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-top:25px;margin-left:8px}.experience-detail img{width:100%;aspect-ratio:.7;object-fit:cover}.experience-detail figcaption{font-size:.73rem;line-height:1.5;margin-top:14px;color:var(--muted)}
.contact{background:var(--ink);color:#f8f8ef}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}.contact h2{font-size:clamp(3rem,6vw,6rem);margin-bottom:28px}.contact p:not(.eyebrow){color:#d3ded5}.contact .button{margin-top:32px}.contact-details{border-top:1px solid #a6bdb266;padding-top:30px}.contact-label{font-size:.8rem;margin-bottom:16px}.contact-phone{font:clamp(1.5rem,2.4vw,2.5rem)/1.3 var(--serif);display:flex;gap:25px;align-items:center;justify-content:space-between;padding-bottom:30px;border-bottom:1px solid #a6bdb266}.contact-phone span{font:1.5rem var(--sans);transition:transform .25s}.contact-phone:hover span{transform:translate(3px,-3px)}.contact-email{display:flex;flex-direction:column;gap:10px;margin-top:30px;font-size:.88rem}.contact-email>span{font-size:.72rem;color:#cad9d0}.contact-email a{width:fit-content;border-bottom:1px solid #b5ccc2;padding-bottom:4px;overflow-wrap:anywhere}.footer{background:var(--paper);padding-block:52px 22px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:28px}.footer .brand img{width:230px;mix-blend-mode:multiply}.footer>p{color:var(--muted);font-size:.8rem}.back-top{font-size:.78rem;padding:10px;display:flex;gap:16px;align-items:center}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:22px;gap:15px;font-size:.68rem;color:var(--muted)}
.lightbox{position:fixed;inset:0;border:0;margin:auto;padding:20px 30px;background:#0b2225;color:white;max-width:none;max-height:none;width:100%;height:100%;height:100dvh}.lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}.lightbox::backdrop{background:#0b2225f5}.lightbox button{min-width:48px;min-height:48px;border:1px solid #a3b3af80;background:transparent;color:white;transition:background .2s}.lightbox button:hover{background:#264345}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center}.lightbox-counter{font-size:.78rem;letter-spacing:.12em}.lightbox-close{display:flex;align-items:center;justify-content:center;gap:20px;padding:0 18px;font-size:.8rem}.lightbox-close span{font-size:1.7rem}.lightbox figure{min-height:0;display:flex;flex-direction:column;align-items:center;gap:12px}.lightbox figure img{min-height:0;flex:1;max-width:100%;width:auto;height:calc(100% - 36px);object-fit:contain}.lightbox figcaption{font-size:.82rem;text-align:center;flex-shrink:0}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:30px}.lightbox-controls>span{font-size:.75rem;color:#c5d8d1}.lightbox-controls button{font-size:1.2rem}
.placeholder-before{padding-right:50%}.placeholder-after{padding-left:50%}.comparison-placeholder p,.comparison-placeholder small{text-align:center;max-width:85%}.comparison-placeholder p{font-size:clamp(1.05rem,2vw,2rem)}
.will-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.will-reveal.is-visible{opacity:1;transform:none}.project.will-reveal .project-open{clip-path:inset(8% 0 0);transition:clip-path 1.15s var(--ease)}.project.is-visible .project-open{clip-path:inset(0)}
@media(min-width:1600px){.hero-content{padding-bottom:60px}.hero-photo img{object-position:50% 57%}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header-inner{padding-inline:30px;gap:20px}.brand img{width:220px}.header nav{gap:22px;font-size:.78rem}.section{padding-block:85px}.hero{min-height:650px;height:calc(100svh - 89px);max-height:800px}.hero h1{font-size:6rem}.hero-description{max-width:400px}.hero-photo img{object-position:58%}.intro,.feature-heading{grid-template-columns:1fr 3fr;gap:35px}.section-head{gap:30px}.section-aside{flex-basis:240px}.service-layout{gap:40px;grid-template-columns:1.2fr 1fr}.service summary{gap:15px;font-size:1.15rem}.service-content{padding-left:39px}.service-visual img{height:410px}.editorial-gallery{gap:45px 25px}.project-offset{margin-top:70px}.project-portrait{margin-left:20px}.project-landscape{margin-top:75px}.experience{gap:55px;grid-template-columns:1.35fr 1fr}.experience-detail{grid-template-columns:1fr;max-width:240px;justify-self:end;gap:32px}.experience-detail img{aspect-ratio:1.5}.experience-number{font-size:6rem}.contact-layout{gap:55px}.process-list{gap:25px}.process-list h3{font-size:1.3rem}.footer{gap:20px}.footer .brand img{width:205px}}
@media(max-width:850px){html{scroll-padding-top:88px}.header-inner{padding:18px 26px;min-height:78px}.brand img{width:210px}.menu-toggle{display:flex;align-items:center;gap:16px;background:transparent;border:1px solid var(--line);min-height:44px;padding:8px 12px;font-size:.75rem}.menu-lines{width:17px;height:12px;position:relative}.menu-lines::before,.menu-lines::after{content:'';position:absolute;left:0;width:17px;height:1px;background:var(--ink);transition:transform .25s,top .25s;top:3px}.menu-lines::after{top:9px}.menu-toggle[aria-expanded=true] .menu-lines::before{top:6px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines::after{top:6px;transform:rotate(-45deg)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:22px 26px 30px;gap:0;box-shadow:0 15px 30px #102e3110}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;animation:content-in .25s var(--ease)}.header nav>a:not(.nav-contact){padding:16px 0;font-size:1.2rem;border-bottom:1px solid var(--line)}.header nav .nav-contact{margin-top:20px;padding:15px 20px;font-size:.95rem;justify-content:space-between}.header nav>a::after{display:none}.hero{height:750px;min-height:0;max-height:none}.hero h1{font-size:5.5rem}.hero-bottom-note{display:none}.hero-content{padding-bottom:65px}.hero-shade{background:linear-gradient(90deg,rgba(5,26,23,.8),rgba(5,26,23,.5) 48%,rgba(5,26,23,.05)),linear-gradient(0deg,rgba(5,26,23,.8),transparent 50%)}.intro,.feature-heading{grid-template-columns:1fr}.intro{gap:20px}.section-marker .eyebrow{max-width:none;margin-bottom:10px}.fine-line{display:none}.section-head{align-items:start;flex-direction:column;gap:25px;margin-bottom:42px}.section-aside{flex-basis:auto;max-width:460px}.service-layout{grid-template-columns:1.1fr 1fr;gap:28px}.service summary{font-size:1.12rem;grid-template-columns:19px 1fr 16px;gap:12px}.service-content{padding-left:0;padding-right:0;font-size:.9rem}.service-visual img{height:440px}.service-visual figcaption{font-size:.72rem}.service-visual figcaption span:last-child{display:none}.projects .section-head{margin-bottom:50px}.editorial-gallery{row-gap:38px;column-gap:20px}.project-wide{grid-column:1/8}.project-offset{grid-column:8/13}.project-portrait{grid-column:1/6;margin-left:0}.project-landscape{grid-column:6/13;margin-top:70px}.project figcaption{flex-direction:column;gap:5px;font-size:.82rem}.project figcaption>span:last-child{text-align:left}.feature-heading{gap:0}.feature-frame{aspect-ratio:1.5}.comparison{aspect-ratio:1.7}.process-list{grid-template-columns:1fr 1fr;gap:35px}.process-list li{border-top:1px solid #b6c5bc}.process-list::before,.process-list::after{display:none}.process-list h3{margin-top:18px}.experience{grid-template-columns:1.5fr 1fr;gap:35px}.experience h2{font-size:2.55rem}.contact-layout{grid-template-columns:1fr;gap:60px}.contact-details{max-width:550px;width:100%}.contact-phone{font-size:2rem}.footer{grid-template-columns:1fr auto}.footer>p{grid-column:1;grid-row:2}.footer .back-top{grid-column:2;grid-row:1}.footer-bottom{margin-top:10px}}
@media(max-width:599px){.wrap{width:calc(100% - 40px)}.section{padding-block:64px}.header-inner{min-height:72px;padding:14px 20px;gap:12px}.brand img{width:183px}.menu-toggle{gap:10px;padding-inline:10px}.menu-label{font-size:.7rem}.hero{height:auto;min-height:780px;display:flex;align-items:start}.hero-photo{top:0;bottom:0}.hero-photo img{object-position:67% 55%;transform:scale(1.045)}.hero-shade{background:linear-gradient(180deg,rgba(5,26,23,.78) 0%,rgba(5,26,23,.62) 37%,rgba(5,26,23,.04) 73%,rgba(5,26,23,.8) 100%)}.hero-content{padding-top:58px;padding-bottom:220px}.hero h1{font-size:clamp(3.25rem,11.8vw,4.7rem);line-height:1.08;letter-spacing:-.045em;margin-bottom:22px}.hero .eyebrow{font-size:.62rem;letter-spacing:.11em;max-width:none;margin-bottom:24px}.hero-description{font-size:.92rem;line-height:1.7;max-width:335px}.hero-actions{gap:10px;margin-top:27px;align-items:start;flex-direction:column}.button{min-height:54px;font-size:.84rem;gap:35px;padding-inline:20px}.hero-phone{font-size:.78rem;padding-block:12px}.hero-bottom{font-size:.64rem;bottom:20px;gap:12px;padding-top:14px}.hero-bottom a{gap:10px}.hero-bottom>span{font-size:.61rem}.eyebrow{font-size:.66rem;margin-bottom:20px}h2{font-size:2.45rem;line-height:1.15}.intro{gap:10px}.intro-main h2{margin-bottom:27px}.intro-columns{grid-template-columns:1fr;gap:19px;font-size:.95rem;line-height:1.75}.section-head{gap:22px;margin-bottom:34px}.section-aside{font-size:.92rem}.service-layout{display:flex;flex-direction:column;gap:30px}.service-list{width:100%}.service summary{font-size:1.22rem;padding-block:23px;gap:15px}.service-content{padding-left:34px;font-size:.93rem}.service-content ul{font-size:.86rem}.service-visual{position:relative;top:auto;width:100%}.service-visual img{height:auto;aspect-ratio:1.4;object-position:50% 50%}.service-visual figcaption span:last-child{display:inline}.editorial-gallery{display:flex;flex-direction:column;gap:35px}.project{width:100%;margin:0}.project-offset,.project-portrait{width:84%;align-self:flex-end}.project-offset img{aspect-ratio:1}.project-portrait{align-self:flex-start;width:78%}.project-portrait img{aspect-ratio:.76;object-position:50% 48%}.project-landscape img{aspect-ratio:1.2}.project-wide img{aspect-ratio:1.3}.project-last{width:100%}.project-last img{aspect-ratio:1.3}.project figcaption{flex-direction:row;gap:15px;font-size:.8rem;padding-top:13px;padding-bottom:14px}.project figcaption>span:last-child{text-align:right;font-size:.65rem}.gallery-note{text-align:left;font-size:.74rem;line-height:1.7;margin-top:35px}.image-zoom{width:42px;height:42px;bottom:12px;right:12px}.feature{padding-bottom:0}.feature-heading{gap:0;margin-bottom:32px}.feature-heading p:not(.eyebrow){font-size:.94rem}.feature-frame{aspect-ratio:1.12}.feature-frame img{object-position:66% 50%}.feature-frame figcaption{font-size:.67rem;padding:8px 12px;bottom:20px}.survey-corner{width:28px;height:28px}.corner-tl{top:20px;left:20px}.corner-br{bottom:20px;right:20px}.comparison-review-note{font-size:.76rem;padding:13px 15px}.comparison{aspect-ratio:1.18}.comparison-placeholder>span{font-size:4rem;margin-bottom:18px}.comparison-placeholder p{font-size:1.2rem}.comparison-placeholder small{font-size:.7rem;max-width:90px;text-align:center;line-height:1.4;margin-top:12px}.comparison-label{top:12px;font-size:.65rem;padding:5px 10px}.label-before{left:12px}.label-after{right:12px}.comparison-divider>span{width:48px;height:48px;gap:5px}.comparison-figure figcaption{font-size:.7rem;flex-direction:column;gap:3px}.process-list{grid-template-columns:1fr;gap:0}.process-list li{display:grid;grid-template-columns:32px 1fr;gap:10px 14px;padding-block:23px}.process-list li:last-child{padding-bottom:0}.step-index{grid-row:1/3;line-height:1.9}.process-list h3{margin:0;font-size:1.4rem}.process-list p{grid-column:2;max-width:none;font-size:.92rem}.experience{grid-template-columns:1fr;gap:40px}.experience h2{font-size:2.4rem}.experience-heading>p:not(.eyebrow){font-size:.94rem}.experience-detail{justify-self:stretch;max-width:none;grid-template-columns:1fr 1.1fr;align-items:center;gap:35px}.experience-number{font-size:6.5rem}.experience-detail img{aspect-ratio:1}.experience-detail figcaption{font-size:.67rem}.contact-layout{gap:48px}.contact h2{font-size:3.8rem}.contact p:not(.eyebrow){font-size:.94rem}.contact-phone{font-size:1.8rem;gap:15px}.contact-details{padding-top:25px}.contact-label{font-size:.77rem!important}.contact-email{font-size:.85rem}.footer{padding-block:40px 22px;gap:18px}.footer .brand img{width:190px}.footer>p{font-size:.77rem;max-width:250px;grid-column:1/-1}.back-top{font-size:.7rem;padding:8px 0;gap:8px}.footer-bottom{font-size:.62rem;flex-direction:column;gap:5px;margin-top:8px}.lightbox{padding:15px;gap:18px}.lightbox figcaption{font-size:.78rem}.lightbox-controls{gap:18px}.lightbox-controls>span{font-size:.65rem}.lightbox-close{min-height:44px}.lightbox-toolbar{min-height:44px}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.header-inner{padding-inline:16px}.brand img{width:168px}.menu-toggle{padding-inline:8px}.menu-label{display:none}.hero-content{padding-top:45px}.hero{min-height:765px}.hero-description{font-size:.88rem}.hero h1{font-size:3.2rem}.hero-bottom>span{display:none}.hero-bottom{justify-content:flex-end}.contact h2{font-size:3.25rem}.contact-phone{font-size:1.6rem}.footer .brand img{width:170px}.service summary{font-size:1.1rem}.service-content{padding-left:0}h2,.experience h2{font-size:2.2rem}.project figcaption{flex-direction:column;gap:4px}.project figcaption>span:last-child{text-align:left}}
@media(max-width:359px){.hero h1{font-size:2.7rem}}
/* V2: quieter hierarchy, larger photographs, real transformation stories. */
.section{padding-block:clamp(72px,8.3vw,120px)}
.hero-content{padding-block:30px}.hero-description{max-width:360px;font-size:1.06rem;line-height:1.65}
.hero-shade{background:linear-gradient(90deg,#071e1ae0 0%,#071e1a99 33%,#071e1a05 78%)}
.hero-photo{animation:water-reveal 1.5s var(--ease) both}.hero-photo img{animation-duration:2.8s}
.hero-actions{margin-top:34px}.button{position:relative;overflow:hidden;min-height:56px;transition:background .3s,color .3s,box-shadow .3s}.button:hover{box-shadow:0 5px 22px #031b181a}
.intro{grid-template-columns:1fr 2.5fr;align-items:center;gap:80px}.intro-experience{font-size:.9rem;color:var(--muted);line-height:1.4}.intro-experience>span{display:block;font:clamp(7rem,11vw,10rem)/.9 var(--serif);letter-spacing:-.08em;color:var(--ink);margin-bottom:20px}.intro-main h2{margin-bottom:24px}.intro-copy{max-width:42ch;color:var(--muted);font-size:1.05rem}
.service-layout{gap:90px;align-items:center}.service-visual{position:relative;top:auto}.service-visual img{height:auto;aspect-ratio:1.1}.service summary{font-size:1.45rem;padding-block:28px}.service-content{font-size:1rem;line-height:1.8;padding-bottom:32px}.service-number{font-size:.78rem}
.projects .section-head{margin-bottom:64px}.editorial-gallery{row-gap:64px;column-gap:48px}.project-wide:first-child{grid-column:1/-1}.project-wide:first-child img{aspect-ratio:2.1}.project-offset:nth-child(2){grid-column:1/6;margin:0}.project-portrait{grid-column:8/13;margin:100px 0 0}.project-portrait img{aspect-ratio:.9}.project-landscape{grid-column:1/-1;margin-top:0}.project-landscape img{aspect-ratio:2}.project-wide:nth-child(5){grid-column:1/8}.project-last{grid-column:9/13;margin-top:90px}.project img{transition:transform 1.4s var(--ease),filter .6s}.image-zoom{background:#f8f9f6e8}
.project.will-reveal .project-open{clip-path:inset(0 0 100%);transition:clip-path 1.25s var(--ease)}.project.is-visible .project-open{clip-path:inset(0)}
.feature{padding-bottom:0}.feature-heading{display:block;margin-bottom:48px}.feature-frame{aspect-ratio:2}.feature-frame.will-reveal{clip-path:inset(0 5%);transition:clip-path 1.5s var(--ease),opacity 1.2s}.feature-frame.is-visible{clip-path:inset(0)}
.comparison-section .section-head{margin-bottom:44px}.comparison-section .section-aside{flex-basis:auto}.comparison-figure{max-width:1080px;margin-left:auto}.comparison{aspect-ratio:1.55;background:var(--stone)}.comparison-layer img{object-position:50% 55%}.comparison-label{font-size:.85rem;letter-spacing:0;text-transform:none;background:#102e31e8;top:24px;padding:7px 15px}.label-before{left:24px}.label-after{right:24px}.comparison-divider{box-shadow:0 0 16px #fff3}.comparison-divider>span{width:64px;height:64px;transition:box-shadow .2s}.comparison:hover .comparison-divider>span{box-shadow:0 0 0 8px #ffffff26}.comparison-figure figcaption{justify-content:center;font-size:.8rem;margin-top:18px}
.construction{min-width:0;--stage-progress:.142857}.construction-track{position:relative;display:flex;gap:24px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:5px;scroll-behavior:smooth}.construction-track::-webkit-scrollbar{display:none}.construction-track:focus-visible{outline:3px solid #007c90;outline-offset:6px}.construction-stage{flex:0 0 58%;min-width:0;scroll-snap-align:start}.construction-stage img{width:100%;height:clamp(400px,43vw,560px);object-fit:cover;object-position:center}.construction-stage:last-child img{object-position:center 58%}.construction-stage figcaption{margin-top:16px;font:1.35rem/1.4 var(--serif)}.construction-controls{display:flex;align-items:center;gap:28px;margin-top:28px}.construction-status{font-size:.85rem;font-variant-numeric:tabular-nums;min-width:44px}.construction-progress{height:1px;background:#b6c5bc;flex:1}.construction-progress>span{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(var(--stage-progress));transform-origin:left;transition:transform .4s var(--ease)}.construction-buttons{display:flex;gap:8px}.construction-buttons button{width:50px;height:50px;border:1px solid #a6b8ae;background:transparent;font-size:1.2rem;transition:background .2s,color .2s}.construction-buttons button:hover:not([aria-disabled=true]){background:var(--ink);color:white}.construction-buttons [aria-disabled=true]{opacity:.4;cursor:default}.process-list{margin-top:70px}.process-list h3{font-size:1.5rem}.process-list p{font-size:.94rem}
.contact p{max-width:36ch}.contact-email{gap:22px}.contact-email a{font-size:.9rem}.footer-bottom{font-size:.75rem}.lightbox figcaption{max-width:75ch;color:#dce6df}
@keyframes water-reveal{from{clip-path:inset(0 0 18%)}to{clip-path:inset(0)}}
@media(hover:hover) and (pointer:fine){.project a:hover img{transform:scale(1.04);filter:saturate(1.04)}}
@media(max-width:1100px){.intro{gap:45px}.service-layout{gap:45px}.service summary{font-size:1.22rem}.editorial-gallery{gap:45px 28px}.construction-stage{flex-basis:64%}}
@media(max-width:850px){.intro{grid-template-columns:1fr 2.2fr;gap:35px}.intro h2{font-size:2.65rem}.intro-experience>span{font-size:7rem}.hero h1{font-size:5.5rem}.hero-shade{background:linear-gradient(90deg,#071e1ad9,#071e1a88 50%,#071e1a20)}.service-layout{gap:28px}.service summary{font-size:1.1rem}.service-content{padding-left:0;font-size:.94rem}.service-visual img{aspect-ratio:.8}.project-portrait{margin-top:60px}.comparison{aspect-ratio:1.3}.comparison-figure{width:100%}.construction-stage{flex-basis:68%}.construction-stage img{height:460px}.feature-frame{aspect-ratio:1.6}}
@media(max-width:599px){.section{padding-block:68px}.hero{height:calc(100svh - 72px);min-height:660px;max-height:860px}.hero-content{padding-top:46px;padding-bottom:230px}.hero h1{font-size:clamp(2.7rem,12vw,3.5rem);margin-bottom:22px}.hero-description{font-size:.97rem;max-width:28ch}.hero-photo img{object-position:65% 54%}.hero-shade{background:linear-gradient(180deg,#071e1acc 0%,#071e1a9e 40%,#071e1a10 77%,#071e1a33 100%)}.hero-actions{margin-top:24px;gap:8px}.hero-phone{font-size:.83rem}.button{padding-inline:19px;gap:24px}.intro{grid-template-columns:1fr;gap:32px}.intro-experience{display:flex;align-items:end;gap:16px;font-size:.85rem}.intro-experience>span{font-size:5rem;margin:0;line-height:.85}.intro h2{font-size:2.35rem}.intro-copy{font-size:1rem}.service summary{font-size:1.22rem;padding-block:24px}.service-content{padding-left:34px;font-size:.96rem}.service-visual img{aspect-ratio:1.35}.service-layout{gap:26px}.projects .section-head{margin-bottom:36px}.editorial-gallery{gap:30px}.project-wide:first-child img{aspect-ratio:1.25}.project-offset:nth-child(2){width:86%;align-self:flex-start}.project-portrait{margin:0;width:86%;align-self:flex-end}.project-portrait img{aspect-ratio:1}.project-landscape img{aspect-ratio:1.3}.project-last{margin:0;width:86%;align-self:flex-end}.project img{object-position:center}.feature{padding-bottom:0}.feature-heading{margin-bottom:32px}.feature-frame{aspect-ratio:1.07}.comparison-section .section-head{gap:18px;margin-bottom:28px}.comparison{aspect-ratio:.95}.comparison-layer img{object-position:50% 50%}.comparison-label{top:14px;font-size:.8rem;padding:6px 12px}.label-before{left:14px}.label-after{right:14px}.comparison-divider>span{width:50px;height:50px}.comparison-figure figcaption{align-items:center;font-size:.78rem}.construction-track{gap:14px}.construction-stage{flex-basis:88%}.construction-stage img{height:auto;aspect-ratio:.85}.construction-stage figcaption{font-size:1.25rem;margin-top:14px}.construction-controls{gap:16px;margin-top:20px}.construction-buttons button{width:46px;height:46px}.process-list{margin-top:44px}.process-list h3{font-size:1.4rem}.contact h2{font-size:3.3rem}.contact-email a{font-size:.87rem}}
@media(max-width:359px){.hero{min-height:650px}.hero h1{font-size:2.7rem}.hero-content{padding-top:38px}.hero-description{font-size:.92rem}.intro h2{font-size:2.1rem}.service summary{font-size:1.1rem}.service-content{padding-left:0}.contact h2{font-size:2.8rem}.contact-email a{font-size:.8rem}}
/* Multi-page architecture: shared visual language, distinct editorial compositions. */
.header nav{gap:27px}.header nav>a[aria-current=page]:not(.nav-contact)::after{transform:scaleX(1)}.header nav .nav-contact[aria-current=page]{background:#29555a}
.page-heading h1,.portfolio-page h1,.contact-page h1{font:400 clamp(3.2rem,6.2vw,6.2rem)/1.08 var(--serif);letter-spacing:-.05em;text-wrap:balance}.page-heading h1 em,.portfolio-page h1 em,.contact-page h1 em{font-weight:400}
.page-heading{padding-block:clamp(60px,7vw,108px) 54px}.page-heading p{margin-top:28px;color:var(--muted);font-size:1.08rem;max-width:40ch}.page-heading h1,.contact-page h1{animation:page-enter .65s var(--ease) both}.page-heading p{animation:page-enter .7s .07s var(--ease) both}
.button-ink{background:var(--ink);color:var(--paper)}.button-ink:hover{background:#29555a}.editorial-link{display:inline-flex;gap:32px;align-items:center;min-height:48px;font-size:.95rem;border-bottom:1px solid currentColor;padding-block:12px}.editorial-link span{font-size:1.3rem;transition:transform .3s}.editorial-link:hover span{transform:translate(4px,-4px)}
.home-services{background:var(--stone)}.home-services-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.home-services h2{font-size:clamp(2.4rem,3.8vw,3.8rem)}.service-directions a{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #b7c5bc;padding:27px 0;font:1.8rem/1.3 var(--serif)}.service-directions a:last-child{border-bottom:1px solid #b7c5bc}.service-directions a>span:last-child{font:1.1rem var(--sans);transition:transform .3s}.service-directions a:hover>span:last-child{transform:translate(4px,-4px)}
.home-projects{background:var(--deep);color:var(--paper)}.home-projects .section-head{margin-bottom:45px}.teaser-photos{display:grid;grid-template-columns:1.65fr 1fr;gap:38px;align-items:start}.teaser-photos figure{overflow:hidden}.teaser-photos figure:first-child img{width:100%;aspect-ratio:1.5;object-fit:cover}.teaser-photos figure:last-child{margin-top:90px}.teaser-photos figure:last-child img{width:100%;aspect-ratio:1;object-fit:cover}.portfolio-invitation .editorial-link{margin-top:30px}.portfolio-invitation:focus-visible{outline-offset:10px}.portfolio-invitation img{transition:transform 1s var(--ease)}.portfolio-invitation:hover img{transform:scale(1.025)}
.home-transformation{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:center}.home-transformation p{margin-top:24px;color:var(--muted)}.home-transformation .editorial-link{margin-top:20px}.teaser-comparison{display:grid;grid-template-columns:1fr 1fr;gap:2px;overflow:hidden}.teaser-comparison>div{position:relative;min-width:0}.teaser-comparison img{height:400px;width:100%;object-fit:cover}.teaser-comparison span{position:absolute;top:16px;left:16px;padding:4px 12px;background:#102e31ed;color:white;font-size:.85rem}
.closing-contact{background:var(--ink);color:var(--paper)}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.closing-inner h2{font-size:clamp(3rem,5.3vw,5.2rem)}.closing-inner .button{flex-shrink:0;min-width:240px}
.service-editorial{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:100px}.service-editorial>figure{aspect-ratio:.94;overflow:hidden}.service-editorial>figure img{width:100%;height:100%;object-fit:cover}.service-editorial>figure[data-parallax] img{height:112%;transform:translateY(var(--parallax,-5%))}.service-editorial.reverse>figure{grid-column:2;grid-row:1}.service-editorial.reverse>.service-editorial-copy{grid-column:1;grid-row:1}.service-editorial h2{margin-bottom:38px}.service-topic{margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.service-topic h3{font-size:1.08rem;font-weight:500;line-height:1.4;margin-bottom:12px}.service-topic p{color:var(--muted);font-size:.98rem;max-width:43ch}.service-band{background:var(--stone)}.service-editorial-copy .editorial-link{margin-top:24px}
.portfolio-page{padding-top:90px}.portfolio-page .section-head{margin-bottom:64px}.portfolio-page .section-head h1{max-width:950px}.portfolio-page .project:first-child img{aspect-ratio:2.12}.portfolio-page .project:first-child{animation:page-enter .7s var(--ease) both}.comparison-section{scroll-margin-top:20px}
.process-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center;padding-bottom:30px}.process-heading figure{overflow:hidden}.process-heading img{width:100%;aspect-ratio:1.2;object-fit:cover}.process-overview{padding-top:40px}.process-overview .process-list{margin-top:0}.process-overview .process-list p{max-width:28ch}
.contact-page{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;min-height:calc(100svh - 90px)}.contact-page h1{font-size:clamp(3.2rem,5.8vw,5.5rem)}.contact-page-copy>p{font-size:1.05rem;color:var(--muted);max-width:34ch;margin-top:26px}.contact-page-copy>.button{margin-top:32px}.contact-options{display:grid;gap:0;margin-top:40px;max-width:470px}.contact-options>a{display:flex;flex-direction:column;gap:8px;padding:22px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.contact-options>a>span:first-child{font-size:.85rem;color:var(--muted)}.contact-options>a>span:last-child{font-size:1.05rem}.contact-page-visual{align-self:stretch;overflow:hidden;min-height:540px}.contact-page-visual img{height:100%;width:100%;object-fit:cover}
/* Signature “Linea d’acqua”: photography opens from a horizontal seam, once. */
.water-reveal{position:relative;overflow:hidden}.water-reveal.will-reveal{transform:none;clip-path:inset(46% 0 46%);transition:clip-path 1.15s var(--ease),opacity .8s var(--ease)}.water-reveal.is-visible{clip-path:inset(0)}.water-reveal::after{content:'';position:absolute;inset:50% 0 auto;height:1px;background:#fff9;transform:scaleX(0);pointer-events:none}.water-reveal.is-visible::after{animation:water-seam 1.1s var(--ease) both}
@keyframes water-seam{0%{transform:scaleX(0);opacity:0}25%{transform:scaleX(1);opacity:.8}100%{transform:scaleX(1);opacity:0}}
@keyframes page-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* Quiet editorial finishing: fewer dividers and a deliberate end to inner pages. */
.service-editorial-copy h2+.service-topic{border-top:0;margin-top:0;padding-top:0}
.page-heading+.service-editorial{padding-top:clamp(30px,4.5vw,64px)}
.comparison-section>.section-head{max-width:1080px;margin-left:auto}
body[data-page="cosa-facciamo"] .footer,body[data-page="realizzazioni"] .footer,body[data-page="contatti"] .footer{border-top:1px solid var(--line)}
@media(hover:hover) and (pointer:fine){.project-open{cursor:zoom-in}.project .image-zoom{opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.project-open:hover .image-zoom,.project-open:focus-visible .image-zoom{opacity:1;transform:none}}
/* Consistent page-entry motion above; native document navigation stays immediate. */
@media(max-width:1100px){.header nav{gap:19px}.header-inner{padding-inline:28px}.home-services-layout{gap:45px}.service-directions a{font-size:1.5rem}.service-editorial{gap:50px}.home-transformation{gap:45px}.process-heading{gap:45px}.contact-page{gap:40px}.contact-page h1{font-size:3.7rem}.contact-options>a>span:last-child{font-size:.95rem}}
@media(max-width:850px){.header nav{gap:0}.home-services-layout{grid-template-columns:1fr;gap:35px}.service-directions a{font-size:1.7rem}.service-editorial{gap:30px;align-items:start}.service-editorial h2{font-size:2.5rem}.service-editorial>figure{position:sticky;top:110px;aspect-ratio:.75}.home-transformation{gap:30px;grid-template-columns:1fr 1.15fr}.home-transformation h2{font-size:2.65rem}.teaser-comparison img{height:330px}.teaser-comparison span{left:10px;padding-inline:8px}.teaser-photos{gap:25px}.teaser-photos figure:last-child{margin-top:65px}.closing-inner{gap:30px}.closing-inner .button{min-width:190px}.process-heading{gap:30px;grid-template-columns:1.3fr 1fr}.process-heading h1{font-size:3.8rem}.process-heading img{aspect-ratio:.85}.contact-page{grid-template-columns:1fr 1fr;gap:30px}.contact-page h1{font-size:3.3rem}.contact-page .button{font-size:.8rem;gap:12px;padding-inline:14px}.contact-page-visual{min-height:500px}}
@media(max-width:599px){.page-heading{padding-block:48px 26px}.page-heading h1,.portfolio-page h1,.contact-page h1{font-size:clamp(2.5rem,11vw,3.15rem);line-height:1.1}.page-heading p{font-size:1rem;margin-top:23px}.home-services-layout{gap:30px}.home-services h2{font-size:2.35rem}.service-directions a{font-size:1.45rem;padding-block:24px}.teaser-photos{grid-template-columns:1fr;gap:24px}.teaser-photos figure:last-child{margin:0;width:70%;justify-self:end}.teaser-photos figure:first-child img{aspect-ratio:1.22}.teaser-photos figure:last-child img{aspect-ratio:1.15}.portfolio-invitation .editorial-link{margin-top:24px}.editorial-link{font-size:.9rem;gap:20px}.home-transformation{grid-template-columns:1fr;gap:30px}.home-transformation h2{font-size:2.45rem}.home-transformation p{margin-top:20px}.teaser-comparison img{height:300px}.home-transformation .editorial-link{margin-top:15px}.closing-inner{display:flex;flex-direction:column;align-items:start;gap:30px}.closing-inner h2{font-size:3rem}.closing-inner .button{min-width:220px}.service-editorial{display:flex;flex-direction:column;gap:30px;padding-block:46px}.service-editorial>figure{position:relative;top:auto;width:100%;aspect-ratio:1.35}.service-editorial h2{font-size:2.4rem;margin-bottom:26px}.service-topic{margin-top:20px;padding-top:22px}.service-topic p{font-size:.97rem}.service-editorial-copy .editorial-link{margin-top:16px}.portfolio-page{padding-top:48px}.portfolio-page .section-head{margin-bottom:38px}.portfolio-page .project:first-child img{aspect-ratio:1.24}.process-heading{display:flex;flex-direction:column;align-items:stretch;gap:32px}.process-heading img{aspect-ratio:1.7}.process-overview{padding-top:24px;padding-bottom:56px}.contact-page{grid-template-columns:1fr;gap:40px;padding-block:48px 40px;min-height:0}.contact-page-copy>p{margin-top:24px;font-size:1rem}.contact-page-copy>.button{font-size:.88rem;gap:28px;padding-inline:20px}.contact-options{margin-top:30px}.contact-options>a>span:last-child{font-size:.95rem}.contact-page-visual{min-height:0;height:260px}.contact-page-visual img{object-position:50% 65%}.home-services .service-directions a>span:first-child{max-width:22ch}}
@media(prefers-reduced-motion:reduce){html,.construction-track{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-photo img{transform:none}.will-reveal{opacity:1;transform:none}.project.will-reveal .project-open,.feature-frame.will-reveal,.water-reveal.will-reveal{clip-path:none}.feature-frame img{transform:translateY(-6%);will-change:auto}.service-editorial>figure[data-parallax] img{transform:translateY(-5%)}.project a:hover img,.portfolio-invitation:hover img{transform:none;filter:none}.survey-corner{transform:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.water-reveal::after{display:none}}
