:root{--navy:#102a4a;--dark:#0b1c32;--blue:#2b659f;--sky:#dce9f5;--ice:#f0f4f8;--surface:#f8fafc;--white:#fff;--text:#122033;--muted:#536277;--line:#dce3ea;--shadow:0 14px 45px rgba(17,43,73,.065);--radius:22px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:98px}
body{margin:0;background:#fff;color:var(--text);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.menu-open,body.modal-open{overflow:hidden}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
svg{display:block}
:focus-visible{outline:3px solid #4f9fdf;outline-offset:4px}
::selection{background:#b9d9f2;color:#07182c}
[hidden]{display:none!important}
.page-width{max-width:1440px;width:calc(100% - 56px);margin-inline:auto}
.skip-link{position:fixed;z-index:200;left:20px;top:-70px;background:#fff;padding:12px 18px;border-radius:8px;font-weight:700}
.skip-link:focus{top:16px}
.preview-bar{background:#122e50;color:#edf4fb;min-height:38px;font-size:11px;letter-spacing:.01em}
.preview-bar-inner{min-height:38px;display:flex;gap:20px;align-items:center;justify-content:space-between}
.preview-identity{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.15em;white-space:nowrap}
.preview-dot{width:7px;height:7px;background:#78b5e8;border-radius:100%;box-shadow:0 0 0 4px #78b5e825}
.preview-bar p{margin:0;color:#cddbec}.preview-bar strong{color:#fff}
.preview-bar a{color:#fff;font-weight:700;white-space:nowrap;border-bottom:1px solid #a9c5dc6c;padding-block:3px}
.preview-bar a:hover{border-bottom-color:#fff}.preview-bar a span{margin-left:5px}
.site-header{position:sticky;z-index:90;top:0;background:#ffffffed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #e6ebf0;transition:box-shadow .2s}
.site-header.scrolled{box-shadow:0 8px 24px #09223b0e}
.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;flex-shrink:0;max-width:194px}.brand img{width:190px;height:auto}
.nav{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.4vw,42px);margin-left:auto;margin-right:auto}
.nav-link{font-family:'Manrope',sans-serif;position:relative;font-size:12px;font-weight:700;color:#34445c;padding:34px 0;white-space:nowrap;transition:color .2s}
.nav-link:after{content:'';position:absolute;bottom:25px;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav-link:hover,.nav-link.current{color:var(--navy)}.nav-link:hover:after,.nav-link.current:after{transform:scaleX(1)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 20px;min-height:46px;border-radius:11px;font-family:'Manrope',sans-serif;font-weight:800;font-size:12px;letter-spacing:-.015em;white-space:nowrap;transition:transform .22s var(--ease),background .22s,color .22s,box-shadow .22s;border:1px solid transparent;cursor:pointer}
.button:hover{transform:translateY(-2px)}.button span{font-size:16px;font-weight:500}
.button-primary{background:linear-gradient(125deg,#2a588c 0%,#102b4e 65%,#0c2039 100%);color:white;box-shadow:0 9px 24px #0c315319}
.button-primary:hover{background:linear-gradient(125deg,#3174ac,#122e50);box-shadow:0 14px 28px #0c315326}
.button-large{min-height:52px;padding:15px 23px;font-size:12px}.button-quiet{color:#17365a;background:#fff;border-color:#ced9e4}.button-quiet:hover{background:#e5edf5}
.header-cta{margin-left:0;flex-shrink:0}.nav-mobile-cta,.menu-button{display:none}
.hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:12px;min-height:575px;margin-top:17px}
.hero-image,.hero-content{border-radius:24px;position:relative;overflow:hidden;min-width:0}
.hero-image{background:#7d8a94;isolation:isolate}.hero-image>img{height:100%;width:100%;object-fit:cover;object-position:48% center;position:absolute;inset:0;transition:transform .7s var(--ease)}
.hero-image:hover>img{transform:scale(1.025)}.hero-image-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0000 58%,#071526a8 100%);pointer-events:none;z-index:1}
.hero-photo-tag{position:absolute;z-index:2;left:31px;bottom:31px;display:flex;align-items:center;gap:15px;color:#fff;font-size:11px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.13em}
.hero-photo-tag small{display:block;letter-spacing:0;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400;color:#e0e8ee;margin-top:3px}
.tag-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid #ffffff72;border-radius:12px;background:#ffffff22;backdrop-filter:blur(10px)}
.tag-icon svg{width:25px;height:25px;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.photo-corner{position:absolute;z-index:2;right:25px;top:24px;background:#fffffff2;color:#10233c;font-family:Manrope,sans-serif;font-size:11px;font-weight:800;letter-spacing:.11em;padding:10px 13px;border-radius:8px}.photo-corner span{color:#6d8cad;margin-inline:3px}
.hero-content{padding:clamp(32px,4.5vw,75px);background:radial-gradient(ellipse 85% 75% at 96% 6%,#fff 0%,#f7f9fc 40%,#eaf0f6 100%);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;isolation:isolate}
.hero-content:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#5d88ab08 1px,transparent 1px),linear-gradient(90deg,#5d88ab08 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent 30%,#000);z-index:-1}
.eyebrow,.section-index{font-family:Manrope,sans-serif;font-size:10px;letter-spacing:.15em;font-weight:800;color:#32577b;display:flex;align-items:center;gap:11px}
.eyebrow-line{width:30px;height:2px;background:#2c70ae;display:inline-block;flex-shrink:0}.eyebrow-bullet{color:#8ba6ba}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-.057em}
.hero h1{font-size:clamp(40px,4.05vw,72px);font-weight:800;line-height:1.105;max-width:770px;margin:26px 0 19px;color:#101e31;position:relative;z-index:1}
.hero h1 span{color:#2d679a}.hero-content>p{max-width:565px;font-size:clamp(14px,1.05vw,17px);line-height:1.75;color:#4f5d70;margin-bottom:25px;position:relative;z-index:1}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.hero-features{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:39px;padding-top:20px;border-top:1px solid #cfdae4;font-size:11px;color:#435b73;font-weight:700;width:100%;position:relative;z-index:1}
.hero-features span span{color:#2b679b;font-weight:800;margin-right:5px}.hero-watermark{position:absolute;z-index:0;right:-16px;bottom:-75px;font-family:Manrope,sans-serif;color:#dae5ee6e;font-weight:800;font-size:240px;letter-spacing:-.15em;pointer-events:none}
.intro-ribbon{height:120px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
.ribbon-kicker{font-size:10px;letter-spacing:.2em;font-weight:800;color:#456887;white-space:nowrap}.intro-ribbon p{margin:0;font-family:Manrope,sans-serif;font-size:clamp(17px,2vw,27px);letter-spacing:-.045em;color:#617184;font-weight:500;text-align:center}.intro-ribbon p strong{color:#152945}.ribbon-symbol{color:#6fa4cc;font-size:31px}
.section{padding:112px 0}.section-header{display:grid;grid-template-columns:1.1fr .6fr;gap:70px;align-items:end;margin-bottom:41px}
.section-index{color:#32618a}.section-index:before{content:'';width:24px;height:2px;background:#2b70a9;display:block;flex:0 0 auto}
.section-header h2,.clients-top h2,.approach-copy h2,.contact-card h2{font-size:clamp(36px,3.8vw,64px);line-height:1.11;font-weight:800;margin:20px 0 0;max-width:850px;color:#111f32}
.section-header h2 em,.clients-top h2 em,.approach-copy h2 em,.contact-card h2 em{font-style:normal;color:#4e83af}
.section-intro{display:flex;align-items:flex-start;gap:23px;padding-bottom:5px}.mini-line{width:1px;min-width:1px;height:83px;background:#a9bacb}.section-intro p{margin:0;font-size:14px;line-height:1.7;color:#667184;max-width:355px}
.specialties-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.service-card{padding:28px;min-height:316px;display:flex;flex-direction:column;justify-content:space-between;border-radius:20px;border:1px solid #e6ebf0;background:linear-gradient(140deg,#f5f7f9,#edf2f6);transition:transform .25s var(--ease),box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #19365312}
.service-card.service-featured{color:#fff;border-color:#1d466b;background:radial-gradient(circle at 90% 0%,#376d9b 0%,#15375b 49%,#0c1e36 100%);position:relative;overflow:hidden}
.service-top{display:flex;align-items:flex-start;justify-content:space-between}.service-number{font:800 12px Manrope,sans-serif;letter-spacing:.12em;color:#7e91a6}.service-featured .service-number{color:#c9d8e8}
.service-icon{height:48px;width:48px;border-radius:12px;background:#e1e9f1;display:grid;place-items:center;color:#2d5e89}.service-icon svg{width:31px;height:31px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.service-featured .service-icon{background:#ffffff25;color:#fff;border:1px solid #ffffff3c}
.service-card h3{font-size:clamp(18px,1.45vw,23px);font-weight:800;line-height:1.25;letter-spacing:-.04em;margin:0 0 12px}.service-card p{margin:0;color:#687589;line-height:1.67;font-size:13px;max-width:310px}.service-featured p{color:#d7e4f0}.service-featured .service-decoration{position:absolute;width:160px;height:160px;border:1px solid #ffffff19;transform:rotate(45deg);right:-95px;bottom:30px}
.clients-section{padding:64px 0 85px;background:#f6f8fa;border-top:1px solid #eef2f6;border-bottom:1px solid #e6edf3}
.clients-top{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:36px}.clients-top h2{font-size:clamp(30px,3vw,48px);max-width:700px}.clients-top p{font-size:13px;color:#6c7988;margin:0 0 6px;max-width:240px;line-height:1.6}
.logos-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.client-logo{display:grid;place-items:center;height:130px;padding:22px 15px;border:1px solid #e5eaf0;border-radius:16px;background:#fff;transition:transform .25s,border-color .25s;box-shadow:0 5px 14px #12345206}
.client-logo:hover{transform:translateY(-3px);border-color:#b4cada}.client-logo img{object-fit:contain;max-width:100%;max-height:70px;width:auto;height:auto}.client-logo img[src$="porto.png"]{max-height:48px}.client-logo img[src$="lsg-sky-chefs.jpg"]{max-height:74px}.client-logo img[src$="vizzi.png"]{max-height:62px}
.projects-section{padding-top:112px;padding-bottom:105px;background:#fff}.project-header{margin-bottom:36px}.project-header h2{max-width:780px}
.projects-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;border-bottom:1px solid #e3e9ef;padding-bottom:22px}
.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{background:#f3f6f9;border:1px solid #e7edf2;color:#52677a;border-radius:99px;min-height:40px;padding:9px 16px;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s}.filter:hover{border-color:#b5ccdf;color:#164a74}.filter.active{background:#112e50;color:#fff;border-color:#112e50}.filter span{font-size:10px;display:inline-block;margin-left:5px;opacity:.7}.projects-total{font-size:11px;color:#789;white-space:nowrap;font-weight:700}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.project-card{appearance:none;text-align:left;border:1px solid #e6ebf0;border-radius:19px;background:#fff;padding:0;overflow:hidden;cursor:pointer;color:inherit;box-shadow:0 6px 22px #11375408;display:flex;flex-direction:column;min-width:0;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.project-card:hover{transform:translateY(-5px);box-shadow:0 20px 36px #123c5e14;border-color:#b4cade}.project-card:hover .project-visual:before{transform:scale(1.045)}
.project-visual{height:auto;aspect-ratio:1.58;position:relative;overflow:hidden;background:linear-gradient(128deg,#cedae5,#aebfd0)}
.project-visual:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 5% 15%,#f7fafe85 0%,transparent 57%),repeating-linear-gradient(60deg,transparent 0px,transparent 21px,#ffffff27 22px,#ffffff27 23px),linear-gradient(140deg,#dce6ee,#92a9bf);transition:transform .35s var(--ease)}
.project-visual:after{content:'';position:absolute;width:170px;height:170px;transform:rotate(45deg);border:1px solid #ffffff70;right:-90px;top:-96px;pointer-events:none}
.project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}
.project-visual.has-image .project-image{opacity:1}.project-visual.has-image:before{opacity:0}
.project-empty{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#38516b;gap:6px}
.project-empty svg{width:38px;height:38px;stroke:#4c6f8e;stroke-width:1.25;margin-bottom:6px}
.project-empty strong{font:800 10px Manrope,sans-serif;letter-spacing:.14em}.project-empty small{font-size:11px;color:#607991}.project-visual.has-image .project-empty{opacity:0;pointer-events:none}
.project-card-index{position:absolute;z-index:2;top:16px;left:16px;font:800 11px Manrope,sans-serif;letter-spacing:.07em;background:#fffde;color:#2b4864;border-radius:8px;padding:8px 10px}
.project-card-body{padding:24px;display:flex;flex-direction:column;flex:1;min-height:170px}
.project-client{font:800 10px Manrope,sans-serif;letter-spacing:.125em;color:#3b6d95;margin-bottom:9px;text-transform:uppercase}
.project-name{font:800 clamp(15px,1.35vw,20px) / 1.33 Manrope,sans-serif;letter-spacing:-.038em;display:block;flex:1;color:#17283d}
.project-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:21px;padding-top:15px;border-top:1px solid #e8edf1}
.project-location{font-size:12px;color:#65798b;font-weight:700;display:flex;gap:6px;align-items:center}.project-location svg{width:14px;height:14px;stroke:#47769b;stroke-width:1.7;fill:none}
.project-arrow{width:32px;height:32px;border-radius:50%;border:1px solid #cad8e5;display:grid;place-items:center;color:#164773;transition:background .2s,color .2s}.project-card:hover .project-arrow{background:#123556;color:#fff}
.gallery-tip{display:flex;align-items:center;gap:15px;border:1px solid #e2e9ef;border-radius:14px;background:#f5f8fa;padding:17px 22px;margin-top:31px}.gallery-tip-icon{height:43px;width:43px;background:#e2eaf2;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}.gallery-tip-icon svg{width:21px;height:21px;stroke:#487aa2;stroke-width:1.5}.gallery-tip strong{font-size:12px;font-weight:800;color:#2d465e}.gallery-tip p{font-size:12px;margin:4px 0 0;color:#708091}.tip-status{margin-left:auto;letter-spacing:.14em;color:#537ca0;font:800 9px Manrope,sans-serif;border:1px solid #c8d8e6;border-radius:99px;padding:8px 10px}
.approach-section{background:linear-gradient(112deg,#0b1c31 2%,#102b4a 59%,#224d73 150%);color:#fff;overflow:hidden}
.approach-inner{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:102px;padding-bottom:102px;position:relative}
.approach-copy{position:relative;z-index:1}.section-index-light{color:#a5c8e6}.section-index-light:before{background:#78b3df}.approach-copy h2{font-size:clamp(34px,3.6vw,58px);color:#fff;max-width:680px}.approach-copy h2 em{color:#86b8de}.approach-copy>p{color:#bed0df;line-height:1.85;font-size:14px;max-width:565px;margin:27px 0}.approach-link{font:800 12px Manrope,sans-serif;padding-bottom:10px;border-bottom:1px solid #7ea9c9;display:inline-flex;align-items:center;gap:33px}.approach-link:hover{color:#acd4f1}.approach-link span{font-size:18px}
.approach-right{position:relative;display:flex;align-items:center;min-height:390px}.approach-pattern{position:absolute;inset:-120px -170px -120px 30%;transform:skewX(-11deg);display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:10px;opacity:.25;pointer-events:none}.approach-pattern span{border:1px solid #8fb7d5;background:linear-gradient(140deg,#234d70bb,#09233b22)}
.approach-steps{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:520px;margin-left:auto}
.approach-steps>div{display:flex;align-items:flex-start;gap:20px;padding:23px 0;border-bottom:1px solid #ffffff30}.approach-steps>div:first-child{border-top:1px solid #ffffff30}.approach-steps>div>span{font:800 12px Manrope,sans-serif;letter-spacing:.04em;color:#8bb6d6;min-width:45px;padding-top:3px}.approach-steps strong{font:800 18px Manrope,sans-serif;letter-spacing:-.03em}.approach-steps p{color:#b7c9d8;font-size:13px;line-height:1.55;margin:6px 0 0}
.contact-section{padding:92px 0}.contact-card{background:#edf3f8;border-radius:24px;display:grid;grid-template-columns:1.55fr .65fr;gap:30px;overflow:hidden;min-height:390px}
.contact-content{padding:clamp(32px,5vw,70px);align-self:center}.contact-card h2{font-size:clamp(32px,3.8vw,57px);max-width:780px}.contact-content>p{max-width:535px;font-size:14px;line-height:1.8;color:#65798b;margin:20px 0 27px}.contact-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap}.contact-phone{font-weight:800;font-family:Manrope,sans-serif;color:#2e628c;font-size:13px;border-bottom:1px solid #9fb8ce;padding-bottom:4px}.contact-phone:hover{color:#112b4a}
.contact-aside{background:linear-gradient(130deg,#1b4169,#0c2038);padding:33px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#fff}.contact-aside:before{content:'';position:absolute;inset:-10px;background-image:linear-gradient(#ffffff12 1px,transparent 1px),linear-gradient(90deg,#ffffff12 1px,transparent 1px);background-size:36px 36px;transform:perspective(150px) rotateX(15deg);pointer-events:none}
.contact-aside-overline{font:800 10px Manrope,sans-serif;letter-spacing:.16em;color:#c8d9eb;position:relative}.contact-monogram{position:relative;font:800 175px/1 Manrope,sans-serif;letter-spacing:-.2em;color:#ffffff24;align-self:center;margin-left:-30px}.contact-monogram span{color:#9ac5e4}.contact-address{position:relative;border-top:1px solid #ffffff36;padding-top:18px}.contact-address span{font:800 9px Manrope,sans-serif;letter-spacing:.14em;color:#b8d4e6}.contact-address p{font-size:13px;line-height:1.55;color:#ebf4fa;margin:9px 0 0}
.footer{background:#0b192b;color:#fff}.footer-upper{padding:53px 0 45px;display:grid;grid-template-columns:210px 1fr auto;gap:32px;align-items:center}.footer-logo{border-radius:8px;background:white;padding:11px 14px;max-width:185px}.footer-logo img{width:100%;height:auto}.footer-upper p{font-size:12px;color:#9fb1c1;max-width:275px;line-height:1.65;margin:0}.footer-nav{display:flex;align-items:center;gap:26px}.footer-nav a{font-size:11px;font-weight:700;color:#c6d5e4}.footer-nav a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff20;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#9eb1c3;font-size:10px}.footer-bottom a{color:#c2d6e6}.footer-bottom a strong{color:#fff}.footer-bottom a:hover{text-decoration:underline}
.project-modal{border:0;padding:0;border-radius:22px;overflow:hidden;max-width:min(820px,calc(100% - 24px));width:100%;max-height:min(90vh,950px);background:#fff;box-shadow:0 28px 90px #071a2f60;color:var(--text);position:fixed;inset:0;margin:auto;overscroll-behavior:contain}.project-modal::backdrop{background:#071526b8;backdrop-filter:blur(4px)}.project-modal[open]{display:grid;grid-template-columns:1fr 1fr;overflow:auto}.modal-close{border:0;position:absolute;top:15px;right:15px;background:#fff;z-index:6;width:42px;height:42px;border-radius:50%;box-shadow:0 2px 10px #1232;display:grid;place-items:center;cursor:pointer}.modal-close:hover{background:#eef5fa}.modal-close svg{width:20px;height:20px;stroke:#142e47;stroke-width:1.8;stroke-linecap:round}.modal-media{background:linear-gradient(140deg,#d5e0e9,#9db5c8);position:relative;min-height:460px;display:grid;place-items:center;overflow:hidden}.modal-media:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent 0,transparent 30px,#ffffff24 31px,#ffffff24 32px)}.modal-media>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.modal-empty{position:relative;display:flex;flex-direction:column;gap:15px;align-items:center;color:#496982;text-align:center;font-size:12px}.modal-empty svg{width:66px;height:66px;stroke:#547b9b;stroke-width:1.4}.modal-content{padding:64px 35px 40px;display:flex;flex-direction:column;align-items:flex-start}.modal-eyebrow{font:800 10px Manrope,sans-serif;letter-spacing:.14em;color:#3f719a;text-transform:uppercase}.modal-content h2{font-size:clamp(25px,3vw,37px);line-height:1.2;margin:17px 0 18px}.modal-content>p{font-size:14px;line-height:1.8;color:#647589}.modal-meta{display:flex;flex-wrap:wrap;gap:9px;margin:5px 0 32px}.modal-meta span{border:1px solid #dce6ee;border-radius:99px;padding:8px 12px;color:#3e607a;font-size:11px;font-weight:700}.modal-thumbnails{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.modal-thumbnails[hidden]{display:none}.modal-thumbnails button{width:70px;height:54px;border:2px solid transparent;border-radius:8px;overflow:hidden;padding:0;cursor:pointer;background:#e6ecf2}.modal-thumbnails button[aria-current="true"]{border-color:#2d6b9b}.modal-thumbnails img{width:100%;height:100%;object-fit:cover}
@media(max-width:1230px){.brand img{width:165px}.header-cta{font-size:11px;padding:12px 14px}.nav{gap:20px}.hero{min-height:550px}.hero-content{padding:40px}.hero h1{font-size:clamp(38px,4vw,56px)}.service-card{padding:22px}.client-logo{height:110px}.footer-upper{grid-template-columns:190px 1fr auto}}
@media(max-width:1050px){.nav{gap:14px}.nav-link{font-size:11px}.header-cta{display:none}.hero{min-height:500px}.hero-content{padding:34px}.hero-features{margin-top:22px}.specialties-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:255px}.logos-grid{grid-template-columns:repeat(3,1fr)}.projects-grid{grid-template-columns:repeat(2,1fr)}.footer-upper{grid-template-columns:160px 1fr}.footer-nav{grid-column:1 / -1;justify-content:flex-start}}
@media(max-width:760px){.page-width{width:calc(100% - 32px)}.preview-bar-inner{justify-content:center;gap:8px;flex-wrap:wrap;padding:9px 0;line-height:1.3}.preview-bar p{display:none}.preview-identity{font-size:9px}.preview-bar a{font-size:10px}.header-inner{height:74px}.brand img{width:155px}.menu-button{display:flex;width:44px;height:44px;border:1px solid #d9e3eb;background:#f4f7fa;border-radius:11px;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer}.menu-button span{display:block;width:20px;height:2px;border-radius:3px;background:#133c5f;transition:transform .2s}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav{display:none;position:absolute;top:74px;left:0;right:0;padding:12px 16px 23px;background:#fff;border-bottom:1px solid #dce6ef;box-shadow:0 24px 30px #0a284621;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav-link{padding:15px 10px;border-bottom:1px solid #e8eff4;font-size:13px}.nav-link:after{display:none}.nav-mobile-cta{display:flex;margin-top:17px}.hero{grid-template-columns:1fr;min-height:0;gap:10px;margin-top:10px}.hero-image{min-height:340px}.hero-photo-tag{left:17px;bottom:18px;font-size:10px}.photo-corner{right:15px;top:15px}.hero-content{padding:42px 28px 32px;min-height:455px}.hero h1{font-size:clamp(37px,9vw,57px);margin:20px 0}.hero-content>p{font-size:14px}.hero-watermark{font-size:170px;bottom:-50px}.hero-features{margin-top:29px}.intro-ribbon{min-height:105px;height:auto;gap:12px;padding:23px 0}.ribbon-kicker{font-size:9px}.intro-ribbon p{font-size:16px;text-align:left}.ribbon-symbol{display:none}.section{padding:78px 0}.section-header{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.section-header h2{font-size:clamp(34px,7.4vw,49px)}.section-intro{padding-top:4px}.mini-line{height:54px}.section-intro p{max-width:570px;font-size:13px}.clients-section{padding:68px 0}.clients-top{align-items:start;flex-direction:column;gap:16px}.clients-top h2{font-size:34px}.clients-top p{max-width:450px}.logos-grid{grid-template-columns:repeat(3,1fr);gap:8px}.client-logo{height:94px;padding:14px}.client-logo img{max-height:54px}.projects-section{padding-top:78px}.projects-toolbar{align-items:flex-start;flex-direction:column}.filters{flex-wrap:nowrap;overflow:auto;max-width:100%;width:100%;padding-bottom:4px;scrollbar-width:thin}.filter{white-space:nowrap;min-height:40px}.projects-grid{grid-template-columns:repeat(2,1fr);gap:10px}.project-card-body{padding:17px;min-height:167px}.project-name{font-size:14px}.project-client{font-size:9px}.project-card-index{top:10px;left:10px;padding:6px 8px}.project-empty strong{font-size:9px}.project-empty small{font-size:10px}.project-empty svg{width:30px;height:30px}.approach-inner{grid-template-columns:1fr;gap:33px;padding-top:72px;padding-bottom:75px}.approach-copy h2{font-size:38px}.approach-right{min-height:260px}.approach-steps{max-width:none}.approach-steps>div{padding:17px 0}.contact-section{padding:72px 0}.contact-card{grid-template-columns:1fr;gap:0}.contact-content{padding:41px 28px}.contact-card h2{font-size:clamp(32px,7.5vw,43px)}.contact-aside{min-height:180px}.contact-monogram{position:absolute;right:30px;top:28px;font-size:110px}.contact-address{margin-top:50px;max-width:270px}.footer-upper{grid-template-columns:1fr;gap:18px;padding-top:40px}.footer-nav{grid-column:auto;flex-wrap:wrap;gap:17px}.footer-bottom{padding:20px 0;align-items:flex-start;flex-direction:column;line-height:1.7}.project-modal[open]{grid-template-columns:1fr;max-width:calc(100% - 22px);max-height:90vh}.modal-media{min-height:230px}.modal-content{padding:28px 24px 28px}.modal-content h2{font-size:27px}.modal-meta{margin-bottom:20px}}
@media(max-width:470px){.page-width{width:calc(100% - 24px)}.preview-identity{display:flex;font-size:8px;letter-spacing:.08em}.preview-bar-inner{gap:8px;justify-content:space-between}.header-inner{height:68px}.nav{top:68px}.hero-image{min-height:315px}.hero-photo-tag small{font-size:10px}.hero-content{padding:30px 23px;min-height:0}.hero h1{font-size:36px}.eyebrow{letter-spacing:.08em;font-size:9px}.hero-actions{flex-direction:column;width:100%}.hero-actions .button{width:100%}.hero-features{gap:10px 16px}.intro-ribbon{gap:15px}.ribbon-kicker{max-width:65px;line-height:1.4;white-space:normal}.intro-ribbon p{font-size:15px}.specialties-grid,.projects-grid{grid-template-columns:1fr}.service-card{min-height:240px}.logos-grid{grid-template-columns:repeat(2,1fr)}.client-logo{height:100px}.project-card-body{min-height:152px}.project-visual{aspect-ratio:1.75}.project-name{font-size:17px}.project-empty svg{width:38px;height:38px}.gallery-tip{padding:15px;align-items:flex-start}.gallery-tip-icon{width:36px;height:36px}.gallery-tip p{line-height:1.5}.tip-status{display:none}.contact-actions{align-items:stretch;flex-direction:column}.contact-actions .button{width:100%}.contact-phone{text-align:center;align-self:center}.approach-copy h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* V3 / Portfólio oficial — indicação editorial de segmento nos cartões. */
.project-category { display: inline-flex; align-self: flex-start; padding: 5px 9px; margin: 1px 0 9px; background: #edf3f8; color: #365e80; border: 1px solid #dce8f0; border-radius: 999px; font-family: Manrope, sans-serif; font-size: 10px; letter-spacing: .025em; font-weight: 800; }
.project-name { text-wrap: pretty; }
