@font-face{font-family:Outfit;src:url('assets/fonts/outfit-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Outfit;src:url('assets/fonts/outfit-500.ttf') format('truetype');font-weight:500;font-display:swap}:root{color-scheme:light only;--blue:#003669;--white:#f2f4ef;--paper:#e9ece8;--blue-muted:#c2d2df;--ink-muted:#4c6373;--gutter:clamp(24px, 6vw, 112px);--ease:cubic-bezier(.22, 1, .36, 1)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--blue);color:var(--white);font-family:Outfit,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,a{color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{text-decoration:none}button{border:0;font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}main:focus,section:focus{outline:none}[hidden]{display:none !important}::selection{color:var(--blue);background:#b4d4e6}svg{display:block;fill:currentColor;flex-shrink:0;pointer-events:none;user-select:none;-webkit-user-drag:none}.svg-library{width:0;height:0;position:absolute;overflow:hidden}.wrap{width:100%;max-width:1640px;padding-inline:var(--gutter);margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;z-index:20;transform:translateY(-160%);padding:14px 20px;background:var(--paper);color:var(--blue)}.skip-link:focus{transform:none}.navigation{position:fixed;top:30px;right:var(--gutter);display:grid;grid-template-columns:1fr 1fr;padding:5px;border-radius:100px;background:rgba(242,244,239,.97);color:var(--blue);z-index:10;box-shadow:0 4px 24px #001e3b12}.navigation button{position:relative;padding:12px 25px;min-height:44px;background:transparent;font-size:13px;border-radius:100px;transition:color .4s var(--ease)}.navigation button[aria-current]{color:var(--white)}.nav-indicator{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);background:var(--blue);border-radius:100px;transition:transform .55s var(--ease)}.navigation[data-active="contact"] .nav-indicator{transform:translateX(100%)}.masthead{padding-top:32px}.brand{display:flex;gap:14px;align-items:center;min-height:48px;width:fit-content;user-select:none}.brand span{font-size:14px;font-weight:500;letter-spacing:.065em;white-space:nowrap}.studio{overflow:clip;padding-bottom:100px;view-timeline-name:--studio;view-timeline-axis:block}.intro{padding-top:clamp(64px, 8vw, 128px);padding-bottom:92px}.hero-composition{display:grid;grid-template-columns:1.65fr .65fr;gap:8%;align-items:end}h1{font-size:clamp(88px, 12.1vw, 184px);line-height:.91;letter-spacing:-.069em;font-weight:500;margin:0}h1 > span{display:block}.full-stop{color:#98bacd}.monogram-frame{padding-bottom:8px}.monogram{width:100%;height:auto;opacity:.07}.intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-top:58px}.intro-bottom p{margin:0;color:var(--blue-muted);font-size:clamp(18px,1.6vw,24px);line-height:1.55;letter-spacing:-.015em}.contact-cta{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:8px 8px 8px 24px;border-radius:100px;color:var(--blue);background:var(--white);isolation:isolate;flex-shrink:0;font-size:14px;min-height:54px}.cta-label,.cta-arrow{position:relative;z-index:1}.cta-arrow{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#dce5e7;font-size:24px;transition:transform .6s var(--ease)}.cta-halo,.contact-cta::before{position:absolute;inset:-2px;border-radius:inherit;box-shadow:0 0 20px 2px #bcdcf04d,0 0 48px 5px #bcdcf01f;opacity:0;pointer-events:none}.contact-cta::before{content:'';transition:opacity .6s var(--ease)}.cta-sheen{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}.cta-sheen::after{content:'';position:absolute;inset:-20% auto -20% 0;width:48%;background:linear-gradient(105deg,transparent,#a7cbe173,#ffffffe0,transparent);transform:translateX(-160%) skewX(-18deg)}.contact-cta:focus-visible::before{opacity:1}.services{display:grid;grid-template-columns:1fr 1fr;column-gap:9%;row-gap:46px}.service-group{display:grid;grid-template-columns:1.08fr 1fr;gap:24px;border-top:1px solid #c2d2df40;padding-top:27px}.service-group h2{margin:0;font-size:clamp(23px,2.25vw,34px);line-height:1.13;letter-spacing:-.035em;font-weight:400}.service-group h2 span{display:block;color:var(--blue-muted)}.service-group ul{margin:0;padding:0;list-style:none}.service-group li{font-size:16px;line-height:1.85;color:#d5e0e6}.contact{color:var(--blue);background:var(--paper)}.contact-body{padding-top:112px;padding-bottom:106px;display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center}.contact h2{margin:0;font-size:clamp(64px,6.9vw,106px);font-weight:500;line-height:1.04;letter-spacing:-.058em}.contact h2 > span{display:block;width:fit-content}.muted-line{color:var(--ink-muted);font-weight:400}.contact .full-stop{color:var(--ink-muted)}.contact-information{padding-top:12px}.direct-links{display:grid;gap:12px}.arrow-link{display:flex;gap:18px;align-items:center;min-height:44px}.link-arrow{display:inline-block;flex-shrink:0;transition:transform .5s var(--ease);text-decoration:none}.link-label{position:relative;display:inline-block}.link-label::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.arrow-link:focus-visible .link-label::after{transform:scaleX(1)}.phone{font-size:clamp(24px,2.8vw,40px);letter-spacing:-.045em;justify-content:space-between}.phone-whatsapp .link-arrow{display:grid;place-items:center;background:var(--blue);color:var(--paper);width:50px;height:50px;border-radius:50%;font-size:26px}.email{justify-content:space-between;font-size:clamp(19px,2vw,28px);letter-spacing:-.025em}.address-block{margin-top:44px}address{font-style:normal;color:var(--ink-muted);line-height:1.65;font-size:16px}.directions{font-size:14px;width:fit-content;margin-top:8px}.footer{padding-bottom:36px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:36px;border-top:1px solid #00366930;padding-top:27px}.social-links{display:flex;flex-wrap:wrap;gap:8px 28px}.social-links .arrow-link{font-size:14px;gap:12px}@media (hover:hover){.contact-cta:hover::before{opacity:1}.contact-cta:hover .cta-sheen::after{animation:sheen 1.1s var(--ease)}.contact-cta:hover .cta-arrow{transform:rotate(45deg)}.arrow-link:hover .link-label::after{transform:scaleX(1)}.arrow-link:hover .link-arrow{transform:translate(2px,-2px)}.phone-whatsapp:hover .link-arrow{transform:rotate(45deg)}.navigation button:not([aria-current]):hover{color:#47708c}}@keyframes sheen{from{transform:translateX(-160%) skewX(-18deg)}to{transform:translateX(340%) skewX(-18deg)}}@keyframes logo-recede{from{transform:translateY(0);opacity:1}to{transform:translateY(-32px);opacity:.55}}@keyframes rim-light{0%,100%{opacity:0}45%{opacity:.85}}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.monogram-frame{animation:logo-recede linear both;animation-timeline:--studio;animation-range:exit 0% exit 65%}.cta-halo{animation:rim-light linear both;animation-timeline:--studio;animation-range:exit 0% exit 40%}}}@media (min-width:1640px){.navigation{right:max(var(--gutter),calc((100vw - 1416px)/2))}}@media (max-width:1023px){.intro{padding-top:90px;padding-bottom:72px}.hero-composition{grid-template-columns:1.7fr .7fr;gap:6%}h1{font-size:clamp(84px,12vw,124px)}.services{column-gap:6%}.service-group{grid-template-columns:1fr;gap:20px}.service-group h2 span{display:inline}.contact-body{gap:7%;grid-template-columns:1.05fr 1fr;padding-block:90px}.contact h2{font-size:clamp(58px,7.2vw,80px)}.phone{font-size:27px}.email{font-size:21px}.footer-inner{align-items:start}.social-links{max-width:330px;column-gap:26px;justify-content:end}}@media (max-width:767px){:root{--gutter:24px}.masthead{padding-top:22px}.brand{gap:10px}.brand span{font-size:clamp(16px,5vw,20px);letter-spacing:.025em}.footer .brand span{font-size:clamp(22px,6vw,26px);letter-spacing:.015em}.navigation{top:22px;right:20px;padding:4px}.navigation button{padding:10px 16px;font-size:12px}.nav-indicator{top:4px;bottom:4px;left:4px;width:calc(50% - 4px)}.intro{padding-top:72px;padding-bottom:54px;display:flex;flex-direction:column}.hero-composition{display:contents}h1{order:0;font-size:clamp(72px,13.5vw,103px);line-height:.95;letter-spacing:-.065em}.intro-bottom{order:1;flex-direction:column;align-items:start;gap:26px;margin-top:30px}.intro-bottom p{font-size:18px;max-width:320px;line-height:1.5}.contact-cta{min-height:52px}.wide-break{display:none}.monogram-frame{order:2;width:32%;max-width:155px;margin:34px 0 0 auto;padding:0}.studio{padding-bottom:64px}.services{grid-template-columns:1fr;gap:30px}.service-group{gap:15px;padding-top:23px}.service-group h2{font-size:25px}.service-group h2 span{display:inline}.service-group ul{display:flex;flex-wrap:wrap;column-gap:20px;row-gap:3px}.service-group li{font-size:15px;line-height:1.9}.contact-body{grid-template-columns:1fr;gap:42px;padding-top:72px;padding-bottom:54px}.contact h2{font-size:clamp(57px,12.8vw,92px);line-height:1.06;letter-spacing:-.055em}.contact-information{padding:0}.phone{font-size:30px}.email{font-size:24px}.direct-links{gap:10px}.phone-whatsapp .link-arrow{width:46px;height:46px}.address-block{margin-top:32px}.footer{background:#dce4e5;border-top:1px solid #00366924;padding-top:30px;padding-bottom:32px}.footer-inner{flex-direction:column;gap:25px;padding-top:0;border-top:0}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 36px;max-width:none;width:100%}.social-links .arrow-link{justify-content:space-between}}@media (max-width:359px){:root{--gutter:20px}.navigation{right:16px}h1{font-size:65px}.service-group h2{font-size:22px}.service-group li{font-size:14px}.phone{font-size:27px}.email{font-size:21px}.contact h2{font-size:53px}}@media (max-height:600px) and (min-width:768px){.intro{padding-top:44px;padding-bottom:50px}h1{font-size:clamp(76px,10vw,125px)}.intro-bottom{margin-top:30px}}.local-services{background:#c9dde5;color:var(--blue);padding-block:clamp(72px,9vw,140px)}.local-panel{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;align-items:start}.local-intro{position:sticky;top:130px}.local-intro h2{font-size:clamp(42px,4.6vw,68px);line-height:1.02;font-weight:400;letter-spacing:-.05em;margin:0;max-width:10ch}.local-intro p{color:var(--ink-muted);font-size:16px;line-height:1.6;max-width:27ch;margin:28px 0 0}.local-intro::after{content:'';display:block;width:48px;height:48px;background:linear-gradient(#00366930,#00366930) center/8px 100% no-repeat,linear-gradient(#00366930,#00366930) center/100% 8px no-repeat;margin-top:52px}.local-list{border-top:1px solid #00366940}.local-list details{border-bottom:1px solid #00366930}.local-list summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr 30px;align-items:center;gap:18px;min-height:92px;padding-block:24px;font-size:clamp(19px,2.1vw,28px);letter-spacing:-.025em}.local-list summary::-webkit-details-marker{display:none}.local-list summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}.detail-toggle{position:relative;display:block;width:30px;height:30px;border-radius:50%;border:1px solid #00366935;transition:background .35s var(--ease),color .35s var(--ease)}.detail-toggle::before,.detail-toggle::after{content:'';position:absolute;background:currentColor;left:8px;right:8px;top:14px;height:1px;transition:transform .45s var(--ease)}.detail-toggle::after{transform:rotate(90deg)}.local-list details[open] .detail-toggle{background:var(--blue);color:var(--paper)}.local-list details[open] .detail-toggle::after{transform:rotate(0deg)}.local-detail{padding:0 0 28px}.local-detail p{color:var(--ink-muted);max-width:42ch;font-size:15px;line-height:1.65;margin:0 0 16px}.local-detail .arrow-link{font-size:14px;width:fit-content}@media (hover:hover){.local-list summary:hover .detail-toggle{background:var(--blue);color:var(--paper)}}@media (max-width:767px){.local-panel{grid-template-columns:1fr;gap:40px}.local-intro{position:static}.local-intro h2{font-size:clamp(42px,8vw,58px);max-width:12ch}.local-intro p{margin-top:22px;font-size:15px;max-width:29ch}.local-intro::after{display:none}.local-list summary{font-size:20px;min-height:84px;gap:12px;padding-block:20px}.local-detail p{font-size:14px}}.pointer-glow{position:fixed;top:0;left:0;width:440px;height:440px;border-radius:50%;pointer-events:none;z-index:2;opacity:0;transition:opacity .4s var(--ease);will-change:transform}.pointer-glow.is-visible{opacity:1}.pointer-glow::before,.pointer-glow::after{content:'';position:absolute;inset:0;border-radius:inherit;transition:opacity .6s var(--ease)}.pointer-glow::before{background:radial-gradient(circle,rgba(177,220,249,.12),rgba(177,220,249,.045) 34%,transparent 68%)}.pointer-glow::after{background:radial-gradient(circle,rgba(40,103,150,.09),rgba(40,103,150,.025) 34%,transparent 68%);opacity:0}.pointer-glow[data-surface="light"]::before{opacity:0}.pointer-glow[data-surface="light"]::after{opacity:1}.contact .direct-links a,.contact .social-links a{position:relative;isolation:isolate}.contact-highlight::before{content:'';position:absolute;inset:-7px -12px;z-index:-1;border-radius:12px;background:rgba(65,121,157,.12);box-shadow:inset 0 0 0 1px rgba(0,54,105,.16),0 5px 25px rgba(0,54,105,.07);pointer-events:none;animation:contact-spotlight .9s var(--ease) both}@keyframes contact-spotlight{0%{opacity:0;transform:scale(.98)}24%,65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none !important;transition:none !important}.cta-halo{display:none}.pointer-glow{display:none}.contact-highlight::before{opacity:1}}.phone-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px}.phone{flex-direction:column;align-items:flex-start;gap:5px;min-height:50px}.contact-action-label{display:block;font-size:11px;line-height:1.4;letter-spacing:.015em;color:var(--ink-muted)}@media (hover: hover){.phone-row .contact-action-label{opacity:0;transition:opacity .25s var(--ease)}.phone-row:hover .contact-action-label,.phone-row:focus-within .contact-action-label{opacity:1}}.phone-whatsapp{display:flex;flex-direction:column;align-items:center;gap:5px}.phone-whatsapp:focus-visible .link-arrow{transform:rotate(45deg)}.local-detail button.arrow-link{background:transparent;padding:0;text-align:left}button.contact-cta{text-align:left}.masthead .brand span::after{content:"";display:inline-block;width:10px;height:10px;margin-left:7px;border-radius:50%;background:#98bacd;vertical-align:-2px}
