
:root{
  --bg:#050607; --bg2:#0b0d10; --panel:#12151a; --panel2:#171b21;
  --text:#f4f6f8; --muted:#a8b0bb; --muted2:#6f7a86; --line:rgba(255,255,255,.14);
  --accent:#ffffff; --flare:#7fdcff; --flare2:#d8f6ff; --danger:#ff604d;
  --max:1180px; --header:78px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block} .sr-only{position:absolute;left:-9999px}
body:before{content:"";position:fixed;inset:-20%;pointer-events:none;background:radial-gradient(circle at 80% 20%,rgba(127,220,255,.13),transparent 28%),radial-gradient(circle at 20% 80%,rgba(255,255,255,.08),transparent 28%);z-index:-2}
body:after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);z-index:-1}
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header);z-index:1000;display:flex;align-items:center;transition:.25s;background:linear-gradient(to bottom,rgba(0,0,0,.72),rgba(0,0,0,0));}
.site-header.scrolled{background:rgba(5,6,7,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-wrap{width:min(var(--max),calc(100% - 36px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:13px;font-weight:900;letter-spacing:.085em;text-transform:uppercase;font-size:.94rem;line-height:1.05}.brand img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(127,220,255,.25))}.brand span{display:block}.brand small{display:block;font-size:.62rem;color:var(--muted);letter-spacing:.2em;margin-top:4px}
.primary-nav{display:flex;gap:20px;align-items:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.075em;font-weight:800}.primary-nav a{opacity:.86}.primary-nav a:hover{opacity:1}.nav-cta{border:1px solid var(--accent);padding:10px 16px;font-size:.76rem}.menu-btn{display:none;background:none;border:0;color:white;font-size:1.8rem}
.hero{min-height:100vh;position:relative;display:grid;align-items:end;padding:calc(var(--header) + 80px) 0 72px;background-size:cover;background-position:center;isolation:isolate}.hero:before,.visual-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.42),rgba(0,0,0,.88)),linear-gradient(0deg,rgba(5,6,7,.92),transparent 45%,rgba(5,6,7,.2));z-index:-1}.hero-content{width:min(var(--max),calc(100% - 36px));margin:auto}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.22em;color:var(--flare2);font-weight:900;margin-bottom:18px}.hero h1{font-size:clamp(3rem,8vw,7.8rem);line-height:.88;letter-spacing:-.06em;margin:0 0 22px;text-transform:uppercase;max-width:1000px}.hero p{font-size:clamp(1rem,1.5vw,1.28rem);color:#e6e9ed;max-width:720px;margin:0 0 30px}.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff;padding:13px 22px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.78rem;min-width:170px;transition:.2s}.btn:hover{background:#fff;color:#000;transform:translateY(-2px)}.btn.ghost{border-color:rgba(255,255,255,.35);color:#fff}.btn.dark{background:#fff;color:#000}.btn.dark:hover{background:transparent;color:#fff}.scroll-cue{position:absolute;bottom:28px;right:clamp(20px,5vw,70px);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}
.section{padding:96px 0}.container{width:min(var(--max),calc(100% - 36px));margin:auto}.section-kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--flare);font-weight:900;font-size:.76rem;margin-bottom:13px}.section-title{font-size:clamp(2.1rem,5vw,4.8rem);line-height:.95;margin:0 0 24px;letter-spacing:-.05em;text-transform:uppercase}.lead{color:var(--muted);font-size:1.08rem;max-width:780px}.grid{display:grid;gap:18px}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid var(--line);padding:26px;min-height:220px;position:relative;overflow:hidden}.card:after{content:"";position:absolute;inset:auto -25% -40% auto;width:210px;height:210px;background:radial-gradient(circle,rgba(127,220,255,.18),transparent 70%);pointer-events:none}.card h3{font-size:1.35rem;margin:0 0 13px;text-transform:uppercase;letter-spacing:-.03em}.card p{color:var(--muted);margin:0 0 20px}.card a{font-size:.75rem;text-transform:uppercase;font-weight:900;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:5px}.metric{border-top:1px solid var(--line);padding-top:18px}.metric strong{font-size:clamp(2.2rem,5vw,4rem);line-height:1}.metric span{display:block;color:var(--muted);text-transform:uppercase;font-size:.73rem;letter-spacing:.12em;margin-top:6px}.visual-section{min-height:76vh;position:relative;display:grid;align-items:end;padding:96px 0;background-size:cover;background-position:center;isolation:isolate;border-top:1px solid var(--line)}.visual-section .copy{max-width:650px}.visual-section h2{font-size:clamp(2.6rem,7vw,6.2rem);line-height:.9;margin:0 0 18px;text-transform:uppercase;letter-spacing:-.06em}.visual-section p{color:#e5e8ec;font-size:1.08rem;max-width:620px}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.image-panel{min-height:430px;background-size:cover;background-position:center;border:1px solid var(--line);box-shadow:0 24px 90px rgba(0,0,0,.44);position:relative}.image-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent)}.steps{counter-reset:step}.step{display:grid;grid-template-columns:80px 1fr;gap:22px;padding:26px 0;border-top:1px solid var(--line)}.step:before{counter-increment:step;content:counter(step, decimal-leading-zero);font-size:2rem;font-weight:900;color:var(--flare)}.step h3{margin:0 0 8px;text-transform:uppercase}.step p{margin:0;color:var(--muted)}
.page-hero{min-height:62vh;display:grid;align-items:end;padding:calc(var(--header) + 70px) 0 72px;background-size:cover;background-position:center;position:relative;isolation:isolate}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.45)),linear-gradient(0deg,var(--bg),transparent 65%);z-index:-1}.page-hero h1{font-size:clamp(2.7rem,7vw,6.4rem);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;margin:0 0 16px}.page-hero p{max-width:760px;color:#e4e7eb;font-size:1.12rem}.content-block{max-width:900px}.content-block h2{font-size:clamp(1.8rem,4vw,3.5rem);line-height:1;text-transform:uppercase;letter-spacing:-.04em;margin:56px 0 16px}.content-block h3{font-size:1.35rem;text-transform:uppercase;margin:34px 0 12px}.content-block p,.content-block li{color:var(--muted);font-size:1.03rem}.content-block ul{padding-left:20px}.legal{background:#08090b}.legal .content-block{background:rgba(255,255,255,.045);border:1px solid var(--line);padding:34px}.quote{border-left:3px solid #fff;padding-left:22px;color:#e6e9ed;font-size:1.3rem;max-width:900px}.contact-panel{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid var(--line);padding:32px}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:15px;background:#08090b;border:1px solid var(--line);color:white;font:inherit}.contact-form textarea{min-height:130px}.form-note{color:var(--muted);font-size:.9rem}.footer{border-top:1px solid var(--line);padding:44px 0;background:#030405}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:32px}.footer a{color:var(--muted)}.footer a:hover{color:#fff}.footer h4{text-transform:uppercase;letter-spacing:.13em;font-size:.76rem}.footer p{color:var(--muted)}.subfooter{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;color:var(--muted2);font-size:.86rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cookie{position:fixed;left:18px;right:18px;bottom:18px;background:rgba(9,10,12,.94);border:1px solid var(--line);z-index:2000;padding:18px;display:none;gap:16px;align-items:center;box-shadow:0 20px 90px rgba(0,0,0,.7);backdrop-filter:blur(16px)}.cookie.show{display:flex}.cookie p{margin:0;color:var(--muted);font-size:.9rem}.cookie .actions{margin-left:auto}.mini-btn{border:1px solid rgba(255,255,255,.55);background:transparent;color:white;padding:10px 13px;text-transform:uppercase;font-weight:900;font-size:.7rem;letter-spacing:.08em}.mini-btn:hover{background:white;color:black}.deny-overlay{position:fixed;inset:0;background:#050607;z-index:3000;display:none;place-items:center;text-align:center;padding:30px}.deny-overlay.show{display:grid}.deny-overlay div{max-width:560px}.deny-overlay h2{text-transform:uppercase;font-size:clamp(2rem,5vw,4rem);line-height:1;margin:0 0 20px}.deny-overlay p{color:var(--muted)}
.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.primary-nav{display:none;position:absolute;top:var(--header);left:0;right:0;background:rgba(5,6,7,.98);padding:24px 18px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.primary-nav.open{display:flex}.menu-btn{display:block}.grid.cols-3,.grid.cols-2,.split,.footer-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(3rem,17vw,5rem)}.hero{padding-bottom:86px}.section{padding:70px 0}.visual-section{min-height:70vh}.cookie{display:none;flex-direction:column;align-items:flex-start}.cookie.show{display:flex}.cookie .actions{margin-left:0}.brand small{display:none}}

/* --- Dudleya v2 refinements --- */
.section-tight{padding-top:86px}
.media-grid{display:grid;gap:22px}
.media-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.media-card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.026));border:1px solid var(--line);overflow:hidden;min-height:100%;display:flex;flex-direction:column;box-shadow:0 22px 80px rgba(0,0,0,.25)}
.media-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#07080a;border-bottom:1px solid var(--line)}
.media-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .55s ease;filter:saturate(.92) contrast(1.05)}
.media-card:hover .media-card-image img{transform:scale(1.045);filter:saturate(1.06) contrast(1.08)}
.media-card-body{padding:24px;display:flex;flex-direction:column;flex:1}
.media-card-body span{font-size:.68rem;letter-spacing:.17em;text-transform:uppercase;color:var(--flare);font-weight:900;margin-bottom:10px}
.media-card-body h3{font-size:1.26rem;margin:0 0 10px;text-transform:uppercase;letter-spacing:-.03em}
.media-card-body p{color:var(--muted);margin:0 0 22px}
.media-card-body a:last-child{font-size:.74rem;text-transform:uppercase;font-weight:900;letter-spacing:.12em;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:5px;width:max-content;margin-top:auto}
.visual-section--right .copy{margin-left:auto}
.faq-list{max-width:920px;margin:34px auto 0;display:grid;gap:12px}
.faq-item{border:1px solid var(--line);background:rgba(255,255,255,.045);padding:0}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:1rem;display:flex;align-items:center;justify-content:space-between;gap:18px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:"+";font-size:1.35rem;color:var(--flare)}
.faq-item[open] summary:after{content:"–"}
.faq-item div{padding:0 22px 20px;color:var(--muted);font-size:1rem;max-width:820px}
.faq-intro{max-width:760px;color:var(--muted);font-size:1.05rem}
.legal-page .content-block{max-width:980px}
.legal-page .content-block h2{font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.15;margin:34px 0 12px;letter-spacing:-.025em}
.legal-page .content-block h3{font-size:1.02rem;letter-spacing:.04em;color:#fff;margin:22px 0 10px}
.legal-page .content-block p,.legal-page .content-block li{font-size:.98rem;line-height:1.72;color:#bbc3cf}
.legal-page .content-block ul{margin:10px 0 22px 20px;padding:0}
.legal-page .legal-date{color:var(--flare2);font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}
.legal-page .legal-note{border-left:2px solid var(--flare);padding-left:16px;color:#e9edf2;background:rgba(127,220,255,.05);padding-top:12px;padding-bottom:12px;margin:22px 0}
@media(max-width:900px){
  .media-grid.cols-3{grid-template-columns:1fr}
  .media-card-image{aspect-ratio:16/9}
  .faq-item summary{font-size:.92rem;padding:16px}
  .faq-item div{padding:0 16px 18px}
}


/* --- Dudleya v3: FAQ con texto original rescatado, formato compacto --- */
.faq-compact-hero{min-height:46vh;padding:calc(var(--header) + 54px) 0 48px}
.faq-compact-hero h1{font-size:clamp(2.4rem,5.6vw,4.9rem);max-width:900px}
.faq-compact-hero p{max-width:760px;font-size:1.02rem;color:#d9dee6}
.faq-section{padding-top:64px}
.faq-page-head{max-width:860px;margin:0 auto 28px}
.faq-page-head h2{font-size:clamp(1.55rem,3.2vw,2.8rem);line-height:1.05;letter-spacing:-.04em;text-transform:uppercase;margin:0;color:#fff}
.faq-list{max-width:980px}
.faq-item summary{font-size:.96rem;line-height:1.35;text-transform:none;letter-spacing:0}
.faq-item .faq-body{max-width:900px;color:#bbc3cf;font-size:.98rem;line-height:1.72}
.faq-item .faq-body p{margin:0 0 15px;color:#bbc3cf;font-size:.98rem;line-height:1.72}
.faq-item .faq-body p:last-child{margin-bottom:0}
.faq-item .faq-body ol,.faq-item .faq-body ul{margin:10px 0 4px 22px;padding:0;color:#bbc3cf}
.faq-item .faq-body li{margin:0 0 10px;color:#bbc3cf;font-size:.98rem;line-height:1.7}
.faq-item .faq-body strong{color:#fff;font-weight:900}
.faq-item .faq-body a{color:#fff;border-bottom:1px solid rgba(255,255,255,.55)}
.faq-closing{padding-top:54px;border-top:1px solid var(--line);background:rgba(255,255,255,.025)}
.faq-closing .container{max-width:920px}
.faq-closing h2{font-size:clamp(1.55rem,3.5vw,3.2rem);line-height:1.05;letter-spacing:-.045em;text-transform:uppercase;margin:0 0 16px}
.faq-closing p{color:#bbc3cf;font-size:1rem;max-width:760px;margin:0 0 24px;line-height:1.72}
@media(max-width:900px){
  .faq-compact-hero{min-height:42vh;padding:calc(var(--header) + 44px) 0 38px}
  .faq-section{padding-top:48px}
  .faq-item summary{font-size:.93rem}
  .faq-item .faq-body,.faq-item .faq-body p,.faq-item .faq-body li{font-size:.95rem}
}

/* --- Dudleya v4: video de fondo en hero/landing --- */
.hero--video{background:#050607;overflow:hidden}
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;filter:saturate(.9) contrast(1.06) brightness(.78)}
.hero--video:before{background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.36),rgba(0,0,0,.84)),linear-gradient(0deg,rgba(5,6,7,.96),transparent 48%,rgba(5,6,7,.12));z-index:-1}
.hero-content,.scroll-cue{position:relative;z-index:1}
@media(max-width:900px){.hero-bg-video{filter:saturate(.88) contrast(1.05) brightness(.58)}}
@media(prefers-reduced-motion:reduce){.hero-bg-video{display:none}.hero--video{background-image:url('../media/scan3d-digital-twin.webp');background-size:cover;background-position:center}}


/* --- Dudleya v5: hero más cinematográfica, copy menos invasivo y logo de entrada --- */
.hero-content{max-width:920px;margin-left:clamp(18px,5vw,72px);margin-right:auto}
.hero-logo{display:block;width:min(420px,48vw);height:auto;margin:0 0 22px;opacity:.92;filter:drop-shadow(0 0 22px rgba(127,220,255,.18))}
.hero h1{font-size:clamp(2.75rem,5.25vw,5.6rem);line-height:.94;letter-spacing:-.052em;max-width:850px;margin-bottom:20px}
.hero p{font-size:clamp(.98rem,1.18vw,1.14rem);max-width:670px;line-height:1.65;color:#dfe4eb}
.hero .eyebrow{font-size:.72rem;letter-spacing:.2em;margin-bottom:14px}
.hero--video:before{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.28) 48%,rgba(0,0,0,.62)),linear-gradient(0deg,rgba(5,6,7,.92),transparent 50%,rgba(5,6,7,.08));z-index:-1}
.hero-bg-video{filter:saturate(.92) contrast(1.06) brightness(.88)}
@media(max-width:900px){
  .hero-content{width:min(var(--max),calc(100% - 36px));margin-left:auto;margin-right:auto}
  .hero-logo{width:min(315px,72vw);margin-bottom:18px}
  .hero h1{font-size:clamp(2.55rem,12.5vw,4.35rem);line-height:.94;max-width:92vw}
  .hero p{font-size:.98rem;line-height:1.58;max-width:92vw}
  .hero--video:before{background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.44)),linear-gradient(0deg,rgba(5,6,7,.96),transparent 56%,rgba(5,6,7,.18))}
  .hero-bg-video{filter:saturate(.9) contrast(1.05) brightness(.66)}
}


/* --- Dudleya v6: encabezado en una sola línea y sin logo grande en hero --- */
.brand{
  gap:12px;
  font-size:.74rem;
  letter-spacing:.15em;
  line-height:1;
  white-space:nowrap;
  flex:0 0 auto;
}
.brand img{
  width:104px;
  height:34px;
  object-fit:contain;
  filter:drop-shadow(0 0 16px rgba(127,220,255,.18));
}
.brand span{
  display:inline-block;
  white-space:nowrap;
}
.brand small{display:none}
.hero-logo{display:none !important}
.nav-wrap{gap:20px}
.primary-nav{gap:18px;font-size:.76rem;letter-spacing:.07em}
@media(max-width:1100px){
  .brand img{width:88px;height:30px}
  .brand{font-size:.66rem;letter-spacing:.12em;gap:10px}
  .primary-nav{gap:13px;font-size:.70rem}
  .nav-cta{padding:9px 12px}
}
@media(max-width:900px){
  .brand img{width:90px;height:30px}
  .brand{font-size:.66rem;letter-spacing:.11em}
}

/* --- Dudleya v7: estructura original de menú con submenús preservados --- */
.site-header{height:var(--header)}
.nav-wrap{width:min(1360px,calc(100% - 48px));gap:24px;justify-content:flex-start}
.brand{display:flex;align-items:center;flex:0 0 auto;min-width:180px;max-width:235px;gap:0;font-size:0;letter-spacing:0;line-height:0;white-space:nowrap}
.brand img{width:190px;height:48px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(127,220,255,.17))}.brand span{display:none!important}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:.78rem;letter-spacing:.085em;font-weight:900;text-transform:uppercase;white-space:nowrap}
.nav-link,.nav-parent{font:inherit;color:#fff;text-transform:uppercase;letter-spacing:inherit;font-weight:900;opacity:.88;background:none;border:0;padding:12px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;line-height:1}
.nav-parent span{font-size:.7rem;opacity:.78;transform:translateY(-1px)}
.nav-link:hover,.nav-parent:hover{opacity:1}.nav-item{position:relative;display:flex;align-items:center}.submenu{position:absolute;top:calc(100% + 7px);left:-18px;min-width:245px;background:rgba(6,8,11,.94);border:1px solid rgba(255,255,255,.16);box-shadow:0 22px 80px rgba(0,0,0,.58);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;backdrop-filter:blur(16px)}
.has-submenu:hover .submenu,.has-submenu:focus-within .submenu,.has-submenu.open .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu a{display:block;padding:12px 18px;color:#e8edf2!important;opacity:.86;text-transform:none;letter-spacing:.01em;font-size:.93rem;font-weight:750;white-space:normal;line-height:1.25}.submenu a:hover{background:rgba(127,220,255,.08);opacity:1;color:#fff!important}.submenu:before{content:"";position:absolute;left:18px;top:-8px;width:14px;height:14px;background:rgba(6,8,11,.94);border-left:1px solid rgba(255,255,255,.16);border-top:1px solid rgba(255,255,255,.16);transform:rotate(45deg)}
@media(max-width:1180px){.nav-wrap{width:min(100% - 32px,1360px);gap:18px}.brand{min-width:150px;max-width:180px}.brand img{width:156px;height:42px}.primary-nav{gap:14px;font-size:.69rem;letter-spacing:.07em}.submenu{min-width:225px}}
@media(max-width:900px){.nav-wrap{width:min(100% - 28px,1360px);justify-content:space-between}.brand{min-width:0;max-width:180px}.brand img{width:160px;height:42px}.primary-nav{display:none;position:absolute;top:var(--header);left:0;right:0;margin-left:0;background:rgba(5,6,7,.98);padding:18px 18px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;white-space:normal;max-height:calc(100vh - var(--header));overflow:auto}.primary-nav.open{display:flex}.menu-btn{display:block}.nav-item{display:block;border-bottom:1px solid rgba(255,255,255,.11)}.nav-link,.nav-parent{width:100%;justify-content:space-between;padding:17px 4px;font-size:.78rem;letter-spacing:.09em}.nav-link{display:flex;border-bottom:1px solid rgba(255,255,255,.11)}.submenu{position:static;min-width:0;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.11);box-shadow:none;padding:0;margin:0 0 14px;opacity:1;visibility:visible;transform:none;backdrop-filter:none;display:none}.has-submenu.open .submenu{display:block}.has-submenu:hover .submenu,.has-submenu:focus-within .submenu{display:none}.has-submenu.open:hover .submenu,.has-submenu.open:focus-within .submenu{display:block}.submenu:before{display:none}.submenu a{font-size:.94rem;padding:13px 15px}.nav-parent[aria-expanded="true"] span{transform:rotate(180deg)}}


/* --- Dudleya v8: media integrada en página Modelos 3D --- */
.model-video,.process-visual{margin:28px 0 36px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 22px 80px rgba(0,0,0,.34);overflow:hidden}
.model-video video{display:block;width:100%;height:auto;background:#000;aspect-ratio:16/9;object-fit:cover}
.process-visual img{width:100%;height:auto;display:block}
.content-block .model-video + p{margin-top:8px}
@media(max-width:900px){.model-video,.process-visual{margin:22px 0 30px;border-radius:0}.model-video video{aspect-ratio:16/9}}


/* --- Dudleya v10: guías visibles para insertar fotos, videos e iframes --- */
.media-slot{position:relative;margin:30px 0 38px;border:1px solid rgba(127,220,255,.32);background:linear-gradient(180deg,rgba(127,220,255,.08),rgba(255,255,255,.02));box-shadow:0 20px 70px rgba(0,0,0,.38);overflow:hidden}
.media-slot img,.media-slot video{width:100%;display:block;background:#020304;aspect-ratio:16/9;object-fit:cover}
.media-slot--image img{height:auto}.media-slot--video video{min-height:260px}.media-slot--iframe{min-height:360px;display:grid;place-items:center;background:#050607}.media-slot--iframe .slot-poster{width:100%;height:100%;object-fit:cover;opacity:.72}
.media-guide{display:none;position:absolute;left:14px;top:14px;right:14px;z-index:5;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 14px;background:rgba(0,0,0,.78);border:1px solid rgba(127,220,255,.55);backdrop-filter:blur(12px);color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;line-height:1.35}
.show-media-guides .media-guide{display:flex}.media-guide strong{color:var(--flare);font-weight:900}.media-guide code{font-size:.7rem;color:#dff8ff;text-transform:none;letter-spacing:0;word-break:break-all}.media-caption{padding:12px 14px;border-top:1px solid rgba(255,255,255,.1);color:var(--muted);font-size:.88rem;background:rgba(0,0,0,.24)}
.media-placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0 38px}.media-placeholder-grid .media-slot{margin:0}.media-placeholder-grid.two{grid-template-columns:repeat(2,1fr)}
.media-card-image{position:relative}.media-card-image .media-guide{left:10px;right:10px;top:10px;padding:9px 10px;font-size:.62rem}.visual-section .media-guide--section,.hero .media-guide--section{right:auto;max-width:480px}.media-slot + h2,.media-slot + h3{margin-top:50px}.content-block .media-slot p{color:var(--muted)}
@media(max-width:900px){.media-placeholder-grid,.media-placeholder-grid.two{grid-template-columns:1fr}.media-guide{position:static;display:flex;margin:0;border-left:0;border-right:0}.show-media-guides .media-guide{display:flex}.media-slot--video video{min-height:200px}}


/* --- Dudleya v11: ajustes finales de jerarquía, footer FAQ y terrenos compacto --- */
.content-block h2{
  font-size:clamp(1.38rem,2.45vw,2.35rem);
  line-height:1.12;
  letter-spacing:-.03em;
  overflow-wrap:anywhere;
  word-break:normal;
}
.content-block p,.content-block li{line-height:1.72}
.page-hero h1{
  font-size:clamp(2.25rem,5.8vw,5.4rem);
  overflow-wrap:anywhere;
}
.section-title{
  font-size:clamp(1.9rem,4.2vw,3.9rem);
}
.visual-section h2{
  font-size:clamp(2rem,5.2vw,4.9rem);
}
.compact-callout{
  margin:42px 0 8px;
  padding:24px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.045);
}
.compact-callout p{margin:0 0 12px}
.compact-callout .btn{margin-top:6px}
.terrenos-compact-section .terrenos-compact{max-width:1120px}
.terrenos-compact .content-block{max-width:none}
.terrenos-compact .lead{max-width:900px}
.terrain-info-grid{
  display:grid;
  gap:24px;
  margin:38px 0 28px;
}
.terrain-info-card{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:22px;
  align-items:start;
  padding:22px 0;
  border-top:1px solid var(--line);
}
.terrain-info-card:last-child{border-bottom:1px solid var(--line)}
.terrain-icon{
  color:var(--flare);
  font-weight:900;
  font-size:1.55rem;
  letter-spacing:.08em;
  line-height:.68;
  text-align:center;
  opacity:.9;
}
.terrain-info-card h2{
  font-size:clamp(1.2rem,2.2vw,1.75rem);
  margin:0 0 8px;
  text-transform:none;
  letter-spacing:-.025em;
}
.terrain-info-card p{margin:0;max-width:780px;color:#d2d8e0}
.terrain-cta{margin-top:28px}.terrain-cta .btn{width:min(100%,620px)}
.footer-grid{grid-template-columns:1.15fr .8fr .9fr}
@media(max-width:900px){
  .content-block h2{font-size:clamp(1.3rem,7vw,2rem);line-height:1.15;margin:38px 0 12px}
  .page-hero h1{font-size:clamp(2rem,13vw,3.7rem);line-height:.96}
  .visual-section h2{font-size:clamp(2rem,10vw,3.4rem);line-height:.95}
  .terrain-info-card{grid-template-columns:42px 1fr;gap:16px;padding:20px 0}
  .terrain-icon{font-size:1.25rem}
}

/* --- Dudleya v12: vista final limpia y videos más estables en móvil --- */

body:not(.show-media-guides):not(.media-guides-active) .media-guide {
  display: none !important;
}

body.show-media-guides .media-guide,
body.media-guides-active .media-guide {
  display: flex !important;
}

.media-slot--video video[controls] {
  cursor: pointer;
  background: #000;
}

.media-slot--video video[controls]::-webkit-media-controls {
  display: flex !important;
}

/* Imagen completa sin recorte */
.media-slot--contain {
  aspect-ratio: auto !important;
  background: rgba(0, 0, 0, 0.45);
}

.media-slot--contain .media-link {
  display: block;
  width: 100%;
}

.media-slot--contain img {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #05080a;
}

/* Ajustes móviles */
@media(max-width:900px) {
  body:not(.show-media-guides):not(.media-guides-active) .media-guide {
    display: none !important;
  }

  .media-slot--video video[controls] {
    min-height: 0;
    aspect-ratio: 16/9;
    object-fit: cover;
  }

  .media-slot--contain img {
    width: 100%;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }
}

/* Forzar que todas las imágenes de slots entren completas, sin recorte */
.media-slot--image {
  aspect-ratio: auto !important;
  background: rgba(0, 0, 0, 0.45);
}

.media-slot--image .media-link {
  display: block;
  width: 100%;
}

.media-slot--image img {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #05080a;
}



/* --- Experiencias Dudleya: catálogo, compra y llaves --- */
.nav-link--experiencias-dudleya{color:var(--flare2)!important}
.experiences-hero:before{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.48)),linear-gradient(0deg,var(--bg),transparent 68%)}
.access-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;border:1px solid var(--line);background:rgba(255,255,255,.035);padding:14px}
.access-strip div{padding:20px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035)}
.access-strip strong{display:block;font-size:clamp(1.6rem,4vw,3rem);line-height:1;color:#fff;letter-spacing:-.05em}.access-strip span{display:block;margin-top:8px;color:var(--muted);font-size:.86rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}.experience-card{background:linear-gradient(180deg,rgba(255,255,255,.072),rgba(255,255,255,.025));border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;min-height:100%;box-shadow:0 24px 90px rgba(0,0,0,.32)}
.experience-cover{position:relative;display:block;aspect-ratio:16/10;background:#050607;overflow:hidden;border-bottom:1px solid var(--line)}.experience-cover img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.08);transition:transform .55s ease,filter .55s ease}.experience-card:hover .experience-cover img{transform:scale(1.045);filter:saturate(1.07) contrast(1.12)}
.experience-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),transparent 60%),linear-gradient(90deg,rgba(0,0,0,.34),transparent)}.experience-badge{position:absolute;top:14px;left:14px;z-index:2;background:#fff;color:#000;font-weight:950;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;padding:8px 10px}.experience-badge--premium{background:var(--flare2);color:#001015}.experience-badge--pass{background:#fff;color:#000;border:1px solid var(--flare)}
.experience-title{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}.experience-title h3{margin:0;text-transform:uppercase;letter-spacing:-.035em;font-size:1.45rem;line-height:1.02}.experience-title p{margin:6px 0 0;color:#dfe6ec;font-size:.88rem}.experience-body{padding:24px;display:flex;flex-direction:column;flex:1}.experience-meta{color:var(--flare);font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;margin-bottom:12px}.experience-body p{color:var(--muted);margin:0 0 22px}.experience-body .btn{margin-top:auto;width:100%;min-width:0}.experience-card--pass{border-color:rgba(127,220,255,.42);box-shadow:0 24px 90px rgba(127,220,255,.08)}
.purchase-layout,.access-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}.purchase-summary,.access-results{border:1px solid var(--line);background:rgba(255,255,255,.045);padding:30px}.purchase-summary h2,.access-results h2{font-size:clamp(1.8rem,3.5vw,3rem);line-height:1;margin:0 0 14px;text-transform:uppercase;letter-spacing:-.04em}.purchase-price{font-size:clamp(2rem,5vw,4rem);font-weight:950;letter-spacing:-.06em;margin:20px 0;color:#fff}.payment-status{color:var(--muted);margin:14px 0 20px}.purchase-result{margin-top:22px;border:1px solid rgba(127,220,255,.38);background:rgba(127,220,255,.08);padding:18px}.access-form{display:grid;gap:14px}.access-form label{font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:var(--flare)}.access-form input{width:100%;padding:16px;background:#08090b;border:1px solid var(--line);color:#fff;font:inherit;text-transform:uppercase;letter-spacing:.06em}.unlocked-grid{display:grid;gap:14px;margin-top:22px}.unlocked-card{border:1px solid var(--line);background:rgba(255,255,255,.04);padding:18px}.unlocked-card h3{margin:0 0 6px;text-transform:uppercase}.unlocked-card p{margin:0 0 14px;color:var(--muted)}.key-box{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#050607;border:1px solid rgba(255,255,255,.18);padding:14px;margin:12px 0;word-break:break-all;color:#dff8ff}
@media(max-width:1050px){.experience-grid{grid-template-columns:repeat(2,1fr)}.access-strip{grid-template-columns:1fr}.purchase-layout,.access-layout{grid-template-columns:1fr}}
@media(max-width:700px){.experience-grid{grid-template-columns:1fr}.experience-title h3{font-size:1.25rem}.purchase-summary,.access-results{padding:22px}}

.link-dudleya {
  color: var(--flare);
  font-weight: 900;
  border-bottom: 1px solid var(--flare);
  text-decoration: none;
  transition: 0.2s ease;
}

.link-dudleya:hover {
  color: #ffffff;
  border-bottom-color: #ffffff;
}


/* --- Dudleya mobile video fix: tap/play estable en celular --- */
.media-slot--video,
.model-video {
  position: relative;
}

.media-slot--video video,
.model-video video {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0 !important;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #000;
  cursor: pointer;
  pointer-events: auto !important;
  position: relative;
  z-index: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.media-guide {
  pointer-events: none;
}

.video-play-btn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 6;
  width: clamp(58px, 12vw, 86px);
  height: clamp(58px, 12vw, 86px);
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.88);
  background: rgba(0,0,0,.58);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: clamp(1.25rem, 4vw, 2rem);
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 50px rgba(0,0,0,.55), 0 0 30px rgba(127,220,255,.18);
  transition: opacity .18s ease, transform .18s ease, background .18s ease;
}

.video-play-btn span {
  display: block;
  transform: translateX(3px);
}

.video-play-btn:hover,
.video-play-btn:focus-visible {
  background: rgba(127,220,255,.22);
  transform: translate(-50%, -50%) scale(1.04);
}

.video-play-btn.is-hidden {
  opacity: 0;
  pointer-events: none;
}

@media(max-width:900px) {
  .media-slot--video,
  .model-video {
    overflow: visible;
  }

  .media-slot--video video,
  .model-video video {
    min-height: 0 !important;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }

  .media-slot--video .media-caption,
  .model-video .media-caption {
    position: relative;
    z-index: 2;
  }
}

/* Patch Experiencias Dudleya: videos tipo GIF, llaves promocionales y próximos tours */
.experience-cover img,
.experience-cover video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.92) contrast(1.08);
  transition:transform .55s ease,filter .55s ease;
}
.experience-card:hover .experience-cover img,
.experience-card:hover .experience-cover video{
  transform:scale(1.045);
  filter:saturate(1.07) contrast(1.12);
}
.experience-cover video{background:#050607;pointer-events:none}
.experience-badge--key{background:var(--flare);color:#001015}
.experience-badge--soon{background:rgba(255,255,255,.88);color:#050607;border:1px solid rgba(127,220,255,.58)}
.experience-card--key{border-color:rgba(127,220,255,.34)}
.experience-card--soon{border-style:dashed;border-color:rgba(255,255,255,.22)}
.video-link{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:-6px 0 18px;color:#fff;font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.11em;border-bottom:1px solid rgba(127,220,255,.72);padding-bottom:5px}
.tour-key-form{margin-top:auto;display:grid;gap:10px}
.tour-key-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--flare)}
.tour-key-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch}
.tour-key-row input{width:100%;min-width:0;background:#050607;border:1px solid rgba(255,255,255,.18);color:#fff;padding:14px 13px;font:inherit;text-transform:uppercase;letter-spacing:.06em;outline:none}
.tour-key-row input:focus{border-color:var(--flare);box-shadow:0 0 0 3px rgba(127,220,255,.12)}
.tour-key-row .btn{height:100%;padding-inline:16px;margin:0;white-space:nowrap}
.form-note.is-error{color:#ffb4a8}.form-note.is-ok{color:#9ee7ff}
.premium-note{border:1px solid rgba(127,220,255,.32);background:linear-gradient(135deg,rgba(127,220,255,.12),rgba(255,255,255,.035));padding:34px;box-shadow:0 24px 90px rgba(0,0,0,.28)}
.premium-note h2{font-size:clamp(1.8rem,4vw,3.7rem);line-height:.96;margin:0 0 18px;text-transform:uppercase;letter-spacing:-.05em}
.premium-note p{color:#d7dde5;font-size:1.06rem;max-width:980px;margin:0}
.btn[disabled],button[disabled]{opacity:.58;cursor:not-allowed}
@media(max-width:760px){.tour-key-row{grid-template-columns:1fr}.tour-key-row .btn{width:100%}.premium-note{padding:24px}}
