:root{--ink:#102c3d;--ink-2:#1d4056;--steel:#376b86;--accent:#9cc7d5;--paper:#f7f9f9;--soft:#edf2f4;--white:#fff;--line:#dce5e9;--body:#52616b;--muted:#7c8b95;--radius:14px;--ease:cubic-bezier(.22,.7,.26,1);--font:'Segoe UI',Arial,sans-serif;--display:'Manrope','Segoe UI',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;font:400 16px/1.7 var(--font);color:var(--ink);background:var(--white);overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}figure,h1,h2,h3,p{margin:0}img{max-width:100%;display:block}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3{font-family:var(--display);line-height:1.13;letter-spacing:-.047em}p{color:var(--body)}::selection{color:var(--white);background:var(--steel)}:focus-visible{outline:3px solid #50b8ed;outline-offset:4px}.shell{width:min(1192px,calc(100% - 84px));margin-inline:auto}.skip-link{position:fixed;z-index:1000;top:-120px;left:16px;padding:12px 18px;background:#fff;color:var(--ink);border-radius:0 0 8px 8px}.skip-link:focus{top:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:17px;min-height:53px;padding:14px 24px;border:1px solid transparent;border-radius:5px;font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.005em;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s;white-space:nowrap}.button:hover{transform:translateY(-3px)}.button svg{width:18px;height:18px;transition:transform .25s}.button:hover svg{transform:translateX(4px)}.button-primary{background:#d8eef2;color:var(--ink)}.button-primary:hover{background:white}.button-outline-light{background:transparent;color:white;border-color:rgba(255,255,255,.4)}.button-outline-light:hover{border-color:white;background:rgba(255,255,255,.09)}.eyebrow{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:800;letter-spacing:.20em;color:var(--steel);line-height:1.4}.eyebrow-rule{width:30px;height:1px;background:currentColor}.eyebrow-light{color:#b8d7e2}.section{padding:112px 0}.section-title{font-size:clamp(38px,4.1vw,58px);font-weight:800;max-width:730px}.section-title em{font-style:normal;color:var(--steel)}.section-lead{font-size:19px;line-height:1.67;color:var(--ink-2)}
/* Header */
.site-header{position:relative;z-index:30;height:92px;background:var(--white);border-bottom:1px solid #e7ecee}.header-inner{height:100%;display:flex;align-items:center;gap:38px}.brand{width:220px;flex:0 0 220px;display:flex;align-items:center}.brand img{width:100%;height:auto;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:29px;margin-left:auto;height:100%}.nav-link{position:relative;font-size:12px;font-weight:700;color:#52616e;white-space:nowrap;transition:color .2s}.nav-link:hover,.nav-link.is-active{color:#123a51}.nav-link.is-active::after{content:'';position:absolute;left:0;right:0;bottom:-13px;height:2px;background:#39718c}.button-header{background:var(--ink);color:white;min-height:45px;padding:11px 16px;font-size:12px}.button-header:hover{background:#2f5c72}.nav-mobile-contact,.menu-toggle{display:none}
/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#102d3e;min-height:660px;color:white}.hero::before{content:'';position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 72% 35%,rgba(42,102,131,.45),transparent 45%),linear-gradient(115deg,#0e2c3d 15%,#183c52 100%)}.hero-grid{position:absolute;z-index:-1;inset:0;opacity:.20;background-image:linear-gradient(rgba(184,224,238,.23) 1px,transparent 1px),linear-gradient(90deg,rgba(184,224,238,.23) 1px,transparent 1px);background-size:75px 75px;mask-image:linear-gradient(to right,transparent 10%,black 100%)}.hero-line{position:absolute;border:1px solid rgba(169,214,226,.1);pointer-events:none;transform:rotate(-25deg)}.hero-line-a{height:900px;width:900px;right:-430px;top:-650px}.hero-line-b{height:700px;width:700px;right:-450px;bottom:-470px}.hero-inner{display:grid;grid-template-columns:1.02fr .98fr;gap:26px;align-items:center;min-height:611px;padding:58px 0 62px}.hero-copy{z-index:1;padding-bottom:2px}.hero h1{max-width:650px;font-size:clamp(49px,5.4vw,76px);font-weight:800;letter-spacing:-.065em;line-height:1.09;margin:25px 0 23px}.hero-heading-soft{display:block;color:#acd1de}.hero-tagline{color:#fff;font-size:15px;font-weight:700;letter-spacing:.01em;margin-bottom:12px}.hero-description{max-width:500px;color:#c4d5dc;font-size:15px;line-height:1.88}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-proof{display:flex;align-items:center;gap:14px;max-width:460px;margin-top:48px;padding-top:21px;border-top:1px solid rgba(194,225,233,.2);color:#bed2dd;font-size:12px;line-height:1.6}.hero-proof strong{color:white}.proof-mark{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#93d6c3;box-shadow:0 0 0 5px rgba(147,214,195,.09)}.hero-visual{position:relative;min-width:0;height:522px;display:flex;align-items:center;justify-content:center;padding-left:48px}.hero-visual-frame{position:relative;width:min(470px,100%);height:468px}.hero-main-photo{position:absolute;right:0;top:0;width:77%;height:93%;overflow:hidden;box-shadow:0 22px 58px rgba(0,0,0,.25);background:#597282}.hero-main-photo img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.hero-main-photo::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,30,44,.45))}.hero-main-photo figcaption{position:absolute;bottom:19px;right:19px;z-index:1;font-size:10px;font-weight:800;letter-spacing:.13em;color:white;display:flex;align-items:center;gap:10px}.caption-dot{height:6px;width:6px;background:#d9efeb;border-radius:50%}.hero-floating-photo{position:absolute;left:0;bottom:30px;width:52%;height:50%;border:7px solid #123348;background:#7897aa;box-shadow:0 18px 33px rgba(0,0,0,.24)}.hero-floating-photo img{width:100%;height:100%;object-fit:cover}.hero-floating-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#123348;padding:8px 9px;font-size:9px;font-weight:800;text-align:center;letter-spacing:.095em;color:white}.hero-visual-number{position:absolute;left:0;top:19px;font-size:11px;letter-spacing:.2em;color:#9cc4d5}.hero-corner{position:absolute;width:45px;height:45px;pointer-events:none}.hero-corner-1{top:-10px;right:-10px;border-top:1px solid rgba(220,240,244,.5);border-right:1px solid rgba(220,240,244,.5)}.hero-corner-2{bottom:-10px;left:33px;border-bottom:1px solid rgba(220,240,244,.5);border-left:1px solid rgba(220,240,244,.5)}.hero-visual-note{position:absolute;bottom:-4px;right:8%;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#9fc5d4}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding:0 0 20px;color:#85adbd;font-size:9px;font-weight:800;letter-spacing:.22em}.hero-scroll{display:flex;gap:13px;align-items:center}.hero-scroll svg{height:15px;width:15px}.expertise-bar{background:#f3f7f8;border-bottom:1px solid var(--line)}.expertise-items{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;min-height:94px}.expertise-items span{display:flex;align-items:center;justify-content:center;gap:14px;color:#426477;font-weight:800;font-size:11px;letter-spacing:.15em;border-right:1px solid #d3dfe4}.expertise-items span:last-child{border:0}.expertise-items i{height:5px;width:5px;border-radius:100%;background:#4e8aa3}
/* About */
.about-section{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8.3%;align-items:center}.about-media{position:relative;min-height:520px}.about-main-photo{position:absolute;left:0;top:0;width:81%;height:405px;overflow:hidden}.image-outline{outline:1px solid #cfdce2;outline-offset:7px}.about-main-photo img{width:100%;height:100%;object-fit:cover}.about-small-photo{position:absolute;right:0;bottom:57px;width:56%;height:177px;background:#fff;box-shadow:0 14px 38px rgba(30,55,73,.10);overflow:hidden;border:8px solid white}.about-small-photo img{height:100%;width:100%;object-fit:cover}.about-image-label{position:absolute;left:0;bottom:27px;font-size:9px;letter-spacing:.125em;color:#557385;font-weight:800}.technical-cross{position:absolute;right:3px;top:-32px;color:#6c98a8;font-size:35px;font-weight:300}.about-copy .section-title{margin-top:20px;margin-bottom:25px;max-width:545px}.about-copy>p{margin-bottom:17px;font-size:15px;line-height:1.85}.about-copy>.section-lead{font-size:18px;line-height:1.73}.about-stat{display:flex;align-items:center;gap:20px;margin-top:31px;padding-top:25px;border-top:1px solid var(--line)}.stat-big{font-family:var(--display);font-size:72px;line-height:1;letter-spacing:-.08em;font-weight:800;color:#204b64}.stat-description{color:#728390;font-size:12px;line-height:1.8}.stat-description strong{font-size:14px;color:#1d3b50}
/* Services */
.services-section{background:#f4f7f8}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:37px}.section-head .section-title{margin-top:16px}.section-head>p{max-width:310px;font-size:14px;line-height:1.8;padding-bottom:2px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.service-card{background:#fff;border:1px solid #e2e9ec;overflow:hidden;min-height:520px;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}.service-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(20,57,76,.08);border-color:#bad2dd}.service-card-media{height:190px;overflow:hidden;background:#c4d4db}.service-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.service-card:hover .service-card-media img{transform:scale(1.04)}.service-card-body{padding:28px 27px 26px}.service-num{font-size:10px;font-weight:800;letter-spacing:.16em;color:#4a7891}.service-card h3{font-size:22px;letter-spacing:-.045em;line-height:1.25;font-weight:800;margin:12px 0}.service-card p{font-size:13px;line-height:1.7}.service-points{list-style:none;padding:15px 0 0;margin:18px 0 0;border-top:1px solid #e3ebee}.service-points li{position:relative;padding:0 0 7px 14px;font-size:12px;line-height:1.6;color:#5a6d79}.service-points li::before{content:'';position:absolute;left:0;top:9px;width:4px;height:4px;border-radius:50%;background:#568aa3}.service-card-simple{min-height:340px;padding:28px 28px 27px;display:flex;flex-direction:column}.simple-card-top{display:flex;align-items:start;justify-content:space-between;min-height:80px}.service-line-icon{width:60px;height:60px;stroke:#c1d4dd;stroke-width:1}.service-card-simple h3{margin:7px 0 15px}.service-card-simple p{max-width:260px;font-size:13px}.service-detail-image{height:95px;max-width:220px;margin-top:auto;margin-left:auto;opacity:.8;overflow:hidden;border-left:3px solid #a6c5d2}.service-detail-image img{height:100%;width:100%;object-fit:cover}.service-graphic-text{margin-top:auto;padding-top:32px;display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#b4c7d0}
/* Work intro */
.work-intro{background:#244e65;color:#fff;overflow:hidden}.work-intro-inner{min-height:165px;display:flex;align-items:center;gap:45px}.work-intro-index{align-self:center;flex:0 0 170px;color:#9ac3d2;font-size:10px;font-weight:800;letter-spacing:.15em}.work-intro p{flex:1;color:#fff;font-family:var(--display);font-size:clamp(26px,3.0vw,40px);font-weight:800;line-height:1.2;letter-spacing:-.055em}.work-intro em{font-style:normal;color:#aed7e5}.work-intro a{display:grid;place-items:center;width:57px;height:57px;border-radius:100%;border:1px solid rgba(255,255,255,.45);transition:background .2s}.work-intro a:hover{background:rgba(255,255,255,.14)}
/* Projects */
.projects-section{background:#fff}.projects-heading{margin-bottom:28px}.filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:26px}.filter-chip{border:1px solid #dae4e8;background:#fff;color:#526a78;padding:10px 17px;border-radius:3px;font-size:12px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.filter-chip:hover{border-color:var(--steel);color:var(--steel)}.filter-chip.is-selected{background:#15384d;border-color:#15384d;color:#fff}.filter-chip span{font-size:10px;opacity:.65;margin-left:6px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{border:1px solid #e3e9ed;min-width:0;background:#fff;transition:box-shadow .3s var(--ease)}.project-card:hover{box-shadow:0 15px 36px rgba(13,45,60,.09)}.project-card[hidden]{display:none!important}.project-image{position:relative;height:292px;overflow:hidden;display:block;background:#d6e2e8}.project-card-large .project-image{height:370px}.project-image img{height:100%;width:100%;object-fit:cover;object-position:center;transition:transform .65s var(--ease)}.project-card:hover .project-image img{transform:scale(1.045)}.project-picture-tag{position:absolute;left:20px;top:20px;color:#153044;background:#fff;padding:9px 12px;font-size:9px;font-weight:800;letter-spacing:.10em}.project-image-control{position:absolute;bottom:17px;right:18px;display:grid;place-items:center;height:39px;width:39px;background:#fff;color:var(--ink);font-size:26px;font-weight:400;line-height:1}.project-info{padding:24px 26px 26px}.project-meta{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:800;letter-spacing:.17em;color:#648398}.project-meta span{width:24px;height:1px;background:#9ebac8}.project-info-row{display:flex;align-items:end;gap:18px;justify-content:space-between;margin-top:14px}.project-info h3{font-size:24px;font-weight:800;line-height:1.25;margin-bottom:10px}.project-info p{font-size:13px;line-height:1.75;max-width:440px}.project-arrow{flex:0 0 40px;display:grid;place-items:center;width:40px;height:40px;border-radius:100%;border:1px solid #d6e3e8;background:white;color:#2b5b71;transition:background .2s,color .2s}.project-arrow:hover{color:#fff;background:var(--ink)}.projects-note{font-size:12px;margin-top:26px;text-align:center;color:#7b8d96}
/* Compare */
.comparison-section{background:#f0f5f6}.comparison-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.comparison-heading .section-title{margin-top:17px}.comparison-switch{display:flex;padding:4px;background:#e2e9ed;border-radius:5px;flex-shrink:0}.comparison-switch button{border:0;background:transparent;padding:11px 16px;border-radius:3px;font-size:12px;font-weight:800;color:#536a76}.comparison-switch button.is-selected{background:var(--white);box-shadow:0 2px 8px rgba(33,63,77,.08);color:var(--ink)}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.comparison-card{min-width:0;background:#fff;border:1px solid #dae5e9}.comparison-image{height:435px;background:#bdcbd3;overflow:hidden}.comparison-image img{width:100%;height:100%;object-fit:contain;background:#d5e0e5}.comparison-card figcaption{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:20px 24px}.comparison-card figcaption span{font-size:10px;font-weight:800;letter-spacing:.13em;color:#56839c}.comparison-card figcaption strong{font-size:13px;line-height:1.4;color:#2f4552}.comparison-note{font-size:12px;margin-top:16px}
/* Method */
.method-section{background:#102e40;color:#fff;position:relative;overflow:hidden}.method-section::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:linear-gradient(90deg,transparent 49%,white 50%,transparent 51%);background-size:100px 100px}.method-section>.shell{position:relative;z-index:1}.method-heading{max-width:760px;margin-bottom:34px}.method-heading .section-title{margin:17px 0 14px;color:#fff}.method-heading .section-title em{color:#a9d1de}.method-heading p{color:#bcd0db;font-size:15px;max-width:640px}.method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.method-step{border:1px solid rgba(203,230,241,.20);background:rgba(255,255,255,.035);min-width:0}.method-step-image{height:215px;overflow:hidden;background:#6f8fa2}.method-step-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.method-step:hover img{transform:scale(1.04)}.method-step-text{display:flex;align-items:center;gap:18px;padding:23px 23px 26px}.method-step-text span{color:#94c9d9;font-weight:800;font-size:12px}.method-step-text h3{font-size:21px;font-weight:800;color:white;letter-spacing:-.04em}.values-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:45px}.values-row span{border:1px solid rgba(187,219,234,.26);padding:9px 16px;border-radius:99px;color:#bbd2df;font-size:11px;font-weight:700}
/* Contact */
.contact-section{background:#1c485e;color:white;position:relative;isolation:isolate;overflow:hidden;padding:100px 0 106px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;position:relative;z-index:1}.contact-copy h2{font-size:clamp(46px,5.1vw,68px);max-width:520px;font-weight:800;line-height:1.12;margin:23px 0}.contact-copy h2 em{display:block;font-style:normal;color:#bedee7}.contact-copy p{max-width:390px;color:#c2d5de;font-size:15px}.contact-detail{padding:20px 0;border-bottom:1px solid rgba(210,235,241,.28)}.contact-detail:first-child{padding-top:0}.contact-detail>span{font-size:10px;letter-spacing:.15em;font-weight:800;color:#a7c9d8}.contact-detail>a{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;transition:color .2s}.contact-detail>a:hover{color:#b6dce9}.contact-large{margin-top:12px;font-family:var(--display);font-size:clamp(28px,3vw,40px);font-weight:800;letter-spacing:-.05em;line-height:1.28}.contact-mail{margin-top:12px;font-weight:700;font-size:clamp(13px,1.3vw,18px);overflow-wrap:anywhere;line-height:1.55}.contact-detail svg{width:23px;height:23px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.contact-background{position:absolute;right:-35px;bottom:-120px;z-index:0;color:rgba(255,255,255,.035);font:800 400px/.8 var(--display);letter-spacing:-.1em;pointer-events:none}
/* Footer */
.site-footer{background:#f9fbfb}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:136px}.footer-logo{display:block;width:225px}.footer-logo img{width:100%;height:auto}.footer-links{display:flex;flex-wrap:wrap;gap:26px}.footer-links a{font-size:12px;font-weight:700;color:#617682;transition:color .2s}.footer-links a:hover{color:var(--ink)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:21px 0 27px;border-top:1px solid #e0e8eb;color:#78909a;font-size:10px;font-weight:800;letter-spacing:.13em}.footer-bottom a{display:flex;align-items:center;gap:9px;color:#315d74}.footer-bottom svg{width:14px;height:14px}
/* Lightbox */
.lightbox[hidden]{display:none!important}.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:25px}.lightbox-backdrop{position:absolute;inset:0;background:rgba(8,23,34,.88);backdrop-filter:blur(8px)}.lightbox-window{position:relative;z-index:1;width:min(1020px,100%);max-height:calc(100dvh - 45px);overflow:auto;background:#f7f9fa;display:flex;flex-direction:column;box-shadow:0 15px 80px rgba(0,0,0,.35)}.lightbox-top{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;gap:20px}.lightbox-kicker{color:#5f8193;font-size:10px;font-weight:800;letter-spacing:.12em}.lightbox-top h2{font-size:22px;margin-top:4px}.lightbox-close{display:grid;place-items:center;border:1px solid #d6e3e9;background:#fff;width:42px;height:42px;border-radius:100%;flex-shrink:0}.lightbox-image-area{position:relative;min-height:220px;display:grid;place-items:center;background:#e6ecef}.lightbox-image-area img{display:block;max-width:100%;width:auto;height:auto;max-height:min(64dvh,700px);object-fit:contain}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;background:rgba(255,255,255,.95);color:var(--ink);width:44px;height:48px;display:grid;place-items:center;box-shadow:0 2px 15px rgba(0,0,0,.15)}.lightbox-prev{left:13px}.lightbox-next{right:13px}.lightbox-arrow svg{width:23px;height:23px}.lightbox-arrow:hover,.lightbox-close:hover{background:#cee5ee}.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 25px}.lightbox-bottom span{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#547d91}.lightbox-bottom p{font-size:13px;color:#3f5563;margin-top:5px}.lightbox-count{font-size:14px;font-weight:800;letter-spacing:.09em;white-space:nowrap;color:#56788b}.lightbox-count span{display:inline;color:var(--ink);font-size:14px}
/* Los bloques nunca se ocultan: la animación es únicamente decorativa. */
@keyframes gentle-enter{from{opacity:.78;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.has-reveal [data-reveal].is-visible{animation:gentle-enter .65s var(--ease) both}
@media (max-width:1150px){.shell{width:min(100% - 60px,1192px)}.header-inner{gap:22px}.brand{width:191px;flex-basis:191px}.primary-nav{gap:18px}.nav-link{font-size:11px}.button-header{padding:11px 13px}.hero h1{font-size:clamp(52px,5.6vw,70px)}.hero-visual{padding-left:20px}.service-card h3{font-size:20px}}
@media (max-width:960px){.site-header{height:78px}.brand{width:184px;flex-basis:184px}.primary-nav{gap:14px}.primary-nav .nav-link{font-size:10px}.header-inner .button-header{display:none}.hero-inner{grid-template-columns:1.05fr .95fr;min-height:555px;padding:48px 0}.hero h1{font-size:clamp(42px,5.5vw,58px)}.hero-visual{height:470px}.hero-visual-frame{height:410px}.hero-proof{margin-top:28px}.about-grid{gap:6%}.about-media{min-height:460px}.about-main-photo{height:350px}.about-small-photo{bottom:53px}.section{padding:85px 0}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:495px}.service-card-simple{min-height:310px}.project-card-large .project-image{height:292px}.comparison-image{height:365px}.method-step-image{height:180px}.method-step-text{gap:11px;padding:19px}.method-step-text h3{font-size:18px}.contact-grid{gap:5%}}
@media (max-width:720px){html{scroll-padding-top:72px}.shell{width:calc(100% - 38px)}.site-header{height:72px}.header-inner{justify-content:space-between}.brand{width:180px;flex-basis:180px}.menu-toggle{display:none}.js .menu-toggle{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:5px;height:42px;width:42px;padding:0;border:1px solid #d6e1e7;border-radius:3px;background:#fff;z-index:3}.menu-toggle span{width:19px;height:2px;background:#20465c;transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.primary-nav{position:absolute;top:72px;left:0;right:0;display:flex;flex-direction:column;gap:0;align-items:stretch;height:auto;background:#fff;box-shadow:0 18px 28px rgba(18,44,61,.12);padding:10px 19px 20px;margin:0}.js .primary-nav{visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-8px);transition:visibility .2s,opacity .2s,transform .2s}.js .primary-nav.is-open{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}.primary-nav .nav-link{padding:13px 8px;border-bottom:1px solid #edf1f3;font-size:13px}.nav-link.is-active::after{display:none}.nav-mobile-contact{display:block}.hero-inner{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:22px;padding:58px 0 45px}.hero-copy{max-width:630px}.hero h1{font-size:clamp(46px,10.5vw,70px);max-width:630px}.hero-visual{height:420px;padding:0;align-items:center}.hero-visual-frame{width:min(420px,85%);height:370px}.hero-main-photo{right:0;height:100%}.hero-floating-photo{left:-8%;bottom:15px;height:52%;width:53%;border-width:5px}.hero-proof{margin-top:28px}.hero-bottom{padding-bottom:23px}.expertise-items{min-height:78px}.expertise-items span{font-size:9px;letter-spacing:.10em;gap:6px}.expertise-items i{width:4px;height:4px}.about-grid{grid-template-columns:1fr;gap:27px}.about-media{min-height:400px;order:2}.about-copy{order:1}.about-main-photo{width:76%;height:312px}.about-small-photo{width:56%;height:155px;bottom:34px}.about-image-label{bottom:0}.section{padding:74px 0}.section-head{align-items:start;flex-direction:column;gap:15px}.section-head>p{max-width:540px}.section-title{font-size:clamp(36px,8vw,52px)}.projects-grid{gap:18px}.project-image,.project-card-large .project-image{height:245px}.project-info{padding:20px 19px}.project-info h3{font-size:19px}.project-info p{font-size:12px}.project-arrow{width:35px;height:35px;flex-basis:35px}.work-intro-inner{min-height:138px;gap:18px}.work-intro-index{flex:0 0 115px;font-size:9px}.work-intro p{font-size:26px}.comparison-heading{align-items:start;flex-direction:column}.comparison-image{height:310px}.comparison-card figcaption{flex-direction:column;align-items:start;padding:16px;gap:4px}.method-steps{gap:12px}.method-step-image{height:150px}.method-step-text{padding:17px 12px;gap:9px}.method-step-text h3{font-size:16px}.contact-section{padding:80px 0}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-copy h2{font-size:clamp(42px,9vw,66px);margin:18px 0}.contact-large{font-size:35px}.footer-main{padding:28px 0;align-items:start;flex-direction:column;gap:24px}.footer-links{gap:12px 22px}}
@media (max-width:550px){.hero h1{font-size:clamp(43px,11.6vw,60px)}.hero-description{font-size:14px}.hero-buttons{gap:10px}.hero-buttons .button{min-width:calc(50% - 5px);padding:12px 12px;font-size:11px;min-height:49px}.hero-buttons svg{width:15px}.hero-visual{height:330px}.hero-visual-frame{height:300px;width:min(360px,86%)}.hero-visual-number{top:5px}.hero-visual-note{bottom:-4px;right:0}.hero-bottom{font-size:8px}.hero-bottom>span:first-child{display:none}.hero-scroll{margin-left:auto}.expertise-items{grid-template-columns:1fr 1fr;padding:12px 0;gap:0}.expertise-items span{justify-content:flex-start;padding:9px 13px;border:0}.expertise-items span:nth-child(2n+1){border-right:1px solid #d3dfe4}.about-media{min-height:320px}.about-main-photo{height:245px}.about-small-photo{height:112px;bottom:30px;border-width:5px}.about-image-label{font-size:8px;max-width:250px}.about-copy>.section-lead{font-size:17px}.stat-big{font-size:65px}.services-grid{grid-template-columns:1fr;gap:15px}.service-card{min-height:0}.service-card-media{height:190px}.service-card-body{padding:25px}.service-card-simple{min-height:280px}.service-detail-image{height:78px}.work-intro-index{display:none}.work-intro-inner{min-height:128px}.work-intro p{font-size:28px}.work-intro a{flex-shrink:0;width:44px;height:44px}.projects-grid{grid-template-columns:1fr}.project-image,.project-card-large .project-image{height:280px}.project-info{padding:21px}.project-info h3{font-size:22px}.filter-row{gap:8px}.filter-chip{padding:9px 12px;font-size:11px}.comparison-grid{grid-template-columns:1fr;gap:13px}.comparison-image{height:350px}.comparison-card figcaption{flex-direction:row;align-items:center}.method-steps{grid-template-columns:1fr}.method-step{display:flex;align-items:stretch;min-height:138px}.method-step-image{width:41%;height:auto;min-height:138px}.method-step-text{flex:1;gap:12px;align-items:center}.method-step-text h3{font-size:19px}.method-heading p{font-size:14px}.values-row{justify-content:flex-start;margin-top:28px;gap:8px}.values-row span{padding:8px 12px;font-size:10px}.contact-copy h2{font-size:45px}.contact-large{font-size:30px}.contact-mail{font-size:13px}.contact-actions{flex-direction:column}.contact-actions .button{width:100%}.contact-background{font-size:240px;bottom:-45px}.footer-links{gap:12px 17px}.footer-bottom{font-size:9px;line-height:1.5}.lightbox{padding:10px}.lightbox-window{max-height:calc(100dvh - 20px)}.lightbox-top{padding:13px 15px}.lightbox-top h2{font-size:17px}.lightbox-image-area img{max-height:63dvh}.lightbox-arrow{width:35px;height:43px}.lightbox-prev{left:0}.lightbox-next{right:0}.lightbox-bottom{padding:15px;gap:14px}.lightbox-bottom p{font-size:12px}}
@media (max-width:365px){.shell{width:calc(100% - 28px)}.hero h1{font-size:40px}.hero-buttons .button{width:100%}.hero-visual{height:280px}.hero-visual-frame{height:260px}.section-title{font-size:35px}.project-image,.project-card-large .project-image{height:235px}.comparison-image{height:285px}.comparison-switch button{font-size:11px;padding:10px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.has-reveal [data-reveal].is-visible{animation:none}}
