/* Home 5–2: Alpine Chapters. Desktop keeps alpine.css apart from a full-screen
   hero. Below 900px each chapter opens as a poster: the headline sits in the
   scene's transparent sky on the same cobalt field, and the reading sheet
   slides up over the scene. */
@media (min-width:901px) {
 /* Full-screen hero, but the 1440px artwork scales to the window width and sits
    on the bottom edge; extra height is the artwork's own sky colour above it,
    instead of enlarging the mountains to cover the height. */
 body.h5p.h5a .ev-home2-hero { min-height:100svh; background:#0038b7; }
 body.h5p.h5a .ev-home2-art { inset:auto 0 0; height:auto; aspect-ratio:1440/860; background:#0038b7; }
 /* Grounded scenes: the portrait spans the panel and stands on its floor, so spare
    height becomes sky. Wide panels crop sky first, keeping 8% headroom above the
    highest peak (--h5a-peak, set per scene), before the foreground drops below the
    floor. The top fade dissolves Montreux's painted sky; cut-out skies are unaffected. */
 body.h5p.h5a :is(.h5a-scene,.h5a-world-art) picture { position:relative; container-type:size; }
 body.h5p.h5a :is(.h5a-scene,.h5a-world-art) img { position:absolute; left:0; bottom:calc(-1 * max(0px, 100cqw * 1402 / 1122 * (1 - var(--h5a-peak,.2)) - 92cqh)); width:100%; height:auto; aspect-ratio:1122/1402; object-fit:fill; -webkit-mask-image:linear-gradient(transparent,#000 calc(var(--h5a-peak,.2) * 80%)); mask-image:linear-gradient(transparent,#000 calc(var(--h5a-peak,.2) * 80%)); }
 body.h5p.h5a .h5a-slide--series h2 { text-wrap:balance; }
 /* Contact's form makes it the one chapter that can start at its top padding; keep
    its eyebrow clear of the masthead. */
 body.h5p.h5a .h5a-slide--contact .h5a-copy { padding-top:84px; }
}
/* The audience line under the hero title, in two lines within the title's column.
   The ribbon's tallest peak passes behind every hero line, and ribbon-player.js
   (shared) veils only the title and Contact us, so the line carries the same veil:
   the flat sky at 94%, padded 18/12px and blurred 22px. Its 72px (two lines, less
   the actions' shorter margin) comes out of the space reserved below, so the hero
   keeps its height. */
body.h5p.h5a .h5p-hero-lede { position:relative; max-width:520px; margin:22px 0 0; color:rgb(255 255 255 / .88); font:400 20px/1.5 Inter,sans-serif; text-wrap:balance; }
body.h5p.h5a .h5p-hero-lede::before { content:''; position:absolute; inset:-12px -18px; z-index:-1; background:rgb(0 56 184 / .94); filter:blur(22px); pointer-events:none; }
body.h5p.h5a .h5p-hero-lede + .ev-home2-actions { margin-top:34px; }
@media (min-width:901px) { body.h5p.h5a .ev-home2-hero__content { padding-bottom:198px; } }
@media (min-width:1700px) { body.h5p.h5a .ev-home2-hero__content { padding-bottom:288px; } }
/* Short desktop windows: shrink the reserved space so the hero still fits. */
@media (min-width:901px) and (max-height:860px) {
 body.h5p.h5a .ev-home2-hero__content { padding-top:clamp(140px,23svh,205px); padding-bottom:calc(clamp(150px,28svh,270px) - 72px); }
}
/* Posters: a smaller line, up to two on phones. */
@media (max-width:900px) {
 body.h5p.h5a .h5p-hero-lede { margin-top:18px; font-size:17px; }
 body.h5p.h5a .h5p-hero-lede::before { background:rgb(0 56 189 / .94); }
 body.h5p.h5a .h5p-hero-lede + .ev-home2-actions { margin-top:26px; }
 body.h5p.h5a .ev-home2-hero__content { padding-bottom:300px; }
}
@media (max-width:520px) { body.h5p.h5a .ev-home2-hero__content { padding-bottom:270px; } }
@media (max-width:900px) {
 body.h5p.h5a { --h5p-sky:#002da7; --h5p-ice:#bccdfb; --h5p-gutter:24px; }
 body.h5p.h5a .h5a-world { display:none; }
 body.h5p.h5a .h5a-slides { background:var(--h5p-sky); }
 body.h5p.h5a .h5a-slide { display:flex; flex-direction:column; align-items:stretch; min-height:0; background:var(--h5p-sky); color:#fff; }
 body.h5p.h5a section.h5a-slide[id],body.h5p.h5a .h5a-anchor[id] { scroll-margin-top:0; }
 body.h5p.h5a .h5a-slide .h5a-copy { display:contents; }

 body.h5p.h5a .h5a-slide .h5a-eyebrow { order:1; position:relative; z-index:2; margin:0; padding:72px var(--h5p-gutter) 0; color:var(--h5p-ice); font:600 11px/1.5 Inter,sans-serif; letter-spacing:.16em; }
 body.h5p.h5a .h5a-slide h2 { order:2; position:relative; z-index:2; margin:0; padding:16px var(--h5p-gutter) 0; color:#fff; font:700 clamp(38px,11.2vw,52px)/1.02 'DM Sans',sans-serif; letter-spacing:-.05em; text-wrap:balance; }
 body.h5p.h5a .h5a-slide--series h2 { font-size:clamp(36px,10.2vw,50px); }

 /* The negative margin tucks each scene's empty sky under its headline,
    stopping a few percent above that artwork's first peak. */
 body.h5p.h5a .h5a-slide .h5a-scene { order:3; display:block; position:relative; inset:auto; z-index:0; width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:1122/1402; margin-top:calc(-1 * var(--h5p-overlap,12%)); background:transparent; overflow:hidden; visibility:visible; transform:none; }
 body.h5p.h5a .h5a-slide .h5a-scene img { width:100%; height:100%; object-fit:cover; object-position:50% 100%; }
 body.h5p.h5a .h5a-slide--series { --h5p-overlap:18%; }
 /* Montreux is the one scene with a painted sky; feather it into the field. */
 body.h5p.h5a .h5a-slide--about .h5a-scene img { -webkit-mask-image:linear-gradient(transparent 4%,#000 24%); mask-image:linear-gradient(transparent 4%,#000 24%); }
 body.h5p.h5a .h5a-slide--products-services { --h5p-overlap:13%; }
 body.h5p.h5a .h5a-slide--investment-solutions { --h5p-overlap:31%; }
 body.h5p.h5a .h5a-slide--advisory { --h5p-overlap:18%; }
 body.h5p.h5a .h5a-slide--who-we-work-for { --h5p-overlap:11%; }
 body.h5p.h5a .h5a-slide--about { --h5p-overlap:8%; }
 body.h5p.h5a .h5a-slide--contact { --h5p-overlap:15%; }
 /* Preview pages (h5p--scenes) show the 8 October scenes: overlaps from each scene's
    measured highest point, and the arch keeps its top (the fade is for Montreux's sky). */
 body.h5p.h5p--scenes.h5a .h5a-slide--series { --h5p-overlap:20%; }
 body.h5p.h5p--scenes.h5a .h5a-slide--products-services { --h5p-overlap:16%; }
 body.h5p.h5p--scenes.h5a .h5a-slide--investment-solutions { --h5p-overlap:12%; }
 body.h5p.h5p--scenes.h5a .h5a-slide--advisory { --h5p-overlap:21%; }
 body.h5p.h5p--scenes.h5a .h5a-slide--who-we-work-for { --h5p-overlap:15%; }
 body.h5p.h5p--scenes.h5a .h5a-slide--about { --h5p-overlap:7%; }
 body.h5p.h5p--scenes.h5a .h5a-slide--contact { --h5p-overlap:22%; }
 body.h5p.h5p--scenes.h5a .h5a-slide--about .h5a-scene img { -webkit-mask-image:none; mask-image:none; }

 body.h5p.h5a .h5p-sheet { order:4; position:relative; z-index:1; padding:36px var(--h5p-gutter) 64px; background:#fff; color:var(--h5a-ink); box-shadow:0 -26px 44px -22px rgb(2 14 58 / .6); }
 body.h5p.h5a .h5a-slide:nth-of-type(even) .h5p-sheet { background:#f5f9ff; }

 /* One lead line, then quieter supporting paragraphs. */
 body.h5p.h5a .h5p-sheet .h5a-prose { max-width:36rem; color:var(--h5a-muted); font:400 16px/1.75 Inter,sans-serif; }
 body.h5p.h5a .h5p-sheet .h5a-prose p { margin:0 0 18px; }
 body.h5p.h5a .h5p-sheet .h5a-prose p:first-child { color:var(--h5a-ink); font-size:18px; line-height:1.6; }
 body.h5p.h5a .h5p-sheet .h5a-prose p:last-child { margin-bottom:0; }
 body.h5p.h5a .h5a-slide--products-services .h5p-sheet .h5a-prose p:last-child { color:var(--h5a-ink); }
 body.h5p.h5a .h5p-sheet .h5a-series-topics { margin-top:0; color:var(--h5a-muted); }
 body.h5p.h5a .h5p-sheet .h5a-audiences { margin-top:28px; }
 body.h5p.h5a .h5p-sheet .h5a-actions { margin-top:30px; }
 body.h5p.h5a .h5a-slide--contact .h5p-sheet .h5a-actions { margin-top:22px; }
 body.h5p.h5a .h5p-sheet .h5a-form { margin-top:30px; }

 /* The hero's snowy foot dissolves into the first poster's sky. */
 body.h5p.h5a .ev-home2-hero::after { content:''; position:absolute; inset:auto 0 0; z-index:5; height:88px; background:linear-gradient(rgb(0 45 167 / 0),var(--h5p-sky)); pointer-events:none; }
}

/* Phones: stacked poster; the scene holds still while its sheet rises over it. */
@media (max-width:599px) {
 body.h5p.h5a .h5a-actions { flex-direction:column; gap:10px; }
 body.h5p.h5a .h5a-actions .h5a-button { width:100%; }
 body.h5p.h5a .h5a-slide--series .h5p-sheet { padding-bottom:48px; }
}
@media (max-width:599px) and (min-height:561px) and (prefers-reduced-motion:no-preference) {
 body.h5p.h5a:not(.h5a-motion-off) .h5a-slide .h5a-scene { position:sticky; top:0; }
}

/* Tablets: heading beside the full portrait, sides alternating as on desktop. */
@media (min-width:600px) and (max-width:900px) {
 body.h5p.h5a { --h5p-gutter:40px; }
 body.h5p.h5a .h5a-slide { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto 1fr auto; grid-template-areas:"eyebrow scene" "title scene" "sheet sheet"; }
 body.h5p.h5a .h5a-slide:nth-of-type(even) { grid-template-areas:"scene eyebrow" "scene title" "sheet sheet"; }
 body.h5p.h5a .h5a-slide .h5a-eyebrow { grid-area:eyebrow; padding-top:64px; }
 body.h5p.h5a .h5a-slide h2 { grid-area:title; align-self:start; padding-bottom:48px; font-size:clamp(38px,6.4vw,54px); }
 /* The Series headline is the longest; "Management 3.0" must fit its half column. */
 body.h5p.h5a .h5a-slide--series h2 { font-size:clamp(28px,4.8vw,44px); }
 body.h5p.h5a .h5a-slide .h5a-scene { grid-area:scene; margin-top:0; }
 body.h5p.h5a .h5p-sheet { grid-area:sheet; padding:44px var(--h5p-gutter) 68px; }
 body.h5p.h5a .h5p-sheet > * { max-width:620px; }
}

/* The Series formats are named, not linked: facet markers instead of underlines. */
body.h5p.h5a .h5a-series-topics { column-gap:26px; row-gap:12px; }
body.h5p.h5a .h5a-series-topics li { display:flex; align-items:center; gap:10px; border-bottom:0; padding-bottom:0; }
body.h5p.h5a .h5a-series-topics li::before { content:''; flex:none; width:6px; height:6px; background:var(--h5a-blue); transform:rotate(45deg); }
@media (max-width:520px) {
 body.h5p.h5a .h5a-series-topics { display:grid; grid-template-columns:repeat(2,max-content); gap:14px 28px; }
}

/* Series partners: the TEK page's logos, set in one ink as masks (each box, --w by --h,
   is sized for equal visual weight), under a hairline after the call to action. The
   row shrinks with its column: 435 is the sum of the boxes, 64px the narrowest gaps. */
body.h5p.h5a .h5p-partners { container-type:inline-size; max-width:560px; margin-top:56px; padding-top:22px; border-top:1px solid var(--h5a-edge); }
body.h5p.h5a .h5p-partners__label { margin:0 0 20px; color:var(--h5a-muted); font:600 11px/1.5 Inter,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
body.h5p.h5a .h5p-partners__list { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px 16px; margin:0; padding:0; list-style:none; }
body.h5p.h5a .h5p-partners__list li { display:flex; margin:0; padding:0; border:0; }
body.h5p.h5a .h5p-partners__logo { display:block; width:min(var(--w) * 1px, var(--w) * (100cqw - 64px) / 435); height:min(var(--h) * 1px, var(--h) * (100cqw - 64px) / 435); position:relative; color:#5b6b94; transition:color .2s; }
/* The mask sits on ::before, so it never clips the focus ring. */
body.h5p.h5a .h5p-partners__logo::before { content:''; position:absolute; inset:0; background:currentColor; -webkit-mask:var(--logo) center / contain no-repeat; mask:var(--logo) center / contain no-repeat; }
body.h5p.h5a a.h5p-partners__logo:hover { color:var(--h5a-blue); }
body.h5p.h5a a.h5p-partners__logo:focus-visible { outline:2px solid #4483ff; outline-offset:6px; }
@media (forced-colors:active) { body.h5p.h5a .h5p-partners__logo::before { forced-color-adjust:none; background:CanvasText; } }
@media (max-width:900px) { body.h5p.h5a .h5p-sheet .h5p-partners { margin-top:44px; } }
/* Phones set the five in three columns, at 90% of their full size (78% on the narrowest). */
@media (max-width:599px) {
 body.h5p.h5a .h5p-partners__list { display:grid; grid-template-columns:repeat(3,auto); justify-content:space-between; row-gap:26px; }
 body.h5p.h5a .h5p-partners__logo { width:calc(var(--w) * .9px); height:calc(var(--h) * .9px); }
}
@media (max-width:359px) { body.h5p.h5a .h5p-partners__logo { width:calc(var(--w) * .78px); height:calc(var(--h) * .78px); } }

/* Short laptop windows: tighter spacing keeps the Series chapter within one screen. */
@media (min-width:901px) and (max-height:760px) {
 body.h5p.h5a .h5a-slide--series .h5a-copy { padding-block:56px 64px; }
 body.h5p.h5a .h5p-partners { margin-top:40px; }
}

/* Masthead. The header's logo stays on screen: it shrinks into a running head as
   the hero leaves, with the current chapter beside it, which opens the contents.
   It takes the ink of whatever passes beneath: white over the scenery, blue over
   the reading columns. A blue copy (built by slides.js) is clipped to the reading
   column under it, so an edge passing through splits the logo into both inks.
   Logo moves are --mast-x/y/k; --mast-fill fades in the phone band. */
.h5a-index { --gutter:clamp(35px,5vw,92px); position:fixed; z-index:11; top:22px; left:var(--gutter); font:500 13px/1.5 Inter,sans-serif; transition:opacity .25s,visibility .25s; }
.admin-bar .h5a-index { top:54px; }
body.h5a:not(.h5a-js) .h5a-index { display:none; }
body.h5p.h5a-js .ev-home2-brand { visibility:hidden; }
.h5a-js .h5a-index.is-past { opacity:0; visibility:hidden; }
.h5a-index__bar { position:relative; isolation:isolate; display:flex; align-items:center; height:44px; color:#fff; --chevron:linear-gradient(90deg,#fff 50%,#bccdfb 50%); }
.h5a-index__bar--light { position:absolute; inset:0 0 auto; color:var(--h5a-ink); --chevron:linear-gradient(90deg,#4f7df2 50%,var(--h5a-blue) 50%); pointer-events:none; clip-path:polygon(0 0,0 0,0 0); }
.h5a-index__home { display:flex; align-items:center; height:100%; color:inherit; }
.h5a-index__logo { display:block; width:136px; aspect-ratio:1672/395; background:currentColor; -webkit-mask:url(../tek-event/edelvault-logo-white.png) center / contain no-repeat; mask:url(../tek-event/edelvault-logo-white.png) center / contain no-repeat; transform-origin:0 0; transform:translate(var(--mast-x,0px),var(--mast-y,0px)) scale(var(--mast-k,1)); }
.h5a-index__bar--light .h5a-index__logo { color:var(--h5a-blue); }
/* The chapter follows a slanted hairline, the facet angle of the buttons. */
.h5a-index__toggle { display:flex; align-items:center; gap:11px; min-width:0; height:100%; margin:0; padding:0 6px 0 16px; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer; transition:opacity .3s,visibility .3s,transform .3s; }
.h5a-index__toggle::before { content:''; flex:none; width:10px; height:22px; margin-right:5px; background:linear-gradient(to top right,transparent calc(50% - .7px),currentColor calc(50% - .7px) calc(50% + .7px),transparent calc(50% + .7px)); opacity:.4; }
.h5a-index__toggle::after { content:''; flex:none; width:9px; height:6px; background:var(--chevron); clip-path:polygon(0 0,100% 0,50% 100%); transition:transform .2s; }
.h5a-index.is-open .h5a-index__toggle::after { transform:rotate(180deg); }
.h5a-index:not(.is-live) .h5a-index__toggle { opacity:0; visibility:hidden; transform:translateX(-8px); }
.h5a-index__current { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
/* A new chapter name rolls in from the direction of travel. */
.h5a-index__current.is-rolling { animation:h5p-roll .42s cubic-bezier(.3,.7,.2,1); }
.h5a-index__current.is-rolling[data-roll="up"] { animation-name:h5p-roll-up; }
@keyframes h5p-roll { from { opacity:0; transform:translateY(65%); } }
@keyframes h5p-roll-up { from { opacity:0; transform:translateY(-65%); } }
/* Contents: a cut white panel that reads as a route, a two-tone facet marking the
   current stop. Its frame and fill sit on pseudo-elements so focus rings are not clipped. */
.h5a-index__list { --cut:10px; position:absolute; top:calc(100% + 8px); left:0; width:256px; isolation:isolate; margin:0; padding:10px 1px; list-style:none; filter:drop-shadow(0 8px 20px rgb(2 14 58 / .16)); opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .18s,visibility .18s,transform .18s; }
.h5a-index__list::before { content:''; position:absolute; inset:0; z-index:-1; background:#c9d8f3; clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut))); }
.h5a-index__list::after { --c:calc(var(--cut) - .41px); content:''; position:absolute; inset:1px; z-index:-1; background:linear-gradient(var(--h5a-edge),var(--h5a-edge)) 23px 29px / 1px calc(100% - 58px) no-repeat,#fff; clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c))); }
.h5a-index.is-open .h5a-index__list { opacity:1; visibility:visible; transform:none; }
.h5a-index__list a { position:relative; display:grid; grid-template-columns:9px 1fr; align-items:center; column-gap:15px; min-height:40px; padding:0 18px; color:var(--h5a-ink); font-size:14px; text-decoration:none; transition:color .2s; }
.h5a-index__list a::before { content:''; width:7px; height:7px; margin-left:1px; border:1px solid #9fb6e8; background:#fff; transform:rotate(45deg); transition:border-color .2s,background-color .2s; }
.h5a-index__list a:hover { color:var(--h5a-blue); background:linear-gradient(104deg,#f3f7ff 84%,#e9f0fe 84%); }
.h5a-index__list a:hover::before { border-color:var(--h5a-blue); }
.h5a-index__list a[aria-current] { color:var(--h5a-blue); font-weight:600; }
.h5a-index__list a[aria-current]::before { border-color:var(--h5a-blue); background:linear-gradient(45deg,#4f7df2 50%,var(--h5a-blue) 50%); }
.h5a-index :is(.h5a-index__home,.h5a-index__toggle):focus-visible { outline:2px solid #fff; outline-offset:2px; }
.h5a-index[data-surface="light"] :is(.h5a-index__home,.h5a-index__toggle):focus-visible { outline-color:var(--h5a-blue); }
.h5a-index__list a:focus-visible { outline:2px solid #4483ff; outline-offset:-4px; }
@media (forced-colors:active) { .h5a-index__logo { forced-color-adjust:none; background:CanvasText; } .h5a-index__bar--light { display:none; } }
/* Posters (900px and below): the masthead is a band across the top, cobalt over the
   skies and scenes and the sheet's own white over the reading sheets, so text passes
   under it instead of behind the logo. */
@media (max-width:900px) {
 .h5a-index { --gutter:var(--h5p-gutter,24px); top:0; left:0; right:0; }
 .admin-bar .h5a-index { top:46px; }
 .h5a-index__bar { height:56px; padding:0 var(--gutter); }
 .h5a-index__bar::before { content:''; position:absolute; inset:0; z-index:-1; background:var(--mast-band,#002da7); opacity:var(--mast-fill,1); transition:background-color .3s; }
 .h5a-index__bar--light::before { background:var(--mast-sheet,#fff); opacity:1; }
 .h5a-index__logo { width:112px; }
 .h5a-index__list { left:var(--gutter); top:calc(100% + 6px); width:min(256px,calc(100% - 2 * var(--gutter))); }
 /* iPhone Safari (iOS 26) colours its status bar from the plain background-color of the
    fixed element at the middle of the top edge, 4px down, or else the page's white. The
    hero's header is not fixed, so its empty areas let that probe (and taps) through to
    the masthead, whose background-color slides.js keeps on the colour at the top of the screen. */
 body.h5p.h5a-js .ev-home2-header { pointer-events:none; }
 body.h5p.h5a-js .ev-home2-header :is(a,button,.ev-home2-nav) { pointer-events:auto; }
}
@media (max-width:350px) { .h5a-index__logo { width:96px; } .h5a-index__toggle { padding-left:10px; } }
@media (prefers-reduced-motion:reduce) {
 .h5a-index,.h5a-index *,.h5a-index *::before,.h5a-index *::after { transition:none; animation:none; }
}

/* Facet cut. Buttons are cut on two opposite corners like the low-poly ridges,
   and their fill carries two faint planes of shade that shift on hover, as light
   moves across a face of the scenery. The shape is drawn on ::before and the focus
   ring on ::after, so the ring keeps the cut instead of being clipped by it. */
@property --h5p-ridge { syntax:'<percentage>'; inherits:false; initial-value:64%; }
body.h5p.h5a :is(.ev-home2-primary,.ev-site-footer__cta,.ev-home2-nav__contact,.ev-home2-toggle,.h5a-button) { --cut:10px; --fill:#fff; --face:rgb(40 110 255 / .13); --face-2:rgb(40 110 255 / .06); --edge:transparent; --ring:#4483ff; position:relative; isolation:isolate; border:0; border-radius:0; background:none; }
body.h5p.h5a .h5a-form .ff-btn-submit { --cut:10px; --fill:var(--h5a-blue); --face:rgb(2 14 58 / .24); --face-2:rgb(255 255 255 / .08); --edge:transparent; --ring:#4483ff; position:relative; isolation:isolate; border:0!important; border-radius:0!important; background:none!important; }
body.h5p.h5a :is(.ev-home2-primary,.ev-site-footer__cta,.ev-home2-nav__contact,.ev-home2-toggle,.h5a-button,.h5a-form .ff-btn-submit)::before { --c:var(--cut); --b:1px; content:''; position:absolute; inset:0; z-index:-1; clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c))); background:linear-gradient(104deg,transparent var(--h5p-ridge),var(--face) var(--h5p-ridge)),linear-gradient(24deg,var(--face-2) 31%,transparent 31%),var(--fill); transition:--h5p-ridge .45s cubic-bezier(.3,.7,.2,1),background-color .2s; }
body.h5p.h5a :is(.ev-home2-primary,.ev-site-footer__cta,.ev-home2-nav__contact,.ev-home2-toggle,.h5a-button,.h5a-form .ff-btn-submit):hover::before { --h5p-ridge:46%; }
/* Outlined buttons: the ::before becomes a 1px frame with the same cut. */
body.h5p.h5a :is(.ev-home2-toggle,.h5a-button:not(:first-child))::before,
body.h5p.h5a :is(.ev-home2-primary,.ev-site-footer__cta,.ev-home2-nav__contact,.ev-home2-toggle,.h5a-button,.h5a-form .ff-btn-submit)::after { clip-path:polygon(evenodd,0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c)),0 0,var(--b) var(--b),var(--b) calc(100% - var(--c) - var(--b) * .414),calc(var(--c) + var(--b) * .414) calc(100% - var(--b)),calc(100% - var(--b)) calc(100% - var(--b)),calc(100% - var(--b)) calc(var(--c) + var(--b) * .414),calc(100% - var(--c) - var(--b) * .414) var(--b),var(--b) var(--b)); }
body.h5p.h5a :is(.ev-home2-toggle,.h5a-button:not(:first-child))::before { background:currentColor; }
body.h5p.h5a .h5a-button:not(:first-child):hover::before { clip-path:polygon(0 0,calc(100% - var(--c)) 0,100% var(--c),100% 100%,var(--c) 100%,0 calc(100% - var(--c))); background:linear-gradient(104deg,transparent var(--h5p-ridge),var(--face) var(--h5p-ridge)),linear-gradient(24deg,var(--face-2) 31%,transparent 31%),var(--h5a-ink); }
body.h5p.h5a :is(.ev-home2-primary,.ev-site-footer__cta,.ev-home2-nav__contact,.ev-home2-toggle,.h5a-button,.h5a-form .ff-btn-submit)::after { --c:calc(var(--cut) + 3px); --b:2px; content:''; position:absolute; inset:-5px; background:var(--ring); opacity:0; pointer-events:none; }
body.h5p.h5a :is(.ev-home2-primary,.ev-site-footer__cta,.ev-home2-nav__contact,.ev-home2-toggle,.h5a-button,.h5a-form .ff-btn-submit):focus-visible { outline:none!important; }
body.h5p.h5a :is(.ev-home2-primary,.ev-site-footer__cta,.ev-home2-nav__contact,.ev-home2-toggle,.h5a-button,.h5a-form .ff-btn-submit):focus-visible::after { opacity:1; }
/* Per button: the hero's white pair, and blue on the reading planes. */
body.h5p.h5a .ev-home2-actions .ev-home2-primary { --cut:12px; padding:14px 30px; }
body.h5p.h5a .ev-home2-primary:hover,body.h5p.h5a .ev-home2-nav a.ev-home2-nav__contact:hover,body.h5p.h5a .ev-site-footer__cta:hover { --fill:#eef4ff; text-decoration:none; }
/* The footer keeps its layout; only its Contact us takes the hero's white cut button. */
body.h5p.h5a .ev-site-footer__cta { --cut:10px; padding:12px 26px; color:var(--h5a-blue); box-shadow:none; transform:none; }
body.h5p.h5a .ev-site-footer__cta:hover { color:var(--h5a-blue); box-shadow:none; transform:none; }
/* The regulatory line (footer-home5-2.php) reads as part of the copyright. */
body.h5p.h5a .ev-site-footer__notice { margin-top:6px; }
body.h5p.h5a :is(.ev-home2-primary,.ev-site-footer__cta,.ev-home2-nav__contact,.ev-home2-toggle) { --ring:#fff; }
body.h5p.h5a .ev-home2-toggle { --cut:8px; padding:11px 17px; }
body.h5p.h5a .ev-home2-toggle:hover::before { background:currentColor; }
body.h5p.h5a .h5a-button { padding:14px 21px; }
body.h5p.h5a .h5a-button:first-child { --fill:var(--h5a-blue); --face:rgb(2 14 58 / .24); --face-2:rgb(255 255 255 / .08); }
body.h5p.h5a .h5a-button:first-child:hover { --fill:var(--h5a-ink); }
body.h5p.h5a .h5a-button:not(:first-child) { --face:rgb(255 255 255 / .07); --face-2:rgb(255 255 255 / .05); }
body.h5p.h5a .h5a-form .ff-btn-submit:hover { --fill:var(--h5a-ink); opacity:1; }
@media (max-width:900px) {
 body.h5p.h5a .ev-home2-nav { border-radius:0; }
}
@media (prefers-reduced-motion:reduce) {
 body.h5p.h5a :is(.ev-home2-primary,.ev-site-footer__cta,.ev-home2-nav__contact,.ev-home2-toggle,.h5a-button,.h5a-form .ff-btn-submit)::before { transition:none; }
}
