/* Content-driven layout: browser zoom and translated text can increase height. */
html{scrollbar-gutter:stable}
.hero.candle-scene{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-content:start;align-items:start;gap:0;height:auto;max-height:none;min-height:max(850px,100svh);padding:clamp(110px,14vh,160px) 5vw 32px;overflow:visible}
.hero.candle-scene .candle-content{position:relative;inset:auto;grid-column:2;min-width:0;max-width:none;width:100%}
.hero.candle-scene .candle-bottom{position:relative;inset:auto;grid-column:1/-1;min-width:0;width:100%;margin-top:64px;flex-wrap:wrap}
.opening-logo{max-width:100%}
.nav__brand{flex-shrink:0}.nav__links a{white-space:nowrap}.language{flex-shrink:0}.nav__burger{flex-shrink:0}
.process{grid-template-columns:repeat(3,minmax(0,1fr))}.process__step{min-width:0}
.session-row{min-width:0}.session-row>*{min-width:0}.session-row h3{overflow-wrap:anywhere}
.about__stats{flex-wrap:wrap}.footer__invitation{overflow-wrap:normal}.contact__form{width:100%}
@media(max-width:1100px){.nav__links{gap:14px}.nav{gap:14px}.nav__links a{font-size:10px}.nav__cta{padding:12px}}
@media(max-width:700px){.process{grid-template-columns:1fr}.process__step{display:block}.process h3{margin-top:18px}.section-head{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.hero.candle-scene{display:flex;flex-direction:column;min-height:0;height:auto;padding:calc(150vw + 30px) 24px 32px}.hero.candle-scene .candle-content{position:relative;inset:auto;width:100%}.hero.candle-scene .candle-bottom{position:relative;inset:auto;margin-top:48px}.hero__actions{flex-wrap:wrap!important}.hero__actions .btn{min-width:100px}.footer__invitation{font-size:clamp(40px,11vw,72px)}.footer__invitation>span{position:static;display:inline-block;margin-left:12px}.contact .section-title,.about .section-title{font-size:clamp(42px,13vw,66px)}}
@media(max-width:360px){.nav{padding-inline:12px;gap:4px}.nav__logo{width:96px}.language button{min-width:28px}.section-title{font-size:clamp(38px,13vw,50px)}.opening-logo{width:170px}.candle-scene .hero__title{font-size:clamp(32px,12vw,38px)}.about__stats{display:flex;gap:18px}.session-row{grid-template-columns:18px minmax(0,1fr) 20px}.session-row h3{font-size:clamp(24px,9vw,30px)}}
/* Viewer controls have real layout space, including short landscape screens. */
.portrait-viewer[open]{display:grid;grid-template-rows:auto minmax(40px,1fr) auto;gap:12px;padding:12px max(16px,3vw) max(12px,env(safe-area-inset-bottom));box-sizing:border-box;min-height:0}
.viewer-top,.viewer-bottom{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;width:100%;min-width:0}
.viewer-top{grid-row:1}.viewer-bottom{grid-row:3;padding-top:12px}
.viewer-stage{position:relative;inset:auto;grid-row:2;width:100%;height:100%;min-height:0;min-width:0}
.viewer-title{overflow-wrap:anywhere;max-width:45ch}.viewer-image{touch-action:none}
@media(max-width:600px){.viewer-bottom{gap:10px}.viewer-title{font-size:20px}.viewer-actions{gap:8px}.viewer-stage{inset:auto}}
@media(max-height:480px){.portrait-viewer[open]{gap:5px;padding-block:5px}.viewer-bottom{flex-direction:row;align-items:center;padding-top:5px;gap:8px}.viewer-actions{width:auto}.viewer-title{font-size:16px;margin-bottom:3px}.viewer-brand{font-size:8px}.portrait-viewer button{min-height:36px;min-width:36px;padding:5px 9px}.viewer-status{font-size:8px}}
@media(max-width:360px){.footer{grid-template-columns:minmax(0,1fr)}.footer__emblem,.footer__links{grid-row:auto;grid-column:1}.footer__links{justify-content:flex-start;flex-wrap:wrap}.footer__location{flex-direction:column;align-items:flex-start}.viewer-actions{gap:4px}.portrait-viewer button{padding-inline:7px;min-width:36px}}
@media(max-width:280px){.nav{padding-inline:8px;gap:2px}.nav__logo{width:74px}.language button{min-width:24px;font-size:10px}.nav__burger{width:36px}.hero.candle-scene{padding-inline:18px}.viewer-brand{letter-spacing:.08em}.viewer-title{font-size:17px}.portrait-viewer[open]{padding-inline:10px}}

/* Larger opening identity; photo attribution belongs with the footer details. */
.hero.candle-scene{grid-template-columns:minmax(0,48fr) minmax(0,52fr)}
.opening-logo{width:min(1050px,100%);max-width:100%;height:auto;margin-bottom:12px}
.hero.candle-scene .candle-bottom{justify-content:flex-end;margin-top:40px}
.footer__location{flex-wrap:wrap}.footer__credit{flex-basis:100%;font-size:11px;line-height:1.7;letter-spacing:.02em;color:rgba(244,241,234,.7)}
.footer .ignite__replay{position:static;inset:auto;grid-column:1/-1;justify-self:start;z-index:auto;backdrop-filter:none;background:transparent;border:0;padding:0;min-height:44px;font-size:10px}
@media(max-width:600px){.opening-logo{width:min(420px,100%)}.hero.candle-scene .candle-bottom{display:none}.footer__credit{font-size:10px}.hero.candle-scene{padding-bottom:64px}}

/* A balanced logo, centered within its own column, and a native orb cursor. */
.hero.candle-scene{grid-template-columns:minmax(0,52fr) minmax(0,48fr);padding-top:clamp(110px,13vh,150px)}
.hero.candle-scene .candle-content{text-align:center;max-width:640px;justify-self:center}
.opening-logo{width:clamp(230px,26vw,420px);max-width:88%;margin:0 auto 18px}
.candle-content .eyebrow,.candle-content .hero__actions{justify-content:center}
.candle-content .instruction{margin-left:auto;margin-right:auto}
.atmosphere-paused .atmosphere span{animation-play-state:paused!important}
.atmosphere-toggle{grid-column:1/-1;justify-self:start;font-size:11px;min-height:44px;color:var(--cream-dim)}
@media(hover:hover) and (pointer:fine){body,body.candle-pointer{cursor:url('../assets/candle/orb-cursor.svg') 12 12,auto!important}}
@media(max-width:1000px) and (min-width:601px){.candle-scene .hero__actions{align-items:center}}
@media(max-width:600px){.hero.candle-scene{padding-top:calc(150vw + 30px)}.opening-logo{width:min(260px,80%)}.hero.candle-scene .candle-content{max-width:none}}

/* Editorial opening: mirrored portrait on the right, clear reading space left. */
.candle-world .still-fallback{transform:scaleX(-1)}
.candle-world .edge-shade{background:linear-gradient(270deg,transparent 30%,rgba(5,5,6,.35) 54%,transparent 75%)}
.hero.candle-scene{grid-template-columns:minmax(0,50fr) minmax(0,50fr);min-height:100svh;padding:clamp(140px,17vh,190px) 7vw 65px}
.hero.candle-scene .candle-content{grid-column:1;text-align:left;max-width:680px;justify-self:start;pointer-events:auto}
.hero.candle-scene .candle-content h1{font-size:clamp(64px,8.2vw,142px);line-height:1.03;letter-spacing:-.055em}
.candle-content .eyebrow,.candle-content .hero__actions{justify-content:flex-start}
.candle-content .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:24px}
.candle-content .instruction{margin-left:0;margin-right:0}
.hero.candle-scene .candle-bottom{display:none}
.hero-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:430px;margin-top:36px}
.hero-previews a{position:relative;display:block;aspect-ratio:1.45;overflow:hidden;isolation:isolate;background:rgba(244,241,234,.025)}
.hero-previews img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.35;transition:opacity .4s,transform .7s}
.hero-previews a::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(5,5,6,.7)),radial-gradient(at 100% 0,rgba(232,116,59,.12),transparent 60%);pointer-events:none}
.hero-previews span{position:absolute;left:14px;bottom:14px;z-index:1;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--cream)}
.hero-previews a:hover img,.hero-previews a:focus-visible img{opacity:.6;transform:scale(1.035)}
.hero-previews a:focus-visible{outline:2px solid var(--ember);outline-offset:4px}
.hero.candle-scene .hero__actions{flex-direction:row;align-items:center;flex-wrap:wrap;margin-top:24px}
html[lang=es] .hero.candle-scene .candle-content h1{font-size:clamp(50px,6.5vw,112px)}
@media(max-width:900px) and (min-width:601px){.hero.candle-scene{padding-inline:5vw;grid-template-columns:52fr 48fr}.hero.candle-scene .candle-content h1{font-size:7.8vw}html[lang=es] .hero.candle-scene .candle-content h1{font-size:6.3vw}.hero-previews{gap:10px}.hero-previews span{font-size:9px;left:10px;bottom:10px}}
@media(max-width:600px){.hero.candle-scene{display:flex;min-height:0;padding:calc(125vw + 24px) 24px 64px}.hero.candle-scene .candle-content{max-width:none;text-align:left;background:radial-gradient(ellipse at 0 55%,rgba(5,5,6,.65),transparent 80%)}.hero.candle-scene .candle-content h1{font-size:clamp(56px,17vw,100px)}html[lang=es] .hero.candle-scene .candle-content h1{font-size:clamp(39px,12.5vw,72px)}.hero-previews{margin-top:28px;max-width:430px}.candle-content .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-previews img{transition:none}}

/* Keep a dedicated portrait column clear for the entire desktop scroll. */
@media(min-width:701px){
.hero.candle-scene{grid-template-columns:1fr;padding:140px 0 65px 4vw;width:46%;margin:0}
.hero.candle-scene .candle-content{width:100%;max-width:none}
.hero.candle-scene .candle-content h1{font-size:clamp(58px,7.6vw,130px)}
.hero-previews{max-width:none;gap:18px}.hero-previews a{aspect-ratio:1.05}.hero-previews span{font-size:12px}
.strip,.work,.experience,.about,.sessions,.contact,.testimonials,.footer{width:46%;max-width:none;margin-left:0;margin-right:auto;padding-left:4vw;padding-right:0;box-sizing:border-box}
.work,.experience,.about,.sessions,.contact{padding-top:85px;padding-bottom:85px}
.section-head,.about,.contact,.process{grid-template-columns:minmax(0,1fr);gap:28px}
.section-title,.about .section-title,.contact .section-title{font-size:clamp(42px,5.3vw,84px)}
.section-head .section-lead{max-width:42ch;margin-top:18px}
.gallery{gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery .tile{grid-column:span 1;margin-top:0;aspect-ratio:3/4}.gallery .tile--wide{grid-column:1/-1;aspect-ratio:1.3}
.tile__overlay{padding:16px}.tile__cap b{font-size:22px}
.process{margin-top:35px}.process__step{padding:22px}.process h3{margin:10px 0 18px}.process p{max-width:42ch}
.about__media{max-width:330px;margin:0}.about__stats{display:flex;flex-wrap:wrap}
.session-row{grid-template-columns:22px minmax(0,1fr) 24px;gap:14px}.session-row p{grid-column:2;grid-row:2}.session-price{grid-column:2;grid-row:3}.session-row>span:last-child{grid-column:3;grid-row:1}.session-row h3{font-size:36px}
.filters{gap:20px;flex-wrap:wrap}.footer__invitation{font-size:clamp(46px,5.6vw,90px)}.footer__invitation>span{position:static;display:inline-block}.footer__location{flex-wrap:wrap}.footer__links{flex-wrap:wrap}
}
/* On phones the full portrait comes first, with content following beneath it. */
@media(max-width:700px){
.candle-world{position:absolute!important;height:150vw!important;min-height:0!important}
.candle-world .atmosphere{position:fixed;inset:0;height:100dvh}
.hero.candle-scene{display:block;width:100%;min-height:0;padding:calc(150vw + 40px) 24px 64px}
.hero.candle-scene .candle-content{background:none;max-width:none}
.hero-previews{max-width:none}.hero-previews a{aspect-ratio:1.1}
.work,.experience,.about,.sessions,.contact,.testimonials,.footer{background:transparent}
}
/* Broad drifting smoke remains visible away from the pointer as well. */
.candle-world .smoke-back{opacity:.22}
.candle-world .smoke-front{opacity:.18;mask-image:linear-gradient(90deg,black,rgba(0,0,0,.45))}
.candle-world .smoke-back span:first-child{animation-duration:23s;animation-delay:-9s}
.candle-world .smoke-back span:nth-child(2){display:block;animation-duration:29s;animation-delay:-15s}
.candle-world .smoke-front span{animation-duration:19s;animation-delay:-6s}
.candle-world:not(.atmosphere-paused) .atmosphere span{animation-play-state:running}
@media(prefers-reduced-motion:reduce){.candle-world .atmosphere span{animation-duration:65s}}
.candle-world .still-fallback{background-size:50% auto}
@media(max-width:700px){.candle-world .still-fallback{background-size:100% auto}.candle-world #candleEmbers{position:fixed;height:100dvh;width:100%}}
/* Size the opening to its content, not a tall browser window. */
@media(min-width:701px){.hero.candle-scene{min-height:0;height:auto}}
.vapor{position:fixed;inset:0;width:100%;height:100dvh;pointer-events:none;z-index:1;mix-blend-mode:screen}
.vapor-ready .atmosphere{display:none}
@media(max-height:600px) and (min-width:701px){.hero.candle-scene{padding-top:100px;padding-bottom:35px}.hero.candle-scene .candle-content h1{font-size:clamp(48px,6.4vw,88px)}.hero-previews{margin-top:22px}.hero-previews a{aspect-ratio:1.4}.candle-content .eyebrow{margin-bottom:16px}.nav{padding-block:10px}}
/* Tall windows need a stacked composition, even on a wide tablet. */
@media(max-aspect-ratio:3/4){
.candle-world{position:absolute!important;height:150vw!important;min-height:0!important}
.candle-world .still-fallback{background-size:100% auto}
.candle-world #candleEmbers{position:fixed;height:100dvh;width:100%}
.hero.candle-scene{display:block;width:100%;min-height:0;height:auto;padding:calc(150vw + 40px) var(--pad) 64px}
.hero.candle-scene .candle-content{max-width:680px;width:100%;background:none}
.strip,.work,.experience,.about,.sessions,.contact,.testimonials,.footer{width:100%;margin-inline:auto;padding-left:var(--pad);padding-right:var(--pad)}
.hero-previews{max-width:580px}.hero-previews a{aspect-ratio:1.35}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery .tile{grid-column:span 1}.gallery .tile--wide{grid-column:1/-1}
}
@media(max-width:600px){.gallery{grid-template-columns:minmax(0,1fr)}.gallery .tile{grid-column:1}}
/* Let the original illustrated identity lead the opening. */
.hero-lady{display:block;width:clamp(150px,18vw,240px);height:auto;margin:-22px auto 10px;object-fit:contain}
.hero.candle-scene .candle-content h1{font-size:clamp(44px,5.7vw,88px);line-height:1.06}
html[lang=es] .hero.candle-scene .candle-content h1{font-size:clamp(36px,4.8vw,72px)}
.hero-lady{margin-left:0}
.hero.candle-scene .hero__title em{color:var(--cream)}
@media(max-width:700px),(max-aspect-ratio:3/4){.hero-lady{width:190px;margin-top:0}.hero.candle-scene .candle-content h1{font-size:clamp(48px,10vw,82px)}html[lang=es] .hero.candle-scene .candle-content h1{font-size:clamp(36px,8.5vw,68px)}}
@media(max-height:600px) and (min-width:701px){.hero-lady{width:130px}.hero.candle-scene .candle-content h1{font-size:46px}}
/* One complete original logo in the corner, with a dedicated phone masthead. */
.nav{padding-block:6px;align-items:center}
.nav__logo{display:block;width:144px;height:144px;object-fit:contain}
.nav.is-scrolled .nav__logo{width:90px;height:90px}
@media(min-width:701px) and (min-aspect-ratio:3/4){.hero.candle-scene{padding-top:190px}}
@media(max-width:700px),(max-aspect-ratio:3/4){
.nav{min-height:144px;padding-block:8px;background:#050506;box-sizing:border-box}
.nav__logo{width:128px;height:128px}.nav.is-scrolled{min-height:84px}.nav.is-scrolled .nav__logo{width:68px;height:68px}
.candle-world{top:144px!important}
.hero.candle-scene{padding-top:calc(150vw + 184px)}
}
@media(max-width:360px){.nav__logo{width:112px;height:128px}}
@media(max-height:600px) and (min-width:701px){.nav__logo{width:94px;height:94px}.nav.is-scrolled .nav__logo{width:68px;height:68px}.hero.candle-scene{padding-top:128px}}
/* Direct access to the portfolio, before the portrait on narrow openings. */
.mobile-categories{display:none}
@media(max-width:700px),(max-aspect-ratio:3/4){
.mobile-categories{display:flex;position:absolute;top:144px;left:0;right:0;height:52px;z-index:2;align-items:center;gap:26px;padding:0 var(--pad);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ember) transparent;background:#050506;box-sizing:border-box}
.mobile-categories a{flex:0 0 auto;display:flex;align-items:center;min-height:44px;font-size:11px;letter-spacing:.06em;color:var(--cream);text-transform:uppercase}
.mobile-categories a:hover,.mobile-categories a:focus-visible{color:var(--ember)}
.candle-world{top:196px!important}
.hero.candle-scene{padding-top:calc(150vw + 236px)}
}
/* Quiet editorial details: typography and spacing replace repeated flame motifs. */
.strip__inner{animation:none!important;transform:none;width:100%;display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:flex-start}
.strip__inner>span{font-family:var(--ui);font-size:10px;line-height:1.8;letter-spacing:.13em;text-transform:uppercase;color:rgba(244,241,234,.68)}
.kicker,.step-number,.session-number,.tile__num,.tile__cap span{color:rgba(244,241,234,.68)}
.scroll-thread{background:rgba(244,241,234,.3);height:1px}
.footer__emblem{width:104px;height:auto}.footer__emblem img{width:100%;height:auto}
.ignite__replay::before{display:none}
.contact .preview-note{border-left:0;padding-left:0}
.form-step-label{color:rgba(244,241,234,.8)}
.footer__invitation>span{color:var(--cream)}
/* Selective ember accents, with one consistent action treatment. */
.kicker,.step-number,.session-number,.tile__num,.process__label{color:var(--ember)}
.hero.candle-scene .hero__actions .btn:hover,
.hero.candle-scene .hero__actions .btn:focus-visible,
.nav .nav__cta:hover,.nav .nav__cta:focus-visible{background:var(--ember);border-color:var(--ember);color:var(--charcoal);transform:none}
.filter[aria-pressed="true"]{color:var(--ember);box-shadow:inset 0 -1px 0 var(--ember)}
.filter[aria-pressed="false"]{box-shadow:none}
