/* Approved September 24 correction sheet + September 25 editable policy pages. */
.company-card--company .company-card-image { width:100%; height:100%; inset:0; object-fit:cover; filter:none; }
.company-card--company.company-card--figma::before {
  background: linear-gradient(180deg, transparent 52%, rgba(0,0,0,.64) 100%);
}
.footer-policy-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; max-width:740px; }
.footer-policy-links a { max-width:100%; overflow-wrap:anywhere; }
.footer-bottom { align-items:flex-start; }
.footer-end { flex-shrink:0; }
.sv-keep-phrase { display:inline-block; }
.service-hikari-tv .sv-hero-badges li:first-child > span,
.service-creative .sv-hero-badges li:first-child > span,
.service-starlink .sv-hero-badges li:first-child > span { transform:translateY(4px); }
.sv-program-grid img[src*="9ecd15a1adf32cb4f2984da07be975ad21f3c01b"] { object-fit:contain; }
.lp-recruit-movie { width:min(100%,337px); margin:0; }
.lp-recruit-movie-player { position:relative; }
.lp-recruit-movie-play { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; border-radius:10px; overflow:hidden; cursor:pointer; background:#111; }
.lp-recruit-movie-play > img { width:100%; height:100%; object-fit:cover; }
.lp-recruit-movie-play > span { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:68px; height:68px; border-radius:50%; background:#fff; color:var(--blue); font-size:28px; padding-left:4px; box-shadow:0 3px 20px #0002; transition:transform .2s; }
.lp-recruit-movie-play:hover > span { transform:translate(-50%,-50%) scale(1.08); }
.lp-recruit-movie-play:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.lp-recruit-movie-play[aria-busy="true"] > span { font-size:12px; padding:0; }
.lp-recruit-movie video { display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:contain; background:#111; border-radius:10px; }
.lp-recruit-movie figcaption { margin-top:16px; text-align:center; color:#333; font-size:18px; font-weight:700; }
.lp-recruit-policy-link { margin-top:32px; text-align:center; }
.lp-recruit-policy-link a { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; color:inherit; text-decoration:underline; text-underline-offset:.25em; }
.lp-recruit-policy-link a:hover { text-decoration-thickness:2px; }
.lp-recruit-policy-link a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
/* Use one responsive type scale for the graduate and mid-career entry buttons. */
.lp-entry-buttons .pill > span { min-width:0; font-size:inherit; line-height:1.5; letter-spacing:.04em; }
.lp-policy-content { max-width:700px; overflow-wrap:break-word; }
.lp-policy-content :is(img,video,iframe) { max-width:100%; }
.lp-policy-content .wp-block-table { overflow-x:auto; }
.lp-policy-content .wp-block-file a { display:inline; }
/* Native editor blocks receive the same heading/body spacing as the original grouped design. */
.lp-policy-content .lp-editorial-body > h2:not(:first-child) { margin-top:64px; }
.lp-policy-content .lp-editorial-body > h2 + * { margin-top:24px; }
.lp-policy-content .lp-editorial-body > :is(h3,h4) + * { margin-top:16px; }
.lp-policy-content .lp-editorial-body > p + p { margin-top:16px; }
.lp-policy-content .lp-editorial-body > :is(ul,ol) { padding-left:1.5em; }
/* Editor-managed policy names can wrap: let the title, background and breadcrumb grow together. */
.lp-policy--long-title .lp-masthead {
  --policy-curve-depth:178px;
  --policy-mask-height:350px;
  display:grid; grid-template-areas:"heading" "breadcrumb"; height:auto; min-height:0;
}
.lp-policy--long-title .lp-masthead-heading {
  grid-area:heading; position:relative; inset:auto; min-width:0;
  padding:140px 32px calc(var(--policy-curve-depth) + 24px);
}
.lp-policy--long-title .lp-masthead-heading > p { line-height:1.4; }
.lp-policy--long-title .lp-masthead-heading h1 { overflow-wrap:anywhere; }
.lp-policy--long-title .lp-masthead-background {
  grid-area:heading; position:relative; inset:auto; height:auto; min-width:0; background-color:var(--blue);
  mask-image:linear-gradient(#000,#000),var(--lp-masthead-shape);
  mask-size:100% calc(100% - var(--policy-curve-depth)),100% var(--policy-mask-height);
  mask-position:top,bottom; mask-repeat:no-repeat;
}
.lp-policy--long-title .lp-breadcrumb {
  grid-area:breadcrumb; position:relative; inset:auto; min-width:0;
  margin:12px 24px 0 max(40px,calc((100vw - 1360px)/2)); line-height:1.8;
}
.lp-policy--long-title .lp-breadcrumb ol { align-items:baseline; row-gap:0; }
.lp-policy--long-title .lp-breadcrumb li { min-width:0; align-items:baseline; }
.lp-policy--long-title .lp-breadcrumb a { line-height:1.8; }
.lp-policy--long-title .lp-breadcrumb li[aria-current] {
  display:block; position:relative; max-width:100%; padding:8px 0 8px 22px;
  line-height:1.8; overflow-wrap:anywhere; text-wrap:balance; text-decoration-thickness:1px; text-underline-offset:.25em;
}
.lp-policy--long-title .lp-breadcrumb li[aria-current]::before {
  position:absolute; left:0; top:calc(8px + .9em - 3px); margin:0;
}
.sv-latency-unit { display:inline-block; white-space:nowrap; margin-left:.25em; }
@media (min-width:768px) and (max-width:1199px) {
  .service-starlink .sv-spec-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-starlink .sv-spec-grid article:first-child { grid-column:1/-1; }
}
@media (min-width:1200px) {
  .service-starlink .sv-spec-grid article:first-child p { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:6px; }
  .service-starlink .sv-spec-grid .sv-spec-speed { width:100%; justify-content:center; }
  .service-starlink .sv-spec-grid .sv-spec-speed b { font-size:30px; }
}
@media (max-width:767px) {
  .footer-bottom { display:flex; flex-direction:column; gap:24px; }
  .footer-policy-links { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
  .footer-policy-links .privacy-link { padding-left:0; font-size:12px; }
  .footer-end { width:100%; }
  .service-hikari-tv .sv-about .sv-lead strong { color:var(--blue); }
  /* Keep the requested two lines without orphaning the final character. */
  .service-hikari-tv .sv-premium > .sv-subtitle { max-width:100%; }
  .service-starlink .sv-intro-pair { grid-template-columns:minmax(0,1fr); }
  .service-starlink .sv-intro-pair > div { min-width:0; }
  .service-starlink .sv-intro-pair .sv-intro-illustration { width:100%; max-width:320px; height:auto; object-fit:contain; }
  .service-starlink .sv-intro-pair p { overflow-wrap:anywhere; }
  .service-starlink .sv-spec-grid article { min-width:0; }
  .service-starlink .sv-spec-grid article:first-child p { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .service-starlink .sv-spec-grid .sv-spec-speed { width:100%; min-width:0; grid-template-columns:minmax(0,1fr); justify-items:center; }
  .service-starlink .sv-spec-grid .sv-spec-speed > * { grid-column:1; }
  .service-starlink .sv-spec-grid .sv-spec-speed b { font-size:clamp(22px,6.5vw,28px); }
  .service-starlink .sv-spec-grid .sv-spec-unit { margin-top:4px; font-size:14px; }
  .service-starlink .sv-spec-grid .sv-spec-speed small { font-size:clamp(10px,2.6vw,12px); letter-spacing:0; white-space:normal; }
  .service-starlink .sv-spec-grid h3 { font-size:clamp(14px,4.5vw,20px); letter-spacing:.02em; }
  .service-starlink .sv-spec-grid article:not(:first-child) p b { font-size:clamp(23px,7vw,32px); }
  .service-starlink .sv-latency-unit { display:block; margin-left:0; }
  .lp-page--recruit .lp-recruit-catch { max-width:100%; }
  .lp-page--recruit .lp-recruit-hero .lp-recruit-catch h2 > span {
    font-size:clamp(18px,calc((100vw - 56px) / 14.56),24px) !important;
    line-height:1.5 !important; letter-spacing:.04em !important;
    max-width:100%; padding-inline:8px; white-space:normal; overflow-wrap:anywhere;
  }
  .lp-entry-buttons .pill { padding-inline:20px 16px; gap:12px; font-size:clamp(14px,4.4vw,18px); }
  .lp-entry-buttons .pill .icon { flex-shrink:0; }
  .lp-policy--long-title .lp-masthead-heading h1 { font-size:clamp(22px,6vw,28px); letter-spacing:.05em; text-wrap:balance; }
  .lp-policy--long-title .lp-masthead { --policy-curve-depth:79.253px; --policy-mask-height:217.253px; }
  .lp-policy--long-title .lp-masthead-heading { padding:96px 20px calc(var(--policy-curve-depth) + 24px); }
  .lp-policy--long-title .lp-masthead-background { background-image:none; mask-image:linear-gradient(#000,#000),url('../pages/fidelity-masthead-sp.svg'); }
  .lp-policy--long-title .lp-masthead-background > .lp-hero-flow { display:block; height:max(100%,48.8033vw); }
  .lp-policy--long-title .lp-breadcrumb { margin:12px 20px 0; }
  .lp-policy--long-title .lp-breadcrumb li[aria-current] { flex-basis:100%; }
  .lp-page--policy .lp-breadcrumb li { min-width:0; overflow-wrap:break-word; }
  .lp-policy-content .lp-editorial-body > h2:not(:first-child) { margin-top:40px; }
}
