/* Amber identity and a seamless opening chapter. */
.brand-type,.form-aside .brand-type{color:#fff;background:none;-webkit-text-fill-color:currentColor;filter:none;padding-block:3px}
.hero-stage{border:0;min-height:780px}
.hero-stage:before{background:linear-gradient(90deg,#090909 3%,#090909db 33%,transparent 80%),linear-gradient(0deg,#090909 0%,#090909e0 5%,#09090950 20%,transparent 43%)}
.hero{padding-bottom:150px}
.connection-scene{bottom:14%}
.scene-caption{bottom:80px;color:#d9c2a3}
.statement-strip{background:#090909;border:0;color:#b9ab99;padding-block:20px}
.statement-strip .strip-mark{background:#b77b39;width:4px;height:4px}
.belief{color:#f5eee5;--muted:#c4b7a5;--line:#c9974c30;background:radial-gradient(ellipse at 100% 40%,#6c35091a,transparent 50%),#090909;padding-top:100px;padding-bottom:76px}
.belief .eyebrow{color:#c9aa7a}.belief .accent{color:#e4b975}.belief-lead{color:#e8ded0}
.belief-copy>p:not(.eyebrow):not(.belief-lead),.belief .principle-list p{color:#c4b7a5}
.belief .text-button{color:#f0c98e}.belief .text-button:hover{color:#fff0d5}
.belief-portrait{border:1px solid #d5a15c55;box-shadow:inset 0 0 40px #5d2e101a,0 20px 65px #0008;isolation:isolate}
.belief-portrait:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(127deg,#fff0bb18,transparent 26%,transparent 72%,#eaa44618);box-shadow:inset 1px 1px 0 #ffe4ae40,inset -1px -1px 0 #9f5a2220;z-index:1}
.belief-portrait figcaption{z-index:2;border-color:#e1ad5e40;background:linear-gradient(120deg,#c77b2225,#19120be0);color:#f6e4c8}
.belief .principle-list{gap:14px}
.belief .principle-list article{padding:32px!important;border:1px solid #b17a343d!important;background:radial-gradient(ellipse at 100% 0,#a6671b25,transparent 67%),linear-gradient(130deg,#251b1080,#100e0b);box-shadow:inset 0 1px 0 #f1d29a17,0 16px 32px #0003;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.belief .principle-symbol{margin-bottom:42px}
.belief .principle-symbol:after,.belief .principle-list article:nth-child(2) .principle-symbol:after{color:#e6bb77}
.belief .principle-list h3{color:#f3e8d9}
.belief .principle-list article:after{width:92px;height:92px;right:12px;top:4px;transform:rotate(8deg);border:0;background:url('/assets/amber-resin.svg') center/contain no-repeat;opacity:.85}
.belief .principle-list article:nth-child(2):after{transform:rotate(-19deg)}
.belief .principle-list article:nth-child(3):after{transform:rotate(32deg)}
.shortlist-section{padding-top:170px;background:linear-gradient(#090909 0,#41230f 35px,#b98b5d 75px,#e9d8c7 118px,#f5f5f2 165px)}
@media(min-width:1600px){.hero-stage{min-height:880px}}
@media(max-width:1100px) and (min-width:761px){.hero-stage{min-height:740px}.belief .principle-list article{padding:25px!important}.belief .principle-list h3{font-size:21px}}
@media(max-width:760px){.hero-stage{min-height:810px}.hero{padding-bottom:0}.hero-background{inset:auto 0 0;height:390px;object-position:76% center}.hero-stage:before{background:linear-gradient(180deg,#090909 0%,#090909 41%,#09090922 65%,#09090988 89%,#090909 100%)}.connection-scene{position:absolute;inset:auto var(--gutter) 65px;width:calc(100% - 2*var(--gutter));height:190px;margin:0}.scene-caption{bottom:30px;font-size:7px}.focus-frame{inset:0 0 40px 40%}.statement-strip{padding-block:18px;font-size:10px}.belief{padding-top:62px;padding-bottom:56px}.belief .principle-list article{padding:25px!important;grid-template-columns:22px minmax(0,1fr)}.belief .principle-symbol{margin:0}.belief .principle-list article:after{width:58px;height:58px;right:7px;top:auto;bottom:2px;opacity:.26}.belief .principle-list p{position:relative;z-index:1}.shortlist-section{padding-top:150px;background:linear-gradient(#090909 0,#41230f 30px,#b98b5d 65px,#e9d8c7 100px,#f5f5f2 145px)}}
@media(forced-colors:active){.brand-type,.form-aside .brand-type{background:none;-webkit-text-fill-color:currentColor;filter:none}}
/* The introduction is one continuous field of amber light. */
.belief{background:radial-gradient(ellipse at 92% 40%,#e88b1b30 0%,transparent 48%),linear-gradient(180deg,#090909 0%,#090909 42%,#2a1708 64%,#8e470d 84%,#efa735 100%);gap:64px 6%;isolation:isolate}
.belief-copy{position:relative;z-index:2;align-self:center}
.belief-copy h2{margin-top:0;font-size:clamp(42px,4.7vw,72px);line-height:1.08;letter-spacing:-.045em}
.belief-lead{font-size:clamp(18px,1.5vw,21px);line-height:1.5;margin:28px 0 22px;max-width:29em;color:#f0e5d5}
.belief-copy>.belief-story{font-size:15px;line-height:1.7;max-width:35em;color:#d1c3b0}
.belief-invitations{display:grid;gap:12px;margin-top:28px;font-size:15px;line-height:1.6;color:#dacebb;max-width:32em}
.belief-invitations strong{font-weight:500;color:#f3e7d6}
.belief-copy .text-button{margin-top:18px}
.belief-portrait{min-height:590px;aspect-ratio:auto;align-self:stretch;border:0;box-shadow:none;background:none;isolation:auto;overflow:visible;mix-blend-mode:lighten}
.belief-portrait img{position:absolute;inset:0;object-fit:cover;object-position:52% center;mask-image:linear-gradient(to right,transparent 0%,#000 20%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 17%,#000 73%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 20%,#000 78%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 17%,#000 73%,transparent 100%);-webkit-mask-composite:source-in;transform:none}
.belief-portrait:hover img{transform:none}.belief-portrait:after{display:none}
.belief .principle-list{position:relative;z-index:2}
.belief .principle-list article{background:linear-gradient(140deg,#1e170fbd,#100e0bf2);border-color:#f3c77540!important}
.shortlist-section{background:linear-gradient(#efa735 0,#f3bd67 40px,#f3dec1 105px,#f5f5f2 165px)}
@media(min-width:761px) and (max-width:1100px){.belief{gap:48px 4%}.belief-copy h2{font-size:clamp(37px,4.5vw,50px)}.belief-portrait{min-height:640px}.belief-lead{font-size:18px}}
@media(max-width:760px){.belief{gap:22px;background:radial-gradient(ellipse at 90% 51%,#d87c1a3d,transparent 40%),linear-gradient(#090909 0%,#090909 38%,#2a1708 60%,#8e470d 82%,#efa735 100%)}.belief-copy h2{font-size:clamp(34px,8.7vw,54px);line-height:1.12}.belief-lead{font-size:18px;margin:22px 0 18px}.belief-copy>.belief-story{font-size:15px;line-height:1.65}.belief-invitations{font-size:14px;margin-top:22px;gap:12px}.belief-copy .text-button{margin-top:16px}.belief-portrait{min-height:0;aspect-ratio:1.06;margin-block:0 12px;align-self:auto}.belief-portrait img{object-position:center;mask-image:linear-gradient(to right,transparent,#000 13%,#000 87%,transparent),linear-gradient(to bottom,transparent,#000 15%,#000 73%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 13%,#000 87%,transparent),linear-gradient(to bottom,transparent,#000 15%,#000 73%,transparent)}.shortlist-section{background:linear-gradient(#efa735 0,#f3bd67 35px,#f3dec1 90px,#f5f5f2 145px)}}
/* Direct transition from introduction to shortlist, without principle cards. */
.belief{padding-bottom:56px;background:radial-gradient(ellipse at 92% 45%,#e88b1b30,transparent 48%),linear-gradient(180deg,#090909 0%,#090909 calc(100% - 100px),#1a100a calc(100% - 50px),#241508 100%)}
.shortlist-section{padding-top:110px;background:linear-gradient(#efa735 0,#f3bd67 30px,#f3dec1 70px,#f5f5f2 105px)}
@media(max-width:760px){.belief{padding-bottom:36px;background:radial-gradient(ellipse at 90% 76%,#d87c1a3d,transparent 40%),linear-gradient(#090909 0%,#090909 calc(100% - 130px),#1a100a calc(100% - 65px),#241508 100%)}.shortlist-section{padding-top:90px;background:linear-gradient(#efa735 0,#f3bd67 25px,#f3dec1 60px,#f5f5f2 85px)}}

/* Portraits emerge from the page; only the role labels sit on glass. */
.shortlist-section{padding-top:145px;padding-bottom:70px;color:#f6eee4;--muted:#c5b6a6;background:linear-gradient(#241508 0,#1a100b 35px,#0d0b09 75px,#090909 120px)}
.shortlist-panel{padding:0;border:0;background:none}
.shortlist-heading{padding-bottom:32px;align-items:end}
.shortlist-heading h2{color:#f6eee4;margin:0;line-height:1.08}
.shortlist-controls button{color:#f6eee4;border-color:#e4b97550;background:#ffffff06}
.shortlist-controls button:hover{background:#ffffff12}
.shortlist-card{border:0;background:transparent;aspect-ratio:3/4;min-height:400px;overflow:hidden;box-shadow:none}
.shortlist-card:after{background:linear-gradient(0deg,#090909 0%,#09090980 16%,transparent 45%);pointer-events:none}
.candidate-photo{object-fit:cover;object-position:center 28%;mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent),linear-gradient(180deg,transparent,#000 12%,#000 65%,transparent 98%);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent),linear-gradient(180deg,transparent,#000 12%,#000 65%,transparent 98%);-webkit-mask-composite:source-in}
.candidate-one .candidate-photo{object-position:center 33%}
.candidate-contact{top:18px;right:18px;color:#fff0da;z-index:2}
.candidate-content{margin:12px;width:calc(100% - 24px);padding:22px 20px;background:linear-gradient(125deg,#fff4d51c,transparent 55%),linear-gradient(180deg,#241a1073,#17120dc9);border-color:#e9c48b42;box-shadow:inset 0 1px 0 #ffe9be20,0 12px 36px #0004}
.candidate-content h3{font-size:clamp(23px,2.1vw,32px);min-height:0;line-height:1.2;text-wrap:balance;color:#fff8ee}
.candidate-tags{margin:15px 0 0;gap:8px}
.candidate-tags li{background:#ffffff05;border-color:#e8d6ba55;color:#f5e9d9}
.candidate-contact:focus-visible,.shortlist-controls button:focus-visible{outline:2px solid #ffb17a;outline-offset:-4px}

@media(min-width:761px) and (max-width:1100px){.shortlist-card{min-height:365px}.candidate-content{margin:7px;width:calc(100% - 14px);padding:18px 14px;min-height:121px}.candidate-content h3{font-size:21px}.candidate-tags li{padding-inline:9px}}
@media(max-width:760px){.shortlist-section{padding-top:120px;padding-bottom:40px;background:linear-gradient(#241508 0,#1a100b 25px,#0d0b09 60px,#090909 95px)}.shortlist-heading{padding-bottom:20px;gap:18px}.shortlist-heading h2{max-width:11em}.shortlist-card{aspect-ratio:3/4;min-height:410px}.candidate-contact{right:12px}.candidate-content{margin:8px;width:calc(100% - 16px);padding:21px 18px}.candidate-content h3{font-size:25px}}

/* A shared amber field beneath two smoked-glass choices. */
.paths{isolation:isolate;padding-block:80px 48px;background:#090909;color:#f6eee4;--muted:#d1c0aa}
.paths-resin{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.88;mask-image:linear-gradient(180deg,transparent,#000 21%,#000 69%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 21%,#000 69%,transparent)}
.paths-resin img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 52%}
.paths>.section-heading{display:block;position:relative;color:#f6eee4;margin-bottom:44px}
.paths>.section-heading h2{max-width:12em;text-wrap:balance}
.paths .path-grid{position:relative;gap:20px}
.paths .path{min-height:410px;padding:40px;background:linear-gradient(115deg,#14100cdf 0%,#161009ab 64%,#1a100873 100%);border:1px solid #e6bb7a50;box-shadow:inset 0 1px 0 #fff1d326,inset 0 -1px 0 #e2aa5020,0 20px 50px #0004;backdrop-filter:blur(12px) saturate(115%);-webkit-backdrop-filter:blur(12px) saturate(115%)}
.paths .path:before{background:linear-gradient(130deg,#fff4d314,transparent 45%,#ebb96908);pointer-events:none}
.paths .path:after{display:none}
.paths .path .eyebrow{color:#e4bd81}
.paths .path h3{color:#fff4e4;font-size:clamp(46px,4.6vw,68px);margin:24px 0 22px;line-height:1.06}
.paths .path>p:not(.eyebrow){max-width:27em;color:#f2e8db;font-size:16px;line-height:1.6;text-wrap:pretty;margin-bottom:30px}
.paths .partner-row{position:relative;margin-top:24px;color:#eadcc9}
.paths .partner-row p{color:#cdbcaa}
.paths .partner-row .text-button:hover{color:#ffdb95}
@media(min-width:761px) and (max-width:1100px){.paths .path{padding:30px;min-height:400px}.paths .path>p:not(.eyebrow){font-size:15px}}
@media(max-width:760px){.paths{padding-block:48px 28px}.paths>.section-heading{margin-bottom:30px}.paths>.section-heading h2{font-size:clamp(39px,9vw,56px);max-width:9em}.paths-resin img{object-position:57% center}.paths-resin{opacity:.8;mask-image:linear-gradient(180deg,transparent,#000 15%,#000 80%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 15%,#000 80%,transparent)}.paths .path-grid{gap:16px}.paths .path{min-height:355px;padding:30px 26px;background:linear-gradient(115deg,#14100ce8,#161009bb 64%,#1a100887)}.paths .path h3{font-size:49px}.paths .path>p:not(.eyebrow){font-size:15px}.paths .partner-row{margin-top:20px;gap:2px}}
@supports not (backdrop-filter:blur(1px)){.paths .path{background:linear-gradient(120deg,#17120ff2,#1d140de8)}}

/* A quiet ending in the same black and amber material palette. */
.closing{isolation:isolate;background:#090909;color:#fff2df;border:0;padding-block:125px 110px}
.closing-resin{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#09090990,#090909bd 48%,#09090966),url('/assets/keeper-amber-resin.webp') center 70%/cover no-repeat;opacity:.65;mask-image:linear-gradient(180deg,transparent,#000 30%,#000 65%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 65%,transparent)}
.closing h2{font-size:clamp(64px,11vw,160px);line-height:1.08;letter-spacing:-.055em;margin:0 0 40px;color:#fff2df}
.closing .button{background:#f5ead8;color:#17120c;border-color:#ffeac733;box-shadow:0 8px 30px #0004}
.closing .button:hover{background:#fff6e8}
.footer{padding-top:0;background:#090909;color:#e8d9c2;border:0}
.footer-top{padding-block:30px 34px;border:0;border-top:1px solid #d5a46730}
.footer-links{display:flex;align-items:center;gap:36px}
.footer .text-button{font-size:13px;color:#dfcfba}
.footer .text-button:hover{color:#fff2df}
.footer .brand-type{font-size:46px}
@media(max-width:760px){.closing{padding-block:84px 76px}.closing h2{font-size:clamp(49px,11vw,80px);letter-spacing:-.055em;margin-bottom:30px}.closing-resin{background-position:center,60% center;opacity:.55}.footer-top{padding-block:24px;gap:16px;flex-wrap:wrap}.footer .brand-type{font-size:34px}.footer-links{gap:22px}.footer .text-button{font-size:12px}.footer .text-button .ui-icon{width:17px;height:17px}.footer-links .text-button{gap:8px}}

/* Unified approach copy and actionable glass invitations */
.belief-copy{min-width:0}
.belief-copy>.belief-story{max-width:100%;text-wrap:pretty;overflow-wrap:break-word}
.belief-invitations{max-width:none;gap:10px;margin-top:28px}
.belief-invitation{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:88px;padding:19px 20px;text-align:left;font:inherit;color:#f7efe2;border:1px solid #e8b76d40;border-radius:12px;background:linear-gradient(115deg,#b77d3029,#ffffff06);box-shadow:inset 0 1px 0 #fff3d51a,0 8px 28px #0002;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);cursor:pointer;transition:background .2s,border-color .2s}
.belief-invitation>span:first-child{min-width:0;display:grid;gap:4px}
.belief-invitation strong{font-size:17px;line-height:1.35;font-weight:500;color:#fff5e6}
.belief-invitation>span>span{font-size:14px;line-height:1.45;color:#d9cbb6}
.invitation-arrow{display:grid;place-items:center;flex:0 0 40px;height:40px;background:#e8b76d;color:#171009;font-size:24px;border-radius:6px}
.belief-invitation:hover{border-color:#edbb78;background:linear-gradient(115deg,#b77d3045,#ffffff0c)}
.belief-invitation:focus-visible{outline:2px solid #ffe0a7;outline-offset:4px}
.belief-copy>.text-button{margin-top:22px;font-size:13px}
@media(max-width:760px){.belief-invitations{margin-top:24px}.belief-invitation{padding:16px;gap:12px}.belief-invitation strong{font-size:16px}.belief-copy>.belief-story{width:100%;max-width:100%;font-size:15px}.belief-copy>.text-button{margin-top:20px}}

/* Amber caustics surround the original, unchanged hero portrait. */
.hero-amber-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 79% 31%,#ffb32b42,transparent 32%),radial-gradient(ellipse at 92% 70%,#d77a142b,transparent 33%);mix-blend-mode:screen;mask-image:linear-gradient(90deg,transparent 38%,#000 70%),linear-gradient(0deg,transparent,#000 22%,#000 85%,transparent);mask-composite:intersect}
.hero-amber-light:before{content:'';position:absolute;inset:0 0 0 40%;background:url('/assets/keeper-amber-resin.webp') 60% center/cover no-repeat;opacity:.32;mix-blend-mode:screen;mask-image:radial-gradient(ellipse at 75% 55%,#000 10%,transparent 72%)}
.hero-amber-light:after{content:'';position:absolute;inset:0;background:linear-gradient(111deg,transparent 59%,#ffbf5720 61%,#ffe4a752 61.15%,transparent 61.6%,transparent 84%,#ffba4b25 85%,transparent 86%);opacity:.8;mask-image:linear-gradient(transparent 5%,#000 35%,#000 65%,transparent 94%)}
@media(max-width:760px){.hero-amber-light{inset:auto 0 0;height:390px;mask-image:linear-gradient(180deg,transparent,#000 23%,#000 72%,transparent);background:radial-gradient(ellipse at 75% 45%,#ffb32b50,transparent 65%)}.hero-amber-light:before{inset:0;opacity:.28}}

/* Final visual QA: continuous surfaces and consistent controls. */
.belief{background:radial-gradient(ellipse at 85% 45%,#7a3e172b 0%,transparent 60%),#090909}
.shortlist-section{background:#090909;padding-top:72px}
.belief-invitation,.invitation-arrow{border-radius:0}
.hero-actions .button>span,.invitation-arrow{color:#171009}
.shortlist-controls button:disabled{cursor:default}
.hero-detail,.scene-caption{color:#cfc4b4}
.footer-links .text-button{min-height:44px}
.belief-copy h2,.section-heading h2{overflow-wrap:normal}
@media(max-width:760px){.belief{padding-bottom:20px;background:radial-gradient(ellipse at 85% 58%,#7a3e172b,transparent 65%),#090909}.shortlist-section{padding-top:56px}.hero-detail{font-size:12px;line-height:1.5}.scene-caption{font-size:8px}}
@supports not (backdrop-filter:blur(1px)){.belief-invitation,.candidate-content{background:#211910}}

/* Motion: a camera pulling a person into focus. All of it switches off under prefers-reduced-motion (rule in keeper.css). */
:root{--viewfinder-c:var(--yellow);--viewfinder:
 linear-gradient(var(--viewfinder-c),var(--viewfinder-c)) 0 0/18px 1.5px no-repeat,linear-gradient(var(--viewfinder-c),var(--viewfinder-c)) 0 0/1.5px 18px no-repeat,
 linear-gradient(var(--viewfinder-c),var(--viewfinder-c)) 100% 0/18px 1.5px no-repeat,linear-gradient(var(--viewfinder-c),var(--viewfinder-c)) 100% 0/1.5px 18px no-repeat,
 linear-gradient(var(--viewfinder-c),var(--viewfinder-c)) 0 100%/18px 1.5px no-repeat,linear-gradient(var(--viewfinder-c),var(--viewfinder-c)) 0 100%/1.5px 18px no-repeat,
 linear-gradient(var(--viewfinder-c),var(--viewfinder-c)) 100% 100%/18px 1.5px no-repeat,linear-gradient(var(--viewfinder-c),var(--viewfinder-c)) 100% 100%/1.5px 18px no-repeat}

/* 1. Hero: the lens finds focus, then the frame locks on */
.hero-background{animation:focus-pull 1.6s var(--ease) both}
@keyframes focus-pull{from{filter:blur(18px) saturate(.6) brightness(.75);transform:scale(1.06)}60%{filter:blur(2px) saturate(.95)}to{filter:none;transform:none}}
.focus-frame{animation:frame-lock .9s var(--ease) .75s both}
@keyframes frame-lock{from{opacity:0;transform:scale(1.18)}70%{opacity:1;transform:scale(.985)}to{opacity:1;transform:none}}
.focus-frame>span{animation:corner-flash .5s ease-out 1.5s both}
@keyframes corner-flash{0%,100%{background:var(--orange)}35%{background:var(--yellow);box-shadow:0 0 14px var(--yellow)}}
.scene-caption{animation:caption-in .7s var(--ease) 1.65s both}
@keyframes caption-in{from{opacity:0;letter-spacing:.32em}to{opacity:1}}

/* 5. Shortlist: a viewfinder lands on the card in focus, the others step back */
.shortlist-card:before{content:'';position:absolute;inset:-14px;z-index:2;pointer-events:none;background:var(--viewfinder);opacity:0;transition:inset .45s var(--ease),opacity .3s}
.shortlist-card:is(:hover,:focus-within,.is-focused):before{inset:14px;opacity:1}
.candidate-photo{transition:transform .7s var(--ease),filter .45s}
@media(hover:hover){.shortlist-track:hover .shortlist-card:not(:hover) .candidate-photo{filter:saturate(.35) brightness(.6)}}

/* 8. Closing: the headline fills in as it scrolls into view (class set by JS) */
.fill-on-scroll .closing h2{--fill:0%;color:transparent;-webkit-background-clip:text;background-clip:text;
 background-image:linear-gradient(100deg,#fff2df calc(var(--fill) - 12%),#fff2df2e calc(var(--fill) + 12%))}

/* 10. Success: the frame closes around the check */
.success-symbol{position:relative}
.success-symbol:before{content:'';position:absolute;inset:-34px;background:var(--viewfinder);opacity:0;animation:frame-close .7s var(--ease) .1s both}
@keyframes frame-close{to{inset:-12px;opacity:1}}
.success-symbol path{stroke-dasharray:24;stroke-dashoffset:24;animation:check-draw .45s ease-out .65s forwards}
@keyframes check-draw{to{stroke-dashoffset:0}}
#success-panel>*:not(.success-symbol){animation:arrive .55s var(--ease) .8s both}
@media(prefers-reduced-motion:reduce){.success-symbol:before{inset:-12px;opacity:1}.success-symbol path{stroke-dashoffset:0}}
/* Motion 2: cursor light, parallax, arrow fly-through, magnetic CTA */
.hero-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .6s;background:radial-gradient(520px circle at var(--gx,70%) var(--gy,40%),#ffb84a2e,#ff8a2412 38%,transparent 70%);mix-blend-mode:screen}
.pointer-fx .hero-stage:hover .hero-glow{opacity:1}
.pointer-fx .hero-background{scale:1.04;translate:calc(var(--px,0)*-14px) calc(var(--py,0)*-9px);transition:translate .9s cubic-bezier(.2,.7,.2,1)}
.pointer-fx .focus-frame{translate:calc(var(--px,0)*8px) calc(var(--py,0)*6px);transition:translate .9s cubic-bezier(.2,.7,.2,1)}
.button>span,.invitation-arrow,.candidate-contact{overflow:hidden}
:is(.button,.belief-invitation,.candidate-contact,.text-button):hover svg:has(path[d^="M6 18 18 6"]){animation:arrow-fly .5s cubic-bezier(.6,0,.2,1)}
.button:not(:has(>span)):hover:after{animation:arrow-fly-bg .5s cubic-bezier(.6,0,.2,1)}
@keyframes arrow-fly{45%{translate:130% -130%;opacity:0}46%{translate:-130% 130%;opacity:0}to{translate:0 0;opacity:1}}
@keyframes arrow-fly-bg{45%{background-position:calc(50% + 40px) calc(50% - 40px)}46%{background-position:calc(50% - 40px) calc(50% + 40px)}to{background-position:center}}
.pointer-fx .closing .button{translate:var(--mx,0) var(--my,0);transition:translate .5s cubic-bezier(.2,.7,.2,1),background .2s}
