/*
  chilltranslation.com v2 (Build 33)
  Theme: Terracotta #C05427 + Espresso #1C1108 + Parchment #FBF7F2
  Nav: STICKY SINGLE-TIER + MEGA MENU on hover (vs two-tier in Build 32)
  Hero: CENTERED with large decorative "TRADUCCION" background word
  Services: ACCORDION EXPANDABLE ROWS (first in 33 builds)
  Pricing: HORIZONTAL COMPARISON TABLE (brand new - never done)
  FAQ: 2-COL equal accordion (vs centered single-col in Build 32)
  Mobile: BOTTOM DRAWER slides up (first in 33 builds)
  Typography: Cormorant Garamond + IBM Plex Sans (first serif display in 33 builds)
  CSS prefix: tr-
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,700&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap');

:root {
  --tr-parch:   #FBF7F2;
  --tr-sand:    #F0E8DC;
  --tr-dust:    #E5D9C8;
  --tr-terra:   #C05427;
  --tr-terra2:  #9B4120;
  --tr-terrabd: rgba(192,84,39,.28);
  --tr-terralt: rgba(192,84,39,.1);
  --tr-espresso:#1C1108;
  --tr-coffee:  #3D2810;
  --tr-warm:    #5A4030;
  --tr-muted:   #8A7060;
  --tr-dim:     #C0B4A8;
  --tr-edge:    #DDD4C8;
  --tr-edge2:   #EDE5DA;
  --tr-white:   #FFFFFF;
  --tr-dark:    #150E06;

  --tr-max:   1100px;
  --tr-r:     4px;
  --tr-r2:    9px;
  --tr-r3:    15px;
  --tr-r4:    24px;
  --tr-nav-h: 64px;
  --tr-fh:    'Cormorant Garamond', Georgia, serif;
  --tr-fb:    'IBM Plex Sans', system-ui, sans-serif;
  --tr-ease:  all 0.2s cubic-bezier(.4,0,.2,1);
  --tr-sh:    0 2px 12px rgba(28,17,8,.07);
  --tr-sh2:   0 8px 40px rgba(28,17,8,.12);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { background:var(--tr-parch); color:var(--tr-espresso); font-family:var(--tr-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(--tr-fh); font-size:clamp(3.2rem,6vw,7.5rem); font-weight:700; line-height:.88; letter-spacing:-.02em; }
h2 { font-family:var(--tr-fh); font-size:clamp(2.2rem,3.5vw,4.5rem); font-weight:700; line-height:.9; letter-spacing:-.01em; }
h3 { font-family:var(--tr-fh); font-size:1.35rem; font-weight:600; }
p  { font-size:.9rem; line-height:1.84; color:var(--tr-muted); }

/* === STICKY NAV + MEGA MENU === */
.tr-nav { position:sticky; top:0; z-index:900; background:var(--tr-parch); border-bottom:1px solid var(--tr-edge); transition:box-shadow .2s; }
.tr-nav.tr-nav-scroll { box-shadow:0 2px 20px rgba(28,17,8,.08); }
.tr-nav-in { max-width:var(--tr-max); margin:0 auto; padding:0 2.5rem; height:var(--tr-nav-h); display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.tr-logo { font-family:var(--tr-fh); font-size:1rem; font-weight:700; color:var(--tr-espresso); letter-spacing:-.01em; font-style:italic; white-space:nowrap; }
.tr-logo em { color:var(--tr-terra); font-style:normal; }
.tr-logo-sq { display:inline-block; width:6px; height:6px; background:var(--tr-terra); border-radius:1px; margin-left:2px; vertical-align:middle; }
.tr-nav-links { display:flex; align-items:center; gap:.1rem; }
.tr-nav-lk { font-family:var(--tr-fb); font-size:.9rem; font-weight:600; color:var(--tr-warm); padding:.28rem .58rem; border-radius:var(--tr-r); transition:color .15s; white-space:nowrap; }
.tr-nav-lk:hover,.tr-nav-lk.tr-on { color:var(--tr-terra); }
/* Mega trigger */
.tr-mega-parent { position:static; }
.tr-mega-btn { cursor:pointer; background:none; border:none; display:flex; align-items:center; gap:.14rem; }
.tr-mega-btn svg { transition:transform .18s; }
.tr-mega-btn.tr-mb-up svg { transform:rotate(180deg); }
/* MEGA MENU - full width panel (different from Build 32's services dropdown) */
.tr-mega-panel { position:fixed; top:var(--tr-nav-h); left:0; right:0; background:var(--tr-espresso); border-bottom:1px solid rgba(255,255,255,.05); box-shadow:0 20px 60px rgba(28,17,8,.25); z-index:800; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .22s,visibility .22s,transform .22s; pointer-events:none; }
.tr-mega-panel.tr-mega-on { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.tr-mega-inner { max-width:var(--tr-max); margin:0 auto; padding:2.5rem; display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:rgba(255,255,255,.05); border-radius:var(--tr-r3); overflow:hidden; }
.tr-mega-item { display:flex; gap:.88rem; padding:1.1rem 1.3rem; background:rgba(255,255,255,.02); text-decoration:none; transition:background .14s; }
.tr-mega-item:hover { background:rgba(255,255,255,.06); }
.tr-mega-num { font-family:var(--tr-fh); font-size:1.2rem; font-style:italic; color:var(--tr-terra); opacity:.5; min-width:24px; flex-shrink:0; }
.tr-mega-nm { font-family:var(--tr-fb); font-size:.88rem; font-weight:600; color:rgba(255,255,255,.82); margin-bottom:.1rem; }
.tr-mega-from { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--tr-terra); }
.tr-mega-desc { font-size:.72rem; color:rgba(255,255,255,.3); line-height:1.5; }
.tr-mega-foot { max-width:var(--tr-max); margin:0 auto; padding:.88rem 2.5rem; display:flex; justify-content:flex-end; }
/* Lang toggle in nav */
.tr-lang-pill { font-family:var(--tr-fb); font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--tr-terra); border:1.5px solid var(--tr-terrabd); padding:.22rem .7rem; border-radius:100px; transition:var(--tr-ease); }
.tr-lang-pill:hover { background:var(--tr-terralt); }
.tr-nav-cta { font-family:var(--tr-fb); font-size:.84rem; font-weight:700; color:var(--tr-white); background:var(--tr-terra); padding:.38rem 1.1rem; border-radius:100px; transition:background .15s; white-space:nowrap; margin-left:.4rem; }
.tr-nav-cta:hover { background:var(--tr-terra2); }
/* Burger */
.tr-burger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.tr-burger span { width:20px; height:1.5px; background:var(--tr-espresso); display:block; border-radius:2px; transition:transform .2s,opacity .18s; }
.tr-burger.tr-bx span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.tr-burger.tr-bx span:nth-child(2) { opacity:0; }
.tr-burger.tr-bx span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
/* BOTTOM DRAWER mobile (unique - first in 33 builds) */
.tr-mob-overlay { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:849; opacity:0; pointer-events:none; transition:opacity .3s; }
.tr-mob-overlay.tr-ov-on { opacity:1; pointer-events:auto; }
.tr-mob-drawer { position:fixed; bottom:0; left:0; right:0; z-index:850; background:var(--tr-espresso); transform:translateY(calc(100% + 1px)); transition:transform .35s cubic-bezier(.4,0,.2,1); max-height:90vh; overflow-y:auto; border-radius:20px 20px 0 0; }
.tr-mob-drawer.tr-mob-open { transform:translateY(0); }
.tr-mob-handle { width:40px; height:4px; background:rgba(255,255,255,.15); border-radius:2px; margin:1rem auto .2rem; }
.tr-mob-hd { display:flex; align-items:center; justify-content:space-between; padding:.5rem 1.8rem 1rem; }
.tr-mob-logo { font-family:var(--tr-fh); font-size:1rem; font-weight:700; font-style:italic; color:white; }
.tr-mob-logo em { color:var(--tr-terra); font-style:normal; }
.tr-mob-links { padding:0 1.8rem 2rem; }
.tr-mob-lk { font-family:var(--tr-fh); font-size:2.2rem; font-weight:700; font-style:italic; color:rgba(255,255,255,.12); display:block; padding:.1rem 0; transition:color .14s; }
.tr-mob-lk:hover { color:var(--tr-terra); }
.tr-mob-ft { padding:1.2rem 1.8rem 2rem; border-top:1px solid rgba(255,255,255,.06); }

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

/* === CENTERED HERO with decorative word === */
.tr-hero { min-height:88vh; background:var(--tr-parch); position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; }
/* Big decorative background word */
.tr-hero-deco { position:absolute; top:50%; left:50%; transform:translate(-50%,-56%); font-family:var(--tr-fh); font-size:clamp(8rem,20vw,22rem); font-weight:700; font-style:italic; color:transparent; -webkit-text-stroke:1px rgba(192,84,39,.07); white-space:nowrap; pointer-events:none; user-select:none; letter-spacing:.04em; animation:trDecoFloat 12s ease-in-out infinite; }
@keyframes trDecoFloat { 0%,100%{transform:translate(-50%,-56%)} 50%{transform:translate(-50%,-53%)} }
.tr-hero-in { position:relative; z-index:1; max-width:var(--tr-max); margin:0 auto; padding:6rem 2.5rem 3rem; text-align:center; }
.tr-hero-eyebrow { font-family:var(--tr-fb); font-size:.56rem; font-weight:700; text-transform:uppercase; letter-spacing:.26em; color:var(--tr-terra); margin-bottom:1.2rem; display:flex; align-items:center; justify-content:center; gap:.6rem; }
.tr-hero-eyebrow::before,.tr-hero-eyebrow::after { content:''; width:24px; height:1.5px; background:var(--tr-terra); }
.tr-hero-h1 { color:var(--tr-espresso); margin-bottom:1.2rem; }
.tr-hero-h1 em { color:var(--tr-terra); font-style:italic; }
.tr-hero-sub { color:var(--tr-muted); max-width:50ch; margin:0 auto 2.5rem; font-size:.98rem; line-height:1.84; }
.tr-hero-acts { display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; margin-bottom:3rem; }
/* Lang chips row */
.tr-hero-langs { display:flex; justify-content:center; gap:.38rem; flex-wrap:wrap; }
.tr-hero-lchip { font-family:var(--tr-fb); font-size:.5rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--tr-dim); border:1px solid var(--tr-edge); padding:.18rem .46rem; border-radius:2px; }
/* Stats band */
.tr-stats-band { background:var(--tr-espresso); }
.tr-stats-row { max-width:var(--tr-max); margin:0 auto; padding:0 2.5rem; display:grid; grid-template-columns:repeat(4,1fr); }
.tr-stat-cell { padding:2.5rem 1.5rem; border-right:1px solid rgba(255,255,255,.06); }
.tr-stat-cell:last-child { border-right:none; }
.tr-stat-n { font-family:var(--tr-fh); font-size:clamp(2.5rem,4vw,4rem); font-weight:700; color:var(--tr-terra); line-height:1; letter-spacing:-.04em; }
.tr-stat-l { font-size:.58rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.28); margin-top:.2rem; }

/* === ACCORDION SERVICE SHOWCASE (unique in 33 builds) === */
.tr-svc-list { margin-top:2.5rem; border-top:1px solid var(--tr-edge); }
.tr-svc-item { border-bottom:1px solid var(--tr-edge); overflow:hidden; }
.tr-svc-hd { display:flex; align-items:center; gap:1.2rem; padding:1.5rem 0; cursor:pointer; user-select:none; transition:color .15s; }
.tr-svc-hd:hover .tr-svc-nm { color:var(--tr-terra); }
.tr-svc-n { font-family:var(--tr-fh); font-size:3rem; font-weight:700; font-style:italic; color:var(--tr-edge); line-height:1; letter-spacing:-.06em; min-width:54px; transition:color .2s; }
.tr-svc-item.tr-svc-open .tr-svc-n { color:var(--tr-terra); opacity:.4; }
.tr-svc-nm { font-family:var(--tr-fh); font-size:clamp(1.3rem,2.5vw,2.5rem); font-weight:600; color:var(--tr-espresso); flex:1; transition:color .15s; }
.tr-svc-nm-es { font-size:.72rem; color:var(--tr-terra); font-style:italic; margin-top:.1rem; }
.tr-svc-from { font-family:var(--tr-fb); font-size:.72rem; font-weight:700; color:var(--tr-muted); margin-right:.5rem; white-space:nowrap; }
.tr-svc-tog { width:32px; height:32px; border-radius:50%; border:1.5px solid var(--tr-edge); display:flex; align-items:center; justify-content:center; color:var(--tr-terra); flex-shrink:0; transition:var(--tr-ease); }
.tr-svc-item.tr-svc-open .tr-svc-tog { background:var(--tr-terra); border-color:var(--tr-terra); color:white; transform:rotate(45deg); }
/* Expand panel */
.tr-svc-body { max-height:0; overflow:hidden; transition:max-height .42s ease; }
.tr-svc-layout .tr-svc-body { max-height:none !important; overflow:visible !important; transition:none !important; }
.tr-svc-item.tr-svc-open .tr-svc-body { max-height:500px; }
.tr-svc-expand { display:grid; grid-template-columns:1fr 280px; gap:3rem; padding:1.5rem 0 2.5rem; align-items:start; }
.tr-svc-expand img { width:100%; height:140px; object-fit:cover; filter:brightness(.25) saturate(.35); border-radius:var(--tr-r3); }
.tr-svc-expand-txt p { margin-bottom:.7rem; font-size:.86rem; }
.tr-svc-expand-lk { display:inline-flex; align-items:center; gap:.28rem; font-family:var(--tr-fb); font-size:.8rem; font-weight:700; color:var(--tr-terra); margin-top:.5rem; transition:opacity .15s; }
.tr-svc-expand-lk:hover { opacity:.75; }
.tr-svc-expand-lk svg { transition:transform .2s; }
.tr-svc-expand-lk:hover svg { transform:translateX(3px); }

/* === 2-COL PROCESS (different from all previous) === */
.tr-proc-list { display:flex; flex-direction:column; gap:0; margin-top:2.5rem; }
.tr-proc-row { display:grid; grid-template-columns:200px 1fr; gap:3rem; padding:1.8rem 0; border-bottom:1px solid var(--tr-edge); align-items:baseline; }
.tr-proc-row:first-child { padding-top:0; }
.tr-proc-left { }
.tr-proc-n { font-family:var(--tr-fh); font-size:4rem; font-weight:700; font-style:italic; color:var(--tr-edge); line-height:1; letter-spacing:-.08em; }
.tr-proc-h { font-family:var(--tr-fh); font-size:1.15rem; font-weight:600; color:var(--tr-espresso); margin-top:.15rem; }
.tr-proc-right p { font-size:.88rem; }

/* === FULL-BLEED ALTERNATING CASES === */
.tr-cases-zone { background:var(--tr-dark); }
.tr-case-band { display:grid; min-height:500px; }
.tr-case-band:nth-child(odd)  { grid-template-columns:1.2fr 1fr; }
.tr-case-band:nth-child(even) { grid-template-columns:1fr 1.2fr; direction:rtl; }
.tr-case-band:nth-child(even) > * { direction:ltr; }
.tr-case-vis { overflow:hidden; }
.tr-case-vis img { width:100%; height:100%; object-fit:cover; filter:brightness(.28) saturate(.35); transition:filter .4s; }
.tr-case-band:hover .tr-case-vis img { filter:brightness(.38) saturate(.45); }
.tr-case-body { padding:4rem 3.5rem; display:flex; flex-direction:column; justify-content:center; }
.tr-case-band:nth-child(odd) .tr-case-body { background:rgba(255,255,255,.03); }
.tr-case-band:nth-child(even) .tr-case-body { background:rgba(192,84,39,.06); }
.tr-case-tags { display:flex; gap:.28rem; flex-wrap:wrap; margin-bottom:.65rem; }
.tr-case-tag { font-size:.48rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--tr-terra); border:1px solid rgba(192,84,39,.3); padding:.12rem .38rem; border-radius:100px; }
.tr-case-nm { font-family:var(--tr-fh); font-size:clamp(1.8rem,3.5vw,3.5rem); color:white; line-height:.92; letter-spacing:-.02em; margin-bottom:.3rem; }
.tr-case-meta { font-size:.68rem; color:rgba(255,255,255,.28); margin-bottom:1.2rem; }
.tr-case-stat { font-family:var(--tr-fh); font-size:clamp(3rem,7vw,8rem); color:var(--tr-terra); line-height:1; letter-spacing:-.08em; }
.tr-case-statl { font-size:.72rem; color:rgba(255,255,255,.28); max-width:24ch; margin-top:.2rem; line-height:1.44; }

/* === TESTIMONIALS 3-COL with avatars (vs rotator in Build 32) === */
.tr-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.5rem; }
.tr-testi-card { background:var(--tr-sand); border-radius:var(--tr-r4); padding:1.8rem; display:flex; flex-direction:column; gap:.8rem; }
.tr-testi-av { width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--tr-fh); font-size:.88rem; font-weight:700; color:white; flex-shrink:0; }
.tr-testi-q { font-family:var(--tr-fh); font-size:1rem; font-style:italic; color:var(--tr-espresso); line-height:1.52; flex:1; }
.tr-testi-who { font-family:var(--tr-fb); font-size:.82rem; font-weight:700; color:var(--tr-terra); }
.tr-testi-co  { font-size:.68rem; color:var(--tr-muted); }

/* === HORIZONTAL COMPARISON TABLE (brand new pricing format) === */
.tr-cmp-wrap { overflow-x:auto; margin-top:2.5rem; border-radius:var(--tr-r4); overflow:hidden; border:1px solid var(--tr-edge); }
.tr-cmp-table { width:100%; min-width:680px; }
.tr-cmp-head { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; background:var(--tr-espresso); }
.tr-cmp-hf { padding:1.2rem 1.5rem; font-family:var(--tr-fb); font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:rgba(255,255,255,.3); }
.tr-cmp-hc { padding:1.2rem 1.5rem; text-align:center; }
.tr-cmp-hc-nm { font-family:var(--tr-fh); font-size:1.1rem; font-weight:600; color:rgba(255,255,255,.85); }
.tr-cmp-hc-sub { font-size:.62rem; color:rgba(255,255,255,.3); margin-top:.1rem; }
.tr-cmp-hc.tr-feat-col { background:var(--tr-terra); }
.tr-cmp-hc.tr-feat-col .tr-cmp-hc-nm { color:white; }
.tr-cmp-hc.tr-feat-col .tr-cmp-hc-sub { color:rgba(255,255,255,.55); }
.tr-cmp-badge { font-size:.44rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; background:rgba(255,255,255,.2); color:white; padding:.12rem .42rem; border-radius:100px; display:inline-block; margin-top:.28rem; }
.tr-cmp-row { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; border-bottom:1px solid var(--tr-edge); }
.tr-cmp-row:last-child { border-bottom:none; }
.tr-cmp-row:nth-child(even) { background:var(--tr-sand); }
.tr-cmp-feat { padding:.88rem 1.5rem; font-family:var(--tr-fb); font-size:.8rem; font-weight:600; color:var(--tr-warm); }
.tr-cmp-val { padding:.88rem 1.5rem; text-align:center; font-size:.82rem; color:var(--tr-muted); }
.tr-cmp-val.tr-feat-col { background:var(--tr-terralt); }
.tr-cmp-tick { color:var(--tr-terra); }
.tr-cmp-dash { color:var(--tr-dim); }
.tr-cmp-row-price .tr-cmp-feat { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--tr-muted); }
.tr-cmp-price { font-family:var(--tr-fh); font-size:1.5rem; font-weight:700; color:var(--tr-espresso); }
.tr-cmp-row-price .tr-feat-col .tr-cmp-price { color:var(--tr-terra); }
.tr-cmp-row-cta { background:var(--tr-parch); }
.tr-cmp-row-cta .tr-feat-col { background:var(--tr-terralt); }

/* === 2-COL FAQ (vs centered single-col in Build 32) === */
.tr-faq-cols { display:grid; grid-template-columns:1fr 1fr; gap:0 3rem; margin-top:2.5rem; }
.tr-faq-item { border-bottom:1px solid var(--tr-edge); }
.tr-faq-qbtn { width:100%; text-align:left; padding:1rem 0; display:flex; align-items:center; justify-content:space-between; gap:.8rem; cursor:pointer; background:none; border:none; }
.tr-faq-qtxt { font-family:var(--tr-fb); font-size:.88rem; font-weight:600; color:var(--tr-espresso); line-height:1.42; }
.tr-faq-ic { width:26px; height:26px; border-radius:50%; border:1px solid var(--tr-edge); display:flex; align-items:center; justify-content:center; color:var(--tr-terra); flex-shrink:0; transition:var(--tr-ease); }
.tr-faq-item.tr-faq-on .tr-faq-ic { background:var(--tr-terra); border-color:var(--tr-terra); color:white; transform:rotate(45deg); }
.tr-faq-ans { max-height:0; overflow:hidden; transition:max-height .32s ease; }
.tr-faq-item.tr-faq-on .tr-faq-ans { max-height:260px; }
.tr-faq-a { padding:0 0 1rem; font-size:.84rem; color:var(--tr-muted); line-height:1.88; }

/* === INNER PAGE HEAD === */
.tr-pagehead { background:var(--tr-espresso); text-align:center; padding:calc(var(--tr-nav-h) + 3.5rem) 2.5rem 5rem; position:relative; overflow:hidden; }
.tr-pagehead::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:500px; height:300px; background:radial-gradient(ellipse,rgba(192,84,39,.1),transparent 70%); }
.tr-pagehead-tag { display:inline-block; font-family:var(--tr-fb); font-size:.5rem; font-weight:700; text-transform:uppercase; letter-spacing:.26em; color:var(--tr-terra); border:1px solid var(--tr-terrabd); padding:.22rem .72rem; border-radius:100px; margin-bottom:.72rem; position:relative; }
.tr-pagehead h1 { color:white; max-width:24ch; margin:0 auto; position:relative; }
.tr-pagehead-sub { color:rgba(255,255,255,.4); max-width:52ch; margin:.72rem auto 0; font-size:.92rem; line-height:1.88; position:relative; }

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

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

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

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

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

/* === BUTTONS === */
.tr-btn-terra { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tr-fb); font-size:.88rem; font-weight:700; color:white; background:var(--tr-terra); padding:.72rem 1.9rem; border-radius:100px; transition:background .15s; border:none; cursor:pointer; white-space:nowrap; }
.tr-btn-terra:hover { background:var(--tr-terra2); }
.tr-btn-outline { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tr-fb); font-size:.88rem; font-weight:700; color:var(--tr-espresso); background:transparent; padding:.7rem 1.8rem; border-radius:100px; border:1.5px solid var(--tr-edge); transition:var(--tr-ease); white-space:nowrap; }
.tr-btn-outline:hover { border-color:var(--tr-terra); color:var(--tr-terra); }
.tr-btn-outline-w { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tr-fb); font-size:.88rem; font-weight:700; color:white; background:transparent; padding:.7rem 1.8rem; border-radius:100px; border:1.5px solid rgba(255,255,255,.25); transition:border-color .15s; white-space:nowrap; }
.tr-btn-outline-w:hover { border-color:rgba(255,255,255,.7); }
.tr-btn-pkg { display:block; width:100%; text-align:center; font-family:var(--tr-fb); font-size:.84rem; font-weight:700; color:var(--tr-terra); background:transparent; padding:.66rem; border-radius:100px; border:1.5px solid var(--tr-terrabd); transition:var(--tr-ease); }
.tr-btn-pkg:hover { background:var(--tr-terralt); }

/* === TERRACOTTA CTA BAND === */
.tr-ctaband { background:var(--tr-terra); position:relative; overflow:hidden; }
.tr-ctaband::before { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px); background-size:24px 24px; }
.tr-ctaband-in { max-width:700px; margin:0 auto; padding:7rem 2.5rem; text-align:center; position:relative; }
.tr-ctaband-in h2 { color:white; margin-bottom:.6rem; }
.tr-ctaband-in p { color:rgba(255,255,255,.6); margin-bottom:2.2rem; font-size:1rem; max-width:44ch; margin-left:auto; margin-right:auto; }
.tr-cta-row { display:flex; gap:.7rem; justify-content:center; flex-wrap:wrap; }
.tr-btn-parch { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--tr-fb); font-size:.88rem; font-weight:700; color:var(--tr-terra); background:var(--tr-parch); padding:.72rem 1.9rem; border-radius:100px; border:none; cursor:pointer; white-space:nowrap; transition:opacity .15s; }
.tr-btn-parch:hover { opacity:.88; }

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

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

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

/* === RESPONSIVE === */
@media (max-width:1024px) {
  .tr-nav-links,.tr-nav-cta,.tr-lang-pill { display:none; }
  .tr-burger { display:flex; }
  .tr-svc-expand { grid-template-columns:1fr; }
  .tr-case-band:nth-child(odd),.tr-case-band:nth-child(even) { grid-template-columns:1fr; direction:ltr; }
  .tr-case-vis { min-height:240px; }
  .tr-testi-grid { grid-template-columns:1fr 1fr; }
  .tr-faq-cols { grid-template-columns:1fr; }
  .tr-proc-row { grid-template-columns:120px 1fr; gap:1.5rem; }
  .tr-svc-layout,.tr-build-wrap,.tr-co-wrap { grid-template-columns:1fr; }
  .tr-foot-top { grid-template-columns:1fr 1fr; gap:2rem; }
  .tr-stats-row { grid-template-columns:1fr 1fr; }
  .tr-stat-cell:nth-child(even) { border-right:none; }
}
@media (max-width:640px) {
  .tr-shell { padding:0 1.2rem; }
  .tr-testi-grid { grid-template-columns:1fr; }
  .tr-foot-top { grid-template-columns:1fr; }
}
