@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-garamond-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-garamond-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-garamond-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/cormorant-garamond-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Outfit";src:url(fonts/outfit-300-normal.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Outfit";src:url(fonts/outfit-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Outfit";src:url(fonts/outfit-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --ink:#17110d; --chamber:#100c09; --corten:#6e3a26; --corten-deep:#2a1209; --rust:#a4583a;
  --glow:#efb999; --paper:#f4efe8; --paper-2:#e7e0d6; --concrete:#cfcac3; --stone:#7b756d; --line:rgba(244,239,232,.22);
  --serif:"Cormorant Garamond","Times New Roman",Georgia,serif; --sans:"Outfit",system-ui,-apple-system,sans-serif;
  --gut:clamp(16px,4.4vw,72px); --top:64px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
html:not(.live){scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font:300 clamp(16px,1.15vw,18px)/1.55 var(--sans);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
h2{font:400 clamp(38px,5.2vw,84px)/1 var(--serif);letter-spacing:-.018em;text-wrap:balance}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--paper);color:var(--ink);padding:10px 14px}
.skip:focus{top:12px}
.eyebrow{font:400 12px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rust);margin-bottom:18px}

.demo-note{position:absolute;left:0;right:0;top:0;z-index:60;background:var(--chamber);color:rgba(244,239,232,.72);font-size:12px;line-height:1.35;text-align:center;padding:7px 16px}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 26px;border-radius:999px;border:1px solid transparent;font:400 15px/1.2 var(--sans);text-decoration:none;cursor:pointer;background:none;color:inherit;transition:background-color .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{transform:translateY(-2px)}
.btn-paper{background:var(--paper);color:var(--ink)}
.btn-paper:hover{background:var(--glow)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--corten)}
.btn-line{border-color:rgba(244,239,232,.55);color:var(--paper)}
.btn-line:hover{background:rgba(244,239,232,.14)}

/* Cabecera */
.top{position:sticky;top:10px;z-index:50;margin:40px var(--gut) -104px;height:var(--top);display:flex;align-items:center;gap:clamp(14px,2vw,30px);padding:0 10px 0 20px;background:rgba(23,17,13,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(244,239,232,.14);border-radius:999px;overflow:hidden}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.brand-mark{display:inline-flex;font:400 27px/1 var(--serif)}
.brand-mark i{font-style:normal}
.brand-mark i+i{margin-left:-.26em}
.brand-word{font:400 16px/1 var(--serif);letter-spacing:.24em;text-transform:uppercase}
.top nav{display:flex;gap:clamp(12px,1.8vw,26px)}
.top nav a{font-size:14px;text-decoration:none;opacity:.82;white-space:nowrap}
.top nav a:hover{opacity:1;color:var(--glow)}
.top-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border-radius:999px;background:var(--paper);color:var(--ink);font-size:14px;font-weight:400;text-decoration:none;transition:background-color .25s}
.top-cta:hover{background:var(--glow)}
.top-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--glow);transform:scaleX(0);transform-origin:0 50%}

/* Fijación por CSS: la sección alta, su interior pegado y la siguiente pasa por encima */
.pin-wrap{position:relative}
.pin-in{position:relative;height:100svh;min-height:560px;overflow:hidden}
.live .pin-in{position:sticky;top:0}
.live .hero{height:250svh;z-index:1}
.live .mirror{z-index:2;margin-top:-100svh}
.live .scan{height:660svh;z-index:3}
.live .south{height:360svh;z-index:4;margin-top:-100svh}
.live .treat{z-index:5;margin-top:-100svh}
.live .menu{z-index:6}
.live .reels{z-index:7}
.live .team{z-index:8}
.live .book{z-index:9}
.panel{position:relative}

/* 1. Fachada */
.hero-in{background:var(--corten-deep)}
.hero-wall{position:absolute;inset:-4%;background:url(img/corten.webp) center/cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,10,5,.62),rgba(23,10,5,.2) 40%,rgba(16,7,3,.82));}
.hero-title{position:absolute;inset:0;margin:0;font:400 clamp(84px,15.4vw,290px)/.86 var(--serif);letter-spacing:-.03em;color:var(--paper);pointer-events:none}
.mask{display:block;overflow:hidden;padding:.06em .08em .14em;margin:-.06em -.08em -.14em}
.mask-in{display:block}
.hero-l1{position:absolute;left:var(--gut);top:clamp(96px,15svh,150px);z-index:1}
.hero-l2{position:absolute;z-index:3;left:37vw;bottom:clamp(120px,21svh,200px);font-style:italic;color:var(--glow);text-shadow:0 6px 40px rgba(20,8,3,.5)}
.hero-dra{position:absolute;z-index:2;right:0;bottom:0;width:min(62vw,calc(94svh * 1.0476));will-change:transform}
.hero-dra img{width:100%;filter:drop-shadow(-22px 10px 44px rgba(12,4,1,.55))}
.hero-foot{position:absolute;z-index:4;left:var(--gut);bottom:clamp(24px,5svh,52px);width:min(34vw,470px)}
.hero-kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--glow);margin-bottom:10px}
.hero-lede{font-size:clamp(17px,1.5vw,22px);line-height:1.35;margin-bottom:20px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-side{position:absolute;z-index:4;right:var(--gut);bottom:clamp(24px,5svh,52px);display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;text-shadow:0 1px 10px rgba(0,0,0,.7)}

/* 2. Espejo */
.mirror{background:var(--paper);color:var(--ink);padding:clamp(90px,14vw,200px) var(--gut) clamp(70px,10vw,150px);border-radius:clamp(20px,3vw,44px) clamp(20px,3vw,44px) 0 0}
.mirror-title{font:400 clamp(52px,10.4vw,190px)/.94 var(--serif);letter-spacing:-.028em;max-width:13ch}
.mirror-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,110px);margin-top:clamp(40px,6vw,90px);align-items:start}
.mirror-quote{font:italic 400 clamp(25px,2.8vw,44px)/1.14 var(--serif);color:var(--corten)}
.facts li{display:grid;grid-template-columns:minmax(120px,.5fr) 1fr;gap:18px;align-items:baseline;padding:16px 0;border-top:1px solid rgba(23,17,13,.2)}
.facts b{font:500 clamp(28px,2.8vw,42px)/1 var(--serif)}
.facts span{font-size:15px;line-height:1.35}

/* 3. La lectura */
.scan-in{background:radial-gradient(70% 62% at 52% 48%,#2c1a12,var(--chamber) 72%);color:var(--paper)}
.scan-words{display:none}
.rig-wrap{position:relative;perspective:1200px}
.rig{position:relative}
.rig-img{width:100%}
.layer,.rig-dots,.rig-line,.ring,.scan-frame,.scan-ticks{display:none}
.scan-note{font-size:12px;line-height:1.35;color:rgba(244,239,232,.62)}
.scan-lede{font-size:clamp(16px,1.3vw,20px);line-height:1.4;margin-top:16px;color:rgba(244,239,232,.86)}
.stage h3{font:400 clamp(28px,3vw,46px)/1 var(--serif);margin:4px 0 8px}
.stage p{font-size:clamp(15px,1.15vw,18px);line-height:1.38;color:rgba(244,239,232,.82)}
.stage-n{font-size:12px;letter-spacing:.2em;color:var(--glow)}
.scan-out-big{font:italic 400 clamp(36px,4.6vw,76px)/1 var(--serif);margin-bottom:22px}

/* Lectura sin animación: lista con las cinco capas */
html:not(.live) .scan-in{height:auto;min-height:0;padding:clamp(70px,9vw,120px) var(--gut);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,70px);align-items:start}
html:not(.live) .stages{margin:28px 0;display:grid;gap:16px}
html:not(.live) .stage{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center}
html:not(.live) .scan-note{grid-column:1/-1}
html:not(.live) .scan-copy .btn{margin-top:4px}

.live .stage-thumb{display:none}
.live .scan-words{display:block;position:absolute;inset:0;z-index:0;pointer-events:none}
.live .scan-words span{position:absolute;left:50%;top:50%;translate:-50% -50%;font:italic 400 14.6vw/1 var(--serif);white-space:nowrap;color:rgba(239,185,153,.26);opacity:0}
.live .rig-wrap{position:absolute;z-index:1;left:50%;top:53%;width:min(58svh,44vw);translate:-50% -50%}
.live .rig{transform-style:preserve-3d;will-change:transform}
.live .layer{display:block;position:absolute;inset:0;clip-path:inset(0 0 100% 0)}
.live .rig-dots{display:block;position:absolute;inset:0;opacity:0;transform:translateZ(46px);background:radial-gradient(circle,rgba(239,185,153,.95) 1px,transparent 1.5px) 0 0/14px 14px;-webkit-mask:url(img/rostro-base.webp) center/100% 100% no-repeat;mask:url(img/rostro-base.webp) center/100% 100% no-repeat}
.live .rig-line{display:block;position:absolute;left:-12%;right:-12%;top:0;height:2px;opacity:0;transform:translateZ(70px);background:var(--glow);box-shadow:0 0 18px 3px rgba(239,185,153,.8),0 0 70px 16px rgba(239,185,153,.26)}
.live .ring{display:block;position:absolute;width:clamp(30px,3.6vw,52px);aspect-ratio:1;margin:-26px 0 0 -26px;border:1px solid var(--glow);border-radius:50%;opacity:0;transform:translateZ(90px)}
.live .ring::after{content:"";position:absolute;inset:44%;border-radius:50%;background:var(--glow)}
.live .scan-frame{display:block;position:absolute;z-index:2;left:50%;top:53%;width:min(70svh,52vw);height:min(80svh,calc(100svh - 150px));transform:translate(-50%,-50%);pointer-events:none}
.scan-frame i{position:absolute;width:26px;height:26px;border:1px solid rgba(244,239,232,.55)}
.scan-frame i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}
.scan-frame i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.scan-frame i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}
.scan-frame i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.live .scan-copy{position:absolute;z-index:3;left:var(--gut);top:0;bottom:0;width:min(29vw,410px)}
.live .scan-intro,.live .stage,.live .scan-outro{position:absolute;left:0;right:0;top:50%;translate:0 -50%}
.live .scan-intro h2{font-size:clamp(44px,4.9vw,78px)}
.live .stage,.live .scan-outro{opacity:0;visibility:hidden}
.live .scan-ticks{display:flex;flex-direction:column;gap:12px;position:absolute;z-index:3;right:var(--gut);top:50%;transform:translateY(-50%);text-align:right;font-size:14px}
.scan-ticks li{opacity:.38;transition:opacity .3s,color .3s}
.scan-ticks li.on{opacity:1;color:var(--glow)}
.live .scan-note{position:absolute;z-index:3;right:var(--gut);bottom:22px;max-width:320px;text-align:right}

/* 4. Norte y sur */
.south-in{--road:clamp(96px,14.5svh,132px);background:var(--concrete);color:var(--ink)}
.south-sky{position:absolute;inset:0;background:linear-gradient(180deg,#e9e6e1,#cfcac3 62%,#b7b1a9)}
.south-norte{display:none}
.south-sur{position:absolute;left:var(--gut);padding:0 .14em .06em 0;bottom:calc(var(--road) - 3vw);font:italic 500 min(42vw,76svh)/.8 var(--serif);letter-spacing:-.04em;color:var(--corten);background:url(img/corten.webp) center/cover;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap}
.south-q{position:absolute;z-index:3;left:var(--gut);top:clamp(92px,13svh,124px);max-width:22ch;font-size:clamp(32px,3.7vw,60px)}
.south-compass{display:none}
.south-house{position:absolute;z-index:2;right:5vw;bottom:calc(var(--road) - 4px);width:min(44vw,calc(70svh * .934))}
.south-house img{width:100%;filter:drop-shadow(0 26px 34px rgba(25,18,13,.4))}
.south-road{position:absolute;z-index:3;left:0;right:0;bottom:0;min-height:var(--road);display:flex;align-items:center;padding:clamp(12px,2svh,24px) var(--gut);background:linear-gradient(180deg,#39342f,#1f1b18);color:var(--paper)}
.south-a{width:100%;display:grid;grid-template-columns:1.5fr 1fr auto;gap:clamp(16px,3vw,48px);align-items:center}
.south-big{font:400 clamp(26px,2.7vw,44px)/1.02 var(--serif)}
.south-a address{font-style:normal;font-size:clamp(14px,1.1vw,17px);line-height:1.35}
.live .south-compass{display:flex;flex-direction:column;align-items:center;gap:8px;position:absolute;z-index:4;right:clamp(10px,1.6vw,24px);top:50%;transform:translateY(-50%);font-size:12px;letter-spacing:.1em}
.south-compass i{display:block;position:relative;width:1px;height:28svh;background:rgba(23,17,13,.4)}
.south-compass b{position:absolute;left:-4px;top:0;width:9px;height:9px;border-radius:50%;background:var(--corten)}
.live .south-norte{display:block;position:absolute;left:50%;top:40%;translate:-50% -50%;font:italic 400 clamp(150px,32vw,560px)/.8 var(--serif);letter-spacing:-.03em;color:rgba(23,17,13,.13);white-space:nowrap}

/* 5. Tratamientos */
.treat{background:var(--ink);padding:clamp(70px,9vw,130px) var(--gut) clamp(60px,7vw,100px);border-radius:clamp(20px,3vw,44px) clamp(20px,3vw,44px) 0 0}
.treat-head{margin-bottom:clamp(30px,4vw,60px)}
.treat-head h2{max-width:15ch}
.treat .eyebrow{color:var(--glow)}
.cards{display:grid;gap:16px}
.card{display:grid;grid-template-columns:1.08fr .92fr;border-radius:clamp(18px,2vw,30px);overflow:hidden;min-height:min(calc(100svh - 110px),760px);transform-origin:50% 0;will-change:transform}
.card-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,3.6vw,60px)}
.card-tag{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;opacity:.75}
.card h3{font:400 clamp(32px,min(3.5vw,6.6svh),60px)/1.02 var(--serif);letter-spacing:-.012em;margin-bottom:clamp(10px,2svh,18px);text-wrap:balance}
.card-text>p:not(.card-tag){font-size:clamp(15px,min(1.2vw,2.3svh),18px);line-height:1.42;max-width:48ch}
.prices{width:100%;margin:clamp(12px,2.4svh,24px) 0}
.prices li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:clamp(6px,1.1svh,10px) 0;border-top:1px solid currentColor;border-color:color-mix(in srgb,currentColor 24%,transparent);font-size:clamp(14px,1.05vw,16px)}
.prices small{display:block;font-size:13px;opacity:.72;line-height:1.25}
.prices b{font:500 clamp(19px,1.6vw,25px)/1.1 var(--serif);white-space:nowrap}
.card-photo{position:relative;overflow:hidden;min-height:280px}
.card-photo img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover}
.card-corten{background:linear-gradient(90deg,rgba(30,12,6,.62),rgba(30,12,6,.34)),url(img/corten.webp) center/cover;color:var(--paper)}
.card-paper{background:var(--paper);color:var(--ink)}
.card-ink{background:#231a14;color:var(--paper)}
.card-concrete{background:var(--concrete);color:var(--ink)}
.card-deep{background:var(--corten-deep);color:var(--paper)}
.card-photo-float{background:linear-gradient(160deg,var(--paper-2),#d9b8a2)}
.card-photo-float img{height:auto;object-fit:contain;top:auto;filter:drop-shadow(0 24px 30px rgba(50,22,10,.36))}
.card-photo-float .box-r{left:12%;top:10%;width:62%}
.card-photo-float .box-s{left:32%;bottom:9%;width:62%}
.float-word{position:absolute;left:50%;top:8%;transform:translateX(-50%) rotate(-90deg) translateX(-34%);transform-origin:center;font:italic 400 clamp(70px,9vw,150px)/1 var(--serif);color:rgba(110,58,38,.17);white-space:nowrap}

/* 6. Carta */
.menu{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(24px,5vw,80px);background:var(--paper);color:var(--ink);padding:clamp(70px,9vw,130px) var(--gut)}
.menu-side{align-self:start;position:sticky;top:90px}
.menu h2{font-size:clamp(36px,4.2vw,68px)}
.menu-lede{font-size:15px;line-height:1.4;margin-top:16px;color:#5b534b}
.menu-tools{display:none;margin-top:24px}
.js .menu-tools{display:block}
.search span{display:block;font-size:13px;margin-bottom:6px}
.search input{width:100%;height:50px;padding:0 18px;border:1px solid rgba(23,17,13,.4);border-radius:999px;background:#fff;font:300 16px var(--sans);color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.chip{min-height:40px;padding:6px 15px;border:1px solid rgba(23,17,13,.32);border-radius:999px;background:none;color:var(--ink);font:400 14px var(--sans);cursor:pointer;transition:background-color .2s,color .2s}
.chip:hover{background:var(--paper-2)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.menu-count{font-size:13px;margin-top:12px;color:#5b534b}
.group{margin-bottom:34px}
.group[hidden]{display:none}
.group h3{font:400 clamp(26px,2.4vw,36px)/1 var(--serif);padding-bottom:10px;border-bottom:1px solid var(--ink)}
.row{display:grid;grid-template-columns:1fr auto minmax(92px,auto) auto;gap:clamp(8px,1.4vw,20px);align-items:center;min-height:54px;padding:8px 0;border-bottom:1px solid rgba(23,17,13,.14)}
.row[hidden]{display:none}
.row-name{font-size:clamp(15px,1.15vw,17px);line-height:1.28}
.row-min{font-size:13px;color:#6a6159;white-space:nowrap}
.row-price{font:500 clamp(18px,1.5vw,22px)/1 var(--serif);text-align:right;white-space:nowrap}
.row-price.is-ask{font:400 13px var(--sans);color:#6a6159}
.row-add{display:none;position:relative;width:40px;height:40px;border:1px solid rgba(23,17,13,.4);border-radius:50%;background:none;cursor:pointer;transition:background-color .2s,transform .3s}
.js .row-add{display:block}
.row-add i::before,.row-add i::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:1.5px;margin:-.75px 0 0 -6.5px;background:var(--ink);transition:background-color .2s}
.row-add i::after{transform:rotate(90deg)}
.row-add:hover{background:var(--paper-2)}
.row-add[aria-pressed=true]{background:var(--corten);border-color:var(--corten);transform:rotate(45deg)}
.row-add[aria-pressed=true] i::before,.row-add[aria-pressed=true] i::after{background:var(--paper)}
.menu-empty{padding:24px 0;font-size:17px}
.pick-bar{grid-column:1/-1;position:sticky;bottom:14px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 8px 8px 22px;background:var(--ink);color:var(--paper);border-radius:999px}
.pick-bar[hidden]{display:none}

/* 7. Consultorio sin filtro */
.reels-in{background:var(--corten-deep);display:flex;flex-direction:column;justify-content:center;gap:clamp(16px,3svh,34px);padding:calc(var(--top) + 26px) 0 22px}
html:not(.live) .reels-in,.reels-in{height:auto;min-height:0}
.live .reels-in{height:100svh;min-height:560px}
.reels-head{padding:0 var(--gut);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 40px}
.reels-head .eyebrow{width:100%;margin:0;color:var(--glow)}
.reels-head h2{font-size:clamp(32px,4vw,64px)}
.reels-all{font-size:15px;text-underline-offset:4px}
.reels-track{display:flex;gap:clamp(12px,1.6vw,22px);padding:4px var(--gut);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
.reels-track li{flex:0 0 auto;width:min(68vw,calc((100svh - 300px) * .5625));min-width:190px;scroll-snap-align:center}
.reels-track a{display:block;text-decoration:none}
.reels-track img{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:14px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.reels-track a:hover img{transform:translateY(-6px) scale(1.012)}
.reels-track span{display:block;margin-top:10px;font-size:14px;line-height:1.28}
.is-track-live .reels-track{overflow:visible;width:max-content}

/* 8. Equipo */
.team{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,6vw,100px);align-items:center;background:var(--concrete);color:var(--ink);padding:clamp(70px,9vw,130px) var(--gut)}
.team-photo{overflow:hidden;border-radius:clamp(16px,2vw,28px)}
.team-photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
.team .eyebrow{color:var(--corten)}
.team-lede{font:italic 400 clamp(25px,2.8vw,42px)/1.14 var(--serif);margin:16px 0 28px;color:var(--corten)}
.docs li{padding:18px 0;border-top:1px solid rgba(23,17,13,.26)}
.docs h3{font:500 clamp(25px,2.2vw,34px)/1.05 var(--serif)}
.doc-role{font-size:14px;letter-spacing:.04em;margin:4px 0 2px;color:#4c463f}

/* 9. Agendar */
.book{position:relative;background:var(--corten-deep) url(img/corten.webp) center/cover}
.book-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);padding:clamp(80px,10vw,150px) var(--gut);background:linear-gradient(90deg,rgba(23,10,5,.62),rgba(23,10,5,.3))}
.book .eyebrow{color:var(--glow)}
.book-copy>p:not(.eyebrow){margin:18px 0 24px;font-size:clamp(16px,1.3vw,19px);line-height:1.42;max-width:44ch}
.book-contact{margin-top:32px}
.book-contact li{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:15px;align-items:baseline}
.book-contact li span{font-size:13px;opacity:.72}
.book-contact a{text-underline-offset:3px;overflow-wrap:anywhere}
.book-form{align-self:start;padding:clamp(20px,3vw,40px);background:rgba(16,9,5,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:clamp(16px,2vw,26px)}
.field{margin-bottom:18px}
.field label{display:block;font-size:14px;margin-bottom:6px}
.field small{font-size:13px;opacity:.72}
.field input,.field select,.field textarea{display:block;width:100%;min-height:50px;padding:12px 14px;border:1px solid rgba(244,239,232,.4);border-radius:10px;background:rgba(244,239,232,.08);color:var(--paper);font:300 16px/1.3 var(--sans)}
.field input::placeholder{color:rgba(244,239,232,.6)}
.field select option{color:var(--ink);background:var(--paper)}
.field-err{margin-top:6px;font-size:14px;color:var(--glow)}
.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.form-note{margin-top:14px;font-size:13px;line-height:1.38;opacity:.76}

/* Pie */
.foot{position:relative;z-index:10;background:var(--chamber);padding:clamp(40px,6vw,80px) var(--gut) 28px;overflow:hidden}
.foot-word{font:400 clamp(58px,15.6vw,300px)/.9 var(--serif);letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;color:var(--corten);text-align:center}
.foot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(24px,3vw,44px);padding-top:18px;border-top:1px solid var(--line);font-size:13px;line-height:1.45;color:rgba(244,239,232,.72)}

@media (max-width:1080px){
  .top nav{display:none}
  .south-a{grid-template-columns:1fr auto}
  .south-big{grid-column:1/-1}
}
@media (min-width:900px) and (min-height:620px){
  .card{position:sticky;top:84px;height:calc(100svh - 104px);min-height:0;max-height:800px}
}
@media (max-width:899px){
  :root{--top:56px}
  .top{top:8px;margin-top:54px;margin-bottom:-110px;padding:0 6px 0 14px}
  .top-cta{min-height:44px;padding:0 18px}
  .hero-title{font-size:22.4vw;white-space:nowrap}
  .hero-l1{top:clamp(116px,15svh,150px)}
  .hero-l2{left:auto;right:var(--gut);top:calc(clamp(116px,15svh,150px) + 20vw);bottom:auto}
  .hero-dra{right:50%;transform:translateX(50%);width:min(122vw,calc(62svh * 1.0476));bottom:clamp(120px,17svh,170px)}
  .live .hero-dra{transform:none;right:auto;left:calc(50% - min(61vw,calc(31svh * 1.0476)))}
  .hero-foot{left:0;right:0;bottom:0;width:auto;padding:46px var(--gut) 20px;background:linear-gradient(180deg,transparent,rgba(16,7,3,.92) 30%)}
  .hero-kicker{display:none}
  .hero-lede{font-size:17px;margin-bottom:14px}
  .hero-actions{flex-wrap:nowrap;gap:8px}
  .hero-actions .btn{flex:1 1 auto;padding:10px 12px;min-height:48px;font-size:14px;white-space:nowrap}
  .hero-side{display:none}
  .mirror-grid,.team,.book-in,.menu{grid-template-columns:minmax(0,1fr)}
  html:not(.live) .scan-in{grid-template-columns:minmax(0,1fr)}
  .menu-side{position:static}
  .card{grid-template-columns:minmax(0,1fr);min-height:0}
  .card-photo{order:-1;height:62vw;max-height:420px}
  .float-word{display:none}
  .card-photo-float .box-r{left:18%;top:5%;width:46%}
  .card-photo-float .box-s{left:38%;bottom:7%;width:46%}
  .row{grid-template-columns:1fr minmax(84px,auto) auto;grid-template-areas:"n p a" "m p a";row-gap:0}
  .row-name{grid-area:n}.row-min{grid-area:m}.row-price{grid-area:p}.row-add{grid-area:a}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
  .live .scan{height:520svh}
  .live .rig-wrap{left:50%;top:37%;width:min(70vw,calc(50svh * .93))}
  .live .scan-frame{top:37%;width:min(82vw,calc(56svh * .93));height:54svh}
  .live .scan-words span{top:37%}
  .live .scan-copy{left:var(--gut);right:var(--gut);top:auto;bottom:62px;height:clamp(190px,32svh,290px);width:auto}
  .live .scan-intro,.live .stage,.live .scan-outro{top:auto;bottom:0;translate:none}
  .live .scan-intro h2{font-size:clamp(34px,10vw,56px)}
  .live .scan-ticks{display:none}
  .live .scan-note{left:var(--gut);right:var(--gut);bottom:12px;max-width:none;text-align:left}
  .live .rig-line{left:-6%;right:-6%}
  .south-in{--road:auto}
  .south-sur{left:50%;translate:-50% 0;top:clamp(130px,19svh,190px);bottom:auto;font-size:min(54vw,34svh);padding:0 .14em .06em .02em}
  .south-q{top:76px;max-width:none;font-size:clamp(30px,8.6vw,48px);right:var(--gut)}
  .south-house{right:50%;transform:translateX(50%);width:min(76vw,calc(35svh * .934));bottom:clamp(206px,27svh,230px)}
  .live .south-house{right:auto;left:calc(50% - min(38vw,calc(17.5svh * .934)));transform:none}
  .south-a{grid-template-columns:minmax(0,1fr);gap:10px}
  .south-a .btn{justify-self:start}
  .live .south-compass{display:none}
  .live .south-norte{top:32%;font-size:44vw}
  .live .south{height:300svh}
  .reels-in,.live .reels-in{height:auto;min-height:0;padding:60px 0 44px}
  .live .reels-in{position:relative;top:auto}
  .reels-track li{width:62vw}
}
@media (max-width:899px){
  .hero-dra img{-webkit-mask-image:linear-gradient(#000 86%,transparent);mask-image:linear-gradient(#000 86%,transparent)}
}
@media (min-width:600px) and (max-width:899px){
  .hero-title{font-size:21vw}
  .hero-l2{left:var(--gut);right:auto;top:calc(clamp(116px,15svh,150px) + 18vw)}
  .hero-dra,.live .hero-dra{left:auto;right:-7vw;transform:none;width:calc(58svh * 1.0476);bottom:clamp(70px,8svh,100px)}
}
@media (max-width:420px){
  .brand-word{font-size:14px;letter-spacing:.18em}
  .book-contact li{grid-template-columns:minmax(0,1fr);gap:0}
}
@media (max-height:640px) and (min-width:900px){
  .hero-title{font-size:min(15.4vw,26svh)}
  .hero-foot{width:min(30vw,400px)}
  .hero-lede{font-size:16px;margin-bottom:12px}
}
