/* CLIMB EXPERIENCE V10 — Dirección de arte ejecutiva, editorial y arquitectónica.
   Capa sobre la identidad aprobada: no reemplaza la navegación ni las tres rutas. */
:root{
  --accent-mint:#87e0d0;
  --accent-sun:#e8b88d;
  --climb-glass:rgba(19,70,91,.78);
  --climb-outline:rgba(180,231,231,.45);
  --climb-cream:#f7f4ea;
  --climb-shadow:0 24px 74px rgba(1,22,37,.33);
}
#app{
  background:linear-gradient(142deg,#144e62 0%,#103e58 43%,#0a283f 100%);
}
#app:before{
  background:radial-gradient(ellipse at 13% 11%,rgba(243,200,149,.20),transparent 39%),
  radial-gradient(ellipse at 94% 76%,rgba(106,216,210,.21),transparent 44%);
}
.ambient{
  opacity:.83;
  background-image:linear-gradient(107deg,rgba(12,47,63,.70) 0%,rgba(14,58,74,.51) 45%,rgba(9,39,61,.75)),var(--ambientImage);
  filter:saturate(1.08) contrast(1.02);
}
.topbar{
  background:linear-gradient(180deg,rgba(8,34,49,.96),rgba(12,51,65,.77));
  border-bottom:1px solid rgba(220,247,242,.26);
  box-shadow:0 12px 35px rgba(7,25,39,.12);
  backdrop-filter:blur(15px);
}
.topcenter{letter-spacing:.20em;font-weight:850;text-shadow:0 2px 16px #06283888}
.topcenter small{letter-spacing:.12em;color:#d4f2f0}
.topbar .wordmark img{filter:drop-shadow(0 4px 16px rgba(221,242,244,.14))}
.headline{font-weight:850;letter-spacing:-.058em;line-height:.99;text-shadow:0 7px 28px rgba(9,37,47,.10)}
.headline em,.midtitle em{color:#a9e9d9}
.headline em{background:linear-gradient(112deg,#e4f3e7,#94e1d2);-webkit-background-clip:text;background-clip:text;color:transparent}
.midtitle{letter-spacing:-.04em;line-height:1.07}
.kicker,.eyebrow{letter-spacing:.17em;color:#b8f0e9}
.kicker:before{background:var(--accent-sun);width:29px;box-shadow:0 0 12px #f0c39955}
.summary{color:#ecf6f5}
.home-company{
  background:linear-gradient(92deg,rgba(239,193,142,.17),rgba(239,193,142,0));
  border-left:3px solid #f0c398;
  border-radius:0 12px 12px 0;
  color:#eef8f6;
}
.route-entrances{gap:11px}
.route-entrance{
  min-height:72px;
  border:1px solid rgba(188,231,232,.58);
  background:linear-gradient(110deg,rgba(40,118,137,.94),rgba(13,55,76,.95));
  box-shadow:0 9px 23px rgba(0,27,39,.13);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;
}
.route-entrance:nth-child(2){background:linear-gradient(110deg,rgba(35,120,109,.93),rgba(17,62,71,.96))}
.route-entrance:nth-child(3){background:linear-gradient(110deg,rgba(55,91,116,.95),rgba(14,52,73,.96))}
.route-entrance:hover,.route-entrance:focus-visible{transform:translateX(5px);border-color:#f4d5ab;box-shadow:0 13px 30px rgba(2,25,41,.27)}
.route-emblem{background:rgba(241,248,241,.13);border-color:rgba(217,246,239,.34)}
.route-go{color:#f3d9ad}
.hero-shell{border:1px solid rgba(239,218,183,.48);box-shadow:0 34px 90px rgba(0,20,32,.34),0 0 0 1px rgba(215,239,226,.16)}
.hero-shell:before{background:linear-gradient(130deg,#d8e0dc,#557585 12%,#133548 28%,#7b9ba4 75%,#d0dfdc 100%)}
.hero-doors>div{filter:saturate(.77) brightness(1.05)}
.hero-floor{color:#e7fffa;border-color:rgba(156,235,218,.73)}
.hero-plate{color:#fff9f1}
.side-rail{background:rgba(10,49,65,.83);border:1px solid rgba(180,228,231,.46);backdrop-filter:blur(14px)}
.floor.on{background:linear-gradient(142deg,#43b49f,#368db6)!important;border-color:#ddf9ef!important}
.bottom{
  background:linear-gradient(180deg,rgba(7,36,50,.84),rgba(9,39,56,.96));
  border-top:1px solid rgba(183,232,226,.4);
  backdrop-filter:blur(15px);
}
#progress{background:linear-gradient(90deg,#e5b78d,#70d7c8,#71c5dd)!important}
.btn,.navbtn.on{background:linear-gradient(119deg,#1a8c9b,#35ab9a);border-color:rgba(210,248,230,.55);box-shadow:0 11px 27px rgba(7,90,102,.30)}
.btn:hover,.navbtn.on:hover{filter:brightness(1.08)}
.btn.secondary,.navbtn:not(.on){background:rgba(25,81,103,.68);border:1px solid rgba(189,232,235,.46)}
.lab-chip{background:linear-gradient(110deg,rgba(24,108,134,.88),rgba(35,126,131,.95));border-color:#ade6df95}
.mode-switch{background:rgba(15,68,86,.79);border:1px solid rgba(162,217,222,.49)}
.mode-switch button.on{background:linear-gradient(118deg,#368da9,#43b9aa)!important;box-shadow:0 2px 10px rgba(17,73,91,.17)}
.category-tile{border-radius:20px;border-color:rgba(215,238,225,.49);box-shadow:var(--climb-shadow)}
.category-tile:before{background:linear-gradient(105deg,rgba(13,64,75,.93),rgba(19,71,83,.62) 55%,rgba(17,49,65,.52))}
.category-tile:hover,.category-tile.on{border-color:#efd3ab;box-shadow:0 17px 30px rgba(5,51,67,.32)}
.category-tile .tile-symbol{color:#d0f8ed;background:rgba(30,118,128,.53)}
.category-tile .tile-check{color:#f2d39b}
.brand-gallery-image,.project-hero,.review-visual{border-color:rgba(204,238,230,.59);box-shadow:var(--climb-shadow)}
.details-panel,.service-panel,.model-details,.contact-card{
  background:linear-gradient(148deg,rgba(30,99,115,.91),rgba(12,53,74,.94));
  border:1px solid rgba(192,233,231,.57);
  box-shadow:0 19px 54px rgba(2,28,44,.20);
}
.brand-choice,.service-tile,.model-card,.pick,.goal-choice{
  border-color:rgba(177,220,226,.53);
  box-shadow:0 7px 18px rgba(1,30,45,.12);
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.brand-choice:hover,.service-tile:hover,.model-card:hover,.pick:hover{transform:translateY(-2px);border-color:rgba(253,224,181,.87)}
.brand-choice.on,.service-tile.on,.model-card.on,.pick.on,.goal-choice.on{border-color:#afeedc;box-shadow:0 0 0 1px rgba(181,240,221,.25) inset}
.model-card{background:linear-gradient(150deg,rgba(41,105,126,.89),rgba(16,63,85,.97))}
.model-details h3{letter-spacing:-.03em}
.model-facts>div{background:rgba(15,71,89,.64);border-color:rgba(173,231,225,.30)}
.source-note{color:#d1eceb}
.review-lines>div,.trail-summary>div{border-color:rgba(180,229,228,.54);background:rgba(26,100,109,.63)}
.trail-summary b{overflow-wrap:anywhere}
.request-review{justify-content:flex-start;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain;padding-right:5px}
.end-scene .request-review .midtitle{font-size:clamp(29px,2.7vw,42px)}
.end-scene .request-review .summary{font-size:clamp(12px,1vw,14px);line-height:1.45}
.end-scene .trail-summary{margin:11px 0;gap:7px}
.end-scene .trail-summary>div{padding:8px 12px}
.end-scene .trail-summary b{font-size:12px;line-height:1.4}
.marketing-reco{
  margin:10px 0 9px;
  background:linear-gradient(130deg,rgba(236,250,244,.98),rgba(213,236,232,.96));
  border:1px solid #c9e5d5;border-left:4px solid #c7935b;
  padding:14px 15px;box-shadow:0 7px 24px rgba(7,35,45,.08);
}
.marketing-reco .eyebrow{color:#367f7e}
.marketing-reco h3{font-size:15px;color:#183f4b;line-height:1.3}
.marketing-reco p,.marketing-reco ul{color:#37606a;font-size:11px}
.contact-card{background:linear-gradient(155deg,rgba(29,88,112,.96),rgba(12,52,75,.98))}
.form-grid input,.form-grid textarea{background:rgba(5,45,62,.69);border-color:rgba(176,219,222,.50)}
.form-grid input:focus,.form-grid textarea:focus{outline:2px solid #f1ca97;outline-offset:1px}
.sending-status{color:#d0e8e8}
.service-scene .service-head .summary{max-width:970px}
.service-segment button.on{background:linear-gradient(120deg,#3b9b9a,#318ba6)}
.service-grid .service-tile{background:linear-gradient(137deg,rgba(34,99,118,.90),rgba(15,55,78,.96))}
.service-grid .service-tile.on{background:linear-gradient(125deg,rgba(46,132,126,.96),rgba(22,93,107,.96))}
.service-bottom{border-color:rgba(190,230,226,.36)}
@media(max-width:900px){
  .topcenter{display:none}
  .route-entrance{min-height:62px}
  .hero-shell{border-radius:20px}
  .end-scene .request-review .midtitle{font-size:27px}
}
@media(max-width:780px){
  .route-entrance{min-height:54px}
  .end-scene{overflow:hidden}
  .end-scene .request-review{height:30%;flex:0 0 30%;overflow-y:auto;scrollbar-width:thin}
  .end-scene .request-review .summary{display:none}
  .end-scene .trail-summary{margin:5px 0}
  .end-scene .marketing-reco{margin:6px 0;padding:10px 11px}
  .end-scene .marketing-reco h3{font-size:12px;margin:4px 0}
  .end-scene .marketing-reco p{font-size:10px;line-height:1.35}
  .end-scene .marketing-reco ul{display:none}
  .contact-card{min-height:0}
}
@media(max-width:390px){
  .topbar{padding-left:7px;padding-right:7px;gap:2px}
  .topbar .wordmark{width:75px;min-width:75px}
  #soundButton{display:none}
  .end-scene .request-review{height:27%;flex-basis:27%}
  .route-entrance{min-height:49px}
  .route-entrance strong{font-size:13px}
  .route-entrance small{font-size:8.5px}
}
@media(prefers-reduced-motion:reduce){
  .route-entrance,.brand-choice,.service-tile,.model-card,.pick,.goal-choice{transition:none!important}
}

.climb-brief-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}
.brief-print-btn{background:rgba(238,246,237,.91);border:1px solid rgba(198,231,223,.78);border-radius:999px;padding:9px 13px;font-size:11px;color:#1b5663;font-weight:850;box-shadow:0 5px 16px rgba(0,31,45,.14)}
.brief-print-btn:hover{background:#fff}
.climb-brief-links .textbtn{margin:0}
@media(max-width:780px){.climb-brief-links{gap:5px;margin-top:5px}.brief-print-btn{padding:7px 9px;font-size:9px}}

/* V10 · cierre en dos estaciones compactas en teléfonos, sin scroll de la página */
.finish-mobile-toggle{display:none}
.brief-next-btn{display:none}
@media(max-width:780px){
 .end-scene{display:flex!important;flex-direction:column;gap:8px!important;min-height:0;overflow:hidden}
 .end-scene .finish-mobile-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;flex:0 0 39px;width:100%}
 .finish-mobile-toggle button{background:rgba(13,64,80,.90);border:1px solid rgba(166,224,226,.65);color:#d9f3f1;border-radius:10px;font-size:11px;font-weight:850;min-height:39px}
 .finish-mobile-toggle button.on{background:linear-gradient(115deg,#2b9b9e,#3ca9a0);color:#fff;border-color:#d1f4e8}
 .end-scene[data-finish-active="review"] .request-review{display:flex!important;flex:1 1 auto!important;height:auto!important;overflow-y:auto;padding:2px 8px 10px 0;max-height:none;gap:4px}
 .end-scene[data-finish-active="review"] .contact-card{display:none!important}
 .end-scene[data-finish-active="review"] .request-review .summary{display:block!important;line-height:1.4;font-size:12px}
 .end-scene[data-finish-active="review"] .request-review .midtitle{font-size:clamp(29px,7.2vw,42px);line-height:1.09}
 .end-scene[data-finish-active="review"] .trail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:11px 0}
 .end-scene[data-finish-active="review"] .trail-summary>div{padding:10px 11px}
 .end-scene[data-finish-active="review"] .trail-summary b{font-size:12px}
 .end-scene[data-finish-active="review"] .trail-summary>div:nth-child(4){display:block}
 .end-scene[data-finish-active="review"] .marketing-reco{margin:12px 0;padding:15px}
 .end-scene[data-finish-active="review"] .marketing-reco h3{font-size:15px}
 .end-scene[data-finish-active="review"] .marketing-reco p{font-size:11px}
 .end-scene[data-finish-active="review"] .marketing-reco ul{display:block}
 .end-scene[data-finish-active="review"] .climb-brief-links{margin-top:10px}
 .end-scene[data-finish-active="review"] .brief-next-btn{display:block;width:100%;margin:10px 0 3px;background:linear-gradient(110deg,#178e94,#38ac9b);border:1px solid #b3eedb;color:white;border-radius:999px;font-weight:850;font-size:12px;padding:13px}
 .end-scene[data-finish-active="contact"] .request-review{display:none!important}
 .end-scene[data-finish-active="contact"] .contact-card{display:block!important;flex:1 1 auto;min-height:0;overflow-y:auto;max-height:none;padding:clamp(11px,3vw,16px)}
 .end-scene[data-finish-active="contact"] .contact-card .form-grid{gap:10px;margin-top:12px}
 .end-scene[data-finish-active="contact"] .contact-card .form-grid input{padding:9px 9px}
 .end-scene[data-finish-active="contact"] .contact-card .form-grid label{font-size:10px}
 .end-scene[data-finish-active="contact"] .privacy{font-size:10px;line-height:1.5;margin:12px 0}
 .end-scene[data-finish-active="contact"] .form-sends{padding-bottom:10px}
}
@media(max-width:390px){
 .end-scene[data-finish-active="review"] .trail-summary>div{padding:8px 9px}
 .end-scene[data-finish-active="contact"] .contact-card .form-grid{gap:7px}
}

.finish-mobile-action{display:none}
@media(max-width:780px){
 .end-scene[data-finish-active="review"] .brief-next-btn{display:none!important}
 .end-scene[data-finish-active="review"] .finish-mobile-action{display:block;flex:0 0 46px;width:100%;z-index:2}
 .end-scene .finish-mobile-action button{width:100%;height:46px;background:linear-gradient(112deg,#168e96,#35a99b);border:1px solid #beeddc;color:white;border-radius:999px;font-size:12px;font-weight:870;box-shadow:0 8px 25px rgba(7,69,74,.28)}
 .end-scene[data-finish-active="contact"] .finish-mobile-action{display:none}
}
