/* HOTUP official brand colour. Load after premium.css. */
.premium-site {
  --accent: #e62129;
  --red: #e62129;
  --blue: #b5141c;
  --hotup-red: #e62129;
  --hotup-red-text: #b5141c;
}
.premium-site a:focus-visible,
.premium-site button:focus-visible,
.premium-site summary:focus-visible { outline-color:#b5141c; }
.premium-site .brand { gap:12px; align-items:center; }
.premium-site .brand-logo { display:block; width:140px; height:45px; object-fit:contain; object-position:left center; flex:0 0 140px; }
.premium-site .brand-caption { color:#4c5255; font-size:13px; font-weight:400; letter-spacing:.3px; line-height:1.4; white-space:nowrap; }
.premium-site .desktop-nav a:hover,
.premium-site .mobile-nav a:hover,
.premium-site .language-switch a:hover { color:#b5141c; border-color:#e62129; }
.premium-site .language-switch a[aria-current=page] { color:#b5141c; }
.premium-site .primary { background:#e62129; border-color:#e62129; color:#fff; }
.premium-site .primary:hover { background:#981118; border-color:#981118; color:#fff; }
.premium-site .secondary:hover { background:#fff0ee; border-color:#b5141c; color:#b5141c; }
.premium-site .hero-copy>.eyebrow::before { background:#e62129; }
.premium-site .hero-copy h1 .hero-emphasis,
html[lang=en] .premium-site .hero-copy h1 .hero-emphasis { color:#e62129; }
.premium-site h2 .hero-emphasis,
.premium-site h2 .brand-emphasis,
html[lang=en] .premium-site h2 .brand-emphasis { color:#e62129; }
.premium-site .hero-index>a:hover,
.premium-site .hero-index>a:hover>span:last-child { color:#b5141c; }
.premium-site .hero-index .section-number { color:#b5141c; }
.premium-site .text-button { color:#b5141c; border-color:#d38b8e; }
.premium-site .text-button:hover { color:#981118; border-color:#b5141c; }
.premium-site .stats strong,
html[lang=en] .premium-site .stats strong { color:#e62129; }
.premium-site .stats strong>span,
html[lang=en] .premium-site .stats strong>span { color:#b5141c; }
.premium-site .service-card:hover { border-color:#e62129; }
.premium-site .service-card::before { color:#b5141c; }
.premium-site .service-icon { color:#b5141c !important; background:transparent !important; }
.premium-site .service-card summary { color:#b5141c; }
.premium-site .work-card:first-child { background:#f1eeea; }
.premium-site .proof-numbers strong { color:#b5141c; }
.premium-site .case-result { color:#b5141c; }
.premium-site .method-path li,
.premium-site .method-path li:nth-child(n) { border-top-color:#db9a9c; }
.premium-site .phase-label { color:#b5141c; }
.premium-site .system-number,
.premium-site .system-item .plus { color:#b5141c; }
.premium-site .system-item[open] { border-bottom-color:#e62129; }
.premium-site .system-item[open] .system-heading strong { color:#b5141c; }
.premium-site .ai-symbol { color:#b5141c; border-color:#dd777d; }
.premium-site .location-dot,
.premium-site .location:nth-child(2n) .location-dot,
.premium-site .location:nth-child(3n) .location-dot { background:#e62129; }
.premium-site .credential-index,
.premium-site .cooperation-list .step-number { color:#b5141c; }
.premium-site .founder-role { color:#b5141c; }
.premium-site .founder-image { display:block; overflow:hidden; height:clamp(468px,41vw,570px); min-height:468px; max-height:570px; background:#fff; }
.premium-site .founder-image img { display:block; width:100%; height:100%; min-height:0; max-height:none; object-fit:cover; object-position:center 38%; mix-blend-mode:normal; }

/* Official red and white meet WCAG AA normal-text contrast (4.55:1). */
.premium-site .contact { background:#e62129; }
.premium-site .contact-card { background:transparent; color:#fff; }
.premium-site .contact-card h2,
html[lang=en] .premium-site .contact-card h2 { color:#fff; }
.premium-site .contact-card>#contact-context,
.premium-site .contact-card .contact-person,
.premium-site .contact-details,
.premium-site .contact-details a,
.premium-site .mailing-addresses h3,
.premium-site .mailing-addresses address { color:#fff; }
.premium-site .contact-symbol { background:#fff; border-radius:50%; width:44px; height:44px; display:grid; place-items:center; }
.premium-site .contact-symbol img { width:30px; height:30px; object-fit:contain; }
.premium-site .contact-actions .primary { background:#fff; border-color:#fff; color:#b5141c; }
.premium-site .contact-actions .primary:hover { background:#ffebe9; border-color:#ffebe9; color:#981118; }
.premium-site .contact-actions .secondary { background:transparent; border-color:#f1bcc0; color:#fff; }
.premium-site .contact-actions .secondary:hover { background:#981118; border-color:#fff; color:#fff; }
.premium-site .contact-details a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.premium-site .mailing-addresses { border-color:#e59197; }
.premium-site .contact a:focus-visible,
.premium-site .contact button:focus-visible { outline-color:#fff; }

/* A quiet, cream footer closes the red contact section. */
.premium-site footer { background:#f3f0ea; color:#555d60; }
.premium-site .footer-top .brand-caption { color:#4c5255; }
.premium-site .footer-top .brand-word { color:#252b2e; }
.premium-site .footer-top .brand-word small { color:#596367; }
.premium-site .footer-top>p,
html[lang=en] .premium-site .footer-top>p { color:#60696c; }
.premium-site .footer-bottom { color:#616a6d; border-color:#d7d3cb; }
.premium-site .privacy-link { color:#616a6d; }
.premium-site .footer-bottom a:hover,
.premium-site .privacy-link:hover { color:#b5141c; }
.premium-site .photo-credit { color:#626c6e; border-color:#d7d3cb; }
.premium-site .photo-credit a { color:#6e3a39; }
.premium-site .photo-credit a:hover { color:#b5141c; }
.premium-site .result-grid strong { color:#b5141c; }
.premium-site .result-grid { background:#f9eeec; }

@media(max-width:1180px) {
  .premium-site .header { gap:23px; }
  .premium-site .header .brand-logo { width:126px; height:41px; flex-basis:126px; }
  .premium-site .header .brand-caption { font-size:12px; }
}
@media(max-width:980px) and (min-width:761px) {
  .premium-site .founder-image { min-height:490px; }
}
@media(max-width:760px) {
  .premium-site .header { gap:15px; }
  .premium-site .header .brand { gap:8px; }
  .premium-site .header .brand-logo { width:114px; height:37px; flex-basis:114px; }
  .premium-site .header .brand-caption { font-size:12px; }
  .premium-site .founder-image { height:430px; min-height:0; display:block; }
  .premium-site .founder-image img { width:100%; max-width:430px; margin:0 auto; height:430px; min-height:0; max-height:none; object-fit:cover; object-position:center 35%; mix-blend-mode:normal; }
  .premium-site .contact-symbol { width:40px; height:40px; }
  .premium-site .contact-symbol img { width:28px; height:28px; }
  .premium-site .footer-top .brand-logo { width:140px; height:45px; flex-basis:140px; }
  .premium-site .footer-top .brand-caption { font-size:13px; }
}
@media(max-width:389px) {
  .premium-site .header { gap:12px; padding-left:20px; padding-right:20px; }
  .premium-site .header .brand { gap:7px; }
  .premium-site .header .brand-logo { width:108px; height:35px; flex-basis:108px; }
  .premium-site .header .brand-caption { font-size:11px; letter-spacing:0; }
  .premium-site .header .language-switch { gap:2px; }
}
@media(max-width:349px) {
  .premium-site .header { gap:10px; padding-left:17px; padding-right:17px; }
  .premium-site .header .brand-logo { width:100px; height:33px; flex-basis:100px; }
  .premium-site .header .brand-caption { font-size:10px; }
  .premium-site .header .language-switch a { padding-left:2px; padding-right:2px; }
}

/* Team photography: complete frames, quiet captions and generous spacing. */
.premium-site .team-life { padding-top:30px; }
.premium-site .team-life .section-heading { align-items:flex-end; }
.premium-site .team-gallery { display:grid; grid-template-columns:1.18fr 1fr; gap:36px; align-items:start; }
.premium-site .team-photo { margin:0; min-width:0; }
.premium-site .team-photo-secondary { margin-top:76px; }
.premium-site .team-photo img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#eee9e1; }
.premium-site .team-photo figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; padding-top:16px; font-size:12px; line-height:1.65; color:#62676a; }
.premium-site .team-photo figcaption>span:first-child { color:#b5141c; font-weight:600; letter-spacing:.04em; }
@media(max-width:980px) {
  .premium-site .team-gallery { gap:24px; }
  .premium-site .team-photo-secondary { margin-top:54px; }
}
@media(max-width:760px) {
  .premium-site .team-life { padding-top:0; }
  .premium-site .team-gallery { grid-template-columns:1fr; gap:32px; }
  .premium-site .team-photo-secondary { margin-top:0; }
  .premium-site .team-photo figcaption { padding-top:12px; font-size:11px; }
}

/* Films keep their original framing. Only a selected film loads on playback. */
.premium-site .team-videos { margin-top:88px; padding-top:42px; border-top:1px solid #d9d3ca; scroll-margin-top:112px; }
.premium-site .team-videos-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:30px; }
.premium-site .team-videos-heading .eyebrow { margin:0 0 14px; }
.premium-site .team-videos-heading h3 { margin:0; font-size:32px; font-weight:500; line-height:1.3; letter-spacing:-.03em; color:#262b2d; }
.premium-site .team-videos-heading p:last-child { margin:14px 0 0; color:#62676a; font-size:13px; line-height:1.8; }
.premium-site .team-video-controls { display:flex; gap:9px; align-items:center; flex-shrink:0; }
.premium-site .team-video-controls button { display:grid; place-items:center; width:42px; height:42px; border:1px solid #cfc8bd; color:#a31921; background:transparent; font:inherit; font-size:20px; cursor:pointer; }
.premium-site .team-video-controls button:hover { border-color:#b5141c; background:#f9e6e4; }
.premium-site .team-video-controls .video-rotation { width:auto; padding:0 15px; font-size:12px; }
.premium-site .team-video-stage { position:relative; background:#161718; aspect-ratio:16/9; }
.premium-site .team-video-stage video { display:block; width:100%; height:100%; object-fit:contain; }
.premium-site .team-video-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:flex; gap:12px; align-items:center; border:1px solid #ffffff80; padding:16px 23px; color:white; background:#981118ed; font:inherit; font-size:14px; cursor:pointer; box-shadow:0 4px 24px #0003; white-space:nowrap; }
.premium-site .team-video-play:hover { background:#b5141c; }
.premium-site .team-video-play[hidden] { display:none; }
.premium-site .team-video-caption { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0 25px; font-size:13px; }
.premium-site .team-video-caption p { display:flex; gap:22px; align-items:center; margin:0; }
.premium-site .team-video-caption [data-video-count] { color:#b5141c; font-size:12px; letter-spacing:.06em; }
.premium-site .team-video-caption strong { font-weight:500; color:#262b2d; }
.premium-site .team-video-caption>span { color:#6b7072; font-variant-numeric:tabular-nums; }
.premium-site .team-video-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.premium-site .team-video-choice { border:0; border-bottom:2px solid #d9d3ca; padding:0 0 14px; background:transparent; text-align:left; cursor:pointer; font:inherit; min-width:0; }
.premium-site .team-video-choice img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.premium-site .team-video-choice>span { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; margin-top:12px; }
.premium-site .team-video-choice strong { font-size:12px; font-weight:500; line-height:1.6; color:#5f6366; }
.premium-site .team-video-choice small { font-size:11px; line-height:1.7; color:#6b7072; }
.premium-site .team-video-choice[aria-pressed=true] { border-bottom-color:#e62129; }
.premium-site .team-video-choice[aria-pressed=true] strong { color:#b5141c; }
.premium-site .team-video-choice:hover { border-bottom-color:#b5141c; }
.premium-site .team-video-status { margin:0; color:#b5141c; font-size:12px; line-height:1.7; }
.premium-site .team-video-status:not(:empty) { margin-top:15px; }
@media(max-width:760px) {
  .premium-site .team-videos { margin-top:55px; padding-top:32px; scroll-margin-top:94px; }
  .premium-site .team-videos-heading { display:block; margin-bottom:22px; }
  .premium-site .team-videos-heading h3 { font-size:25px; }
  .premium-site .team-video-controls { margin-top:22px; }
  .premium-site .team-video-play { padding:12px 17px; font-size:12px; }
  .premium-site .team-video-caption { padding:16px 0 22px; font-size:12px; gap:12px; }
  .premium-site .team-video-caption p { gap:12px; }
  .premium-site .team-video-choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }
}
