:root{
  /* Earth & paper palette */
  --kraft:#f1e8d6;
  --kraft-deep:#e8dcc1;
  --paper:#faf6ec;
  --paper-warm:#f7efde;
  --ink:#1a1410;
  --ink-soft:#3d342a;
  --ink-mute:#6b5d4d;
  --ocre:#c46a3a;
  --ocre-deep:#a8542a;
  --terracotta:#8b3a2a;
  --indigo:#1c2a3e;
  --indigo-soft:#2d3e58;
  --olive:#6b7a3d;
  --line:#d9cdb3;
  --line-soft:#e8dec8;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  background:var(--paper);
  color:var(--ink);
  overflow-x:hidden;
  font-feature-settings:"ss01","cv11";
  -webkit-font-smoothing:antialiased;
}

/* paper noise */
.paper-noise{
  position:fixed;inset:0;pointer-events:none;z-index:1;
  opacity:0.5;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 0.4  0 0 0 0 0.32  0 0 0 0 0.22  0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* Section base */
section{position:relative;z-index:2}
.wrap{max-width:1200px;margin:0 auto;padding:0 2rem}

/* TYPE */
.serif{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-0.01em}
.italic{font-style:italic}
.mono{font-family:'JetBrains Mono',monospace}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ocre-deep);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:14px;height:1px;background:currentColor}
.eyebrow.light{color:rgba(244,229,196,0.65)}

h1,h2,h3{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-0.015em;line-height:1.05}

/* ========== NAV ========== */
nav.top{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 2rem;
  background:rgba(250,246,236,0.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(217,205,179,0.5);
}
.logo-mark{
  display:flex;align-items:baseline;gap:0;
  font-family:'Instrument Serif',serif;
  font-size:1.6rem;color:var(--ink);
  letter-spacing:-0.02em;
}
.logo-dot{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--ocre);margin:0 1px 0 1px;transform:translateY(-2px);
}
.logo-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:0.62rem;letter-spacing:0.18em;color:var(--ink-mute);
  text-transform:uppercase;margin-left:10px;padding-left:10px;
  border-left:1px solid var(--line);
  align-self:center;line-height:1;
}
.nav-links{display:flex;gap:0.4rem;align-items:center}
.nav-links a{
  text-decoration:none;font-size:0.86rem;font-weight:400;
  color:var(--ink-soft);padding:0.5rem 0.9rem;border-radius:99px;
  transition:background .2s;
}
.nav-links a:hover{background:rgba(196,106,58,0.08)}
.nav-cta{
  background:var(--ink)!important;color:var(--paper)!important;
  padding:0.6rem 1.1rem!important;border-radius:99px!important;
  font-weight:500!important;font-size:0.84rem!important;
  margin-left:0.4rem;
}
.nav-cta:hover{background:var(--ocre-deep)!important}

/* ========== HERO ========== */
.hero{
  padding:8rem 0 4rem;
  background:var(--paper);
  position:relative;
  overflow:hidden;
}
.hero::before{
  /* light kraft band on right */
  content:"";position:absolute;top:0;right:0;bottom:0;width:42%;
  background:linear-gradient(180deg, var(--kraft) 0%, var(--paper-warm) 100%);
  z-index:0;
}
.hero-grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.15fr 1fr;
  gap:4rem;align-items:center;
  min-height:calc(100vh - 80px);
  padding-top:2rem;
}
.hero-left{position:relative}
.hero h1{
  font-size:clamp(3rem,5.6vw,5.4rem);
  margin:1.6rem 0 1.4rem;
  color:var(--ink);
}
.hero h1 .accent{color:var(--ocre-deep)}
.hero h1 .ital{font-style:italic;color:var(--terracotta)}
.hero-sub{
  font-size:1.05rem;color:var(--ink-soft);line-height:1.65;
  max-width:480px;font-weight:400;
}
.hero-cta-row{
  display:flex;gap:0.7rem;align-items:center;
  margin-top:2rem;flex-wrap:wrap;
}
.btn{
  display:inline-flex;align-items:center;gap:0.6rem;
  padding:0.95rem 1.6rem;border-radius:99px;
  font-family:'Inter',sans-serif;font-size:0.92rem;font-weight:500;
  text-decoration:none;cursor:pointer;transition:all .25s;
  border:none;letter-spacing:-0.005em;
}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--ocre-deep);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--ink);background:var(--paper-warm)}
.btn .arr{display:inline-block;transition:transform .25s}
.btn:hover .arr{transform:translateX(3px)}

.hero-meta{
  margin-top:3rem;display:flex;gap:2.5rem;align-items:center;
  flex-wrap:wrap;
}
.meta-item{display:flex;flex-direction:column;gap:0.2rem}
.meta-num{
  font-family:'Instrument Serif',serif;font-size:1.8rem;
  color:var(--ink);line-height:1;
}
.meta-num .currency{font-size:0.95rem;color:var(--ink-mute);vertical-align:top;margin-right:1px}
.meta-strike{
  font-family:'Inter',sans-serif;font-size:0.85rem;
  color:var(--ink-mute);text-decoration:line-through;
  text-decoration-color:var(--terracotta);
  text-decoration-thickness:1.5px;
}
.meta-label{font-family:'JetBrains Mono',monospace;font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-mute)}
.meta-divider{width:1px;height:30px;background:var(--line)}

/* HERO RIGHT — postcard / passport stack */
.hero-right{position:relative;z-index:1;height:540px}
.postcard{
  position:absolute;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:3px;
  padding:1.1rem 1.2rem;
  box-shadow:0 1px 0 rgba(26,20,16,0.04), 0 18px 40px -22px rgba(26,20,16,0.25);
  transition:all .4s cubic-bezier(0.2,0.8,0.2,1);
}
.postcard.p1{
  width:300px;top:0;left:8%;
  transform:rotate(-4deg);
  z-index:1;
}
.postcard.p2{
  width:320px;top:140px;right:0;
  transform:rotate(2.5deg);
  background:var(--kraft);
  z-index:3;
}
.postcard.p3{
  width:290px;top:330px;left:14%;
  transform:rotate(-1.5deg);
  z-index:2;
}
.postcard:hover{transform:rotate(0) translateY(-4px);z-index:10}
.pc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.7rem}
.pc-stamp{
  width:48px;height:54px;
  border:1.5px dashed var(--ocre);
  border-radius:2px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:0.6rem;
  color:var(--ocre-deep);text-align:center;line-height:1.2;
  padding:4px;
  position:relative;
  flex-shrink:0;
}
.pc-stamp::before{
  content:"";position:absolute;inset:-2px;border-radius:2px;
  background:radial-gradient(circle at 50% 50%, transparent 60%, var(--ocre) 60.5%, transparent 62%);
  opacity:0.15;
}
.pc-stamp .flag{font-size:1.1rem;line-height:1}
.pc-stamp .code{font-weight:500;letter-spacing:0.05em}
.pc-route{flex:1;padding-left:1rem}
.pc-from,.pc-to{font-family:'JetBrains Mono',monospace;font-size:0.62rem;color:var(--ink-mute);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:1px}
.pc-city{font-family:'Instrument Serif',serif;font-size:1.15rem;color:var(--ink);line-height:1.1;margin-bottom:0.5rem}
.pc-arrow{
  display:flex;align-items:center;gap:6px;
  font-family:'JetBrains Mono',monospace;font-size:0.6rem;
  color:var(--ocre-deep);margin:0.3rem 0 0.4rem;
  letter-spacing:0.1em;
}
.pc-arrow::after{
  content:"";flex:1;height:0;
  border-top:1px dashed var(--line);
}
.pc-doc{
  border-top:1px dashed var(--line);
  padding-top:0.7rem;
  display:flex;justify-content:space-between;align-items:flex-end;
}
.pc-doc-name{font-size:0.83rem;color:var(--ink-soft);font-weight:500}
.pc-doc-meta{font-family:'JetBrains Mono',monospace;font-size:0.65rem;color:var(--ink-mute);margin-top:2px}
.pc-doc-price{font-family:'Instrument Serif',serif;font-size:1.5rem;color:var(--ocre-deep);line-height:1}
.pc-status{
  position:absolute;top:-8px;right:14px;
  background:var(--ink);color:var(--paper);
  font-family:'JetBrains Mono',monospace;font-size:0.6rem;
  padding:3px 8px;border-radius:99px;letter-spacing:0.08em;
  text-transform:uppercase;
}
.pc-status.live{background:var(--olive)}
.pc-status.live::before{
  content:"";display:inline-block;width:5px;height:5px;
  border-radius:50%;background:var(--paper);
  margin-right:5px;vertical-align:middle;
  animation:pulse 1.6s infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.3}}

/* paper texture on cards */
.postcard::after{
  content:"";position:absolute;inset:0;border-radius:3px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='1' seed='2'/><feColorMatrix values='0 0 0 0 0.4  0 0 0 0 0.32  0 0 0 0 0.22  0 0 0 0.12 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  pointer-events:none;mix-blend-mode:multiply;opacity:0.4;
}

/* ========== MARQUEE / CORRIDORS BAND ========== */
.corridors-band{
  background:var(--ink);
  color:var(--paper);
  padding:1rem 0;
  border-top:1px solid var(--ocre);
  border-bottom:1px solid var(--ocre);
  overflow:hidden;
}
.marquee{
  display:flex;gap:3rem;
  animation:scroll 50s linear infinite;
  white-space:nowrap;
  width:max-content;
}
.mq-item{
  display:flex;align-items:center;gap:0.7rem;
  font-family:'Instrument Serif',serif;font-size:1.4rem;
  color:rgba(244,229,196,0.85);
}
.mq-item .flag{font-size:1.5rem}
.mq-item .arrow{color:var(--ocre);font-family:'JetBrains Mono',monospace;font-size:0.85rem}
.mq-dot{width:4px;height:4px;border-radius:50%;background:var(--ocre);align-self:center}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ========== CORRIDORS / MAP ========== */
.corridors{
  padding:7rem 0 6rem;
  background:var(--paper);
  position:relative;
}
.corridors-head{
  display:grid;grid-template-columns:1fr 1fr;
  gap:3rem;align-items:end;margin-bottom:4rem;
}
.corridors h2{font-size:clamp(2.5rem,4.5vw,3.8rem);max-width:8em}
.corridors h2 .ital{font-style:italic;color:var(--ocre-deep)}
.corridors-intro{font-size:1rem;color:var(--ink-soft);line-height:1.7;max-width:420px}
.corridors-intro .stat{
  display:block;font-family:'Instrument Serif',serif;font-size:2rem;
  color:var(--ink);margin-top:1rem;
}
.corridors-intro .stat small{font-family:'Inter',sans-serif;font-size:0.82rem;color:var(--ink-mute);font-weight:400;display:block;margin-top:2px}

/* MAP */
.map-wrap{
  position:relative;
  background:var(--kraft);
  border-radius:6px;
  border:1px solid var(--line);
  padding:2rem;
  overflow:hidden;
  min-height:480px;
}
.map-wrap::before{
  content:"";position:absolute;inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='6'/><feColorMatrix values='0 0 0 0 0.5  0 0 0 0 0.4  0 0 0 0 0.28  0 0 0 0.13 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  mix-blend-mode:multiply;pointer-events:none;
}
.map-svg{width:100%;height:auto;display:block;position:relative}
.map-hint{
  position:absolute;bottom:1.2rem;left:2rem;right:2rem;
  display:flex;justify-content:space-between;align-items:center;
  font-family:'JetBrains Mono',monospace;font-size:0.65rem;
  color:var(--ink-mute);letter-spacing:0.1em;text-transform:uppercase;
}
.map-legend{display:flex;gap:1.2rem;align-items:center}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:middle}

/* corridor cards under map */
.corridor-cards{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:6px;overflow:hidden;
  margin-top:2rem;
}
.cc{
  background:var(--paper);
  padding:1.2rem 1.3rem;
  cursor:pointer;
  transition:background .2s;
}
.cc:hover{background:var(--paper-warm)}
.cc.active{background:var(--ink);color:var(--paper)}
.cc.active .cc-cities,.cc.active .cc-meta{color:rgba(244,229,196,0.6)}
.cc.active .cc-price{color:var(--ocre)}
.cc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.8rem}
.cc-flag{font-size:1.5rem;line-height:1}
.cc-price{font-family:'Instrument Serif',serif;font-size:1.5rem;color:var(--ocre-deep);line-height:1}
.cc-name{font-family:'Instrument Serif',serif;font-size:1.15rem;color:inherit;line-height:1.1;margin-bottom:0.3rem}
.cc-cities{font-family:'JetBrains Mono',monospace;font-size:0.66rem;color:var(--ink-mute);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:0.5rem;line-height:1.4}
.cc-meta{font-size:0.78rem;color:var(--ink-mute)}

/* ========== HOW IT WORKS ========== */
.how{
  padding:7rem 0;
  background:var(--ink);
  color:var(--paper);
  position:relative;
}
.how h2{
  font-size:clamp(2.5rem,4.5vw,3.8rem);
  color:var(--paper);
  max-width:9em;
  margin:1.4rem 0 1.6rem;
}
.how h2 .ital{font-style:italic;color:var(--ocre)}
.how-sub{color:rgba(244,229,196,0.55);font-size:1rem;line-height:1.7;max-width:480px;margin-bottom:4rem}
.how-steps{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;position:relative;
}
.how-steps::before{
  content:"";position:absolute;top:48px;left:5%;right:5%;
  height:1px;
  background-image:linear-gradient(90deg, var(--ocre) 50%, transparent 50%);
  background-size:8px 1px;
  z-index:0;
}
.how-step{
  position:relative;z-index:1;
  padding:0 1.2rem;
}
.how-step-num{
  width:96px;height:96px;border-radius:50%;
  background:var(--paper);color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-family:'Instrument Serif',serif;font-size:2.2rem;
  margin-bottom:1.6rem;position:relative;
  border:6px solid var(--ink);
}
.how-step-num::after{
  content:"";position:absolute;inset:-2px;border-radius:50%;
  border:1px dashed rgba(244,229,196,0.25);
}
.how-step h3{
  font-family:'Instrument Serif',serif;font-size:1.4rem;
  color:var(--paper);margin-bottom:0.6rem;letter-spacing:-0.01em;
}
.how-step p{font-size:0.9rem;color:rgba(244,229,196,0.55);line-height:1.65}
.how-step-tag{
  display:inline-block;
  font-family:'JetBrains Mono',monospace;font-size:0.62rem;
  color:var(--ocre);letter-spacing:0.12em;text-transform:uppercase;
  margin-top:0.8rem;
}

/* ========== CALCULATEUR ========== */
.calc{
  padding:7rem 0;
  background:var(--kraft);
  position:relative;
}
.calc-grid{
  display:grid;grid-template-columns:0.9fr 1.1fr;
  gap:4rem;align-items:start;
}
.calc-left h2{
  font-size:clamp(2.5rem,4.5vw,3.8rem);
  margin:1.4rem 0 1.4rem;
}
.calc-left h2 .ital{font-style:italic;color:var(--ocre-deep)}
.calc-left p{color:var(--ink-soft);line-height:1.7;font-size:1rem;max-width:380px}
.calc-bullets{margin-top:2rem;display:flex;flex-direction:column;gap:0.9rem}
.calc-bullet{
  display:flex;gap:0.8rem;align-items:flex-start;
  font-size:0.88rem;color:var(--ink-soft);
}
.calc-bullet::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--ocre);margin-top:7px;flex-shrink:0;
}

.calc-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:6px;
  padding:2.2rem;
  position:relative;
  box-shadow:0 30px 60px -40px rgba(26,20,16,0.2);
}
.calc-card::before{
  content:"DEVIS · LIVE";
  position:absolute;top:-1px;right:1.5rem;
  background:var(--ocre);color:var(--paper);
  font-family:'JetBrains Mono',monospace;font-size:0.62rem;
  padding:5px 12px;border-radius:0 0 4px 4px;letter-spacing:0.14em;
}
.calc-row{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0.8rem;margin-bottom:1rem;
}
.calc-field{
  display:flex;flex-direction:column;gap:0.3rem;
}
.calc-field label{
  font-family:'JetBrains Mono',monospace;font-size:0.62rem;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-mute);
}
.calc-select,.calc-input{
  appearance:none;-webkit-appearance:none;
  background:var(--paper-warm);
  border:1px solid var(--line);
  border-radius:4px;padding:0.7rem 0.9rem;
  font-family:'Inter',sans-serif;font-size:0.92rem;
  color:var(--ink);cursor:pointer;outline:none;
  transition:border-color .15s,background .15s;
  font-weight:500;
}
.calc-select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%236b5d4d' fill='none' stroke-width='1.5' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 0.9rem center;
  padding-right:2rem;
}
.calc-select:focus,.calc-input:focus{border-color:var(--ocre);background:var(--paper)}

.weight-pills{display:flex;gap:0.4rem;flex-wrap:wrap}
.wp{
  flex:1;min-width:0;
  background:var(--paper-warm);border:1px solid var(--line);
  border-radius:4px;padding:0.7rem 0.5rem;
  font-family:'Inter',sans-serif;font-size:0.82rem;
  color:var(--ink-soft);cursor:pointer;
  transition:all .15s;text-align:center;font-weight:500;
}
.wp:hover{border-color:var(--ocre);color:var(--ink)}
.wp.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.wp small{display:block;font-family:'JetBrains Mono',monospace;font-size:0.6rem;font-weight:400;opacity:0.6;margin-top:2px}

.calc-urgency{display:flex;gap:0.4rem;margin-bottom:1.5rem}
.calc-urgency .wp{flex:1}

.calc-result{
  margin-top:1.5rem;padding-top:1.5rem;
  border-top:1px dashed var(--line);
}
.calc-comparison{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:1.4rem;
}
.calc-portam{display:flex;flex-direction:column}
.calc-portam-label{font-family:'JetBrains Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ocre-deep);margin-bottom:4px}
.calc-portam-price{font-family:'Instrument Serif',serif;font-size:3.2rem;color:var(--ink);line-height:1}
.calc-portam-price .currency{font-size:1.4rem;color:var(--ink-mute);vertical-align:top;margin-right:2px}
.calc-versus{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.calc-versus-label{font-family:'JetBrains Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:4px}
.calc-versus-price{
  font-family:'Instrument Serif',serif;font-size:1.4rem;
  color:var(--ink-mute);text-decoration:line-through;
  text-decoration-color:var(--terracotta);text-decoration-thickness:1.5px;
  line-height:1;
}
.calc-savings{
  background:var(--olive);color:var(--paper);
  padding:0.5rem 0.9rem;border-radius:4px;
  display:flex;justify-content:space-between;align-items:center;
  font-size:0.84rem;margin-bottom:1.2rem;
}
.calc-savings strong{font-family:'Instrument Serif',serif;font-size:1.05rem;font-weight:400}
.calc-eta{
  display:flex;justify-content:space-between;
  font-size:0.84rem;color:var(--ink-soft);margin-bottom:1.4rem;
}
.calc-eta-val{font-weight:500;color:var(--ink)}
.calc-cta{
  width:100%;
  background:var(--ink);color:var(--paper);
  padding:1rem;border-radius:99px;
  font-family:'Inter',sans-serif;font-size:0.92rem;
  font-weight:500;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
  transition:background .2s;
}
.calc-cta:hover{background:var(--ocre-deep)}

/* ========== TRUST ========== */
.trust{
  padding:7rem 0;
  background:var(--paper);
}
.trust-head{margin-bottom:4rem;max-width:600px}
.trust h2{
  font-size:clamp(2.5rem,4.5vw,3.8rem);
  margin:1.4rem 0 0;
}
.trust h2 .ital{font-style:italic;color:var(--ocre-deep)}
.trust-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:6px;overflow:hidden;
}
.trust-item{
  background:var(--paper);
  padding:2rem 1.8rem;
  display:flex;flex-direction:column;
  min-height:240px;
  position:relative;
  transition:background .2s;
}
.trust-item:hover{background:var(--paper-warm)}
.trust-num{
  font-family:'JetBrains Mono',monospace;font-size:0.7rem;
  color:var(--ocre-deep);letter-spacing:0.12em;margin-bottom:1.2rem;
}
.trust-item h3{
  font-family:'Instrument Serif',serif;font-size:1.5rem;
  color:var(--ink);line-height:1.15;margin-bottom:0.7rem;
}
.trust-item p{
  font-size:0.88rem;color:var(--ink-soft);line-height:1.6;
}
.trust-glyph{
  margin-top:auto;padding-top:1.4rem;
  font-family:'JetBrains Mono',monospace;font-size:0.7rem;
  color:var(--ocre-deep);letter-spacing:0.06em;
  display:flex;align-items:center;gap:6px;
}
.trust-glyph::before{
  content:"";display:inline-block;width:18px;height:1px;background:var(--ocre);
}

/* ========== TESTIMONIAL ========== */
.testi{
  padding:6rem 0;
  background:var(--kraft);
  position:relative;
}
.testi-inner{max-width:820px;margin:0 auto;text-align:center;position:relative}
.testi-quote{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.3;
  color:var(--ink);margin:1.5rem 0 2rem;
}
.testi-quote::before,.testi-quote::after{
  content:"\201C";color:var(--ocre);font-size:1.2em;
  vertical-align:-0.15em;font-style:normal;
}
.testi-quote::after{content:"\201D"}
.testi-attr{
  display:inline-flex;align-items:center;gap:0.8rem;
  padding:0.5rem 1rem;background:var(--paper);
  border-radius:99px;border:1px solid var(--line);
}
.testi-avatar{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg,var(--ocre) 0%,var(--terracotta) 100%);
  display:flex;align-items:center;justify-content:center;
  color:var(--paper);font-weight:500;font-size:0.78rem;
}
.testi-name{font-size:0.86rem;color:var(--ink);font-weight:500}
.testi-name small{display:block;font-size:0.72rem;color:var(--ink-mute);font-weight:400;margin-top:1px}

/* ========== DOCS TYPES ========== */
.docs{padding:7rem 0;background:var(--paper)}
.docs-head{margin-bottom:3.5rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}
.docs h2{font-size:clamp(2.5rem,4.5vw,3.8rem);margin:1.4rem 0 0;max-width:8em}
.docs h2 .ital{font-style:italic;color:var(--ocre-deep)}
.docs-intro{color:var(--ink-soft);font-size:1rem;line-height:1.7;max-width:420px}
.docs-list{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:0;border-top:1px solid var(--line);
}
.dt-row{
  display:grid;grid-template-columns:60px 1fr auto;gap:1.2rem;align-items:center;
  padding:1.5rem 0.5rem;border-bottom:1px solid var(--line);
  transition:padding .25s;
  cursor:default;
}
.dt-row:nth-child(odd){border-right:1px solid var(--line);padding-right:2rem}
.dt-row:nth-child(even){padding-left:2rem}
.dt-row:hover{padding-left:1rem}
.dt-row:nth-child(even):hover{padding-left:2.5rem}
.dt-num{font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:var(--ink-mute);letter-spacing:0.08em}
.dt-info h3{font-family:'Instrument Serif',serif;font-size:1.3rem;color:var(--ink);line-height:1.2;margin-bottom:0.3rem;font-weight:400}
.dt-info p{font-size:0.84rem;color:var(--ink-soft);line-height:1.5}
.dt-arr{color:var(--ocre-deep);font-family:'JetBrains Mono',monospace;font-size:0.85rem;opacity:0;transition:opacity .25s}
.dt-row:hover .dt-arr{opacity:1}

/* ========== CTA / FORM ========== */
.cta-form{
  padding:7rem 0;
  background:var(--ink);
  color:var(--paper);
  position:relative;
}
.cta-form::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 80% 20%, rgba(196,106,58,0.12) 0%, transparent 40%),
    radial-gradient(circle at 10% 80%, rgba(139,58,42,0.08) 0%, transparent 40%);
  pointer-events:none;
}
.cta-grid{
  display:grid;grid-template-columns:1fr 1.1fr;
  gap:5rem;align-items:start;
  position:relative;z-index:1;
}
.cta-left h2{
  font-size:clamp(2.5rem,4.8vw,4.2rem);
  color:var(--paper);margin:1.4rem 0 1.4rem;
}
.cta-left h2 .ital{font-style:italic;color:var(--ocre)}
.cta-left p{color:rgba(244,229,196,0.6);font-size:1rem;line-height:1.7;max-width:440px}
.cta-promise{
  margin-top:2.5rem;padding:1.5rem;
  border:1px solid rgba(244,229,196,0.15);border-radius:4px;
  background:rgba(244,229,196,0.04);
}
.cta-promise-label{font-family:'JetBrains Mono',monospace;font-size:0.65rem;color:var(--ocre);letter-spacing:0.12em;margin-bottom:0.6rem}
.cta-promise p{font-family:'Instrument Serif',serif;font-style:italic;font-size:1.15rem;color:rgba(244,229,196,0.85);line-height:1.45}

.cta-form form{
  background:var(--paper);
  border-radius:6px;padding:2.2rem;
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;
  color:var(--ink);
}
.cta-form .fg{display:flex;flex-direction:column;gap:0.35rem}
.cta-form .fg.full{grid-column:1/-1}
.cta-form label{
  font-family:'JetBrains Mono',monospace;font-size:0.62rem;
  letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-mute);
}
.cta-form input,.cta-form select,.cta-form textarea{
  background:var(--paper-warm);
  border:1px solid var(--line);
  border-radius:4px;padding:0.75rem 0.9rem;
  font-family:'Inter',sans-serif;font-size:0.92rem;color:var(--ink);
  outline:none;transition:border-color .15s,background .15s;
  font-weight:500;appearance:none;-webkit-appearance:none;
}
.cta-form select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%236b5d4d' fill='none' stroke-width='1.5' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 0.9rem center;padding-right:2rem;
}
.cta-form input[type="date"],.dv-form input[type="date"]{
  appearance:auto;-webkit-appearance:auto;cursor:pointer;
  font-size:.95rem;min-height:2.6rem;padding:.55rem .75rem;color-scheme:light;
}
.cta-form input[type="date"]::-webkit-calendar-picker-indicator,
.dv-form  input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:.6;cursor:pointer;width:1.1rem;height:1.1rem;
}

/* Validation inline */
.fg-err{font-size:.78rem;color:var(--terracotta);margin-top:.25rem;display:none}
.fg-err.show{display:block}
.fg input.invalid,.fg select.invalid,.fg textarea.invalid{border-color:var(--terracotta)!important}
.dv-form .fg input.invalid,.dv-form .fg select.invalid,.dv-form .fg textarea.invalid{border-color:var(--terracotta)!important}
.cta-form input:focus,.cta-form select:focus,.cta-form textarea:focus{border-color:var(--ocre);background:var(--paper)}
.cta-form input::placeholder,.cta-form textarea::placeholder{color:var(--ink-mute);font-weight:400}
.cta-form textarea{resize:vertical;min-height:80px}
.cta-form button{
  grid-column:1/-1;
  background:var(--ink);color:var(--paper);
  padding:1rem;border-radius:99px;border:none;
  font-family:'Inter',sans-serif;font-size:0.92rem;font-weight:500;
  cursor:pointer;transition:background .2s;
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
}
.cta-form button:hover{background:var(--ocre-deep)}

/* ========== CITY AUTOCOMPLETE ========== */
.city-ac{position:relative}
.city-ac-list{
  position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:200;
  background:var(--paper);border:1px solid var(--line);border-radius:4px;
  list-style:none;margin:0;padding:0;
  box-shadow:0 8px 24px rgba(0,0,0,.13);max-height:210px;overflow-y:auto;
  display:none;
}
.city-ac-list.open{display:block}
.city-ac-list li{
  padding:.65rem .9rem;cursor:pointer;
  font-size:.88rem;color:var(--ink);
  border-bottom:1px solid var(--line);
}
.city-ac-list li:last-child{border-bottom:none}
.city-ac-list li:hover,.city-ac-list li.active{background:var(--ocre);color:var(--paper)}
.city-ac-list li:hover span,.city-ac-list li.active span{opacity:.8}

/* ========== FOOTER ========== */
footer{
  background:var(--ink);
  padding:3rem 0 2rem;
  color:rgba(244,229,196,0.4);
  border-top:1px solid rgba(244,229,196,0.08);
}
.foot-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:3rem;margin-bottom:2.5rem;
}
.foot-logo{
  font-family:'Instrument Serif',serif;font-size:1.8rem;color:var(--paper);
}
.foot-tag{
  font-family:'JetBrains Mono',monospace;font-size:0.66rem;
  color:rgba(244,229,196,0.4);letter-spacing:0.12em;
  text-transform:uppercase;margin-top:0.5rem;
}
.foot-blurb{
  font-size:0.86rem;color:rgba(244,229,196,0.55);
  line-height:1.6;margin-top:1rem;max-width:280px;
}
.foot-col h4{
  font-family:'JetBrains Mono',monospace;font-size:0.7rem;
  color:var(--ocre);letter-spacing:0.14em;text-transform:uppercase;
  margin-bottom:1rem;font-weight:500;
}
.foot-col a{
  display:block;color:rgba(244,229,196,0.6);text-decoration:none;
  font-size:0.86rem;padding:0.3rem 0;transition:color .15s;
}
.foot-col a:hover{color:var(--ocre)}
.foot-base{
  border-top:1px solid rgba(244,229,196,0.08);padding-top:1.5rem;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1rem;font-size:0.78rem;color:rgba(244,229,196,0.35);
}

/* RESPONSIVE */
@media(max-width:960px){
  .hero-grid,.corridors-head,.calc-grid,.docs-head,.cta-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-right{height:auto;display:none}
  .how-steps{grid-template-columns:repeat(2,1fr);row-gap:3rem}
  .how-steps::before{display:none}
  .trust-grid{grid-template-columns:1fr 1fr}
  .docs-list{grid-template-columns:1fr}
  .dt-row:nth-child(odd){border-right:none;padding-right:0.5rem}
  .dt-row:nth-child(even){padding-left:0.5rem}
  .nav-links{display:none}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .hero::before{display:none}
}
@media(max-width:600px){
  .trust-grid{grid-template-columns:1fr}
  .how-steps{grid-template-columns:1fr}
  .calc-card{padding:1.5rem}
  .calc-row{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .meta-divider{display:none}
}

/* reveal animation */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* ========== LANGUAGE SWITCHER ========== */
.lang-switch{display:flex;gap:2px;background:var(--paper-warm);border:1px solid var(--line);border-radius:99px;padding:3px;margin-right:0.5rem}
.lang-switch button{
  background:transparent;border:none;cursor:pointer;
  font-family:'JetBrains Mono',monospace;font-size:0.7rem;
  padding:5px 10px;border-radius:99px;color:var(--ink-mute);
  letter-spacing:0.05em;font-weight:500;transition:all .15s;
}
.lang-switch button.on{background:var(--ink);color:var(--paper)}
.lang-switch button:hover:not(.on){color:var(--ink)}

/* ========== STICKY MINI CALCULATOR ========== */
.sticky-calc{
  position:fixed;bottom:1.2rem;right:1.2rem;z-index:150;
  background:var(--paper);border:1px solid var(--line);
  border-radius:8px;padding:0.8rem 1rem;
  box-shadow:0 20px 50px -20px rgba(26,20,16,0.3), 0 0 0 1px rgba(26,20,16,0.04);
  display:flex;align-items:center;gap:0.9rem;
  font-family:'Inter',sans-serif;
  transform:translateY(120%);opacity:0;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s;
  max-width:calc(100vw - 2.4rem);
}
.sticky-calc.show{transform:translateY(0);opacity:1}
.sticky-calc-route{display:flex;flex-direction:column;gap:1px;min-width:0}
.sticky-calc-from{font-family:'JetBrains Mono',monospace;font-size:0.6rem;color:var(--ink-mute);letter-spacing:0.08em;text-transform:uppercase}
.sticky-calc-to{font-family:'Instrument Serif',serif;font-size:1rem;color:var(--ink);line-height:1.1;display:flex;align-items:center;gap:0.4rem}
.sticky-calc-to .arr{color:var(--ocre);font-family:'JetBrains Mono',monospace;font-size:0.7rem}
.sticky-calc-divider{width:1px;align-self:stretch;background:var(--line)}
.sticky-calc-price{display:flex;flex-direction:column;align-items:flex-end;line-height:1}
.sticky-calc-price-val{font-family:'Instrument Serif',serif;font-size:1.6rem;color:var(--ink);line-height:1}
.sticky-calc-price-val .currency{font-size:0.8rem;color:var(--ink-mute);vertical-align:top}
.sticky-calc-price-old{font-family:'JetBrains Mono',monospace;font-size:0.62rem;color:var(--ink-mute);text-decoration:line-through;text-decoration-color:var(--terracotta);margin-top:2px}
.sticky-calc-cta{
  background:var(--ink);color:var(--paper);border:none;
  padding:0.6rem 1rem;border-radius:99px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:0.8rem;font-weight:500;
  display:flex;align-items:center;gap:0.4rem;transition:background .2s;
}
.sticky-calc-cta:hover{background:var(--ocre-deep)}
.sticky-calc-close{
  position:absolute;top:-8px;right:-8px;
  width:22px;height:22px;border-radius:50%;
  background:var(--paper);border:1px solid var(--line);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:var(--ink-mute);
}
.sticky-calc-close:hover{color:var(--ink);border-color:var(--ink)}

@media(max-width:600px){
  .sticky-calc{right:0.6rem;left:0.6rem;bottom:0.6rem;padding:0.7rem 0.8rem;gap:0.6rem}
  .sticky-calc-route{flex:1}
  .sticky-calc-cta{padding:0.55rem 0.8rem;font-size:0.75rem}
  .sticky-calc-cta .lbl{display:none}
}

/* ========== TIMELINE ========== */
.timeline-section{padding:7rem 0;background:var(--paper-warm);position:relative}
.timeline-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:3.5rem}
.timeline-section h2{font-size:clamp(2.5rem,4.5vw,3.8rem);margin:1.4rem 0 0;max-width:8em}
.timeline-section h2 .ital{font-style:italic;color:var(--ocre-deep)}
.timeline-intro{color:var(--ink-soft);font-size:1rem;line-height:1.7;max-width:420px}
.timeline-track{
  background:var(--paper);border:1px solid var(--line);border-radius:8px;
  padding:2.5rem 3rem;position:relative;
  box-shadow:0 30px 60px -45px rgba(26,20,16,0.2);
}
.timeline-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:2rem;padding-bottom:1.4rem;border-bottom:1px dashed var(--line);
}
.timeline-meta-route{display:flex;align-items:center;gap:0.6rem;font-family:'Instrument Serif',serif;font-size:1.4rem;color:var(--ink)}
.timeline-meta-route .arr{color:var(--ocre);font-family:'JetBrains Mono',monospace;font-size:0.85rem}
.timeline-meta-id{font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:var(--ink-mute);letter-spacing:0.1em}
.timeline-meta-id .live{color:var(--olive);font-weight:500}
.timeline-meta-id .live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--olive);margin-right:5px;vertical-align:middle;animation:pulse 1.6s infinite}

.timeline-list{position:relative;padding-left:1.5rem}
.timeline-list::before{
  content:"";position:absolute;top:8px;bottom:8px;left:8px;
  width:1px;background-image:linear-gradient(180deg,var(--line) 50%,transparent 50%);
  background-size:1px 6px;
}
.tl-event{
  display:grid;grid-template-columns:120px 1fr auto;gap:1.5rem;
  padding:0.8rem 0;align-items:center;position:relative;
}
.tl-event::before{
  content:"";position:absolute;left:-1.5rem;top:50%;
  width:14px;height:14px;border-radius:50%;
  background:var(--paper);border:2px solid var(--line);
  transform:translate(-3px,-50%);
}
.tl-event.done::before{background:var(--olive);border-color:var(--olive)}
.tl-event.live::before{background:var(--ocre);border-color:var(--ocre);box-shadow:0 0 0 4px rgba(196,106,58,0.15);animation:pulse 1.6s infinite}
.tl-time{font-family:'JetBrains Mono',monospace;font-size:0.78rem;color:var(--ink-mute);letter-spacing:0.04em}
.tl-time strong{display:block;color:var(--ink);font-weight:500;margin-bottom:1px}
.tl-label{font-size:0.95rem;color:var(--ink);font-weight:500}
.tl-label small{display:block;font-weight:400;font-size:0.82rem;color:var(--ink-mute);margin-top:2px;font-family:'Inter',sans-serif}
.tl-actor{
  display:flex;align-items:center;gap:0.5rem;
  font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:var(--ink-mute);letter-spacing:0.04em;
}
.tl-avatar{
  width:24px;height:24px;border-radius:50%;
  background:linear-gradient(135deg,var(--ocre) 0%,var(--terracotta) 100%);
  color:var(--paper);font-size:0.7rem;
  display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:500;
}
.tl-event.pending{opacity:0.45}

/* ========== TRAVELERS / PHOTOS ========== */
.travelers{padding:7rem 0;background:var(--paper);position:relative}
.travelers-head{margin-bottom:3.5rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}
.travelers h2{font-size:clamp(2.5rem,4.5vw,3.8rem);margin:1.4rem 0 0;max-width:9em}
.travelers h2 .ital{font-style:italic;color:var(--ocre-deep)}
.travelers-intro{color:var(--ink-soft);font-size:1rem;line-height:1.7;max-width:420px}
.travelers-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.tv-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;overflow:hidden;
  transition:transform .25s,box-shadow .25s;
}
.tv-card:hover{transform:translateY(-3px);box-shadow:0 25px 50px -30px rgba(26,20,16,0.25)}
.tv-photo{
  aspect-ratio:4/5;
  background:var(--kraft-deep);
  position:relative;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:flex-start;
  padding:1.2rem;
}
.tv-photo::before{
  /* subtle stripes placeholder */
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(135deg,
    rgba(196,106,58,0.12) 0px,
    rgba(196,106,58,0.12) 1px,
    transparent 1px,
    transparent 14px);
}
.tv-photo::after{
  content:attr(data-placeholder);
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:'JetBrains Mono',monospace;font-size:0.62rem;
  color:rgba(26,20,16,0.35);letter-spacing:0.1em;text-transform:uppercase;
  text-align:center;line-height:1.5;padding:0 1rem;
}
.tv-photo-inner{
  position:relative;z-index:2;
  display:flex;flex-direction:column;gap:6px;
}
.tv-stamp{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--paper);padding:4px 10px;border-radius:99px;
  font-family:'JetBrains Mono',monospace;font-size:0.62rem;
  color:var(--ink);letter-spacing:0.08em;
  border:1px solid var(--line);align-self:flex-start;
}
.tv-stamp.live{background:var(--olive);color:var(--paper);border-color:var(--olive)}
.tv-stamp.live::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--paper);animation:pulse 1.6s infinite;display:inline-block}
.tv-rating{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--paper);padding:4px 10px;border-radius:99px;
  font-family:'Inter',sans-serif;font-size:0.78rem;font-weight:500;
  color:var(--ink);align-self:flex-start;border:1px solid var(--line);
}
.tv-rating .star{color:var(--ocre)}
.tv-body{padding:1.2rem 1.4rem 1.4rem}
.tv-name{font-family:'Instrument Serif',serif;font-size:1.4rem;color:var(--ink);line-height:1.1;margin-bottom:0.2rem}
.tv-role{font-family:'JetBrains Mono',monospace;font-size:0.66rem;color:var(--ink-mute);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.9rem}
.tv-route{
  display:flex;align-items:center;gap:0.4rem;
  font-size:0.88rem;color:var(--ink-soft);margin-bottom:0.9rem;
}
.tv-route .arr{color:var(--ocre);font-family:'JetBrains Mono',monospace;font-size:0.75rem}
.tv-stats{
  display:flex;justify-content:space-between;
  padding-top:0.9rem;border-top:1px dashed var(--line);
  font-size:0.78rem;color:var(--ink-mute);
}
.tv-stats strong{display:block;color:var(--ink);font-family:'Instrument Serif',serif;font-size:1.1rem;font-weight:400;line-height:1}

/* ========== FAQ ========== */
.faq-section{padding:7rem 0;background:var(--kraft);position:relative}
.faq-head{margin-bottom:3.5rem;max-width:600px}
.faq-section h2{font-size:clamp(2.5rem,4.5vw,3.8rem);margin:1.4rem 0 0}
.faq-section h2 .ital{font-style:italic;color:var(--ocre-deep)}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}
.faq-item{
  border-top:1px solid var(--line);
  padding:1.4rem 0;cursor:pointer;
}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-q{
  display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;
  font-family:'Instrument Serif',serif;font-size:1.2rem;color:var(--ink);
  line-height:1.3;font-weight:400;
}
.faq-toggle{
  flex-shrink:0;font-family:'JetBrains Mono',monospace;font-size:1.2rem;
  color:var(--ocre-deep);transition:transform .25s;line-height:1;
  margin-top:0.2rem;
}
.faq-item.open .faq-toggle{transform:rotate(45deg)}
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .35s ease,padding .25s;
  font-size:0.92rem;color:var(--ink-soft);line-height:1.65;
  font-family:'Inter',sans-serif;
}
.faq-item.open .faq-a{max-height:300px;padding-top:0.9rem}

/* ========== TRAVELER CTA (devenir voyageur) ========== */
.tcta{
  padding:6rem 0;background:var(--paper);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.tcta-grid{
  display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center;
}
.tcta h2{font-size:clamp(2.2rem,4vw,3.2rem);margin:1.2rem 0 1.2rem;max-width:9em}
.tcta h2 .ital{font-style:italic;color:var(--ocre-deep)}
.tcta p{color:var(--ink-soft);font-size:1rem;line-height:1.7;max-width:460px;margin-bottom:1.5rem}
.tcta-perks{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;max-width:460px}
.tcta-perk{
  background:var(--paper-warm);border:1px solid var(--line);border-radius:6px;
  padding:1rem 1.2rem;
}
.tcta-perk-num{font-family:'Instrument Serif',serif;font-size:1.6rem;color:var(--ocre-deep);line-height:1;margin-bottom:0.2rem}
.tcta-perk-label{font-size:0.82rem;color:var(--ink-soft);line-height:1.4}
.tcta-actions{display:flex;gap:0.7rem;align-items:center;flex-wrap:wrap;margin-top:2rem}

.tcta-visual{
  position:relative;aspect-ratio:1/1;
  background:var(--ink);border-radius:8px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:2rem;color:var(--paper);
}
.tcta-visual::before{
  content:"";position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(45deg,
      rgba(196,106,58,0.08) 0px,rgba(196,106,58,0.08) 1px,
      transparent 1px,transparent 18px);
}
.tcta-visual::after{
  content:attr(data-placeholder);
  position:absolute;bottom:1rem;left:1rem;
  font-family:'JetBrains Mono',monospace;font-size:0.6rem;
  color:rgba(244,229,196,0.4);letter-spacing:0.08em;
}
.tcta-passport{
  position:relative;z-index:2;
  background:var(--terracotta);color:var(--paper);
  border-radius:6px;padding:1.6rem 1.8rem;width:80%;max-width:280px;
  transform:rotate(-3deg);
  box-shadow:0 30px 50px -20px rgba(0,0,0,0.5);
}
.tcta-passport-head{display:flex;justify-content:space-between;align-items:flex-start;font-family:'JetBrains Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;opacity:0.7;margin-bottom:1.2rem}
.tcta-passport-title{font-family:'Instrument Serif',serif;font-size:1.5rem;line-height:1.1;margin-bottom:0.4rem}
.tcta-passport-sub{font-size:0.82rem;opacity:0.8;line-height:1.4;margin-bottom:1.2rem}
.tcta-passport-stamp{
  width:60px;height:60px;border:2px dashed rgba(244,229,196,0.6);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;
  text-align:center;line-height:1.2;
  transform:rotate(-12deg);margin-left:auto;
}

@media(max-width:960px){
  .timeline-head,.travelers-head,.tcta-grid{grid-template-columns:1fr;gap:2rem}
  .travelers-grid{grid-template-columns:1fr}
  .faq-grid{grid-template-columns:1fr;gap:0}
  .timeline-track{padding:1.5rem 1.2rem}
  .tl-event{grid-template-columns:90px 1fr;gap:0.8rem}
  .tl-actor{grid-column:1/-1;justify-content:flex-end;margin-top:-0.3rem}
}
