
:root{
 --navy:#062846; --navy2:#031b31; --gold:#d49a2d; --gold2:#f0c46b;
 --ivory:#fffaf1; --cream:#f7edda; --ink:#0b3558; --line:#e8d8bb;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:var(--ivory);color:var(--ink)}
body{font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.header{height:116px;display:grid;grid-template-columns:250px 1fr auto;align-items:center;padding:0 5.5vw;background:#fffdf8;border-bottom:1px solid #eee5d7;position:relative;z-index:50}
.logo img{width:170px;height:104px;object-fit:contain;display:block}
nav{display:flex;justify-content:center;gap:54px;font-size:16px;font-weight:500}
nav a{padding:12px 0;position:relative}
nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--gold)}
.pill{background:linear-gradient(100deg,#b97914,#e1aa42);color:#fff;padding:17px 28px;border-radius:32px;font-weight:600;min-width:166px;text-align:center}
.menu{display:none}
.stage{position:relative;min-height:calc(100vh - 116px);overflow:hidden;background:linear-gradient(110deg,#fffdf8 0%,#fbf2e4 62%,#f2e3c8 100%)}
.inner{position:relative;z-index:10;padding:60px 5.5vw 170px}
.eyebrow{letter-spacing:5px;font-size:12px;font-weight:600;color:#b87316;margin:0 0 26px}
h1,h2,h3{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;margin:0}
h1{font-size:clamp(52px,5.4vw,86px);line-height:.98;letter-spacing:-2px;color:#06365e}
h1 em{font-style:normal;color:var(--gold)}
.lead{font-size:17px;line-height:1.65;color:#405f79;max-width:760px;margin:30px 0 28px}
.primary{display:inline-block;background:linear-gradient(100deg,#b97a17,#dda63e);color:white;padding:17px 30px;border-radius:7px;font-weight:600}
.wave-field{position:absolute;inset:0;pointer-events:none;z-index:2}
.wave-field:before{content:"";position:absolute;width:62vw;height:62vw;border-radius:46% 54% 55% 45%;right:-17vw;top:-28vw;background:linear-gradient(145deg,#0b416c 0%,#052d50 44%,#02182c 100%);transform:rotate(18deg);box-shadow:0 0 0 2px rgba(212,154,45,.55)}
.wave-field:after{content:"";position:absolute;width:118vw;height:340px;left:-8vw;bottom:-205px;border-radius:50% 50% 0 0;background:linear-gradient(172deg,#0c3c64 0%,#03223d 72%);transform:rotate(-2deg);box-shadow:0 -5px 0 rgba(219,165,66,.95),0 -20px 0 rgba(241,209,146,.75),0 -33px 0 rgba(197,139,42,.85)}
.gold-swoop{position:absolute;z-index:3;width:90vw;height:290px;right:-27vw;bottom:65px;border-radius:50%;border:54px solid rgba(212,154,45,.72);transform:rotate(-14deg);filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}
.gold-swoop:after{content:"";position:absolute;inset:28px -30px;border-radius:50%;border:2px solid rgba(255,244,219,.7)}
.home-copy{max-width:820px}
.home .stage{min-height:760px}
.home .inner{padding-top:64px}
.home-tag{position:absolute;z-index:11;right:7vw;top:105px;width:260px;color:white;border-left:2px solid rgba(226,173,72,.9);padding-left:34px}
.home-tag h2{font-size:45px;line-height:1.12}.home-tag em{color:var(--gold2);font-style:normal}
.services-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0;max-width:860px;margin-top:38px}
.service-mini{text-align:center;border-right:1px solid #e7d7bb;padding:0 14px;color:#123b5d;font-size:13px}
.service-mini:last-child{border:0}.ico{width:52px;height:52px;border-radius:50%;background:#f4e8d2;margin:0 auto 10px;display:grid;place-items:center;color:#b97914;font-size:24px}
.stats{position:absolute;z-index:12;right:4vw;bottom:26px;display:flex;color:white;text-align:center;gap:0}
.stat{min-width:130px;padding:0 24px;border-right:1px solid rgba(255,255,255,.5)}.stat:last-child{border:0}
.stat strong{font-family:Georgia,serif;color:#e5a83c;font-size:37px;font-weight:400}.stat span{display:block;font-size:12px;line-height:1.3;margin-top:5px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.about-cards{border-left:1px solid #d8bd8c;padding-left:40px;display:grid;gap:18px}
.value{display:grid;grid-template-columns:76px 1fr;gap:20px;align-items:center}
.round{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;color:white;font-size:27px;background:linear-gradient(145deg,#bd7912,#e0a53b)}
.value:nth-child(2) .round{background:linear-gradient(145deg,#0b456f,#031d34)}
.value h2{font-size:28px;color:#07385e;margin-bottom:5px}.value p{margin:0;color:#405f79;line-height:1.5;font-size:14px}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;max-width:1100px}
.card{min-height:190px;padding:26px;border:1px solid #eadbc0;background:rgba(255,255,255,.65);border-radius:9px;position:relative}
.card.dark{background:linear-gradient(145deg,#08375d,#031e36);color:white;border-color:#0a385e}
.card h2{font-size:25px;margin:16px 0 10px}.card p{font-size:13px;line-height:1.55;margin:0;color:#48667e}.card.dark p{color:#d9e2e9}
.card .symbol{font-size:30px;color:#d69a2d}
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:38px;max-width:1180px}
.step{border-right:1px solid #e0cda8;padding:8px 26px 10px 0}.step:last-child{border:0}
.step .num{font-family:Georgia,serif;color:#c7871d;font-size:24px}.step h2{font-size:26px;margin:8px 0}.step p{font-size:13px;line-height:1.55;color:#48667e}
.quote{font-family:Georgia,serif;font-size:21px;font-style:italic;color:#a66b13;max-width:580px;margin-top:42px}
.contact-grid{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:start}
.contact-box{background:rgba(255,255,255,.82);border:1px solid #eadbc0;padding:28px;border-radius:10px}
label{font-size:12px;font-weight:600}input,textarea{width:100%;padding:13px;border:1px solid #e1d7c5;background:#fff;margin:6px 0 16px;font:inherit}textarea{height:90px;resize:vertical}
button.send{width:100%;border:0;background:linear-gradient(100deg,#b97914,#e0a53b);color:white;padding:14px;font-weight:600;border-radius:5px}
.whatsapp{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #eadbc0;padding:16px 18px;border-radius:8px;max-width:430px;margin-top:28px;font-weight:600}
.wa-dot{width:42px;height:42px;border-radius:50%;background:#1ebd69;color:white;display:grid;place-items:center;font-weight:700}
@media(max-width:900px){
 .header{grid-template-columns:180px 1fr;height:96px;padding:0 5vw}.logo img{width:145px;height:86px}
 nav{display:none}.pill{justify-self:end}.stage{min-height:auto}.inner{padding:45px 6vw 230px}
 .split,.contact-grid{grid-template-columns:1fr}.about-cards{border-left:0;padding-left:0}
 .expertise-grid{grid-template-columns:1fr 1fr}.approach-grid{grid-template-columns:1fr 1fr}
 .home-tag{display:none}.services-row{grid-template-columns:repeat(2,1fr);max-width:520px}.service-mini{padding:12px}
 .stats{left:5vw;right:auto}.wave-field:before{width:85vw;height:85vw;right:-40vw;top:-20vw}
}
@media(max-width:560px){
 .header{grid-template-columns:1fr auto}.pill{font-size:13px;padding:13px 18px;min-width:0}
 h1{font-size:45px}.lead{font-size:15px}.expertise-grid,.approach-grid{grid-template-columns:1fr}
 .stats{gap:0}.stat{min-width:95px;padding:0 10px}.stat strong{font-size:28px}
}

/* 2026-10-03 readability + layout correction */
.inner{isolation:isolate}
.wave-field,.gold-swoop{z-index:1}
.inner{z-index:10}

/* Keep decorative artwork away from copy on inner pages */
body:not(.home) .wave-field:before{right:-28vw;top:-34vw;width:58vw;height:58vw;opacity:.98}
body:not(.home) .gold-swoop{right:-34vw;bottom:22px;opacity:.72}

/* Ensure all text stays clear even where decoration approaches content */
.about-cards{position:relative;z-index:12;background:rgba(255,250,241,.94);border-radius:16px;padding:26px 26px 26px 40px;box-shadow:0 14px 45px rgba(3,27,49,.05)}
.expertise-grid,.approach-grid{position:relative;z-index:12}
.expertise-grid .card{backdrop-filter:blur(2px)}
.approach-grid{background:rgba(255,250,241,.92);border-radius:14px;padding:22px 24px;max-width:1220px}
.step{position:relative;z-index:13}

/* Strong, accessible contrast */
.card.dark h2,.card.dark p{color:#fff}
.card.dark .symbol{color:#f0b84e}
.value h2{color:#07385e}.value p{color:#355873}
.step h2{color:#07385e}.step p{color:#355873}
.lead{color:#355873}

/* Contact form */
.contact-box{position:relative;z-index:14;background:rgba(255,255,255,.94);box-shadow:0 18px 55px rgba(3,27,49,.10)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.form-status{min-height:22px;margin:14px 0 0;font-size:14px;font-weight:600}
.form-status.success{color:#167544}.form-status.error{color:#a53333}
button.send:disabled{opacity:.65;cursor:wait}

@media(max-width:1100px){
 body:not(.home) .wave-field:before{right:-38vw;top:-22vw;width:72vw;height:72vw}
 .about-cards{padding:22px}
}
@media(max-width:900px){
 body:not(.home) .wave-field:before{right:-58vw;top:-10vw;width:95vw;height:95vw;opacity:.75}
 .approach-grid{padding:18px}
}
