:root { --ink:#102c3e; --gold:#c88b36; --clay:#b35d37; --green:#5e806f; --paper:#f5f6f3; --text:#19262d; --muted:#5e6c73; --line:#d7dfdc; }
* { box-sizing:border-box; } 
@media (prefers-reduced-motion: no-preference) { html:focus-within { scroll-behavior: smooth; } html { scroll-behavior: smooth; } }
body { margin:0; font-family:Arial, Helvetica, sans-serif; color:var(--text); background:var(--paper); line-height:1.5; } body.is-loading { overflow:hidden; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { letter-spacing:-.04em; } a { color:inherit; text-decoration:none; } .container { width:min(1180px, calc(100% - 64px)); margin-inline:auto; }

/* Opening sequence and navigation progress */
.page-loader { position:fixed; z-index:1000; inset:0; display:grid; place-content:center; gap:18px; visibility:hidden; opacity:0; pointer-events:none; color:white; background:#071d29; transition:opacity .65s ease, visibility .65s ease; }.is-loading .page-loader { visibility:visible; opacity:1; pointer-events:auto; }.page-loader.is-hidden { visibility:hidden; opacity:0; pointer-events:none; }.page-loader p { margin:0; font-size:11px; font-weight:700; letter-spacing:.19em; text-align:center; }.page-loader small { color:#e6bb76; font-size:9px; }.loader-core { position:relative; width:68px; height:68px; margin:auto; border:1px solid rgba(233,194,127,.36); border-radius:50%; animation:loaderSpin 1.5s linear infinite; }.loader-core::before,.loader-core::after { content:""; position:absolute; border-radius:50%; }.loader-core::before { inset:8px; border:1px solid rgba(212,235,236,.28); border-right-color:#e6bb76; }.loader-core::after { width:6px; height:6px; top:11px; left:11px; background:#e6bb76; box-shadow:0 0 13px #e6bb76; }.loader-dot { position:absolute; right:-3px; top:29px; width:5px; height:5px; border-radius:50%; background:#c0e3dc; box-shadow:0 0 12px #c0e3dc; }.scroll-progress { position:fixed; z-index:120; top:0; left:0; width:100%; height:3px; background:transparent; }.scroll-progress span { display:block; width:0; height:100%; background:linear-gradient(90deg,#c88b36,#e7cb96,#79a997); box-shadow:0 0 12px rgba(230,187,118,.8); transition:width .08s linear; }

/* Dynamic Header */
.site-header { height:85px; display:flex; justify-content:space-between; align-items:center; padding:0 max(32px,calc((100vw - 1180px)/2)); background:#fff; position:sticky; top:0; z-index:99; border-bottom:1px solid rgba(16,44,62,.08); transition: box-shadow 0.3s ease; }
.site-header.scrolled { box-shadow: 0 5px 20px rgba(0,0,0,0.05); }
.brand { display:flex; align-items:center; gap:12px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.02em; transition: transform 0.3s ease; }
.brand:hover { transform: translateY(-1px); }
.brand small { display:block; margin-top:1px; color:var(--muted); font-size:9px; letter-spacing:.08em; }
.brand-logo { height:52px; width:auto; object-fit:contain; transition: height 0.3s ease; }
.site-header.scrolled .brand-logo { height: 42px; }
.brand-logo-footer { height:56px; width:auto; object-fit:contain; background:#ffffff; padding:4px; border-radius:6px; }

.site-nav { display:flex; align-items:center; gap:28px; font-size:13px; font-weight:700; }
.site-nav a:not(.nav-cta) { color:#41515a; transition: color 0.2s ease; }
.site-nav a:not(.nav-cta):hover { color:var(--gold); }
.nav-cta { background:var(--ink); color:white; padding:12px 17px; transition: background 0.3s ease, transform 0.2s ease; border-radius: 4px; }
.nav-cta:hover { background:var(--gold); transform: translateY(-2px); }
.menu-button { display:none; border:0; background:none; color:var(--ink); font-weight:700; }

.hero { height:min(760px, calc(100vh - 78px)); min-height:620px; color:white; position:relative; isolation:isolate; overflow:hidden; }.hero-carousel,.hero-shade { position:absolute; width:100%; height:100%; inset:0; }.hero-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.045); transition:opacity 1.15s ease,transform 6.2s ease; }.hero-slide.is-active { opacity:1; transform:scale(1); }.hero-shade { background:linear-gradient(90deg,rgba(9,29,43,.78) 0%,rgba(9,29,43,.6) 43%,rgba(9,29,43,.16) 100%); z-index:1; }.hero-grid { position:absolute; z-index:1; inset:0; opacity:.16; background-image:linear-gradient(rgba(192,227,220,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(192,227,220,.25) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,#000,transparent 72%); animation:gridDrift 22s linear infinite; }.hero-orbit { position:absolute; z-index:1; border:1px solid rgba(240,211,157,.4); border-radius:50%; pointer-events:none; }.orbit-one { width:500px; height:500px; right:-115px; top:62px; animation:orbitPulse 7s ease-in-out infinite; }.orbit-two { width:320px; height:320px; right:32px; top:152px; border-color:rgba(192,227,220,.3); animation:orbitPulse 7s 1.2s ease-in-out infinite reverse; }.hero-content,.hero-bottom,.hero-carousel-control { position:relative; z-index:2; }.hero-content { padding-top:clamp(100px,15vh,160px); }.eyebrow,.section-label { color:var(--gold); font-size:11px; letter-spacing:.13em; font-weight:700; }.eyebrow.light { color:#f0d39d; }.hero h1 { font-size:clamp(46px,6vw,78px); max-width:800px; margin:10px 0 20px; line-height:.98; }.hero-copy { max-width:550px; font-size:17px; color:#e6eff1; }.hero-actions { display:flex; align-items:center; gap:25px; margin-top:30px; }.hero-enter { opacity:0; transform:translateY(20px); animation:heroEnter .75s cubic-bezier(.2,.75,.25,1) forwards; }.hero-enter-1 { animation-delay:.24s; }.hero-enter-2 { animation-delay:.36s; }.hero-enter-3 { animation-delay:.53s; }.hero-enter-4 { animation-delay:.68s; }.hero-enter-5 { animation-delay:.82s; }.hero-carousel-control { position:absolute; right:max(32px,calc((100vw - 1180px)/2)); bottom:32px; display:flex; align-items:center; gap:16px; color:#ecf4f4; font-size:11px; letter-spacing:.11em; font-weight:700; }.carousel-count b { color:#f0d39d; }.carousel-dots { display:flex; gap:7px; }.carousel-dots button { width:24px; height:3px; padding:0; border:0; cursor:pointer; background:rgba(231,241,241,.38); transition:width .25s,background .25s; }.carousel-dots button.is-active { width:42px; background:#e6bb76; }

/* Buttons Hover */
.button { display:inline-flex; align-items:center; gap:28px; padding:14px 18px; font-size:13px; font-weight:700; border-radius: 4px; transition: all 0.3s ease; }
.button span { font-size:18px; line-height:0; transition: transform 0.3s ease; }
.button:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
.button:hover span { transform: translateX(4px); }
.button.gold { background:var(--gold); color:white; }
.button.gold:hover { background: #b87d2b; }
.button.dark { background:var(--ink); color:white; }
.button.dark:hover { background: #1a3c52; }
.text-link { font-size:13px; font-weight:700; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:3px; transition: opacity 0.2s ease; }
.text-link:hover { opacity: 0.7; }
.dark-link { display:inline-block; margin-top:26px; color:var(--ink); border-color:rgba(16,44,62,.35); }.dark-link span { color:var(--gold); margin-left:6px; }
.hero-bottom { position:absolute; bottom:34px; left:0; right:0; display:flex; gap:12px; font-size:10px; letter-spacing:.12em; font-weight:700; color:#dfebeb; }

.section { padding:115px 0; }.section-label { margin-bottom:40px; }.intro-layout { display:grid; grid-template-columns:1.12fr .88fr; gap:100px; }.intro h2,.mission h2,.service-heading h2,.operation-copy h2,.legal h2,.contact h2,.vision h2 { font-size:clamp(35px,4vw,57px); line-height:1.02; margin-bottom:0; }.intro-copy { font-size:16px; color:var(--muted); padding-top:8px; }.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:90px; }

/* Illustrated value cards in the About section */
.principles .value-card { position:relative; min-height:285px; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; border:0; color:white; background-color:var(--ink); background-position:center; background-size:cover; }
.principles .value-card::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(7,29,42,.16) 0%, rgba(7,29,42,.9) 84%); transition:background .35s ease; }
.principles .value-card:hover::before { background:linear-gradient(180deg, rgba(7,29,42,.07) 0%, rgba(7,29,42,.82) 84%); }
.principles .value-card span { position:absolute; top:26px; left:30px; color:#f4d395; }
.principles .value-card h3 { color:white; margin:0 0 9px; }
.principles .value-card p { color:#e6eeee; }

/* Interactive Cards */
.principles article, .service-grid article { background:white; padding:35px 30px; transition: transform 0.4s ease, box-shadow 0.4s ease; border-radius: 4px; border:1px solid var(--line); }
.principles article:hover, .service-grid article:hover { transform: translateY(-8px); box-shadow: 0 15px 35px rgba(16,44,62,0.08); z-index: 2; position: relative; border-color: transparent; }
.principles span,.service-grid span { color:var(--gold); font-size:12px; font-weight:700; display: inline-block; transition: transform 0.3s ease; }
.principles article:hover span, .service-grid article:hover span { transform: scale(1.1); }
.principles h3 { font-size:21px; margin:35px 0 10px; }.principles p,.service-grid p { color:var(--muted); font-size:14px; margin-bottom:0; }

.section-dark { background:var(--ink); color:white; }.vision { padding:105px 0; }.vision-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:end; }.vision h2 { color:#fff; }.vision-statement { padding:28px; border-left:2px solid var(--gold); background:rgba(255,255,255,.06); }.vision-statement span,.leadership small,.support-team span,address small { color:#f0d39d; font-size:10px; font-weight:700; letter-spacing:.1em; }.vision-statement p { font-size:18px; margin:18px 0 0; font-weight:700; line-height:1.45; }.mission-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; }.mission ol { list-style:none; counter-reset:item; margin:0; padding:0; }.mission li { position:relative; counter-increment:item; padding:0 0 20px 56px; margin-bottom:20px; border-bottom:1px solid var(--line); font-size:16px; font-weight:700; }.mission li:before { content:"0" counter(item); position:absolute; left:0; color:var(--gold); font-size:14px; }

.services { background:white; padding:115px 0 0; }.service-heading { margin-bottom:45px; }.service-heading h2 { margin:0; }.service-visual { height:420px; overflow:hidden; }.service-visual img { width:100%; height:100%; object-fit:cover; display:block; }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }.service-grid article { border: none; margin: -1px; } .service-grid h3 { font-size:23px; margin:32px 0 12px; }.operations { display:grid; grid-template-columns:1fr 1fr; gap:0; padding-top:115px; padding-bottom:115px; }.operation-photo { min-height:525px; }.operation-photo img { width:100%; height:100%; object-fit:cover; display:block; }.operation-copy { background:#e9eeea; padding:75px clamp(34px,5vw,75px); }.operation-copy h2 { margin:13px 0 25px; }.operation-copy>p:not(.eyebrow) { color:var(--muted); font-size:16px; }.process { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:40px; }.process span { font-size:11px; background:var(--ink); color:white; padding:8px 10px; font-weight:700; }.process i { color:var(--gold); font-style:normal; }

/* Consultation tool */
.consultation { background:#092535; color:white; padding:110px 0; }.consultation-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:90px; align-items:start; }.consultation h2 { font-size:clamp(35px,4.3vw,59px); line-height:1.03; margin:12px 0 23px; }.consultation-copy>p:not(.eyebrow) { max-width:430px; color:#d3e0e2; font-size:16px; }.consultation-benefits { padding:0; margin:32px 0 24px; list-style:none; }.consultation-benefits li { margin:12px 0; color:#eaf0f0; font-size:14px; }.consultation-benefits span { color:#f0d39d; margin-right:9px; }.privacy-note { font-size:12px !important; color:#a9c0c5 !important; max-width:390px; }.consultation-form { background:white; color:var(--text); padding:36px; border-radius:7px; box-shadow:0 22px 52px rgba(0,0,0,.2); }.form-row { margin-bottom:18px; }.form-row label { display:block; margin-bottom:7px; color:#34454d; font-size:12px; font-weight:700; }.form-row em { color:var(--clay); font-style:normal; }.form-row input,.form-row select,.form-row textarea { width:100%; font:inherit; color:var(--text); background:#fafbfa; border:1px solid #cfd9d5; border-radius:3px; padding:12px 13px; outline:0; transition:border-color .2s, box-shadow .2s; }.form-row textarea { resize:vertical; min-height:105px; }.form-row input:focus,.form-row select:focus,.form-row textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,139,54,.17); }.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.form-status { min-height:20px; margin:0 0 12px; color:var(--clay); font-size:12px; font-weight:700; }.form-status.success { color:var(--green); }.form-submit { border:0; cursor:pointer; }.faq { display:grid; grid-template-columns:.76fr 1.24fr; gap:90px; }.faq-heading h2 { font-size:clamp(34px,3.8vw,52px); line-height:1.04; }.faq-list details { border-top:1px solid var(--line); padding:0; }.faq-list details:last-child { border-bottom:1px solid var(--line); }.faq-list summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:25px; padding:22px 0; color:var(--ink); font-weight:700; font-size:17px; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { color:var(--gold); font-size:24px; line-height:.8; transition:transform .2s; }.faq-list details[open] summary span { transform:rotate(45deg); }.faq-list p { margin:0; padding:0 42px 23px 0; color:var(--muted); font-size:15px; }.whatsapp-float { position:fixed; z-index:20; right:24px; bottom:24px; display:flex; align-items:center; gap:8px; padding:13px 16px; color:white; background:#1d9561; border-radius:99px; font-size:13px; box-shadow:0 10px 24px rgba(16,44,62,.25); transition:transform .2s,background .2s; }.whatsapp-float:hover { background:#178553; transform:translateY(-3px); }.whatsapp-float span { font-size:21px; line-height:0; }

.consultation-teaser { padding:78px 0; color:white; background:linear-gradient(115deg,#092535,#154559); }.consultation-teaser .container { display:flex; justify-content:space-between; align-items:center; gap:60px; }.consultation-teaser h2 { max-width:690px; margin:10px 0 14px; font-size:clamp(32px,4vw,54px); line-height:1.03; }.consultation-teaser p:not(.eyebrow) { max-width:600px; margin:0; color:#d5e5e6; font-size:16px; }.consultation-page-hero { position:relative; overflow:hidden; isolation:isolate; padding:128px 0 115px; color:white; background:linear-gradient(115deg,#081f2d,#17465b); }.consultation-page-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 85% 5%,rgba(200,139,54,.28),transparent 27%),radial-gradient(circle at 78% 100%,rgba(94,128,111,.34),transparent 30%); }.consultation-page-hero h1 { max-width:900px; margin:10px 0 20px; font-size:clamp(43px,6vw,74px); line-height:.98; letter-spacing:-.05em; }.consultation-page-hero p:not(.eyebrow) { max-width:635px; color:#e0ebec; font-size:17px; }.consultation-page-hero .button { margin-top:20px; }.flow-heading { display:grid; grid-template-columns:1fr .7fr; gap:90px; align-items:end; }.flow-heading h2 { margin:0; font-size:clamp(35px,4vw,56px); line-height:1.03; }.flow-heading>p { margin:0; color:var(--muted); font-size:15px; }.flow-steps { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:64px; }.flow-steps::before { content:""; position:absolute; top:22px; left:10%; right:10%; height:1px; background:var(--line); }.flow-steps article { position:relative; z-index:1; padding:0 18px 18px 0; background:var(--paper); }.flow-steps span { display:grid; place-items:center; width:45px; height:45px; margin-bottom:32px; border-radius:50%; background:var(--ink); color:#f0d39d; font-size:12px; font-weight:700; }.flow-steps h3 { font-size:21px; margin:0 0 10px; }.flow-steps p { margin:0; color:var(--muted); font-size:14px; }.consultation-readiness { padding:82px 0; color:white; background:#12394d; }.consultation-readiness .container { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:start; }.consultation-readiness h2 { margin:10px 0 0; font-size:clamp(31px,3.8vw,49px); line-height:1.05; }.consultation-readiness ul { display:grid; grid-template-columns:1fr 1fr; gap:0 35px; margin:0; padding:0; list-style:none; }.consultation-readiness li { display:flex; gap:14px; align-items:center; padding:16px 0; border-top:1px solid rgba(255,255,255,.2); color:#e2eeee; font-size:14px; }.consultation-readiness li span { color:#f0d39d; font-size:11px; font-weight:700; }

.legal { padding:115px 0; }.legal h2 { margin:10px 0 50px; }.leadership { display:grid; grid-template-columns:1fr 1fr; border:1px solid rgba(255,255,255,.2); }.leadership article { padding:30px; }.leadership article+article { border-left:1px solid rgba(255,255,255,.2); }.leadership h3 { font-size:22px; margin:12px 0; }.leadership p { margin:0; color:#d3dfe1; }.legal-table { margin-top:55px; border-top:1px solid rgba(255,255,255,.2); }.legal-table div { display:grid; grid-template-columns:260px 1fr; gap:20px; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.2); }.legal-table span { color:#f0d39d; font-size:13px; font-weight:700; }.legal-table p { margin:0; color:#d3dfe1; }.support-team { display:flex; align-items:center; gap:30px; margin-top:35px; }.support-team p { margin:0; color:#d3dfe1; font-size:14px; }.support-team strong { color:white; }
.legal { padding:115px 0; }.legal h2 { margin:10px 0 20px; }.iujp-intro { max-width:600px; margin-bottom:46px; color:#d3dfe1; font-size:16px; }.iujp-services { display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.2); }.iujp-services article { min-height:205px; padding:30px; background:var(--ink); }.iujp-services span { display:block; color:#f0d39d; font-weight:700; font-size:12px; }.iujp-services h3 { margin:32px 0 12px; font-size:21px; line-height:1.08; }.iujp-services p { margin:0; color:#d3dfe1; font-size:14px; }.iujp-note { display:flex; gap:38px; align-items:start; margin-top:35px; padding-top:24px; border-top:1px solid rgba(255,255,255,.2); }.iujp-note span { color:#f0d39d; min-width:160px; font-size:10px; font-weight:700; letter-spacing:.1em; }.iujp-note p { margin:0; color:#d3dfe1; font-size:14px; }

.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; }.contact h2 { margin-bottom:20px; }.contact-layout>div>p { max-width:440px; color:var(--muted); font-size:16px; margin-bottom:30px; } address { font-style:normal; }.contact address>div { margin-bottom:28px; }.contact address small { color:var(--gold); display:block; margin-bottom:7px; }.contact address a { display:block; color:var(--ink); font-size:17px; font-weight:700; margin-bottom:2px; transition: color 0.2s; }.contact address a:hover { color:var(--gold); }.contact address p { font-size:16px; margin:0; line-height:1.5; font-weight:700; }.contact .button { margin-top:10px; }
.contact-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }.contact-actions .dark-link { margin-top:10px; }.whatsapp-button { background:#1d9561; color:white; }.whatsapp-button:hover { background:#178553; }.contact-intake { display:grid; grid-template-columns:.72fr 1.28fr; gap:68px; margin-top:80px; padding:50px; border-top:4px solid var(--gold); background:#e8eeeb; }.contact-intake-copy h3 { max-width:360px; margin:10px 0 17px; color:var(--ink); font-size:29px; line-height:1.06; }.contact-intake-copy>p:not(.eyebrow) { max-width:395px; color:var(--muted); font-size:14px; }.contact-security-note { margin-top:26px; padding-top:16px; border-top:1px solid var(--line); font-size:12px !important; }.contact-message-form { padding:32px; background:white; box-shadow:0 15px 32px rgba(16,44,62,.08); }.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }.recaptcha-box { display:flex; justify-content:space-between; gap:20px; align-items:center; margin:8px 0 18px; padding:17px; border:1px solid var(--line); background:#f8faf8; }.recaptcha-box strong { display:block; color:var(--ink); font-size:13px; }.recaptcha-box p { max-width:340px; margin:4px 0 0; color:var(--muted); font-size:11px; }.local-challenge { display:grid; grid-template-columns:auto 78px 31px; align-items:center; gap:8px; }.local-challenge span { min-width:116px; color:var(--ink); font-size:12px; font-weight:700; }.local-challenge label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }.local-challenge input { width:78px; padding:9px 8px; border:1px solid #cfd9d5; border-radius:3px; color:var(--ink); font:inherit; outline:0; }.local-challenge input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,139,54,.17); }.local-challenge button { width:31px; height:31px; padding:0; cursor:pointer; border:1px solid #cfd9d5; border-radius:3px; color:var(--ink); background:white; font-size:18px; }.honeypot-field { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; }.secure-whatsapp-submit[disabled] { cursor:not-allowed; opacity:.55; box-shadow:none; transform:none; }

/* FAQ page */
.active-nav { color:var(--gold) !important; }.faq-hero { position:relative; overflow:hidden; padding:128px 0 115px; color:white; background:linear-gradient(115deg,#081f2d,#17465b); isolation:isolate; }.faq-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 85% 5%,rgba(200,139,54,.28),transparent 27%),radial-gradient(circle at 78% 100%,rgba(94,128,111,.34),transparent 30%); }.faq-hero-grid { position:absolute; z-index:-1; inset:0; opacity:.19; background-image:linear-gradient(rgba(192,227,220,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(192,227,220,.25) 1px,transparent 1px); background-size:54px 54px; animation:gridDrift 22s linear infinite; }.faq-hero h1 { max-width:850px; margin:10px 0 20px; font-size:clamp(43px,6vw,74px); line-height:.98; letter-spacing:-.05em; }.faq-hero p:not(.eyebrow) { max-width:590px; color:#e0ebec; font-size:17px; }.faq-search { display:flex; align-items:center; gap:11px; width:min(620px,100%); margin-top:38px; padding:3px 16px; border:1px solid rgba(232,244,244,.36); border-radius:4px; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); }.faq-search span { color:#f0d39d; font-size:25px; }.faq-search input { width:100%; border:0; outline:0; padding:14px 0; background:transparent; color:white; font:inherit; }.faq-search input::placeholder { color:#c8d9da; }.faq-page-head { display:flex; justify-content:space-between; gap:30px; align-items:end; }.faq-page-head h2 { max-width:680px; margin:0; font-size:clamp(35px,4vw,57px); line-height:1.03; }.faq-page-head>p { margin:0; color:var(--muted); font-size:13px; white-space:nowrap; }.faq-filter { display:flex; flex-wrap:wrap; gap:10px; margin:50px 0 25px; }.faq-filter button { cursor:pointer; border:1px solid var(--line); border-radius:99px; padding:10px 15px; background:white; color:var(--ink); font:700 12px Arial,Helvetica,sans-serif; transition:background .2s,color .2s,border-color .2s; }.faq-filter button:hover,.faq-filter button.is-selected { color:white; border-color:var(--ink); background:var(--ink); }.faq-page-list { border-top:1px solid var(--line); }.faq-page-list details { border-bottom:1px solid var(--line); }.faq-page-list summary { display:flex; justify-content:space-between; gap:30px; padding:24px 0; cursor:pointer; list-style:none; color:var(--ink); font-size:18px; font-weight:700; }.faq-page-list summary::-webkit-details-marker { display:none; }.faq-page-list summary span { color:var(--gold); font-size:24px; line-height:.8; transition:transform .2s; }.faq-page-list details[open] summary span { transform:rotate(45deg); }.faq-page-list details p { max-width:800px; margin:0; padding:0 55px 24px 0; color:var(--muted); font-size:15px; }.faq-page-list details[hidden] { display:none; }.faq-empty { margin:34px 0 0; color:var(--muted); }.faq-contact-banner { padding:70px 0; color:white; background:var(--ink); }.faq-contact-banner .container { display:flex; align-items:center; justify-content:space-between; gap:45px; }.faq-contact-banner h2 { max-width:660px; margin:10px 0 0; font-size:clamp(29px,3.7vw,46px); line-height:1.05; }
footer { background:#081e2a; color:#fff; padding:35px 0; }footer .container { display:flex; align-items:center; gap:12px; }footer p { margin:0; text-transform:uppercase; font-weight:700; font-size:12px; letter-spacing:.04em; }footer small { color:#9eb0b4; font-size:9px; letter-spacing:.1em; }footer a { margin-left:auto; font-size:12px; color:#d5e2e3; font-weight:700; transition: color 0.2s; } footer a:hover { color: var(--gold); }

/* Scroll Reveal Classes */
.reveal { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.reveal.active { opacity: 1; transform: translateY(0); }

@keyframes loaderSpin { to { transform:rotate(360deg); } } @keyframes heroScale { from { transform:scale(1.08); } to { transform:scale(1); } } @keyframes heroEnter { to { opacity:1; transform:translateY(0); } } @keyframes gridDrift { to { background-position:64px 64px; } } @keyframes orbitPulse { 0%,100% { transform:scale(.94); opacity:.27; } 50% { transform:scale(1.06); opacity:.8; } }

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.page-loader,.page-loader.is-hidden,.hero-slide,.hero-grid,.hero-orbit,.hero-enter,.reveal,.button,.site-header,.brand-logo { animation:none !important; transition:none !important; }.page-loader { display:none; }.hero-enter,.reveal { opacity:1; transform:none; } }

@media (max-width:800px) { .container { width:min(100% - 40px, 1180px); }.site-header { height:68px; padding:0 20px; }.site-nav { display:none; position:absolute; top:67px; left:0; right:0; padding:22px 20px; background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.12); flex-direction:column; align-items:stretch; gap:18px; }.site-nav.open { display:flex; }.site-nav a { padding:5px 0; }.nav-cta { text-align:center; }.menu-button { display:block; }.hero { min-height:630px; height:calc(100vh - 68px); }.hero h1 { font-size:46px; }.hero-copy { font-size:15px; }.hero-bottom { bottom:25px; font-size:8px; flex-wrap:wrap; }.section { padding:76px 0; }.intro-layout,.vision-layout,.mission-layout,.contact-layout,.consultation-layout,.faq { grid-template-columns:1fr; gap:35px; }.principles,.service-grid,.iujp-services { grid-template-columns:1fr; }.principles { margin-top:50px; }.vision { padding:76px 0; }.service-visual { height:290px; }.services { padding-top:76px; }.operations { display:block; padding:76px 0; }.operation-photo { min-height:300px; }.operation-copy { padding:48px 28px; }.consultation { padding:76px 0; }.consultation-form { padding:25px 20px; }.two-columns { grid-template-columns:1fr; gap:18px; }.faq { padding-top:76px; padding-bottom:76px; }.iujp-services article { min-height:0; }.iujp-note { display:block; }.iujp-note p { margin-top:10px; } .contact-layout { gap:50px; }.faq-hero { padding:104px 0 75px; }.faq-page-head,.faq-contact-banner .container { display:block; }.faq-page-head>p { margin-top:18px; }.faq-filter { margin-top:34px; }.faq-page-list summary { font-size:16px; }.faq-contact-banner .button { margin-top:28px; }.whatsapp-float { right:16px; bottom:16px; }.whatsapp-float b { display:none; }.whatsapp-float { width:50px; height:50px; justify-content:center; padding:0; } }

@media (max-width:800px) { .consultation-teaser .container,.flow-heading,.consultation-readiness .container { display:block; }.consultation-teaser .button { margin-top:28px; }.consultation-page-hero { padding:104px 0 76px; }.flow-heading>p { margin-top:20px; }.flow-steps { grid-template-columns:1fr; gap:0; margin-top:42px; }.flow-steps::before { top:0; bottom:0; left:22px; right:auto; width:1px; height:auto; }.flow-steps article { display:grid; grid-template-columns:62px 1fr; column-gap:0; padding:0 0 30px; }.flow-steps span { grid-row:span 2; margin:0 17px 0 0; }.flow-steps h3 { margin:8px 0; }.flow-steps p { grid-column:2; }.consultation-readiness { padding:68px 0; }.consultation-readiness ul { grid-template-columns:1fr; margin-top:35px; } }

@media (max-width:800px) { .contact-intake { grid-template-columns:1fr; gap:32px; margin-top:55px; padding:30px 20px; }.contact-message-form { padding:22px 16px; }.contact-form-grid { grid-template-columns:1fr; }.recaptcha-box { display:block; }.recaptcha-box>#contact-recaptcha { margin-top:15px; overflow:auto; } }

/* Tablet and phone refinements */
@media (min-width:801px) and (max-width:1100px) {
  .container { width:min(100% - 56px, 1180px); }
  .site-header { padding:0 28px; }
  .site-nav { gap:14px; font-size:12px; }
  .brand span { font-size:13px; }
  .hero-content { padding-top:clamp(112px,14vh,142px); }
  .hero h1 { font-size:clamp(52px,6.3vw,66px); }
  .intro-layout,.vision-layout,.mission-layout,.contact-layout { gap:56px; }
  .consultation-layout { gap:46px; }
  .contact-intake { gap:36px; padding:40px; }
  .flow-heading { gap:52px; }
  .flow-steps { grid-template-columns:repeat(2,1fr); gap:30px 24px; margin-top:48px; }
  .flow-steps::before { display:none; }
  .flow-steps article { padding-right:0; }
  .consultation-readiness .container { gap:55px; }
}

@media (max-width:800px) {
  .site-header.scrolled .site-nav { top:68px; }
  .contact { padding-bottom:112px; }
  .whatsapp-float { width:auto; height:auto; padding:12px 14px; }
  .whatsapp-float b { display:block; }
  .consultation-human-check .local-challenge { margin-top:15px; }
}

@media (max-width:420px) {
  .hero { min-height:600px; }
  .hero h1 { font-size:39px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .hero-carousel-control { right:20px; bottom:20px; gap:10px; }
  .hero-bottom { max-width:260px; }
  .local-challenge { grid-template-columns:1fr 72px 31px; }
  .local-challenge span { min-width:0; }
}

/* Market intelligence */
.market-dashboard { padding:110px 0; color:white; background:linear-gradient(125deg,#081f2d 0%,#103b4d 100%); }.market-heading { display:flex; justify-content:space-between; gap:60px; align-items:end; margin-bottom:48px; }.market-heading h2 { max-width:650px; margin:10px 0 0; font-size:clamp(35px,4vw,57px); line-height:1.03; }.market-heading>p { max-width:370px; margin:0; color:#c4d6d8; font-size:14px; line-height:1.65; }.market-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }.market-card { display:flex; min-width:0; flex-direction:column; padding:24px; border:1px solid rgba(223,241,241,.19); background:rgba(7,30,42,.48); box-shadow:0 16px 35px rgba(0,0,0,.14); }.market-card-head { display:flex; justify-content:space-between; align-items:start; gap:16px; min-height:54px; }.market-card-head span { display:block; color:#f0d39d; font-size:10px; font-weight:700; letter-spacing:.11em; }.market-card-head h3 { margin:7px 0 0; color:white; font-size:19px; line-height:1.1; }.market-card-head small { padding-top:2px; color:#b8ced1; font-size:10px; font-weight:700; line-height:1.35; letter-spacing:.04em; text-align:right; }.market-widget { height:255px; margin-top:22px; overflow:hidden; background:#0b2c3b; }.market-iframe iframe { display:block; width:100%; height:100%; border:0; }.market-reference-card { background:linear-gradient(145deg,rgba(200,139,54,.18),rgba(7,30,42,.58)); }.hba-reference { display:flex; min-height:255px; flex:1; flex-direction:column; margin-top:22px; padding:22px; border:1px solid rgba(240,211,157,.25); background:rgba(7,30,42,.34); }.hba-mark { display:flex; align-items:center; gap:10px; }.hba-mark span { display:grid; width:28px; height:28px; place-items:center; color:#0a2735; background:#f0d39d; border-radius:50%; font-weight:700; }.hba-mark strong { color:#f4e3be; font-size:13px; }.hba-reference p { margin:20px 0; color:#d8e5e6; font-size:13px; line-height:1.65; }.hba-reference ul { display:flex; gap:10px; margin:0 0 18px; padding:0; list-style:none; }.hba-reference li { flex:1; padding:9px; border-top:1px solid rgba(240,211,157,.32); background:rgba(255,255,255,.04); }.hba-reference li span,.hba-reference li b { display:block; }.hba-reference li span { color:#b9cfd1; font-size:9px; font-weight:700; }.hba-reference li b { margin-top:4px; color:#f0d39d; font-size:11px; }.market-source { margin-top:auto; font-size:12px; }.market-disclaimer { max-width:870px; margin:27px 0 0; color:#a9c1c5; font-size:11px; line-height:1.6; }

@media (min-width:801px) and (max-width:1100px) { .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.market-reference-card { grid-column:span 2; }.market-heading { gap:35px; } }
@media (max-width:800px) { .market-dashboard { padding:76px 0; }.market-heading { display:block; margin-bottom:34px; }.market-heading>p { margin-top:18px; }.market-grid { grid-template-columns:1fr; }.market-card { padding:20px; }.market-widget,.hba-reference { height:280px; min-height:280px; }.market-disclaimer { margin-top:21px; } }
@media (max-width:420px) { .market-card { padding:17px; }.market-card-head { display:block; }.market-card-head small { display:block; padding-top:8px; text-align:left; }.market-widget,.hba-reference { height:265px; min-height:265px; }.hba-reference { padding:18px; } }