.portal-home{padding-top:1rem}.portal-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,4vw,52px);border-radius:30px;background:linear-gradient(130deg,#221458,#462983);color:#fff;box-shadow:var(--shadow-strong)}
.portal-hero h1{color:#fff;font-size:clamp(2rem,4.1vw,4rem);line-height:1.12;max-width:20ch}.portal-hero .eyebrow{background:#fff8dc;color:#462983;white-space:normal;line-height:1.4}.portal-lede{font-size:clamp(1.08rem,1.4vw,1.25rem);line-height:1.65;max-width:75ch}.portal-hero .portal-lede{color:#f1eafc}.portal-hero figure{margin:0;min-width:0}.portal-hero img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:22px;border:3px solid #ffc94d}.portal-hero figcaption{margin-top:.8rem;color:#eee6f7;font-size:.875rem;line-height:1.5}
.portal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.5rem}.portal-actions>a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}.portal-hero .portal-actions>a:not(.button){color:#fff;text-decoration:underline;text-underline-offset:4px}.portal-hero .button{background:#ffc94d;color:#271747;box-shadow:none;gap:.6rem}
.portal-front{margin:clamp(28px,4vw,52px) 0}.portal-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.portal-section-heading h2{margin-bottom:0}.portal-section-heading .eyebrow{margin-bottom:.6rem}.portal-text-link{display:inline-flex;min-height:44px;align-items:center;gap:.45rem;color:var(--cyan);font-weight:700}
.portal-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.portal-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);min-width:0;border:1px solid var(--line);border-radius:22px;background:#fff;overflow:clip;box-shadow:var(--shadow)}.portal-card-image{display:block;min-width:0;background:#ece5f7}.portal-card-image img{width:100%;height:100%;min-height:260px;object-fit:cover}.portal-card-copy{padding:clamp(20px,2.2vw,30px);min-width:0}.portal-card h3{font-size:clamp(1.25rem,1.6vw,1.6rem);line-height:1.25;margin:0 0 .75rem}.portal-card h3 a{color:var(--ink)}.portal-card p{color:var(--ink-soft);margin:.75rem 0}.portal-card .eyebrow{color:var(--pink);font-size:.72rem;line-height:1.4;margin:0 0 .8rem;max-width:100%}
.portal-manifesto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin:2rem 0;padding:clamp(24px,4vw,42px);border-radius:24px;background:#fff8dc;color:var(--ink)}.portal-manifesto h3{margin-top:0}.portal-manifesto p{max-width:75ch}.portal-manifesto>h2,.portal-manifesto>p,.portal-manifesto>.portal-text-link{grid-column:1/-1;margin-block:0}.portal-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0}.portal-paths>a{display:flex;flex-direction:column;gap:.75rem;min-width:0;padding:1.5rem;border-radius:18px;background:#fff;border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow)}.portal-paths strong{font-size:1.2rem}.portal-paths span{color:var(--cyan)}
.portal-collections{margin:2rem 0;padding:1rem 1.5rem;border:1px solid var(--line);border-radius:20px;background:#fff}.portal-collections>summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none;padding:.5rem 0;color:var(--ink)}.portal-collections>summary::-webkit-details-marker{display:none}.portal-collections>summary::after{content:'+';font-size:1.5rem;color:var(--pink)}.portal-collections[open]>summary::after{content:'−'}.portal-collections .topics{padding:0;border:0;box-shadow:none;background:transparent}
.magazine-heading{padding:clamp(24px,4vw,48px);background:#fff8dc;border-radius:24px}.magazine-heading h1{max-width:25ch}.magazine-story{padding:clamp(24px,4vw,48px);border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.magazine-story header{max-width:85ch;margin:0 auto 2rem}.magazine-story h1{font-size:clamp(2rem,4vw,3.5rem)}.magazine-story figure{margin:1.5rem 0 2rem}.magazine-story figure img{width:100%;max-height:520px;object-fit:cover;border-radius:18px}.magazine-story figcaption{padding-top:.6rem;color:var(--ink-soft)}.magazine-story-text{max-width:78ch;margin-inline:auto;font-size:1.12rem;line-height:1.85}.magazine-story-text>p{margin:1.25rem 0}.magazine-reference{font-size:.95rem;padding-top:1rem;border-top:1px solid var(--line)}.magazine-reference a{overflow-wrap:anywhere}
@media(max-width:1100px){.portal-card{grid-template-columns:1fr}.portal-card-image img{height:auto;aspect-ratio:3/2;min-height:0}}
@media(max-width:920px){.portal-hero{grid-template-columns:1fr}.portal-hero h1{max-width:24ch}.portal-hero figure{max-width:700px}.portal-manifesto{grid-template-columns:1fr}.portal-section-heading{align-items:start;flex-direction:column}}
@media(max-width:700px){.portal-card-grid,.portal-paths{grid-template-columns:1fr}.portal-hero{padding:24px 18px;border-radius:22px}.portal-hero h1{font-size:clamp(2rem,8vw,3rem)}.portal-card-copy{padding:22px}.portal-manifesto{gap:1rem;padding:24px 18px}.magazine-story,.magazine-heading{padding:24px 18px}.portal-collections{padding:1rem}.magazine-story-text{font-size:1.05rem}}

.portal-topic-links{display:flex;flex-wrap:wrap;gap:.65rem;padding-top:1.25rem}.portal-topic-links a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .9rem;border-radius:12px;border:1px solid var(--line);color:var(--ink);background:#faf8fd}.portal-topic-links a:hover,.portal-topic-links a:focus-visible{color:var(--pink);border-color:currentColor}
.magazine-section-intro{max-width:85ch;margin:0 0 1.5rem;color:var(--ink-soft);line-height:1.7}
.cabinet-contents{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 2rem}.cabinet-contents a{display:inline-flex;align-items:center;min-height:44px;padding:.65rem 1rem;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--cyan);font-weight:700}
.circuit-briefs{margin:2.5rem 0}.circuit-briefs>header{max-width:85ch;margin-bottom:1.5rem}.circuit-briefs>header>p:last-child{line-height:1.7;color:var(--ink-soft)}.circuit-brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;counter-reset:circuit}.circuit-brief-grid>article{counter-increment:circuit;position:relative;min-width:0;display:flex;flex-direction:column;align-items:start;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.circuit-brief-grid>article::before{content:counter(circuit,decimal-leading-zero);display:inline-block;padding:.2rem .65rem;margin-bottom:1rem;border-radius:9px;background:#fff2c9;color:#4c326a;font-weight:800;letter-spacing:.08em}.circuit-brief-grid h3{margin:0;font-size:1.25rem;line-height:1.3;color:var(--pink)}.circuit-brief-grid p{line-height:1.75;color:var(--ink-soft);margin:1rem 0}.circuit-brief-grid .portal-text-link{margin-top:auto}
.magazine-brief-teaser{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2.5rem 0;padding:clamp(24px,4vw,42px);border-radius:24px;background:#fff8dc}.magazine-brief-teaser h2{margin-top:.5rem}.magazine-brief-teaser ul{list-style:none;margin:0;padding:0;display:grid;gap:1rem}.magazine-brief-teaser li{padding-bottom:1rem;border-bottom:1px solid #dccfb7}.magazine-brief-teaser li:last-child{border-bottom:0;padding-bottom:0}.magazine-brief-teaser li>p{margin:.5rem 0 0;line-height:1.6}.magazine-brief-teaser strong{color:var(--ink)}
.topic-magazine-links{margin:2rem 0}.topic-magazine-links>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.topic-magazine-links>div>a{display:block;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.topic-magazine-links h3{margin:.75rem 0;font-size:1.3rem;line-height:1.35}.topic-magazine-links p{margin:0;color:var(--ink-soft);line-height:1.65}
@media(max-width:1050px){.circuit-brief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.circuit-brief-grid,.magazine-brief-teaser,.topic-magazine-links>div{grid-template-columns:1fr}.circuit-brief-grid>article{padding:24px}.magazine-brief-teaser{gap:1.5rem;padding:24px 18px}}
