*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#202729;background:#f7f7f4;font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.wrap{max-width:1260px;margin:auto;padding-left:42px;padding-right:42px}.topline{background:#1b2428;color:#d8dddf;padding:10px 42px;font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between}.topline span{color:#aab4b8}header{height:91px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:white;position:sticky;top:0;z-index:10;box-shadow:0 2px 12px #00000008}.brand img{width:235px;max-height:75px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:32px;font-size:13px;font-weight:700}nav a:hover{color:#698190}.header-cta{background:#26353d;color:white;padding:17px 21px;font-size:11px;font-weight:800;letter-spacing:1px}.header-cta span{margin-left:15px}.menu{display:none}.hero{min-height:660px;height:75vh;max-height:900px;position:relative;background:#222;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('images/1565.jpg') center 54%/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,24,29,.92) 0%,rgba(13,24,29,.77) 35%,rgba(13,24,29,.14) 100%)}.hero-content{position:relative;z-index:1;max-width:780px;padding:140px 0 100px max(42px,calc((100vw - 1176px)/2))}.eyebrow{font-size:11px;letter-spacing:2.7px;font-weight:800;color:#71838a;margin-bottom:20px}.eyebrow.light{color:#c6d4d9}.line{display:inline-block;width:24px;height:1px;background:#fff;vertical-align:middle;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(52px,6.2vw,93px);line-height:1.08;letter-spacing:-4px;margin-bottom:28px;font-weight:800}h1 em,.about h2 em{font-style:normal;color:#aabec8}.hero-content>p{font-size:17px;line-height:1.8;max-width:460px;color:#e0e5e6}.actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}.btn{display:inline-flex;gap:26px;align-items:center;justify-content:space-between;padding:20px 24px;font-size:11px;letter-spacing:1.2px;font-weight:800}.btn.primary{background:#dce6e8;color:#233139}.btn.ghost{border:1px solid #ffffff88;color:white}.hero-side{position:absolute;right:40px;bottom:40px;z-index:1;letter-spacing:2px;font-size:10px;color:#fff}.intro{padding-top:105px;padding-bottom:105px;display:grid;grid-template-columns:170px 1.5fr 1fr;gap:35px;align-items:start}.section-mark{font-size:11px;color:#899396;letter-spacing:2px;margin-top:10px}.intro h2,.section-head h2,.contact h2{font-size:clamp(34px,4vw,56px);letter-spacing:-2px;line-height:1.2}.intro h2 span,.section-head h2 span,.contact h2 span{color:#80939a}.intro>p,.section-head>p,.contact p{line-height:1.85;color:#697477;font-size:15px;margin-top:34px}.services{background:#e9edeb;padding:96px 0 108px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:38px}.section-head h2{margin-bottom:0}.section-head>p{max-width:290px;margin-bottom:5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{height:420px;position:relative;color:white;background-image:linear-gradient(0deg,#111c21f5,#111c2140 70%),var(--bg);background-position:center;background-size:cover;display:flex;align-items:end;transition:transform .2s}.service-card:hover{transform:translateY(-5px)}.service-card>div{padding:32px}.service-card span{font-size:11px;letter-spacing:2px}.service-card h3{font-size:26px;margin:12px 0}.service-card p{line-height:1.65;color:#e1e7e8;font-size:13px}.service-card b{font-size:10px;letter-spacing:1.5px}.portfolio{padding-top:105px;padding-bottom:110px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.filters button{border:1px solid #cdd5d5;background:transparent;padding:12px 18px;font-size:12px;font-weight:700;color:#59686d}.filters button.active{background:#26353d;color:white}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tile{position:relative;aspect-ratio:1.18;overflow:hidden;background:#e5e7e5;border:0;padding:0;text-align:left}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.tile:hover img{transform:scale(1.045)}.tile span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#0009);padding:34px 18px 15px;color:white;font-size:12px;font-weight:700}.more{display:block;margin:35px auto 0;background:transparent;border:1px solid #9ba9ab;padding:17px 30px;font-size:11px;font-weight:800;letter-spacing:1.3px}.about{display:grid;grid-template-columns:1fr 1fr;background:#233139;color:white;min-height:510px}.about-photo{background:url('images/1594.jpg') center/cover}.about-copy{padding:95px clamp(35px,8vw,130px)}.about h2{font-size:clamp(35px,4vw,60px);line-height:1.16;letter-spacing:-2px}.about p{color:#d0dbde;line-height:1.85}.btn.outline{border:1px solid #cbd6d8;margin-top:20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:110px;padding-bottom:110px}.contact-box{background:#e9edeb;padding:44px;display:flex;flex-direction:column;align-items:start}.contact-box>span{font-size:10px;letter-spacing:2px;color:#66767c;margin-bottom:28px}.contact-number{font-size:clamp(26px,3vw,40px);font-weight:800;margin-bottom:14px}.contact-email{font-size:17px;margin-bottom:36px}.contact-box .btn{background:#26353d;color:white}footer{background:#1d282d;color:white}.footer-inner{padding-top:38px;padding-bottom:38px;display:flex;justify-content:space-between;align-items:center;gap:20px}footer strong{display:block;font-size:23px;letter-spacing:3px}footer small{font-size:9px;letter-spacing:2px}footer p{font-size:12px;color:#aebbc0;margin:0}dialog{max-width:min(1000px,94vw);max-height:94vh;border:0;background:#1b252a;color:white;padding:16px}dialog::backdrop{background:#000d}dialog img{display:block;max-width:100%;max-height:78vh;object-fit:contain;margin:auto}dialog p{text-align:center;margin:12px 0 0}#closeviewer{position:absolute;right:10px;top:10px;border:0;background:white;font-size:30px;width:44px;height:44px}@media(max-width:850px){.topline span{display:none}header{padding:0 18px;height:76px}.brand img{width:190px}.header-cta{display:none}.menu{display:block;border:0;background:transparent;font-size:27px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:26px;box-shadow:0 12px 15px #0002;flex-direction:column}nav.open{display:flex}.wrap{padding-left:23px;padding-right:23px}.hero{height:auto;min-height:610px}.hero-content{padding:125px 23px 85px}.hero-side{right:23px;bottom:20px;font-size:8px}h1{letter-spacing:-2px}.intro{grid-template-columns:1fr;gap:15px;padding-top:70px;padding-bottom:70px}.intro>p{margin:0}.services,.portfolio{padding-top:70px;padding-bottom:70px}.section-head{display:block}.section-head>p{margin-top:18px}.service-grid{grid-template-columns:1fr}.service-card{height:340px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.about{grid-template-columns:1fr}.about-photo{min-height:340px}.about-copy{padding:60px 25px}.contact{grid-template-columns:1fr;gap:24px;padding-top:70px;padding-bottom:70px}.contact-box{padding:28px}.footer-inner{flex-direction:column;align-items:start}.topline{padding-left:20px}}@media(max-width:470px){.gallery{grid-template-columns:1fr}.tile{aspect-ratio:1.25}.actions{flex-direction:column;align-items:start}.hero-content>p{font-size:15px}.contact-email{font-size:14px}}
/* Logo fits comfortably within the header without clipping */
.brand{display:flex;align-items:center;flex:0 1 auto;min-width:0;padding-right:14px}.brand img{display:block;width:210px;max-width:100%;height:auto;max-height:76px;object-fit:contain;object-position:left center}header{gap:18px}@media(max-width:850px){.brand img{width:185px}}
/* Header logo: reserve enough width and never crop the artwork. */
header .brand{display:flex;align-items:center;justify-content:flex-start;flex:0 0 220px;width:220px;min-width:220px;max-width:220px;padding:0 18px 0 0;overflow:visible}
header .brand img{display:block;width:100%;height:auto;max-width:202px;max-height:78px;object-fit:contain;object-position:center;flex-shrink:0}
@media(max-width:850px){header .brand{flex-basis:190px;width:190px;min-width:190px;max-width:190px;padding-right:12px}header .brand img{max-width:178px}}
@media(max-width:380px){header .brand{flex-basis:165px;width:165px;min-width:165px;max-width:165px}header .brand img{max-width:155px}}

/* Rebuilt complete logo with comfortable spacing at every screen size */
header .brand{flex:0 0 auto;width:auto;min-width:0;max-width:none;padding:0;overflow:visible}
header .brand img{width:235px;max-width:100%;height:auto;max-height:86px;object-fit:contain;display:block}
@media(max-width:850px){header .brand img{width:190px}}
@media(max-width:380px){header .brand img{width:165px}}
