/* ChinaStep visual refresh. Brand palette stays navy, crimson and warm white. */
:root { --rose: #fcecef; --blue: #eaf0f6; --shadow: 0 16px 50px rgba(7,29,56,.07); }
body { background: var(--paper); }
h1,h2,h3 { font-weight: 600; }
h2 { font-size: clamp(30px,3.1vw,44px); line-height: 1.15; }
.icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.button { gap:14px; border-radius:100px; min-height:52px; padding:14px 24px; font-weight:500; transition:transform .25s,box-shadow .25s,background .25s,color .25s; }
.button .icon { width:19px; height:19px; transition:transform .25s; }
.button:hover { transform:translateY(-3px); box-shadow:0 8px 22px rgba(201,8,50,.16); }
.button:hover .icon { transform:translateX(3px); }
.button-outline:hover { box-shadow:0 8px 22px rgba(7,29,56,.12); }
.button-small { min-height:42px; padding:10px 20px; }
.text-link { gap:12px; }
.text-link .icon { width:19px; height:19px; transition:transform .25s; }
.text-link:hover .icon { transform:translateX(4px); }
.eyebrow { letter-spacing:.1em; font-size:11px; }
.site-header { background:rgba(253,252,249,.94); border-color:rgba(7,29,56,.07); transition:box-shadow .3s; }
.site-header.is-scrolled { box-shadow:0 6px 30px rgba(7,29,56,.07); }
.site-header:before { content:''; position:absolute; left:0; top:0; width:100%; height:3px; background:var(--red); transform-origin:left; transform:scaleX(var(--scroll-progress,0)); }
.header-inner { height:86px; }
.desktop-nav { gap:27px; }
.desktop-nav a { font-size:13px; }
.desktop-nav a:after { content:''; position:absolute; bottom:6px; left:0; width:100%; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after { transform:scaleX(1); }
.menu-button { border-radius:50%; width:44px; height:44px; justify-content:center; padding:0; }
.menu-button>span { display:none; }
.brand-name { font-size:25px; }
.section { padding-block:82px; }
.section-heading { margin-bottom:34px; }
.section-description { color:var(--muted); font-size:15px; line-height:1.7; }
.hero-shell { overflow:hidden; background:radial-gradient(ellipse at 78% 35%, #f7e7e8 0, transparent 47%),var(--paper); }
.home-hero-new { grid-template-columns:1.08fr 1fr; gap:58px; padding-block:66px 80px; min-height:670px; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:9px; background:white; border:1px solid #f0dbe0; border-radius:100px; padding:8px 13px; margin-bottom:26px; font-size:10px; }
.hero-eyebrow>span { width:6px; height:6px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px #fae8ed; }
.hero-copy h1 { font-size:clamp(48px,5.2vw,74px); line-height:1.08; letter-spacing:-.055em; }
.hero-copy .lead { max-width:430px; font-size:17px; line-height:1.75; margin-top:26px; }
.hero-copy .button-row { gap:20px; margin-top:32px; }
.hero-copy .button { font-size:13px; }
.hero-note { display:flex; align-items:center; gap:9px; margin-top:25px; font-size:12px; color:var(--muted); }
.hero-note .icon { width:17px; height:17px; color:var(--red); }
.hero-visual { position:relative; min-width:0; padding:18px 0 24px; }
.hero-image { position:relative; transform:rotate(2deg); z-index:1; }
.hero-image img { width:100%; height:440px; border-radius:90px 28px 90px 28px; object-position:30% center; box-shadow:var(--shadow); }
.hero-image figcaption { border-radius:100px; bottom:23px; left:25px; display:flex; gap:7px; align-items:center; background:rgba(255,255,255,.95); color:var(--navy); transform:rotate(-2deg); }
.hero-image figcaption>span { display:block; width:6px; height:6px; border-radius:50%; background:var(--red); }
.hero-orbit { position:absolute; width:370px; height:370px; border:1px dashed #d8a3af; border-radius:50%; top:-28px; right:-42px; transform:rotate(-12deg); }
.hero-stamp { position:absolute; z-index:2; top:-8px; right:-12px; width:112px; height:112px; display:flex; flex-direction:column; justify-content:center; align-items:center; border-radius:50%; color:white; background:var(--red); font:36px/1.4 var(--font); transform:rotate(10deg); box-shadow:0 10px 25px #c9083220; }
.hero-stamp small { font-size:7px; letter-spacing:.13em; }
.hero-float { position:absolute; z-index:3; bottom:-7px; left:-30px; right:30px; padding:20px; border:1px solid #ece8e5; background:white; border-radius:19px; display:flex; align-items:center; gap:15px; box-shadow:0 14px 40px rgba(7,29,56,.1); transition:transform .3s; }
.hero-float:hover { transform:translateY(-5px); }
.hero-float>.icon:first-child { width:45px; height:45px; border-radius:13px; background:var(--rose); color:var(--red); padding:10px; }
.hero-float strong,.hero-float small { display:block; }
.hero-float strong { font-size:13px; font-weight:500; }
.hero-float small { font-size:11px; color:var(--muted); margin-top:4px; }
.hero-float>.icon:last-child { margin-left:auto; width:19px; }
.hero-plane { position:absolute; top:23%; left:-33px; z-index:2; color:var(--red); transform:rotate(-12deg); }
.hero-plane .icon { width:44px; height:44px; filter:drop-shadow(0 4px 0 #fff); }
.direction-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-bottom:1px solid var(--line); padding-block:24px; }
.direction-strip>a { display:flex; gap:12px; align-items:center; padding:4px 30px; font-size:14px; border-right:1px solid var(--line); transition:color .2s; }
.direction-strip>a:first-child { padding-left:0; }
.direction-strip>a:last-child { border:0; }
.direction-strip>a>.icon:first-child { color:var(--red); }
.direction-strip>a>.icon:last-child { margin-left:auto; width:18px; color:var(--muted); transition:transform .25s; }
.direction-strip>a:hover { color:var(--red); }
.direction-strip>a:hover>.icon:last-child { transform:translateX(4px); }
.program-grid { gap:22px; }
.program-card { position:relative; overflow:hidden; padding:32px; border-radius:24px; border:0; min-height:348px; transition:transform .3s,box-shadow .3s; }
.program-card:hover { transform:translateY(-7px); box-shadow:var(--shadow); }
.program-language { background:var(--rose); }
.program-bachelor { background:var(--blue); }
.program-master { background:var(--navy); color:white; }
.program-icon { display:grid; place-items:center; width:62px; height:62px; border-radius:18px; background:#ffffffb3; color:var(--red); margin-bottom:25px; }
.program-icon .icon { width:32px; height:32px; }
.program-bachelor .program-icon { color:var(--navy); }
.program-master .program-icon { background:#ffffff15; color:white; }
.program-card h3 { font-size:25px; }
.program-card>p { margin-top:13px; margin-bottom:24px; font-size:14px; max-width:270px; }
.program-master>p,.program-master .program-price>span { color:#c9d4e2; }
.program-price { border-top:1px solid #071d3815; padding-top:20px; }
.program-master .program-price { border-color:#ffffff22; }
.program-price strong { font-size:29px; letter-spacing:-.04em; }
.program-price strong small { font-size:18px; font-weight:400; }
.card-link { display:flex; align-items:center; justify-content:space-between; margin-top:22px; font-size:13px; font-weight:500; }
.card-link>span { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; background:#ffffffb3; transition:transform .25s; }
.card-link .icon { width:19px; height:19px; }
.card-link:hover>span { transform:translateX(4px); }
.program-master .card-link>span { background:#ffffff1a; }
.section-footnote { font-size:11px; margin-top:18px; }
.journey-home { background:#f4f3ef; border-radius:44px; margin-inline:16px; }
.journey-track { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px; list-style:none; margin:44px 0 30px; padding:0; }
.journey-track:before { content:''; position:absolute; top:39px; left:35px; right:55px; height:1px; background:repeating-linear-gradient(90deg,#d3acb5 0 5px,transparent 5px 11px); }
.journey-track>li { position:relative; }
.journey-icon { position:relative; display:grid; place-items:center; width:80px; height:80px; background:white; color:var(--red); border-radius:24px; box-shadow:0 7px 20px #071d3805; margin-bottom:25px; transition:transform .3s; }
.journey-icon>.icon { width:35px; height:35px; }
.journey-icon>span { display:grid; place-items:center; position:absolute; right:-8px; bottom:-6px; width:28px; height:28px; border:4px solid #f4f3ef; border-radius:50%; color:white; background:var(--navy); font-size:8px; }
.journey-track>li:hover .journey-icon { transform:translateY(-6px) rotate(-4deg); }
.journey-track h3 { font-size:18px; letter-spacing:-.02em; }
.journey-track p { font-size:13px; line-height:1.75; color:var(--muted); margin-top:12px; max-width:230px; }
.journey-more { margin-top:10px; }
.support-layout { display:grid; grid-template-columns:1fr 1.1fr; background:var(--navy); color:white; border-radius:30px; overflow:hidden; }
.support-copy { position:relative; padding:45px; overflow:hidden; }
.support-copy .eyebrow { color:#fb95ad; }
.support-copy h2 { font-size:34px; }
.support-copy>p:not(.eyebrow) { font-size:14px; color:#c9d4e2; margin:22px 0 27px; max-width:330px; }
.support-copy .button { font-size:13px; }
.support-decoration { display:flex; align-items:center; gap:11px; margin-top:37px; opacity:.4; }
.support-decoration .icon { width:29px; height:29px; }
.support-decoration span { font-size:15px; letter-spacing:.03em; }
.support-options { padding:17px; display:grid; gap:10px; }
.support-option { display:grid; grid-template-columns:28px 1fr 20px; gap:14px; align-items:center; padding:25px 26px; background:#ffffff0c; border:1px solid #ffffff13; border-radius:20px; transition:background .25s,transform .25s; }
.support-option:hover { background:#ffffff18; transform:translateX(-4px); }
.support-option .eyebrow { font-size:9px; display:block; color:#fa9cb2; margin:0 0 7px; }
.support-option h3 { font-size:20px; }
.support-option p { font-size:12px; color:#c9d4e2; margin-top:10px; }
.support-index { font-size:10px; color:#a1b0c3; align-self:start; margin-top:3px; }
.support-option>.icon { width:20px; }
.social-section { padding-top:0; }
.social-card { display:grid; grid-template-columns:.9fr 1fr; align-items:center; gap:90px; }
.social-visual { height:340px; position:relative; background:var(--rose); border-radius:30px; overflow:hidden; padding:25px; }
.social-photo { position:absolute; width:60%; height:350px; left:28px; top:40px; transform:rotate(-9deg); border:7px solid white; border-radius:22px; overflow:hidden; }
.social-photo img { width:100%; height:100%; object-fit:cover; object-position:25%; }
.social-handle { display:flex; align-items:center; gap:9px; position:absolute; z-index:2; top:22px; right:18px; padding:10px 15px; border-radius:100px; background:white; font-size:12px; box-shadow:var(--shadow); transform:rotate(4deg); }
.social-handle .icon { width:18px; height:18px; color:var(--red); }
.social-hi { position:absolute; right:23px; bottom:35px; font-size:62px; font-weight:500; line-height:1.1; color:var(--red); transform:rotate(5deg); }
.social-hi small { font-size:7px; display:block; letter-spacing:.1em; margin-top:10px; }
.social-copy h2 { font-size:35px; }
.social-copy>p:not(.eyebrow) { color:var(--muted); font-size:14px; margin:22px 0 27px; max-width:370px; }
.social-copy .button { font-size:13px; }
.contact-banner { position:relative; isolation:isolate; overflow:hidden; border-radius:28px; padding:45px; background:var(--red); margin-bottom:76px; }
.contact-banner:after { content:''; z-index:-1; position:absolute; width:320px; height:320px; right:20px; top:-100px; border:1px solid #ffffff26; border-radius:50%; box-shadow:0 0 0 50px #ffffff08,0 0 0 100px #ffffff05; }
.contact-banner .eyebrow { color:#ffd4df; margin-bottom:13px; }
.contact-banner h2 { font-size:34px; }
.contact-banner p { color:#ffe0e8; font-size:14px; margin-top:18px; }
.contact-banner .button { font-size:13px; }
.page-intro { padding-top:64px; padding-bottom:44px; }
.page-intro h1 { font-size:clamp(39px,4.6vw,60px); line-height:1.13; }
.page-intro h1>span { color:var(--red); }
.page-intro .lead { font-size:16px; max-width:650px; margin-top:23px; }
.pricing-intro { position:relative; }
.pricing-intro .download-link { font-size:12px; margin-top:22px; }
.program-tabs { position:relative; border:1px solid #e6e7e9; padding:6px; background:#eef0f2; border-radius:100px; gap:4px; isolation:isolate; }
.program-tabs a { border-radius:100px; font-size:13px; padding:13px 26px; position:relative; z-index:1; transition:color .25s; }
.program-tabs a[aria-selected=true] { background:var(--navy); }
.program-tabs.has-ink a[aria-selected=true] { background:transparent; }
.program-tabs.has-ink a:hover:not([aria-selected=true]) { background:transparent; color:var(--red); }
.tab-ink { position:absolute; z-index:0; top:6px; bottom:6px; left:0; background:var(--navy); border-radius:100px; width:var(--ink-width,0px); transform:translateX(var(--ink-left,0px)); transition:transform .35s cubic-bezier(.22,1,.36,1),width .35s cubic-bezier(.22,1,.36,1); pointer-events:none; }
.pricing-notice { font-size:12px; margin-top:20px; }
.price-panel { padding-top:31px; }
.price-program-heading { font-size:21px; margin-bottom:22px; }
.price-grid { gap:21px; align-items:stretch; }
.price-card { border:1px solid #e5e6e9; border-radius:24px; padding:30px; background:white; transition:transform .3s,box-shadow .3s,border-color .3s; }
.price-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:#b7c3ce; }
.price-card.recommended { background:linear-gradient(150deg,#fff3f5,#fff); border:1px solid #d7607a; box-shadow:0 10px 35px #c9083209; }
.price-card-label { align-items:start; display:block; min-height:50px; }
.price-card h3 { font-size:20px; letter-spacing:.01em; }
.recommend-label { display:inline-block; margin-top:8px; font-size:8px; letter-spacing:.03em; text-transform:none; background:#fbe1e8; border-radius:100px; padding:3px 9px; }
.plan-description { min-height:45px; margin-top:14px; font-size:13px; line-height:1.65; }
.price { font-size:clamp(29px,2.8vw,38px); margin-top:22px; font-weight:600; }
.price-caption { margin-top:1px; font-size:10px; }
.price-card ul { border-top:1px solid #e5e6e9; padding-top:20px; margin-block:23px; }
.price-card li { padding-left:20px; font-size:12px; margin-bottom:12px; }
.price-card li:before { content:'✓'; width:auto; height:auto; background:none; top:-1px; font-size:12px; color:var(--red); }
.price-card li.plan-limitation:before { content:'–'; color:var(--muted); }
.price-card .button { min-height:47px; font-size:12px; }
.comparison-details,.price-conditions { border:1px solid #e5e6e9; background:white; border-radius:19px; margin-top:22px; padding:0; }
.comparison-details>summary,.price-conditions>summary { display:flex; justify-content:space-between; align-items:center; gap:15px; list-style:none; padding:23px 27px; cursor:pointer; font-size:15px; font-weight:500; }
.comparison-details>summary::-webkit-details-marker,.price-conditions>summary::-webkit-details-marker { display:none; }
.comparison-details>summary>.icon,.price-conditions>summary>.icon { transform:rotate(90deg); width:19px; height:19px; color:var(--red); transition:transform .25s; }
.comparison-details[open]>summary>.icon,.price-conditions[open]>summary>.icon { transform:rotate(-90deg); }
.comparison-body { padding:0 25px 25px; }
.comparison-heading { justify-content:flex-end; margin:0 0 17px; }
.comparison-table th,.comparison-table td { padding:15px; font-size:12px; }
.table-scroll { border-radius:13px; }
.price-conditions { background:#f4f3ef; }
.price-conditions>div { padding:0 27px 24px; }
.price-conditions ul { margin:0; }
.price-conditions li { font-size:12px; line-height:1.8; }
.price-panel.is-panel-enter { animation:panel-in .42s cubic-bezier(.2,.8,.2,1) both; }
@keyframes panel-in { from { opacity:.2; transform:translateY(12px); } to { opacity:1; transform:none; } }
.site-footer { background:#f4f3ef; border-top:0; padding-top:47px; }
.footer-grid { padding-bottom:35px; }
.footer-grid nav a,.footer-contacts a { font-size:12px; margin-bottom:11px; }
.footer-bottom { font-size:10px; padding-block:22px; }
.faq-list details { border:1px solid #e2e4e7; background:white; border-radius:17px; margin-bottom:12px; padding-inline:24px; }
.faq-list details:first-child { border-top:1px solid #e2e4e7; }
.faq-list summary { font-size:15px; padding-block:21px; }
.faq-list summary span { transition:transform .25s; }
.faq-list details>p { padding-bottom:22px; font-size:13px; }
dialog { border-radius:24px; }
.reveal-pending { opacity:0; transform:translateY(22px); }
.reveal-pending.is-visible { opacity:1; transform:none; transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms); }
@media (min-width:941px) { .hero-plane { animation:plane-float 6s ease-in-out infinite; } }
@keyframes plane-float { 0%,100% { transform:translateY(0) rotate(-12deg); } 50% { transform:translateY(-12px) rotate(-5deg); } }
@media (max-width:1100px) {
 .header-inner { gap:17px; }.desktop-nav { gap:17px; }.desktop-nav a { font-size:12px; }
 .home-hero-new { gap:38px; min-height:600px; }.hero-copy h1 { font-size:57px; }.hero-copy .lead { font-size:15px; }.hero-copy .button-row { gap:17px; }.hero-image img { height:400px; }
 .hero-float { left:-20px; right:10px; padding:16px; }.hero-float strong { font-size:11px; }.hero-float small { font-size:10px; }.hero-stamp { width:95px;height:95px;font-size:31px;right:-10px; }
 .program-card { padding:27px; }.program-card h3 { font-size:23px; }.journey-track { gap:25px; }.journey-track h3 { font-size:16px; }
 .support-copy { padding:35px; }.support-copy h2 { font-size:30px; }.support-option { padding:22px 18px; gap:10px; }.social-card { gap:45px; }.social-copy h2 { font-size:31px; }
 .price-card { padding:25px 22px; }.price { font-size:31px; }
}
@media (max-width:940px) {
 .header-inner { height:76px; }.desktop-nav,.header-contact { display:none; }.menu-button { display:flex; }
 .home-hero-new { gap:32px; min-height:auto; padding-block:55px 65px; }.hero-copy h1 { font-size:48px; }.hero-copy .lead { font-size:14px; }.hero-copy .button-row { align-items:flex-start; flex-direction:column; }.hero-image img { height:370px; }.hero-float { bottom:0;right:0;left:0; }.hero-float strong { font-size:11px; }.hero-float>.icon:last-child { display:none; }.hero-float>.icon:first-child { width:37px;height:37px;padding:8px; }.hero-plane { left:-20px; }.hero-orbit { width:290px;height:290px; }
 .direction-strip>a { padding-inline:20px; font-size:12px;gap:9px; }.direction-strip>a>.icon:first-child { width:21px; }.direction-strip>a>.icon:last-child { width:15px; }
 .program-grid { gap:14px; }.program-card { padding:24px 20px; }.program-card h3 { font-size:20px; }.program-card>p { font-size:12px; }.program-price strong { font-size:25px; }
 .journey-track { gap:20px; }.journey-track h3 { font-size:15px; }.journey-track p { font-size:12px; }
 .support-layout { grid-template-columns:1fr; }.support-copy { padding:35px; }.support-copy>p:not(.eyebrow) { max-width:470px; }.support-decoration { display:none; }.support-options { padding:0 17px 17px; }.support-option { padding:23px; }.support-option h3 { font-size:21px; }
 .social-card { gap:35px;grid-template-columns:1fr 1fr; }.social-visual { height:300px; }.social-copy h2 { font-size:28px; }.social-hi { font-size:46px;right:14px; }.social-handle { font-size:10px;padding:9px 12px; }.social-handle .icon { width:15px;height:15px; }.social-photo { left:20px; }
 .price-grid { gap:14px; }.price-card { padding:25px 18px; }.price { font-size:29px; }.price-card li { font-size:11px; }.plan-description { min-height:65px; font-size:12px; }.price-card .button { font-size:11px; }
}
@media (max-width:640px) {
 .container { width:calc(100% - 40px); }.header-inner { height:72px; }.brand img { width:43px;height:43px; }.brand-name { font-size:23px; }.brand-name small { font-size:5px; }
 .section { padding-block:54px; }.section-heading { display:block; margin-bottom:25px; }.section-heading>.text-link { margin-top:18px; }.section-description { font-size:13px;margin-top:18px; }.section-description br { display:none; }
 h2 { font-size:31px; }.home-hero-new { grid-template-columns:1fr; gap:45px; padding-block:37px 48px; }.hero-copy h1 { font-size:clamp(43px,11vw,64px); }.hero-eyebrow { font-size:8px;margin-bottom:22px;padding:7px 11px; }.hero-copy .lead { font-size:15px;max-width:360px;margin-top:22px; }.hero-copy .button-row { flex-direction:row;align-items:center;gap:20px 18px;margin-top:25px; }.hero-copy .button { font-size:12px;padding:13px 18px;gap:10px; }.hero-copy .text-link { font-size:12px; }.hero-note { margin-top:21px;font-size:11px; }.hero-visual { width:calc(100% - 14px);margin-inline:auto;padding:7px 0 32px; }.hero-image img { height:330px;border-radius:65px 22px 65px 22px; }.hero-image figcaption { bottom:24px;left:18px;font-size:9px;padding:7px 11px; }.hero-stamp { width:85px;height:85px;font-size:28px;right:-11px;top:-16px; }.hero-stamp small { font-size:5px; }.hero-float { bottom:0;right:10px;left:-7px;gap:12px;padding:16px;border-radius:17px; }.hero-float strong { font-size:11px; }.hero-float small { font-size:10px; }.hero-plane { left:-15px;top:19%; }.hero-plane .icon { width:32px;height:32px; }.hero-orbit { width:255px;height:255px;right:-12px;top:-17px; }
 .direction-strip { grid-template-columns:1fr;gap:0;padding-block:8px; }.direction-strip>a { border-right:0;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px;gap:13px; }.direction-strip>a:last-child { border-bottom:0; }.direction-strip>a>.icon:first-child { width:21px;height:21px; }
 .program-grid,.price-grid { grid-template-columns:1fr;gap:16px; }.program-card { padding:28px;min-height:0; }.program-icon { width:54px;height:54px;border-radius:16px;margin-bottom:23px; }.program-icon .icon { width:29px;height:29px; }.program-card h3 { font-size:25px; }.program-card>p { font-size:14px;max-width:100%; }.program-price { padding-top:18px; }.program-price strong { font-size:30px; }.section-footnote { font-size:10px;line-height:1.8; }
 .journey-home { margin-inline:0;border-radius:28px; }.journey-track { grid-template-columns:1fr;gap:27px;margin-top:30px; }.journey-track:before { top:25px;bottom:25px;left:32px;right:auto;width:1px;height:auto;background:repeating-linear-gradient(180deg,#d3acb5 0 5px,transparent 5px 11px); }.journey-track>li { display:grid;grid-template-columns:66px 1fr;column-gap:23px; }.journey-icon { grid-row:1/3;width:66px;height:66px;border-radius:20px;margin:0; }.journey-icon>.icon { width:29px;height:29px; }.journey-icon>span { width:26px;height:26px;bottom:-5px; }.journey-track h3 { font-size:18px;padding-top:2px; }.journey-track p { font-size:13px;margin-top:7px;max-width:none; }.journey-more { font-size:12px;margin-top:3px; }
 .support-layout { border-radius:24px; }.support-copy { padding:30px 26px; }.support-copy h2 { font-size:29px; }.support-copy>p:not(.eyebrow) { font-size:13px; }.support-copy .button { font-size:12px; }.support-options { padding:0 12px 12px;gap:9px; }.support-option { grid-template-columns:20px 1fr 16px;gap:10px;padding:24px 19px; }.support-option h3 { font-size:18px; }.support-option p { font-size:11px; }.support-option .eyebrow { font-size:8px; }.support-option>.icon { width:17px; }
 .social-section { padding-top:0; }.social-card { grid-template-columns:1fr;gap:30px; }.social-visual { height:290px;max-width:420px;width:100%; }.social-copy h2 { font-size:30px; }.social-copy>p:not(.eyebrow) { font-size:14px; }.social-hi { right:26px;bottom:35px;font-size:55px; }.social-handle { font-size:11px;right:20px; }.social-photo { width:57%;height:290px;left:28px; }
 .contact-banner { border-radius:24px;padding:32px 27px;margin-bottom:50px;display:block; }.contact-banner h2 { font-size:29px; }.contact-banner p { font-size:13px; }.contact-banner .button { margin-top:25px;font-size:12px; }.contact-banner .eyebrow { font-size:9px; }
 .page-intro { padding-top:37px;padding-bottom:30px; }.page-intro h1 { font-size:clamp(35px,9.2vw,49px); }.page-intro .lead { font-size:14px;margin-top:20px; }.pricing-intro h1 { font-size:clamp(31px,8.3vw,44px); }.pricing-intro .eyebrow { font-size:9px; }
 .program-tabs { width:100%;padding:5px;gap:2px; }.program-tabs a { flex:1;padding:12px 6px;font-size:10px; }.tab-ink { top:5px;bottom:5px; }.pricing-notice { font-size:10px;margin-top:17px;line-height:1.8; }.price-panel { padding-top:25px; }.price-program-heading { font-size:21px;margin-bottom:20px; }.price-card { padding:28px; }.price-card-label { min-height:0;display:flex;align-items:center;gap:9px; }.price-card h3 { font-size:21px; }.recommend-label { margin-top:0;font-size:7px; }.plan-description { min-height:0;font-size:13px;margin-top:17px; }.price { font-size:36px;margin-top:19px; }.price-caption { font-size:10px; }.price-card li { font-size:12px; }.price-card .button { font-size:12px; }.price-card ul { margin-block:22px; }.comparison-details>summary,.price-conditions>summary { font-size:13px;padding:21px; }.comparison-body { padding:0 17px 17px; }.comparison-heading { margin:0 0 17px; }.difference-switch { margin:0;font-size:11px; }.price-conditions>div { padding:0 21px 21px; }.price-conditions li { font-size:11px; }.comparison-table th,.comparison-table td { font-size:11px;padding:13px; }
 .faq-list details { padding-inline:19px;border-radius:15px; }.faq-list summary { font-size:13px; }.faq-list details>p { font-size:12px; }.site-footer { padding-top:35px; }.footer-grid nav a,.footer-contacts a { font-size:11px; }.footer-bottom { font-size:9px;gap:14px; }
}
@media (max-width:360px) {
 .container { width:calc(100% - 32px); }.hero-copy h1 { font-size:41px; }.hero-copy .button-row { gap:16px; }.hero-copy .button { font-size:11px; }.hero-copy .text-link { font-size:11px; }.hero-image img { height:290px; }.hero-float strong { font-size:10px; }.hero-float small { font-size:9px; }.hero-float { padding:13px; }.program-tabs a { font-size:9px; }.price-card { padding:24px; }.price-card-label { align-items:flex-start;flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }.reveal-pending,.reveal-pending.is-visible { opacity:1;transform:none;transition:none; }
 *,*:before,*:after { animation:none!important;transition:none!important; }.hero-image { transform:none; }
}
