@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@400;500;600;700&display=swap";:root{--ink:#081d31;--blue:#326fa4;--pale:#dcebf4;--ice:#f2f7f9;--red:#ff5338;--line:#cbd9e1;--page-gap:12px;--section-radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:#fff;margin:0;font-family:Manrope,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}main{display:flow-root}header{height:84px;top:var(--page-gap);margin:var(--page-gap) var(--page-gap) var(--page-gap);z-index:20;color:#fff;border-radius:999px;justify-content:space-between;align-items:center;width:calc(100% - 24px);padding:0 4.2vw;transition:margin .4s cubic-bezier(.16,1,.3,1),width .4s cubic-bezier(.16,1,.3,1);display:flex;position:sticky}header.scrolled{width:calc(100% - 72px);margin-left:36px;margin-right:36px}header:before{content:"";-webkit-backdrop-filter:blur(15px)saturate(125%);border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(100deg,#05182aeb,#05182aa6 58%,#05182a47);position:absolute;inset:0}.logo{letter-spacing:.22em;align-items:center;gap:7px;font-size:10px;display:flex}.logo b{letter-spacing:-.06em;font-size:22px}.logo-mark{border:2px solid;gap:3px;width:28px;height:32px;padding:4px;display:flex;transform:skewY(-10deg)}.logo-mark i{opacity:.55;background:currentColor;flex:1}.logo-mark i:nth-child(2){opacity:1}nav{align-items:center;gap:34px;font-size:12px;font-weight:600;display:flex}nav a{transition:all .25s}nav a:hover{opacity:.65}.nav-cta{border:1px solid #fff;align-items:center;gap:12px;padding:13px 18px;display:flex}.menu{color:inherit;background:0 0;border:0;display:none}.hero{z-index:0;height:100vh;min-height:760px;max-height:980px;margin:var(--page-gap) var(--page-gap) 0;border-radius:var(--section-radius);background:var(--ink);color:#fff;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0}.hero-image:after{content:"";background:linear-gradient(90deg,#041728d1 0%,#04172857 52%,#04172829 100%),linear-gradient(#0000 45%,#04172870);position:absolute;inset:0}.hero-image img{object-fit:cover;width:100%;height:100%;animation:12s ease-out both heroZoom}@keyframes heroZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-copy{z-index:3;margin-left:-34px;padding:30px 34px 34px;position:absolute;top:19vh;left:8.3vw}.eyebrow,.section-tag{letter-spacing:.22em;text-transform:uppercase;font:10px DM Mono}.eyebrow{align-items:center;gap:10px;margin-bottom:25px;display:flex}.eyebrow span{background:var(--red);width:28px;height:2px}h1{letter-spacing:-.06em;margin:0;font-size:clamp(60px,7.1vw,112px);font-weight:500;line-height:1.15}h1 em{color:#a9d2ea;font-style:normal}.hero-copy>p{margin:35px 0 28px;font-size:15px;line-height:1.6}.main-cta{background:var(--red);align-items:center;gap:50px;height:64px;padding:0 22px 0 28px;font-size:12px;font-weight:700;transition:all .3s;display:inline-flex}.main-cta:hover{background:#ff4327;gap:65px}.approach{z-index:1;background:var(--ice);grid-template-columns:1.05fr .95fr;align-items:end;gap:9vw;min-height:570px;padding:120px 8vw;display:grid;position:relative}.approach h2,.section-head h2,.gallery-title h2,.contact h2{letter-spacing:-.065em;margin:28px 0 0;font-size:clamp(42px,5.3vw,76px);font-weight:500;line-height:.98}.approach h2 em,.contact h2 em{color:var(--blue);font-style:normal}.approach-intro>p{max-width:430px;margin:34px 0 0;font-size:13px;line-height:1.8}.benefits{border-top:1px solid var(--line)}.benefits article{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;gap:4px 14px;padding:23px 0;display:grid}.benefits svg{color:var(--blue);grid-row:1/3;width:25px}.benefits span{opacity:.7;font-size:11px;line-height:1.55}.services{z-index:1;background:#fff;padding:140px 8vw;position:relative}.section-head{justify-content:space-between;align-items:end;margin-bottom:80px;display:flex}.service-list{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line);overflow:hidden}.service-trigger{width:100%;min-height:145px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:9% 9% 1fr auto;align-items:center;padding:0;transition:all .3s;display:grid}.service-trigger:hover,.service.active .service-trigger{background:#f2f7f9}.service-trigger>span{font:10px DM Mono}.service-trigger>svg:not(.service-arrow){color:var(--blue);width:30px;height:30px}.service h3{letter-spacing:-.04em;margin:0 0 9px;font-size:27px;font-weight:500}.service-trigger p{opacity:.65;margin:0;font-size:11px}.service-arrow{margin-right:25px;transition:transform .35s}.service.active .service-arrow{transform:rotate(180deg)}.service-detail{background:#f2f7f9;grid-template-columns:1fr .95fr;gap:8vw;max-height:0;padding:0 9% 0 18%;transition:max-height .55s,padding .55s;display:grid;overflow:hidden}.service.active .service-detail{max-height:390px;padding:0 9% 38px 18%}.service-detail-copy{padding-top:22px;font-size:13px;line-height:1.75}.service-detail-copy p{margin:0 0 26px}.service-detail-copy a{align-items:center;gap:9px;font-size:11px;font-weight:700;display:inline-flex}.service-image{color:#a9c8da;background-color:#1b405d;background-image:linear-gradient(115deg,#0000 45%,#ffffff08 45%),repeating-linear-gradient(90deg,#ffffff0a 0 2px,#0000 2px 22px);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:190px;display:flex}.service-image svg{opacity:.5}.service-image b,.service-image span{letter-spacing:.12em;font:10px DM Mono}.service-image span{letter-spacing:.05em;font-size:8px}.gallery{z-index:1;background:var(--ink);color:#fff;padding-top:130px;position:relative;overflow:hidden}.gallery-title{padding:0 8vw 55px}.gallery-title p{letter-spacing:.08em;color:#b7daec;margin:35px 0 0;font:10px DM Mono}.photos{scrollbar-width:none;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;gap:16px;padding:0 8vw 55px;display:flex;overflow-x:auto}.photos::-webkit-scrollbar{display:none}.photos:active{cursor:grabbing}.photo{flex:0 0 clamp(280px,32vw,500px);height:430px;position:relative}.photo:nth-child(2n){align-self:end;height:360px}.placeholder{color:#8eafc4;background-color:#173c59;background-image:linear-gradient(115deg,#0000 45%,#ffffff08 45%),repeating-linear-gradient(90deg,#ffffff0a 0 2px,#0000 2px 22px);flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.p2 .placeholder{background-color:#254f70}.p3 .placeholder{background-color:#112f48}.p4 .placeholder{background-color:#315a71}.placeholder svg{opacity:.5;width:55px;height:55px}.placeholder b{letter-spacing:.2em;font:11px DM Mono}.placeholder span{font:9px DM Mono}.photo small{font:9px DM Mono;position:absolute;bottom:17px;left:20px}.photos img,.photos small,.photos .placeholder{pointer-events:none}.photos img{-webkit-user-drag:none}.service-image{position:relative;overflow:hidden}.service-image img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.placeholder{border-radius:8px;position:relative;overflow:hidden}.placeholder img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block;position:absolute;inset:0}.placeholder:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(45deg,#081d31cc 0%,#081d314d 28%,#0000 55%);position:absolute;inset:0}.photo:hover .placeholder img{transform:scale(1.05)}.photo small{z-index:2;color:#fff;text-shadow:0 1px 4px #000000d9}.reviews{z-index:1;background:#fff;grid-template-columns:32% 68%;min-height:500px;display:grid;position:relative}.review-aside{border-right:1px solid var(--line);flex-direction:column;padding:85px 4vw 70px 8vw;display:flex}.rating{grid-template-columns:auto 1fr;align-items:baseline;column-gap:14px;margin-top:auto;display:grid}.rating b{font:34px DM Mono}.rating span{letter-spacing:.13em;color:var(--red);font-size:12px}.rating small{opacity:.55;grid-column:1/-1;margin-top:8px;font:9px DM Mono}.google-source{color:#59707e;align-items:center;gap:8px;margin-top:17px;font-size:9px;display:flex}.google-logo{letter-spacing:-.13em;gap:0;font:600 16px Arial,sans-serif;display:flex}.google-logo i{font-style:normal}.google-logo i:first-child,.google-logo i:nth-child(4){color:#4285f4}.google-logo i:nth-child(2),.google-logo i:nth-child(6){color:#ea4335}.google-logo i:nth-child(3){color:#fbbc05}.google-logo i:nth-child(5){color:#34a853}.review-aside p{margin:25px 0 0;font-size:11px;line-height:1.7}.review-main{flex-direction:column;padding:55px 8vw;display:flex}.review-content{flex-direction:column;flex:1;animation:.55s cubic-bezier(.2,.7,.2,1) reviewIn;display:flex}@keyframes reviewIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.quote-mark{color:#a9d2ea;height:65px;font-family:Georgia;font-size:90px;line-height:.7}blockquote{letter-spacing:-.045em;max-width:900px;margin:auto 0;font-size:clamp(27px,3vw,45px);font-weight:500;line-height:1.26}.review-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:38px;padding-top:22px;display:flex}.review-bottom>div:first-child{flex-direction:column;gap:5px;font-size:11px;display:flex}.review-bottom span{opacity:.55;font:9px DM Mono}.review-nav{align-items:center;gap:18px;display:flex}.review-nav button{border:1px solid var(--line);cursor:pointer;background:#fff;width:42px;height:42px}.review-nav button:hover{background:var(--pale)}.contact{z-index:1;background:#d9eaf3;grid-template-columns:minmax(300px,1.1fr) minmax(360px,1fr) minmax(300px,.9fr);display:grid;position:relative}.contact-intro{padding:120px 5vw 100px 8vw}.contact-intro>p{margin:32px 0 70px;font-size:12px;line-height:1.7}.direct{flex-direction:column;gap:17px;display:flex}.direct a{align-items:center;gap:12px;font-size:12px;display:flex}.direct svg{width:17px}.contact form{background:#fff;grid-column:2;grid-template-columns:1fr 1fr;gap:30px;margin:80px 0;padding:40px;display:grid}.contact label{letter-spacing:.08em;font:10px DM Mono}.contact label:nth-child(4),.consent,.send,.form-error{grid-column:1/-1}.contact input,.contact textarea{border:0;border-bottom:1px solid var(--line);background:0 0;outline:0;width:100%;margin-top:5px;padding:13px 0;font:13px Manrope}.contact input:focus,.contact textarea:focus{border-color:var(--blue)}.contact textarea{resize:none;height:80px}.consent{align-items:center;gap:10px;display:flex;letter-spacing:0!important}.consent input{width:16px;margin:0}.send{background:var(--ink);color:#fff;cursor:pointer;border:0;justify-content:space-between;align-items:center;height:60px;padding:0 25px;display:flex}.send:hover{background:var(--blue)}.form-error{color:#b83020;margin:0;font-size:11px}.map{border-radius:0 var(--section-radius) var(--section-radius) 0;background:#bdd4df;grid-area:1/3;min-height:420px;margin:80px 6vw 80px 0;overflow:hidden}.map iframe{filter:grayscale()contrast(1.08);border:0;width:100%;height:100%;display:block}footer{z-index:1;background:var(--ink);color:#fff;padding:78px 8vw 28px;position:relative}.footer-main{border-bottom:1px solid #fff2;grid-template-columns:1.8fr .75fr 1.1fr;gap:5vw;padding-bottom:65px;display:grid}.footer-main .logo{margin-bottom:30px}.footer-main p{letter-spacing:-.04em;margin:0;font-size:20px;line-height:1.35}.footer-col{flex-direction:column;align-items:flex-start;gap:12px;font-size:11px;display:flex}.footer-col b{letter-spacing:.15em;color:#82a9c0;margin-bottom:10px;font:9px DM Mono}.footer-col a:hover{color:#b7daec}.footer-col span{color:#b6c7d0;line-height:1.5}.footer-bottom{letter-spacing:.08em;color:#7b9aae;justify-content:space-between;padding-top:25px;font:8px DM Mono;display:flex}.footer-bottom a{color:#fff}.reveal{opacity:0;will-change:opacity, transform;transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal.visible{opacity:1;transform:none}:root{--type-label:11px;--type-meta:12px;--type-body:15px;--type-lead:17px;--type-title:clamp(40px,4.5vw,64px)}body{font-size:var(--type-body);line-height:1.55}.eyebrow,.section-tag{font-size:var(--type-label);letter-spacing:.16em}.eyebrow{margin-bottom:20px}h1{letter-spacing:-.065em;font-size:clamp(54px,6.15vw,90px)}h1 span,h1 em{line-height:1.02;display:block}h1 span:first-child{margin-bottom:.04em}.hero-copy>p{font-size:var(--type-lead);margin:30px 0 28px;line-height:1.55}.main-cta{font-size:var(--type-meta)}.approach h2,.section-head h2,.gallery-title h2,.contact h2{font-size:var(--type-title);letter-spacing:-.055em;line-height:1.02}.approach-intro>p{font-size:var(--type-body);line-height:1.75}.benefits b{font-size:15px}.benefits span{font-size:var(--type-meta);line-height:1.65}.section-head>p{font-size:var(--type-body);line-height:1.65}.service h3{font-size:clamp(23px,2.1vw,30px);line-height:1.1}.service-trigger>span{font-size:var(--type-label)}.service-trigger p{font-size:var(--type-meta);line-height:1.55}.service-detail-copy{font-size:var(--type-body);line-height:1.7}.service-detail-copy a{font-size:var(--type-meta)}.service-image b,.service-image span{font-size:var(--type-label)}.service-image span{font-size:10px}.gallery-title h2{font-size:clamp(48px,5.7vw,78px)}.gallery-title p{font-size:var(--type-meta);letter-spacing:.03em;line-height:1.6}.placeholder b{font-size:var(--type-meta)}.placeholder span,.photo small{font-size:var(--type-label)}.rating b{font-size:32px}.rating span{font-size:13px}.rating small,.google-source{font-size:var(--type-label)}.review-aside p{font-size:var(--type-meta);line-height:1.65}.quote-mark{font-size:76px}blockquote{letter-spacing:-.035em;font-size:clamp(26px,2.6vw,40px);line-height:1.32}.review-bottom>div:first-child{font-size:var(--type-meta)}.review-bottom span{font-size:var(--type-label)}.contact-intro>p{font-size:var(--type-body);line-height:1.7}.direct a{font-size:var(--type-body)}.contact label{font-size:var(--type-label)}.contact input,.contact textarea{font-size:var(--type-body)}.footer-main p{font-size:19px}.footer-col{font-size:var(--type-meta)}.footer-col b{font-size:var(--type-label)}.footer-bottom{letter-spacing:.06em;font-size:10px}.approach,.gallery,.contact,footer{margin:var(--page-gap) var(--page-gap) 0;border-radius:var(--section-radius);overflow:hidden}.approach,.gallery,.contact{width:auto}footer{margin-bottom:var(--page-gap)}@media (width<=800px){header,header.scrolled{height:70px;margin:var(--page-gap) var(--page-gap);width:calc(100% - 24px)}.menu{z-index:100;display:block}nav{-webkit-backdrop-filter:blur(20px);z-index:99;background:#081d31f7;flex-direction:column;justify-content:center;align-items:center;gap:35px;font-size:22px;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0;transform:translate(100%)}nav.open{transform:none}.hero{min-height:720px}.hero-copy{margin:0;padding:25px;top:19vh;left:7vw;right:7vw}.hero-copy>p{font-size:13px}h1{font-size:58px}.hero-image:after{background:linear-gradient(90deg,#041728d9,#0417284d)}.approach{min-height:0;padding:90px 7vw;display:block}.approach-intro>p{margin-bottom:55px}.services{padding:90px 7vw}.section-head{margin-bottom:55px;display:block}.section-head>p{margin-top:25px}.service-trigger{grid-template-columns:12% 14% 1fr;min-height:135px}.service-arrow{display:none}.service h3{font-size:20px}.service-detail{grid-template-columns:1fr;gap:22px;padding-left:26%;padding-right:0}.service.active .service-detail{max-height:540px;padding:0 0 30px 26%}.service-image{height:150px}.gallery-title{padding-left:7vw}.photos{padding-left:7vw;padding-right:7vw}.photo,.photo:nth-child(2n){flex-basis:82vw;height:360px}.reviews{display:block}.review-aside{min-height:245px;padding:65px 7vw}.rating{margin-top:50px}.review-main{min-height:420px;padding:45px 7vw}.contact{display:block}.contact-intro{padding:90px 7vw}.contact form{grid-template-columns:1fr;margin:0;padding:35px 7vw}.contact label{grid-column:1/-1}.map{border-radius:0;height:320px;margin:0}.footer-main{grid-template-columns:1fr 1fr;gap:44px 25px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:12px}}.direct>span{font-size:var(--type-body);align-items:flex-start;gap:12px;line-height:1.55;display:flex}.direct>span svg{flex:none;width:17px;margin-top:3px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.lightbox{-webkit-backdrop-filter:blur(16px);z-index:9999;background:#041728e0;justify-content:center;align-items:center;padding:40px;animation:.3s ease-out lightboxFadeIn;display:flex;position:fixed;inset:0}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:80vh;animation:.3s cubic-bezier(.34,1.56,.64,1) lightboxZoomIn;display:flex;position:relative}@keyframes lightboxZoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-content img{object-fit:contain;border:1px solid #ffffff1a;border-radius:12px;max-width:100%;max-height:75vh;box-shadow:0 20px 40px #00000080}.lightbox-caption{color:#fff;text-align:center;margin-top:15px}.lightbox-caption h3{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600}.lightbox-close{color:#fff;cursor:pointer;opacity:.7;z-index:1010;background:0 0;border:none;transition:opacity .2s,transform .2s;position:absolute;top:30px;right:30px}.lightbox-close:hover{opacity:1;transform:scale(1.1)}.lightbox-prev,.lightbox-next{color:#fff;cursor:pointer;opacity:.7;z-index:1010;background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .25s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev:hover,.lightbox-next:hover{opacity:1;background:#fff3;transform:translateY(-50%)scale(1.05)}.lightbox-prev{left:40px}.lightbox-next{right:40px}@media (width<=768px){.lightbox-prev,.lightbox-next{background:#00000080;width:48px;height:48px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{top:15px;right:15px}.lightbox{padding:20px}}.footer-bottom .watermark{align-items:center;gap:8px;font-size:11px;display:flex}.puenta-brand{align-items:center;display:inline-flex}.puenta-logo-img{object-fit:contain;filter:brightness(0)invert();opacity:.65;vertical-align:middle;width:auto;height:32px;transition:opacity .25s,transform .25s}.puenta-brand:hover .puenta-logo-img{opacity:1;transform:scale(1.03)}@media (width<=800px){.footer-bottom{align-items:center}.puenta-logo-img{height:28px}}
