/* A camera travelling along a mountain, with a flag-shaped form at its summit. */
body{isolation:isolate}.mountain-journey{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;opacity:0;transition:opacity .8s ease;--mountain-opacity:.42;--mask-start:45%;--mask-end:64%}.mountain-journey.is-ready{opacity:1}.mountain-viewport{position:absolute;inset:0;overflow:hidden;mask-image:linear-gradient(to right,transparent var(--mask-start),#000 var(--mask-end));-webkit-mask-image:linear-gradient(to right,transparent var(--mask-start),#000 var(--mask-end))}.mountain-world{position:absolute;left:0;top:0;width:1536px;height:1024px;transform-origin:0 0;will-change:transform;clip-path:inset(0 var(--reveal-right,0%) 0 0);opacity:var(--mountain-opacity)}.mountain-illustration,.ascent-route{position:absolute;inset:0;width:100%;height:100%;display:block}.mountain-illustration{object-fit:contain}.ascent-route{overflow:visible;stroke-linecap:round;stroke-linejoin:round}.route-base{stroke:#5e9ee7;stroke-width:1.5;stroke-dasharray:3 12;opacity:.5}.route-drawn{stroke:#2377d8;stroke-width:2;opacity:.85}.route-traveller{fill:#075fce;stroke:#fff;stroke-width:3}.route-traveller-halo{fill:#fff;fill-opacity:.6;stroke:#6babea;stroke-width:1.5}
main{position:relative;z-index:1}.header{z-index:30}.hero-art{background:#edf5ff}.hero-copy{position:relative}.ascent-invitation{display:flex;align-items:center;gap:10px;font-size:12px!important;color:#6382a5!important;line-height:1.4!important;margin:23px 0 0!important}.ascent-invitation span{color:var(--blue);font-size:19px}.services{background:rgba(237,245,255,.84)}.service:not(.featured){background:#fff}.service.featured{background:#dcecff}.choice-grid article{background:#fff}.platform-section{background:rgba(232,242,255,.84)}.platform-orbit{display:none}.section-heading>p,.approach-list article>p{background:rgba(255,255,255,.88);border-radius:8px;padding:8px 10px;margin-right:-10px}.services .section-heading>p{background:rgba(237,245,255,.94)}.approach-list article:hover{background:rgba(245,249,255,.94)}.faq-list{background:rgba(255,255,255,.94);padding:24px;border:1px solid #e0ebf8;border-radius:22px}.choice-heading h2{background:rgba(255,255,255,.9);width:fit-content;padding:5px 12px;margin-left:-12px;border-radius:8px}.brand-ribbon{background:rgba(255,255,255,.95)}.contact{position:relative;align-items:start;padding-top:120px;padding-bottom:180px;gap:115px;scroll-margin-top:25px}.contact-copy{padding-top:35px;background:rgba(255,255,255,.88);border-radius:12px}.contact .eyebrow{font-size:11px;letter-spacing:.8px;max-width:none}.contact h2{max-width:none;font-size:clamp(40px,4.4vw,63px);letter-spacing:-2.4px}.summit-flag{position:relative;align-self:start;isolation:isolate;margin-right:20px}.flag-pole{position:absolute;left:-22px;top:-33px;bottom:-74px;width:5px;border-radius:5px;background:#205182;z-index:-1}.flag-pole::before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;left:-4px;top:-4px;background:#205182}.flag-pole::after{content:"";position:absolute;top:38px;left:4px;width:19px;height:4px;background:#205182;box-shadow:0 63px 0 #205182}.flag-tail{position:absolute;right:-38px;top:28px;width:45px;height:calc(100% - 6px);background:#044cb0;clip-path:polygon(0 0,100% 0,64% 50%,100% 100%,0 100%);z-index:-2}.contact .summit-flag form{position:relative;z-index:1;background:#0865ed;border:0;border-radius:0 5px 5px 0;padding:35px 36px 32px;color:#fff;box-shadow:0 20px 40px -35px #164e97;transform-origin:left top;transition:transform .7s var(--motion-ease)}.flag-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:22px;font-weight:600;letter-spacing:-.8px;padding-bottom:23px;margin-bottom:25px;border-bottom:1px solid #fff5}.flag-label span{font-size:11px;letter-spacing:.9px;text-transform:uppercase;font-weight:400}.contact .form-title{font-size:29px;letter-spacing:-.9px}.contact .form-intro{color:#e6efff;font-size:15px}.contact .summit-flag label{color:#fff}.contact .summit-flag input,.contact .summit-flag textarea,.contact .summit-flag select{color:#fff;border-bottom-color:#ffffff70;background:transparent}.contact .summit-flag option{background:#fff;color:var(--ink)}.contact .summit-flag input::placeholder,.contact .summit-flag textarea::placeholder{color:#d5e5ff}.contact .summit-flag input:focus,.contact .summit-flag textarea:focus,.contact .summit-flag select:focus{outline:2px solid #fff;outline-offset:4px;background:#075bcc;border-bottom:1px solid white;padding-bottom:12px}.contact .summit-flag .optional{color:#d5e5ff}.contact .summit-flag .button{background:#fff;color:#075cce;font-weight:500;margin-top:2px}.contact .summit-flag .button>span{border-color:#a8c9f5}.contact .summit-flag .button:hover{background:#e8f2ff}.contact .summit-flag .button:hover>span{background:#075cce;color:#fff}.contact .summit-flag .form-note{color:#d7e6ff;font-size:11px}.contact .summit-flag #form-status{background:#fff;color:#06429a;padding:14px;border-radius:6px}.summit-flag.is-at-summit .flag-tail{transform:translateX(3px);transition:transform .6s ease}footer{position:relative;z-index:2;background:white}.motion-off .mountain-world{will-change:auto}
@media(min-width:1500px){.mountain-journey{--mountain-opacity:.48}}
@media(max-width:1100px){.contact{gap:74px;padding-bottom:160px}.contact h2{font-size:45px;letter-spacing:-1.8px}.contact .summit-flag form{padding:29px 26px}.contact .form-title{font-size:26px}.flag-label{font-size:21px}.flag-label span{font-size:9px}.summit-flag{margin-right:17px}.flag-tail{right:-30px;width:37px}.flag-pole{left:-19px}.contact .eyebrow{font-size:10px}}
@media(max-width:760px){.mountain-journey{--mountain-opacity:.26;--mask-start:40%;--mask-end:74%}.section-heading>p,.approach-list article>p{padding:6px;margin-right:-6px}.choice-heading h2{padding:4px 6px;margin-left:-6px}.faq-list{padding:22px 16px;border-radius:18px}.ascent-invitation{font-size:11px!important;margin-top:18px!important}.contact{padding-top:65px;padding-bottom:135px;gap:40px}.contact-copy{padding-top:0;max-width:100%;background:rgba(255,255,255,.93)}.contact h2{font-size:45px;line-height:1.08;max-width:none}.contact .eyebrow{font-size:10px;letter-spacing:.4px}.summit-flag{margin:0 16px 0 16px}.contact .summit-flag form{padding:26px 22px 27px;border-radius:0 4px 4px 0}.flag-pole{left:-16px;width:4px;top:-25px;bottom:-67px}.flag-pole::before{width:11px;height:11px;left:-3.5px}.flag-pole::after{width:13px}.flag-tail{right:-22px;width:28px;top:21px;height:calc(100% - 1px)}.flag-label{font-size:21px;padding-bottom:20px;margin-bottom:23px}.flag-label span{font-size:9px;letter-spacing:.35px}.contact .form-title{font-size:26px}.contact .form-intro{font-size:14px}.contact .summit-flag .optional{font-size:10px}.contact .summit-flag .form-note{font-size:11px}.contact .summit-flag .button{font-size:15px}.ribbon-track>span{color:#9abce7}}
@media(max-width:380px){.contact .summit-flag form{padding:25px 18px}.flag-label{font-size:19px}.flag-label span{font-size:8px}.contact h2{font-size:40px}.contact .form-title{font-size:24px}}
@media(prefers-reduced-motion:reduce){.mountain-world{will-change:auto}.mountain-journey{transition:none}}
/* Compact labels and a two-field summit flag. */
.hero-grid{margin-top:0}.choice-heading{display:block}.section-heading h2,.platform-layout h2,.faq-section h2,.contact h2{margin-top:0}.contact{align-items:center;gap:95px;padding-top:95px;padding-bottom:135px}.contact-copy{padding-top:0}.summit-flag{width:min(100% - 25px,410px);margin:0 25px 0 0;align-self:center}.contact .summit-flag form{padding:29px 28px 25px}.contact .summit-flag .form-title{font-size:25px;margin:0 0 25px}.contact .summit-flag input{margin-bottom:23px}.contact .summit-flag .button{min-height:52px;margin-top:3px}.contact .summit-flag .form-note{margin-top:15px;line-height:1.5}.flag-tail{right:-29px;width:35px;top:22px}.flag-pole{top:-24px;bottom:-65px}
@media(max-width:1100px){.contact{gap:70px}.summit-flag{width:calc(100% - 20px);margin-right:20px}.contact .summit-flag form{padding:27px 25px}}
@media(max-width:760px){.hero-grid{margin-top:0}.contact{gap:35px;padding-top:60px;padding-bottom:110px}.summit-flag{width:calc(100% - 37px);max-width:390px;margin:0 21px 0 16px}.contact .summit-flag form{padding:26px 23px 24px}.contact .summit-flag .form-title{font-size:24px;margin-bottom:23px}.flag-tail{right:-22px;width:28px}.flag-pole{bottom:-58px}}
.header-cta{background:var(--blue);border-color:var(--blue);color:#fff;padding:15px 21px}.header-cta:hover,.header-cta:focus-visible{background:#0053cd;border-color:#0053cd;color:#fff}
@media(max-width:760px){.header-cta{padding:13px 15px}}

.platforms>.platform-more{display:flex;flex-wrap:wrap;gap:18px 24px;justify-content:space-between;background:#f4f8fd;border:1px solid #dbe7f4;box-shadow:none}
.platform-more h3{margin:0;font-size:20px;font-weight:500;letter-spacing:-.5px;line-height:1.3}
.extra-platform-logos{display:flex;align-items:center;gap:18px}
.extra-platform-logos img{display:block;object-fit:contain;max-width:76px;height:28px}
@media(max-width:760px){.platforms>.platform-more{gap:18px;padding:22px}.platform-more h3{font-size:19px}.extra-platform-logos{gap:22px}}

.extra-flamp{display:flex;align-items:center;gap:6px;font-size:17px;font-weight:600;color:#247dd0}.extra-flamp img{width:28px}
@media(max-width:380px){.extra-platform-logos{gap:14px}}

/* Product cards share one resting surface and the Discovery hover color. */
.service{transition:background-color .3s ease,transform .35s var(--motion-ease),border-color .3s,box-shadow .3s}
.service:not(.featured):focus-within{background:#dcecff}
@media(hover:hover){.service:not(.featured):hover{background:#dcecff}}
@media(prefers-reduced-motion:reduce){.service{transition:none}}

.account-prices{margin:0 0 25px;padding:0}.account-prices>div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 10px;padding:11px 0;border-bottom:1px solid #ccd9e8}.account-prices dt{font-size:14px;color:var(--muted)}.account-prices dd{margin:0;font-size:23px;letter-spacing:-.7px;white-space:nowrap}.social-channels{font-size:14px;line-height:1.8;color:var(--muted);border-top:1px solid #ccd9e8;padding:16px 0 22px}.service-link{margin-top:auto}.service-grid{align-items:stretch}.service h3{overflow-wrap:normal}.extra-platform-logos{flex-wrap:wrap;row-gap:14px}.header nav{gap:24px;white-space:nowrap}.reviews-section{padding-block:65px 25px;position:relative}.reviews-empty{border:1px solid var(--line);border-radius:20px;padding:30px;background:#f4f8fd}.reviews-empty p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}.privacy-link{padding:0;background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.privacy-link:hover{color:var(--blue)}#privacy-dialog{width:min(640px,calc(100% - 32px));max-height:85vh;border:1px solid var(--line);border-radius:24px;padding:32px;color:var(--ink);background:#fff}#privacy-dialog::backdrop{background:rgb(11 32 56 / .4)}.privacy-heading{display:flex;gap:16px;align-items:flex-start}.privacy-heading h2{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:0}.privacy-close{background:none;border:0;font-size:30px;cursor:pointer;color:var(--ink)}#privacy-dialog p{font-size:16px;line-height:1.6}.privacy-draft{color:var(--muted)}footer{gap:20px}#reviews{scroll-margin-top:130px}
@media(max-width:1100px){.header nav{gap:15px;font-size:13px}.header{gap:18px}}
@media(max-width:760px){.header,.header.is-scrolled{height:auto;min-height:114px;flex-wrap:wrap;gap:14px;padding-block:16px}.header nav{display:flex;order:3;width:100%;overflow-x:auto;gap:22px;font-size:14px;padding:2px 0 5px}.header-cta{margin-left:auto}.reviews-section{padding-block:40px 15px}.reviews-empty{padding:24px}#privacy-dialog{padding:24px}.privacy-heading h2{font-size:24px}.account-prices dd{font-size:24px}footer .privacy-link{text-align:left}}

.account-prices+details{border-top:0}
.service .service-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#edf5ff;transition:background-color .3s,transform .3s var(--motion-ease)}
.service-icon img{display:block;width:30px;height:30px}
.service:hover .service-icon{transform:translateY(-2px);background:#c5dfff}
@media(max-width:760px){.service .service-icon{width:40px;height:40px;flex-basis:40px}.service-icon img{width:27px;height:27px}}

.ribbon-track{animation:brand-drift 32s linear infinite;will-change:transform}
.brand-ribbon:hover .ribbon-track{animation-play-state:running}
.ribbon-track>span{min-width:100vw;flex-shrink:0;justify-content:space-around}
.ribbon-track img{display:block;flex:0 0 40px;width:40px;height:40px}
@media(max-width:760px){.ribbon-track img{width:30px;height:30px;flex-basis:30px}}
.motion-off .ribbon-track{will-change:auto}
@media(prefers-reduced-motion:reduce){.ribbon-track{will-change:auto}}

.reviews-heading{align-items:end}.reviews-heading>p{max-width:390px}.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.review-card{display:flex;flex-direction:column;min-height:390px;padding:30px 31px 27px;border:1px solid #d4e3f5;border-radius:22px;background:#fff;transition:transform .35s var(--motion-ease),border-color .3s,background-color .3s}.review-card:hover{transform:translateY(-4px);border-color:#8fbaf0}.review-card-accent,.review-card-wide{background:#edf5ff}.review-card-wide{grid-column:1/-1;min-height:0}.review-card-wide blockquote{max-width:980px}.review-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #ccddf0;color:#45617f;font-size:12px;letter-spacing:.3px;text-transform:uppercase}.review-top>span:first-child{display:grid;place-items:center;width:36px;height:36px;border:1px solid #bdd5f3;border-radius:50%;color:var(--blue);font-size:11px;flex:0 0 36px}.review-top>span:last-child{text-align:right}.review-card blockquote{margin:29px 0 35px;position:relative}.review-card blockquote::before{content:"“";position:absolute;right:0;top:-19px;color:#c7dcf7;font-size:78px;line-height:1;font-family:Georgia,serif}.review-card blockquote p{position:relative;margin:0;padding-right:36px;font-size:17px;line-height:1.7;color:#263c55}.review-author{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-top:auto;padding-top:19px;border-top:1px solid #d9e5f2}.review-author strong{font-size:17px;font-weight:600}.review-author span{font-size:13px;color:var(--muted);text-align:right}.direct-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:28px 0 31px}.direct-contact{display:flex;align-items:center;gap:13px;min-width:0;padding:15px 14px;border:1px solid #d1e2f8;border-radius:15px;background:#fff;transition:transform .25s var(--motion-ease),border-color .25s,background-color .25s}.direct-contact:hover,.direct-contact:focus-visible{transform:translateY(-2px);border-color:#8db9f1;background:#edf5ff}.contact-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#e4f0ff;color:var(--blue)}.contact-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.direct-contact:nth-child(2) .contact-icon svg{stroke:none;fill:currentColor}.direct-contact>span:last-child{display:grid;gap:4px;min-width:0}.direct-contact small{font-size:11px;color:var(--muted)}.direct-contact strong{font-size:15px;font-weight:600;overflow-wrap:anywhere}.contact-copy .brand-note{margin-top:0}

/* Mobile pass: compact navigation, reliable anchor offsets and touch-friendly layouts. */
@media(max-width:760px){
  html{scroll-padding-top:24px}
  .wrap{width:calc(100% - 32px)}
  .header,.header.is-scrolled{position:relative;top:auto;min-height:108px;padding-block:12px;gap:10px 12px;box-shadow:none}
  .header::before{inset-inline:-16px}
  .header .logo{font-size:29px;letter-spacing:-1.5px}
  .header-cta{min-height:42px;padding:10px 13px;font-size:10.5px;white-space:nowrap}
  .header nav{gap:12px;justify-content:space-between;overflow-x:auto;scrollbar-width:none;font-size:12.5px;padding-bottom:3px}
  .header nav::-webkit-scrollbar{display:none}
  .header nav a{flex:0 0 auto;padding:6px 0}
  .hero{padding-top:24px}
  .hero-copy h1{font-size:clamp(38px,11.5vw,48px);line-height:1.06;letter-spacing:-2.1px}
  .hero-copy p{font-size:16px;line-height:1.55}
  .hero-copy .button{width:100%;max-width:360px}
  .hero-art{min-height:400px;padding:22px 18px 0}
  .art-title{font-size:25px;max-width:61%;margin-top:30px}
  .circle-cta{width:94px;height:94px;right:16px;top:64px}
  .circle-type{font-size:9.5px}
  .circle-arrow{font-size:39px}
  .steps{gap:4px;height:211px;margin-top:12px}
  .step{padding:14px 8px}
  .step b,.step-three b{font-size:14px}
  .step span{font-size:8px;line-height:1.35}
  .section{padding-block:56px}
  h2,.choice-heading h2{font-size:clamp(34px,10.5vw,42px);letter-spacing:-1.4px}
  .choice-grid article,.choice-grid article+article{padding:24px 22px}
  .service{padding:23px 21px}
  .service h3{font-size:27px;line-height:1.12;overflow-wrap:anywhere}
  .service>p{font-size:16px;line-height:1.55}
  .approach-list article{grid-template-columns:46px minmax(0,1fr) 22px;gap:11px}
  .approach-list h3{font-size:20px;line-height:1.25}
  .approach-list p{font-size:15px;line-height:1.55}
  .platforms>div{gap:13px;padding:18px 14px!important}
  .platform-logo{width:96px;flex-basis:96px;height:52px;padding-right:12px}
  .platform-logo-prodoc img{width:90px}
  .platforms>div>span:last-child{font-size:17px}
  .extra-platform-logos{gap:15px}
  .faq-list{padding:20px 16px}
  .faq-list summary{font-size:16px;line-height:1.4}
  .reviews-heading{display:block}.reviews-heading>p{margin-top:18px}.reviews-grid{grid-template-columns:1fr;gap:13px}.review-card,.review-card-wide{grid-column:auto;min-height:0;padding:24px 21px 22px;border-radius:18px}.review-top{padding-bottom:16px}.review-card blockquote{margin:24px 0 28px}.review-card blockquote p{padding-right:17px;font-size:16px;line-height:1.65}.review-card blockquote::before{right:-3px;top:-14px;font-size:62px}.review-author{padding-top:16px}.review-author strong{font-size:16px}.review-author span{font-size:12px}
  .contact{gap:32px;padding-top:54px;padding-bottom:102px}
  .contact h2{font-size:clamp(39px,12vw,47px);line-height:1.05;letter-spacing:-2px}
  .contact-copy>p{font-size:16px;line-height:1.6}
  .direct-contacts{grid-template-columns:1fr;margin:24px 0 28px}.direct-contact{min-height:70px;padding:13px}.direct-contact strong{font-size:16px}
  .summit-flag{width:calc(100% - 31px);margin:0 18px 0 13px}
  .contact .summit-flag form{padding:25px 21px 24px}
  .contact .summit-flag .button{gap:12px;padding-left:22px}
  .footer-wordmark{width:calc(100% - 32px)}
  footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:15px 18px;padding-block:25px 30px}
  footer .logo,footer .privacy-link,footer .motion-toggle{grid-column:1/-1}
  footer>span{order:initial;width:auto;margin:0}
  footer>a:last-of-type{justify-self:end}
}
@media(max-width:390px){
  .header nav{gap:10px;font-size:11.5px}
  .header-cta{font-size:9.5px;padding-inline:11px}
  .hero-art{padding-inline:16px}
  .art-title{font-size:24px}
  .step{padding-inline:6px}
  .platform-logo{width:84px;flex-basis:84px}
  .platforms>div>span:last-child{font-size:16px}
  .platforms small{font-size:11.5px}
  .review-top{align-items:flex-start}.review-top>span:last-child{max-width:205px}
}

/* Local concept: cinematic video hero */
.hero-cinematic{
  position:relative;
  min-height:min(720px,calc(100vh - 92px));
  padding-top:0;
  overflow:visible;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
}
.hero-media{position:absolute;top:0;bottom:0;left:50%;width:100vw;max-width:none;transform:translateX(-50%);z-index:-2;overflow:hidden;background:#f7fbff}
.hero-video{width:100%;height:100%;object-fit:cover;object-position:63% center;display:block}
.hero-video-wash{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.94) 26%,rgba(255,255,255,.50) 48%,rgba(255,255,255,.06) 72%),
    linear-gradient(0deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,0) 24%);
  pointer-events:none;
}
.hero-cinematic-content{display:flex;align-items:center;flex:1;padding:66px 0 40px;position:relative;z-index:1}
.hero-cinematic .hero-copy{width:min(690px,55%)}
.hero-cinematic .hero-copy h1{font-size:clamp(52px,6vw,88px);line-height:1.02;margin-bottom:30px}
.hero-cinematic .hero-copy p{font-size:18px;line-height:1.62;color:#58708c}
.hero-cinematic .hero-bottom{position:relative;z-index:1;margin-top:0;padding:24px 0 26px;border-top:1px solid rgba(189,213,241,.8)}
.hero-cinematic .hero-note{color:#58708c}
@media(max-width:760px){
  .hero-cinematic{min-height:auto;padding-top:0;overflow:visible;border-bottom:0}
  .hero-media{position:relative;top:auto;bottom:auto;left:50%;width:100vw;max-width:none;height:43vh;min-height:310px;z-index:0;margin:0;transform:translateX(-50%);overflow:hidden;border-bottom:1px solid var(--line)}
  .hero-video{object-position:82% center}
  .hero-video-wash{background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,.12) 34%,rgba(255,255,255,0) 62%)}
  .hero-cinematic-content{padding:8px 0 32px;display:block}
  .hero-cinematic .hero-copy{width:100%;margin-top:-26px;position:relative;z-index:2}
  .hero-cinematic .hero-copy h1{font-size:clamp(42px,12vw,56px);margin-bottom:22px}
  .hero-cinematic .hero-copy p{font-size:16px}
  .hero-cinematic .hero-bottom{padding:21px 0 24px}
}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero-media{background:url('assets/hero-flag-poster.jpg') 68% center/cover no-repeat}}

/* Intro-to-flag handoff */
.hero-media{background:#f7fbff url('assets/hero-intro-poster.jpg') 63% center/cover no-repeat}
.hero-video,.hero-flag-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:63% center;display:block}
.hero-video{opacity:0;transition:opacity .11s linear}
.hero-video.is-visible{opacity:1}
.hero-flag-fallback{opacity:0;transition:opacity .11s linear}
.hero-media.is-loop-mode{background-image:url('assets/hero-flag-poster.jpg')}
.hero-media.is-loop-mode .hero-flag-fallback{opacity:1}
.hero-video-loop{z-index:2;transition-duration:.32s}
.hero-video-intro{z-index:1;transition-duration:.42s}
.hero-video-wash{z-index:3}
@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .hero-media,.hero-video,.hero-flag-fallback{object-position:82% center;background-position:82% center}
}
@media(prefers-reduced-motion:reduce){
  .hero-video{display:none}
  .hero-media{background-image:url('assets/hero-flag-poster.jpg')}
  .hero-flag-fallback{opacity:1}
}

/* Platform-stable interface arrows: SVG prevents iOS from substituting emoji. */
.ui-arrow{display:inline-block;width:1em;height:1em;flex:0 0 auto;vertical-align:-.14em;margin-left:.3em;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.button .ui-arrow{width:1.08em;height:1.08em;margin-left:0}
.service-link .ui-arrow,.consult-strip .ui-arrow{margin-left:auto}
.row-symbol .ui-arrow{width:.9em;height:.9em;margin:0}
.hero-bottom a,footer>a:last-of-type{display:inline-flex;align-items:center;gap:.35em}
.hero-bottom a .ui-arrow,footer>a:last-of-type .ui-arrow{margin-left:0}

@media(max-width:760px){
  .hero-cinematic-content{padding-top:22px}
  .hero-cinematic .hero-copy{margin-top:0}
}
