@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  color-scheme:dark;
  --font-ui:'Inter', Arial, sans-serif;
  --font-display:'Cinzel', Georgia, serif;
  --font-editorial:'Cormorant Garamond', Georgia, serif;
  --bg:#08111a;
  --bg2:#0e1723;
  --bg3:#111c2a;
  --panel:#132131;
  --gold:#dab274;
  --gold-soft:#f0d5a7;
  --gold2:#9d7842;
  --txt:#f6efe2;
  --mute:#b8c0c8;
  --line:rgba(218,178,116,.24);
  --shadow:0 25px 70px rgba(0,0,0,.38);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at top left, rgba(37,67,100,.18), transparent 25%),
    radial-gradient(circle at bottom right, rgba(153,118,55,.08), transparent 24%),
    var(--bg);
  color:var(--txt);
  font-family:var(--font-ui);
  min-height:100vh;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 16%, rgba(255,255,255,.08) 0 .9px, transparent 1.6px) 0 0/180px 180px,
    radial-gradient(circle at 78% 28%, rgba(188,216,255,.07) 0 .8px, transparent 1.45px) 0 0/230px 230px,
    radial-gradient(circle at 46% 74%, rgba(255,230,194,.06) 0 .9px, transparent 1.6px) 0 0/280px 280px,
    linear-gradient(to bottom, rgba(6,10,16,.06), rgba(6,10,16,.36));
  opacity:.28;
  z-index:-2;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 22%, rgba(76,118,208,.08), transparent 26%), radial-gradient(circle at 82% 84%, rgba(181,143,72,.05), transparent 24%);
  filter:blur(30px);
  opacity:.62;
  z-index:-3;
}
.stars{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:radial-gradient(#ecd4ab 1px, transparent 1px);
  background-size:92px 84px;
  mask-image:linear-gradient(to bottom,#000,transparent 78%);
  z-index:-1;
}

a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}

.header{
  height:82px;
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 max(32px, calc((100vw - 1320px)/2));
  gap:20px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(to bottom, rgba(4,8,14,.96), rgba(6,13,21,.86));
  backdrop-filter:blur(18px);
}
.brand{display:flex;align-items:center;gap:14px;min-width:215px}
.brand-symbol{
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  border:1px solid var(--gold2);
  transform:rotate(45deg);
  font-size:28px;
  color:var(--gold);
  box-shadow:inset 0 0 18px rgba(218,178,116,.12),0 0 22px rgba(0,0,0,.18);
}
.brand strong,.brand small{display:block;font-family:Cinzel,serif;letter-spacing:.18em}
.brand strong{font-size:19px}
.brand small{font-size:10px;text-align:center;letter-spacing:.57em;color:var(--gold)}
.desktop-nav{display:flex;align-items:center;gap:22px}
.desktop-nav a{
  font-size:12px;
  white-space:nowrap;
  color:#d0c8bb;
  transition:.2s;
  position:relative;
}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--gold-soft)}
.desktop-nav a.active::after,.desktop-nav a:hover::after{
  content:"";
  position:absolute;
  left:50%;bottom:-30px;
  width:26px;height:1px;
  background:var(--gold);
  transform:translateX(-50%);
}
.header-actions{display:flex;align-items:center;gap:10px}
.login-link{
  white-space:nowrap;
  font-size:12px;
  padding:12px 16px;
  border:1px solid var(--gold2);
  color:var(--gold);
  background:linear-gradient(180deg, rgba(218,178,116,.1), rgba(218,178,116,.03));
}
.login-link:hover,.button.primary:hover{background:#eed199;color:#121316}
.login-link span{margin-left:12px}
.menu-toggle{display:none;background:none;border:0;color:var(--gold);font-size:26px}
.mobile-nav{display:none}

.hero{
  position:relative;
  overflow:hidden;
  min-height:780px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  border-bottom:1px solid var(--line);
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(8,17,26,.92) 0%, rgba(8,17,26,.74) 28%, rgba(8,17,26,.32) 58%, rgba(8,17,26,.74) 100%),
    linear-gradient(180deg, rgba(8,17,26,.08) 0%, rgba(8,17,26,.28) 55%, rgba(8,17,26,.94) 100%),
    url('assets/bg-castle-moon.webp') center center/cover no-repeat;
  z-index:-3;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 83% 24%, rgba(255,242,208,.14), transparent 9%),
    radial-gradient(circle at 22% 45%, rgba(218,178,116,.08), transparent 20%),
    radial-gradient(ellipse at center, transparent 42%, rgba(8,17,26,.5) 90%);
  z-index:-2;
}
.hero-content{
  padding:90px 20px 110px;
  max-width:760px;
  width:100%;
  margin-left:max(30px, calc((100vw - 1320px)/2));
}
.eyebrow{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:700}
.ornament{font-family:Cinzel,serif;color:var(--gold);font-size:24px;letter-spacing:.5em;margin:20px 0}
.hero h1,.page-title{
  font-family:Cinzel,Georgia,serif;
  letter-spacing:.075em;
  font-size:clamp(55px,8vw,114px);
  font-weight:500;
  margin:5px 0;
  line-height:1.07;
  text-shadow:0 10px 35px rgba(0,0,0,.56);
}
.hero h1 span{display:block;font-size:.45em;letter-spacing:.38em;color:var(--gold);margin:15px 0 22px}
.hero p{line-height:1.9;color:#ebe0d1;max-width:580px;margin:0 0 30px;font-size:15px}
.button-row{display:flex;gap:13px;justify-content:flex-start;flex-wrap:wrap}
.button{
  border:1px solid var(--gold2);
  padding:15px 28px;
  display:inline-flex;
  gap:13px;
  align-items:center;
  justify-content:center;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:11px;
  font-weight:700;
  transition:.2s;
  background:rgba(10,19,29,.42);
  color:var(--gold);
  backdrop-filter:blur(4px);
}
.button.primary{background:var(--gold);color:#10151d;border-color:var(--gold)}
.button:hover{background:#d9b9771f}
.hero-panel{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:32px;
  max-width:560px;
}
.hero-panel div{
  padding:16px 18px;
  border:1px solid rgba(218,178,116,.22);
  background:linear-gradient(180deg, rgba(10,18,29,.68), rgba(10,18,29,.4));
  backdrop-filter:blur(8px);
  text-align:center;
}
.hero-panel strong{
  display:block;
  font-family:Cinzel,serif;
  color:var(--gold-soft);
  font-size:28px;
  font-weight:600;
  margin-bottom:4px;
}
.hero-panel span{
  display:block;
  font-size:11px;
  color:#d8cdb8;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-bottom{
  position:absolute;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  font-size:10px;
  letter-spacing:.3em;
  color:#cdb98f;
}

.container{max-width:1200px;margin:auto;padding:0 28px;position:relative;z-index:1}
.section{padding:100px 0;position:relative}
.section::before{content:"";position:absolute;inset:0;pointer-events:none}
.section.alt{border-block:1px solid rgba(218,178,116,.16);background:linear-gradient(180deg, rgba(11,18,28,.92), rgba(10,17,26,.98))}
.section.alt::before{
  background:linear-gradient(180deg, rgba(8,17,26,.84), rgba(8,17,26,.95)),url('assets/bg-path-castle.webp') center top/cover no-repeat;
  opacity:.32;
}
.section-head{text-align:center;max-width:760px;margin:0 auto 45px;position:relative;z-index:2}
.section h2,.section-title,.page-title{font-family:Cinzel,serif;font-weight:500}
.section h2,.section-title{font-size:clamp(28px,3.7vw,44px);margin:17px 0}
.section-head p,.lede{color:var(--mute);line-height:1.85}
.accent-line{width:85px;height:1px;background:var(--gold2);margin:22px auto}

.grid{display:grid;gap:22px;position:relative;z-index:2}
.grid.three{grid-template-columns:repeat(3,1fr)}
.grid.four{grid-template-columns:repeat(4,1fr)}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card{
  border:1px solid var(--line);
  background:linear-gradient(155deg, rgba(23,35,50,.88), rgba(10,18,29,.88));
  padding:30px;
  transition:transform .25s,border-color .25s, box-shadow .25s;
  box-shadow:var(--shadow);
  backdrop-filter:blur(3px);
}
.card:hover{transform:translateY(-4px);border-color:#d9b97780;box-shadow:0 26px 55px rgba(0,0,0,.36)}
.card-icon{font-size:28px;color:var(--gold);margin-bottom:20px}
.card h3{font-family:Cinzel,serif;font-weight:500;font-size:18px;letter-spacing:.04em}
.card p{color:#c0c8d0;font-size:14px;line-height:1.8}
.text-link{color:var(--gold);font-size:12px;letter-spacing:.09em;text-transform:uppercase}

.house-grid{align-items:stretch}
.house{
  min-height:430px;
  position:relative;
  overflow:hidden;
  text-align:center;
  padding-top:34px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(19,31,46,.92), rgba(8,14,22,.96));
}
.house::before{content:"";position:absolute;inset:0;opacity:.24;pointer-events:none}
.house::after{content:"";position:absolute;inset:1px;border-radius:17px;border:1px solid rgba(255,255,255,.03);pointer-events:none}
.house.red::before{background:radial-gradient(circle at top,#8f2323,transparent 66%)}
.house.green::before{background:radial-gradient(circle at top,#1c6a48,transparent 66%)}
.house.blue::before{background:radial-gradient(circle at top,#295d97,transparent 66%)}
.house.yellow::before{background:radial-gradient(circle at top,#a17714,transparent 66%)}
.house-glow{position:absolute;inset:auto 15% -40px 15%;height:130px;filter:blur(28px);opacity:.16}
.house.red .house-glow{background:#b62d2d}
.house.green .house-glow{background:#2c8c62}
.house.blue .house-glow{background:#4178bc}
.house.yellow .house-glow{background:#d5a62a}
.house-badge{display:flex;align-items:center;justify-content:center;margin:0 auto 18px;min-height:112px;position:relative;z-index:1}
.house-badge::before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.08), transparent 65%)}
.house-badge img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));position:relative;z-index:1}
.house-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:10px;position:relative;z-index:1}
.house h3{font-size:26px;margin:8px 0 8px;position:relative;z-index:1}
.house p{min-height:54px;color:#dde4ea;position:relative;z-index:1}
.house-copy{font-size:13px;line-height:1.8;color:#b5c0ca;max-width:220px;margin:0 auto 18px;position:relative;z-index:1}
.pill{display:inline-block;padding:7px 12px;border:1px solid var(--line);color:var(--gold);font-size:11px;letter-spacing:.11em;text-transform:uppercase;position:relative;z-index:1;background:rgba(255,255,255,.02)}

.cta{
  padding:90px 20px;
  text-align:center;
  position:relative;
  border-block:1px solid var(--line);
  overflow:hidden;
}
.cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,13,21,.82), rgba(7,13,21,.96)),url('assets/bg-boat-castle.webp') center center/cover no-repeat;
  opacity:.9;
}
.cta > *{position:relative;z-index:1}
.cta h2{font-family:Cinzel,serif;font-size:36px;font-weight:500}
.page-intro{
  padding:110px 20px 70px;
  text-align:center;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(218,178,116,.12);
}
.page-intro::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(8,17,26,.78), rgba(8,17,26,.92)),url('assets/bg-path-castle.webp') center top/cover no-repeat;
  opacity:.9;
}
.page-intro > *{position:relative;z-index:1}
.page-title{font-size:clamp(38px,6vw,68px);margin:18px 0}
.page-intro .lede{max-width:750px;margin:0 auto;color:#dfe5ea}

.rule{margin:12px 0;border:1px solid var(--line);background:linear-gradient(155deg, rgba(18,27,39,.92), rgba(10,18,28,.92))}
.rule summary{padding:20px 24px;cursor:pointer;font-family:Cinzel,serif;color:var(--txt)}
.rule p{padding:0 24px 20px;margin:0;line-height:1.85;color:var(--mute)}
.season-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.season{padding:25px;text-align:center;border:1px solid var(--line);background:linear-gradient(155deg, rgba(18,27,39,.9), rgba(11,18,28,.94));box-shadow:var(--shadow)}

.season-badge{display:flex;align-items:center;justify-content:center;margin:0 auto 16px;min-height:112px}
.season-badge img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.35))}
.season b{display:block;font-family:Cinzel,serif;margin:12px 0}
.season span{color:var(--mute);font-size:13px}
.notice{border-left:2px solid var(--gold);background:#d9b9770d;padding:20px 24px;color:#d1c5ae;line-height:1.8;margin:24px 0}
.form{max-width:650px;margin:auto;border:1px solid var(--line);padding:35px;background:linear-gradient(155deg, rgba(14,22,33,.95), rgba(10,18,29,.95));box-shadow:var(--shadow)}
.field{display:flex;flex-direction:column;gap:8px;margin:0 0 18px}
.field label{font-size:12px;color:var(--gold);letter-spacing:.08em}
.field input,.field textarea,.field select{width:100%;background:#090f18;border:1px solid #ffffff29;color:var(--txt);padding:14px;outline:none}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold)}
.form-status{color:var(--gold);font-size:13px;line-height:1.7}

.footer{
  border-top:1px solid var(--line);
  padding:128px max(28px,calc((100vw - 1200px)/2)) 60px;
  display:flex;
  justify-content:space-between;
  gap:34px;
  align-items:flex-start;
  position:relative;
  overflow:hidden;
}
.footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(8,17,26,.28) 0%, rgba(8,17,26,.9) 42%, rgba(8,17,26,.98) 100%),url('assets/bg-boat-castle.webp') center top/cover no-repeat;
  opacity:.92;
}
.footer::after{
  content:"";
  position:absolute;
  top:0;left:50%;transform:translateX(-50%);
  width:min(1100px, calc(100% - 60px));
  height:1px;background:linear-gradient(90deg, transparent, rgba(218,178,116,.6), transparent);
}
.footer > *{position:relative;z-index:1}
.footer-brand{font-family:Cinzel,serif;letter-spacing:.1em;font-size:20px}
.footer-brand span{color:var(--gold)}
.footer p{font-size:12px;color:#d2d6dc;line-height:1.7;max-width:420px}
.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#e1c894}
.credit{text-align:right}
.muted{color:var(--mute)}
.center{text-align:center}
.mt{margin-top:35px}
.badge{font-size:11px;color:var(--gold);letter-spacing:.12em;text-transform:uppercase}
.news-date{font-size:12px;color:var(--gold)}
.year-band{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.year-band span{border:1px solid var(--line);padding:12px 17px;font-family:Cinzel,serif}
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.sigil{border:1px solid var(--line);min-height:300px;display:grid;place-items:center;font-family:Cinzel,serif;font-size:clamp(70px,12vw,150px);color:var(--gold);background:radial-gradient(circle,rgba(218,178,116,.18),transparent 60%), linear-gradient(155deg, rgba(15,23,34,.75), rgba(8,14,22,.95));box-shadow:var(--shadow)}

@media(max-width:1100px){
  .desktop-nav{gap:12px}
  .desktop-nav a{font-size:11px}
  .brand{min-width:auto}
  .header{padding:0 24px}
  .hero-content{margin-left:24px;max-width:640px}
}
@media(max-width:900px){
  .desktop-nav{display:none}
  .menu-toggle{display:block}
  .mobile-nav.open{display:flex;flex-direction:column;padding:20px 28px;background:#0c131e;border-bottom:1px solid var(--line);position:sticky;top:82px;z-index:19;gap:18px}
  .mobile-nav a{font-size:14px}
  .grid.four{grid-template-columns:repeat(2,1fr)}
  .grid.three{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr}
  .season-row{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:700px;justify-content:center;text-align:center}
  .hero-content{margin:0;padding-left:24px;padding-right:24px}
  .hero p{margin-left:auto;margin-right:auto}
  .button-row{justify-content:center}
  .hero-panel{margin-left:auto;margin-right:auto}
}
@media(max-width:600px){
  .header{height:70px;padding:0 18px}
  .brand strong{font-size:16px}.brand small{font-size:9px}
  .brand-symbol{width:35px;height:35px}
  .login-link{font-size:0;padding:10px}
  .login-link span{font-size:16px;margin:0}
  .mobile-nav.open{top:70px}
  .hero{min-height:670px}
  .hero h1{font-size:clamp(47px,12vw,72px)}
  .section{padding:65px 0}
  .grid.three,.grid.four,.grid.two,.season-row,.hero-panel{grid-template-columns:1fr}
  .footer{flex-direction:column;padding-top:90px}
  .credit{text-align:left}
  .card{padding:24px}
  .page-intro{padding:75px 20px 45px}
}

/* Premium house discovery pages */
.house{display:block;color:inherit;text-decoration:none;cursor:pointer}
.house-action{transition:background .25s,border-color .25s}
.house:hover .house-action,.house:focus-visible .house-action{background:rgba(218,178,116,.14);border-color:var(--gold)}
.house:focus-visible,.house-related-card:focus-visible{outline:2px solid var(--gold-soft);outline-offset:5px}
.house-theme-red{--house-accent:#b74542;--house-rgb:183,69,66}
.house-theme-green{--house-accent:#399d79;--house-rgb:57,157,121}
.house-theme-blue{--house-accent:#568cc5;--house-rgb:86,140,197}
.house-theme-yellow{--house-accent:#caa343;--house-rgb:202,163,67}
.house-hero{min-height:610px;position:relative;overflow:hidden;isolation:isolate;display:flex;align-items:center;border-bottom:1px solid var(--line)}
.house-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,11,20,.97),rgba(5,11,20,.76) 47%,rgba(5,11,20,.45)),linear-gradient(0deg,#08111a,transparent 70%),url('assets/bg-path-castle.webp') center/cover no-repeat}
.house-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 78% 40%,rgba(var(--house-rgb),.20),transparent 42%);pointer-events:none}
.house-hero-inner{max-width:1200px;width:100%;padding:65px 28px;margin:auto;position:relative}
.back-link{color:var(--gold-soft);font-size:12px;letter-spacing:.08em;display:inline-block;margin-bottom:35px}
.back-link:hover{text-decoration:underline}
.house-hero-mark{width:122px;height:122px;display:grid;place-items:center;margin:0 0 20px;background:radial-gradient(circle,rgba(var(--house-rgb),.18),transparent 70%)}
.house-hero-mark img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.6))}
.house-hero h1{font:500 clamp(48px,7vw,95px)/1.15 Cinzel,serif;letter-spacing:.04em;margin:15px 0;color:var(--txt);text-shadow:0 8px 35px #000}
.house-hero-motto{font:400 clamp(18px,2.3vw,26px)/1.5 Cinzel,serif;color:var(--gold-soft);margin:0 0 17px}
.house-hero-intro{max-width:540px;color:#d4dce5;line-height:1.9;font-size:15px;margin:0 0 30px}
.house-detail{background:radial-gradient(ellipse at 85% 15%,rgba(var(--house-rgb),.09),transparent 45%)}
.house-story{grid-template-columns:1.35fr .65fr;gap:55px}
.house-story .lede{max-width:640px}
.trait-list{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}
.trait-list span{border:1px solid rgba(var(--house-rgb),.5);background:rgba(var(--house-rgb),.1);padding:11px 17px;font-size:12px;letter-spacing:.08em;color:#f5ede0}
.house-story-crest{min-height:320px;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle,rgba(var(--house-rgb),.21),transparent 62%);border:1px solid var(--line)}
.house-story-crest img{width:min(55%,220px);height:260px;object-fit:contain;filter:drop-shadow(0 15px 25px rgba(0,0,0,.6))}
.house-roleplay{margin-top:85px;border-top:1px solid var(--line);padding-top:60px;max-width:760px}
.house-roleplay blockquote{font:italic 21px/1.8 Georgia,serif;color:var(--gold-soft);border-left:2px solid var(--house-accent);padding:10px 0 10px 24px;margin:30px 0 0}
.house-related-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:inherit;text-decoration:none}
.house-related-card img{width:85px;height:85px;object-fit:contain}
.house-related-card h3{margin:0 0 10px}
@media(max-width:900px){.house-story{grid-template-columns:1fr}.house-story-crest{min-height:230px}.house-roleplay{margin-top:55px}.house-hero{min-height:560px}}
@media(max-width:600px){.house-hero-inner{padding:45px 22px}.house-hero{min-height:570px}.house-hero-mark{width:95px;height:95px}.house-hero-mark img{width:88px;height:88px}.house-roleplay blockquote{font-size:18px}}
@media(prefers-reduced-motion:reduce){.house,.house-action{transition:none}}

/* Calendario accademico premium */
.calendar-premium{background:radial-gradient(ellipse at 15% 20%,rgba(19,59,73,.2),transparent 48%),#08111a}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:44px;align-items:center;margin:26px 0 90px}
.season-wheel{display:flex;justify-content:center;align-items:center}
.wheel-shell{width:min(100%,620px);aspect-ratio:1;position:relative;border-radius:50%;background:radial-gradient(circle at center,rgba(16,31,42,.96) 0%,rgba(8,19,29,.98) 56%,rgba(7,14,23,1) 74%);border:1px solid rgba(218,178,116,.38);box-shadow:inset 0 0 130px rgba(0,0,0,.48),0 26px 75px rgba(0,0,0,.42),0 0 0 10px rgba(218,178,116,.04)}
.wheel-shell::before,.wheel-shell::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.wheel-shell::before{inset:4.5%;border:1px solid rgba(218,178,116,.18)}
.wheel-shell::after{inset:19%;border:1px dashed rgba(218,178,116,.16)}
.wheel-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:176px;height:176px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;z-index:1;background:radial-gradient(circle at 30% 30%,rgba(255,244,220,.08),rgba(18,25,34,.96) 62%);border:1px solid rgba(218,178,116,.28);box-shadow:inset 0 0 40px rgba(218,178,116,.05),0 0 0 8px rgba(218,178,116,.03)}
.wheel-center span,.wheel-center small,.wheel-center em{font-size:10px;letter-spacing:.19em;color:#d7bd91;font-style:normal}
.wheel-center strong{font:500 clamp(44px,5vw,66px)/1 Cinzel,serif;color:var(--gold-soft);margin:.08em 0}
.wheel-center em{margin-top:6px;color:#b8c2cb;letter-spacing:.12em}
.wheel-season{position:absolute;width:150px;min-height:150px;padding:16px 10px 14px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;border-radius:26px;border:1px solid rgba(218,178,116,.16);background:linear-gradient(180deg,rgba(15,27,39,.86),rgba(8,16,25,.94));box-shadow:0 12px 28px rgba(0,0,0,.22);color:#efe5d6;cursor:pointer;transition:transform .22s,background .22s,border-color .22s,box-shadow .22s;z-index:2}
.wheel-season-badge{width:74px;height:74px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(218,178,116,.12),transparent 70%)}
.wheel-season img{width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 5px 16px rgba(0,0,0,.55))}
.wheel-season strong{font:500 20px/1.15 Cinzel,serif}
.wheel-season small{font-size:11px;letter-spacing:.11em;color:#c9b18b;text-transform:uppercase}
.wheel-autumn{top:6%;left:50%;transform:translateX(-50%)}
.wheel-winter{right:6%;top:50%;transform:translateY(-50%)}
.wheel-spring{bottom:6%;left:50%;transform:translateX(-50%)}
.wheel-summer{left:6%;top:50%;transform:translateY(-50%)}
.wheel-season:hover,.wheel-season.selected{border-color:rgba(218,178,116,.65);background:linear-gradient(180deg,rgba(33,47,60,.94),rgba(12,21,31,.98));box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 0 4px rgba(218,178,116,.06)}
.wheel-autumn.selected,.wheel-autumn:hover{transform:translateX(-50%) scale(1.03)}
.wheel-winter.selected,.wheel-winter:hover{transform:translateY(-50%) scale(1.03)}
.wheel-spring.selected,.wheel-spring:hover{transform:translateX(-50%) scale(1.03)}
.wheel-summer.selected,.wheel-summer:hover{transform:translateY(-50%) scale(1.03)}
.wheel-season:focus-visible,.timeline-phase:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}
.calendar-detail{padding:34px;border:1px solid rgba(218,178,116,.28);background:linear-gradient(145deg,rgba(19,34,47,.96),rgba(8,16,25,.98));box-shadow:var(--shadow);position:relative;overflow:hidden}
.calendar-detail::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.04),transparent 30%);pointer-events:none}
.calendar-detail.season-theme-autumn{--season-accent:#d99349}
.calendar-detail.season-theme-winter{--season-accent:#9fc8e8}
.calendar-detail.season-theme-spring{--season-accent:#d7d0a0}
.calendar-detail.season-theme-summer{--season-accent:#e0b458}
.calendar-detail-head{display:flex;align-items:center;gap:20px;margin:22px 0}
.calendar-detail-badge{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,255,255,.05),transparent 68%);flex:0 0 auto}
.calendar-detail-head img{width:88px;height:88px;object-fit:contain}
.calendar-detail-head h3{font:500 34px/1.15 Cinzel,serif;margin:0 0 8px}
.calendar-detail-head p{color:var(--season-accent,var(--gold));font-size:13px;margin:0;letter-spacing:.08em;text-transform:uppercase}
.calendar-rule{height:1px;background:linear-gradient(90deg,var(--season-accent,var(--gold2)),transparent);margin:20px 0}
#calendarDetailText{color:#d6dbe2;line-height:1.9;min-height:110px}
.calendar-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.calendar-detail-meta div{border:1px solid rgba(218,178,116,.18);padding:16px;background:rgba(255,255,255,.015)}
.calendar-detail-meta span{display:block;color:var(--season-accent,var(--gold));font-size:10px;letter-spacing:.16em;margin-bottom:8px}
.calendar-detail-meta strong{font-size:13px;font-weight:500}
.calendar-season-foot{font-size:12px;color:var(--mute);line-height:1.7;margin-top:22px}
.calendar-timeline{border-top:1px solid var(--line);padding-top:70px}
.timeline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.timeline-phase{border:1px solid var(--line);background:linear-gradient(160deg,#1a2b39d9,#0b1520);padding:23px 10px;display:flex;align-items:center;flex-direction:column;gap:11px;color:var(--txt);transition:border-color .25s,transform .25s,box-shadow .25s}
.timeline-phase img{width:80px;height:80px;object-fit:contain}
.timeline-phase strong{font:500 19px Cinzel,serif}
.timeline-range{font-size:11px;letter-spacing:.13em;color:var(--gold)}
.timeline-status{font-size:12px;color:#bec7ce}
.timeline-phase.selected,.timeline-phase:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 18px 30px rgba(0,0,0,.24)}
.calendar-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:45px 0}
.calendar-stats div{border-top:1px solid var(--gold2);text-align:center;padding:23px 10px;background:#0d1b29a3}
.calendar-stats strong{display:block;font:500 35px Cinzel,serif;color:var(--gold-soft)}
.calendar-stats span{display:block;font-size:12px;color:#c2cad2;margin-top:8px}
@media(max-width:1080px){.calendar-layout{grid-template-columns:1fr;gap:38px}.calendar-detail{max-width:720px;margin:auto;width:100%}.season-wheel{order:1}}
@media(max-width:700px){.wheel-shell{width:min(100%,520px)}.wheel-season{width:122px;min-height:122px;padding:10px 8px}.wheel-season-badge{width:60px;height:60px}.wheel-season img{width:56px;height:56px}.wheel-season strong{font-size:16px}.wheel-season small{font-size:10px}.wheel-center{width:140px;height:140px}.wheel-center strong{font-size:40px}.timeline-grid,.calendar-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-detail{padding:24px}.calendar-detail-head h3{font-size:28px}.calendar-detail-head img{width:74px;height:74px}.calendar-detail-badge{width:80px;height:80px}}
@media(max-width:560px){.calendar-layout{margin-bottom:65px}.wheel-shell{width:min(100%,430px)}.wheel-season{width:100px;min-height:100px;border-radius:20px;padding:8px 6px}.wheel-season-badge{width:46px;height:46px}.wheel-season img{width:42px;height:42px}.wheel-season strong{font-size:14px}.wheel-season small{font-size:9px;letter-spacing:.05em}.wheel-center{width:112px;height:112px}.wheel-center span,.wheel-center small,.wheel-center em{font-size:7px}.wheel-center strong{font-size:30px}.wheel-autumn{top:7%}.wheel-spring{bottom:7%}.wheel-winter{right:2%}.wheel-summer{left:2%}.timeline-grid,.calendar-stats,.calendar-detail-meta{grid-template-columns:1fr}#calendarDetailText{min-height:0}}
@media(prefers-reduced-motion:reduce){.wheel-season,.timeline-phase{transition:none}}


/* Nectum celestial wheel — un cielo animato, non un quadrante meccanico */
.wheel-shell{
  isolation:isolate;overflow:hidden;
  background:radial-gradient(circle at 49% 52%,#14293b 0%,#0b1b2d 31%,#06121f 67%,#040b14 100%);
  border:1px solid rgba(210,172,111,.36);
  box-shadow:0 0 0 7px rgba(208,166,104,.025),0 24px 76px rgba(0,0,0,.52),inset 0 0 85px #000a;
}
.wheel-shell::before{
  inset:0;z-index:0;border:none;
  background:radial-gradient(ellipse at 29% 29%,rgba(52,103,135,.13),transparent 44%),radial-gradient(ellipse at 78% 72%,rgba(76,49,111,.14),transparent 45%);
}
.wheel-shell::after{inset:9px;border:1px solid rgba(216,177,114,.14);z-index:0}
.cosmos-field{position:absolute;inset:2%;border-radius:50%;overflow:hidden;z-index:0;pointer-events:none}
.cosmos-nebula{position:absolute;inset:-20%;background:radial-gradient(ellipse at 24% 62%,rgba(45,99,133,.17),transparent 35%),radial-gradient(ellipse at 73% 35%,rgba(114,73,151,.11),transparent 38%),radial-gradient(ellipse at 55% 78%,rgba(15,94,122,.12),transparent 40%);filter:blur(19px);animation:nebula-breathe 18s ease-in-out infinite alternate}
.cosmos-stars{position:absolute;inset:-14%;border-radius:50%;transform-origin:center center}
.cosmos-stars-far{opacity:.72;background-image:radial-gradient(circle,#e8e4d7 1px,transparent 1.6px),radial-gradient(circle,#b4d9ff .8px,transparent 1.3px),radial-gradient(circle,#b5b6dc .7px,transparent 1.3px);background-position:4px 13px,43px 73px,88px 34px;background-size:63px 71px,91px 83px,127px 109px;animation:sky-drift 85s linear infinite}
.cosmos-stars-near{opacity:.8;background-image:radial-gradient(circle,rgba(255,237,203,.95) 1.5px,transparent 2.6px),radial-gradient(circle,rgba(174,217,253,.75) 1.1px,transparent 2px);background-position:18px 22px,40px 59px;background-size:143px 139px,107px 127px;animation:star-twinkle 6s ease-in-out infinite alternate,sky-drift-reverse 120s linear infinite}
@keyframes nebula-breathe{from{transform:translate(-2%,1%) scale(1);opacity:.7}to{transform:translate(2%,-2%) scale(1.1);opacity:1}}
@keyframes sky-drift{to{transform:rotate(360deg)}}
@keyframes sky-drift-reverse{to{transform:rotate(-360deg)}}
@keyframes star-twinkle{from{opacity:.3}to{opacity:.92}}
.wheel-center{width:142px;height:142px;z-index:2;border:1px solid rgba(219,186,132,.28);background:radial-gradient(circle at 50% 30%,rgba(32,53,72,.92),rgba(4,13,24,.98) 85%);box-shadow:0 0 35px rgba(8,21,35,.85),inset 0 0 22px rgba(142,177,203,.075)}
.wheel-center strong{font-size:54px}
.wheel-center span,.wheel-center small,.wheel-center em{letter-spacing:.1em;font-size:9px}
.wheel-season{width:116px;min-height:118px;gap:3px;border:1px solid transparent;border-radius:18px;padding:7px 5px;background:rgba(4,14,25,.27);box-shadow:none;backdrop-filter:blur(1px)}
.wheel-season-badge{width:64px;height:64px;background:none}
.wheel-season img{width:62px;height:62px;transition:transform .22s;filter:drop-shadow(0 6px 11px #000b)}
.wheel-season strong{font-size:16px;color:#f3e9d7}
.wheel-season small{font-size:9px;letter-spacing:.05em}
.wheel-autumn{top:4%}
.wheel-winter{right:3%}
.wheel-spring{bottom:4%}
.wheel-summer{left:3%}
.wheel-season.selected,.wheel-season:hover{border-color:rgba(217,177,116,.48);background:rgba(28,45,63,.52);box-shadow:0 0 24px rgba(201,161,97,.12)}
.wheel-season.selected img,.wheel-season:hover img{transform:scale(1.07)}
@media(max-width:700px){
  .wheel-center{width:124px;height:124px}.wheel-center strong{font-size:43px}
  .wheel-season{width:104px;min-height:106px;padding:6px 4px}.wheel-season-badge{width:55px;height:55px}.wheel-season img{width:54px;height:54px}.wheel-season strong{font-size:14px}.wheel-season small{font-size:8px}
}
@media(max-width:560px){
  .wheel-center{width:92px;height:92px}.wheel-center strong{font-size:31px}.wheel-center span,.wheel-center small,.wheel-center em{font-size:7px}
  .wheel-season{width:80px;min-height:83px;border-radius:12px;gap:1px;padding:4px 2px}.wheel-season-badge{width:39px;height:39px}.wheel-season img{width:39px;height:39px}.wheel-season strong{font-size:11px}.wheel-season small{font-size:7px}
  .wheel-autumn{top:3%}.wheel-spring{bottom:3%}.wheel-summer{left:2%}.wheel-winter{right:2%}
}
@media(prefers-reduced-motion:reduce){.cosmos-nebula,.cosmos-stars{animation:none}.wheel-season img{transition:none}}

/* Refinement: celestial season selector, restrained finish */
.wheel-shell{border:1px solid rgba(205,175,121,.3);box-shadow:0 18px 70px #0008,0 0 0 5px rgba(205,175,121,.018),inset 0 0 66px #0007}
.wheel-shell::after{inset:5px;border-color:rgba(221,184,127,.10)}
.wheel-center{width:140px;height:140px;gap:6px;background:radial-gradient(circle at 45% 30%,rgba(30,50,69,.96),rgba(5,15,26,.98) 78%);box-shadow:0 0 35px #020a17c4,inset 0 0 20px #9cb5c20e;border-color:#ccac744e}
.wheel-center span{font-size:10px;letter-spacing:.15em}
.wheel-center strong{font-size:55px;line-height:1;color:#f3dfb5;text-shadow:0 0 22px rgba(236,194,123,.19)}
.wheel-center small{font-size:10px;letter-spacing:.16em;color:#d6c29c}
.wheel-season{border-radius:15px;background:rgba(3,14,25,.15);transition:background .2s,border-color .2s,box-shadow .2s}
.wheel-season.selected,.wheel-season:hover{background:rgba(22,43,61,.4);border-color:rgba(219,182,119,.47);box-shadow:0 0 25px rgba(205,166,109,.12)}
.wheel-season strong{font-size:15px;letter-spacing:.015em}
.wheel-season small{color:#d2b88d}
.calendar-detail{border:1px solid rgba(218,178,116,.23);box-shadow:0 14px 40px #0005}
@media(max-width:700px){.wheel-center{width:122px;height:122px;gap:4px}.wheel-center strong{font-size:44px}.wheel-center span,.wheel-center small{font-size:8px}}
@media(max-width:560px){.wheel-center{width:92px;height:92px;gap:2px}.wheel-center strong{font-size:32px}.wheel-center span,.wheel-center small{font-size:7px}}


/* Calendar wheel refinement — tighter constellation layout */
.wheel-shell{overflow:visible}
.wheel-center{
  width:156px;
  height:156px;
  gap:4px;
  border:1px solid rgba(217,183,123,.38);
  background:
    radial-gradient(circle at 50% 28%, rgba(53,78,101,.98), rgba(9,18,31,.98) 62%, rgba(4,11,20,1) 100%);
  box-shadow:
    0 0 42px rgba(3,11,22,.82),
    0 0 0 6px rgba(217,183,123,.035),
    inset 0 0 26px rgba(190,210,223,.08);
}
.wheel-center::before,
.wheel-center::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.wheel-center::before{
  inset:7px;
  border:1px solid rgba(222,189,131,.22);
  box-shadow:inset 0 0 24px rgba(233,203,148,.04);
}
.wheel-center::after{
  inset:-9px;
  border:1px solid rgba(222,189,131,.13);
}
.wheel-center span{font-size:10px;letter-spacing:.18em;color:#d4b98b}
.wheel-center strong{font-size:60px;line-height:1;color:#f5e2ba;text-shadow:0 0 22px rgba(239,198,126,.18)}
.wheel-center small{font-size:10px;letter-spacing:.18em;color:#ddc9a2}

.wheel-season{
  z-index:3;
  width:114px;
  min-height:114px;
  padding:6px 4px;
  background:rgba(7,18,31,.14);
}
.wheel-season::before{
  content:"";
  position:absolute;
  z-index:-1;
  opacity:.8;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(214,180,117,.02), rgba(214,180,117,.34), rgba(214,180,117,.02));
  box-shadow:0 0 10px rgba(214,180,117,.08);
}
.wheel-season::after{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(232,210,169,.85);
  box-shadow:0 0 12px rgba(232,210,169,.25);
}
.wheel-season.selected,.wheel-season:hover{background:rgba(20,39,58,.45)}
.wheel-season strong{font-size:15px}
.wheel-season small{font-size:8px;letter-spacing:.08em}

.wheel-autumn{top:14%;left:50%;transform:translateX(-50%)}
.wheel-autumn::before{left:50%;top:100%;width:1px;height:76px;transform:translateX(-50%);background:linear-gradient(180deg, rgba(214,180,117,.42), rgba(214,180,117,.06));}
.wheel-autumn::after{left:50%;top:calc(100% + 73px);transform:translate(-50%,-50%)}

.wheel-spring{bottom:14%;left:50%;transform:translateX(-50%)}
.wheel-spring::before{left:50%;bottom:100%;width:1px;height:76px;transform:translateX(-50%);background:linear-gradient(0deg, rgba(214,180,117,.42), rgba(214,180,117,.06));}
.wheel-spring::after{left:50%;bottom:calc(100% + 70px);transform:translate(-50%,50%)}

.wheel-winter{right:14%;top:50%;transform:translateY(-50%)}
.wheel-winter::before{right:100%;top:50%;width:76px;height:1px;transform:translateY(-50%);}
.wheel-winter::after{right:calc(100% + 73px);top:50%;transform:translate(50%,-50%)}

.wheel-summer{left:14%;top:50%;transform:translateY(-50%)}
.wheel-summer::before{left:100%;top:50%;width:76px;height:1px;transform:translateY(-50%);}
.wheel-summer::after{left:calc(100% + 73px);top:50%;transform:translate(-50%,-50%)}

@media(max-width:700px){
  .wheel-center{width:136px;height:136px}.wheel-center strong{font-size:48px}.wheel-center span,.wheel-center small{font-size:8px}
  .wheel-season{width:100px;min-height:100px;padding:5px 3px}.wheel-season strong{font-size:13px}.wheel-season small{font-size:7px}
  .wheel-season-badge{width:54px;height:54px}.wheel-season img{width:52px;height:52px}
  .wheel-autumn{top:16%}.wheel-spring{bottom:16%}.wheel-winter{right:15%}.wheel-summer{left:15%}
  .wheel-autumn::before,.wheel-spring::before{height:54px}
  .wheel-winter::before,.wheel-summer::before{width:54px}
  .wheel-autumn::after{top:calc(100% + 51px)}
  .wheel-spring::after{bottom:calc(100% + 48px)}
  .wheel-winter::after{right:calc(100% + 51px)}
  .wheel-summer::after{left:calc(100% + 51px)}
}
@media(max-width:560px){
  .wheel-center{width:104px;height:104px}.wheel-center strong{font-size:34px}.wheel-center span,.wheel-center small{font-size:6.8px}
  .wheel-season{width:82px;min-height:82px;border-radius:12px;padding:4px 2px}
  .wheel-season strong{font-size:10px}.wheel-season small{font-size:6px}
  .wheel-season-badge{width:38px;height:38px}.wheel-season img{width:38px;height:38px}
  .wheel-autumn{top:18%}.wheel-spring{bottom:18%}.wheel-winter{right:17%}.wheel-summer{left:17%}
  .wheel-autumn::before,.wheel-spring::before{height:32px}
  .wheel-winter::before,.wheel-summer::before{width:32px}
  .wheel-autumn::after{top:calc(100% + 29px)}
  .wheel-spring::after{bottom:calc(100% + 26px)}
  .wheel-winter::after{right:calc(100% + 29px)}
  .wheel-summer::after{left:calc(100% + 29px)}
}

/* Calendar final polish */
.calendar-premium .section-head{margin-bottom:34px}
.calendar-premium .section-head p{max-width:760px;margin-inline:auto;color:#d4dbe2}
.calendar-layout{gap:38px;align-items:center;margin-top:10px;margin-bottom:82px}
.season-wheel{position:relative;filter:drop-shadow(0 18px 42px rgba(0,0,0,.28))}
.wheel-shell{
  width:min(100%,604px);
  background:
    radial-gradient(circle at 48% 50%, rgba(19,50,82,.95) 0%, rgba(10,29,53,.98) 36%, rgba(6,20,35,1) 72%, rgba(4,12,21,1) 100%);
  border:1px solid rgba(214,182,126,.26);
  box-shadow:0 18px 60px rgba(0,0,0,.5), inset 0 0 72px rgba(0,0,0,.48), 0 0 0 1px rgba(240,212,157,.03);
}
.wheel-shell::after{inset:7px;border-color:rgba(226,193,137,.11)}
.wheel-shell.theme-autumn{box-shadow:0 18px 60px rgba(0,0,0,.5), inset 0 0 72px rgba(0,0,0,.48), 0 0 34px rgba(188,108,41,.12)}
.wheel-shell.theme-winter{box-shadow:0 18px 60px rgba(0,0,0,.5), inset 0 0 72px rgba(0,0,0,.48), 0 0 34px rgba(124,172,215,.12)}
.wheel-shell.theme-spring{box-shadow:0 18px 60px rgba(0,0,0,.5), inset 0 0 72px rgba(0,0,0,.48), 0 0 34px rgba(190,197,135,.12)}
.wheel-shell.theme-summer{box-shadow:0 18px 60px rgba(0,0,0,.5), inset 0 0 72px rgba(0,0,0,.48), 0 0 34px rgba(221,173,82,.12)}
.cosmos-field{inset:2.8%}
.cosmos-nebula{filter:blur(22px);opacity:.85}
.cosmos-stars-far{opacity:.48}
.cosmos-stars-near{opacity:.78}

.wheel-center{
  width:170px;
  height:170px;
  z-index:5;
  gap:5px;
  overflow:visible;
  border:1px solid rgba(228,198,146,.34);
  background:
    radial-gradient(circle at 50% 28%, rgba(62,91,118,.98), rgba(12,25,41,.98) 52%, rgba(5,14,24,1) 100%);
  box-shadow:
    0 0 0 6px rgba(228,198,146,.025),
    0 0 0 1px rgba(255,255,255,.02),
    inset 0 0 34px rgba(224,197,152,.08),
    0 10px 30px rgba(0,0,0,.36);
}
.wheel-center::before{inset:8px;border:1px solid rgba(228,198,146,.18)}
.wheel-center::after{inset:-11px;border:1px solid rgba(228,198,146,.1);box-shadow:0 0 0 1px rgba(228,198,146,.03)}
.wheel-center span{font-size:9px;font-weight:700;letter-spacing:.28em;color:#d9bf91}
.wheel-center strong{font-size:64px;line-height:.95;color:#f7e3bc;text-shadow:0 0 24px rgba(240,205,133,.2)}
.wheel-center small{font-size:9px;font-weight:700;letter-spacing:.24em;color:#d9c29a}
.season-wheel-autumn .wheel-center{box-shadow:0 0 0 6px rgba(228,198,146,.025),0 0 0 1px rgba(255,255,255,.02),inset 0 0 34px rgba(203,112,47,.09),0 10px 30px rgba(0,0,0,.36)}
.season-wheel-winter .wheel-center{box-shadow:0 0 0 6px rgba(228,198,146,.025),0 0 0 1px rgba(255,255,255,.02),inset 0 0 34px rgba(112,175,216,.11),0 10px 30px rgba(0,0,0,.36)}
.season-wheel-spring .wheel-center{box-shadow:0 0 0 6px rgba(228,198,146,.025),0 0 0 1px rgba(255,255,255,.02),inset 0 0 34px rgba(198,202,138,.12),0 10px 30px rgba(0,0,0,.36)}
.season-wheel-summer .wheel-center{box-shadow:0 0 0 6px rgba(228,198,146,.025),0 0 0 1px rgba(255,255,255,.02),inset 0 0 34px rgba(226,183,89,.12),0 10px 30px rgba(0,0,0,.36)}

.wheel-season{
  width:118px;
  min-height:118px;
  border-radius:18px;
  padding:7px 6px 8px;
  border:1px solid rgba(221,189,130,.08);
  background:linear-gradient(180deg, rgba(8,19,32,.2), rgba(8,19,32,.06));
  backdrop-filter:blur(3px);
}
.wheel-season::before{opacity:.58;box-shadow:0 0 18px rgba(214,180,117,.06)}
.wheel-season::after{width:5px;height:5px;background:rgba(243,221,181,.7);box-shadow:0 0 10px rgba(243,221,181,.2)}
.wheel-season-badge{width:66px;height:66px;position:relative}
.wheel-season-badge::after{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(255,255,255,.04)}
.wheel-season img{width:64px;height:64px}
.wheel-season strong{font-size:14px;letter-spacing:.03em}
.wheel-season small{font-size:8px;color:#c8b08a}
.wheel-season.selected,.wheel-season:hover{background:linear-gradient(180deg, rgba(20,39,58,.58), rgba(14,27,41,.28));border-color:rgba(221,189,130,.32);box-shadow:0 0 28px rgba(221,189,130,.1)}
.wheel-autumn{top:16%;left:50%;transform:translateX(-50%)}
.wheel-spring{bottom:16%;left:50%;transform:translateX(-50%)}
.wheel-winter{right:16%;top:50%;transform:translateY(-50%)}
.wheel-summer{left:16%;top:50%;transform:translateY(-50%)}
.wheel-autumn::before,.wheel-spring::before{height:58px;background:linear-gradient(180deg, rgba(221,189,130,.34), rgba(221,189,130,.04))}
.wheel-winter::before,.wheel-summer::before{width:58px;background:linear-gradient(90deg, rgba(221,189,130,.04), rgba(221,189,130,.34), rgba(221,189,130,.04))}
.wheel-autumn::after{top:calc(100% + 55px)}
.wheel-spring::after{bottom:calc(100% + 52px)}
.wheel-winter::after{right:calc(100% + 55px)}
.wheel-summer::after{left:calc(100% + 55px)}

.wheel-autumn.selected,.wheel-autumn:hover{box-shadow:0 0 28px rgba(188,108,41,.14)}
.wheel-winter.selected,.wheel-winter:hover{box-shadow:0 0 28px rgba(124,172,215,.14)}
.wheel-spring.selected,.wheel-spring:hover{box-shadow:0 0 28px rgba(188,197,135,.14)}
.wheel-summer.selected,.wheel-summer:hover{box-shadow:0 0 28px rgba(221,173,82,.14)}
.wheel-autumn.selected .wheel-season-badge,.wheel-autumn:hover .wheel-season-badge{filter:drop-shadow(0 0 10px rgba(188,108,41,.18))}
.wheel-winter.selected .wheel-season-badge,.wheel-winter:hover .wheel-season-badge{filter:drop-shadow(0 0 10px rgba(124,172,215,.18))}
.wheel-spring.selected .wheel-season-badge,.wheel-spring:hover .wheel-season-badge{filter:drop-shadow(0 0 10px rgba(188,197,135,.18))}
.wheel-summer.selected .wheel-season-badge,.wheel-summer:hover .wheel-season-badge{filter:drop-shadow(0 0 10px rgba(221,173,82,.18))}

.calendar-detail{
  min-height:434px;
  padding:36px;
  border:1px solid rgba(221,189,130,.18);
  background:
    linear-gradient(180deg, rgba(17,30,44,.94), rgba(9,18,28,.98));
  box-shadow:0 18px 44px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.02);
}
.calendar-detail::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg, rgba(255,255,255,.025), transparent 42%)}
.calendar-detail-head{gap:18px;margin:18px 0 20px}
.calendar-detail-badge{width:90px;height:90px;background:radial-gradient(circle, rgba(255,255,255,.06), transparent 68%)}
.calendar-detail-head img{width:84px;height:84px}
.calendar-detail-head h3{font-size:30px;letter-spacing:.03em}
.calendar-detail-head p{font-size:12px;letter-spacing:.12em}
.calendar-rule{margin:18px 0 20px}
#calendarDetailText{min-height:94px;color:#d9dee4}
.calendar-detail-meta{gap:10px}
.calendar-detail-meta div{padding:18px 16px}
.calendar-detail-meta span{font-size:9px;font-weight:700;letter-spacing:.18em}
.calendar-detail-meta strong{font-size:14px}
.calendar-season-foot{margin-top:18px;color:#aeb8c2}
.calendar-detail.season-theme-autumn{background:linear-gradient(180deg, rgba(25,31,37,.95), rgba(11,17,24,.98)); box-shadow:0 18px 44px rgba(0,0,0,.28), inset 0 0 80px rgba(173,101,44,.05)}
.calendar-detail.season-theme-winter{background:linear-gradient(180deg, rgba(16,26,38,.95), rgba(8,16,24,.98)); box-shadow:0 18px 44px rgba(0,0,0,.28), inset 0 0 80px rgba(109,166,210,.05)}
.calendar-detail.season-theme-spring{background:linear-gradient(180deg, rgba(23,28,33,.95), rgba(11,16,21,.98)); box-shadow:0 18px 44px rgba(0,0,0,.28), inset 0 0 80px rgba(189,197,140,.05)}
.calendar-detail.season-theme-summer{background:linear-gradient(180deg, rgba(27,23,18,.95), rgba(12,14,17,.98)); box-shadow:0 18px 44px rgba(0,0,0,.28), inset 0 0 80px rgba(222,170,77,.05)}

.calendar-timeline{padding-top:62px}
.timeline-grid{gap:16px}
.timeline-phase{padding:24px 12px;border-color:rgba(221,189,130,.14);background:linear-gradient(160deg, rgba(23,38,52,.88), rgba(10,19,29,.96)); box-shadow:0 10px 22px rgba(0,0,0,.14)}
.timeline-phase img{width:74px;height:74px}
.timeline-phase strong{font-size:18px}
.timeline-phase.selected,.timeline-phase:hover{border-color:rgba(221,189,130,.42);box-shadow:0 18px 34px rgba(0,0,0,.2), 0 0 20px rgba(221,189,130,.06)}
.calendar-stats{gap:16px;margin:42px 0}
.calendar-stats div{border-top:1px solid rgba(221,189,130,.4);background:linear-gradient(180deg, rgba(15,28,42,.86), rgba(11,20,31,.62)); box-shadow:0 10px 22px rgba(0,0,0,.12)}
.calendar-stats strong{font-size:34px}

@media(max-width:700px){
  .calendar-layout{gap:26px}
  .wheel-shell{width:min(100%,520px)}
  .wheel-center{width:142px;height:142px}.wheel-center strong{font-size:52px}.wheel-center span,.wheel-center small{font-size:8px}
  .wheel-season{width:100px;min-height:100px}.wheel-season-badge{width:56px;height:56px}.wheel-season img{width:54px;height:54px}
  .wheel-autumn{top:17%}.wheel-spring{bottom:17%}.wheel-winter{right:16%}.wheel-summer{left:16%}
  .wheel-autumn::before,.wheel-spring::before{height:40px}
  .wheel-winter::before,.wheel-summer::before{width:40px}
  .wheel-autumn::after{top:calc(100% + 37px)}
  .wheel-spring::after{bottom:calc(100% + 34px)}
  .wheel-winter::after{right:calc(100% + 37px)}
  .wheel-summer::after{left:calc(100% + 37px)}
  .calendar-detail{min-height:auto;padding:28px}
}
@media(max-width:560px){
  .wheel-shell{width:min(100%,430px)}
  .wheel-center{width:110px;height:110px}.wheel-center strong{font-size:36px}.wheel-center span,.wheel-center small{font-size:6.6px}
  .wheel-season{width:84px;min-height:84px;border-radius:14px}.wheel-season strong{font-size:10px}.wheel-season small{font-size:6px}
  .wheel-season-badge{width:40px;height:40px}.wheel-season img{width:40px;height:40px}
  .wheel-autumn{top:18%}.wheel-spring{bottom:18%}.wheel-winter{right:17%}.wheel-summer{left:17%}
  .wheel-autumn::before,.wheel-spring::before{height:26px}
  .wheel-winter::before,.wheel-summer::before{width:26px}
  .wheel-autumn::after{top:calc(100% + 23px)}
  .wheel-spring::after{bottom:calc(100% + 20px)}
  .wheel-winter::after{right:calc(100% + 23px)}
  .wheel-summer::after{left:calc(100% + 23px)}
  .calendar-detail{padding:24px}
  .calendar-detail-head{gap:14px}
  .calendar-detail-badge{width:74px;height:74px}
  .calendar-detail-head img{width:68px;height:68px}
  .calendar-detail-head h3{font-size:24px}
}

/* Calendar section full premium pass */
.calendar-premium{padding-top:88px}
.calendar-premium .container{max-width:1240px}
.calendar-ribbon{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:0 auto 34px;
}
.calendar-ribbon-card{
  position:relative;
  overflow:hidden;
  padding:20px 22px 18px;
  border:1px solid rgba(221,189,130,.16);
  background:linear-gradient(180deg, rgba(15,28,42,.82), rgba(9,17,27,.9));
  box-shadow:0 12px 24px rgba(0,0,0,.14);
}
.calendar-ribbon-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.025), transparent 40%);
  pointer-events:none;
}
.calendar-ribbon-card span{display:block;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#d7be92;margin-bottom:10px}
.calendar-ribbon-card strong{display:block;font-family:Cinzel,serif;font-size:28px;font-weight:500;color:#f4e2be;letter-spacing:.04em}
.calendar-ribbon-card small{display:block;margin-top:8px;color:#b9c3cc;line-height:1.65;font-size:12px}

.calendar-overview{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
  gap:22px;
  align-items:start;
}
.calendar-subhead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px;
}
.calendar-subhead h3,.calendar-aside h3{
  margin:10px 0 8px;
  font-family:Cinzel,serif;
  font-size:30px;
  font-weight:500;
}
.calendar-subhead p,.calendar-aside p{margin:0;color:#c7d0d8;line-height:1.8}
.calendar-subpill{
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid rgba(221,189,130,.18);
  background:rgba(14,24,36,.78);
  color:#e2ca9f;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.calendar-timeline{
  padding:32px;
  border:1px solid rgba(221,189,130,.16);
  background:linear-gradient(180deg, rgba(13,23,35,.76), rgba(8,15,24,.9));
  box-shadow:0 18px 44px rgba(0,0,0,.2);
}
.timeline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.timeline-phase{
  align-items:flex-start;
  text-align:left;
  gap:10px;
  min-height:100%;
  padding:22px 18px;
}
.timeline-phase img{width:62px;height:62px}
.timeline-phase strong{font-size:22px;line-height:1.2}
.timeline-copy{display:block;color:#b8c1cb;font-size:13px;line-height:1.7;min-height:68px}
.timeline-status{
  display:inline-flex;
  align-items:center;
  margin-top:auto;
  padding-top:3px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#dac08f;
}

.calendar-aside{
  padding:30px;
  border:1px solid rgba(221,189,130,.16);
  background:linear-gradient(180deg, rgba(15,27,39,.86), rgba(8,15,24,.96));
  box-shadow:0 18px 44px rgba(0,0,0,.2);
}
.calendar-aside-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:26px 0;
}
.calendar-aside-grid div{
  padding:18px 16px;
  border:1px solid rgba(221,189,130,.14);
  background:rgba(255,255,255,.015);
}
.calendar-aside-grid strong{display:block;font-family:Cinzel,serif;font-size:32px;font-weight:500;color:#f4e2be}
.calendar-aside-grid span{display:block;margin-top:6px;color:#bfc8d1;font-size:12px;line-height:1.45}
.calendar-aside-note{
  padding:18px 18px;
  border-left:2px solid rgba(221,189,130,.45);
  background:rgba(221,189,130,.06);
  color:#d6dde3;
  font-size:13px;
  line-height:1.8;
}
.calendar-stats{margin-top:28px}
.notice{margin-top:20px}

@media(max-width:1080px){
  .calendar-ribbon{grid-template-columns:1fr}
  .calendar-overview{grid-template-columns:1fr}
}
@media(max-width:700px){
  .calendar-timeline,.calendar-aside{padding:24px}
  .calendar-subhead{flex-direction:column;align-items:flex-start}
  .timeline-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .calendar-premium{padding-top:68px}
  .calendar-ribbon-card strong{font-size:24px}
  .calendar-subhead h3,.calendar-aside h3{font-size:24px}
  .timeline-phase strong{font-size:19px}
  .timeline-copy{min-height:0}
  .calendar-aside-grid{grid-template-columns:1fr}
}

/* Calendar redesign without wheel */
.calendar-showcase{
  position:relative;
  overflow:hidden;
  padding:30px;
  margin-bottom:34px;
  border:1px solid rgba(221,189,130,.18);
  background:linear-gradient(180deg, rgba(13,23,35,.84), rgba(8,15,24,.96));
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.calendar-showcase::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right, rgba(255,255,255,.03), transparent 28%);
  pointer-events:none;
}
.calendar-showcase-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  margin-bottom:24px;
}
.calendar-showcase-head h3{margin:10px 0 8px;font-family:Cinzel,serif;font-size:34px;font-weight:500}
.calendar-showcase-head p{margin:0;color:#c7d0d8;line-height:1.8;max-width:820px}
.calendar-cycle-badge{
  flex:0 0 auto;
  min-width:180px;
  text-align:center;
  padding:16px 18px;
  border:1px solid rgba(221,189,130,.18);
  background:linear-gradient(180deg, rgba(17,31,45,.9), rgba(8,15,24,.95));
}
.calendar-cycle-badge span,.calendar-cycle-badge small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#d5bc8e}
.calendar-cycle-badge strong{display:block;font-family:Cinzel,serif;font-size:48px;line-height:1;color:#f5e2bc;margin:8px 0 6px}

.season-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:22px;
}
.season-tab{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  text-align:left;
  border:1px solid rgba(221,189,130,.14);
  background:linear-gradient(180deg, rgba(18,31,46,.7), rgba(9,17,26,.82));
  color:var(--txt);
  transition:border-color .2s, transform .2s, box-shadow .2s, background .2s;
}
.season-tab:hover,.season-tab.selected{transform:translateY(-2px);border-color:rgba(221,189,130,.38);box-shadow:0 12px 26px rgba(0,0,0,.18)}
.season-tab-badge{width:64px;height:64px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.05), transparent 70%)}
.season-tab-badge img{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.season-tab-copy strong{display:block;font-family:Cinzel,serif;font-size:24px;font-weight:500;letter-spacing:.02em}
.season-tab-copy small{display:block;margin-top:5px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#d9c191}

.calendar-detail-wide{
  position:relative;
  padding:28px;
  border:1px solid rgba(221,189,130,.16);
  background:linear-gradient(180deg, rgba(17,30,44,.84), rgba(9,18,28,.95));
}
.calendar-detail-wide::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(255,255,255,.02), transparent 38%);pointer-events:none}
.calendar-detail-hero{display:flex;align-items:center;gap:18px}
.calendar-detail-main{flex:1}
.calendar-detail-main h3{margin:8px 0 6px;font-family:Cinzel,serif;font-size:42px;font-weight:500;letter-spacing:.02em}
.calendar-detail-main p{margin:0;color:var(--season-accent,var(--gold));font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.calendar-detail-pill{
  flex:0 0 auto;
  align-self:flex-start;
  padding:12px 14px;
  border:1px solid rgba(221,189,130,.18);
  background:rgba(255,255,255,.02);
  color:#f0dcc0;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.calendar-detail-body{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:24px;
  align-items:start;
}
.calendar-detail-description p{margin:0;color:#dde3e9;line-height:1.9;font-size:16px}
.calendar-season-note{
  margin-top:18px;
  padding:16px 18px;
  border-left:2px solid rgba(221,189,130,.38);
  background:rgba(255,255,255,.025);
  color:#c4ccd4;
  line-height:1.8;
  font-size:13px;
}
.calendar-detail-meta{
  grid-template-columns:1fr;
  gap:12px;
  margin-top:0;
}
.calendar-detail-meta div{padding:18px 16px;background:rgba(255,255,255,.018)}
.calendar-detail-meta span{font-size:9px;font-weight:700;letter-spacing:.18em}
.calendar-detail-meta strong{font-size:15px}
.calendar-season-foot{margin-top:18px}

.calendar-showcase.season-theme-autumn{background:linear-gradient(180deg, rgba(22,24,28,.92), rgba(10,15,21,.98)); box-shadow:0 18px 44px rgba(0,0,0,.22), inset 0 0 120px rgba(173,101,44,.05)}
.calendar-showcase.season-theme-winter{background:linear-gradient(180deg, rgba(14,23,35,.92), rgba(8,15,24,.98)); box-shadow:0 18px 44px rgba(0,0,0,.22), inset 0 0 120px rgba(109,166,210,.05)}
.calendar-showcase.season-theme-spring{background:linear-gradient(180deg, rgba(19,23,25,.92), rgba(10,15,19,.98)); box-shadow:0 18px 44px rgba(0,0,0,.22), inset 0 0 120px rgba(189,197,140,.05)}
.calendar-showcase.season-theme-summer{background:linear-gradient(180deg, rgba(25,21,16,.92), rgba(11,13,16,.98)); box-shadow:0 18px 44px rgba(0,0,0,.22), inset 0 0 120px rgba(222,170,77,.05)}
.calendar-detail-wide.season-theme-autumn{--season-accent:#d99349}
.calendar-detail-wide.season-theme-winter{--season-accent:#9fc8e8}
.calendar-detail-wide.season-theme-spring{--season-accent:#d7d0a0}
.calendar-detail-wide.season-theme-summer{--season-accent:#e0b458}

@media(max-width:1080px){
  .calendar-showcase-head{flex-direction:column}
  .season-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calendar-detail-body{grid-template-columns:1fr}
}
@media(max-width:700px){
  .calendar-showcase{padding:24px}
  .season-tabs{grid-template-columns:1fr}
  .calendar-detail-hero{flex-wrap:wrap;align-items:flex-start}
  .calendar-detail-main h3{font-size:32px}
  .calendar-cycle-badge strong{font-size:40px}
}
@media(max-width:560px){
  .calendar-showcase-head h3{font-size:26px}
  .season-tab{padding:14px}
  .season-tab-copy strong{font-size:20px}
  .calendar-detail-wide{padding:22px}
  .calendar-detail-main h3{font-size:26px}
}

/* Calendar overlap fixes and final polish */
.calendar-showcase{padding:34px 34px 30px}
.calendar-showcase-head{align-items:center}
.calendar-showcase-head h3{font-size:30px;line-height:1.15;max-width:700px}
.calendar-showcase-head p{max-width:760px}
.calendar-cycle-badge{min-width:156px;padding:14px 16px}
.calendar-cycle-badge strong{font-size:42px}

.season-tabs{gap:12px}
.season-tab{min-height:96px;padding:15px 16px}
.season-tab-copy{min-width:0}
.season-tab-copy strong{font-size:20px;line-height:1.1}
.season-tab-copy small{font-size:10px;line-height:1.3}

.calendar-detail-wide{padding:30px 30px 24px}
.calendar-detail-hero{
  display:grid;
  grid-template-columns:112px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
}
.calendar-detail-badge{
  width:112px;
  height:112px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle, rgba(255,255,255,.06), transparent 70%);
  border:1px solid rgba(221,189,130,.14);
  overflow:hidden;
}
.calendar-detail-badge img{
  width:96px;
  height:96px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
}
.calendar-detail-main{min-width:0}
.calendar-detail-main .eyebrow{margin-bottom:8px}
.calendar-detail-main h3{
  margin:0;
  font-size:52px;
  line-height:1.02;
  overflow-wrap:anywhere;
}
.calendar-detail-main p{
  margin-top:10px;
  font-size:12px;
  line-height:1.35;
}
.calendar-detail-pill{
  justify-self:end;
  align-self:start;
  white-space:nowrap;
  margin-top:2px;
}
.calendar-rule{margin:20px 0 24px}
.calendar-detail-body{
  grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);
  gap:20px;
}
.calendar-detail-description p{
  font-size:18px;
  line-height:1.85;
  margin:0;
}
.calendar-season-note{
  margin-top:18px;
  padding:16px 18px;
  font-size:14px;
}
.calendar-detail-meta{display:grid;grid-template-columns:1fr;gap:10px}
.calendar-detail-meta div{min-height:88px;display:flex;flex-direction:column;justify-content:center}
.calendar-detail-meta strong{line-height:1.35}
.calendar-season-foot{margin-top:18px;font-size:12px;line-height:1.7}

.calendar-subhead h3,.calendar-aside h3{line-height:1.1}
.timeline-phase{min-height:250px}
.timeline-copy{min-height:76px}
.calendar-aside{padding:28px}
.calendar-aside-grid strong{line-height:1}

@media(max-width:1080px){
  .calendar-detail-hero{grid-template-columns:96px minmax(0,1fr);}
  .calendar-detail-pill{justify-self:start;grid-column:2;}
}
@media(max-width:700px){
  .calendar-showcase{padding:24px 22px}
  .calendar-showcase-head h3{font-size:26px}
  .calendar-detail-wide{padding:24px 22px}
  .calendar-detail-hero{grid-template-columns:82px 1fr;gap:14px}
  .calendar-detail-badge{width:82px;height:82px}
  .calendar-detail-badge img{width:70px;height:70px}
  .calendar-detail-main h3{font-size:36px}
  .calendar-detail-main p{font-size:11px}
  .calendar-detail-description p{font-size:16px}
  .calendar-detail-pill{grid-column:1 / -1;justify-self:start;margin-top:4px}
  .timeline-phase{min-height:0}
  .timeline-copy{min-height:0}
}
@media(max-width:560px){
  .season-tab{min-height:auto;padding:14px}
  .season-tab-copy strong{font-size:18px}
  .calendar-cycle-badge{width:100%;min-width:0}
  .calendar-detail-main h3{font-size:28px}
  .calendar-detail-description p{font-size:15px}
  .calendar-season-note{font-size:13px;padding:14px 15px}
}

/* Final calendar design: clean tabs, readable season panel, balanced timeline */
.calendar-premium .container{max-width:1220px}
.calendar-ribbon{margin-bottom:28px}
.calendar-ribbon-card{border-radius:3px}
.calendar-showcase{--season-accent:#d99349;padding:clamp(20px,3vw,38px);border-radius:4px;margin-bottom:30px;border-color:rgba(221,189,130,.22)}
.calendar-showcase.season-theme-autumn{--season-accent:#df9b56}
.calendar-showcase.season-theme-winter{--season-accent:#a5ccef}
.calendar-showcase.season-theme-spring{--season-accent:#d9d7a2}
.calendar-showcase.season-theme-summer{--season-accent:#ecc16d}
.calendar-showcase::after{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--season-accent),transparent);opacity:.65;pointer-events:none}
.calendar-showcase-head{position:relative;z-index:1;gap:24px}
.calendar-showcase-head h3{font-size:clamp(24px,2.6vw,34px);line-height:1.2}
.calendar-cycle-badge{border-radius:3px}
.season-tabs{position:relative;z-index:1;gap:12px}
.season-tab{position:relative;isolation:isolate;min-width:0;min-height:92px;border-radius:3px;padding:14px 12px;gap:11px;transform:none!important}
.season-tab::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--season-accent);opacity:0;transition:opacity .2s}
.season-tab.selected{background:linear-gradient(150deg,rgba(47,56,64,.75),rgba(13,24,35,.92));border-color:var(--season-accent);box-shadow:inset 0 0 22px rgba(220,180,120,.07)}
.season-tab.selected::after{opacity:1}
.season-tab:hover{border-color:rgba(231,197,140,.45)}
.season-tab:focus-visible,.timeline-phase:focus-visible{outline:2px solid #edd6aa;outline-offset:3px}
.season-tab-badge{width:54px;height:54px}
.season-tab-badge img{width:54px;height:54px}
.season-tab-copy{min-width:0}
.season-tab-copy strong{font-size:clamp(15px,1.45vw,20px);line-height:1.15;white-space:normal}
.season-tab-copy small{font-size:10px;line-height:1.35}
.calendar-detail-wide{padding:clamp(20px,2.7vw,34px);border-radius:4px;background:linear-gradient(120deg,rgba(19,33,45,.95),rgba(8,17,28,.98))}
.calendar-detail-hero{display:grid;grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:22px;min-width:0}
.calendar-detail-wide .calendar-detail-badge{position:static;width:94px;height:94px;overflow:visible;flex:none;border:1px solid rgba(221,189,130,.18);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.055),transparent 70%)}
.calendar-detail-wide .calendar-detail-badge img{position:static;width:82px;height:82px;max-width:100%;max-height:100%;display:block;object-fit:contain;transform:none;filter:drop-shadow(0 7px 15px #0008)}
.calendar-detail-main{min-width:0;position:relative}
.calendar-detail-main h3{font-size:clamp(27px,3.5vw,44px);line-height:1.18;margin:7px 0 5px;overflow-wrap:normal}
.calendar-detail-main p{margin:0;line-height:1.5}
.calendar-detail-pill{align-self:center;justify-self:end;max-width:100%;white-space:normal;line-height:1.5}
.calendar-detail-wide .calendar-rule{margin:24px 0}
.calendar-detail-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(20px,3vw,36px);align-items:start}
.calendar-detail-description,.calendar-detail-meta{min-width:0}
.calendar-detail-description p{font-size:clamp(15px,1.4vw,17px);line-height:1.8}
.calendar-season-note{line-height:1.75}
.calendar-detail-meta{display:grid;grid-template-columns:1fr;margin:0}
.calendar-detail-meta div{min-height:72px;padding:13px 16px}
.calendar-detail-meta strong{overflow-wrap:anywhere}
.calendar-season-foot{border-top:1px solid rgba(221,189,130,.12);padding-top:16px}
.calendar-overview{grid-template-columns:minmax(0,1.38fr) minmax(290px,.72fr);gap:20px}
.calendar-timeline,.calendar-aside{min-width:0;border-radius:3px}
.calendar-subhead{align-items:flex-start;flex-wrap:wrap}
.calendar-subpill{white-space:normal;line-height:1.5}
.timeline-grid{gap:14px}
.timeline-phase{min-height:230px;padding:20px;border-radius:3px;transform:none!important}
.timeline-phase.selected{border-color:rgba(221,189,130,.65)}
.timeline-copy{min-height:0}
.calendar-aside-grid{gap:10px}
.calendar-aside-grid div{min-width:0}
.calendar-aside-grid strong{font-size:29px}
.calendar-stats{display:none}
@media(max-width:1120px){.calendar-overview{grid-template-columns:1fr}.calendar-detail-body{grid-template-columns:minmax(0,1fr) minmax(240px,.8fr)}}
@media(max-width:850px){.calendar-showcase-head{flex-direction:column;align-items:flex-start}.season-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-detail-body{grid-template-columns:1fr}.calendar-detail-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-detail-meta div{min-height:82px}.calendar-detail-hero{grid-template-columns:82px minmax(0,1fr)}.calendar-detail-wide .calendar-detail-badge{width:82px;height:82px}.calendar-detail-wide .calendar-detail-badge img{width:72px;height:72px}.calendar-detail-pill{grid-column:2;justify-self:start}}
@media(max-width:590px){.calendar-showcase{padding:18px}.calendar-showcase-head h3{font-size:24px}.calendar-cycle-badge{min-width:0;width:100%}.season-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.season-tab{flex-direction:column;align-items:center;text-align:center;gap:5px;padding:12px 6px;min-height:126px}.season-tab-copy strong{font-size:15px}.season-tab-copy small{font-size:9px}.calendar-detail-wide{padding:18px}.calendar-detail-hero{grid-template-columns:68px minmax(0,1fr);gap:12px}.calendar-detail-wide .calendar-detail-badge{width:68px;height:68px}.calendar-detail-wide .calendar-detail-badge img{width:60px;height:60px}.calendar-detail-main h3{font-size:26px;overflow-wrap:anywhere}.calendar-detail-main .eyebrow{font-size:9px}.calendar-detail-meta{grid-template-columns:1fr}.calendar-detail-pill{grid-column:1/-1}.calendar-timeline,.calendar-aside{padding:18px}.timeline-grid{grid-template-columns:1fr}.timeline-phase{min-height:0}}
@media(prefers-reduced-motion:reduce){.season-tab,.season-tab::after,.timeline-phase{transition:none}}

/* Calendar de-duplicated summary section */
.calendar-summary{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
  gap:22px;
  margin-top:30px;
}
.calendar-summary-card{
  padding:28px 30px;
  border:1px solid rgba(221,189,130,.16);
  background:linear-gradient(180deg, rgba(13,23,35,.76), rgba(8,15,24,.9));
  box-shadow:0 18px 44px rgba(0,0,0,.2);
}
.calendar-summary-card h3{
  margin:10px 0 8px;
  font-family:Cinzel,serif;
  font-size:30px;
  font-weight:500;
  line-height:1.1;
}
.calendar-summary-card>p{
  margin:0 0 22px;
  color:#c7d0d8;
  line-height:1.8;
  max-width:760px;
}
.calendar-phase-list{display:grid;gap:12px}
.calendar-phase-item{
  display:grid;
  grid-template-columns:58px minmax(140px,.8fr) minmax(150px,1fr) auto;
  align-items:center;
  gap:16px;
  width:100%;
  padding:16px 18px;
  text-align:left;
  color:var(--txt);
  border:1px solid rgba(221,189,130,.14);
  background:linear-gradient(180deg, rgba(18,31,46,.68), rgba(9,17,26,.82));
  transition:border-color .2s, background .2s, box-shadow .2s;
}
.calendar-phase-item:hover,.calendar-phase-item.selected{
  border-color:rgba(221,189,130,.36);
  background:linear-gradient(180deg, rgba(24,40,59,.74), rgba(11,19,29,.9));
  box-shadow:0 10px 22px rgba(0,0,0,.16);
}
.calendar-phase-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle, rgba(255,255,255,.05), transparent 70%)}
.calendar-phase-icon img{width:54px;height:54px;object-fit:contain;display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.32))}
.calendar-phase-main strong{display:block;font-family:Cinzel,serif;font-size:24px;font-weight:500;line-height:1.05}
.calendar-phase-main small{display:block;margin-top:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#d8bf90}
.calendar-phase-role{font-size:14px;line-height:1.55;color:#d9e1e7}
.calendar-phase-state{justify-self:end;padding:8px 12px;border:1px solid rgba(221,189,130,.16);background:rgba(255,255,255,.02);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ecd8b0}
.calendar-aside.compact h3{margin-bottom:12px}
.calendar-note{margin-top:22px}

@media(max-width:1080px){
  .calendar-summary{grid-template-columns:1fr}
}
@media(max-width:760px){
  .calendar-summary-card{padding:24px}
  .calendar-summary-card h3{font-size:26px}
  .calendar-phase-item{grid-template-columns:52px minmax(0,1fr);gap:14px}
  .calendar-phase-role{grid-column:2}
  .calendar-phase-state{grid-column:2;justify-self:start}
}
@media(max-width:560px){
  .calendar-summary-card{padding:20px 18px}
  .calendar-phase-item{padding:14px}
  .calendar-phase-main strong{font-size:20px}
  .calendar-phase-role{font-size:13px}
}


/* House-specific hero backgrounds */
.house-hero.house-theme-red::before{
  background:
    linear-gradient(90deg,rgba(5,11,20,.97),rgba(5,11,20,.78) 44%,rgba(5,11,20,.42)),
    linear-gradient(0deg,#08111a,transparent 72%),
    url('assets/bg-house-grifondoro.webp') center center/cover no-repeat;
}
.house-hero.house-theme-green::before{
  background:
    linear-gradient(90deg,rgba(5,11,20,.97),rgba(5,11,20,.78) 44%,rgba(5,11,20,.42)),
    linear-gradient(0deg,#08111a,transparent 72%),
    url('assets/bg-house-serpeverde.webp') center center/cover no-repeat;
}
.house-hero.house-theme-blue::before{
  background:
    linear-gradient(90deg,rgba(5,11,20,.97),rgba(5,11,20,.78) 44%,rgba(5,11,20,.42)),
    linear-gradient(0deg,#08111a,transparent 72%),
    url('assets/bg-house-corvonero.webp') center center/cover no-repeat;
}
.house-hero.house-theme-yellow::before{
  background:
    linear-gradient(90deg,rgba(5,11,20,.97),rgba(5,11,20,.78) 44%,rgba(5,11,20,.42)),
    linear-gradient(0deg,#08111a,transparent 72%),
    url('assets/bg-house-tassorosso.webp') center center/cover no-repeat;
}

.house-detail.house-theme-red{
  background:
    radial-gradient(ellipse at 85% 15%,rgba(var(--house-rgb),.09),transparent 45%),
    linear-gradient(180deg, rgba(8,17,26,.94), rgba(8,17,26,.98)),
    url('assets/bg-house-grifondoro.webp') center top/cover no-repeat;
  background-blend-mode: normal, normal, overlay;
}
.house-detail.house-theme-green{
  background:
    radial-gradient(ellipse at 85% 15%,rgba(var(--house-rgb),.09),transparent 45%),
    linear-gradient(180deg, rgba(8,17,26,.94), rgba(8,17,26,.98)),
    url('assets/bg-house-serpeverde.webp') center top/cover no-repeat;
  background-blend-mode: normal, normal, overlay;
}
.house-detail.house-theme-blue{
  background:
    radial-gradient(ellipse at 85% 15%,rgba(var(--house-rgb),.09),transparent 45%),
    linear-gradient(180deg, rgba(8,17,26,.94), rgba(8,17,26,.98)),
    url('assets/bg-house-corvonero.webp') center top/cover no-repeat;
  background-blend-mode: normal, normal, overlay;
}
.house-detail.house-theme-yellow{
  background:
    radial-gradient(ellipse at 85% 15%,rgba(var(--house-rgb),.09),transparent 45%),
    linear-gradient(180deg, rgba(8,17,26,.94), rgba(8,17,26,.98)),
    url('assets/bg-house-tassorosso.webp') center top/cover no-repeat;
  background-blend-mode: normal, normal, overlay;
}


/* House pages visual refinement */
.house-hero .button.primary{
  background:linear-gradient(180deg, color-mix(in srgb, var(--house-accent) 72%, #f1d39a 28%), color-mix(in srgb, var(--house-accent) 90%, #111 10%));
  border-color:rgba(var(--house-rgb),.75);
  color:#fff7ea;
  box-shadow:0 10px 26px rgba(var(--house-rgb),.24);
}
.house-hero .button.primary:hover{
  background:linear-gradient(180deg, color-mix(in srgb, var(--house-accent) 82%, #fff0cb 18%), color-mix(in srgb, var(--house-accent) 92%, #111 8%));
  color:#fffdf8;
}
.house-hero-mark{
  border:1px solid rgba(var(--house-rgb),.22);
  border-radius:50%;
  box-shadow:inset 0 0 26px rgba(var(--house-rgb),.08), 0 0 34px rgba(var(--house-rgb),.14);
}
.house-story-crest{
  border-color:rgba(var(--house-rgb),.24);
  box-shadow:inset 0 0 30px rgba(var(--house-rgb),.05), 0 18px 44px rgba(0,0,0,.22);
}
.house-detail{
  position:relative;
  overflow:hidden;
}
.house-detail::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(6,12,19,.18), rgba(6,12,19,.68));
}
.house-detail .container{position:relative;z-index:1}
.house-roleplay{
  border-top-color:rgba(var(--house-rgb),.18);
}
.house-related-card{
  border-color:rgba(var(--house-rgb),.12);
}
.house-related-card:hover{
  border-color:rgba(var(--house-rgb),.34);
}
.house-theme-red .house-hero::after{
  background:
    radial-gradient(ellipse at 82% 36%, rgba(183,69,66,.32), transparent 42%),
    radial-gradient(circle at 70% 82%, rgba(255,133,73,.10), transparent 18%);
}
.house-theme-green .house-hero::after{
  background:
    radial-gradient(ellipse at 82% 36%, rgba(57,157,121,.28), transparent 42%),
    radial-gradient(circle at 72% 82%, rgba(125,213,176,.10), transparent 18%);
}
.house-theme-blue .house-hero::after{
  background:
    radial-gradient(ellipse at 82% 36%, rgba(86,140,197,.30), transparent 42%),
    radial-gradient(circle at 72% 82%, rgba(130,180,245,.10), transparent 18%);
}
.house-theme-yellow .house-hero::after{
  background:
    radial-gradient(ellipse at 82% 36%, rgba(202,163,67,.26), transparent 42%),
    radial-gradient(circle at 72% 82%, rgba(250,220,133,.10), transparent 18%);
}
.house-theme-red .trait-list span,
.house-theme-red .house-roleplay blockquote{box-shadow:0 0 0 1px rgba(183,69,66,.06)}
.house-theme-green .trait-list span,
.house-theme-green .house-roleplay blockquote{box-shadow:0 0 0 1px rgba(57,157,121,.06)}
.house-theme-blue .trait-list span,
.house-theme-blue .house-roleplay blockquote{box-shadow:0 0 0 1px rgba(86,140,197,.06)}
.house-theme-yellow .trait-list span,
.house-theme-yellow .house-roleplay blockquote{box-shadow:0 0 0 1px rgba(202,163,67,.06)}
.house-theme-red .house-story-crest img{filter:drop-shadow(0 15px 28px rgba(183,69,66,.24)) drop-shadow(0 10px 24px rgba(0,0,0,.55))}
.house-theme-green .house-story-crest img{filter:drop-shadow(0 15px 28px rgba(57,157,121,.24)) drop-shadow(0 10px 24px rgba(0,0,0,.55))}
.house-theme-blue .house-story-crest img{filter:drop-shadow(0 15px 28px rgba(86,140,197,.24)) drop-shadow(0 10px 24px rgba(0,0,0,.55))}
.house-theme-yellow .house-story-crest img{filter:drop-shadow(0 15px 28px rgba(202,163,67,.24)) drop-shadow(0 10px 24px rgba(0,0,0,.55))}


/* House lore: complete editorial pages */
.house-hat-quote { text-align:center;max-width:900px;margin:0 auto 85px;padding:35px 20px 42px;border-top:1px solid rgba(218,178,116,.3);border-bottom:1px solid rgba(218,178,116,.2); }
.house-hat-quote blockquote { margin:27px auto 0;max-width:740px;font:italic clamp(20px,2.5vw,32px)/1.65 Georgia,serif;color:#f0d8b9; }
.house-hat-quote blockquote span { display:block; }
.house-editorial { display:grid;grid-template-columns:minmax(0,1.45fr) minmax(275px,.65fr);gap:26px;scroll-margin-top:110px;align-items:start; }
.house-story-panel,.house-traits-panel { border:1px solid rgba(var(--house-rgb),.26);padding:clamp(24px,3vw,44px);background:linear-gradient(150deg,rgba(23,35,48,.92),rgba(9,17,27,.96));box-shadow:0 20px 45px #0003;min-width:0; }
.house-editorial h2,.house-curiosities h2 {font:500 clamp(25px,3vw,39px)/1.25 Cinzel,serif;margin:12px 0 24px;color:#f4e6d2;}
.house-story-panel p,.house-traits-panel p {font-size:15px;line-height:1.95;color:#d4dbe4;margin:0 0 18px;}
.house-story-panel p:last-child,.house-traits-panel p:last-child {margin-bottom:0;}
.house-traits-panel {text-align:center;}
.house-traits-panel img {display:block;width:clamp(100px,13vw,170px);height:170px;object-fit:contain;margin:0 auto 25px;filter:drop-shadow(0 12px 22px #0009);}
.house-curiosities {margin-top:70px;}
.house-fact-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.house-fact {display:flex;gap:20px;align-items:start;padding:25px 24px;border:1px solid rgba(var(--house-rgb),.22);background:linear-gradient(150deg,rgba(21,32,44,.86),rgba(8,17,26,.95));min-width:0;}
.house-fact>span {font:500 24px Cinzel,serif;color:var(--house-accent);opacity:.9;}
.house-fact p {margin:0;font-size:14px;line-height:1.9;color:#d3dbe3;}
@media(max-width:850px){.house-editorial{grid-template-columns:1fr}.house-fact-list{grid-template-columns:1fr}.house-hat-quote{margin-bottom:55px}.house-curiosities{margin-top:55px}}
@media(max-width:600px){.house-hat-quote blockquote{font-size:19px}.house-hat-quote blockquote span{display:block}.house-fact{padding:20px 18px}.house-fact>span{font-size:19px}}

/* Lore di gioco: chapter-ready narrative layout */
.lore-hero{position:relative;isolation:isolate;min-height:390px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.lore-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,15,24,.94),rgba(7,15,24,.63) 55%,rgba(7,15,24,.44)),linear-gradient(0deg,#08111a,transparent 74%),url('assets/bg-path-castle.webp') center 45%/cover no-repeat}
.lore-hero .container{width:100%;padding-block:74px}
.lore-hero h1{font:500 clamp(48px,6vw,82px)/1.15 Cinzel,serif;letter-spacing:.055em;margin:16px 0;color:#f5efe5}
.lore-rule{margin:22px 0}
.lore-hero p{max-width:620px;color:#d8e0e6;font-size:16px;line-height:1.85}
.lore-archive{background:radial-gradient(ellipse at 74% 20%,rgba(168,129,64,.07),transparent 55%),var(--bg)}
.lore-book{max-width:970px;margin:auto;padding:clamp(26px,5vw,70px);border:1px solid rgba(218,178,116,.28);background:linear-gradient(145deg,rgba(21,33,46,.93),rgba(8,16,26,.97));box-shadow:0 26px 60px rgba(0,0,0,.27)}
.lore-book-symbol{font-family:Cinzel,serif;font-size:28px;color:var(--gold);margin-bottom:16px}
.lore-book h2{font:500 clamp(25px,3.4vw,43px)/1.25 Cinzel,serif;margin:14px 0 18px}
.lore-book p{font-size:15px;line-height:1.95;color:#d1d7dd}
.lore-pending{border-left:2px solid var(--gold2);background:rgba(218,178,116,.055);margin:28px 0;padding:18px 24px}
.lore-pending strong{font-family:Cinzel,serif;font-size:15px;color:#eed8b3}
.lore-pending p{font-size:13px;margin:8px 0 0}
@media(max-width:1100px){.desktop-nav{gap:10px}.desktop-nav a{font-size:10.5px}}

/* Lore pubblica — archivio editoriale Nectum Legacy */
.lore-hero{min-height:470px}
.lore-hero::before{background:linear-gradient(90deg,rgba(6,13,23,.95),rgba(6,13,23,.72) 55%,rgba(6,13,23,.36)),linear-gradient(0deg,#08111a,transparent 70%),url('assets/bg-castle-moon.webp') center 50%/cover no-repeat}
.lore-hero h1{font-size:clamp(43px,5.3vw,76px);max-width:900px}
.lore-public-shell{max-width:1220px}
.lore-opening{text-align:center;max-width:800px;margin:0 auto 64px}
.lore-opening h2{font:500 clamp(26px,3.3vw,43px)/1.25 Cinzel,serif;margin:16px 0}
.lore-opening p{color:#cdd7df;line-height:1.85;font-size:15px}
.lore-public-layout{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);gap:32px;align-items:start}
.lore-sidebar-inner{position:sticky;top:110px;padding:30px 24px;border:1px solid rgba(218,178,116,.2);background:linear-gradient(145deg,rgba(20,32,46,.94),rgba(10,19,31,.98))}
.lore-sidebar h3{font:500 22px/1.3 Cinzel,serif;margin:12px 0 27px}
.lore-time-nav{display:grid;gap:17px;position:relative;padding-left:18px;border-left:1px solid rgba(218,178,116,.24)}
.lore-event{display:flex;flex-direction:column;gap:4px;position:relative}
.lore-event::before{content:"";position:absolute;left:-22px;top:6px;width:7px;height:7px;border-radius:50%;background:#caa66e;box-shadow:0 0 8px #caa66e66}
.lore-event strong{font:500 16px Cinzel,serif;color:var(--gold-soft)}
.lore-event span{color:#c4ccd4;font-size:13px;line-height:1.5}
.lore-sidebar-sep{height:1px;background:var(--line);margin:30px 0}
.lore-chapter-link{width:100%;display:flex;text-align:left;align-items:baseline;gap:12px;background:none;border:0;border-bottom:1px solid rgba(218,178,116,.1);padding:14px 0;color:#d9e0e5;font-size:13px;line-height:1.5}
.lore-chapter-link:hover,.lore-chapter-link:focus-visible{color:var(--gold-soft)}
.lore-chapter-link span{font:500 12px Cinzel,serif;color:var(--gold)}
.lore-chapters{min-width:0}
.lore-chapter{scroll-margin-top:105px;border:1px solid rgba(218,178,116,.22);padding:clamp(26px,4.8vw,64px);margin-bottom:24px;background:linear-gradient(145deg,rgba(22,35,48,.92),rgba(9,18,29,.97));box-shadow:0 18px 43px #0003}
.lore-chapter-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid rgba(218,178,116,.2)}
.lore-chapter-num{font-size:11px;color:#d9c093;letter-spacing:.22em}
.lore-chapter-era{font:500 20px Cinzel,serif;color:var(--gold-soft)}
.lore-chapter h2{font:500 clamp(27px,3.2vw,40px)/1.25 Cinzel,serif;margin:14px 0 28px}
.lore-chapter p{color:#d1d9df;font-size:15px;line-height:2;margin:0 0 21px}
.lore-next{margin-top:20px;padding:15px 0;background:none;border:0;border-top:1px solid var(--line);color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.12em;display:flex;justify-content:space-between;gap:20px;width:100%;text-align:left}
.lore-next:hover{color:var(--gold-soft)}
.lore-end{text-align:center;padding:64px 35px;border:1px solid var(--line);background:radial-gradient(circle at center,rgba(218,178,116,.06),rgba(8,15,25,.97) 70%)}
.lore-end-symbol{font-size:35px;color:var(--gold)}
.lore-end h2{font:500 clamp(24px,3vw,36px)/1.3 Cinzel,serif}
.lore-end p{color:#cdd6dc;line-height:1.85;max-width:580px;margin:0 auto 25px}
.lore-editorial-note{max-width:850px;margin:30px auto 0;color:#a6b0bc;font-size:12px;line-height:1.7;text-align:center}
@media(max-width:900px){.lore-public-layout{grid-template-columns:1fr}.lore-sidebar-inner{position:static}.lore-sidebar{order:0}.lore-chapters{order:1}.lore-chapter-link{display:inline-flex;width:auto;margin-right:14px}}
@media(max-width:600px){.lore-hero{min-height:400px}.lore-opening{margin-bottom:36px}.lore-chapter{scroll-margin-top:85px}.lore-chapter p{font-size:14px;line-height:1.9}.lore-sidebar-inner{padding:22px}.lore-end{padding:42px 20px}}


/* Typography refinement */
body{letter-spacing:.01em}
.eyebrow,
.desktop-nav a,
.mobile-nav a,
.login-link,
.button,
.hero-bottom,
.card-kicker,
.notice,
.footer-links a,
.rule summary,
.calendar-detail-meta span,
.calendar-ribbon-card span,
.calendar-phase-main small,
.timeline-range,
.timeline-status,
.calendar-detail-pill,
.calendar-cycle-badge span,
.calendar-cycle-badge small,
.season-tab-copy small,
.calendar-subpill,
.lore-chapter-num,
.lore-next,
.lore-event span,
.lore-chapter-link,
.house-fact > span,
.house-fact strong,
.hero-panel span,
.calendar-aside-note,
.credit,
.year-band span,
.brand small{font-family:var(--font-ui);}

.brand strong,
.hero h1,.page-title,
.section h2,.section-title,
.card h3,
.cta h2,
.sigil,
.house-hero h1,
.house-story-copy h2,
.house-roleplay h2,
.house-curiosities h2,
.house-hat-quote h2,
.house-fact-list strong,
.calendar-showcase-head h3,
.calendar-detail-main h3,
.calendar-summary-card h3,
.calendar-aside h3,
.lore-hero h1,
.lore-opening h2,
.lore-sidebar h3,
.lore-chapter h2,
.lore-end h2,
.lore-chapter-era,
.lore-book h2,
.calendar-phase-main strong,
.season-tab-copy strong,
.hero-panel strong,
.calendar-ribbon-card strong,
.calendar-aside-grid strong,
.calendar-cycle-badge strong,
.calendar-detail-meta strong,
.lore-event strong,
.footer-brand{font-family:var(--font-display);}

.hero p,
.section-head p,
.lede,
.card p,
.cta p,
.footer p,
.credit span,
.house-hero-intro,
.house-story-copy p,
.house-roleplay p,
.house-curiosities > p,
.house-fact p,
.house-roleplay blockquote,
.house-hat-quote blockquote,
.lore-hero p,
.lore-opening p,
.lore-book p,
.lore-pending p,
.lore-chapter p,
.lore-end p,
.calendar-showcase-head p,
.calendar-detail-description p,
.calendar-season-note,
.calendar-summary-card > p,
.calendar-aside p,
.notice,
.calendar-note,
.timeline-copy,
.calendar-ribbon-card small,
.calendar-aside-grid span,
.calendar-season-foot,
.calendar-phase-role{font-family:var(--font-editorial);}

.hero p,
.section-head p,
.lede,
.house-hero-intro,
.house-story-copy p,
.house-roleplay p,
.house-curiosities > p,
.house-fact p,
.lore-hero p,
.lore-opening p,
.lore-book p,
.lore-chapter p,
.lore-end p,
.calendar-showcase-head p,
.calendar-detail-description p,
.calendar-summary-card > p,
.calendar-aside p{font-size:clamp(17px,1.3vw,20px);line-height:1.72;letter-spacing:.01em;}

.timeline-copy,
.calendar-season-note,
.notice,
.calendar-note,
.calendar-season-foot,
.calendar-phase-role,
.calendar-ribbon-card small,
.calendar-aside-grid span,
.lore-pending p,
.credit span,
.footer p{font-size:clamp(15px,1.08vw,17px);line-height:1.75;}

.hero h1,.page-title,
.section h2,.section-title,
.house-hero h1,
.lore-hero h1{font-weight:600;letter-spacing:.05em;}
.section h2,.section-title,.page-title{letter-spacing:.06em}
.brand strong{font-weight:700}
.hero h1 span{font-family:var(--font-ui);font-weight:700;letter-spacing:.42em}

.house-hero-motto,
.house-hat-quote blockquote,
.house-roleplay blockquote{font-family:var(--font-editorial);font-style:italic;letter-spacing:.01em;}
.house-hero-motto{font-size:clamp(22px,2.7vw,34px);line-height:1.45;color:#f1dcc0;text-shadow:0 6px 20px rgba(0,0,0,.35)}
.house-hat-quote blockquote{font-size:clamp(24px,2.8vw,36px);line-height:1.6;max-width:780px}
.house-roleplay blockquote{font-size:clamp(22px,2vw,28px);line-height:1.75}

.lore-chapter p:first-of-type::first-letter,
.house-story-panel p:first-of-type::first-letter{font-family:var(--font-display);font-size:1.65em;line-height:1;color:var(--gold-soft);padding-right:.05em}

.button,
.login-link,
.desktop-nav a,
.mobile-nav a,
.rule summary,
.footer-links a{font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.desktop-nav a,.mobile-nav a,.footer-links a{font-size:11px}
.button{font-size:10.5px}

.hero-panel strong,
.calendar-ribbon-card strong,
.calendar-cycle-badge strong,
.calendar-aside-grid strong{font-weight:600}

.card h3,
.calendar-showcase-head h3,
.calendar-summary-card h3,
.calendar-aside h3,
.lore-opening h2,
.lore-chapter h2,
.house-story-copy h2,
.house-roleplay h2,
.house-curiosities h2{letter-spacing:.035em}

@media(max-width:700px){
  .hero p,
  .section-head p,
  .lede,
  .house-hero-intro,
  .house-story-copy p,
  .house-roleplay p,
  .house-curiosities > p,
  .house-fact p,
  .lore-hero p,
  .lore-opening p,
  .lore-book p,
  .lore-chapter p,
  .lore-end p,
  .calendar-showcase-head p,
  .calendar-detail-description p,
  .calendar-summary-card > p,
  .calendar-aside p{font-size:17px;line-height:1.68}
  .house-hat-quote blockquote{font-size:22px}
  .house-roleplay blockquote{font-size:20px}
}

/* Nectum Legacy — visual refinement v2 */
:root{--ink-bright:#f7eddf;--ink-body:#d9dfe5;--line-delicate:rgba(220,185,126,.18);--gold-gradient:linear-gradient(90deg,#9e7949,#f1d6a3,#9e7949)}
::selection{background:rgba(218,178,116,.35);color:#fff}
:where(a,button,input,textarea,select):focus-visible{outline:2px solid #f6deb0;outline-offset:4px}
.eyebrow{font-size:10px;letter-spacing:.24em;line-height:1.65;color:#dfbd86}
.section-head .eyebrow,.lore-opening .eyebrow{display:inline-flex;align-items:center;gap:12px}
.section-head .eyebrow::before,.section-head .eyebrow::after,.lore-opening .eyebrow::before,.lore-opening .eyebrow::after{content:"";display:block;width:24px;height:1px;background:linear-gradient(90deg,transparent,#cbab79)}
.section-head .eyebrow::after,.lore-opening .eyebrow::after{transform:rotate(180deg)}
.section-head h2,.section-title,.lore-opening h2{color:var(--ink-bright);text-wrap:balance;text-shadow:0 7px 30px #0004}
.section-head p{max-width:68ch;margin-inline:auto;color:#c5cbd4}
.section-head .accent-line,.page-intro .accent-line,.lore-rule{width:clamp(75px,10vw,118px);height:2px;border:0;background:var(--gold-gradient);box-shadow:0 0 18px #dab27430}
.page-intro .accent-line{margin:25px auto}
.page-title,.lore-hero h1,.house-hero h1{text-wrap:balance;text-shadow:0 2px 3px #050a10,0 15px 44px #000b}
.page-intro .lede,.lore-hero p,.house-hero-intro{color:#e1e6eb;max-width:66ch;text-wrap:pretty}
.hero h1{filter:drop-shadow(0 4px 22px #0005)}
.hero h1 span{color:#e7c488;text-shadow:0 3px 20px #080b1099}
.hero-content .eyebrow{color:#f0d29d}
.hero p{max-width:56ch;color:#e3e0db}
.brand small{letter-spacing:.43em}
.desktop-nav a{letter-spacing:.045em;font-size:11px;text-transform:none;font-weight:600}
.desktop-nav a.active{font-weight:700}
.mobile-nav a{letter-spacing:.08em;font-size:12px}
.button,.login-link{border-radius:2px;letter-spacing:.105em;transition:background .23s,color .23s,transform .23s,box-shadow .23s}
.button:hover,.login-link:hover{transform:translateY(-2px)}
.button.primary:hover{box-shadow:0 7px 26px #dab27433}
.card{border-color:var(--line-delicate);box-shadow:0 18px 52px #0004}
.card h3{font-size:clamp(18px,1.5vw,23px);line-height:1.4}
.card p{font-size:17px;line-height:1.72}
.card .text-link{font-family:var(--font-ui);letter-spacing:.11em;font-weight:700}
.house h3{font-size:26px}
.house p{font-size:17px}
.house-kicker,.house-copy,.house-action{font-family:var(--font-ui)}
.house-kicker{font-size:10px;letter-spacing:.14em}
.house-copy{font-size:12px;line-height:1.7}
.house-hero-motto{max-width:600px}
.house-hat-quote{position:relative;border-color:rgba(var(--house-rgb),.32)}
.house-hat-quote::before{content:"❧";position:absolute;top:-19px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:64px;height:36px;background:#09131e;color:var(--house-accent);font:30px var(--font-editorial)}
.house-hat-quote blockquote{color:#f3e4d0;text-shadow:0 6px 20px #0004}
.house-story-panel,.house-traits-panel{position:relative;overflow:hidden;border-color:rgba(var(--house-rgb),.25)}
.house-story-panel::before,.house-traits-panel::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--house-accent),transparent);opacity:.55}
.house-story-panel p,.house-traits-panel p{font-family:var(--font-editorial);font-size:clamp(17px,1.35vw,20px);line-height:1.75;color:var(--ink-body)}
.house-fact{position:relative;transition:border-color .2s,transform .2s}
.house-fact::after{content:"";position:absolute;left:24px;bottom:0;width:46px;height:2px;background:var(--house-accent);opacity:.6}
.house-fact:hover{border-color:rgba(var(--house-rgb),.5);transform:translateY(-2px)}
.house-fact p{font-family:var(--font-editorial);font-size:18px;line-height:1.7}
.house-fact>span{font-weight:600}
.lore-hero::after,.page-intro::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#e9c58588,transparent);pointer-events:none}
.lore-chapter{position:relative;overflow:hidden;border-color:#dab27433}
.lore-chapter::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#dab27422,#dab274aa,#dab27422)}
.lore-chapter p{max-width:74ch;font-family:var(--font-editorial);font-size:clamp(18px,1.34vw,21px);line-height:1.78;letter-spacing:.004em;color:#e0e1e1;text-wrap:pretty}
.lore-chapter p+p{margin-top:17px}
.lore-chapter-top{border-color:#dab27444}
.lore-chapter h2{color:#f5e5c9;text-wrap:balance}
.lore-chapter-era{color:#f1d4a3}
.lore-chapter-num{font-family:var(--font-ui);font-weight:700}
.lore-event strong{font-size:17px}
.lore-event span{font-family:var(--font-ui);font-size:12px;line-height:1.6}
.lore-sidebar-inner{box-shadow:0 20px 40px #0003}
.lore-chapter-link{border-radius:2px;transition:background .18s,color .18s,padding .18s}
.lore-chapter-link:hover,.lore-chapter-link:focus-visible{background:#dab27411;padding-left:8px}
.lore-opening p,.lore-end p{max-width:60ch;margin-inline:auto}
.calendar-showcase{border-color:#dab27440}
.calendar-showcase-head h3,.calendar-detail-main h3,.calendar-summary-card h3,.calendar-aside h3{color:#f4e8d8;text-wrap:balance}
.calendar-showcase-head p,.calendar-summary-card>p,.calendar-detail-description p,.calendar-aside p{color:#d8dce1}
.calendar-ribbon-card span,.calendar-detail-meta span,.calendar-phase-main small,.calendar-cycle-badge span{font-family:var(--font-ui);font-size:10px;letter-spacing:.16em}
.calendar-ribbon-card strong{letter-spacing:0;font-size:clamp(20px,2vw,28px)}
.season-tab-copy strong{font-size:clamp(17px,1.8vw,24px)}
.calendar-phase-role{font-size:17px}
.calendar-detail-main h3{font-weight:600}
.calendar-detail-meta strong{font-size:15px}
.calendar-detail-pill{font-weight:700;letter-spacing:.06em}
.calendar-season-foot{font-family:var(--font-ui);font-size:11px;color:#aeb9c6}
.calendar-aside-note{font-family:var(--font-ui);font-size:12px;line-height:1.75}
.cta h2{font-size:clamp(29px,3.1vw,43px)}
.notice{font-family:var(--font-ui);font-size:13px;line-height:1.75}
.footer p{font-size:17px}
.credit,.credit span{font-family:var(--font-ui);font-size:11px;line-height:1.75}
.footer-brand{font-size:23px}
@media(max-width:850px){.lore-chapter p{font-size:19px}.house-fact p{font-size:18px}.calendar-ribbon-card strong{font-size:23px}}
@media(max-width:600px){.hero h1{font-size:clamp(39px,11vw,61px)}.hero h1 span{letter-spacing:.23em}.section-head .eyebrow::before,.section-head .eyebrow::after{width:12px}.lore-chapter p{font-size:18px;line-height:1.73}.lore-chapter p+p{margin-top:14px}.house-story-panel p,.house-traits-panel p{font-size:17px}.house-hat-quote blockquote{font-size:22px}.house-fact p{font-size:17px}.card p{font-size:16px}.page-title,.house-hero h1,.lore-hero h1{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){.button,.login-link,.house-fact,.lore-chapter-link{transition:none}}




/* Global starlit sections and enhanced houses sky */
.section.starlit-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 22%, rgba(31,63,126,.09), transparent 20%),
    radial-gradient(circle at 82% 18%, rgba(87,116,198,.06), transparent 18%),
    radial-gradient(circle at 50% 75%, rgba(20,49,95,.10), transparent 26%),
    linear-gradient(180deg, rgba(6,12,20,.985), rgba(5,11,18,1));
}
.section.starlit-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(5,10,18,.04), rgba(5,10,18,.22));
  z-index:0;
}
.section.starlit-section > .container,
.celestial-stage > .container{z-index:2}
.celestial-stage{
  background:
    radial-gradient(circle at 15% 24%, rgba(38,82,164,.14), transparent 22%),
    radial-gradient(circle at 83% 17%, rgba(120,142,210,.09), transparent 20%),
    radial-gradient(circle at 50% 74%, rgba(32,59,101,.13), transparent 28%),
    linear-gradient(180deg, rgba(6,12,20,.985), rgba(5,12,20,1));
  border-block:1px solid rgba(218,178,116,.12);
}
.celestial-sky{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:0;
}
.celestial-sky::before,
.celestial-sky::after{content:"";position:absolute;pointer-events:none}
.celestial-sky::before{
  inset:-8%;
  background:
    radial-gradient(circle at 10% 18%, rgba(255,255,255,.055) 0 1px, transparent 1.5px) 0 0/190px 190px,
    radial-gradient(circle at 80% 28%, rgba(255,255,255,.045) 0 1.1px, transparent 1.6px) 0 0/235px 235px,
    radial-gradient(circle at 58% 72%, rgba(255,255,255,.035) 0 1px, transparent 1.5px) 0 0/275px 275px;
  opacity:.30;
}
.celestial-sky::after{
  inset:0;
  background:radial-gradient(circle at center, rgba(78,122,214,.07), transparent 42%);
  filter:blur(42px);
  opacity:.38;
}
.sky-enhanced::before{opacity:.42}
.sky-enhanced::after{opacity:.52}
.celestial-nebula{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 55%, rgba(22,56,125,.10), transparent 22%),
    radial-gradient(circle at 78% 34%, rgba(46,90,181,.07), transparent 20%),
    radial-gradient(circle at 48% 18%, rgba(108,131,220,.05), transparent 17%);
  filter:blur(26px);
  opacity:.56;
}
.sky-enhanced .celestial-nebula{opacity:.72}
.star-cluster{position:absolute; inset:0}
.star{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:var(--s);
  height:var(--s);
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.96) 0 35%, rgba(202,219,255,.72) 36% 62%, rgba(255,255,255,0) 63% 100%);
  box-shadow:0 0 6px rgba(201,220,255,.18), 0 0 14px rgba(177,209,255,.08);
  opacity:.56;
  animation:starTwinkle calc(6.5s + var(--d)) ease-in-out infinite;
}
.layer-b .star{opacity:.32; filter:blur(.2px); animation-duration:calc(8s + var(--d))}
.sky-enhanced .star{opacity:.70}
.sky-enhanced .layer-b .star{opacity:.42}
@keyframes starTwinkle{0%,18%,100%{transform:scale(1); opacity:.24}8%{transform:scale(1.06); opacity:.42}36%{transform:scale(1.16); opacity:.82}52%{transform:scale(.96); opacity:.48}72%{transform:scale(1.08); opacity:.62}}
.layer-a .star:nth-child(3n){animation-duration:calc(5.4s + var(--d));}
.layer-a .star:nth-child(4n){animation-duration:calc(7.2s + var(--d));}
.layer-b .star:nth-child(2n){animation-duration:calc(8.8s + var(--d));}
.star{animation-delay:var(--d);}
.star:nth-child(5n){animation-delay:calc(var(--d) + .8s);}
.star:nth-child(7n){animation-delay:calc(var(--d) + 1.4s);}
.star:nth-child(9n){animation-delay:calc(var(--d) + .3s);}
@media (max-width: 900px){
  .section.starlit-section{background:radial-gradient(circle at 50% 22%, rgba(44,88,156,.10), transparent 23%),linear-gradient(180deg, rgba(6,12,20,.985), rgba(5,12,20,1));}
}
@media (prefers-reduced-motion: reduce){
  .star{animation:none; opacity:.64}
}
/* Nectum Legacy — premium finish: navigation, surfaces, houses */
:root{--surface-edge:rgba(222,185,120,.25);--surface-glint:rgba(245,223,179,.1)}
.header{border-bottom-color:rgba(218,178,116,.20);box-shadow:0 9px 30px rgba(0,0,0,.2);background:linear-gradient(180deg,rgba(5,10,17,.97),rgba(6,13,22,.93))}
.header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 3%,rgba(218,178,116,.38) 50%,transparent 97%);pointer-events:none}
.brand{transition:filter .25s ease}.brand:hover{filter:brightness(1.15)}
.brand-symbol{transition:box-shadow .3s ease,border-color .3s ease}.brand:hover .brand-symbol{border-color:var(--gold);box-shadow:inset 0 0 16px rgba(218,178,116,.12),0 0 22px rgba(218,178,116,.18)}
.desktop-nav a{padding:10px 0;transition:color .2s ease,text-shadow .2s ease}
.desktop-nav a.active{color:#f5d8a7;text-shadow:0 0 18px rgba(218,178,116,.2)}
.desktop-nav a:hover{color:#ffe8b9;text-shadow:0 0 15px rgba(218,178,116,.24)}
.desktop-nav a.active::after,.desktop-nav a:hover::after{width:32px;height:2px;bottom:-20px;background:linear-gradient(90deg,transparent,#f1cd8a,transparent);box-shadow:0 0 12px rgba(226,177,100,.45)}
.login-link{position:relative;overflow:hidden;border-color:rgba(218,178,116,.5);background:linear-gradient(135deg,rgba(219,174,104,.11),rgba(10,18,29,.38));box-shadow:inset 0 1px rgba(255,240,208,.07);transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
.login-link:hover{border-color:#efd4a4;box-shadow:0 0 22px rgba(213,168,93,.15);transform:translateY(-1px)}
.mobile-nav.open{box-shadow:0 24px 32px rgba(0,0,0,.35)}
.mobile-nav a{padding:8px 2px;border-bottom:1px solid rgba(218,178,116,.08)}
.button,.pill,.house-action{position:relative;isolation:isolate;overflow:hidden}
.button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.1) 50%,transparent 85%);transform:translateX(-130%);transition:transform .65s ease;pointer-events:none;z-index:-1}
.button:hover:before{transform:translateX(130%)}
.button{min-height:43px;box-shadow:inset 0 1px rgba(255,255,255,.045)}
.button.primary{box-shadow:inset 0 1px rgba(255,255,255,.2),0 9px 28px rgba(0,0,0,.16)}
.button.primary:hover{box-shadow:inset 0 1px rgba(255,255,255,.27),0 12px 30px rgba(219,175,102,.22)}
.card{position:relative;isolation:isolate;border-color:rgba(217,182,123,.19);background:linear-gradient(160deg,rgba(24,38,52,.89),rgba(8,16,26,.96));box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 45px rgba(0,0,0,.21);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.card:hover{transform:translateY(-5px);border-color:rgba(224,191,136,.52);box-shadow:inset 0 1px rgba(255,255,255,.06),0 25px 55px rgba(0,0,0,.32)}
.card:not(.house)::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(246,215,155,.23),transparent);pointer-events:none}
.card h3,.card p{position:relative}
.house{border-color:rgba(221,188,132,.19);box-shadow:inset 0 1px rgba(255,255,255,.065),0 18px 40px rgba(0,0,0,.23)}
.house::after{border-color:rgba(255,255,255,.05)}
.house-badge img{transition:transform .34s cubic-bezier(.2,.8,.2,1),filter .34s ease}
.house:hover .house-badge img,.house:focus-visible .house-badge img{transform:translateY(-4px) scale(1.075);filter:drop-shadow(0 12px 22px rgba(0,0,0,.47))}
.house h3{transition:color .23s ease}.house:hover h3{color:#fff3db}
.house-action{border-color:rgba(218,178,116,.28);transition:background .23s,border-color .23s,color .23s,transform .23s}
.house:hover .house-action{color:#f8d89d;background:rgba(218,178,116,.12);transform:translateY(-2px)}
.house.red:hover{border-color:rgba(199,96,89,.57);box-shadow:0 25px 53px rgba(0,0,0,.28),0 0 28px rgba(167,60,48,.09)}
.house.green:hover{border-color:rgba(84,175,135,.55);box-shadow:0 25px 53px rgba(0,0,0,.28),0 0 28px rgba(55,150,104,.09)}
.house.blue:hover{border-color:rgba(116,165,222,.55);box-shadow:0 25px 53px rgba(0,0,0,.28),0 0 28px rgba(66,128,200,.09)}
.house.yellow:hover{border-color:rgba(222,188,99,.55);box-shadow:0 25px 53px rgba(0,0,0,.28),0 0 28px rgba(194,154,67,.09)}
.house-hero-inner{z-index:2}.house-hero{border-bottom-color:rgba(var(--house-rgb),.36)}
.house-hero h1{letter-spacing:.055em}
.house-hero-mark{transition:box-shadow .3s ease,transform .3s ease}.house-hero-mark:hover{box-shadow:0 0 42px rgba(var(--house-rgb),.22);transform:translateY(-2px)}
.back-link{font-family:var(--font-ui);text-transform:uppercase;font-weight:600;font-size:10px;letter-spacing:.13em;transition:color .2s,text-shadow .2s}
.back-link:hover{color:#fff0ca;text-shadow:0 0 14px rgba(230,195,133,.3);text-decoration:none}
.house-hat-quote{border-bottom-color:rgba(var(--house-rgb),.28)}
.house-story-panel,.house-traits-panel{border-color:rgba(var(--house-rgb),.27);box-shadow:inset 0 1px rgba(255,255,255,.035),0 20px 45px rgba(0,0,0,.25)}
.house-traits-panel img{filter:drop-shadow(0 15px 24px rgba(0,0,0,.56))}
.house-fact{transition:border-color .22s,background .22s,transform .22s,box-shadow .22s}
.house-fact:hover{background:linear-gradient(150deg,rgba(26,42,57,.95),rgba(9,19,30,.97));box-shadow:0 18px 34px rgba(0,0,0,.2)}
.house-related-card{min-height:225px;justify-content:center}
.house-related-card img{transition:transform .25s ease,filter .25s ease}.house-related-card:hover img{transform:scale(1.07);filter:drop-shadow(0 0 14px rgba(220,186,124,.18))}
@media(max-width:900px){.desktop-nav a.active::after,.desktop-nav a:hover::after{bottom:-14px}}
@media(max-width:600px){.house-related-card{min-height:200px}.button:hover,.login-link:hover{transform:none}.house:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.button:before{display:none}.brand,.brand-symbol,.desktop-nav a,.login-link,.card,.house-badge img,.house h3,.house-action,.house-hero-mark,.back-link,.house-fact,.house-related-card img{transition:none}}


/* Nectum Legacy · polish pass: page rhythm, subtle ornament and practical navigation */
:root{
  --nl-hairline:rgba(219,182,118,.18);
  --nl-highlight:#f5daa8;
  --nl-inset:inset 0 1px rgba(255,255,255,.045);
}
body{overflow-x:clip}
.section{scroll-margin-top:82px}
.section-head{margin-bottom:clamp(32px,4.2vw,54px)}
.section-head h2{max-width:900px;margin-left:auto;margin-right:auto;line-height:1.28}
.section-head .accent-line{position:relative;overflow:visible}
.section-head .accent-line::before,.section-head .accent-line::after{
  content:"";position:absolute;top:50%;height:3px;width:3px;
  transform:translateY(-50%) rotate(45deg);border:1px solid #ebcc91;
  background:#09141e;box-shadow:0 0 7px rgba(245,216,167,.21)
}
.section-head .accent-line::before{left:-11px}
.section-head .accent-line::after{right:-11px}
.section-head>p{font-size:clamp(17px,1.48vw,20px);color:#c7ccd2;line-height:1.74;text-wrap:pretty}
.section.alt{border-block-color:rgba(222,188,126,.13)}
.section.alt::before{opacity:.2}
.section.starlit-section{border-bottom:1px solid rgba(214,180,120,.08)}
.grid{gap:clamp(15px,2vw,25px)}
.card,.lore-chapter,.calendar-summary-card,.calendar-showcase,.house-story-panel,.house-traits-panel{outline:1px solid rgba(255,244,224,.018);outline-offset:-4px}
.card{border-radius:3px}
.card-icon{filter:drop-shadow(0 3px 12px rgba(217,177,111,.13));font-size:30px}
.house-grid>.house{border-radius:13px}
.house-grid>.house::after{border-radius:12px}
.house-badge::before{width:125px;height:125px;opacity:.85}
.house-action{margin-top:2px}
.house-related-card{border-radius:4px}
.house-hat-quote{padding-top:clamp(34px,4vw,55px);padding-bottom:clamp(34px,4vw,55px)}
.house-fact-list{row-gap:18px}
.house-fact{border-radius:2px}
.lore-chapter{border-radius:3px}
.lore-chapter-top{gap:24px}
.lore-sidebar-inner{border-radius:3px}
.lore-event::before{box-shadow:0 0 10px rgba(220,180,115,.26)}
.calendar-showcase{overflow:hidden}
.calendar-ribbon-card{box-shadow:var(--nl-inset),0 14px 26px rgba(0,0,0,.12)}
.calendar-detail-wide{box-shadow:var(--nl-inset)}
.calendar-phase-item{transition:border-color .2s ease,background .2s ease,transform .2s ease}
.calendar-phase-item:hover{transform:translateX(3px)}
.cta{isolation:isolate}
.cta::after{
  content:"";position:absolute;top:0;left:50%;width:min(690px,80%);height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(236,199,137,.52),transparent);
  pointer-events:none;
}
.cta h2{color:#f7e7c8;text-wrap:balance;text-shadow:0 7px 30px #0008}
.cta .lede{max-width:690px;margin:20px auto 28px}
.footer{gap:clamp(25px,4vw,58px);align-items:flex-start;border-top-color:rgba(220,181,116,.23)}
.footer-brand{display:inline-flex;gap:6px;align-items:center;line-height:1.4;text-shadow:0 5px 22px #0008}
.footer-links{max-width:360px;gap:10px 22px;align-content:flex-start}
.footer-links a{position:relative;display:inline-block;padding:5px 0;color:#d9c6a4;transition:color .2s ease}
.footer-links a:hover{color:#ffe6b6}
.footer-links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:linear-gradient(90deg,#e8c78b,transparent);transition:right .25s ease
}
.footer-links a:hover::after{right:0}
.footer .credit{max-width:400px;line-height:1.95;color:#e2dacd}
.footer p{max-width:395px}
.reading-progress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:35;
  pointer-events:none;transform:scaleX(0);transform-origin:left;
  opacity:0;background:linear-gradient(90deg,#7b5a32,#efce91,#fff2ce);
  box-shadow:0 0 12px rgba(238,194,122,.36);transition:opacity .25s ease;
}
.reading-progress.visible{opacity:1}
.back-to-top{
  position:fixed;right:clamp(18px,3vw,38px);bottom:clamp(18px,3vw,35px);
  width:46px;height:46px;display:grid;place-items:center;z-index:30;
  border:1px solid rgba(228,191,129,.49);border-radius:50%;
  color:#f3dbaf;background:linear-gradient(150deg,rgba(27,42,55,.97),rgba(8,18,28,.97));
  box-shadow:0 11px 28px #0007,inset 0 1px rgba(255,255,255,.09);
  font:600 21px/1 var(--font-ui);opacity:0;visibility:hidden;
  pointer-events:none;transform:translateY(12px);
  transition:opacity .24s,transform .24s,visibility .24s,border-color .24s;
}
.back-to-top.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover{border-color:#f5d9a4;transform:translateY(-3px)}
@media(max-width:1100px){
 .footer{flex-wrap:wrap}
 .footer .credit{max-width:520px}
}
@media(max-width:900px){
 .section{scroll-margin-top:72px}
 .house-grid>.house{min-height:405px}
 .lore-sidebar-inner{top:85px}
 .calendar-phase-item:hover{transform:none}
}
@media(max-width:600px){
 .section{padding-block:clamp(56px,10vw,76px)}
 .section-head .eyebrow{font-size:9px;letter-spacing:.14em}
 .section-head h2{line-height:1.25}
 .house-grid>.house{min-height:0}
 .footer{padding-bottom:90px}
 .footer-links{max-width:100%;gap:10px 20px}
 .footer .credit{text-align:left}
 .back-to-top{width:42px;height:42px;right:16px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){
 .footer-links a,.footer-links a::after,.back-to-top,.calendar-phase-item{transition:none}
 .back-to-top:hover{transform:none}
}


/* Nectum Legacy / Home cinematic direction */
.home-cinematic{
  min-height:min(940px,calc(100svh - 82px));
  min-height:clamp(730px,calc(100svh - 82px),940px);
  isolation:isolate;
  border-bottom:1px solid rgba(232,191,124,.28);
}
.home-cinematic::before{
  background:
    linear-gradient(90deg,rgba(5,10,18,.96) 0%,rgba(7,14,23,.84) 22%,rgba(7,14,23,.35) 54%,rgba(8,13,22,.30) 81%,rgba(7,13,23,.55) 100%),
    linear-gradient(180deg,rgba(8,16,26,.30) 0%,rgba(8,16,26,.03) 28%,rgba(8,16,26,.08) 53%,#08111a 100%),
    url('assets/bg-castle-moon.webp') center 48%/cover no-repeat;
  transform:scale(1.025);
  animation:homeBackdropReveal 1.8s ease-out both;
}
.home-cinematic::after{
  background:
    radial-gradient(ellipse at 78% 29%,rgba(197,199,235,.10),transparent 30%),
    linear-gradient(0deg,rgba(7,14,24,.65),transparent 30%),
    radial-gradient(ellipse at center,transparent 36%,rgba(5,10,18,.46) 100%);
}
.home-cinematic .hero-content{max-width:755px;padding:104px 26px 132px;z-index:2}
.home-cinematic .ornament{font-size:19px;margin:23px 0 27px;letter-spacing:.7em;color:#e7c991;opacity:.9}
.home-cinematic h1{font-size:clamp(72px,8.5vw,126px);line-height:1;letter-spacing:.055em;font-weight:600;margin:0 0 21px}
.home-cinematic h1 span{font-size:.37em;letter-spacing:.56em;padding-left:.16em;margin:24px 0 0;color:#edce91}
.home-cinematic .hero-content > p{font-family:var(--font-editorial);font-size:clamp(19px,1.7vw,24px);line-height:1.55;color:#e9e4dd;max-width:555px;margin:0 0 32px;text-wrap:pretty}
.home-pretitle{display:flex;align-items:center;gap:16px;color:#f2d8ae;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.25em;line-height:1.6;text-shadow:0 3px 15px #0009}
.home-pretitle-rule{width:44px;height:1px;display:inline-block;background:linear-gradient(90deg,#d8a85e,#f2d8ae)}
.home-cinematic .button-row{gap:14px;margin-bottom:34px}
.home-cinematic .button{min-height:52px;padding:16px 23px;gap:23px;box-shadow:0 16px 32px #0003}
.home-cinematic .button span{font-size:17px;line-height:0}
.home-cinematic .hero-panel{max-width:515px;margin-top:0;gap:0;border-top:1px solid rgba(218,178,116,.31);border-bottom:1px solid rgba(218,178,116,.15)}
.home-cinematic .hero-panel div{border:none;border-right:1px solid rgba(218,178,116,.17);background:linear-gradient(180deg,rgba(8,16,28,.26),rgba(8,16,28,.05));backdrop-filter:none;padding:18px 10px}
.home-cinematic .hero-panel div:last-child{border-right:0}
.home-cinematic .hero-panel strong{font-size:29px;line-height:1.1;color:#f7dbab}
.home-cinematic .hero-panel span{font-size:9px;letter-spacing:.12em;color:#d6d2cc;margin-top:7px}
.home-hero-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.home-halo{position:absolute;right:11%;top:11%;width:min(47vw,600px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(241,213,162,.025),rgba(197,177,224,.025) 38%,transparent 71%);filter:blur(32px)}
.home-orbit{position:absolute;right:8%;top:17%;width:min(36vw,440px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(243,218,173,.065);transform:rotate(-17deg)}
.home-orbit.orbit-two{right:6%;top:14%;width:min(40vw,510px);border-color:rgba(208,218,245,.04)}
.home-hero-spark{position:absolute;width:3px;height:3px;border-radius:50%;background:#f8e7c4;box-shadow:0 0 11px 3px rgba(246,220,168,.33)}
.spark-one{top:16%;left:60%;animation:homeSpark 8s ease-in-out infinite}
.spark-two{top:41%;right:17%;animation:homeSpark 10s ease-in-out -4s infinite}
.spark-three{top:28%;right:38%;animation:homeSpark 12s ease-in-out -6s infinite}
.home-hero-side{position:absolute;right:26px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;letter-spacing:.32em;display:flex;align-items:center;gap:22px;font-size:10px;color:#d6c9b8;opacity:.73;z-index:2}
.home-hero-side span{font-family:var(--font-ui);font-size:9px;font-weight:600}
.home-scroll-cue{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:14px;font-family:var(--font-ui);letter-spacing:.25em;font-size:9px;color:#e1c99e;white-space:nowrap;transition:color .2s}
.home-scroll-cue:hover{color:#fff1d3}
.home-scroll-line{display:block;width:1px;height:42px;background:linear-gradient(180deg,#e8c58c,rgba(232,197,140,.04));transform-origin:top;animation:homeScrollLine 3s ease-in-out infinite}
.home-discovery{position:relative;overflow:hidden;background:linear-gradient(180deg,#0b1520 0%,#111b29 54%,#08111a 100%);border-bottom:1px solid rgba(222,183,113,.19);padding:64px 0 66px;scroll-margin-top:81px}
.home-discovery::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 17% 35%,rgba(189,139,76,.055),transparent 30%),radial-gradient(ellipse at 78% 60%,rgba(73,107,157,.10),transparent 38%)}
.home-discovery .container{display:grid;grid-template-columns:auto minmax(0,1.4fr) minmax(250px,.85fr) auto;align-items:center;gap:clamp(16px,2.8vw,38px)}
.home-discovery-ornament{font:50px/1 var(--font-editorial);color:var(--gold);align-self:start;margin-top:19px}
.home-discovery h2{font-family:var(--font-display);font-weight:500;font-size:clamp(19px,2.1vw,30px);line-height:1.45;color:#f8e7ce;letter-spacing:.02em;margin:11px 0 0;text-wrap:balance}
.home-discovery h2 em{font-family:var(--font-editorial);font-size:1.2em;letter-spacing:0;font-weight:500;color:#e8c48f;font-style:italic;display:block}
.home-discovery p{font-family:var(--font-editorial);font-size:19px;line-height:1.65;color:#cdd4d9;margin:0;max-width:37ch}
.home-discovery-link{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ebc88f;border-bottom:1px solid rgba(231,189,125,.4);padding:12px 0;white-space:nowrap;transition:color .2s,border-color .2s}
.home-discovery-link span{margin-left:10px;font-size:16px}
.home-discovery-link:hover{color:white;border-color:white}
.home-pillars .card{position:relative;min-height:255px;padding:38px 32px;background:linear-gradient(150deg,rgba(24,39,56,.88),rgba(8,18,29,.91))}
.home-pillars .card::before{content:"";position:absolute;left:30px;top:0;width:56px;height:2px;background:linear-gradient(90deg,#e4bd7f,transparent)}
.home-pillars .card-icon{font-size:32px;margin-bottom:18px;text-shadow:0 0 20px rgba(211,173,110,.25)}
.home-pillars .card h3{margin:14px 0;font-size:20px}
.home-pillars .card p{max-width:29ch;margin-bottom:23px}
.home-house-showcase{background:linear-gradient(180deg,#0b1521,#0a1726);padding-block:115px}
.home-house-showcase .section-head{margin-bottom:58px}
.home-house-showcase .house{box-shadow:0 20px 70px rgba(0,0,0,.27)}
.home-path .card{background:linear-gradient(158deg,rgba(20,35,51,.77),rgba(8,18,30,.87));border-top:1px solid rgba(225,188,124,.35)}
@keyframes homeBackdropReveal{from{opacity:.55;transform:scale(1.065)}to{opacity:1;transform:scale(1.025)}}
@keyframes homeSpark{0%,100%{opacity:.22;transform:scale(.65)}45%{opacity:.85;transform:scale(1.2)}}
@keyframes homeScrollLine{0%,100%{transform:scaleY(.6);opacity:.5}55%{transform:scaleY(1);opacity:1}}
@media(max-width:1150px){
 .home-discovery .container{grid-template-columns:auto minmax(0,1.3fr) minmax(240px,1fr)}
 .home-discovery-link{grid-column:2/4;justify-self:start}
}
@media(max-width:900px){
 .home-cinematic{min-height:760px;text-align:center;justify-content:center}
 .home-cinematic::before{background:linear-gradient(180deg,rgba(5,11,19,.46),rgba(5,11,19,.55) 29%,rgba(5,11,19,.84) 85%,#08111a),url('assets/bg-castle-moon.webp') center/cover no-repeat}
 .home-cinematic .hero-content{max-width:700px;margin-inline:auto;padding:85px 28px 145px}
 .home-pretitle{justify-content:center}
 .home-cinematic .hero-panel{margin-inline:auto}
 .home-cinematic .hero-content>p{margin-inline:auto}
 .home-hero-side{display:none}
 .home-discovery .container{grid-template-columns:auto 1fr;gap:15px 20px}
 .home-discovery p{grid-column:2;max-width:52ch}
 .home-discovery-link{grid-column:2}
}
@media(max-width:600px){
 .home-cinematic{min-height:770px}
 .home-cinematic .hero-content{padding:76px 20px 140px}
 .home-cinematic h1{font-size:clamp(46px,12vw,75px);letter-spacing:.035em}
 .home-cinematic h1 span{font-size:.40em;letter-spacing:.38em}
 .home-cinematic .ornament{margin-block:24px}
 .home-pretitle{font-size:8px;letter-spacing:.12em;gap:8px}
 .home-pretitle-rule{width:20px}
 .home-cinematic .hero-content>p{font-size:19px;line-height:1.53}
 .home-cinematic .button-row{flex-direction:column;max-width:330px;margin:0 auto 28px}
 .home-cinematic .button{width:100%}
 .home-cinematic .hero-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
 .home-cinematic .hero-panel div{padding:16px 3px}
 .home-cinematic .hero-panel strong{font-size:24px}
 .home-cinematic .hero-panel span{font-size:8px;letter-spacing:.03em}
 .home-discovery{padding:46px 0 54px;scroll-margin-top:70px}
 .home-discovery .container{grid-template-columns:1fr;gap:16px}
 .home-discovery-ornament{display:none}
 .home-discovery p,.home-discovery-link{grid-column:auto}
 .home-discovery h2{font-size:24px}
 .home-discovery p{font-size:18px}
 .home-pillars .card{min-height:0;padding:28px 25px}
 .home-house-showcase{padding-block:78px}
}
@media(prefers-reduced-motion:reduce){
 .home-cinematic::before,.home-hero-spark,.home-scroll-line{animation:none}
}


/* Phase 1 — Home 2.0 */
.home-cinematic{min-height:clamp(780px,88vh,980px)}
.home-cinematic::before{animation:heroBreath 18s ease-in-out infinite alternate;background-position:center 46%}
.home-cinematic::after{background:radial-gradient(circle at 50% 18%, rgba(247,225,180,.11), transparent 26%),linear-gradient(180deg,rgba(5,11,19,0),rgba(5,11,19,.20) 40%,rgba(5,11,19,.36) 100%)}
@keyframes heroBreath{0%{transform:scale(1)}100%{transform:scale(1.045)}}
.home-cinematic .hero-content{position:relative}
.home-cinematic .hero-content::after{content:"";position:absolute;inset:auto auto -34px -12px;width:220px;height:1px;background:linear-gradient(90deg,rgba(237,206,145,.85),transparent);opacity:.7}
.home-hero-card{position:absolute;right:48px;bottom:124px;z-index:2;max-width:250px;padding:22px 22px 20px;border:1px solid rgba(232,198,142,.22);background:linear-gradient(160deg,rgba(11,19,30,.72),rgba(8,14,23,.48));backdrop-filter:blur(4px);box-shadow:0 18px 40px rgba(0,0,0,.22)}
.home-hero-card strong{display:block;margin:8px 0 10px;font-family:var(--font-display);font-size:38px;line-height:1;color:#f0d5a5}
.home-hero-card p{margin:0;font-family:var(--font-editorial);font-size:16px;line-height:1.65;color:#d8dfe5}
.home-discovery{padding:74px 0 78px}
.home-discovery .container{position:relative}
.home-discovery-link{justify-self:end}
.home-intro-panel{padding-top:72px;padding-bottom:76px}
.home-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;align-items:stretch}
.home-intro-story,.home-intro-aside{border:1px solid rgba(218,178,116,.18);background:linear-gradient(150deg,rgba(20,31,44,.9),rgba(8,16,26,.96));box-shadow:0 20px 44px rgba(0,0,0,.2)}
.home-intro-story{padding:clamp(24px,3vw,40px)}
.home-intro-story h2{margin:12px 0 20px;font-family:var(--font-display);font-size:clamp(31px,3.6vw,48px);line-height:1.18;color:#f5e7d0;max-width:13ch;text-wrap:balance}
.home-intro-story p{max-width:62ch;color:#d9e0e5}
.home-intro-story p+ p{margin-top:14px}
.home-intro-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.home-intro-aside{display:grid;gap:0}
.home-aside-card{padding:24px 24px 22px;border-bottom:1px solid rgba(218,178,116,.12)}
.home-aside-card:last-child{border-bottom:0}
.home-aside-card span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(218,178,116,.24);margin-bottom:16px;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.12em;color:#e5c68f}
.home-aside-card strong{display:block;margin-bottom:10px;font-family:var(--font-display);font-size:24px;font-weight:500;color:#f2e2c7}
.home-aside-card p{margin:0;font-family:var(--font-editorial);font-size:17px;line-height:1.7;color:#d4dbe0}
.home-pillars .card,.home-path .card{position:relative;overflow:hidden}
.home-pillars .card::before,.home-path .card::before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(231,189,125,.58),transparent);opacity:.7}
.home-pillars .card p,.home-path .card p{max-width:28ch}
.home-house-showcase .section-head p{max-width:44ch}
.home-final-cta{position:relative;overflow:hidden}
.home-final-cta::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0%, rgba(231,189,125,.10), transparent 38%)}
.home-final-cta .button-row{justify-content:center}
@media(max-width:1180px){.home-hero-card{right:26px;bottom:120px;max-width:220px}.home-intro-grid{grid-template-columns:1fr}.home-intro-story h2{max-width:none}.home-discovery-link{justify-self:start}}
@media(max-width:900px){.home-cinematic{min-height:760px}.home-hero-card{position:static;max-width:420px;margin:22px auto 0}.home-cinematic .hero-content::after{left:50%;transform:translateX(-50%)}.home-discovery .container{grid-template-columns:auto 1fr;align-items:start}}
@media(max-width:640px){.home-cinematic{min-height:780px}.home-hero-card{padding:18px 18px 16px}.home-hero-card strong{font-size:30px}.home-discovery{padding:52px 0 56px}.home-intro-panel{padding-top:52px;padding-bottom:56px}.home-intro-actions{flex-direction:column}.home-intro-actions .button{width:100%}.home-aside-card strong{font-size:21px}.home-discovery .container{grid-template-columns:1fr;gap:16px}.home-discovery-link{justify-self:start}.home-scroll-cue{bottom:22px}}
@media(prefers-reduced-motion:reduce){.home-cinematic::before{animation:none}}


/* Phase 2 — Lore as a magical historical manuscript */
.lore-manuscript-hero{isolation:isolate;min-height:clamp(500px,65vh,680px);background:#0a121d}
.lore-manuscript-hero::before{background:linear-gradient(90deg,rgba(5,12,20,.96),rgba(7,16,27,.76) 50%,rgba(7,16,27,.45)),linear-gradient(0deg,#07111b,transparent 70%),url('assets/bg-castle-moon.webp') center/cover no-repeat}
.lore-manuscript-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 71% 32%,rgba(236,199,132,.08),transparent 25%),linear-gradient(180deg,transparent 65%,#08111a)}
.lore-manuscript-hero .container{max-width:1200px;z-index:2}
.lore-manuscript-hero h1{max-width:12ch;font-size:clamp(48px,6vw,87px);line-height:1.15;letter-spacing:.025em;color:#f8e9d1;text-wrap:balance}
.lore-manuscript-hero p{max-width:55ch;margin-bottom:27px;font-size:clamp(19px,1.6vw,23px);color:#e6e1d8}
.lore-hero-inscription{margin:8px 0 18px;font:700 10px var(--font-ui);letter-spacing:.22em;color:#d6be92}
.lore-hero-seal{position:absolute;right:max(5vw,25px);top:15%;z-index:0;display:grid;place-items:center;width:clamp(170px,24vw,350px);aspect-ratio:1;border:1px solid rgba(231,192,126,.2);border-radius:50%;color:rgba(243,216,162,.3);font:clamp(90px,14vw,220px) var(--font-editorial);box-shadow:inset 0 0 0 23px rgba(9,17,26,.18),inset 0 0 0 24px rgba(231,192,126,.11),0 0 80px rgba(217,164,90,.07);animation:loreSealBreath 16s ease-in-out infinite alternate}
@keyframes loreSealBreath{from{opacity:.4;transform:rotate(-9deg) scale(.98)}to{opacity:.63;transform:rotate(-2deg) scale(1.03)}}
.lore-archive{position:relative;overflow:hidden;background:radial-gradient(ellipse at 82% 13%,rgba(168,129,64,.07),transparent 48%),radial-gradient(ellipse at 14% 55%,rgba(49,68,104,.07),transparent 36%),linear-gradient(180deg,#091420,#07111a)}
.lore-archive::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.09;background-image:repeating-linear-gradient(0deg,transparent 0 39px,rgba(241,223,187,.08) 40px 41px)}
.lore-archive .lore-public-shell{position:relative;z-index:1}
.lore-opening{max-width:820px;margin-bottom:55px}
.lore-opening-emblem{font:53px/1 var(--font-editorial);color:#e2bd85;margin-bottom:19px}
.lore-opening h2{font-size:clamp(28px,3.4vw,47px);line-height:1.2;color:#f5e6cb;text-wrap:balance}
.lore-opening p{font-size:clamp(19px,1.6vw,23px);line-height:1.65;max-width:64ch;margin-inline:auto}
.lore-timeline-stripe{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 auto 55px;padding:28px 22px;border:1px solid rgba(213,169,111,.22);background:linear-gradient(135deg,rgba(26,36,45,.88),rgba(13,23,35,.9));box-shadow:0 18px 42px rgba(0,0,0,.19)}
.lore-timeline-stripe::before{content:"";position:absolute;left:10%;right:10%;top:84px;height:1px;background:linear-gradient(90deg,transparent,rgba(224,185,124,.42) 7%,rgba(224,185,124,.42) 93%,transparent)}
.lore-timeline-node{display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;z-index:1;min-width:0;border:0;background:none;color:inherit;cursor:pointer;padding:12px 6px 8px;transition:transform .2s,color .2s}
.lore-timeline-node:hover,.lore-timeline-node:focus-visible{transform:translateY(-3px);color:#f8e4bb}
.lore-timeline-node:focus-visible{outline:2px solid #efce94;outline-offset:2px}
.lore-timeline-year{font:600 clamp(17px,1.9vw,25px)/1.2 var(--font-display);color:#f0d2a0}
.lore-timeline-point{width:12px;height:12px;flex:none;border:2px solid #d2ab70;border-radius:50%;background:#0c1826;box-shadow:0 0 0 5px rgba(218,178,116,.07),0 0 18px rgba(218,178,116,.12)}
.lore-timeline-label{max-width:18ch;font:600 11px/1.5 var(--font-ui);color:#c5cbd0;text-align:center}
.lore-public-layout{grid-template-columns:minmax(235px,.31fr) minmax(0,1fr);gap:26px}
.lore-sidebar-inner{padding:32px 23px;background:linear-gradient(155deg,rgba(26,35,42,.94),rgba(11,20,31,.98));border:1px solid rgba(219,185,126,.25)}
.lore-sidebar-emblem{font:42px/1 var(--font-editorial);color:#dbc18e;margin-bottom:17px}
.lore-sidebar h3{font-size:24px;color:#f3e0bc}
.lore-chapter-link{position:relative;align-items:center;min-height:49px}
.lore-chapter-link span{display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid rgba(218,178,116,.19);font-size:11px}
.lore-chapter-link:hover span{border-color:rgba(218,178,116,.55);background:rgba(218,178,116,.06)}
.lore-chapter{position:relative;background:radial-gradient(ellipse at 86% 6%,rgba(175,126,67,.07),transparent 40%),linear-gradient(145deg,rgba(25,35,42,.96),rgba(13,22,30,.985));border:1px solid rgba(211,172,108,.26);padding:clamp(28px,5vw,68px);box-shadow:0 0 0 6px rgba(207,171,110,.024),0 24px 55px rgba(0,0,0,.22),inset 0 0 55px rgba(190,143,78,.023);scroll-margin-top:104px}
.lore-chapter::before{height:2px;background:linear-gradient(90deg,transparent,rgba(230,193,131,.7),transparent)}
.lore-chapter::after{content:"";position:absolute;inset:12px;pointer-events:none;border:1px solid rgba(233,196,132,.08)}
.lore-chapter-corner{position:absolute;right:23px;top:22px;width:29px;height:29px;border-top:1px solid rgba(241,210,153,.3);border-right:1px solid rgba(241,210,153,.3)}
.lore-chapter-top{position:relative;z-index:1;margin-bottom:28px}
.lore-chapter-era{font-weight:600;font-size:22px;color:#f4d8a7}
.lore-chapter h2{position:relative;z-index:1;font-size:clamp(28px,3.2vw,43px);line-height:1.22;letter-spacing:.018em;color:#f5e6c9;margin:13px 0 17px;text-wrap:balance}
.lore-chapter-rule{display:flex;align-items:center;gap:13px;max-width:200px;margin:0 0 28px;color:#d9b77b;font:18px var(--font-editorial)}
.lore-chapter-rule::before,.lore-chapter-rule::after{content:"";height:1px;background:linear-gradient(90deg,rgba(226,188,122,.7),transparent);flex:1}
.lore-chapter-rule::after{transform:rotate(180deg)}
.lore-chapter p{position:relative;z-index:1;max-width:72ch;font-family:var(--font-editorial);font-size:clamp(19px,1.45vw,22px);line-height:1.75;color:#e1ddd5;letter-spacing:.004em}
.lore-chapter p:first-of-type::first-letter{float:left;font:600 clamp(52px,5vw,73px)/.82 var(--font-display);padding:7px 12px 0 0;color:#e9c894}
.lore-next{position:relative;z-index:1;margin-top:32px;padding:20px 0 2px;font-weight:700}
.lore-end{position:relative;overflow:hidden;background:radial-gradient(circle at center,rgba(218,178,116,.08),rgba(8,15,25,.98) 72%)}
.lore-end::before{content:"";position:absolute;inset:11px;pointer-events:none;border:1px solid rgba(229,195,138,.11)}
.lore-end-flourish{font:23px var(--font-editorial);color:#d8b67e;letter-spacing:.28em}
.lore-end h2{color:#f3e2c3}
@media(max-width:1040px){.lore-hero-seal{right:2vw;opacity:.3}.lore-timeline-stripe{padding-inline:12px}.lore-public-layout{grid-template-columns:1fr}.lore-sidebar-inner{position:static}}
@media(max-width:680px){.lore-manuscript-hero{min-height:470px}.lore-manuscript-hero h1{font-size:clamp(42px,11vw,64px)}.lore-hero-seal{right:-68px;top:11%;opacity:.16}.lore-hero-inscription{font-size:8px;letter-spacing:.1em}.lore-opening{margin-bottom:36px}.lore-timeline-stripe{padding:20px 4px 18px;margin-bottom:34px}.lore-timeline-stripe::before{top:62px;left:9%;right:9%}.lore-timeline-node{padding:6px 2px;gap:10px}.lore-timeline-year{font-size:clamp(11px,3vw,16px)}.lore-timeline-point{width:9px;height:9px}.lore-timeline-label{font-size:8px;line-height:1.35;overflow-wrap:anywhere}.lore-chapter{padding:30px 24px}.lore-chapter p{font-size:19px;line-height:1.7}.lore-chapter p:first-of-type::first-letter{font-size:51px;padding:6px 9px 0 0}.lore-chapter-corner{right:16px;top:16px}}
@media(prefers-reduced-motion:reduce){.lore-hero-seal{animation:none}}


/* Phase 3 — Four Houses: heraldic identity and immersive storytelling */
.house-hero{isolation:isolate;min-height:clamp(580px,72vh,760px)}
.house-hero-inner{isolation:isolate;z-index:2}
.house-hero-crest-watermark{
  position:absolute;right:1.2%;top:50%;transform:translateY(-47%);
  width:clamp(275px,35vw,490px);aspect-ratio:1;display:grid;place-items:center;
  pointer-events:none;opacity:.18;z-index:-1;
  background:radial-gradient(circle,rgba(var(--house-rgb),.11),transparent 63%);
}
.house-hero-crest-watermark img{
  width:76%;height:76%;object-fit:contain;
  filter:grayscale(.42) drop-shadow(0 0 40px rgba(var(--house-rgb),.25));
  animation:houseMarkFloat 11s ease-in-out infinite alternate;
}
.house-hero .house-hero-inner::before{
  content:"";position:absolute;top:50%;right:clamp(-80px,-2vw,0px);
  transform:translateY(-50%);width:clamp(300px,40vw,545px);aspect-ratio:1;
  border:1px solid rgba(var(--house-rgb),.22);border-radius:50%;pointer-events:none;z-index:-2;
  box-shadow:inset 0 0 0 16px rgba(5,12,19,.09),inset 0 0 0 17px rgba(var(--house-rgb),.12),0 0 80px rgba(var(--house-rgb),.07);
}
@keyframes houseMarkFloat{from{transform:translateY(-7px) scale(.98)}to{transform:translateY(9px) scale(1.025)}}
.house-hero-mark{position:relative;width:132px;height:132px;margin-bottom:24px;transition:transform .26s,box-shadow .26s}
.house-hero-mark img{position:relative;z-index:1;width:105px;height:105px;filter:drop-shadow(0 12px 24px rgba(0,0,0,.62)) drop-shadow(0 0 12px rgba(var(--house-rgb),.21))}
.house-sigil-ring{position:absolute;inset:-10px;border-radius:50%;border:1px dashed rgba(var(--house-rgb),.52);box-shadow:0 0 0 8px rgba(var(--house-rgb),.035);animation:houseSigilSpin 85s linear infinite}
.house-sigil-ring::after{content:"✦";position:absolute;top:-11px;left:50%;transform:translateX(-50%);font:17px var(--font-editorial);color:var(--house-accent)}
@keyframes houseSigilSpin{to{transform:rotate(360deg)}}
.house-hero h1{position:relative;max-width:780px;text-wrap:balance}
.house-hero-divider{display:flex;align-items:center;gap:14px;width:min(275px,70%);margin:15px 0 19px;font:17px var(--font-editorial);color:var(--house-accent)}
.house-hero-divider::before,.house-hero-divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--house-accent),transparent);opacity:.65}
.house-hero-divider::after{transform:rotate(180deg)}
.house-value-strip{max-width:470px;margin:0 0 30px;font:700 10px/1.6 var(--font-ui);text-transform:uppercase;letter-spacing:.19em;color:#e7d6bd}
.house-value-strip span{display:inline-block;border-left:2px solid var(--house-accent);padding:7px 0 7px 14px;background:linear-gradient(90deg,rgba(var(--house-rgb),.065),transparent)}
.house-detail{background-attachment:scroll}
.house-detail .container{max-width:1180px}
.house-hat-quote{position:relative;max-width:930px;margin-bottom:88px;padding:52px 30px 55px;background:radial-gradient(ellipse at center,rgba(var(--house-rgb),.07),transparent 75%)}
.house-quote-symbol{position:absolute;left:50%;top:18px;transform:translateX(-50%);font:italic 86px/.8 var(--font-editorial);color:rgba(var(--house-rgb),.25);pointer-events:none}
.house-hat-quote .eyebrow,.house-hat-quote blockquote{position:relative;z-index:1}
.house-hat-quote blockquote{font-size:clamp(24px,2.6vw,36px);line-height:1.5;color:#f4e6d1}
.house-story-panel,.house-traits-panel{background:radial-gradient(ellipse at 100% 0%,rgba(var(--house-rgb),.07),transparent 60%),linear-gradient(155deg,rgba(24,34,46,.94),rgba(9,18,29,.97));border-color:rgba(var(--house-rgb),.3)}
.house-story-panel h2,.house-traits-panel h2,.house-curiosities h2{color:#f6e9d5;letter-spacing:.03em}
.house-story-ornament{margin:-5px 0 24px;color:var(--house-accent);letter-spacing:.25em;font:18px var(--font-editorial);opacity:.72}
.house-story-panel p{font-size:clamp(19px,1.5vw,22px);line-height:1.78;text-wrap:pretty}
.house-traits-panel img{filter:drop-shadow(0 13px 20px rgba(0,0,0,.55)) drop-shadow(0 0 18px rgba(var(--house-rgb),.2));transition:transform .35s ease}
.house-traits-panel:hover img{transform:scale(1.065)}
.house-traits-panel p{font-size:21px;line-height:1.7}
.house-curiosities{margin-top:90px}
.house-facts-rule{height:1px;width:175px;background:linear-gradient(90deg,var(--house-accent),transparent);margin:0 0 33px;opacity:.65}
.house-fact{border-color:rgba(var(--house-rgb),.26);min-height:140px;transition:transform .23s,border-color .23s,box-shadow .23s}
.house-fact:hover{border-color:rgba(var(--house-rgb),.45);box-shadow:0 16px 35px rgba(var(--house-rgb),.055);transform:translateY(-3px)}
.house-fact>span{font-size:25px;color:var(--house-accent)}
.house-fact p{font-size:18px;line-height:1.7}
.house-related-card{position:relative;overflow:hidden;min-height:240px;background:linear-gradient(145deg,rgba(25,36,49,.92),rgba(9,18,28,.96));border:1px solid rgba(218,178,116,.18)}
.house-related-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,rgba(231,194,136,.48),transparent)}
.house-related-card img{width:85px;height:90px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.5))}
.house-related-card h3{font-size:21px}
.house-card-rune{position:absolute;top:17px;right:19px;color:rgba(244,215,161,.5);font:24px var(--font-editorial);pointer-events:none}
.house-grid .house-badge img{transition:transform .35s ease,filter .35s ease}
.house-grid .house:hover .house-badge img,.house-grid .house:focus-visible .house-badge img{transform:translateY(-5px) scale(1.095);filter:drop-shadow(0 13px 22px rgba(0,0,0,.55)) drop-shadow(0 0 15px rgba(218,178,116,.2))}
.house-grid .house::after{transition:border-color .3s}
.house-grid .house:hover::after{border-color:rgba(255,255,255,.12)}
@media(max-width:900px){
 .house-hero{min-height:610px}
 .house-hero-crest-watermark{right:-12%;width:340px;opacity:.12}
 .house-hero .house-hero-inner::before{right:-18%;width:380px;opacity:.55}
 .house-editorial{gap:22px}
 .house-curiosities{margin-top:65px}
}
@media(max-width:600px){
 .house-hero{min-height:580px}
 .house-hero-inner{padding:50px 22px}
 .house-hero-crest-watermark{width:285px;right:-34%;opacity:.08}
 .house-hero .house-hero-inner::before{width:310px;right:-42%;opacity:.4}
 .house-hero-mark{width:106px;height:106px;margin-bottom:18px}
 .house-hero-mark img{width:88px;height:88px}
 .house-hero-divider{margin:12px 0 17px}
 .house-value-strip{font-size:9px;letter-spacing:.12em;margin-bottom:25px}
 .house-hat-quote{padding:39px 12px 40px;margin-bottom:55px}
 .house-hat-quote blockquote{font-size:22px}
 .house-story-ornament{letter-spacing:.09em}
 .house-story-panel p{font-size:18px}
 .house-fact{padding:22px 18px;min-height:0}
 .house-fact p{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.house-sigil-ring,.house-hero-crest-watermark img{animation:none}.house-traits-panel img,.house-grid .house-badge img,.house-fact{transition:none}}


/* FASE 4 — astrolabio del ciclo accademico (anteprima interattiva, non live) */
.astro-intro{display:flex;align-items:center;justify-content:center;gap:16px;margin:35px 0 24px;color:#dfc392;font:700 10px/1.5 var(--font-ui);letter-spacing:.21em;text-align:center}
.astro-intro-line{height:1px;width:min(12vw,100px);background:linear-gradient(90deg,transparent,#b79a69)}
.astro-intro-line:last-child{transform:rotate(180deg)}
.astro-stage{--astro-accent:#dca66f;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(25px,3.8vw,48px);margin:0 0 28px;border:1px solid rgba(225,188,126,.22);background:radial-gradient(circle at 28% 48%,rgba(52,76,110,.22),transparent 42%),linear-gradient(155deg,rgba(10,20,32,.94),rgba(6,13,23,.99));box-shadow:inset 0 0 80px #0003,0 26px 64px #0004;overflow:hidden;position:relative}
.astro-stage.season-theme-autumn{--astro-accent:#dca66f}
.astro-stage.season-theme-winter{--astro-accent:#a8d9ff}
.astro-stage.season-theme-spring{--astro-accent:#bed59a}
.astro-stage.season-theme-summer{--astro-accent:#edc271}
.astro-stage::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;background:radial-gradient(circle at 13% 16%,#fff 0 .6px,transparent 1.4px) 0 0/82px 91px,radial-gradient(circle at 73% 67%,#fff 0 .7px,transparent 1.5px) 0 0/131px 117px}
.astro-wheel-area{position:relative;z-index:1;display:grid;place-items:center;min-width:0}
.astro-wheel{--astro-angle:6.43deg;position:relative;width:min(100%,480px);aspect-ratio:1;border-radius:50%;isolation:isolate;background:radial-gradient(circle at center,#091827 0%,#0b2034 36%,#071423 64%,#08101b 100%);border:1px solid rgba(224,190,135,.45);box-shadow:0 0 0 7px rgba(201,169,115,.035),0 22px 55px #0009,inset 0 0 80px #02070f}
.astro-wheel::before{content:"";position:absolute;inset:3%;border:1px dashed rgba(228,196,144,.23);border-radius:50%;pointer-events:none}
.astro-wheel::after{content:"";position:absolute;inset:9%;border:1px solid rgba(233,199,143,.15);border-radius:50%;pointer-events:none;background:conic-gradient(from -45deg,rgba(196,112,64,.075) 0deg 89deg,transparent 89deg 90deg,rgba(114,167,225,.06) 90deg 179deg,transparent 179deg 180deg,rgba(155,197,108,.08) 180deg 269deg,transparent 269deg 270deg,rgba(238,193,101,.065) 270deg 359deg,transparent 359deg)}
.astro-wheel-stars{position:absolute;inset:11%;border-radius:50%;opacity:.38;background:radial-gradient(circle,#c8e2ff 0 1px,transparent 1.8px) 0 0/73px 79px,radial-gradient(circle,#f6dec1 0 .7px,transparent 1.5px) 17px 29px/113px 101px}
.astro-ring{position:absolute;pointer-events:none;border-radius:50%;z-index:1}
.astro-ring-outer{inset:16%;border:1px solid rgba(220,178,112,.23);box-shadow:0 0 0 3px rgba(226,187,124,.035)}
.astro-ring-middle{inset:25%;border:1px dashed rgba(220,178,112,.27)}
.astro-ring-inner{inset:35%;border:1px solid rgba(220,178,112,.17)}
.astro-indicator{position:absolute;inset:0;transform:rotate(var(--astro-angle));z-index:3;pointer-events:none;transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.astro-indicator::before{content:"";position:absolute;top:8%;left:50%;height:41%;width:1px;background:linear-gradient(180deg,var(--astro-accent),transparent);box-shadow:0 0 12px var(--astro-accent);transform:translateX(-50%)}
.astro-indicator::after{content:"";position:absolute;top:7%;left:50%;width:9px;height:9px;transform:translateX(-50%);border-radius:50%;background:var(--astro-accent);box-shadow:0 0 0 5px #e0b98020,0 0 20px var(--astro-accent)}
.astro-point{position:absolute;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:27%;height:27%;padding:8px 4px;border-radius:50%;border:1px solid rgba(218,181,117,.10);background:rgba(7,17,29,.62);color:#e8ddd0;cursor:pointer;transition:transform .2s,border-color .2s,background .2s;backdrop-filter:blur(2px)}
.astro-point img{width:clamp(42px,5vw,67px);height:clamp(42px,5vw,67px);object-fit:contain;filter:drop-shadow(0 5px 13px #0009)}
.astro-point span{font:600 clamp(10px,1.2vw,13px) var(--font-display);color:#e7d9bf}
.astro-point:hover,.astro-point.selected{transform:scale(1.055);background:rgba(27,43,58,.86);border-color:rgba(232,191,122,.52)}
.astro-point:focus-visible{outline:2px solid #ffdfa2;outline-offset:3px}
.astro-autumn{top:7%;left:50%;translate:-50% 0}
.astro-winter{right:6%;top:50%;translate:0 -50%}
.astro-spring{bottom:7%;left:50%;translate:-50% 0}
.astro-summer{left:6%;top:50%;translate:0 -50%}
.astro-center{position:absolute;inset:36%;z-index:5;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-radius:50%;border:1px solid rgba(214,179,123,.35);background:radial-gradient(circle at 38% 27%,#193045,#071522 78%);box-shadow:0 0 35px #0009,inset 0 0 19px #e5ba7d08;pointer-events:none}
.astro-center span{font:700 clamp(7px,.7vw,9px)/1.4 var(--font-ui);letter-spacing:.08em;color:#d4be98}
.astro-center strong{font:600 clamp(25px,4.5vw,56px)/1.2 var(--font-display);color:#f4d9a5}
.astro-center-ornament{font:18px var(--font-editorial);color:#d8b887;margin-top:1px}
.astro-controls{position:relative;z-index:1;min-width:0}
.astro-controls h4{font:600 clamp(28px,3vw,43px)/1.3 var(--font-display);color:#f8e7cd;margin:12px 0}
.astro-controls>p:not(.astro-simulation-note){font:clamp(18px,1.5vw,21px)/1.65 var(--font-editorial);color:#d7dde5;min-height:66px;margin:0 0 14px}
.astro-season-status{display:inline-block;padding:8px 14px;border:1px solid rgba(222,185,121,.3);color:var(--astro-accent);font:700 11px var(--font-ui);letter-spacing:.1em;margin-bottom:30px}
.astro-controls label{display:flex;justify-content:space-between;gap:12px;color:#e2dbce;font:600 12px var(--font-ui);margin-bottom:14px}
.astro-controls label strong{color:#edcf9b}
#astroDaySlider{display:block;width:100%;appearance:none;-webkit-appearance:none;height:5px;border:0;border-radius:20px;cursor:pointer;background:linear-gradient(90deg,var(--astro-accent) 0 var(--progress),rgba(255,255,255,.13) var(--progress) 100%)}
#astroDaySlider::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:#f5e0bc;border:4px solid #15283b;box-shadow:0 0 0 2px #f5e0bc;cursor:grab}
#astroDaySlider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#f5e0bc;border:3px solid #15283b;box-shadow:0 0 0 2px #f5e0bc;cursor:grab}
#astroDaySlider:focus-visible{outline:2px solid #f5d39a;outline-offset:8px}
.astro-slider-ends{display:flex;justify-content:space-between;gap:8px;margin-top:15px;color:#bfc5cd;font:11px var(--font-ui)}
.astro-progress-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:29px}
.astro-progress-metrics>div{padding:18px 12px;border:1px solid rgba(230,192,134,.17);background:#0b1928aa}
.astro-progress-metrics strong{display:block;font:600 24px var(--font-display);color:#edd19c}
.astro-progress-metrics span{display:block;color:#bdc7ce;font:11px/1.55 var(--font-ui);margin-top:5px}
.astro-simulation-note{border-top:1px solid rgba(230,192,134,.12);padding-top:16px;margin:22px 0 0;color:#bac3cc;font:12px/1.75 var(--font-ui)}
@media(max-width:1000px){.astro-stage{grid-template-columns:1fr}.astro-controls{max-width:570px;width:100%;margin:auto}.astro-wheel{max-width:440px}.astro-point img{width:58px;height:58px}}
@media(max-width:600px){.astro-stage{padding:16px 11px 24px}.astro-wheel{max-width:370px}.astro-point{width:29%;height:29%;padding:3px}.astro-point img{width:clamp(30px,10vw,52px);height:clamp(30px,10vw,52px)}.astro-point span{font-size:clamp(8px,2.5vw,11px)}.astro-autumn{top:5%}.astro-spring{bottom:5%}.astro-winter{right:4%}.astro-summer{left:4%}.astro-center{inset:36%}.astro-center strong{font-size:clamp(24px,8vw,39px)}.astro-center span{font-size:7px}.astro-controls{padding:8px}.astro-progress-metrics strong{font-size:21px}.astro-intro{font-size:9px;letter-spacing:.08em}}
@media(prefers-reduced-motion:reduce){.astro-indicator,.astro-point{transition:none}}


/* Phase 5 · polished microinteractions (transform/opacity only) */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
@media (prefers-reduced-motion:no-preference){
 .reveal-pending{opacity:0;transform:translate3d(0,17px,0);transition:opacity .72s var(--motion-ease),transform .72s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
 .reveal-visible{opacity:1;transform:translate3d(0,0,0)}
 .card,.house,.house-related-card,.house-fact,.button,.login-link,.astro-point,.season-tab,.calendar-phase-item{
  transition-timing-function:var(--motion-ease);
 }
 .button,.login-link{transition-duration:.28s}
 .home-aside-card{transition:background .24s var(--motion-ease),border-color .24s var(--motion-ease)}
 .home-aside-card:hover{background:rgba(218,178,116,.04);border-color:rgba(218,178,116,.2)}
 .calendar-ribbon-card,.calendar-summary-card,.lore-sidebar-inner{transition:border-color .3s var(--motion-ease),box-shadow .3s var(--motion-ease)}
 .calendar-ribbon-card:hover{border-color:rgba(218,178,116,.42);box-shadow:0 18px 35px rgba(0,0,0,.16)}
 .lore-chapter-link span,.lore-next{transition:color .24s var(--motion-ease),border-color .24s var(--motion-ease),background .24s var(--motion-ease)}
 .astro-progress-metrics strong{font-variant-numeric:tabular-nums}
}
/* Keyboard navigation and contrast-safe interactive feedback */
.desktop-nav a:focus-visible,.mobile-nav a:focus-visible,.footer-links a:focus-visible,
.home-discovery-link:focus-visible,.lore-chapter-link:focus-visible,.lore-next:focus-visible{
 outline:2px solid #f1d19b;outline-offset:5px;border-radius:2px;
}
.calendar-phase-item:focus-visible,.season-tab:focus-visible,.astro-point:focus-visible{
 outline:2px solid #f1d19b;outline-offset:3px;
}
#astroDaySlider:active::-webkit-slider-thumb{cursor:grabbing}
#astroDaySlider:active::-moz-range-thumb{cursor:grabbing}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .reveal-pending,.reveal-visible{opacity:1!important;transform:none!important}
}

/* Fase 6: rendering budget and mobile performance */
@media(max-width:700px){
 .section.starlit-section .celestial-nebula,
 .celestial-stage .celestial-nebula{filter:blur(12px)}
 .home-cinematic .home-orbit{display:none}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .reveal-pending,.reveal-visible{opacity:1!important;transform:none!important;transition:none!important}
}


/* Nectum Legacy / cursore circolare ispirato al menu di Hogwarts Legacy */
.nectum-cursor{position:fixed;left:0;top:0;width:0;height:0;z-index:2147483646;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);transition:opacity .16s ease;isolation:isolate;color:#c0c8d2;will-change:transform}
.nectum-cursor.is-visible{opacity:1}
.cursor-ring,.cursor-core{position:absolute;left:0;top:0;box-sizing:border-box;border-radius:50%;pointer-events:none}
.cursor-ring{display:block;border:1px solid rgba(203,213,225,.72);filter:drop-shadow(0 0 2px rgba(210,223,242,.22))}
.cursor-ring-outer{width:51px;height:51px;margin:-25.5px 0 0 -25.5px;border:1px solid transparent;background:conic-gradient(from 0deg,rgba(215,225,238,.78) 0 82deg,transparent 82deg 111deg,rgba(215,225,238,.66) 111deg 197deg,transparent 197deg 225deg,rgba(215,225,238,.78) 225deg 313deg,transparent 313deg 339deg,rgba(215,225,238,.40) 339deg 360deg) border-box;mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1.2px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1.2px));animation:nectumCursorClockwise 9s linear infinite}
.cursor-ring-inner{width:42px;height:42px;margin:-21px 0 0 -21px;border:1px solid transparent;background:conic-gradient(from 12deg,rgba(213,220,233,.5) 0 133deg,transparent 133deg 168deg,rgba(213,220,233,.66) 168deg 297deg,transparent 297deg 326deg,rgba(213,220,233,.52) 326deg 360deg) border-box;mask:radial-gradient(farthest-side,transparent calc(100% - 1.4px),#000 calc(100% - 1.15px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.4px),#000 calc(100% - 1.15px));animation:nectumCursorCounter 7s linear infinite}
.cursor-core{width:12px;height:12px;margin:-6px 0 0 -6px;border:1px solid rgba(225,230,240,.75);background:radial-gradient(circle,rgba(190,205,227,.45) 0 1px,rgba(13,22,33,.16) 2px,transparent 4px);box-shadow:0 0 0 2px rgba(5,12,22,.13),0 0 9px rgba(196,219,246,.12);transition:border-color .15s,box-shadow .15s,background .15s}
.nectum-cursor.is-hovering .cursor-core{border-color:#f4dfa9;box-shadow:0 0 0 3px rgba(225,184,105,.12),0 0 12px rgba(247,207,135,.38)}
.nectum-cursor.is-clicking .cursor-core{border-color:#ffdf8c;background:radial-gradient(circle,#fff4c2 0 2px,#dcae5b 3px,rgba(137,93,34,.1) 5px);box-shadow:0 0 0 3px rgba(248,191,87,.22),0 0 13px rgba(255,206,107,.82),0 0 25px rgba(255,187,76,.32)}
.nectum-cursor.is-clicking .cursor-ring{filter:drop-shadow(0 0 5px rgba(255,197,90,.78))}
.nectum-cursor.is-clicking .cursor-ring-outer{background:conic-gradient(from 0deg,#f7d387 0 82deg,transparent 82deg 111deg,#f7d387 111deg 197deg,transparent 197deg 225deg,#f7d387 225deg 313deg,transparent 313deg 339deg,#f7d387 339deg 360deg)}
.nectum-cursor.is-clicking .cursor-ring-inner{background:conic-gradient(from 12deg,#f7d387 0 133deg,transparent 133deg 168deg,#f7d387 168deg 297deg,transparent 297deg 326deg,#f7d387 326deg 360deg)}
.nectum-cursor.is-typing{opacity:0}
@keyframes nectumCursorClockwise{to{rotate:360deg}}
@keyframes nectumCursorCounter{to{rotate:-360deg}}
@media(hover:hover) and (pointer:fine){html.nectum-custom-cursor,html.nectum-custom-cursor body,html.nectum-custom-cursor a,html.nectum-custom-cursor button,html.nectum-custom-cursor [role="button"],html.nectum-custom-cursor [role="tab"],html.nectum-custom-cursor input[type="range"],html.nectum-custom-cursor select{cursor:none!important}html.nectum-custom-cursor input:not([type="range"]),html.nectum-custom-cursor textarea,html.nectum-custom-cursor [contenteditable="true"]{cursor:text!important}}
@media(hover:none),(pointer:coarse){.nectum-cursor{display:none!important}}
@media(prefers-reduced-motion:reduce){.cursor-ring{animation:none!important}.nectum-cursor,.cursor-core{transition:none}}

/* Cursore Nectum: scintille dorate al click e breve scia durante lo spostamento. */
.nectum-cursor-particles{position:fixed;inset:0;pointer-events:none;z-index:2147483645;overflow:hidden;contain:layout style}
.nectum-cursor-spark{position:absolute;width:var(--size);height:var(--size);margin:calc(var(--size) * -.5) 0 0 calc(var(--size) * -.5);background:#ffe3a0;box-shadow:0 0 5px 1px rgba(255,213,118,.85),0 0 11px rgba(255,181,64,.38);transform:translate3d(0,0,0) rotate(45deg);opacity:0;animation:nectumSparkFly var(--duration) ease-out forwards;will-change:transform,opacity}
.nectum-cursor-spark::after{content:"";position:absolute;left:50%;top:-65%;height:230%;width:1px;transform:translateX(-50%);background:linear-gradient(transparent,rgba(255,245,207,.7),transparent)}
@keyframes nectumSparkFly{0%{opacity:0;transform:translate3d(0,0,0) rotate(45deg) scale(.45)}12%{opacity:1}45%{opacity:.8}100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) rotate(100deg) scale(.2)}}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.nectum-cursor-particles{display:none!important}}

/* Nectum | Sky refinement: no shooting stars, occasional independent twinkles */
.star-cluster .star{
  animation:none;
  opacity:.38;
}
.sky-enhanced .star-cluster .star{opacity:.48}
.star-cluster .star:nth-child(4n),
.star-cluster .star:nth-child(9n){
  animation:nectumGentleTwinkle calc(8s + var(--d)) ease-in-out infinite;
  animation-delay:calc(-3s - var(--d));
}
.star-cluster .star:nth-child(9n){
  animation-duration:calc(11s + var(--d));
  animation-delay:calc(-7s - var(--d));
}
@keyframes nectumGentleTwinkle{
  0%,18%,49%,100%{opacity:.3;transform:scale(1);filter:brightness(1)}
  26%,31%{opacity:.95;transform:scale(1.7);filter:brightness(1.3)}
  37%{opacity:.5;transform:scale(1.1);filter:brightness(1.08)}
}
@media (prefers-reduced-motion:reduce){
  .star-cluster .star:nth-child(4n),.star-cluster .star:nth-child(9n){animation:none}
}


/* Calendar holographic universe */
.astro-stage{isolation:isolate}
.astro-holo-field{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.astro-holo-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.92;mix-blend-mode:screen}
.astro-holo-aura,.astro-holo-grid,.astro-holo-scan{position:absolute;inset:0}
.astro-holo-aura{background:radial-gradient(circle at 22% 50%, rgba(78,131,191,.18), transparent 34%),radial-gradient(circle at 76% 34%, rgba(225,188,126,.12), transparent 29%),radial-gradient(circle at 56% 70%, rgba(114,173,235,.1), transparent 26%);filter:blur(8px);opacity:.95}
.astro-holo-grid{opacity:.22;background:linear-gradient(rgba(166,208,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(166,208,255,.07) 1px,transparent 1px),radial-gradient(circle at center,rgba(234,209,156,.12),transparent 58%);background-size:100% 100%,100% 100%,100% 100%,42px 42px,42px 42px;mask-image:radial-gradient(circle at center,rgba(0,0,0,.95) 0 54%,rgba(0,0,0,.36) 76%,transparent 100%);-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.95) 0 54%,rgba(0,0,0,.36) 76%,transparent 100%)}
.astro-holo-grid::before,.astro-holo-grid::after{content:"";position:absolute;inset:8% 12%;border-radius:50%;border:1px solid rgba(220,189,126,.12);box-shadow:0 0 0 1px rgba(130,184,240,.08) inset}
.astro-holo-grid::after{inset:18% 22%;border-color:rgba(150,196,245,.14)}
.astro-holo-scan{background:linear-gradient(180deg,transparent 0%,rgba(189,225,255,.04) 48%,rgba(233,206,153,.1) 50%,rgba(189,225,255,.04) 52%,transparent 100%);background-size:100% 180px;opacity:.45;animation:astro-scan 8s linear infinite}
.astro-wheel-area,.astro-controls{position:relative;z-index:1}
.astro-wheel{backdrop-filter:blur(2px)}
.astro-controls{background:linear-gradient(145deg,rgba(7,16,28,.42),rgba(7,16,28,.1));border:1px solid rgba(221,189,130,.12);box-shadow:inset 0 0 40px rgba(101,145,188,.08)}
.astro-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.02),transparent 24%,rgba(112,172,236,.05) 58%,transparent 82%);opacity:.85}
@keyframes astro-scan{0%{transform:translateY(-16%)}100%{transform:translateY(16%)}}
@media (prefers-reduced-motion: reduce){.astro-holo-scan{animation:none;opacity:.18}.astro-holo-canvas{opacity:.7}}


/* Calendar hologram premium refinement */
.calendar-showcase{transition:background .55s ease, box-shadow .55s ease, border-color .55s ease}
.astro-stage{transition:border-color .55s ease, box-shadow .55s ease, background .55s ease, transform .55s ease}
.astro-stage.season-theme-autumn{--holo-primary:223,156,88;--holo-secondary:255,213,146;--holo-tertiary:117,165,232}
.astro-stage.season-theme-winter{--holo-primary:155,214,255;--holo-secondary:237,247,255;--holo-tertiary:126,161,255}
.astro-stage.season-theme-spring{--holo-primary:204,219,158;--holo-secondary:249,240,203;--holo-tertiary:123,196,165}
.astro-stage.season-theme-summer{--holo-primary:238,193,106;--holo-secondary:255,227,171;--holo-tertiary:255,167,95}
.astro-holo-prism{position:absolute;inset:6%;pointer-events:none;border-radius:24px;background:radial-gradient(circle at 30% 35%, rgba(var(--holo-secondary),.08), transparent 22%),radial-gradient(circle at 74% 62%, rgba(var(--holo-tertiary),.08), transparent 24%);filter:blur(14px);mix-blend-mode:screen;opacity:.9}
.astro-wheel-area{position:relative;display:grid;place-items:center;min-height:min(40vw,640px)}
.astro-rune-orbit{position:absolute;inset:50% auto auto 50%;width:min(94%,540px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0;filter:drop-shadow(0 0 10px rgba(var(--holo-primary),.22))}
.astro-rune-orbit span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:30px;height:30px;margin:-15px;color:rgba(var(--holo-secondary),.6);font:14px/1 "Cinzel", serif;text-shadow:0 0 14px rgba(var(--holo-primary),.32)}
.astro-rune-orbit-outer{animation:astro-runes-spin 36s linear infinite}
.astro-rune-orbit-inner{width:min(78%,445px);animation:astro-runes-spin-rev 26s linear infinite;opacity:.78}
.astro-rune-orbit span:nth-child(1){transform:translate(-50%,-50%) rotate(0deg) translateY(calc(var(--orbit-radius, -240px))) rotate(0deg)}
.astro-rune-orbit span:nth-child(2){transform:translate(-50%,-50%) rotate(45deg) translateY(calc(var(--orbit-radius, -240px))) rotate(-45deg)}
.astro-rune-orbit span:nth-child(3){transform:translate(-50%,-50%) rotate(90deg) translateY(calc(var(--orbit-radius, -240px))) rotate(-90deg)}
.astro-rune-orbit span:nth-child(4){transform:translate(-50%,-50%) rotate(135deg) translateY(calc(var(--orbit-radius, -240px))) rotate(-135deg)}
.astro-rune-orbit span:nth-child(5){transform:translate(-50%,-50%) rotate(180deg) translateY(calc(var(--orbit-radius, -240px))) rotate(-180deg)}
.astro-rune-orbit span:nth-child(6){transform:translate(-50%,-50%) rotate(225deg) translateY(calc(var(--orbit-radius, -240px))) rotate(-225deg)}
.astro-rune-orbit span:nth-child(7){transform:translate(-50%,-50%) rotate(270deg) translateY(calc(var(--orbit-radius, -240px))) rotate(-270deg)}
.astro-rune-orbit span:nth-child(8){transform:translate(-50%,-50%) rotate(315deg) translateY(calc(var(--orbit-radius, -240px))) rotate(-315deg)}
.astro-rune-orbit-outer{--orbit-radius:-258px}
.astro-rune-orbit-inner{--orbit-radius:-202px}
.astro-wheel{position:relative;z-index:1;transition:transform .55s ease, filter .55s ease, box-shadow .55s ease}
.astro-stage.is-transitioning .astro-wheel{animation:astro-wheel-shift .9s cubic-bezier(.2,.8,.2,1)}
.astro-stage.is-transitioning .astro-controls,.astro-stage.is-transitioning .calendar-detail-wide{animation:astro-fade-shift .75s ease}
.astro-stage.is-transitioning::after{animation:astro-flare 850ms ease}
.astro-stage::before{opacity:.42}
.astro-wheel::before{content:"";position:absolute;inset:7%;border-radius:50%;border:1px solid rgba(var(--holo-primary),.18);box-shadow:0 0 0 1px rgba(var(--holo-secondary),.08) inset,0 0 34px rgba(var(--holo-tertiary),.12)}
.astro-center{box-shadow:0 0 0 1px rgba(var(--holo-secondary),.12) inset,0 0 28px rgba(var(--holo-primary),.12), inset 0 0 24px rgba(var(--holo-tertiary),.09);transition:box-shadow .5s ease, transform .5s ease}
.astro-stage.season-theme-autumn .astro-center{background:radial-gradient(circle at 50% 30%, rgba(221,164,88,.14), rgba(17,28,44,.95))}
.astro-stage.season-theme-winter .astro-center{background:radial-gradient(circle at 50% 30%, rgba(153,214,255,.14), rgba(15,26,42,.95))}
.astro-stage.season-theme-spring .astro-center{background:radial-gradient(circle at 50% 30%, rgba(203,220,162,.14), rgba(17,28,36,.95))}
.astro-stage.season-theme-summer .astro-center{background:radial-gradient(circle at 50% 30%, rgba(240,193,104,.16), rgba(22,24,34,.95))}
.astro-controls h4,.calendar-detail-wide h3{transition:color .45s ease, text-shadow .45s ease}
.astro-stage.season-theme-autumn .astro-controls h4,.calendar-detail-wide.season-theme-autumn h3{color:#f4ddc5;text-shadow:0 0 18px rgba(218,150,86,.12)}
.astro-stage.season-theme-winter .astro-controls h4,.calendar-detail-wide.season-theme-winter h3{color:#eef7ff;text-shadow:0 0 18px rgba(149,206,255,.13)}
.astro-stage.season-theme-spring .astro-controls h4,.calendar-detail-wide.season-theme-spring h3{color:#f3efd9;text-shadow:0 0 18px rgba(196,213,150,.12)}
.astro-stage.season-theme-summer .astro-controls h4,.calendar-detail-wide.season-theme-summer h3{color:#fff0d0;text-shadow:0 0 18px rgba(238,191,102,.13)}
.calendar-showcase.season-theme-autumn .season-tab.selected,.calendar-phase-item.selected{box-shadow:0 12px 28px rgba(223,155,86,.12)}
.calendar-showcase.season-theme-winter .season-tab.selected,.calendar-showcase.season-theme-winter .calendar-phase-item.selected{box-shadow:0 12px 28px rgba(165,204,239,.12)}
.calendar-showcase.season-theme-spring .season-tab.selected,.calendar-showcase.season-theme-spring .calendar-phase-item.selected{box-shadow:0 12px 28px rgba(217,215,162,.12)}
.calendar-showcase.season-theme-summer .season-tab.selected,.calendar-showcase.season-theme-summer .calendar-phase-item.selected{box-shadow:0 12px 28px rgba(236,193,109,.12)}
@keyframes astro-runes-spin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes astro-runes-spin-rev{from{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}
@keyframes astro-wheel-shift{0%{transform:scale(.985);filter:brightness(.94)}40%{transform:scale(1.02);filter:brightness(1.08)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes astro-fade-shift{0%{opacity:.48;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
@keyframes astro-flare{0%{opacity:0}18%{opacity:1}100%{opacity:.85}}
@media(max-width:600px){.astro-rune-orbit-outer{--orbit-radius:-174px}.astro-rune-orbit-inner{--orbit-radius:-138px}.astro-rune-orbit span{font-size:11px;width:24px;height:24px;margin:-12px}}
@media (prefers-reduced-motion: reduce){.astro-rune-orbit-outer,.astro-rune-orbit-inner,.astro-stage.is-transitioning .astro-wheel,.astro-stage.is-transitioning .astro-controls,.astro-stage.is-transitioning .calendar-detail-wide,.astro-stage.is-transitioning::after{animation:none !important}}


/* Logo header update */
.brand.brand-image{display:flex;align-items:center;min-width:0;gap:0;filter:none;}
.brand-logo{display:block;width:clamp(180px, 18vw, 270px);height:auto;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35));}
.brand-image:hover{filter:none!important}
.brand-image:hover .brand-logo{filter:drop-shadow(0 6px 18px rgba(214,171,96,.18)) drop-shadow(0 4px 14px rgba(0,0,0,.4));}
@media (max-width:1100px){.brand-logo{width:clamp(150px, 20vw, 220px)}}
@media (max-width:720px){.brand-logo{width:170px}}
@media (max-width:560px){.brand-logo{width:145px}}

/* Nectum | proporzioni dei loghi in testata e footer */
.header .brand.brand-image { flex: 0 0 auto; width: 180px; min-width: 0; }
.header .brand-logo { display: block; width: 100%; max-width: 180px; height: auto; max-height: 62px; object-fit: contain; }
.footer .footer-brand-image { display: inline-flex; align-items: center; max-width: 100%; line-height: 0; }
.footer .footer-logo { display: block; width: clamp(210px, 23vw, 280px); max-width: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 3px 12px rgba(0,0,0,.35)); }
.footer .footer-brand-image:hover .footer-logo { filter: drop-shadow(0 3px 14px rgba(221,176,105,.26)); }
@media (max-width: 1100px) { .header .brand.brand-image { width: 164px; } .header .brand-logo { max-width: 164px; } }
@media (max-width: 720px) { .header .brand.brand-image { width: 154px; } .header .brand-logo { max-width: 154px; } .footer .footer-logo { width: 230px; } }
@media (max-width: 480px) { .header .brand.brand-image { width: 145px; } .header .brand-logo { max-width: 145px; } .footer .footer-logo { width: 210px; } }


/* Footer rework — clear visual hierarchy and responsive grid */
.footer{
  display:block;
  padding:0;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-top:1px solid rgba(217,179,117,.34);
  background:#07111d;
}
.footer::before{
  position:absolute;
  inset:0;
  content:"";
  background:linear-gradient(90deg,rgba(5,13,23,.94),rgba(5,13,23,.91) 48%,rgba(5,13,23,.84)),
    linear-gradient(0deg,#07111b 0%,transparent 64%),
    url('assets/bg-boat-castle.webp') center 44%/cover no-repeat;
  opacity:1;
}
.footer::after{width:min(1180px,calc(100% - 44px));}
.footer-container{position:relative;z-index:1;width:min(1190px,calc(100% - 64px));margin:0 auto;}
.footer-main{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1.04fr) minmax(0,.95fr);column-gap:clamp(36px,5vw,85px);padding:78px 0 68px;align-items:start;}
.footer-identity,.footer-navigation,.footer-discover{min-width:0;}
.footer .footer-brand-image{display:inline-flex;align-items:center;width:100%;max-width:294px;}
.footer .footer-logo{display:block;width:100%;max-width:294px;height:auto;filter:drop-shadow(0 2px 10px #0008);}
.footer .footer-identity p{margin:12px 0 24px;max-width:290px;font:19px/1.45 var(--font-editorial),Georgia,serif;color:#e3ddce;}
.footer-identity-rule{display:flex;gap:14px;align-items:center;max-width:264px;color:#cba56b;font-size:17px;}
.footer-identity-rule::before,.footer-identity-rule::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(215,176,111,.40),rgba(215,176,111,.08));}
.footer-identity-rule::after{transform:rotate(180deg)}
.footer-identity-subtitle{display:block;margin-top:17px;font:600 9px/1.6 var(--font-ui),sans-serif;letter-spacing:.16em;color:#c0ac8b;}
.footer-navigation h2,.footer-discover h2{font:600 13px/1.35 var(--font-display),serif;color:#f5dfb6;letter-spacing:.10em;text-transform:uppercase;margin:8px 0 29px;}
.footer-nav-columns{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;}
.footer .footer-links{display:flex;flex-direction:column;gap:15px;flex-wrap:nowrap;align-content:initial;}
.footer .footer-links a{color:#d7d7d4;font:500 12px/1.45 var(--font-ui),sans-serif;letter-spacing:.015em;width:fit-content;padding:0;}
.footer .footer-links a:hover,.footer-bottom-right a:hover{color:#f7d59e;}
.footer .footer-discover p{font:16px/1.7 var(--font-editorial),Georgia,serif;color:#d7d9d7;margin:0 0 23px;max-width:30ch;}
.footer-discover-link{display:inline-flex;align-items:center;gap:19px;border:1px solid rgba(219,176,109,.46);color:#f3d19d;padding:12px 16px;font:700 10px/1.3 var(--font-ui),sans-serif;text-transform:uppercase;letter-spacing:.09em;transition:background .2s ease,border-color .2s ease,transform .2s ease;}
.footer-discover-link:hover{background:rgba(221,176,109,.1);border-color:#e4c590;transform:translateY(-2px);}
.footer-bottom{display:grid;grid-template-columns:1fr auto 1.25fr;gap:25px;align-items:center;border-top:1px solid rgba(219,180,119,.2);padding:24px 0 26px;}
.footer .footer-bottom p,.footer .footer-bottom-right{margin:0;font:500 10px/1.65 var(--font-ui),sans-serif;color:#b6bfc9;letter-spacing:.01em;max-width:none;}
.footer-bottom .footer-development{text-align:center;white-space:nowrap;}
.footer-development strong{font-weight:700;color:#f3d099;}
.footer-bottom-right{display:flex;align-items:center;gap:12px;justify-content:flex-end;text-align:right;}
.footer-bottom-right a{color:#dec28f;white-space:nowrap;}
.footer-bottom-separator{font-size:7px;color:#967950;}
@media(max-width:1050px){
  .footer-main{grid-template-columns:1fr 1fr;gap:44px 50px;}
  .footer-discover{grid-column:1/-1;max-width:560px;border-top:1px solid rgba(218,178,116,.15);padding-top:29px;}
  .footer-discover h2{margin-top:0;}
  .footer-bottom{grid-template-columns:1fr auto;}
  .footer-bottom-right{grid-column:1/-1;justify-content:flex-start;text-align:left;}
}
@media(max-width:650px){
  .footer-container{width:min(100% - 36px,500px);}
  .footer-main{grid-template-columns:1fr;gap:31px;padding:51px 0 41px;}
  .footer .footer-brand-image,.footer .footer-logo{max-width:245px;}
  .footer .footer-identity p{margin:7px 0 18px;}
  .footer-navigation,.footer-discover{border-top:1px solid rgba(218,178,116,.17);padding-top:28px;}
  .footer-navigation h2,.footer-discover h2{margin:0 0 22px;}
  .footer-nav-columns{max-width:400px;}
  .footer-discover{grid-column:auto;max-width:none;}
  .footer-bottom{grid-template-columns:1fr;gap:9px;padding:22px 0 28px;}
  .footer-bottom .footer-development{text-align:left;}
  .footer-bottom-right{grid-column:auto;display:block;line-height:1.7;text-align:left;}
  .footer-bottom-separator{margin:0 8px;}
}
@media(prefers-reduced-motion:reduce){.footer-discover-link{transition:none;}.footer-discover-link:hover{transform:none;}}


/* Footer social placeholder: real URLs and official icons to be added later */
.footer-socials{min-width:0;}
.footer-socials h2{font:600 13px/1.35 var(--font-display),serif;color:#f5dfb6;letter-spacing:.10em;text-transform:uppercase;margin:8px 0 29px;}
.footer-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:12px;}
.footer-social-item{display:flex;align-items:center;gap:11px;min-width:0;padding:10px 11px;border:1px solid rgba(217,176,109,.19);background:linear-gradient(135deg,rgba(12,26,39,.6),rgba(8,17,29,.38));color:#e3ddd2;font:600 12px/1.45 var(--font-ui),sans-serif;letter-spacing:.015em;}
.footer-social-mark{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid rgba(218,178,116,.32);border-radius:50%;color:#e1bd81;font:19px/1 var(--font-editorial),Georgia,serif;}
.footer-social-note{font:12px/1.65 var(--font-ui),sans-serif;color:#aeb8c2;margin:15px 0 0;max-width:33ch;}
@media(max-width:650px){.footer-socials{border-top:1px solid rgba(218,178,116,.17);padding-top:28px;}.footer-socials h2{margin:0 0 22px;}.footer-social-grid{max-width:440px;}}
@media(max-width:350px){.footer-social-grid{grid-template-columns:1fr;}}

/* Social ufficiali — footer */
.footer a.footer-social-item{text-decoration:none;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;}
.footer a.footer-social-item:hover,.footer a.footer-social-item:focus-visible{color:#fff1d7;border-color:rgba(240,203,145,.62);background:linear-gradient(135deg,rgba(35,46,58,.88),rgba(16,28,43,.78));box-shadow:0 0 20px rgba(213,174,107,.08);transform:translateY(-2px);}
.footer a.footer-social-item:focus-visible{outline:2px solid #e5be7a;outline-offset:3px;}
.footer-social-external{margin-left:auto;color:#dcb777;opacity:.65;font-size:13px;transition:opacity .2s ease,transform .2s ease;}
.footer a.footer-social-item:hover .footer-social-external{opacity:1;transform:translate(2px,-2px);}
@media(prefers-reduced-motion:reduce){.footer a.footer-social-item,.footer-social-external{transition:none!important}.footer a.footer-social-item:hover{transform:none}.footer a.footer-social-item:hover .footer-social-external{transform:none}}


/* Official Nectum Legacy social emblems */
.footer-social-mark{flex:0 0 42px;width:42px;height:42px;border:0;background:none;border-radius:0;overflow:visible;}
.footer-social-mark img{width:42px;height:42px;display:block;object-fit:contain;filter:drop-shadow(0 0 4px rgba(207,158,77,.20));transition:transform .22s ease,filter .22s ease;}
.footer a.footer-social-item:hover .footer-social-mark img,.footer a.footer-social-item:focus-visible .footer-social-mark img{transform:scale(1.08);filter:drop-shadow(0 0 7px rgba(233,185,101,.48));}
.footer-social-item{min-height:60px;}
@media(max-width:650px){.footer-social-mark,.footer-social-mark img{width:38px;height:38px}.footer-social-mark{flex-basis:38px}}
@media(prefers-reduced-motion:reduce){.footer-social-mark img{transition:none!important}.footer a.footer-social-item:hover .footer-social-mark img{transform:none}}


/* Divider system — crisp CSS line. No blown-up bitmap, no mask and no blur. */
:root { --nectum-divider:#dab274; }
.section-head .accent-line,
.page-intro .accent-line,
.lore-rule {
  display:block;
  width:min(340px,72vw);
  height:2px;
  margin:20px auto 18px;
  border:0;
  background:linear-gradient(90deg,transparent 0%,rgba(218,178,116,.44) 12%,#dab274 50%,rgba(218,178,116,.44) 88%,transparent 100%);
  box-shadow:none;
  overflow:visible;
  border-radius:1px;
}
.section-head .accent-line::before,
.section-head .accent-line::after {content:none;display:none;}
.page-intro .accent-line {width:min(250px,63vw);height:2px;margin:21px auto 17px;}
.section-head .eyebrow::before,
.section-head .eyebrow::after {
  content:"";
  display:block;
  flex:0 0 clamp(34px,7vw,72px);
  width:clamp(34px,7vw,72px);
  height:1px;
  background:linear-gradient(90deg,transparent,#dab274);
  opacity:.75;
}
.section-head .eyebrow::after {transform:rotate(180deg);}
.desktop-nav a.active::after,.desktop-nav a:hover::after{
  width:34px;height:2px;bottom:3px;
  background:linear-gradient(90deg,transparent,#dab274,transparent);
  box-shadow:none;border-radius:1px;
}
.footer-identity-rule {
  display:block;
  width:min(230px,100%);
  max-width:100%;height:1px;
  margin:10px 0 0;
  background:linear-gradient(90deg,transparent 0%,#dab274 50%,transparent 100%);
  box-shadow:none;
}
.footer-identity-rule::before,.footer-identity-rule::after {content:none;display:none;}
@media(max-width:600px){
  .section-head .accent-line {width:min(265px,76vw);}
  .page-intro .accent-line{width:min(210px,65vw);}
  .section-head .eyebrow::before,.section-head .eyebrow::after{flex-basis:32px;width:32px;}
}


/* Astral calendar rebuild — source-illustrated interactive orrery */
.calendar-premium .astro-intro{margin-top:22px;margin-bottom:18px}
.calendar-premium .astral-universe{--astral-tint:#d8bd78;display:grid;grid-template-columns:minmax(0,1.88fr) minmax(290px,.92fr);align-items:stretch;position:relative;isolation:isolate;background:#04101e;border:1px solid rgba(217,177,100,.53);box-shadow:0 24px 90px #0008,0 0 0 4px rgba(5,14,25,.7) inset;min-height:550px;overflow:hidden}
.astral-universe::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 35% 48%,rgba(55,111,156,.20),transparent 56%),linear-gradient(90deg,transparent 61%,rgba(1,8,16,.86) 78%,rgba(2,9,18,.7));z-index:0}
.astral-universe[data-season="autumn"]{--astral-tint:#eca06b}.astral-universe[data-season="winter"]{--astral-tint:#a3dfff}.astral-universe[data-season="spring"]{--astral-tint:#d9d79b}.astral-universe[data-season="summer"]{--astral-tint:#f5c679}
.astral-cosmos{position:relative;min-width:0;aspect-ratio:809 / 702;align-self:center;isolation:isolate}
.astral-cosmos-art{position:absolute;inset:0;background:url("assets/astral-universe.webp") center / 100% 100% no-repeat;filter:saturate(1.13) contrast(1.07);transition:filter .4s ease}
.astral-stardust{position:absolute;inset:0;pointer-events:none;opacity:.62;background:radial-gradient(circle at 12% 28%,#fff8 0 1px,transparent 2px),radial-gradient(circle at 77% 62%,#ffe3a9aa 0 1px,transparent 2px),radial-gradient(circle at 52% 19%,#fff 0 1px,transparent 3px),radial-gradient(circle at 29% 72%,#8fe4faaa 0 1px,transparent 3px);animation:astral-breath 7s ease-in-out infinite alternate}
.astral-hotspot{position:absolute;z-index:3;width:24%;height:23%;padding:0;border:0;border-radius:45%;background:transparent;cursor:pointer;transition:box-shadow .25s ease,background .25s ease}
.astral-hotspot:hover,.astral-hotspot:focus-visible{background:radial-gradient(circle,rgba(247,208,124,.11),transparent 74%);box-shadow:0 0 24px rgba(230,193,116,.22);outline:1px solid rgba(236,202,130,.58);outline-offset:0}
.astral-hotspot.selected{box-shadow:inset 0 0 26px rgba(227,206,123,.08)}
.astral-autumn{left:39%;top:2%}.astral-winter{right:4%;top:38%}.astral-spring{left:39%;bottom:2%}.astral-summer{left:3%;top:38%}
.astral-panel{position:relative;z-index:1;margin:34px 28px 34px 2px;padding:32px clamp(18px,2vw,32px) 25px;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(150deg,rgba(9,24,38,.92),rgba(3,12,24,.91));border:1px solid rgba(223,180,99,.50);box-shadow:inset 0 0 44px rgba(11,55,82,.2),0 6px 42px #0007}
.astral-panel::before,.astral-panel::after{content:"✧";position:absolute;color:#e9c47a;font-size:26px;text-shadow:0 0 14px #c88f47;top:-17px;left:calc(50% - 12px)}
.astral-panel::after{top:auto;bottom:-15px}
.astral-panel-emblem{height:88px;width:88px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(220,190,118,.5);background:radial-gradient(circle,rgba(190,165,92,.13),transparent);margin-bottom:16px;box-shadow:0 0 28px rgba(229,192,105,.17)}
.astral-panel-emblem img{width:79px;height:79px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(222,186,97,.4))}
.astral-panel .eyebrow{font-size:9px;letter-spacing:.22em;color:#e6c58e;margin-bottom:7px}
.astral-panel h3{font:500 clamp(30px,3.2vw,47px)/1.15 var(--font-display),Cinzel,serif;margin:0 0 17px;color:#f7e8c9;text-shadow:0 3px 24px #000}
.astral-panel>p:not(.astral-quote):not(.astral-simulation){font:19px/1.42 var(--font-editorial),Georgia,serif;margin:0 auto 18px;color:#f0e8d7;max-width:31ch;min-height:54px}
.astral-status{border:1px solid rgba(210,173,89,.65);font:600 11px var(--font-display),serif;padding:10px 27px;color:#dedda5;letter-spacing:.05em;background:linear-gradient(90deg,transparent,#26332170,transparent);margin:0 0 20px}
.astral-stat{width:100%;text-align:left;padding:12px 0;border-top:1px solid rgba(220,187,111,.24)}
.astral-stat-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font:12px/1.5 var(--font-ui),sans-serif;color:#ddd5c8}
.astral-stat-title strong{font:500 21px var(--font-display),serif;color:#f4dba5;white-space:nowrap}
.astral-stat input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:5px;display:block;margin:11px 0 4px;outline-offset:8px;background:linear-gradient(90deg,#d0ac62 var(--progress,50%),rgba(159,175,186,.18) var(--progress,50%));border-radius:0;cursor:pointer}
.astral-stat input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#f0d69e;border:3px solid #0b1929;box-shadow:0 0 0 2px #e6c17c,0 0 12px #c29a58}
.astral-stat input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#eace90;border:2px solid #0b1929}
.astral-meter{height:5px;background:rgba(159,175,186,.18);margin:11px 0 4px;overflow:hidden}.astral-meter span{display:block;height:100%;background:linear-gradient(90deg,#aa954f,var(--astral-tint),#f1d695);box-shadow:0 0 13px #e6ce8a;transition:width .36s ease}
.astral-quote{font:italic 16px/1.32 var(--font-editorial),Georgia,serif;color:#e0d1bc;margin:18px 0 0}.astral-simulation{font:10px/1.4 var(--font-ui),sans-serif;color:#aab4bc;margin:13px 0 0}
.astral-universe.is-transitioning .astral-panel-emblem{animation:astral-selection .7s ease}.astral-universe.is-transitioning .astral-panel h3{animation:astral-selection .7s ease}
.calendar-premium .season-tabs{margin-top:17px}
@keyframes astral-breath{from{opacity:.32;filter:brightness(.8)}to{opacity:.85;filter:brightness(1.45)}}@keyframes astral-selection{0%{opacity:.4;transform:scale(.96)}100%{opacity:1;transform:scale(1)}}
@media(max-width:1080px){.calendar-premium .astral-universe{grid-template-columns:minmax(0,1.48fr) minmax(270px,1fr)}.astral-panel{margin:22px 16px 22px 0;padding:25px 17px}}
@media(max-width:760px){.calendar-premium .astral-universe{grid-template-columns:1fr;min-height:0}.astral-cosmos{width:min(100%,630px);justify-self:center}.astral-panel{margin:0 14px 18px;padding:25px 20px}.astral-panel>p:not(.astral-quote):not(.astral-simulation){min-height:0}.astral-universe::before{background:linear-gradient(180deg,transparent 32%,#061320 75%)}}
@media(prefers-reduced-motion:reduce){.astral-stardust,.astral-universe.is-transitioning .astral-panel-emblem,.astral-universe.is-transitioning .astral-panel h3{animation:none!important}}


/* Calendario semplificato: nessun astrolabio o pannello interattivo */
.calendar-explained{position:relative;isolation:isolate;overflow:hidden;padding:82px 0 110px}
.calendar-explained>.celestial-sky{z-index:-1}
.calendar-explained .container{position:relative;z-index:1}
.calendar-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:48px 0 76px}
.calendar-overview-stats>div{border:1px solid rgba(218,178,116,.22);background:linear-gradient(150deg,rgba(18,33,48,.88),rgba(7,16,27,.82));padding:25px 18px;text-align:center;min-width:0}
.calendar-overview-stats span,.calendar-overview-stats small{display:block;font:600 10px/1.5 var(--font-ui),sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#b8bac1}
.calendar-overview-stats strong{display:block;font:400 clamp(35px,4.5vw,58px)/1.25 var(--font-display),serif;color:#edcf9b;margin:7px 0}
.calendar-overview-stats small{color:#d9c8aa;letter-spacing:.06em}
.calendar-explained-heading{text-align:center;max-width:780px;margin:0 auto 35px}
.calendar-explained-heading h3{font:400 clamp(29px,4vw,46px)/1.2 var(--font-display),serif;color:#f3e9dc;margin:12px 0 12px}
.calendar-explained-heading p{font:20px/1.6 var(--font-editorial),Georgia,serif;color:#cdd3dc}
.calendar-season-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.calendar-season-card{--season-line:#dbad78;position:relative;background:linear-gradient(145deg,rgba(17,31,44,.94),rgba(7,16,27,.94));border:1px solid rgba(219,182,128,.22);padding:29px 31px 32px;min-width:0;box-shadow:0 16px 35px rgba(0,0,0,.15)}
.calendar-season-card::before{content:"";position:absolute;left:30px;right:30px;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--season-line),transparent);opacity:.8}
.calendar-season-card.season-winter{--season-line:#9ecff0}.calendar-season-card.season-spring{--season-line:#abc79c}.calendar-season-card.season-summer{--season-line:#e8bf6d}
.calendar-season-card-top{display:flex;align-items:center;gap:18px}
.calendar-season-card-top img{height:76px;width:76px;object-fit:contain;flex:none;filter:drop-shadow(0 0 15px rgba(214,172,103,.15))}
.calendar-season-card-top span{display:block;font:600 10px/1.5 var(--font-ui),sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#c4b39b}
.calendar-season-card-top h4{font:400 clamp(24px,3vw,34px)/1.2 var(--font-display),serif;color:#f4e7d6;margin:6px 0 0}
.calendar-season-school{display:inline-flex;margin:20px 0 12px;padding:6px 10px;border:1px solid rgba(175,203,164,.32);color:#bed4ae;font:600 10px/1.4 var(--font-ui),sans-serif;letter-spacing:.09em;text-transform:uppercase}
.calendar-season-school.is-closed{color:#e7c093;border-color:rgba(224,177,107,.32)}
.calendar-season-card>p{font:19px/1.65 var(--font-editorial),Georgia,serif;color:#d8dbe0;margin:0;max-width:50ch}
.calendar-explained-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start;margin-top:70px;padding-top:38px;border-top:1px solid rgba(222,180,112,.19)}
.calendar-explained-bottom h3{font:400 clamp(27px,3.5vw,41px)/1.2 var(--font-display),serif;color:#f0e2cf;margin:15px 0}
.calendar-explained-bottom p{font:19px/1.7 var(--font-editorial),Georgia,serif;color:#d1d6df}
.calendar-explained-note{padding:28px 30px;background:rgba(10,23,35,.8);border:1px solid rgba(215,177,117,.23)}
.calendar-explained-note p{margin:13px 0;font-size:18px}.calendar-explained-note strong{color:#f0d5a7;font-weight:600}
.calendar-explained-note small{font:12px/1.65 var(--font-ui),sans-serif;color:#aeb9c5}
@media(max-width:760px){.calendar-explained{padding:57px 0 70px}.calendar-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:32px 0 48px}.calendar-season-cards,.calendar-explained-bottom{grid-template-columns:1fr}.calendar-explained-bottom{gap:22px;margin-top:45px}.calendar-season-card{padding:24px}}
@media(max-width:420px){.calendar-overview-stats{gap:8px}.calendar-overview-stats>div{padding:18px 8px}.calendar-season-card-top img{width:60px;height:60px}}

/* Nectum Legacy — social esclusivamente nella testata e footer essenziale */
.header-socials{display:flex;align-items:center;gap:12px;flex-shrink:0;white-space:nowrap}
.header-social-link{display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transition:transform .18s ease,filter .18s ease,opacity .18s ease;outline-offset:4px}
.header-social-link img{width:38px;height:38px;object-fit:contain;display:block;filter:drop-shadow(0 0 5px rgba(216,171,98,.18))}
.header-social-link:hover,.header-social-link:focus-visible{background:transparent;border:0;transform:translateY(-2px) scale(1.06);opacity:1}
.header-social-link:hover img,.header-social-link:focus-visible img{filter:drop-shadow(0 0 8px rgba(237,192,122,.34))}
.footer.footer-compact{background:linear-gradient(180deg,rgba(5,13,23,.96),rgba(5,11,20,.99));border-top:1px solid rgba(218,178,116,.22);min-height:0}
.footer-compact .footer-container{width:min(1190px,calc(100% - 64px));margin-inline:auto}
.footer-compact-main{min-height:128px;display:flex;align-items:center;justify-content:space-between;gap:38px;padding:24px 0;border-bottom:1px solid rgba(218,178,116,.16)}
.footer-compact .footer-brand-image{display:inline-flex;align-items:center;flex:0 0 auto;width:210px;max-width:40%;line-height:0}
.footer-compact .footer-logo{width:100%;max-width:210px;height:auto;object-fit:contain;filter:drop-shadow(0 2px 9px rgba(0,0,0,.3))}
.footer-compact-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px 26px}
.footer-compact-nav a{font:600 11px/1.6 var(--font-ui),sans-serif;color:#c9c9c8;letter-spacing:.03em;transition:color .18s ease}
.footer-compact-nav a:hover,.footer-compact-nav a:focus-visible{color:#edcd92}
.footer-compact-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:20px 0 23px;font:500 10px/1.6 var(--font-ui),sans-serif;color:#a9b3bd}
.footer-compact-credit{white-space:nowrap}.footer-compact-credit strong{color:#efc98b;font-weight:700}
.footer-compact-disclaimer{max-width:340px;text-align:right}
@media(max-width:1100px){.header-socials{gap:9px}.header-social-link img{width:35px;height:35px}}
@media(max-width:900px){.header-socials{gap:8px}.header-social-link img{width:34px;height:34px}.footer-compact-main{gap:20px}.footer-compact-nav{gap:10px 17px}}
@media(max-width:650px){.header-actions{gap:12px}.header-socials{gap:6px}.header-social-link img{width:30px;height:30px}.footer-compact .footer-container{width:calc(100% - 36px)}.footer-compact-main{min-height:0;flex-direction:column;align-items:flex-start;gap:24px;padding:29px 0 25px}.footer-compact .footer-brand-image{width:185px;max-width:100%}.footer-compact-nav{justify-content:flex-start;gap:12px 21px}.footer-compact-bottom{flex-direction:column;align-items:flex-start;gap:6px;padding:17px 0 22px}.footer-compact-disclaimer{text-align:left;max-width:none}}
@media(max-width:385px){.header-social-link img{width:27px;height:27px}.header-actions{gap:5px}.footer-compact-nav{gap:10px 16px}}
@media(prefers-reduced-motion:reduce){.header-social-link,.footer-compact-nav a{transition:none}.header-social-link:hover{transform:none}.header-social-link:hover img,.header-social-link:focus-visible img{filter:drop-shadow(0 0 5px rgba(216,171,98,.18))}}

/* Footer Nectum: componente isolato, a due livelli, ispirato alla chiarezza dei footer istituzionali. */
.nectum-legal-footer{display:block!important;position:relative!important;width:100%;min-height:0!important;padding:0!important;margin:0!important;gap:0!important;border-top:1px solid rgba(214,175,110,.27);background:#0b1624;color:#cbd3dc;text-align:left;box-sizing:border-box}
.nectum-legal-footer *{box-sizing:border-box}
.nectum-legal-footer .nlf-container{width:min(1120px,calc(100% - 48px));margin:0 auto}
.nectum-legal-footer .nlf-upper{display:block;background:linear-gradient(180deg,#101e2e,#0d1928)}
.nectum-legal-footer .nlf-main{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,1.4fr);gap:60px;align-items:center;padding:36px 0 37px}
.nectum-legal-footer .nlf-brand{display:inline-flex;width:230px;max-width:100%;line-height:0;align-items:center}
.nectum-legal-footer .nlf-brand img{display:block;width:100%;height:auto;object-fit:contain;max-height:75px}
.nectum-legal-footer .nlf-site-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;justify-self:end;width:min(100%,490px)}
.nectum-legal-footer .nlf-nav-group{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-width:0}
.nectum-legal-footer .nlf-nav-group h2{font-family:var(--font-ui),Arial,sans-serif;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:#e3c18a;margin:0 0 7px}
.nectum-legal-footer a{color:#c9d2dd;text-decoration:none;font-family:var(--font-ui),Arial,sans-serif;font-weight:500;transition:color .15s ease}
.nectum-legal-footer .nlf-nav-group a{display:block;font-size:12px;line-height:1.5;letter-spacing:0}
.nectum-legal-footer a:hover,.nectum-legal-footer a:focus-visible{color:#f4d49d}
.nectum-legal-footer .nlf-lower{display:block;background:#080f19;border-top:1px solid rgba(198,172,125,.16)}
.nectum-legal-footer .nlf-bottom{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:21px 0 24px}
.nectum-legal-footer .nlf-legal-nav{display:flex;align-items:center;justify-content:center;gap:12px 28px;flex-wrap:wrap;margin:0 0 3px}
.nectum-legal-footer .nlf-legal-nav a{font-size:11px;line-height:1.6;color:#dce0e5}
.nectum-legal-footer .nlf-bottom p{max-width:none;margin:0!important;padding:0;font-family:var(--font-ui),Arial,sans-serif;font-size:10px;line-height:1.6;font-weight:400;color:#a8b2c0;letter-spacing:0}
.nectum-legal-footer .nlf-copyright strong{color:#e5be85;font-weight:700}
.nectum-legal-footer .nlf-separator{padding:0 9px;color:#967c5e}
.nectum-legal-footer .nlf-bottom .nlf-disclaimer{font-size:9px;color:#788897}
@media(max-width:700px){.nectum-legal-footer .nlf-main{grid-template-columns:1fr;gap:27px;padding:31px 0}.nectum-legal-footer .nlf-site-nav{justify-self:stretch;width:100%;gap:24px}.nectum-legal-footer .nlf-brand{width:192px}.nectum-legal-footer .nlf-container{width:calc(100% - 36px)}.nectum-legal-footer .nlf-legal-nav{gap:8px 18px}.nectum-legal-footer .nlf-bottom{padding:20px 0 23px}}
@media(max-width:380px){.nectum-legal-footer .nlf-site-nav{gap:14px}.nectum-legal-footer .nlf-legal-nav{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){.nectum-legal-footer a{transition:none}}


/* --- Seasonal particle overlay + debug switcher --- */
.season-particles-layer{
  position:fixed;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:6;
}
.season-particle{
  position:absolute;
  top:0;
  left:0;
  will-change:transform, opacity;
  pointer-events:none;
  user-select:none;
  transform:translate3d(-120px,-120px,0);
}
.season-particle img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.24));
}
body[data-debug-season="winter"] .season-particle img{filter:drop-shadow(0 0 10px rgba(170,220,255,.18)) drop-shadow(0 8px 14px rgba(0,0,0,.18));}
body[data-debug-season="spring"] .season-particle img{filter:drop-shadow(0 10px 18px rgba(191,96,145,.10));}
body[data-debug-season="summer"] .season-particle img{filter:drop-shadow(0 10px 18px rgba(255,240,200,.12));}

.season-debug-panel{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:65;
  width:min(320px, calc(100vw - 36px));
  padding:14px 14px 12px;
  border:1px solid rgba(218,178,116,.34);
  background:linear-gradient(180deg, rgba(10,18,29,.95), rgba(7,13,21,.94));
  box-shadow:0 16px 42px rgba(0,0,0,.34);
  backdrop-filter:blur(12px);
}
.season-debug-title{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.22em;
  color:var(--gold);
  margin-bottom:10px;
  font-weight:700;
}
.season-debug-buttons{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:8px;
}
.season-debug-button{
  appearance:none;
  border:1px solid rgba(218,178,116,.25);
  background:rgba(255,255,255,.03);
  color:var(--txt);
  padding:10px 12px;
  font:600 12px/1.1 Inter, system-ui, sans-serif;
  letter-spacing:.04em;
  cursor:pointer;
  transition:border-color .2s, background .2s, color .2s, transform .2s;
}
.season-debug-button:hover{
  border-color:rgba(218,178,116,.62);
  background:rgba(218,178,116,.08);
  color:#fff3d7;
}
.season-debug-button.is-active{
  background:linear-gradient(180deg, rgba(218,178,116,.24), rgba(218,178,116,.10));
  border-color:rgba(218,178,116,.8);
  color:#fff3d7;
  transform:translateY(-1px);
}
.season-debug-current{
  margin-top:10px;
  color:var(--mute);
  font-size:12px;
}
.season-debug-current strong{color:#fff0cc;font-weight:700;}

@media (max-width: 760px){
  .season-debug-panel{left:12px;right:12px;bottom:12px;width:auto;padding:12px;}
  .season-debug-buttons{grid-template-columns:repeat(2,1fr);}
}
@media (prefers-reduced-motion: reduce){
  .season-particles-layer{display:none;}
}

.season-debug-auto{display:block;width:100%;margin-top:8px;padding:8px;border:1px solid rgba(218,178,116,.35);background:rgba(218,178,116,.06);color:var(--gold);cursor:pointer;font:600 11px Inter,system-ui,sans-serif;}
.season-debug-auto:hover:not(:disabled){background:rgba(218,178,116,.2);}
.season-debug-auto:disabled{opacity:.45;cursor:not-allowed;}
.season-debug-source{color:#a8b1bc;font-size:10px;margin-top:7px;}

/* Il pannello debug è stato rimosso nella versione collegata al server. */
.season-debug-panel{display:none!important}


/* Lore — capilettera proporzionato a una sola riga, senza float su due righe. */
.lore-chapter p:first-of-type::first-letter {
  float: none;
  font-family: var(--font-display);
  font-size: 1.48em;
  font-weight: 600;
  line-height: 1;
  padding: 0 .075em 0 0;
  color: #e9c894;
}
@media (max-width: 680px) {
  .lore-chapter p:first-of-type::first-letter {
    float: none;
    font-size: 1.40em;
    line-height: 1;
    padding: 0 .06em 0 0;
  }
}


/* Lore hero: il divisore segue il margine sinistro del titolo,
   senza ereditare il centramento delle dividerline generiche. */
.lore-manuscript-hero .accent-line.lore-rule {
  width: min(300px, 72vw);
  max-width: 100%;
  margin: 20px 0 17px;
  margin-inline-start: 0;
  margin-inline-end: 0;
}
@media (max-width: 680px) {
  .lore-manuscript-hero .accent-line.lore-rule {
    width: min(225px, 62vw);
    margin-top: 16px;
  }
}

/* House detail hero: no duplicate oversized crest or halo on the right. */
.house-hero .house-hero-inner::before{content:none !important;display:none !important;}
.house-hero-crest-watermark{display:none !important;}

/* Sorting Hat: illustration and quotation marks limited to the spoken verse. */
.house-hat-quote{padding:40px 32px 48px;}
.house-hat-quote::before{content:none!important;}
.house-hat-quote .house-quote-symbol{display:none;}
.house-hat-quote .house-sorting-hat{
 display:block; width:clamp(112px,13vw,160px); height:auto; object-fit:contain;
 margin:0 auto 20px; filter:drop-shadow(0 10px 16px rgba(0,0,0,.48));
}
.house-hat-quote .eyebrow{letter-spacing:.17em;line-height:1.55;}
.house-hat-quote blockquote{
 position:relative; display:flex; justify-content:center; align-items:stretch;
 width:fit-content; max-width:100%; margin:20px auto 0;
 padding:0 34px; text-align:center; line-height:1.6;
}
.house-hat-quote .house-poem-lines{min-width:0;}
.house-hat-quote .house-poem-lines span{display:block;}
.house-hat-quote .house-poem-open,.house-hat-quote .house-poem-close{
 position:absolute; z-index:1; display:block; font:normal clamp(31px,3.5vw,43px)/1 Georgia,serif;
 color:var(--house-accent); opacity:.77;
}
.house-hat-quote .house-poem-open{left:0;top:-4px;}
.house-hat-quote .house-poem-close{right:0;bottom:-11px;}
@media(max-width:650px){
 .house-hat-quote{padding:32px 12px 40px;}
 .house-hat-quote .house-sorting-hat{width:118px;margin-bottom:16px;}
 .house-hat-quote blockquote{padding:0 20px;font-size:clamp(17px,4.3vw,22px);line-height:1.64;}
 .house-hat-quote .house-poem-open,.house-hat-quote .house-poem-close{font-size:29px;}
}


/* House editorial 2026 — open, aligned two-column composition without card frames */
.house-detail .house-editorial{
 display:grid;
 grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr);
 gap:clamp(38px,5.5vw,88px);
 align-items:start;
 margin-block:clamp(56px,7vw,100px) clamp(74px,8vw,120px);
}
.house-detail .house-editorial .house-story-panel,
.house-detail .house-editorial .house-traits-panel{
 background:none!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 outline:none!important;
 padding:0!important;
 overflow:visible!important;
 min-height:0!important;
 text-align:left;
}
.house-detail .house-editorial .house-story-panel::before,
.house-detail .house-editorial .house-traits-panel::before{content:none!important;display:none!important;}
.house-detail .house-editorial .house-traits-panel{
 border-left:1px solid rgba(var(--house-rgb),.35)!important;
 padding-left:clamp(28px,3.5vw,56px)!important;
 align-self:stretch;
}
.house-detail .house-editorial .house-traits-panel img{display:none!important;}
.house-detail .house-editorial .eyebrow{margin:0 0 12px;}
.house-detail .house-editorial h2{
 margin:0 0 clamp(20px,2.6vw,34px);
 line-height:1.22;
 font-size:clamp(27px,2.8vw,39px);
}
.house-detail .house-editorial .house-story-ornament{
 margin:0 0 25px;
 text-align:left;
 color:var(--house-accent);
}
.house-detail .house-editorial .house-traits-panel p{
 font-family:var(--font-editorial);
 font-size:clamp(18px,1.45vw,21px);
 line-height:1.85;
 text-align:left;
 color:var(--ink-body);
 max-width:32ch;
}
.house-detail .house-curiosities .house-fact-list{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:850px){
 .house-detail .house-editorial{grid-template-columns:1fr;gap:38px;}
 .house-detail .house-editorial .house-traits-panel{
  border-left:0!important;
  border-top:1px solid rgba(var(--house-rgb),.35)!important;
  padding:30px 0 0!important;
 }
 .house-detail .house-editorial .house-traits-panel p{max-width:65ch;}
}
@media(max-width:680px){.house-detail .house-curiosities .house-fact-list{grid-template-columns:1fr;}}

/* Nectum Legacy — Card Casate: stemma protagonista, uniformità cromatica */
.house-grid>.house {
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:368px;padding:30px 17px 32px;gap:0;
}
.house-grid>.house .house-badge {
  min-height:152px;margin:0 auto 14px;flex:0 0 auto;
}
.house-grid>.house .house-badge::before {width:154px;height:154px;}
.house-grid>.house .house-badge img {width:132px;height:132px;object-fit:contain;}
.house-grid>.house h3 {margin:8px 0 13px;font-size:clamp(22px,2vw,27px);}
.house-grid>.house .house-subtitle {
  margin:0 auto 24px;min-height:0;max-width:215px;
  line-height:1.6;font-size:14px;color:#dae0e5;
}
.house-grid>.house .house-action {margin-top:auto;}
/* Le altre Case: gli stessi quattro toni delle schede iniziali */
.house-related>.house-related-card.house {
  min-height:248px;padding:27px 20px 24px;
  justify-content:center;align-items:center;gap:11px;
  background:linear-gradient(180deg,rgba(19,31,46,.92),rgba(8,14,22,.96));
  border-color:rgba(218,178,116,.18);border-radius:12px;
}
.house-related>.house-related-card.house::before {
  content:'';position:absolute;inset:0;height:auto;opacity:.31;pointer-events:none;
}
.house-related>.house-related-card.house.red::before {background:radial-gradient(circle at 50% 24%,#922d33,transparent 72%);}
.house-related>.house-related-card.house.green::before {background:radial-gradient(circle at 50% 24%,#20684c,transparent 72%);}
.house-related>.house-related-card.house.blue::before {background:radial-gradient(circle at 50% 24%,#315c98,transparent 72%);}
.house-related>.house-related-card.house.yellow::before {background:radial-gradient(circle at 50% 24%,#907229,transparent 72%);}
.house-related>.house-related-card.house::after {border-radius:11px;}
.house-related>.house-related-card.house img {
  width:112px;height:112px;object-fit:contain;position:relative;z-index:1;
}
.house-related>.house-related-card.house h3 {
  position:relative;z-index:1;font-size:23px;margin:0;
}
.house-related>.house-related-card.house .text-link {position:relative;z-index:1;margin-top:7px;}
.house-related>.house-related-card.house .house-glow {pointer-events:none;}
@media(max-width:600px){
  .house-grid>.house {min-height:325px;padding:25px 18px;}
  .house-grid>.house .house-badge {min-height:132px;}
  .house-grid>.house .house-badge img {width:118px;height:118px;}
  .house-related>.house-related-card.house {min-height:222px;}
}

/* Nectum Legacy — HogwartsMP official client download */
.hmp-download-section{padding-top:84px;}
.hmp-download-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(315px,.8fr);gap:28px;align-items:stretch;position:relative;z-index:2;}
.hmp-download-feature,.hmp-download-checklist{border:1px solid rgba(218,178,116,.24);background:linear-gradient(145deg,rgba(22,36,51,.83),rgba(8,15,25,.92));box-shadow:0 25px 55px rgba(0,0,0,.25);position:relative;overflow:hidden;}
.hmp-download-feature{padding:clamp(28px,5vw,60px);text-align:center;}
.hmp-download-feature::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(215,178,118,.085),transparent 50%);pointer-events:none;}
.hmp-download-kicker{font-size:11px;letter-spacing:.24em;color:#dab981;font-weight:700;position:relative;}
.hmp-download-kicker-mark{padding-right:9px;}
.hmp-download-emblem{height:180px;width:180px;position:relative;display:grid;place-items:center;margin:10px auto 12px;color:#d9b977;}
.hmp-download-orbit{position:absolute;border-radius:50%;border:1px solid rgba(218,178,116,.35);inset:20px;}
.hmp-download-orbit-one{box-shadow:0 0 35px rgba(218,178,116,.08),inset 0 0 22px rgba(218,178,116,.05);}
.hmp-download-orbit-two{inset:2px;border-color:rgba(218,178,116,.12);border-style:dashed;}
.hmp-download-symbol{font-size:52px;text-shadow:0 0 32px rgba(218,178,116,.4);line-height:1;}
.hmp-download-feature h2{font:500 clamp(26px,3vw,40px)/1.2 Cinzel,Georgia,serif;margin:10px 0 18px;position:relative;}
.hmp-download-feature>p{position:relative;color:#cbd3dc;max-width:520px;margin:0 auto 24px;line-height:1.85;font-size:14px;}
.hmp-download-feature strong{color:#ead5aa;}
.hmp-download-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;position:relative;margin:25px auto 18px;}
.hmp-download-actions .button{font-size:11px;white-space:normal;text-align:center;}
.hmp-download-feature .hmp-download-disclaimer{font-size:12px;color:#aab6c4;max-width:560px;margin:18px auto 0;}
.hmp-download-checklist{padding:clamp(28px,3vw,42px);}
.hmp-download-checklist h3{font:500 27px/1.35 Cinzel,Georgia,serif;margin:12px 0 26px;}
.hmp-requirement{display:flex;gap:15px;border-top:1px solid rgba(218,178,116,.13);padding:19px 0;}
.hmp-requirement>span{font:600 14px Cinzel,serif;color:#d9b977;flex:none;}
.hmp-requirement strong{font-size:14px;color:#f0e4ce;}
.hmp-requirement p{font-size:13px;line-height:1.8;color:#b9c4ce;margin:6px 0 0;}
.hmp-requirement-help{display:inline-flex;margin-top:14px;font-size:12px;color:#d9b977;line-height:1.6;}
.hmp-install-guide{position:relative;z-index:2;margin-top:95px;}
.hmp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.hmp-steps article{padding:32px 26px;border-top:1px solid rgba(218,178,116,.36);background:linear-gradient(160deg,rgba(24,37,53,.6),rgba(8,16,25,.65));min-height:210px;}
.hmp-step-number{font:500 26px Cinzel,Georgia,serif;color:#d9b977;opacity:.82;}
.hmp-steps h3{font:500 22px Cinzel,Georgia,serif;margin:14px 0 10px;}
.hmp-steps p{font-size:13px;line-height:1.85;color:#c3cad2;margin:0;}
.hmp-steps code{color:#e1c28a;overflow-wrap:anywhere;}
.hmp-future-note{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:14px;padding:22px 25px;margin-top:30px;background:rgba(218,178,116,.055);border:1px solid rgba(218,178,116,.15);}
.hmp-future-note span{color:#d9b977;font-size:24px;}
.hmp-future-note p{font-size:13px;line-height:1.75;color:#bdc8d0;margin:0;}
.hmp-future-note strong{color:#f0d8a9;}
.home-download-cta{border-color:rgba(218,178,116,.5);}
@media(max-width:1000px){.hmp-download-layout{grid-template-columns:1fr;}.hmp-download-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;}.hmp-download-checklist>.eyebrow,.hmp-download-checklist>h3,.hmp-requirement-help{grid-column:1/-1;}}
@media(max-width:680px){.hmp-download-section{padding-top:50px;}.hmp-download-feature{padding:30px 19px;}.hmp-download-checklist{display:block;padding:28px 22px;}.hmp-download-emblem{width:145px;height:145px;}.hmp-steps{grid-template-columns:1fr;}.hmp-steps article{min-height:0;}.hmp-install-guide{margin-top:65px;}.hmp-download-actions{flex-direction:column;}.hmp-download-actions .button{width:100%;}.hmp-future-note{align-items:start;}}

/* Download in preparazione: pulsante intenzionalmente non interattivo. */
.hmp-download-pending:disabled{opacity:.77;cursor:not-allowed;pointer-events:none;filter:saturate(.65);box-shadow:none;}
.hmp-download-pending:disabled:hover{transform:none;}

/* Official Nectum emblem: replaces the placeholder download arrow. */
.hmp-download-emblem{width:min(260px,70%);height:auto;aspect-ratio:1;margin:12px auto 8px;}
.hmp-download-brand-logo{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(192,139,55,.2));}
@media(max-width:680px){.hmp-download-emblem{width:min(220px,75%);height:auto;}}

/* Download — editorial layout without framed panels, matching house detail pages. */
.hmp-download-section .hmp-download-layout{
  grid-template-columns:minmax(0,1.45fr) minmax(290px,.9fr);
  gap:clamp(35px,5vw,76px);
  align-items:start;
}
.hmp-download-section .hmp-download-feature,
.hmp-download-section .hmp-download-checklist{
  background:none!important;
  border:0!important;
  border-radius:0!important;
  outline:none!important;
  box-shadow:none!important;
  overflow:visible!important;
  min-height:0!important;
}
.hmp-download-section .hmp-download-feature{
  padding:0!important;
  text-align:center;
}
.hmp-download-section .hmp-download-feature::before{
  content:none!important;
  display:none!important;
}
.hmp-download-section .hmp-download-checklist{
  border-left:1px solid rgba(218,178,116,.30)!important;
  padding:6px 0 0 clamp(26px,3.4vw,54px)!important;
  align-self:stretch;
}
.hmp-download-section .hmp-download-emblem{
  width:min(280px,72%);
  margin:14px auto 12px;
}
.hmp-download-section .hmp-download-checklist h3{margin-bottom:24px;}
@media(max-width:1000px){
  .hmp-download-section .hmp-download-layout{grid-template-columns:1fr;gap:42px;}
  .hmp-download-section .hmp-download-checklist{
    border-left:0!important;
    border-top:1px solid rgba(218,178,116,.30)!important;
    padding:32px 0 0!important;
  }
}
@media(max-width:680px){
  .hmp-download-section .hmp-download-feature{padding:0!important;}
  .hmp-download-section .hmp-download-checklist{padding:28px 0 0!important;}
  .hmp-download-section .hmp-download-emblem{width:min(235px,78%);}
}

/* Download: unico pulsante centrale, non interattivo. */
.hmp-download-actions{justify-content:center;align-items:center;}
.hmp-download-actions .hmp-download-pending{margin-inline:auto;min-width:185px;}
@media(max-width:700px){.hmp-download-actions .hmp-download-pending{width:min(100%,300px);}}
