/*
  translate-one.com (Build 34)
  Theme: DARK #141218 + Electric Blue #3B7EFF + Snow White (FIRST dark theme in translation series)
  Nav: SPLIT CENTERED LOGO (first in 34 builds)
  Hero: ASYMMETRIC dark with right image + blue glow
  Services: BENTO GRID (2x2 large + irregular tiles, first in 34 builds)
  Pricing: STACKED VERTICAL ROWS with feature pills (brand new format)
  Process: CENTER VERTICAL TIMELINE (first in 34 builds)
  Testimonials: DUAL-ROW horizontal marquee
  FAQ: LEFT-INDEX navigation panel (first in 34 builds)
  Mobile: RIGHT SIDEBAR (different from 32 left, 33 bottom)
  Country: Portugal | Currency: EUR | EN+PT multilingual
  Fonts: Syne + DM Sans (first use of Syne in series)
  CSS prefix: to-
*/
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --to-dark:    #141218;
  --to-dark2:   #1C1924;
  --to-dark3:   #231F2E;
  --to-dark4:   #2A2535;
  --to-blue:    #3B7EFF;
  --to-blue2:   #2A5FCC;
  --to-bluelt:  rgba(59,126,255,.14);
  --to-bluegd:  rgba(59,126,255,.06);
  --to-bluegd:  rgba(59,126,255,.03);
  --to-snow:    #F5F5F7;
  --to-warm:    #D4D4D8;
  --to-muted:   #8B8A96;
  --to-dim:     #5A5868;
  --to-edge:    rgba(255,255,255,.07);
  --to-edge2:   rgba(255,255,255,.04);
  --to-white:   #FFFFFF;
  --to-ink:     #1A1724;

  --to-max:   1100px;
  --to-r:     5px;
  --to-r2:    10px;
  --to-r3:    16px;
  --to-r4:    24px;
  --to-nav-h: 64px;
  --to-fh:    'Syne', system-ui, sans-serif;
  --to-fb:    'DM Sans', system-ui, sans-serif;
  --to-ease:  all 0.2s cubic-bezier(.4,0,.2,1);
  --to-sh:    0 2px 12px rgba(0,0,0,.4);
  --to-sh2:   0 8px 40px rgba(0,0,0,.5);
  --to-glow:  0 0 40px rgba(59,126,255,.2);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { background:var(--to-dark); color:var(--to-snow); font-family:var(--to-fb); font-size:1rem; line-height:1.72; overflow-x:hidden; }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }
input,textarea,select { font-family:inherit; font-size:1rem; }
address { font-style:normal; }
h1 { font-family:var(--to-fh); font-size:clamp(3rem,6vw,7rem); font-weight:800; line-height:.88; letter-spacing:-.03em; }
h2 { font-family:var(--to-fh); font-size:clamp(2rem,3.5vw,4rem); font-weight:700; line-height:.9; letter-spacing:-.02em; }
h3 { font-family:var(--to-fh); font-size:1.2rem; font-weight:700; }
p  { font-size:.9rem; line-height:1.84; color:var(--to-muted); }

/* === SPLIT CENTERED LOGO NAV (unique in 34 builds) === */
.to-nav { position:sticky; top:0; z-index:900; background:var(--to-dark); border-bottom:1px solid var(--to-edge); transition:box-shadow .2s; }
.to-nav.to-nav-sc { box-shadow:0 2px 30px rgba(0,0,0,.4); }
.to-nav-in { max-width:var(--to-max); margin:0 auto; padding:0 2.5rem; height:var(--to-nav-h); display:flex; align-items:center; justify-content:space-between; }
.to-nav-side { display:flex; align-items:center; gap:.2rem; flex:1; }
.to-nav-side.to-nav-right { justify-content:flex-end; }
.to-nav-logo { font-family:var(--to-fh); font-size:.84rem; font-weight:800; color:var(--to-snow); letter-spacing:-.02em; text-align:center; flex:0 0 auto; padding:0 1.5rem; white-space:nowrap; }
.to-nav-logo em { color:var(--to-blue); font-style:normal; }
.to-nav-lk { font-family:var(--to-fb); font-size:.9rem; font-weight:600; color:var(--to-muted); padding:.26rem .56rem; border-radius:var(--to-r); transition:color .14s; white-space:nowrap; }
.to-nav-lk:hover,.to-nav-lk.to-on { color:var(--to-snow); }
.to-lang-btn { font-family:var(--to-fh); font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--to-blue); border:1px solid rgba(59,126,255,.35); padding:.2rem .6rem; border-radius:3px; transition:var(--to-ease); }
.to-lang-btn:hover { background:var(--to-bluelt); }
.to-nav-cta { font-family:var(--to-fb); font-size:.84rem; font-weight:700; color:var(--to-dark); background:var(--to-blue); padding:.36rem 1rem; border-radius:100px; transition:background .14s; white-space:nowrap; margin-left:.3rem; }
.to-nav-cta:hover { background:var(--to-blue2); }
/* Burger (mobile) */
.to-burger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.to-burger span { width:20px; height:1.5px; background:var(--to-snow); display:block; border-radius:2px; transition:transform .2s,opacity .18s; }
.to-burger.to-bx span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.to-burger.to-bx span:nth-child(2) { opacity:0; }
.to-burger.to-bx span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
/* RIGHT SIDEBAR mobile (unique - vs left in 32, bottom in 33) */
.to-mob-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:849; opacity:0; pointer-events:none; transition:opacity .28s; }
.to-mob-overlay.to-ov-on { opacity:1; pointer-events:auto; }
.to-mob-sidebar { position:fixed; top:0; right:0; bottom:0; width:min(300px,85vw); z-index:850; background:var(--to-dark2); border-left:1px solid var(--to-edge); transform:translateX(100%); transition:transform .3s cubic-bezier(.4,0,.2,1); overflow-y:auto; }
.to-mob-sidebar.to-mob-on { transform:none; }
.to-mob-hd { height:var(--to-nav-h); display:flex; align-items:center; justify-content:space-between; padding:0 1.5rem; border-bottom:1px solid var(--to-edge); }
.to-mob-logo { font-family:var(--to-fh); font-size:.84rem; font-weight:800; color:var(--to-snow); }
.to-mob-logo em { color:var(--to-blue); font-style:normal; }
.to-mob-links { padding:1.5rem; display:flex; flex-direction:column; gap:.2rem; }
.to-mob-lk { font-family:var(--to-fh); font-size:1.6rem; font-weight:700; color:rgba(255,255,255,.08); display:block; padding:.12rem 0; transition:color .14s; }
.to-mob-lk:hover { color:var(--to-blue); }
.to-mob-ft { padding:1.2rem 1.5rem; border-top:1px solid var(--to-edge); }

/* === LAYOUT === */
.to-shell { max-width:var(--to-max); margin:0 auto; padding:0 2.5rem; }
.to-slab { padding:8rem 0; }
.to-kicker { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--to-fb); font-size:.52rem; font-weight:700; text-transform:uppercase; letter-spacing:.24em; color:var(--to-blue); margin-bottom:.6rem; }
.to-kicker::before { content:''; width:14px; height:1.5px; background:var(--to-blue); }

/* === ASYMMETRIC DARK HERO === */
.to-hero { background:var(--to-dark); min-height:90vh; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.to-hero::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; background:radial-gradient(circle,rgba(59,126,255,.08),transparent 70%); pointer-events:none; }
.to-hero-main { max-width:var(--to-max); margin:0 auto; padding:5rem 2.5rem 3rem; display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; flex:1; position:relative; z-index:1; }
.to-hero-kicker { font-family:var(--to-fb); font-size:.54rem; font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:var(--to-blue); margin-bottom:.8rem; display:flex; align-items:center; gap:.5rem; }
.to-hero-kicker::before { content:''; width:16px; height:1.5px; background:var(--to-blue); }
.to-hero-h1 { color:var(--to-snow); margin-bottom:1rem; }
.to-hero-h1 em { color:var(--to-blue); font-style:normal; }
.to-hero-sub { color:var(--to-muted); max-width:44ch; margin-bottom:2rem; font-size:.96rem; line-height:1.84; }
.to-hero-acts { display:flex; gap:.6rem; flex-wrap:wrap; }
/* Right: Image with blue glow */
.to-hero-vis { position:relative; }
.to-hero-img { border-radius:var(--to-r4); overflow:hidden; aspect-ratio:4/3; position:relative; }
.to-hero-img::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(59,126,255,.15),transparent 60%); }
.to-hero-img img { width:100%; height:100%; object-fit:cover; filter:brightness(.35) saturate(.4); }
/* Blue glow ring */
.to-hero-vis::before { content:''; position:absolute; top:-20px; left:-20px; right:-20px; bottom:-20px; border-radius:calc(var(--to-r4) + 20px); background:radial-gradient(ellipse,rgba(59,126,255,.12),transparent 70%); pointer-events:none; z-index:-1; }
/* Stats band */
.to-stats-strip { background:var(--to-dark2); border-top:1px solid var(--to-edge); }
.to-stats-in { max-width:var(--to-max); margin:0 auto; padding:0 2.5rem; display:flex; }
.to-stat-blk { padding:1.8rem 3rem; border-right:1px solid var(--to-edge); flex:1; }
.to-stat-blk:last-child { border-right:none; }
.to-stat-n { font-family:var(--to-fh); font-size:clamp(2rem,4vw,3.5rem); font-weight:800; color:var(--to-blue); line-height:1; letter-spacing:-.04em; }
.to-stat-l { font-size:.58rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:var(--to-dim); margin-top:.2rem; }

/* === BENTO GRID services (first in 34 builds) === */
.to-svc-bento { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:230px; gap:8px; margin-top:2.5rem; }
/* Business: 2-col x 2-row (large anchor) */
.to-svc-tile:nth-child(1) { grid-column:1/3; grid-row:1/3; }
/* Legal: top-right */
.to-svc-tile:nth-child(2) { grid-column:3; grid-row:1; }
/* Digital: right, below legal */
.to-svc-tile:nth-child(3) { grid-column:3; grid-row:2; }
/* Content: 3-col wide strip */
.to-svc-tile:nth-child(4) { grid-column:1/4; grid-row:3; }
/* Technical: bottom-left */
.to-svc-tile:nth-child(5) { grid-column:1; grid-row:4; }
/* Interpreting: 2-col bottom-right */
.to-svc-tile:nth-child(6) { grid-column:2/4; grid-row:4; }
/* Tile base */
.to-svc-tile { border-radius:var(--to-r3); overflow:hidden; position:relative; background:var(--to-dark2); border:1px solid var(--to-edge); cursor:pointer; display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem; transition:var(--to-ease); }
.to-svc-tile:hover { border-color:rgba(59,126,255,.4); box-shadow:var(--to-glow); transform:translateY(-2px); }
.to-svc-tile-img { position:absolute; inset:0; }
.to-svc-tile-img img { width:100%; height:100%; object-fit:cover; filter:brightness(.15) saturate(.3); transition:filter .3s; }
.to-svc-tile:hover .to-svc-tile-img img { filter:brightness(.22) saturate(.4); }
.to-svc-tile-body { position:relative; z-index:1; }
.to-svc-tile-num { font-family:var(--to-fh); font-size:.52rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--to-blue); margin-bottom:.3rem; }
.to-svc-tile-nm { font-family:var(--to-fh); font-size:1rem; font-weight:700; color:var(--to-snow); margin-bottom:.2rem; }
.to-svc-tile:nth-child(1) .to-svc-tile-nm { font-size:1.4rem; }
.to-svc-tile-nm-pt { font-size:.7rem; color:rgba(59,126,255,.7); font-weight:500; margin-bottom:.3rem; }
.to-svc-tile-from { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--to-dim); }
.to-svc-tile-lk { display:inline-flex; align-items:center; gap:.22rem; font-size:.72rem; font-weight:700; color:var(--to-blue); margin-top:.4rem; transition:gap .2s; }
.to-svc-tile:hover .to-svc-tile-lk { gap:.42rem; }
/* Wide tile layout (content + interpreting) */
.to-svc-tile:nth-child(4) { flex-direction:row; align-items:center; justify-content:space-between; gap:2rem; }
.to-svc-tile:nth-child(4) .to-svc-tile-desc { flex:1; font-size:.8rem; color:var(--to-muted); line-height:1.6; }

/* === STACKED VERTICAL PRICING (brand new format) === */
.to-pkg-stack { display:flex; flex-direction:column; gap:1px; background:var(--to-edge); border-radius:var(--to-r4); overflow:hidden; margin-top:2.5rem; }
.to-pkg-row { background:var(--to-dark2); padding:2rem 2.5rem; display:grid; grid-template-columns:180px 1fr auto 180px; gap:1.5rem; align-items:center; transition:background .15s; }
.to-pkg-row:hover { background:var(--to-dark3); }
.to-pkg-row.to-pkg-feat { background:var(--to-dark3); border-left:3px solid var(--to-blue); position:relative; }
.to-pkg-row.to-pkg-feat::before { content:'POPULAR'; position:absolute; top:50%; right:0; transform:translateY(-50%) rotate(90deg) translateX(50%); font-size:.38rem; font-weight:700; letter-spacing:.18em; color:var(--to-blue); opacity:.5; }
.to-pkg-info { }
.to-pkg-nm { font-family:var(--to-fh); font-size:1.1rem; font-weight:700; color:var(--to-snow); }
.to-pkg-nm-pt { font-size:.62rem; color:var(--to-blue); margin-top:.06rem; }
.to-pkg-sub { font-size:.72rem; color:var(--to-dim); margin-top:.1rem; }
.to-pkg-pills { display:flex; flex-wrap:wrap; gap:.3rem; }
.to-pkg-pill { font-size:.54rem; font-weight:600; color:var(--to-dim); border:1px solid var(--to-edge); padding:.14rem .48rem; border-radius:100px; }
.to-pkg-feat .to-pkg-pill { color:rgba(59,126,255,.75); border-color:rgba(59,126,255,.2); }
.to-pkg-price { font-family:var(--to-fh); font-size:2.2rem; font-weight:800; color:var(--to-blue); text-align:right; letter-spacing:-.04em; line-height:1; }
.to-pkg-price-per { font-size:.52rem; font-weight:600; color:var(--to-dim); text-transform:uppercase; letter-spacing:.08em; }

/* === CENTER VERTICAL TIMELINE (first in 34 builds) === */
.to-proc-timeline { position:relative; margin-top:2.5rem; padding:0; }
.to-proc-timeline::before { content:''; position:absolute; top:28px; bottom:28px; left:50%; transform:translateX(-50%); width:1px; background:var(--to-edge); }
.to-proc-step { display:grid; grid-template-columns:1fr 56px 1fr; gap:0; align-items:start; margin-bottom:4rem; }
.to-proc-step:last-child { margin-bottom:0; }
.to-proc-dot { width:56px; height:56px; border-radius:50%; background:var(--to-dark2); border:1px solid var(--to-edge); display:flex; align-items:center; justify-content:center; font-family:var(--to-fh); font-size:.7rem; font-weight:700; color:var(--to-blue); flex-shrink:0; position:relative; z-index:1; transition:var(--to-ease); }
.to-proc-step:hover .to-proc-dot { background:var(--to-blue); border-color:var(--to-blue); color:white; box-shadow:0 0 20px rgba(59,126,255,.4); }
/* Odd: text left, empty right */
.to-proc-step:nth-child(odd) .to-proc-txt { grid-column:1; text-align:right; padding-right:2rem; padding-top:.8rem; }
.to-proc-step:nth-child(odd) .to-proc-dot { grid-column:2; }
.to-proc-step:nth-child(odd) .to-proc-empty { grid-column:3; }
/* Even: empty left, text right */
.to-proc-step:nth-child(even) .to-proc-empty { grid-column:1; }
.to-proc-step:nth-child(even) .to-proc-dot { grid-column:2; }
.to-proc-step:nth-child(even) .to-proc-txt { grid-column:3; text-align:left; padding-left:2rem; padding-top:.8rem; }
.to-proc-h { font-family:var(--to-fh); font-size:1rem; font-weight:700; color:var(--to-snow); margin-bottom:.3rem; }
.to-proc-p { font-size:.8rem; max-width:30ch; }
.to-proc-step:nth-child(odd) .to-proc-p { margin-left:auto; }

/* === PORTFOLIO dark grid with blue glow === */
.to-port-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.5rem; }
.to-port-card { border-radius:var(--to-r3); overflow:hidden; background:var(--to-dark2); border:1px solid var(--to-edge); transition:var(--to-ease); cursor:pointer; }
.to-port-card:hover { border-color:rgba(59,126,255,.45); box-shadow:0 0 30px rgba(59,126,255,.15); transform:translateY(-4px); }
.to-port-img { height:200px; overflow:hidden; position:relative; }
.to-port-img img { width:100%; height:100%; object-fit:cover; filter:brightness(.25) saturate(.35); transition:filter .3s; }
.to-port-card:hover .to-port-img img { filter:brightness(.35) saturate(.45); }
.to-port-body { padding:1.5rem; }
.to-port-tags { display:flex; gap:.28rem; flex-wrap:wrap; margin-bottom:.55rem; }
.to-port-tag { font-size:.46rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--to-blue); border:1px solid rgba(59,126,255,.25); padding:.1rem .36rem; border-radius:100px; }
.to-port-nm { font-family:var(--to-fh); font-size:1rem; font-weight:700; color:var(--to-snow); margin-bottom:.15rem; }
.to-port-type { font-size:.62rem; color:var(--to-dim); margin-bottom:.8rem; }
.to-port-stat { font-family:var(--to-fh); font-size:2.8rem; font-weight:800; color:var(--to-blue); line-height:1; letter-spacing:-.06em; }
.to-port-statl { font-size:.62rem; color:var(--to-dim); max-width:22ch; margin-top:.12rem; line-height:1.4; }

/* === DUAL-ROW TESTIMONIAL MARQUEE === */
.to-marq-zone { overflow:hidden; padding:2rem 0; }
.to-marq-row { display:flex; gap:1rem; margin-bottom:1rem; width:max-content; }
.to-marq-row:nth-child(1) { animation:toMarq1 45s linear infinite; }
.to-marq-row:nth-child(2) { animation:toMarq2 45s linear infinite; }
@keyframes toMarq1 { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes toMarq2 { from{transform:translateX(0)} to{transform:translateX(50%)} }
.to-marq-zone:hover .to-marq-row { animation-play-state:paused; }
.to-marq-card { background:var(--to-dark2); border:1px solid var(--to-edge); border-radius:var(--to-r3); padding:1.2rem 1.5rem; min-width:300px; flex-shrink:0; }
.to-marq-q { font-family:var(--to-fb); font-size:.84rem; color:var(--to-warm); line-height:1.56; margin-bottom:.6rem; }
.to-marq-who { font-family:var(--to-fh); font-size:.78rem; font-weight:700; color:var(--to-blue); }
.to-marq-co { font-size:.66rem; color:var(--to-dim); margin-top:.05rem; }

/* === LEFT-INDEX FAQ (first in 34 builds) === */
.to-faq-layout { display:grid; grid-template-columns:280px 1fr; gap:3rem; align-items:start; margin-top:2.5rem; }
.to-faq-idx { position:sticky; top:calc(var(--to-nav-h) + 2rem); }
.to-fqi-item { display:flex; align-items:flex-start; gap:.6rem; padding:.6rem .8rem; border-radius:var(--to-r); cursor:pointer; transition:var(--to-ease); }
.to-fqi-item:hover { background:var(--to-edge2); }
.to-fqi-item.to-fqi-on { background:var(--to-bluelt); }
.to-fqi-n { font-family:var(--to-fh); font-size:.6rem; font-weight:700; color:var(--to-blue); flex-shrink:0; margin-top:.12rem; }
.to-fqi-q { font-size:.8rem; font-weight:600; color:var(--to-muted); line-height:1.44; transition:color .15s; }
.to-fqi-item.to-fqi-on .to-fqi-q, .to-fqi-item:hover .to-fqi-q { color:var(--to-snow); }
.to-faq-content { min-height:200px; }
.to-fqp-panel { display:none; }
.to-fqp-panel.to-fqp-on { display:block; }
.to-fqp-q { font-family:var(--to-fh); font-size:1.1rem; font-weight:700; color:var(--to-snow); margin-bottom:.7rem; line-height:1.3; }
.to-fqp-a { font-size:.88rem; color:var(--to-muted); line-height:1.88; }

/* === INNER PAGES === */
.to-pagehead { background:var(--to-dark2); text-align:center; padding:calc(var(--to-nav-h) + 3.5rem) 2.5rem 5rem; position:relative; overflow:hidden; }
.to-pagehead::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:500px; height:300px; background:radial-gradient(ellipse,rgba(59,126,255,.08),transparent 70%); }
.to-pagehead-tag { display:inline-block; font-family:var(--to-fb); font-size:.5rem; font-weight:700; text-transform:uppercase; letter-spacing:.26em; color:var(--to-blue); border:1px solid rgba(59,126,255,.3); padding:.22rem .72rem; border-radius:100px; margin-bottom:.72rem; position:relative; }
.to-pagehead h1 { color:var(--to-snow); max-width:20ch; margin:0 auto; position:relative; }
.to-pagehead-sub { color:var(--to-muted); max-width:52ch; margin:.72rem auto 0; font-size:.92rem; line-height:1.88; position:relative; }

/* === SERVICE PAGE === */
.to-svc-layout { max-width:var(--to-max); margin:0 auto; padding:5.5rem 2.5rem; display:grid; grid-template-columns:1fr 260px; gap:5rem; align-items:start; }
.to-svc-body h2 { font-family:var(--to-fh); font-size:1.1rem; color:var(--to-blue); margin:2.5rem 0 .5rem; }
.to-svc-body p { margin-bottom:.88rem; }
.to-svc-inc-list { display:flex; flex-direction:column; gap:.36rem; margin-bottom:1.5rem; }
.to-svc-inc { display:flex; align-items:flex-start; gap:.5rem; font-size:.86rem; color:var(--to-warm); }
.to-svc-inc svg { color:var(--to-blue); flex-shrink:0; margin-top:.1rem; }
.to-svc-del { background:var(--to-bluelt); border-left:3px solid var(--to-blue); padding:.72rem 1rem; border-radius:0 var(--to-r) var(--to-r) 0; margin-bottom:1.5rem; }
.to-svc-del p { margin:0; font-size:.84rem; color:var(--to-warm); }
.to-svc-aside { position:sticky; top:calc(var(--to-nav-h) + 24px); }
.to-aside-card { background:var(--to-dark2); border:1px solid var(--to-edge); border-radius:var(--to-r3); overflow:hidden; }
.to-aside-img img { width:100%; height:100px; object-fit:cover; filter:brightness(.18) saturate(.3); }
.to-aside-body { padding:1.2rem; }
.to-aside-nm { font-size:.48rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--to-dim); margin-bottom:.2rem; }
.to-aside-rate { font-family:var(--to-fh); font-size:.92rem; font-weight:700; color:var(--to-blue); margin-bottom:.8rem; }
.to-other-h { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; color:var(--to-dim); margin:1.2rem 0 .5rem; }
.to-other-lk { display:flex; align-items:center; gap:.4rem; font-size:.8rem; color:var(--to-muted); padding:.36rem 0; border-bottom:1px solid var(--to-edge); transition:color .14s; }
.to-other-lk:hover { color:var(--to-blue); }

/* === LEGAL === */
.to-legal { max-width:820px; margin:0 auto; padding:5.5rem 2.5rem 8rem; }
.to-legal h2 { font-family:var(--to-fh); font-size:1.1rem; color:var(--to-blue); margin:2.8rem 0 .55rem; }
.to-legal h3 { font-family:var(--to-fh); font-size:.96rem; color:var(--to-snow); margin:1.4rem 0 .3rem; }
.to-legal p { margin-bottom:.88rem; font-size:.88rem; }
.to-legal ul { padding-left:1.2rem; margin:.4rem 0 .88rem; }
.to-legal li { font-size:.88rem; list-style:disc; color:var(--to-muted); line-height:1.72; margin-bottom:.26rem; }
.to-legal a { color:var(--to-blue); }
.to-legal table { width:100%; border-collapse:collapse; font-size:.82rem; margin:.88rem 0 1.2rem; }
.to-legal th { background:var(--to-dark2); color:var(--to-snow); padding:.5rem .9rem; text-align:left; font-size:.58rem; text-transform:uppercase; letter-spacing:.06em; border:1px solid var(--to-edge); }
.to-legal td { padding:.5rem .9rem; border:1px solid var(--to-edge); color:var(--to-muted); }
.to-legal address { background:var(--to-bluelt); border-left:3px solid var(--to-blue); padding:.88rem 1.1rem; font-size:.86rem; color:var(--to-warm); line-height:1.86; margin:.88rem 0; border-radius:0 var(--to-r) var(--to-r) 0; }
.to-legal-eff { display:inline-block; font-size:.68rem; color:var(--to-muted); background:var(--to-dark2); border:1px solid var(--to-edge); padding:.24rem .7rem; border-radius:100px; margin-bottom:1.5rem; }

/* === BUILDER === */
.to-build-wrap { max-width:var(--to-max); margin:0 auto; padding:4.5rem 2.5rem 8rem; display:grid; grid-template-columns:1fr 280px; gap:4rem; align-items:start; }
.to-build-sec { margin-bottom:2.8rem; }
.to-build-hd { display:block; font-family:var(--to-fb); font-size:.5rem; font-weight:700; text-transform:uppercase; letter-spacing:.22em; color:var(--to-blue); margin-bottom:.88rem; }
.to-pick-row { background:var(--to-dark2); border:1.5px solid var(--to-edge); border-radius:var(--to-r2); padding:.82rem 1rem; display:flex; align-items:center; gap:.7rem; cursor:pointer; user-select:none; transition:var(--to-ease); margin-bottom:.4rem; }
.to-pick-row:hover { border-color:rgba(59,126,255,.35); }
.to-pick-row.to-sel { border-color:var(--to-blue); background:var(--to-bluelt); }
.to-pick-box { width:18px; height:18px; border:1.5px solid var(--to-dim); border-radius:var(--to-r); flex-shrink:0; transition:var(--to-ease); }
.to-pick-row.to-sel .to-pick-box { background:var(--to-blue); border-color:var(--to-blue); }
.to-pick-nm { font-size:.86rem; color:var(--to-muted); flex:1; }
.to-pick-row.to-sel .to-pick-nm { color:var(--to-snow); font-weight:600; }
.to-pick-pr { font-size:.68rem; font-weight:700; color:var(--to-blue); }
.to-addon-row { display:flex; flex-wrap:wrap; gap:.45rem; }
.to-addon-chip { background:var(--to-dark2); border:1.5px solid var(--to-edge); border-radius:var(--to-r); padding:.5rem .9rem; cursor:pointer; user-select:none; transition:var(--to-ease); }
.to-addon-chip:hover { border-color:rgba(59,126,255,.35); }
.to-addon-chip.to-chip-on { border-color:var(--to-blue); background:var(--to-bluelt); }
.to-chip-nm { font-size:.82rem; font-weight:600; color:var(--to-muted); }
.to-addon-chip.to-chip-on .to-chip-nm { color:var(--to-snow); }
.to-chip-pr { font-size:.6rem; color:var(--to-dim); }
.to-addon-chip.to-chip-on .to-chip-pr { color:var(--to-blue); }
.to-hrs-wrap { background:var(--to-dark2); border:1.5px solid var(--to-edge); border-radius:var(--to-r2); padding:1rem; }
.to-hrs-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.to-hrs-lbl { font-size:.86rem; color:var(--to-muted); }
.to-hrs-val { font-family:var(--to-fh); font-size:2rem; font-weight:700; color:var(--to-blue); line-height:1; }
.to-hrs-slider { -webkit-appearance:none; width:100%; height:3px; background:var(--to-edge); border-radius:2px; cursor:pointer; margin-top:.5rem; }
.to-hrs-slider::-webkit-slider-thumb { -webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:var(--to-blue); cursor:pointer; box-shadow:0 0 10px rgba(59,126,255,.5); }
.to-hrs-note { font-size:.66rem; color:var(--to-dim); margin-top:.45rem; line-height:1.6; }
/* Tally */
.to-tally { background:var(--to-dark2); border:1px solid var(--to-edge); border-radius:var(--to-r3); overflow:hidden; position:sticky; top:calc(var(--to-nav-h) + 24px); }
.to-tally-top { background:var(--to-bluelt); border-bottom:1px solid rgba(59,126,255,.2); padding:.88rem 1.2rem; }
.to-tally-lbl { font-size:.46rem; font-weight:700; text-transform:uppercase; letter-spacing:.18em; color:var(--to-blue); }
.to-tally-lines { padding:.88rem 1.2rem; min-height:60px; }
.to-tally-empty { font-size:.76rem; color:var(--to-dim); font-style:italic; }
.to-tally-ln { display:flex; justify-content:space-between; gap:.5rem; font-size:.76rem; margin-bottom:.38rem; }
.to-tally-lnm { color:var(--to-muted); }
.to-tally-lpr { font-weight:700; color:var(--to-snow); }
.to-tally-foot { border-top:1px solid var(--to-edge); padding:.88rem 1.2rem; }
.to-tally-sum { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:.88rem; }
.to-tally-suml { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--to-dim); }
.to-tally-sumv { font-family:var(--to-fh); font-size:2.4rem; font-weight:800; color:var(--to-blue); line-height:1; letter-spacing:-.04em; }
.to-tally-go { display:block; width:100%; background:var(--to-blue); color:white; font-family:var(--to-fb); font-size:.88rem; font-weight:700; padding:.78rem; border-radius:var(--to-r2); border:none; cursor:pointer; transition:background .15s; }
.to-tally-go:hover:not(:disabled) { background:var(--to-blue2); }
.to-tally-go:disabled { opacity:.2; cursor:not-allowed; }

/* === CHECKOUT === */
.to-co-wrap { max-width:880px; margin:0 auto; padding:5rem 2.5rem; display:grid; grid-template-columns:1fr 250px; gap:4rem; align-items:start; }
.to-fg { margin-bottom:.68rem; }
.to-fl { display:block; font-size:.48rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--to-muted); margin-bottom:.26rem; }
.to-fi { width:100%; background:var(--to-dark2); border:1.5px solid var(--to-edge); border-radius:var(--to-r2); padding:.64rem .9rem; color:var(--to-snow); font-size:.9rem; transition:border-color .15s; }
.to-fi:focus { outline:none; border-color:var(--to-blue); box-shadow:0 0 0 3px var(--to-bluelt); }
.to-fi::placeholder { color:var(--to-dim); }
.to-agree-row { display:flex; align-items:flex-start; gap:.5rem; font-size:.82rem; color:var(--to-muted); line-height:1.6; margin:.88rem 0; }
.to-agree-row input { margin-top:.14rem; accent-color:var(--to-blue); }
.to-agree-row a { color:var(--to-blue); }
.to-co-sum { background:var(--to-dark2); border:1px solid var(--to-edge); border-radius:var(--to-r3); overflow:hidden; position:sticky; top:calc(var(--to-nav-h) + 24px); }
.to-co-sum-hd { background:var(--to-bluelt); padding:.72rem 1rem; border-bottom:1px solid rgba(59,126,255,.15); }
.to-co-sum-hl { font-size:.46rem; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:var(--to-blue); }
.to-co-sum-body { padding:.88rem 1rem; }
.to-co-sum-ln { display:flex; justify-content:space-between; gap:1rem; font-size:.76rem; margin-bottom:.38rem; }
.to-co-sum-lnm { color:var(--to-muted); }
.to-co-sum-lpr { font-weight:700; color:var(--to-snow); }
.to-co-sum-div { border:none; border-top:1px solid var(--to-edge); margin:.5rem 0; }
.to-co-sum-tot { display:flex; justify-content:space-between; align-items:flex-end; }
.to-co-sum-totl { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--to-dim); }
.to-co-sum-totv { font-family:var(--to-fh); font-size:2rem; font-weight:800; color:var(--to-blue); line-height:1; }

/* === RESULT === */
.to-result { min-height:74vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:calc(var(--to-nav-h) + 3rem) 2.5rem 5rem; background:var(--to-dark); }

/* === BUTTONS === */
.to-btn-blue { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--to-fb); font-size:.88rem; font-weight:700; color:var(--to-dark); background:var(--to-blue); padding:.72rem 1.9rem; border-radius:100px; transition:background .15s; border:none; cursor:pointer; white-space:nowrap; }
.to-btn-blue:hover { background:var(--to-blue2); color:white; }
.to-btn-outline { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--to-fb); font-size:.88rem; font-weight:700; color:var(--to-snow); background:transparent; padding:.7rem 1.8rem; border-radius:100px; border:1.5px solid var(--to-edge); transition:var(--to-ease); white-space:nowrap; }
.to-btn-outline:hover { border-color:var(--to-blue); color:var(--to-blue); }
.to-btn-ghost { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--to-fb); font-size:.84rem; font-weight:700; color:var(--to-blue); background:var(--to-bluelt); padding:.66rem 1.6rem; border-radius:100px; border:none; cursor:pointer; transition:background .15s; white-space:nowrap; }
.to-btn-ghost:hover { background:rgba(59,126,255,.22); }

/* === BLUE GRADIENT CTA === */
.to-ctaband { background:linear-gradient(135deg,var(--to-blue2) 0%,var(--to-dark3) 100%); position:relative; overflow:hidden; }
.to-ctaband::before { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px); background-size:20px 20px; }
.to-ctaband-in { max-width:700px; margin:0 auto; padding:7rem 2.5rem; text-align:center; position:relative; }
.to-ctaband-in h2 { color:white; margin-bottom:.6rem; }
.to-ctaband-in p { color:rgba(255,255,255,.55); margin-bottom:2.2rem; font-size:1rem; max-width:44ch; margin-left:auto; margin-right:auto; }
.to-cta-row { display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; }

/* === COOKIE + CHAT === */
.to-ck-bar { position:fixed; bottom:0; left:0; right:0; background:var(--to-dark2); border-top:3px solid var(--to-blue); z-index:9999; padding:.9rem 2rem; display:none; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.to-ck-bar p { font-size:.78rem; color:var(--to-muted); margin:0; }
.to-ck-bar a { color:var(--to-blue); }
.to-ck-btns { display:flex; gap:.4rem; flex-shrink:0; }
.to-ck-yes { background:var(--to-blue); color:var(--to-dark); font-size:.76rem; font-weight:700; padding:.38rem .92rem; border:none; border-radius:100px; cursor:pointer; }
.to-ck-no  { background:transparent; color:var(--to-dim); font-size:.76rem; padding:.38rem .92rem; border:1px solid var(--to-edge); border-radius:100px; cursor:pointer; }
.to-chat-fab { position:fixed; bottom:4.5rem; right:1.5rem; z-index:9990; width:50px; height:50px; background:var(--to-blue); border-radius:50%; display:flex; align-items:center; justify-content:justify; box-shadow:0 4px 20px rgba(59,126,255,.5); cursor:pointer; border:none; transition:var(--to-ease); align-items:center; justify-content:center; }
.to-chat-fab:hover { background:var(--to-blue2); transform:scale(1.06); }
.to-chatpop { position:fixed; bottom:7.8rem; right:1.5rem; z-index:9989; width:272px; background:var(--to-dark2); border:1px solid var(--to-edge); border-radius:var(--to-r3); box-shadow:0 16px 48px rgba(0,0,0,.5); opacity:0; pointer-events:none; transform:translateY(10px) scale(.97); transition:opacity .2s,transform .22s; overflow:hidden; }
.to-chatpop.to-cp-on { opacity:1; pointer-events:auto; transform:none; }
.to-chatpop-hd { background:var(--to-bluelt); padding:.9rem 1rem; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(59,126,255,.15); }
.to-chatpop-nm { font-family:var(--to-fh); font-size:.9rem; font-weight:700; color:var(--to-snow); }
.to-chatpop-sub { font-size:.54rem; color:var(--to-muted); }
.to-chatpop-x { color:var(--to-muted); background:none; border:none; cursor:pointer; }
.to-chatpop-bd { padding:.9rem; }
.to-chat-done { display:none; text-align:center; padding:.8rem; font-size:.82rem; color:var(--to-blue); font-weight:700; }
.to-chat-inp { width:100%; background:var(--to-dark); border:1px solid var(--to-edge); border-radius:var(--to-r2); padding:.46rem .76rem; font-size:.8rem; color:var(--to-snow); margin-bottom:.38rem; resize:none; }
.to-chat-inp:focus { outline:none; border-color:rgba(59,126,255,.4); }
.to-chat-inp::placeholder { color:var(--to-dim); }
.to-chat-send { width:100%; background:var(--to-blue); color:var(--to-dark); font-size:.78rem; font-weight:700; padding:.48rem; border-radius:var(--to-r2); border:none; cursor:pointer; }

/* === FOOTER === */
.to-foot { background:var(--to-dark2); border-top:1px solid var(--to-edge); }
.to-foot-top { max-width:var(--to-max); margin:0 auto; padding:5rem 2.5rem 2.5rem; display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:3rem; }
.to-foot-brand { font-family:var(--to-fh); font-size:.84rem; font-weight:800; color:var(--to-snow); margin-bottom:.3rem; }
.to-foot-brand em { color:var(--to-blue); font-style:normal; }
.to-foot-tag { font-size:.72rem; color:var(--to-dim); max-width:26ch; line-height:1.72; margin-bottom:.65rem; }
.to-foot-nif { font-size:.58rem; color:var(--to-dim); opacity:.5; margin-bottom:1rem; }
.to-foot-soc { display:flex; gap:.32rem; }
.to-foot-soc a { width:30px; height:30px; border:1px solid var(--to-edge); border-radius:var(--to-r); display:flex; align-items:center; justify-content:center; color:var(--to-dim); transition:var(--to-ease); }
.to-foot-soc a:hover { border-color:var(--to-blue); color:var(--to-blue); }
.to-foot-col-h { font-size:.44rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--to-dim); margin-bottom:.8rem; }
.to-foot-links { display:flex; flex-direction:column; gap:.42rem; }
.to-foot-links a { font-size:.78rem; color:var(--to-dim); transition:color .14s; }
.to-foot-links a:hover { color:var(--to-blue); }
.to-foot-ct a { font-size:.76rem; color:var(--to-dim); display:flex; align-items:flex-start; gap:.42rem; line-height:1.52; transition:color .14s; margin-bottom:.5rem; }
.to-foot-ct a:hover { color:var(--to-blue); }
.to-foot-ct svg { flex-shrink:0; color:var(--to-blue); opacity:.5; margin-top:.04rem; }
.to-foot-btm { border-top:1px solid var(--to-edge); max-width:var(--to-max); margin:0 auto; padding:1.4rem 2.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.to-foot-copy { font-size:.58rem; color:var(--to-dim); opacity:.6; }
.to-foot-leg { display:flex; gap:1.2rem; flex-wrap:wrap; }
.to-foot-leg a { font-size:.58rem; color:var(--to-dim); transition:color .14s; }
.to-foot-leg a:hover { color:var(--to-blue); }

/* === ANIMATIONS === */
.to-up { opacity:0; transform:translateY(14px); transition:opacity .5s ease,transform .5s ease; }
.to-up.to-vis { opacity:1; transform:none; }
.to-left { opacity:0; transform:translateX(-14px); transition:opacity .5s ease,transform .5s ease; }
.to-left.to-vis { opacity:1; transform:none; }
.to-right { opacity:0; transform:translateX(14px); transition:opacity .5s ease,transform .5s ease; }
.to-right.to-vis { opacity:1; transform:none; }

/* === RESPONSIVE === */
@media (max-width:1024px) {
  .to-nav-side { display:none; }
  .to-burger { display:flex; }
  .to-hero-main { grid-template-columns:1fr; gap:2rem; }
  .to-stats-in { flex-wrap:wrap; }
  .to-stat-blk { flex:0 0 50%; border-bottom:1px solid var(--to-edge); }
  .to-svc-bento { grid-template-columns:repeat(2,1fr); grid-auto-rows:200px; }
  .to-svc-tile:nth-child(1) { grid-column:1/3; grid-row:1/3; }
  .to-svc-tile:nth-child(2) { grid-column:1; grid-row:3; }
  .to-svc-tile:nth-child(3) { grid-column:2; grid-row:3; }
  .to-svc-tile:nth-child(4) { grid-column:1/3; grid-row:4; }
  .to-svc-tile:nth-child(5) { grid-column:1; grid-row:5; }
  .to-svc-tile:nth-child(6) { grid-column:2; grid-row:5; }
  .to-pkg-row { grid-template-columns:1fr; gap:.6rem; }
  .to-pkg-price { text-align:left; }
  .to-proc-timeline::before { left:28px; transform:none; }
  .to-proc-step { grid-template-columns:56px 1fr; }
  .to-proc-step .to-proc-dot { grid-column:1; grid-row:1; }
  .to-proc-step:nth-child(odd) .to-proc-txt,.to-proc-step:nth-child(even) .to-proc-txt { grid-column:2; grid-row:1; text-align:left; padding-left:1.5rem; padding-right:0; }
  .to-proc-step:nth-child(odd) .to-proc-p { margin-left:0; }
  .to-proc-step .to-proc-empty { display:none; }
  .to-port-grid { grid-template-columns:1fr 1fr; }
  .to-faq-layout { grid-template-columns:1fr; }
  .to-faq-idx { position:static; }
  .to-svc-layout,.to-build-wrap,.to-co-wrap { grid-template-columns:1fr; }
  .to-foot-top { grid-template-columns:1fr 1fr; gap:2rem; }
}
@media (max-width:640px) {
  .to-shell { padding:0 1.2rem; }
  .to-port-grid { grid-template-columns:1fr; }
  .to-foot-top { grid-template-columns:1fr; }
  .to-svc-bento { grid-template-columns:1fr; }
  .to-svc-tile:nth-child(n) { grid-column:1; grid-row:auto; }
}
