/* v0.5: a continuous dark world; actions reveal the next part of the business. */
.hero-map-launch { position:absolute; left:24px; right:24px; bottom:20px; z-index:3; padding:17px 18px; background:#102b41; display:flex; justify-content:space-between; align-items:center; gap:16px; border:1px solid #3f6679; border-radius:9px; }
.hero-map-launch>span { font-size:11px; color:#b3c9dc; }
.hero-map-launch>strong { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:500; color:var(--cyan); }
.hero-map-launch:hover { background:#173b4b; }
.hero-map-launch .k-icon { width:19px; transition:transform 250ms var(--ease); }
.hero-map-launch:hover .k-icon { transform:translateX(5px); }
.map-section { background:#09192b; }
.map-intro h2 { letter-spacing:-.04em; }
.problem-section,.example-section,.method-section,.contact-section { color:var(--cloud); border-block:1px solid var(--line); }
.problem-section { background:#09192b; padding-block:100px; }
.problem-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:8%; align-items:center; }
.problem-copy h2 { font-size:clamp(39px,4.3vw,64px); line-height:1.1; letter-spacing:-.04em; }
.problem-copy h2 em,.example-copy h2 em,.method-heading h2 em { color:var(--cyan); }
.problem-copy>p { color:#b6cbdd; font-size:17px; line-height:1.65; margin-top:25px; }
.problem-copy>.agency-question { color:var(--cloud); font-size:19px; line-height:1.55; max-width:45ch; }
.report-scene { min-width:0; }
.report-perspective { position:relative; height:350px; perspective:850px; }
.report-orbit { position:absolute; inset:60px 20px 35px; border:1px solid #3f6479; border-radius:50%; transform:rotateX(55deg) rotateZ(-13deg); transition:transform 800ms var(--ease),border-color 700ms; }
.report-center { position:absolute; left:calc(50% - 48px); top:127px; width:96px; height:100px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; background:#343b7b; color:#e3e1ff; box-shadow:8px 15px 32px #0005; transform:rotateY(-16deg) rotateX(10deg); transition:background 500ms,transform 700ms var(--ease); z-index:3; }
.report-center .k-icon { width:32px; height:32px; }
.report-center span { font-size:8px; letter-spacing:.05em; }
.report-chip { position:absolute; padding:15px; min-width:128px; display:grid; gap:8px; background:#163047; color:#c0d0e1; box-shadow:10px 17px 25px #0003; transition:transform 650ms var(--ease),background 450ms; z-index:4; }
.report-chip .k-icon { color:#b5aefa; width:22px; height:22px; }
.report-chip strong { font-size:14px; font-weight:500; }
.report-chip small { font-size:10px; color:#b6c9dc; }
.report-chip-one { top:45px; left:0; transform:rotate(-8deg); }
.report-chip-two { top:30px; right:5%; transform:rotate(8deg); }
.report-chip-three { bottom:18px; right:8%; transform:rotate(-7deg); }
.report-connections { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:#26d9c7; stroke-width:1.5; stroke-dasharray:6 8; opacity:.22; transition:opacity 400ms; }
[data-report-view="sales"] .report-chip { transform:rotate(0); background:#17414a; }
[data-report-view="sales"] .report-chip .k-icon { color:var(--cyan); }
[data-report-view="sales"] .report-center { background:var(--cyan); color:var(--ink); transform:rotateY(0) rotateX(0); }
[data-report-view="sales"] .report-orbit { transform:rotateX(48deg) rotateZ(0); border-color:#26d9c780; }
[data-report-view="sales"] .report-connections { opacity:.85; }
.report-scene.motion-inview[data-report-view="sales"] .report-connections { animation:route-flow 2.5s linear infinite; }
.report-controls { display:flex; border:1px solid #3f6078; border-radius:7px; padding:4px; gap:4px; }
.report-controls button { display:flex; justify-content:center; align-items:center; gap:9px; flex:1; padding:13px 8px; border:0; border-radius:4px; background:transparent; color:#b6cddd; cursor:pointer; font-size:12px; }
.report-controls button[aria-pressed="true"] { background:var(--cyan); color:var(--ink); }
.report-controls .k-icon { width:16px; height:16px; }
#report-caption { min-height:45px; color:#bfd0e0; line-height:1.6; font-size:12px; margin:18px 0 0; }
.ally-statement { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding-top:55px; margin-top:45px; border-top:1px solid #375069; align-items:center; }
.ally-statement h3 { font-family:Manrope,sans-serif; font-size:clamp(27px,3vw,43px); font-weight:500; line-height:1.2; letter-spacing:-.035em; margin:0; }
.ally-statement h3 em { color:var(--cyan); font-style:normal; }
.ally-statement p { color:#bfd0e0; line-height:1.75; font-size:15px; margin:0; }
.marketing-employee { max-width:900px; margin:65px auto 0; color:#e0e9f1; font-size:clamp(21px,2.2vw,32px); line-height:1.45; font-family:Manrope,sans-serif; text-align:center; }
.problem-path { margin-top:50px; border-color:#365069; position:relative; }
.problem-path div+div { border-color:#365069; }
.problem-path small { color:#abc2d6; }
.problem-path .k-icon { color:var(--cyan); }
.problem-path::before { content:''; position:absolute; left:0; right:0; top:-1px; height:2px; background:var(--cyan); transform:scaleX(var(--journey-progress,0)); transform-origin:left; }
.problem-path strong { letter-spacing:-.03em; }
.example-section { background:#0d2136; }
.example-copy>p:first-child,.example-track span { color:var(--cyan); }
.example-copy>p:nth-of-type(2),.example-copy small { color:#b8cddd; }
.example-copy h2 { letter-spacing:-.04em; }
.example-track,.example-track div { border-color:#3c5870; }
.example-track>p { background:#153b47; color:#d0e6e6; }
.example-track div { position:relative; transition:background 350ms; }
.example-track div::before { content:''; width:4px; position:absolute; left:-15px; top:0; bottom:0; background:var(--cyan); transform:scaleY(var(--step-progress,0)); transform-origin:top; }
.method-section { background:#09192b; }
.method-mark { color:var(--cyan); }
.method-heading h2 { letter-spacing:-.04em; }
.method-heading p,.method-steps p { color:#b5cadd; }
.method-steps,.method-steps li,.method-steps li+li { border-color:#36516b; }
.method-steps li>span { color:var(--cyan); }
.method-steps li { position:relative; }
.method-steps li::before { content:''; height:3px; background:var(--cyan); position:absolute; top:-1px; left:0; right:0; transform:scaleX(var(--step-progress,0)); transform-origin:left; }
.method-steps h3 { letter-spacing:-.035em; }
.contact-section { background:#0d2537; }
.contact-copy>span { color:var(--cyan); }
.contact-copy>p,.contact-copy small,.booking-content>p { color:#b6cddd; }
.contact-preview-action { background:var(--cyan); color:var(--ink); }
.contact-preview-action span { color:var(--ink); }
.contact-preview-action:hover { background:#8ae9de; }
.contact-whatsapp,.booking-fallback a { color:var(--cyan); }
.contact-section :focus-visible { outline-color:var(--cyan); }
.booking-panel { border-color:#3c6070; }
.contact-questions { background:#132f43; }
.ecosystem-navigation { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; margin:32px 0 0; }
.ecosystem-navigation button { position:relative; display:flex; flex-direction:column; align-items:center; gap:15px; padding:21px 10px; background:#0b2032; color:#c5d5e3; border:1px solid #3d5c71; border-radius:9px; font-size:12px; cursor:pointer; transition:background 250ms,color 250ms,transform 300ms var(--ease); }
.ecosystem-navigation button>.k-icon { width:29px; height:29px; color:#a5b0f7; transition:transform 350ms var(--ease); }
.ecosystem-navigation button:hover>.k-icon { transform:translateY(-4px) scale(1.08); }
.ecosystem-navigation button[aria-pressed="true"] { color:var(--cyan); background:#173e48; border-color:var(--cyan); }
.ecosystem-navigation button[aria-pressed="true"]>.k-icon { color:var(--cyan); }
.ecosystem-interactive .ecosystem-channels { display:block; padding:0; border:0; }
.ecosystem-interactive .ecosystem-channel { display:grid; grid-template-columns:76px 1fr; gap:10px 25px; padding:32px 12px; border:0; min-height:225px; background:transparent; }
.ecosystem-interactive .ecosystem-channel[hidden] { display:none; }
.ecosystem-interactive .channel-marker { grid-row:1/4; width:76px; height:76px; display:grid; place-items:center; background:#0b2438; border-radius:12px; align-self:start; margin:0; }
.ecosystem-interactive .channel-marker .k-icon { width:39px; height:39px; }
.ecosystem-interactive .ecosystem-channel h4 { font-size:30px; margin:0; color:var(--cloud); letter-spacing:-.025em; }
.ecosystem-interactive .ecosystem-channel p { font-size:15px; color:#bdcddd; max-width:72ch; margin:0; }
.ecosystem-interactive .ecosystem-channel>span:last-child { margin:5px 0 0; color:var(--cyan); font-size:10px; }
.ecosystem-block { background:#10293a; }
.ecosystem-connection { margin-top:0; }
.service-item[open] .service-body { animation:service-open 420ms var(--ease); }
.service-item summary strong { transition:color 180ms; }
.service-item summary:hover strong { color:var(--cyan); }
.case-comparison { margin-top:40px; padding:25px 0; border-bottom:1px solid #3c585e; }
.case-comparison-title { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:25px; }
.case-comparison-title>span { font-size:16px; }
.case-comparison-title small,.case-comparison>p { color:#b8d4d0; font-size:11px; }
.comparison-row { display:grid; grid-template-columns:60px 1fr 60px; gap:20px; align-items:center; margin:15px 0; }
.comparison-row>span { font-size:12px; color:#c4dedc; }
.comparison-row>strong { font-size:16px; font-weight:500; font-variant-numeric:tabular-nums; }
.comparison-row>div { height:12px; background:#1b3941; overflow:hidden; border-radius:2px; }
.comparison-row i { display:block; height:100%; background:#8c97e9; transform:scaleX(calc(var(--bar-scale) * var(--journey-progress,0))); transform-origin:left; }
.comparison-row:nth-child(3) i { background:var(--cyan); }
.case-comparison>p { margin:24px 0 0; }
.story-art-main { background:#1b3449; color:#eef4f7; }
.story-art-main em { color:var(--cyan); }
.story-orbits { border-color:#628699; }
.team-laura { background:#244551; color:#c0e5e8; }
[data-depth] { transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform 300ms var(--ease); }
.story-art[data-depth]::after { content:''; pointer-events:none; position:absolute; inset:0; background:linear-gradient(120deg,transparent 15%,#c3ddff0c 45%,transparent 65%); transform:translateX(var(--shine-x,-20%)); transition:transform 350ms var(--ease); }
.motion-control-wrap { position:fixed; right:15px; bottom:15px; z-index:22; }
#motion-control { border:1px solid #526f83; border-radius:6px; background:#071426ed; color:#c5d9e9; padding:10px 12px; font-size:10px; min-height:36px; cursor:pointer; }
#motion-control:hover { color:var(--cyan); border-color:var(--cyan); }
.motion-paused .report-connections,.motion-paused .service-body { animation:none!important; }
.motion-paused .report-chip,.motion-paused .report-center,.motion-paused .report-orbit,.motion-paused [data-depth] { transition:none!important; transform:none!important; }
.motion-paused .comparison-row i { transform:scaleX(var(--bar-scale)); }
.motion-paused .problem-path::before,.motion-paused .method-steps li::before,.motion-paused .example-track div::before { transform:scale(1); }
@keyframes route-flow { to { stroke-dashoffset:-28; } }
@keyframes service-open { from { clip-path:inset(0 0 75% 0); opacity:.55; transform:translateY(-8px); } to { clip-path:inset(0); opacity:1; transform:none; } }
@media(min-width:1100px) { .site-header nav { gap:19px; } }
@media(max-width:1100px) { .hero-map-launch { flex-direction:column; align-items:start; gap:6px; } }
@media(max-width:760px) {
 .hero-map-launch { padding:12px 14px; left:14px; right:14px; bottom:13px; }
 .hero-map-launch>span { font-size:10px; }
 .hero-map-launch>strong { font-size:11px; }
 .problem-section { padding-block:75px; }
 .problem-layout { display:flex; flex-direction:column; gap:36px; }
 .problem-copy h2 { font-size:clamp(37px,9.5vw,57px); }
 .problem-copy>.agency-question { font-size:17px; }
 .problem-copy>p { font-size:15px; }
 .report-scene { width:100%; }
 .report-perspective { height:335px; }
 .report-chip { min-width:115px; padding:13px; }
 .report-chip strong { font-size:13px; }
 .report-chip-one { top:28px; }
 .report-chip-two { right:0; }
 .report-chip-three { right:3%; }
 .report-center { width:79px; height:89px; left:calc(50% - 39.5px); top:139px; }
 .report-center span { font-size:7px; }
 .ally-statement { grid-template-columns:1fr; gap:24px; margin-top:35px; padding-top:35px; }
 .ally-statement h3 { font-size:28px; }
 .ally-statement p { font-size:14px; }
 .marketing-employee { font-size:22px; text-align:left; margin-top:45px; }
 .problem-path div:nth-child(3),.problem-path div:nth-child(4) { border-color:#365069; }
 .ecosystem-navigation { grid-template-columns:repeat(3,1fr); gap:7px; }
 .ecosystem-navigation button { font-size:10px; gap:10px; padding:15px 6px; min-height:91px; }
 .ecosystem-navigation button>.k-icon { width:25px; height:25px; }
 .ecosystem-interactive .ecosystem-channel { grid-template-columns:42px 1fr; gap:12px; padding:28px 0; min-height:280px; }
 .ecosystem-interactive .channel-marker { width:42px; height:48px; border-radius:5px; grid-row:auto; }
 .ecosystem-interactive .channel-marker .k-icon { width:29px; height:29px; }
 .ecosystem-interactive .ecosystem-channel h4 { font-size:25px; align-self:center; }
 .ecosystem-interactive .ecosystem-channel p,.ecosystem-interactive .ecosystem-channel>span:last-child { grid-column:1/-1; }
 .ecosystem-interactive .ecosystem-channel p { font-size:14px; }
 .case-comparison-title { align-items:start; flex-direction:column; gap:10px; }
 .comparison-row { grid-template-columns:43px 1fr 49px; gap:13px; }
 .method-steps li:nth-child(3) { border-color:#36516b; }
 .example-track div::before { left:-10px; }
 #motion-control { padding:8px 10px; font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
 .report-chip,.report-center,.report-orbit,.report-connections,.service-body,[data-depth] { animation:none!important; transition:none!important; }
 [data-depth] { transform:none; }
 .problem-path::before,.method-steps li::before,.example-track div::before { transform:scale(1); }
 .comparison-row i { transform:scaleX(var(--bar-scale)); }
 .motion-control-wrap { display:none; }
}
