/* Topic cards stay local; the VK player is requested only after a click. */
.company-hero-links { display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center; }
.company-videos { padding:88px 0 84px; background:#171719; color:#f6f1e8; scroll-margin-top:28px; }
.company-videos-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:42px; }
.company-videos h2 { margin:0; font:400 clamp(42px,5vw,68px)/1.04 Georgia,"Times New Roman",serif; letter-spacing:-.045em; }
.company-videos-heading > p { max-width:310px; margin:0; color:#c7c0b7; font-size:16px; line-height:1.7; }
.company-materials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-items:start; }
.company-material { display:flex; flex-direction:column; min-width:0; height:100%; background:#222224; border:1px solid #514b44; }
.material-visual { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; aspect-ratio:4/3; overflow:hidden; color:#f4e8d6; background:radial-gradient(ellipse at 20% 0%,#4e423b,transparent 74%),#282627; }
.material-visual::after { content:""; position:absolute; inset:15px; border:1px solid #d4b48b33; pointer-events:none; }
.material-label { position:absolute; top:26px; left:28px; right:28px; display:flex; justify-content:space-between; gap:10px; color:#d9c4a6; font:600 10px/1.4 system-ui,sans-serif; letter-spacing:.13em; text-transform:uppercase; z-index:1; }
.material-brand { margin:24px 0 0; font:400 clamp(72px,7.5vw,106px)/.9 Georgia,"Times New Roman",serif; letter-spacing:-.06em; }
.material-brand-sub { margin-top:14px; font:500 10px/1.5 system-ui,sans-serif; letter-spacing:.28em; }
.material-visual-fitline { background:radial-gradient(ellipse at 90% 100%,#572e28,transparent 65%),#292627; }
.material-word { font:italic 400 clamp(51px,5.5vw,78px)/1 Georgia,"Times New Roman",serif; letter-spacing:-.06em; }
.material-underline { display:block; width:90px; height:3px; background:#c45440; transform:rotate(-6deg); margin:17px 0 0 32px; }
.material-visual-caption { margin-top:20px; font:500 10px/1.4 system-ui,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.material-packshot { margin:0; background:#fff1dd; }
.material-packshot::after { border-color:#755c4233; }
.material-packshot img { display:block; position:absolute; top:0; left:0; width:100%; height:auto; max-width:none; transform:translateY(-30%); }
.material-packshot .material-label { color:#654833; }
.material-visual-set { background:radial-gradient(ellipse at 0% 100%,#564937,transparent 80%),#282627; }
.material-set-names { margin-top:28px; padding:0 30px; font:400 clamp(30px,3.1vw,44px)/1.18 Georgia,"Times New Roman",serif; letter-spacing:-.035em; text-align:center; }
.material-set-names span { display:block; }
.material-set-names span:nth-child(2) { color:#d2ae7f; font-style:italic; }
.material-visual-format { background:radial-gradient(ellipse at 80% 0%,#514449,transparent 72%),#292627; }
.material-format-words { margin:30px 0 0; font:400 clamp(36px,4vw,52px)/1.02 Georgia,"Times New Roman",serif; letter-spacing:-.045em; text-align:left; }
.material-format-words em { display:block; color:#d7b38e; }
.material-visual-concept { background:radial-gradient(ellipse at 50% 100%,#3e4840,transparent 82%),#232627; }
.material-concept { margin-top:30px; font:400 clamp(36px,3.8vw,50px)/1.02 Georgia,"Times New Roman",serif; letter-spacing:-.04em; text-align:center; }
.material-concept em { display:block; margin-top:5px; color:#dbc6a7; }
.material-copy { display:flex; flex-direction:column; flex:1; padding:27px 27px 25px; }
.material-copy h3 { margin:0 0 16px; font:400 clamp(25px,2.7vw,34px)/1.12 Georgia,"Times New Roman",serif; letter-spacing:-.025em; text-wrap:balance; }
.material-copy > p { margin:0; color:#cdc5bb; font-size:14px; line-height:1.75; }
.material-copy details { margin:18px 0 0; border-top:1px solid #514b44; color:#d8cfc2; font-size:13px; line-height:1.65; }
.material-copy summary { padding:14px 0 0; color:#f1d8b7; cursor:pointer; font-size:12px; font-weight:600; }
.material-copy details ul { padding:0 0 0 17px; margin:16px 0 0; }
.material-copy details li + li { margin-top:10px; }
.material-copy details p { margin:12px 0 0; }
.material-copy details a { color:#f1d8b7; text-underline-offset:3px; }
.material-action { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:24px; margin-top:auto; color:#f6e2c8; text-decoration:none; font:600 13px/1.4 system-ui,sans-serif; }
.material-action svg { box-sizing:content-box; width:15px; height:15px; padding:10px; border:1px solid #ad8e69; border-radius:50%; fill:currentColor; transition:background .18s ease; flex-shrink:0; }
.material-action:hover svg { background:#ad402f; }
.material-image-caption { margin-top:auto; padding-top:25px; color:#bcae9c; font-size:11px; letter-spacing:.04em; }
.company-materials-tail { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px 36px; border-top:1px solid #514b44; margin-top:36px; padding-top:26px; color:#c7c0b7; font-size:14px; line-height:1.7; }
.company-materials-tail p { margin:0; max-width:620px; }
.company-materials-tail a { color:#f4dfc3; text-decoration:none; border-bottom:1px solid #b49672; padding-bottom:4px; white-space:nowrap; }
.company-product-note { color:#ada69d; font-size:12px; line-height:1.7; max-width:780px; margin:22px 0 0; }
.company-videos a:focus-visible,.company-videos button:focus-visible,.company-videos summary:focus-visible { outline:2px solid #f78b7f; outline-offset:5px; }
html.company-player-open { box-sizing:border-box; overflow:hidden; padding-right:var(--company-player-scrollbar-width,0px); }
.company-player-dialog { position:fixed; max-width:calc(100vw - 32px); width:770px; max-height:calc(100dvh - 32px); padding:0; margin:auto; border:1px solid #756755; background:#222224; color:#f6f1e8; overflow:auto; }
.company-player-dialog::backdrop { background:#08080aec; }
.company-player-dialog:not([open]) { display:none; }
.company-player-inner { display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); }
.company-video-frame { position:relative; width:100%; aspect-ratio:363/714; background:#000; }
.company-video-frame iframe { display:block; width:100%; height:100%; border:0; }
.company-player-copy { display:flex; flex-direction:column; align-items:start; padding:32px; }
.company-video-close { align-self:end; min-width:44px; min-height:44px; background:none; border:1px solid #9e876a; color:#f6f1e8; padding:8px 12px; font:500 13px/1.4 system-ui,sans-serif; cursor:pointer; }
.company-player-copy h3 { margin:45px 0 22px; font:400 36px/1.06 Georgia,"Times New Roman",serif; letter-spacing:-.03em; }
.company-player-copy p { color:#cdc5bb; margin:0; font-size:14px; line-height:1.7; }
.company-player-copy a { color:#efcfaa; font-size:13px; text-underline-offset:5px; margin-top:28px; }
.company-player-hint { margin-top:auto!important; padding-top:36px; font-size:11px!important; color:#b6ab9b!important; }
@media(max-width:1090px) {
 .company-materials { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .material-brand { font-size:106px; }
 .material-word { font-size:76px; }
 .material-copy h3 { font-size:33px; }
 .material-set-names { font-size:44px; }
 .material-format-words,.material-concept { font-size:50px; }
}
@media(max-width:680px) {
 .company-videos { padding:56px 0 58px; }
 .company-videos-heading { display:block; margin-bottom:30px; }
 .company-videos-heading > p { margin-top:22px; max-width:none; font-size:15px; }
 .company-materials { grid-template-columns:minmax(0,1fr); gap:24px; }
 .material-copy { padding:24px; }
 .material-copy h3 { font-size:32px; }
 .material-visual { aspect-ratio:4/3; }
 .material-brand { font-size:96px; }
 .material-word { font-size:70px; }
 .material-set-names { font-size:40px; }
 .material-format-words,.material-concept { font-size:45px; }
 .company-hero-links { align-items:flex-start; gap:18px; flex-direction:column; }
 .company-materials-tail { margin-top:30px; }
 .company-player-dialog { width:363px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
 .company-player-inner { display:flex; flex-direction:column; }
 .company-player-copy { order:-1; padding:14px 18px 16px; display:grid; grid-template-columns:1fr auto; gap:14px 12px; }
 .company-player-copy h3 { grid-row:1; grid-column:1; margin:0; align-self:center; font-size:24px; }
 .company-video-close { grid-row:1; grid-column:2; font-size:0; padding:8px; }
 .company-video-close::after { content:"×"; font-size:24px; }
 .company-player-copy > p { display:none; }
 .company-player-copy > a { margin:0; font-size:12px; grid-column:1/-1; }
 .company-video-frame { width:100%; max-height:calc(100dvh - 165px); min-height:280px; }
}
@media(prefers-reduced-motion:reduce) { .material-action svg { transition:none; } }
/* Full, attributed description supplied by the team for the first clip. */
.material-copy .material-full-description { order:2; margin-top:20px; }
.material-description-content { max-height:560px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-color:#a98b68 #252326; padding:0 10px 4px 0; margin-top:16px; }
.material-description-content:focus-visible { outline:2px solid #f78b7f; outline-offset:4px; }
.material-copy .material-description-note { margin:0 0 20px; padding-left:12px; border-left:2px solid #b89a74; color:#c6b9a8; font-size:12px; line-height:1.65; }
.material-team-quote { margin:0; padding:0; border:0; color:#d8cfc2; font:inherit; letter-spacing:normal; }
.material-team-quote h4 { margin:0 0 16px; color:#f2dfc5; font:600 14px/1.5 system-ui,sans-serif; letter-spacing:.015em; }
.material-team-quote ol { margin:20px 0 0; padding-left:24px; }
.material-team-quote ol li { padding-left:3px; margin-bottom:16px; white-space:pre-line; overflow-wrap:anywhere; }
.material-team-quote ol li::marker { color:#d4b58e; font-weight:600; }
@media(max-width:680px) { .material-description-content { max-height:65vh; } }
