@charset "UTF-8";
:root{color-scheme:light;--bg:#fbfaff;--surface:#fff;--ink:#29243c;--muted:#716d83;--line:#e9e4f4;--purple:#7964c8;--purple-dark:#5f4aa8;--lavender:#eee9ff;--lavender-2:#f5f1ff;--pink:#f6e5f1;--mint:#e2f3ee;--peach:#fff0e8;--yellow:#fff5d7;--shadow:0 18px 50px #49377812;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.65;overflow-wrap:anywhere}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a99be8;outline-offset:4px}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.section{padding:104px 0}.announcement{min-height:38px;display:flex;justify-content:center;align-items:center;gap:22px;padding:7px 16px;background:#eee9ff;color:#594b91;font-size:.76rem;font-weight:700;text-align:center}.announcement span{display:flex;align-items:center;gap:8px}.announcement a{display:inline-flex;align-items:center;gap:7px;color:#6a54b6}.site-header{position:sticky;top:0;z-index:1000;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.nav{min-height:84px;display:flex;align-items:center;gap:26px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;font:800 1.45rem/1 Manrope,sans-serif;letter-spacing:-.07em}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:var(--purple);color:white;font-size:1rem;transform:rotate(-7deg)}.brand>span:last-child{display:flex;flex-direction:column;gap:5px}.brand-dot{color:var(--purple);display:inline}.brand small{font:700 .48rem/1 "DM Sans",sans-serif;letter-spacing:.12em;color:var(--muted)}.nav-links{display:flex;align-items:center;gap:clamp(14px,2.2vw,29px);margin-left:auto}.nav-links>a{font-size:.8rem;font-weight:700;color:var(--muted);white-space:nowrap;transition:color .2s}.nav-links>a:hover,.nav-links>a.active{color:var(--purple)}.nav-links .nav-cta{padding:12px 17px;border-radius:999px;background:var(--purple);color:#fff;box-shadow:0 7px 18px #7964c82c}.nav-cta i{margin-left:6px;font-size:.7rem}.tools{display:flex;align-items:center;gap:7px}.icon-button,.menu-toggle{width:38px;height:38px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:50%;display:grid;place-items:center;cursor:pointer}.rtl-toggle{font-weight:700;font-size:.82rem}.menu-toggle{display:none}.hero{min-height:660px;padding-top:76px;padding-bottom:34px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;column-gap:42px;position:relative}.hero-copy{max-width:590px;position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--purple);font-size:.68rem;font-weight:800;letter-spacing:.12em;line-height:1.4}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#9a86e6;box-shadow:0 0 0 5px var(--lavender)}h1,h2,h3,p{margin-top:0}.hero h1{font:800 clamp(3.2rem,5.6vw,5.2rem)/1.02 Manrope,sans-serif;letter-spacing:-.075em;margin:24px 0 22px}.hero h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple);letter-spacing:-.06em}.lede{max-width:470px;color:var(--muted);font-size:1.04rem;line-height:1.85}.lede strong{color:var(--ink)}.actions{display:flex;align-items:center;gap:24px;margin:28px 0 32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:50px;padding:13px 21px;border-radius:999px;font-size:.82rem;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer}.button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #7964c82b}.primary{background:var(--purple);color:white}.primary:hover{background:var(--purple-dark)}.watch-link{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:800}.watch-link>span{display:grid;place-items:center;width:34px;height:34px;background:var(--lavender);color:var(--purple);border-radius:50%;font-size:.65rem}.proof{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.avatars{display:flex;padding-left:4px}.avatars img{width:34px;height:34px;object-fit:cover;border-radius:50%;border:3px solid var(--bg);margin-left:-7px}.proof-copy{display:flex;flex-direction:column;line-height:1.4}.proof-copy strong{font-size:.72rem}.proof-copy small,.rating small{font-size:.65rem;color:var(--muted)}.rating{display:flex;flex-direction:column;gap:0;margin-left:8px;padding-left:17px;border-left:1px solid var(--line)}.rating b{font-size:.78rem;letter-spacing:1px;color:#edaa53}.hero-art{height:475px;position:relative;min-width:0}.hero-halo{position:absolute;inset:20px 10px 15px 40px;background:var(--lavender);border-radius:48% 52% 43% 57%/43% 42% 58% 57%;transform:rotate(5deg)}.hero-photo{position:absolute;inset:25px 30px 24px 42px;border-radius:46% 46% 28px 28px;overflow:hidden;transform:rotate(2deg);box-shadow:0 25px 60px #3e2d7126}.hero-photo img{width:100%;height:100%;object-fit:cover}.photo-sticker,.float-card{position:absolute;display:flex;align-items:center;gap:11px;background:var(--surface);box-shadow:var(--shadow);border:1px solid #fff;border-radius:17px;padding:13px 16px}.photo-sticker{left:0;bottom:45px}.photo-sticker>span,.float-icon,.check-icon{width:39px;height:39px;border-radius:13px;background:var(--lavender);color:var(--purple);display:grid;place-items:center;flex-shrink:0}.photo-sticker div,.float-card div{display:flex;flex-direction:column;line-height:1.45}.photo-sticker b,.bottom-card b{font-size:.78rem}.photo-sticker small,.bottom-card small{font-size:.67rem;color:var(--muted)}.top-card{right:0;top:40px}.top-card small{font-size:.57rem;color:var(--muted);font-weight:800;letter-spacing:.08em}.top-card b{font-size:.75rem}.bottom-card{right:-4px;bottom:20px}.check-icon{background:var(--mint);color:#438d79;border-radius:50%;width:33px;height:33px}.hero-spark{position:absolute;color:#9d8be0}.spark-one{top:0;left:18px;font-size:2rem}.spark-two{right:8px;bottom:105px;font-size:1.7rem}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:22px;margin-top:16px;color:var(--muted);font-size:.72rem;font-weight:700}.hero-foot span{display:flex;align-items:center;gap:8px}.hero-foot i{color:var(--purple)}.trust-strip{background:var(--surface);border-block:1px solid var(--line)}.trust-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.trust-inner>span{font-size:.62rem;font-weight:800;letter-spacing:.11em;color:#938ba8}.trust-inner>div{display:flex;align-items:center;gap:9px;font-size:.76rem;font-weight:700;color:var(--muted)}.trust-inner i{color:var(--purple);font-size:1rem}.destinations{background:var(--surface)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-heading h2,.two-col h2,.faq h2{font:800 clamp(2.3rem,4vw,3.55rem)/1.13 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 0}.section-heading>p{max-width:370px;color:var(--muted);font-size:.88rem;margin-bottom:4px}.destination-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;grid-template-rows:220px 220px;gap:16px}.destination{position:relative;overflow:hidden;border-radius:21px;min-width:0;background:var(--lavender)}.destination.large{grid-row:span 2}.destination img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.destination:hover img{transform:scale(1.055)}.destination:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#161224c9);pointer-events:none}.tag{position:absolute;z-index:1;top:16px;left:16px;background:#fff;color:#55487d;padding:7px 11px;border-radius:999px;font-size:.62rem;font-weight:800}.destination-label{position:absolute;z-index:1;left:18px;right:18px;bottom:18px;display:flex;align-items:end;justify-content:space-between;gap:10px;color:white}.destination-label span{display:flex;flex-direction:column;min-width:0}.destination-label small{font-size:.58rem;letter-spacing:.1em;font-weight:800;opacity:.8}.destination-label b{font:700 1.15rem Manrope,sans-serif;overflow-wrap:anywhere}.destination-label>i{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff90;border-radius:50%;font-size:.75rem;flex-shrink:0}.center{text-align:center;margin:28px 0 0}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--purple);font-size:.8rem;font-weight:800}.text-link i{transition:transform .2s}.text-link:hover i{transform:translateX(4px)}.approach{overflow:hidden}.two-col{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(45px,8vw,100px)}.approach-art{min-height:480px;position:relative}.approach-art>img{width:90%;height:455px;object-fit:cover;border-radius:46% 46% 22px 22px;box-shadow:var(--shadow)}.note{position:absolute;right:0;bottom:24px;width:min(245px,68%);padding:19px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:5px}.note-heart{width:33px;height:33px;display:grid;place-items:center;background:var(--pink);color:#bc6d9e;border-radius:11px;margin-bottom:4px}.note b{font-size:.86rem}.note small{font-size:.72rem;color:var(--muted)}.art-sticker{position:absolute;top:24px;right:2px;transform:rotate(8deg);background:var(--lavender);color:var(--purple);padding:10px 13px;border-radius:12px;font:italic 1rem Georgia,serif}.approach-copy h2{margin:15px 0 19px}.muted{color:var(--muted)}.approach-copy>p{font-size:.9rem;line-height:1.85;max-width:510px}.value-list{margin:26px 0}.value-list>div{display:grid;grid-template-columns:34px 1fr 18px;align-items:start;gap:13px;padding:16px 0;border-bottom:1px solid var(--line)}.value-list>div>span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--lavender);color:var(--purple);font-size:.68rem;font-weight:800}.value-list section b{font-size:.84rem}.value-list section p{font-size:.76rem;color:var(--muted);margin:4px 0 0}.value-list>div>i{font-size:.72rem;color:#a49abf;margin-top:8px}.outline{border:1px solid #d6ccef;color:var(--purple);background:transparent}.steps{background:var(--lavender-2)}.centered{justify-content:center;text-align:center}.centered p{margin:12px 0 0;color:var(--muted);font-size:.85rem}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:42px}.steps-grid article{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px 21px;min-width:0;transition:transform .25s,box-shadow .25s}.steps-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.step-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;font-size:1.05rem;margin-bottom:23px}.mint{background:var(--mint);color:#418b77}.peach{background:var(--peach);color:#c67a59}.lilac{background:var(--lavender);color:var(--purple)}.yellow{background:var(--yellow);color:#b18b32}.steps-grid article>small{font-size:.6rem;font-weight:800;letter-spacing:.12em;color:var(--purple)}.steps-grid h3{font:700 1.05rem Manrope,sans-serif;margin:9px 0}.steps-grid p{font-size:.78rem;color:var(--muted);margin:0;line-height:1.75}.story{background:var(--surface)}.story-panel{display:grid;grid-template-columns:1fr .9fr;background:var(--lavender-2);border:1px solid var(--line);border-radius:28px;overflow:hidden;min-height:430px}.story-copy{padding:clamp(30px,5vw,62px);align-self:center}.story-copy h2{font:700 clamp(2rem,3.5vw,3rem)/1.16 Manrope,sans-serif;letter-spacing:-.065em;margin:18px 0}.story-copy>p{color:var(--muted);font-size:.88rem;line-height:1.8}.person{display:flex;align-items:center;gap:12px;margin:23px 0}.person img{width:46px;height:46px;object-fit:cover;border-radius:50%;border:3px solid white}.person span{display:flex;flex-direction:column;line-height:1.5}.person b{font-size:.82rem}.person small{font-size:.7rem;color:var(--muted)}.story-photo{position:relative;min-height:420px}.story-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.count-badge{position:absolute;left:-18px;bottom:28px;background:var(--purple);color:white;padding:15px 20px;border-radius:16px;display:flex;flex-direction:column;transform:rotate(-4deg);box-shadow:0 12px 30px #44317b40}.count-badge b{font:800 1.25rem Manrope,sans-serif}.count-badge small{font-size:.69rem;line-height:1.4;color:#eee8ff}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,95px)}.faq h2{margin:15px 0}.faq-grid>div:first-child>p{font-size:.9rem;max-width:450px;margin:20px 0}.faq-list details{padding:19px 0;border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;font-size:.91rem;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary i{color:var(--purple);font-size:.75rem;transition:transform .2s;flex-shrink:0}.faq-list details[open] summary i{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:.83rem;margin:10px 25px 0 0;line-height:1.8}.cta{background:#7460bd;color:white;padding:86px 0;text-align:center;position:relative;overflow:hidden}.cta:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 120%,#a99be866,transparent 55%),radial-gradient(ellipse at 8% 0%,#a99be833,transparent 40%)}.cta-orbit{position:absolute;border:1px solid #ffffff25;border-radius:50%;pointer-events:none}.orbit-one{width:360px;height:360px;left:-170px;top:-130px;box-shadow:0 0 0 30px #ffffff08,0 0 0 60px #ffffff06}.orbit-two{width:440px;height:440px;right:-210px;bottom:-280px;box-shadow:0 0 0 30px #ffffff08,0 0 0 60px #ffffff06}.cta .container{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column}.cta-spark{font-size:1.8rem;color:#f7d6f0}.cta .eyebrow{color:#e9e2ff}.cta h2{font:800 clamp(3rem,6vw,5rem)/1.02 Manrope,sans-serif;letter-spacing:-.075em;margin:16px 0}.cta h2 em{color:#f3d9f0}.cta p{max-width:480px;color:#eee9ff;margin:0 0 25px;font-size:.92rem}.light{background:white;color:#6652ac}.cta .container>small{margin-top:13px;color:#e2dcff;font-size:.7rem}.footer{background:#f3f0fc}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .85fr 1fr;gap:35px;padding-top:58px;padding-bottom:45px}.footer-brand-col>p{max-width:280px;color:var(--muted);font-size:.81rem;margin:18px 0}.socials{display:flex;gap:8px}.socials a{width:35px;height:35px;border:1px solid #ded7f0;border-radius:50%;display:grid;place-items:center;color:var(--purple);font-size:.78rem;transition:background .2s,color .2s}.socials a:hover{background:var(--purple);color:white}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:.79rem}.footer-col>b{font-size:.84rem;margin:3px 0 7px}.footer-col a{color:var(--muted)}.footer-col a:hover,.footer-bottom a:hover{color:var(--purple)}.footer-note{align-self:start;background:#e8e1fb;border-radius:18px;padding:19px}.footer-note .eyebrow{font-size:.6rem}.footer-note p{font:1.1rem/1.5 Georgia,serif;margin:12px 0;color:#4b416f}.footer-note>b{font-size:.76rem;color:var(--purple-dark)}.footer-note>b i{color:#c276a8}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0 20px;border-top:1px solid #ded7f0;color:var(--muted);font-size:.68rem}.footer-bottom>div{display:flex;align-items:center;gap:18px}.footer-theme{border:0;background:none;color:inherit;cursor:pointer;font-size:inherit}.back-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border:0;border-radius:15px;background:var(--purple);color:white;box-shadow:var(--shadow);z-index:900;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;cursor:pointer}.back-top.visible{opacity:1;visibility:visible;transform:none}
@media(max-width:1100px){.nav{gap:13px}.nav-links{gap:14px}.nav-links>a{font-size:.75rem}.nav-links .nav-cta{padding:11px 13px}.hero{column-gap:24px}.hero-art{height:430px}.hero h1{font-size:clamp(3rem,6vw,4.5rem)}.destination-grid{grid-template-rows:205px 205px}.footer-grid{gap:22px}}
@media(max-width:850px){.section{padding:78px 0}.nav{min-height:74px}.menu-toggle{display:grid;margin-left:auto}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:14px 24px 22px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 18px 24px #30235b12;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links>a{padding:12px 0;font-size:.86rem}.nav-links .nav-cta{text-align:center;margin-top:8px;padding:13px}.tools{gap:6px}.hero{min-height:0;padding-top:55px;grid-template-columns:1fr;gap:15px}.hero-copy{max-width:700px}.hero h1{font-size:clamp(3.5rem,9vw,5rem)}.hero-art{width:min(560px,94%);height:440px;margin:15px auto 0}.hero-foot{margin-top:25px;flex-wrap:wrap;justify-content:flex-start;gap:14px 24px}.hero-foot span{width:calc(50% - 12px)}.trust-inner{padding-block:18px;justify-content:center}.trust-inner>span{width:100%;text-align:center}.section-heading{align-items:flex-start;flex-direction:column;gap:10px}.section-heading>p{max-width:550px}.destination-grid{grid-template-columns:1fr 1fr;grid-template-rows:270px 200px}.destination.large{grid-row:span 2}.two-col{grid-template-columns:1fr;gap:40px}.approach-art{width:min(600px,100%);min-height:420px;margin:auto}.approach-art>img{height:410px}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-panel{grid-template-columns:1fr .8fr}.story-copy{padding:30px}.story-photo{min-height:430px}.faq-grid{grid-template-columns:1fr;gap:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:560px){.container{width:calc(100% - 36px)}.announcement{font-size:.65rem;gap:8px;padding:8px 10px;flex-wrap:wrap}.announcement span{gap:5px}.nav{min-height:67px;gap:7px}.brand{font-size:1.24rem;gap:8px}.brand-icon{width:34px;height:34px;border-radius:12px}.brand small{font-size:.4rem}.tools{gap:4px}.icon-button,.menu-toggle{width:33px;height:33px}.hero{padding-top:42px}.hero h1{font-size:clamp(2.8rem,12vw,4rem);margin:20px 0}.lede{font-size:.94rem}.actions{gap:14px;flex-wrap:wrap;margin:24px 0}.button{min-height:46px;padding:11px 15px;font-size:.77rem}.proof{gap:8px}.proof-copy strong{font-size:.66rem}.proof-copy small{font-size:.6rem}.rating{margin-left:0;padding-left:10px}.rating small{font-size:.57rem}.hero-art{height:340px;width:94%;margin-top:18px}.hero-halo{inset:13px 0 13px 20px}.hero-photo{inset:20px 15px 18px 24px;border-radius:45% 45% 22px 22px}.photo-sticker{left:-7px;bottom:27px;padding:9px 10px;gap:8px}.photo-sticker>span{width:31px;height:31px}.photo-sticker b,.bottom-card b{font-size:.68rem}.photo-sticker small,.bottom-card small{font-size:.58rem}.top-card{right:-6px;top:7px;padding:9px 10px;gap:7px}.float-icon{width:29px;height:29px}.top-card b{font-size:.6rem}.top-card small{font-size:.49rem}.bottom-card{right:-5px;bottom:4px;padding:9px;gap:7px}.check-icon{width:27px;height:27px}.spark-one{left:0;font-size:1.5rem}.spark-two{right:0;bottom:80px}.hero-foot{gap:11px;margin-top:20px;padding-top:16px}.hero-foot span{width:100%;font-size:.7rem}.trust-inner{gap:12px}.trust-inner>div{font-size:.68rem}.section{padding:60px 0}.section-heading h2,.two-col h2,.faq h2{font-size:clamp(2.1rem,9.5vw,3rem)}.destination-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 165px 165px;gap:10px}.destination.large{grid-column:span 2;grid-row:auto}.destination{border-radius:15px;min-height:0}.destination-label{left:11px;right:10px;bottom:12px}.destination-label b{font-size:.85rem}.destination-label small{font-size:.48rem}.destination-label>i{width:29px;height:29px;font-size:.6rem}.tag{left:11px;top:11px;font-size:.55rem}.approach-art{min-height:335px}.approach-art>img{height:325px;width:91%}.note{width:175px;padding:14px;bottom:14px}.note b{font-size:.78rem}.note small{font-size:.64rem}.art-sticker{right:0;top:12px;font-size:.82rem}.value-list>div{grid-template-columns:29px 1fr 13px;gap:9px}.value-list section b{font-size:.8rem}.value-list section p{font-size:.72rem}.steps-grid{gap:10px;margin-top:27px}.steps-grid article{padding:17px 13px;border-radius:15px}.step-icon{width:43px;height:43px;margin-bottom:15px}.steps-grid h3{font-size:.93rem}.steps-grid p{font-size:.71rem}.story-panel{grid-template-columns:1fr}.story-copy{padding:27px 22px}.story-copy h2{font-size:2rem}.story-photo{min-height:285px}.count-badge{left:13px;bottom:14px}.faq-list summary{font-size:.83rem}.cta{padding:62px 0}.cta h2{font-size:clamp(2.7rem,11vw,3.7rem)}.cta p{font-size:.84rem}.footer-grid{gap:25px 16px;padding-top:42px}.footer-brand-col,.footer-note{grid-column:span 2}.footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}.footer-bottom>div{gap:14px;flex-wrap:wrap}.back-top{right:13px;bottom:13px;width:40px;height:40px}}
@media(max-width:380px){.container{width:calc(100% - 28px)}.brand{font-size:1.12rem;gap:6px}.brand-icon{width:30px;height:30px}.brand small{font-size:.35rem;letter-spacing:.08em}.tools{gap:3px}.icon-button,.menu-toggle{width:30px;height:30px}.hero h1{font-size:2.65rem}.actions{align-items:flex-start;flex-direction:column}.hero-art{height:295px}.proof{align-items:flex-start}.rating{border:0;padding:0;width:100%}.destination-grid{grid-template-rows:210px 150px 150px}.destination-label b{font-size:.78rem}.steps-grid article{padding:14px 10px}.steps-grid h3{font-size:.86rem}.story-copy h2{font-size:1.8rem}.trust-inner>div{width:100%;justify-content:center}}
@media(min-width:851px) and (max-width:1024px){.nav-links{gap:10px}.nav-links>a{font-size:.69rem}.brand{font-size:1.25rem}.brand-icon{width:37px;height:37px}.hero{min-height:620px}.hero-art{height:390px}.hero h1{font-size:3.55rem}.destination-label b{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-aos]{opacity:1!important;transform:none!important}}

/* Readability improvements and four additional homepage sections */
.announcement{font-size:.88rem}.nav-links>a{font-size:.9rem}.eyebrow{font-size:.78rem}.section-heading>p,.muted{font-size:1.06rem;line-height:1.85}.section-heading h2,.two-col h2,.faq h2{font-size:clamp(2.65rem,4.2vw,3.65rem);line-height:1.12}.hero .eyebrow{font-size:.8rem}.proof-copy strong{font-size:.86rem}.proof-copy small,.rating small{font-size:.76rem}.hero-foot span{font-size:.87rem}.trust-inner>span{font-size:.76rem}.trust-inner>div{font-size:.91rem}.destination-label b{font-size:1.18rem}.destination-label small{font-size:.72rem}.tag{font-size:.75rem}.value-list section b{font-size:1rem}.value-list section p{font-size:.91rem;line-height:1.7}.steps-grid article>small{font-size:.75rem}.steps-grid h3{font-size:1.15rem}.steps-grid p{font-size:.91rem;line-height:1.75}.story-copy>p{font-size:1rem;line-height:1.8}.person b{font-size:.9rem}.person small{font-size:.78rem}.faq-list summary{font-size:1.04rem}.faq-list details p{font-size:.96rem;line-height:1.8}.cta p{font-size:1.05rem;line-height:1.8}.footer-brand-col>p{font-size:.92rem;line-height:1.8}.footer-col{font-size:.9rem}.footer-col>b{font-size:.98rem}.footer-note p{font-size:1.2rem}.footer-bottom{font-size:.78rem}.announcement a,.text-link{font-size:.94rem}
.funding-section{background:var(--lavender-2)}.funding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px}.funding-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 12px 35px #49377809;transition:transform .25s,box-shadow .25s}.funding-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.funding-feature{background:#eae4ff}.new-section-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:#dcd3ff;color:#6650b5;font-size:1.3rem;margin-bottom:24px}.mint-icon{background:var(--mint);color:#397b69}.peach-icon{background:var(--peach);color:#a7674c}.card-kicker{display:block;font-size:.78rem;font-weight:800;letter-spacing:.1em;color:var(--purple);margin-bottom:10px}.funding-card h3,.support-list h3,.moment-card h3{font:800 1.35rem/1.3 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 12px}.funding-card p,.support-copy>p,.support-list p,.moment-card p,.checklist-intro>p{font-size:1rem;line-height:1.8;color:var(--muted)}.funding-card .text-link{display:inline-flex;margin-top:9px}.funding-note{display:flex;align-items:flex-start;gap:10px;margin:24px 0 0;font-size:.9rem;line-height:1.7;color:var(--muted)}.funding-note i{color:var(--purple);margin-top:5px}.support-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,90px);align-items:center;background:var(--lavender-2);border-radius:30px;padding:clamp(28px,5vw,62px)}.support-copy h2,.checklist-intro h2{font:800 clamp(2.6rem,4vw,3.5rem)/1.12 Manrope,sans-serif;letter-spacing:-.07em;margin:18px 0}.support-copy h2 em,.checklist-intro h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple)}.support-copy .button{margin-top:12px}.support-list{display:flex;flex-direction:column;gap:0}.support-list>div{display:grid;grid-template-columns:48px 1fr 20px;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.support-list>div:first-child{border-top:1px solid var(--line)}.support-list>div>span{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:var(--surface);color:var(--purple);font-size:1.15rem}.support-list h3{font-size:1.08rem;margin:0 0 4px}.support-list p{font-size:.92rem;margin:0}.support-check{color:#45917e}.checklist-section{background:var(--surface)}.checklist-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,8vw,100px);align-items:start}.checklist-intro>p{max-width:430px}.checklist-progress{margin-top:35px;max-width:400px}.checklist-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:.9rem}.checklist-progress strong{color:var(--purple)}.progress-track{height:10px;background:var(--lavender);border-radius:999px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--purple);transition:width .25s}.checklist-items{background:var(--bg);border:1px solid var(--line);padding:12px 26px;border-radius:24px}.checklist-item{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer}.checklist-item input{position:absolute;opacity:0;width:1px;height:1px}.custom-check{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border:2px solid #c8c0e4;border-radius:8px;color:transparent;transition:.2s}.custom-check i{font-size:.8rem}.checklist-item input:checked+.custom-check{background:var(--purple);border-color:var(--purple);color:white}.checklist-item input:focus-visible+.custom-check{outline:3px solid #a99be8;outline-offset:3px}.checklist-item>span:last-child{display:flex;flex-direction:column;gap:3px}.checklist-item b{font-size:1rem}.checklist-item small{font-size:.88rem;color:var(--muted)}.checklist-item:has(input:checked) b{color:var(--purple)}.checklist-finish{font-size:.9rem;color:var(--purple);font-weight:700;margin:17px 0 8px}.moments-section{background:var(--lavender-2)}.moments-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;margin-top:42px}.moment-card{background:var(--surface);border-radius:22px;overflow:hidden;border:1px solid var(--line);transition:transform .25s}.moment-card:hover{transform:translateY(-5px)}.moment-card img{width:100%;height:220px;object-fit:cover}.moment-campus img{height:250px}.moment-card>div{padding:23px}.moment-card>div>span{font-size:.76rem;font-weight:800;letter-spacing:.08em;color:var(--purple)}.moment-card h3{margin-top:10px}.moment-card p{font-size:.94rem;margin:0}
html[data-theme="dark"] .funding-section,html[data-theme="dark"] .moments-section{background:#1d1a2a}html[data-theme="dark"] .funding-feature{background:#302745}html[data-theme="dark"] .funding-card,html[data-theme="dark"] .moment-card,html[data-theme="dark"] .checklist-items{background:var(--surface)}html[data-theme="dark"] .support-panel{background:#211e30}html[data-theme="dark"] .custom-check{border-color:#746b91}html[data-theme="dark"] .progress-track{background:#39314f}
@media(max-width:850px){.funding-grid{grid-template-columns:1fr 1fr}.funding-card:first-child{grid-column:span 2}.support-panel,.checklist-layout{grid-template-columns:1fr;gap:35px}.moments-grid{grid-template-columns:1fr 1fr}.moment-card:first-child{grid-column:span 2}.section-heading>p,.muted{font-size:1.02rem}}
@media(max-width:560px){.announcement{font-size:.78rem}.nav-links>a{font-size:.95rem}.eyebrow{font-size:.73rem}.section-heading h2,.two-col h2,.faq h2{font-size:clamp(2.35rem,9vw,3rem)}.hero-foot span{font-size:.82rem}.trust-inner>div{font-size:.8rem}.destination-label b{font-size:.91rem}.destination-label small{font-size:.58rem}.steps-grid h3{font-size:1rem}.steps-grid p{font-size:.84rem}.faq-list summary{font-size:.95rem}.faq-list details p{font-size:.9rem}.funding-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}.funding-card:first-child{grid-column:auto}.funding-card{padding:24px}.funding-card h3{font-size:1.25rem}.funding-card p,.support-copy>p,.support-list p,.moment-card p,.checklist-intro>p{font-size:.94rem}.support-panel{padding:25px 20px;border-radius:22px}.support-list>div{grid-template-columns:40px 1fr 16px;gap:11px;padding:16px 0}.support-list>div>span{width:39px;height:39px;font-size:1rem}.support-list h3{font-size:.98rem}.support-list p{font-size:.83rem}.checklist-items{padding:8px 17px}.checklist-item{gap:11px;padding:15px 0}.checklist-item b{font-size:.92rem}.checklist-item small{font-size:.8rem}.moments-grid{grid-template-columns:1fr;gap:15px}.moment-card:first-child{grid-column:auto}.moment-card img,.moment-campus img{height:210px}.moment-card>div{padding:20px}.funding-note{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.funding-card,.moment-card,.progress-track span{transition:none}}

/* ===== Interactive components (added) ===== */
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a99be8;outline-offset:2px}
.is-invalid{border-color:#c45d48!important;box-shadow:0 0 0 3px #c45d4822!important}
[data-error]{display:block;min-height:1em;color:#c45d48;font-size:.8rem;margin-top:-4px}
.form-status{margin-top:12px;font-size:.9rem;font-weight:700;min-height:1.2em}
.form-status.error-text{color:#c45d48}
.form-status.ok-text{color:#45917e}

/* Header Log in button: primary CTA look, last item in the header */
.site-header .nav-login{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;min-height:44px;padding:10px 20px;border-radius:999px;border:0;background:linear-gradient(115deg,#7964c8,#a48cf0);background-size:200% auto;color:#fff;font-size:.8rem;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 8px 20px #7964c833;transition:transform .2s,box-shadow .2s,background-position .6s}
.site-header .nav-login i{font-size:.7rem;transition:transform .2s}
.site-header .nav-login:hover{transform:translateY(-2px);background-position:100% center;box-shadow:0 12px 24px #7964c84d}
.site-header .nav-login:hover i{transform:translateX(3px)}
.site-header .nav-login.active{box-shadow:0 0 0 3px #a99be866}
/* Header alignment: one control height and one spacing scale on tablet/desktop */
@media(min-width:851px){
.site-header .nav{gap:22px}
.site-header .nav-links{gap:22px}
.site-header .tools{gap:8px}
.site-header .icon-button{width:42px;height:42px}
.site-header .rtl-toggle{width:auto;min-width:42px;padding:0 14px;border-radius:999px;white-space:nowrap}
.site-header .nav-login{min-height:42px;padding:0 22px}
}
.site-header .header-actions{display:flex;align-items:center;gap:10px}
/* Desktop header: links centred on the page, theme / RTL / Log in grouped with equal gaps */
@media(min-width:851px){
.site-header .nav:has(> .nav-links){display:grid;grid-template-columns:1fr auto 1fr;column-gap:24px}
.site-header .nav:has(> .nav-links) > .brand{justify-self:start}
.site-header .nav:has(> .nav-links) > .nav-links{margin:0;justify-self:center}
.site-header .nav:has(> .nav-links) > .header-actions{justify-self:end}
.site-header .header-actions{gap:10px}
.site-header .tools{gap:10px}
}
@media(min-width:851px) and (max-width:1100px){.site-header .nav:has(> .nav-links){column-gap:14px}.site-header .header-actions,.site-header .tools{gap:8px}}
@media(min-width:851px) and (max-width:1100px){
.site-header .nav{gap:clamp(10px,1.4vw,14px)}
.site-header .nav-links{gap:clamp(10px,1.4vw,14px)}
.site-header .tools{gap:8px}
.site-header .icon-button{width:38px;height:38px}
.site-header .rtl-toggle{min-width:38px;padding:0 11px}
.site-header .nav-login{min-height:40px;padding:0 clamp(12px,1.6vw,16px)}
}
@media(min-width:851px) and (max-width:900px){.site-header .nav-login{padding:0 12px;font-size:.76rem}.site-header .nav,.site-header .nav-links{gap:9px}.site-header .brand{font-size:1.15rem}.site-header .brand-icon{width:34px;height:34px}}
@media(max-width:850px){.site-header .rtl-toggle{width:auto;min-width:33px;height:33px;padding:0 8px;border-radius:999px;white-space:nowrap}}
.site-header .menu-toggle,.site-header .header-actions{flex-shrink:0}
@media(min-width:381px) and (max-width:560px){.site-header .nav{gap:6px}.site-header .header-actions{gap:6px}.site-header .tools{gap:5px}.site-header .rtl-toggle{padding:0 6px}.site-header .brand{font-size:1.02rem}.site-header .brand-icon{width:30px;height:30px}.site-header .nav-login{padding:0 11px;font-size:.72rem}}
@media(max-width:380px){.site-header .header-actions{flex-shrink:1}.site-header .rtl-toggle{padding:0 5px}.site-header .nav-login{padding:0 9px}.site-header .brand{font-size:1rem}.site-header .brand-icon{width:30px;height:30px}.site-header .nav,.site-header .header-actions{gap:4px}}
@media(max-width:380px){.site-header .nav{gap:5px}.site-header .nav-login{min-height:38px;padding:8px 10px;gap:5px;font-size:.68rem}.site-header .nav-login i{font-size:.6rem}.site-header .brand-text small{display:none}}

.chip-row{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-size:.88rem;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.chip:hover{transform:translateY(-2px);border-color:var(--purple)}
.chip[aria-pressed="true"]{background:var(--purple);border-color:var(--purple);color:#fff}
.chip i{color:var(--purple)}
.chip[aria-pressed="true"] i{color:#fff}

.finder{margin-top:60px;padding:clamp(24px,4vw,44px);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 35px #49377809}
.finder-head h3{font:800 clamp(1.6rem,3vw,2.2rem)/1.15 Manrope,sans-serif;letter-spacing:-.04em;margin:10px 0 8px;color:var(--ink)}
.finder-head p{color:var(--muted);max-width:620px;line-height:1.7}
.finder-q{margin-top:26px}
.finder-label{display:block;font-weight:700;color:var(--ink);margin-bottom:12px;font-size:.95rem}
.finder-result{margin-top:26px;padding:20px 22px;border-radius:18px;background:var(--lavender-2);color:var(--ink);min-height:70px;line-height:1.7}
.finder-result p{color:var(--muted)}
.finder-match{margin-top:6px}
.finder-match strong{color:var(--purple-dark)}

.estimator{margin-top:40px;display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}
.est-inputs,.est-result{padding:clamp(22px,3vw,34px);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}
.field-row+.field-row{margin-top:26px}
.field-row label{display:flex;justify-content:space-between;gap:12px;font-weight:700;color:var(--ink);font-size:.92rem;margin-bottom:10px}
.field-row output{color:var(--purple-dark)}
input[type=range]{width:100%;accent-color:var(--purple);cursor:pointer}
.est-result{background:var(--purple);color:#fff;border-color:transparent}
.est-result small,.est-result p{color:#ffffffe0}
.est-result strong{display:block;font:800 clamp(2.2rem,5vw,3.2rem)/1 Manrope,sans-serif;letter-spacing:-.05em;margin:10px 0 18px;color:#fff}
.est-result ul{list-style:none;border-top:1px solid #ffffff50}
.est-result li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #ffffff50;font-size:.92rem}
.est-result p{font-size:.8rem;margin-top:16px;line-height:1.6}

.login-card{padding:clamp(24px,4vw,40px);border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.social-row{display:grid;gap:12px}
.social-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;padding:12px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-family:inherit;font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}
.social-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px #7964c81f}
.social-btn .fa-google{color:#db4437}
.social-btn .fa-facebook-f{color:#1877f2}
.login-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.78rem;font-weight:700;margin:22px 0 8px;text-transform:uppercase;letter-spacing:.08em}
.login-divider::before,.login-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.login-foot{margin-top:18px;color:var(--muted);font-size:.9rem}
.login-foot a{color:var(--purple);font-weight:700}

.stars{display:inline-flex;gap:3px;color:var(--purple)}
.stars i{font-size:.8rem}

@media(max-width:1024px){
  .estimator{grid-template-columns:1fr}
}
@media(max-width:767px){
  .finder{margin-top:44px}
  .chip{min-height:42px;padding:9px 14px;font-size:.82rem}
  .login-card{padding:22px}
  .est-result strong{font-size:2rem}
}

/* ===== Stop off-screen AOS starting positions from creating sideways scroll ===== */
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
.est-result ul{padding:0;margin:0}
.est-result li{align-items:baseline}
.est-result li span:first-child{min-width:0}
.est-result li span:last-child{white-space:nowrap;font-weight:700}

/* ===== Form styling (contact + login) ===== */
.contact-form{display:flex;flex-direction:column;gap:8px;text-align:start;position:relative}
.contact-form label{font-size:.85rem;font-weight:700;color:var(--ink);margin-top:8px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.95rem;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.85}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px #7964c81f}
.contact-form textarea{resize:vertical;min-height:120px}
.contact-form .button{align-self:flex-start;margin-top:10px}
.contact-form [data-error]{margin-top:0}

/* Logo lockup always reads left-to-right, so header and footer logos match in every layout */
.brand{direction:ltr}
.brand-word{white-space:nowrap}

/* ===== Header dropdown (Home 1 / Home 2) ===== */
.dropdown{position:relative;display:flex;align-items:center}
.dd-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;font-family:inherit;font-size:.8rem;font-weight:700;color:var(--muted);cursor:pointer;transition:color .2s}
.dd-toggle i{font-size:.65rem;transition:transform .25s}
.dd-toggle:hover,.dd-toggle.active{color:var(--purple)}
.dropdown.open .dd-toggle i{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 18px);left:-12px;min-width:170px;display:none;flex-direction:column;gap:2px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);z-index:5}
.dd-menu a{padding:10px 14px;border-radius:10px;font-size:.85rem;font-weight:700;color:var(--muted)}
.dd-menu a:hover,.dd-menu a.active{background:var(--lavender-2);color:var(--purple)}
@media(min-width:851px){
  .dropdown:hover .dd-menu,.dropdown:focus-within .dd-menu,.dropdown.open .dd-menu{display:flex}
}
@media(max-width:850px){
  .dropdown{flex-direction:column;align-items:stretch;width:100%}
  .dd-toggle{padding:12px 0;font-size:.86rem;justify-content:space-between}
  .dd-menu{position:static;min-width:0;padding:0 0 6px 14px;border:0;box-shadow:none;background:none}
  .dropdown.open .dd-menu{display:flex}
  .dd-menu a{padding:10px 0;background:none}
}

/* ===== Home 2: modern layout ===== */
.hm-hero{position:relative;overflow:hidden;padding:clamp(56px,8vw,112px) 0 56px}
.hm-hero .container{position:relative;z-index:1}
.hm-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.4;pointer-events:none;z-index:0}
.g1{width:460px;height:460px;background:#a99be8;top:-160px;left:-140px}
.g2{width:380px;height:380px;background:#f6b6d9;bottom:-180px;right:-120px}
.hm-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,80px);align-items:center}
.hm-chip{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.8rem;font-weight:700;color:var(--muted)}
.hm-pulse{width:9px;height:9px;border-radius:50%;background:#45917e;animation:hmPulse 2s infinite}
@keyframes hmPulse{70%{box-shadow:0 0 0 10px #45917e00}100%{box-shadow:0 0 0 0 #45917e00}}
.hm-copy h1{font:800 clamp(2.6rem,6vw,5rem)/1.04 Manrope,sans-serif;letter-spacing:-.06em;margin:22px 0 20px;color:var(--ink)}
.hm-rotator{display:inline-grid;color:var(--purple);font-style:italic}
.hm-rotator>span{grid-area:1/1;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
.hm-rotator>span.is-active{opacity:1;transform:none}
.hm-copy>p{font-size:1.1rem;color:var(--muted);max-width:520px;line-height:1.7}
.hm-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:30px}
.hm-link{display:inline-flex;align-items:center;gap:12px;font-weight:700;color:var(--ink)}
.hm-link i{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--purple)}
.hm-visual{position:relative;min-height:440px}
.hm-card{position:absolute;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:24px}
.hm-card-main{top:40px;right:60px;bottom:60px;left:0;display:flex;flex-direction:column;justify-content:center}
.hm-card-top{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.hm-card-top i,.hm-card-mini i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--lavender);color:var(--purple);flex-shrink:0}
.hm-card-main h3{font:800 1.9rem/1.1 Manrope,sans-serif;letter-spacing:-.04em;margin:18px 0 6px;color:var(--ink)}
.hm-card-main p{color:var(--muted)}
.hm-card-main small,.hm-mini{color:var(--muted);font-weight:700;font-size:.85rem}
.hm-meter{height:10px;border-radius:999px;background:var(--lavender-2);overflow:hidden;margin:20px 0 8px}
.hm-meter span{display:block;height:100%;width:var(--w,0%);border-radius:inherit;background:linear-gradient(90deg,var(--purple),#c2b5ff);transition:width 1.2s ease}
.hm-card-mini{display:flex;align-items:center;gap:12px;padding:14px 18px;font-weight:700;font-size:.9rem;color:var(--ink);animation:hmFloat 6s ease-in-out infinite}
.m1{bottom:20px;left:10px}
.m2{top:0;right:0;animation-delay:-3s}
@keyframes hmFloat{50%{transform:translateY(-10px)}}
.hm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(48px,7vw,80px)}
.hm-stat{padding:26px;border-radius:24px;background:var(--surface);border:1px solid var(--line)}
.hm-stat strong{display:block;font:800 clamp(1.8rem,3.5vw,2.6rem)/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--purple-dark)}
.hm-stat span{color:var(--muted);font-size:.9rem;font-weight:600}

.hm-marquee{overflow:hidden;padding:24px 0;border-block:1px solid var(--line);background:var(--surface)}
.hm-run{display:flex;width:max-content;gap:48px;animation:hmRun 30s linear infinite}
.hm-run span{display:inline-flex;align-items:center;gap:12px;font:700 1.2rem Manrope,sans-serif;color:var(--muted);white-space:nowrap}
.hm-run i{color:var(--purple)}
.hm-marquee:hover .hm-run{animation-play-state:paused}
@keyframes hmRun{to{transform:translateX(-50%)}}


.hm-journey{background:var(--surface);border-block:1px solid var(--line)}
.hm-journey-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,100px)}
.hm-sticky{position:sticky;top:118px;align-self:start}
.hm-sticky h2{font:800 clamp(2.2rem,4.4vw,3.6rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 16px;color:var(--ink)}
.hm-sticky>p{color:var(--muted);line-height:1.7}
.hm-track-bar{height:6px;margin-top:30px;max-width:360px;border-radius:999px;background:var(--line);overflow:hidden}
.hm-track-bar span{display:block;height:100%;width:25%;background:var(--purple);border-radius:inherit;transition:width .5s ease}
.hm-steps{list-style:none}
.hm-step{min-height:58vh;display:flex;flex-direction:column;justify-content:center;padding:28px 0;opacity:.35;transition:opacity .45s}
.hm-step.is-active{opacity:1}
.hm-num{font:800 .9rem Manrope,sans-serif;color:var(--purple);letter-spacing:.1em}
.hm-step h3{font:800 clamp(1.7rem,3vw,2.3rem)/1.15 Manrope,sans-serif;letter-spacing:-.04em;margin:8px 0 10px;color:var(--ink)}
.hm-step p{color:var(--muted);font-size:1.02rem;line-height:1.7;max-width:460px}

.hm-toolbar{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;margin-bottom:24px}
.hm-search-form{position:relative;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 18px;min-width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:999px}
.hm-search-form>i{color:var(--muted)}
.hm-search-form input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;color:var(--ink);padding:10px 0}
.hm-search-form .button{min-height:44px;padding:10px 18px}
.hm-search-form [data-error]{position:absolute;top:100%;left:18px;margin-top:4px}
.hm-count{color:var(--muted);font-size:.9rem;font-weight:700;margin-bottom:18px}
.hm-programs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hm-program{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:24px;background:var(--surface);border:1px solid var(--line);transition:translate .3s,box-shadow .3s}
.hm-program:hover{translate:0 -5px;box-shadow:var(--shadow)}
.hm-program .hm-tag{align-self:flex-start;padding:6px 11px;border-radius:999px;background:var(--lavender);color:var(--purple-dark);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hm-program h3{font:800 1.25rem/1.25 Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink);margin-top:6px}
.hm-program>p{color:var(--muted);font-size:.93rem}
.hm-program .meta{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:.85rem;font-weight:700}
.hm-program .meta span{display:inline-flex;align-items:center;gap:7px}
.hm-program .meta i{color:var(--purple)}
.hm-empty{grid-column:1/-1;padding:30px;border-radius:20px;border:1px dashed var(--line);color:var(--muted);text-align:center}
.hm-note{margin-top:22px;color:var(--muted);font-size:.85rem}

.hm-compare-box{padding:clamp(22px,4vw,40px);border-radius:28px;background:var(--surface);border:1px solid var(--line)}
.hm-compare-form{position:relative;display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}
.hm-compare-form label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:700;color:var(--ink)}
.hm-compare-form select{padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:.95rem}
.hm-compare-form select:focus{outline:3px solid #a99be855;border-color:var(--purple)}
.hm-compare-form [data-error]{grid-column:1/-1;position:static;margin:0}
.hm-compare-out{margin-top:22px;overflow-x:auto}
.hm-compare-table{width:100%;min-width:460px;border-collapse:collapse;font-size:.93rem}
.hm-compare-table th,.hm-compare-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top;color:var(--ink)}
.hm-compare-table th{color:var(--muted);font-weight:700;width:32%}
.hm-compare-table thead th{font:800 1.05rem Manrope,sans-serif;color:var(--ink);width:auto}

.hm-quotes{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:none}
.hm-quotes::-webkit-scrollbar{display:none}
.hm-quote{flex:0 0 min(400px,84%);scroll-snap-align:start;padding:30px;border-radius:26px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.hm-quote p{font:600 1.12rem/1.6 Manrope,sans-serif;color:var(--ink)}
.hm-quote small{color:var(--muted);font-weight:700}
.hm-quote .hm-quote-bar{display:none}
.hm-quote-progress{height:4px;margin-top:6px;border-radius:999px;background:var(--line);overflow:hidden}
.hm-quote-progress span{display:block;height:100%;width:30%;background:var(--purple);border-radius:inherit;transition:width .25s}

.hm-cta{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;padding:clamp(36px,6vw,64px);border-radius:32px;background:linear-gradient(120deg,var(--purple),#4e407e);color:#fff}
.hm-cta h2{font:800 clamp(2rem,4vw,3.2rem)/1.08 Manrope,sans-serif;letter-spacing:-.05em;color:#fff}
.hm-cta h2 em{color:#e4dcff}
.hm-cta p{color:#ffffffd9;margin-top:12px}
.hm-cta-form{position:relative;display:flex;gap:10px;padding:7px;border-radius:999px;background:#fff}
.hm-cta-form input{flex:1;min-width:0;border:0;outline:none;background:transparent;padding:12px 16px;font:inherit;color:#29243c}
.hm-cta-form .button{background:#29243c;color:#fff;box-shadow:none;white-space:nowrap}
.hm-cta-form [data-error]{position:absolute;top:100%;left:18px;margin-top:8px;color:#fff}

@media(max-width:1024px){
  .hm-hero-grid,.hm-journey-grid,.hm-cta{grid-template-columns:1fr}
  .hm-hero-grid{text-align:center}
  .hm-copy>p{margin-inline:auto}
  .hm-actions{justify-content:center}
  .hm-visual{min-height:380px}
  .hm-programs{grid-template-columns:repeat(2,1fr)}
  .hm-sticky{position:static}
}
@media(max-width:767px){
  .hm-hero{padding-top:44px}
  .hm-stats{grid-template-columns:1fr 1fr;gap:10px}
  .hm-stat:last-child{grid-column:1/-1}
  .hm-stat{padding:18px}
  .hm-visual{min-height:330px}
  .hm-card-main{top:30px;right:40px;bottom:56px}
  .hm-card-mini{font-size:.82rem;padding:10px 12px}
  .hm-programs{grid-template-columns:1fr}
  .hm-search-form{min-width:100%}
  .hm-compare-form{grid-template-columns:1fr}
  .hm-step{min-height:auto;opacity:1;padding:20px 0}
  .hm-quote{flex-basis:88%}
  .hm-cta-form{flex-direction:column;border-radius:20px}
  .hm-cta-form .button{width:100%}
  .hm-cta-form [data-error]{position:static;margin:4px 0 0 4px}
}

/* ===== Home 2: visa tracker, life abroad, FAQ ===== */
.hm-visa-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,90px);align-items:center}
.hm-visa-grid h2{font:800 clamp(2.2rem,4.4vw,3.4rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 16px;color:var(--ink)}
.hm-visa-grid>div>p{color:var(--muted);line-height:1.7}
.hm-visa-card{padding:clamp(24px,4vw,40px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.hm-visa-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:800 1.3rem Manrope,sans-serif;color:var(--ink)}
.hm-visa-top span{color:var(--purple);font-size:1.1rem}
.hm-visa-bar{max-width:none;margin-top:16px}
.hm-check-list{list-style:none;margin-top:20px}
.hm-check-list label{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;cursor:pointer}
.hm-check-list input{position:absolute;opacity:0;width:1px;height:1px}
.hm-box{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:9px;border:2px solid var(--line);color:transparent;transition:background .25s,border-color .25s,color .25s}
.hm-check-list input:checked+.hm-box{background:var(--purple);border-color:var(--purple);color:#fff}
.hm-check-list input:focus-visible+.hm-box{outline:3px solid #a99be8;outline-offset:2px}
.hm-check-list label:has(input:checked){color:var(--purple-dark)}
.hm-visa-msg{margin-top:20px;padding:16px 18px;border-radius:16px;background:var(--lavender-2);color:var(--ink);font-weight:600;line-height:1.6}

.hm-life-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.hm-life-tab{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:700 .95rem inherit;font-family:inherit;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.hm-life-tab i{color:var(--purple)}
.hm-life-tab:hover{border-color:var(--purple)}
.hm-life-tab[aria-selected="true"]{background:var(--purple);border-color:var(--purple);color:#fff}
.hm-life-tab[aria-selected="true"] i{color:#fff}
.hm-life-item{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,56px);align-items:center;padding:clamp(24px,4vw,44px);border-radius:28px;background:var(--surface);border:1px solid var(--line);animation:fadeIn .5s ease}
.hm-life-item h3{font:800 clamp(1.6rem,3vw,2.2rem)/1.15 Manrope,sans-serif;letter-spacing:-.04em;color:var(--ink);margin-bottom:12px}
.hm-life-item>div>p{color:var(--muted);line-height:1.7}
.hm-life-item ul{list-style:none;margin-top:18px;display:grid;gap:12px}
.hm-life-item li{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:600}
.hm-life-item li i{color:var(--purple)}
.hm-life-art{height:260px;border-radius:24px;display:grid;place-items:center;font-size:5rem;color:#fff}
.a1{background:linear-gradient(135deg,#7964c8,#a99be8)}
.a2{background:linear-gradient(135deg,#f0a6cf,#c276a8)}
.a3{background:linear-gradient(135deg,#7dd3fc,#45917e)}

.hm-faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,90px);align-items:start}
.hm-faq-grid h2{font:800 clamp(2.2rem,4.4vw,3.4rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 16px;color:var(--ink)}
.hm-faq-grid>div>p{color:var(--muted);line-height:1.7;margin-bottom:26px}
.hm-acc-item{border-bottom:1px solid var(--line)}
.hm-acc-item:first-child{border-top:1px solid var(--line)}
.hm-acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;background:none;border:0;text-align:start;font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);cursor:pointer}
.hm-acc-q i{color:var(--purple);flex-shrink:0;transition:transform .3s}
.hm-acc-item.is-open .hm-acc-q i{transform:rotate(45deg)}
.hm-acc-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.hm-acc-a>div{min-height:0;overflow:hidden}
.hm-acc-a p{color:var(--muted);line-height:1.7;padding-bottom:22px;max-width:560px}
.hm-acc-item.is-open .hm-acc-a{grid-template-rows:1fr}

@media(max-width:1024px){
  .hm-visa-grid,.hm-faq-grid{grid-template-columns:1fr}
  .hm-life-item{grid-template-columns:1fr}
  .hm-life-art{height:200px;font-size:4rem;order:-1}
}
@media(max-width:767px){
  .hm-life-item{padding:20px}
  .hm-life-tab{padding:10px 15px;font-size:.88rem}
  .hm-acc-q{font-size:1rem;padding:18px 0}
  .hm-visa-card{padding:22px}
}

.hm-check-list,.hm-life-item ul{padding:0}

/* ===== Home 2: intake calendar ===== */
.hm-cal-months{display:flex;gap:10px;overflow-x:auto;padding:6px 4px 18px;scrollbar-width:none;scroll-snap-type:x proximity}
.hm-cal-months::-webkit-scrollbar{display:none}
.hm-month{flex:0 0 auto;min-width:104px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:800 1rem Manrope,sans-serif;letter-spacing:-.02em;text-align:start;cursor:pointer;scroll-snap-align:start;transition:background .25s,color .25s,border-color .25s,translate .25s}
.hm-month small{font:700 .68rem "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hm-month:hover{translate:0 -3px;border-color:var(--purple)}
.hm-month[aria-selected="true"]{background:var(--purple);border-color:var(--purple);color:#fff}
.hm-month[aria-selected="true"] small{color:#ffffffd9}
html[data-theme="dark"] .hm-month[aria-selected="true"]{color:#201a36}
html[data-theme="dark"] .hm-month[aria-selected="true"] small{color:#201a36}
.hm-cal-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,4vw,44px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);animation:fadeIn .4s ease}
.hm-cal-tag{display:inline-flex;padding:6px 12px;border-radius:999px;background:var(--lavender);color:var(--purple-dark);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hm-cal-head h3{font:800 clamp(2rem,4vw,3rem)/1.05 Manrope,sans-serif;letter-spacing:-.05em;color:var(--ink);margin:14px 0 10px}
.hm-cal-head p{color:var(--muted);font-size:.9rem;line-height:1.6}
.hm-cal-list{list-style:none;display:grid;gap:12px}
.hm-cal-list li{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:18px;background:var(--lavender-2);border:1px solid var(--line);color:var(--ink);font-weight:600;line-height:1.5}
.hm-cal-list li i{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--surface);color:var(--purple)}

/* ===== Home 2: first-year budget estimator ===== */
.hm-budget-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,90px);align-items:start}
.hm-budget-grid h2{font:800 clamp(2.2rem,4.4vw,3.4rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 16px;color:var(--ink)}
.hm-budget-grid>div>p{color:var(--muted);line-height:1.7}
.hm-tips{list-style:none;display:grid;gap:12px;margin-top:26px}
.hm-tips li{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:600}
.hm-tips li i{color:var(--purple)}
.hm-budget-card{padding:clamp(22px,4vw,40px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.hm-budget-form{display:grid;gap:12px}
.hm-budget-form label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:700;color:var(--ink)}
.hm-budget-form input{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:.95rem}
.hm-budget-form input::placeholder{color:var(--muted);opacity:.8}
.hm-budget-form input:focus{outline:3px solid #a99be855;border-color:var(--purple)}
.hm-budget-form .button{justify-self:start;margin-top:6px}
.hm-budget-out{margin-top:26px;padding-top:26px;border-top:1px solid var(--line);display:grid;gap:18px}
.hm-budget-out[hidden]{display:none}
.hm-budget-out .hm-note{margin-top:0}
.hm-budget-total small{color:var(--muted);font-weight:700}
.hm-budget-total strong{display:block;font:800 clamp(2rem,4vw,2.7rem)/1.05 Manrope,sans-serif;letter-spacing:-.05em;color:var(--purple-dark)}
.hm-budget-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--line)}
.hm-budget-bar span{height:100%;width:0;transition:width .6s ease}
.hm-budget-bar .hm-bar-t{background:var(--purple)}
.hm-budget-bar .hm-bar-l{background:#b6a5ff}
.hm-budget-bar .hm-bar-b{background:#45917e}
.hm-budget-legend{list-style:none;display:grid;gap:10px}
.hm-budget-legend li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;color:var(--ink);font-weight:600}
.hm-budget-legend b{font:800 1rem Manrope,sans-serif}
.hm-dot{width:12px;height:12px;border-radius:50%}
.hm-dot.t{background:var(--purple)}
.hm-dot.l{background:#b6a5ff}
.hm-dot.b{background:#45917e}

.hm-tips,.hm-cal-list,.hm-budget-legend,.hm-advisor ul{padding:0;margin:0}

/* ===== Home 2: advisors ===== */
.hm-advisor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hm-advisor{display:flex;flex-direction:column;gap:18px;padding:30px;border-radius:26px;background:var(--surface);border:1px solid var(--line);transition:translate .3s,box-shadow .3s}
.hm-advisor:hover{translate:0 -5px;box-shadow:var(--shadow)}
.hm-avatar{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(150deg,var(--purple),#4e407e);color:#fff;font:800 1.4rem Manrope,sans-serif;letter-spacing:-.02em}
.hm-advisor:nth-child(2) .hm-avatar{background:linear-gradient(150deg,#45917e,#24594d)}
.hm-advisor:nth-child(3) .hm-avatar{background:linear-gradient(150deg,#c57a5a,#8a4b33)}
.hm-advisor h3{font:800 1.35rem/1.2 Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink)}
.hm-advisor-role{display:block;margin-top:4px;color:var(--purple-dark);font-weight:700;font-size:.9rem;line-height:1.4}
.hm-advisor ul{list-style:none;display:grid;gap:10px;color:var(--ink);font-weight:600;font-size:.95rem}
.hm-advisor li{display:flex;align-items:flex-start;gap:10px}
.hm-advisor li i{color:var(--purple);margin-top:5px}
.hm-advisor-reply{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding:8px 12px;border-radius:999px;background:var(--mint);color:var(--ink);font-size:.8rem;font-weight:700}
.hm-advisor-reply i{color:#45917e}
.hm-advisor .button{align-self:stretch}

@media(max-width:1024px){
  .hm-budget-grid,.hm-cal-panel{grid-template-columns:1fr}
  .hm-advisor-grid{grid-template-columns:1fr 1fr}
  .hm-advisor:last-child{grid-column:1/-1}
}
@media(max-width:767px){
  .hm-advisor-grid{grid-template-columns:1fr}
  .hm-advisor:last-child{grid-column:auto}
  .hm-cal-panel,.hm-budget-card,.hm-advisor{padding:20px}
  .hm-month{min-width:96px;padding:12px 14px}
  .hm-tips{margin-top:18px}
}

/* ===== Countries and Scholarships pages (shared pg- components) ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pg-hero{position:relative;overflow:hidden;padding:clamp(56px,8vw,112px) 0 clamp(48px,6vw,80px)}
.pg-hero-grid,.pg-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,80px);align-items:center}
.pg-split{grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,90px);align-items:start}
.pg-hero h1{font:800 clamp(2.5rem,5.6vw,4.6rem)/1.04 Manrope,sans-serif;letter-spacing:-.06em;margin:18px 0;color:var(--ink)}
.pg-hero h1 em,.pg-split h2 em,.section-heading em{font-style:italic;color:var(--purple)}
.pg-split h2{font:800 clamp(2.2rem,4.4vw,3.4rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 16px;color:var(--ink)}
.pg-hero>.container>div>p,.pg-lead{color:var(--muted);font-size:1.08rem;line-height:1.7;max-width:540px}
.pg-hero-panel{padding:clamp(24px,4vw,40px);border-radius:32px;background:linear-gradient(150deg,#7964c8,#4e407e);color:#fff;box-shadow:var(--shadow)}
.pg-globe{width:88px;height:88px;display:grid;place-items:center;border-radius:28px;background:#ffffff26;font-size:2.3rem;margin-bottom:22px}
.pg-hero-list{list-style:none;display:grid;gap:16px}
.pg-hero-list li{display:flex;gap:14px;align-items:baseline;color:#ffffffe6;font-weight:600;line-height:1.5}
.pg-hero-list b{font:800 2rem Manrope,sans-serif;color:#fff;min-width:48px}
.pg-hero-points li{align-items:center}
.pg-hero-points i{color:#fff;font-size:1.1rem}
.pg-toolbar{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;margin-bottom:24px}
.pg-search{position:relative;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 18px;min-width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:999px}
.pg-search>i{color:var(--muted)}
.pg-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;color:var(--ink);padding:10px 0}
.pg-search .button{min-height:44px;padding:10px 18px}
.pg-search [data-error]{position:absolute;top:100%;left:18px;margin-top:4px}
.pg-count{color:var(--muted);font-size:.9rem;font-weight:700;margin-bottom:18px}
.pg-country-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pg-country{display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:24px;background:var(--surface);border:1px solid var(--line);transition:translate .3s,box-shadow .3s}
.pg-country:hover{translate:0 -5px;box-shadow:var(--shadow)}
.pg-country[hidden]{display:none}
.pg-code{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;background:var(--lavender);color:var(--purple-dark);font:800 1rem Manrope,sans-serif;letter-spacing:.04em}
.pg-country h3{font:800 1.3rem/1.2 Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink);margin-top:6px}
.pg-country>p{color:var(--muted);font-size:.93rem;line-height:1.6}
.pg-country .meta{display:grid;gap:8px;margin-top:auto;padding-top:12px;color:var(--ink);font-size:.85rem;font-weight:600}
.pg-country .meta span{display:flex;align-items:center;gap:8px}
.pg-country .meta i{color:var(--purple)}
.pg-empty{grid-column:1/-1;padding:30px;border-radius:20px;border:1px dashed var(--line);color:var(--muted);text-align:center}
.pg-empty[hidden]{display:none}
.pg-note{margin-top:18px;color:var(--muted);font-size:.85rem;line-height:1.6}
.pg-table-wrap{overflow-x:auto;border-radius:24px;border:1px solid var(--line);background:var(--surface)}
.pg-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.93rem}
.pg-table th,.pg-table td{padding:16px 18px;text-align:start;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:top}
.pg-table thead th{font:800 .76rem "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--lavender-2)}
.pg-table tbody th{font:800 1rem Manrope,sans-serif}
.pg-table tr:last-child>* {border-bottom:0}
.pg-table caption{caption-side:bottom}
.pg-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pg-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:24px;background:var(--surface);border:1px solid var(--line);transition:translate .3s,box-shadow .3s}
.pg-card:hover{translate:0 -4px;box-shadow:var(--shadow)}
.pg-card h3{font:800 1.2rem/1.25 Manrope,sans-serif;color:var(--ink);margin-top:14px;letter-spacing:-.03em}
.pg-card p{color:var(--muted);font-size:.94rem;line-height:1.6}
.pg-card-ic{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:var(--lavender);color:var(--purple-dark);font-size:1.2rem}
.pg-step-num{position:absolute;top:24px;inset-inline-end:24px;font:800 .9rem Manrope,sans-serif;color:var(--purple)}
.pg-cost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pg-cost small{margin-top:auto;padding-top:10px;color:var(--ink);font-weight:700;font-size:.85rem}
.pg-meter{height:10px;border-radius:999px;background:var(--lavender-2);overflow:hidden;margin-top:14px;border:1px solid var(--line)}
.pg-meter span{display:block;height:100%;width:var(--w,0%);background:linear-gradient(90deg,var(--purple),#c2b5ff);border-radius:inherit}
.pg-acc{border-bottom:1px solid var(--line)}
.pg-acc:first-of-type{border-top:1px solid var(--line)}
.pg-acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;cursor:pointer;font:800 1.1rem Manrope,sans-serif;letter-spacing:-.02em;color:var(--ink)}
.pg-acc summary::-webkit-details-marker{display:none}
.pg-acc summary i{color:var(--purple);transition:transform .3s}
.pg-acc[open] summary i{transform:rotate(45deg)}
.pg-acc p{color:var(--muted);line-height:1.7;padding:0 0 22px;max-width:620px}
.pg-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pg-story{display:flex;flex-direction:column;gap:16px;padding:30px;border-radius:26px;background:var(--surface);border:1px solid var(--line)}
.pg-story>i{font-size:1.5rem;color:var(--purple)}
.pg-story p{font:600 1.08rem/1.6 Manrope,sans-serif;color:var(--ink)}
.pg-story small{color:var(--muted);font-weight:700;margin-top:auto}
.pg-schol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pg-schol{display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:24px;background:var(--surface);border:1px solid var(--line);transition:translate .3s,box-shadow .3s}
.pg-schol:hover{translate:0 -5px;box-shadow:var(--shadow)}
.pg-schol[hidden]{display:none}
.pg-tag{align-self:flex-start;padding:6px 11px;border-radius:999px;background:var(--mint);color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pg-schol h3{font:800 1.25rem/1.25 Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink)}
.pg-amount{font:800 1.5rem/1.2 Manrope,sans-serif;letter-spacing:-.03em;color:var(--purple-dark)}
.pg-schol dl{display:grid;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.pg-schol dt{color:var(--muted);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em}
.pg-schol dd{margin:2px 0 0;color:var(--ink);font-weight:600;font-size:.93rem}
.pg-types{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pg-type{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:26px;background:var(--surface);border:1px solid var(--line)}
.pg-type h3{font:800 1.25rem Manrope,sans-serif;color:var(--ink);margin-top:14px}
.pg-type p{color:var(--muted);font-size:.94rem;line-height:1.6}
.pg-type-num{position:absolute;top:24px;inset-inline-end:24px;font:800 .9rem Manrope,sans-serif;color:var(--purple)}
.pg-check-card{padding:clamp(22px,4vw,40px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.pg-check-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:800 1.2rem Manrope,sans-serif;color:var(--ink)}
.pg-check-top span{color:var(--purple-dark)}
.pg-bar{height:8px;border-radius:999px;background:var(--line);overflow:hidden;margin:16px 0 20px}
.pg-bar span{display:block;height:100%;width:0;background:var(--purple);border-radius:inherit;transition:width .4s ease}
.pg-check{position:relative;display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;cursor:pointer}
.pg-check input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pg-check-input:checked+.hm-box{background:var(--purple);border-color:var(--purple);color:#fff}
.pg-check-input:focus-visible+.hm-box{outline:3px solid #a99be8;outline-offset:2px}
.pg-check-msg{margin-top:20px;padding:16px 18px;border-radius:16px;background:var(--lavender-2);border:1px solid var(--line);color:var(--ink);font-weight:600;line-height:1.6}
.pg-faq-wrap .hm-acc-q{font-family:Manrope,sans-serif}

@media(max-width:1024px){
  .pg-hero-grid,.pg-split{grid-template-columns:1fr}
  .pg-country-grid,.pg-types{grid-template-columns:repeat(2,1fr)}
  .pg-steps,.pg-cost-grid{grid-template-columns:repeat(2,1fr)}
  .pg-stories,.pg-schol-grid{grid-template-columns:repeat(2,1fr)}
  .pg-stories>:last-child,.pg-schol-grid>:last-child{grid-column:1/-1}
}
@media(max-width:767px){
  .pg-country-grid,.pg-types,.pg-steps,.pg-cost-grid,.pg-stories,.pg-schol-grid{grid-template-columns:1fr}
  .pg-stories>:last-child,.pg-schol-grid>:last-child{grid-column:auto}
  .pg-country,.pg-card,.pg-type,.pg-schol,.pg-story,.pg-hero-panel{padding:22px}
  .pg-hero h1{font-size:clamp(2.2rem,11vw,3rem)}
}
@media(max-width:560px){
  .pg-search{flex-wrap:wrap;border-radius:22px;padding:12px}
  .pg-search>i{display:none}
  .pg-search input{padding:12px 4px;width:100%}
  .pg-search .button{width:100%}
  .pg-search [data-error]{position:static;margin:4px 0 0 4px}
  .pg-toolbar{align-items:stretch}
}

/* ===== About and Contact pages ===== */
.nav-links a,.nav-links .dd-toggle{white-space:nowrap}
.pg-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pg-value h3{font:800 1.3rem/1.2 Manrope,sans-serif;color:var(--ink);margin-top:14px;letter-spacing:-.03em}
.pg-timeline{list-style:none;position:relative;display:grid;gap:26px;padding-inline-start:34px}
.pg-timeline::before{content:"";position:absolute;inset-block:8px;inset-inline-start:9px;width:2px;background:var(--line);border-radius:2px}
.pg-timeline li{position:relative}
.pg-dot{position:absolute;inset-inline-start:-34px;top:6px;width:20px;height:20px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 5px var(--lavender)}
.pg-timeline h3{font:800 1.3rem/1.2 Manrope,sans-serif;color:var(--ink);letter-spacing:-.03em}
.pg-timeline p{color:var(--muted);line-height:1.6;margin-top:6px}
.pg-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pg-team{display:flex;flex-direction:column;gap:12px;padding:30px;border-radius:26px;background:var(--surface);border:1px solid var(--line);transition:translate .3s,box-shadow .3s}
.pg-team:hover{translate:0 -5px;box-shadow:var(--shadow)}
.pg-team h3{font:800 1.35rem/1.2 Manrope,sans-serif;color:var(--ink);letter-spacing:-.03em;margin-top:6px}
.pg-role{color:var(--purple-dark);font-weight:700;font-size:.9rem;line-height:1.4}
.pg-team p{color:var(--muted);line-height:1.6;font-size:.95rem}
.pg-stat-band{display:grid;grid-template-columns:repeat(3,1fr);border-radius:28px;background:linear-gradient(120deg,#7964c8,#4e407e);color:#fff;overflow:hidden}
.pg-stat-band>div{padding:clamp(24px,4vw,40px);display:grid;gap:6px;text-align:center}
.pg-stat-band>div+div{border-inline-start:1px solid #ffffff33}
.pg-stat-band strong{font:800 clamp(2rem,4.4vw,3.2rem)/1 Manrope,sans-serif;letter-spacing:-.04em}
.pg-stat-band span{color:#ffffffd9;font-weight:600;font-size:.95rem}
.pg-tips{list-style:none;display:grid;gap:14px}
.pg-tips li{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.pg-tips li>i{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:var(--lavender);color:var(--purple-dark)}
.pg-tips strong{display:block;color:var(--ink);font:800 1.05rem Manrope,sans-serif;letter-spacing:-.02em}
.pg-tips span{display:block;color:var(--muted);font-size:.93rem;line-height:1.55;margin-top:4px}
.pg-cta-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.pg-cta-link{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--purple-dark)}
.hm-cta .pg-cta-link{color:#fff}
.pg-contact-details{list-style:none;display:grid;gap:16px;margin-top:26px}
.pg-contact-details li{display:flex;gap:14px;align-items:center}
.pg-contact-details li>i{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;background:var(--lavender);color:var(--purple-dark)}
.pg-contact-details strong{display:block;color:var(--ink);font-weight:800}
.pg-contact-details a,.pg-contact-details span{color:var(--muted);font-weight:600}
.pg-form-card{padding:clamp(22px,4vw,40px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.pg-form{display:grid;gap:14px}
.pg-form-row{display:grid;gap:6px}
.pg-form label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:700;color:var(--ink)}
.pg-form input[type="text"],.pg-form select,.pg-form textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:.95rem}
.pg-form textarea{resize:vertical;min-height:120px}
.pg-form input::placeholder,.pg-form textarea::placeholder{color:var(--muted);opacity:.8}
.pg-form input:focus,.pg-form select:focus,.pg-form textarea:focus{outline:3px solid #a99be855;border-color:var(--purple)}
.pg-form .button{justify-self:start}
.pg-form [data-error]{margin:0}
.pg-consent{flex-direction:row!important;align-items:flex-start;font-weight:600!important;gap:12px!important;cursor:pointer}
.pg-consent input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pg-consent .hm-box{margin-top:2px}
.pg-form label:has(input[type="checkbox"]){position:relative}
.pg-consent input:checked+.hm-box{background:var(--purple);border-color:var(--purple);color:#fff}
.pg-consent input:focus-visible+.hm-box{outline:3px solid #a99be8;outline-offset:2px}
.pg-status{min-height:1.5em;color:var(--purple-dark);font-weight:700;font-size:.92rem}
.pg-contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pg-contact-cards .pg-card{height:100%}
.pg-hours{list-style:none;display:grid;gap:12px}
.pg-hours li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:600}
.pg-hours b{font:800 1rem Manrope,sans-serif;color:var(--purple-dark);text-align:end}
.pg-hours b.is-closed{color:var(--muted)}
.pg-resources .pg-cta-link{margin-top:auto}

@media(max-width:1024px){
  .pg-value-grid,.pg-team-grid,.pg-contact-cards{grid-template-columns:1fr 1fr}
  .pg-value-grid>:last-child,.pg-team-grid>:last-child,.pg-contact-cards>:last-child{grid-column:1/-1}
}
@media(max-width:767px){
  .pg-value-grid,.pg-team-grid,.pg-contact-cards{grid-template-columns:1fr}
  .pg-value-grid>:last-child,.pg-team-grid>:last-child,.pg-contact-cards>:last-child{grid-column:auto}
  .pg-stat-band{grid-template-columns:1fr}
  .pg-stat-band>div+div{border-inline-start:0;border-top:1px solid #ffffff33}
  .pg-team,.pg-form-card,.pg-tips li{padding:20px}
  .pg-timeline{padding-inline-start:30px}
  .pg-dot{inset-inline-start:-30px}
}

/* ===================================================================
   GP EXPERIENCE LAYER: vivid, animated redesign (overrides above)
   =================================================================== */
:root{--gp-coral:#ff6b57;--gp-sun:#ffc145;--gp-teal:#16b8a6;--gp-sky:#4cc3ff;--gp-dot:#7964c833;--gp-grad:linear-gradient(115deg,#7964c8 0%,#ff6b57 52%,#ffc145 100%)}

body::before,body::after{content:"";position:fixed;z-index:-1;pointer-events:none;width:62vmax;height:62vmax;border-radius:50%;filter:blur(90px);opacity:.38;animation:gpFloat 20s ease-in-out infinite}
body::before{top:-22vmax;left:-22vmax;background:radial-gradient(circle,#b6a5ff,transparent 70%)}
body::after{bottom:-26vmax;right:-22vmax;background:radial-gradient(circle,#ffc145aa,transparent 70%);animation-delay:-10s;animation-duration:24s}
@keyframes gpFloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(7vmax,5vmax) scale(1.12)}}

.gp-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:1100;pointer-events:none}
.gp-progress span{display:block;height:100%;width:0;background:var(--gp-grad);background-size:200% auto;box-shadow:0 0 12px #ff6b5788;animation:gpShine 6s linear infinite}

:root{--section-alt:#f4f1fc}
/* Slight tint on every other page section (excludes the purple CTA bands and the dark manifesto) */
main>section:nth-of-type(even):not(.cta):not(.dst-band):not(.pg-manifesto){background:var(--section-alt)}
main>section:nth-of-type(odd):not(.hero):not(.cta):not(.dst-band):not(.pg-manifesto){background:transparent}

h1 em,h2 em{background:var(--gp-grad);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic;animation:gpShine 7s linear infinite;padding-inline-end:.04em}
@keyframes gpShine{to{background-position:200% center}}

.eyebrow{padding:7px 13px;border-radius:999px;background:color-mix(in srgb,var(--purple) 12%,transparent)}
.button.primary{background-image:linear-gradient(115deg,#7964c8,#a48cf0 45%,#ff6b57 100%);background-size:200% auto;transition:background-position .6s,transform .2s,box-shadow .2s}
.button.primary:hover{background-position:100% center;box-shadow:0 16px 30px #ff6b5740}

.pg-hero,.hm-hero{isolation:isolate}
.pg-hero::after,.hm-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(var(--gp-dot) 1.2px,transparent 1.3px);background-size:24px 24px;-webkit-mask-image:linear-gradient(180deg,#000 10%,transparent 85%);mask-image:linear-gradient(180deg,#000 10%,transparent 85%)}
.pg-hero>.container{position:relative;z-index:1}

.pg-hero-panel{position:relative;background:linear-gradient(-45deg,#7964c8,#4e407e,#ff6b57,#7964c8);background-size:300% 300%;animation:gpBg 14s ease infinite}
@keyframes gpBg{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.pg-globe{position:relative;isolation:isolate}
.pg-globe::before,.pg-globe::after{content:"";position:absolute;inset:-16px;border-radius:50%;border:2px dashed #ffffff66;z-index:-1;animation:gpSpin 18s linear infinite}
.pg-globe::after{inset:-34px;border:1.5px dotted #ffc145aa;animation-duration:28s;animation-direction:reverse}
.pg-globe i{animation:gpBob 4s ease-in-out infinite}
@keyframes gpSpin{to{transform:rotate(360deg)}}
@keyframes gpBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.pg-card,.pg-country,.pg-schol,.pg-team,.pg-story,.pg-type,.hm-advisor,.hm-program,.pg-tips li{position:relative;overflow:hidden;isolation:isolate;transform-style:preserve-3d;transition:transform .25s ease,translate .3s,box-shadow .3s}
.pg-card::after,.pg-country::after,.pg-schol::after,.pg-team::after,.pg-story::after,.pg-type::after,.hm-advisor::after,.hm-program::after,.pg-tips li::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--gp-sun) 26%,transparent),transparent 62%);opacity:0;transition:opacity .3s}
.pg-card:hover::after,.pg-country:hover::after,.pg-schol:hover::after,.pg-team:hover::after,.pg-story:hover::after,.pg-type:hover::after,.hm-advisor:hover::after,.hm-program:hover::after,.pg-tips li:hover::after{opacity:1}
.pg-card-ic,.pg-code,.hm-avatar,.pg-tips li>i,.pg-contact-details li>i{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.pg-card:hover .pg-card-ic,.pg-type:hover .pg-card-ic,.pg-tips li:hover>i{transform:rotate(-8deg) scale(1.08)}
.pg-country:hover .pg-code,.pg-team:hover .hm-avatar{transform:scale(1.07) rotate(-4deg)}

.hm-tile:hover .hm-tile-ic,.hm-program:hover .hm-tag{transform:scale(1.05)}
.pg-tag:nth-of-type(odd){background:#ffe3dc;color:#8a2e20}
html[data-theme="dark"] .pg-tag:nth-of-type(odd){background:#4b2a24;color:#ffc9bd}

.pg-stat-band{background:linear-gradient(120deg,#7964c8,#ff6b57 80%,#ffc145);background-size:200% 200%;animation:gpBg 12s ease infinite}
.hm-cta{background:linear-gradient(120deg,#7964c8,#4e407e 60%,#ff6b57);background-size:200% 200%;animation:gpBg 16s ease infinite}

@media(prefers-reduced-motion:reduce){
  body::before,body::after,.gp-progress span,h1 em,h2 em,.pg-hero-panel,.pg-stat-band,.hm-cta,.pg-globe::before,.pg-globe::after,.pg-globe i{animation:none!important}
  .pg-card,.pg-country,.pg-schol,.pg-team,.pg-story,.pg-type,.hm-advisor,.hm-program,.pg-tips li{transition:none}
}
@media(max-width:767px){
    .pg-globe::after{inset:-22px}
}

/* ===== About: "Three promises" manifesto (redesigned section) ===== */
main>section.pg-manifesto{background:var(--ink);color:var(--bg);position:relative;overflow:hidden}
main>section.pg-manifesto::before{content:"";position:absolute;width:62vmax;height:62vmax;right:-22vmax;top:-30vmax;border-radius:50%;background:radial-gradient(circle,#7964c877,transparent 65%);filter:blur(30px);pointer-events:none}
.pg-manifesto .container{position:relative;z-index:1}
.pg-manifesto .eyebrow{color:var(--gp-sun);background:#ffffff1a}
.pg-manifesto-head{margin-bottom:clamp(30px,5vw,56px)}
.pg-manifesto-head h2{font:800 clamp(2.4rem,5.2vw,4.4rem)/1.04 Manrope,sans-serif;letter-spacing:-.06em;color:var(--bg);margin:16px 0 0}
.pg-manifesto-head h2 em{font-style:italic;background:var(--gp-grad);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gpShine 7s linear infinite}
.pg-manifesto-list{list-style:none;border-top:1px solid color-mix(in srgb,var(--bg) 18%,transparent)}
.pg-promise{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;gap:clamp(18px,4vw,60px);align-items:center;padding:clamp(26px,4vw,46px) 0;border-bottom:1px solid color-mix(in srgb,var(--bg) 18%,transparent);transition:padding .45s cubic-bezier(.2,.8,.2,1)}
.pg-promise::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gp-grad);opacity:.16;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.pg-promise:hover::before{transform:scaleX(1)}
.pg-promise:hover{padding-inline-start:clamp(14px,2vw,28px)}
.pg-promise-num{font:800 clamp(3.2rem,8vw,6.6rem)/.9 Manrope,sans-serif;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--bg) 60%,transparent);transition:color .5s,-webkit-text-stroke-color .5s}
.pg-promise:hover .pg-promise-num{color:var(--gp-sun);-webkit-text-stroke-color:var(--gp-sun)}
.pg-promise-text{display:grid;gap:12px;max-width:640px}
.pg-promise h3{font:800 clamp(1.8rem,3.6vw,2.8rem)/1.08 Manrope,sans-serif;letter-spacing:-.045em;color:var(--bg)}
.pg-promise p{color:color-mix(in srgb,var(--bg) 74%,transparent);font-size:1.05rem;line-height:1.7;max-width:520px}
.pg-promise-ic{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;border:1.5px solid color-mix(in srgb,var(--bg) 35%,transparent);color:var(--gp-sun);font-size:1.3rem;transition:transform .6s cubic-bezier(.2,.8,.2,1),background .4s,color .4s}
.pg-promise:hover .pg-promise-ic{transform:rotate(360deg) scale(1.08);background:var(--gp-sun);color:#29243c;border-color:var(--gp-sun)}
@media(max-width:1024px){
  .pg-promise{grid-template-columns:auto 1fr}
  .pg-promise-ic{display:none}
}
@media(max-width:767px){
  .pg-promise{grid-template-columns:1fr auto;gap:14px}
  .pg-promise-num{font-size:3rem}
  .pg-promise-ic{display:grid;width:52px;height:52px;font-size:1.05rem;grid-column:2;grid-row:1}
  .pg-promise-text{grid-column:1/-1}
  .pg-promise:hover{padding-inline-start:0}
}

.pg-promise h3,.pg-promise p{margin:0}
.pg-promise-text{gap:10px}

/* ===== About: redesigned team and process sections ===== */
.pg-team-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 40px;margin-bottom:clamp(30px,5vw,50px)}
.pg-team-head p{max-width:380px;color:var(--muted);line-height:1.7;margin:0}
.pg-people{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pg-person{position:relative;min-height:500px;border-radius:32px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:26px;background:linear-gradient(160deg,var(--c1),var(--c2));color:#fff;box-shadow:var(--shadow);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.pg-person::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,#ffffff47,transparent 68%);top:-90px;right:-90px;z-index:-1;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.pg-person::after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff22 1px,transparent 1.2px);background-size:18px 18px;-webkit-mask-image:linear-gradient(#000,transparent 70%);mask-image:linear-gradient(#000,transparent 70%)}
.pg-person:hover{transform:translateY(-8px)}
.pg-person:hover::before{transform:scale(1.35) translate(-24px,24px)}
.pg-person-photo{width:calc(100% + 52px);max-width:none;height:300px;margin:-26px -26px 0;object-fit:cover;object-position:center top;flex-shrink:0;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent);pointer-events:none}
.pg-person-init{font:800 clamp(5rem,9vw,7.5rem)/.85 Manrope,sans-serif;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1.5px #ffffffb3;align-self:flex-start;transition:-webkit-text-stroke-color .5s,color .5s}
.pg-person:hover .pg-person-init{color:#ffffff2e;-webkit-text-stroke-color:#ffffffff}
.pg-person-body{display:grid;gap:10px;padding:22px;border-radius:24px;background:#ffffff1f;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #ffffff38}
.pg-person-role{font:800 .72rem "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.pg-person h3{font:800 1.6rem/1.1 Manrope,sans-serif;letter-spacing:-.04em;color:#fff;margin:0}
.pg-person-bio{margin:0;color:#ffffffe6;line-height:1.6;font-size:.95rem}
.pg-person-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.pg-person-tags span{padding:6px 11px;border-radius:999px;background:#ffffff26;font-size:.78rem;font-weight:700;color:#fff}

.pg-journey{overflow:hidden}
.pg-journey-head{max-width:720px;margin-bottom:clamp(40px,6vw,70px)}
.pg-journey-head h2{font:800 clamp(2.3rem,4.6vw,3.8rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 14px;color:var(--ink)}
.pg-journey-head p{color:var(--muted);line-height:1.7;font-size:1.05rem;margin:0}
.pg-route{list-style:none;position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pg-route::before{content:"";position:absolute;top:33px;inset-inline:6%;height:4px;border-radius:4px;background:var(--gp-grad);background-size:200% auto;opacity:.35;animation:gpShine 8s linear infinite}
.pg-stop{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.pg-stop-dot{position:relative;width:68px;height:68px;border-radius:24px;display:grid;place-items:center;margin-bottom:14px;background:var(--surface);border:2px solid var(--line);color:var(--purple-dark);font-size:1.4rem;box-shadow:var(--shadow);transition:transform .5s cubic-bezier(.2,.8,.2,1),background .4s,color .4s,border-color .4s}
.pg-stop:hover .pg-stop-dot{transform:translateY(-6px) rotate(-6deg);background:var(--gp-grad);background-size:200% auto;color:#fff;border-color:transparent}
.pg-stop-no{font:800 .78rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gp-coral)}
.pg-stop h3{font:800 1.3rem/1.2 Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink);margin:0}
.pg-stop p{color:var(--muted);line-height:1.65;font-size:.95rem;margin:0}

@media(max-width:1024px){
  .pg-people{grid-template-columns:1fr 1fr}
  .pg-people>:last-child{grid-column:1/-1;min-height:400px}
  .pg-route{grid-template-columns:1fr 1fr;row-gap:40px}
  .pg-route::before{display:none}
}
@media(max-width:767px){
  .pg-people{grid-template-columns:1fr}
  .pg-people>:last-child{grid-column:auto;min-height:460px}
  .pg-person{min-height:440px;padding:20px}
  .pg-person-body{padding:18px}
  .pg-route{grid-template-columns:1fr;gap:26px}
  .pg-stop{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:center}
  .pg-stop-dot{grid-row:span 3;margin:0;width:58px;height:58px;border-radius:20px}
  .pg-stop-no,.pg-stop h3,.pg-stop p{grid-column:2}
}

/* ===== Contact page: redesigned sections ===== */
.pg-msg-head{max-width:760px;margin-bottom:clamp(30px,5vw,50px)}
.pg-msg-head h2{font:800 clamp(2.3rem,4.6vw,3.8rem)/1.06 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 0;color:var(--ink)}
.pg-msg-card{display:grid;grid-template-columns:340px 1fr;border-radius:34px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.pg-msg-side{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:26px;padding:clamp(26px,4vw,44px);background:linear-gradient(160deg,#7964c8,#3f3378 70%,#16b8a6);color:#fff}
.pg-msg-side::after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff26 1px,transparent 1.2px);background-size:20px 20px}
.pg-msg-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;pointer-events:none}
.pg-msg-side::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#2b1f5a40 0%,#3f337899 55%,#16b8a6b3 100%)}
.pg-msg-side::after{display:none}
.pg-msg-side h3{font:800 1.8rem/1.1 Manrope,sans-serif;letter-spacing:-.04em;margin:0;color:#fff}
.pg-msg-side ul{list-style:none;display:grid;gap:18px;margin:0;padding:0}
.pg-msg-side li{display:flex;gap:14px;align-items:center}
.pg-msg-side li i{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border-radius:16px;background:#ffffff26;font-size:1.05rem}
.pg-msg-side strong{display:block;font-weight:800;color:#fff}
.pg-msg-side a,.pg-msg-side li span{color:#ffffffe6;font-weight:600;font-size:.94rem;line-height:1.5}
.pg-msg-note{margin:auto 0 0;color:#ffffffd9;font-size:.9rem;line-height:1.6}
.pg-msg-form{padding:clamp(24px,4vw,44px)}
.pg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.pg-form-grid .span-2{grid-column:1/-1}
.pg-form-grid .button{justify-self:start}

.pg-bento{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.pg-bento-big{grid-row:span 2;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:440px;padding:clamp(26px,4vw,46px);border-radius:34px;background:var(--gp-grad);background-size:200% auto;color:#fff;transition:transform .45s cubic-bezier(.2,.8,.2,1),background-position .9s}
.pg-bento-big::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,#ffffff40,transparent 68%);right:-100px;top:-100px;z-index:-1}
.pg-bento-big:hover{transform:translateY(-6px);background-position:100% 0}
.pg-bento-big h3{font:800 clamp(2rem,4vw,3rem)/1.05 Manrope,sans-serif;letter-spacing:-.05em;margin:0 0 12px;color:#fff}
.pg-bento-big p{margin:0;color:#ffffffe8;max-width:430px;line-height:1.65}
.pg-big-ic{width:76px;height:76px;border-radius:24px;background:#ffffff2e;display:grid;place-items:center;font-size:1.8rem;color:#fff}
.pg-big-stat{font:800 clamp(3.4rem,8vw,6rem)/.9 Manrope,sans-serif;letter-spacing:-.07em;color:#fff}
.pg-big-stat small{font-size:1.1rem;letter-spacing:-.01em;margin-inline-start:6px}
.pg-bento-sm{position:relative;display:flex;align-items:center;gap:18px;padding:26px;border-radius:28px;background:var(--surface);border:1px solid var(--line);color:var(--ink);transition:transform .35s,box-shadow .35s}
.pg-bento-sm:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pg-bento-sm .ic{width:60px;height:60px;flex-shrink:0;display:grid;place-items:center;border-radius:20px;background:var(--lavender);color:var(--purple-dark);font-size:1.3rem}
.pg-bento-sm h3{font:800 1.3rem/1.2 Manrope,sans-serif;letter-spacing:-.03em;margin:0 0 6px;color:var(--ink)}
.pg-bento-sm p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.55}
.pg-bento-sm .arrow{margin-inline-start:auto;color:var(--purple);font-size:1.1rem;transition:transform .3s}
.pg-bento-sm:hover .arrow{transform:translateX(5px)}
html[dir="rtl"] .pg-bento-sm:hover .arrow{transform:translateX(-5px)}

.pg-week-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 40px;margin-bottom:clamp(24px,4vw,40px)}
.pg-week-head h2{font:800 clamp(2.3rem,4.6vw,3.8rem)/1.06 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 0;color:var(--ink)}
.pg-week-head p{max-width:380px;color:var(--muted);line-height:1.7;margin:0}
.pg-week-strip{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:14px;padding:20px 22px 0;border-radius:32px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.pg-week-strip li{height:300px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px}
.pg-week-strip b{font:800 .8rem Manrope,sans-serif;color:var(--ink);white-space:nowrap}
.pg-week-strip i{display:block;width:100%;max-width:78px;height:var(--h);border-radius:22px 22px 10px 10px;background:var(--gp-grad);background-size:200% auto;box-shadow:0 14px 28px #7964c833;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .3s;transform-origin:bottom}
.pg-week-strip li:hover i{transform:scaleY(1.06)}
.pg-week-strip li.is-closed i{background:var(--line);box-shadow:none}
.pg-week-strip li.is-closed b{color:var(--muted)}
.pg-week-strip span{font:800 .8rem "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-dark);padding-bottom:20px}

.pg-call{padding-top:0}
.pg-call-box{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;padding:clamp(28px,5vw,60px);border-radius:38px;background:var(--ink);color:var(--bg)}
.pg-call-box::before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,#ff6b5799,transparent 66%);right:-160px;bottom:-220px;z-index:-1}
.pg-call-box .eyebrow{color:var(--gp-sun);background:#ffffff1a}
.pg-call-box h2{font:800 clamp(2.2rem,4.4vw,3.6rem)/1.05 Manrope,sans-serif;letter-spacing:-.06em;color:var(--bg);margin:14px 0}
.pg-call-box h2 em{font-style:italic;background:var(--gp-grad);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent}
.pg-call-box p{color:color-mix(in srgb,var(--bg) 75%,transparent);line-height:1.7;margin:0}
.pg-call-form{display:grid;gap:16px}
.pg-call-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pg-call-form .pg-form-row{display:grid;gap:6px}
.pg-call-form label{display:flex;flex-direction:column;gap:8px;font-size:.85rem;font-weight:700;color:var(--bg)}
.pg-call-form input,.pg-call-form select{width:100%;padding:15px 16px;border-radius:18px;border:1px solid color-mix(in srgb,var(--bg) 25%,transparent);background:color-mix(in srgb,var(--bg) 10%,transparent);color:var(--bg);font:inherit;font-size:.95rem}
.pg-call-form select option{color:#29243c}
.pg-call-form input::placeholder{color:color-mix(in srgb,var(--bg) 55%,transparent)}
.pg-call-form input:focus,.pg-call-form select:focus{outline:3px solid #ffc14566;border-color:var(--gp-sun)}
.pg-call-form .button{justify-self:start}
.pg-call-form [data-error]{color:var(--gp-coral);margin:0}
.pg-call-form .pg-status{color:var(--gp-sun);margin:0}

.pg-qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pg-qa{padding:4px 26px;border-radius:28px;background:var(--surface);border:1px solid var(--line);transition:box-shadow .35s,border-color .35s}
.pg-qa[open]{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--purple) 45%,transparent)}
.pg-qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:22px 0;font:800 1.12rem/1.3 Manrope,sans-serif;letter-spacing:-.02em;color:var(--ink)}
.pg-qa summary::-webkit-details-marker{display:none}
.pg-qa summary>span{font:800 .8rem "DM Sans",sans-serif;letter-spacing:.1em;color:var(--gp-coral);flex-shrink:0}
.pg-qa summary i{margin-inline-start:auto;flex-shrink:0;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--lavender);color:var(--purple-dark);transition:transform .45s cubic-bezier(.2,.8,.2,1),background .3s,color .3s}
.pg-qa[open] summary i{transform:rotate(135deg);background:var(--gp-grad);color:#fff}
.pg-qa p{margin:0 0 24px;color:var(--muted);line-height:1.7}

@media(max-width:1024px){
  .pg-msg-card{grid-template-columns:1fr}
  .pg-call-box{grid-template-columns:1fr}
  .pg-week-strip{grid-template-columns:repeat(7,1fr);gap:8px;padding-inline:10px}
  .pg-week-strip li{height:260px}
}
@media(max-width:767px){
  .pg-form-grid,.pg-call-fields,.pg-qa-grid{grid-template-columns:1fr}
  .pg-bento{grid-template-columns:1fr}
  .pg-bento-big{grid-row:auto;min-height:380px}
  .pg-week-strip{grid-template-columns:1fr;gap:10px;padding:16px}
  .pg-week-strip li{height:auto;display:grid;grid-template-columns:44px 1fr 130px;align-items:center;gap:14px;justify-content:start}
  .pg-week-strip span{order:0;padding:0;font-size:.74rem}
  .pg-week-strip i{order:1;height:14px;width:var(--w);max-width:none;border-radius:99px}
  .pg-week-strip b{order:2;justify-self:end;font-size:.8rem;white-space:normal;text-align:end}
  .pg-week-strip li.is-closed i{width:var(--w)}
  .pg-call-box,.pg-msg-side,.pg-msg-form{padding:22px}
  .pg-msg-card{border-radius:26px}
  .pg-bento-sm{padding:20px}
}

/* ===== About: interactive process explorer (replaces the four-stop route) ===== */
.pg-process-head{max-width:760px;margin-bottom:clamp(30px,5vw,50px)}
.pg-process-head h2{font:800 clamp(2.3rem,4.6vw,3.8rem)/1.06 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 14px;color:var(--ink)}
.pg-process-head p{color:var(--muted);font-size:1.05rem;line-height:1.7;margin:0}
.pg-process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(20px,3vw,36px);align-items:stretch}
.pg-ptabs{display:grid;gap:12px;align-content:start}
.pg-ptab{display:flex;align-items:center;gap:18px;width:100%;padding:22px 24px;border-radius:26px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-align:start;cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .4s,color .4s,box-shadow .4s}
.pg-ptab:hover{transform:translateX(6px)}
html[dir="rtl"] .pg-ptab:hover{transform:translateX(-6px)}
.pg-ptab:focus-visible{outline:3px solid #a99be8;outline-offset:3px}
.pg-ptab-no{flex-shrink:0;width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:var(--lavender);color:var(--purple-dark);font:800 1rem Manrope,sans-serif;letter-spacing:-.02em;transition:background .4s,color .4s}
.pg-ptab-text{display:grid;gap:4px}
.pg-ptab-text strong{font:800 1.15rem/1.25 Manrope,sans-serif;letter-spacing:-.02em}
.pg-ptab-text small{color:var(--muted);font-size:.9rem;line-height:1.45}
.pg-ptab.is-active{background:var(--gp-grad);background-size:200% auto;border-color:transparent;color:#fff;box-shadow:0 20px 40px #ff6b5733}
.pg-ptab.is-active .pg-ptab-no{background:#ffffff33;color:#fff}
.pg-ptab.is-active .pg-ptab-text small{color:#ffffffe0}
.pg-process-stage{position:relative;min-height:460px;padding:clamp(24px,4vw,44px);border-radius:36px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;isolation:isolate}
.pg-process-stage::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,#ffc14555,transparent 66%);right:-120px;top:-120px;z-index:-1}
.pg-pane{display:none;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,46px);align-items:center;animation:pgIn .55s cubic-bezier(.2,.8,.2,1)}
.pg-pane.is-active{display:grid}
@keyframes pgIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.pg-pane-ic{width:64px;height:64px;display:grid;place-items:center;border-radius:22px;background:var(--gp-grad);background-size:200% auto;color:#fff;font-size:1.4rem}
.pg-pane-no{display:block;margin-top:18px;font:800 .78rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gp-coral)}
.pg-pane h3{font:800 clamp(1.9rem,3.4vw,2.7rem)/1.08 Manrope,sans-serif;letter-spacing:-.045em;color:var(--ink);margin:8px 0 14px}
.pg-pane-lead{font-weight:700;color:var(--purple-dark);margin:0 0 12px}
.pg-pane-copy p{color:var(--muted);line-height:1.7;margin:0}
.pg-mock{display:grid;gap:12px;padding:20px;border-radius:26px;background:var(--bg);border:1px solid var(--line);box-shadow:0 18px 40px #49377812}
.pg-bubble{max-width:84%;padding:13px 16px;border-radius:18px;font-size:.92rem;line-height:1.5}
.pg-bubble.me{justify-self:end;background:var(--lavender);color:var(--ink);border-bottom-right-radius:6px}
.pg-bubble.them{justify-self:start;background:var(--gp-grad);background-size:200% auto;color:#fff;border-bottom-left-radius:6px}
.pg-typing{display:flex;gap:6px;padding:10px 14px;justify-self:start;border-radius:999px;background:var(--lavender-2)}
.pg-typing span{width:8px;height:8px;border-radius:50%;background:var(--purple);animation:pgDot 1.2s infinite ease-in-out}
.pg-typing span:nth-child(2){animation-delay:.15s}
.pg-typing span:nth-child(3){animation-delay:.3s}
@keyframes pgDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}
.pg-row{display:grid;grid-template-columns:1fr 110px 44px;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:.92rem}
.pg-row b{text-align:end;font:800 .95rem Manrope,sans-serif;color:var(--purple-dark)}
.pg-fit{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.pg-fit span{display:block;height:100%;width:var(--f);border-radius:inherit;background:var(--gp-grad);background-size:200% auto}
.pg-mock-foot{display:flex;gap:8px;align-items:center;margin:4px 0 0;color:var(--muted);font-size:.85rem}
.pg-mock-foot i{color:var(--purple)}
.pg-mock-top{display:flex;justify-content:space-between;align-items:baseline;color:var(--ink)}
.pg-mock-top strong{font:800 1.05rem Manrope,sans-serif}
.pg-mock-top span{font-weight:800;color:var(--purple-dark)}
.pg-bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden}
.pg-bar span{display:block;height:100%;width:var(--f);background:var(--gp-grad);background-size:200% auto;border-radius:inherit}
.pg-task{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-weight:600;font-size:.93rem}
.pg-task i:first-child,.pg-task>i{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border-radius:9px;border:2px solid var(--line);font-size:.7rem;color:#fff}
.pg-task.is-done{color:var(--ink)}
.pg-task.is-done>i{background:var(--purple);border-color:var(--purple)}
.pg-arrive{list-style:none;display:grid;gap:14px;position:relative;margin:0;padding:0}
.pg-arrive li{display:flex;align-items:center;gap:14px}
.pg-arrive li>span{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:16px;background:var(--lavender);color:var(--purple-dark);font-size:1.1rem;position:relative;z-index:1}
.pg-arrive li div{display:grid;gap:2px}
.pg-arrive strong{color:var(--ink);font:800 1rem Manrope,sans-serif}
.pg-arrive small{color:var(--muted);font-size:.85rem}
@media(max-width:1024px){
  .pg-process-grid{grid-template-columns:1fr}
  .pg-pane.is-active{grid-template-columns:1fr}
}
@media(max-width:767px){
  .pg-process-stage{min-height:0;padding:20px;border-radius:28px}
  .pg-ptab{padding:16px 18px;border-radius:22px}
  .pg-ptab-no{width:44px;height:44px;border-radius:15px}
  .pg-pane{gap:20px}
  .pg-row{grid-template-columns:1fr 70px 36px;font-size:.85rem;padding:12px}
}

/* ---- process explorer: layout fixes ---- */
.pg-process-grid{grid-template-columns:.7fr 1.3fr}
.pg-pane.is-active{grid-template-columns:.9fr 1.1fr}
.pg-row{grid-template-columns:1fr auto;gap:8px 12px;padding:14px 16px}
.pg-row>span:first-child{grid-column:1;grid-row:1}
.pg-row .pg-fit{grid-column:1/-1;grid-row:2}
.pg-row b{grid-column:2;grid-row:1;text-align:end}
@media(max-width:1024px){
  .pg-process-grid{grid-template-columns:1fr}
  .pg-pane.is-active{grid-template-columns:1fr}
}

/* ===================================================================
   SCHOLARSHIPS PAGE: extraordinary redesign of the content sections
   =================================================================== */
.pg-tix-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}
.pg-tix-head h2{font:800 clamp(2.3rem,4.6vw,3.8rem)/1.06 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 0;color:var(--ink)}
.pg-tix-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.pg-tix-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:12px}
.pg-ticket{position:relative;display:flex;flex-direction:column;padding:30px 26px 22px;border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.pg-ticket::before{content:"";position:absolute;inset:0 0 auto 0;height:10px;border-radius:28px 28px 0 0;background:var(--gp-grad);background-size:200% auto}
.pg-ticket:hover{transform:translateY(-8px) rotate(-.7deg)}
.pg-ticket[hidden]{display:none}
.pg-tk-top{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font:800 .72rem "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pg-tk-cat{padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--gp-coral) 16%,transparent);color:var(--gp-coral)}
.pg-ticket h3{font:800 1.45rem/1.15 Manrope,sans-serif;letter-spacing:-.04em;color:var(--ink);margin:16px 0 0}
.pg-tk-amount{display:flex;flex-direction:column;margin-top:12px;font:800 clamp(3rem,5vw,4.2rem)/.95 Manrope,sans-serif;letter-spacing:-.06em;background:var(--gp-grad);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent}
.pg-tk-amount small{font:700 .95rem "DM Sans",sans-serif;letter-spacing:0;color:var(--muted);-webkit-text-fill-color:var(--muted);margin-top:4px}
.pg-tk-perf{position:relative;margin:22px -26px;border-top:2px dashed var(--line)}
.pg-tk-perf::before,.pg-tk-perf::after{content:"";position:absolute;top:-15px;width:30px;height:30px;border-radius:50%;background:var(--bg)}
.pg-tk-perf::before{inset-inline-start:-15px}
.pg-tk-perf::after{inset-inline-end:-15px}
.pg-tk-body{display:grid;gap:12px;margin:0}
.pg-tk-body div{display:grid;gap:2px}
.pg-tk-body dt{font:800 .72rem "DM Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pg-tk-body dd{margin:0;color:var(--ink);font-weight:700;font-size:.95rem;line-height:1.45}
.pg-tk-count{margin-top:auto;padding-top:18px;display:flex}
.pg-tk-count span{padding:10px 16px;border-radius:14px;background:var(--lavender);color:var(--purple-dark);font-weight:800;font-size:.9rem}

.pg-funds{overflow:hidden}
.pg-fund-deck{display:flex;gap:16px;height:520px}
.pg-fund{position:relative;flex:1 1 0;min-width:0;border:0;padding:0;border-radius:34px;background:linear-gradient(160deg,var(--c1),var(--c2));color:var(--tx,#fff);cursor:pointer;overflow:hidden;text-align:start;isolation:isolate;box-shadow:var(--shadow);transition:flex .8s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.pg-fund::after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff26 1px,transparent 1.2px);background-size:18px 18px}
.pg-fund.is-open{flex:3.4 1 0}
.pg-fund:focus-visible{outline:3px solid #a99be8;outline-offset:4px}
.pg-fund-vtitle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 1.5rem Manrope,sans-serif;letter-spacing:-.03em;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;transition:opacity .4s}
.pg-fund.is-open .pg-fund-vtitle{opacity:0}
.pg-fund-body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:32px;max-width:520px;opacity:0;transform:translateY(20px);transition:opacity .5s .2s,transform .6s .2s;pointer-events:none}
.pg-fund.is-open .pg-fund-body{opacity:1;transform:none;pointer-events:auto}
.pg-fund-no{position:absolute;top:28px;inset-inline-end:30px;font:800 .95rem Manrope,sans-serif;opacity:.8}
.pg-fund-ic{width:66px;height:66px;display:grid;place-items:center;border-radius:22px;background:#ffffff2e;font-size:1.4rem;margin-bottom:auto}
.pg-fund-title{font:800 clamp(2rem,3vw,2.7rem)/1.04 Manrope,sans-serif;letter-spacing:-.045em}
.pg-fund-text{font-size:1.05rem;line-height:1.6;opacity:.95}
.pg-fund-photo,.pg-ch-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.32;pointer-events:none;border-radius:inherit;transition:opacity .5s}
.pg-fund.is-open .pg-fund-photo{opacity:.42}
/* Photo cards: no dot-pattern overlay on top of the images */
.pg-fund::after,.pg-chapter::after{display:none}
.pg-fund-ex{align-self:flex-start;margin-top:6px;padding:8px 14px;border-radius:999px;background:#ffffff2e;font-weight:700;font-size:.85rem}

.pg-ready-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,80px);align-items:center}
.pg-ready-grid h2{font:800 clamp(2.3rem,4.6vw,3.8rem)/1.06 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 14px;color:var(--ink)}
.pg-ring-card{display:grid;gap:26px;padding:clamp(24px,4vw,40px);border-radius:36px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.pg-ring{position:relative;width:200px;height:200px;margin:0 auto}
.pg-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.pg-ring circle{fill:none;stroke-width:12;stroke-linecap:round}
.pg-ring-bg{stroke:var(--line)}
.pg-ring-fg{stroke:#7964c8;stroke-dasharray:326.7;stroke-dashoffset:326.7;transition:stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1)}
.pg-ring-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:2px}
.pg-ring-num strong{font:800 2.6rem/1 Manrope,sans-serif;letter-spacing:-.05em;color:var(--ink)}
.pg-ring-num span{font-weight:700;font-size:.85rem;color:var(--muted)}
.pg-toggles{display:grid;gap:12px}
.pg-toggle{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:var(--bg);border:1px solid var(--line);color:var(--ink);font-weight:700;cursor:pointer;transition:background .4s,transform .3s,border-color .4s,color .4s}
.pg-toggle:hover{transform:translateX(4px)}
html[dir="rtl"] .pg-toggle:hover{transform:translateX(-4px)}
.pg-toggle input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pg-toggle>i{margin-inline-start:auto;width:32px;height:32px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:2px solid var(--line);color:transparent;font-size:.8rem;transition:all .4s}
.pg-toggle:has(input:checked){background:var(--gp-grad);background-size:200% auto;border-color:transparent;color:#fff}
.pg-toggle:has(input:checked)>i{background:#fff;border-color:#fff;color:#7964c8}
.pg-toggle:has(input:focus-visible){outline:3px solid #a99be8;outline-offset:3px}

.pg-stack-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,90px);align-items:start}
.pg-stack-head{position:sticky;top:130px}
.pg-stack-head h2{font:800 clamp(2.3rem,4.6vw,3.8rem)/1.06 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 16px;color:var(--ink)}
.pg-stack{padding-bottom:20vh}
.pg-chapter{position:sticky;top:calc(128px + var(--i) * 22px);height:320px;margin-bottom:26px;padding:34px;border-radius:34px;color:#fff;background:linear-gradient(150deg,var(--c1),var(--c2));box-shadow:0 24px 60px #2b1f5a40;display:flex;flex-direction:column;gap:12px;overflow:hidden;isolation:isolate}
.pg-chapter::after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff24 1px,transparent 1.2px);background-size:18px 18px}
.pg-ch-no{font:800 .78rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.pg-ch-ic{position:absolute;top:30px;inset-inline-end:30px;width:70px;height:70px;display:grid;place-items:center;border-radius:24px;background:#ffffff2e;font-size:1.5rem}
.pg-chapter h3{font:800 clamp(2rem,3.4vw,2.9rem)/1.05 Manrope,sans-serif;letter-spacing:-.045em;margin:auto 0 0}
.pg-chapter p{margin:0;font-size:1.05rem;line-height:1.6;max-width:460px;opacity:.95}

.pg-flip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pg-flip{position:relative;height:280px;padding:0;border:0;background:none;cursor:pointer;perspective:1200px;text-align:start;border-radius:28px}
.pg-flip:focus-visible{outline:3px solid #a99be8;outline-offset:4px}
.pg-flip-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.8,.2,1)}
.pg-flip[aria-pressed="true"] .pg-flip-in{transform:rotateY(180deg)}
.pg-face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:26px;border-radius:28px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:var(--shadow)}
.pg-front{background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.pg-front strong{font:800 1.4rem/1.2 Manrope,sans-serif;letter-spacing:-.03em}
.pg-back{transform:rotateY(180deg);background:linear-gradient(150deg,#7964c8,#ff6b57);color:#fff}
.pg-flip-tag{align-self:flex-start;padding:6px 12px;border-radius:999px;background:#ffffff2e;font:800 .72rem "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.pg-front .pg-flip-tag{background:color-mix(in srgb,var(--gp-coral) 16%,transparent);color:var(--gp-coral)}
.pg-flip-hint{font-weight:700;font-size:.85rem;color:var(--muted)}
.pg-flip-answer{font:700 1.2rem/1.5 Manrope,sans-serif;letter-spacing:-.02em}

.pg-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start;padding:12px 0}
.pg-note-card{display:grid;gap:18px;padding:34px 30px;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow);transform:rotate(var(--r,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.pg-note-card:hover{transform:rotate(0) translateY(-8px)}
.pg-note-card.r1{--r:-2.2deg;background:color-mix(in srgb,var(--gp-sun) 26%,var(--surface))}
.pg-note-card.r2{--r:1.6deg;background:color-mix(in srgb,var(--gp-coral) 18%,var(--surface))}
.pg-note-card.r3{--r:-1deg;background:color-mix(in srgb,var(--gp-teal) 20%,var(--surface))}
.pg-won{justify-self:start;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--ink);color:var(--bg);font:800 .85rem Manrope,sans-serif}
.pg-won i{color:var(--gp-sun)}
.pg-note-card p{margin:0;font:600 1.12rem/1.55 Manrope,sans-serif;color:var(--ink)}
.pg-note-card small{color:var(--muted);font-weight:700}

@media(max-width:1024px){
  .pg-tix-grid,.pg-flip-grid{grid-template-columns:1fr 1fr}
  .pg-wall{grid-template-columns:1fr 1fr}
  .pg-wall>:last-child{grid-column:1/-1;max-width:520px}
  .pg-ready-grid,.pg-stack-grid{grid-template-columns:1fr}
  .pg-stack-head{position:static}
}
@media(max-width:767px){
  .pg-tix-grid,.pg-flip-grid,.pg-wall{grid-template-columns:1fr}
  .pg-wall>:last-child{grid-column:auto;max-width:none}
  .pg-note-card{transform:none}
  .pg-fund-deck{flex-direction:column;height:auto}
  .pg-fund{flex:none;min-height:96px}
  .pg-fund.is-open{min-height:420px}
  .pg-fund-vtitle{position:relative;inset:auto;writing-mode:horizontal-tb;transform:none;justify-content:flex-start;padding:28px 26px;font-size:1.35rem}
  .pg-fund-body{padding:26px}
  .pg-chapter{position:relative;top:auto!important;height:auto;min-height:240px;padding:26px}
  .pg-ch-ic{top:22px;inset-inline-end:22px;width:56px;height:56px}
  .pg-stack{padding-bottom:0}
  .pg-flip{height:240px}
  .pg-ticket{padding:24px 20px 20px}
  .pg-tk-perf{margin:20px -20px}
}

/* Readiness section: balanced two-column layout */
.pg-ready-grid{align-items:center}
.pg-ready-side{display:grid;gap:28px}
.pg-ready-side .pg-lead{margin:0}
.pg-ring-side{gap:20px;text-align:center}
.pg-ring-side .pg-check-msg{margin:0;font-weight:700;color:var(--ink);line-height:1.5}
.pg-toggle-card{padding:clamp(20px,3vw,32px)}

/* ===================================================================
   COUNTRIES PAGE: section redesign
   =================================================================== */
.pg-passport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-top:10px}
.pg-passport{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px 26px 26px;border-radius:26px;background:var(--surface);border:2px dashed color-mix(in srgb,var(--gp-coral) 35%,var(--line));overflow:hidden;isolation:isolate;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .4s,box-shadow .4s}
.pg-passport::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(color-mix(in srgb,var(--gp-coral) 9%,transparent) 1px,transparent 1.2px);background-size:16px 16px}
.pg-passport:hover{transform:translateY(-6px) rotate(-.6deg);border-color:var(--gp-coral);box-shadow:var(--shadow)}
.pg-passport[hidden]{display:none}
.pg-passport[data-region="europe"]{--ink-c:#7964c8}
.pg-passport[data-region="americas"]{--ink-c:#ff6b57}
.pg-passport[data-region="asia-pacific"]{--ink-c:#16b8a6}
.pg-passport{border-color:color-mix(in srgb,var(--ink-c) 40%,var(--line))}
.pg-stamp{position:absolute;top:18px;inset-inline-end:18px;width:74px;height:74px;display:grid;place-items:center;border-radius:50%;border:3px double var(--ink-c);color:var(--ink-c);font:800 1.15rem Manrope,sans-serif;letter-spacing:.06em;transform:rotate(-12deg);opacity:.9}
.pg-passport h3{font:800 1.5rem/1.15 Manrope,sans-serif;letter-spacing:-.04em;color:var(--ink);margin:18px 0 0;max-width:70%}
.pg-passport p{margin:0;color:var(--muted);line-height:1.6;font-size:.98rem}
.pg-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px}
.pg-tags span{padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--ink-c) 12%,transparent);color:var(--ink);font-weight:700;font-size:.8rem}
.pg-tags span i{color:var(--ink-c);margin-inline-end:4px}
.pg-empty{grid-column:1/-1;color:var(--muted);font-weight:700}

.pg-living-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,80px);align-items:center}
.pg-living-head h2{font:800 clamp(2.3rem,4.4vw,3.6rem)/1.06 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 14px;color:var(--ink)}
.pg-living-head .pg-lead{margin:0}
.pg-receipt{position:relative;padding:clamp(26px,4vw,40px);border-radius:12px 12px 0 0;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);display:grid;gap:4px}
.pg-receipt::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:12px;background:linear-gradient(-45deg,transparent 8px,var(--surface) 0) 0 0/16px 12px,linear-gradient(45deg,transparent 8px,var(--surface) 0) 0 0/16px 12px}
.pg-receipt-title{margin:0 0 14px;font:800 1.1rem Manrope,sans-serif;letter-spacing:-.02em;color:var(--ink);padding-bottom:14px;border-bottom:2px dashed var(--line)}
.pg-receipt-title em{font-family:"Fraunces",Georgia,serif;color:var(--gp-coral);font-weight:400}
.pg-line{display:grid;grid-template-columns:auto 1fr;gap:14px 18px;padding:20px 0;border-bottom:1px dashed var(--line)}
.pg-line-ic{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--lavender);color:var(--purple-dark);font-size:1.15rem;grid-row:span 2}
.pg-line-txt h3{margin:0;font:800 1.2rem Manrope,sans-serif;color:var(--ink);letter-spacing:-.02em}
.pg-line-txt p{margin:4px 0 0;color:var(--muted);line-height:1.55}
.pg-line-txt small{display:block;margin-top:6px;font-weight:800;color:var(--gp-teal)}
.pg-line-bar{grid-column:2;height:12px;border-radius:999px;background:var(--bg);overflow:hidden}
.pg-line-bar span{display:block;height:100%;width:var(--w);border-radius:inherit;background:var(--gp-grad);background-size:200% auto}

.pg-timeline-band .pg-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;counter-reset:none}
.pg-timeline-band .pg-steps::before{content:"";position:absolute;top:38px;left:12%;right:12%;height:4px;border-radius:4px;background:linear-gradient(90deg,#7964c8,#ff6b57,#16b8a6,#ffc145)}
.pg-timeline-band .pg-steps li{position:relative;background:none;border:0;box-shadow:none;padding:0 14px;display:grid;gap:12px;justify-items:center;text-align:center}
.pg-timeline-band .pg-steps li .pg-step-num{font:800 .8rem "DM Sans",sans-serif;letter-spacing:.14em;color:var(--muted)}
.pg-timeline-band .pg-steps li .pg-card-ic{width:76px;height:76px;border-radius:50%;background:var(--surface);border:4px solid var(--bg);box-shadow:0 0 0 2px var(--line),var(--shadow);display:grid;place-items:center;font-size:1.4rem;color:var(--purple-dark)}
.pg-timeline-band .pg-steps li h3{margin:6px 0 0;font:800 1.2rem Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink)}
.pg-timeline-band .pg-steps li p{margin:0;color:var(--muted);line-height:1.6;font-size:.95rem}

.pg-voices .pg-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
.pg-voices .pg-story{position:relative;padding:44px 30px 30px;border-radius:24px;border:0;box-shadow:var(--shadow);background:var(--surface);transform:rotate(var(--r,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.pg-voices .pg-story:nth-child(1){--r:-1.8deg;background:color-mix(in srgb,var(--gp-sun) 22%,var(--surface))}
.pg-voices .pg-story:nth-child(2){--r:1.4deg;background:color-mix(in srgb,var(--gp-teal) 18%,var(--surface))}
.pg-voices .pg-story:nth-child(3){--r:-.8deg;background:color-mix(in srgb,var(--gp-coral) 16%,var(--surface))}
.pg-voices .pg-story:hover{transform:rotate(0) translateY(-6px)}
.pg-voices .pg-story>i{position:absolute;top:18px;inset-inline-end:22px;font-size:1.8rem;color:var(--gp-coral);opacity:.5}
.pg-voices .pg-story p{margin:0 0 18px;font:600 1.1rem/1.55 Manrope,sans-serif;color:var(--ink)}
.pg-voices .pg-story small{color:var(--muted);font-weight:700}

.pg-facts .pg-table-wrap{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface)}
.pg-facts .pg-table thead th{background:var(--ink);color:var(--bg);font-family:Manrope,sans-serif;letter-spacing:.02em}
.pg-facts .pg-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--lavender) 45%,transparent)}
.pg-facts .pg-table tbody tr:hover{background:color-mix(in srgb,var(--gp-sun) 22%,transparent)}
.pg-facts .pg-table th[scope="row"]{font-family:Manrope,sans-serif;font-weight:800}

.pg-lang .pg-acc{border-radius:20px;border:1px solid var(--line);background:var(--surface);margin-bottom:14px;box-shadow:none;overflow:hidden}
.pg-lang .pg-acc[open]{border-color:var(--gp-coral);box-shadow:var(--shadow)}
.pg-lang .pg-acc summary{font:800 1.25rem Manrope,sans-serif;letter-spacing:-.02em}
.pg-lang .pg-acc p{margin:0;padding:0 24px 22px;color:var(--muted);line-height:1.6}

@media(max-width:1200px){.pg-passport-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1024px){
  .pg-living-grid{grid-template-columns:1fr}
  .pg-timeline-band .pg-steps{grid-template-columns:1fr 1fr;row-gap:36px}
  .pg-timeline-band .pg-steps::before{display:none}
  .pg-voices .pg-stories{grid-template-columns:1fr 1fr}
  .pg-voices .pg-story:last-child{grid-column:1/-1;max-width:520px}
}
@media(max-width:767px){
  .pg-passport-grid,.pg-voices .pg-stories{grid-template-columns:1fr}
  .pg-voices .pg-story:last-child{grid-column:auto;max-width:none}
  .pg-voices .pg-story,.pg-passport:hover{transform:none}
  .pg-timeline-band .pg-steps{grid-template-columns:1fr}
  .pg-passport h3{max-width:62%}
  .pg-stamp{width:60px;height:60px;font-size:.95rem;top:14px}
}

/* Countries: tighten spacing between visa timeline and cost of living */
.pg-visa.pg-timeline-band{padding-bottom:clamp(40px,5vw,64px)}
.pg-living{padding-top:clamp(40px,5vw,64px)}
.pg-living-grid{align-items:start}
.pg-living-head{position:sticky;top:140px}
@media(max-width:1024px){.pg-living-head{position:static}}

/* Countries: cost of living as rising bars */
.pg-weigh-wrap{padding-top:clamp(56px,7vw,96px)}
.pg-weigh-head{max-width:640px;margin-bottom:clamp(36px,5vw,56px)}
.pg-weigh-head h2{font:800 clamp(2.3rem,4.6vw,3.8rem)/1.06 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 14px;color:var(--ink)}
.pg-weigh-head .pg-lead{margin:0}
.pg-weigh{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);align-items:end}
.pg-weigh-col{display:flex;flex-direction:column;gap:6px;min-width:0}
.pg-weigh-track{height:360px;display:flex;align-items:flex-end;padding:0 8px;border-bottom:2px solid var(--line)}
.pg-weigh-bar{position:relative;width:100%;height:var(--h);border-radius:28px 28px 10px 10px;background:linear-gradient(180deg,var(--gp-coral),#7964c8);background-size:100% 200%;box-shadow:0 24px 50px -22px #7964c8aa;transition:background-position .6s ease,transform .5s;overflow:hidden;isolation:isolate}
.pg-weigh-bar::after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff26 1px,transparent 1.2px);background-size:16px 16px}
.pg-weigh-col:hover .pg-weigh-bar{background-position:0 100%;transform:translateY(-6px)}
.pg-weigh-ic{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#ffffff33;color:#fff;font-size:1.35rem}
.pg-weigh-col:nth-child(2) .pg-weigh-bar{background:linear-gradient(180deg,var(--gp-teal),#7964c8)}
.pg-weigh-col:nth-child(3) .pg-weigh-bar{background:linear-gradient(180deg,var(--gp-sun),var(--gp-coral))}
.pg-weigh-col h3{margin:22px 0 0;font:800 1.45rem/1.15 Manrope,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.pg-weigh-col p{margin:0;color:var(--muted);line-height:1.6}
.pg-weigh-col small{margin-top:6px;font-weight:800;color:var(--gp-teal);font-size:.92rem}
@media(max-width:767px){
  .pg-weigh{grid-template-columns:1fr}
  .pg-weigh-track{height:auto;padding:0;border-bottom:0}
  .pg-weigh-bar{height:calc(var(--h) * 2.2);min-height:150px;border-radius:24px}
  .pg-weigh-ic{top:16px}
}

/* Countries cost bars: narrower, taller columns with aligned captions */
.pg-weigh{align-items:start}
.pg-weigh-track{height:420px;padding:0 clamp(8px,2vw,28px)}
.pg-weigh-bar{width:min(100%,220px);margin:0 auto;height:calc(var(--h) * 0.9 + 60px)}
.pg-weigh-col:nth-child(1) .pg-weigh-bar{height:calc(var(--h) * 0.95)}
.pg-weigh-col:nth-child(2) .pg-weigh-bar{height:calc(var(--h) * 0.9)}
.pg-weigh-col:nth-child(3) .pg-weigh-bar{height:calc(var(--h) * 0.9)}
.pg-weigh-col h3{text-align:center;margin-top:24px}
.pg-weigh-col p,.pg-weigh-col small{text-align:center}
.pg-weigh-col small{display:block}
@media(max-width:767px){.pg-weigh-bar{width:100%;height:calc(var(--h) * 2.2)}}

/* Countries: at-a-glance facts as a departure board */
.pg-fact-board{display:grid;gap:14px;margin-top:8px}
.pg-fact-head{display:grid;grid-template-columns:1.1fr repeat(4,1fr);gap:20px;padding:0 30px;font:800 .72rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pg-fact-row{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:center;padding:22px 30px 22px 36px;border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:0 10px 30px -22px #2b1f5a55;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.pg-fact-row::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:6px;border-radius:0 6px 6px 0;background:var(--rc,#7964c8)}
.pg-fact-row[data-region="europe"]{--rc:#7964c8}
.pg-fact-row[data-region="americas"]{--rc:#ff6b57}
.pg-fact-row[data-region="asia-pacific"]{--rc:#16b8a6}
.pg-fact-row:hover{transform:translateX(8px);box-shadow:var(--shadow)}
html[dir="rtl"] .pg-fact-row:hover{transform:translateX(-8px)}
.pg-fact-name{margin:0;font:800 1.45rem/1.1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.pg-fact-list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0}
.pg-fact{display:grid;gap:4px;min-width:0}
.pg-fact dt{display:none;font:800 .68rem "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pg-fact dd{margin:0;color:var(--ink);font-weight:700;line-height:1.4;font-size:.95rem}
.pg-facts .pg-note{margin-top:22px}
@media(max-width:1024px){
  .pg-fact-head{display:none}
  .pg-fact-row{grid-template-columns:1fr}
  .pg-fact-list{grid-template-columns:1fr 1fr}
  .pg-fact dt{display:block}
}
@media(max-width:600px){.pg-fact-list{grid-template-columns:1fr}}

/* Countries facts board: shared five-column grid so headers and rows align */
.pg-fact-head{grid-template-columns:repeat(5,1fr)}
.pg-fact-row{grid-template-columns:repeat(5,1fr);gap:20px}
.pg-fact-list{grid-column:span 4}
@media(max-width:1024px){
  .pg-fact-row{grid-template-columns:1fr}
  .pg-fact-list{grid-column:auto}
}
.pg-fact-head{padding:0 30px 0 36px}

/* Final call-to-action band: keep its purple background (overrides the even-section gradient) */
main>section.cta{background:#7460bd}

/* Home: final band with counter-drifting image columns */
main>section.dst-band{background:#4e407e ;color:#fff;border-radius:36px;margin:0 clamp(12px,2vw,28px);padding:clamp(56px,7vw,96px) clamp(20px,3vw,40px);overflow:hidden ; margin-bottom : 35px ; position:relative;isolation:isolate}
main>section.dst-band::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 0%,#3f72c755,transparent 60%)}
.dst-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:clamp(20px,3vw,40px);max-width:1280px;margin:0 auto}
.dst-col{display:grid;gap:22px;will-change:transform;transition:transform .12s linear}
.dst-tile{position:relative;margin:0;display:flex;align-items:center;justify-content:center;border-radius:22px;overflow:hidden;background-color:#3d6bb3;background-image:linear-gradient(160deg,#5b8ad8,#1f4a94);background-size:cover;background-position:center;isolation:isolate;box-shadow:0 20px 40px -20px #0b1f4a88}
.dst-tile[style*="--img"]{background-image:linear-gradient(rgba(8,26,64,.25),rgba(8,26,64,.35)),var(--img)}
.dst-tile span{font:800 clamp(1.5rem,2.4vw,2rem)/1 Manrope,sans-serif;letter-spacing:-.03em;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.4)}
.dst-center{text-align:center}
.dst-eyebrow{color:#cfe0ff}
.dst-center h2{font:500 clamp(2.4rem,4.6vw,3.9rem)/1.12 Manrope,sans-serif;letter-spacing:-.04em;margin:18px 0 22px}
.dst-center h2 b{font-weight:800}
.dst-under{position:relative;display:inline-block}
.dst-under::after{content:"";position:absolute;left:-4%;right:-4%;bottom:-.1em;height:.32em;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'><path d='M2 12 Q100 2 198 10' stroke='%23ff6b57' stroke-width='5' fill='none' stroke-linecap='round'/></svg>") center/100% 100% no-repeat}
.dst-center p{max-width:460px;margin:0 auto 30px;color:#dbe7ff;font-size:1.05rem;line-height:1.75}
.dst-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 34px;border-radius:999px;background:#fff;color:#1f4a94;font:800 1rem Manrope,sans-serif;text-decoration:none;box-shadow:0 14px 30px -12px #0b1f4a99;transition:transform .3s,box-shadow .3s}
.dst-btn:hover{transform:translateY(-3px);box-shadow:0 20px 36px -12px #0b1f4a99}
.dst-btn:focus-visible{outline:3px solid #9cc0ff;outline-offset:4px}
@media(max-width:900px){
  .dst-grid{grid-template-columns:1fr 1fr}
  .dst-center{grid-column:1/-1;order:-1}
}
@media(max-width:560px){
  .dst-col{gap:14px}
  .dst-tile{height:auto!important;aspect-ratio:4/5}
  .dst-tile span{font-size:1.2rem}
}
@media(prefers-reduced-motion:reduce){.dst-col{transform:none!important;transition:none}}

/* Home band: compact, sized to its content */
main>section.dst-band{padding:clamp(32px,4vw,48px) clamp(20px,3vw,40px)}
@media(min-width:561px){
  .dst-col{gap:16px}
  .dst-col .dst-tile:nth-child(n+4){display:none}
  .dst-band .dst-tile{height:210px!important}
}

/* Destination band (desktop): the section hugs the centre text; the tile columns
   span the full height and are centred on it, with the overflow clipped at the edges. */
@media(min-width:901px){
  .dst-grid{align-items:stretch}
  .dst-center{align-self:center}
  .dst-col{contain:size;align-content:center}
}

/* ===== Redesign: Quick match finder ===== */
.qm{margin-top:60px;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,60px);align-items:start;padding:clamp(28px,4vw,56px);border-radius:32px;background:linear-gradient(150deg,var(--lavender-2),var(--surface));border:1px solid var(--line);box-shadow:var(--shadow)}
.qm-intro h3{font:800 clamp(1.9rem,3.2vw,2.6rem)/1.1 Manrope,sans-serif;letter-spacing:-.05em;margin:14px 0 12px;color:var(--ink)}
.qm-intro p{color:var(--muted);line-height:1.75;max-width:420px;margin:0}
.qm-orb{display:grid;place-items:center;width:84px;height:84px;margin-top:30px;border-radius:26px;background:var(--purple);color:#fff;font-size:2rem;transform:rotate(-6deg);box-shadow:0 14px 30px #7964c844}
.qm-body{display:grid;gap:26px}
.qm-step .finder-label{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:1rem}
.qm-step .finder-label em{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--lavender);color:var(--purple);font-style:normal;font-size:.8rem;font-weight:800}
.qm-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.qm-chips .chip{flex-direction:column;justify-content:center;text-align:center;min-height:104px;padding:16px 12px;gap:10px;border-radius:20px;font-size:.92rem;font-weight:700}
.qm-chips .chip i{font-size:1.35rem}
.qm-body .finder-result{margin-top:0;min-height:90px}
@media(max-width:900px){.qm{grid-template-columns:1fr}}
@media(max-width:560px){
  .qm{padding:24px 18px;border-radius:24px}
  .qm-chips{grid-template-columns:1fr}
  .qm-chips .chip{flex-direction:row;text-align:start;min-height:56px;padding:12px 16px;border-radius:16px}
}
html[data-theme="dark"] .qm-orb{background:#8c79d7}

/* ===== Redesign: Small steps roadmap ===== */
.roadmap-head{text-align:center;max-width:720px;margin:0 auto 60px}
.roadmap-head h2{font:800 clamp(2.2rem,4vw,3.4rem)/1.12 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0}
.roadmap-head h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple);letter-spacing:-.04em}
.roadmap-head p{color:var(--muted);margin:0}
.roadmap-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;position:relative}
.roadmap-track::before{content:"";position:absolute;top:33px;inset-inline:12.5%;height:3px;border-radius:99px;background:linear-gradient(90deg,#9fe0cf,#f5c4a6,#c9bcf5,#ffe08a)}
.roadmap-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.roadmap-node{position:relative;z-index:1;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--surface);border:3px solid var(--bg);box-shadow:0 0 0 2px var(--line),0 12px 24px #49377814;font-size:1.3rem;color:var(--purple)}
.roadmap-step.rm-mint .roadmap-node{background:var(--mint);color:#418b77}
.roadmap-step.rm-peach .roadmap-node{background:var(--peach);color:#c67a59}
.roadmap-step.rm-lilac .roadmap-node{background:var(--lavender);color:var(--purple)}
.roadmap-step.rm-yellow .roadmap-node{background:var(--yellow);color:#b18b32}
.roadmap-card{margin-top:22px;width:100%;padding:24px 20px;border-radius:24px;background:var(--surface);border:1px solid var(--line);transition:transform .3s,box-shadow .3s}
.roadmap-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.roadmap-card small{display:inline-block;padding:5px 10px;border-radius:999px;background:var(--lavender);color:var(--purple);font-size:.66rem;font-weight:800;letter-spacing:.12em}
.roadmap-card h3{font:800 1.15rem/1.25 Manrope,sans-serif;letter-spacing:-.03em;margin:12px 0 8px;color:var(--ink)}
.roadmap-card p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.7}
html[data-theme="dark"] .roadmap-step.rm-mint .roadmap-node{color:#9fe0cf}
html[data-theme="dark"] .roadmap-step.rm-peach .roadmap-node{color:#f5c4a6}
html[data-theme="dark"] .roadmap-step.rm-yellow .roadmap-node{color:#ffe08a}
@media(max-width:1024px){
  .roadmap-track{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .roadmap-track::before{display:none}
}
@media(max-width:560px){
  .roadmap-track{grid-template-columns:1fr;gap:30px}
  .roadmap-track::before{display:block;top:34px;bottom:34px;inset-inline:auto;inset-inline-start:33px;width:3px;height:auto}
  .roadmap-step{flex-direction:row;align-items:flex-start;text-align:start;gap:18px}
  .roadmap-node{flex-shrink:0;width:60px;height:60px}
  .roadmap-card{margin-top:0;padding:20px 18px}
}
@media(max-width:560px){.roadmap-track::before{background:linear-gradient(180deg,#9fe0cf,#f5c4a6,#c9bcf5,#ffe08a)}}

/* ===== Redesign: Support for the whole journey ===== */
.sp-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:end;margin-bottom:24px}
.sp-head h2{font:800 clamp(2.4rem,4.2vw,3.6rem)/1.1 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 0;color:var(--ink)}
.sp-head h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple);letter-spacing:-.05em}
.sp-head-side{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.sp-head-side p{margin:0;color:var(--muted);font-size:1rem;line-height:1.8;max-width:440px}
.sp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sp-card{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon num" "icon title" "text text";column-gap:20px;row-gap:6px;padding:30px;border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 35px #49377809;transition:transform .3s,box-shadow .3s,border-color .3s}
.sp-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#cfc3f3}
.sp-card:nth-child(even){background:var(--lavender-2)}
.sp-icon{grid-area:icon;display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--lavender);color:var(--purple);font-size:1.4rem}
.sp-num{grid-area:num;justify-self:end;font:800 .8rem Manrope,sans-serif;letter-spacing:.12em;color:var(--muted);opacity:.7}
.sp-card h3{grid-area:title;font:800 1.25rem/1.25 Manrope,sans-serif;letter-spacing:-.03em;margin:0;color:var(--ink);align-self:end}
.sp-card p{grid-area:text;margin:12px 0 0;color:var(--muted);font-size:.96rem;line-height:1.75;max-width:380px}
.sp-tick{position:absolute;right:24px;bottom:24px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--mint);color:#418b77;font-size:.85rem}
html[data-theme="dark"] .sp-tick{color:#9fe0cf}
html[data-theme="dark"] .sp-icon{background:#332b4b;color:#c2b5ff}
@media(max-width:900px){
  .sp-head{grid-template-columns:1fr;align-items:start}
}
@media(max-width:700px){
  .sp-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .sp-card{padding:24px 20px;border-radius:22px;column-gap:16px}
  .sp-icon{width:52px;height:52px;border-radius:16px;font-size:1.15rem}
  .sp-card h3{font-size:1.08rem}
  .sp-tick{right:18px;bottom:18px}
}

/* ===== Redesign: First-step checklist ===== */
.cl-head{max-width:640px;margin:0 0 48px}
.cl-head h2{font:800 clamp(2.4rem,4.2vw,3.5rem)/1.1 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 14px;color:var(--ink)}
.cl-head h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple);letter-spacing:-.05em}
.cl-head p{margin:0;color:var(--muted);line-height:1.8}
.cl-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,48px);align-items:start}
.cl-progress{position:sticky;top:112px;overflow:hidden;isolation:isolate;padding:clamp(28px,3.5vw,40px);border-radius:30px;background:radial-gradient(circle at 100% 0,#ffffff26 0,transparent 150px),linear-gradient(150deg,#7964c8,#4e407e);color:#fff;box-shadow:0 24px 60px #2b1f5a40}
.cl-progress-label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.cl-progress strong{display:block;margin:12px 0 22px;font:800 clamp(1.7rem,2.6vw,2.3rem)/1.2 Manrope,sans-serif;letter-spacing:-.03em}
.cl-track{height:12px;border-radius:999px;background:#ffffff26;overflow:hidden}
.cl-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd98a,#ffb3d9);transition:width .4s ease}
.cl-finish{margin:20px 0 0;color:#eee9ff;font-size:.95rem;line-height:1.7}
.cl-items{display:grid;gap:14px}
.cl-item{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px 24px;border-radius:22px;background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:transform .25s,border-color .25s,background .25s}
.cl-item:hover{transform:translateX(4px);border-color:#cfc3f3}
.cl-item:has(input:focus-visible){outline:3px solid #a99be8;outline-offset:3px}
.cl-item input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.cl-box{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;border:2px solid #c8c0e4;color:transparent;transition:background .2s,border-color .2s,color .2s}
.cl-box i{font-size:.8rem}
.cl-text{min-width:0}
.cl-text b{display:block;font:800 1.02rem/1.3 Manrope,sans-serif;color:var(--ink)}
.cl-text small{display:block;margin-top:3px;color:var(--muted);font-size:.9rem;line-height:1.5}
.cl-num{font:800 .8rem Manrope,sans-serif;letter-spacing:.1em;color:var(--purple);opacity:.7}
.cl-item:has(input:checked){background:var(--lavender-2);border-color:#cfc3f3}
.cl-item:has(input:checked) .cl-box{background:var(--purple);border-color:var(--purple);color:#fff}
.cl-item:has(input:checked) .cl-text b{color:var(--purple)}
@media(max-width:900px){
  .cl-layout{grid-template-columns:1fr}
  .cl-progress{position:static}
}
@media(max-width:560px){
  .cl-item{padding:16px 16px;gap:14px;border-radius:18px}
  .cl-box{width:26px;height:26px;border-radius:8px}
  .cl-text b{font-size:.95rem}
  .cl-progress{border-radius:24px}
}

/* ===== Redesign: Support orbit (circle image + animated connector lines) ===== */
.so-stage{position:relative;height:600px;margin-top:0}
.so-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none}
.so-line{stroke:var(--purple);stroke-width:2;stroke-dasharray:6 10;vector-effect:non-scaling-stroke;opacity:.6;animation:so-dash 1.4s linear infinite}
.so-dot{fill:var(--purple);filter:drop-shadow(0 0 6px #7964c8aa)}
@keyframes so-dash{to{stroke-dashoffset:-32}}
.so-core{position:absolute;left:50%;top:50%;z-index:2;width:300px;height:300px;transform:translate(-50%,-50%)}
.so-core img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:8px solid var(--surface);box-shadow:0 24px 60px #3e2d7140}
.so-ring{position:absolute;inset:-26px;border-radius:50%;border:2px dashed #b6a5ff;animation:so-spin 28s linear infinite}
.so-ring-2{inset:-54px;border-style:dotted;border-color:#7964c8aa;animation-duration:44s;animation-direction:reverse}
@keyframes so-spin{to{transform:rotate(360deg)}}
.so-card{position:absolute;z-index:2;width:280px;padding:26px 24px;border-radius:26px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);transform:translate(-50%,-50%);transition:transform .3s,box-shadow .3s}
.so-card:hover{box-shadow:0 24px 50px #49377826}
.so-tl{left:20%;top:25%}.so-tr{left:80%;top:25%}.so-bl{left:20%;top:75%}.so-br{left:80%;top:75%}
.so-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:var(--lavender);color:var(--purple);font-size:1.2rem}
.so-num{position:absolute;top:22px;inset-inline-end:24px;font:800 .8rem Manrope,sans-serif;letter-spacing:.12em;color:var(--muted);opacity:.7}
.so-card h3{margin:16px 0 8px;font:800 1.15rem/1.25 Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink)}
.so-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.7}
html[data-theme="dark"] .so-icon{background:#332b4b;color:#c2b5ff}
@media(max-width:1100px){
  .so-stage{height:640px}
  .so-core{width:240px;height:240px}
  .so-card{width:230px;padding:22px 20px}
}
/* Tablet and phone: circle on top, cards stacked beneath, no connector lines */
@media(max-width:900px){
  .so-stage{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:40px}
  .so-lines{display:none}
  .so-core{position:relative;left:auto;top:auto;transform:none;grid-column:1/-1;justify-self:center;width:260px;height:260px;margin-bottom:24px}
  .so-card{position:relative;left:auto!important;top:auto!important;width:auto;transform:none}
  .so-card:hover{transform:translateY(-4px)}
}
@media(max-width:560px){
  .so-stage{grid-template-columns:1fr;gap:18px}
  .so-core{width:220px;height:220px}
}
@media(prefers-reduced-motion:reduce){
  .so-line,.so-ring,.so-ring-2{animation:none}
}

/* Orbit: outer wrappers handle centering, inner elements handle the scroll animation (AOS sets transform on the inner ones) */
.so-card{width:280px;padding:0;border:0;background:none;box-shadow:none;border-radius:0}
.so-card:hover{box-shadow:none}
.so-card-in{position:relative;height:100%;padding:26px 24px;border-radius:26px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}
.so-card-in:hover{box-shadow:0 24px 50px #49377826}
.so-core-in{position:relative;width:100%;height:100%}
@media(max-width:1100px){.so-card{width:230px}.so-card-in{padding:22px 20px}}
@media(max-width:900px){
  .so-card{width:auto;transform:none;position:relative;left:auto!important;top:auto!important}
  .so-card-in:hover{transform:translateY(-4px)}
  .so-core-in{width:100%;height:100%}
}
/* Equal-height orbit cards so the top and bottom rows line up */
.so-card{height:262px}
@media(max-width:1100px){.so-card{height:284px}}
@media(max-width:900px){.so-card{height:auto}}
@media(max-width:1100px){.so-stage{height:640px}}

/* ===== Redesign: Funding section ===== */
.funding-section{background:var(--lavender-2)}
.fd-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:end;margin-bottom:44px}
.fd-head h2{font:800 clamp(2.4rem,4.2vw,3.6rem)/1.1 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 0;color:var(--ink)}
.fd-head h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple);letter-spacing:-.05em}
.fd-head p{margin:0;color:var(--muted);line-height:1.8;max-width:420px;justify-self:end}
.fd-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fd-route{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:30px 28px;border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 35px #49377809;transition:transform .3s,box-shadow .3s}
.fd-route:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.fd-route-hi{background:linear-gradient(160deg,#7964c8,#4e407e);color:#fff;border-color:transparent}
.fd-route.fd-route-hi h3{color:#fff}
.fd-route.fd-route-hi p{color:#fff;opacity:.9}
.fd-route.fd-route-hi .fd-kicker{color:#e4dcff}
.fd-route.fd-route-hi .text-link{color:#fff}
.fd-num{position:absolute;top:18px;inset-inline-end:24px;font:800 3.4rem/1 Manrope,sans-serif;letter-spacing:-.05em;color:var(--purple);opacity:.12}
.fd-route-hi .fd-num{color:#fff;opacity:.18}
.fd-ic{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:var(--lavender);color:var(--purple);font-size:1.3rem;margin-bottom:26px}
.fd-ic.fd-mint{background:var(--mint);color:#418b77}
.fd-ic.fd-peach{background:var(--peach);color:#c67a59}
.fd-route-hi .fd-ic{background:#ffffff26;color:#fff}
.fd-kicker{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--purple);margin-bottom:10px}
.fd-route h3{font:800 1.35rem/1.25 Manrope,sans-serif;letter-spacing:-.03em;margin:0 0 12px;color:var(--ink)}
.fd-route p{margin:0 0 22px;color:var(--muted);line-height:1.75;font-size:.96rem}
.fd-route .text-link{margin-top:auto;align-self:flex-start}
.fd-note{display:flex;align-items:center;gap:12px;margin:26px 0 0;padding:16px 20px;border-radius:18px;background:var(--surface);border:1px dashed #cfc3f3;color:var(--muted);font-size:.92rem;line-height:1.6}
.fd-note i{color:var(--purple);font-size:1.05rem}
.fd-calc{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,3vw,32px);margin-top:36px;align-items:stretch}
.fd-inputs{display:grid;gap:14px;align-content:start}
.fd-field{padding:24px 26px;border-radius:24px;background:var(--surface);border:1px solid var(--line)}
.fd-field-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.fd-field-top label{font-weight:700;color:var(--ink)}
.fd-field-top output{font:800 1.25rem Manrope,sans-serif;color:var(--purple)}
.fd-field input[type=range]{width:100%;accent-color:var(--purple);margin:6px 0 4px}
.fd-range{display:flex;justify-content:space-between;font-size:.74rem;color:var(--muted)}
.fd-result{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:clamp(26px,3.5vw,38px);border-radius:28px;background:linear-gradient(160deg,#2a2550,#1d1a38);color:#fff;box-shadow:0 24px 60px #2b1f5a40}
.fd-result small{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.fd-result strong{display:block;margin:10px 0 22px;font:800 clamp(2.4rem,4vw,3.2rem)/1 Manrope,sans-serif;letter-spacing:-.04em}
.fd-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:#ffffff1a}
.fd-bar span{display:block;width:0;height:100%;transition:width .35s ease}
.fd-b1{background:#c9bcf5}
.fd-b2{background:#ffd98a}
.fd-b3{background:#9fe0cf}
.fd-bar .fd-b1,.fd-bar .fd-b2,.fd-bar .fd-b3{}
.fd-legend{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.fd-legend li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:.9rem;color:#e4dcff}
.fd-legend b{color:#fff;font-weight:800}
.fd-dot{width:10px;height:10px;border-radius:50%}
.fd-dot.fd-b1{background:#c9bcf5}.fd-dot.fd-b2{background:#ffd98a}.fd-dot.fd-b3{background:#9fe0cf}
.fd-disclaimer{margin:auto 0 0;padding-top:22px;font-size:.78rem;color:#cfc6ec;line-height:1.6}
@media(max-width:1024px){
  .fd-head{grid-template-columns:1fr}
  .fd-head p{justify-self:start}
}
@media(max-width:900px){
  .fd-routes{grid-template-columns:1fr}
  .fd-calc{grid-template-columns:1fr}
}
@media(max-width:560px){
  .fd-route{padding:24px 22px}
  .fd-field{padding:20px 18px}
  .fd-note{font-size:.85rem}
}

/* ===== Funding: visual route map (zigzag path with numbered stops) ===== */
.fd-map{display:grid;grid-template-columns:1fr 96px 1fr;position:relative}
.fd-map::before{content:"";grid-column:2;grid-row:1/4;justify-self:center;width:4px;border-radius:4px;background:repeating-linear-gradient(to bottom,#b6a5ff 0 12px,transparent 12px 22px);margin:60px 0}
.fd-route{margin:14px 0}
.fd-s1{grid-column:1;grid-row:1}.fd-s2{grid-column:3;grid-row:2}.fd-s3{grid-column:1;grid-row:3}
.fd-n1{grid-column:2;grid-row:1}.fd-n2{grid-column:2;grid-row:2}.fd-n3{grid-column:2;grid-row:3}
.fd-node{position:relative;z-index:1;align-self:center;justify-self:center;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--purple);color:#fff;font-size:1.25rem;box-shadow:0 0 0 10px #7964c81f,0 16px 30px #5f4aa84d}
.fd-node:nth-of-type(n){}
.fd-route .fd-kicker{margin-bottom:10px}
.fd-route{max-width:520px}
.fd-s2{justify-self:end}
.fd-s1,.fd-s3{justify-self:start}
@media(max-width:1024px){
  .fd-map{grid-template-columns:1fr 84px 1fr}
  .fd-node{width:60px;height:60px;font-size:1.1rem}
}
@media(max-width:760px){
  .fd-map{grid-template-columns:72px 1fr}
  .fd-map::before{grid-column:1;margin:50px 0}
  .fd-s1,.fd-s2,.fd-s3{grid-column:2;justify-self:stretch;max-width:none}
  .fd-n1,.fd-n2,.fd-n3{grid-column:1;justify-self:center}
  .fd-node{width:54px;height:54px;font-size:1rem}
}

/* ===== Home 2: advisors redesign (profile cards) ===== */
.ad-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:end;margin-bottom:56px}
.ad-head h2{font:800 clamp(2.4rem,4.2vw,3.6rem)/1.1 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 0;color:var(--ink)}
.ad-head h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple);letter-spacing:-.05em}
.ad-head p{margin:0;color:var(--muted);line-height:1.8;max-width:420px;justify-self:end}
.ad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ad-card{position:relative;display:flex;flex-direction:column;border-radius:30px;background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 40px #49377810;overflow:visible;transition:transform .3s,box-shadow .3s}
.ad-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.ad-band{height:120px;border-radius:30px 30px 0 0;background:linear-gradient(135deg,var(--c1),var(--c2))}
.ad-violet{--c1:#7964c8;--c2:#4e407e}
.ad-teal{--c1:#2fa58a;--c2:#1f6e5d}
.ad-clay{--c1:#d88a63;--c2:#a25a3a}
.ad-avatar{position:absolute;top:70px;left:50%;transform:translateX(-50%);width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:var(--c1);color:#fff;font:800 1.7rem Manrope,sans-serif;letter-spacing:-.02em;border:6px solid var(--surface);box-shadow:0 12px 26px #2b1f5a33}
.ad-avatar{overflow:hidden}.ad-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.hm-life-photo{background-size:cover;background-position:center;background-repeat:no-repeat;font-size:0}
.ad-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 28px 28px}
.ad-body h3{font:800 1.45rem/1.2 Manrope,sans-serif;letter-spacing:-.03em;margin:0 0 8px;color:var(--ink)}
.ad-role{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--lavender);color:var(--purple);font-size:.8rem;font-weight:700;line-height:1.4;max-width:100%}
.ad-skills{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ad-skills li{padding:8px 13px;border-radius:14px;background:var(--lavender-2);border:1px solid var(--line);color:var(--ink);font-size:.82rem;font-weight:600;line-height:1.4}
.ad-reply{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--muted);font-size:.82rem;font-weight:600}
.ad-reply i{color:var(--purple)}
.ad-dot{width:9px;height:9px;border-radius:50%;background:#34c08a;box-shadow:0 0 0 4px #34c08a33}
.ad-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:22px;padding:15px 20px;border-radius:999px;background:var(--c1);color:#fff;font:800 .95rem Manrope,sans-serif;transition:filter .2s,transform .2s}
.ad-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}
html[data-theme="dark"] .ad-avatar{border-color:var(--surface)}
html[data-theme="dark"] .ad-skills li{background:#2a2540}
@media(max-width:1024px){
  .ad-head{grid-template-columns:1fr}
  .ad-head p{justify-self:start}
  .ad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){.ad-grid{grid-template-columns:1fr}}
@media(max-width:560px){
  .ad-body{padding:60px 20px 24px}
  .ad-body h3{font-size:1.25rem}
}

/* ===== Home 2: testimonials redesign (snap-scroll quote cards) ===== */
.ql-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.ql-head h2{font:800 clamp(2.4rem,4.2vw,3.6rem)/1.1 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 0;color:var(--ink)}
.ql-head h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple);letter-spacing:-.05em}
.ql-hint{margin:0;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.9rem;font-weight:600}
.ql-hint i{color:var(--purple)}
.ql-track{position:relative;display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:10px 4px 26px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ql-track::-webkit-scrollbar{display:none}
.ql-card{position:relative;flex:0 0 min(440px,84%);scroll-snap-align:start;display:flex;flex-direction:column;padding:38px 36px 32px;border-radius:30px;background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 40px #49377810;overflow:hidden;isolation:isolate}
.ql-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--c1),var(--c2));z-index:1}
.ql-violet{--c1:#7964c8;--c2:#4e407e}
.ql-teal{--c1:#2fa58a;--c2:#1f6e5d}
.ql-clay{--c1:#d88a63;--c2:#a25a3a}
.ql-mark{position:absolute;top:-18px;inset-inline-end:22px;font:400 8rem/1 Georgia,serif;color:var(--c1);opacity:.12;z-index:-1;pointer-events:none}
.ql-text{margin:0;font:600 1.3rem/1.6 Manrope,sans-serif;letter-spacing:-.02em;color:var(--ink)}
.ql-foot{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:28px}
.ql-avatar{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--c1);color:#fff;font:800 .95rem Manrope,sans-serif;flex-shrink:0}
.ql-who{display:flex;flex-direction:column;line-height:1.35}
.ql-who b{font-size:.98rem;color:var(--ink)}
.ql-who small{font-size:.82rem;color:var(--muted)}
.ql-progress{position:relative;height:6px;border-radius:999px;background:var(--line);overflow:hidden;max-width:420px}
.ql-progress span{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit;background:linear-gradient(90deg,#7964c8,#2fa58a);transition:width .2s}
html[data-theme="dark"] .ql-text{color:var(--ink)}
@media(max-width:700px){
  .ql-card{flex-basis:88%;padding:30px 24px 26px}
  .ql-text{font-size:1.1rem}
  .ql-mark{font-size:6rem}
}

/* ===== Home 2: budget redesign (form card + receipt-style result) ===== */
.bd-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,96px);align-items:center}
.bd-intro h2{font:800 clamp(2.4rem,4.2vw,3.6rem)/1.1 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 16px;color:var(--ink)}
.bd-intro h2 em{font-family:Georgia,serif;font-weight:400;color:#e07a5f;letter-spacing:-.05em}
.bd-intro>p{color:var(--muted);line-height:1.8;margin:0 0 26px;max-width:480px}
.bd-tips{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bd-tips li{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.95rem}
.bd-tips li span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--mint);color:#418b77;flex-shrink:0}
.bd-card{position:relative;padding:clamp(26px,3.5vw,40px);border-radius:32px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.bd-form{display:grid;gap:18px}
.bd-field{display:grid;gap:8px}
.bd-field label{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--ink);font-size:.95rem}
.bd-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--lavender);color:var(--purple);font-size:.95rem;flex-shrink:0}
.bd-field input{width:100%;padding:16px 20px;border-radius:18px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);font:600 1.05rem Manrope,sans-serif;transition:border-color .2s,box-shadow .2s}
.bd-field input::placeholder{color:#9b97ad;font-weight:500}
.bd-field input:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 4px #7964c822}
.bd-field small{min-height:0;color:#c0392b;font-size:.82rem;font-weight:600}
html[data-theme="dark"] .bd-field small{color:#f0a08c}
.bd-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:17px 22px;margin-top:4px;border:0;border-radius:999px;background:var(--purple);color:#fff;font:800 1rem Manrope,sans-serif;cursor:pointer;transition:background .2s,transform .2s}
.bd-submit:hover{background:var(--purple-dark);transform:translateY(-2px)}
.bd-out{margin-top:28px;padding-top:26px;border-top:2px dashed var(--line)}
.bd-out[hidden]{display:none}
.bd-total small{font-size:.82rem;color:var(--muted);font-weight:600}
.bd-total strong{display:block;margin-top:6px;font:800 clamp(2.2rem,4vw,3rem)/1 Manrope,sans-serif;letter-spacing:-.04em;color:var(--ink)}
.bd-bar{display:flex;height:12px;margin:22px 0 20px;border-radius:999px;overflow:hidden;background:var(--line)}
.bd-bar span{display:block;width:0;height:100%;transition:width .35s ease}
.bd-bar .hm-bar-t{background:#7964c8}
.bd-bar .hm-bar-l{background:#2fa58a}
.bd-bar .hm-bar-b{background:#e07a5f}
.bd-legend{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bd-legend li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;color:var(--muted);font-size:.92rem}
.bd-legend b{color:var(--ink);font-weight:800}
.bd-note{margin:20px 0 0;font-size:.8rem;color:var(--muted);line-height:1.6}
@media(max-width:900px){.bd-grid{grid-template-columns:1fr}}
@media(max-width:560px){.bd-card{padding:24px 20px;border-radius:26px}}

/* ===== Home 2: compare redesign (versus picker + styled table) ===== */
.cp-head{margin-bottom:44px}
.cp-head h2{font:800 clamp(2.4rem,4.2vw,3.6rem)/1.1 Manrope,sans-serif;letter-spacing:-.065em;margin:14px 0 0;color:var(--ink)}
.cp-head h2 em{font-family:Georgia,serif;font-weight:400;color:var(--purple);letter-spacing:-.05em}
.cp-box{padding:clamp(24px,3.5vw,40px);border-radius:32px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
.cp-form{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}
.cp-pick{position:relative;display:grid;gap:10px;padding:20px 22px;border-radius:24px;border:1.5px solid var(--line);background:var(--bg);transition:border-color .2s,box-shadow .2s}
.cp-pick:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px #7964c822}
.cp-tag{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;color:#fff;font:800 1rem Manrope,sans-serif}
.cp-a .cp-tag{background:#7964c8}
.cp-b .cp-tag{background:#2fa58a}
.cp-lab{font-size:.85rem;font-weight:700;color:var(--muted)}
.cp-pick select{width:100%;padding:4px 0;border:0;background:transparent;color:var(--ink);font:800 1.15rem Manrope,sans-serif;cursor:pointer;appearance:auto}
.cp-pick select:focus{outline:none}
.cp-vs{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#7964c8,#2fa58a);color:#fff;font:800 .95rem Manrope,sans-serif;letter-spacing:.06em;box-shadow:0 12px 26px #2b1f5a33}
.cp-btn{grid-column:1/-1;justify-self:center;display:inline-flex;align-items:center;gap:10px;padding:16px 36px;border:0;border-radius:999px;background:var(--purple);color:#fff;font:800 1rem Manrope,sans-serif;cursor:pointer;transition:background .2s,transform .2s}
.cp-btn:hover{background:var(--purple-dark);transform:translateY(-2px)}
.cp-err{grid-column:1/-1;text-align:center;min-height:0;color:#c0392b;font-size:.85rem;font-weight:600}
html[data-theme="dark"] .cp-err{color:#f0a08c}
.hm-compare-out{margin-top:26px}
.hm-compare-out:empty{display:none}
.hm-compare-table{width:100%;border-collapse:separate;border-spacing:0 8px}
.hm-compare-table th,.hm-compare-table td{padding:16px 18px;text-align:left;vertical-align:top;font-size:.95rem;color:var(--ink)}
.hm-compare-table thead th{font:800 1.1rem Manrope,sans-serif;color:#fff;border-radius:18px}
.hm-compare-table thead th:nth-child(2){background:linear-gradient(135deg,#7964c8,#4e407e)}
.hm-compare-table thead th:nth-child(3){background:linear-gradient(135deg,#2fa58a,#1f6e5d)}
.hm-compare-table tbody th{font-weight:700;color:var(--muted);font-size:.85rem;width:30%}
.hm-compare-table tbody td{background:var(--lavender-2);border-radius:16px}
.hm-compare-table tbody tr>*:first-child{background:transparent}
.hm-compare-out .hm-note{margin:14px 0 0;font-size:.8rem;color:var(--muted)}
@media(max-width:700px){
  .cp-form{grid-template-columns:1fr}
  .cp-vs{justify-self:center;width:48px;height:48px;font-size:.8rem}
  .hm-compare-table thead{display:none}
  .hm-compare-table,.hm-compare-table tbody,.hm-compare-table tr{display:block}
  .hm-compare-table tr{margin-bottom:14px;padding:14px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
  .hm-compare-table tbody th{width:auto;padding:0 0 8px}
  .hm-compare-table tbody td{display:block;background:transparent;padding:4px 0}
}

/* ===== Home 2: "Everything you need" bento (redesigned) ===== */
.hm-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(230px,auto);gap:18px}
.hm-tile{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;min-width:0;padding:clamp(22px,2.2vw,30px);border-radius:26px;background:var(--surface);border:1px solid var(--line);transition:translate .35s,box-shadow .35s}
.hm-tile::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),#7964c822,transparent 65%);opacity:0;transition:opacity .3s}
.hm-tile:hover{translate:0 -6px;box-shadow:var(--shadow)}
.hm-tile:hover::before{opacity:1}
.hm-tile h3{font:800 1.3rem/1.2 Manrope,sans-serif;letter-spacing:-.03em;margin:18px 0 8px;color:var(--ink)}
.hm-tile p{color:var(--muted);font-size:.95rem;line-height:1.6;margin:0}
.hm-tile-ic{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--lavender);color:var(--purple);font-size:1.2rem;flex-shrink:0}
.hm-t-copy{min-width:0}

/* 1. Feature: advisor handoff timeline */
.hm-t-feature{grid-column:1 / span 2;grid-row:1;background:linear-gradient(150deg,var(--purple),#4e407e);border:0;color:#fff}
.hm-t-feature .hm-tile-ic{background:#ffffff26;color:#fff}
.hm-t-feature h3{color:#fff;font-size:clamp(1.6rem,2.6vw,2.1rem);margin-top:22px}
.hm-t-feature p{color:#ffffffd9;font-size:1.05rem;max-width:460px}
.hm-t-feature .hm-t-copy{margin-bottom:28px}
.hm-handoff{position:relative;list-style:none;margin:auto 0 0;padding:36px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.hm-handoff::before{content:"";position:absolute;left:12.5%;right:12.5%;top:58px;height:2px;border-radius:2px;background:#ffffff47}
.hm-handoff li{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;text-align:center;color:#ffffffee;font-size:.8rem;line-height:1.3}
.hm-handoff b{font-weight:800;overflow-wrap:anywhere}
.hm-handoff-dot{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--purple-dark);box-shadow:0 0 0 6px #ffffff1f;font-size:.95rem}

/* 2. Partners: what we check */
.hm-t-partners{grid-column:3;grid-row:1}
.hm-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:20px}
.hm-tags span{padding:6px 12px;border-radius:999px;background:var(--lavender-2);border:1px solid var(--line);color:var(--purple-dark);font-size:.75rem;font-weight:800}

/* 3. Scholarship radar */
.hm-t-scholar{grid-column:4;grid-row:1}
.hm-t-scholar p{margin-bottom:20px}
.hm-radar{position:relative;overflow:hidden;margin-top:auto;height:124px;border-radius:18px;background:var(--lavender-2);border:1px solid var(--line)}
.hm-radar::before{content:"";position:absolute;left:50%;top:50%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 280deg,#7964c844 360deg);animation:hmSweep 4s linear infinite}
.hm-radar::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 22px #7964c822,0 0 0 44px #7964c814}
.hm-blip{position:absolute;width:9px;height:9px;border-radius:50%;background:#45917e;box-shadow:0 0 0 4px #45917e33}
.bl1{top:26%;left:22%}
.bl2{top:62%;left:72%}
.bl3{top:24%;left:70%}
@keyframes hmSweep{to{transform:rotate(360deg)}}

/* 4. Visa readiness */
.hm-seg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:auto;padding-top:20px}
.hm-seg span{height:10px;border-radius:999px;background:var(--lavender)}
.hm-seg span.on{background:linear-gradient(90deg,var(--purple),#c2b5ff)}
.hm-t-visa .hm-mini{display:block;margin-top:10px}

/* 5. Practice interviews */
.hm-chat{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:20px}
.hm-bubble{display:flex;align-items:flex-start;gap:9px;max-width:92%;padding:11px 14px;border-radius:16px;font-size:.84rem;line-height:1.5;font-weight:600}
.hm-bubble i{margin-top:3px;flex-shrink:0}
.hm-bubble.q{align-self:flex-start;background:var(--lavender-2);color:var(--ink)}
.hm-bubble.q i{color:var(--purple)}
.hm-bubble.a{align-self:flex-end;background:var(--purple);color:#fff}

/* 6. Support after landing: full-width row */
.hm-t-wide{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 44px;align-items:center}
.hm-land{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.hm-land li{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:18px;background:var(--lavender-2);border:1px solid var(--line);font-weight:700;font-size:.92rem;color:var(--ink);line-height:1.3}
.hm-land i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--surface);color:var(--purple);flex-shrink:0}

/* Tablet: two columns */
@media(max-width:1100px){
  .hm-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm-t-feature{grid-column:1 / -1;grid-row:auto}
  .hm-t-partners,.hm-t-scholar{grid-column:auto;grid-row:auto}
  .hm-t-wide{grid-column:1 / -1;grid-row:auto}
}
/* Mobile: single column, vertical handoff */
@media(max-width:767px){
  .hm-bento{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
  .hm-tile{padding:22px}
  .hm-tile h3{font-size:1.2rem}
  .hm-t-feature h3{font-size:1.6rem}
  .hm-handoff{grid-template-columns:minmax(0,1fr);gap:14px;padding-top:0}
  .hm-handoff::before{display:none}
  .hm-handoff li{flex-direction:row;align-items:center;text-align:start;gap:14px}
  .hm-handoff-dot{flex-shrink:0}
  .hm-t-wide{display:flex;flex-direction:column;align-items:stretch;gap:20px}
  .hm-land li{padding:11px 13px}
}

/* ===== Home 2: visa readiness as a passport-stamp route (redesigned) ===== */
.hm-visa{padding-bottom:clamp(90px,10vw,120px)}
.hm-route-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:64px}
.hm-route-head h2{font:800 clamp(2.2rem,4.4vw,3.4rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 0;color:var(--ink)}
.hm-route-head>p{max-width:360px;color:var(--muted);line-height:1.7;margin:0}
.hm-route{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.hm-route-track{position:absolute;left:10%;right:10%;top:42px;height:4px;border-radius:999px;background:var(--line);overflow:hidden}
#visaFill{display:block;height:100%;width:calc(var(--pct,0) * 100%);border-radius:inherit;background:linear-gradient(90deg,var(--purple),#c2b5ff);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.hm-stamp{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0;padding:0 8px;cursor:pointer;text-align:center}
.hm-stamp input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.hm-stamp-disc{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;border:2px dashed #b9abe3;background:var(--bg);color:var(--purple);font-size:1.5rem;transform:rotate(-6deg);transition:transform .35s,background .35s,border-color .35s,color .35s,box-shadow .35s}
.hm-stamp-disc i{position:absolute;transition:opacity .3s,transform .4s cubic-bezier(.3,1.6,.5,1)}
.hm-stamp-disc .hm-ck{opacity:0;transform:scale(.3) rotate(-25deg);color:#fff}
.hm-stamp:hover .hm-stamp-disc{transform:rotate(0) scale(1.04)}
.hm-stamp input:checked+.hm-stamp-disc{background:var(--purple);border:2px solid var(--purple);color:#fff;transform:rotate(0);box-shadow:0 0 0 7px #7964c81f}
.hm-stamp input:checked+.hm-stamp-disc .hm-ic{opacity:0;transform:scale(.4)}
.hm-stamp input:checked+.hm-stamp-disc .hm-ck{opacity:1;transform:none}
.hm-stamp input:focus-visible+.hm-stamp-disc{outline:3px solid #a99be8;outline-offset:5px}
.hm-stamp-name{font-weight:700;font-size:.92rem;line-height:1.4;color:var(--ink);max-width:170px;overflow-wrap:anywhere;transition:color .3s}
.hm-stamp input:checked~.hm-stamp-name{color:var(--purple-dark)}
.hm-route-foot{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;margin-top:56px}
.hm-route-score{display:flex;flex-direction:column;min-width:0}
.hm-route-score #visaPct{font:800 clamp(2.8rem,5vw,3.8rem)/1 Manrope,sans-serif;letter-spacing:-.05em;color:var(--purple-dark)}
.hm-route-score #visaCount{color:var(--muted);font-weight:700;font-size:.9rem;margin-top:6px}
.hm-route-foot .hm-visa-msg{margin:0;padding:0 0 0 18px;background:none;border-inline-start:3px solid var(--purple);border-radius:0;font-size:1.02rem;line-height:1.6}
@media(max-width:900px){
  .hm-route-head{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:48px}
  .hm-route-head>p{max-width:none}
}
@media(max-width:640px){
  .hm-route{grid-template-columns:minmax(0,1fr);gap:18px}
  .hm-route-track{left:40px;right:auto;top:42px;bottom:42px;width:4px;height:auto}
  #visaFill{width:100%;height:calc(var(--pct,0) * 100%)}
  .hm-stamp{flex-direction:row;align-items:center;text-align:start;gap:18px;padding:0}
  .hm-stamp-disc{width:76px;height:76px;flex-shrink:0;font-size:1.3rem;background:var(--bg)}
  .hm-stamp-name{max-width:none;font-size:1rem}
  .hm-route-foot{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:40px}
}

/* ===== Home 2: program finder as a catalogue index (redesigned) ===== */
.hm-x-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:44px}
.hm-x-head h2{font:800 clamp(2.2rem,4.4vw,3.4rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 0;color:var(--ink)}
.hm-x-search{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:6px 0 10px;border-bottom:2px solid var(--line);transition:border-color .3s}
.hm-x-search:focus-within{border-color:var(--purple)}
.hm-x-search>i{color:var(--purple);font-size:1rem}
.hm-x-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;font-size:1.05rem;color:var(--ink);padding:10px 0}
.hm-x-search input::placeholder{color:var(--muted);opacity:.9}
.hm-x-search input::-webkit-search-cancel-button{filter:grayscale(1) opacity(.6)}
.hm-x-go{flex-shrink:0;width:50px;height:50px;border:0;border-radius:50%;background:var(--purple);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .25s,background .25s}
.hm-x-go:hover{transform:scale(1.07);background:var(--purple-dark)}
.hm-x-search [data-error]{flex-basis:100%;margin:0}
.hm-tabs{display:flex;flex-wrap:wrap;gap:4px 30px;border-bottom:1px solid var(--line)}
.hm-tab{position:relative;background:none;border:0;padding:14px 0 16px;font:700 .98rem "DM Sans",sans-serif;color:var(--muted);cursor:pointer;transition:color .25s}
.hm-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.hm-tab:hover{color:var(--ink)}
.hm-tab[aria-pressed="true"]{color:var(--ink)}
.hm-tab[aria-pressed="true"]::after{transform:scaleX(1)}
.hm-tab:focus-visible{outline:3px solid #a99be8;outline-offset:4px;border-radius:6px}
.hm-explore .hm-count{margin:22px 0 0;font-size:.9rem}
.hm-index{margin-top:10px}
.hm-row{position:relative;isolation:isolate;display:grid;grid-template-columns:56px minmax(0,1.6fr) minmax(0,1fr) 46px;gap:18px;align-items:center;padding:28px 16px;margin:0 -16px;border-bottom:1px solid var(--line);border-radius:18px}
.hm-row::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--lavender-2);opacity:0;transform:scale(.98);transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.hm-row:hover::before{opacity:1;transform:none}
.hm-row-no{font:800 .9rem Manrope,sans-serif;letter-spacing:.1em;color:var(--purple)}
.hm-row-info{min-width:0}
.hm-row-tag{display:block;margin-bottom:6px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--purple-dark)}
.hm-row h3{font:800 clamp(1.35rem,2.4vw,1.9rem)/1.15 Manrope,sans-serif;letter-spacing:-.035em;color:var(--ink);margin:0;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.hm-row-info>p{margin:6px 0 0;color:var(--muted);font-size:.98rem}
.hm-row:hover h3{transform:translateX(8px)}
.hm-row-meta{display:flex;flex-direction:column;gap:8px;font-size:.88rem;font-weight:700;color:var(--ink)}
.hm-row-meta span{display:inline-flex;align-items:center;gap:9px}
.hm-row-meta i{width:16px;color:var(--purple);text-align:center}
.hm-row-go{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--purple);transition:background .3s,color .3s,transform .4s,border-color .3s}
.hm-row:hover .hm-row-go{background:var(--purple);border-color:var(--purple);color:#fff;transform:rotate(-45deg)}
.hm-index .hm-empty{margin:0;padding:34px 0;border:0;border-radius:0;text-align:center;color:var(--muted);font-weight:700}
.hm-explore .hm-note{margin-top:30px}
@media(max-width:1024px){
  .hm-row{grid-template-columns:44px minmax(0,1.4fr) minmax(0,1fr) 40px;gap:14px}
  .hm-row-go{width:40px;height:40px}
}
@media(max-width:860px){
  .hm-x-head{grid-template-columns:minmax(0,1fr);gap:26px;align-items:start;margin-bottom:34px}
  .hm-row{grid-template-columns:44px minmax(0,1fr) auto;row-gap:12px;padding:24px 12px;margin:0 -12px}
  .hm-row-meta{grid-column:2 / -1;grid-row:2;flex-direction:row;flex-wrap:wrap;gap:6px 18px}
}
@media(max-width:560px){
  .hm-row{grid-template-columns:minmax(0,1fr) auto;padding:22px 10px;margin:0 -10px}
  .hm-row-no{display:none}
  .hm-row-info{grid-column:1;grid-row:1}
  .hm-row-go{grid-column:2;grid-row:1}
  .hm-row-meta{grid-column:1 / -1;grid-row:2}
  .hm-tab{padding:12px 0 14px;font-size:.9rem}
  .hm-tabs{gap:2px 22px}
}

/* ===== Home 2: budget as a sentence you complete (redesigned) ===== */
.bd-x{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,110px);align-items:center}
.bd-x-intro h2{font:800 clamp(2.2rem,4.4vw,3.4rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:14px 0 18px;color:var(--ink)}
.bd-x-intro>p{color:var(--muted);line-height:1.75;max-width:460px;margin:0}
.bd-x-tips{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:16px}
.bd-x-tips li{display:flex;align-items:flex-start;gap:12px;font-weight:700;color:var(--ink);line-height:1.5}
.bd-x-tips i{color:#45917e;margin-top:4px;flex-shrink:0}
.bd-sentence{font:700 clamp(1.45rem,2.5vw,2rem)/2.25 Manrope,sans-serif;letter-spacing:-.02em;color:var(--ink);margin:0}
.bd-blank{position:relative;display:inline-flex;align-items:baseline;direction:ltr;margin:0 6px;padding:0 2px 2px;border-bottom:2px dashed #b9abe3;transition:border-color .3s}
.bd-blank:focus-within{border-bottom-style:solid;border-color:var(--purple)}
.bd-blank:has(.is-invalid){border-color:#c45d48}
.bd-cur{color:var(--muted);font-weight:700;margin-inline-end:2px}
.bd-blank input{border:0;outline:none;background:transparent;font:inherit;color:var(--purple-dark);padding:0;margin:0;text-align:center;min-width:0;max-width:100%}
.bd-blank input::placeholder{color:#b9abe3;opacity:1}
.bd-t input{width:6.4ch}
.bd-l input{width:5.4ch}
.bd-y input{width:2.2ch}
.bd-errs{display:grid;gap:2px;min-height:0;margin-top:10px}
.bd-errs [data-error]{margin:0;font-size:.85rem}
.bd-x-submit{margin-top:14px;display:inline-flex;align-items:center;gap:14px;min-height:58px;padding:0 9px 0 26px;border:0;border-radius:999px;background:var(--purple);color:#fff;font:800 .95rem "DM Sans",sans-serif;cursor:pointer;box-shadow:0 12px 26px #7964c83b;transition:transform .25s,background .25s,box-shadow .25s}
.bd-x-submit:hover{transform:translateY(-2px);background:var(--purple-dark);box-shadow:0 16px 30px #7964c84d}
.bd-x-go{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#ffffff26}
.bd-x-out{margin-top:48px;padding-top:34px;border-top:1px solid var(--line)}
.bd-x-total small{color:var(--muted);font-weight:700;font-size:.92rem}
.bd-x-total strong{display:block;font:800 clamp(2.8rem,5.4vw,4.4rem)/1 Manrope,sans-serif;letter-spacing:-.05em;color:var(--purple-dark);margin-top:10px}
.bd-bar{display:flex;height:16px;margin:30px 0 20px;border-radius:999px;overflow:hidden;background:var(--lavender)}
.bd-bar span{display:block;height:100%;width:0;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.bd-bar .hm-bar-t{background:var(--purple)}
.bd-bar .hm-bar-l{background:#45917e}
.bd-bar .hm-bar-b{background:#d98f74}
.bd-x-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 30px}
.bd-x-legend li{display:flex;align-items:center;gap:9px;color:var(--muted);font-weight:600;font-size:.93rem}
.bd-x-legend b{color:var(--ink);font-weight:800;margin-inline-start:4px}
.bd-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.bd-dot.t{background:var(--purple)}
.bd-dot.l{background:#45917e}
.bd-dot.b{background:#d98f74}
.bd-x-note{margin:22px 0 0;color:var(--muted);font-size:.86rem;line-height:1.6}
@media(max-width:900px){
  .bd-x{grid-template-columns:minmax(0,1fr);gap:44px}
  .bd-sentence{line-height:2.35}
}
@media(max-width:560px){
  .bd-sentence{font-size:1.3rem;line-height:2.5}
  .bd-blank{margin:0 4px}
  .bd-x-submit{width:100%;justify-content:space-between}
  .bd-x-legend{gap:10px 20px}
  .bd-x-out{margin-top:38px;padding-top:28px}
}
.ql-pause{flex-shrink:0;width:40px;height:40px;margin-inline-start:6px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--purple);display:inline-grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.ql-pause:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.ql-pause:focus-visible{outline:3px solid #a99be8;outline-offset:3px}
.ql-track.is-auto{scroll-snap-type:none}

/* ===== 404: lost in transit ===== */
.nf{position:relative;min-height:calc(100vh - 84px);display:flex;align-items:center;overflow:hidden;isolation:isolate;padding:clamp(60px,9vw,110px) 0}
.nf-sky{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 520px at 12% 8%,#a99be83d,transparent 60%),radial-gradient(800px 520px at 92% 100%,#f6b6d93d,transparent 60%)}
.nf-cloud{position:absolute;height:46px;border-radius:999px;background:var(--surface);box-shadow:0 10px 30px #49377812;opacity:.9;animation:nfDrift 26s linear infinite}
.nf-cloud::before,.nf-cloud::after{content:"";position:absolute;bottom:60%;background:inherit;border-radius:50%}
.nf-cloud::before{width:46%;height:170%;left:16%}
.nf-cloud::after{width:34%;height:130%;right:14%}
.nf-cloud.c1{width:190px;top:14%;left:-220px}
.nf-cloud.c2{width:260px;top:58%;left:-300px;animation-duration:38s;animation-delay:-12s}
.nf-cloud.c3{width:150px;top:30%;left:-180px;animation-duration:22s;animation-delay:-6s;opacity:.6}
@keyframes nfDrift{to{transform:translateX(calc(100vw + 420px))}}
.nf-star{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--purple);opacity:.4;animation:nfTwinkle 3s ease-in-out infinite}
@keyframes nfTwinkle{50%{opacity:.08;transform:scale(.5)}}
.nf-wrap{position:relative;z-index:2}
.nf-copy{max-width:640px}
.nf-num{margin:6px 0 0;font:800 clamp(7rem,21vw,15rem)/.9 Manrope,sans-serif;letter-spacing:-.07em;background:linear-gradient(115deg,var(--purple) 10%,#e58fc0 55%,#ffb35c 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf-title{font:800 clamp(2.2rem,4.4vw,3.6rem)/1.08 Manrope,sans-serif;letter-spacing:-.06em;margin:6px 0 16px;color:var(--ink)}
.nf-title em{font-family:Georgia,serif;font-weight:400;color:var(--purple);letter-spacing:-.04em}
.nf-lead{color:var(--muted);font-size:1.08rem;line-height:1.7;max-width:520px;margin:0}
.nf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:30px}
.nf-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--ink)}
.nf-link i{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--purple)}
.nf-dest{display:flex;flex-wrap:wrap;gap:10px;margin-top:46px}
.nf-dest a{padding:9px 17px;border-radius:999px;border:1px dashed #b9abe3;color:var(--purple-dark);font-weight:700;font-size:.9rem;transition:background .25s,color .25s,border-color .25s}
.nf-dest a:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.nf-flight{position:absolute;inset:0;z-index:1;pointer-events:none}
.nf-flight svg{width:100%;height:100%;overflow:visible}
.nf-route{fill:none;stroke:var(--purple);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 18;opacity:.5}
.nf-trail{fill:none;stroke:var(--purple);stroke-width:4;stroke-linecap:round;opacity:.9}
.nf-stop circle{fill:var(--surface);stroke:var(--purple);stroke-width:3}
.nf-stop text{font:700 24px "DM Sans",sans-serif;fill:var(--ink)}
.nf-plane{pointer-events:auto;cursor:pointer}
.nf-plane-shape{fill:var(--purple);filter:drop-shadow(0 6px 8px #4e407e40)}
.nf-plane-roll{transform-box:fill-box;transform-origin:center}
.nf-plane-roll.is-rolling{animation:nfRoll .9s ease-in-out}
@keyframes nfRoll{to{transform:rotate(360deg)}}
@media(max-width:767px){
  .nf{min-height:auto}
  .nf-flight{opacity:.35}
  .nf-stop text{display:none}
  .nf-dest a{font-size:.84rem;padding:8px 14px}
}

/* ===== Dashboards: student + admin ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dash{padding-bottom:40px}
.dash-head{padding-top:clamp(40px,6vw,64px);padding-bottom:26px}
.dash-head h1{font:800 clamp(2rem,4vw,3rem)/1.1 Manrope,sans-serif;letter-spacing:-.05em;margin:12px 0 8px;color:var(--ink)}
.dash-head p{color:var(--muted);margin:0;max-width:620px}
.dash-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;align-items:start}
.dash-nav{position:sticky;top:110px;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.dash-nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;font-weight:700;font-size:.92rem;color:var(--muted);transition:background .2s,color .2s;white-space:nowrap}
.dash-nav a i{width:18px;text-align:center;color:var(--purple)}
.dash-nav a:hover,.dash-nav a.active{background:var(--lavender-2);color:var(--purple)}
.dash-main{display:flex;flex-direction:column;gap:24px;min-width:0}
.dash-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(20px,2.6vw,30px);min-width:0;box-shadow:0 12px 35px #49377808}
.dash-card-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.dash-card-head h2{font:800 1.3rem/1.2 Manrope,sans-serif;letter-spacing:-.03em;margin:0;color:var(--ink)}
.dash-muted{color:var(--muted);font-size:.86rem;font-weight:600}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dash-kpi{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:4px;min-width:0}
.dash-kpi i{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--lavender);color:var(--purple);margin-bottom:10px}
.dash-kpi strong{font:800 1.6rem/1.1 Manrope,sans-serif;letter-spacing:-.03em;color:var(--ink);overflow-wrap:anywhere}
.dash-kpi span{font-size:.84rem;color:var(--muted);font-weight:700}
.dash-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.dash-bar{height:8px;border-radius:999px;background:var(--lavender);overflow:hidden;margin:4px 0 16px}
.dash-bar span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--purple),#c2b5ff);transition:width .5s ease}
.app-item{padding:18px 0;border-bottom:1px solid var(--line)}
.app-item:first-child{padding-top:0}
.app-item:last-child{border-bottom:0;padding-bottom:0}
.app-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.app-top b{display:block;color:var(--ink);font-size:1.02rem}
.app-top small{color:var(--muted);font-size:.86rem}
.pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px}
.pipeline span{height:8px;border-radius:999px;background:var(--lavender)}
.pipeline span.done{background:var(--purple)}
.pipeline span.now{background:linear-gradient(90deg,var(--purple),#c2b5ff);box-shadow:0 0 0 3px #7964c826}
.pill{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--lavender);color:var(--purple-dark);white-space:nowrap}
.pill.ok{background:var(--mint);color:#2f7a66}
.pill.warn{background:var(--yellow);color:#7d6218}
.doc-list{list-style:none;margin:0;padding:0}
.doc-list li{border-bottom:1px solid var(--line)}
.doc-list label{position:relative;display:flex;align-items:center;gap:14px;padding:14px 0;cursor:pointer}
.doc-list input{position:absolute;opacity:0;width:1px;height:1px}
.check-ui{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border:2px solid #c8c0e4;border-radius:8px;color:transparent;transition:background .2s,border-color .2s,color .2s;font-size:.75rem}
.doc-list input:checked+.check-ui{background:var(--purple);border-color:var(--purple);color:#fff}
.doc-list input:focus-visible+.check-ui{outline:3px solid #a99be8;outline-offset:3px}
.doc-text{flex:1;min-width:0;display:flex;flex-direction:column}
.doc-text b{color:var(--ink);font-size:.95rem}
.doc-text small{color:var(--muted);font-size:.82rem}
.doc-list label>.pill{flex-shrink:0}
.upload-form{margin-top:18px;display:grid;gap:8px}
.upload-drop{position:relative;display:flex;align-items:center;gap:12px;padding:16px 18px;border:1.5px dashed #b9abe3;border-radius:18px;color:var(--purple-dark);font-weight:700;font-size:.9rem;cursor:pointer;transition:background .2s}
.upload-drop:hover{background:var(--lavender-2)}
.upload-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-drop:focus-within{outline:3px solid #a99be8;outline-offset:3px}
.upload-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.88rem;color:var(--ink);font-weight:600}
.upload-list li{padding:10px 14px;border-radius:14px;background:var(--lavender-2)}
.counselor{display:flex;align-items:center;gap:14px}
.counselor b{display:block;color:var(--ink)}
.counselor small{color:var(--muted);font-size:.84rem}
.avatar{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--purple);color:#fff;font:800 .9rem Manrope,sans-serif}
.online{display:inline-block;width:8px;height:8px;border-radius:50%;background:#45917e;margin-inline-end:6px;box-shadow:0 0 0 4px #45917e22}
.chat{display:flex;flex-direction:column;gap:12px;height:320px;overflow-y:auto;padding:4px 4px 12px;scroll-behavior:smooth}
.msg{max-width:80%;padding:12px 15px;border-radius:18px;font-size:.92rem;line-height:1.5;display:flex;flex-direction:column;gap:4px}
.msg time{font-size:.7rem;opacity:.7}
.msg.them{background:var(--lavender-2);color:var(--ink);align-self:flex-start;border-end-start-radius:6px}
.msg.me{background:var(--purple);color:#fff;align-self:flex-end;border-end-end-radius:6px}
.compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px;align-items:end}
.compose textarea{width:100%;min-width:0;resize:vertical;min-height:52px;padding:13px 16px;border-radius:16px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:.95rem;outline:none;transition:border-color .2s,box-shadow .2s}
.compose textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px #7964c81f}
.compose .button{min-height:52px}
.compose [data-error]{grid-column:1/-1}
.compose .is-invalid,.compose .is-invalid:focus{border-color:#c45d48}
.adm-search{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:min(340px,100%);padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--bg)}
.adm-search i{color:var(--muted)}
.adm-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;font-size:.92rem;color:var(--ink);padding:6px 0}
.adm-search:focus-within{border-color:var(--purple)}
.adm-search [data-error]{flex-basis:100%;margin:0;font-size:.8rem}
.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.filter-row .chip{min-height:38px;padding:8px 15px;font-size:.84rem}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem;min-width:760px}
.tbl th{text-align:start;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 12px;border-bottom:1px solid var(--line);font-weight:800}
.tbl td{padding:15px 12px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle;font-weight:600}
.adm-name{font-weight:800}
.adm-row[hidden]{display:none}
.row-status{appearance:none;-webkit-appearance:none;padding:8px 30px 8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--lavender-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237964c8'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--purple-dark);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;outline:none}
.row-status:focus-visible{outline:3px solid #a99be8;outline-offset:2px}
.adm-row[data-status="offer"] .row-status{background-color:var(--mint);color:#2f7a66}
.adm-row[data-status="review"] .row-status{background-color:var(--yellow);color:#7d6218}
.adm-empty{margin:0;padding:30px 0;text-align:center;color:var(--muted);font-weight:700}
.adm-empty[hidden]{display:none}
.bars{display:flex;align-items:flex-end;gap:12px;height:220px;padding-top:10px}
.bars>div{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}
.bars span{width:100%;max-width:56px;height:var(--h);border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,var(--purple),#c2b5ff);transition:height .6s ease}
.bars small{font-size:.76rem;color:var(--muted);font-weight:800}
.workload{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.workload li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}
.workload b{display:block;color:var(--ink)}
.workload small{color:var(--muted);font-size:.84rem}
.workload strong{font:800 1.3rem Manrope,sans-serif;color:var(--purple-dark)}
.feed{list-style:none;margin:0;padding:0;display:grid}
.feed li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.92rem}
.feed li:last-child{border-bottom:0}
.feed i{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--lavender);color:var(--purple)}
.feed small{color:var(--muted);font-size:.78rem;white-space:nowrap}
@media(max-width:1100px){
  .dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1024px){
  .dash-shell{grid-template-columns:minmax(0,1fr);gap:20px}
  .dash-nav{position:static;flex-direction:row;overflow-x:auto;padding:10px;border-radius:18px}
  .dash-nav a{padding:10px 14px}
  .dash-two{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .dash-kpis{gap:10px}
  .dash-kpi{padding:16px}
  .dash-kpi strong{font-size:1.3rem}
  .dash-card{padding:20px 18px;border-radius:20px}
  .pipeline{gap:4px}
  .chat{height:280px}
  .msg{max-width:90%}
  .compose{grid-template-columns:minmax(0,1fr)}
  .compose .button{width:100%}
  .bars{gap:6px;height:190px}
  .feed li{grid-template-columns:36px minmax(0,1fr);}
  .feed small{grid-column:2}
  .feed i{width:36px;height:36px}
}
.adm-search [data-error]:empty,.compose [data-error]:empty,.upload-form [data-error]:empty{display:none}
.dash-logout{color:#c45d48!important}
.dash-logout i{color:#c45d48!important}
.dash-header .tools{margin-left:auto}
.dash-header .dropdown{flex-direction:row;align-items:center;width:auto}
.dash-header .profile-btn{width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--purple);cursor:pointer;font-size:.95rem}
.dash-header .profile-btn:hover{border-color:var(--purple)}
.dash-header .dd-menu{position:absolute;top:calc(100% + 14px);right:0;left:auto;min-width:210px}
.dash-header .dd-menu .dd-who{display:block;padding:10px 14px 6px;font-size:.8rem;color:var(--muted);font-weight:700}
.dash-header .dd-menu a{display:flex;align-items:center;gap:10px}
.dash-header .dropdown.open .dd-menu{display:flex;flex-direction:column}
@media(max-width:850px){.dash-header .dd-menu{display:none}.dash-header .dropdown.open .dd-menu{display:flex}}
.dash-header .tools{gap:10px}
.dash-header .profile-pill{display:inline-flex;align-items:center;gap:12px;height:58px;padding:6px 16px 6px 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 4px 14px #49377808;transition:border-color .2s,box-shadow .2s}
.dash-header .profile-pill:hover,.dash-header .profile-menu.open .profile-pill{border-color:var(--purple);box-shadow:0 8px 22px #49377814}
.dash-header .pp-avatar{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#8c79d7,#4e407e);color:#fff;font:800 .95rem Manrope,sans-serif;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line)}
.dash-header .pp-text{display:flex;flex-direction:column;align-items:flex-start;text-align:start;line-height:1.25}
.dash-header .pp-text b{font:800 1rem Manrope,sans-serif;color:var(--ink)}
.dash-header .pp-text small{font-size:.8rem;color:var(--muted);font-weight:600}
.dash-header .pp-chev{font-size:.72rem;color:var(--muted);margin-inline-start:6px;transition:transform .25s}
.dash-header .profile-menu.open .pp-chev{transform:rotate(180deg)}
@media(max-width:560px){
  .dash-header .profile-pill{height:48px;padding:4px 10px 4px 4px;gap:8px}
  .dash-header .pp-avatar{width:40px;height:40px;font-size:.85rem}
  .dash-header .pp-text{display:none}
  .dash-header .tools{gap:6px}
}
.rtl-toggle{width:auto;min-width:50px;padding:0 13px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em}
.rtl-label{line-height:1}

/* ---------- Auth pages: log in & sign up ---------- */
.auth-page{padding:56px 0 110px;position:relative;overflow:hidden}
.auth-page:before{content:"";position:absolute;width:560px;height:560px;right:-200px;top:-180px;border-radius:50%;background:radial-gradient(circle,#c9bdf5 0,transparent 68%);opacity:.55;pointer-events:none}
.auth-wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,56px);align-items:stretch;position:relative;z-index:1}
.auth-art{position:relative;border-radius:34px;padding:clamp(30px,4vw,52px);background:linear-gradient(155deg,#8a77d6 0%,#5f4aa8 58%,#3f3273 100%);color:#fff;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 70px #3d2e7a40}
.auth-art:after{content:"";position:absolute;inset:auto -80px -120px auto;width:300px;height:300px;border-radius:50%;box-shadow:0 0 0 40px #ffffff08,0 0 0 80px #ffffff06;pointer-events:none}
.auth-art .eyebrow{color:#e9e2ff}.auth-art .eyebrow-dot{background:#f3d9f0;box-shadow:0 0 0 5px #ffffff22}
.auth-art h1{font:800 clamp(2.4rem,4.2vw,3.5rem)/1.06 Manrope,sans-serif;letter-spacing:-.065em;margin:18px 0 16px;position:relative;z-index:2}
.auth-art h1 em{font-family:Georgia,serif;font-weight:400;color:#f3d9f0;letter-spacing:-.04em}
.auth-art>p{color:#ece7ff;font-size:.95rem;max-width:430px;line-height:1.8;margin:0;position:relative;z-index:2}
.auth-map{position:relative;flex:1;margin:22px -6px 0;min-height:300px}
.auth-route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.auth-trail{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:1 12;opacity:.9}
.auth-plane{fill:#fff;filter:drop-shadow(0 4px 6px #2a1d5a55)}
.auth-pin circle{fill:#fff}
.auth-pin .ring{fill:#ffffff1f;stroke:#ffffff80;stroke-width:1.5}
.auth-pin text{fill:#fff;font:800 15px "DM Sans",sans-serif}
.auth-pass{position:absolute;right:0;top:0;width:min(270px,70%);background:#fff;color:#29243c;border-radius:20px;padding:18px 20px;box-shadow:0 22px 44px #1d124a40;animation:authFloat 6s ease-in-out infinite;z-index:2}
.auth-pass-top{display:flex;justify-content:space-between;align-items:center;font-size:.62rem;font-weight:800;letter-spacing:.12em;color:#7964c8}
.auth-pass-top i{font-size:.9rem}
.auth-pass-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;padding-bottom:14px;border-bottom:1.5px dashed #d8cff0}
.auth-pass small{display:block;font-size:.56rem;color:#716d83;letter-spacing:.1em;font-weight:800}
.auth-pass b{font:800 1.05rem Manrope,sans-serif;color:#29243c}
.auth-pass-foot{display:flex;justify-content:space-between;font-size:.66rem;font-weight:800;color:#5f4aa8;letter-spacing:.06em}
.auth-perks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px;position:relative;z-index:2}
.auth-perks li{display:flex;align-items:center;gap:12px;font-size:.86rem;font-weight:700;color:#f1edff}
.auth-perks i{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#ffffff26;font-size:.72rem;flex-shrink:0}
@keyframes authFloat{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-10px) rotate(1deg)}}
.auth-card{position:relative;align-self:center;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:34px;padding:clamp(28px,4vw,50px);box-shadow:var(--shadow);min-width:0}
.auth-card-head h2{font:800 clamp(2rem,3.4vw,2.7rem)/1.1 Manrope,sans-serif;letter-spacing:-.06em;margin:0 0 8px}
.auth-card-head p{color:var(--muted);font-size:.9rem;margin:0 0 26px}
.auth-card-head a,.auth-row>a,.auth-check a{color:var(--purple);font-weight:800}
.auth-social{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-social-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:10px 12px;white-space:nowrap;border-radius:16px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font-weight:800;font-size:.82rem;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.auth-social-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px #49377814;border-color:#cfc3f0}
.auth-social-btn .fa-google{color:#db4437}.auth-social-btn .fa-facebook-f{color:#1877f2}
.auth-divider{display:flex;align-items:center;gap:14px;margin:24px 0;color:var(--muted);font-size:.74rem;font-weight:700;letter-spacing:.04em}
.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}
.auth-form{display:grid;gap:18px}
.auth-field{display:grid;gap:7px;min-width:0}
.auth-field>label{font-size:.82rem;font-weight:800;color:var(--ink)}
.auth-input{position:relative;display:flex;align-items:center;border:1.5px solid var(--line);border-radius:16px;background:var(--bg);transition:border-color .2s,box-shadow .2s,background .2s}
.auth-input:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px #7964c81f;background:var(--surface)}
.auth-input:has(.is-invalid){border-color:#c45d48}
.auth-input>i:first-child{position:absolute;left:16px;color:#a49abf;font-size:.9rem;pointer-events:none}
.auth-input input{width:100%;min-width:0;min-height:52px;border:0;background:transparent;padding:14px 16px 14px 44px;font:inherit;font-size:.92rem;color:var(--ink);outline:none;border-radius:16px}
.auth-input input::placeholder{color:#a49abf}
.auth-input input.is-invalid{box-shadow:none!important;border:0!important}
.auth-input:has(input[type="password"]),.auth-input:has(input[type="text"]){padding-right:0}
.auth-eye{position:absolute;right:8px;width:38px;height:38px;border:0;background:none;color:var(--muted);border-radius:50%;cursor:pointer;display:grid;place-items:center}
.auth-eye:hover{background:var(--lavender-2);color:var(--purple)}
.auth-input:has(.auth-eye) input{padding-right:52px}
.auth-err{font-size:.76rem;font-weight:700;color:#c45d48}
.auth-err:empty{display:none}
.auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:.82rem}
.auth-check{display:flex;align-items:flex-start;gap:10px;font-size:.84rem;color:var(--muted);cursor:pointer;line-height:1.5;font-weight:600}
.auth-check input{accent-color:var(--purple);width:18px;height:18px;margin-top:3px;flex-shrink:0}
.auth-submit{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border:0;border-radius:18px;background:linear-gradient(135deg,#8a77d6,#6a54b6);color:#fff;font:800 .95rem Manrope,sans-serif;letter-spacing:-.01em;cursor:pointer;box-shadow:0 14px 28px #6a54b633;transition:transform .2s,box-shadow .2s}
.auth-submit:hover{transform:translateY(-2px);box-shadow:0 18px 34px #6a54b64d}
.auth-form .form-status{margin:0;min-height:1.2em}
.auth-progress{height:8px;border-radius:999px;background:var(--lavender);overflow:hidden}
.auth-progress span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#9a86e6,#6a54b6);transition:width .4s ease}
.auth-progress-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.74rem;font-weight:800;color:var(--muted);margin:10px 0 24px}
.auth-progress-meta b{color:var(--purple)}
.auth-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.auth-meter{display:flex;gap:6px;margin-top:2px}
.auth-meter span{flex:1;height:5px;border-radius:99px;background:var(--line);transition:background .25s}
.auth-meter[data-level="1"] span:nth-child(-n+1){background:#c45d48}
.auth-meter[data-level="2"] span:nth-child(-n+2){background:#d89a3e}
.auth-meter[data-level="3"] span:nth-child(-n+3){background:#8fb36a}
.auth-meter[data-level="4"] span:nth-child(-n+4){background:#45917e}
.auth-meter-label{font-size:.72rem;color:var(--muted);font-weight:700}
.auth-chips{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}
.auth-chips legend{font-size:.82rem;font-weight:800;color:var(--ink);margin-bottom:10px;padding:0}
.auth-chips-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.auth-chip{position:relative;cursor:pointer;min-width:0}
.auth-chip input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.auth-chip span{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 14px;border-radius:16px;border:1.5px solid var(--line);background:var(--bg);font-size:.84rem;font-weight:700;color:var(--ink);transition:border-color .2s,background .2s,box-shadow .2s}
.auth-chip span:before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid #cfc3f0;flex-shrink:0;transition:border-color .2s,background .2s}
.auth-chip:hover span{border-color:#cfc3f0}
.auth-chip input:checked+span{border-color:var(--purple);background:var(--lavender-2);box-shadow:0 0 0 3px #7964c81f}
.auth-chip input:checked+span:before{border-color:var(--purple);background:radial-gradient(circle,var(--purple) 42%,transparent 50%)}
.auth-chip input:focus-visible+span{outline:3px solid #a99be8;outline-offset:3px}
.auth-done{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:var(--surface);border-radius:34px;padding:30px;z-index:3}
.auth-done[hidden]{display:none}
.auth-done i{font-size:2.8rem;color:var(--purple);animation:authFloat 2.4s ease-in-out infinite}
.auth-done h3{font:800 1.8rem Manrope,sans-serif;letter-spacing:-.05em;margin:16px 0 6px}
.auth-done p{color:var(--muted);margin:0}
@media(max-width:900px){.auth-wrap{grid-template-columns:1fr}.auth-map{min-height:260px}}
@media(max-width:560px){.auth-page{padding:28px 0 72px}.auth-art{display:none}.auth-card{padding:26px 20px;border-radius:26px}.auth-done{border-radius:26px}.auth-social,.auth-grid2,.auth-chips-grid{grid-template-columns:1fr}}

/* ---------- Site footer (5 columns, always dark) ---------- */
.site-footer{background:#141120;color:#cfc8e4;padding:76px 0 0;position:relative;overflow:hidden;font-size:.9rem;margin-top:0}
.site-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0%,#7964c826,transparent 45%);pointer-events:none}
.sf-grid{display:grid;grid-template-columns:1.25fr .9fr .9fr 1.6fr 1.35fr;gap:clamp(28px,3vw,44px);position:relative}
.site-footer .brand{color:#fff}
.site-footer .brand-icon{background:#7964c8}
.site-footer .brand-word{color:#fff}
.site-footer .brand-dot{color:#c2b5ff}
.site-footer .brand small{color:#a9a2c2}
.sf-brand p{color:#a9a2c2;line-height:1.75;font-size:.86rem;margin:20px 0 22px;max-width:290px}
.site-footer .socials a{border-color:#3b3556;color:#d9d3ea}
.site-footer .socials a:hover{background:#7964c8;border-color:#7964c8;color:#fff}
.sf-col h4{font:800 .76rem Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:4px 0 22px}
.sf-col ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.sf-col a{color:#a9a2c2;transition:color .2s}
.sf-col a:hover,.sf-bottom a:hover{color:#c2b5ff}
.sf-contact li{display:flex;gap:12px;align-items:flex-start;color:#a9a2c2;line-height:1.6;overflow-wrap:break-word}
.sf-contact i{color:#c2b5ff;margin-top:5px;width:16px;text-align:center;flex-shrink:0}
.sf-news>p{color:#a9a2c2;line-height:1.7;margin:0 0 18px;font-size:.86rem}
.sf-input-row{display:flex;gap:8px;align-items:center;background:#1f1b30;border:1px solid #3b3556;border-radius:999px;padding:5px 5px 5px 16px;transition:border-color .2s}
.sf-input-row:focus-within{border-color:#b6a5ff}
.sf-input-row:has(.is-invalid){border-color:#c45d48}
.sf-input-row input{flex:1;min-width:0;border:0;background:transparent;color:#f1edff;padding:10px 0;font:inherit;font-size:.86rem;outline:none}
.sf-input-row input::placeholder{color:#7f789a}
.sf-input-row input.is-invalid{border:0!important;box-shadow:none!important}
.sf-input-row button{border:0;border-radius:999px;background:#b6a5ff;color:#141120;font:800 .8rem Manrope,sans-serif;padding:11px 18px;cursor:pointer;transition:background .2s;flex-shrink:0}
.sf-input-row button:hover{background:#d2c7ff}
.sf-err{display:block;color:#f0a593;font-size:.76rem;font-weight:700;margin-top:8px}
.sf-err:empty{display:none}
.site-footer .form-status{margin:10px 0 0;font-size:.78rem;min-height:1.1em}
.site-footer .form-status.error-text{color:#f0a593}
.site-footer .form-status.ok-text{color:#9fd8c3}
.sf-bottom{margin-top:58px;padding:22px 0 28px;border-top:1px solid #2b2540;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.78rem;color:#8f88a8;position:relative}
.sf-bottom>div{display:flex;gap:22px;flex-wrap:wrap}
.sf-bottom a{color:#8f88a8;transition:color .2s}
@media(max-width:1100px){.sf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-brand,.sf-news{grid-column:1/-1}}
@media(max-width:560px){.site-footer{padding-top:56px}.sf-grid{grid-template-columns:1fr;gap:34px}.sf-col h4{margin-bottom:16px}}

/* ---------- Hero: destination orbit (interactive) ---------- */
.hx-stage{position:relative;height:580px;width:100%;min-width:0}
.hx-stage:before{content:"";position:absolute;left:50%;top:50%;width:86%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#c9bdf5 0,transparent 66%);opacity:.5;pointer-events:none}
.hx-orbit{position:absolute;left:50%;top:50%;width:min(480px,100%);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.hx-ring{position:absolute;inset:0;border-radius:50%;border:1.5px dashed #9d8be0;opacity:.55}
.hx-ring.r2{inset:16%;border-style:solid;border-color:var(--line);opacity:.9}
.hx-spin{position:absolute;inset:0;animation:hxSpin 32s linear infinite}
.hx-stage:hover .hx-spin,.hx-stage:hover .hx-orb{animation-play-state:paused}
.hx-orbpos{position:absolute;inset:0;transform:rotate(var(--a))}
.hx-orbhold{position:absolute;left:50%;top:0;transform:translate(-50%,-50%)}
.hx-orb{pointer-events:auto;width:60px;height:60px;border-radius:50%;border:1.5px solid var(--purple);background:var(--surface);color:var(--purple);font:800 .82rem Manrope,sans-serif;letter-spacing:.04em;cursor:pointer;box-shadow:var(--shadow);display:grid;place-items:center;animation:hxSpinRev 32s linear infinite;scale:1;transition:background .3s,color .3s,scale .3s}
.hx-orb:hover{scale:1.1}
.hx-orb.is-on{background:var(--purple);color:#fff;scale:1.14}
.hx-card{position:absolute;left:50%;top:50%;width:min(344px,80%);padding:26px 26px 22px;border-radius:30px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,#fff 60%,var(--line));box-shadow:var(--shadow);transform:translate(-50%,-50%) perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .45s ease;text-align:start;z-index:3}
.hx-card-top{display:flex;justify-content:space-between;align-items:center}
.hx-card-top>i{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:var(--lavender);color:var(--purple)}
.hx-live{display:inline-flex;align-items:center;gap:9px;font-size:.64rem;font-weight:800;letter-spacing:.14em;color:var(--purple)}
.hx-live b{width:8px;height:8px;border-radius:50%;background:#45917e;animation:hxPing 1.8s infinite}
.hx-city{font:italic 400 clamp(2.6rem,4.4vw,3.3rem)/1 Georgia,serif;letter-spacing:-.03em;color:var(--purple);margin:18px 0 6px}
.hx-card h3{font:800 1.3rem/1.2 Manrope,sans-serif;letter-spacing:-.03em;margin:0 0 4px;color:var(--ink)}
.hx-uni{color:var(--muted);font-size:.84rem;margin:0 0 20px}
.hx-score{display:flex;align-items:center;gap:14px}
.hx-score strong{font:800 2.1rem/1 Manrope,sans-serif;color:var(--ink);letter-spacing:-.04em;min-width:2.2ch;display:flex;align-items:flex-start}
.hx-score strong small{font-size:.9rem;margin:3px 0 0 2px;color:var(--purple)}
.hx-bar{flex:1;height:10px;border-radius:99px;background:var(--lavender-2);overflow:hidden}
.hx-bar span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--purple),#c2b5ff);transition:width 1s ease}
.hx-note{display:block;color:var(--muted);font-size:.74rem;font-weight:700;margin-top:8px}
.hx-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.hx-tab{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:999px;padding:7px 12px;font:700 .72rem "DM Sans",sans-serif;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.hx-tab:hover{color:var(--purple);border-color:#cfc3f0}
.hx-tab[aria-selected="true"]{background:var(--purple);border-color:var(--purple);color:#fff}
.hx-tab:focus-visible,.hx-orb:focus-visible{outline:3px solid #a99be8;outline-offset:3px}
.hx-chip{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);animation:hxFloat 6s ease-in-out infinite}
.hx-chip>i{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:var(--lavender);color:var(--purple);flex-shrink:0}
.hx-chip small{display:block;font-size:.64rem;color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hx-chip b{display:block;font:800 .9rem Manrope,sans-serif;color:var(--ink)}
.hx-dots{display:flex;gap:4px;margin-top:6px}
.hx-dots span{width:16px;height:6px;border-radius:99px;background:var(--line)}
.hx-dots span.on{background:var(--purple)}
.hx-chip-a{left:-2%;top:10%}
.hx-chip-b{right:-2%;bottom:12%;animation-delay:-3s}
@keyframes hxSpin{to{transform:rotate(360deg)}}
@keyframes hxSpinRev{from{transform:rotate(calc(var(--a) * -1))}to{transform:rotate(calc(var(--a) * -1 - 360deg))}}
@keyframes hxPing{0%{box-shadow:0 0 0 0 #45917e88}70%,100%{box-shadow:0 0 0 9px #45917e00}}
@keyframes hxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:900px){.hx-stage{height:540px}}
@media(max-width:560px){.hx-stage{height:460px}.hx-orbit{width:calc(100% - 60px)}.hx-card{width:min(286px,84%);padding:20px 20px 18px;border-radius:24px}.hx-city{font-size:2.2rem}.hx-card h3{font-size:1.1rem}.hx-orb{width:46px;height:46px;font-size:.7rem}.hx-chip-b{display:none}.hx-chip{padding:9px 11px;gap:8px}.hx-chip>i{width:30px;height:30px;font-size:.8rem;border-radius:10px}.hx-chip b{font-size:.78rem}.hx-chip-a{left:0;top:6%}.hx-tab{padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.hx-spin,.hx-orb,.hx-chip,.hx-live b{animation:none}}

/* ---------- Home 2: "In their words" featured stories ---------- */
.hq-nav{display:flex;gap:10px;align-items:center}
.hq-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.hq-btn:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.hq-btn:focus-visible,.hq-dots button:focus-visible{outline:3px solid #a99be8;outline-offset:3px}
.hq-feature{position:relative;background:#141120;color:#f5f1ff;border-radius:34px;padding:clamp(26px,4vw,54px);overflow:hidden;box-shadow:0 30px 70px #2a1f5545;display:grid;gap:36px}
.hq-feature:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 8%,#7964c83d,transparent 42%),radial-gradient(circle at 4% 100%,#3f8f7c22,transparent 40%);pointer-events:none}
.hq-stack{display:grid;position:relative;z-index:1}
.hq-slide{grid-area:1/1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,70px);align-items:center;opacity:0;visibility:hidden;transform:translateY(18px) scale(.985);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1),visibility .6s}
.hq-slide.is-on{opacity:1;visibility:visible;transform:none}
.hq-photo-wrap{position:relative;width:100%;max-width:340px;justify-self:center}
.hq-photo{aspect-ratio:1/1.08;border-radius:28px;overflow:hidden;background-image:var(--img,none),radial-gradient(circle at 30% 22%,#ffffff47,transparent 44%),linear-gradient(165deg,var(--c),#17142a 88%);background-size:cover;background-position:center;display:grid;place-items:center;box-shadow:0 24px 54px #0008;transition:background-color .6s}
.hq-initials{font:italic 400 clamp(4rem,9vw,6rem)/1 Georgia,serif;color:#ffffffd9;letter-spacing:-.03em}
.hq-badge{position:absolute;top:-24px;right:-22px;width:118px;height:118px;border-radius:50%;background:#b6a5ff;color:#141120;display:grid;place-items:center;text-align:center;padding:12px;font:italic 400 1.1rem/1.1 Georgia,serif;transform:rotate(-8deg);box-shadow:0 16px 34px #0007}
.hq-slide.is-on .hq-badge{animation:hqPop .7s cubic-bezier(.2,1.4,.4,1)}
.hq-mark{display:block;font:800 4rem/.8 Georgia,serif;color:#b6a5ff;height:34px}
.hq-text{font:italic 400 clamp(1.45rem,2.6vw,2.05rem)/1.42 Georgia,serif;letter-spacing:-.01em;margin:10px 0 28px;color:#f5f1ff}
.hq-foot{display:flex;align-items:center;gap:14px}
.hq-line{width:36px;height:2px;background:#b6a5ff;flex-shrink:0}
.hq-foot b{display:block;font:800 .82rem Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.hq-foot small{display:block;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:#c2b5ff;font-weight:700;margin-top:5px}
.hq-meta{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid #2b2540;padding-top:22px}
.hq-count{font:700 .8rem Manrope,sans-serif;color:#8f88a8;letter-spacing:.1em}
.hq-count b{color:#fff;font-size:1.1rem}
.hq-dots{display:flex;gap:8px}
.hq-dots button{width:30px;height:4px;border:0;border-radius:99px;background:#3b3556;cursor:pointer;padding:0;transition:width .35s,background .35s}
.hq-dots button.is-on{width:58px;background:#b6a5ff}
.hq-dots button:hover:not(.is-on){background:#5b5378}
@keyframes hqPop{0%{transform:rotate(-8deg) scale(.4);opacity:0}100%{transform:rotate(-8deg) scale(1);opacity:1}}
@media(max-width:860px){.hq-slide{grid-template-columns:1fr;justify-items:center;text-align:center}.hq-photo-wrap{max-width:260px}.hq-foot{justify-content:center}.hq-badge{width:96px;height:96px;top:-16px;right:-14px;font-size:.98rem}.hq-feature{gap:30px}}
@media(max-width:560px){.hq-feature{border-radius:26px}.hq-nav{width:100%;justify-content:flex-start}.hq-meta{justify-content:center}.hq-count{width:100%;text-align:center}.hq-dots{justify-content:center;width:100%}}
@media(prefers-reduced-motion:reduce){.hq-slide,.hq-slide.is-on .hq-badge{transition:none;animation:none}}
/* Language-test accordion: title and answer share the same 24px inset as the + icon */
.pg-lang .pg-acc summary{padding:22px 24px}
.pg-lang .pg-acc p{padding:0 24px 22px}
.pg-lang .pg-split{align-items:start}
.pg-lang .pg-split>div:first-child{padding-top:6px}
/* About: heading stays pinned while the timeline scrolls (two-column layouts only) */
@media(min-width:1025px){.pg-timeline-wrap .pg-split>div:first-child{position:sticky;top:130px;align-self:start}}

/* ===== Hero showcase (right side of the Countries and About heroes) ===== */
.pg-hero-panel.sh-spot,.pg-hero-panel.sh-fan{animation:none;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:18px;padding:clamp(18px,2.4vw,26px);border-radius:34px;color:#fff;background:radial-gradient(120% 90% at 100% 0%,#b3a2f5 0%,transparent 55%),radial-gradient(90% 70% at 0% 100%,#ff6b5766 0%,transparent 60%),linear-gradient(160deg,#6a55b8,#2f2868);box-shadow:0 30px 70px -22px #2b1f5a8c}
.pg-hero-panel.sh-spot::before,.pg-hero-panel.sh-fan::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#ffffff33,transparent 68%);top:-120px;inset-inline-end:-100px;z-index:-1;pointer-events:none}
.sh-stats{display:flex;flex-wrap:wrap;gap:8px}
.sh-stats span{padding:7px 12px;border-radius:999px;background:#ffffff1f;border:1px solid #ffffff2e;font-size:.78rem;font-weight:700;color:#ffffffe6}
.sh-stats b{font:800 .95rem Manrope,sans-serif;color:#fff;margin-inline-end:3px}
.sh-card{position:relative;margin:0;border-radius:26px;overflow:hidden;aspect-ratio:16/11;min-height:0;transform-style:preserve-3d;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s cubic-bezier(.2,.8,.2,1);box-shadow:0 24px 50px -18px #0b0a2a99;background:#2b1f5a}
.sh-card>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.sh-card:hover>img{transform:scale(1.04)}
.sh-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#120e2ef0);pointer-events:none}
.sh-info{position:absolute;inset-inline:20px;bottom:18px;z-index:2;display:grid;gap:6px;text-align:start}
.sh-region{justify-self:start;padding:6px 11px;border-radius:999px;background:#ffffffeb;color:#3f3378;font:800 .64rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.sh-name{margin:0;font:800 clamp(1.6rem,2.6vw,2.2rem)/1.05 Manrope,sans-serif;letter-spacing:-.04em;color:#fff}
.sh-note{margin:0;max-width:430px;font-size:.9rem;line-height:1.5;color:#ffffffe0}
.sh-count{position:absolute;top:16px;inset-inline-end:16px;z-index:3;padding:6px 11px;border-radius:999px;background:#120e2e66;border:1px solid #ffffff33;font:800 .78rem Manrope,sans-serif;color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.sh-spot.is-swap .sh-info,.sh-spot.is-swap .sh-photo{animation:shIn .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes shIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sh-rail{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:none;scroll-snap-type:x proximity;max-width:100%}
.sh-rail::-webkit-scrollbar{display:none}
.sh-chip{flex:0 0 auto;scroll-snap-align:start;display:grid;justify-items:center;gap:6px;width:94px;padding:6px;border:0;border-radius:18px;background:#ffffff14;color:#fff;cursor:pointer;transition:background .3s,transform .3s}
.sh-chip img{width:100%;height:52px;object-fit:cover;border-radius:12px;opacity:.6;transition:opacity .3s,box-shadow .3s}
.sh-chip span{font:700 .68rem "DM Sans",sans-serif;letter-spacing:.01em;white-space:nowrap;color:#ffffffd9;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.sh-chip:hover{transform:translateY(-3px);background:#ffffff22}
.sh-chip:focus-visible{outline:3px solid #ffd98a;outline-offset:3px}
.sh-chip[aria-selected="true"]{background:#ffffff2e}
.sh-chip[aria-selected="true"] img{opacity:1;box-shadow:0 0 0 2px #fff}
.sh-chip[aria-selected="true"] span{color:#fff;font-weight:800}
.sh-foot{display:flex;align-items:center;gap:12px}
.sh-progress{flex:1;height:4px;border-radius:99px;background:#ffffff26;overflow:hidden}
.sh-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffd98a,#ffb3d9,#ffffff)}
.sh-spot.is-playing .sh-progress span{animation:shFill var(--dur,6s) linear forwards}
@keyframes shFill{to{width:100%}}
.sh-btn{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid #ffffff52;background:#ffffff1f;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .25s,transform .25s}
.sh-btn:hover{background:#ffffff38;transform:scale(1.06)}
.sh-btn:focus-visible,.sh-fan-card:focus-visible,.sh-fan-dot:focus-visible{outline:3px solid #ffd98a;outline-offset:3px}
/* fan */
.sh-fan{--flip:1}
html[dir="rtl"] .sh-fan{--flip:-1}
.sh-fan-top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:4}
.sh-fan-label{font:800 .72rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#ffffffe6;padding:7px 12px;border-radius:999px;background:#ffffff1f;border:1px solid #ffffff2e}
.sh-fan .sh-count{position:static}
.sh-stage{position:relative;height:430px;perspective:1100px}
.sh-fan-card{position:absolute;left:50%;top:0;width:86%;height:100%;margin:0;padding:0;border:0;border-radius:28px;overflow:hidden;cursor:pointer;background:#2b1f5a;box-shadow:0 26px 56px -18px #0b0a2aa6;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .35s ease,filter .35s ease}
.sh-fan-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.sh-fan-shade{position:absolute;inset:0;background:linear-gradient(180deg,#120e2e1a 20%,#120e2eeb 100%);transition:background .3s}
.sh-fan-body{position:absolute;inset:auto 20px 20px;display:grid;gap:10px;text-align:start;transition:opacity .3s ease .05s,transform .35s ease .05s;opacity:0;transform:translateY(10px)}
.sh-fan-ic{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:#ffffff2e;border:1px solid #ffffff4d;color:#fff;font-size:1.15rem}
.sh-fan-title{font:800 clamp(1.4rem,2.2vw,1.9rem)/1.1 Manrope,sans-serif;letter-spacing:-.035em;color:#fff}
.sh-fan-text{font-size:.94rem;line-height:1.55;color:#ffffffe6;max-width:360px}
.sh-fan-card[data-pos="0"]{transform:translateX(-50%) translateY(0) scale(1);z-index:3;opacity:1;filter:none}
.sh-fan-card[data-pos="0"] .sh-fan-body{opacity:1;transform:none}
.sh-fan-card[data-pos="0"]>img{transform:scale(1.03)}
.sh-fan-card[data-pos="1"]{transform:translateX(calc(-50% + 9%*var(--flip))) translateY(28px) scale(.92) rotate(calc(3deg*var(--flip)));z-index:2;opacity:.8;filter:saturate(.75)}
.sh-fan-card[data-pos="2"]{transform:translateX(calc(-50% - 9%*var(--flip))) translateY(56px) scale(.84) rotate(calc(-3deg*var(--flip)));z-index:1;opacity:.5;filter:saturate(.6)}
.sh-fan-card:not([data-pos="0"]):hover{opacity:.95}
.sh-fan-dots{display:flex;justify-content:center;gap:8px;position:relative;z-index:4}
.sh-fan-dot{width:10px;height:10px;border-radius:99px;border:0;background:#ffffff59;cursor:pointer;transition:width .4s,background .3s}
.sh-fan-dot[aria-current="true"]{width:30px;background:#fff}
/* mobile / tablet */
@media(max-width:1024px){.sh-stage{height:400px}}
@media(max-width:560px){
 .pg-hero-panel.sh-spot,.pg-hero-panel.sh-fan{border-radius:26px;padding:18px}
 .sh-card{aspect-ratio:4/3}
 .sh-chip{width:86px}
 .sh-stage{height:350px}
 .sh-fan-card{width:92%}
 .sh-fan-text{font-size:.88rem}
 .sh-fan-body{inset:auto 16px 16px}
}
@media(prefers-reduced-motion:reduce){.sh-card,.sh-fan-card,.sh-chip,.sh-btn{transition:none}.sh-spot.is-playing .sh-progress span{animation:none}.sh-spot.is-swap .sh-info,.sh-spot.is-swap .sh-photo{animation:none}}

/* ===== Hero right side: Scholarships "award ring" and Contact "reply desk" ===== */
/* Scholarships: a three-segment award ring that drives a live award card */
.pg-hero-panel.shr{animation:none;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:18px;padding:clamp(18px,2.4vw,26px);border-radius:34px;color:#fff;background:radial-gradient(90% 70% at 100% 0%,#ffb36b59 0%,transparent 60%),radial-gradient(80% 60% at 0% 100%,#ff9fd04d 0%,transparent 60%),linear-gradient(165deg,#2f2868,#1b1640);box-shadow:0 30px 70px -22px #120e2ecc;min-width:0}
.shr-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.shr-label{display:inline-flex;align-items:center;gap:8px;font:800 .72rem "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:#ffffff1f;border:1px solid #ffffff2e;color:#ffffffe6}
.shr-label i{color:#ffd98a}
.shr-live{display:inline-flex;align-items:center;gap:8px;font:700 .76rem "DM Sans",sans-serif;color:#ffffffd9}
.shr-live i{width:8px;height:8px;border-radius:50%;background:#9be7d4;animation:shrPulse 2s ease-out infinite}
@keyframes shrPulse{0%{box-shadow:0 0 0 0 #9be7d4aa}70%,100%{box-shadow:0 0 0 9px #9be7d400}}
.shr-body{display:grid;grid-template-columns:minmax(0,clamp(160px,40%,210px)) minmax(0,1fr);gap:clamp(14px,2.4vw,22px);align-items:center}
.shr-dial{position:relative;width:100%;aspect-ratio:1}
.shr-dial svg{width:100%;height:100%;display:block;overflow:visible}
.shr-track{fill:none;stroke:#ffffff24;stroke-width:14}
.shr-arc{fill:none;stroke-width:14;stroke-linecap:butt;transform:rotate(-90deg);transform-origin:100px 100px;cursor:pointer;transition:opacity .45s ease,stroke-width .45s ease;animation:shrGrow 1.3s cubic-bezier(.2,.8,.2,1) both}
.shr-arc[data-kind="merit"]{stroke:#ffd98a}
.shr-arc[data-kind="need"]{stroke:#ff9fd0}
.shr-arc[data-kind="subject"]{stroke:#9be7d4}
.shr-arc.is-on{stroke-width:20}
.shr[data-kind] .shr-arc{opacity:.36}
.shr[data-kind] .shr-arc.is-on{opacity:1}
@keyframes shrGrow{from{stroke-dasharray:0 502.65}to{stroke-dasharray:var(--len) 502.65}}
.shr-core{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#fff;pointer-events:none}
.shr-core b{font:800 clamp(2rem,4vw,2.7rem)/1 Manrope,sans-serif;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.shr-core span{margin-top:6px;font:700 .7rem "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#ffffffcc}
.shr-legend{display:grid;gap:8px;min-width:0}
.shr-tab{--c:#ffd98a;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;border-radius:16px;border:1px solid #ffffff2e;background:#ffffff14;color:#fff;font:700 .88rem "DM Sans",sans-serif;text-align:start;cursor:pointer;transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
.shr-tab[data-kind="need"]{--c:#ff9fd0}
.shr-tab[data-kind="subject"]{--c:#9be7d4}
.shr-tab i{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#ffffff1f;color:var(--c);font-size:.9rem;transition:background .3s,color .3s}
.shr-tab b{font:800 .84rem Manrope,sans-serif;padding:3px 9px;border-radius:999px;background:#ffffff26;color:#fff;transition:background .3s,color .3s}
.shr-tab:hover{background:#ffffff26}
.shr-tab[aria-selected="true"]{background:#fff;color:#2b2160;border-color:#fff;box-shadow:0 12px 26px -12px #0b0a2a8c}
.shr-tab[aria-selected="true"] i{background:var(--c);color:#2b2160}
.shr-tab[aria-selected="true"] b{background:#2b2160;color:#fff}
.shr-card{position:relative;display:grid;align-content:start;gap:12px;min-height:212px;padding:18px 20px;border-radius:24px;background:#ffffff1a;border:1px solid #ffffff2e;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);min-width:0}
.shr-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.shr-card h3{margin:0;font:800 clamp(1.1rem,1.8vw,1.3rem)/1.2 Manrope,sans-serif;letter-spacing:-.03em;color:#fff;min-width:0;overflow-wrap:anywhere}
.shr-days{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#120e2e66;font:700 .74rem "DM Sans",sans-serif;color:#fff;white-space:nowrap}
.shr-days i{color:#ffd98a}
.shr-card p{margin:0;font-size:.9rem;line-height:1.55;color:#ffffffe6}
.shr-meter{display:flex;height:6px;border-radius:99px;background:#ffffff26;overflow:hidden}
.shr-meter span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd98a,#ff9fd0);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.shr-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto}
.shr-amount{font:800 .98rem Manrope,sans-serif;color:#fff}
.shr-pager{display:inline-flex;align-items:center;gap:10px;font:700 .8rem "DM Sans",sans-serif;color:#ffffffcc}
.shr-next{width:40px;height:40px;border-radius:50%;border:0;background:#fff;color:#2b2160;display:grid;place-items:center;cursor:pointer;transition:transform .25s,background .25s}
.shr-next:hover{transform:scale(1.08);background:#ffd98a}
.shr-tab:focus-visible,.shr-next:focus-visible,.cdk-mode:focus-visible,.cdk-slot:focus-visible,.cdk-send:focus-visible,.shr-arc:focus-visible{outline:3px solid #ffd98a;outline-offset:3px}

/* Contact: a live reply desk with a chat thread, switchable modes and a working composer */
.pg-hero-panel.cdk{animation:none;position:relative;isolation:isolate;display:flex;flex-direction:column;gap:14px;padding:clamp(16px,2vw,22px);border-radius:34px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 30px 70px -28px #49377833;overflow:hidden;min-width:0}
.pg-hero-panel.cdk::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,var(--purple),#ff9fd0,#ffd98a)}
.cdk-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:4px}
.cdk-who{display:flex;align-items:center;gap:12px;min-width:0}
.cdk-avatars{display:flex;flex:0 0 auto}
.cdk-avatars span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--lavender);color:var(--purple-dark);border:2px solid var(--surface);margin-inline-start:-8px;font-size:.85rem}
.cdk-avatars span:first-child{margin-inline-start:0}
.cdk-who strong{display:block;font:800 .98rem Manrope,sans-serif;color:var(--ink)}
.cdk-who small{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.8rem;font-weight:600}
.cdk-dot{width:8px;height:8px;border-radius:50%;background:#2fbf8f;animation:cdkPulse 2s ease-out infinite}
@keyframes cdkPulse{0%{box-shadow:0 0 0 0 #2fbf8fa0}70%,100%{box-shadow:0 0 0 9px #2fbf8f00}}
.cdk-eta{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:var(--mint);color:#23705a;font:700 .76rem "DM Sans",sans-serif;white-space:nowrap}
.cdk-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border-radius:999px;background:var(--lavender-2);border:1px solid var(--line)}
.cdk-mode{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:10px 6px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:700 .84rem "DM Sans",sans-serif;cursor:pointer;transition:background .3s,color .3s,box-shadow .3s;white-space:nowrap}
.cdk-mode i{color:var(--purple)}
.cdk-mode:hover:not([aria-selected="true"]){background:var(--lavender)}
.cdk-mode[aria-selected="true"]{background:var(--purple);color:#fff;box-shadow:0 10px 22px -10px #7964c8}
.cdk-mode[aria-selected="true"] i{color:#fff}
.cdk-thread{display:flex;flex-direction:column;gap:10px;height:clamp(230px,30vh,280px);overflow-y:auto;overscroll-behavior:contain;padding:14px;border-radius:22px;background:var(--bg);border:1px solid var(--line);scrollbar-width:thin}
.cdk-msg{max-width:84%;padding:10px 14px;border-radius:18px;font-size:.88rem;line-height:1.5;overflow-wrap:anywhere;animation:cdkIn .45s cubic-bezier(.2,.8,.2,1) both}
.cdk-msg.is-them{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-start-start-radius:6px;margin-inline-end:auto}
.cdk-msg.is-me{background:var(--purple);color:#fff;border-start-end-radius:6px;margin-inline-start:auto}
@keyframes cdkIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.cdk-typing{display:inline-flex;gap:5px;padding:12px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);border-start-start-radius:6px;margin-inline-end:auto;align-self:flex-start}
.cdk-typing i{width:7px;height:7px;border-radius:50%;background:var(--purple);animation:cdkDot 1s ease-in-out infinite}
.cdk-typing i:nth-child(2){animation-delay:.15s}
.cdk-typing i:nth-child(3){animation-delay:.3s}
@keyframes cdkDot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.cdk-slots{display:flex;flex-wrap:wrap;gap:8px}
.cdk-slots[hidden]{display:none}
.cdk-slot{padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:700 .82rem "DM Sans",sans-serif;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s}
.cdk-slot:hover:not(:disabled){border-color:var(--purple);transform:translateY(-2px)}
.cdk-slot:disabled{cursor:default;opacity:.55}
.cdk-slot[aria-pressed="true"]{background:var(--purple);border-color:var(--purple);color:#fff;opacity:1}
.cdk-form{display:flex;align-items:center;gap:8px;padding-block:6px;padding-inline:16px 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface);transition:border-color .25s,box-shadow .25s}
.cdk-form:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px #7964c822}
.cdk-form:has(.cdk-input[aria-invalid="true"]){border-color:#d8476a}
.cdk-input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:500 .92rem "DM Sans",sans-serif;padding:8px 0;outline:none}
.cdk-input::placeholder{color:var(--muted)}
.cdk-send{width:42px;height:42px;flex:0 0 auto;border-radius:50%;border:0;background:var(--purple);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .25s,background .25s}
.cdk-send:hover{transform:scale(1.06);background:var(--purple-dark)}
.cdk-error{margin-top:-6px;min-height:1.2em;font-size:.82rem;font-weight:600;color:#c2334f}
@media(max-width:1024px){.shr-body{grid-template-columns:minmax(0,clamp(150px,36%,190px)) minmax(0,1fr)}}
@media(max-width:560px){
 .pg-hero-panel.shr{border-radius:26px;padding:18px;gap:14px}
 .shr-body{grid-template-columns:1fr;justify-items:center}
 .shr-dial{width:min(190px,62vw)}
 .shr-legend{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
 .shr-tab{grid-template-columns:1fr;justify-items:center;text-align:center;gap:6px;padding:10px 6px}
 .shr-tab span{font-size:.78rem}
 .shr-tab b{font-size:.74rem;padding:2px 8px}
 .shr-card{min-height:0;padding:16px}
 .pg-hero-panel.cdk{border-radius:26px;padding:14px}
 .cdk-msg{max-width:92%}
 .cdk-mode{font-size:.76rem;padding:9px 4px;gap:5px}
 .cdk-mode i{display:none}
 .cdk-thread{height:250px}
 .cdk-avatars span{width:32px;height:32px}
}
@media(prefers-reduced-motion:reduce){.shr-arc,.shr-live i,.cdk-dot,.cdk-msg,.cdk-typing i{animation:none}.shr-arc,.shr-meter span,.shr-tab,.cdk-mode,.cdk-slot{transition:none}}

/* Mobile menu open: stop the page behind it from scrolling */
html.nav-open{overflow:hidden!important;overscroll-behavior:none}

/* About page: final CTA with copy on the left and photo on the right */
.pg-cta-copy{min-width:0}
.pg-cta-copy .pg-cta-actions{margin-top:30px}
.pg-cta-media{margin:0;min-width:0;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px #0003}
.pg-cta-media img{display:block;width:100%;height:100%;min-height:300px;max-height:380px;object-fit:cover}
@media(max-width:560px){.pg-cta-media img{min-height:220px;max-height:260px}}

/* Hide the browser's built-in password reveal/clear buttons so only the site's own eye toggle shows */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear,
input[type="password"]::-webkit-credentials-auto-fill-button,
input[type="password"]::-webkit-contacts-auto-fill-button{display:none!important;visibility:hidden;pointer-events:none;position:absolute;right:-9999px}

/* About page promise rows: let the hovered icon scale without being clipped, and leave room on the right */
.pg-promise{overflow:visible;padding-inline-end:clamp(20px,3vw,40px)}
.pg-promise::before{inset:0;border-radius:inherit}
.pg-promise:hover .pg-promise-ic{transform:rotate(360deg) scale(1.08)}

/* Login and signup header: logo on the left, theme/RTL toggles and Back to site on the right */
.site-header--auth .nav{justify-content:space-between}
.site-header--auth .header-actions{margin-inline-start:auto}

/* Home 1 step cards: on tablet and phone the stage grows with its stacked cards instead of a fixed 640px height (fixes overlap on 320-425px) */
@media(max-width:900px){
  .so-stage{height:auto}
}

/* Login and signup "Back to site" button: text and arrow centred on one line */
.site-header--auth .nav-login{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;text-align:center;white-space:nowrap}
.site-header--auth .nav-login i{display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;margin:0}

/* Compare dropdowns (Home 2): keep the closed select and its popup list inside the card on every screen size */
.cp-form>*,.cp-pick{min-width:0}
.cp-pick select{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}
.cp-pick select option{font:600 .95rem/1.4 Manrope,sans-serif;white-space:normal;padding:6px 10px}
@media(max-width:560px){
  .cp-pick{padding:16px 16px}
  .cp-pick select{font-size:.92rem}
  .cp-pick select option{font-size:.9rem}
}

/* Dashboard header profile: photo avatar instead of initials */
.dash-header .pp-avatar{overflow:hidden;padding:0;background:var(--lavender)}
.dash-header .pp-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
