/* audience hubs v2: teacher / family / database */
.audience-tier{background:var(--navy);border-bottom:1px solid rgba(197,160,89,.35)}
.audience-tier-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 16px;padding:9px 0}
.audience-tier-label{color:rgba(255,255,255,.62);font-size:.78rem;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.audience-switch{display:flex;gap:9px;flex-wrap:wrap}.audience-switch-link{display:inline-flex;align-items:center;padding:6px 15px;border-radius:999px;border:1px solid rgba(197,160,89,.55);color:#fff;text-decoration:none;font-size:.82rem;font-weight:700;transition:.2s}
.audience-switch-link:hover,.audience-switch-link.current{background:var(--gold);color:#0c1b33;border-color:var(--gold)}
.audience-hero{padding-bottom:74px}.audience-hero-copy{max-width:840px;margin:0 auto;text-align:center;position:relative;z-index:2}.audience-hero-copy .lead{max-width:760px;margin-inline:auto}
.audience-entry-grid{display:grid;gap:22px;margin-top:44px;position:relative;z-index:2}.audience-entry-grid-primary{grid-template-columns:repeat(3,minmax(0,1fr))}
.audience-entry-card{display:flex;flex-direction:column;gap:12px;min-height:310px;background:linear-gradient(155deg,rgba(255,255,255,.10),rgba(255,255,255,.035));border:1px solid rgba(197,160,89,.42);border-radius:22px;padding:30px 27px;text-decoration:none;color:#fff;box-shadow:0 18px 45px rgba(0,0,0,.18);transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;overflow:hidden;position:relative}
.audience-entry-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--gold),transparent)}
.audience-entry-card:hover,.audience-entry-card:focus-visible{transform:translateY(-7px);background:linear-gradient(155deg,rgba(255,255,255,.15),rgba(255,255,255,.06));border-color:var(--gold);box-shadow:0 25px 55px rgba(0,0,0,.28)}
.audience-entry-eyebrow,.database-kicker,.hub-callout-kicker{font-size:.7rem;font-weight:800;letter-spacing:.12em;color:var(--gold2)}
.audience-entry-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.10);font-size:2rem;line-height:1}.audience-entry-card h2{margin:0;font-size:1.28rem;color:#fff;font-family:"Noto Serif JP",serif}.audience-entry-card p{margin:0;font-size:.9rem;line-height:1.7;color:rgba(255,255,255,.82)}.audience-entry-cta{margin-top:auto;padding-top:8px;font-weight:800;font-size:.88rem;color:var(--gold2)}
.audience-entry-card.is-database{background:linear-gradient(155deg,rgba(197,160,89,.20),rgba(255,255,255,.04));border-color:rgba(224,190,117,.72)}
.audience-product-strip{position:relative;z-index:2;margin-top:24px;padding:18px 22px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(0,0,0,.12);display:flex;align-items:center;justify-content:space-between;gap:18px;color:#fff}.audience-product-strip div{display:grid;gap:3px}.audience-product-strip span{font-size:.82rem;color:rgba(255,255,255,.7)}
.audience-intro{text-align:center}.audience-intro .container{max-width:780px}.audience-intro p{color:var(--muted);line-height:1.9}
.hub-hero{padding:58px 0 50px;background:linear-gradient(135deg,#f7f8fb,#fff);border-bottom:1px solid rgba(12,27,51,.08)}.hub-hero .container{max-width:900px}.hub-hero-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#fff;border:1px solid rgba(197,160,89,.45);box-shadow:0 12px 28px rgba(12,27,51,.09);font-size:2rem;margin-bottom:20px}.hub-hero h1{margin:8px 0 12px}.hub-hero p{max-width:760px;color:var(--muted);line-height:1.8}
.hub-hero-database{background:linear-gradient(135deg,#f8f3e8,#fff)}
.hub-group{margin-bottom:56px}.hub-group:last-child{margin-bottom:0}.hub-group-heading{display:flex;align-items:baseline;gap:12px;margin-bottom:22px;flex-wrap:wrap}.hub-group-heading h2{margin:0;font-size:1.4rem}.hub-group-note{font-size:.82rem;color:var(--muted)}
.hub-card{display:flex;flex-direction:column;height:100%;border:1px solid rgba(12,27,51,.08);box-shadow:0 10px 30px rgba(12,27,51,.06);transition:.2s}.hub-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(12,27,51,.10)}.hub-card-feature{border-top:3px solid var(--gold)}.hub-card .status-badge{margin-bottom:10px}.hub-card h3{font-size:1.05rem;margin:0 0 8px;color:var(--navy);font-family:"Noto Serif JP",serif}.hub-card p{font-size:.86rem;line-height:1.65;color:var(--muted);margin:0 0 18px;flex-grow:1}.hub-card .btn{align-self:flex-start}
.hub-callout{margin:0 0 56px;padding:28px 30px;border-radius:20px;background:linear-gradient(120deg,#0c1b33,#172b4d);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 16px 36px rgba(12,27,51,.18)}.hub-callout h2{color:#fff;margin:5px 0 8px;font-size:1.25rem}.hub-callout p{margin:0;max-width:720px;color:rgba(255,255,255,.76);line-height:1.7}.hub-callout .btn{white-space:nowrap}
.grade-link-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.grade-link-grid a{display:grid;place-items:center;padding:18px 8px;border-radius:14px;border:1px solid rgba(197,160,89,.45);background:#fff;color:var(--navy);font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(12,27,51,.05);transition:.2s}.grade-link-grid a:hover{transform:translateY(-3px);border-color:var(--gold);background:#fffaf0}
.database-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.database-feature-card{display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid rgba(197,160,89,.5);border-radius:22px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 14px 36px rgba(12,27,51,.08);position:relative;transition:.22s}.database-feature-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(12,27,51,.13);border-color:var(--gold)}.database-feature-card.is-coming{background:#f7f7f7;border-style:dashed}.database-status{position:absolute;top:18px;right:18px;padding:4px 10px;border-radius:999px;background:#fff7e6;border:1px solid rgba(197,160,89,.5);font-size:.72rem;font-weight:800;color:var(--navy)}.database-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;background:#fffaf0;font-size:2rem}.database-feature-card h2{font-size:1.25rem;margin:6px 0 10px;color:var(--navy);font-family:"Noto Serif JP",serif}.database-feature-card p{color:var(--muted);line-height:1.75;font-size:.9rem}.database-feature-card strong{color:#8b671d;font-size:.86rem}.database-note{margin-top:32px;padding:24px 28px;border-radius:18px;background:#f7f8fb;border-left:4px solid var(--gold)}.database-note p{margin:6px 0 0;color:var(--muted);line-height:1.75}
.product-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product-category-card{display:grid;grid-template-columns:82px 1fr;gap:22px;align-items:start;padding:30px;border-radius:22px;background:#fff;border:1px solid rgba(12,27,51,.09);box-shadow:0 14px 34px rgba(12,27,51,.08);text-decoration:none;color:inherit;transition:.22s}.product-category-card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 20px 44px rgba(12,27,51,.13)}.product-category-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#fff7e6,#f8f3e8);font-size:2.2rem}.product-category-kicker{font-size:.68rem;font-weight:800;letter-spacing:.13em;color:#9a7424}.product-category-card h2{margin:5px 0 9px;font-size:1.28rem;color:var(--navy);font-family:"Noto Serif JP",serif}.product-category-card p{margin:0 0 14px;color:var(--muted);line-height:1.7}.product-category-card strong{color:#8b671d}.category-all-products{margin-top:30px;padding:24px 28px;border-radius:18px;background:#0c1b33;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.category-all-products span{font-size:.8rem;color:rgba(255,255,255,.66)}.category-all-products h2{margin:4px 0 0;color:#fff;font-size:1.2rem}
.product-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product-showcase-card{display:grid;grid-template-columns:190px 1fr;min-height:190px;background:#fff;border:1px solid rgba(12,27,51,.09);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 12px 30px rgba(12,27,51,.07);transition:.22s}.product-showcase-card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 18px 40px rgba(12,27,51,.12)}.product-showcase-card img,.product-showcase-placeholder{width:100%;height:100%;min-height:190px;object-fit:cover;background:#f4f1e9}.product-showcase-placeholder{display:grid;place-items:center;font-family:"Noto Serif JP",serif;font-size:1.5rem;color:var(--navy)}.product-showcase-card>div:last-child{padding:24px}.product-showcase-card span{display:inline-block;margin-bottom:7px;font-size:.73rem;font-weight:800;color:#8b671d}.product-showcase-card h2{margin:0 0 9px;font-size:1.15rem;color:var(--navy);font-family:"Noto Serif JP",serif}.product-showcase-card p{margin:0 0 14px;color:var(--muted);line-height:1.68;font-size:.88rem}.product-showcase-card strong{color:#8b671d;font-size:.84rem}.product-showcase-feature{grid-column:1/-1;grid-template-columns:320px 1fr}.category-related{margin-top:42px;padding:28px 30px;border-radius:20px;background:#f7f8fb;border-left:4px solid var(--gold)}.category-related h2{margin:0 0 8px;font-size:1.2rem}.category-related p{margin:0 0 16px;color:var(--muted);line-height:1.75}

/* visual storytelling refresh */
.visual-hero{position:relative;overflow:hidden;padding:84px 0 96px;background:radial-gradient(circle at 74% 22%,rgba(209,171,91,.2),transparent 25%),linear-gradient(135deg,#07111f 0%,#0d1f37 60%,#152b4b 100%);color:#fff}.visual-hero:after{content:"";position:absolute;inset:auto -8% -110px;height:220px;background:#f6f0e4;transform:rotate(-2deg)}
.visual-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:60px;align-items:center}.visual-hero-copy h1{margin:16px 0 22px;font-family:"Noto Serif JP",serif;font-size:clamp(2.4rem,4.7vw,4.8rem);line-height:1.2;color:#fff;letter-spacing:.01em}.visual-hero-copy h1 span{color:#e8c879}.visual-hero-copy p{max-width:580px;margin:0;color:rgba(255,255,255,.8);font-size:1.05rem;line-height:1.9}.visual-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.visual-collage{position:relative;min-height:510px}.visual-shot{position:absolute;margin:0;overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.22);box-shadow:0 26px 70px rgba(0,0,0,.34);background:#fff}.visual-shot img{display:block;width:100%;height:100%;object-fit:cover}.visual-shot-main{inset:34px 34px 96px 0;transform:rotate(-2deg)}.visual-shot-note{width:42%;height:190px;right:0;bottom:18px;transform:rotate(4deg)}.visual-shot-photo{width:39%;height:170px;right:10px;top:0;transform:rotate(5deg)}.visual-paper-card{position:absolute;left:20px;bottom:10px;padding:16px 20px;border-radius:14px;background:#f7edda;color:#17233a;box-shadow:0 15px 35px rgba(0,0,0,.22);transform:rotate(-4deg);display:grid}.visual-paper-card span{font-size:.7rem;letter-spacing:.15em;color:#9b762a;font-weight:800}.visual-paper-card strong{font-family:"Noto Serif JP",serif;font-size:1.02rem}
.visual-section-heading{text-align:center;margin-bottom:34px}.visual-section-heading span,.category-visual-hero>div>span,.visual-products-band>div>div>span{font-size:.72rem;letter-spacing:.16em;font-weight:800;color:#9b762a}.visual-section-heading h2{font-family:"Noto Serif JP",serif;font-size:2rem;margin:8px 0 0}.visual-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.visual-path-card{display:block;overflow:hidden;border-radius:24px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 16px 40px rgba(22,31,46,.1);transition:.25s}.visual-path-card:hover{transform:translateY(-7px);box-shadow:0 24px 54px rgba(22,31,46,.16)}.visual-path-media{height:230px;position:relative;overflow:hidden;background:#e8e3d9}.visual-path-media img{width:100%;height:100%;object-fit:cover;transition:.35s}.visual-path-card:hover .visual-path-media img{transform:scale(1.035)}.visual-path-number{position:absolute;right:18px;bottom:14px;font-family:"Noto Serif JP",serif;font-size:3rem;color:rgba(255,255,255,.95);text-shadow:0 2px 20px rgba(0,0,0,.3)}.visual-path-body{padding:24px 25px 28px}.visual-path-body small{letter-spacing:.14em;font-weight:800;color:#9b762a}.visual-path-body h3{font-family:"Noto Serif JP",serif;font-size:1.3rem;margin:8px 0 8px;color:var(--navy)}.visual-path-body p{margin:0 0 14px;color:var(--muted)}.visual-path-body strong{color:#9b762a}
.visual-data-board{height:230px;position:relative;overflow:hidden;padding:26px;background:linear-gradient(145deg,#0e213c,#1c3b65);color:#fff}.visual-map-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(231,198,120,.72) 2px,transparent 2.5px);background-size:28px 28px;mask-image:radial-gradient(ellipse at center,#000 20%,transparent 72%);opacity:.72}.visual-stat{position:relative;z-index:1;display:flex;align-items:end;gap:9px}.visual-stat b{font-family:"Noto Serif JP",serif;font-size:4.2rem;line-height:1;color:#e6c472}.visual-stat span{padding-bottom:8px;font-weight:700}.visual-search-line{position:absolute;left:26px;right:26px;bottom:25px;z-index:1;padding:12px 15px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:.8rem;color:rgba(255,255,255,.82)}
.visual-products-band{padding:70px 0;background:#f6f0e4}.visual-products-band-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:46px;align-items:center}.visual-products-band h2{font-family:"Noto Serif JP",serif;font-size:2rem;line-height:1.5;margin:8px 0;color:#17233a}.visual-mini-products{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.visual-mini-products a{display:grid;grid-template-rows:150px auto;overflow:hidden;border-radius:17px;background:#fff;text-decoration:none;color:var(--navy);box-shadow:0 10px 25px rgba(35,31,23,.09);transition:.22s}.visual-mini-products a:hover{transform:translateY(-5px)}.visual-mini-products img{width:100%;height:150px;object-fit:cover;background:#fff}.visual-mini-products b{padding:13px;text-align:center;font-size:.83rem}
.category-visual-hero{padding:72px 0 54px;background:linear-gradient(135deg,#f7eedc,#fff 58%,#eef2f7)}.category-visual-hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(2.2rem,4vw,3.8rem);margin:10px 0 12px;color:#17233a}.category-visual-hero p{max-width:650px;margin:0;color:var(--muted);line-height:1.8}.category-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.category-gallery-card{overflow:hidden;border-radius:24px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 16px 42px rgba(24,30,42,.1);transition:.24s}.category-gallery-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(24,30,42,.16)}.category-gallery-media{height:285px;position:relative;overflow:hidden;background:#efe9de}.category-gallery-media>img{width:100%;height:100%;object-fit:cover;transition:.35s}.category-gallery-card:hover .category-gallery-media>img{transform:scale(1.035)}.category-gallery-collage{display:grid;grid-template-columns:1fr 1fr}.category-gallery-collage>img{width:100%;height:100%;object-fit:cover}.category-gallery-overlay{position:absolute;left:18px;right:18px;bottom:16px;display:flex;align-items:end;justify-content:space-between;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.45)}.category-gallery-overlay span{font-family:"Noto Serif JP",serif;font-size:3.2rem}.category-gallery-overlay b{font-size:.72rem;letter-spacing:.16em}.category-gallery-copy{padding:24px 26px 27px}.category-gallery-copy h2{font-family:"Noto Serif JP",serif;margin:0 0 8px;color:var(--navy);font-size:1.35rem}.category-gallery-copy p{margin:0 0 14px;color:var(--muted)}.category-gallery-copy strong{color:#9b762a}.category-visual-footer{margin-top:38px;padding:28px 30px;border-radius:20px;background:#0c1b33;color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center}.category-visual-footer span{font-size:.7rem;letter-spacing:.16em;color:#d9bb76;font-weight:800}.category-visual-footer h2{margin:5px 0 0;color:#fff;font-size:1.2rem}

@media(max-width:980px){.grade-link-grid{grid-template-columns:repeat(3,1fr)}.database-grid{grid-template-columns:1fr 1fr}.audience-entry-grid-primary{grid-template-columns:1fr 1fr}.audience-entry-card.is-database{grid-column:1/-1;min-height:240px}.product-showcase-grid{grid-template-columns:1fr}.product-showcase-feature{grid-column:auto}.product-category-grid{grid-template-columns:1fr}.visual-hero-grid{grid-template-columns:1fr}.visual-collage{min-height:440px}.visual-path-grid{grid-template-columns:1fr 1fr}.visual-path-card-data{grid-column:1/-1}.visual-products-band-grid{grid-template-columns:1fr}.visual-mini-products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.audience-entry-grid-primary,.database-grid{grid-template-columns:1fr}.audience-entry-card.is-database{grid-column:auto}.audience-entry-card{min-height:auto}.audience-product-strip,.hub-callout,.category-all-products,.category-visual-footer{align-items:flex-start;flex-direction:column}.grade-link-grid{grid-template-columns:repeat(2,1fr)}.hub-hero{padding:42px 0 38px}.product-showcase-card,.product-showcase-feature{grid-template-columns:1fr}.product-showcase-card img,.product-showcase-placeholder{height:190px}.product-category-card{grid-template-columns:1fr}.product-category-icon{width:62px;height:62px}.visual-hero{padding-top:58px}.visual-hero-grid{gap:30px}.visual-collage{min-height:355px}.visual-shot-main{inset:20px 16px 75px 0}.visual-shot-note{height:130px}.visual-shot-photo{height:120px}.visual-path-grid,.category-gallery-grid{grid-template-columns:1fr}.visual-path-card-data{grid-column:auto}.visual-mini-products{grid-template-columns:1fr 1fr}.category-gallery-media{height:230px}}
@media(max-width:640px){.audience-tier-inner{justify-content:flex-start}.audience-switch-link{padding:6px 11px;font-size:.76rem}.visual-products-band h2{font-size:1.55rem}.visual-mini-products{grid-template-columns:1fr 1fr}.visual-mini-products a{grid-template-rows:120px auto}.visual-mini-products img{height:120px}}
