:root{--ink:#201d1e;--blue:#123dcb;--coral:#fa595c;--cream:#f7f5ef;--gray:#ececec;--line:#d4d1ca;--shell:min(1040px,calc(100% - 40px));--shadow:0 24px 60px rgba(25,24,30,.18);--ease:cubic-bezier(.22,1,.36,1);--section-curve-depth:clamp(30px,2vw,40px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overscroll-behavior-y:none}html.is-contact-scrolling{scroll-behavior:auto}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior-y:none}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{color:inherit}a{text-decoration:none}html.is-pointer-input :where(a,button,summary,[role="button"],[tabindex]):focus,:where(a,button,summary,[role="button"],[tabindex]):focus:not(:focus-visible){outline:none!important}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1;letter-spacing:-.055em}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;z-index:1000;left:12px;top:-70px;background:#fff;color:var(--blue);padding:9px 14px;border-radius:8px}.skip-link:focus{top:12px}
.hero{min-height:720px;display:grid;place-items:center;background:var(--blue);color:#fff;text-align:center;position:relative;overflow:hidden;padding:120px 20px 100px}.hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-42px;height:78px;background:var(--gray);transform:rotate(-2.2deg)}.hero-inner{position:relative;z-index:1;max-width:850px}.hero-sign{width:230px;margin:0 auto 34px;border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.18)}.hero h1{font-size:clamp(3.25rem,6.5vw,6rem);font-weight:650;margin-bottom:25px}.hero h1 em{font-style:normal;color:#ffb0b2}.hero p{margin:0;color:#d9e0ff;font-size:1.05rem}
.products{background:var(--gray);padding:120px 0 95px;min-height:920px;text-align:center}.products h2{font-size:clamp(2.6rem,5vw,4.6rem);font-weight:500;color:#7035ff;margin:0 auto 85px}.product-row{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;align-items:start}.product-item{position:relative;min-height:520px}.product-trigger{display:inline-flex;flex-direction:column;align-items:center;background:transparent;border:0;padding:0;cursor:pointer}.product-trigger img{width:230px;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 20px 20px rgba(28,27,33,.2));transition:transform .35s var(--ease)}.collision .product-trigger img{transform:rotate(-5deg)}.tripele .product-trigger img{transform:rotate(3deg)}.casto .product-trigger img{transform:rotate(-2deg)}.product-trigger:hover img,.product-trigger:focus-visible img,.product-item.is-open .product-trigger img{transform:translateY(-10px) rotate(0)}.product-trigger:focus-visible{outline:3px solid var(--coral);outline-offset:9px;border-radius:20px}.product-trigger strong{font-size:1.05rem;margin-top:18px}.product-popover{position:absolute;z-index:10;top:315px;left:50%;width:330px;padding:28px;background:#fff;border-radius:15px;box-shadow:var(--shadow);text-align:center;opacity:0;visibility:hidden;transform:translate(-50%,-8px) scale(.98);transition:.25s}.product-item:hover .product-popover,.product-item:focus-within .product-popover,.product-item.is-open .product-popover{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}.product-popover:before{content:"";position:absolute;top:-8px;left:calc(50% - 8px);width:16px;height:16px;background:#fff;transform:rotate(45deg)}.product-popover h3{font-size:2rem;margin:5px 0 12px}.product-popover>p:not(.product-type){color:#6f6966;font-size:.88rem}.product-type{margin:0;color:var(--blue);font-size:.6rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.product-popover>a{display:inline-flex;gap:25px;border-bottom:1px solid;font-size:.75rem;font-weight:800}.popover-close{position:absolute;right:10px;top:10px;width:29px;height:29px;border:0;border-radius:50%;background:#eceae6;cursor:pointer;font-size:1.05rem}
.partnership{background:#171616;color:#fff;text-align:center;padding:115px 20px 105px}.partnership-inner{max-width:780px}.partnership h2{font-size:clamp(2.8rem,5.5vw,5rem);font-weight:500;color:#ffd526;margin-bottom:28px}.partnership>div>p:not(.terms){color:#a9a5a4;font-size:1.04rem;max-width:690px;margin-inline:auto}.price{display:flex;justify-content:center;align-items:end;gap:10px;margin:35px 0 2px}.price strong{font-size:clamp(4rem,8vw,7rem);line-height:1;letter-spacing:-.08em}.price span{color:#aaa5a4;margin-bottom:14px}.terms{color:#d0ccca;font-size:.75rem;margin:15px 0 30px}.actions{display:flex;justify-content:center;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 21px;font-size:.77rem;font-weight:800;cursor:pointer}.button-light{background:#fff;color:#171616;border:1px solid #fff}.button-outline{border:1px solid #65605e;color:#fff}.button:hover{transform:translateY(-2px)}
footer{background:#171616;color:#fff;border-top:1px solid #383534;padding:28px 0}.footer-inner{display:grid;grid-template-columns:75px 1.2fr 2fr auto;gap:20px;align-items:center}.footer-inner>img{width:72px}.footer-inner>p{font-size:.72rem;color:#aaa5a4;margin:0;max-width:280px}.footer-inner strong{color:#fff}.footer-links{display:flex;justify-content:flex-end;gap:18px;font-size:.7rem}.footer-links button{border:0;background:none;color:#fff;padding:0;cursor:pointer}.footer-links a:hover,.footer-links button:hover{color:#ffd526}.footer-inner small{color:#777271;font-size:.6rem}
.modal[hidden],.toast[hidden]{display:none}.modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(16,14,15,.75);backdrop-filter:blur(6px)}.dialog{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;width:min(960px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--cream);border-radius:22px;padding:45px;box-shadow:var(--shadow)}.dialog-close{position:absolute;right:16px;top:16px;width:35px;height:35px;border:0;border-radius:50%;background:#e8e4da;font-size:1.35rem;cursor:pointer}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;font-weight:850;color:var(--blue)}.dialog-intro h2{font-size:clamp(2.2rem,4vw,3.5rem)}.dialog-intro>p:not(.eyebrow){color:#6f6966}.dialog-intro>a{color:var(--blue);font-size:.8rem;font-weight:800;border-bottom:1px solid}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{margin-bottom:12px}.field label{display:block;font-size:.69rem;font-weight:800;margin-bottom:5px}.field label span{color:var(--coral)}.field input,.field select,.field textarea{width:100%;border:1px solid #d2cec5;border-radius:9px;background:#fff;padding:10px 11px;outline:none}.field textarea{min-height:115px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,61,203,.12)}.field [aria-invalid=true]{border-color:#b72c33}.field-error{display:block;min-height:1em;color:#b72c33;font-size:.62rem}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}.form-status{min-height:1.4em;color:#ad252b;font-size:.7rem}.submit-button{display:flex;width:100%;align-items:center;justify-content:center;gap:25px;border:0;border-radius:999px;background:var(--blue);color:#fff;padding:13px;font-size:.78rem;font-weight:850;cursor:pointer}.submit-button i{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.submit-button.is-loading i{display:block}.toast{position:fixed;z-index:120;right:20px;bottom:20px;width:min(390px,calc(100% - 40px));display:grid;grid-template-columns:30px 1fr;gap:9px;background:#171616;color:#fff;border-radius:12px;padding:15px 43px 15px 16px;box-shadow:var(--shadow)}.toast>span{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:var(--coral)}.toast p{margin:2px 0;font-size:.74rem}.toast button{position:absolute;right:9px;top:9px;border:0;background:none;color:#fff;font-size:1.2rem;cursor:pointer}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:820px){.product-row{gap:20px}.product-trigger img{width:190px}.product-popover{width:285px}.dialog{grid-template-columns:1fr;gap:10px}.footer-inner{grid-template-columns:65px 1fr}.footer-links{grid-column:1/-1;justify-content:flex-start}.footer-inner small{position:absolute;right:20px}}
@media(max-width:650px){:root{--shell:min(100% - 28px,1040px)}.hero{min-height:610px;padding:85px 15px 80px}.hero-sign{width:155px;margin-bottom:27px}.hero h1{font-size:3.35rem}.hero p{font-size:.88rem}.products{padding:95px 0 55px;min-height:0}.products h2{font-size:2.75rem;margin-bottom:55px}.product-row{display:block}.product-item{min-height:0;margin-bottom:52px}.product-trigger img{width:165px}.product-popover{position:static;display:none;width:100%;margin-top:18px;opacity:1;visibility:visible;transform:none}.product-popover:before{display:none}.product-item:hover .product-popover,.product-item:focus-within .product-popover{display:none;transform:none}.product-item.is-open .product-popover{display:block;transform:none}.partnership{padding:85px 14px 80px}.partnership h2{font-size:3.1rem}.price strong{font-size:4.3rem}.price span{margin-bottom:8px}.terms{line-height:1.8}.actions{flex-direction:column;align-items:stretch}.footer-inner{grid-template-columns:58px 1fr}.footer-inner>img{width:56px}.footer-links{gap:8px 14px;flex-wrap:wrap}.footer-inner small{position:static;grid-column:1/-1}.dialog{display:block;padding:44px 19px 22px;max-height:calc(100vh - 16px)}.modal{padding:8px}.dialog-intro h2{font-size:2rem}.dialog-intro>a{display:none}.form-row{grid-template-columns:1fr}.field{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* BRETD palette: site chrome uses only white, brand blue, and brand red. */
:root{--ink:#202124;--text-dark:#202124;--text-muted:#5f6368;--cream:#fff;--gray:#fff;--line:rgba(18,61,203,.22);--shadow:0 24px 60px rgba(18,61,203,.2)}
body{background:#fff;color:var(--text-dark)}
.hero{position:sticky;top:0;z-index:0;min-height:0;margin-bottom:calc(var(--section-curve-depth) * -1);border-radius:0;border-bottom-left-radius:50% var(--section-curve-depth);border-bottom-right-radius:50% var(--section-curve-depth);background-color:var(--blue);background-image:radial-gradient(circle at 16% 10%,rgba(255,255,255,.11) 0,rgba(255,255,255,0) 40%),radial-gradient(circle at 88% 92%,rgba(0,0,0,.1) 0,rgba(0,0,0,0) 42%);color:#fff;padding:100px 20px 125px}
.hero:after{content:"";position:absolute;z-index:0;top:auto;right:max(-120px,-7vw);bottom:-145px;left:auto;width:min(62vw,760px);height:auto;aspect-ratio:1292/1138;pointer-events:none;display:block;background:url("assets/illu-hero-white.png") center/contain no-repeat;opacity:.155;filter:none;mix-blend-mode:normal;transform:rotate(-1.5deg)}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.46' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.68'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}
.hero-brand,.footer-brand,.scroll-cap-brand{display:inline-flex;align-items:center;gap:calc(10px * var(--brand-scale));padding:calc(12px * var(--brand-scale)) calc(35px * var(--brand-scale));background:#fff;color:var(--blue);border-radius:calc(16px * var(--brand-scale));font-size:calc(1.31rem * var(--brand-scale));font-weight:500;line-height:1}
.hero-brand{--brand-scale:1;--hero-brand-scroll-scale:1;--hero-brand-scroll-y:0px;margin-bottom:40px;scale:1;transform-origin:50% 0;box-shadow:0 22px 42px rgba(4,22,86,.28),0 0 30px rgba(255,255,255,.17);will-change:transform;animation:float-hero-brand 9.6s ease-in-out -3.4s infinite}
.hero-brand img,.footer-brand img,.scroll-cap-brand img{width:calc(28px * var(--brand-scale));height:auto}
.scroll-cap{--scroll-cap-height:100px;--scroll-cap-curve:20px;position:fixed;z-index:40;top:0;left:0;width:100%;height:var(--scroll-cap-height);display:flex;justify-content:center;align-items:flex-start;overflow:hidden;pointer-events:none;opacity:0;visibility:hidden;border-bottom-left-radius:50% var(--scroll-cap-curve);border-bottom-right-radius:50% var(--scroll-cap-curve);background-color:var(--blue);background-image:radial-gradient(circle at 16% 10%,rgba(255,255,255,.11) 0,rgba(255,255,255,0) 40%),radial-gradient(circle at 88% 92%,rgba(0,0,0,.1) 0,rgba(0,0,0,0) 42%)}
.scroll-cap:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.46' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.68'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}
.scroll-cap.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.scroll-cap-brand{--brand-scale:.75;position:absolute;z-index:1;top:20px;pointer-events:auto;scale:1;transform-origin:50% 50%;box-shadow:0 22px 42px rgba(4,22,86,.28),0 0 30px rgba(255,255,255,.17);will-change:transform,scale;transition:scale .28s var(--ease),box-shadow .28s ease;animation:float-sticky-brand 8.8s ease-in-out -2.7s infinite}
.scroll-cap-brand:hover,.scroll-cap-brand:focus-visible{scale:1.035;box-shadow:0 25px 47px rgba(4,22,86,.32),0 0 34px rgba(255,255,255,.2)}
.scroll-cap-brand:active{scale:1.015;transition-duration:.1s}
.scroll-cap-brand:focus-visible{outline:3px solid var(--coral);outline-offset:5px}
.scroll-cap-contact{--contact-return-x:calc(-50vw + 39px);position:absolute;z-index:2;top:calc((var(--scroll-cap-height) - var(--scroll-cap-curve))/2);right:18px;display:grid;width:42px;height:42px;place-items:center;padding:0;border:0;background:transparent;color:#fff;opacity:1;visibility:hidden;pointer-events:none;cursor:pointer;transform:translate3d(12px,-50%,0) scale(.92);filter:drop-shadow(0 7px 12px rgba(4,22,86,.18));transition:opacity .3s ease,visibility 0s linear .3s,transform .38s var(--ease),color .25s ease,filter .25s ease}
.scroll-cap-contact-icon{width:33px;height:33px;fill:currentColor;will-change:transform;animation:float-sticky-contact 7.6s ease-in-out infinite}
.scroll-cap.is-visible .scroll-cap-contact{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,-50%,0) scale(1);transition-delay:.15s,0s,.15s,0s,0s}
.scroll-cap.is-visible .scroll-cap-contact:hover,.scroll-cap.is-visible .scroll-cap-contact:focus-visible{transform:translate3d(0,-50%,0) scale(1.08);filter:drop-shadow(0 8px 11px rgba(4,22,86,.64)) drop-shadow(0 0 10px rgba(8,32,112,.72))}
.modal-open .scroll-cap.is-visible .scroll-cap-contact{opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(12px,-50%,0) scale(.92);transition-delay:0s,.3s,0s,0s,0s}
.scroll-cap-contact:hover .scroll-cap-contact-icon{animation-play-state:paused}
.scroll-cap-contact:active{transform:translate3d(0,-50%,0) scale(.96)!important;transition-duration:.1s}
.scroll-cap-contact:focus,.scroll-cap-contact:focus-visible{outline:0}
.scroll-cap-contact.is-traveling .scroll-cap-contact-icon{animation:contact-icon-bob .68s ease-in-out infinite alternate}
.scroll-cap.is-visible .scroll-cap-contact.is-entering{z-index:0;pointer-events:none;transition:none;animation:contact-plane-arrive 1.05s cubic-bezier(.4,0,.2,1) both}
.scroll-cap.is-visible .scroll-cap-contact.is-departing,.modal-open .scroll-cap.is-visible .scroll-cap-contact.is-departing{opacity:1!important;visibility:visible!important;pointer-events:none;transition:none;animation:contact-plane-depart .62s cubic-bezier(.55,.02,.85,.45) forwards}
.scroll-cap.is-visible .scroll-cap-contact.is-returning{z-index:0;pointer-events:none;transition:none;animation:contact-plane-return 1.05s cubic-bezier(.4,0,.2,1) both}
.scroll-cap-contact.is-entering .scroll-cap-contact-icon,.scroll-cap-contact.is-returning .scroll-cap-contact-icon{animation:none}
.scroll-cap-contact-flight{position:fixed;z-index:42;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;pointer-events:none;animation:contact-plane-scroll-depart .62s cubic-bezier(.55,.02,.85,.45) forwards;filter:drop-shadow(0 7px 12px rgba(4,22,86,.18));will-change:transform}
.scroll-cap-contact-flight .scroll-cap-contact-icon{width:33px;height:33px;fill:currentColor;animation:none}
@keyframes contact-icon-bob{to{transform:translateY(-2px)}}
@keyframes contact-plane-arrive{from{opacity:1;transform:translate3d(var(--contact-return-x),-58%,0) scale(.74) rotate(-10deg)}to{opacity:1;transform:translate3d(0,-50%,0) scale(1) rotate(0)}}
@keyframes contact-plane-depart{0%{opacity:1;transform:translate3d(0,-50%,0) scale(1.08) rotate(0)}22%{opacity:1;transform:translate3d(10px,-57%,0) scale(1.12) rotate(-4deg)}100%{opacity:1;transform:translate3d(125px,-76%,0) scale(.96) rotate(10deg)}}
@keyframes contact-plane-scroll-depart{0%{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0)}22%{opacity:1;transform:translate3d(10px,-3px,0) scale(1.04) rotate(-4deg)}100%{opacity:1;transform:translate3d(var(--contact-flight-distance),-11px,0) scale(.92) rotate(10deg)}}
@keyframes contact-plane-return{from{opacity:1;transform:translate3d(var(--contact-return-x),-58%,0) scale(.74) rotate(-10deg)}to{opacity:1;transform:translate3d(0,-50%,0) scale(1) rotate(0)}}
@keyframes float-sticky-contact{0%,100%{transform:translate3d(0,0,0) rotate(0)}23%{transform:translate3d(2px,-2px,0) rotate(1.25deg)}49%{transform:translate3d(-2px,1px,0) rotate(-1.5deg)}74%{transform:translate3d(1px,2px,0) rotate(.8deg)}89%{transform:translate3d(-1px,-1px,0) rotate(-.55deg)}}
.hero h1{font-size:clamp(3.1rem,5.65vw,5.3rem);font-weight:450;text-shadow:0 2px 4px rgba(4,22,86,.08),0 9px 22px rgba(4,22,86,.1)}
.hero h1 em{color:var(--coral)}
.hero p{color:rgba(255,255,255,.78)}
.hero .hero-tagline{display:inline-flex;align-items:center;justify-content:center;gap:11px;max-width:100%;margin:7px auto 0;padding:0;border:0;color:#fff;font-size:1rem;font-weight:550;letter-spacing:0}
.hero .hero-tagline:before{display:none}
.hero-tagline-dot{width:6px;height:6px;border-radius:50%;background:var(--coral)}
.hero-tagline a{color:#fff;font-weight:800;border-bottom:1px solid #fff}
.hero-tagline a:hover{color:var(--coral);border-bottom-color:var(--coral)}
.hero-actions{display:grid;justify-items:center;margin-top:34px}
.hero-action-row{display:grid;grid-template-columns:1fr;justify-items:center;gap:16px}
.hero-primary-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 21px;border:1px solid var(--coral);border-radius:999px;background:var(--coral);color:#fff;font-size:.76rem;font-weight:800;line-height:1.2;box-shadow:0 12px 28px rgba(4,22,86,.24),0 5px 13px rgba(250,89,92,.2);cursor:pointer;transition:transform .28s var(--ease),box-shadow .28s ease,filter .25s ease}
.hero-cta-icon{width:17px;height:17px;fill:currentColor;transition:transform .32s var(--ease)}
.hero-primary-cta:hover{transform:translate3d(0,-3px,0);box-shadow:0 17px 34px rgba(4,22,86,.29),0 7px 18px rgba(250,89,92,.28);filter:saturate(1.05)}
.hero-primary-cta:hover .hero-cta-icon{transform:translate3d(3px,-1px,0) rotate(-7deg)}
.hero-primary-cta:active{transform:translate3d(0,0,0) scale(.985);transition-duration:.1s}
.hero-primary-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
.hero-secondary-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:3px 1px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.65);background:transparent;color:rgba(255,255,255,.88);font-size:.72rem;font-weight:700;line-height:1.25;white-space:nowrap;transition:color .22s ease,border-color .22s ease,transform .28s var(--ease)}
.hero-secondary-cta:hover{border-bottom-color:var(--coral);color:#fff;transform:translate3d(0,-1px,0)}
.hero-secondary-cta:focus-visible{outline:2px solid var(--coral);outline-offset:4px}
@media(max-width:650px){.hero-actions{width:100%;margin-top:32px}}
.products{background:#fff}
.products h2{color:var(--text-dark)}
.product-trigger{color:var(--text-dark);filter:drop-shadow(0 16px 25px rgba(18,61,203,.2)) drop-shadow(0 4px 8px rgba(18,61,203,.1));transition:filter .35s var(--ease)}
.product-trigger img,.collision .product-trigger img,.tripele .product-trigger img,.casto .product-trigger img{object-fit:cover;border-radius:22%;-webkit-clip-path:inset(0 round 22%);clip-path:inset(0 round 22%);transform:none;transition:width .44s cubic-bezier(.4,0,.2,1),transform .35s var(--ease)}
.product-trigger img{width:147px}
.tripele .product-trigger img{padding:0;background:transparent}
.casto .product-trigger img{padding:0;background:transparent}
.product-trigger:hover img,.product-trigger:focus-visible img,.product-item.is-open .product-trigger img{transform:scale(1.04)}
.product-trigger:hover,.product-trigger:focus-visible,.product-item.is-open .product-trigger{filter:drop-shadow(0 22px 30px rgba(18,61,203,.24)) drop-shadow(0 7px 11px rgba(18,61,203,.14))}
.collision .product-trigger:hover,.collision .product-trigger:focus-visible,.collision.is-open .product-trigger{filter:drop-shadow(0 22px 30px rgba(52,102,115,.42)) drop-shadow(0 7px 12px rgba(52,102,115,.28))}
.tripele .product-trigger:hover,.tripele .product-trigger:focus-visible,.tripele.is-open .product-trigger{filter:drop-shadow(0 22px 30px rgba(37,99,235,.42)) drop-shadow(0 7px 12px rgba(37,99,235,.28))}
.casto .product-trigger:hover,.casto .product-trigger:focus-visible,.casto.is-open .product-trigger{filter:drop-shadow(0 22px 30px rgba(23,206,193,.44)) drop-shadow(0 7px 12px rgba(23,206,193,.3))}
.personal-project-mark{position:absolute;z-index:4;top:9%;right:9%;width:9%;aspect-ratio:42/80;background:#fff;pointer-events:none;transform:scale(1);transform-origin:50% 50%;transition:transform .35s var(--ease);-webkit-mask:url("assets/personal-project-mark.png") center/contain no-repeat;mask:url("assets/personal-project-mark.png") center/contain no-repeat}
.casto .product-trigger:hover .personal-project-mark,.casto .product-trigger:focus-visible .personal-project-mark,.casto.is-open .personal-project-mark{transform:scale(1.08)}
.product-popover{border:0;color:var(--text-dark);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left;box-shadow:none;filter:drop-shadow(0 12px 24px rgba(18,61,203,.18)) drop-shadow(0 0 12px rgba(18,61,203,.1))}
.product-popover:before{top:-9px;border:0}
.product-popover>p:not(.product-type){color:var(--text-muted)}
.product-type{color:var(--coral)}
.product-logo{display:block;width:auto;object-fit:contain;margin:10px 0 14px}
.product-logo-lockup{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;height:48px;color:#152428;font-size:1.4rem;font-weight:800;letter-spacing:-.045em;line-height:1}
.product-logo-lockup img{width:44px;height:44px;object-fit:contain}
.collisioncare-logo{font-weight:600}
.collisioncare-logo img{border-radius:10px}
.tripele-logo{width:134px;height:auto;margin:14px 0 17px}
.casto-logo{font-family:"SF Pro Text","Avenir Next","Segoe UI",sans-serif;font-size:1.55rem;font-weight:600}
.casto-logo img{width:46px;height:46px}
.product-popover>.product-lead{max-width:280px;margin:0 0 14px;color:var(--text-muted);font-size:.95rem;font-weight:400;letter-spacing:-.012em;line-height:1.5}
.product-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 15px;padding:12px 0 0;border-top:1px solid rgba(32,33,36,.12);list-style:none}
.product-tags li{padding:5px 8px;border:1px solid color-mix(in srgb,var(--product-color) 20%,#fff);border-radius:999px;background:color-mix(in srgb,var(--product-color) 8%,#fff);color:var(--text-dark);font-size:.64rem;font-weight:600;letter-spacing:.01em;line-height:1}
.product-points{display:grid;gap:7px;width:100%;max-width:100%;margin:0 0 15px;padding:0;list-style:none;text-align:left}
.product-points li{display:flex;align-items:flex-start;gap:8px;color:#34363b;font-size:.82rem;font-weight:500;letter-spacing:-.005em;line-height:1.45}
.product-points li:before{content:"";flex:0 0 auto;width:6px;height:6px;margin-top:.28em;border-radius:50%;background:var(--product-color)}
.collision{--product-color:#346673}
.tripele{--product-color:#2563eb}
.casto{--product-color:#17cec1}
.product-popover .product-cta{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;margin-top:2px;padding:2px 0 3px;border:0;border-bottom:1px solid currentColor;border-radius:0;background:transparent;color:var(--product-color);font-size:.9rem;font-weight:500;line-height:1.2;text-decoration:none;transition:opacity .2s ease,transform .25s var(--ease)}
.product-popover .product-cta:hover{opacity:.7;transform:translateY(-1px)}
.product-popover .product-cta:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.product-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:2px}
.product-actions .product-cta{margin-top:0}
.product-actions .product-cta-primary{font-weight:700}
.product-actions .product-cta-site{font-weight:700}
.product-popover .product-cta-site{color:var(--product-color)}
.popover-close{background:var(--blue);color:#fff}
.partnership{position:relative;z-index:4;isolation:isolate;overflow:hidden;min-height:calc(100dvh + 2px);margin-top:0;background-color:var(--coral);background-image:radial-gradient(circle at 86% 8%,rgba(255,255,255,.12) 0,rgba(255,255,255,0) 38%),radial-gradient(circle at 12% 92%,rgba(0,0,0,.08) 0,rgba(0,0,0,0) 44%);color:#fff;transition:background-color .68s ease}
.partnership:before,footer:before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.26;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.46' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.68'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}
.partnership-art{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.partnership-art span{position:absolute;display:block;background-position:center;background-repeat:no-repeat;background-size:contain;will-change:opacity,transform}
.partnership-art-current{bottom:0;left:max(-80px,3vw);width:min(58vw,720px);aspect-ratio:1381/1139;opacity:.105;transform:translate3d(0,0,0);transition:opacity .5s ease,transform .7s var(--ease)}
.partnership-art-cheers{bottom:-45px;left:50%;width:min(76vw,900px);aspect-ratio:938/569;opacity:0;transform:translate3d(-50%,34%,0) scale(.97);transition:opacity .52s ease .12s,transform .85s var(--ease) .04s}
.partnership.is-art-ready .partnership-art-current{background-image:url("assets/illu-footer-white.png")}
.partnership.is-art-ready .partnership-art-cheers{background-image:url("assets/cheers.png")}
.partnership.is-checkout-revealed .partnership-art-current{opacity:0;transform:translate3d(-16px,22px,0)}
.partnership.is-checkout-revealed .partnership-art-cheers{opacity:.17;transform:translate3d(-50%,0,0) scale(1)}
.partnership.is-checkout-launching{background-color:var(--blue);background-image:none;transition:none}
.partnership.is-checkout-launching:before{opacity:0;transition:none}
.partnership.is-checkout-launching .partnership-art{opacity:0;transition:opacity .42s ease}
.partnership.is-checkout-launching .partnership-copy{transform:translate3d(-120vw,0,0);transition-duration:.72s;transition-delay:0s}
.partnership.is-checkout-launching .subscription-card{transform:translate3d(120vw,0,0);transition-duration:.82s;transition-delay:.24s}
.partnership-layout{position:relative;z-index:1}
.partnership h2{color:#fff}
.partnership>div>p:not(.terms){color:rgba(255,255,255,.82)}
.price span{color:rgba(255,255,255,.78)}
.terms{color:#fff}
.button-light{background:#fff;color:var(--blue);border-color:#fff}
.button-outline{border-color:#fff;color:#fff}
footer{position:relative;isolation:isolate;overflow:hidden;background-color:var(--blue);background-image:radial-gradient(circle at 16% 10%,rgba(255,255,255,.11) 0,rgba(255,255,255,0) 40%),radial-gradient(circle at 88% 92%,rgba(0,0,0,.1) 0,rgba(0,0,0,0) 42%);border-top:0}
.footer-inner{position:relative;z-index:1}
.footer-inner{grid-template-columns:100px 1.2fr 2fr auto}
.footer-brand{--brand-scale:.56;width:max-content}
.footer-inner>p{color:rgba(255,255,255,.72)}
.footer-links a:hover,.footer-links button:hover{color:var(--coral)}
.footer-inner small{color:rgba(255,255,255,.6)}
.modal-backdrop{background:rgba(18,61,203,.78)}
.dialog{background:#fff;border:2px solid var(--blue)}
.dialog{color:var(--text-dark)}
.eyebrow{color:var(--coral)}
.dialog-intro>p:not(.eyebrow){color:var(--text-muted)}
.dialog-intro>a{color:var(--text-dark)}
.field input,.field select,.field textarea{border-color:rgba(18,61,203,.28);color:var(--text-dark)}
.dialog-close{background:var(--blue);color:#fff}
.field-error,.form-status{color:var(--coral)}
.toast{background:var(--blue)}
@media(max-width:820px){.product-trigger img{width:122px}}
@media(max-width:650px){:root{--section-curve-depth:18px}.hero{margin-bottom:calc(var(--section-curve-depth) * -1);padding:100px 15px 125px;border-radius:0;border-bottom-left-radius:50% var(--section-curve-depth);border-bottom-right-radius:50% var(--section-curve-depth)}.hero:after{right:auto;left:50%;bottom:-70px;width:112vw;opacity:.132;transform:translateX(-50%) rotate(-1.5deg)}.hero-brand{--brand-scale:.78;margin-bottom:30px}.scroll-cap-brand{--brand-scale:.585}.hero h1{font-size:3rem}.hero .hero-tagline{flex-direction:column;max-width:330px;gap:9px;font-size:1rem;line-height:1.5}.product-trigger img{width:106px}.footer-inner{grid-template-columns:58px 1fr}.footer-brand{--brand-scale:.52}}
@media(max-width:650px){.scroll-cap-contact{--contact-return-x:calc(-50vw + 35px);right:14px;width:42px;height:42px}.scroll-cap-contact-icon{width:30px;height:30px}}

/* Product details float above the app icons. */
.products{--product-curve-depth:var(--section-curve-depth);position:relative;z-index:1;isolation:isolate;overflow:hidden;min-height:0;margin-top:0;padding:185px 0 120px;background:#fff;-webkit-mask-image:radial-gradient(ellipse 50% var(--product-curve-depth) at 50% 0,transparent calc(100% - 1px),#000 100%);mask-image:radial-gradient(ellipse 50% var(--product-curve-depth) at 50% 0,transparent calc(100% - 1px),#000 100%)}
.products>.shell{position:relative;z-index:1}
.product-intro{max-width:900px;margin:0 auto 105px;text-align:center;will-change:opacity}
.product-kicker{display:flex;align-items:center;width:max-content;margin:0 auto 24px;padding:7px 11px;background:var(--blue);color:#fff;border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 10px 24px rgba(18,61,203,.16)}
.products h2{margin:0;color:var(--text-dark);font-size:clamp(3rem,4.8vw,4.35rem);font-weight:500;line-height:.95;letter-spacing:-.055em;white-space:normal;text-wrap:balance}
.products h2 em{display:inline;color:inherit;font-style:normal}
.product-row{align-items:end}
.product-row-placeholder{width:100%}
/* Keep docked popovers above the sticky cap; begin the row backdrop below it. */
.product-row.is-sticky{--app-bar-bottom-curve:55px;--sticky-app-size:102.9px;position:fixed;z-index:50;top:calc(var(--sticky-nav-height,100px) - 20px);left:0;width:100%;grid-template-columns:repeat(3,215px);gap:0;align-items:start;justify-content:center;justify-items:center;isolation:isolate;overflow:visible;padding:45px 20px 25px;text-align:center;background:transparent;transform:translate3d(0,var(--subscription-scroll-offset,0px),0);will-change:transform}
.product-row.is-sticky.is-scrolling-away{z-index:39}
.product-row.is-sticky:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:0;background:#fff;-webkit-mask-image:radial-gradient(ellipse 50% 20px at 50% 0,transparent calc(100% - 1px),#000 100%),radial-gradient(ellipse 50% var(--app-bar-active-bottom-curve,1px) at 50% 100%,transparent calc(100% - 1px),#000 100%);-webkit-mask-composite:source-in;mask-image:radial-gradient(ellipse 50% 20px at 50% 0,transparent calc(100% - 1px),#000 100%),radial-gradient(ellipse 50% var(--app-bar-active-bottom-curve,1px) at 50% 100%,transparent calc(100% - 1px),#000 100%);mask-composite:intersect;transition:opacity .25s ease}
.product-row.is-sticky:after{content:"";position:absolute;z-index:-1;top:calc(100% - 50px);left:0;width:100%;height:268px;pointer-events:none;opacity:0;background:linear-gradient(to bottom,#fff 0%,#fff 28%,rgba(255,255,255,.97) 38%,rgba(255,255,255,.82) 53%,rgba(255,255,255,.48) 72%,rgba(255,255,255,.14) 88%,transparent 100%);transition:opacity .2s ease}
.product-row.is-sticky.has-backed-app-bar:after{opacity:var(--app-bar-fade-opacity,1)}
.product-row.is-sticky.has-backed-app-bar:before{opacity:1}
.product-row.is-sticky .product-item{height:var(--sticky-app-size);min-height:var(--sticky-app-size);margin:0;transition:height .44s cubic-bezier(.4,0,.2,1),min-height .44s cubic-bezier(.4,0,.2,1)}
.product-row.is-sticky .product-trigger img{width:var(--sticky-app-size)}
.product-row.is-sticky .product-trigger:after{transition:transform .35s var(--ease)}
.product-row.is-sticky .product-trigger:hover:after,.product-row.is-sticky .product-trigger:focus-visible:after,.product-row.is-sticky .product-item.is-open .product-trigger:after{transform:scale(1.04)}
.product-row.is-sticky .product-popover{top:calc(66% + 10px);bottom:auto;opacity:0;visibility:hidden;transform:translate3d(-50%,-90px,0) scale(.96);transform-origin:50% 0;backface-visibility:hidden;will-change:opacity,transform;transition:opacity .24s ease,transform .36s var(--ease),visibility 0s linear .36s}
.product-row.is-sticky .product-item.is-hovered .product-popover,.product-row.is-sticky .product-item:focus-within .product-popover,.product-row.is-sticky .product-item.is-open .product-popover{opacity:1;visibility:visible;transform:translate3d(-50%,0,0) scale(1);transition-delay:0s}
.product-row.is-sticky .product-popover:before{top:-8px;bottom:auto}
.product-item{height:147px;min-height:147px}
.product-item:before{content:"";position:absolute;left:0;right:0;top:-22px;height:22px}
.product-popover{top:auto;bottom:72%;padding:19px;transform:translate(-50%,120px) scale(.96);transition:opacity .28s ease,transform .42s var(--ease),visibility 0s linear .42s}
.product-item:hover .product-popover,.product-item:focus-within .product-popover,.product-item.is-open .product-popover{transition-delay:0s}
.product-row:not(.is-sticky) .product-item.is-hovered .product-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);transition-delay:0s}
.product-popover:before{top:auto;bottom:-8px;border:0}
.product-item:not(.is-hovered):not(:focus-within):not(.is-open) .product-popover{opacity:0;visibility:hidden;pointer-events:none}

@media(max-width:820px){.product-item{height:122px;min-height:122px}}
@media(max-width:650px){.products{--product-curve-depth:var(--section-curve-depth);margin-top:0;padding:138px 0 90px;background:#fff}.product-intro{margin-bottom:62px}.products h2{font-size:2.7rem;white-space:normal}.product-item{display:flex;flex-direction:column;align-items:center;height:auto;min-height:0;margin-bottom:44px}.product-item:before{display:none}.product-popover{position:relative;order:-1;left:auto;top:auto;bottom:auto;margin:0 0 18px;transform:none}.product-item.is-open .product-popover{display:block;transform:none}.product-popover:before{display:block;top:auto;bottom:-9px}.product-row.is-sticky{--app-bar-bottom-curve:26px;--sticky-app-size:74.2px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:40px 14px}.product-row.is-sticky .product-item{display:block;height:var(--sticky-app-size);min-height:var(--sticky-app-size);margin:0}.product-row.is-sticky .product-popover{position:absolute;order:initial;top:66%;bottom:auto;left:50%;width:min(330px,calc(100vw - 28px));margin:0;transform:translate3d(-50%,-60px,0) scale(.96)}.product-row.is-sticky .product-item:first-child .product-popover{left:0;transform:translate3d(0,-60px,0) scale(.96)}.product-row.is-sticky .product-item:last-child .product-popover{right:0;left:auto;transform:translate3d(0,-60px,0) scale(.96)}.product-row.is-sticky .product-item.is-hovered .product-popover,.product-row.is-sticky .product-item:focus-within .product-popover,.product-row.is-sticky .product-item.is-open .product-popover{display:block;transform:translate3d(-50%,0,0) scale(1)}.product-row.is-sticky .product-item:first-child.is-hovered .product-popover,.product-row.is-sticky .product-item:last-child.is-hovered .product-popover,.product-row.is-sticky .product-item:first-child.is-open .product-popover,.product-row.is-sticky .product-item:last-child.is-open .product-popover{transform:translate3d(0,0,0) scale(1)}.product-row.is-sticky .product-popover:before{top:-8px;bottom:auto}}
@media(max-width:900px){.product-row.is-sticky:after{top:calc(100% - 54px);height:190px;background:linear-gradient(to bottom,#fff 0%,#fff 12%,rgba(255,255,255,.9) 30%,rgba(255,255,255,.55) 56%,rgba(255,255,255,.16) 80%,transparent 100%)}}
@media(max-width:650px){.product-row.is-sticky:after{top:calc(100% - 78px);height:250px;background:linear-gradient(to bottom,#fff 0%,#fff 22%,rgba(255,255,255,.98) 35%,rgba(255,255,255,.92) 48%,rgba(255,255,255,.76) 62%,rgba(255,255,255,.5) 76%,rgba(255,255,255,.24) 88%,rgba(255,255,255,0) 100%)}}
@media(max-width:650px){.product-row.is-sticky .product-popover{top:calc(66% + 10px)}}

/* Once the section title has scrolled behind the sticky cap, open cards below the icons. */
.products.allow-popover-overflow{z-index:auto;isolation:auto;overflow:visible;-webkit-mask-image:none;mask-image:none}
.products.allow-popover-overflow>.shell{z-index:auto}
.product-row.popovers-below:not(.is-sticky){position:relative;z-index:10}
.product-row.popovers-below:not(.is-sticky) .product-popover{position:absolute;order:initial;top:calc(100% + 28px);bottom:auto;left:50%;margin:0;transform:translate(-50%,-90px) scale(.96)}
.product-row.popovers-below:not(.is-sticky) .product-item:hover .product-popover,.product-row.popovers-below:not(.is-sticky) .product-item:focus-within .product-popover,.product-row.popovers-below:not(.is-sticky) .product-item.is-open .product-popover{transform:translate(-50%,0) scale(1)}
.product-row.popovers-below:not(.is-sticky) .product-popover:before{top:-8px;bottom:auto}

/* Client notes */
.testimonials{position:relative;isolation:isolate;overflow:clip;padding:85px 0 175px;background:#fff}
.testimonials:before{display:none}
.testimonial-art{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:var(--testimonial-exit-opacity,1)}
.testimonial-art span{position:sticky;top:175px;display:block;width:min(52vw,650px);aspect-ratio:962/844;margin-right:max(-150px,-5vw);margin-left:auto;background:linear-gradient(155deg,var(--blue) 12%,#4168df 58%,var(--coral) 100%);opacity:0}
.testimonials.is-art-ready .testimonial-art span{opacity:.075;-webkit-mask:url("assets/illu-testimonial.png") center/contain no-repeat;mask:url("assets/illu-testimonial.png") center/contain no-repeat}
.testimonials>.shell{position:relative;z-index:1;opacity:var(--testimonial-exit-opacity,1)}
.testimonial-stage{position:relative;padding:40px 0 0;background:transparent}
.testimonial-heading{max-width:760px}
.testimonial-kicker{display:inline-flex;width:max-content;margin:0 0 22px;padding:7px 11px;border-radius:999px;background:var(--coral);color:#fff;font-size:.64rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 24px rgba(4,22,86,.2)}
.testimonial-heading h2{max-width:740px;margin:0 0 22px;color:var(--text-dark);font-size:clamp(3.1rem,5.2vw,4.85rem);font-weight:480;line-height:.94;letter-spacing:-.06em;text-wrap:balance;text-shadow:none}
.testimonial-heading>p:last-child{max-width:610px;margin:0;color:var(--text-muted);font-size:1rem;line-height:1.65}
.testimonial-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:58px}
.testimonial-card{grid-column:span 7;display:flex;flex-direction:column;min-width:0;padding:30px;border:1px solid rgba(18,61,203,.14);border-radius:20px;background:#fff;color:var(--text-dark);box-shadow:0 18px 42px rgba(18,61,203,.13)}
.testimonial-card:nth-child(2),.testimonial-card:nth-child(3){grid-column:span 5}
.testimonial-quote-mark{height:34px;margin:0 0 15px;color:var(--coral);font-family:Georgia,"Times New Roman",serif;font-size:4.4rem;font-weight:700;line-height:.78}
.testimonial-card blockquote{display:flex;flex:1;flex-direction:column;margin:0}
.testimonial-card blockquote>p{margin:0;color:#2e3035;font-size:1rem;line-height:1.65;letter-spacing:-.012em}
.testimonial-card:first-child blockquote>p{font-size:1.08rem}
.testimonial-person{display:flex;align-items:center;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(18,61,203,.14)}
.testimonial-initials{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:.68rem;font-weight:850;letter-spacing:.05em;box-shadow:0 7px 17px rgba(18,61,203,.2)}
.testimonial-card:nth-child(even) .testimonial-initials{background:var(--coral);color:var(--text-dark);box-shadow:0 7px 17px rgba(250,89,92,.2)}
.testimonial-person p{display:grid;gap:2px;margin:0;line-height:1.25}
.testimonial-person cite{color:var(--text-dark);font-size:.82rem;font-style:normal;font-weight:750}
.testimonial-person p span{color:var(--text-muted);font-size:.7rem}
.testimonial-full-note{margin-top:18px}
.testimonial-full-note summary{width:max-content;color:var(--blue);font-size:.74rem;font-weight:750;cursor:pointer;list-style:none;border-bottom:1px solid currentColor}
.testimonial-full-note summary::-webkit-details-marker{display:none}
.testimonial-full-note summary:after{content:" +"}
.testimonial-full-note[open] summary:after{content:" −"}
.testimonial-full-note summary:focus-visible{outline:2px solid var(--coral);outline-offset:4px}
.testimonial-full-note div{display:grid;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(18,61,203,.12)}
.testimonial-full-note div p{margin:0;color:#45474d;font-size:.88rem;line-height:1.65}

@media(max-width:900px){.testimonial-art span{top:175px;width:min(78vw,660px);margin-right:-22%}.testimonials.is-art-ready .testimonial-art span{opacity:.06}.testimonial-stage{padding-top:30px}.testimonial-grid{grid-template-columns:1fr}.testimonial-card,.testimonial-card:nth-child(2),.testimonial-card:nth-child(3){grid-column:1}.testimonial-card:first-child blockquote>p{font-size:1rem}}
@media(max-width:650px){.testimonials{padding:58px 0 120px}.testimonial-art span{top:185px;width:145vw;margin-right:-48%}.testimonials.is-art-ready .testimonial-art span{opacity:.045}.testimonial-stage{padding-top:18px}.testimonial-heading h2{font-size:2.85rem}.testimonial-heading>p:last-child{font-size:.92rem}.testimonial-grid{gap:14px;margin-top:40px}.testimonial-card{padding:24px 20px;border-radius:17px}.testimonial-card blockquote>p{font-size:.94rem}.testimonial-quote-mark{font-size:3.8rem}.testimonial-person{margin-top:22px}}

/* Subscription pitch */
.partnership{text-align:left;padding:165px 0 110px}
.partnership-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:72px;align-items:center}
.partnership-copy{display:grid;min-width:0;transform:translate3d(0,0,0);will-change:transform;transition:transform .76s var(--ease)}
.partnership-state{grid-area:1/1;min-width:0;transition:opacity .42s ease,transform .62s var(--ease),visibility 0s linear 0s;will-change:opacity,transform}
.partnership-pitch-state{opacity:1;visibility:visible;transform:translate3d(0,0,0)}
.partnership-checkout-state{opacity:0;visibility:hidden;transform:translate3d(58px,0,0);transition-delay:0s,0s,.62s}
.partnership.is-checkout-revealed .partnership-pitch-state{opacity:0;visibility:hidden;transform:translate3d(-72px,0,0);transition-delay:0s,0s,.62s}
.partnership.is-checkout-revealed .partnership-checkout-state{opacity:1;visibility:visible;transform:translate3d(0,0,0);transition-delay:.18s,.12s,0s}
.partnership-kicker{display:inline-flex;align-items:center;gap:8px;width:max-content;margin:0 0 20px;padding:7px 11px;background:#fff;color:var(--blue);border-radius:999px;font-size:.64rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase;box-shadow:0 8px 20px rgba(18,61,203,.12)}
.partnership-kicker:before{display:none}
.partnership h2{max-width:660px;margin:0 0 25px;color:#fff;font-size:clamp(3rem,4.8vw,4.65rem);font-weight:480;letter-spacing:-.06em}
.partnership h2 em{color:var(--blue);font-style:normal}
.partnership-intro{max-width:650px;margin:0 0 35px;color:#fff;font-size:1.05rem;line-height:1.6}
.subscription-benefits{margin:0;padding:0;border-top:1px solid rgba(255,255,255,.45);list-style:none}
.subscription-benefits li{display:grid;grid-template-columns:38px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.45)}
.benefit-icon{padding-top:1px;color:#fff;font-size:25px;font-weight:400;font-style:normal;line-height:1;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}
.subscription-benefits strong{display:block;margin-bottom:5px;color:#fff;font-size:1rem}
.subscription-benefits p{margin:0;color:#fff;font-size:.82rem;line-height:1.5}
.partnership-checkout-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.partnership-checkout-steps li{padding-top:17px;border-top:1px solid rgba(255,255,255,.5)}
.partnership-checkout-steps li>.checkout-step-icon{display:block;width:max-content;height:auto;margin-bottom:12px;color:#fff;font-size:25px;font-weight:400;line-height:1;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}
.partnership-checkout-steps strong{display:block;margin-bottom:6px;color:#fff;font-size:.94rem}
.partnership-checkout-steps p{margin:0;color:rgba(255,255,255,.8);font-size:.78rem;line-height:1.5}
.subscription-card{padding:32px;background:#fff;color:var(--text-dark);border:1px solid rgba(18,61,203,.08);border-radius:20px;box-shadow:0 24px 55px rgba(18,61,203,.17);transform:translate3d(0,0,0);will-change:transform;transition:transform .76s var(--ease)}
.subscription-label{margin:0 0 20px;color:var(--coral);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.subscription-card .price{display:flex;align-items:flex-end;gap:11px;margin:0 0 21px;padding-bottom:21px;border-bottom:1px solid rgba(18,61,203,.14)}
.subscription-card .price strong{display:inline-flex;align-items:flex-start;color:var(--blue);font-size:clamp(3.35rem,5vw,4.4rem);font-weight:500;line-height:.88;letter-spacing:-.075em}
.subscription-card .price .currency{display:block;margin:.08em .08em 0 0;color:inherit;font-size:.42em;font-weight:600;line-height:1;letter-spacing:0}
.subscription-card .price .amount{display:block;margin:0;color:inherit;line-height:.88}
.subscription-card .price .period{display:block;margin:0 0 .32rem;color:var(--text-muted);font-size:.72rem;font-weight:600;white-space:nowrap}
.subscription-summary{margin:0;color:var(--text-dark);font-size:.9rem;font-weight:720;line-height:1.5}
.subscription-inclusions{display:grid;overflow:hidden;max-height:280px;gap:12px;margin:21px 0 25px;padding:21px 0 0 6px;border-top:1px solid rgba(18,61,203,.14);list-style:none;opacity:1;transform:translate3d(0,0,0);transition:max-height .58s var(--ease),margin .58s var(--ease),padding .58s var(--ease),border-color .28s ease,opacity .3s ease,transform .5s var(--ease)}
.subscription-inclusions li{display:grid;grid-template-columns:9px 1fr;gap:11px;align-items:start;color:#4c4f56;font-size:.78rem;line-height:1.42}
.subscription-inclusions li:before{content:"";width:7px;height:7px;margin-top:.35em;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(250,89,92,.12)}
.subscription-card .actions{display:grid;justify-content:stretch;width:100%;gap:9px;margin-top:0;transition:margin-top .58s var(--ease)}
.partnership.is-checkout-revealed .subscription-inclusions{max-height:0;margin:0;padding:0;border-top-color:transparent;opacity:0;transform:translate3d(0,-18px,0)}
.partnership.is-checkout-revealed .subscription-card .actions{margin-top:24px}
.subscription-card .button{position:relative;display:grid;isolation:isolate;width:100%;place-items:center;padding:12px 18px;border:1px solid var(--blue);font-weight:650;text-align:center;transform:translate3d(0,0,0);transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s ease,background-color .25s ease,border-color .25s ease,color .25s ease}
.subscription-primary{background:var(--blue);color:#fff}
.subscription-cta-label{grid-area:1/1;width:100%;text-align:center;transition:opacity .25s ease,transform .42s var(--ease);will-change:opacity,transform}
.subscription-cta-start{opacity:1;transform:translate3d(0,0,0)}
.subscription-cta-checkout{opacity:0;transform:translate3d(20px,0,0)}
.subscription-secure-note{overflow:hidden;max-height:0;margin:0;color:var(--text-muted);font-size:.72rem;text-align:center;opacity:0;transform:translate3d(0,-8px,0);transition:max-height .42s var(--ease),margin .42s var(--ease),opacity .28s ease .04s,transform .42s var(--ease)}
.partnership.is-checkout-revealed .subscription-primary{animation:subscription-button-morph .58s var(--ease),subscription-button-pulse 1.65s ease-in-out .85s infinite}
.partnership.is-checkout-revealed .subscription-primary:hover,.partnership.is-checkout-revealed .subscription-primary:focus-visible{animation-play-state:running,paused;border-color:var(--coral);background-color:var(--coral);box-shadow:0 15px 30px rgba(250,89,92,.4);filter:drop-shadow(0 0 12px rgba(250,89,92,.58)) drop-shadow(0 10px 18px rgba(250,89,92,.38))}
.partnership.is-checkout-revealed .subscription-cta-start{opacity:0;transform:translate3d(-20px,0,0)}
.partnership.is-checkout-revealed .subscription-cta-checkout{opacity:1;transform:translate3d(0,0,0)}
.partnership.is-checkout-revealed .subscription-secure-note{max-height:24px;margin-top:3px;opacity:1;transform:translate3d(0,0,0)}
@keyframes subscription-button-morph{0%{transform:translate3d(0,0,0) scale(1)}38%{transform:translate3d(0,0,0) scale(.97)}72%{transform:translate3d(0,0,0) scale(1.012)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes subscription-button-pulse{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,0,0) scale(1.05)}}
.checkout-launch-stage{--confetti-origin-x:50vw;--confetti-origin-y:65vh;position:fixed;z-index:95;inset:0;overflow:hidden;pointer-events:none;visibility:hidden;background-color:rgba(18,61,203,0);transition:background-color .68s ease,visibility 0s linear .68s}
.checkout-launch-stage:before{content:"";position:absolute;z-index:0;inset:0;opacity:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.46' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.68'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay;transition:opacity .68s ease}
.checkout-launch-stage:after{content:"";position:absolute;z-index:1;inset:0;opacity:0;background:rgba(86,119,232,.34);will-change:opacity}
.checkout-launch-stage.is-active{visibility:visible;transition-delay:0s}
.checkout-launch-stage.is-blue{background-color:var(--blue);background-image:radial-gradient(circle at 50% 108%,rgba(91,128,255,.42) 0,rgba(18,61,203,0) 56%),radial-gradient(circle at 50% -20%,rgba(255,255,255,.08) 0,rgba(255,255,255,0) 52%)}
.checkout-launch-stage.is-blue:before{opacity:.27}
.checkout-launch-stage.is-pulsing:after{animation:launch-background-pulse 3s ease-in-out both}
@keyframes launch-background-pulse{0%,24%,50%,76%,100%{opacity:0}10%{opacity:.42}37%{opacity:.7}64%{opacity:1}}
.checkout-confetti{position:absolute;z-index:3;left:var(--confetti-origin-x);top:var(--confetti-origin-y);width:0;height:0}
.confetti-piece{position:absolute;left:0;top:0;width:4px;height:7px;border-radius:1px;background:var(--confetti-color);opacity:0;transform:translate3d(-50%,-50%,0) rotate(0deg) scale(.3);animation:checkout-confetti-burst 1.35s cubic-bezier(.17,.67,.2,1) var(--confetti-delay) forwards}
.confetti-piece.is-round{width:4px;height:4px;border-radius:50%}
@keyframes checkout-confetti-burst{0%{opacity:1;transform:translate3d(-50%,-50%,0) rotate(0deg) scale(.3)}18%{opacity:1}78%{opacity:1}100%{opacity:0;transform:translate3d(calc(-50% + var(--confetti-x)),calc(-50% + var(--confetti-y)),0) rotate(var(--confetti-rotation)) scale(1)}}
.launch-rocket{position:absolute;z-index:2;right:0;bottom:11vh;left:0;width:max-content;margin:auto;color:#fff;transform:translate3d(0,56vh,0);transition:transform .9s cubic-bezier(.2,.84,.3,1);will-change:transform;filter:drop-shadow(0 12px 25px rgba(1,13,64,.34))}
.launch-rocket:before{content:"";position:absolute;top:88%;left:50%;width:132px;height:32px;border:2px solid rgba(255,255,255,.48);border-radius:50%;opacity:0;transform:translate3d(-50%,0,0) scale(.22);will-change:opacity,transform}
.launch-rocket>span{display:block;font-size:118px;font-weight:400;line-height:1;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 48;transform-origin:50% 78%}
.launch-rocket>i{position:absolute;top:82%;left:50%;width:27px;height:60px;border-radius:50% 50% 65% 65%;background:linear-gradient(to bottom,#fff 0 8%,var(--coral) 28%,rgba(250,89,92,0) 100%);opacity:.88;transform:translateX(-50%) scaleY(.48);transform-origin:50% 0;animation:rocket-flame .16s ease-in-out infinite alternate}
.checkout-launch-stage.is-rocket-ready .launch-rocket{transform:translate3d(0,0,0);transition-delay:0s}
.checkout-launch-stage.is-pulsing:not(.is-liftoff) .launch-rocket>span{animation:rocket-ready-rumble .13s ease-in-out infinite alternate}
.checkout-launch-stage.is-liftoff .launch-rocket{transform:translate3d(0,-145vh,0);transition-duration:1.22s;transition-delay:0s;transition-timing-function:cubic-bezier(.58,.01,.77,.28)}
.checkout-launch-stage.is-liftoff .launch-rocket:before{animation:rocket-exhaust-ring .7s ease-out forwards}
.checkout-launch-stage.is-liftoff .launch-rocket>i{height:112px;opacity:1;transform:translateX(-50%) scaleY(1.38)}
@keyframes rocket-flame{from{scale:.88 1;opacity:.72}to{scale:1.08 1.14;opacity:1}}
@keyframes rocket-ready-rumble{from{transform:translate3d(-1.5px,1px,0) rotate(-.35deg)}to{transform:translate3d(1.5px,-1px,0) rotate(.35deg)}}
@keyframes rocket-exhaust-ring{0%{opacity:.78;transform:translate3d(-50%,0,0) scale(.22)}100%{opacity:0;transform:translate3d(-50%,28px,0) scale(2.4)}}
.checkout-whiteout{position:fixed;z-index:6;inset:0;background:#fff;opacity:0}
.checkout-launch-stage.is-whiteout .checkout-whiteout{animation:checkout-whiteout .62s ease forwards}
@keyframes checkout-whiteout{to{opacity:1}}
body.checkout-launch-active{overflow:hidden;background-color:var(--blue)}
body.checkout-launch-active .products,body.checkout-launch-active .testimonials{background-color:var(--blue)!important;transition:none!important}
body.checkout-launch-active .scroll-cap,body.checkout-launch-active .product-row.is-sticky{z-index:97;opacity:1!important;pointer-events:none!important;will-change:transform;transition:transform .82s var(--ease) .24s!important}
body.checkout-launch-active .scroll-cap{transform:translate3d(0,calc(-100% - 120px),0)}
body.checkout-launch-active .product-row.is-sticky{transform:translate3d(0,calc(-100% - 360px),0)}
body.checkout-launch-active footer{opacity:1!important;transform:translate3d(-50%,calc(100% + 85px),0)!important;pointer-events:none!important;transition:transform .62s var(--ease) .48s!important}
.checkout-launch-stage.is-resetting,.checkout-launch-stage.is-resetting:after,.checkout-launch-stage.is-resetting *{animation:none!important;transition:none!important}
body.checkout-launch-resetting .partnership-copy,body.checkout-launch-resetting .subscription-card,body.checkout-launch-resetting .scroll-cap,body.checkout-launch-resetting .product-row,body.checkout-launch-resetting footer{transition:none!important}
@media(prefers-reduced-motion:reduce){.checkout-launch-stage,.launch-rocket,.partnership.is-checkout-launching .partnership-copy,.partnership.is-checkout-launching .subscription-card,body.checkout-launch-active .scroll-cap,body.checkout-launch-active .product-row.is-sticky,body.checkout-launch-active footer{transition:none!important}.confetti-piece,.checkout-launch-stage:after,.launch-rocket:before,.launch-rocket>span,.launch-rocket>i{animation:none!important}.checkout-launch-stage.is-whiteout .checkout-whiteout{animation:none;opacity:1}}
.subscription-card .button:hover{transform:translate3d(0,-3px,0)}
.subscription-card .subscription-primary:hover{box-shadow:0 14px 28px rgba(18,61,203,.25)}
.subscription-card .button:active{transform:translate3d(0,0,0) scale(.985);box-shadow:0 5px 12px rgba(18,61,203,.14);transition-duration:.1s}
.subscription-card .button:focus-visible{outline:3px solid var(--coral);outline-offset:4px}

@media(max-width:900px){.partnership-art-current{bottom:0;left:-8%;width:min(90vw,720px);opacity:.09}.partnership-art-cheers{bottom:-25px;width:min(106vw,850px)}.partnership-layout{grid-template-columns:1fr;gap:50px}.subscription-card{width:min(520px,100%)}.partnership h2{max-width:720px}}
@media(max-width:650px){.partnership{margin-top:0;padding:120px 0 82px}.partnership-art-current{bottom:0;left:-55%;width:155vw;opacity:.075}.partnership-art-cheers{bottom:100px;width:152vw}.partnership-layout{gap:38px}.partnership h2{font-size:3.05rem}.partnership-intro{font-size:.95rem}.subscription-benefits li{grid-template-columns:30px 1fr;gap:10px}.partnership-checkout-steps{grid-template-columns:1fr;gap:0}.partnership-checkout-steps li{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:15px 0}.partnership-checkout-steps li>.checkout-step-icon{grid-row:1;margin:0}.subscription-card{padding:26px}.subscription-card .price strong{font-size:3.55rem}}

/* Each product follows a slightly different, low-amplitude floating path. */
.product-trigger{position:relative;isolation:isolate;border-radius:22%;will-change:transform;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.product-trigger:before{content:"";position:absolute;z-index:2;inset:0;border-radius:22%;-webkit-clip-path:inset(0 round 22%);clip-path:inset(0 round 22%);pointer-events:none;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.72'/%3E%3C/svg%3E");background-size:96px 96px;mix-blend-mode:soft-light;transition:transform .35s var(--ease)}
.product-trigger:hover:before,.product-trigger:focus-visible:before,.product-item.is-open .product-trigger:before{transform:scale(1.04)}
.product-trigger:after{content:"";position:absolute;z-index:1;inset:0;border-radius:22%;-webkit-clip-path:inset(0 round 22%);clip-path:inset(0 round 22%);pointer-events:none;mix-blend-mode:soft-light;box-shadow:inset 0 1px 1px rgba(255,255,255,.42);transition:transform .35s var(--ease)}
.product-trigger:hover:after,.product-trigger:focus-visible:after,.product-item.is-open .product-trigger:after{transform:scale(1.04)}
.collision .product-trigger:after{background:linear-gradient(145deg,rgba(255,255,255,.38) 0%,rgba(52,102,115,.08) 44%,rgba(18,61,203,.42) 100%);box-shadow:inset 0 1px 1px rgba(255,255,255,.46),inset 0 -22px 28px rgba(32,72,82,.25)}
.tripele .product-trigger:after{background:linear-gradient(145deg,rgba(255,255,255,.4) 0%,rgba(37,99,235,.07) 42%,rgba(18,61,203,.55) 100%);box-shadow:inset 0 1px 1px rgba(255,255,255,.48),inset 0 -22px 28px rgba(12,43,145,.29)}
.casto .product-trigger:after{background:linear-gradient(145deg,rgba(255,255,255,.42) 0%,rgba(23,206,193,.07) 43%,rgba(0,111,103,.47) 100%);box-shadow:inset 0 1px 1px rgba(255,255,255,.48),inset 0 -22px 28px rgba(0,104,96,.25)}
.collision .product-trigger{animation-name:float-collision;animation-duration:8.4s;animation-delay:-2.1s}
.tripele .product-trigger{animation-name:float-tripele;animation-duration:10.1s;animation-delay:-6.3s}
.casto .product-trigger{animation-name:float-casto;animation-duration:9.2s;animation-delay:-4.7s}
.product-trigger:hover,.product-trigger:focus-visible{animation-play-state:paused}

@keyframes float-collision{0%,100%{transform:translate3d(0,0,0) rotate(0)}20%{transform:translate3d(5px,-5px,0) rotate(.9deg)}46%{transform:translate3d(-3px,-2px,0) rotate(-1.2deg)}72%{transform:translate3d(4px,5px,0) rotate(.45deg)}88%{transform:translate3d(-2px,3px,0) rotate(-.7deg)}}
@keyframes float-tripele{0%,100%{transform:translate3d(0,0,0) rotate(0)}18%{transform:translate3d(-4px,4px,0) rotate(-1.1deg)}42%{transform:translate3d(3px,-6px,0) rotate(.65deg)}67%{transform:translate3d(5px,1px,0) rotate(1.35deg)}84%{transform:translate3d(-3px,-3px,0) rotate(-.35deg)}}
@keyframes float-casto{0%,100%{transform:translate3d(0,0,0) rotate(0)}24%{transform:translate3d(4px,3px,0) rotate(.4deg)}49%{transform:translate3d(-5px,-4px,0) rotate(-1.4deg)}73%{transform:translate3d(2px,-6px,0) rotate(.95deg)}91%{transform:translate3d(-3px,2px,0) rotate(.2deg)}}

@keyframes float-hero-brand{0%,100%{transform:translate3d(0,var(--hero-brand-scroll-y,0px),0) scale(var(--hero-brand-scroll-scale,1)) rotate(0)}18%{transform:translate3d(3px,calc(var(--hero-brand-scroll-y,0px) - 4px),0) scale(var(--hero-brand-scroll-scale,1)) rotate(.8deg)}43%{transform:translate3d(-3px,calc(var(--hero-brand-scroll-y,0px) - 6px),0) scale(var(--hero-brand-scroll-scale,1)) rotate(-1.2deg)}68%{transform:translate3d(-5px,calc(var(--hero-brand-scroll-y,0px) + 2px),0) scale(var(--hero-brand-scroll-scale,1)) rotate(.65deg)}86%{transform:translate3d(2px,calc(var(--hero-brand-scroll-y,0px) + 4px),0) scale(var(--hero-brand-scroll-scale,1)) rotate(-.5deg)}}
@keyframes float-sticky-brand{0%,100%{transform:translate3d(0,0,0) rotate(0)}24%{transform:translate3d(1.5px,-1.5px,0) rotate(.3deg)}51%{transform:translate3d(-1px,.75px,0) rotate(-.35deg)}77%{transform:translate3d(1px,1.25px,0) rotate(.2deg)}}
@media(prefers-reduced-motion:reduce){.hero-brand,.scroll-cap-brand,.product-trigger{animation:none!important}}

/* Brett's studio note */
.about-overlay[hidden]{display:none}
.about-overlay{position:fixed;z-index:160;inset:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:24px;isolation:isolate}
.about-backdrop{position:absolute;z-index:-1;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(255,255,255,.52);opacity:0;cursor:default;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:opacity .36s ease,-webkit-backdrop-filter .52s ease,backdrop-filter .52s ease}
.about-card{position:relative;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);width:min(1040px,100%);max-height:calc(100dvh - 48px);min-height:min(650px,calc(100dvh - 48px));overflow:hidden;border:1px solid rgba(255,255,255,.64);border-radius:28px;background:#fff;color:var(--text-dark);box-shadow:0 38px 100px rgba(4,22,86,.35),0 0 0 1px rgba(18,61,203,.08);opacity:0;transform:translate3d(0,72px,0) scale(.97);transform-origin:50% 80%;transition:opacity .32s ease,transform .68s var(--ease)}
.about-overlay.is-open .about-backdrop{opacity:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.about-overlay.is-open .about-card{opacity:1;transform:translate3d(0,0,0) scale(1)}
.about-close{position:absolute;z-index:5;top:18px;right:18px;display:grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid rgba(18,61,203,.14);border-radius:50%;background:var(--blue);color:#fff;cursor:pointer;box-shadow:0 8px 22px rgba(18,61,203,.18);transition:transform .25s var(--ease),box-shadow .25s ease,background-color .2s ease}
.about-close>span{position:relative;width:18px;height:18px;font-size:0}
.about-close>span:before,.about-close>span:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:3px;border-radius:999px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.about-close>span:after{transform:translate(-50%,-50%) rotate(-45deg)}
.about-close:hover{background:var(--coral);transform:translateY(-2px);box-shadow:0 12px 28px rgba(250,89,92,.25)}
.about-close:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.about-portrait-panel{position:relative;isolation:isolate;overflow:hidden;min-height:100%;background-color:var(--blue);background-image:linear-gradient(rgba(18,61,203,.08),rgba(4,22,86,.12)),url("assets/about-profile-background-portrait.jpg");background-position:center;background-size:cover}
.about-portrait{position:absolute;z-index:1;left:50%;bottom:-4px;width:min(31vw,395px);max-width:94%;visibility:hidden;opacity:0;filter:drop-shadow(0 26px 34px rgba(4,22,86,.3));transform:translate3d(-50%,70px,0) rotate(1.5deg);transform-origin:50% 100%;transition:transform .88s var(--ease) .12s}
.about-portrait.is-active{z-index:2;visibility:visible;opacity:1;transition:transform .88s var(--ease) .12s,opacity 0s}
.about-portrait.is-incoming{z-index:3}
.about-portrait.is-leaving{z-index:1;visibility:visible;opacity:0;transition:transform .88s var(--ease) .12s,opacity .65s ease}
.about-overlay.is-open .about-portrait{transform:translate3d(-50%,0,0) rotate(0)}
.about-copy{align-self:center;overflow:auto;max-height:calc(100dvh - 48px);padding:76px clamp(34px,5vw,68px) 56px}
.about-eyebrow{width:max-content;margin:0 0 19px;padding:7px 11px;border-radius:999px;background:var(--blue);color:#fff;font-size:.63rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;box-shadow:0 10px 24px rgba(18,61,203,.16)}
.about-copy h2{margin:0 0 27px;color:var(--text-dark);font-size:clamp(2.1rem,3.45vw,3.45rem);font-weight:480;line-height:.94;letter-spacing:-.06em;white-space:nowrap}
.about-copy h2 em{color:var(--coral);font-style:normal}
.about-story{display:grid;gap:13px}
.about-story p{margin:0;color:#3d4046;font-size:.9rem;line-height:1.65}
.about-tags{display:flex;flex-wrap:wrap;gap:7px;margin:25px 0 23px;padding:20px 0 0;border-top:1px solid rgba(18,61,203,.14);list-style:none}
.about-tags li{padding:6px 9px;border:1px solid rgba(18,61,203,.18);border-radius:999px;background:rgba(18,61,203,.065);color:var(--blue);font-size:.61rem;font-weight:700;letter-spacing:.01em;box-shadow:none}
.about-link{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:.78rem;font-weight:700;line-height:1.4}
.about-link:after{content:"";position:absolute}
.about-link span{transition:transform .25s var(--ease)}
.about-link:hover span{transform:translate3d(3px,-3px,0)}
.about-link:focus-visible{outline:3px solid var(--coral);outline-offset:5px;border-radius:3px}
body.about-open{overflow:hidden}

@media(max-width:760px){
  .about-overlay{align-items:end;justify-items:stretch;padding:calc(14px + env(safe-area-inset-top)) 14px 14px}
  .about-card{display:block;width:100%;max-height:calc(100dvh - 28px - env(safe-area-inset-top));min-height:0;overflow:auto;border-radius:24px 24px 16px 16px;transform:translate3d(0,100%,0) scale(1)}
  .about-portrait-panel{height:290px;min-height:290px;background-position:center 46%}
  .about-portrait{width:260px}
  .about-close{position:absolute;top:14px;right:14px}
  .about-copy{max-height:none;padding:39px 23px 35px}
  .about-eyebrow{margin-bottom:17px}
  .about-copy h2{font-size:clamp(1.9rem,8vw,2.65rem)}
  .about-story p{font-size:.86rem}
}

@media(prefers-reduced-motion:reduce){.about-backdrop,.about-card,.about-portrait{transition:none!important}}

/* Floating footer: revealed by the final stretch of page scroll. */
.partnership{padding-bottom:215px}
footer{position:fixed;z-index:80;right:auto;bottom:max(16px,env(safe-area-inset-bottom));left:50%;width:var(--shell);margin:0;padding:18px 22px;border:0;border-radius:16px;background-color:var(--blue);color:#fff;box-shadow:0 20px 52px rgba(4,22,86,.3),0 5px 16px rgba(4,22,86,.18);opacity:0;transform:translate3d(-50%,calc(100% + 40px),0);pointer-events:none;will-change:transform,opacity;transition:transform .62s var(--ease),opacity .24s ease}
footer.is-visible{opacity:1;transform:translate3d(-50%,0,0);pointer-events:auto}
footer:before{border-radius:inherit}
.footer-inner{width:min(1280px,100%);grid-template-columns:100px minmax(220px,1.2fr) minmax(360px,2fr) auto;gap:22px}
.footer-brand{--brand-scale:.56}
.footer-inner>p{font-size:.72rem;line-height:1.45}
.footer-links{align-items:center;gap:20px;font-size:.72rem;white-space:nowrap;opacity:1;visibility:visible;transition:opacity .25s ease,visibility 0s linear 0s}
.footer-inner small{white-space:nowrap}
.footer-links a,.footer-links button{position:relative;color:#fff;transition:opacity .2s ease}
.footer-links a:after,.footer-links button:after{content:"";position:absolute;right:0;bottom:-4px;left:0;height:1px;background:#fff;transform:scaleX(0);transform-origin:100% 50%;transition:transform .32s var(--ease)}
.footer-links a:hover,.footer-links button:hover,.footer-links a:focus-visible,.footer-links button:focus-visible{color:#fff}
.footer-links a:hover:after,.footer-links button:hover:after,.footer-links a:focus-visible:after,.footer-links button:focus-visible:after{transform:scaleX(1);transform-origin:0 50%}
.footer-links a:focus-visible,.footer-links button:focus-visible{outline:0}

@media(max-width:900px){
  .partnership{padding-bottom:240px}
  footer{bottom:max(10px,env(safe-area-inset-bottom));width:var(--shell);padding:16px 18px}
  .footer-inner{grid-template-columns:auto minmax(0,1fr) auto;gap:13px 18px}
  .footer-inner>p{max-width:none}
  .footer-links{grid-column:1/-1;justify-content:center;gap:12px 18px;white-space:normal}
  .footer-inner small{position:static;justify-self:end}
}

@media(max-width:650px){
  .partnership{padding-bottom:270px}
  footer{padding:14px 15px;border-radius:16px}
  .footer-inner{grid-template-columns:auto minmax(0,1fr);gap:11px 14px}
  .footer-brand{--brand-scale:.48}
  .footer-inner>p{font-size:.67rem}
  .footer-links{justify-content:flex-start;gap:10px 15px;font-size:.67rem}
  .footer-inner small{grid-column:1/-1;justify-self:start;font-size:.58rem}
}

/* The contact form opens as a working brief pulled up from the floating footer. */
.contact-workspace[hidden],.contact-experience[hidden]{display:none}
.modal.contact-workspace{z-index:160;display:block;padding:0;visibility:hidden;pointer-events:none;background:rgba(255,255,255,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:visibility 0s linear .68s,background-color .4s ease,-webkit-backdrop-filter .56s ease,backdrop-filter .56s ease}
.contact-workspace.is-open{visibility:visible;pointer-events:auto;background:rgba(255,255,255,.52);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition-delay:0s}
.contact-dialog-viewport{position:absolute;inset:0 0 var(--contact-footer-clearance,96px);display:flex;align-items:flex-end;justify-content:center;padding-top:16px;overflow:hidden;pointer-events:none}
.contact-dialog{position:relative;display:block;width:var(--shell);max-height:calc(100dvh - var(--contact-footer-clearance,96px) - 16px);margin:0;padding:30px 0 0;overflow:hidden;clip-path:inset(0 round 30px 30px 0 0);border:1px solid rgba(255,255,255,.2);border-bottom:0;border-radius:30px 30px 0 0;background-color:var(--blue);background-image:radial-gradient(circle at 12% 0,rgba(255,255,255,.13),transparent 35%),radial-gradient(circle at 92% 95%,rgba(0,0,0,.12),transparent 40%);color:#fff;box-shadow:none;transform:translate3d(0,calc(100% + 16px),0);transform-origin:50% 100%;transition:transform .68s cubic-bezier(.45,0,.55,1);will-change:transform}
.contact-dialog:focus{outline:0}
.contact-dialog-scroll{position:relative;z-index:1;max-height:calc(100dvh - var(--contact-footer-clearance,96px) - 46px);margin-right:8px;padding:0 22px 30px 30px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#08257e transparent}
.contact-dialog-scroll::-webkit-scrollbar{width:8px}
.contact-dialog-scroll::-webkit-scrollbar-track{margin-block:0 4px;background:transparent}
.contact-dialog-scroll::-webkit-scrollbar-thumb{min-height:46px;border:2px solid var(--blue);border-radius:999px;background:#08257e}
.contact-dialog-scroll::-webkit-scrollbar-thumb:hover{background:#061d66}
.contact-dialog-scroll::-webkit-scrollbar-corner{background:transparent}
.contact-dialog{pointer-events:auto}
.contact-dialog:before{content:"";position:absolute;z-index:0;inset:0;border-radius:inherit;pointer-events:none;opacity:.24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.46' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.68'/%3E%3C/svg%3E");background-size:180px 180px;mix-blend-mode:overlay}
.contact-workspace.is-open .contact-dialog{transform:translate3d(0,0,0);transition-timing-function:var(--ease)}
.contact-dialog-scroll>.dialog-close{position:sticky;z-index:5;top:0;float:right;display:grid;width:38px;height:38px;place-items:center;margin:0;padding:0;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:var(--blue);color:#fff;font-size:1.45rem;line-height:1;cursor:pointer;box-shadow:0 8px 18px rgba(4,22,86,.22);transition:background .2s ease,transform .25s var(--ease)}
.contact-dialog-scroll>.dialog-close:hover,.contact-dialog-scroll>.dialog-close:focus-visible{background:var(--coral);transform:rotate(5deg)}
.contact-dialog-scroll>.dialog-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
.contact-workspace-header,.contact-experience{position:relative;z-index:1;clear:both}
.contact-workspace-header{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:34px;align-items:end;margin:0 52px 22px 0}
.contact-eyebrow{display:inline-flex;width:max-content;margin:0 0 12px;padding:7px 11px;border-radius:999px;background:var(--coral);color:#fff;font-size:.64rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase;box-shadow:0 10px 24px rgba(4,22,86,.2)}
.contact-workspace-header h2{max-width:660px;margin:0;color:#fff;font-size:clamp(2.3rem,4vw,3.75rem);font-weight:470;line-height:.95;letter-spacing:-.055em;text-wrap:balance}
.contact-workspace-intro{padding-bottom:5px}
.contact-workspace-intro p{max-width:440px;margin:0 0 13px;color:rgba(255,255,255,.8);font-size:.88rem;line-height:1.65}
.contact-workspace-intro a{display:inline-block;color:#fff;font-size:.74rem;font-weight:750;border-bottom:1px solid rgba(255,255,255,.68)}
.contact-workspace-intro a:hover{color:var(--coral);border-bottom-color:var(--coral)}
.contact-experience{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(270px,.68fr);gap:22px;align-items:start}
.contact-note{position:relative;padding:27px 28px 25px;overflow:hidden;border:1px solid rgba(18,61,203,.1);border-radius:22px;background:#fff;color:var(--text-dark);box-shadow:0 24px 55px rgba(4,22,86,.27);transform:rotate(-.18deg)}
.contact-note:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)'/%3E%3C/svg%3E");mix-blend-mode:multiply}
.contact-note>*{position:relative;z-index:1}
.contact-note-topline{display:flex;justify-content:space-between;margin-bottom:23px;padding-bottom:12px;border-bottom:1px solid rgba(18,61,203,.14);color:var(--blue);font-size:.58rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.engagement-fieldset{min-width:0;margin:0 0 23px;padding:0;border:0}
.brief-step-title{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--text-dark);font-size:.79rem;font-weight:800;line-height:1.3;letter-spacing:0}
.brief-step-title>span{flex:0 0 auto;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--coral);color:#fff;font-size:.58rem;letter-spacing:.03em;box-shadow:0 6px 14px rgba(250,89,92,.2)}
.brief-step-title em{color:var(--coral);font-style:normal}
.engagement-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.engagement-option{position:relative;min-width:0;cursor:pointer}
.engagement-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.engagement-option-card{display:flex;align-items:center;gap:9px;min-height:56px;padding:9px 11px;border:1px solid rgba(18,61,203,.15);border-radius:12px;background:#fff;color:#3d4149;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .25s var(--ease),box-shadow .25s ease}
.engagement-option-card>.material-symbols-outlined{flex:0 0 auto;color:var(--coral);font-size:21px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}
.engagement-option-card strong{font-size:.69rem;font-weight:700;line-height:1.25}
.engagement-option:hover .engagement-option-card{border-color:rgba(18,61,203,.4);transform:translateY(-2px);box-shadow:0 8px 18px rgba(18,61,203,.1)}
.engagement-option input:checked+.engagement-option-card{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 10px 22px rgba(18,61,203,.22)}
.engagement-option input:checked+.engagement-option-card>.material-symbols-outlined{color:#fff}
.engagement-option input:focus-visible+.engagement-option-card{outline:3px solid var(--coral);outline-offset:3px}
.brief-field{margin-bottom:20px}
.brief-message-field textarea{display:block;width:100%;min-height:126px;padding:14px 15px;border:1px solid rgba(18,61,203,.18);border-radius:13px;background:#fff;color:var(--text-dark);font-size:.84rem;line-height:1.55;resize:vertical;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.brief-message-field textarea::placeholder{color:#8a8d94}
.brief-message-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(18,61,203,.1)}
.brief-message-field textarea[aria-invalid=true]{border-color:#b72c33;box-shadow:0 0 0 4px rgba(183,44,51,.08)}
.message-prompts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.message-prompts span{padding:4px 7px;border-radius:999px;background:rgba(18,61,203,.065);color:#6a6d74;font-size:.57rem;line-height:1.25}
.brief-contact-block{margin-top:3px;padding-top:19px;border-top:1px solid rgba(18,61,203,.14)}
.contact-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.contact-note .field{margin:0}
.contact-note .field label{display:block;margin:0 0 5px;color:#555962;font-size:.61rem;font-weight:750}
.contact-note .field label span{color:var(--coral)}
.contact-note .field input{width:100%;min-height:42px;padding:9px 10px;border:1px solid rgba(18,61,203,.18);border-radius:10px;background:#fff;color:var(--text-dark);font-size:.76rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.contact-note .field input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(18,61,203,.1)}
.contact-note .field input[aria-invalid=true]{border-color:#b72c33;box-shadow:0 0 0 4px rgba(183,44,51,.08)}
.contact-note .field-error{display:block;min-height:13px;padding-top:2px;color:#ad252b;font-size:.56rem;line-height:1.2}
.contact-note-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-top:16px}
.contact-note .form-status{min-height:1.4em;margin:0;color:#ad252b;font-size:.65rem;line-height:1.35}
.contact-note .form-status a{font-weight:750;border-bottom:1px solid currentColor}
.contact-note .submit-button{display:flex;width:auto;min-width:255px;align-items:center;justify-content:center;gap:9px;padding:12px 17px;border:1px solid var(--coral);border-radius:999px;background:var(--coral);color:#fff;font-size:.72rem;font-weight:800;cursor:pointer;box-shadow:0 10px 22px rgba(250,89,92,.2);transition:transform .25s var(--ease),box-shadow .25s ease,opacity .2s ease,background-color .25s ease,border-color .25s ease,filter .25s ease}
.contact-note .submit-button:hover{border-color:var(--coral);background:var(--coral);transform:translateY(-2px);box-shadow:0 16px 32px rgba(250,89,92,.38);filter:drop-shadow(0 8px 13px rgba(250,89,92,.26))}
.contact-note .submit-button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.contact-note .submit-button:disabled{cursor:wait;opacity:.72}
.contact-note .submit-button i{flex:0 0 auto}
.contact-note .submit-arrow{flex:0 0 auto;width:20px;height:20px;fill:currentColor;transition:transform .3s var(--ease)}
.contact-note .submit-button:hover .submit-arrow{transform:translate3d(3px,-2px,0) rotate(6deg)}
.contact-note .submit-button.is-loading .submit-arrow{display:none}
.brief-preview{position:sticky;top:0;align-self:start;min-height:100%;padding:27px 24px 23px;border:1px solid rgba(255,255,255,.22);border-radius:20px;background:rgba(4,22,86,.24);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(8px)}
.brief-preview:before{content:"";position:absolute;top:-7px;left:50%;width:62px;height:18px;border-radius:3px;background:rgba(250,89,92,.86);box-shadow:0 4px 10px rgba(4,22,86,.18);transform:translateX(-50%) rotate(-2deg)}
.brief-preview-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.72);font-size:.59rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.brief-preview-topline .material-symbols-outlined{color:var(--coral);font-size:21px}
.brief-preview-row{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.brief-preview-row>span{display:block;margin-bottom:6px;color:rgba(255,255,255,.58);font-size:.57rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.brief-preview-row strong{display:block;color:#fff;font-size:.92rem;font-weight:650;line-height:1.4}
.brief-preview-summary p{margin:0;color:rgba(255,255,255,.88);font-size:.78rem;line-height:1.55}
.brief-preview-stamp{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;margin:22px auto 18px;padding:8px 11px;border:1px solid rgba(255,255,255,.5);border-radius:7px;color:#fff;font-size:.61rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-2deg)}
.brief-preview-stamp .material-symbols-outlined{color:var(--coral);font-size:19px}
.brief-preview-private{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;color:rgba(255,255,255,.57);font-size:.59rem;text-align:center}
.brief-preview-private .material-symbols-outlined{font-size:14px}
body.modal-open footer{z-index:170;opacity:1;transform:translate3d(-50%,0,0);pointer-events:none;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none;transition:box-shadow .3s ease,border-radius .18s ease}
body.modal-open footer .footer-links{opacity:0;visibility:hidden;transition:opacity .22s ease,visibility 0s linear .22s}
.footer-links button.is-contact-sent{color:var(--coral)}
.footer-links button.is-contact-sent:after{background:var(--coral);transform:scaleX(1)}

@media(max-width:900px){
  .contact-workspace-header{grid-template-columns:1fr;gap:13px;margin-bottom:23px}
  .contact-workspace-header h2{max-width:760px}
  .contact-workspace-intro{display:flex;align-items:end;justify-content:space-between;gap:20px}
  .contact-workspace-intro p{margin:0}
  .contact-experience{grid-template-columns:1fr}
  .brief-preview{position:relative;top:auto;min-height:0}
}

@media(max-width:650px){
  .modal.contact-workspace{padding:0}
  .contact-dialog-viewport{inset:calc(14px + env(safe-area-inset-top)) 14px var(--contact-footer-clearance,129px);padding-top:0}
  .contact-dialog{width:100%;max-height:calc(100dvh - var(--contact-footer-clearance,129px) - 14px - env(safe-area-inset-top));padding:20px 0 0;clip-path:inset(0 round 27px 27px 0 0);border-bottom:0;border-radius:27px 27px 0 0}
  .contact-dialog-scroll{max-height:calc(100dvh - var(--contact-footer-clearance,129px) - 34px - env(safe-area-inset-top));margin-right:6px;padding:0 8px 20px 14px}
  .contact-dialog-scroll>.dialog-close{top:0;width:36px;height:36px}
  .contact-workspace-header{margin:0 45px 20px 2px}
  .contact-workspace-header h2{font-size:2.2rem}
  .contact-workspace-intro{display:block}
  .contact-workspace-intro p{margin:0 0 8px;font-size:.8rem}
  .contact-note{padding:21px 17px 19px;border-radius:18px;transform:none}
  .contact-note-topline{margin-bottom:20px}
  .engagement-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .engagement-option-card{min-height:62px;padding:9px}
  .engagement-option-card strong{font-size:.66rem}
  .contact-details-grid{grid-template-columns:1fr}
  .contact-note-footer{grid-template-columns:1fr;gap:7px}
  .contact-note .submit-button{width:100%;min-width:0}
  .brief-preview{padding:25px 20px 20px}
}

/* Geometrically center every circular close icon instead of relying on font glyph metrics. */
.about-close,.dialog-close,.popover-close{place-items:center;padding:0;line-height:0}
.dialog-close,.popover-close{font-size:0}
.dialog-close:before,.dialog-close:after,.popover-close:before,.popover-close:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;border-radius:999px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.dialog-close:after,.popover-close:after{transform:translate(-50%,-50%) rotate(-45deg)}

/* Touch-first devices open products directly; detail cards remain a precise hover/focus enhancement. */
@media (hover:none),(pointer:coarse){
  .product-popover,
  .product-item.is-open .product-popover,
  .product-row.is-sticky .product-popover,
  .product-row.is-sticky .product-item.is-open .product-popover,
  .product-row.is-sticky .product-item:focus-within .product-popover{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}
