/* Fuego Alquímico · base compartida */
:root{--cream:#F7F2EA;--cream2:#ECE6DC;--paper:#FBF8F2;--dark:#B8472B;--ink:#3A2E28;--grey:#60554F;--gold:#A9683F;--gold2:#A9683F;--fire:#B8472B;--plum:#3A2E28;--teal:#56624D;--line:rgba(90,90,90,.16);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--grey);font-family:var(--sans);font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(247,242,234,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(169,104,63,.15)}
.nav{max-width:1180px;margin:auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#DDB4A1,#A9683F 55%,#B8472B);box-shadow:0 5px 18px rgba(184,71,43,.18);overflow:hidden}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-text{font-family:var(--serif);font-size:1.35rem;font-weight:500;color:var(--ink);line-height:1}
.brand-text small{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.19em;text-transform:uppercase;color:#B8472B;margin-top:4px}
.navlinks{display:flex;align-items:center;gap:22px;font-size:.78rem;color:#60554F}
.navlinks a:hover{color:var(--fire)}
.nav-cta{padding:9px 15px;border:1px solid rgba(169,104,63,.55);border-radius:999px;color:#B8472B!important}
.menu{display:none;border:0;background:none;color:var(--ink);font-size:1.35rem}
.section{padding:110px 24px}
.wrap{max-width:1180px;margin:auto}
.eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.23em;text-transform:uppercase;color:#B8472B;margin:0 0 15px}
.title{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(2.3rem,5vw,3.8rem);line-height:.95;margin:0;letter-spacing:-.015em}
.lead{font-size:1.08rem;color:var(--grey);max-width:680px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:.25s}
.btn-dark{background:var(--dark);color:#fff}
.btn-gold{background:var(--gold);color:#fff}
.btn-outline{border:1px solid rgba(90,90,90,.25);color:var(--ink);background:rgba(255,255,255,.35)}
.btn:hover{transform:translateY(-2px)}
.hero{min-height:100vh;padding:135px 24px 85px;background:radial-gradient(circle at 78% 30%,rgba(86,98,77,.13),transparent 23%),radial-gradient(circle at 88% 78%,rgba(184,71,43,.12),transparent 24%),linear-gradient(135deg,#F7F2EA,#ECE6DC 62%,#EEDCD0);display:grid;align-items:center;overflow:hidden}
.hero-grid{max-width:1180px;margin:auto;width:100%;display:grid;grid-template-columns:1.02fr .98fr;gap:50px;align-items:center}
.hero-copy{position:relative;z-index:2}
.hero-title{font-family:var(--serif);font-size:clamp(2.9rem,7vw,5.2rem);font-weight:300;line-height:.96;color:var(--ink);margin:0}
.hero-title em{color:var(--fire);font-style:italic}
.hero-sub{font-family:var(--serif);font-style:italic;color:#A9683F;font-size:clamp(1.25rem,2.5vw,1.7rem);margin:20px 0 25px}
.hero-copy p{max-width:610px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.hero-art{position:relative;min-height:600px;display:grid;place-items:center}
.orbit{position:absolute;width:510px;height:510px;border:1px solid rgba(169,104,63,.24);border-radius:50%;transform:rotate(-17deg)}
.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid rgba(58,46,40,.13);border-radius:50%}
.orbit:before{inset:36px}
.orbit:after{inset:100px}
.hero-logo{position:relative;width:min(400px,74%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,#FBF8F2 0 62%,#F7F2EA 100%);border:1px solid rgba(169,104,63,.38);box-shadow:0 30px 70px rgba(65,48,39,.16),inset 0 0 0 10px rgba(251,248,242,.7);z-index:2}
.hero-logo img{width:68%;height:auto;mix-blend-mode:multiply}
.hero-ritmo{margin:26px 0 0;font-family:var(--serif);font-style:italic;font-size:1.25rem;color:#A9683F}
.flame{position:absolute;width:170px;right:-5%;bottom:3%;z-index:4;filter:drop-shadow(0 14px 20px rgba(120,64,28,.18));animation:float 5s ease-in-out infinite}
.flame img{width:100%;mix-blend-mode:multiply}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-11px) rotate(2deg)}}
.band{background:var(--dark);color:#F7F2EA;padding:22px 24px}
.band-inner{max-width:1180px;margin:auto;display:flex;justify-content:center;gap:30px;flex-wrap:wrap;font-size:.75rem;letter-spacing:.17em;text-transform:uppercase}
.band-inner span:before{content:'✦';color:var(--gold2);margin-right:9px}
.explore{background:var(--paper)}
.explore-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:48px}
.explore-head .lead{max-width:470px}
.path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.path{position:relative;min-height:250px;padding:34px;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#FBF8F2,#ECE6DC);transition:.3s}
.path:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(65,48,39,.09);border-color:rgba(169,104,63,.42)}
.path:nth-child(2){background:linear-gradient(135deg,#EEF0E6,#D3D8C6)}
.path:nth-child(3){background:linear-gradient(135deg,#F3E6DE,#EBD3C6)}
.path:nth-child(4){background:linear-gradient(135deg,#F7F2EA,#ECE6DC)}
.path-number{font-family:var(--serif);font-size:4.5rem;font-weight:300;line-height:.8;color:rgba(58,46,40,.2);position:absolute;right:22px;top:22px}
.path-label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#B8472B}
.path h2{font-family:var(--serif);font-size:2.2rem;font-weight:400;color:var(--ink);margin:12px 0 8px}
.path p{max-width:450px;margin:0 0 22px;font-size:.91rem;color:var(--grey)}
.path-arrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fire)}
.interactive{background:#ECE6DC}
.interactive-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.interactive-card{min-height:260px;padding:35px;border-radius:30px;border:1px solid var(--line);background:#FBF8F2;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}
.interactive-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(60,45,35,.08)}
.interactive-card.dark{background:var(--dark);color:#fff}
.interactive-card.dark h2,.interactive-card.dark p{color:#fff}
.interactive-icon{font-family:var(--serif);font-size:3.2rem;color:var(--gold);line-height:1}
.interactive-card h2{font-family:var(--serif);font-size:2.25rem;font-weight:400;color:var(--ink);margin:12px 0 8px}
.interactive-card p{font-size:.9rem;max-width:470px}
.interactive-card a{color:var(--fire);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.about-photo{aspect-ratio:4/5;border-radius:34px;overflow:hidden;background:#E3DACD}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-copy p{max-width:680px}
.signature{font-family:var(--serif);font-style:italic;font-size:2rem;color:var(--plum);margin-top:20px}
.closing{background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.55),transparent 42%),linear-gradient(135deg,#EBCFC0,#E4C0AF 58%,#DDB4A1);color:var(--ink);text-align:center;padding:115px 24px;position:relative;overflow:hidden}
.closing:before{content:'';position:absolute;width:560px;height:560px;border:1px solid rgba(169,104,63,.38);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.closing .wrap{position:relative;z-index:2}
.closing .eyebrow{color:#A9683F;margin:0 0 15px;max-width:none}
.closing .title{color:var(--ink);max-width:700px;margin:0 auto;font-style:italic}
.closing p{max-width:500px;margin:22px auto 30px;color:#3A2E28}
footer{background:var(--cream2);color:var(--grey);padding:68px 24px 28px;border-top:1px solid rgba(169,104,63,.4);font-size:.86rem}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.f-brand p{max-width:320px;margin:16px 0 0}
.f-col{display:flex;flex-direction:column;gap:9px}
.f-col h3{font-family:var(--sans);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#B8472B;margin:0 0 6px;font-weight:500}
.f-col a:hover{color:var(--fire)}
.f-base{margin-top:46px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px 30px;flex-wrap:wrap;font-size:.8rem}
@media(max-width:900px){.f-grid{grid-template-columns:1fr 1fr}.f-brand{grid-column:1/-1}}
@media(max-width:560px){footer{padding:52px 18px 24px}}
.js .reveal{opacity:0;transform:translateY(18px);transition:.7s ease}
.js .reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.navlinks{display:none}.menu{display:block}.hero-grid,.about-grid{grid-template-columns:1fr}.hero-art{order:-1;min-height:500px}.hero-copy{text-align:center}.hero-copy .lead{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.flame{width:145px;right:3%}.path-grid,.interactive-grid{grid-template-columns:1fr}.explore-head{display:block}.explore-head .lead{margin-top:15px}}
@media(max-width:560px){.section{padding:78px 18px}.nav{padding:11px 18px}.brand-text{font-size:1.15rem}.brand-text small{display:none}.hero{padding:105px 18px 65px}.hero-art{min-height:420px}.orbit{width:340px;height:340px}.hero-logo{width:74%}.flame{width:105px}.title{font-size:clamp(2.2rem,10vw,3rem)}.path{min-height:220px;padding:28px}.interactive-card{min-height:230px;padding:28px}.about-grid{gap:35px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.flame{animation:none}}
.about-grid{align-items:start}
.about-photo{position:sticky;top:110px}
.about-copy .bio{max-width:680px;margin:0 0 1em;font-size:.98rem}
.about-copy .bio-end{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--plum)}
.bio-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.bio-tags span{padding:7px 14px;border:1px solid rgba(169,104,63,.5);border-radius:999px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#B8472B;background:rgba(255,255,255,.45)}
@media(max-width:900px){.about-photo{position:static;max-width:420px}}
.navlinks .dd{position:relative;padding:14px 0;margin:-14px 0}
.navlinks .dd>a:after{content:'▾';font-size:.7em;margin-left:5px;color:#B8472B}
.dd-menu{display:none;position:absolute;top:100%;left:-16px;min-width:200px;background:#FBF8F2;border:1px solid rgba(169,104,63,.35);border-radius:14px;padding:10px;box-shadow:0 14px 34px rgba(60,45,35,.14);flex-direction:column;gap:2px;z-index:5}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:flex}
.dd-menu a{padding:8px 12px;border-radius:8px;font-size:.82rem;white-space:nowrap}
.dd-menu a:hover{background:#ECE6DC}
html{scroll-padding-top:90px}
@media(max-width:1080px){.navlinks{display:none}.menu{display:block}.navlinks.open{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:#F7F2EA;padding:16px 24px 22px;gap:14px;border-bottom:1px solid rgba(169,104,63,.25)}.navlinks.open .dd{margin:0;padding:0}.navlinks.open .dd-menu{display:flex;position:static;border:0;box-shadow:none;background:none;padding:4px 0 0 14px}}
.navlinks a.on{color:var(--fire);font-weight:600}
