:root{--navy:#0b2b43;--navy2:#103a56;--rust:#bd5b31;--rust-light:#d77b50;--cream:#f6f3ec;--offwhite:#f8f8f5;--paper:#fff;--line:#d9dedf;--text:#253b4d;--muted:#586873;--container:1390px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;color:var(--text);background:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit}img{display:block;max-width:100%}p,h1,h2,h3{margin-top:0}.container{max-width:var(--container);width:calc(100% - 90px);margin-inline:auto}.skip{position:absolute;top:-100px;left:10px;background:white;padding:12px;z-index:1000}.skip:focus{top:10px}::selection{background:#e3c1ab;color:var(--navy)}
/* Header */
.utility-bar{background:#071e31;color:#bfcbd3;height:38px;font-size:10px;letter-spacing:.13em;font-weight:700}.utility-inner{display:flex;justify-content:space-between;align-items:center;height:100%;gap:20px}.utility-inner>span{display:flex;align-items:center;gap:10px}.utility-led{width:6px;height:6px;border-radius:50%;background:#df8054;box-shadow:0 0 0 4px #df805425}.utility-inner a{display:flex;align-items:center;gap:10px}.utility-inner a strong{color:#fff;font-size:11px;letter-spacing:.08em}.main-header{position:sticky;top:0;z-index:60;background:var(--cream);border-bottom:1px solid #d5d9d8;box-shadow:0 8px 28px #112e4614}.nav-shell{height:114px;display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);align-items:center}.desktop-nav{display:flex;gap:clamp(14px,2.5vw,38px);align-items:center}.desktop-nav a{font-size:11px;font-weight:900;letter-spacing:.095em;padding:10px 0;transition:color .2s}.desktop-nav a:hover{color:var(--rust)}.header-brand{display:flex;justify-self:center;align-items:center;justify-content:center;position:relative;height:108px;width:170px;z-index:2}.header-brand img{width:98px;height:98px;object-fit:contain}.header-brand-label{position:absolute;left:-9999px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:19px}.lang-switch{display:flex;align-items:center;gap:4px}.lang-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:1px solid transparent;padding:5px 6px 3px;color:#586877;transition:all .18s}.lang-btn img{display:block;width:27px;height:18px;object-fit:cover;box-shadow:0 1px 3px #0002}.lang-btn small{font-weight:800;font-size:9px;letter-spacing:.08em}.lang-btn:hover,.lang-btn.active{border-color:#c4c8c4;background:#fff;color:var(--navy)}.header-quote{align-items:center;display:inline-flex;justify-content:space-between;gap:19px;background:var(--rust);color:white;font-size:10px;letter-spacing:.07em;font-weight:900;min-height:49px;padding:0 17px;white-space:nowrap;transition:background .2s}.header-quote:hover{background:#a34726}.header-quote b{font-size:20px;font-weight:500}.menu-button{display:none;background:none;border:0;width:41px;height:43px;padding:8px}.menu-button span{height:2px;background:var(--navy);display:block;margin:6px 0;transition:transform .2s,opacity .2s}.mobile-nav{display:none}
/* hero */
.hero{min-height:690px;display:grid;grid-template-columns:50% 50%;background:var(--navy);overflow:hidden}.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:73px clamp(32px,6.3vw,120px) 30px max(45px,calc((100vw - var(--container))/2));background-image:linear-gradient(90deg,#0b2b43 96%,#0b2b4300);color:#fff}.hero-copy:after{content:"";position:absolute;width:290px;height:290px;right:-70px;top:-90px;border:1px solid #ffffff0e;border-radius:50%;box-shadow:0 0 0 85px #ffffff04,0 0 0 170px #ffffff03;pointer-events:none}.hero-label{display:flex;align-items:center;gap:12px;color:#dc936e;font-size:11px;font-weight:850;letter-spacing:.18em;margin-bottom:37px}.square-outline{height:12px;width:12px;border:2px solid #cf784f;flex:0 0 auto}.hero h1{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-stretch:condensed;letter-spacing:.012em;font-size:clamp(56px,5.8vw,108px);font-weight:900;line-height:.99;max-width:730px;margin:0 0 29px;text-transform:uppercase}.hero h1 span{color:#edede7}.hero h1 em{font-style:normal;color:#db835a}.hero-copy>p{color:#c4d0d5;font-size:16px;line-height:1.8;max-width:530px;margin:0 0 35px}.hero-buttons{display:flex;align-items:center;gap:29px;flex-wrap:wrap}.btn{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 20px;min-height:60px;font-size:11px;letter-spacing:.075em;font-weight:900;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-accent{background:var(--rust);color:#fff}.btn-accent:hover{background:#d06c43}.btn-arrow{font-size:23px;font-weight:400}.hero-ghost{color:#fff;font-size:10px;letter-spacing:.1em;font-weight:900;display:flex;align-items:center;gap:13px;border-bottom:1px solid #78909f;padding:12px 0}.hero-ghost span:last-child{font-size:18px}.hero-ghost:hover{color:#ec9d79}.hero-foot{position:relative;display:flex;justify-content:space-between;gap:14px;color:#8cabbc;font-size:9px;letter-spacing:.13em;margin-top:auto;padding-top:76px;font-weight:700}.hero-media{position:relative;min-height:690px}.hero-media>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:52% 50%;filter:saturate(.82) contrast(1.08)}.hero-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#08172765,transparent 40%)}.media-mark{position:absolute;top:26px;right:28px;display:flex;gap:25px;font-size:10px;letter-spacing:.15em;color:white;text-shadow:0 1px 5px #0007;z-index:2;font-weight:800}.experience-block{position:absolute;z-index:3;bottom:38px;left:-66px;width:276px;min-height:145px;background:var(--rust);color:#fff;box-shadow:12px 18px 0 #071f32cc;display:flex;align-items:center;justify-content:center;gap:16px;padding:15px 23px}.experience-block>strong{font-family:Impact,"Arial Narrow",sans-serif;font-size:110px;font-weight:800;line-height:1;letter-spacing:-.06em}.experience-block>strong span{font-size:53px;vertical-align:top}.experience-block>div{display:flex;flex-direction:column;gap:5px}.experience-block>div b{font-size:28px;line-height:1.05;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.05em}.experience-block>div span{font-size:11px;letter-spacing:.09em;font-weight:800;line-height:1.4;max-width:100px}
.scope-strip{background:#e9eae6;border-bottom:1px solid #cfd3d0}.scope-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:15px}.scope-inner>strong{font-size:10px;letter-spacing:.13em;max-width:160px;color:var(--rust)}.scope-inner>span{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.06em;color:var(--navy);font-size:clamp(16px,1.75vw,24px);display:inline-flex;align-items:center;gap:19px}.scope-inner i{width:7px;height:7px;background:var(--rust);transform:rotate(45deg)}
/* headings */
.section{padding-block:112px 120px}.services{background:#fff}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:43px}.kicker{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:850;letter-spacing:.13em;color:var(--rust);margin-bottom:24px}.kicker-line{width:34px;height:3px;background:currentColor}.section-intro h2,.about-text h2,.contact-heading h2{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-weight:900;font-size:clamp(49px,5vw,83px);line-height:1.04;letter-spacing:.015em;margin:0;text-transform:uppercase;color:var(--navy)}.section-intro h2 span{color:var(--rust)}.section-intro>p{max-width:365px;color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:4px}
/* service cards */
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.service-card{border:1px solid #dce0de;background:var(--offwhite);transition:box-shadow .3s,transform .3s}.service-card:hover{box-shadow:0 20px 48px #0b2b4320;transform:translateY(-5px)}.service-photo{position:relative;height:300px;overflow:hidden;background:#dde2df}.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.service-card:hover img{transform:scale(1.06)}.service-card:nth-child(2) img{object-position:50% 35%}.service-card:nth-child(3) img{object-position:56% 30%}.service-photo>span{position:absolute;top:0;left:0;background:var(--rust);color:#fff;padding:14px 17px;font-weight:900;font-size:13px}.service-info{display:flex;gap:10px;justify-content:space-between;padding:25px 19px 23px}.service-info h3{font-size:16px;line-height:1.35;font-weight:900;color:var(--navy);min-height:43px;margin-bottom:10px}.service-info p{font-size:12px;line-height:1.7;color:#5e7079;margin:0}.service-info>a{display:flex;align-items:center;justify-content:center;flex:0 0 35px;height:35px;background:var(--navy);color:white;font-size:22px;transition:background .2s}.service-info>a:hover{background:var(--rust)}
/* 6 years */
.proof-band{position:relative;background:#0c2b43;color:white;overflow:hidden}.proof-band:before{content:"";position:absolute;inset:0;opacity:.06;background:repeating-linear-gradient(135deg,#fff 0,#fff 1px,transparent 1px,transparent 23px)}.proof-content{position:relative;display:grid;grid-template-columns:245px minmax(0,1fr) 340px;gap:45px;align-items:center;padding-block:53px 60px}.proof-large{font:900 225px/.85 Impact,"Arial Narrow",sans-serif;color:var(--rust-light);letter-spacing:-.04em}.proof-large span{font-size:.55em;vertical-align:top}.proof-eyebrow{color:#b6c6d0;letter-spacing:.15em;font-size:9px;font-weight:800}.proof-title h2{font:900 clamp(42px,4vw,66px)/1.06 Impact,"Arial Narrow",sans-serif;margin:18px 0 0;letter-spacing:.018em}.proof-title h2 em{font-style:normal;color:var(--rust-light)}.proof-aside{border-left:2px solid var(--rust);padding-left:32px}.proof-bracket{letter-spacing:.2em;font-weight:800;color:#d77b50;font-size:11px;margin-bottom:19px}.proof-aside p{font-size:13px;line-height:1.9;color:#becbd3;margin:0 0 25px}.proof-aside a{font-size:10px;letter-spacing:.09em;color:#fff;font-weight:800;display:inline-flex;gap:12px;border-bottom:1px solid #7a93a2;padding-bottom:9px}
/* Project gallery */
.projects{background:#f1f2ef}.project-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:23px;padding-bottom:18px;border-bottom:1px solid #cdd3d1}.project-filter button{border:1px solid #d6d9d6;background:transparent;color:var(--navy);font-size:10px;font-weight:900;letter-spacing:.07em;padding:13px 17px;transition:background .2s,color .2s}.project-filter button:hover{border-color:var(--navy)}.project-filter button.selected{background:var(--navy);border-color:var(--navy);color:white}.photo-count{margin-left:auto;font-size:10px;letter-spacing:.11em;font-weight:800;color:#79878c}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.project-tile{height:255px;position:relative;overflow:hidden;border:0;padding:0;background:#b0bbbf;display:block;text-align:left;cursor:zoom-in}.project-tile.featured{grid-column:span 2;grid-row:span 2;height:auto;min-height:522px}.project-tile.wide{grid-column:span 2}.project-tile[hidden]{display:none}.project-tile img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.project-tile:hover img{transform:scale(1.07)}.project-tile:before{content:"";position:absolute;z-index:1;inset:35% 0 0;background:linear-gradient(0deg,#061e30c9,transparent)}.tile-info{position:absolute;bottom:19px;left:21px;right:21px;z-index:2;color:white;display:flex;justify-content:space-between;gap:10px;align-items:end}.tile-info strong{font-size:13px;line-height:1.35;letter-spacing:.02em}.tile-info small{display:block;font-weight:800;font-size:9px;letter-spacing:.12em;color:#e7a682;margin-bottom:7px}.tile-info b{font-size:25px;font-weight:300}.project-end{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:3px solid var(--navy);margin-top:30px;padding-top:23px;font-size:12px;font-weight:900;letter-spacing:.09em;color:var(--navy)}.project-end a{color:var(--rust);border-bottom:1px solid #c9a28b;padding-bottom:6px}
/* About */
.about{display:grid;grid-template-columns:1fr 1fr;background:var(--navy)}.about-photo{position:relative;min-height:690px;overflow:hidden}.about-photo>img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:40% 50%}.about-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#071f32b0,transparent 35%)}.about-photo-credit{position:absolute;z-index:1;bottom:30px;left:40px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.15em}.about-text{padding:95px max(45px,calc((100vw - var(--container))/2)) 95px clamp(44px,6vw,115px);color:#fff}.kicker-light{color:#d7845c}.about-text h2{color:#fff;font-size:clamp(51px,4.35vw,73px);margin-bottom:27px}.about-text h2 em{font-style:normal;color:#e1a17d}.about-text>p{font-size:15px;line-height:1.92;color:#c2cdd4;max-width:570px}.about-features{max-width:560px;border-top:1px solid #627c8c;margin:37px 0 28px}.about-features>div{display:flex;gap:18px;align-items:center;min-height:56px;padding:13px 0;border-bottom:1px solid #627c8c;font-size:13px;font-weight:700;color:#f7f7f2}.features-icon{color:#e08c64;font-weight:900;font-size:10px;letter-spacing:.1em}.btn-outline{border-color:#7e95a4;color:#fff;min-height:52px}.btn-outline:hover{background:#19445f}
/* Steps */
.steps{background:#fff}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{border-top:3px solid var(--navy);padding:24px 36px 20px 0}.step-num{font-weight:900;font-size:13px;color:var(--rust);letter-spacing:.07em}.step-shape{font-size:52px;color:var(--navy);margin:35px 0 23px;font-weight:300;line-height:1}.step h3{font-size:19px;letter-spacing:.035em;color:var(--navy);margin-bottom:13px;font-weight:900}.step p{font-size:13px;color:var(--muted);line-height:1.8;max-width:330px}
/* Contact */
.contact{background:var(--rust);color:#fff;position:relative;overflow:hidden}.contact:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(145deg,#00000010 0,#00000010 2px,transparent 2px,transparent 31px);opacity:.28}.contact-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:8%;align-items:center;padding-block:104px 105px}.contact-heading h2{color:#fff;font-size:clamp(62px,6vw,102px);line-height:.98;margin-bottom:26px}.contact-heading h2 em{font-style:normal;color:#1c3b4e}.contact-heading>p{color:#fff5ef;font-size:15px;line-height:1.8;max-width:540px}.contact-language{margin-top:40px;display:flex;align-items:center;gap:12px;font-size:10px;font-weight:900;letter-spacing:.11em}.contact-language .dot{width:8px;height:8px;background:#0b2b43;border-radius:50%}.contact-card{background:#f8f6f0;color:var(--navy);padding:38px 38px 31px;box-shadow:15px 15px 0 #0b2b4340}.contact-card-title{display:block;font-size:12px;letter-spacing:.13em;font-weight:900;margin-bottom:25px}.contact-primary{background:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;padding:21px 20px;font-size:11px;font-weight:900;letter-spacing:.06em}.contact-primary:hover{background:#194a68}.contact-primary span:last-child{font-size:21px}.contact-method{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #cdd2d1;padding:18px 5px;font-weight:850;letter-spacing:.07em;font-size:11px}.contact-method b{font-size:19px}.contact-method:hover{color:var(--rust)}.contact-direct{display:flex;flex-direction:column;gap:12px;margin:23px 0 19px;font-size:15px;font-weight:800}.contact-card small{display:block;font-size:11px;line-height:1.6;color:#61717b}
/* footer */
.site-footer{background:#071f32;color:#fff}.footer-inner{min-height:156px;display:flex;gap:36px;align-items:center;justify-content:space-between}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:86px;height:86px;object-fit:contain}.footer-brand>strong{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.045em;font-size:27px}.footer-brand strong span{color:#e3a483}.footer-info{display:flex;flex-direction:column;gap:10px;color:#a9bfcd;font-size:9px;font-weight:800;letter-spacing:.11em}.footer-top{white-space:nowrap;color:#f6e4d7;font-size:11px;font-weight:900;letter-spacing:.1em}.fixed-contact{position:fixed;z-index:50;bottom:24px;right:24px;background:var(--rust);padding:16px 20px;color:white;box-shadow:0 12px 45px #061b2bb0;font-size:11px;font-weight:900;letter-spacing:.07em;display:flex;gap:11px;align-items:center}.fixed-contact .contact-dot{width:7px;height:7px;background:#fff;border-radius:50%}.fixed-contact:hover{background:#a74828}
/* lightbox */
.lightbox{border:0;inset:0;padding:0;width:100vw;height:100vh;max-width:none;max-height:none;background:#051a2af3;color:#fff}.lightbox::backdrop{background:#031523eb}.lightbox figure{height:100%;margin:0;padding:55px 90px 35px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:12px}.lightbox figure img{max-width:100%;max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain}.lightbox figcaption{display:flex;justify-content:space-between;gap:20px;align-items:center;width:min(100%,1150px);color:#eff1f2;font-size:12px}.lightbox button{position:fixed;background:transparent;border:0;color:#fff;line-height:1;z-index:3}.close-lightbox{right:24px;top:19px;font-size:42px}.prev-photo,.next-photo{top:50%;transform:translateY(-50%);font-size:70px}.prev-photo{left:24px}.next-photo{right:24px}
/* responsive */
@media(max-width:1220px){.container{width:calc(100% - 64px)}.nav-shell{grid-template-columns:minmax(0,1fr) 145px minmax(0,1fr)}.header-brand{width:140px}.header-brand img{width:92px;height:92px}.desktop-nav{gap:16px}.header-quote{padding-inline:12px}.hero-copy{padding-left:35px;padding-right:38px}.hero h1{font-size:clamp(55px,5.7vw,82px)}.proof-content{grid-template-columns:185px minmax(0,1fr) 290px;gap:30px}.proof-large{font-size:180px}.about-text{padding:70px 45px}.service-photo{height:260px}}
@media(max-width:1000px){.nav-shell{height:94px;grid-template-columns:1fr auto 1fr}.desktop-nav{display:none}.header-brand{height:91px}.header-brand img{width:88px;height:88px}.header-actions{grid-column:3;gap:10px}.header-quote{display:none}.menu-button{display:block}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:0;padding:18px 32px 26px;background:var(--cream);box-shadow:0 12px 30px #001a2930}.mobile-nav a{font-size:17px;font-weight:900;letter-spacing:.07em;padding:15px 0;border-bottom:1px solid #d1d6d4}.hero{grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:55px 32px 25px}.hero h1{font-size:clamp(49px,6.2vw,68px)}.hero-copy>p{font-size:13px}.hero-media{min-height:620px}.hero-buttons{gap:15px}.btn{font-size:10px}.hero-foot{flex-direction:column;gap:9px;padding-top:45px}.experience-block{left:-35px;bottom:40px;width:210px;min-height:120px}.experience-block>strong{font-size:80px}.experience-block>strong span{font-size:38px}.experience-block>div b{font-size:21px}.experience-block>div span{font-size:9px}.scope-inner>strong{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.service-photo{height:320px}.proof-content{grid-template-columns:150px 1fr;gap:20px}.proof-large{font-size:145px}.proof-aside{grid-column:2}.about{grid-template-columns:45% 55%}.about-text h2{font-size:51px}.about-photo{min-height:660px}.project-grid{grid-template-columns:repeat(3,1fr)}.project-tile.featured{grid-column:span 2}.project-tile.wide{grid-column:span 2}.contact-card{padding:29px 23px}.contact-grid{gap:5%}}
@media(max-width:680px){html{scroll-padding-top:96px}.container{width:calc(100% - 36px)}.utility-bar{height:31px;font-size:8px;letter-spacing:.06em}.utility-inner{justify-content:center}.utility-inner>a{display:none}.nav-shell{height:86px;grid-template-columns:1fr 96px 1fr}.header-brand{height:84px;width:96px}.header-brand img{height:83px;width:83px}.header-actions{gap:5px}.lang-switch{gap:0}.lang-btn{padding:3px}.lang-btn img{width:24px;height:16px}.lang-btn small{font-size:8px}.menu-button{width:30px;height:36px;padding:5px}.mobile-nav:not([hidden]){padding-inline:20px}.hero{display:flex;flex-direction:column}.hero-copy{padding:57px 22px 30px;order:1}.hero h1{font-size:clamp(57px,12vw,88px);margin-bottom:24px}.hero-label{margin-bottom:30px;font-size:9px;letter-spacing:.13em}.hero-copy>p{max-width:470px;font-size:14px;margin-bottom:27px}.hero-buttons{align-items:flex-start}.hero-foot{margin-top:30px;padding-top:14px;border-top:1px solid #456174}.hero-media{order:2;height:400px;min-height:400px}.experience-block{bottom:21px;left:19px;box-shadow:9px 9px 0 #092a43bd;width:220px;min-height:108px}.experience-block>strong{font-size:79px}.experience-block>div b{font-size:21px}.media-mark{font-size:8px;top:14px;right:12px}.scope-inner{min-height:auto;padding-block:19px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.scope-inner>span{font-size:17px;gap:10px}.scope-inner i{width:5px;height:5px}.section{padding-block:67px 78px}.section-intro{display:block;margin-bottom:30px}.kicker{font-size:9px;margin-bottom:17px}.section-intro h2,.about-text h2{font-size:clamp(50px,11vw,70px)}.section-intro>p{margin:20px 0 0;font-size:13px;max-width:560px}.service-grid{grid-template-columns:1fr 1fr;gap:10px}.service-photo{height:210px}.service-info{padding:18px 11px;flex-direction:column}.service-info h3{font-size:14px;min-height:0}.service-info p{font-size:11px}.service-info a{flex:0 0 30px;width:32px;height:32px;align-self:flex-end}.proof-content{display:grid;grid-template-columns:115px 1fr;gap:15px;padding-block:42px}.proof-large{font-size:113px}.proof-title h2{font-size:clamp(33px,8.3vw,52px)}.proof-eyebrow{font-size:7px}.proof-aside{grid-column:1/-1;border-left:2px solid var(--rust);margin-top:10px}.proof-aside p{font-size:13px}.projects-intro{margin-bottom:28px}.project-filter{gap:4px}.project-filter button{font-size:9px;padding:9px 10px}.photo-count{width:100%;margin-left:0;padding-top:7px}.project-grid{grid-template-columns:repeat(2,1fr);gap:7px}.project-tile{height:210px}.project-tile.featured{grid-column:span 2;grid-row:auto;height:355px;min-height:0}.project-tile.wide{grid-column:span 2;height:250px}.tile-info{left:10px;bottom:10px;right:10px}.tile-info strong{font-size:12px}.tile-info small{font-size:8px}.project-end{align-items:flex-start;flex-direction:column;font-size:10px;line-height:1.5}.about{grid-template-columns:1fr}.about-photo{min-height:390px}.about-text{padding:60px 25px 73px}.about-text h2{font-size:58px}.about-text>p{font-size:14px}.steps-grid{grid-template-columns:1fr;gap:8px}.step{display:grid;grid-template-columns:55px 1fr;gap:0 15px;align-items:start;padding:20px 0 22px}.step .step-num{grid-column:1}.step .step-shape{grid-column:1;grid-row:2/4;font-size:38px;margin:14px 0}.step h3{grid-column:2;margin-bottom:5px}.step p{grid-column:2;font-size:12px}.contact-grid{grid-template-columns:1fr;padding-block:70px 86px;gap:30px}.contact-heading h2{font-size:81px}.contact-heading>p{font-size:14px}.contact-language{margin-top:25px}.contact-card{box-shadow:9px 9px 0 #0b2b4340}.footer-inner{padding-block:25px;display:grid;grid-template-columns:1fr auto;gap:16px}.footer-brand img{width:70px;height:70px}.footer-brand>strong{font-size:22px}.footer-info{grid-column:1/-1;grid-row:2}.footer-top{font-size:9px}.fixed-contact{right:13px;bottom:13px;font-size:10px;padding:13px 14px}.lightbox figure{padding:70px 34px 30px}.lightbox figure img{max-height:calc(100vh - 165px)}.prev-photo,.next-photo{font-size:50px}.prev-photo{left:5px}.next-photo{right:5px}}
@media(max-width:380px){.hero h1{font-size:53px}.header-brand img{width:74px;height:74px}.lang-btn img{width:20px;height:14px}.service-photo{height:175px}.contact-heading h2{font-size:67px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Long translated headlines scale responsively without changing the main look. */
html[lang="pt"] .hero h1,html[lang="es"] .hero h1{font-size:clamp(48px,5.1vw,84px)}
@media(max-width:680px){html[lang="pt"] .hero h1,html[lang="es"] .hero h1{font-size:clamp(48px,10.8vw,66px);overflow-wrap:break-word}html[lang="pt"] .contact-heading h2,html[lang="es"] .contact-heading h2{font-size:clamp(58px,13vw,76px)}}

/* Mobile-first booking: Nona General serves customer properties by appointment, no walk-in office. */
.contact-mobile-info{font-size:12px;line-height:1.7;color:#546775;margin:-11px 0 23px;border-left:3px solid var(--rust);padding:2px 0 2px 13px;max-width:380px}
.contact-direct a{font-size:21px;font-weight:900;letter-spacing:.01em;color:var(--navy)}
.contact-direct a:hover{color:var(--rust)}
@media(max-width:680px){.contact-mobile-info{font-size:12px;margin-top:-10px}.contact-direct a{font-size:20px}}
/* Keep construction headlines inside narrow mobile viewports in all three languages. */
@media (max-width:680px){
  .about{grid-template-columns:minmax(0,1fr)}
  .about-photo,.about-text{min-width:0}
  .about-text h2{font-size:clamp(35px,10vw,50px);overflow-wrap:break-word}
}


/* Photo quality & centered composition */
.hero-media>img,.about-photo>img,.service-photo img,.project-tile img{
  image-rendering:auto;
  backface-visibility:hidden;
}
.hero-media>img{
  object-position:center center;
  filter:saturate(.92) contrast(1.04) brightness(1.01);
}
.about-photo>img{
  object-position:center center;
  filter:saturate(.95) contrast(1.03) brightness(1.01);
}
.service-photo img{
  object-position:center center;
  filter:saturate(.96) contrast(1.03) brightness(1.01);
}
.project-tile img{
  object-position:center center;
  filter:saturate(.96) contrast(1.03) brightness(1.01);
}
@media(max-width:680px){
  .hero-media>img,.about-photo>img,.service-photo img,.project-tile img{
    object-position:center center;
  }
}

/* October update: uncluttered header, email address added to contact section. */
.contact-direct{gap:15px;min-width:0}
.contact-email{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding-top:14px;border-top:1px solid #d2d8d5}
.contact-email>span{font-size:10px;font-weight:850;color:#6d7b85;letter-spacing:.14em}
.contact-email>a{font-size:clamp(14px,1.3vw,17px);font-weight:800;letter-spacing:0;overflow-wrap:anywhere;word-break:break-word;color:var(--navy)}
.contact-email>a:hover,.footer-email:hover{color:var(--rust)}
.footer-email{font-size:11px;letter-spacing:normal;color:#f7eee8;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:#ffffff4d;text-underline-offset:4px}
.header-actions{min-width:0}
@media(max-width:680px){.contact-email>a{font-size:15px}.footer-email{font-size:11px}}
