/* Approved editorial refinement. The original landscape and interactive directory remain. */
:root { --paper:#f7f1e7; --brass:#e4c28a; --muted:#cad5cf; }
.hub-hero { min-height:580px; padding-top:36px; gap:24px; grid-template-columns:1.05fr 1fr; }
.hub-hero h1 { font-size:clamp(58px,6.6vw,98px); line-height:.99; letter-spacing:-3px; margin:20px 0 26px; }
.hub-hero h1 em { margin-left:24px; }
.hero-statement { font:400 clamp(23px,2.6vw,35px)/1.22 Georgia,serif; max-width:540px; color:#f6eddf; margin:0 0 18px; }
.hub-hero .hero-copy { font-size:14px; line-height:1.75; max-width:475px; margin:0; }
.hero-actions { gap:12px; align-items:stretch; margin-top:27px; }
.hero-actions .button { min-height:48px; white-space:normal; text-align:center; padding:13px 18px; font-size:10px; letter-spacing:.06em; }
.button.secondary { color:#f2deba; border:1px solid #c9ab72; background:#071c1bd9; border-radius:4px; }
.button svg { flex:0 0 16px; }
.hero-concept { font-size:11px; line-height:1.65; color:#c5d0ca; max-width:490px; }
.nav-categories a { font-size:11px; }
.universe-composition { height:470px; margin-left:0; }
.hero-bottom { position:relative; grid-column:1/-1; bottom:auto; padding:14px 0; }
.audience-paths { margin:0 0 38px; padding:21px 0; gap:28px; }
.audience-paths .text-link { font-size:14px; }
.portal-intro h2 { font:400 clamp(28px,3vw,42px)/1.15 Georgia,serif; }
.portal-intro>p { max-width:370px; }
.portal-grid { grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; }
.portal-grid .portal-card { min-height:320px; aspect-ratio:auto; padding:14px 12px; border-radius:3px; }
.portal-card::before { background:linear-gradient(180deg,#0613150a 20%,#06131560 44%,#061315fa 91%); }
.portal-card::after { inset:5px; }
.portal-image { object-position:50% 20%; }
.portal-grid .portal-number { font-size:10px; }
.portal-grid .portal-sub { display:none; }
.portal-grid .portal-caption h3 { font:400 clamp(17px,1.45vw,22px)/1.2 Georgia,serif; margin:0 0 10px; letter-spacing:0; }
.portal-grid .portal-caption p { font-size:12px; line-height:1.5; min-height:64px; margin:0 0 12px; color:#e4e9e1; }
.portal-grid .portal-enter { font-size:11px; line-height:1.45; text-transform:none; letter-spacing:0; display:flex; gap:5px; }
.portal-enter svg { width:12px; height:12px; flex:0 0 12px; }
.artwork-note { font-size:11px; color:#c5d0ca; padding:15px 0 25px; }
.management-story { grid-template-columns:.72fr 1.5fr; gap:50px; border-block:1px solid #c7b38c50; padding:32px 0; margin:12px 0 38px; }
.official-partners { gap:20px; padding:0 24px; }
.official-partners a { background:none; padding:0; width:100%; text-align:center; border-radius:0; }
.official-partners .agency-partner img { width:180px; height:148px; object-fit:contain; margin:0 auto 6px; }
.partner-name { color:#edd2a0; font-size:16px; letter-spacing:.1em; line-height:1.5; }
.official-partners small { display:block; color:#c7d3cd; font-size:11px; line-height:1.7; margin-top:8px; }
.official-partners .talent-partner { padding-top:20px; border-top:1px solid var(--line); }
.story-content h2 { font:400 clamp(28px,3.3vw,42px)/1.18 Georgia,serif; }
.story-description { max-width:750px; }
.footer { grid-template-columns:1fr 1.2fr; padding-bottom:30px; }
.floating-book { position:static; width:fit-content; max-width:calc(100% - 40px); margin:0 40px 30px auto; }
.footer-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); justify-content:start; gap:8px 20px; align-content:start; }
.footer-links a { display:flex; align-items:center; line-height:1.5; padding:5px 0; }
.contract-note { grid-column:1/-1; margin-top:0; }
.category-hero .hero-content { min-width:0; }
.static-profile-message { padding:55px 0; }
.static-profile-message h1 { font:400 42px/1.15 Georgia,serif; }
.static-profile-message p { max-width:660px; line-height:1.8; }
@media(max-width:1100px) {
 .portal-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
 .portal-grid .portal-card { min-height:330px; }
 .portal-grid .portal-caption h3 { font-size:23px; }
 .hub-hero { grid-template-columns:1fr 1fr; }
 .hub-hero h1 { font-size:72px; }
 .universe-composition { height:420px; }
 .hero-actions { flex-wrap:wrap; }
 .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .hub-hero { grid-template-columns:1fr; gap:12px; padding-top:27px; }
 .hub-hero h1 { font-size:clamp(57px,15vw,88px); margin:18px 0 25px; }
 .hub-hero h1 em { margin-left:12px; }
 .hero-statement { font-size:27px; max-width:500px; }
 .hero-actions { display:flex; flex-wrap:wrap; gap:11px; }
 .hero-actions .button { font-size:11px; }
 .hero-concept { margin:14px 0; }
 .universe-composition { width:95%; height:370px; margin:6px auto 15px; }
 .hero-bottom { margin-top:0; padding:15px 0; gap:15px; line-height:1.6; }
 .audience-paths { margin-bottom:28px; }
 .portal-intro { gap:10px; }
 .portal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .portal-grid .portal-card { width:100%; min-height:310px; padding:13px; }
 .portal-grid .portal-caption h3 { font-size:21px; }
 .portal-grid .portal-caption p { font-size:11px; min-height:50px; }
 .portal-grid .portal-imitadores h3 { font-size:17px; }
 .management-story { grid-template-columns:1fr; gap:30px; padding:28px 0; }
 .official-partners { flex-direction:row; padding:0; gap:20px; }
 .official-partners>a { flex:1; min-width:0; }
 .official-partners .agency-partner img { width:140px; max-width:100%; height:116px; }
 .official-partners .talent-partner { border-top:0; border-left:1px solid var(--line); padding:15px 0 15px 20px; }
 .partner-name { font-size:13px; letter-spacing:.08em; }
 .footer { grid-template-columns:1fr; padding-bottom:30px; }
 .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .brief-banner .button { min-height:48px; }
}
@media(max-width:450px) {
 .hero-actions .button { width:100%; }
 .universe-composition { height:320px; }
 .portal-grid .portal-card { min-height:300px; padding:11px; }
 .portal-grid .portal-caption h3 { font-size:18px; }
 .portal-grid .portal-imitadores h3 { font-size:15px; }
 .portal-grid .portal-caption p { font-size:11px; min-height:64px; }
 .portal-grid .portal-enter { font-size:10px; }
 .footer { padding-bottom:20px; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-actions .button,.portal-card,.composition-frame { transition:none; }
}
@media(forced-colors:active) {
 .button.secondary { color:LinkText; border-color:LinkText; background:Canvas; }
 .portal-caption { background:Canvas; }
}
