:root{--bg:#060c14;--deep:#03070d;--surface:#0b1522;--surface2:#101d2d;--ink:#eaf3ff;--muted:#a8b7c9;--muted2:#708198;--line:#bbd3f126;--bright:#d2e4ff57;--accent:#b8f0ff;--accent2:#d7c7ff;--mint:#b7f4d0;--danger:#ffc4c8;--shadow:0 24px 70px #0007;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--deep)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip-link{position:fixed;top:-60px;left:18px;z-index:100;background:#fff;color:#07101c;padding:10px}.skip-link:focus{top:12px}.stellar-backdrop{position:fixed;inset:0;z-index:0;background:radial-gradient(circle at 72% 12%,#203e68 0,#0a1828 24%,#03070d 70%);overflow:hidden}.stellar-backdrop:before,.stellar-backdrop:after{content:"";position:absolute;border:1px solid #b8f0ff26;border-radius:50%;width:900px;height:430px;right:-180px;top:15%;transform:rotate(-23deg)}.stellar-backdrop:after{width:1100px;height:590px;left:15%;top:-32%;border-color:#d7c7ff22}.stellar-grid{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(#bedcff14 1px,transparent 1px),linear-gradient(90deg,#bedcff14 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(#000,transparent 78%)}.stellar-noise{position:absolute;inset:0;opacity:.08;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:5px 5px;mix-blend-mode:soft-light}.site-header{height:76px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;padding:0 clamp(18px,4vw,68px);border-bottom:1px solid var(--line);background:#050c14d9;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;letter-spacing:.16em;font-weight:700}.brand-mark{height:20px;display:flex;align-items:flex-end;gap:3px}.brand-mark i{width:3px;background:var(--accent);box-shadow:0 0 14px #b8f0ff73}.brand-mark i:nth-child(1){height:9px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:13px;background:var(--accent2)}.header-nav{display:flex;gap:24px;margin-left:auto}.header-nav a{font-size:12px;color:var(--muted)}.header-nav a:hover{color:var(--ink)}.header-tools{display:flex;align-items:center;gap:10px}.header-action,.button{border:1px solid var(--bright);background:#091320a3;padding:10px 13px;font-size:12px;font-weight:700}.header-action:hover,.button:hover{border-color:var(--accent);background:#b8f0ff18}.menu-trigger{display:none;border:1px solid var(--line);background:#08101b;width:36px;height:34px}.menu-trigger span{display:block;height:1px;background:#fff;margin:5px}.mobile-nav{position:absolute;z-index:40;top:63px;left:0;right:0;background:#050c14fa;padding:10px 17px 18px}.mobile-nav a{display:flex;padding:12px 0;border-bottom:1px solid var(--line)}.app-shell{position:relative;z-index:1;min-height:calc(100vh - 160px)}.site-footer{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;padding:21px clamp(18px,4vw,68px);border-top:1px solid var(--line);background:#03080edb;color:var(--muted2);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.hero,.page-hero{padding:clamp(90px,14vh,180px) clamp(20px,6vw,116px) clamp(58px,7vw,104px);background:linear-gradient(#040a1110,#040a11d0);min-height:calc(100vh - 76px);display:flex;align-items:flex-end}.page-hero{min-height:auto;padding-top:clamp(88px,14vw,190px)}.hero-inner{max-width:960px}.eyebrow{margin:0 0 12px;color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700}.hero h1,.page-hero h1{margin:0;max-width:1050px;letter-spacing:-.07em;font-size:clamp(49px,7.4vw,112px);font-weight:500;line-height:.88}.hero h1 em,.page-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent2)}.hero-copy,.page-hero>div>p:not(.eyebrow){max-width:780px;color:#c4d2e2;font-size:18px}.hero-actions,.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.button.primary{background:var(--accent);color:#06101b;border-color:var(--accent)}.stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.stats span{border:1px solid var(--line);padding:7px 9px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.section{padding:clamp(58px,8vw,120px) clamp(20px,6vw,116px);border-top:1px solid var(--line);background:#050c14b8}.section.alt{background:#0b1522d6}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px}.section-head h2{margin:0;letter-spacing:-.058em;font-size:clamp(34px,4.8vw,72px);font-weight:500;line-height:.97}.section-note{max-width:320px;color:var(--muted);font-size:13px}.mode-grid,.course-grid,.glossary-grid,.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--line);gap:1px}.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#0a1725d9;padding:24px;min-height:260px}.card>span{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.card h3{margin:45px 0 8px;font-size:28px;font-weight:500;letter-spacing:-.05em;line-height:1}.card p{color:var(--muted);font-size:13px}.card a{color:var(--accent);font-size:12px;font-weight:700}.search-box{max-width:960px}.search-box label{display:block;color:var(--muted);font-size:12px;margin-bottom:10px}.search-field{display:flex;align-items:center;gap:12px;min-height:61px;border:1px solid var(--bright);background:#03090fbb;padding:0 16px}.search-field input{width:100%;background:transparent;border:0;outline:0;color:var(--ink);font-size:17px}.search-results{display:grid;grid-template-columns:repeat(2,1fr);background:var(--line);gap:1px}.search-results a{display:block;background:#0a1725;padding:14px}.search-results strong{display:block}.search-results small{color:var(--accent)}.course-card{display:flex;flex-direction:column;min-height:320px}.course-card h2{margin:42px 0 8px;font-size:38px;letter-spacing:-.06em;font-weight:500}.course-card small{color:var(--muted2)}.course-card .button{margin-top:auto;align-self:flex-start}.subject-list{padding:0 clamp(20px,6vw,116px) 100px;background:#050c14b8}.module{display:grid;grid-template-columns:.52fr 1.48fr;gap:60px;padding:58px 0;border-bottom:1px solid var(--line)}.module h2{font-size:40px;letter-spacing:-.055em;font-weight:500;margin:0}.lesson-row{display:grid;grid-template-columns:52px 1fr 18px;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.lesson-row:hover{color:var(--accent)}.lesson-row h3{margin:0;font-size:20px;font-weight:500}.lesson-row p{margin:4px 0;color:var(--muted);font-size:13px}.lesson-row small{color:var(--muted2)}.lesson-hero{padding:48px clamp(20px,6vw,116px);background:#070f19e8;border-bottom:1px solid var(--line)}.breadcrumb{color:var(--muted2);font-size:10px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:34px}.lesson-hero h1{margin:0;max-width:980px;font-size:clamp(44px,6vw,86px);letter-spacing:-.069em;font-weight:500;line-height:.9}.lesson-question{max-width:830px;color:var(--muted);font-size:18px}.completion{margin-top:18px;border:1px solid var(--bright);background:#040a10;color:var(--muted);padding:9px 11px;cursor:pointer}.completion.done{color:var(--mint);border-color:var(--mint)}.lesson-layout{display:grid;grid-template-columns:190px minmax(0,790px);gap:clamp(38px,8vw,135px);max-width:1280px;padding:62px clamp(20px,6vw,116px) 80px;background:#050c14bd}.lesson-rail{position:sticky;top:105px;height:max-content;border-top:1px solid var(--line);padding-top:12px}.lesson-rail a{display:block;padding:6px 0;color:var(--muted);font-size:12px}.lesson-body section{margin-bottom:48px}.lesson-body h2{font-size:31px;font-weight:500;letter-spacing:-.05em}.lesson-body p,.lesson-body li{color:#c3d1df;font-size:16px;line-height:1.65}.core-box,.case-box,.quiz{border:1px solid var(--bright);background:linear-gradient(135deg,#b8f0ff18,#d7c7ff10);padding:26px}.concepts{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line);padding:7px 9px;color:var(--muted);font-size:11px}.quiz details{border-top:1px solid var(--line);padding:12px 0}.quiz summary{cursor:pointer;font-weight:700}.map-shell{display:grid;grid-template-columns:220px 1fr 300px;min-height:650px;background:#050c14b8}.map-index,.map-detail{padding:24px;border-right:1px solid var(--line)}.map-index button{width:100%;text-align:left;background:transparent;color:var(--muted);border:0;border-bottom:1px solid var(--line);padding:10px 0;cursor:pointer}.map-index button.active{color:var(--accent)}.map-canvas{position:relative;min-height:650px;background:radial-gradient(circle at 50% 50%,#255c8b52,transparent 35%),linear-gradient(145deg,#07111d,#0d1b2b);overflow:hidden}.map-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:260px;padding:22px;background:#07131fee;border:1px solid var(--bright);z-index:3}.map-node{position:absolute;width:170px;padding:12px;background:#081522ee;border:1px solid var(--bright);cursor:pointer}.map-node:nth-child(1){top:10%;left:6%}.map-node:nth-child(2){top:12%;right:6%}.map-node:nth-child(3){bottom:13%;left:7%}.map-node:nth-child(4){bottom:14%;right:7%}.map-node:nth-child(5){top:7%;left:42%}.map-node:nth-child(6){bottom:7%;left:42%}.map-node small{color:var(--accent2)}.glossary-grid article{min-height:230px}.glossary-grid h3{margin-top:24px}.filters{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.filters button{border:1px solid var(--line);background:#09131f;color:var(--muted);padding:7px 9px;cursor:pointer}.filters button.active{color:var(--accent);border-color:var(--accent)}.review-card{max-width:860px;border:1px solid var(--bright);background:#0a1725e6;padding:32px}.review-card h2{font-size:46px;letter-spacing:-.06em;font-weight:500}.review-actions{display:flex;flex-wrap:wrap;gap:8px}.review-actions button{border:1px solid var(--line);background:#06101b;color:var(--ink);padding:10px;cursor:pointer}.review-actions button:hover{border-color:var(--accent)}.plan-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.plan-controls select,.plan-controls input{background:#07111d;color:var(--ink);border:1px solid var(--bright);padding:10px}.control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.control-grid article{background:#091421d1;padding:24px}.notice{border:1px solid var(--bright);padding:18px;background:#b8f0ff10;color:var(--muted)}.source-list a{display:block;padding:10px 0;border-bottom:1px solid var(--line);color:var(--accent)}@media(max-width:1000px){.mode-grid,.course-grid,.glossary-grid,.plan-grid{grid-template-columns:repeat(2,1fr)}.map-shell{grid-template-columns:160px 1fr}.map-detail{grid-column:1/-1}.control-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.site-header{height:63px;padding:0 17px}.header-nav,.header-action{display:none}.menu-trigger{display:block}.site-footer{flex-direction:column;align-items:flex-start}.hero,.page-hero{padding:95px 20px 48px}.hero h1,.page-hero h1{font-size:54px}.mode-grid,.course-grid,.glossary-grid,.plan-grid,.search-results{grid-template-columns:1fr}.section{padding:56px 20px}.section-head{flex-direction:column;align-items:flex-start}.module{grid-template-columns:1fr;gap:25px}.subject-list{padding:0 20px 70px}.lesson-layout{grid-template-columns:1fr;padding:40px 20px}.lesson-rail{display:none}.map-shell{grid-template-columns:1fr}.map-index{display:grid;grid-template-columns:1fr 1fr}.map-canvas{min-height:600px}.map-detail{grid-column:auto}.map-node{width:125px}.control-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.stellar-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;filter:saturate(.8) contrast(1.06)}.stellar-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 13%,transparent 0,#03070d25 35%,#03070dd7 100%)}
.hero-index{position:absolute;right:clamp(20px,5vw,82px);bottom:clamp(42px,7vw,98px);width:230px;border-top:1px solid var(--bright);padding-top:18px;color:var(--muted)}.hero{position:relative}.hero-index strong{display:block;color:var(--ink);font-size:28px;line-height:.95;letter-spacing:-.05em}.hero-index span{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.14em}.hero-index p{font-size:11px}.study-pulse{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:54px;padding-top:15px;color:var(--muted);font-size:11px}.study-pulse b{color:var(--ink);font-size:16px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--line);gap:1px}.module-card{background:#08121ee0;padding:24px;min-height:350px}.module-card h3{font-size:30px;font-weight:500;letter-spacing:-.055em;margin:42px 0 8px}.module-card ol{list-style:none;margin:24px 0 0;padding:0}.module-card li{border-top:1px solid var(--line)}.module-card li a{display:grid;grid-template-columns:34px 1fr 14px;gap:8px;padding:9px 0;font-size:12px}.module-card li span{color:var(--muted2)}
.subject-roadmap{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding:40px clamp(20px,6vw,116px);border-bottom:1px solid var(--line);background:#0b1522a3}.subject-roadmap h2{font-size:34px;letter-spacing:-.05em;font-weight:500;margin:0}.subject-roadmap p{max-width:720px;color:var(--muted)}
.lesson-hero-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.lesson-meta{display:flex;flex-wrap:wrap;gap:14px;border-top:1px solid var(--line);margin-top:30px;padding-top:12px;color:var(--muted2);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:var(--line);gap:1px;margin-bottom:34px}.mode-tabs button{border:0;background:#0c1826d1;color:var(--ink);padding:13px;text-align:left;cursor:pointer}.mode-tabs button.active,.mode-tabs button:hover{background:#b8f0ff1f}.mode-tabs span{display:block;font-weight:700}.mode-tabs small{color:var(--muted2)}.mode-panel{border:1px solid var(--line);padding:15px 17px;margin-top:-23px;margin-bottom:35px;background:#081522aa;color:var(--muted);font-size:13px}
.mechanism-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.mechanism-list li{display:grid;grid-template-columns:48px 1fr;gap:14px;border-bottom:1px solid var(--line);padding:15px 0}.mechanism-list span{color:var(--accent);font-size:11px;letter-spacing:.12em}.mechanism-list strong{display:block;color:var(--ink);font-size:16px}.mechanism-list p{margin:2px 0 0!important;font-size:15px!important}.distinction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--line);gap:1px}.distinction-grid article{background:#091421d6;padding:18px;min-height:150px}.distinction-grid h3{font-size:20px;letter-spacing:-.04em;margin:20px 0 8px}.distinction-grid b{color:var(--accent)}
.case-box h2{font-size:35px;letter-spacing:-.05em;font-weight:500;margin:0 0 12px}.case-method{border:1px solid var(--line);background:#0a172570;padding:22px;margin-top:12px}.case-method ol{padding-left:22px}.concept-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--line);gap:1px}.concept-link-grid a{background:#0a1623c2;padding:16px;min-height:145px}.concept-link-grid a:hover{background:#b8f0ff14}.concept-link-grid span{display:block;color:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.concept-link-grid strong{display:block;font-size:18px;margin:21px 0 5px}.concept-link-grid p{font-size:12px!important;color:var(--muted)!important}.oral-box{border:1px solid var(--bright);border-left:4px solid var(--accent2);background:linear-gradient(135deg,#b8f0ff14,#d7c7ff18);padding:26px}.written-list{padding-left:22px}.link-chips{display:flex;gap:7px;flex-wrap:wrap}.link-chips a,.link-chips span{border:1px solid var(--line);padding:7px 9px;color:var(--muted);font-size:11px}.pitfall-box{border:1px solid #ffc4c842;background:#781a2d24;padding:24px}.pitfall-box li{color:#f1c9d0}.mini-quiz details{border-top:1px solid var(--line);padding:14px 0}.mini-quiz details:last-child{border-bottom:1px solid var(--line)}.mini-quiz summary{cursor:pointer;font-weight:700}.mini-quiz details p{background:#b8f0ff12;padding:12px 14px}.recall-actions{border:1px solid var(--line);background:#0a162391;padding:17px}.recall-actions .rating-row{display:flex;gap:7px;flex-wrap:wrap}.recall-actions button{border:1px solid var(--bright);background:#050d16;color:var(--ink);padding:9px 10px;cursor:pointer}.recall-status{display:block;color:var(--mint);margin-top:10px;font-size:11px}.lesson-pager{display:grid;grid-template-columns:1fr 1fr;background:var(--line);gap:1px;border-top:1px solid var(--line)}.lesson-pager a{background:#07111dbb;padding:22px clamp(20px,6vw,116px);color:var(--muted)}.lesson-pager a:last-child{text-align:right}.lesson-pager strong{display:block;color:var(--ink)}
.subject-tools{display:grid;grid-template-columns:repeat(4,1fr);background:var(--line);gap:1px}.subject-tools a{background:#091421d6;padding:18px}.subject-tools strong{display:block;margin:16px 0 4px;font-size:18px}.subject-tools span{color:var(--accent);font-size:10px;text-transform:uppercase}.subject-tools small{color:var(--muted)}
.map-canvas .map-node{transition:.18s}.map-canvas .map-node:hover{transform:translateY(-4px);background:#b8f0ff1f}.map-relations{display:grid;gap:1px;background:var(--line);margin-top:18px}.map-relations a{background:#06101b;padding:10px}.map-relations span{display:block;color:var(--accent);font-size:9px;text-transform:uppercase}.map-relations strong{font-size:13px}.compare-config{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:18px}.compare-config select{background:#07111d;border:1px solid var(--bright);color:var(--ink);padding:10px}.compare-main{display:grid;grid-template-columns:1fr 70px 1fr;background:var(--line);gap:1px}.compare-main article{background:#0a1725c9;padding:clamp(28px,5vw,65px);min-height:280px}.compare-main h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.06em;font-weight:500}.compare-vs{display:grid;place-items:center;background:#060e17e6;color:var(--accent2);font-size:28px}.compare-reveal{border:1px solid var(--bright);background:linear-gradient(135deg,#b8f0ff20,#d7c7ff16);padding:24px;margin-top:1px}.progress-bar{height:6px;background:#ffffff12;overflow:hidden;margin-top:12px}.progress-bar i{display:block;height:100%;background:var(--accent)}.review-meta{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.review-meta span{border:1px solid var(--line);padding:5px 7px;color:var(--muted2);font-size:10px}.plan-grid article{min-height:250px}.plan-grid article h3{margin-top:30px}.plan-grid .lesson-link{display:block;border-top:1px solid var(--line);padding:8px 0}.official-source-grid{display:grid;grid-template-columns:repeat(2,1fr);background:var(--line);gap:1px}.official-source-grid a{background:#091421d6;padding:22px}.official-source-grid strong{display:block;margin:14px 0 6px;font-size:20px}.control-metrics{display:grid;grid-template-columns:repeat(4,1fr);background:var(--line);gap:1px}.control-metrics article{background:#0a1725cc;padding:20px}.control-metrics strong{display:block;color:var(--accent);font-size:42px;font-weight:500}.control-metrics span{color:var(--muted2);font-size:10px;text-transform:uppercase}.control-list{margin-top:1px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--line);gap:1px}.control-list article{background:#091421d1;padding:20px}
@media(max-width:1100px){.hero-index{display:none}.module-grid{grid-template-columns:repeat(2,1fr)}.subject-tools{grid-template-columns:repeat(2,1fr)}.control-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.stellar-video{opacity:.35}.module-grid,.distinction-grid,.concept-link-grid,.subject-tools,.official-source-grid,.control-list{grid-template-columns:1fr}.lesson-hero-grid,.subject-roadmap{flex-direction:column;align-items:flex-start}.mode-tabs{grid-template-columns:1fr}.lesson-pager{grid-template-columns:1fr}.lesson-pager a:last-child{text-align:left}.compare-config,.compare-main{grid-template-columns:1fr}.compare-vs{min-height:55px}.control-metrics{grid-template-columns:1fr}.module-card{min-height:auto}}

/* JURIS 3.2 · SUBJECT WORLDS */
body[data-juris-course="diritto-dell-economia"]{--subject-bg:url('/assets/subjects/diritto-economia.webp');--subject-position:58% center;--accent:#b8f0ff;--accent2:#d7c7ff}
body[data-juris-course="diritto-bancario"]{--subject-bg:url('/assets/subjects/diritto-bancario.webp');--subject-position:61% center;--accent:#aee8ff;--accent2:#f1cf8a}
body[data-juris-course="diritto-unione-europea"]{--subject-bg:url('/assets/subjects/diritto-unione-europea.webp');--subject-position:62% center;--accent:#a9d2ff;--accent2:#ffd56d}
body.subject-visual .stellar-backdrop{background-image:linear-gradient(90deg,#03070df5 0%,#03070dcc 32%,#03070d73 62%,#03070d50 100%),linear-gradient(180deg,#03070d2b 0%,#03070d35 50%,#03070de6 100%),var(--subject-bg);background-size:cover;background-position:var(--subject-position);background-repeat:no-repeat}
body.subject-visual .stellar-video{opacity:0;pointer-events:none}
body.subject-visual .stellar-vignette{background:radial-gradient(circle at 72% 28%,#0000 0,#03070d18 31%,#03070dad 100%)}
body.subject-visual .stellar-grid{opacity:.10}
body.subject-visual .stellar-noise{opacity:.05}
body.subject-visual .page-hero{background:linear-gradient(90deg,#040a11bf 0%,#040a117d 48%,#040a1136 100%);min-height:clamp(520px,72vh,760px);align-items:flex-end}
body.subject-visual .lesson-hero{background:linear-gradient(90deg,#050c14e9 0%,#050c14bd 56%,#050c1475 100%);padding-top:clamp(62px,8vw,110px);padding-bottom:clamp(48px,6vw,86px)}
body.subject-visual .subject-roadmap,body.subject-visual .section,body.subject-visual .subject-list,body.subject-visual .lesson-layout{backdrop-filter:blur(1px)}
body.subject-visual .subject-roadmap{background:#07111dcc}
body.subject-visual .section{background:#050c14cf}
body.subject-visual .section.alt{background:#0b1522df}
body.subject-visual .subject-list{background:#050c14d9}
body.subject-visual .lesson-layout{background:#050c14d7}
.course-showcase{position:relative;isolation:isolate;overflow:hidden}
.course-showcase:before,.course-card:before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;pointer-events:none}
.course-showcase:before{z-index:-2;opacity:.30;filter:saturate(.9) contrast(1.08)}
.course-showcase:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#050c14f4 0%,#050c14d8 43%,#050c148f 100%);pointer-events:none}
.course-showcase[data-course-showcase="diritto-dell-economia"]:before,.course-card[data-course-card="diritto-dell-economia"]:before{background-image:url('/assets/subjects/diritto-economia.webp')}
.course-showcase[data-course-showcase="diritto-bancario"]:before,.course-card[data-course-card="diritto-bancario"]:before{background-image:url('/assets/subjects/diritto-bancario.webp')}
.course-showcase[data-course-showcase="diritto-unione-europea"]:before,.course-card[data-course-card="diritto-unione-europea"]:before{background-image:url('/assets/subjects/diritto-unione-europea.webp')}
.course-card{position:relative;isolation:isolate;overflow:hidden;background:#07111de8}
.course-card:before{z-index:-2;opacity:.22;filter:saturate(.82) contrast(1.08)}
.course-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07111d9b 0%,#07111df2 72%);pointer-events:none}
.course-card:hover:before{opacity:.34;transform:scale(1.025);transition:opacity .25s,transform .5s}
.course-card[data-course-card="diritto-bancario"]>span{color:#f1cf8a}.course-card[data-course-card="diritto-unione-europea"]>span{color:#ffd56d}
@media(max-width:760px){body.subject-visual .stellar-backdrop{background-position:72% center}body.subject-visual .page-hero{min-height:560px;background:linear-gradient(180deg,#03070d7d 0%,#03070dc8 60%,#03070df7 100%)}.course-showcase:before{background-position:70% center;opacity:.24}.course-showcase:after{background:linear-gradient(180deg,#050c14bb 0%,#050c14f1 72%)}}

/* ========================================================================== 
   JURIS 3.3 · TOTAL MAKEUP
   Editorial authority · cinematic subject worlds · high-contrast study UI
   ========================================================================== */
:root{
  --shell:1480px;
  --content:1180px;
  --reading:820px;
  --radius:18px;
  --radius-sm:11px;
  --glass:#07111dc9;
  --glass-strong:#08131fe8;
  --panel:#0a1623e8;
  --panel-2:#0d1b2ae8;
  --hairline:#cde1ff1d;
  --hairline-strong:#d9e9ff3b;
  --shadow-soft:0 18px 55px #00000045;
  --shadow-card:0 18px 54px #00000038;
  --focus:0 0 0 3px #b8f0ff30;
}
html{font-size:16px;scroll-padding-top:88px}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.006em;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#fff0 0%,#06101a18 45%,#02060bd6 100%)}
button,a,input,select{border-radius:0}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus);border-color:var(--accent)!important}
::selection{background:#b8f0ff38;color:#fff}

/* Header */
.site-header{height:68px;padding:0 clamp(16px,3.5vw,54px);gap:18px;background:linear-gradient(180deg,#040a10f5,#050c14e8);border-bottom:1px solid var(--hairline-strong);box-shadow:0 10px 34px #00000024;backdrop-filter:blur(22px) saturate(1.2)}
.brand{font-size:15px;letter-spacing:.19em;gap:10px;white-space:nowrap}
.brand-mark{height:18px}
.header-nav{gap:7px;margin-left:auto;padding:5px;border:1px solid var(--hairline);background:#07111d78;border-radius:999px}
.header-nav a{position:relative;padding:8px 12px;border-radius:999px;color:#9fb0c4;font-size:11px;font-weight:650;letter-spacing:.035em;transition:.2s ease}
.header-nav a:hover,.header-nav a.is-active{color:#f3f8ff;background:#ffffff0d}
.header-nav a.is-active:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.header-action{padding:9px 12px;border-color:var(--hairline-strong);background:#0a1622cc;border-radius:9px;color:#eaf4ff;transition:.2s ease}
.header-action:hover{transform:translateY(-1px);border-color:var(--accent);background:#102031}
.menu-trigger{border-radius:9px}

/* Global layout rhythm */
.hero,.page-hero,.section,.subject-list,.lesson-hero,.lesson-layout,.site-footer{padding-left:max(clamp(20px,6vw,116px),calc((100vw - var(--shell))/2));padding-right:max(clamp(20px,6vw,116px),calc((100vw - var(--shell))/2))}
.section{padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(64px,7vw,104px);background:linear-gradient(180deg,#050c14cc,#050b13e6);border-top-color:var(--hairline)}
.section.alt{background:linear-gradient(180deg,#0a1522e5,#07111de9)}
.section-head{margin-bottom:30px;gap:32px}
.section-head h2{font-size:clamp(34px,4.2vw,64px);max-width:860px;letter-spacing:-.06em}
.section-note{color:#8ea1b7;line-height:1.5}
.section-intro{max-width:860px;font-size:17px;line-height:1.65;color:#aebdce}
.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--accent);font-weight:760}

/* Buttons */
.button,.header-action,.completion,.review-actions button,.recall-actions button,.filters button,.compare-config button,.plan-controls button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--hairline-strong);background:#091522d4;color:#edf6ff;padding:10px 14px;font-size:11px;font-weight:760;letter-spacing:.025em;box-shadow:inset 0 1px #ffffff08;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.button:hover,.header-action:hover,.completion:hover,.review-actions button:hover,.recall-actions button:hover,.filters button:hover{transform:translateY(-2px);background:#102234;border-color:var(--accent);box-shadow:0 10px 28px #0004}
.button.primary{background:linear-gradient(180deg,var(--accent),#8ed8ed);color:#031018;border-color:transparent;box-shadow:0 10px 28px #7eddf125}
.button.primary:hover{background:#ddfaff;box-shadow:0 14px 34px #8fe7fa33}

/* Home hero */
.hero{position:relative;min-height:calc(100svh - 68px);padding-top:clamp(110px,16vh,188px);padding-bottom:clamp(58px,8vw,100px);background:linear-gradient(90deg,#03080fe8 0%,#03080fae 48%,#03080f4e 78%,#03080f1b 100%);overflow:hidden}
.hero:after{content:"JURIS";position:absolute;right:-.02em;bottom:-.17em;font-size:clamp(140px,24vw,380px);font-weight:800;letter-spacing:-.09em;color:#ffffff028;pointer-events:none;line-height:.8}
.hero-inner{max-width:980px;position:relative;z-index:2}
.hero h1,.page-hero h1{font-size:clamp(52px,7vw,104px);line-height:.89;letter-spacing:-.075em;text-wrap:balance}
.hero h1 em,.page-hero h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.hero-copy{max-width:760px;font-size:clamp(17px,1.7vw,21px);line-height:1.55;color:#c4d3e3;margin:26px 0 0}
.study-pulse{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));max-width:720px;margin-top:52px;border:1px solid var(--hairline-strong);background:#07111dbd;backdrop-filter:blur(12px);box-shadow:var(--shadow-soft)}
.study-pulse span{padding:14px 16px;border-right:1px solid var(--hairline);color:#8fa2b8;font-size:11px}
.study-pulse span:last-child{border-right:0}.study-pulse b{display:block;color:#f1f7ff;font-size:20px;font-weight:560;letter-spacing:-.04em;margin-bottom:2px}
.hero-index{width:260px;right:max(clamp(20px,5vw,82px),calc((100vw - var(--shell))/2));bottom:clamp(50px,8vw,98px);padding:18px;border:1px solid var(--hairline-strong);background:#07111dcc;backdrop-filter:blur(18px);box-shadow:var(--shadow-card)}
.hero-index>span{color:var(--accent);font-size:9px;text-transform:uppercase;letter-spacing:.16em}.hero-index strong{display:block;margin-top:12px;font-size:28px;line-height:1;letter-spacing:-.055em}.hero-index p{color:#8fa1b7;font-size:11px;line-height:1.5}

/* Editorial cards */
.mode-grid,.course-grid,.module-grid,.glossary-grid,.plan-grid,.official-source-grid,.subject-tools,.control-metrics,.control-list{background:transparent;gap:14px}
.card,.module-card,.course-card,.glossary-grid article,.plan-grid article,.official-source-grid a,.subject-tools a,.control-metrics article,.control-list article{border:1px solid var(--hairline);background:linear-gradient(180deg,#0b1724e8,#07121ee8);box-shadow:var(--shadow-card);transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.card:hover,.module-card:hover,.course-card:hover,.official-source-grid a:hover,.subject-tools a:hover,.control-list article:hover{transform:translateY(-4px);border-color:#d9e9ff45;background:linear-gradient(180deg,#102033ef,#091624ef);box-shadow:0 26px 60px #00000045}
.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mode-grid .card{min-height:285px;padding:24px}.mode-grid .card h3{margin-top:72px;font-size:30px}.mode-grid .card>a{margin-top:18px;display:inline-flex}
.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-card{min-height:430px;padding:28px}.course-card h2{font-size:clamp(32px,3vw,46px);line-height:.96;margin:72px 0 12px}.course-card p{max-width:430px;font-size:14px;line-height:1.55}.course-card small{display:block;margin-top:8px}.course-card .button{margin-top:auto}

/* Course home showcases */
.course-showcase{min-height:640px;display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding-top:84px;padding-bottom:84px}
.course-showcase:before{opacity:.42;filter:saturate(.92) contrast(1.08)}
.course-showcase:after{background:linear-gradient(90deg,#03080ff7 0%,#03080fd8 36%,#03080f8e 62%,#03080f4a 100%)}
.course-showcase .section-head,.course-showcase .section-intro,.course-showcase .module-grid,.course-showcase .button-row{position:relative;z-index:1}
.course-showcase .section-head h2{font-size:clamp(44px,5vw,76px)}
.course-showcase .module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.course-showcase .module-card{background:#07111dd4;backdrop-filter:blur(10px)}

/* Search */
.search-box{max-width:1060px}.search-field{min-height:66px;padding:0 18px;border-color:var(--hairline-strong);background:#06101ad8;box-shadow:var(--shadow-soft);border-radius:12px}.search-field:focus-within{border-color:var(--accent);box-shadow:var(--focus),var(--shadow-soft)}.search-field input{font-size:16px}.search-results{margin-top:9px;grid-template-columns:repeat(2,1fr);gap:9px;background:transparent}.search-results a{border:1px solid var(--hairline);background:#081522f2;padding:16px;box-shadow:var(--shadow-card)}

/* Subject hero + identity */
.page-hero{min-height:clamp(500px,68vh,720px);position:relative;align-items:flex-end;border-bottom:1px solid var(--hairline-strong);overflow:hidden}.page-hero>div{max-width:1050px;position:relative;z-index:2}.page-hero>div>p:not(.eyebrow){font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:#becddd}.stats{margin-top:30px}.stats span{background:#07111db8;border-color:var(--hairline-strong);padding:8px 10px;border-radius:999px;color:#aebfd0}
body.subject-visual .page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#02070df2 0%,#02070dc5 40%,#02070d70 67%,#02070d28 100%);pointer-events:none}
body.subject-visual .page-hero>div{max-width:920px}
body.subject-visual .site-header{border-bottom-color:#ffffff24}

.subject-roadmap{padding:max(34px,3.2vw) max(clamp(20px,6vw,116px),calc((100vw - var(--shell))/2));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:44px;border-bottom:1px solid var(--hairline);background:#06101ade;backdrop-filter:blur(18px)}
.subject-roadmap h2{font-size:clamp(30px,3vw,46px);letter-spacing:-.055em;margin:0}.subject-roadmap p{max-width:760px;color:#aebdce}.subject-roadmap .button-row{margin:0}
.subject-tools{grid-template-columns:repeat(4,1fr)}.subject-tools a{position:relative;min-height:150px;padding:20px;overflow:hidden}.subject-tools a:after{content:"↗";position:absolute;right:18px;top:17px;color:var(--accent);font-size:15px}.subject-tools strong{font-size:21px;letter-spacing:-.04em}.subject-tools small{line-height:1.45}.subject-tools span{letter-spacing:.14em}
.subject-list{padding-top:18px;background:linear-gradient(180deg,#050c14e6,#040a11f0)}
.module{grid-template-columns:minmax(220px,.48fr) minmax(0,1.52fr);gap:72px;padding:68px 0;border-bottom:1px solid var(--hairline)}
.module>div:first-child{position:sticky;top:102px;height:max-content;padding-top:6px}.module h2{font-size:clamp(34px,3.4vw,50px);line-height:.98}.module>div:first-child>p:not(.eyebrow){color:#8fa2b8;max-width:320px}
.lesson-row{position:relative;grid-template-columns:58px 1fr 24px;align-items:start;padding:19px 12px 19px 0;border-top:1px solid var(--hairline);transition:.2s ease}.lesson-row:hover{padding-left:12px;padding-right:0;background:linear-gradient(90deg,#b8f0ff0d,transparent);color:inherit}.lesson-row>span{font-size:11px;color:var(--accent);padding-top:5px}.lesson-row h3{font-size:21px;letter-spacing:-.035em}.lesson-row p{font-size:13px;line-height:1.45}.lesson-row small{font-size:9px;text-transform:uppercase;letter-spacing:.07em}.lesson-row>b{color:var(--accent);font-weight:400}

/* Lesson experience */
.lesson-hero{position:relative;padding-top:clamp(58px,7vw,96px);padding-bottom:48px;overflow:hidden}.lesson-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#03080fed 0%,#03080fc4 46%,#03080f5a 76%,#03080f1f);pointer-events:none}.lesson-hero>*{position:relative;z-index:2}.breadcrumb{margin-bottom:38px}.lesson-hero-grid{display:flex;justify-content:space-between;align-items:flex-start;gap:42px}.lesson-hero h1{font-size:clamp(46px,5.7vw,82px);max-width:1000px}.lesson-question{max-width:800px;font-size:18px;line-height:1.55;color:#bac9d9}.completion{flex:none;margin-top:4px;background:#08131fd8;backdrop-filter:blur(12px)}
.lesson-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.lesson-meta span{padding:7px 9px;border:1px solid var(--hairline);background:#07111db3;color:#8fa2b8;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.lesson-layout{grid-template-columns:210px minmax(0,var(--reading));justify-content:center;gap:clamp(56px,7vw,110px);max-width:none;padding-top:64px;padding-bottom:90px;background:linear-gradient(180deg,#050c14ed,#040a11f3)}
.lesson-rail{top:92px;border:1px solid var(--hairline);background:#07111dc9;padding:16px;box-shadow:var(--shadow-card);backdrop-filter:blur(14px)}.lesson-rail .eyebrow{margin-bottom:10px}.lesson-rail a{padding:8px 8px;border-left:1px solid transparent}.lesson-rail a:hover{color:#fff;border-left-color:var(--accent);background:#ffffff06}
.lesson-body{min-width:0}.mode-tabs{position:sticky;top:80px;z-index:9;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline-strong);margin-bottom:16px;box-shadow:0 10px 30px #0003;backdrop-filter:blur(16px)}.mode-tabs button{min-height:64px;background:#081521ed}.mode-panel{margin-bottom:52px;border:1px solid var(--hairline);border-top:0;background:#06111cdd;padding:16px 18px;color:#aab9c9;font-size:13px}
.lesson-body section{margin-bottom:64px;scroll-margin-top:164px}.lesson-body h2{font-size:clamp(29px,3vw,39px);line-height:1.02}.lesson-body p,.lesson-body li{font-size:16px;line-height:1.72;color:#c2cfdd}
.core-box,.case-box,.oral-box,.case-method,.pitfall-box,.recall-actions{border-color:var(--hairline-strong);box-shadow:var(--shadow-card)}.core-box{position:relative;padding:30px;background:linear-gradient(135deg,#b8f0ff18,#0a1828c9)}.core-box:before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--accent)}
.mechanism-list li{grid-template-columns:54px 1fr;padding:18px 0}.mechanism-list span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--hairline-strong);background:#07111d;color:var(--accent)}.mechanism-list strong{font-size:17px}.mechanism-list p{font-size:15px!important;line-height:1.6!important}
.distinction-grid{gap:10px;background:transparent}.distinction-grid article{border:1px solid var(--hairline);background:#081522d9;padding:20px;min-height:170px}.distinction-grid h3{font-size:22px}.case-box{background:linear-gradient(135deg,#11223ad9,#0a1524e8);padding:30px}.case-method{background:#07121ecf}.concept-link-grid{gap:10px;background:transparent}.concept-link-grid a{border:1px solid var(--hairline);background:#081522d9;padding:18px;min-height:160px;transition:.2s}.concept-link-grid a:hover{border-color:var(--accent);transform:translateY(-3px);background:#0d1d2d}.oral-box{background:linear-gradient(135deg,#0e2034dc,#171a2fdc)}.pitfall-box{background:linear-gradient(135deg,#2a1017e8,#160b11ef)}
.mini-quiz details{border-color:var(--hairline);padding:16px 0}.mini-quiz summary{font-size:14px}.mini-quiz details p{border-left:2px solid var(--accent);background:#0a1826;padding:14px 16px}.recall-actions{background:#07131fd9;padding:20px}.recall-actions button{min-width:110px}
.lesson-pager{gap:1px;background:var(--hairline);border-top-color:var(--hairline)}.lesson-pager a{padding-top:28px;padding-bottom:28px;background:#06111de9}.lesson-pager a:hover{background:#0a1826;color:#fff}

/* Map */
.map-shell{grid-template-columns:240px minmax(0,1fr) 320px;min-height:700px;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:#040a11ef}
.map-index,.map-detail{padding:26px;background:#06111de8;border-color:var(--hairline)}.map-index button{padding:13px 8px;border-color:var(--hairline);font-size:12px}.map-index button.active{background:#ffffff06;color:#fff;border-left:2px solid var(--accent);padding-left:12px}
.map-canvas{min-height:700px;background:radial-gradient(circle at 50% 48%,#255c8b42,transparent 32%),linear-gradient(145deg,#06111d,#0a1827)}.map-canvas:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#bedcff0b 1px,transparent 1px),linear-gradient(90deg,#bedcff0b 1px,transparent 1px);background-size:42px 42px;pointer-events:none}.map-core{width:280px;padding:26px;border-color:var(--hairline-strong);background:#07131ff0;box-shadow:0 20px 60px #0007}.map-core h2{font-size:28px;letter-spacing:-.05em}.map-node{width:178px;padding:14px;border-color:var(--hairline-strong);background:#081522ee;box-shadow:0 12px 34px #0005;z-index:2}.map-node strong{display:block;margin-top:6px;line-height:1.15}.map-detail p{color:#9badc0}.map-relations{gap:8px;background:transparent}.map-relations a{border:1px solid var(--hairline);background:#081522;padding:12px}

/* Glossary */
.glossary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.glossary-grid article{min-height:255px;padding:20px}.glossary-grid article>span{font-size:9px;letter-spacing:.1em}.glossary-grid h3{font-size:24px;line-height:1}.glossary-grid .link-chips{margin-top:auto}.filters{gap:8px}.filters button{border-radius:999px;background:#07111d}

/* Review */
.review-card{max-width:980px;margin:0 auto;padding:clamp(28px,5vw,52px);border-color:var(--hairline-strong);background:linear-gradient(135deg,#0b1928f0,#07111df0);box-shadow:0 26px 80px #00000050}.review-card h2{font-size:clamp(38px,5vw,66px);line-height:.95}.review-card>p:not(.eyebrow){font-size:18px;line-height:1.6}.review-card details{margin-top:26px;border-top:1px solid var(--hairline);padding-top:18px}.review-actions{margin-top:28px!important}.review-actions button{min-width:100px}

/* Compare */
.compare-config{gap:8px;padding:10px;border:1px solid var(--hairline);background:#06111ddb}.compare-config select{min-height:46px;border-color:var(--hairline-strong);background:#091624;padding:0 12px}.compare-main{gap:10px;background:transparent;margin-top:14px}.compare-main article{border:1px solid var(--hairline);background:linear-gradient(180deg,#0a1827eb,#07121eeb);min-height:360px;padding:clamp(30px,4vw,56px)}.compare-main h2{font-size:clamp(36px,4vw,56px)}.compare-vs{border:1px solid var(--hairline);background:#07111d;min-width:64px}.compare-reveal{margin-top:10px;border-color:var(--hairline-strong);background:linear-gradient(135deg,#0c1e31,#15172a)}

/* Planner */
.plan-controls{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(150px,.65fr)) auto;gap:10px;padding:14px;border:1px solid var(--hairline);background:#06111ddb}.plan-controls label{display:flex;align-items:center;gap:10px;padding:0 12px;color:#9eafc0;font-size:11px}.plan-controls input,.plan-controls select,.plan-controls>select{min-height:44px;background:#091624;border:1px solid var(--hairline-strong);color:#fff;padding:0 10px}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.plan-grid article{min-height:285px}.lesson-link{transition:.15s}.lesson-link:hover{color:var(--accent);padding-left:6px}

/* Sources / Control */
.official-source-grid{grid-template-columns:repeat(2,1fr);gap:12px}.official-source-grid a{min-height:190px;padding:26px}.official-source-grid strong{font-size:24px}.control-metrics{grid-template-columns:repeat(4,1fr);gap:10px}.control-metrics article{min-height:150px}.control-metrics strong{font-size:46px}.control-list{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.control-list article{min-height:190px}.progress-bar{height:4px;border-radius:999px;background:#ffffff0c}.progress-bar i{border-radius:999px;box-shadow:0 0 16px var(--accent)}

/* Footer */
.site-footer{min-height:78px;align-items:center;border-top-color:var(--hairline);background:#02070cf5;font-size:9px;letter-spacing:.09em;color:#65788e}
.site-footer a{color:#9fb1c4}

/* Subject world refinement */
body.subject-visual .stellar-backdrop{filter:saturate(.94) contrast(1.03)}
body.subject-visual .stellar-backdrop:before,body.subject-visual .stellar-backdrop:after{opacity:.55}
body[data-juris-course="diritto-dell-economia"]{--subject-tone:#91e9ff;--subject-warm:#d8c8ff}
body[data-juris-course="diritto-bancario"]{--subject-tone:#94ddff;--subject-warm:#f1cf8a}
body[data-juris-course="diritto-unione-europea"]{--subject-tone:#8dc5ff;--subject-warm:#ffd56d}
body.subject-visual .brand-mark i{background:var(--subject-tone);box-shadow:0 0 14px color-mix(in srgb,var(--subject-tone) 45%,transparent)}
body.subject-visual .brand-mark i:nth-child(3){background:var(--subject-warm)}

/* Responsive */
@media(max-width:1180px){
  .header-nav{gap:3px}.header-nav a{padding:8px 9px}
  .course-showcase .module-grid{grid-template-columns:repeat(2,1fr)}
  .lesson-layout{grid-template-columns:180px minmax(0,1fr);gap:48px}
  .map-shell{grid-template-columns:200px 1fr}.map-detail{grid-column:1/-1;border-top:1px solid var(--hairline);display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .plan-controls{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .header-nav{display:none}.header-action{display:none}.menu-trigger{display:block;margin-left:auto}
  .hero-index{display:none}.hero{min-height:760px}
  .mode-grid,.course-grid,.glossary-grid,.plan-grid{grid-template-columns:repeat(2,1fr)}
  .course-showcase .module-grid{grid-template-columns:1fr 1fr}
  .subject-roadmap{grid-template-columns:1fr}.subject-roadmap .button-row{margin-top:0}
  .subject-tools{grid-template-columns:repeat(2,1fr)}
  .module{grid-template-columns:1fr;gap:28px}.module>div:first-child{position:static}
  .lesson-layout{grid-template-columns:1fr;max-width:none}.lesson-rail{display:none}.mode-tabs{top:68px}
  .map-shell{grid-template-columns:1fr}.map-index{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-right:0;border-bottom:1px solid var(--hairline)}.map-index .eyebrow{grid-column:1/-1}.map-index button{border:1px solid var(--hairline);padding:10px}.map-index button.active{border-left:1px solid var(--accent)}.map-detail{grid-column:auto;display:block;border-left:0}
  .control-metrics{grid-template-columns:repeat(2,1fr)}.control-list{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  html{scroll-padding-top:72px}.site-header{height:60px;padding:0 14px}.brand{font-size:14px}.mobile-nav{top:60px}
  .hero,.page-hero,.section,.subject-list,.lesson-hero,.lesson-layout,.site-footer{padding-left:18px;padding-right:18px}
  .hero{min-height:calc(100svh - 60px);padding-top:92px;padding-bottom:38px;background:linear-gradient(180deg,#03080f7c 0%,#03080fbf 60%,#03080ff0 100%)}
  .hero h1,.page-hero h1{font-size:clamp(46px,13vw,62px);line-height:.9}.hero-copy{font-size:16px}.study-pulse{grid-template-columns:1fr;margin-top:34px}.study-pulse span{border-right:0;border-bottom:1px solid var(--hairline)}.study-pulse span:last-child{border-bottom:0}
  .section{padding-top:54px;padding-bottom:54px}.section-head{align-items:flex-start;flex-direction:column;gap:12px}.section-head h2{font-size:40px}.section-note{max-width:none}
  .mode-grid,.course-grid,.module-grid,.glossary-grid,.plan-grid,.official-source-grid,.control-metrics,.control-list{grid-template-columns:1fr}
  .mode-grid .card{min-height:220px}.mode-grid .card h3{margin-top:40px}.course-card{min-height:380px}.course-card h2{margin-top:64px}
  .course-showcase{min-height:0;padding-top:60px;padding-bottom:60px}.course-showcase .module-grid{grid-template-columns:1fr}.course-showcase:before{background-position:72% center}.course-showcase:after{background:linear-gradient(180deg,#03080f9a 0%,#03080fdb 60%,#03080ff5 100%)}
  .page-hero{min-height:570px;padding-top:88px;padding-bottom:36px}body.subject-visual .page-hero:after{background:linear-gradient(180deg,#02070d55,#02070db5 52%,#02070df5 100%)}
  .stats span{font-size:9px}.subject-roadmap{padding:30px 18px}.subject-tools{grid-template-columns:1fr}.subject-tools a{min-height:130px}.module{padding:48px 0}.module h2{font-size:36px}.lesson-row{grid-template-columns:36px 1fr 16px;padding:17px 0}.lesson-row:hover{padding-left:0;background:transparent}.lesson-row h3{font-size:18px}.lesson-row p{font-size:12px}
  .lesson-hero{padding-top:36px}.lesson-hero-grid{flex-direction:column;gap:18px}.completion{width:100%}.lesson-question{font-size:16px}.lesson-meta span{font-size:8px}.lesson-layout{padding-top:34px;padding-bottom:60px}.mode-tabs{position:static;grid-template-columns:1fr;margin-bottom:0}.mode-panel{border-top:1px solid var(--hairline)}.lesson-body section{margin-bottom:50px}.core-box,.case-box,.oral-box,.case-method,.pitfall-box,.recall-actions{padding:20px}.distinction-grid,.concept-link-grid{grid-template-columns:1fr}.lesson-pager{grid-template-columns:1fr}.lesson-pager a:last-child{text-align:left}
  .map-index{grid-template-columns:1fr}.map-canvas{min-height:720px}.map-core{width:210px}.map-node{width:120px;padding:10px}.map-node strong{font-size:12px}.map-node:nth-child(1){left:3%}.map-node:nth-child(2){right:3%}.map-node:nth-child(3){left:3%}.map-node:nth-child(4){right:3%}.map-node:nth-child(5){left:34%}.map-node:nth-child(6){left:34%}
  .compare-config{grid-template-columns:1fr;padding:8px}.compare-main{grid-template-columns:1fr}.compare-vs{min-height:54px}.compare-main article{min-height:260px}.plan-controls{grid-template-columns:1fr}.plan-controls label{min-height:44px}.review-card{padding:24px}.review-actions>*{width:100%}
  .site-footer{flex-direction:column;align-items:flex-start;gap:7px;padding-top:18px;padding-bottom:18px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.stellar-video{display:none}}
