:root{--ink:#082749;--paper:#f7f9fc;--white:#fff;--soft:#eaf0f7;--muted:#4f627a;--line:#c6d2e1;--accent:#ff981e;--page:5.5vw;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;scrollbar-color:#526d8c var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font:400 17px/1.65 Barlow,sans-serif}::selection{background:var(--accent);color:var(--ink)}a{color:inherit;text-decoration:none;text-underline-offset:6px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:'Barlow Condensed',sans-serif;line-height:.98;letter-spacing:-.02em;font-weight:600;text-wrap:balance}h1{font-size:clamp(64px,7.1vw,96px)}h2{font-size:clamp(42px,5vw,68px)}h3{font-weight:500;font-size:28px;line-height:1.2;letter-spacing:-.02em}img{display:block;width:100%;object-fit:cover}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #0757a6;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;color:var(--ink);padding:12px}.skip:focus{top:15px}.header{height:104px;position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 var(--page);color:white;z-index:30;border-bottom:1px solid #ffffff42;background:#064482}.brand{display:flex;align-items:center;gap:12px}.brand img{width:42px;height:42px;border-radius:50%}.brand>span{font:600 23px/.95 Barlow,sans-serif;letter-spacing:-.02em}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:2.4px;margin-top:9px}.header nav{display:flex;align-items:center;gap:34px;font-size:14px}.header nav>a{padding:12px 0}.header nav>a:hover{text-decoration:underline}.header nav .nav-cta{background:var(--accent);color:var(--ink);display:flex;align-items:center;gap:22px;padding:12px 17px;border-radius:30px;font-size:13px;font-weight:500}.nav-cta svg{width:18px;height:18px}.menu-toggle{display:none}.hero{position:relative;min-height:730px;height:min(900px,100svh);color:white;background:#082749;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:135px var(--page) 23px}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-photo{object-position:50% 67%;animation:room-settle 1.5s var(--ease) both}.hero-shade{z-index:-1;background:linear-gradient(180deg,#061a3238 0%,#061a3210 28%,#061a32b8 65%,#061a32ee 100%)}.hero-location{position:absolute;top:145px;left:var(--page);font-size:13px;line-height:1.6;font-weight:500;background:#082749e8;padding:10px 14px;border-radius:3px}.hero-location>span{display:block;font-weight:400}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:46px}.hero-action{width:290px;padding-bottom:7px;flex-shrink:0}.hero-action p{font-size:17px;margin-bottom:24px;line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 19px;border:0;border-radius:3px;font-size:14px;font-weight:500;min-height:52px;transition:background .2s,color .2s}.button.light{background:var(--accent);color:var(--ink)}.button.light:hover{background:#ffb34f}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#0757a6}.hero-action .button{width:100%}.hero-secondary{display:inline-block;font-size:13px;text-decoration:underline;margin-top:17px;min-height:30px}.hero-foot{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.08em;border-top:1px solid #ffffff4d;padding-top:18px;gap:15px}.hero-foot a{letter-spacing:0;color:#e4edf8}.hero-foot a:hover{text-decoration:underline}.section{padding:110px var(--page)}.intro{display:grid;grid-template-columns:1fr 2.15fr;gap:7vw}.intro-note{display:flex;flex-direction:column;justify-content:space-between}.mini-brand{font-family:'Barlow Condensed',sans-serif;font-size:76px;line-height:.9;font-weight:600;letter-spacing:-.03em;color:#064482}.intro-note p{font-size:13px;color:var(--muted);margin-top:30px}.intro h2{font-size:clamp(44px,4.8vw,66px)}.intro-body{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin:35px 0 22px}.intro-body p{font-size:16px;color:var(--muted);max-width:50ch}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:14px;padding:12px 0 8px;border-bottom:1px solid currentColor;min-height:44px}.text-link:hover{color:#0757a6}.text-link svg{width:18px;height:18px}.services{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:50px}.section-heading>p{font-size:15px;max-width:360px;color:var(--muted)}.service-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:start}.service-image{position:sticky;top:30px}.service-image img{height:480px}.service-image figcaption{font-size:12px;color:var(--muted);padding-top:13px}details{border-top:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}summary svg{transition:transform .2s var(--ease)}details[open]>summary svg{transform:rotate(45deg)}.service-list details{border-color:#aebfd2}.service-list details:last-child{border-bottom:1px solid #aebfd2}.service-list summary{font-size:clamp(21px,2.1vw,29px);font-weight:500;letter-spacing:-.025em;line-height:1.25;padding:26px 0}.service-list details>div{padding:0 40px 27px 0}.service-list p{font-size:16px;color:#4f627a;max-width:45ch}.service-list .text-link{margin-top:16px}.projects{background:var(--ink);color:white}.projects .section-heading>p{color:#c6d6e9}.gallery{display:grid;grid-template-columns:1.35fr 1fr;gap:70px 6vw;align-items:start}.project{background:transparent;border:0;color:inherit;padding:0;display:block;text-align:left;width:100%}.project img{height:440px}.project:hover>span{color:var(--accent)}.project>span{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:17px 0;border-bottom:1px solid #ffffff38;gap:12px}.project>span svg{border:1px solid #89a5c7;border-radius:50%;padding:10px;width:42px;height:42px}.project-side{margin-top:140px}.project-side img{height:510px}.project-copy{align-self:center;max-width:400px}.project-copy>p{font-size:clamp(29px,3.2vw,44px);line-height:1.18;letter-spacing:-.025em}.project-copy .text-link{margin-top:26px;color:#d8e6f7}.project-wide img{height:360px;object-position:50% 70%}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact h2{font-size:clamp(62px,7.5vw,96px)}.contact-copy>p:not(.contact-person){max-width:350px;margin-top:32px;color:var(--muted)}.phone{display:flex;align-items:center;gap:25px;font-size:27px;font-weight:500;margin-top:36px;letter-spacing:-.02em}.contact-person{font-size:14px;color:var(--muted);margin-top:16px}.contact-note{display:block;font-size:13px;margin-top:27px}form{align-self:start;padding-top:10px}form>p{font-size:14px;color:var(--muted);margin:12px 0 29px}label{display:block;font-size:14px;margin:22px 0 8px}label>span{color:var(--muted)}input,select,textarea{display:block;width:100%;padding:13px 0;border:0;border-bottom:1px solid #7187a2;background:transparent;color:var(--ink);border-radius:0;font-size:16px;caret-color:#064482}input::placeholder,textarea::placeholder{color:#52647b;opacity:1}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus{outline:2px solid #0757a6;outline-offset:4px}select option{background:var(--paper);color:var(--ink)}form .button{width:100%;margin-top:28px}form>small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:14px}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:7vw;padding-top:70px;border-top:1px solid var(--line)}.faq h2{font-size:48px}.faq summary{font-size:18px;padding:22px 0;line-height:1.3}.faq details:last-child{border-bottom:1px solid var(--line)}.faq details p{padding:0 35px 24px 0;color:var(--muted);font-size:15px;max-width:65ch}footer{padding:50px var(--page) 28px;background:#06203d;color:var(--paper)}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:40px}.footer-top>p{font-size:14px;color:#c6d6e9}.footer-links{display:flex;gap:25px;font-size:13px}.footer-links a{display:flex;gap:8px;align-items:center;min-height:44px}.footer-links svg{width:15px;height:15px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #627e9e;margin-top:45px;padding-top:22px;gap:20px;font-size:12px;color:#c6d6e9}.footer-bottom>a{display:flex;align-items:center;gap:10px}.footer-bottom svg{width:15px;height:15px}.floating-wa{position:fixed;bottom:20px;right:22px;display:flex;align-items:center;gap:10px;background:var(--accent);color:var(--ink);border:1px solid var(--ink);padding:12px 17px;border-radius:30px;box-shadow:0 5px 24px #0003;font-size:13px;z-index:40;transform:translateY(100px);visibility:hidden;transition:transform .35s var(--ease),visibility .35s}.floating-wa.visible{transform:translateY(0);visibility:visible}.floating-wa svg{width:24px;height:24px}dialog{border:0;padding:16px;background:var(--paper);color:var(--ink);max-width:min(94vw,1000px);max-height:94dvh}dialog::backdrop{background:#061a32ed}dialog>button{display:flex;align-items:center;gap:14px;background:none;border:0;color:inherit;margin:0 0 14px auto;min-height:44px;padding:8px 12px}dialog img{max-height:73dvh;max-width:100%;width:auto;object-fit:contain;margin:auto}dialog p{font-size:14px;text-align:center;padding:16px 8px 4px}@keyframes room-settle{from{filter:brightness(.82)}to{filter:brightness(1)}}
@media(min-width:1600px){:root{--page:max(6vw,calc((100vw - 1480px)/2))}.hero h1{font-size:96px}}@media(max-width:1050px){.header nav{gap:23px}.section{padding-top:80px;padding-bottom:80px}.hero{min-height:720px}.hero-bottom{gap:28px}.hero-action{width:275px}.intro{gap:6vw;grid-template-columns:1fr 2.6fr}.intro-body{gap:25px}.service-layout{gap:5vw;grid-template-columns:1fr 1.15fr}.service-image img{height:420px}.gallery{gap:45px 5vw}.project img{height:360px}.project-side img{height:440px}.contact{gap:7vw}.faq{grid-template-columns:1fr 1.5fr;gap:5vw}.footer-links{gap:14px}}
@media(max-width:760px){:root{--page:6vw}.header{height:88px}.brand>span{font-size:20px}.brand img{width:36px;height:36px}.brand small{font-size:11px;letter-spacing:1.9px}.menu-toggle{display:flex;align-items:center;gap:10px;color:white;border:1px solid #ffffff75;border-radius:3px;background:#08274999;padding:9px 12px;font-size:13px;min-height:44px}.header nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--ink);padding:20px var(--page) 25px;flex-direction:column;align-items:stretch;gap:7px;border-bottom:1px solid #627e9e}.header nav.open{display:flex}.header nav>a{min-height:44px}.header nav .nav-cta{border-radius:3px;justify-content:space-between;margin-top:8px}.hero{height:auto;min-height:800px;padding-top:200px;padding-bottom:20px;overflow:hidden}.hero-photo{object-position:52% 60%}.hero-location{top:118px;font-size:12px}.hero-location>span{font-size:12px}.hero-bottom{display:block;padding-bottom:26px}.hero h1{font-size:clamp(62px,13vw,84px);max-width:600px}.hero-action{width:100%;max-width:400px;margin-top:28px;padding:0}.hero-action p{font-size:15px;max-width:34ch;margin-bottom:17px}.hero-action .button{width:auto;min-width:265px}.hero-secondary{display:block;max-width:max-content;margin-top:14px;min-height:36px}.hero-foot{font-size:12px;letter-spacing:.02em;align-items:flex-start}.hero-foot a{max-width:145px;text-align:right}.section{padding-top:64px;padding-bottom:64px}h2{font-size:46px}.intro{display:block}.intro-note{flex-direction:row;align-items:center;margin-bottom:32px}.mini-brand{font-size:49px}.intro-note p{font-size:12px;margin:0;text-align:right}.intro h2{font-size:46px}.intro-body{display:block;margin-top:27px}.intro-body p+p{margin-top:17px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px;font-size:15px}.service-layout{display:flex;flex-direction:column-reverse;gap:35px}.service-list{width:100%}.service-list summary{font-size:23px;padding:23px 0}.service-list details>div{padding-right:20px}.service-image{position:static;width:100%}.service-image img{height:330px;object-position:50% 64%}.gallery{grid-template-columns:1fr 1fr;gap:35px 16px}.project-main{grid-column:1/-1}.project-main img{height:350px}.project-side{margin-top:0;grid-column:1}.project-side img{height:270px}.project-wide{grid-column:2;grid-row:2}.project-wide img{height:270px}.project-copy{grid-column:1/-1;grid-row:3;max-width:350px;margin-top:5px}.project-copy>p{font-size:32px}.project>span{font-size:13px;align-items:flex-start}.project>span svg{width:30px;height:30px;padding:7px}.project-copy .text-link{margin-top:14px}.contact{grid-template-columns:1fr;gap:45px}.contact h2{font-size:72px}.contact-copy>p:not(.contact-person){margin-top:25px}.phone{font-size:27px;margin-top:25px}.contact-note{margin-top:18px}form{padding-top:32px;border-top:1px solid var(--line)}form h3{font-size:29px}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:42px}.faq summary{font-size:17px;gap:20px}.faq summary svg{width:19px;height:19px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-top>p{grid-column:1;grid-row:2;font-size:13px}.footer-links{grid-column:2;grid-row:1/3;flex-direction:column;align-items:flex-end;gap:3px}.footer-bottom{margin-top:28px;font-size:11px;align-items:center;padding-bottom:65px}.floating-wa{bottom:16px;right:16px}.floating-wa span{display:none}.floating-wa{padding:14px;border-radius:50%}}
@media(max-width:370px){.hero h1{font-size:60px}.hero-action .button{min-width:0;width:100%;gap:15px}.brand img{display:none}.contact h2{font-size:64px}.phone{font-size:24px}.gallery{gap:30px 12px}.project>span svg{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


/* High-resolution restored logo: contain the complete mark without cropping. */
.brand .brand-image{display:block;width:220px;height:96px;border-radius:0;object-fit:contain;object-position:center}
.footer-top .brand .brand-image{width:260px;height:auto;aspect-ratio:1902/827}
.hero-photo{object-position:50% 50%}
.header nav .nav-cta:hover{background:#ffb34f;text-decoration:none}
.projects a:focus-visible,.projects button:focus-visible,.header a:focus-visible,.header button:focus-visible,footer a:focus-visible,.hero a:focus-visible{outline-color:var(--accent)}
.projects .text-link:hover,footer a:hover{color:var(--accent)}
.floating-wa:hover{background:#ffb34f}
@media(max-width:760px){.brand .brand-image{width:180px;height:78px}.footer-top{grid-template-columns:minmax(0,1fr) auto}.footer-top .brand .brand-image{width:min(210px,100%);height:auto;aspect-ratio:1902/827}.hero-photo{object-position:48% 50%}}
@media(max-width:370px){.brand .brand-image{display:block;width:160px;height:70px}}

/* Gallery: the original work archive, displayed without cropping. */
.gallery-page .header{position:relative}
.header nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:7px}
.gallery-intro{padding:45px var(--page) 55px}
.gallery-back{display:inline-block;font-size:14px;padding:8px 0;min-height:44px}
.gallery-back:hover{text-decoration:underline}
.gallery-title{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-top:36px}
.gallery-title h1{font-size:clamp(58px,6.3vw,88px)}
.gallery-title>div{max-width:380px;color:var(--muted);font-size:16px}
.gallery-kicker{font-size:12px;font-weight:600;letter-spacing:.06em;color:#064482;margin-bottom:14px}
.work-gallery{padding:0 var(--page) 85px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px;align-items:start}
.work-photo{display:block;min-width:0}
.work-photo img{height:auto;aspect-ratio:1;object-fit:contain;background:var(--soft)}
.work-photo>span{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px}
.work-photo>span>span:last-child{display:flex;align-items:center;gap:9px}
.work-photo svg{width:16px;height:16px}
.work-photo:hover>span{color:#0757a6;border-color:#0757a6}
.gallery-contact{padding:65px var(--page);background:var(--ink);color:white;display:flex;justify-content:space-between;align-items:center;gap:30px}
.gallery-contact h2{font-size:clamp(40px,5vw,64px)}
.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.photo-controls button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 12px;min-height:44px;font-size:14px}
.photo-controls button:hover{background:var(--soft)}
#photo-count{font-size:13px;white-space:nowrap}
.gallery-page dialog img{max-height:60dvh}
@media(max-width:950px){.header{height:88px}.brand .brand-image{width:180px;height:78px}.menu-toggle{display:flex;align-items:center;gap:10px;color:white;border:1px solid #ffffff75;border-radius:3px;background:#08274999;padding:9px 12px;font-size:13px;min-height:44px}.header nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--ink);padding:20px var(--page) 25px;flex-direction:column;align-items:stretch;gap:7px;border-bottom:1px solid #627e9e}.header nav.open{display:flex}.header nav>a{min-height:44px}.header nav .nav-cta{border-radius:3px;justify-content:space-between;margin-top:8px}.gallery-title{display:block}.gallery-title>div{margin-top:26px;max-width:480px}.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
@media(max-width:540px){.gallery-intro{padding-top:24px;padding-bottom:32px}.gallery-title{margin-top:24px}.gallery-title h1{font-size:58px}.work-gallery{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:48px}.work-photo img{aspect-ratio:var(--photo-ratio)}.gallery-contact{display:block;padding-top:44px;padding-bottom:44px}.gallery-contact .button{margin-top:28px}.gallery-page dialog{padding:12px}.photo-controls{gap:8px}.photo-controls button{padding:8px;font-size:13px}}

/* SEO/performance: preserve the existing presentation and image geometry. */
.brand-picture{display:block;max-width:100%;flex-shrink:1}.hero-picture{display:contents}.service-list summary h3{font:inherit;letter-spacing:inherit}.breadcrumbs{font-size:14px}.hero-photo{animation:none}
