/* BE IN Consulting · Astra authored proposal.
   Consolidated from the public stylesheet: same dark field, white/blue type,
   system sans, floating glass header, luminous wave and pill controls.
   One type family; hierarchy comes from size, weight, tracking and opacity. */

:root{
  color-scheme:dark;
  --bg:#06080e;
  --bg-raised:#0a0e17;
  --blue:#6b9dff;
  --blue-soft:#91b6ff;
  --blue-deep:#2460e9;
  /* Text emphasis steps: headline 100%, body ~78%, supporting ~62%. */
  --t1:#f2f4f8;
  --t2:#b9c6d9;
  --t3:#a3b1c6;
  --line:rgba(207,225,255,.13);
  --line-strong:rgba(207,225,255,.22);
  --glass:linear-gradient(145deg,rgba(220,235,255,.085),rgba(135,170,255,.025));
  /* The wave's own gradient, reused as the page's rhyme. */
  --wave:linear-gradient(90deg,rgba(40,85,200,0),#4389ff 22%,#bdd9ff 50%,#4389ff 78%,rgba(40,85,200,0));
  
  --pill:40px;
  --radius:25px;
  /* Motion contract (FABLE-REPLY.md): the only durations and the only easing on the page. */
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --dur-press:120ms;
  --dur-exit:140ms;
  --dur-enter:220ms;
  /* One section rhythm: 96/48 desktop, 64/32 at phone width. */
  --section-y:96px;
  --head-gap:48px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;
  /* Full-width geometry: fluid gutter reaching 52px at 1440px, no page max-width. */
  --gutter:clamp(20px,3.6vw,52px);
  --inset:16px;
  --header-h:70px;
}

*{box-sizing:border-box}
html{scrollbar-color:#526a91 #06080e;scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--t1);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;isolation:isolate}
/* Quiet film grain over the field, below content. */
::selection{background:#2f63d8;color:#fff}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
:focus-visible{outline:2px solid #92baff;outline-offset:4px;border-radius:6px}
img{max-width:100%}
.i{width:1em;height:1em;flex:none;display:inline-block;vertical-align:middle}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right));min-width:0}
main:focus{outline:none}

.skip{position:absolute;top:-100px;left:12px;padding:14px 18px;background:#15203a;border-radius:12px;z-index:60}
.skip:focus{top:12px}

/* ---------- Buttons ---------- */
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;padding:15px 24px;border-radius:var(--pill);border:1px solid #8bb2ff66;background:#2864e8;color:#fff;font-size:14px;font-weight:500;cursor:pointer;box-shadow:inset 0 1px 0 #ffffff45,0 8px 24px -12px #0008;transition:transform var(--dur-press) var(--ease-out),box-shadow var(--dur-press) var(--ease-out),background var(--dur-press) var(--ease-out),border-color var(--dur-press) var(--ease-out)}
.button .i{font-size:19px}
/* Hover stays at or above 4.5:1 with white text (#2f6bec = 4.73; the inherited lighter hover measured 4.28). */
.button:hover{background:#2f6bec;transform:translateY(-1px);box-shadow:inset 0 1px 0 #ffffff66,0 10px 24px -12px #0008}
.button:active{transform:translateY(0)}
.button--ghost{background:linear-gradient(145deg,#ffffff12,#ffffff04);border-color:#ffffff26;box-shadow:inset 0 1px 0 #ffffff14;color:#dfe7f4}
.button--ghost:hover{background:#ffffff18;box-shadow:inset 0 1px 0 #ffffff1c,0 10px 30px -10px #0008}
.text-button{background:none;border:0;padding:12px 4px;min-height:44px;color:#c9d8f2;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ffffff40}
.text-button:hover{color:#fff}

/* ---------- Header ---------- */
.header{position:fixed;top:var(--inset);left:var(--inset);right:var(--inset);z-index:40;display:flex;align-items:center;gap:24px;height:var(--header-h);padding:0 max(10px,calc(var(--gutter) - var(--inset) - 6px)) 0 max(12px,calc(var(--gutter) - var(--inset)));background:linear-gradient(115deg,rgba(38,45,62,.72),rgba(16,22,36,.58));border:1px solid rgba(220,233,255,.18);border-radius:25px;backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 40px #0005}
.logo{display:flex;align-items:center;width:164px;height:58px;flex-shrink:0}
.logo img{display:block;width:100%;height:auto;max-height:58px;object-fit:contain}
.language-switch{display:flex;align-items:center;gap:2px;font-size:12px;color:#8193ad;white-space:nowrap}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;letter-spacing:.06em}
.language-switch a:hover{color:#fff}
.language-switch a[aria-current]{color:#fff}
.nav-cta{display:inline-flex;align-items:center;gap:18px;min-height:46px;padding:0 18px 0 20px;font-size:14px;border:1px solid #ffffff24;border-radius:30px;background:linear-gradient(145deg,#ffffff14,#ffffff04);box-shadow:inset 0 1px 0 #ffffff12;transition:background var(--dur-press) var(--ease-out),border-color var(--dur-press) var(--ease-out)}
.nav-cta .i{font-size:17px}
.nav-cta:hover{background:#ffffff18;border-color:#ffffff38}
.menu-button{display:none;align-items:center;gap:8px;min-height:46px;min-width:46px;padding:0 14px;border:1px solid #ffffff24;border-radius:30px;background:linear-gradient(145deg,#ffffff14,#ffffff04);box-shadow:inset 0 1px 0 #ffffff12;cursor:pointer;font-size:13px;color:#e6edf8}
.menu-button .i{font-size:20px}
.menu-button .i-close,.menu-button[aria-expanded=true] .i-open{display:none}
.menu-button[aria-expanded=true] .i-close{display:inline-block}
/* Fable baseline navigation: two button disclosures open wide panels aligned with the header. */
.site-nav{display:flex;align-items:center;gap:2px;margin:0 auto 0 clamp(4px,1.4vw,24px);font-size:14.5px}
.nav-trigger,.nav-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:0;border-radius:14px;background:none;color:#c9d3e3;font:inherit;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color var(--dur-press) var(--ease-out),background-color var(--dur-press) var(--ease-out)}
.nav-trigger:hover,.nav-link:hover{color:#fff;background-color:#ffffff0d}
.nav-trigger[aria-expanded=true]{color:#fff;background-color:#8fb4ff24}
.nav-trigger .i{font-size:15px;color:var(--blue-soft);transition:transform var(--dur-press) var(--ease-out)}
.nav-trigger[aria-expanded=true] .i{transform:rotate(180deg)}
.nav-panel{position:absolute;top:calc(100% + 8px);left:-1px;right:-1px;padding:40px 88px 44px max(12px,calc(var(--gutter) - var(--inset)));border-radius:var(--radius);background:linear-gradient(160deg,#151d30,#0a0f1a 70%);border:1px solid rgba(220,233,255,.2);box-shadow:inset 0 1px 0 #ffffff14,0 30px 80px -20px #000c;opacity:0;transform:translateY(-8px);transition:opacity var(--dur-exit) var(--ease-out),transform var(--dur-exit) var(--ease-out);display:flex;flex-direction:column;max-height:calc(100vh - var(--inset)*2 - var(--header-h) - 8px);max-height:calc(100dvh - var(--inset)*2 - var(--header-h) - 8px)}
.nav-panel[hidden]{display:none}
.nav-panel[data-state=open]{opacity:1;transform:none;transition-duration:var(--dur-enter)}
/* Switching groups is a cut: the new panel appears in place with no replay. */
.nav-panel[data-instant]{transition:none}
.nav-panel[inert],.site-nav[inert]{pointer-events:none}
.nav-panel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(32px,5vw,96px);max-width:1240px;min-height:0;margin:0 -12px;padding:2px 12px 6px;overflow-y:auto;overscroll-behavior:contain}
@media (max-height:560px){.nav-panel{padding-top:18px;padding-bottom:18px}}
.nav-col-title{margin:0 0 10px;font-size:19px;font-weight:500;letter-spacing:-.012em;line-height:1.3;color:var(--blue-soft)}
.nav-col ul{list-style:none;margin:0;padding:0}
.nav-col a{display:flex;align-items:center;min-height:44px;margin:0 -12px;padding:4px 12px;border-radius:12px;font-size:15.5px;line-height:1.35;color:#d3dcea;overflow-wrap:anywhere;transition:color var(--dur-press) var(--ease-out),background-color var(--dur-press) var(--ease-out)}
.nav-col a:hover{color:#fff;background-color:#ffffff0d}
.nav-col a.nav-all{color:var(--blue-soft);font-weight:500}
.panel-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff1f;border-radius:50%;background:#ffffff08;color:#dfe8f7;font-size:20px;cursor:pointer;touch-action:manipulation;transition:background-color var(--dur-press) var(--ease-out),border-color var(--dur-press) var(--ease-out)}
.panel-close:hover{background-color:#ffffff18;border-color:#ffffff38}
.site-nav .menu-cta{display:none}
.site-nav :focus-visible,.menu-button:focus-visible{outline-offset:2px;border-radius:12px}
.panel-close:focus-visible{border-radius:50%}
.nav-backdrop{position:fixed;inset:0;z-index:39;background:rgba(3,5,10,.68);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity var(--dur-exit) var(--ease-out)}
html[data-nav] .nav-backdrop{opacity:1;pointer-events:auto;transition-duration:var(--dur-enter)}
html[data-nav] .header{background:linear-gradient(115deg,#1b2338,#0d1320)}
html[data-nav=sheet]{overflow:hidden}
.motion-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 14px;border:1px solid var(--line);border-radius:30px;background:#ffffff08;color:#b7c6de;font-size:12px;letter-spacing:.02em;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:color var(--dur-press) var(--ease-out),background var(--dur-press) var(--ease-out),border-color var(--dur-press) var(--ease-out)}
.motion-toggle:hover{color:#fff;background:#ffffff12;border-color:var(--line-strong)}
.motion-toggle .i{font-size:15px}
.motion-toggle .i-play{display:none}
html[data-motion=paused] .motion-toggle .i-play{display:inline-block}
html[data-motion=paused] .motion-toggle .i-pause{display:none}
.motion-toggle--quiet{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;margin-left:auto}

form{padding:32px;background:#0d1421;border:1px solid #b8d3ff28;border-radius:30px;box-shadow:none}
.preview-note{margin:0 0 24px;padding:13px 16px;border-radius:14px;border:1px solid #8bb2ff33;background:#1a3a7a26;font-size:14px;line-height:1.6;color:#c4d4ee}
.preview-note strong{font-weight:600;color:#e3ecfb}
label{display:block;font-size:14px;color:#cad4e4;margin:0 0 8px}
.req{color:var(--blue)}
.opt{color:var(--t3)}
input,select,textarea{display:block;width:100%;max-width:100%;min-width:0;margin:0 0 20px;padding:13px 14px;border:1px solid #c4d8ff22;border-radius:12px;background:#060c184a;color:var(--t1);font-size:16px;transition:background var(--dur-press) var(--ease-out)}
input::placeholder,textarea::placeholder{color:#94a4be}

input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:#689bffaa;background:#15203990;box-shadow:0 0 0 3px #3d74e833;border-radius:12px}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:#ff9d91aa}
textarea{resize:vertical;min-height:112px;line-height:1.6}
.select-wrap{position:relative}
.select-wrap::after{content:"";position:absolute;right:18px;top:20px;width:8px;height:8px;border-right:1.5px solid #a9bcda;border-bottom:1.5px solid #a9bcda;transform:rotate(45deg);pointer-events:none}
select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer}
select option{background:#111827;color:#f2f4f8}
.field-hint{margin:-12px 0 20px;font-size:13px;line-height:1.5;color:#a9c3ea}
.field-hint:empty{display:none}
.form-error{margin:0 0 16px;font-size:14px;line-height:1.55;color:#ffc0b8}
form>.button{width:100%;margin-top:4px}
.draft{margin-top:26px;padding:22px;border-radius:20px;border:1px solid #8bb2ff40;background:linear-gradient(160deg,#16274a80,#0a111f99);position:relative}

.draft h3{font-size:20px;letter-spacing:-.02em}
.draft h3:focus{outline:2px solid var(--blue-soft);outline-offset:6px}
.draft>p{margin:8px 0 16px;font-size:14px;line-height:1.6;color:var(--t2)}
.draft textarea{margin-bottom:14px;font-size:14px;line-height:1.65;background:#04070ecc;resize:vertical;min-height:220px}
.draft-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.draft-actions .button{gap:10px;justify-content:center}
.draft-status{margin:12px 0 0;font-size:13px;color:#b4dcff}
.draft-status:empty{display:none}

/* ---------- Footer ---------- */
.site-footer{padding:64px 0 24px;border-top:1px solid var(--line);background:var(--bg)}
.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1.3fr;gap:64px}
.footer-grid>*{min-width:0}
.site-footer .logo{width:184px;height:64px;margin-bottom:16px}
.footer-title{font-size:15px;font-weight:500;letter-spacing:0;margin:0 0 18px}
.site-footer p,.site-footer address{margin:0 0 12px;font-size:14px;font-style:normal;line-height:1.9;color:var(--t3)}
.footer-grid>div>a:not(.logo){display:flex;align-items:center;min-height:44px;width:max-content;max-width:100%;font-size:14px;color:#bbc9df}
.footer-grid a:hover{color:#fff}
.site-footer .social-link{gap:10px;margin-top:12px;padding:0 14px;min-height:44px;border:1px solid var(--line);border-radius:14px;font-size:13px;color:#b4c5df;transition:border-color var(--dur-press) var(--ease-out),color var(--dur-press) var(--ease-out)}
.social-link .i{font-size:18px}
.social-link:hover{border-color:#8aa7d466}
.footer-bottom{display:flex;align-items:center;gap:24px;margin-top:44px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:#8b9bb3}

/* ---------- Legal pages ---------- */
.legal-page{max-width:920px;margin-left:var(--gutter);padding-top:calc(var(--inset) + var(--header-h) + 48px);padding-bottom:100px}
.legal-preview-note{display:inline-block;margin:0 0 28px!important;padding:10px 14px;border:1px solid #8bb2ff33;border-radius:12px;background:#1a3a7a26;font-size:13px!important;line-height:1.5!important;color:#c4d4ee!important;text-align:left!important}
.legal-page>.text-link{margin-bottom:8px}
.legal-page>.eyebrow{margin-top:40px;font-size:14px;color:var(--t3)}
.legal-page h1{font-size:clamp(2.4rem,5vw,3.25rem);letter-spacing:-.04em;line-height:1.15;margin:20px 0 12px}
.legal-page p{font-size:16px;line-height:1.85;color:#b8c5d9;overflow-wrap:break-word;text-wrap:pretty}
.legal-page .legal-date{font-size:13px;color:#8195b3;margin-bottom:40px}
.legal-page .legal-intro{font-size:20px;color:#d4dfef;margin-bottom:44px}
.legal-page h2{font-size:24px;letter-spacing:-.02em;margin:38px 0 12px}
.legal-page a:not(.text-link){color:#a7c5ff;text-decoration:underline;text-underline-offset:4px}

@media (max-width:1060px){
  .menu-button{display:inline-flex}
  .site-nav{display:none;position:absolute;top:calc(100% + 8px);left:-1px;right:-1px;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px 10px 10px;max-height:calc(100vh - var(--inset)*2 - var(--header-h) - 8px);max-height:calc(100dvh - var(--inset)*2 - var(--header-h) - 8px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:22px;background:linear-gradient(160deg,#182136,#0b101b 70%);border:1px solid rgba(220,233,255,.2);box-shadow:inset 0 1px 0 #ffffff14,0 24px 60px -12px #000c}
  .site-nav{opacity:0;transform:translateY(-8px);transition:opacity var(--dur-exit) var(--ease-out),transform var(--dur-exit) var(--ease-out)}
  .header[data-menu=open] .site-nav{display:flex}
  .site-nav[data-state=open]{opacity:1;transform:none;transition-duration:var(--dur-enter)}
  .nav-trigger,.nav-link{width:100%;justify-content:space-between;min-height:56px;padding:0 14px;font-size:17px;letter-spacing:-.01em;color:#eef3fb;white-space:normal;text-align:left}
  .nav-trigger .i{font-size:18px}
  .nav-group+.nav-group,.site-nav>.nav-link,.site-nav>noscript>.nav-link{border-top:1px solid var(--line)}
  .nav-panel{position:static;display:block;max-height:none;padding:2px 14px 16px;border:0;border-radius:0;background:none;box-shadow:none;opacity:1;transform:none;transition:none}
  .nav-panel-grid{grid-template-columns:1fr;gap:14px;margin:0;padding:0;overflow:visible;overscroll-behavior:auto}
  .nav-col-title{margin:0;padding-top:6px;font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#8fa9d6}
  .nav-col a{min-height:46px;font-size:16px}
  .panel-close{display:none}
  .site-nav .menu-cta{display:flex;flex:none;width:100%;margin-top:10px}
  .language-switch{margin-left:auto}
  .header{padding:0 12px 0 20px;gap:12px}
}

/* Astra composition. The wave is the sole animated artwork; rules and open
   typography organize the content without presenting passive surfaces as links. */
h1,h2,h3,h4{margin:0;font-weight:450;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(3.5rem,6.4vw,6rem);line-height:1.02;letter-spacing:-.04em}
h2{font-size:clamp(2.5rem,3.8vw,3.5rem);line-height:1.1}
h3{font-size:clamp(1.7rem,2.25vw,2rem);line-height:1.2}
h4{font-size:24px;line-height:1.3;font-weight:500;letter-spacing:-.025em}
em{font-style:normal;color:var(--blue)}
p{max-width:68ch;text-wrap:pretty}
section[id],article[id],div[id],li[id]{scroll-margin-top:calc(var(--inset) + var(--header-h) + 24px)}
a,button{cursor:pointer}
a:active,button:active{opacity:.85}
button:disabled{cursor:not-allowed;opacity:.55;transform:none}
input,textarea{caret-color:var(--blue-soft)}
.section{padding-top:var(--section-y);padding-bottom:var(--section-y)}
.text-link,.service-ask{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:15px;color:#b8d1ff;line-height:1.4;border-bottom:1px solid #758ca750;transition:color var(--dur-press) var(--ease-out),border-color var(--dur-press) var(--ease-out)}
.text-link .i,.service-ask .i{width:20px;height:20px;transition:transform var(--dur-press) var(--ease-out)}
.text-link:hover,.service-ask:hover{color:#fff;border-color:#c3d7f8}
.service-ask:hover .i{transform:translate(2px,-2px)}
.text-link:hover .i{transform:translateY(2px)}
/* A full-viewport typographic opening, with the original wave across its right. */
.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:48px;min-height:100vh;min-height:100svh;overflow:hidden;padding:calc(var(--inset) + var(--header-h) + clamp(48px,7vh,88px)) var(--gutter) 20px}
.hero-main{position:relative;z-index:1;display:flex;flex-direction:column;gap:36px}
.hero h1{max-width:1150px}
.hero-decision{display:flex;align-items:center;gap:64px}
.hero-lede{font-size:18px;line-height:1.65;max-width:48ch;margin:0;color:var(--t2)}
.hero-action{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:none}
.hero-action .button{min-height:56px;padding:16px 26px;font-size:16px;gap:36px}
.action-note{font-size:12px;color:var(--t3)}
.hero-art{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06080e25,transparent 75%),linear-gradient(transparent 60%,#06080e 90%)}
canvas{display:block;width:100%;height:100%}
.hero-bottom{position:relative;z-index:1}
.proof{display:flex;align-items:center;gap:32px;border-top:1px solid var(--line);padding:8px 0}
.proof>p{font-size:13px;line-height:1.6;color:var(--t3);flex:0 0 140px;max-width:16ch;margin:0}
.logo-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0}
.client-logo{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;height:88px;pointer-events:none}
.client-logo-viewport{display:block;width:200px;height:100px;position:relative;overflow:hidden;flex:none;transform:scale(.8);transform-origin:center}
.client-logo img{position:absolute;max-width:none;object-fit:fill;filter:brightness(0) invert(1);opacity:.8}
.client-logo img[src$="partners/smartbots.png"],.client-logo img[src$="partners/tag-systems.png"]{filter:grayscale(1) brightness(.65) contrast(18) invert(1);mix-blend-mode:screen;opacity:.85}
.hero-utility{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;gap:20px}
.hero-utility .text-link{border:0;font-size:14px}
/* Buying needs organize the six services; inquiry links are the only affordance. */
.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:64px;margin-bottom:var(--head-gap)}
.section-top>p{max-width:35ch;font-size:18px;line-height:1.65;margin:0;color:var(--t2)}
.service-group{display:grid;grid-template-columns:1fr 1.8fr;gap:64px;border-top:1px solid var(--line);padding:40px 0}
.service-group:last-child{padding-bottom:0}
.group-intro{padding-top:6px}
.group-intro h3{max-width:15ch;color:#e5edfa}
.group-intro>p{font-size:16px;line-height:1.65;color:var(--t3);max-width:32ch;margin:18px 0 0}
.service-list{min-width:0}
.service-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:40px;padding:8px 0 32px}
.service-row+.service-row{border-top:1px solid var(--line);padding-top:28px}
.service-row:last-child{padding-bottom:8px}
.service-copy p{max-width:57ch;font-size:16px;line-height:1.7;color:var(--t2);margin:12px 0 0}
.service-ask{align-self:start;white-space:normal;max-width:250px}
.service-row .service-ask{font-size:13px;gap:12px;max-width:180px;margin-top:1px}
/* A separate operational offering creates a broad change in pace. */
.automation{background:#0c1628;border-top:1px solid #253858;border-bottom:1px solid #253858}
.automation-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:96px;align-items:center}
.automation h2{max-width:24ch}
.automation p{font-size:18px;line-height:1.65;color:var(--t2);margin:28px 0 24px;max-width:44ch}
.auto-list{list-style:none;margin:0;padding:0}
.auto-list li{font-size:24px;line-height:1.4;padding:28px 0;border-bottom:1px solid #35465f}
.auto-list li:first-child{border-top:1px solid #35465f}
/* The approach comes before credentials: explain the coordination role first. */
.approach-section{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}
.approach-intro>p{font-size:17px;line-height:1.7;color:var(--t2);margin-top:28px;max-width:40ch}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:48px 40px}
.approach article{padding-top:24px;border-top:1px solid #46608c}
.approach h3{font-size:24px;line-height:1.3;max-width:17ch}
.approach p{font-size:16px;line-height:1.7;color:var(--t2);margin:16px 0 0}
.about{background:#0a0e17;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}
.location{font-size:14px;color:var(--t3);margin:28px 0 0}
.about-copy p{font-size:18px;line-height:1.75;color:var(--t2);margin:0 0 24px;max-width:56ch}
.about-copy p:first-child{font-size:24px;line-height:1.5;color:#e0e8f5}
.partners{border-top:1px solid var(--line);margin-top:56px;padding-top:32px;display:flex;align-items:center;gap:40px}
.partners>h3{font-size:16px;line-height:1.4;color:var(--t3);flex:0 0 160px;letter-spacing:0}
/* Two honest contact routes, plus the local draft task. */
.contact{background:var(--bg)}
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:96px;align-items:start}
.contact h2{font-size:clamp(3rem,5.4vw,5rem);line-height:1.05}
.contact-intro>p{font-size:18px;line-height:1.7;color:var(--t2);max-width:35ch;margin:28px 0}
.booking-link{gap:32px;margin-top:4px}
.booking-note{margin:12px 0 0!important;font-size:13px!important;color:var(--t3)!important}
.email{display:flex;width:fit-content;align-items:center;gap:20px;min-height:44px;font-size:26px;letter-spacing:-.02em;margin-top:40px;border-bottom:1px solid #4a5a73;overflow-wrap:anywhere;transition:color var(--dur-press) var(--ease-out),border-color var(--dur-press) var(--ease-out)}
.email .i{width:20px;height:20px;flex:none;color:var(--blue-soft)}
.email:hover{color:var(--blue-soft);border-color:var(--blue-soft)}
.address{font-size:14px!important;max-width:34ch!important;color:var(--t3)!important;margin:16px 0!important}
.form-title{font-size:23px;line-height:1.3;letter-spacing:-.02em;margin-bottom:20px}
.form-fields{display:block}
.field-error{display:block;font-size:13px;line-height:1.5;color:#ffc0b8;margin:-12px 0 20px}
.field-error[hidden]{display:none}
.footer-start{min-height:44px;display:inline-flex;align-items:center;color:var(--t2)}
.footer-start:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.footer-bottom{flex-wrap:wrap}
.footer-bottom .motion-toggle{margin-left:auto}
.footer-grid{grid-template-columns:1.2fr 1fr 1fr}
.legal-page h1{font-size:clamp(2.4rem,5vw,3.25rem)}
.legal-page h2{font-size:24px}
.legal-page .eyebrow{display:none}
/* All content is visible immediately. Native reduction wins over stored motion. */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}:root{--dur-enter:0.01ms;--dur-exit:0.01ms}*,*::before,*::after{animation:none!important}.nav-panel,.site-nav{transform:none!important}.button,.button:hover,.nav-trigger .i,.service-ask:hover .i,.text-link:hover .i{transition-property:color,background,background-color,border-color;}.button:hover,.service-ask:hover .i,.text-link:hover .i{transform:none}}
html[data-motion=paused]{scroll-behavior:auto}
@media (max-width:1200px){
 .hero-decision{gap:40px}
 .proof{gap:16px}.proof>p{flex-basis:120px}
 .client-logo-viewport{transform:scale(.7)}
 .service-group{grid-template-columns:1fr 1.8fr;gap:40px}
 .service-row{grid-template-columns:1fr;gap:16px}.service-row .service-ask{max-width:220px}
 .automation-grid,.approach-section,.about-grid,.contact-grid{gap:48px}
 .partners{gap:16px}.partners>h3{flex-basis:120px}
}
@media (max-width:900px){
 h1{font-size:clamp(3.2rem,7.3vw,5rem)}
 .hero{padding-top:calc(var(--inset) + var(--header-h) + 48px);gap:40px}
 .hero-decision{align-items:flex-start}.hero-lede{font-size:17px;max-width:36ch}
 .proof{display:block;padding-top:20px}.proof>p{max-width:none;margin-bottom:4px}
 .client-logo{height:80px}.client-logo-viewport{transform:scale(.67)}
 .section-top{align-items:flex-start;gap:32px}.section-top>p{font-size:16px;max-width:26ch}
 .service-group{grid-template-columns:1fr 1.4fr;gap:32px}
 .automation-grid{grid-template-columns:1fr 1fr;gap:40px}.auto-list li{font-size:21px}
 .approach-section{grid-template-columns:1fr;gap:40px}.approach-intro>p{max-width:60ch}
 .about-grid{grid-template-columns:1fr 1.2fr;gap:40px}
 .partners{display:block}.partners>h3{margin-bottom:20px}
 .contact-grid{gap:40px}.contact h2{font-size:3.5rem}
 .email{font-size:22px}.contact-intro>p{font-size:17px}
 form{padding:24px}
 .footer-grid{gap:32px}
}
@media (max-width:760px){
 :root{--header-h:68px;--inset:10px}
 

 .header{padding:0 8px 0 max(12px,calc(var(--gutter) - var(--inset)));border-radius:22px;gap:6px}
 .logo{width:124px;height:52px}.header .nav-cta{display:none}
 .menu-button{padding:0 14px 0 12px}
 h1{font-size:clamp(2.6rem,8.5vw,4rem);line-height:1.05}
 h2{font-size:clamp(2.2rem,7vw,3rem)}
 h3{font-size:27px}h4{font-size:23px}
 .hero{padding-top:calc(var(--inset) + var(--header-h) + 40px);gap:48px;padding-bottom:16px}
 .hero-main{gap:28px}.hero-decision{flex-direction:column;gap:24px}
 .hero-lede{max-width:44ch;font-size:17px;line-height:1.7}
 .hero-action .button{font-size:15px;min-height:52px;padding:14px 22px}
 .hero-art{inset:15% -20% 8% 0}.hero-art::after{background:linear-gradient(#06080e20,#06080e65 60%,#06080e 95%)}
 .proof{padding-top:20px}.proof>p{font-size:12px;margin-bottom:12px}
 .logo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px;justify-content:initial}
 .client-logo{height:66px}.client-logo-viewport{transform:scale(.6)}
 .hero-utility{margin-top:12px;align-items:center;gap:12px}
 .hero-utility .text-link{font-size:13px;gap:12px}
 .hero-utility .motion-toggle{font-size:11px;padding:0 12px;gap:6px}
 :root{--section-y:64px;--head-gap:32px}
 .section-top{display:block}.section-top>p{margin-top:24px;max-width:45ch}
 .service-group{grid-template-columns:1fr;gap:32px;padding:32px 0 40px}
 .group-intro{padding-top:0}.group-intro h3{max-width:24ch}.group-intro>p{margin-top:12px;max-width:44ch}
 .service-row{padding:0 0 28px;gap:16px}.service-row+.service-row{padding-top:24px}.service-row:last-child{padding-bottom:0}
 .service-copy p{margin-top:12px;font-size:16px}
 .service-row .service-ask{font-size:14px;min-height:44px;max-width:230px}
 .automation-grid{grid-template-columns:1fr;gap:32px}.automation p{font-size:17px;margin-top:24px}
 .auto-list li{font-size:21px;padding:22px 0}
 .approach{gap:32px 24px}.approach h3{font-size:21px}.approach p{font-size:16px}
 .approach-intro>p{font-size:17px;margin-top:24px}
 .about-grid{grid-template-columns:1fr;gap:32px}.about-copy p:first-child{font-size:22px}.about-copy p{font-size:17px}
 .location{margin-top:20px}.partners{margin-top:32px;padding-top:28px}.partners>h3{margin-bottom:20px}
 .contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:clamp(2.75rem,9vw,4rem)}
 .contact-intro>p{max-width:40ch}.email{margin-top:28px;font-size:24px}
 form{padding:24px 20px;border-radius:24px}.form-title{font-size:22px}.draft{padding:18px 16px}
 .site-footer{padding-top:44px}.footer-grid{grid-template-columns:1fr;gap:32px}
 .footer-bottom{gap:8px 24px;margin-top:32px}.footer-bottom .motion-toggle{margin-left:0}
 .legal-page{margin-left:0;padding-top:calc(var(--inset) + var(--header-h) + 32px);padding-bottom:64px}
}
@media (max-width:400px){
 .logo{width:104px}.menu-word{display:none}.menu-button{padding:0;width:46px;justify-content:center}
 h1{font-size:clamp(2.35rem,9.4vw,2.6rem)}
 .client-logo-viewport{transform:scale(.49)}.client-logo{height:58px}
 .hero-utility .motion-label{max-width:90px;text-align:left}.hero-utility .motion-toggle{line-height:1.3}
 .approach{grid-template-columns:1fr}
 .service-group{gap:28px}
}

.motion-toggle:disabled{opacity:1;color:var(--t3);cursor:default}
.service-group>*,.automation-grid>*,.approach-section>*,.about-grid>*,.contact-grid>*{min-width:0}

/* Grouped correction: same buying-need navigation, one anchor offset, and a
   deliberate portrait artwork treatment. The verified desktop hero is intact. */
#panel-soluciones .nav-panel-grid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px;max-width:none}
@media (max-width:1060px){#panel-soluciones .nav-panel-grid{grid-template-columns:1fr}}
@media (min-width:761px) and (max-width:1060px) and (orientation:portrait){
 .hero-art::after{background:linear-gradient(90deg,#06080e10,transparent 75%),linear-gradient(transparent 72%,#06080e 94%)}
}

/* Static wave fallback (JS off or no canvas context). Same placement as the canvas surface:
   centre 80%/49%, span min(64vw,800px), rotated -0.32rad; phone: centre 50%/80%, span 90vw. */
.wave-fallback{position:absolute;left:80%;top:49%;width:min(75.2vw,940px);height:auto;transform:translate(-50%,-50%) rotate(-.32rad);overflow:visible}
.wave-fallback path{fill:none;stroke:url("#wave-stroke");stroke-width:1;vector-effect:non-scaling-stroke}
.wave-fallback path.wave-strong{stroke-width:1.6}
html[data-wave=canvas] .wave-fallback{display:none}
@media (max-width:700px){.wave-fallback{left:50%;top:80%;width:105.75vw}}

/* Readable justified legal copy in both languages. */
.legal-page p:not(.legal-date){text-align:justify;text-align-last:start;hyphens:auto;overflow-wrap:break-word}.legal-page .legal-date{text-align:left}
