@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url("assets/manrope-latin.woff2") format("woff2")}
:root{--ink:#152f40;--blue:#1561c2;--blue-dark:#0c4998;--muted:#526777;--line:#d9e2e8;--soft:#f1f5f7;--paper:#fff;--display:Manrope,"Helvetica Neue",sans-serif;--body:Manrope,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer;color:inherit}
button:disabled{cursor:default}
img{display:block;max-width:100%}
figure,p{margin:0}
h1,h2,h3{font-family:var(--display);margin:0;font-weight:600;text-wrap:balance}
h2{font-size:clamp(34px,3.8vw,54px);line-height:1.08;letter-spacing:-2px}
h3{font-size:22px;line-height:1.2;letter-spacing:-.65px}
:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
[hidden]{display:none!important}
.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}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px;padding:20px 4.4%;background:var(--paper)}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-mark{font-family:Arial,sans-serif;font-size:30px;line-height:1;font-weight:900;letter-spacing:-5px;border-left:3px solid var(--blue);padding:5px 8px 5px 6px;transform:skewY(-6deg)}
.brand-mark span{color:var(--blue)}
.brand-name{font-size:20px;font-weight:750;letter-spacing:-.6px;line-height:1.25}
.brand-name>span{display:block;margin-top:3px;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:.2px}
.desktop-nav{display:flex;gap:32px;font-size:14px}
.desktop-nav a{padding:10px 0}
.desktop-nav a:hover,.text-link:hover,.site-footer>a:hover{color:var(--blue)}
.header-actions{display:flex;align-items:center;gap:26px}
.language-switch{display:flex;align-items:center;gap:8px;font-size:12px}
.language-switch button{border:0;background:transparent;padding:10px 0;color:var(--muted);font-size:12px;min-width:25px;min-height:44px}
.language-switch button[aria-pressed=true]{color:var(--ink);font-weight:750;text-decoration:underline;text-underline-offset:5px}
.language-switch>span{color:#8395a1}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:13px 22px;border:1px solid transparent;border-radius:3px;color:#fff;background:var(--blue);font-size:14px;font-weight:600;line-height:1.35}
.button:hover{background:var(--blue-dark)}
.button>span[aria-hidden]{font-size:21px;font-weight:400;line-height:1}
.header-cta{min-height:46px;padding:12px 18px;font-size:13px;gap:22px}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:3px;padding:10px 12px;min-height:44px;align-items:center;gap:10px;font-size:13px}
.menu-lines{width:17px;height:10px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:12px 24px 24px;box-shadow:0 12px 20px #152f4010}
.mobile-nav>a{display:block;padding:12px 0;font-size:20px}
.hero{position:relative;isolation:isolate;margin:0 20px;color:#fff;overflow:hidden;border-radius:5px;min-height:clamp(580px,48vw,760px);display:flex;flex-direction:column;justify-content:space-between}
.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-image{object-position:55% center}
.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(6,24,36,.30) 0%,rgba(6,24,36,.05) 25%,rgba(6,24,36,.4) 52%,rgba(6,24,36,.88) 100%)}
.hero-topline{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:32px 42px;font-size:12px;font-weight:500;text-shadow:0 1px 5px #0009}
.hero-location{display:flex;align-items:center;gap:9px}
.location-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.hero-content{padding:70px 4% 46px}
h1{font-size:clamp(60px,7.8vw,118px);font-weight:500;line-height:.99;letter-spacing:-.055em;max-width:1100px;text-wrap:initial}
h1>span{display:block}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-top:26px}
.hero-intro{max-width:410px}
.hero-intro p{max-width:380px;font-size:15px;line-height:1.6;color:#ecf2f6}
.button-white{margin-top:24px;background:#fff;color:var(--ink);gap:36px}
.button-white:hover{background:#eaf0f4}
.hero-preview{display:flex;align-items:center;gap:15px;padding:14px 0 0;max-width:390px;margin-bottom:4px}
.preview-image{width:100px;height:68px;overflow:hidden;border-radius:2px;flex-shrink:0}
.preview-image img{width:100%;height:100%;object-fit:cover}
.preview-title{display:block;font-size:13px;font-weight:600}
.preview-link{display:block;max-width:205px;font-size:11px;color:#d2dee5;margin-top:5px}
.hero-scroll{position:absolute;right:42px;top:42%;border:1px solid #ffffff80;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:20px}
.hero a:focus-visible{outline-color:white}
.expertise-strip{margin:0 4.4%;display:flex;justify-content:space-between;gap:22px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);font-size:12px}
.expertise-strip>p{color:var(--muted)}
.expertise-strip>div{display:flex;align-items:center;gap:20px}
.expertise-strip>div>span{color:var(--blue)}
.section{max-width:1440px;margin:0 auto;padding:100px 4.4%}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:55px;margin-bottom:40px}
.section-label{font-size:13px;color:var(--blue);font-weight:600;line-height:1.4;margin-bottom:17px}
.section-description{max-width:330px;color:var(--muted);font-size:14px;line-height:1.7}
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}
.filters{display:flex;flex-wrap:wrap;gap:7px}
.filters>button{background:transparent;border:1px solid transparent;border-radius:30px;padding:10px 16px;min-height:44px;font-size:12px;color:var(--muted)}
.filters>button[aria-pressed=true]{background:var(--ink);color:#fff}
.filters>button:hover{border-color:var(--line)}
.gallery-hint{color:var(--muted);font-size:11px}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:36px 28px}
.project{grid-column:span 5;min-width:0}
.project-wide{grid-column:span 7}
.project-image{display:block;position:relative;width:100%;height:330px;padding:0;border:0;background:var(--soft);overflow:hidden;border-radius:3px}
.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.project-image:hover>img{transform:scale(1.025)}
.image-expand{position:absolute;bottom:16px;right:16px;display:grid;place-items:center;width:34px;height:34px;background:#ffffffed;color:var(--ink);border-radius:50%;font-size:21px}
.project figcaption{display:flex;justify-content:space-between;gap:20px;padding:17px 0 0}
.project h3{font-size:18px;font-weight:600;letter-spacing:-.4px}
.project figcaption p{font-size:12px;color:var(--muted);margin-top:6px}
.photo-type{color:var(--muted);font-size:11px;padding-top:3px}
.services-section{background:var(--soft)}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.service{padding:24px 0 0;border-top:1px solid #c1cfd8;display:flex;flex-direction:column;align-items:flex-start}
.service-icon{color:var(--blue);font-size:36px;line-height:1.3;margin-bottom:24px}
.service h3{font-size:26px;margin-bottom:16px}
.service p{color:var(--muted);font-size:14px;max-width:330px;line-height:1.8}
.service ul{padding:0;list-style:none;margin:22px 0 28px;font-size:12px;line-height:2.3}
.service li::before{content:"+";color:var(--blue);margin-right:12px;font-size:14px}
.service>a{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:13px;font-weight:600;padding:12px 0;min-height:44px;margin-top:auto}
.service>a:hover{color:var(--blue)}
.service>a>span:last-child{font-size:21px;font-weight:400}
.about-section{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center;padding-top:110px;padding-bottom:110px}
.about-image{position:relative;min-height:420px;height:100%;overflow:hidden;border-radius:3px}
.about-image>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:40% center}
.about-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#05131dda,transparent 50%)}
.image-note{position:absolute;left:26px;bottom:26px;right:24px;z-index:1;color:#fff;font-size:13px;max-width:220px}
.about-content h2{font-size:clamp(34px,3.6vw,49px);max-width:470px;margin-bottom:24px}
.about-content>p:not(.section-label){font-size:14px;color:var(--muted);line-height:1.85;margin-top:15px;max-width:440px}
.text-link{display:inline-flex;align-items:center;gap:32px;min-height:44px;font-size:13px;font-weight:600}
.text-link>span[aria-hidden]{font-size:21px;font-weight:400}
.about-content .text-link{margin-top:22px}
.contact-section{background:#eaf1f7}
.contact-details{display:grid;gap:20px;min-width:0;font-style:normal}
.contact-method>p{font-size:12px;font-weight:600;color:var(--muted)}
.contact-instagram{display:inline-flex;gap:18px;align-items:center;min-height:44px;font-size:16px}
@media(max-width:600px){.contact-details{margin-top:30px}}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start;padding-top:72px;padding-bottom:72px}
.contact-intro h2{font-size:clamp(42px,4.8vw,68px);max-width:450px;margin-bottom:22px}
.contact-email{display:inline-flex;gap:25px;align-items:center;min-height:44px;font-size:clamp(19px,2.2vw,29px);letter-spacing:-.7px;font-weight:500;overflow-wrap:anywhere}
.contact-phone{display:inline-flex;align-items:center;min-height:44px;font-size:20px}
.contact-location{display:flex;gap:9px;align-items:center;font-size:12px;color:var(--muted);margin-top:22px}
.contact-location .location-dot{color:var(--blue);width:6px;height:6px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 4.4%;font-size:12px}
.footer-brand{display:flex;align-items:center;gap:30px;font-size:22px;font-weight:700;letter-spacing:-1px}
.footer-brand>span{font-weight:400;color:var(--blue)}
.site-footer>p{color:var(--muted);font-size:10px;line-height:1.9}
.site-footer>p>span{display:block}
.back-top{color:var(--muted);font-size:11px}
.photo-dialog{width:min(1200px,94vw);max-width:none;max-height:92vh;max-height:92dvh;padding:18px 24px;color:#fff;background:#112736;border:1px solid #355363;border-radius:5px;overflow:auto;box-shadow:0 25px 90px #0006}
.photo-dialog::backdrop{background:#08141bea;backdrop-filter:blur(8px)}
.dialog-bar,.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}
.dialog-bar{font-size:12px;margin-bottom:14px;color:#d4e1e8}
.photo-dialog button{background:transparent;border:0;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:15px;min-width:44px;min-height:44px;font-size:13px;padding:8px}
#close-dialog>span[aria-hidden]{font-size:25px}
#dialog-image{max-height:65vh;max-height:65dvh;width:100%;object-fit:contain;background:#0b1d29}
.dialog-bottom{margin-top:12px;font-size:14px}
.dialog-bottom>div{display:flex;gap:12px}
.dialog-bottom button{border:1px solid #65808d;border-radius:50%;font-size:20px}
.photo-dialog :focus-visible{outline-color:#9ec8ff}
.photo-dialog,.mobile-nav{overscroll-behavior:contain}
.language-switch button:hover{color:var(--blue)}
.menu-toggle:hover{border-color:var(--blue)}
.hero-preview:hover .preview-link{text-decoration:underline;text-underline-offset:3px}
.contact-email:hover,.contact-phone:hover,.contact-instagram:hover,.expertise-strip a:hover{color:var(--blue)}
.dialog-counter{font-variant-numeric:tabular-nums}
section[id]{scroll-margin-top:24px}
@media(min-width:1600px){.hero,.site-header,.expertise-strip,.site-footer{max-width:1560px;margin-left:auto;margin-right:auto}.hero{min-height:760px}.hero-content{padding-left:65px;padding-right:65px}.site-header{padding-left:65px;padding-right:65px}.expertise-strip{padding-left:65px;padding-right:65px}}
@media(max-width:1100px){.site-header{gap:18px;padding-left:28px;padding-right:28px}.desktop-nav{gap:23px}.header-actions{gap:18px}.brand-name{font-size:18px}.header-cta{font-size:12px;gap:16px}.hero-topline{margin:28px}.hero-preview{max-width:310px}.preview-image{width:76px;height:60px}.hero-content{padding:70px 34px 38px}.photo-type{display:none}.project-image{height:280px}.services-grid{gap:30px}.contact-layout{gap:6%}}
@media(max-width:850px){.desktop-nav{display:none}.site-header{min-height:86px;padding:17px 24px}.header-actions{gap:18px}.header-cta{display:none}.menu-toggle{display:flex}.hero{margin:0 12px;min-height:650px}.hero-topline{margin:25px}.hero-specialty{display:none}.hero-preview{display:none}.hero-content{padding:70px 28px 38px}h1{font-size:clamp(55px,9.8vw,79px)}.hero-scroll{right:28px;top:37%}.expertise-strip{margin:0 28px;gap:12px}.expertise-strip>p{font-size:11px}.expertise-strip>div{gap:12px;font-size:11px}.section{padding:75px 28px}.section-heading{gap:30px}.section-description{max-width:260px;font-size:13px}.gallery-hint{display:none}.gallery{gap:30px 20px}.project,.project-wide{grid-column:span 6}.project-image{height:260px}.project h3{font-size:17px}.services-grid{gap:24px}.service h3{font-size:23px}.service p{font-size:13px}.service ul{font-size:11px}.about-section{gap:6%;padding-top:80px;padding-bottom:80px}.about-image{min-height:440px}.contact-layout{gap:6%}.contact-email{font-size:22px}.site-footer{padding:30px 28px;gap:20px}.footer-brand{font-size:19px;gap:12px}}
@media(max-width:600px){html{scroll-padding-top:24px}.site-header{padding:16px 20px;gap:12px;min-height:82px}.brand{gap:8px}.brand-mark{font-size:26px;padding-right:6px}.brand-name{font-size:16px}.brand-name>span{font-size:8px}.header-actions{gap:8px}.language-switch{gap:0}.language-switch button{font-size:12px;min-width:44px}.language-switch>span{display:none}.menu-toggle{width:44px;justify-content:center;padding:10px}.menu-toggle>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.menu-lines{width:14px}.hero{min-height:640px;margin:0 10px;border-radius:4px}.hero-image{object-position:55% center}.hero-shade{background:linear-gradient(180deg,#06182445 0%,#0618240d 20%,#06182455 40%,#061824e8 100%)}.hero-topline{margin:24px 20px;font-size:10px}.hero-content{padding:100px 20px 32px}h1{font-size:clamp(36px,9.2vw,55px);letter-spacing:-.055em;line-height:1.05}.hero-intro{max-width:310px}.hero-intro p{font-size:13px;line-height:1.7;max-width:280px}.hero-bottom{margin-top:22px}.button-white{margin-top:22px;padding:14px 19px;font-size:13px}.hero-scroll{right:20px;top:30%;width:44px;height:44px}.expertise-strip{margin:0 22px;padding:20px 0;flex-direction:column;align-items:flex-start;gap:10px}.expertise-strip>p{font-size:12px}.expertise-strip>div{gap:4px 15px;flex-wrap:wrap}.expertise-strip a{display:inline-flex;align-items:center;min-height:44px}.section{padding:62px 22px}.section-heading{display:block;margin-bottom:28px}.section-label{font-size:12px;margin-bottom:13px}h2{font-size:36px;letter-spacing:-1.5px;line-height:1.1}.section-description{max-width:330px;font-size:13px;margin-top:20px}.portfolio-toolbar{margin-bottom:22px}.filters{gap:3px}.filters>button{font-size:12px;padding:10px 12px;min-height:44px}.gallery{display:flex;flex-direction:column;gap:30px}.project-image{height:255px}.project h3{font-size:18px}.project figcaption p{font-size:11px}.project figcaption{padding-top:13px}.services-grid{grid-template-columns:1fr;gap:34px}.service{padding-top:22px}.service-icon{margin-bottom:14px;font-size:32px}.service h3{font-size:26px;margin-bottom:13px}.service p{font-size:14px;max-width:100%}.service ul{font-size:12px;margin:17px 0 14px}.service>a{width:100%;font-size:13px}.service>a{font-size:13px}.about-section{display:flex;flex-direction:column;gap:34px}.about-image{min-height:290px;width:100%}.about-content h2{font-size:36px}.about-content>p:not(.section-label){font-size:14px}.contact-layout{display:block}.contact-intro h2{font-size:49px;max-width:320px}.contact-email{font-size:25px}.contact-location{margin-top:26px}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;padding:30px 22px}.footer-brand{font-size:19px;grid-column:1 / -1}.site-footer>p{font-size:10px}.site-footer>a{display:flex;align-items:center;min-height:44px}.site-footer>a:not(.footer-brand){font-size:11px}.back-top{grid-column:2;grid-row:2;justify-content:flex-end;text-align:right}.photo-dialog{padding:10px 14px;width:96vw}.dialog-bottom{font-size:12px;align-items:flex-start}.dialog-bottom>p{padding-top:10px}.dialog-bottom>div{gap:5px}.dialog-bottom button{min-width:44px;min-height:44px}.dialog-bar{margin-bottom:8px}}
@media(max-width:380px){.site-header{padding:16px 12px;gap:6px}.brand{gap:6px}.brand-name{font-size:14px}.brand-name>span{display:none}.brand-mark{font-size:22px}.header-actions{gap:8px}h1{font-size:32px}.hero-content{padding-left:18px;padding-right:18px}.contact-email{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
