/* Owner-directed revision: full-scene wave, light sections, service compositions. */
:root{--paper:#f5f7fb;--ink:#101a2c;--ink-secondary:#4c5b70;--paper-blue:#2254c7}
.button{justify-content:center;gap:20px;padding:14px 24px;min-height:52px;border:0;border-radius:30px;background:#2864e8;box-shadow:none;font-size:15px;transition:background-color var(--dur-press),color var(--dur-press)}
.button:hover{background:#2256cb;box-shadow:none;transform:none}
.button--ghost{background:#ffffff0d;border:1px solid #ffffff30;color:#fff}
.button--ghost:hover{background:#ffffff19;box-shadow:none}
.nav-cta{border:0;background:#f5f7fb;color:#14203a;min-height:42px;padding:0 20px;gap:15px;box-shadow:none}
.nav-cta:hover{background:#dce7ff;border-color:transparent}
.header{background:rgba(13,23,43,.88);box-shadow:0 8px 30px #0002;opacity:1;transition:transform var(--dur-enter) var(--ease-out),opacity var(--dur-enter) var(--ease-out);border-radius:22px}
.header[data-scroll-hidden]{transform:translateY(calc(-100% - var(--inset) - 10px));opacity:0;pointer-events:none;transition-duration:var(--dur-exit)}
html[data-nav] .header{transform:none}
.menu-button{background:transparent;box-shadow:none}

.hero{min-height:100svh;padding:calc(var(--header-h) + var(--inset) + 90px) var(--gutter) 24px;justify-content:center;gap:60px;background:#060b17}
.hero-main{gap:28px;width:100%;padding:30px 0 80px}
.hero h1{max-width:980px;font-size:clamp(3.3rem,5.8vw,5.3rem);line-height:1.06;letter-spacing:-.04em;font-weight:450}
.hero h1 em{color:#a6c2ff}
.hero-decision{display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.hero-lede{max-width:49ch;font-size:18px;line-height:1.65;color:#d3dceb}
.hero-action{flex-direction:row;align-items:center;gap:30px}
.hero-action .button{min-height:54px;padding:15px 26px;font-size:16px;gap:24px}
.hero-secondary{display:inline-flex;align-items:center;min-height:48px;font-size:15px;color:#e4eaff;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#8aa3d080;transition:color var(--dur-press)}
.hero-secondary:hover{color:#fff;text-decoration-color:#fff}
.hero-art{inset:0;z-index:-1}
.hero-art::after{background:linear-gradient(90deg,rgba(6,11,23,.42),rgba(6,11,23,.02) 80%),linear-gradient(180deg,transparent 15%,rgba(6,11,23,.35) 42%,rgba(6,11,23,.05) 78%)}
.hero-utility{position:absolute;bottom:24px;left:var(--gutter);right:var(--gutter);margin:0;padding:0;border:0}
.scroll-cue{display:grid;place-items:center;width:44px;height:44px;color:#c4d7ff}
.scroll-cue .i{width:23px;height:23px}
.motion-toggle{background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;font-size:12px;padding:0 6px;color:#bdcbe0}
.motion-toggle:hover{background:none;color:#fff}
.wave-fallback{left:0;top:0;width:100%;height:100%;transform:none;overflow:hidden}

.proof{display:flex;gap:44px;align-items:center;background:var(--paper);color:var(--ink);padding:24px max(var(--gutter),env(safe-area-inset-left));border:0}
.proof>p{font-size:14px;line-height:1.4;font-weight:500;color:#40516a;max-width:14ch;flex:0 0 140px}
.proof .client-logo img{filter:brightness(0);opacity:.78}
.logo-row{gap:16px}
.client-logo{height:86px}
.client-logo-viewport{transform:scale(.78)}
.services{background:var(--paper);color:var(--ink);padding-top:86px;padding-bottom:100px}
.services em,.approach-section em,.about em{color:var(--paper-blue)}
.services .section-top>p{color:var(--ink-secondary);max-width:36ch}
.service-group{display:block;border:0;padding:0;margin-top:72px}
.service-group+.service-group{margin-top:88px}
.group-intro{display:flex;align-items:baseline;justify-content:space-between;gap:40px;padding:0;margin-bottom:28px}
.group-intro h3{max-width:25ch;color:var(--ink);font-size:28px;line-height:1.25}
.group-intro>p{max-width:40ch;margin:0;color:var(--ink-secondary);font-size:15px}
.service-list{display:grid;grid-template-columns:1.15fr 1fr;gap:22px}
.service-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:32px;border:1px solid #d9e1ef;border-radius:24px;background:#fff;color:var(--ink);transition:border-color var(--dur-press)}
.service-card--wallets{grid-row:span 2;background:#e7eefb;min-height:590px;padding:40px}
.service-card--tarjetas,.service-card--tokenizacion{min-height:286px;padding-right:190px;justify-content:center}
.service-card--adquirencia{background:#eaf0fc;min-height:440px;padding-top:220px}
.service-card--sinpe{background:#fff;min-height:440px;padding-top:220px}
.service-group--2 .service-list{display:block}
.service-card--kyc{min-height:300px;background:#142b58;color:#fff;padding:50px 44% 50px 40px;justify-content:center;border-color:#142b58}
.service-copy h4{font-size:27px;line-height:1.18;max-width:24ch;color:inherit}
.service-copy p{font-size:16px;line-height:1.65;color:var(--ink-secondary);margin:14px 0 0;max-width:49ch}
.service-card--wallets .service-copy h4{font-size:34px;max-width:16ch}
.service-card--wallets .service-copy{margin-top:auto}
.service-card--kyc .service-copy p{color:#cddaf0}
.service-card .service-ask{position:static;display:inline-flex;gap:20px;min-height:44px;max-width:none;border:0;color:#164ab6;font-size:14px;font-weight:500;margin-top:18px;padding:0;text-decoration:none}
.service-card--kyc .service-ask{color:#d4e3ff}
.service-card .service-ask::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:2}
.service-card:has(.service-ask:hover){border-color:#658cde}
.service-card:has(.service-ask:focus-visible){outline:3px solid #2864e8;outline-offset:4px}
.service-card .service-ask:focus-visible{outline:none}
.service-card .service-ask:hover{color:#14377a}
.service-card--kyc .service-ask:hover{color:#fff}
.service-card .service-ask .i{transition:transform var(--dur-press) var(--ease-out)}
.service-card .service-ask:hover .i{transform:translate(2px,-2px)}
.service-art{display:block;position:absolute;z-index:-1;pointer-events:none;color:#3d67b8;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;width:260px;height:200px;right:16px;top:16px}
.service-art .art-accent{fill:#c8d9fb;stroke:#285cc6}
.service-card--wallets .service-art{position:relative;width:100%;height:275px;top:auto;right:auto;margin:-18px 0 12px}
.service-card--tarjetas .service-art,.service-card--tokenizacion .service-art{width:180px;height:160px;top:50%;right:0;transform:translateY(-50%)}
.service-card--adquirencia .service-art,.service-card--sinpe .service-art{width:290px;height:218px;left:50%;right:auto;top:8px;transform:translateX(-50%)}
.service-card--kyc .service-art{width:36%;height:100%;right:3%;top:0;color:#a0bded}
.service-card--kyc .service-art .art-accent{fill:#315aab;stroke:#adcaff}

.automation{background:#102d69;border:0;padding-top:100px;padding-bottom:100px}
.automation h2 em{color:#a9c8ff}
.automation p{color:#d4e0f6}
.automation .service-ask{color:#e7f0ff;border-color:#9fbbee70}
.automation-grid{grid-template-columns:1fr 1fr;gap:100px}
.auto-list{position:relative;padding:20px 0 20px 42px;display:flex;flex-direction:column;gap:36px}
.auto-list::before{content:"";position:absolute;left:14px;top:42px;bottom:44px;border-left:1px solid #7098e0}
.auto-list li,.auto-list li:first-child{position:relative;border:0;padding:14px 0;font-size:24px;line-height:1.45;max-width:24ch;color:#edf3ff}
.auto-list li::before{content:"";position:absolute;left:-36px;top:25px;width:15px;height:15px;border:1px solid #afcaff;border-radius:50%;background:#102d69}
.auto-list li:nth-child(2){margin-left:40px}
.auto-list li:nth-child(2)::before{left:-76px}
.auto-list li:nth-child(2)::after{content:"";position:absolute;left:-61px;top:32px;width:48px;border-top:1px solid #7098e0}

.approach-section{background:#fff;color:var(--ink);grid-template-columns:.85fr 1.3fr;gap:100px;padding-top:112px;padding-bottom:112px}
.approach-intro>p,.approach p{color:var(--ink-secondary)}
.approach{gap:50px 44px}
.approach article{padding:0;border:0}
.approach article:nth-child(even){padding-top:54px}
.approach h3{font-size:25px;color:#183e84;max-width:18ch}
.approach p{font-size:16px;max-width:32ch}
.about{background:var(--paper);color:var(--ink);border:0}
.about-copy p,.location{color:var(--ink-secondary)}
.about-copy p:first-child{color:#273a55}
.partners{border-color:#dbe2ed}
.partners>h3{color:#4c5b70}
.partners .client-logo img{filter:brightness(0);opacity:.78}
.partners .client-logo-viewport{mix-blend-mode:multiply}
.partners .client-logo img[src$="smartbots.png"],.partners .client-logo img[src$="tag-systems.png"]{filter:grayscale(1) brightness(.65) contrast(18);mix-blend-mode:multiply;opacity:.85}
.services :focus-visible,.proof :focus-visible,.approach-section :focus-visible,.about :focus-visible{outline-color:#2254c7}

@media(min-width:1500px){.hero-main{padding-top:60px}.service-card--wallets{min-height:610px}}
@media(max-width:1200px){
 .service-card--tarjetas,.service-card--tokenizacion{padding:26px 145px 26px 26px}
 .service-card--tarjetas .service-art,.service-card--tokenizacion .service-art{width:140px;height:150px}
 .service-copy h4{font-size:24px}.proof{gap:20px}.client-logo-viewport{transform:scale(.66)}
 .automation-grid,.approach-section{gap:55px}
}
@media(max-width:900px){
 .hero{padding-top:180px;min-height:100svh}.hero h1{font-size:clamp(3.5rem,7.6vw,4.6rem)}
 .hero-main{padding-bottom:90px}.hero-lede{max-width:48ch}.hero-action{gap:24px}
 .proof{display:block;padding-top:24px;padding-bottom:20px}.proof>p{max-width:none;margin:0 0 12px}
 .service-list{grid-template-columns:1fr 1fr}.service-card--wallets{grid-column:1 / -1;grid-row:auto;min-height:330px;padding:40px 45% 40px 32px;justify-content:center}
 .service-card--wallets .service-art{position:absolute;right:0;top:0;width:42%;height:100%;margin:0}
 .service-card--wallets .service-copy{margin:0}.service-card--wallets .service-copy h4{font-size:30px}
 .service-card--tarjetas,.service-card--tokenizacion{padding:170px 28px 28px;min-height:400px;justify-content:flex-start}
 .service-card--tarjetas .service-art,.service-card--tokenizacion .service-art{width:230px;height:170px;top:0;left:50%;right:auto;transform:translateX(-50%)}
 .group-intro{display:block}.group-intro>p{margin-top:12px;max-width:60ch}
 .service-card--kyc{padding-left:32px}.automation-grid{gap:40px}.auto-list li{font-size:22px}
 .approach-section{grid-template-columns:1fr;gap:50px}.approach-intro{max-width:700px}
}
@media(max-width:760px){
 .hero{min-height:100svh;padding:calc(var(--header-h) + var(--inset) + 64px) var(--gutter) 108px;gap:0}
 .hero-main{padding:20px 0;gap:26px}.hero h1{font-size:clamp(2.6rem,8.4vw,3.8rem);line-height:1.08}
 .hero-decision{gap:28px}.hero-lede{font-size:17px;line-height:1.65;max-width:43ch}
 .hero-action{flex-wrap:wrap;gap:14px 22px}.hero-action .button{font-size:15px;min-height:52px;padding:14px 22px;gap:20px}
 .hero-secondary{font-size:14px}.hero-art{inset:0}.hero-art::after{background:linear-gradient(90deg,#060b1755,transparent),linear-gradient(transparent 15%,#060b1766 48%,transparent 85%)}
 .hero-utility{bottom:20px;padding:0;margin:0}.hero-utility .motion-toggle{padding:0;font-size:11px}.hero-utility .motion-label{max-width:none;white-space:nowrap}
 .proof{padding-top:26px;padding-bottom:26px}.proof>p{font-size:14px;text-align:center;margin-bottom:16px}
 .proof .logo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:0}.proof .client-logo{flex:0 0 33.33%;height:65px}
 .client-logo-viewport{transform:scale(.6)}
 .services{padding-top:58px;padding-bottom:64px}.service-group{margin-top:48px}.service-group+.service-group{margin-top:56px}
 .group-intro{margin-bottom:24px}.group-intro h3{font-size:25px;max-width:24ch}.group-intro>p{font-size:15px}
 .service-list{display:flex;flex-direction:column;gap:18px}
 .service-card,.service-card--wallets,.service-card--tarjetas,.service-card--tokenizacion,.service-card--adquirencia,.service-card--sinpe,.service-card--kyc{padding:220px 26px 28px;min-height:0;justify-content:flex-start;border-radius:22px}
 .service-card--wallets .service-art,.service-card--tarjetas .service-art,.service-card--tokenizacion .service-art,.service-card--adquirencia .service-art,.service-card--sinpe .service-art,.service-card--kyc .service-art{position:absolute;width:280px;height:218px;top:0;left:50%;right:auto;transform:translateX(-50%);margin:0}
 .service-card--wallets .service-copy h4,.service-copy h4{font-size:27px;max-width:22ch}.service-copy p{font-size:16px;line-height:1.65}
 .service-card .service-ask{margin-top:18px;gap:20px;font-size:14px;max-width:none}
 .automation{padding:72px 0}.automation-grid{grid-template-columns:1fr;gap:30px}.auto-list{padding:8px 0 8px 40px;gap:22px}
 .auto-list li{font-size:22px;padding:14px 0;max-width:25ch}.auto-list::before{top:31px;bottom:44px}
 .approach-section{padding-top:72px;padding-bottom:72px;gap:42px}.approach{gap:32px;grid-template-columns:1fr}
 .approach article:nth-child(even){padding-top:0}.approach h3{font-size:24px;max-width:26ch}.approach p{max-width:50ch;margin-top:12px}
 .partners .client-logo-viewport{transform:scale(.6)}
}
@media(max-width:400px){
 .hero h1{font-size:clamp(2.35rem,9.2vw,2.6rem)}.hero-action{gap:12px 18px}
 .client-logo-viewport,.partners .client-logo-viewport{transform:scale(.49)}
 .service-card,.service-card--wallets,.service-card--tarjetas,.service-card--tokenizacion,.service-card--adquirencia,.service-card--sinpe,.service-card--kyc{padding-left:22px;padding-right:22px}
 .service-art{max-width:100%}.auto-list li:nth-child(2){margin-left:16px}.auto-list li:nth-child(2)::before{left:-52px}.auto-list li:nth-child(2)::after{left:-37px;width:24px}
}
@media(prefers-reduced-motion:reduce){.header{transition:none}.service-card .service-ask .i{transition:none;transform:none}}

/* Contact: a compact, light closing section with two clear ways to begin. */
.contact{background:#fff;color:var(--ink);padding-top:96px;padding-bottom:100px;color-scheme:light}
.contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(48px,7vw,112px);align-items:start}
.contact h2{font-size:clamp(2.75rem,4vw,3.6rem);line-height:1.08;letter-spacing:-.04em}
.contact h2 em{color:var(--paper-blue)}
.contact-intro>p{font-size:17px;line-height:1.7;color:var(--ink-secondary);max-width:34ch;margin:24px 0 28px}
.contact .email{font-size:22px;color:var(--ink);border-color:#bdc9dc;margin-top:36px;gap:22px}
.contact .email .i{color:var(--paper-blue)}
.contact .email:hover{color:var(--paper-blue);border-color:var(--paper-blue)}
.contact .address{color:var(--ink-secondary)!important;font-size:14px!important;line-height:1.7;margin:14px 0 0!important}
.contact form{min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink)}
.contact .form-title{font-size:24px;line-height:1.35;margin:0 0 26px;letter-spacing:-.025em}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;margin-bottom:24px}
.contact-field{min-width:0}
.contact-field--message{grid-column:1 / -1}
.contact label{font-size:14px;font-weight:500;line-height:1.4;color:#344661;margin:0 0 9px}
.contact .opt{font-weight:400;color:#5b6a80}
.contact .req{color:#2254c7}
.contact input,.contact select,.contact textarea{width:100%;margin:0;padding:13px 14px;min-height:50px;border:1px solid #7c8da7;border-radius:9px;background:#fafbfd;color:var(--ink);font-size:16px;line-height:1.45;caret-color:var(--paper-blue);box-shadow:none;transition:border-color var(--dur-press),background-color var(--dur-press)}
.contact textarea{min-height:120px;resize:vertical}
.contact input::placeholder,.contact textarea::placeholder{color:#5c6b80;opacity:1}
.contact select{padding-right:40px;text-overflow:ellipsis}
.contact select option{background:#fff;color:var(--ink)}
.contact .select-wrap::after{border-color:#4c5b70;top:19px}
.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:#2254c7;background:#fff;box-shadow:none;outline:2px solid #2254c7;outline-offset:2px}
.contact [aria-invalid=true]{border-color:#b02727;background:#fffafa}
.contact .field-error{color:#ac2525;margin:7px 0 0;font-size:13px}
.contact .field-hint{color:#4c5b70;margin:8px 0 0;font-size:13px;line-height:1.5}
.contact .field-hint:empty{display:none}
.contact .form-error{color:#ac2525;margin:0 0 16px}
.contact form>.button{width:auto;min-width:200px;padding:14px 24px}
.contact .preview-note{max-width:55ch;color:#56647a;font-size:13px;line-height:1.55;margin:14px 0 0;padding:0;border:0;border-radius:0;background:none}
.contact .draft{margin-top:28px;padding:26px 0 0;border:0;border-top:1px solid #c8d2e0;border-radius:0;background:transparent}
.contact .draft h3:focus{outline:2px solid #2254c7;outline-offset:6px}
.contact .draft h3{color:var(--ink);font-size:22px}
.contact .draft>p{color:var(--ink-secondary)}
.contact .draft textarea{min-height:240px;margin:0 0 16px;font-size:14px;line-height:1.6;background:var(--paper)}
.contact .draft-actions{gap:12px 20px}
.contact .button--ghost{background:#edf2fb;color:#19469f;border:1px solid #9aaccb}
.contact .button--ghost:hover{background:#dfe9fb;color:#14377a}
.contact .text-button{color:#19469f;min-height:44px;text-underline-offset:5px}
.contact .text-button:hover{color:#102d69}
.contact .draft-status{color:#28538f}
.contact :focus-visible{outline-color:#2254c7}
.contact ::selection{background:#cadcff;color:#101a2c}

/* Restrained signals repeat the hero's line language without moving the cards. */
.signal-route,.signal-check{opacity:0;pointer-events:none;stroke:#1746a1;stroke-width:2.5;fill:none}
.service-card--kyc .signal-check{stroke:#fff}
@keyframes transfer-signal{0%{stroke-dashoffset:1;opacity:0}15%{opacity:.85}80%{opacity:.85}100%{stroke-dashoffset:0;opacity:0}}
@keyframes confirm-signal{0%{stroke-dashoffset:1;opacity:0}20%{opacity:1}70%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:no-preference){
 html[data-motion=playing]:not([data-nav]) [data-detail-motion=playing] .signal-route{stroke-dasharray:.18 .82;animation:transfer-signal 1400ms cubic-bezier(.22,.61,.36,1) both}
 html[data-motion=playing]:not([data-nav]) [data-detail-motion=playing] .signal-check{stroke-dasharray:1;animation:confirm-signal 1100ms cubic-bezier(.22,.61,.36,1) both}
}
@media(max-width:1000px){
 .contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px}
 .contact-form-grid{grid-template-columns:1fr;gap:20px}
 .contact h2{font-size:3rem}
}
@media(max-width:760px){
 .contact{padding-top:64px;padding-bottom:64px}
 .contact-grid{grid-template-columns:1fr;gap:44px}
 .contact h2{font-size:clamp(2.65rem,8vw,3.25rem)}
 .contact-intro>p{max-width:42ch;margin:20px 0 24px}
 .contact .email{margin-top:28px;font-size:22px}
 .contact .form-title{font-size:22px;margin-bottom:24px}
 .contact-form-grid{gap:20px}
 .contact form>.button{width:100%}
 .contact .preview-note{font-size:13px;max-width:48ch}
 .contact .draft{padding-top:24px}
 .contact .draft-actions{align-items:flex-start}
}

/* Owner reference: sparse two-message hero and TalkLogic circuit lines. */
.hero{justify-content:center;min-height:100svh;gap:0;padding:calc(var(--header-h) + var(--inset) + 68px) var(--gutter) 124px}
.hero-main{padding:30px 0 0;gap:34px;max-width:660px}
.hero-copy{min-height:235px}
.hero h1{font-size:clamp(3rem,4.3vw,4.1rem);font-weight:400;line-height:1.14;letter-spacing:-.025em;max-width:19ch;white-space:pre-line;margin:0}
.hero-lede{font-size:17px;line-height:1.65;max-width:39ch;margin-top:30px;color:#cbd5e5}
.hero-action{margin:0;gap:0}
.hero-action .button{min-height:54px;padding:15px 25px;font-size:15px}
.hero-art::after{background:linear-gradient(90deg,#060b173b,transparent 68%)}
.circuit-fallback path{stroke:#527ace;stroke-width:1;opacity:.42;vector-effect:non-scaling-stroke}
.hero-utility{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.hero-utility .motion-toggle{justify-self:end}
.hero-picker{display:flex;align-items:center;gap:0}
.hero-pick{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;cursor:pointer;padding:0}
.hero-pick span{width:8px;height:8px;display:block;border-radius:50%;background:#78849b;transition:background-color 220ms,transform 220ms}
.hero-pick[aria-pressed=true] span{background:#eef3ff;transform:scale(1.18)}
.hero-pick:hover span{background:#c6d5f0}
.hero-pick:focus-visible{outline:2px solid #a9c7ff;outline-offset:-4px}
html{scrollbar-gutter:stable}

/* White navigation state on scroll and open, with small link and chevron cues. */
.header{border-radius:14px;transition:transform 220ms var(--ease-out),opacity 220ms var(--ease-out),background-color 280ms,color 280ms,border-color 280ms}
.header[data-tone=light],html[data-nav] .header{background:#f8fafff5;color:var(--ink);border-color:#e4e9f0;box-shadow:0 8px 28px #10203b18}
.logo{position:relative}
.header[data-tone=light] .logo img,html[data-nav] .header .logo img{filter:brightness(0) saturate(100%);opacity:.9}
.header[data-tone=light] .logo::after,html[data-nav] .logo::after{content:"";position:absolute;inset:0;background:url("/assets/logo-transparent.png") center / contain no-repeat;clip-path:inset(0 76% 0 0)}
.header[data-tone=light] .nav-trigger,.header[data-tone=light] .nav-link,html[data-nav] .nav-trigger,html[data-nav] .nav-link{color:#35445b}
.header[data-tone=light] .nav-trigger:hover,.header[data-tone=light] .nav-link:hover,html[data-nav] .nav-trigger:hover,html[data-nav] .nav-link:hover,html[data-nav] .nav-trigger[aria-expanded=true]{background:#e8eef8;color:#173f96}
.header[data-tone=light] .nav-trigger .i,html[data-nav] .nav-trigger .i{color:#2254c7}
.header[data-tone=light] .language-switch,html[data-nav] .language-switch{color:#52647d}
.header[data-tone=light] .language-switch a,html[data-nav] .language-switch a{color:#52647d}
.header[data-tone=light] .language-switch a[aria-current],html[data-nav] .language-switch a[aria-current]{color:#15233b}
.header[data-tone=light] .nav-cta,html[data-nav] .nav-cta{background:#2254c7;color:#fff}
.header[data-tone=light] .nav-cta:hover,html[data-nav] .nav-cta:hover{background:#1944a8}
.header[data-tone=light] :focus-visible,html[data-nav] .header :focus-visible{outline-color:#2254c7}
.nav-panel{background:#fafbfe;color:var(--ink);border:1px solid #e0e6ef;border-radius:14px;box-shadow:0 20px 55px -20px #06142e55;transform:translateY(6px)}
.nav-panel-grid{max-width:none;gap:32px 44px}
.nav-col-title{color:#2254c7}
.nav-col a{position:relative;color:#45556d;background:transparent;border-radius:5px;width:fit-content}
.nav-col a:hover{color:#153c86;background:transparent}
.nav-col a::after{content:"";position:absolute;left:12px;bottom:5px;width:24px;height:1px;background:#2254c7;transform:scaleX(0);transform-origin:left;transition:transform 280ms var(--ease-out)}
.nav-col a:hover::after,.nav-col a:focus-visible::after{transform:scaleX(1)}
.nav-col a.nav-all{color:#2254c7}
.panel-close{color:#4b5d76;border-color:transparent;background:transparent}
.panel-close:hover{color:#173f96;border-color:transparent;background:#e7edf7}
.nav-backdrop{background:#06102177;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.menu-button{position:relative}
.menu-button .i,.menu-word{display:none!important}
.menu-button::before,.menu-button::after{content:"";position:absolute;left:14px;right:14px;height:1px;background:currentColor;transition:transform 220ms var(--ease-out)}
.menu-button::before{transform:translateY(-3px)}
.menu-button::after{transform:translateY(3px)}
.menu-button[aria-expanded=true]::before{transform:rotate(45deg)}
.menu-button[aria-expanded=true]::after{transform:rotate(-45deg)}
.header[data-tone=light] .menu-button,html[data-nav] .menu-button{color:#193a73;border-color:#91a4c3}

/* A compact closing invitation opens an intentional three-question dialog. */
.contact-closing{padding-top:92px;padding-bottom:96px}
.contact-closing-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center}
.contact-closing h2{max-width:19ch}
.contact-closing-grid>div>p{color:var(--ink-secondary);font-size:17px;margin:24px 0 28px;max-width:40ch}
.contact-closing .contact-alternatives>p:first-child{margin:0 0 14px;font-size:16px}
.contact-booking{display:inline-flex;align-items:center;gap:30px;min-height:44px;color:#2254c7;font-size:21px}
.contact-booking:hover{color:#163b8c;text-decoration:underline;text-underline-offset:6px}
.contact-closing .email{font-size:19px;margin-top:30px}
.inquiry-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(720px,calc(100% - 40px));max-width:720px;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #dfe5ef;border-radius:18px;background:#fafbfd;color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 24px 90px #09172e4d;scrollbar-color:#8b9dbb transparent;scrollbar-width:thin}
.inquiry-dialog:not([open]){display:none}
.inquiry-dialog [hidden]{display:none!important}
.inquiry-dialog::backdrop{background:#0c182b8a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html[data-inquiry]{overflow:hidden}
.inquiry-top{position:sticky;top:0;z-index:2;background:#fafbfd;display:flex;align-items:center;gap:16px;padding:18px 26px 14px}
.inquiry-brand{font-size:17px;font-weight:650;letter-spacing:.015em;display:flex;gap:10px;align-items:baseline;color:#173f96}
.inquiry-brand>span{font-size:12px;font-weight:400;letter-spacing:0;color:#53647c}
.inquiry-count{margin-left:auto;color:#53647c;font-size:13px;white-space:nowrap}
.inquiry-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;background:transparent;color:#425675;border-radius:50%;cursor:pointer;font-size:20px;transition:background-color 120ms,color 120ms}
.inquiry-close:hover{background:#e6edf7;color:#153f9a}
.inquiry-progress{height:2px;background:#dce3ee;margin:0 32px}
.inquiry-progress span{display:block;height:100%;background:#2e62d5;transform:scaleX(.3333);transform-origin:left;transition:transform 280ms var(--ease-out)}
.inquiry-dialog[data-step="1"] .inquiry-progress span{transform:scaleX(.6666)}
.inquiry-dialog[data-step="2"] .inquiry-progress span,.inquiry-dialog[data-step="3"] .inquiry-progress span{transform:scaleX(1)}
.inquiry-body{padding:32px 42px 36px}
.inquiry-dialog h2{font-size:32px;line-height:1.2;letter-spacing:-.025em;max-width:23ch;margin:0 0 26px;font-weight:450}
.inquiry-dialog h2:focus{outline:none}
.inquiry-description{color:#53647c;font-size:16px;margin:-10px 0 22px}
.inquiry-step{min-height:260px}
.inquiry-choices{padding:0;margin:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.inquiry-dialog .inquiry-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:61px;margin:0;padding:12px 15px;border:1px solid #7c8da7;border-radius:8px;background:#fff;color:#283d5c;font-size:14px;line-height:1.3;font-weight:400;cursor:pointer;transition:border-color 120ms,background-color 120ms}
.inquiry-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0;margin:0;pointer-events:none}
.inquiry-choice span{flex:1}
.inquiry-choice .i{opacity:0;color:#2254c7;transform:translateX(-3px);transition:opacity 120ms,transform 120ms}
.inquiry-choice:hover{border-color:#5f7cad;background:#f2f6fd}
.inquiry-choice:has(input:checked){background:#e8f0ff;border-color:#2254c7;color:#173f96}
.inquiry-choice:has(input:checked) .i{opacity:1;transform:none}
.inquiry-choice:has(input:focus-visible){outline:2px solid #2254c7;outline-offset:3px}
.inquiry-dialog #f-message{min-height:210px}
.inquiry-dialog .contact-form-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0}
.inquiry-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px}
.inquiry-actions>[data-draft-submit]{margin-left:auto;min-width:158px}
.inquiry-back{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.inquiry-back .i{transform:rotate(180deg)}
.inquiry-dialog .preview-note{margin:16px 0 0;max-width:none}
.inquiry-dialog .draft{margin:0;padding:0;border:0}
.inquiry-dialog .draft>p{margin:0 0 20px}
.inquiry-dialog .draft textarea{min-height:250px;max-height:45dvh}
.inquiry-dialog .draft-actions{justify-content:space-between;align-items:center}
@keyframes inquiry-enter{from{opacity:.4;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@keyframes inquiry-step{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
 html[data-motion=playing] .inquiry-dialog[open]{animation:inquiry-enter 280ms var(--ease-out)}
 html[data-motion=playing] .inquiry-step:not([hidden]){animation:inquiry-step 220ms var(--ease-out)}
}
@media(max-width:1060px){
 .menu-button{width:46px;padding:0;justify-content:center}
 .header[data-menu=open] .site-nav{background:#fafbfe;color:var(--ink);border-color:#e0e6ef;box-shadow:0 20px 55px -20px #06142e55;border-radius:14px}
 .nav-panel{background:transparent;border:0;box-shadow:none;transform:none}
 .nav-col-title{font-size:15px;letter-spacing:0;text-transform:none;color:#2254c7;margin-bottom:8px}
 .nav-col a{font-size:15px;color:#45556d;max-width:100%}
 .nav-group{border-color:#dce3ef}
 .nav-panel-grid{gap:22px}
 .site-nav .menu-cta{color:#fff}
}
@media(max-width:760px){
 .hero{padding:calc(var(--header-h) + var(--inset) + 76px) var(--gutter) 118px;min-height:100svh}
 .hero-main{padding:0;gap:28px;max-width:none}
 .hero-copy{min-height:200px}
 .hero h1{font-size:clamp(2.4rem,8.7vw,3.3rem);max-width:19ch;line-height:1.18}
 .hero-lede{font-size:16px;line-height:1.65;max-width:32ch;margin-top:24px}
 .hero-action .button{font-size:14px;padding:14px 20px;gap:20px;min-height:52px}
 .hero-art::after{background:linear-gradient(90deg,#060b174a,transparent)}
 .hero-utility{grid-template-columns:44px 1fr auto;gap:8px;bottom:20px}
 .hero-picker{justify-self:center}
 .hero-utility .motion-toggle{font-size:10px;gap:6px}
 .hero-utility .motion-label{font-size:10px}
 .contact-closing{padding-top:64px;padding-bottom:64px}
 .contact-closing-grid{grid-template-columns:1fr;gap:48px}
 .contact-closing-grid>div>p{margin:20px 0 26px}
 .contact-booking{font-size:20px}
 .inquiry-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:14px}
 .inquiry-top{padding:12px 14px 10px;gap:10px}
 .inquiry-brand{font-size:16px;gap:7px}.inquiry-brand>span{font-size:10px}
 .inquiry-count{font-size:12px}
 .inquiry-progress{margin:0 22px}
 .inquiry-body{padding:26px 22px 28px}
 .inquiry-dialog h2{font-size:27px;line-height:1.2;margin-bottom:24px;max-width:22ch}
 .inquiry-description{font-size:14px;margin-bottom:18px}
 .inquiry-dialog .inquiry-choice{padding:12px 10px;min-height:66px;font-size:13px;gap:5px}
 .inquiry-choice .i{width:13px}
 .inquiry-choices{gap:8px}
 .inquiry-dialog .contact-form-grid{grid-template-columns:1fr;gap:18px}
 .inquiry-step{min-height:0}
 .inquiry-actions{margin-top:24px;gap:16px}
 .inquiry-actions>[data-draft-submit]{min-width:0;padding:14px 16px;font-size:14px;gap:12px;white-space:nowrap;flex-shrink:0}
 .inquiry-dialog #f-message{min-height:180px}
 .inquiry-dialog .draft textarea{max-height:none;min-height:220px}
 .inquiry-dialog .draft-actions{gap:10px}
}
@media(prefers-reduced-motion:reduce){.hero-pick span,.inquiry-progress span,.menu-button::before,.menu-button::after,.nav-col a::after{transition:none}}
