@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#091929;--gold:#dfb557;--paper:#f6f6f2;--ink:#142536;--muted:#657078}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:5px}button,a{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}button{border:0}header{background:var(--navy);height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;color:#fff;gap:25px}.brand{display:flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:1px;font-size:19px}.brand img{width:73px;height:62px;object-fit:contain;background:#000}.brand-sub{display:block;font-size:10px;letter-spacing:4px;margin-top:4px}nav{display:flex;gap:35px;font-size:13px}nav a{opacity:.8}nav a:hover{opacity:1;color:var(--gold)}.head-right{display:flex;align-items:center;gap:22px}.header-call{color:var(--gold);font-size:13px}.hero{position:relative;min-height:670px;height:calc(100svh - 128px);max-height:900px;color:#fff;display:flex;align-items:center;background:#101f2b;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('assets/hero.webp') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,29,.88),rgba(5,17,29,.44) 48%,rgba(5,17,29,.03)),linear-gradient(0deg,rgba(5,17,29,.6),transparent 35%)}.hero-content{position:relative;width:75%;padding:40px 7% 95px}.eyebrow{font-size:10px;letter-spacing:2.6px;line-height:1.6;color:#d7c28e;font-weight:600;display:flex;align-items:center;gap:10px}.eyebrow>span:first-child:empty{width:23px;height:1px;background:var(--gold)}h1{font-size:clamp(48px,6.7vw,98px);line-height:1.08;letter-spacing:-5px;font-weight:500;margin:27px 0 23px}.hero-desc{max-width:400px;font-size:16px;line-height:1.8;color:#e2e6e7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:19px 24px;font-size:13px;font-weight:600;min-height:56px}.gold{background:var(--gold);color:#102234;margin-top:30px}.button:hover{filter:brightness(1.08)}.hero-foot{position:absolute;bottom:29px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.8px;border-top:1px solid #ffffff35;padding-top:22px}.hero-foot a{letter-spacing:0;font-size:12px}.section{padding:94px 7%;}.dark{color:#7f6a37}.about{display:grid;grid-template-columns:1fr 2fr;gap:55px;background:#fff}.about>div{display:grid;grid-template-columns:1.2fr 1fr;gap:42px}h2{font-size:clamp(30px,3.3vw,47px);font-weight:500;letter-spacing:-1.9px;line-height:1.2}.about p:not(.eyebrow),.section-heading>p,.work p:not(.eyebrow),.contact-info>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:43px}.section-heading h2{margin-top:15px}.service-list article{display:grid;grid-template-columns:55px 1.1fr 1.4fr 24px;gap:30px;align-items:start;padding:28px 0;border-top:1px solid #d4d9d9}.service-list article:last-child{border-bottom:1px solid #d4d9d9}.num{font-size:11px;color:#8b794e;padding-top:7px}.service-list h3{font-size:21px;font-weight:500;letter-spacing:-.6px}.service-list p{font-size:13px;color:var(--muted);line-height:1.8;max-width:390px}.arrow{font-size:23px;font-weight:400;color:#9d8348}.work{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:12%}.work h2{margin:19px 0 22px}.work p:not(.eyebrow){color:#b1bcc5;max-width:355px}.work-preview{border:1px solid #ffffff28;padding:33px 36px;position:relative;align-self:center}.work-icon{font-size:36px;color:var(--gold)}.work-preview h3{font-size:23px;margin:25px 0 12px;font-weight:500}.work-preview p{font-size:12px!important}.text-link{display:inline-block;color:var(--gold);font-size:13px;margin-top:27px;border-bottom:1px solid #dfb55760;padding-bottom:7px}.areas{display:grid;grid-template-columns:1fr 2fr;gap:55px;background:#eceee9}.areas>div{display:grid;grid-template-columns:1fr 1fr;gap:45px}.city-list{font-size:15px;line-height:2.3;color:#506067}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:white}.contact h2{margin:18px 0 22px}.contact-info>p{max-width:360px}.phone{font-family:Manrope,sans-serif;display:block;border-bottom:1px solid #dbe0e0;padding:23px 0;font-size:24px;letter-spacing:-.7px}.phone small{font-family:'DM Sans',Arial;font-size:9px;letter-spacing:2px;display:block;color:#778188;margin-bottom:8px}.phone span{float:right;color:#9d8348}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;margin-bottom:22px;color:#4d5e68}input,textarea{width:100%;border:0;border-bottom:1px solid #b9c2c7;border-radius:0;background:transparent;padding:10px 0;min-height:40px;color:var(--ink)}textarea{resize:vertical}.navy{background:var(--navy);color:white;width:100%}.form-notice{font-size:11px;line-height:1.6;color:#6d726c;margin-bottom:20px}#form-status{font-size:12px;line-height:1.7;margin-top:13px}footer{background:var(--navy);color:#fff;padding:35px 7%;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}footer>span{font-size:13px;letter-spacing:1.5px;font-weight:700}footer p,footer a,footer small{font-size:10px;color:#bbc4ca}@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}@media(max-width:850px){header{height:83px}nav{gap:18px}.header-call{display:none}.hero-content{width:100%;padding-left:7%}h1{letter-spacing:-3px}.hero{min-height:610px;max-height:760px}.about,.areas{grid-template-columns:1fr;gap:25px}.about>div{grid-template-columns:1fr 1fr}.work,.contact{gap:7%}.service-list article{grid-template-columns:30px 1fr 1.2fr 18px;gap:15px}.section{padding:70px 7%}}@media(max-width:580px){.brand{font-size:14px;gap:8px}.brand img{width:55px;height:47px}.brand-sub{font-size:8px;letter-spacing:2.4px}header{padding:0 5%;gap:10px}nav{display:none}.hero{min-height:650px;height:83svh}.hero-photo{background-position:62% center}.hero-shade{background:linear-gradient(90deg,#061321db,#06132170),linear-gradient(0deg,#061321a0,transparent)}.hero-content{padding-bottom:80px}h1{font-size:54px;letter-spacing:-2.9px}.hero-desc{font-size:14px;max-width:285px}.hero-foot{font-size:8px;letter-spacing:.6px}.hero-foot a{font-size:10px}.eyebrow{font-size:9px;letter-spacing:1.8px}.section{padding:54px 7%}.about>div,.areas>div,.work,.contact{grid-template-columns:1fr;gap:27px}h2{font-size:34px;letter-spacing:-1.2px}.section-heading{align-items:start;flex-direction:column;gap:15px;margin-bottom:27px}.section-heading>p{font-size:12px}.service-list article{grid-template-columns:24px 1fr 18px;gap:12px;padding:23px 0}.service-list h3{font-size:20px}.service-list p{grid-column:2;grid-row:2}.service-list .arrow{grid-column:3;grid-row:1}.service-list .num{padding-top:4px}.work-preview{padding:25px}.areas>div{gap:20px}.contact{gap:40px}.form-row{grid-template-columns:1fr;gap:0}footer{gap:17px}footer>span,footer p{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Approved dark cover and updated Canva logo. */
.brand img{width:145px;height:87px;object-fit:contain;background:transparent}.brand{flex-shrink:0}@media(max-width:580px){.brand img{width:112px;height:70px}}

.language-switch{display:flex;align-items:center;gap:6px;border:1px solid #ffffff40;padding:3px;flex-shrink:0}.language-switch button{background:transparent;color:#b6c2ce;padding:8px 9px;font-size:12px;font-weight:600;min-height:34px}.language-switch button[aria-pressed="true"]{background:var(--gold);color:var(--navy)}.language-switch>span{font-size:11px;color:#a6b3be}.language-switch button:hover{color:#fff}.language-switch button[aria-pressed="true"]:hover{color:var(--navy)}

/* Clear headline spacing in both languages; approved cover without review banner. */
.hero{height:calc(100svh - 94px)}
.hero h1{line-height:1.16;letter-spacing:-.035em;word-spacing:normal}
.headline-line{display:block}
.headline-line+.headline-line{margin-top:.16em}
html[lang="es"] .hero h1{font-size:clamp(43px,5.5vw,80px);letter-spacing:-.025em}
@media(max-width:580px){.hero{height:83svh}.hero h1{font-size:50px;letter-spacing:-.025em}html[lang="es"] .hero h1{font-size:clamp(35px,8.7vw,49px);line-height:1.22}.headline-line+.headline-line{margin-top:.18em}}
/* Readable word separation in the approved hero, EN and ES. */
.hero h1,html[lang="es"] .hero h1{letter-spacing:0;word-spacing:normal;line-height:1.22}
.headline-line+.headline-line{margin-top:.2em}
html[lang="en"] .hero h1{font-size:clamp(46px,6.2vw,88px)}
@media(max-width:580px){html[lang="en"] .hero h1{font-size:clamp(38px,10.2vw,50px)}.hero h1,html[lang="es"] .hero h1{letter-spacing:0;word-spacing:normal;line-height:1.25}}

/* Section labels: clearer hierarchy without numbering. */
.section .eyebrow{font-size:14px;letter-spacing:1.8px;font-weight:800}
.section .eyebrow.dark{color:#75602d}
.work .eyebrow{color:var(--gold)}
footer small{line-height:1.7}
@media(max-width:580px){.section .eyebrow{font-size:12px;letter-spacing:1.4px}}

/* Consistent vector arrows across computers and phones. */
.inline-arrow{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.15em;flex-shrink:0}
.header-call{display:inline-flex;align-items:center;gap:7px;min-height:42px;white-space:nowrap}
.hero-foot a,.text-link{align-items:center;gap:7px}
@media(max-width:700px){header nav{display:none}}
@media(max-width:580px){
 header{height:70px;padding:0 4%;gap:8px}
 .brand img{width:94px;height:62px}
 .head-right{gap:10px}
 .header-call{display:inline-flex;font-size:11px;gap:5px}
 .language-switch{gap:3px;padding:2px}
 .language-switch button{padding:7px 8px;min-height:36px}
 .hero{height:auto;min-height:540px;max-height:none}
 .hero-content{padding:46px 7% 118px}
 .hero-foot{bottom:24px;padding-top:18px;gap:14px}
 .hero-foot>span{max-width:46%}
 .hero-foot a{display:inline-flex;white-space:nowrap}
}
@media(max-width:350px){.brand img{width:84px}.head-right{gap:7px}.header-call{font-size:10px}.language-switch button{padding:7px}}

/* Mobile navigation beside the language selector. */
header{position:relative;z-index:20}
.menu-toggle{display:none;width:42px;height:42px;padding:10px;background:transparent;color:white;border:1px solid #ffffff40;flex-shrink:0}
.menu-toggle span{display:block;height:1.5px;background:currentColor;width:20px;margin:4px 0}
.mobile-menu{display:none}
.mobile-menu[hidden]{display:none!important}
@media(max-width:700px){
 .menu-toggle{display:block}
 .head-right{gap:12px}
 .header-call{display:none}
 header .mobile-menu:not([hidden]){display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:12px 6% 20px;background:var(--navy);border-top:1px solid #ffffff20;box-shadow:0 14px 20px #0003}
 .mobile-menu a{padding:14px 0;border-bottom:1px solid #ffffff20;font-size:14px;color:white;opacity:1}
 .mobile-menu .mobile-call{color:var(--gold);display:flex;align-items:center;gap:10px;border-bottom:0;font-weight:600}
 .mobile-menu a:hover{color:var(--gold)}
}

.service-quote{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;margin-top:-7px;margin-left:-8px}
.service-quote:hover,.work-icon:hover{color:var(--gold)}
.contact-email{display:inline-block;margin-top:23px;font-size:13px;overflow-wrap:anywhere;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.honeypot{display:none!important}

.portfolio-format{font-size:10px!important;letter-spacing:2px;color:var(--gold)!important}.portfolio-button{width:100%;gap:18px;margin-top:25px}.portfolio-download{display:block;width:fit-content;margin-top:18px}.work-preview h3{margin-top:18px}
