*,::before,::after{margin:0;padding:0;border:0 solid;box-sizing:border-box}
h1,h2,h3{font-size:inherit;font-weight:inherit}
img,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}
button{font:inherit;color:inherit;background-color:transparent;border-radius:0}
:root{--font-display:'Cormorant Garamond';--font-sans:'Manrope'}
.hero-slide img,.contact-image img{position:absolute;inset:0;width:100%;height:100%}
:root { --navy:#052f4b; --deep:#022237; --copper:#d98235; --cream:#f3f0e9; --ink:#112a3a; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--cream); font-family:var(--font-sans),sans-serif; } a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:20; top:0; left:0; width:100%; height:112px;background:#00213b; display:flex; align-items:center; padding:0 5vw; color:white; border-bottom:1px solid rgba(255,255,255,.2); }
.brand { position:relative; display:block; width:340px; height:72px; flex-shrink:0; overflow:hidden; background:#00213b; }.brand img { position:absolute; display:block; width:380px; height:auto; max-width:none; left:-20px; top:-82px; }
nav { margin-left:auto; display:flex; gap:32px; font-size:14px; } nav a { opacity:.85; transition:.2s; } nav a:hover { opacity:1; }.header-cta { margin-left:42px; padding:13px 19px; border:1px solid rgba(255,255,255,.65); text-transform:uppercase; font-size:11px; letter-spacing:.14em; }
.hero { position:relative; min-height:760px; height:100vh; color:#fff; overflow:hidden; background:var(--deep); }.hero-slide { position:absolute; inset:0; opacity:0; transform:scale(1.035); transition:opacity 1.1s ease,transform 7s ease; }.hero-slide.is-active { opacity:1; transform:scale(1); }.hero-slide img { object-fit:cover; }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,25,43,.89) 0%,rgba(0,29,48,.54) 48%,rgba(0,0,0,.08) 100%),linear-gradient(0deg,rgba(0,20,35,.35),transparent 40%); }
.hero-content { position:absolute; z-index:2; left:9vw; top:50%; transform:translateY(-43%); max-width:740px; }.eyebrow { margin:0 0 22px; color:#eba04f; text-transform:uppercase; letter-spacing:.25em; font-size:12px; font-weight:700; } h1 { margin:0; font-family:var(--font-display),serif; font-size:clamp(62px,7vw,110px); font-weight:400; line-height:.87; letter-spacing:-.035em; } h1 span { display:block; }.hero-copy { width:min(520px,80vw); margin:28px 0; font-size:17px; line-height:1.8; color:rgba(255,255,255,.8); }.text-link { display:inline-flex; gap:18px; border-bottom:1px solid rgba(255,255,255,.5); padding:0 0 10px; text-transform:uppercase; letter-spacing:.14em; font-size:11px; }.text-link span { color:#e29449; font-size:15px; }
.slide-controls { position:absolute; z-index:3; right:5vw; bottom:53px; display:flex; gap:14px; }.slide-controls button { width:70px; color:white; border:0; background:none; cursor:pointer; opacity:.5; text-align:left; font:11px var(--font-sans); }.slide-controls button.active { opacity:1; }.slide-controls i { display:block; height:2px; background:white; margin-top:8px; transform-origin:left; }.slide-controls button.active i { background:var(--copper); animation:progress 6.5s linear; } @keyframes progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }.hero-location { position:absolute; z-index:2; left:5vw; bottom:51px; margin:0; writing-mode:vertical-rl; transform:rotate(180deg); font-size:10px; letter-spacing:.22em; opacity:.6; }
.credentials { display:grid; grid-template-columns:1fr 1.45fr 2fr; align-items:center; gap:4vw; padding:42px 8vw; background:#e9e4da; border-bottom:1px solid #d8d1c5; }.credentials div { display:flex; align-items:center; gap:18px; }.credentials strong { color:var(--navy); font:400 42px var(--font-display); }.credentials span { max-width:220px; color:#526873; text-transform:uppercase; letter-spacing:.12em; font-size:11px; line-height:1.6; }.credentials p { margin:0; padding-left:4vw; border-left:1px solid #cac2b5; color:#5b6d77; font-size:14px; line-height:1.8; }
.section { padding:130px 8vw; display:grid; grid-template-columns:22% 1fr; }.section-label { padding-top:10px; color:var(--copper); text-transform:uppercase; letter-spacing:.23em; font-size:11px; font-weight:700; }.lead { max-width:920px; margin:0 0 65px; font-family:var(--font-display); font-size:clamp(40px,4.2vw,65px); line-height:1.08; color:var(--navy); }.columns { display:grid; grid-template-columns:1fr 1fr; gap:60px; max-width:920px; color:#5b6d77; font-size:16px; line-height:1.85; }
.services { background:var(--navy); color:white; }.service-list article { min-height:150px; display:grid; grid-template-columns:70px 1fr 1fr 40px; gap:28px; align-items:center; border-top:1px solid rgba(255,255,255,.17); }.service-list article:last-child { border-bottom:1px solid rgba(255,255,255,.17); }.service-list article>span { color:var(--copper); font-size:13px; }.service-list h2 { font:400 clamp(31px,3vw,47px) var(--font-display); margin:0; }.service-list p { color:rgba(255,255,255,.7); font-size:14px; line-height:1.7; max-width:420px; }.service-list article>a { color:var(--copper); font-size:22px; }
.contact { min-height:720px; display:grid; grid-template-columns:1fr 1fr; background:#eee9df; }.contact-image { position:relative; min-height:600px; }.contact-image img { object-fit:cover; }.contact-panel { padding:100px 8vw; display:flex; flex-direction:column; justify-content:center; }.contact-panel h2 { margin:0 0 60px; font:400 clamp(48px,5vw,76px)/.95 var(--font-display); color:var(--navy); }.contact-details { display:grid; gap:25px; font-size:15px; line-height:1.8; }.contact-details b { text-transform:uppercase; letter-spacing:.08em; }.contact-details p { color:#64747e; }.contact-details small { display:block; color:var(--copper); text-transform:uppercase; letter-spacing:.18em; font-size:11px; }.contact-details a { display:block; width:max-content; border-bottom:1px solid #c8c2b9; }
footer { background:#001c2e; color:rgba(255,255,255,.55); min-height:100px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; font-size:11px; letter-spacing:.12em; text-transform:uppercase; } footer a { color:white; }
@media(max-width:800px){.site-header{height:100px;padding:0 20px}.brand{width:160px;height:54px}.brand img{width:220px;height:auto;left:-30px;top:-41px}nav{gap:18px;font-size:11px}.header-cta{display:none}.hero{min-height:690px}.hero-content{left:25px;right:20px}.hero-copy{font-size:15px}.slide-controls{left:25px;right:25px;bottom:28px}.slide-controls button{flex:1;width:auto}.hero-location{display:none}.credentials{grid-template-columns:1fr 1fr;padding:34px 25px;gap:25px 15px}.credentials div{align-items:flex-start;gap:10px;flex-direction:column}.credentials strong{font-size:34px}.credentials p{grid-column:1/-1;padding:22px 0 0;border-left:0;border-top:1px solid #cac2b5}.section{padding:85px 25px;grid-template-columns:1fr;gap:35px}.columns{grid-template-columns:1fr;gap:12px}.lead{margin-bottom:38px}.service-list article{grid-template-columns:40px 1fr 25px;padding:24px 0;gap:10px}.service-list p{grid-column:2/4;margin:0 0 8px}.service-list article>a{grid-column:3;grid-row:1}.contact{grid-template-columns:1fr}.contact-image{min-height:460px}.contact-panel{padding:80px 25px}footer{padding:28px 25px;flex-direction:column;gap:12px;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide{transition:none}.slide-controls button.active i{animation:none}}

@media(max-width:380px){.site-header{padding:0 16px}nav{gap:12px}}

.contact-person strong, .contact-company strong { display:block; color:var(--navy); font-size:24px; font-weight:600; line-height:1.3; }

.contact-role { display:block; margin-top:6px; font-size:15px; line-height:1.5; color:var(--navy); }

.contact-details .contact-email { margin-top:10px; }

/* WhatsApp */
.wa-float { position:fixed; z-index:50; right:22px; bottom:22px; width:56px; height:56px; border-radius:50%; background:#00213b; border:2px solid var(--copper); display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(0,20,35,.3); transition:transform .2s; }
.wa-float:hover { transform:scale(1.06); }
.wa-float svg { width:28px; height:28px; fill:#fff; }
@media(max-width:800px){ .wa-float{right:16px;bottom:16px;width:50px;height:50px} }
