/* Full-width photographic banners; page identity is accessible text, never baked into the image. */
.page-background-hero{position:relative;isolation:isolate;display:grid;align-items:stretch;min-height:clamp(480px,37vw,580px);width:100%;max-width:none;margin:0 0 clamp(40px,4.5vw,64px);border:0;border-radius:0;overflow:hidden;background:#0b1d36;color:#fff}
.page-background-hero>.page-background-photo,.page-background-hero>.page-background-shade{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0}
.page-background-hero>.page-background-photo{z-index:-2;max-width:none;object-fit:cover}
.page-background-hero>.page-background-shade{z-index:-1;background:linear-gradient(90deg,rgba(7,23,46,.9) 0%,rgba(10,28,52,.79) 35%,rgba(11,29,53,.62) 60%,rgba(11,29,53,.16) 100%)}
.page-background-content{display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-width:0;padding-block:24px 56px}
.page-background-breadcrumb{margin:0;color:#fff}
.page-background-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 11px;list-style:none;padding:0;margin:0}
.page-background-breadcrumb li{display:flex;align-items:center;gap:11px;min-width:0;font-size:12px;font-weight:600;line-height:1.5}
.page-background-breadcrumb a{display:inline-flex;align-items:center;min-height:36px;color:#fff;text-decoration:underline;text-decoration-color:#ffffff70;text-underline-offset:4px;overflow-wrap:anywhere}
.page-background-breadcrumb a:hover{text-decoration-color:#fff}
.page-background-breadcrumb [aria-current]{overflow-wrap:anywhere}
.page-background-separator{opacity:.65}
.page-background-copy{max-width:min(880px,78%);padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.page-background-eyebrow{display:flex;align-items:center;gap:16px;color:#fff;font-size:14px;font-weight:750;line-height:1.5;margin:0 0 20px}
.page-background-eyebrow::before{content:'';display:block;width:42px;height:3px;flex:none;background:#fff}
.page-background-hero .page-background-copy h1{font-size:clamp(44px,5vw,76px);font-weight:700;line-height:1.09;letter-spacing:-.04em;color:#fff;max-width:22ch;margin:0;text-wrap:balance;overflow-wrap:anywhere}
/* A quieter two-line title for the long software name. */
.page-background-hero.page-background-compact-title .page-background-copy h1{font-size:clamp(38px,4.2vw,64px);line-height:1.1;max-width:20ch}
.page-background-lead{font-size:clamp(18px,1.4vw,22px);line-height:1.65;color:#fff;max-width:60ch;margin:22px 0 0}
.page-background-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;margin-top:30px}
.page-background-actions .button{min-height:54px;background:transparent;border:2px solid #fff;color:#fff;border-radius:8px;white-space:normal;text-align:left;max-width:100%;padding:13px 21px;font-size:14px;line-height:1.5;gap:20px}
.page-background-actions .button:hover{background:#fff;border-color:#fff;color:#102746;transform:none}
.page-background-actions .button:first-child{background:#fff;border-color:#fff;color:#102746;box-shadow:0 4px 16px #07172e18}
.page-background-actions .button:first-child:hover{background:#e8eef5;border-color:#e8eef5;color:#102746}
.page-background-actions .button:not(:first-child){border-color:#ffffffa6}
.page-background-hero :focus-visible{outline:3px solid #fff;outline-offset:5px}
.page-background-hero+.technical-jumpnav{margin-top:0}

/* Home retains its film and its own composition, with the same direct white text treatment. */
main>.hero{width:100%;max-width:none;margin-inline:0;border:0;border-radius:0;color:#fff}
main>.hero .hero-content{background:transparent;box-shadow:none;border:0}
main>.hero h1,main>.hero .hero-intro,main>.hero .hero-eyebrow,main>.hero .play-link{color:#fff}

/* Existing-photo fallbacks use full-bleed imagery too. Product cutouts keep their contained frames. */
main .feature-hero:has(.feature-hero-photo){position:relative;isolation:isolate;display:flex;flex-direction:row;align-items:flex-end;min-height:clamp(520px,40vw,620px);width:100%;max-width:none;margin-inline:0;border-radius:0;overflow:hidden;padding:64px max(var(--gutter),calc((100% - var(--container))/2));background:#0b1d36}
main .feature-hero:has(.feature-hero-photo)::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(7,23,46,.9),rgba(10,28,52,.76) 45%,rgba(11,29,53,.22));pointer-events:none}
main .feature-hero .feature-hero-photo{position:absolute;inset:0;width:100%;height:100%;border-radius:0;z-index:-1;aspect-ratio:auto}
main .feature-hero .feature-hero-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;aspect-ratio:auto;border-radius:0}
main .feature-hero .feature-hero-panel{position:relative;z-index:1;width:min(880px,100%);margin:0;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;border-radius:0;color:#fff}
main .feature-hero .feature-hero-panel :is(h1,.lead,.eyebrow,.text-link){color:#fff}
main .feature-hero .feature-hero-panel h1{font-size:clamp(46px,5.5vw,88px);line-height:1.075;max-width:22ch}
main .feature-hero .feature-hero-panel .button{background:transparent;border-color:#fff;color:#fff}
main .feature-hero .feature-hero-panel .button:hover{background:#fff;color:#102746}
main .feature-hero .feature-hero-panel::before{background:#e77489}

.page-background-introduction{margin-block:-12px 52px}
.page-background-introduction .prose{max-width:920px}
.page-background-product-visual{position:relative;background:#f6f7f9;border:1px solid #e0e3eb;border-radius:16px;overflow:hidden;margin-bottom:36px;aspect-ratio:16/9}
.page-background-product-visual img{height:100%;width:100%;object-fit:contain;padding:22px}
.page-background-product-visual>.product-image-trigger{height:100%}
.page-background-search.listing-heading{padding:0 0 32px}
.error-background-page .page-background-hero{margin-bottom:0;min-height:590px}
.search-page>.container{padding-bottom:70px}
/* Legal information and search keep their own full-width image with faster access to the content. */
:is(.page-legal,.page-security,.search-page) .page-background-hero{min-height:360px}
:is(.page-legal,.page-security,.search-page) .page-background-copy h1{font-size:clamp(38px,4.3vw,62px)}

@media(max-width:1023px){
 .page-background-hero{min-height:480px}
 .page-background-content{gap:44px;padding-bottom:52px}
 .page-background-copy{max-width:90%}
 .page-background-hero>.page-background-shade{background:linear-gradient(90deg,rgba(7,23,46,.87),rgba(10,28,52,.75) 58%,rgba(11,29,53,.46))}
}
@media(max-width:767px){
 .page-background-hero{min-height:430px;margin-bottom:36px}
 .page-background-content{gap:34px;padding-block:16px 36px}
 .page-background-copy{max-width:100%;width:100%}
 .page-background-breadcrumb li{font-size:12px;gap:8px}
 .page-background-breadcrumb ol{gap:2px 8px}
 .page-background-eyebrow{font-size:13px;gap:12px;margin-bottom:18px}
 .page-background-eyebrow::before{width:32px}
 .page-background-hero .page-background-copy h1{font-size:clamp(36px,10.6vw,48px);line-height:1.1;letter-spacing:-.035em;max-width:none}
 .page-background-hero.page-background-compact-title .page-background-copy h1{font-size:clamp(24px,6.5vw,34px)}
 .page-background-lead{font-size:17px;line-height:1.7;margin-top:22px}
 .page-background-actions{margin-top:26px;gap:12px}
 .page-background-actions .button{font-size:13px;min-height:50px;padding:12px 16px;gap:14px}
 .page-background-hero>.page-background-shade{background:linear-gradient(90deg,rgba(7,23,46,.8),rgba(10,28,52,.72))}
 main .feature-hero:has(.feature-hero-photo){min-height:480px;padding:42px var(--gutter);flex-direction:row}
 main .feature-hero:has(.feature-hero-photo)::after{background:rgba(7,23,46,.77)}
 main .feature-hero .feature-hero-panel h1{font-size:clamp(36px,10.6vw,48px)}
 main .feature-hero .feature-hero-panel .lead{font-size:17px;line-height:1.7}
 .page-background-introduction{margin-block:-6px 32px}
 .page-background-product-visual{margin-bottom:28px}
 .page-background-product-visual img{padding:16px}
 .error-background-page .page-background-hero{min-height:520px}
 :is(.page-legal,.page-security,.search-page) .page-background-hero{min-height:300px}
 :is(.page-legal,.page-security,.search-page) .page-background-copy h1{font-size:clamp(32px,8.7vw,42px)}
}
@media(prefers-reduced-motion:reduce){.page-background-actions .button{transition:none}}
@media print{
 .page-background-hero,main .feature-hero:has(.feature-hero-photo){min-height:0;padding:0;background:#fff;color:#111;overflow:visible}
 .page-background-hero{margin-bottom:25px}
 .page-background-hero>.page-background-photo,.page-background-shade,.page-background-breadcrumb,.page-background-actions,main .feature-hero .feature-hero-photo,main .feature-hero:has(.feature-hero-photo)::after{display:none!important}
 .page-background-content{display:block;padding:0}
 .page-background-copy{max-width:none}
 .page-background-eyebrow,.page-background-hero .page-background-copy h1,.page-background-lead,main .feature-hero .feature-hero-panel,main .feature-hero .feature-hero-panel :is(h1,.lead,.eyebrow){color:#111}
 .page-background-hero .page-background-copy h1,.page-background-hero.page-background-compact-title .page-background-copy h1{font-size:34px;max-width:none}
 .page-background-eyebrow::before{background:#111}
}

