/* PRORITE homepage — Stripe-inspired information architecture, PRORITE visual identity. */
.home-stripe{background:#fff;color:#081426}
.home-stripe .home-nav-shell{background:#081426;border-bottom:1px solid rgba(238,240,239,.14)}
.home-stripe .home-hero{position:relative;min-height:min(760px,calc(100vh - 76px));display:flex;align-items:stretch;overflow:hidden;background:#081426;color:#fff}
.home-stripe .home-hero-media{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,20,38,.96) 0%,rgba(8,20,38,.84) 28%,rgba(8,20,38,.42) 57%,rgba(8,20,38,.08) 100%),linear-gradient(0deg,rgba(8,20,38,.60),transparent 35%,rgba(8,20,38,.12)),url('assets/site-approved/home-hero-macro.webp');background-size:cover;background-position:center right}
.home-stripe .home-hero-inner{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,7fr) minmax(260px,5fr);align-items:end;gap:60px;padding:clamp(90px,12vh,150px) clamp(10px,1vw,16px) 72px}
.home-stripe .home-hero-copy{max-width:880px}
.home-stripe .home-hero-kicker{font-family:"Inter",sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#C99A2E;margin-bottom:26px}
.home-stripe .home-hero h1{font-size:clamp(62px,8.6vw,126px);line-height:.88;letter-spacing:-.065em;max-width:900px;margin:0 0 30px;font-weight:650;color:#fff}
.home-stripe .home-hero-sub{font-size:clamp(20px,2.2vw,30px);line-height:1.28;letter-spacing:-.025em;max-width:720px;color:#D8E0E4;margin:0 0 36px}
.home-stripe .home-hero-actions{display:flex;gap:28px;flex-wrap:wrap;align-items:center}
.home-stripe .home-hero-actions .cta{color:#fff;border-color:rgba(255,255,255,.75)}
.home-stripe .home-hero-actions .cta.primary{background:#fff;color:#081426;border:1px solid #fff;padding:14px 18px;border-radius:3px}
.home-stripe .home-hero-note{align-self:end;border-left:1px solid rgba(201,154,46,.75);padding-left:22px;color:#C7D0D5;max-width:320px;font-size:12px;line-height:1.6}
.home-stripe .home-hero-note strong{display:block;color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px}
.home-stripe .home-trustline{background:#fff;border-bottom:1px solid #D9E0E4}
.home-stripe .home-trustline .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.home-stripe .home-trust-item{padding:24px 24px 24px 0;min-height:110px}
.home-stripe .home-trust-item+.home-trust-item{border-left:1px solid #D9E0E4;padding-left:24px}
.home-stripe .home-trust-item b{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:10px}
.home-stripe .home-trust-item span{display:block;color:#52616B;font-size:13px;line-height:1.5;max-width:25ch}
.home-stripe .home-section{padding:clamp(82px,10vw,138px) 0;border-bottom:1px solid #D9E0E4}
.home-stripe .home-section.dark{background:#081426;color:#fff;border-color:rgba(238,240,239,.16)}
.home-stripe .home-section-head{display:grid;grid-template-columns:4fr 8fr;gap:70px;align-items:start;margin-bottom:54px}
.home-stripe .home-index{font-family:"Inter",sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5F6B73}
.home-stripe .dark .home-index{color:#C99A2E}
.home-stripe .home-section-head h2{font-size:clamp(46px,6.2vw,86px);line-height:.94;letter-spacing:-.06em;margin:0;max-width:1000px;font-weight:600}
.home-stripe .home-section-head p{font-size:18px;line-height:1.55;color:#52616B;max-width:720px;margin:24px 0 0}
.home-stripe .dark .home-section-head p{color:#C7D0D5}
.home-stripe .home-system{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #C8D0D5;border-bottom:1px solid #C8D0D5}
.home-stripe .home-system-panel{padding:30px 34px 34px 0;min-height:320px}
.home-stripe .home-system-panel+.home-system-panel{border-left:1px solid #C8D0D5;padding-left:34px}
.home-stripe .home-system-panel .small{font-family:"Inter",sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#40505A}
.home-stripe .home-system-equation{font-size:clamp(34px,4.2vw,62px);line-height:1;letter-spacing:-.055em;margin:26px 0 20px;max-width:780px}
.home-stripe .home-system-panel p{color:#52616B;max-width:520px;line-height:1.6}
.home-stripe .home-system-panel .cta{margin-top:22px}
.home-stripe .home-system-visual{padding:0;overflow:hidden;background:#DDE2E4;min-height:320px}
.home-stripe .home-system-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.home-stripe .home-solutions{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(238,240,239,.24);border-bottom:1px solid rgba(238,240,239,.24)}
.home-stripe .home-solution{min-height:330px;padding:28px 28px 32px 0;display:flex;flex-direction:column}
.home-stripe .home-solution+.home-solution{border-left:1px solid rgba(238,240,239,.24);padding-left:28px}
.home-stripe .home-solution .tag{color:#C99A2E;font-size:9px}
.home-stripe .home-solution h3{font-size:34px;letter-spacing:-.04em;margin:18px 0 10px;color:#fff}
.home-stripe .home-solution p{color:#AEB9C0;line-height:1.55;max-width:28ch;margin:0}
.home-stripe .home-solution .cta{color:#fff;margin-top:auto}
.home-stripe .home-application{display:grid;grid-template-columns:7fr 5fr;gap:80px;align-items:stretch}
.home-stripe .home-application-image{margin:0;min-height:560px;overflow:hidden;background:#101B28}
.home-stripe .home-application-image img{width:100%;height:100%;display:block;object-fit:cover}
.home-stripe .home-application-copy{display:flex;flex-direction:column;justify-content:center}
.home-stripe .home-application-copy h3{font-size:clamp(42px,5vw,72px);line-height:.95;letter-spacing:-.055em;margin:16px 0 22px}
.home-stripe .home-application-copy p{color:#52616B;max-width:510px;line-height:1.6}
.home-stripe .home-application-list{border-top:1px solid #C8D0D5;margin-top:28px}
.home-stripe .home-application-list a{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #C8D0D5;text-decoration:none;color:#081426;font-size:13px}
.home-stripe .home-application-list span:last-child{color:#5F6B73}
.home-stripe .home-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(238,240,239,.24);border-bottom:1px solid rgba(238,240,239,.24)}
.home-stripe .home-proof{padding:34px 28px 36px 0;min-height:250px}
.home-stripe .home-proof+.home-proof{border-left:1px solid rgba(238,240,239,.24);padding-left:28px}
.home-stripe .home-proof b{display:block;color:#C99A2E;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:20px}
.home-stripe .home-proof h3{font-size:30px;line-height:1.05;letter-spacing:-.035em;margin:0 0 12px;color:#fff}
.home-stripe .home-proof p{color:#AEB9C0;line-height:1.55;max-width:34ch;margin:0}
.home-stripe .home-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #C8D0D5}
.home-stripe .home-audience{padding:28px 26px 32px 0;min-height:190px;border-bottom:1px solid #C8D0D5}
.home-stripe .home-audience+.home-audience{border-left:1px solid #C8D0D5;padding-left:26px}
.home-stripe .home-audience b{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:15px}
.home-stripe .home-audience p{font-size:13px;line-height:1.55;color:#52616B;margin:0;max-width:28ch}
.home-stripe .home-final{padding:clamp(90px,11vw,150px) 0;background:#F2F5F6}
.home-stripe .home-final-grid{display:grid;grid-template-columns:8fr 4fr;gap:70px;align-items:end}
.home-stripe .home-final h2{font-size:clamp(54px,7vw,100px);line-height:.9;letter-spacing:-.065em;margin:0;max-width:900px}
.home-stripe .home-final p{font-size:17px;line-height:1.55;color:#52616B;margin:0 0 24px;max-width:420px}
.home-stripe .home-final .cta{background:#081426;color:#fff;border:1px solid #081426;padding:14px 18px;border-radius:3px}
.home-stripe .home-nav-shell .nav{min-height:76px}
.home-stripe .home-nav-shell .links{gap:22px}
@media(max-width:1023px){
 .home-stripe .home-hero-inner{grid-template-columns:1fr;gap:42px;padding-top:110px}
 .home-stripe .home-hero-note{max-width:460px}
 .home-stripe .home-section-head{grid-template-columns:1fr;gap:18px}
 .home-stripe .home-solutions{grid-template-columns:1fr 1fr}
 .home-stripe .home-solution:nth-child(3){border-left:0;padding-left:0}
 .home-stripe .home-solution:nth-child(2),.home-stripe .home-solution:nth-child(4){border-left:1px solid rgba(238,240,239,.24);padding-left:28px}
 .home-stripe .home-application{grid-template-columns:1fr;gap:40px}
 .home-stripe .home-application-image{min-height:440px}
 .home-stripe .home-audience-grid{grid-template-columns:1fr 1fr}
 .home-stripe .home-audience:nth-child(2n){border-left:1px solid #C8D0D5;padding-left:26px}
 .home-stripe .home-audience:nth-child(2n+1){border-left:0;padding-left:0}
 .home-stripe .home-final-grid{grid-template-columns:1fr;gap:35px}
}
@media(max-width:599px){
 .home-stripe .home-hero{min-height:720px}
 .home-stripe .home-hero-media{background-position:66% center}
 .home-stripe .home-hero-inner{padding:84px clamp(10px,3vw,16px) 42px}
 .home-stripe .home-hero h1{font-size:clamp(54px,16vw,78px)}
 .home-stripe .home-hero-sub{font-size:19px}
 .home-stripe .home-trustline .wrap{grid-template-columns:1fr 1fr}
 .home-stripe .home-trust-item:nth-child(3){border-left:0;padding-left:0;border-top:1px solid #D9E0E4}
 .home-stripe .home-trust-item:nth-child(4){border-top:1px solid #D9E0E4}
 .home-stripe .home-system{grid-template-columns:1fr}
 .home-stripe .home-system-panel{min-height:0}
 .home-stripe .home-system-panel+.home-system-panel{border-left:0;border-top:1px solid #C8D0D5;padding-left:0}
 .home-stripe .home-system-visual{min-height:300px}
 .home-stripe .home-solutions,.home-stripe .home-audience-grid,.home-stripe .home-proof-grid{grid-template-columns:1fr}
 .home-stripe .home-solution,.home-stripe .home-audience,.home-stripe .home-proof{border-left:0!important;padding-left:0!important}
 .home-stripe .home-solution+.home-solution,.home-stripe .home-audience+.home-audience,.home-stripe .home-proof+.home-proof{border-left:0;border-top:1px solid rgba(238,240,239,.24);padding-left:0}
 .home-stripe .home-audience+.home-audience{border-top:1px solid #C8D0D5}
 .home-stripe .home-proof+.home-proof{border-top:1px solid rgba(238,240,239,.24)}
 .home-stripe .home-application-image{min-height:320px}
 .home-stripe .home-nav-shell .links{gap:14px}
}

/* PRORITE immersive first impression — entry gate */

.prorite-entry{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;background:#05090d;color:#fff;overflow:hidden;isolation:isolate;transition:opacity .65s ease,visibility .65s ease}
.prorite-entry-media{position:absolute;inset:0;overflow:hidden;filter:saturate(.82) contrast(1.08);transform:scale(1.03);animation:prorite-entry-drift 16s ease-in-out infinite alternate}.prorite-entry-media img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center right}
.prorite-entry-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,11,.985) 0%,rgba(3,7,11,.94) 31%,rgba(3,7,11,.67) 52%,rgba(3,7,11,.18) 79%,rgba(3,7,11,.42) 100%),linear-gradient(0deg,rgba(3,7,11,.76),transparent 35%,rgba(3,7,11,.24) 100%)}
.prorite-entry-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(90deg,black 0%,transparent 64%)}
.prorite-entry-content{position:relative;z-index:2;width:min(1240px,calc(100% - 96px));margin:0 auto;padding:48px 0 72px}
.prorite-entry-mark{font-size:clamp(27px,2.5vw,40px);font-weight:800;letter-spacing:-.045em;margin-bottom:38px}
.prorite-entry-mark span{font-size:.38em;vertical-align:top;margin-left:3px}
.prorite-entry-kicker{font-family:"Inter",sans-serif;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#b8c2c8;margin-bottom:22px}
.prorite-entry .prorite-entry-title{font-size:clamp(54px,7.3vw,112px);line-height:.87;letter-spacing:-.07em;font-weight:650;max-width:900px;margin:0;color:#fff}
.prorite-entry-doctrine{display:flex;flex-direction:column;gap:5px;margin-top:34px;font-family:"Inter",sans-serif;font-size:clamp(11px,1.1vw,15px);letter-spacing:.19em;color:#d8e0e4;text-transform:uppercase}
.prorite-entry-rule{width:54px;height:1px;background:rgba(255,255,255,.75);margin:36px 0 25px}
.prorite-entry-level{font-family:"Inter",sans-serif;font-size:clamp(12px,1.25vw,17px);letter-spacing:.2em;text-transform:uppercase;color:#fff}
.prorite-entry-content p{font-size:clamp(13px,1.25vw,17px);line-height:1.55;color:#aeb9c0;max-width:600px;margin:12px 0 28px}
.prorite-entry-cta{appearance:none;border:1px solid rgba(255,255,255,.75);background:rgba(4,9,14,.16);color:#fff;padding:16px 22px;font-family:"Inter",sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:28px;transition:background .25s ease,border-color .25s ease,transform .25s ease}
.prorite-entry-cta span{font-size:19px;line-height:1;transition:transform .25s ease}
.prorite-entry-cta:hover{background:#fff;color:#07111b;border-color:#fff;transform:translateY(-1px)}
.prorite-entry-cta:hover span{transform:translateX(5px)}
.prorite-entry-footer{position:absolute;z-index:2;left:clamp(28px,4vw,64px);right:clamp(28px,4vw,64px);bottom:28px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.25);padding-top:13px;font-family:"Inter",sans-serif;font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:#849098}
body.site-entered .prorite-entry{opacity:0;visibility:hidden;pointer-events:none}
body.site-entered{overflow:visible;overflow-x:clip}
@keyframes prorite-entry-drift{0%{transform:scale(1.03) translate3d(0,0,0)}100%{transform:scale(1.07) translate3d(-1.2%,.6%,0)}}
@media(max-width:700px){
 .prorite-entry-content{width:calc(100% - 40px);padding:30px 0 64px}
 .prorite-entry-media img{object-position:68% center}
 .prorite-entry-vignette{background:linear-gradient(180deg,rgba(3,7,11,.97) 0%,rgba(3,7,11,.88) 39%,rgba(3,7,11,.48) 73%,rgba(3,7,11,.78) 100%)}
 .prorite-entry-grid{background-size:56px 56px;mask-image:linear-gradient(180deg,black 0%,transparent 70%)}
 .prorite-entry-mark{margin-bottom:32px}
 .prorite-entry .prorite-entry-title{font-size:clamp(48px,13.2vw,70px);line-height:.9}
 .prorite-entry-doctrine{margin-top:26px;font-size:10px;letter-spacing:.14em}
 .prorite-entry-rule{margin:28px 0 20px}
 .prorite-entry-content p{max-width:33ch;font-size:14px}
 .prorite-entry-cta{width:100%;justify-content:space-between;padding:15px 17px}
 .prorite-entry-footer{left:20px;right:20px;bottom:18px;font-size:7px;letter-spacing:.14em}
 .prorite-entry-footer span:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){.prorite-entry-media{animation:none}.prorite-entry{transition:none}}

/* REV 6.28 — homepage art direction override (loaded after base styles) */
.home-stripe .home-hero{min-height:min(860px,calc(100vh - 72px));padding:0;display:flex;align-items:flex-end;background:#05090d;border-bottom:0}
.home-stripe .home-hero-media{background-image:linear-gradient(90deg,rgba(3,7,11,.96) 0%,rgba(3,7,11,.86) 28%,rgba(3,7,11,.38) 56%,rgba(3,7,11,.12) 78%,rgba(3,7,11,.34) 100%),linear-gradient(0deg,rgba(3,7,11,.88),transparent 45%,rgba(3,7,11,.16)),url('assets/hero_corporate_macro_final.webp');filter:saturate(.78) contrast(1.08);transform:scale(1.02);animation:pr-home-surface 18s ease-in-out infinite alternate}
.home-stripe .home-hero-inner{grid-template-columns:minmax(0,7fr) minmax(260px,3fr);gap:60px;padding-top:120px;padding-bottom:92px;width:min(var(--max),calc(100% - 2*var(--gutter)));margin:auto}
.home-stripe .home-hero-copy{max-width:880px}.home-stripe .home-hero-kicker{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.2em;color:#b9c3c9;margin-bottom:24px}.home-stripe .home-hero h1{font-size:clamp(60px,8.4vw,124px);line-height:.84;letter-spacing:-.075em;font-weight:800;max-width:980px;margin:0 0 28px}.home-stripe .home-hero-sub{max-width:680px;color:#c2ccd1;font-size:clamp(16px,1.55vw,21px);line-height:1.5;margin:0}.home-stripe .home-hero-actions{margin-top:34px;gap:12px}.home-stripe .home-hero-actions .cta{border-color:rgba(238,240,239,.38);background:rgba(4,9,14,.12);color:#fff}.home-stripe .home-hero-actions .cta.primary{background:#fff;color:#081426;border-color:#fff}.home-stripe .home-hero-note{max-width:420px;border-left:1px solid #C99A2E;padding-left:18px;color:#DDE2E4;font-family:"IBM Plex Mono",monospace;font-size:9px;line-height:1.7;letter-spacing:.12em;text-transform:uppercase}.home-stripe .home-hero-note strong{font-size:10px;margin-bottom:6px}
.home-stripe .home-hero-annotations{position:absolute;z-index:3;right:max(24px,calc((100vw - var(--max))/2));top:24%;display:flex;flex-direction:column;gap:32px;font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:rgba(238,240,239,.72)}.home-stripe .home-hero-annotations span{display:flex;align-items:center;gap:12px;white-space:nowrap}.home-stripe .home-hero-annotations span:before{content:"";display:block;width:42px;height:1px;background:rgba(201,154,46,.8)}.home-stripe .home-hero-annotations b{color:#C99A2E;font-weight:500}
.home-stripe .home-trustline.home-system-rail{background:#05090d;color:#eef0ef;border-bottom:1px solid rgba(238,240,239,.14)}.home-stripe .home-system-rail .wrap{grid-template-columns:repeat(7,1fr)}.home-stripe .home-system-rail .home-trust-item{min-height:96px;padding:22px 18px 20px 0;border-right:1px solid rgba(238,240,239,.12);border-top:0}.home-stripe .home-system-rail .home-trust-item:last-child{border-right:0}.home-stripe .home-system-rail .home-trust-item+.home-trust-item{border-left:0;padding-left:18px}.home-stripe .home-system-rail .home-trust-item b{color:#C99A2E;font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:.16em;font-weight:500;margin-bottom:9px}.home-stripe .home-system-rail .home-trust-item span{font-family:"IBM Plex Mono",monospace;font-size:9px;line-height:1.45;letter-spacing:.13em;color:#DDE2E4}
.home-stripe .home-section{padding:clamp(100px,11vw,164px) 0}.home-stripe .home-section-head{margin-bottom:70px}.home-stripe .home-index{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.16em}.home-stripe .home-section-head h2{font-size:clamp(48px,6.2vw,92px);line-height:.91;letter-spacing:-.065em;font-weight:750}.home-stripe .home-section-head p{font-size:16px;line-height:1.65;max-width:660px}.home-stripe .home-system-panel{background:#f0f3f4;position:relative;overflow:hidden}.home-stripe .home-system-panel:before{content:"SYSTEM / 01";position:absolute;top:24px;right:24px;font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:.18em;color:#5F6B73}.home-stripe .home-system-equation{font-size:clamp(28px,3.3vw,52px);line-height:1.05;letter-spacing:-.045em;font-weight:650}.home-stripe .home-system-visual{min-height:560px;position:relative}.home-stripe .home-system-visual:after{content:"SURFACE INTERFACE / CONTROLLED LIGHT / MATERIAL RESPONSE";position:absolute;left:22px;bottom:18px;font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:.16em;color:rgba(238,240,239,.74)}.home-stripe .home-system-visual img{transform:scale(1.04);filter:saturate(.72) contrast(1.08);transition:transform 1.2s var(--ease),filter 1.2s var(--ease)}
.home-stripe .home-section.dark{background:#05090d}.home-stripe .home-solution{min-height:360px;padding-top:34px}.home-stripe .home-solution h3{font-size:clamp(42px,5vw,74px);letter-spacing:-.06em;line-height:.92;font-weight:800}.home-stripe .home-solution .tag{font-family:"IBM Plex Mono",monospace;color:#8f9ba3}
@media(max-width:1023px){.home-stripe .home-hero-inner{grid-template-columns:1fr;gap:38px;padding-top:120px}.home-stripe .home-hero-annotations{right:24px;top:20%;gap:24px}.home-stripe .home-system-rail .wrap{grid-template-columns:repeat(4,1fr)}.home-stripe .home-system-rail .home-trust-item:nth-child(4){border-right:0}.home-stripe .home-system-rail .home-trust-item:nth-child(n+5){border-top:1px solid rgba(238,240,239,.12)}}
@media(max-width:700px){.home-stripe .home-hero{min-height:760px}.home-stripe .home-hero-inner{padding-top:94px;padding-bottom:72px}.home-stripe .home-hero h1{font-size:clamp(54px,15vw,82px)}.home-stripe .home-hero-annotations{display:none}.home-stripe .home-system-rail .wrap{grid-template-columns:1fr 1fr}.home-stripe .home-system-rail .home-trust-item{min-height:72px}.home-stripe .home-system-rail .home-trust-item span{font-size:9px;color:#DDE2E4;line-height:1.45}.home-stripe .home-system-rail .home-trust-item:nth-child(odd){border-right:1px solid rgba(238,240,239,.12)}.home-stripe .home-system-rail .home-trust-item:nth-child(even){border-right:0}.home-stripe .home-section-head{margin-bottom:48px}.home-stripe .home-section-head h2{font-size:clamp(44px,12vw,68px)}.home-stripe .home-system-visual{min-height:360px}}

/* =========================================================
   REV 7.02 — HOMEPAGE FIRST SCREEN: HERO + ENGINEERING RAIL
   Homepage only. The hero fills the screen minus the header
   (73px) and the 01–07 rail (97px; 193px when it wraps on
   tablets), so the rail is always part of the first view.
   Content stays anchored to the bottom of the hero with its
   original spacing; the headline keeps its full size and only
   scales down on screens too short to hold it.
   ========================================================= */
@media(min-width:701px){
  body.home-stripe .home-hero{min-height:max(420px,calc(100svh - 170px))}
  body.home-stripe .home-hero-inner{padding-top:clamp(40px,8svh,120px)}
  body.home-stripe .home-hero h1{font-size:max(56px,min(clamp(60px,8.4vw,124px),calc((100svh - 548px) / 2.52)))}
}
@media(min-width:701px) and (max-width:1023px){
  body.home-stripe .home-hero{min-height:max(420px,calc(100svh - 266px))}
}
@media(min-width:701px) and (max-height:760px){
  body.home-stripe .home-hero-inner{padding-top:clamp(36px,6svh,52px);padding-bottom:clamp(28px,5svh,44px)}
  body.home-stripe .home-hero h1{font-size:max(56px,min(clamp(60px,8.4vw,124px),calc((100svh - 470px) / 2.52)));margin-bottom:16px}
  body.home-stripe .home-hero-kicker{margin-bottom:14px}
  body.home-stripe .home-hero-actions{margin-top:20px}
}

/* Entry screen (homepage only): never trap the button. Content centres
   when it fits and scrolls when it doesn't; the decorative footer never
   takes taps; the title scales with height on short laptop screens. */
body.home-stripe .prorite-entry{align-items:flex-start;overflow-y:auto;overscroll-behavior:contain}
body.home-stripe .prorite-entry-content{margin:auto}
body.home-stripe .prorite-entry-footer{pointer-events:none}
@media(min-width:701px){
  body.home-stripe .prorite-entry .prorite-entry-title{font-size:min(clamp(54px,7.3vw,112px),12.5svh)}
  body.home-stripe .prorite-entry-content{padding-top:clamp(28px,5svh,48px);padding-bottom:clamp(64px,10svh,96px)}
}
@media(min-width:701px) and (max-height:760px){
  body.home-stripe .prorite-entry-mark{margin-bottom:22px}
  body.home-stripe .prorite-entry-kicker{margin-bottom:14px}
  body.home-stripe .prorite-entry-doctrine{margin-top:20px}
  body.home-stripe .prorite-entry-rule{margin-top:20px;margin-bottom:16px}
  body.home-stripe .prorite-entry-content p{margin-top:8px;margin-bottom:18px}
  body.home-stripe .prorite-entry .prorite-entry-title{font-size:min(clamp(48px,7.3vw,112px),11svh)}
}
