/* ---- from home-round.css ---- */
/* Production homepage styles extracted from the approved consolidated mockup. */
[hidden] { display:none !important; }
:focus-visible { outline:2px solid #ffbe00; outline-offset:5px; }
.movie-toggle { position:absolute; z-index:20; bottom:22px; left:24px; color:#f5f5f5; background:#050c1ae8; border:1px solid #9ab0c466; padding:10px 17px; border-radius:100px; font:400 15px Heebo,sans-serif; cursor:pointer; min-height:44px; }
.round-hero { max-height:none; min-height:760px; }
.round-hero .hero-h1 { color:#f5f5f5; font-size:clamp(44px,5.8vw,84px); line-height:1.13; letter-spacing:-.025em; }
.round-hero .hero-h1-gold { display:block; }
.round-hero .hero-subtext { font-size:18px; line-height:1.8; white-space:normal; color:#c8d4e0; }
.round-hero .hero-bridge { animation:none; opacity:1; mask-image:none; -webkit-mask-image:none; }
.round-hero .stat-label { color:#9ab0c4; font-size:15px; }
.round-hero .stat-number { font-size:30px; width:max-content; text-shadow:none; }
.round-hero .hero-stats { gap:34px; padding-top:24px; border-top:1px solid #ffbe0026; }
.round-hero-1 { min-height:clamp(660px,95vh,1040px); }
.round-hero-1 .round-movie { position:absolute; inset:0; }
.round-hero-1 .hero-content { max-width:650px; }
.round-hero-1 .hero-bridge { object-position:center 75%; }
.round-hero-1::before { display:none; }
.round-hero-1::after { background:linear-gradient(to left,#050c1afa 0%,#050c1af0 32%,#050c1aa6 57%,#050c1a38 82%),linear-gradient(to top,#050c1a 0%,transparent 27%); }
.round-hero-1 .hero-stats { margin-top:60px; }
.round-hero-1 .movie-toggle { bottom:35px; }
.round-bio { padding:80px 7%; gap:70px; align-items:flex-start; }
.round-bio .bio-text { padding:0; min-width:0; }
.round-bio .bio-lead { font-size:clamp(23px,2.1vw,30px); font-weight:400; line-height:1.6; max-width:660px; }
.round-bio .bio-body { max-width:660px; line-height:1.95; }
.round-bio .bio-photo { width:36%; flex:0 0 36%; align-self:flex-start; margin:0; overflow:visible; }
.round-bio .bio-photo::after { display:none; }
.round-bio figure { margin:0; }
.round-bio .bio-photo img { aspect-ratio:3/4; height:auto; border-radius:20px; object-fit:cover; }
@media(max-width:768px) {
  .movie-toggle { bottom:16px; left:16px; }
  .round-hero { max-height:none; min-height:0; }
  .round-hero .hero-h1 { font-size:clamp(38px,10vw,52px); }
  .round-hero .hero-subtext { font-size:17px; }
  .round-hero .hero-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 18px; }
  .round-hero .stat-item:last-child { grid-column:1 / -1; }
  .round-hero .stat-number { font-size:27px; }
  .round-hero .stat-label { font-size:15px; line-height:1.5; }
  .round-hero .hero-cta { gap:12px; flex-direction:column; align-items:stretch; }
  .round-hero .hero-cta a { text-align:center; justify-content:center; }
  .round-hero-1 { padding:112px 20px 85px; min-height:844px; }
  .round-hero-1::after { background:linear-gradient(to bottom,#050c1afa 0%,#050c1ae8 34%,#050c1a7a 61%,#050c1ae6 88%); }
  .round-hero-1 .hero-bridge { object-position:45% 70%; }
  .round-hero-1 .hero-stats { margin-top:70px; }
  .round-bio { padding:48px 20px; gap:32px; }
  .round-bio .bio-text { padding:0; }
  .round-bio .bio-photo { width:100%; height:auto; flex:none; margin:0; order:-1; }
  .round-bio .bio-photo img { aspect-ratio:4/3; object-position:center 28%; }
  .round-bio .bio-lead { font-size:24px; }
  .round-bio .bio-cta { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .round-hero *, .round-bio * { animation:none !important; } }
/* ---- from bio-refinement.css ---- */
/* Only the selected biography is refined; round-01 hero A is retained. */
.bio-refinement {display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px;align-items:center;max-width:1260px;margin-inline:auto;padding:72px 60px;overflow:visible;}
.bio-refinement .bio-text {display:block;padding:0;min-width:0;}
.bio-refinement .bio-eyebrow {font-size:17px;line-height:1.6;font-weight:500;letter-spacing:.1em;margin:0 0 14px;}
.bio-refinement .bio-lead {font-size:clamp(22px,1.8vw,26px);line-height:1.65;font-weight:400;max-width:none;margin:0 0 22px;}
.bio-refinement .bio-body {font-size:17px;line-height:1.85;font-weight:400;max-width:none;margin:0 0 18px;}
.bio-refinement .bio-photo {width:100%;max-width:340px;min-height:0;min-width:0;flex:none;align-self:center;margin:0;}
.bio-refinement .bio-photo img {width:100%;height:425px;aspect-ratio:auto;object-fit:cover;object-position:50% 35%;border-radius:20px;}
.bio-refinement .bio-cta {display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
@media(max-width:1100px) and (min-width:769px) {
  .bio-refinement {padding:64px 5%;gap:34px;grid-template-columns:minmax(0,1fr) 300px;}
  .bio-refinement .bio-photo {max-width:300px;}
  .bio-refinement .bio-photo img {height:405px;}
}
@media(max-width:768px) {
  .bio-refinement {display:flex;flex-direction:column;gap:0;padding:42px 20px;max-width:none;align-items:stretch;}
  .bio-refinement .bio-text {display:contents;}
  .bio-refinement .bio-eyebrow {order:0;margin-bottom:10px;}
  .bio-refinement .bio-lead {order:1;font-size:22px;line-height:1.65;margin-bottom:24px;}
  .bio-refinement .bio-photo {order:2;width:100%;max-width:none;height:auto;position:static;margin:0 0 26px;}
  .bio-refinement .bio-photo img {height:220px;object-position:center 27%;}
  .bio-refinement .bio-body {order:3;font-size:17px;line-height:1.85;margin-bottom:18px;}
  .bio-refinement .bio-cta {order:5;margin-top:10px;}
}
/* ---- from logos-layout.css ---- */
#clients { scroll-margin-top: 74px; }
/* ---- from services-round.css ---- */
/* All design changes are scoped to the new services proposals. */
#services { scroll-margin-top:80px; }
.services-round .section-header { margin-bottom:34px; }
.services-round .section-title { font-size:clamp(30px,3.2vw,44px); line-height:1.25; }
.services-round .service-card { display:flex; flex-direction:column; padding:30px; border:1px solid #9ab0c42e; background:#0f1f384d; box-shadow:none; backdrop-filter:none; }
.services-round .service-card::before,.services-round .service-card::after { display:none; }
.services-round .service-card:hover { box-shadow:none; transform:translateY(-3px); border-color:#ffbe0060; }
.services-round .svc-number { font-size:18px; line-height:1; color:#ffbe00; font-weight:500; display:block; margin-bottom:22px; direction:ltr; text-align:right; }
.services-round .service-title { font-size:23px; line-height:1.45; margin:0 0 22px; color:#f5f5f5; }
.services-round .svc-situation { color:#f5f5f5; font-size:18px; line-height:1.7; margin:0 0 18px; }
.services-round .service-body { color:#9ab0c4; font-size:17px; line-height:1.8; margin:0 0 24px; }
.services-round .service-bullets { margin: auto 0 0; padding-top:22px; border-top:1px solid #9ab0c42e; }
.services-round .service-bullets li { font-size:16px; line-height:1.7; color:#9ab0c4; padding-right:18px; margin-bottom:10px; }
.svc-end { display:flex; justify-content:flex-start; margin-top:30px; }
.services-round .svc-end a { font-size:16px; min-height:44px; }
@media(min-width:1101px) {
  .services-round-1 .service-title { min-height:67px; }
  .services-round-1 .svc-situation { min-height:62px; }
}
@media(max-width:1100px) {
  .services-round-1 .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .services-round .service-card { padding:24px; }
  .services-round .service-title { font-size:21px; }
  .services-round-1 .services-grid .service-card:last-child { grid-column:1/-1; max-width:none; }
}
@media(max-width:800px) {
  .services-round-1 .services-grid { grid-template-columns:1fr; gap:20px; }
  .services-round .section-header { margin-bottom:28px; }
  .services-round .service-card { padding:26px; }
  .services-round .service-title { font-size:23px; margin-bottom:16px; }
  .services-round .svc-number { font-size:16px; }
  .services-round .service-body { margin-bottom:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .services-round *, .services-round *::before, .services-round *::after { transition:none!important; animation:none!important; }
  .services-round .service-card:hover { transform:none; }
}
/* ---- from audience-round.css ---- */
#who-i-work-with { scroll-margin-top:80px; }
.audience-round .section-header { margin-bottom:30px; }
.aud-heading { color:#f5f5f5; font:900 clamp(30px,3.2vw,44px)/1.3 Heebo,sans-serif; }
.aud-grid { display:grid; gap:18px; }
.aud-grid-1 { grid-template-columns:1.35fr 1fr; }
.aud-card { min-width:0; }
.aud-grid-1 .aud-card { padding:28px 30px; border:1px solid #9ab0c430; border-radius:16px; background:#0f1f384d; }
.aud-grid-1 .aud-primary { grid-row:span 2; padding:36px 40px; background:linear-gradient(160deg,#213c734f,#0f1f3859); border-top:2px solid #ffbe0099; display:flex; flex-direction:column; justify-content:center; }
.aud-number { display:block; direction:ltr; text-align:right; color:#ffbe00; font-size:16px; line-height:1; font-weight:500; margin-bottom:20px; }
.aud-title { font:700 24px/1.35 Heebo,sans-serif; color:#f5f5f5; margin:0 0 8px; }
.aud-meta { color:#9ab0c4; font-size:15px; line-height:1.7; margin:0 0 18px; }
.aud-description { color:#c8d4e0; font-size:18px; line-height:1.8; margin:0; max-width:55ch; }
.aud-grid-1 .aud-primary .aud-title { font-size:32px; font-weight:900; }
.aud-grid-1 .aud-primary .aud-description { font-size:21px; }
.aud-grid-1 .aud-card:not(.aud-primary) { display:grid; grid-template-columns:28px 1fr; gap:0 15px; }
.aud-grid-1 .aud-card:not(.aud-primary) .aud-number { margin:6px 0 0; }
.aud-grid-1 .aud-card:not(.aud-primary) .aud-description { grid-column:2; font-size:17px; }
.aud-grid-1 .aud-card:not(.aud-primary) .aud-title { font-size:23px; }
@media(max-width:1000px){
  .aud-grid-1 { grid-template-columns:1.1fr 1fr; }
  .aud-grid-1 .aud-primary { padding:30px; }
  .aud-grid-1 .aud-card:not(.aud-primary) { padding:24px; }
  .aud-grid-1 .aud-primary .aud-title { font-size:28px; }
}
@media(max-width:768px){
  .audience-round .section-header { margin-bottom:25px; }
  .aud-grid-1 { grid-template-columns:1fr; gap:16px; }
  .aud-grid-1 .aud-primary { grid-row:auto; }
  .aud-grid-1 .aud-card,.aud-grid-1 .aud-primary,.aud-grid-1 .aud-card:not(.aud-primary) { display:block; padding:24px; }
  .aud-grid-1 .aud-card .aud-number { margin:0 0 18px; }
  .aud-grid-1 .aud-primary .aud-title,.aud-grid-1 .aud-card .aud-title { font-size:24px; line-height:1.4; }
  .aud-grid-1 .aud-primary .aud-description,.aud-grid-1 .aud-card .aud-description { font-size:17px; }
  .aud-meta { margin-bottom:14px; }
  .aud-title { font-size:23px; }
}
@media(prefers-reduced-motion:reduce){.audience-round *{animation:none!important;transition:none!important;}}
/* ---- from polish-round24.css ---- */
/* Round 24. Mode 0 preserves the inherited reference. */
.r24-menu { display:none; }
body:not([data-footer-mode="0"]) .footer { padding:38px 6%; gap:28px; }
body:not([data-footer-mode="0"]) .footer-links a { font-size:14px; color:#9ab0c4; min-height:44px; display:flex; align-items:center; }
body:not([data-footer-mode="0"]) .footer-links a:hover { color:#ffbe00; }
body:not([data-footer-mode="0"]) .footer-links { gap:12px 24px; flex-wrap:wrap; }
.r24-menu:focus-visible,body:not([data-nav-mode="0"]) .nav a:focus-visible,body:not([data-footer-mode="0"]) .footer a:focus-visible { outline:2px solid #ffbe00; outline-offset:4px; }
@media(max-width:768px) {
 body:not([data-nav-mode="0"]) .nav { padding-inline:18px; overflow:visible; }
 body:not([data-nav-mode="0"]) .nav-left { gap:12px; }
 body:not([data-nav-mode="0"]) .nav-cta { min-height:44px; display:flex; align-items:center; padding:7px 14px; }
 body[data-nav-mode="1"] .r24-menu { display:flex; align-items:center; gap:7px; min-height:44px; padding:6px 8px; background:none; border:0; color:#d2e4f8; font:500 14px Heebo,sans-serif; cursor:pointer; }
 .r24-menu::after { content:'＋'; font-size:20px; line-height:1; color:#ffbe00; }
 .r24-menu[aria-expanded="true"]::after { content:'−'; }
 body[data-nav-mode="1"] .nav-links { display:none; position:fixed; top:56px; inset-inline:0; padding:12px 24px 20px; background:#0a1628; border-bottom:1px solid #9ab0c440; box-shadow:0 18px 32px #0005; }
 body[data-nav-mode="1"] .nav-links.r24-open { display:flex; flex-direction:column; gap:0; }
 body[data-nav-mode="1"] .nav-links a { display:flex; align-items:center; min-height:52px; font-size:17px; border-bottom:1px solid #9ab0c425; }
 body:not([data-footer-mode="0"]) .footer { padding:32px 24px; align-items:stretch; text-align:right; gap:24px; }
 body:not([data-footer-mode="0"]) .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 24px; width:100%; }
}
@media(max-width:360px) { body[data-nav-mode="1"] .nav-name { display:none; } }

/* ---- from service-link-round26.css ---- */
/* Only the service section's closing link changes. Mode 0 is the reference. */
body[data-servicelink="1"] #services .svc-end { margin-top:20px; }
body[data-servicelink="1"] #services .svc-end a { display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; min-height:72px; padding:18px 28px; border:1px solid #9ab0c440; border-radius:12px; background:#102039; color:#d2e4f8; font-size:18px; box-shadow:none; text-shadow:none; }
body[data-servicelink="1"] #services .svc-end a::before,body[data-servicelink="1"] #services .svc-end a::after { display:none; }
body[data-servicelink="1"] #services .r26-link-arrow { color:#ffbe00; font-size:26px; line-height:1; }
body[data-servicelink="1"] #services .svc-end a:hover { background:#162b48; border-color:#ffbe0080; }
body:not([data-servicelink="0"]) #services .svc-end a:focus-visible { outline:2px solid #ffbe00; outline-offset:5px; }
@media(max-width:600px) {
 body[data-servicelink="1"] #services .svc-end a { min-height:62px; padding:14px 20px; font-size:17px; }
}
/* ---- from refresh-round27.css ---- */
/* New proposals only; value 0 retains the selected design. */
#hero[data-refresh],#biography[data-refresh],#services[data-refresh]{scroll-margin-top:78px}
#hero[data-refresh="1"] .round-movie{inset:76px 24px 24px;border-radius:24px;overflow:hidden;border:1px solid #9ab0c438}
#hero[data-refresh="1"]::after{background:linear-gradient(to left,#050c1afc 0%,#050c1af0 27%,#050c1ab8 48%,#050c1a24 77%),linear-gradient(to top,#050c1a,transparent 26%)}
#hero[data-refresh="1"] .hero-content{padding-inline-start:28px;border-inline-start:2px solid #ffbe00}
#hero[data-refresh="1"] .hero-h1{font-size:clamp(44px,6.2vw,88px)}
#hero[data-refresh="1"] .hero-subtext{color:#e0e7ef}
#hero[data-refresh="1"] .hero-stats{margin-top:42px}
/* Photograph, crop, text and reading order are inherited. */
/* Keep the three-card grid and approved closing strip. */
#services[data-refresh="1"] .service-card{background:linear-gradient(145deg,#162944d9,#0f1f3866);border-color:#9ab0c445;border-top:3px solid #ffbe00;padding-top:28px}
#services[data-refresh="1"] .svc-number{width:max-content;padding:10px 12px;border:1px solid #ffbe0045;border-radius:10px;background:#ffbe000a}
#services[data-refresh="1"] .service-bullets{border-color:#9ab0c43d}
/* One-shot, short entrances. Never hide content while waiting for JS. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 [data-refresh]:not([data-refresh="0"]) a{transition:background-color 180ms ease,border-color 180ms ease,transform 180ms ease}
 [data-refresh]:not([data-refresh="0"]) a:hover{transform:translateY(-2px)}
 #services[data-refresh]:not([data-refresh="0"]) .service-card:hover{transform:none;border-color:#ffbe0080}
}
@media(max-width:768px){
 #hero[data-refresh="1"] .round-movie{inset:66px 10px 12px;border-radius:18px}
 #hero[data-refresh="1"] .hero-content{padding-inline-start:16px}
 #hero[data-refresh="1"] .hero-h1,#hero[data-refresh="2"] .hero-h1{font-size:clamp(36px,10vw,52px)}
 #hero[data-refresh]:not([data-refresh="0"])::after{background:linear-gradient(to bottom,#050c1af5,#050c1add 37%,#050c1a80 67%,#050c1af2)}
 #hero[data-refresh="1"] .movie-toggle{bottom:20px}
}
@media(prefers-reduced-motion:reduce){
 [data-refresh]:not([data-refresh="0"]),[data-refresh]:not([data-refresh="0"]) *,[data-refresh]:not([data-refresh="0"]) *::before,[data-refresh]:not([data-refresh="0"]) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 [data-refresh]:not([data-refresh="0"]) a:hover,[data-refresh]:not([data-refresh="0"]) .service-card:hover{transform:none!important}
}
