/* BH: warm architectural light, original identity, responsive photography. */
:root{--navy:#142630;--deep:#101c24;--cream:#eee8dc;--yellow:#e5c17b;--ink:#20343d;--muted:#657078;--line:#d4cbbd}
body{background:var(--cream)}
h2{font-family:Manrope,Arial,sans-serif;font-weight:400;font-size:clamp(2rem,3.8vw,4.25rem);line-height:1.13;letter-spacing:-.045em}
.header{height:96px;background:#eee8dc;border-bottom:1px solid #bca77c66;box-shadow:0 3px 25px #0c1c2312}
.header .brand-logo{width:218px;height:62px}.header nav{font-size:13px;letter-spacing:.04em}.button-small{color:var(--ink)}
.header.menu-open nav{background:#eee8dc}.button{background:linear-gradient(110deg,#efd393,#dcb56c);border-radius:28px}.button-outline{background:transparent;border-color:#e5c17b;color:#fff7e8}.button-outline:hover{background:#e5c17b22}
.luxury-hero{min-height:780px;min-height:clamp(720px,calc(100svh - 96px),980px);background:#111f28}
.hero-background{width:64%;left:auto;right:0;object-position:50% 40%}
.hero-overlay{background:linear-gradient(90deg,#111f28 0%,#111f28f5 27%,#111f28a6 43%,#111f2810 65%,#111f2800 100%),linear-gradient(0deg,#111f2870,transparent 30%)}
.luxury-hero .hero-copy{padding:85px 6% 45px;justify-content:center;position:relative}
.luxury-hero h1{font-weight:400;font-size:clamp(54px,5.3vw,90px);letter-spacing:-.045em;line-height:1.08;margin-bottom:25px;max-width:64%}
.luxury-hero .eyebrow{color:#e5c17b;font-size:14px;letter-spacing:.24em}.hero-services{max-width:490px;font-size:14px;letter-spacing:.13em;font-weight:400;color:#eee6d7}
.luxury-hero .hero-description{max-width:440px;font-size:17px;color:#e3dfd6}.luxury-hero .button{font-size:14px;padding:16px 28px;min-height:52px}.luxury-hero .hero-bottom{margin-top:60px;max-width:480px;line-height:1.8;color:#c1b8a8}
.clients{background:#e8dfd0;padding-block:35px;border-bottom:1px solid #b9a987}.clients>.eyebrow{color:#5e625f}
.section{background:#eee8dc}.reviews-section{background:radial-gradient(ellipse at 95% 0%,#b8904430,transparent 48%),#142630;color:#f0e9dc}.reviews-section .section-head>p{color:#b7c0c2}.reviews-section .eyebrow{color:#e5c17b}.review-card{background:#20333c;border:1px solid #ccb37940;border-top:1px solid #d0af71;box-shadow:0 12px 32px #0000000d}.review-card p{color:#e4e2d9}.review-card footer{background:none;padding:15px 0 0;border-color:#c3b18b33}.review-card footer span{color:#bbc3c4}.review-card .stars{color:#e5c17b}
.service-area-band{background:#dcd1bf}.service-area-band h2{font-size:clamp(2rem,3.8vw,4rem)}.service-area-band>p{color:#4b595e}
.service-card>div{border-color:#c6a368}.care-section{background:#172b35;color:#f2ecdf}.care-copy>p:not(.eyebrow),.process li>span{color:#c5cecf}.care-copy .eyebrow{color:#e5c17b}.process li{border-color:#ffffff25}.process li:before{color:#d0b079}.image-label{color:var(--ink)}
.industrial-banner{background:radial-gradient(ellipse at right top,#b68a3930,transparent 60%),#142630}.industrial-banner h2{font-size:clamp(2rem,3.5vw,4rem)}
.cta{background:radial-gradient(ellipse at 50% 0%,#bc975849,transparent 75%),#142630;color:#f2e9d9;border-top:1px solid #d8ba783d}.cta .eyebrow{color:#e5c17b}.cta .button{background:linear-gradient(110deg,#efd393,#dcb56c);color:#142630}.cta h2{font-size:clamp(2.2rem,4vw,4.6rem)}
footer{background:#e3dacb}.whatsapp-float{background:#142630;color:#f1e7d5;border-color:#b99a60;box-shadow:0 5px 25px #0003}.whatsapp-float:hover{background:#24424e;color:white}
.page-intro{background:radial-gradient(ellipse at top right,#b68a3930,transparent 65%),#142630;color:#f3eadb}.page-intro>p:not(.eyebrow){color:#c6c8c4}.page-intro .eyebrow{color:#e5c17b}.page-intro .pill{border-color:#ac9261;color:#eee4d4}.page-intro h1{font-family:Manrope,Arial,sans-serif;font-weight:400;font-size:clamp(2.8rem,5.5vw,6rem);line-height:1.1}.contact-section{background:#142630}.contact-section form{background:#e8dfd0}.contact-section .email-button{background:transparent}
@media(max-width:1100px){.header{height:88px}.luxury-hero{min-height:790px}.hero-background{width:75%}.hero-overlay{background:linear-gradient(90deg,#111f28 0%,#111f28de 26%,#111f2840 68%,transparent)}.luxury-hero h1{font-size:clamp(48px,6vw,70px)}.luxury-hero .hero-description{max-width:380px}.hero-services{max-width:390px}}
@media(max-width:700px){
.header{height:78px;padding:10px 6%;gap:16px}.header .brand-logo{width:166px;height:48px}.header .nav-actions{gap:0}.header .button-small{display:none}.header .language{font-size:14px}.header .menu-toggle{font-size:26px;min-width:40px;min-height:44px}.header.menu-open nav{top:100%;box-shadow:0 18px 25px #0002}
.luxury-hero{min-height:0}.hero-background{width:100%;height:100%;object-position:49% top}.hero-overlay{background:linear-gradient(0deg,#101c24 0%,#101c24ed 10%,#101c24ae 37%,#101c2435 57%,transparent 80%)}
.luxury-hero .hero-copy{padding:clamp(365px,100vw,530px) 6% 38px;min-height:0;justify-content:flex-end}.luxury-hero .eyebrow{font-size:12px;letter-spacing:.18em;margin-bottom:15px;max-width:100%}.luxury-hero h1{font-size:clamp(32px,8.9vw,60px);max-width:100%;line-height:1.09;letter-spacing:-.045em;margin-bottom:18px}.hero-services{font-size:12px;line-height:1.85;letter-spacing:.1em;max-width:100%;margin-bottom:16px}.luxury-hero .hero-description{font-size:16px;line-height:1.65;max-width:34ch}.luxury-hero .button-row{margin-top:24px;display:grid;grid-template-columns:1fr;gap:12px;width:min(100%,290px)}.luxury-hero .button{font-size:14px;min-height:50px;padding:13px 20px}.luxury-hero .hero-bottom{font-size:12px;margin-top:30px;max-width:30ch}
.clients{padding-block:30px}.client-logos{gap:28px}.client-logos img{max-width:53%;height:70px}.client-logos img:last-child{max-width:33%}.reviews-grid{grid-template-columns:1fr}.review-card{min-height:0;padding:24px}.review-card p{font-size:16px;margin-top:14px}.review-card footer{margin-bottom:0}.review-card footer strong{font-size:14px}.section h2,.care-copy h2,.industrial-banner h2,.service-area-band h2{font-size:clamp(1.9rem,7.7vw,3rem)}.service-card p{font-size:14px}.service-card h3{font-size:17px}.service-card>img{height:245px}.care-copy>p:not(.eyebrow){font-size:16px}.contact-float{font-size:12px;padding:10px 14px}.under-image{flex-wrap:wrap}.contact-methods a{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep the entrance in frame instead of enlarging it to fill the hero. */
.hero-background{object-fit:contain;object-position:right center}
@media(max-width:700px){.hero-background{height:auto;object-position:center top}.luxury-hero .hero-copy{padding-top:125vw}}

/* Approved responsive photography with a restrained ivory veil. */
.luxury-hero{background:#eee8dc;color:#142630}
.hero-picture{position:absolute;inset:0;z-index:-3;display:block}
.hero-picture .hero-background{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.78;filter:saturate(.82)}
.hero-overlay{background:linear-gradient(90deg,rgba(238,232,220,.95),rgba(238,232,220,.8) 28%,rgba(238,232,220,.15) 60%,rgba(238,232,220,.06))}
.luxury-hero .eyebrow{color:#786034}.luxury-hero .hero-services,.luxury-hero .hero-description{color:#263b44}.luxury-hero .hero-bottom{color:#46555a}.luxury-hero .button-outline{color:#142630;border-color:#857047;background:#eee8dc77}
@media(max-width:700px){.hero-picture{height:177.7vw}.hero-picture .hero-background{object-fit:cover;object-position:top center}.hero-overlay{background:linear-gradient(0deg,#eee8dc 0%,#eee8dc 17%,rgba(238,232,220,.9) 32%,rgba(238,232,220,.08) 53%,rgba(238,232,220,.06))}.luxury-hero .hero-copy{padding-top:145vw}}

/* Always-visible navigation panel on mobile and tablet. */
@media(max-width:1100px){
  html{scroll-padding-top:205px}
  .header{height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:10px 5% 12px}
  .header .nav-actions{grid-column:2;grid-row:1;margin-left:0}
  .header .menu-toggle{display:none}
  .header nav,.header.menu-open nav{display:grid;position:static;grid-column:1/-1;grid-row:2;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;align-items:stretch;width:100%;padding:8px 0 0;background:transparent;border:0;border-top:1px solid #bca77c66;box-shadow:none;font-size:12px;letter-spacing:.035em}
  .header nav a,.header.menu-open nav a{display:flex;justify-content:center;align-items:center;min-height:44px;padding:8px 4px;text-align:center;border-radius:4px;line-height:1.4}
  .header nav a:hover,.header nav a[aria-current]{background:#ded4c155}
  .header nav a[aria-current]:after{left:calc(50% - 16px);right:auto;bottom:4px;width:32px}
}
@media(max-width:700px){
  .header nav,.header.menu-open nav{grid-template-columns:repeat(3,minmax(0,1fr));font-size:11px}
}

/* Keep layout steady as the sticky header slides out of view. */
.header{transition:transform .22s ease;transform:translateY(0)}
.header.scroll-hidden{transform:translateY(calc(-100% - 12px));pointer-events:none}
.header:has(:focus-visible){transform:translateY(0);pointer-events:auto}
@media(prefers-reduced-motion:reduce){.header{transition:none}}
