:root{--navy:#081a36;--blue:#0d44bd;--bright:#1769ff;--sky:#ecf4ff;--gold:#79a9ff;--ink:#10213d;--muted:#69758a;--line:#dfe6f0;--white:#fff;--max:1200px;--site-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--site-font);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-header{height:82px;padding:0 max(30px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;position:fixed;z-index:100;top:0;left:0;right:0;color:#fff;transition:.3s}.site-header.scrolled{height:70px;background:rgba(7,24,51,.96);box-shadow:0 10px 30px #06142c22;backdrop-filter:blur(12px)}.brand{display:flex;gap:11px;align-items:center}.brand strong{display:block;font:700 22px/1 var(--site-font);letter-spacing:.15em}.brand small{display:block;font-size:8px;letter-spacing:.18em;margin-top:7px;opacity:.72}.brand-mark{width:40px;height:40px;position:relative;display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%}.brand-mark i{font-size:25px;font-style:normal;color:var(--gold)}.brand-mark b{position:absolute;font-size:9px;right:3px;top:2px;color:#8eb6ff}.site-header nav{display:flex;align-items:center;gap:38px;font-size:14px}.site-header nav>a:not(.nav-cta){opacity:.8}.site-header nav>a:hover{opacity:1}.nav-cta{padding:12px 18px;border:1px solid #ffffff66;border-radius:5px}.nav-cta span{margin-left:15px;color:var(--gold)}.menu-button{display:none;background:none;border:0;padding:10px}.hero{min-height:790px;height:100vh;max-height:920px;background:radial-gradient(circle at 78% 45%,#13499c 0,#092b69 26%,#071b3e 55%,#06152e 100%);color:#fff;position:relative;overflow:hidden;padding:160px max(30px,calc((100vw - var(--max))/2)) 140px;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#13366b33 25.2%,transparent 25.4%),linear-gradient(90deg,#fff0 49.8%,#ffffff07 50%,#fff0 50.2%);background-size:100% 100%,190px 100%}.stars{position:absolute;inset:0;background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(#b9d3ff 1px,transparent 1px);background-size:85px 85px,130px 130px;background-position:0 0,40px 55px;opacity:.22}.hero-copy{position:relative;z-index:3;width:53%}.eyebrow,.kicker{font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--blue)}.eyebrow{color:#b7d0ff;margin-bottom:24px}.eyebrow span{color:var(--gold);margin-right:10px}.hero h1{font:900 clamp(58px,6.2vw,88px)/1.08 var(--site-font);letter-spacing:-.06em;margin:0}.hero h1 span{display:inline-block;color:#fff;position:relative}.hero h1 span:after{content:"";position:absolute;height:10px;left:2px;right:-8px;bottom:-5px;background:linear-gradient(90deg,var(--gold),#fff0);transform:skewX(-20deg);opacity:.9}.hero-copy>p{font-size:17px;line-height:1.9;color:#c1cde0;max-width:620px;margin:32px 0}.hero-actions{display:flex;gap:14px}.button{border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;padding:16px 25px;font-weight:600;font-size:14px;cursor:pointer}.button span{margin-left:35px;font-size:18px}.primary{background:var(--bright);color:#fff;box-shadow:0 10px 30px #004be355}.primary:hover{background:#2b75ff}.ghost{border:1px solid #ffffff55;color:#fff;background:#ffffff0b}.hero-visual{position:absolute;right:max(-70px,calc((100vw - 1360px)/2));top:15%;width:53vw;height:65%;z-index:2}.planet{width:min(44vw,630px);height:min(44vw,630px);border-radius:50%;position:absolute;right:0;top:3%;background:radial-gradient(circle at 32% 28%,#4d8ce9,#1252b5 38%,#082b6d 72%);box-shadow:inset -50px -50px 90px #031531aa,inset 15px 20px 55px #8cb9ff44,0 0 100px #146aff33;overflow:hidden}.planet:after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(ellipse at 30% 10%,transparent 0 18px,#fff 19px 20px);opacity:.12}.land{position:absolute;background:#7aabec;filter:blur(1px);opacity:.55}.l1{width:45%;height:30%;top:20%;left:12%;border-radius:50% 30% 60% 30%;transform:rotate(20deg)}.l2{width:30%;height:38%;top:48%;left:48%;border-radius:60% 40% 55% 25%;transform:rotate(-12deg)}.l3{width:18%;height:14%;top:24%;right:4%;border-radius:50%}.orbit{position:absolute;border:1px solid #76a9fb44;border-radius:50%;z-index:1}.orbit-one{width:760px;height:370px;right:-40px;top:30%;transform:rotate(-15deg)}.orbit-two{width:660px;height:610px;right:-40px;top:10%;transform:rotate(28deg)}.destination{position:absolute;z-index:5;padding:10px 14px 10px 35px;border:1px solid #ffffff30;background:#082557bb;backdrop-filter:blur(7px);border-radius:5px;box-shadow:0 8px 30px #020c1d66}.destination i{position:absolute;width:9px;height:9px;background:var(--gold);box-shadow:0 0 13px var(--gold);border-radius:50%;left:14px;top:17px}.destination b,.destination small{display:block}.destination b{font-size:13px}.destination small{font-size:9px;color:#a9bcd9;margin-top:3px}.d1{left:10%;top:18%}.d2{right:4%;top:22%}.d3{right:3%;bottom:6%}.hero-metrics{height:105px;position:absolute;z-index:4;bottom:0;left:0;right:0;padding:0 max(30px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:repeat(4,1fr);background:#06132bdd;border-top:1px solid #ffffff18;backdrop-filter:blur(10px)}.hero-metrics div{display:flex;align-items:center;gap:17px;border-right:1px solid #ffffff16}.hero-metrics div:first-child{border-left:1px solid #ffffff16}.hero-metrics b{font-size:30px;color:#fff}.hero-metrics sup{font-size:14px;color:var(--gold)}.hero-metrics span{font-size:12px;color:#95a6c1}.trust-strip{min-height:102px;padding:20px max(30px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:30px;color:#7f8998;border-bottom:1px solid var(--line)}.trust-strip span{font-size:12px}.trust-strip b{font:600 19px Georgia;filter:grayscale(1);opacity:.63}.section{max-width:var(--max);margin:auto;padding:115px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:52px}.section-heading h2,.path-content h2,.about h2,.contact h2{font:700 clamp(32px,4vw,48px)/1.25 var(--site-font);margin:13px 0 0;letter-spacing:-.04em}.section-heading>p{color:var(--muted);font-size:14px;line-height:1.8;width:370px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service-card{min-height:420px;padding:35px 30px;border-right:1px solid var(--line);position:relative;transition:.5s;opacity:0;transform:translateY(20px)}.service-card.visible{opacity:1;transform:none}.service-card:last-child{border:0}.service-card.featured,.service-card:hover{background:var(--blue);color:#fff;transform:translateY(-8px);box-shadow:0 20px 45px #153b7933}.service-card .num{position:absolute;right:22px;top:20px;font-size:11px;opacity:.4}.service-card .icon{width:53px;height:53px;border-radius:50%;background:var(--sky);color:var(--blue);display:grid;place-items:center;font-size:25px;margin:15px 0 28px}.service-card h3{font-size:20px}.service-card p{font-size:13px;line-height:1.75;color:var(--muted);height:70px}.service-card.featured p,.service-card:hover p{color:#bed0f5}.service-card ul{padding:0;margin:25px 0;list-style:none;font-size:12px;line-height:2.1}.service-card li:before{content:"·";color:var(--gold);font-weight:bold;margin-right:8px}.service-card a{position:absolute;bottom:30px;font-size:12px;color:var(--blue);font-weight:700}.service-card.featured a,.service-card:hover a{color:#fff}.path-section{display:grid;grid-template-columns:1fr 1fr;background:#f4f7fb;min-height:780px}.path-photo{position:relative;overflow:hidden;background:#fff}.path-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#eef3f9,transparent 60%)}.photo-note{position:absolute;z-index:2;bottom:50px;right:0;background:#fff;padding:24px 35px;display:flex;gap:20px;align-items:center}.photo-note>b{font-size:33px;color:var(--blue)}.photo-note strong,.photo-note small{display:block}.photo-note small{font-size:10px;color:var(--muted);margin-top:5px}.path-content{padding:90px max(50px,calc((100vw - 1200px)/2)) 70px 7vw}.path-content>p{color:var(--muted);font-size:13px;line-height:1.8}.path-content ol{list-style:none;padding:15px 0 0;margin:0}.path-content li{display:flex;gap:23px;padding:17px 0;border-bottom:1px solid #dfe5ed;opacity:0;transform:translateX(18px);transition:.45s}.path-content li.visible{opacity:1;transform:none}.path-content li>span{font-size:11px;color:#99a3b3;margin-top:4px}.path-content li b,.path-content li small{display:block}.path-content li b{font-size:14px}.path-content li small{color:#8a94a4;font-size:11px;margin-top:5px}.path-content li.active span,.path-content li.active b{color:var(--blue)}.results .text-link{font-size:13px;color:var(--blue);font-weight:700}.result-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.result-main{height:480px;position:relative;overflow:hidden;background:#071a38}.result-main:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06152eeb,transparent)}.result-main>div{position:absolute;z-index:2;left:42px;top:90px;color:#fff}.result-main span{font-size:10px;letter-spacing:.2em;color:var(--gold)}.result-main h3{font:700 30px/1.45 var(--site-font)}.result-main p{font-size:12px;color:#a9bbd5}.result-main a{display:inline-block;margin-top:55px;font-size:12px}.offers{display:grid;grid-template-columns:1fr 1fr;gap:16px}.offers article{border:1px solid var(--line);padding:29px;position:relative;opacity:0;transform:translateY(15px);transition:.45s}.offers article.visible{opacity:1;transform:none}.offers article:before{content:"✦";position:absolute;right:22px;top:18px;color:#cbd5e6}.offers span{font-size:8px;letter-spacing:.17em;color:var(--blue)}.offers b{display:block;font:700 25px Georgia;margin:32px 0 8px}.offers p{font-size:11px;color:var(--muted)}.offers small{position:absolute;bottom:24px;color:var(--blue);font-size:9px}.about{background:var(--navy);color:#fff;min-height:590px;padding:80px max(30px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about>div>p{color:#aab8ce;line-height:2;font-size:14px}.kicker.light{color:#84adff}.about-placeholder{width:100%;height:400px;background:#fff}.values{display:flex;gap:30px;margin-top:38px}.values span{font-size:11px;color:#91a1bb}.values b{display:block;color:#fff;font-size:15px;margin-bottom:7px}.contact{max-width:var(--max);margin:0 auto;padding:105px 0;display:grid;grid-template-columns:1fr 1fr;gap:110px}.contact-copy p{color:var(--muted);font-size:14px;line-height:2;max-width:450px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact label:nth-child(3){grid-column:span 2}.contact label span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.contact input,.contact select{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);background:#f8fafc;outline:none}.contact input:focus,.contact select:focus{border-color:var(--blue)}.contact form button{grid-column:span 2;width:100%}.contact form>small{grid-column:span 2;text-align:center;color:#a4adbb;font-size:9px}footer{background:#050f22;color:#fff;padding:55px max(30px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid #ffffff12}footer p{color:#7f90aa;font-size:12px}footer>div{text-align:right}footer>div a{font-size:11px;color:#95a3b9;margin-left:25px}footer>small{grid-column:1/-1;margin-top:45px;padding-top:20px;border-top:1px solid #ffffff12;color:#506078;font-size:9px}.toast{position:fixed;right:25px;bottom:25px;z-index:200;background:#fff;color:var(--navy);padding:17px 24px;border-left:4px solid var(--blue);box-shadow:0 15px 45px #00133b33;transform:translateY(100px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}
@media(max-width:900px){.site-header{height:68px;padding:0 20px}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--navy);padding:25px;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:14px}.menu-button{display:block}.menu-button span{display:block;width:24px;height:1px;background:#fff;margin:7px}.hero{height:auto;min-height:800px;padding:130px 24px 140px;align-items:flex-start}.hero-copy{width:100%}.hero h1{font-size:52px}.hero-copy>p{font-size:14px}.hero-visual{opacity:.35;right:-250px;top:250px;width:700px}.planet{width:600px;height:600px}.destination{display:none}.hero-metrics{padding:0 20px;grid-template-columns:repeat(2,1fr);height:120px}.hero-metrics div{padding-left:12px}.hero-metrics b{font-size:20px}.trust-strip{overflow:auto;justify-content:flex-start;white-space:nowrap}.section{padding:80px 22px}.section-heading{display:block}.section-heading>p{width:auto;margin-top:20px}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}.service-card{border-bottom:1px solid var(--line)}.path-section{grid-template-columns:1fr}.path-photo{height:430px}.path-content{padding:70px 25px}.result-grid{grid-template-columns:1fr}.about{grid-template-columns:1fr;padding:75px 22px;gap:40px}.contact{grid-template-columns:1fr;padding:75px 22px;gap:40px}footer{grid-template-columns:1fr;gap:18px}footer>div{text-align:left}footer>div a{margin:0 20px 0 0}}
@media(max-width:560px){.brand strong{font-size:18px}.brand-mark{width:34px;height:34px}.hero h1{font-size:43px}.hero-actions{flex-direction:column;align-items:stretch;text-align:center}.hero-metrics span{font-size:9px}.service-grid{grid-template-columns:1fr}.service-card{border-right:0}.offers{grid-template-columns:1fr}.offers article{min-height:190px}.result-main{height:420px}.values{gap:12px;justify-content:space-between}.about-placeholder{height:260px}.contact form{grid-template-columns:1fr}.contact label:nth-child(3),.contact form button,.contact form>small{grid-column:auto}.photo-note{padding:18px;left:25px;right:auto}.section-heading h2,.path-content h2,.about h2,.contact h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Lightweight in-page navigation feedback */
.navigation-progress{position:fixed;z-index:1001;top:0;left:0;right:0;height:3px;pointer-events:none;opacity:0;transition:opacity .15s}.navigation-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#79a9ff,var(--bright),#0d44bd);transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px rgba(23,105,255,.28)}.navigation-progress.is-running{opacity:1}.navigation-progress.is-running i{animation:navigation-progress .42s cubic-bezier(.22,.8,.32,1) both}.site-header nav>a:not(.nav-cta){position:relative}.site-header nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .25s}.site-header nav>a.active{opacity:1}.site-header nav>a.active:after{transform:scaleX(1)}.section-arriving>*{animation:content-arrive .48s cubic-bezier(.2,.75,.3,1) both}.section-arriving>*:nth-child(2){animation-delay:.06s}.section-arriving>*:nth-child(3){animation-delay:.12s}@keyframes navigation-progress{0%{transform:scaleX(0)}65%{transform:scaleX(.72)}100%{transform:scaleX(1)}}@keyframes content-arrive{from{opacity:.15;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.navigation-progress{display:none}.section-arriving>*{animation:none}}

/* 2026 visual refresh — rounded, airy and technology-led like the approved reference */
:root{--navy:#20223b;--blue:#5146e5;--bright:#6257e8;--sky:#f1f3ff;--gold:#f59e0b;--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--surface:#f8f9fc;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--shadow-card:0 18px 45px rgba(31,41,55,.09);--site-font:"PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{background:var(--surface);font-size:16px;line-height:1.7;letter-spacing:.01em}
.site-header{height:80px;color:var(--ink);background:#fff;box-shadow:0 1px 0 rgba(31,41,55,.06);backdrop-filter:blur(16px)}
.site-header.scrolled{height:80px;color:var(--ink);background:#fff;box-shadow:0 8px 28px rgba(31,41,55,.08)}
.brand strong{font-size:21px;letter-spacing:.08em}.brand small{color:var(--muted);opacity:1}.brand-mark{border:0;border-radius:14px;background:linear-gradient(135deg,#667eea,#06b6d4);box-shadow:0 8px 20px rgba(79,70,229,.2)}.brand-mark i{color:#fff}.brand-mark b{color:#fde68a}
.site-header nav{gap:32px;font-size:15px;font-weight:500}.site-header nav>a:not(.nav-cta){opacity:.78}.nav-cta{padding:11px 20px;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,#667eea,#5146e5);box-shadow:0 8px 22px rgba(79,70,229,.24)}.nav-cta span{color:#fff}.site-header nav>a:not(.nav-cta):after{bottom:-10px;background:linear-gradient(90deg,#667eea,#06b6d4);border-radius:2px}
.hero{min-height:780px;background:linear-gradient(135deg,#667eea 0%,#6554a2 100%);padding-top:180px}.hero:before{background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:80px 80px}.stars{opacity:.12}.hero-copy{width:55%}.eyebrow{display:inline-flex;align-items:center;padding:8px 16px;margin-bottom:28px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;letter-spacing:.16em}.hero h1{font-weight:800;letter-spacing:-.045em}.hero h1 span:after{height:8px;border-radius:8px;background:linear-gradient(90deg,#f0abfc,#fb7185,transparent)}.hero-copy>p{font-size:18px;color:rgba(255,255,255,.86);max-width:610px}.button{min-height:52px;padding:14px 25px;border-radius:999px;font-size:15px;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{transform:translateY(-2px)}.primary{background:#fff;color:var(--blue);box-shadow:0 12px 30px rgba(42,31,98,.22)}.primary:hover{background:#fff;box-shadow:0 16px 36px rgba(42,31,98,.3)}.ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.42)}
.planet{background:radial-gradient(circle at 32% 28%,#9bdcff,#4f7fe6 42%,#473c96 76%);box-shadow:inset -50px -50px 90px rgba(25,20,79,.45),inset 15px 20px 55px rgba(255,255,255,.25),0 0 100px rgba(190,215,255,.2)}.destination{border:1px solid rgba(255,255,255,.25);background:rgba(54,45,127,.62);border-radius:14px}
.hero-metrics{left:max(20px,calc((100vw - var(--max))/2));right:max(20px,calc((100vw - var(--max))/2));bottom:28px;height:96px;padding:0 28px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(45,38,104,.42)}.hero-metrics div,.hero-metrics div:first-child{border-color:rgba(255,255,255,.14)}
.trust-strip{background:#fff;border:0;box-shadow:0 8px 28px rgba(31,41,55,.04)}
.section{padding:110px 0}.section-heading h2,.path-content h2,.about h2,.contact h2{font-weight:800;letter-spacing:-.035em}.kicker{display:inline-block;padding:6px 14px;border-radius:999px;background:#eeefff;color:var(--blue);font-size:11px;letter-spacing:.16em}.kicker.light{color:#fff;background:rgba(255,255,255,.12)}
.service-grid{gap:22px;border:0}.service-card{min-height:430px;padding:34px 30px;border:1px solid var(--line)!important;border-radius:20px;background:#fff;box-shadow:0 8px 26px rgba(31,41,55,.04)}.service-card.featured,.service-card:hover{color:var(--ink);background:#fff;transform:translateY(-9px);border-color:transparent!important;box-shadow:var(--shadow-card)}.service-card.featured:before,.service-card:hover:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#667eea,#06b6d4)}.service-card .icon{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#667eea,#06b6d4);color:#fff}.service-card h3{font-size:21px}.service-card p,.service-card.featured p,.service-card:hover p{color:var(--muted)}.service-card.featured a,.service-card:hover a,.service-card a{color:var(--blue)}
.path-section{gap:32px;padding:32px;background:#f0f2f8}.path-photo,.path-content{border-radius:24px;background:#fff;overflow:hidden}.path-content{padding-top:72px;padding-bottom:60px}.photo-note{right:24px;bottom:24px;border-radius:18px;box-shadow:var(--shadow-card)}.path-content li{margin:4px 0;padding:16px;border:0;border-radius:12px}.path-content li:hover,.path-content li.active{background:#f1f3ff}.path-content li b{font-size:15px}
.result-grid{gap:24px}.result-main{border-radius:24px;box-shadow:var(--shadow-card)}.offers{gap:18px}.offers article{min-height:224px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(31,41,55,.04)}.offers article:hover{border-color:#c7c4f7;box-shadow:var(--shadow-card)}
.about{margin:32px;border-radius:28px;background:#2b2957;overflow:hidden}.about-placeholder{border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(6,182,212,.2));border:1px solid rgba(255,255,255,.16)}.values span{padding:14px 18px;border-radius:14px;background:rgba(255,255,255,.08)}
.contact{margin-top:34px;margin-bottom:34px;padding:70px;max-width:var(--max);border-radius:24px;background:#fff;box-shadow:var(--shadow-card)}.contact form{padding:28px;border-radius:20px;background:var(--surface)}.contact input,.contact select{height:52px;border:1px solid var(--line);border-radius:12px;background:#fff}.contact input:focus,.contact select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(79,70,229,.1)}.contact form .primary{color:#fff;background:linear-gradient(135deg,#667eea,#5146e5)}
footer{background:#20223b}.footer-brand .brand-mark{border-radius:14px}.toast{border:0;border-radius:14px;box-shadow:var(--shadow-card)}
@media(max-width:900px){.site-header nav{background:#fff;color:var(--ink);box-shadow:0 20px 30px rgba(31,41,55,.1)}.menu-button span{background:var(--ink)}.hero{padding-top:130px}.hero-metrics{left:16px;right:16px;bottom:16px}.service-grid{gap:16px}.path-section{padding:20px}.about{margin:20px}.contact{margin:20px;padding:50px 28px}}
@media(max-width:560px){.hero{min-height:820px}.hero h1{font-size:42px}.hero-copy>p{font-size:16px}.hero-metrics{padding:0 12px;border-radius:16px}.service-card{border-radius:18px}.path-section{padding:12px}.about{margin:12px;border-radius:20px}.values{flex-direction:column}.contact{margin:12px;padding:42px 20px;border-radius:20px}.contact form{padding:20px 16px}}

/* Hero slogan motion — a living constellation that draws attention without hurting legibility */
.hero{isolation:isolate;--pointer-x:68%;--pointer-y:38%}
.hero:after{content:"";position:absolute;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(139,224,255,.22),transparent 22%);transition:background-position .2s}
.hero-aurora{position:absolute;z-index:0;width:70vw;height:70vw;left:-22vw;top:-42vw;border-radius:50%;background:conic-gradient(from 180deg,transparent,#c084fc33,#67e8f933,transparent 68%);filter:blur(50px);animation:aurora-drift 13s ease-in-out infinite alternate;pointer-events:none}
.meteor-field{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.meteor-field i{position:absolute;width:170px;height:1px;opacity:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95));filter:drop-shadow(0 0 5px #b9ecff);transform:rotate(-28deg);animation:meteor 7s ease-in infinite}.meteor-field i:after{content:"";position:absolute;right:-2px;top:-2px;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 12px 3px #a5f3fc}.meteor-field i:nth-child(1){left:67%;top:8%;animation-delay:1.2s}.meteor-field i:nth-child(2){left:18%;top:30%;animation-delay:4.5s;animation-duration:9s}.meteor-field i:nth-child(3){left:82%;top:55%;animation-delay:6.8s;animation-duration:8s}
.slogan-line{display:inline-flex!important;gap:.025em;position:relative}.slogan-line i{font-style:normal;display:inline-block;opacity:0;filter:blur(10px);transform:translateY(32px) scale(.88);animation:slogan-rise .8s cubic-bezier(.16,1,.3,1) forwards}.slogan-line i:nth-child(1){animation-delay:.12s}.slogan-line i:nth-child(2){animation-delay:.2s}.slogan-line i:nth-child(3){animation-delay:.28s}.slogan-line i:nth-child(4){animation-delay:.36s}.slogan-line-last i:nth-child(1){animation-delay:.48s}.slogan-line-last i:nth-child(2){animation-delay:.56s}.slogan-line-last i:nth-child(3){animation-delay:.64s}.slogan-line strong{font:inherit;display:inline-block;position:relative;color:#fff;opacity:0;filter:blur(12px);transform:translateY(32px);animation:slogan-rise .9s .72s cubic-bezier(.16,1,.3,1) forwards,slogan-glow 3.6s 1.7s ease-in-out infinite}.slogan-line strong:before{content:"";position:absolute;inset:-9px -16px;z-index:-1;border-radius:20px;background:linear-gradient(100deg,transparent,rgba(255,255,255,.19),transparent);background-size:200% 100%;animation:slogan-shine 3.6s 1.7s ease-in-out infinite}.hero h1 .slogan-line:not(.slogan-line-last):after{content:none}.hero h1 .slogan-line-last:after{content:"";position:absolute;left:0;right:-12px;bottom:-8px;height:9px;border-radius:99px;background:linear-gradient(90deg,#f0abfc,#fb7185 63%,transparent);transform:scaleX(0) skewX(-20deg);transform-origin:left;animation:underline-draw 1s 1.05s cubic-bezier(.16,1,.3,1) forwards}.planet{animation:planet-float 7s ease-in-out infinite}.planet:after{animation:planet-lines 18s linear infinite}.orbit-one{animation:orbit-breathe 8s ease-in-out infinite}.orbit-two{animation:orbit-breathe 8s 1.6s ease-in-out infinite reverse}.destination{animation:marker-float 4s ease-in-out infinite}.d2{animation-delay:-1.3s}.d3{animation-delay:-2.5s}
@keyframes slogan-rise{to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}@keyframes underline-draw{to{transform:scaleX(1) skewX(-20deg)}}@keyframes slogan-glow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 30px rgba(232,220,255,.75),0 0 60px rgba(103,232,249,.25)}}@keyframes slogan-shine{0%,35%{background-position:200% 0;opacity:0}55%{opacity:1}75%,100%{background-position:-100% 0;opacity:0}}@keyframes meteor{0%,76%{opacity:0;translate:0 0}78%{opacity:1}86%{opacity:0;translate:-380px 210px}100%{opacity:0}}@keyframes aurora-drift{to{transform:translate(28vw,18vw) rotate(35deg) scale(1.12)}}@keyframes planet-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-16px) rotate(1deg)}}@keyframes planet-lines{to{transform:rotate(360deg)}}@keyframes orbit-breathe{0%,100%{opacity:.45;scale:1}50%{opacity:.9;scale:1.035}}@keyframes marker-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(max-width:900px){.slogan-line{gap:0}.hero-aurora{width:120vw;height:120vw}.meteor-field i:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){.hero-aurora,.meteor-field i,.planet,.planet:after,.orbit,.destination,.slogan-line i,.slogan-line strong,.slogan-line strong:before,.slogan-line-last:after{animation:none!important}.slogan-line i,.slogan-line strong{opacity:1;filter:none;transform:none}.slogan-line-last:after{transform:scaleX(1) skewX(-20deg)}}

/* 服务卡片的升起和顶部强调线都从初始状态平滑过渡。 */
.service-card.featured{
  color:var(--ink);
  background:#fff;
  transform:none;
  border-color:var(--line)!important;
  box-shadow:0 8px 26px rgba(31,41,55,.04);
}
.service-card{
  transition:opacity .5s ease,
             transform .68s cubic-bezier(.22,1,.36,1),
             border-color .5s ease,
             box-shadow .68s cubic-bezier(.22,1,.36,1);
}
.service-card:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  border-radius:20px 20px 0 0;
  background:linear-gradient(90deg,#667eea,#06b6d4);
  opacity:0;
  transform:scaleX(.025);
  transform-origin:left center;
  transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .18s ease;
  pointer-events:none;
}
.service-card:hover{
  transform:translateY(-10px);
}
.service-card:hover:before{
  opacity:1;
  transform:scaleX(1);
}

/* 首页保持为一张可以自然向下浏览的完整长页。导航只负责定位，不隐藏章节。 */
main > section,footer{display:block}

/* 六项服务按留学进程排成两行，并压缩卡片的纵向占用，让板块内容在常见
   桌面视口内能够完整呈现。 */
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.service-card{min-height:350px;aspect-ratio:auto;padding-top:28px;padding-bottom:28px;transition:opacity .28s ease,transform .14s cubic-bezier(.2,.8,.2,1),border-color .14s ease,box-shadow .14s ease;will-change:transform,box-shadow}
.service-card .icon{margin:8px 0 18px}.service-card h3{margin-block:12px}.service-card p{height:auto;min-height:46px;margin-block:10px}.service-card ul{margin:14px 0}.service-card a{bottom:24px}
.service-card:before{transition:transform .16s cubic-bezier(.2,.8,.2,1),opacity .08s ease}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.service-grid{grid-template-columns:1fr}.service-card{min-height:390px;aspect-ratio:auto}}

@media(prefers-reduced-motion:reduce){
  .service-card:hover{transform:translateY(-9px)}
}

/* The hero globe uses a real world-map silhouette and keeps every destination on-map. */
.planet{isolation:isolate}
.planet .land{display:none}
.world-map{position:absolute;z-index:1;inset:10% 3% 9%;width:94%;height:81%;overflow:visible;filter:drop-shadow(0 7px 10px rgba(18,24,78,.24))}
.world-map .continent path{fill:rgba(205,235,255,.72);stroke:rgba(245,251,255,.94);stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .3s,filter .3s}.world-map .continent:nth-child(2n) path{fill:rgba(180,222,255,.68)}.world-map .continent:hover path{fill:rgba(238,248,255,.9);filter:drop-shadow(0 0 8px rgba(255,255,255,.38))}.world-map .antarctica path{fill:rgba(181,220,255,.48)}
.world-map .map-details path{fill:none;stroke:rgba(84,131,206,.62);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.region-labels text{fill:rgba(28,51,112,.78);font-size:12px;font-weight:700;letter-spacing:.12em;text-anchor:middle;paint-order:stroke;stroke:rgba(225,243,255,.5);stroke-width:2px}.region-labels text:last-child{font-size:10px}
.map-grid{position:absolute;z-index:0;inset:0;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 62px,rgba(255,255,255,.1) 63px 64px),repeating-linear-gradient(90deg,transparent 0 78px,rgba(255,255,255,.08) 79px 80px);mask-image:radial-gradient(circle,#000 66%,transparent 67%)}
.map-destination{position:absolute;z-index:4;display:flex;align-items:center;gap:5px;min-height:24px;padding:4px 8px 4px 6px;color:#fff;background:rgba(45,38,104,.78);border:1px solid rgba(255,255,255,.32);border-radius:999px;box-shadow:0 5px 14px rgba(26,20,83,.25);font-size:clamp(8px,.62vw,11px);line-height:1;white-space:nowrap;transform:translate(-50%,-50%);backdrop-filter:blur(5px)}
.map-destination i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#fbbf24;box-shadow:0 0 8px #fbbf24}
.map-destination b{font-weight:600}
.map-destination:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:10px;background:linear-gradient(rgba(255,255,255,.8),transparent)}
.map-destination.us{left:23%;top:39%}.map-destination.ca{left:27%;top:25%}.map-destination.uk{left:48%;top:29%}.map-destination.hk{left:75%;top:48%}.map-destination.my{left:77%;top:54%}.map-destination.sg{left:80%;top:60%}.map-destination.au{left:86%;top:71%}.map-destination.nz{left:91%;top:85%}
.map-coverage{position:absolute;z-index:4;left:50%;bottom:4.5%;display:flex;align-items:center;gap:8px;transform:translateX(-50%);padding:6px 11px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(34,30,94,.58);color:rgba(255,255,255,.88);font-size:9px;white-space:nowrap;backdrop-filter:blur(6px)}.map-coverage i{width:3px;height:3px;border-radius:50%;background:#fbbf24}
@media(max-width:900px){.map-destination{font-size:9px;padding:4px 7px}}
@media(max-width:560px){.map-destination{font-size:8px}.region-labels text{font-size:10px}.map-coverage{display:none}}

/* Viewport adaptation: keep the first screen composed at every common desktop,
   tablet and phone size without locking the document to an oversized hero. */
/* Each section owns its navigation offset through scroll-margin.  Keeping a
   second offset on the scroll container would also shift #services down and
   leave the white university strip from the home panel visible above it. */
/* Always reserve the vertical scrollbar track. Pages with little content (for
   example the course catalogue while its data is loading) must use the same
   content width as long pages, otherwise the centred header shifts sideways
   when navigating between them. */
html{overflow-y:scroll;scrollbar-gutter:stable;scroll-padding-top:0}
body{min-width:320px;overflow-y:auto}
main>section[id]{scroll-margin-top:88px}
/* 导航到服务体系时让章节贴齐视口；章节顶部只保留与收起后导航栏等高的
   安全区，避免导航下方再出现一条没有内容的空白带。 */
#services{scroll-margin-top:0;padding-top:72px;padding-bottom:60px}
#services .section-heading{margin-bottom:32px}
.hero{
  min-height:clamp(660px,100svh,920px);
  height:auto;
  padding-top:clamp(120px,16vh,180px);
  padding-bottom:clamp(150px,19vh,190px);
}
.hero h1{font-size:clamp(48px,5.1vw,78px)}
.hero-visual{top:clamp(120px,15vh,155px);height:min(64vw,650px)}
.planet{width:min(42vw,600px);height:min(42vw,600px)}
.section,.contact{width:min(calc(100% - 48px),var(--max))}

@media(max-width:1100px){
  .site-header{padding-inline:24px}.site-header nav{gap:20px;font-size:14px}
  .hero{padding-inline:32px}.hero-copy{width:58%}.hero h1{font-size:clamp(46px,5.4vw,62px)}
  .hero-visual{right:-5vw;width:53vw}.planet{width:48vw;height:48vw}
  .section{padding-block:88px}.contact{gap:60px}
}

@media(max-width:900px){
  main>section[id]{scroll-margin-top:76px}
  .hero{min-height:760px;padding:118px 24px 158px;align-items:flex-start}
  .hero-copy{width:min(650px,100%)}.hero h1{font-size:clamp(44px,9vw,62px)}
  .hero-copy>p{max-width:560px}
  .hero-visual{top:210px;right:-230px;width:650px;height:520px;opacity:.3}
  .planet{width:540px;height:540px}
  .section,.contact{width:calc(100% - 40px)}
}

@media(max-width:560px){
  .site-header{padding-inline:16px}.brand small{display:none}
  .hero{min-height:740px;padding:104px 20px 172px}
  .hero h1{font-size:clamp(37px,11.4vw,48px);line-height:1.12;letter-spacing:-.055em}
  .eyebrow{margin-bottom:20px;padding:7px 12px;font-size:10px}
  .hero-copy>p{margin:26px 0;font-size:15px;line-height:1.8}
  .hero-actions{gap:10px}.button{min-height:48px;padding:12px 20px}
  .hero-visual{top:260px;right:-310px;width:600px;height:470px}.planet{width:500px;height:500px}
  .hero-metrics{height:138px;grid-template-columns:1fr 1fr;padding:8px 14px}
  .hero-metrics div{gap:9px;padding-left:8px;border-bottom:1px solid rgba(255,255,255,.12)}
  .hero-metrics div:nth-child(n+3){border-bottom:0}.hero-metrics b{font-size:19px}
  .trust-strip{min-height:82px;padding-inline:20px}
  .section,.contact{width:calc(100% - 24px)}
}

@media(max-height:720px) and (min-width:901px){
  .hero{padding-top:112px;padding-bottom:132px}
  .hero h1{font-size:clamp(44px,4.5vw,64px)}
  .hero-copy>p{margin:20px 0;font-size:15px}.eyebrow{margin-bottom:18px}
  .hero-visual{top:92px;height:500px}.planet{width:min(36vw,500px);height:min(36vw,500px)}
  .hero-metrics{bottom:18px;height:82px}
}

/* 第三个板块独立占据一屏，并与浅灰色的服务板块用纯白底清晰区分。
   六张本地素材按 1.jpg—6.jpg 排列；素材未放入时保留完整的看板位置。 */
#results{
  width:min(calc(100% - 48px),var(--max));
  max-width:var(--max);
  min-height:100vh;
  min-height:100svh;
  scroll-margin-top:0;
  padding-top:clamp(82px,11svh,110px);
  padding-bottom:clamp(34px,6svh,64px);
  background:#fff;
  box-shadow:0 0 0 100vmax #fff;
  clip-path:inset(0 -100vmax);
}
#results .section-heading{margin-bottom:clamp(22px,4svh,42px)}
.story-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:20px}
.story-board figure{position:relative;min-width:0;min-height:210px;aspect-ratio:16/9;margin:0;overflow:hidden;border:1px solid #e5e7eb;border-radius:18px;background:linear-gradient(135deg,#fafbfe,#f2f4f8);box-shadow:0 10px 28px rgba(31,41,55,.06);opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease,box-shadow .25s ease}
.story-board figure.visible{opacity:1;transform:none}
.story-board figure:hover{box-shadow:0 18px 38px rgba(31,41,55,.12)}
.story-board img{display:block;width:100%;height:100%;object-fit:cover;color:transparent}
.story-board figcaption{position:absolute;inset:auto 18px 16px;display:flex;align-items:center;gap:9px;width:max-content;padding:7px 12px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 5px 16px rgba(31,41,55,.08);color:var(--ink);font-size:11px;font-weight:600;backdrop-filter:blur(8px)}
.story-board figcaption span{color:var(--blue);font-size:9px;letter-spacing:.12em}

@media(min-width:901px){
  /* Keep the Offer panel on the same one-screen canvas as the services panel.
     A fixed viewport block gives both grids the same usable width and height,
     instead of allowing the intrinsic story tiles to make this section taller. */
  #results{
    height:100vh;
    height:100svh;
    display:flex;
    flex-direction:column;
    padding-top:clamp(72px,9.4svh,90px);
    padding-bottom:clamp(28px,5.2svh,60px);
  }
  #results .section-heading{margin-bottom:clamp(18px,3.4svh,32px)}
  #results .story-board{flex:1 1 auto;min-height:0}
  #results .story-board figure{min-height:0;aspect-ratio:auto}
}

/* 关于我们和咨询区放在同一块柔和的紫色看板内。由父容器统一绘制底色，
   两个章节之间不会再因各自的外边距或全宽阴影露出分割带。 */
.about-contact-board{
  --board-purple:#716d9f;
  overflow:hidden;
  background:var(--board-purple);
}
#about,
#contact{
  background:transparent;
  box-shadow:none;
  clip-path:none;
}
#about{margin:0}
#contact{
  color:#fff;
  margin:0 auto;
  border-radius:0;
  min-height:520px;
  padding-block:clamp(76px,10vw,128px);
  align-items:center;
}
#contact .contact-copy p{color:#c8c7dd}
#contact .contact-copy>p{max-width:520px;margin:24px 0 0;font-size:14px;line-height:2}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-detail{position:relative;min-height:220px;padding:28px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);transition:transform .25s ease,background .25s ease}
.contact-detail:hover{transform:translateY(-4px);background:rgba(255,255,255,.14)}
.contact-icon{display:grid;width:42px;height:42px;margin-bottom:30px;place-items:center;border-radius:13px;background:rgba(255,255,255,.14);color:#fff;font-size:19px}
.contact-detail small{color:#d7d6e7;font-size:9px;font-weight:700;letter-spacing:.16em}
.contact-detail h3{margin:9px 0 8px;color:#fff;font-size:20px}
.contact-detail p{margin:0;color:#d0cfe0;font-size:12px;line-height:1.8}
.wechat-badge{position:absolute;right:20px;top:20px;padding:7px 10px;border-radius:999px;background:#fff;color:#514d80;font-size:10px;font-weight:700}.wechat-badge b{margin-left:5px}
.contact-note{grid-column:1/-1;margin:6px 2px 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);color:#d0cfe0;font-size:12px;line-height:1.8}
#contact form{background:rgba(255,255,255,.09)}
#contact label span{color:#d7d6e7}
#contact form>small{color:#b9b8cf}
@media(max-width:900px){
  #about{margin:0}
  #contact{margin:0 auto}
  #results{width:calc(100% - 40px);padding-top:82px}
  .story-board{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  #contact{min-height:auto}.contact-details{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  #results{width:calc(100% - 24px);padding-top:72px}
  #results .section-heading .text-link{display:inline-block;margin-top:18px}
  .story-board{grid-template-columns:1fr;gap:14px}
  .story-board figure{min-height:190px}
  .contact-details{grid-template-columns:1fr}.contact-detail{min-height:205px}.contact-note{grid-column:auto}
}

/* The home panel is exactly one visible screen.  Using the small viewport unit
   avoids an extra sliver of content when mobile browser controls are open. */
.hero{
  width:100%;
  height:100vh;
  height:100svh;
  min-height:100vh;
  min-height:100svh;
  max-height:none;
}

/* The university footprint is part of the complete first-screen composition. */
.hero>.trust-strip{
  position:absolute;
  z-index:5;
  right:0;
  bottom:0;
  left:0;
  height:102px;
}
.hero>.hero-metrics{bottom:130px}

@media(max-width:560px){
  .hero>.trust-strip{height:82px}
  .hero>.hero-metrics{bottom:98px}
}

@media(max-height:720px) and (min-width:901px){
  .hero>.trust-strip{height:72px}
  .hero>.hero-metrics{bottom:90px}
}

/* 服务体系和首页采用相同的整屏逻辑：导航抵达后，板块从视口顶端开始，
   并根据可用高度压缩两排卡片，避免上一板块的空白或下一板块提前露出。 */
@media(min-width:901px){
  #services{
    min-height:100vh;
    min-height:100svh;
    display:flex;
    flex-direction:column;
    padding-top:clamp(72px,9.4svh,90px);
    padding-bottom:clamp(28px,5.2svh,60px);
  }
  #services .section-heading{
    flex:0 0 auto;
    margin-bottom:clamp(18px,3.4svh,32px);
  }
  #services .service-grid{
    flex:1 1 auto;
    min-height:0;
    grid-template-rows:repeat(2,minmax(0,1fr));
  }
  #services .service-card{
    min-height:0;
    padding:clamp(16px,2.7svh,28px) 30px;
  }
  #services .service-card .icon{margin:clamp(2px,1svh,8px) 0 clamp(8px,1.8svh,18px)}
  #services .service-card h3{margin-block:clamp(5px,1.2svh,12px)}
  #services .service-card p{min-height:0;margin-block:clamp(4px,1svh,10px)}
  #services .service-card ul{margin:clamp(5px,1.4svh,14px) 0}
  #services .service-card a{bottom:clamp(12px,2.4svh,24px)}
}

/* 留学项目站点级登录注册页 */
.auth-page{min-height:100vh;background:linear-gradient(135deg,#f8f9fc 0%,#eef2ff 42%,#fdf2f8 100%)}
.auth-page .site-header{color:var(--ink);background:#fff}
.auth-shell{min-height:100vh;padding-top:80px}.auth-hero{position:relative;min-height:calc(100vh - 80px);padding:56px clamp(24px,4vw,72px);display:grid;grid-template-columns:minmax(0,650px) minmax(400px,460px);align-items:center;justify-content:center;gap:clamp(54px,6vw,112px);overflow:hidden;background:radial-gradient(circle at 18% 18%,rgba(102,126,234,.2),transparent 30%),radial-gradient(circle at 82% 30%,rgba(6,182,212,.18),transparent 28%)}
.auth-stars{position:absolute;inset:0;background-image:radial-gradient(rgba(81,70,229,.35) 1px,transparent 1px),radial-gradient(rgba(245,158,11,.32) 1px,transparent 1px);background-size:96px 96px,142px 142px;background-position:0 0,45px 62px;opacity:.45;pointer-events:none}.auth-copy,.auth-card{position:relative;z-index:1}.auth-copy{max-width:650px}.auth-copy .kicker.light{color:#5146e5;background:#fff;box-shadow:0 8px 22px rgba(81,70,229,.08)}.auth-copy h1{margin:24px 0 22px;font:800 clamp(42px,5vw,72px)/1.08 var(--site-font);letter-spacing:-.055em;color:#1f2937}.auth-copy h1:after{content:"";display:block;width:180px;height:9px;margin-top:18px;border-radius:99px;background:linear-gradient(90deg,#667eea,#06b6d4,#f59e0b)}.auth-copy p{max-width:560px;margin:0;color:#5f6b7f;font-size:17px;line-height:1.95}.auth-benefits{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.auth-benefits span{padding:10px 14px;border:1px solid rgba(81,70,229,.12);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 10px 24px rgba(31,41,55,.05);font-size:13px;color:#374151}.auth-card{width:min(460px,100%);padding:30px;border:1px solid rgba(255,255,255,.7);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 24px 70px rgba(31,41,55,.14);backdrop-filter:blur(18px)}.auth-card:before{content:"";position:absolute;inset:12px;border:1px solid rgba(81,70,229,.09);border-radius:22px;pointer-events:none}.auth-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;margin-bottom:26px;border-radius:999px;background:#eef0ff}.auth-tabs button{height:44px;border:0;border-radius:999px;background:transparent;color:#6b7280;font-weight:700;cursor:pointer}.auth-tabs button.active{color:#fff;background:linear-gradient(135deg,#667eea,#5146e5);box-shadow:0 8px 20px rgba(81,70,229,.24)}.auth-card-heading span{font-size:10px;font-weight:800;letter-spacing:.18em;color:#5146e5}.auth-card-heading h2{margin:8px 0 8px;font-size:28px;line-height:1.25}.auth-card-heading p{margin:0 0 24px;color:#6b7280;font-size:13px}.auth-card form{display:grid;gap:17px}.auth-card label span{display:block;margin-bottom:8px;color:#6b7280;font-size:12px;font-weight:700}.auth-card input{width:100%;height:54px;padding:0 16px;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;outline:none;transition:border-color .2s,box-shadow .2s}.auth-card input:focus{border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.12)}.auth-card .button{width:100%;margin-top:5px}.auth-terms{display:flex!important;align-items:flex-start;gap:10px;margin:-2px 0 0!important;padding:2px 1px;cursor:pointer;user-select:none}.auth-terms[hidden]{display:none!important}.auth-terms input[type="checkbox"]{position:absolute;width:1px!important;height:1px!important;margin:0!important;padding:0!important;opacity:0;pointer-events:none}.auth-terms-check{position:relative;display:block!important;width:18px!important;height:18px!important;flex:0 0 18px;margin:1px 0 0!important;border:1.5px solid #cbd5e1;border-radius:5px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:border-color .18s,background .18s,box-shadow .18s}.auth-terms-check:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;opacity:0;transform:rotate(45deg) scale(.7);transition:opacity .15s,transform .15s}.auth-terms input:checked+.auth-terms-check{border-color:#5146e5;background:linear-gradient(135deg,#667eea,#5146e5);box-shadow:0 0 0 3px rgba(102,126,234,.12)}.auth-terms input:checked+.auth-terms-check:after{opacity:1;transform:rotate(45deg) scale(1)}.auth-terms input:focus-visible+.auth-terms-check{outline:2px solid rgba(81,70,229,.32);outline-offset:2px}.auth-terms-text{display:block!important;margin:0!important;color:#64748b!important;font-size:12px!important;font-weight:500!important;line-height:1.6}.auth-terms-text strong{color:#5146e5;font-weight:700}.auth-card .button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none!important}.auth-card form.is-loading{opacity:.72;pointer-events:none}.auth-message{min-height:22px;margin:0;color:#6b7280;font-size:13px}.auth-message[data-type="success"]{color:#059669}.auth-message[data-type="error"]{color:#dc2626}.auth-profile{margin-top:18px;padding:18px;border-radius:18px;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(6,182,212,.1));border:1px solid rgba(81,70,229,.12)}.auth-profile small,.auth-profile strong{display:block}.auth-profile small{color:#6b7280;font-size:10px;letter-spacing:.14em}.auth-profile strong{margin-top:5px;font-size:20px}.auth-profile p{margin:8px 0 14px;color:#6b7280;font-size:12px}.auth-profile .ghost{color:#5146e5;border-color:rgba(81,70,229,.24);background:#fff}.auth-hint{margin:18px 0 0;color:#8a94a6;font-size:11px}.auth-hint code{padding:2px 5px;border-radius:6px;background:#f3f4f6;color:#5146e5}
@media(max-width:1100px){.auth-hero{grid-template-columns:minmax(0,560px) minmax(380px,440px);gap:36px}.auth-copy h1{font-size:clamp(38px,5vw,58px)}}
@media(max-width:900px){.auth-shell{padding-top:68px}.auth-hero{display:flex;padding:42px 22px}.auth-copy{display:none}.auth-card{width:min(460px,100%)}}
@media(max-width:560px){.auth-hero{padding:28px 14px}.auth-card{padding:22px;border-radius:22px}.auth-card-heading h2{font-size:24px}}


@media(min-width:901px) and (max-width:1100px){
  .hero-visual{--planet-size:48vw}
}

/* 首页搜索主题入口：以真实问题组织美本申请信息，而不是堆砌关键词。 */
.hero h1 .hero-keyword{display:inline-block;color:#fff;letter-spacing:-.045em}
.hero h1 .hero-keyword:after{content:none}

/* 服务体系下拉导航：桌面端悬停/键盘聚焦时展开，移动端随主菜单直接展示。 */
.nav-services{position:relative;display:flex;align-items:center;align-self:stretch}
.nav-services>a{position:relative;display:flex;align-items:center;gap:6px;opacity:.78;white-space:nowrap}
.nav-services>a:after{content:"";position:absolute;right:0;bottom:-10px;left:0;height:2px;border-radius:2px;background:linear-gradient(90deg,#667eea,#06b6d4);transform:scaleX(0);transition:transform .25s}
.nav-services>a.active,.nav-services:hover>a,.nav-services:focus-within>a{opacity:1}
.nav-services>a.active:after{transform:scaleX(1)}
.nav-services>a .nav-chevron{font-size:10px;transition:transform .2s}
.nav-services:hover>a .nav-chevron,.nav-services:focus-within>a .nav-chevron{transform:rotate(180deg)}
.service-submenu{position:absolute;z-index:10;top:calc(100% - 5px);left:50%;display:grid;width:160px;padding:8px;visibility:hidden;pointer-events:none;opacity:0;transform:translate(-50%,10px);border:1px solid rgba(81,70,229,.1);border-radius:16px;background:rgba(255,255,255,.98);color:var(--ink);box-shadow:0 24px 60px rgba(31,41,55,.18);backdrop-filter:blur(18px);transition:opacity .2s,transform .2s,visibility .2s}
.service-submenu:before{content:"";position:absolute;right:0;bottom:100%;left:0;height:16px}
.service-submenu a{display:block;padding:11px 14px;border-radius:10px;text-align:center;white-space:nowrap;transition:background .2s,transform .2s}
.service-submenu a+a{margin-top:2px}
.service-submenu strong{font-size:14px;line-height:1.4}
.service-submenu a:hover,.service-submenu a:focus-visible{background:var(--sky);color:var(--blue);outline:none;transform:translateX(2px)}
.nav-services:hover .service-submenu,.nav-services:focus-within .service-submenu{visibility:visible;pointer-events:auto;opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.nav-services{display:block;align-self:auto}.nav-services>a{padding:14px}.nav-services>a:after,.nav-services>a .nav-chevron{display:none}.service-submenu{position:static;width:auto;margin:0 10px 8px;padding:6px;visibility:visible;pointer-events:auto;opacity:1;transform:none;border:0;border-left:2px solid var(--sky);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.service-submenu a{padding:9px 14px;text-align:left;color:var(--muted)}.service-submenu strong{font-size:13px}.service-submenu a:hover,.service-submenu a:focus-visible{background:var(--sky);transform:none}}
.application-guide{width:min(calc(100% - 48px),var(--max));margin:0 auto;padding:96px 0 104px;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:72px 90px}
.application-guide-heading h2{margin:13px 0 18px;font:700 clamp(32px,4vw,48px)/1.25 var(--site-font);letter-spacing:-.04em}
.application-guide-heading p{max-width:390px;margin:0;color:var(--muted);font-size:14px;line-height:1.9}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;color:var(--ink);font-size:16px;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--blue);font-size:22px;font-weight:400;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:-5px 48px 26px 0;color:var(--muted);font-size:13px;line-height:1.9}
.guide-links{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding-top:24px;border-top:1px solid var(--line);font-size:12px}
.guide-links span{color:var(--muted)}
.guide-links a{padding:8px 13px;border-radius:999px;background:var(--sky);color:var(--blue);font-weight:700}
.guide-links a:hover{background:#dceaff}
@media(max-width:900px){.application-guide{width:calc(100% - 40px);padding:78px 0;grid-template-columns:1fr;gap:42px}.application-guide-heading p{max-width:600px}}
@media(max-width:560px){.application-guide{width:calc(100% - 24px);padding:64px 0;gap:30px}.faq-list summary{min-height:70px;font-size:15px}.faq-list details p{margin-right:16px}.guide-links{align-items:flex-start;flex-direction:column}}

/* 全站页面切换：原生跨文档 View Transitions，旧浏览器回退为顶部进度条和延迟转圈。 */
html{view-transition-name:root}
html:before,html:after{position:fixed;z-index:10000;pointer-events:none;content:"";opacity:0}
html:before{top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,#1769ff,#6d5dfc,#06b6d4);transform:scaleX(0);transform-origin:left;box-shadow:0 1px 10px rgba(23,105,255,.45)}
html.is-navigating:before{opacity:1;transform:scaleX(.82);transition:transform 5s cubic-bezier(.1,.7,.2,1),opacity .12s}
html:after{top:50%;left:50%;width:34px;height:34px;margin:-17px;border:3px solid rgba(23,105,255,.18);border-top-color:#1769ff;border-radius:50%}
html.is-navigation-waiting:after{opacity:1;animation:site-spinner .7s linear infinite}
@keyframes site-spinner{to{transform:rotate(1turn)}}
@keyframes site-view-out{to{opacity:.86}}
@keyframes site-view-in{from{opacity:.7}}
::view-transition-old(root){animation:site-view-out .16s ease both}
::view-transition-new(root){animation:site-view-in .28s cubic-bezier(.22,1,.36,1) both}
@media(prefers-reduced-motion:reduce){html.is-navigating:before{transition:none;transform:scaleX(1)}html.is-navigation-waiting:after{animation:none}::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Match every final navigation action to the signed-in user control. */
@media(min-width:901px){
  .site-header nav>.nav-cta,.site-header nav>.nav-auth{flex:0 0 210px;width:210px;height:44px}
  .site-header nav>.nav-cta,.site-header nav>.nav-auth>.nav-cta{display:flex;align-items:center;justify-content:center}
  .site-header nav>.nav-auth>.nav-cta{width:100%;height:44px}
  .site-header nav>.nav-cta:not(.nav-auth-user):not(.nav-auth-login){position:relative;gap:12px;padding-inline:42px 18px;overflow:hidden;font-weight:700;letter-spacing:.02em}
  .site-header nav>.nav-cta:not(.nav-auth-user):not(.nav-auth-login):before{content:"✦";position:absolute;left:18px;display:grid;width:23px;height:23px;place-items:center;border:1px solid #ffffff48;border-radius:50%;background:#ffffff18;color:#fff;font-size:9px;box-shadow:inset 0 1px 0 #ffffff38}
  .site-header nav>.nav-cta:not(.nav-auth-user):not(.nav-auth-login)>span{margin-left:auto;opacity:.9;transition:transform .2s}
  .site-header nav>.nav-cta:not(.nav-auth-user):not(.nav-auth-login):hover>span{transform:translate(2px,-2px)}
}


/* Header action redesign 2026-08-31
   Keep the right-side action container identical in every state: 196 x 46px.
   The visual language is intentionally single-line and compact so it aligns
   with the navigation instead of reading like a banner inside the header. */
:root{
  --nav-action-width:196px;
  --nav-action-height:46px;
}
.nav-cta{
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.20);
  border-radius:12px;
  background:linear-gradient(135deg,#6374f4 0%,#5148dc 100%);
  box-shadow:0 7px 18px rgba(79,70,229,.20),inset 0 1px 0 rgba(255,255,255,.16);
  color:#fff;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.nav-cta:hover,.nav-cta:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(79,70,229,.27),inset 0 1px 0 rgba(255,255,255,.20);
  filter:saturate(1.04);
  outline:none;
}
.nav-cta-icon,.nav-cta-arrow{
  display:grid;
  flex:0 0 auto;
  margin:0!important;
  place-items:center;
  color:#fff!important;
}
.nav-cta-icon{
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:9px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
  font-size:11px;
}
.nav-cta-label{
  min-width:0;
  color:#fff;
  font-size:13.5px;
  font-weight:700;
  line-height:1;
  letter-spacing:.01em;
  text-align:left;
  white-space:nowrap;
}
.nav-cta-arrow{
  width:24px;
  height:24px;
  border-radius:8px;
  background:rgba(255,255,255,.10);
  font-size:12px;
  transition:transform .2s ease,background .2s ease;
}
.nav-cta:hover .nav-cta-arrow,.nav-cta:focus-visible .nav-cta-arrow{
  background:rgba(255,255,255,.17);
  transform:translate(1px,-1px);
}
@media(min-width:901px){
  .site-header nav>.nav-cta,
  .site-header nav>.nav-auth{
    flex:0 0 var(--nav-action-width);
    width:var(--nav-action-width);
    height:var(--nav-action-height);
  }
  .site-header nav>.nav-cta{
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 24px;
    align-items:center;
    gap:9px;
    width:var(--nav-action-width);
    height:var(--nav-action-height);
    padding:7px 8px!important;
    overflow:hidden;
  }
  .site-header nav>.nav-cta.nav-cta-evaluate:before{content:none}
  .site-header nav>.nav-cta.nav-cta-evaluate>span{margin-left:0}
}
@media(max-width:900px){
  .site-header nav>.nav-cta{
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 24px;
    align-items:center;
    gap:9px;
    width:100%;
    min-height:var(--nav-action-height);
    padding:7px 8px!important;
    border-radius:12px;
  }
  .site-header nav>.nav-cta.nav-cta-evaluate:before{content:none}
}

/* Header action V2 — ellipse/pill design
   IMPORTANT: all three states (免费评估 / 登录注册 / 已登录用户) share 196 x 46px. */
:root{
  --nav-action-width:196px;
  --nav-action-height:46px;
  --nav-action-radius:999px;
}

/* Public CTA: 免费评估 */
.site-header nav>.nav-cta{
  position:relative;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--nav-action-radius)!important;
  background:linear-gradient(110deg,#6d7cf7 0%,#625df0 52%,#574ce3 100%);
  box-shadow:
    0 8px 20px rgba(78,70,220,.22),
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(38,31,134,.10);
  color:#fff;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.site-header nav>.nav-cta:hover,
.site-header nav>.nav-cta:focus-visible{
  transform:translateY(-1px);
  filter:saturate(1.06) brightness(1.02);
  box-shadow:
    0 11px 26px rgba(78,70,220,.28),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(38,31,134,.10);
  outline:none;
}
.site-header nav>.nav-cta:active{
  transform:translateY(0);
  box-shadow:
    0 5px 14px rgba(78,70,220,.20),
    inset 0 1px 0 rgba(255,255,255,.20);
}

.site-header nav>.nav-cta .nav-cta-icon,
.site-header nav>.nav-cta .nav-cta-arrow{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  margin:0!important;
  border-radius:50%!important;
  color:#fff!important;
}
.site-header nav>.nav-cta .nav-cta-icon{
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.32);
  background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.10));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
  font-size:11px;
}
.site-header nav>.nav-cta .nav-cta-label{
  min-width:0;
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1;
  letter-spacing:.015em;
  text-align:left;
  white-space:nowrap;
}
.site-header nav>.nav-cta .nav-cta-arrow{
  width:25px;
  height:25px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  font-size:11px;
  transition:transform .18s ease,background .18s ease;
}
.site-header nav>.nav-cta:hover .nav-cta-arrow,
.site-header nav>.nav-cta:focus-visible .nav-cta-arrow{
  background:rgba(255,255,255,.20);
  transform:translate(1px,-1px);
}

@media(min-width:901px){
  .site-header nav>.nav-cta,
  .site-header nav>.nav-auth{
    flex:0 0 var(--nav-action-width)!important;
    width:var(--nav-action-width)!important;
    height:var(--nav-action-height)!important;
  }
  .site-header nav>.nav-cta{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 25px!important;
    align-items:center;
    gap:9px;
    min-width:var(--nav-action-width)!important;
    min-height:var(--nav-action-height)!important;
    padding:6px 8px!important;
  }
}
@media(max-width:900px){
  .site-header nav>.nav-cta{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 25px!important;
    align-items:center;
    gap:9px;
    width:100%;
    min-height:var(--nav-action-height)!important;
    padding:6px 8px!important;
    border-radius:var(--nav-action-radius)!important;
  }
}


/* Header action V3 — compact homepage pill
   Final navigation action style shared by 免费评估 / 登录注册 / 个人中心. */
:root{
  --nav-action-width:132px;
  --nav-action-height:48px;
}
.site-header nav>.nav-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:13px!important;
  box-sizing:border-box!important;
  width:var(--nav-action-width)!important;
  min-width:var(--nav-action-width)!important;
  height:var(--nav-action-height)!important;
  min-height:var(--nav-action-height)!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(110deg,#6676f5 0%,#5f5bed 55%,#554be1 100%)!important;
  box-shadow:0 7px 18px rgba(78,70,220,.21)!important;
  color:#fff!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.site-header nav>.nav-cta:before{content:none!important}
.site-header nav>.nav-cta .nav-cta-icon{display:none!important}
.site-header nav>.nav-cta .nav-cta-label{
  flex:0 0 auto;
  margin:0!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.01em!important;
}
.site-header nav>.nav-cta .nav-cta-arrow{
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1!important;
  transform:none!important;
}
.site-header nav>.nav-cta:hover,
.site-header nav>.nav-cta:focus-visible{
  transform:translateY(-1px)!important;
  filter:brightness(1.03)!important;
  box-shadow:0 9px 22px rgba(78,70,220,.26)!important;
}
.site-header nav>.nav-cta:hover .nav-cta-arrow,
.site-header nav>.nav-cta:focus-visible .nav-cta-arrow{
  background:transparent!important;
  transform:translate(1px,-1px)!important;
}
@media(min-width:901px){
  .site-header nav>.nav-cta,
  .site-header nav>.nav-auth{
    flex:0 0 var(--nav-action-width)!important;
    width:var(--nav-action-width)!important;
    height:var(--nav-action-height)!important;
  }
}
@media(max-width:900px){
  .site-header nav>.nav-cta{
    width:100%!important;
    min-width:0!important;
  }
}

/* 2026-09-02: 新增“模考管理”后保持桌面导航单行且不改变移动端结构。 */
@media(min-width:901px){.site-header nav{gap:clamp(16px,1.55vw,24px)}}
@media(min-width:901px) and (max-width:1180px){
  .site-header{padding-inline:20px}
  .site-header nav{gap:12px;font-size:13.5px}
  .brand small{display:none}
  .site-header nav>.nav-cta,.site-header nav>.nav-auth{flex-basis:160px!important;width:160px!important}
}

/* 2026-09-02: 全站统一导航登录/个人中心组件。
   该组件此前只定义在 product.css，导致新增模考页面虽然复用了同一导航 HTML，
   但右侧登录/个人中心按钮的尺寸、垂直居中和下拉菜单样式与其它页面不一致。 */
.nav-auth{position:relative;display:flex;align-items:center}
.nav-auth:after{content:"";position:absolute;top:100%;right:0;width:100%;height:12px}
.nav-auth>.nav-cta{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:13px!important;
  box-sizing:border-box!important;width:100%!important;height:var(--nav-action-height,48px)!important;
  min-height:var(--nav-action-height,48px)!important;padding:0 16px!important;border:0!important;
  border-radius:999px!important;background:linear-gradient(110deg,#6676f5 0%,#5f5bed 55%,#554be1 100%)!important;
  box-shadow:0 7px 18px rgba(78,70,220,.21)!important;color:#fff!important;overflow:hidden!important;
  white-space:nowrap!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important
}
.nav-auth>.nav-cta:hover,.nav-auth>.nav-cta:focus-visible{transform:translateY(-1px)!important;filter:brightness(1.03)!important;box-shadow:0 9px 22px rgba(78,70,220,.26)!important;outline:none}
.nav-auth-label{display:block!important;flex:0 0 auto;margin:0!important;color:#fff!important;font-size:15px!important;font-weight:700!important;line-height:1!important;letter-spacing:.01em!important;white-space:nowrap!important}
.nav-auth-arrow{display:inline-block!important;flex:0 0 auto;width:auto!important;height:auto!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;font-size:15px!important;line-height:1!important;transition:transform .18s ease!important}
.nav-auth>.nav-cta:hover .nav-auth-arrow,.nav-auth>.nav-cta:focus-visible .nav-auth-arrow{transform:translate(1px,-1px)!important}
.nav-auth-user{cursor:pointer!important;text-align:center!important}
.nav-auth-login-icon,.nav-auth-login-copy,.nav-auth-login-arrow,.nav-auth-avatar,.nav-auth-user-copy,.nav-auth-chevron{display:none!important}
.nav-auth-menu{position:absolute;z-index:30;top:calc(100% + 10px);right:0;width:220px;padding:8px;visibility:hidden;opacity:0;transform:translateY(-6px);transition:visibility .2s,opacity .2s,transform .2s;border:1px solid #e5e7f2;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(19,33,61,.17);color:var(--ink)}
.nav-auth:hover .nav-auth-menu,.nav-auth:focus-within .nav-auth-menu{visibility:visible;opacity:1;transform:none}
.nav-auth-account{padding:10px 11px 12px;border-bottom:1px solid #edf0f6}
.nav-auth-account small,.nav-auth-account strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-auth-account small{color:#8a94a6;font-size:10px;letter-spacing:.08em}.nav-auth-account strong{margin-top:3px;color:#26334b;font-size:13px}
.nav-auth-orders,.nav-auth-menu button{display:flex;align-items:center;gap:9px;width:100%;margin-top:6px;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:#445675;font-size:13px;text-align:left;cursor:pointer}
.nav-auth-orders span,.nav-auth-menu button span{display:grid;width:22px;height:22px;place-items:center;border-radius:6px}
.nav-auth-orders span{color:#2465c7;background:#edf4ff}.nav-auth-menu button span{color:#dc4c64;background:#fff0f2}
.nav-auth-orders:hover,.nav-auth-orders:focus-visible{color:#174c9d;background:#f2f6fd;outline:none}.nav-auth-menu button:hover,.nav-auth-menu button:focus-visible{color:#c93750;background:#fff5f6;outline:none}
@media(min-width:901px){
  .site-header nav>.nav-auth{flex:0 0 var(--nav-action-width,132px)!important;width:var(--nav-action-width,132px)!important;height:var(--nav-action-height,48px)!important}
  .site-header nav>.nav-auth>.nav-cta{width:100%!important;height:100%!important}
}
@media(max-width:900px){.nav-auth{width:100%;height:auto;margin-top:8px}.nav-auth>.nav-cta{width:100%!important;min-width:0!important}}


/* 2026-09-04: 全站接口加载统一为平滑圆形旋转动画。 */
.api-spinner{display:inline-block;width:22px;height:22px;flex:0 0 auto;border:3px solid rgba(81,70,229,.16);border-top-color:#5146e5;border-radius:50%;box-sizing:border-box;animation:api-spinner-rotate .72s linear infinite;will-change:transform;transform:translateZ(0)}
.api-spinner-sm{width:16px;height:16px;border-width:2px}
.api-loading-inline{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:28px;line-height:1.4}
.api-loading-inline>span:last-child{white-space:nowrap}
.api-button-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.article-state-loading,.course-state-loading,.mock-empty.is-loading,.orders-empty.is-loading,.payment-channel-status.is-loading{color:#5f66a8}
.payment-channel-status.is-loading{display:flex;align-items:center;justify-content:center;gap:8px}
.article-state-loading:before{content:""!important;display:inline-block;width:22px;height:22px;margin-right:10px;border:3px solid rgba(81,70,229,.16);border-top-color:#5146e5;border-radius:50%;box-sizing:border-box;animation:api-spinner-rotate .72s linear infinite;will-change:transform;vertical-align:middle}
.auth-message[data-type="loading"]{display:flex;align-items:center;gap:9px;color:#6366a8}
.auth-message[data-type="loading"]:before{content:"";display:inline-block;width:16px;height:16px;flex:0 0 16px;border:2px solid rgba(81,70,229,.16);border-top-color:#5146e5;border-radius:50%;box-sizing:border-box;animation:api-spinner-rotate .72s linear infinite;will-change:transform}
@keyframes api-spinner-rotate{to{transform:rotate(360deg)}}

/* Turnstile on the auth card: keep the challenge in the user's viewport. */
.auth-turnstile{position:relative;z-index:3;display:none;width:100%;min-height:0;text-align:center}
.auth-turnstile.is-active{display:block}
.auth-turnstile iframe{display:block;max-width:100%;margin:0 auto}
.auth-card form.is-loading{opacity:1;pointer-events:auto}
.auth-card form.is-loading>label:not(.auth-terms),.auth-card form.is-loading>.button{opacity:.72}
.auth-card form.is-loading>.button{cursor:wait}
.auth-card form.is-loading .auth-turnstile{opacity:1;pointer-events:auto}
