.marketing{--orange:#ff7a00;background:#071e32;color:#f4f7fb;font-family:"Segoe UI","Microsoft YaHei",sans-serif;line-height:1.7}.marketing header,.marketing main,.marketing footer{max-width:none}.marketing header{min-height:82px;padding:18px 5%;border-bottom:1px solid #294052;background:#0a2239;gap:24px}.marketing header .brand-copy{color:#fff}.marketing header .brand-copy small{color:#adc0d2}.marketing header .brand-icon{border-radius:3px}.marketing nav{display:flex;align-items:center;gap:32px;font-size:14px}.marketing nav a{padding:8px 0}.marketing nav a:hover{color:#ff9e47}.marketing .nav-download{border-bottom:2px solid var(--orange)}.marketing :focus-visible{outline:3px solid #ffae64;outline-offset:5px}.marketing .skip-link{position:absolute;left:20px;top:-80px;z-index:10;background:white;color:#0f2747;padding:12px}.marketing .skip-link:focus{top:12px}.marketing .hero{min-height:610px;padding:90px 5% 80px;background:#09223a url('/assets/hero-quarry.webp') center/cover no-repeat;display:flex;align-items:center}.marketing .hero-copy{max-width:720px}.marketing .eyebrow{color:#becddd;font-size:12px;letter-spacing:3px}.marketing .hero h1{font-size:clamp(36px,4.1vw,60px);line-height:1.3;letter-spacing:-1px;margin:28px 0 22px;color:white}.marketing .intro{color:#d4dfeb;font-size:18px;max-width:580px;margin:0 0 32px}.marketing .actions{display:flex;gap:16px;flex-wrap:wrap}.marketing .primary,.marketing .outline-link{padding:14px 26px;min-height:52px;border-radius:4px;font-size:15px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:12px}.marketing .primary{background:var(--orange);color:#101e2c;border:1px solid var(--orange)}.marketing .primary:hover{background:#ff9638;border-color:#ff9638}.marketing .outline-link{border:1px solid #93aabd;color:white;background:#09243ac7}.marketing .outline-link:hover{background:#173a55}.marketing .features{margin:0;padding:36px 5%;gap:40px;background:#0a253e;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #294255}.marketing .features article{border:0;padding:0 0 0 64px;position:relative}.marketing .feature-icon{position:absolute;left:0;top:4px;width:38px;height:38px;filter:invert(1)}.marketing .features b{font-size:18px;font-weight:600}.marketing .features p{margin:7px 0 0;color:#b6c6d5;font-size:13px}.marketing .case-section{padding:60px 5% 64px;scroll-margin-top:24px}.marketing h2{font-size:clamp(26px,3vw,38px);line-height:1.4;letter-spacing:-.5px}.marketing .section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.marketing .section-heading h2{margin:8px 0}.marketing .section-heading p{margin:0;color:#aebfd1;font-size:14px}.marketing .case-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.marketing figure{margin:0}.marketing .case-image{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:#19374e;border:1px solid #304b60;border-radius:4px}.marketing figcaption{padding-top:14px;display:flex;justify-content:space-between;gap:16px;align-items:center}.marketing figcaption strong{font-size:16px;font-weight:600}.marketing figcaption span{color:#aebfd1;font-size:12px}.marketing .download{margin:0;padding:42px 5%;gap:60px;border-radius:0;background:#e7edf4;color:#0f2747;grid-template-columns:1fr 1.1fr}.marketing .download .eyebrow{color:#4e6580}.marketing .download h2{font-size:30px;margin:8px 0}.marketing .download p{margin:8px 0;color:#50627a;font-size:14px}.marketing .download-card{padding:0;border:0;background:none;border-radius:0}.marketing .download-card .primary{width:auto}.marketing .download-card .actions{align-items:center}.marketing .download .text-link{padding:12px;color:#0f2747;text-decoration:underline;text-underline-offset:4px}.marketing #download-status{font-size:12px;margin-top:12px}.marketing .checksum-details{font-size:12px;color:#586b80;margin-top:10px}.marketing .checksum-details summary{cursor:pointer}.marketing #checksum{font-size:11px;margin:6px 0;overflow-wrap:anywhere}.marketing .primary.disabled{background:#c1cbd7;border-color:#c1cbd7;color:#536276;cursor:default}.marketing footer{padding:24px 5%;border-top:1px solid #294255;color:#adbdcd;font-size:12px;gap:24px;flex-wrap:wrap}.marketing footer .footer-links{display:flex;gap:22px}.marketing .footer-slogan{letter-spacing:2px;font-size:10px}.marketing .auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 155px)}.marketing .auth-visual{padding:80px 10%;background:#09223a url('/assets/hero-quarry.webp') 50% center/cover no-repeat;display:flex;flex-direction:column;justify-content:space-between;min-height:620px}.marketing .auth-visual h2{font-size:clamp(30px,3.3vw,48px);line-height:1.4;margin:24px 0}.marketing .auth-visual p{color:#d5e0eb;max-width:440px}.marketing .auth-panel{background:#f5f7fa;color:#0f2747;padding:50px clamp(24px,5vw,90px);min-width:0}.marketing .auth-panel .portal{padding:0;max-width:520px;margin:auto}.marketing .auth-panel .eyebrow{color:#61758e}.marketing .auth-panel h1{font-size:34px;line-height:1.4;margin:12px 0}.marketing .auth-panel p{font-size:14px;color:#53667d}.marketing .auth-panel a{color:#a44c00;text-decoration:underline;text-underline-offset:4px}.marketing .auth-panel label{color:#223b56;font-size:14px;margin:16px 0}.marketing .auth-panel input,.marketing .auth-panel select{border:1px solid #bccbd9;border-radius:4px;background:#fff;font:inherit;padding:12px;min-height:48px;color:#0f2747}.marketing .auth-panel input::placeholder{color:#758497;font-size:12px}.marketing .auth-panel button{background:#ff7a00;color:#102438;border-radius:4px;font-weight:600;min-height:48px}.marketing .auth-panel button:hover:not(:disabled){background:#ff9638}.marketing .auth-panel button[type=submit]{width:100%}.marketing .auth-panel .secondary{background:#e0e7ef;color:#1e3b58;border:1px solid #b9c9d8}.marketing .auth-panel #message{color:#85400a;min-height:24px}.marketing .auth-panel .profile-details{border-color:#c9d5df}.marketing .auth-panel .muted{font-size:12px;color:#65758a}.marketing .auth-panel .company-note{border-top:1px solid #d0dae4;padding-top:20px;margin-top:28px}.marketing .password-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.marketing .sms-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.marketing .sms-row label{margin-bottom:0}.marketing .sms-row button{margin-bottom:0;white-space:nowrap}.marketing .auth-panel #logout,.marketing .auth-panel #profile-reload{margin-top:12px}.marketing .auth-panel fieldset:disabled{opacity:.68}.marketing .auth-panel fieldset:disabled button{cursor:not-allowed}[hidden]{display:none!important}
@media(min-width:1600px){.marketing header,.marketing .hero,.marketing .features,.marketing .case-section,.marketing .download,.marketing footer{padding-left:max(5%,calc((100vw - 1320px)/2));padding-right:max(5%,calc((100vw - 1320px)/2))}.marketing .hero{min-height:670px}}
@media(max-width:1000px){.marketing nav{gap:20px}.marketing .hero{min-height:570px;background-position:55% center}.marketing .features{gap:24px}.marketing .features article{padding-left:0}.marketing .feature-icon{display:none}.marketing .auth-layout{grid-template-columns:.85fr 1.15fr}.marketing .auth-visual{padding:65px 8%}.marketing .auth-panel{padding:40px 28px}.marketing .password-row{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){.marketing header{padding:16px 6%;min-height:78px;flex-wrap:wrap;gap:12px}.marketing header .brand-copy{font-size:17px}.marketing header .brand-copy small{font-size:9px;letter-spacing:.5px}.marketing header .brand-icon{width:36px;height:36px}.marketing nav{width:100%;justify-content:space-between;gap:14px;font-size:13px}.marketing .hero{min-height:550px;padding:56px 6%;background-position:40% center}.marketing .hero-copy{padding:18px;background:#071e32b8;border-radius:4px}.marketing .hero h1{font-size:34px;line-height:1.4;letter-spacing:-1px;margin:20px 0}.marketing .intro{font-size:15px;margin-bottom:26px}.marketing .hero .eyebrow{font-size:10px;letter-spacing:2px}.marketing .actions{gap:12px}.marketing .primary,.marketing .outline-link{padding:13px 18px;font-size:14px}.marketing .features{grid-template-columns:1fr;padding:28px 6%;gap:22px}.marketing .features article{padding-left:50px}.marketing .feature-icon{display:block;width:30px;height:30px}.marketing .features b{font-size:16px}.marketing .case-section{padding:40px 6%}.marketing .section-heading{display:block}.marketing .case-grid{grid-template-columns:1fr;gap:28px}.marketing .section-heading h2{font-size:27px}.marketing figcaption{flex-wrap:wrap;gap:4px}.marketing .download{grid-template-columns:1fr;padding:36px 6%;gap:20px}.marketing .download h2{font-size:27px}.marketing footer{padding:24px 6%;gap:14px}.marketing .footer-slogan{display:none}.marketing .auth-layout{display:block;min-height:0}.marketing .auth-visual{display:none}.marketing .auth-panel{padding:32px 6% 40px}.marketing .auth-panel h1{font-size:30px}.marketing .sms-row{grid-template-columns:1fr auto;gap:8px}.marketing .sms-row button{padding:12px;font-size:13px}.marketing .password-row{grid-template-columns:1fr 1fr;gap:12px}}
@media(prefers-reduced-motion:no-preference){.marketing a,.marketing button{transition:background-color .16s,color .16s}}
@media(min-width:701px) and (max-width:1000px){.marketing .hero-copy{background:#071e32c9;padding:28px;border-radius:4px}.marketing .hero .intro{font-size:16px}}

.marketing .agreement{display:flex;align-items:flex-start;gap:10px;margin:24px 0;font-size:13px;line-height:1.8}.marketing .agreement input[type="checkbox"]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:3px 0;accent-color:#0f2747}.legal-page{max-width:800px;margin:0 auto;padding:56px 24px;line-height:1.9}.legal-page h2{margin-top:28px;font-size:20px}.legal-page p{color:#304b65}
.marketing .legal-page{max-width:800px;margin:0 auto;padding:48px 24px;line-height:1.9;background:#f5f7fa;color:#0f2747}.marketing:has(.legal-page){background:#f5f7fa}.marketing .legal-page h1{font-size:32px;letter-spacing:0;line-height:1.3}.marketing .legal-page h2{color:#0f2747;font-size:20px}.marketing .legal-page a{color:#9d4800;text-decoration:underline}
.marketing:has(.legal-page) footer{background:#091f31;color:#c1d4e7}

.marketing .customization{padding:64px 5%;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:64px;background:#0c2942;border-top:1px solid #294255;scroll-margin-top:24px}.marketing .customization h2{margin:14px 0 22px;color:#fff}.marketing .customization-intro{max-width:650px;font-size:17px;color:#c2d1df}.marketing .customization-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}.marketing .customization-services article{border-top:2px solid #ff7a00;padding-top:14px}.marketing .customization-services h3{font-size:17px;margin:0 0 10px;color:#f4f7fb}.marketing .customization-services p{font-size:14px;color:#b8cadb;margin:0}.marketing .customization-note{font-size:12px;color:#a9bdce;margin-top:28px}.marketing .contact-card{background:#f5f7fa;color:#0f2747;border-radius:6px;padding:28px;text-align:center;scroll-margin-top:24px}.marketing .contact-label{color:#755037;font-size:12px;letter-spacing:2px}.marketing .contact-card h3{font-size:24px;margin:8px 0}.marketing .contact-card p{font-size:14px;color:#52667b}.marketing .contact-card img{display:block;width:200px;max-width:100%;height:auto;margin:22px auto;background:white}.marketing .contact-card .primary{width:100%;cursor:pointer;font:inherit;font-weight:600}.marketing .contact-card .wechat-id{user-select:all}.marketing .contact-card .contact-status{font-size:12px;min-height:40px;margin-bottom:0}.marketing nav{flex-wrap:wrap}
@media(max-width:1000px){.marketing .customization{gap:32px;grid-template-columns:minmax(0,1fr) 280px}.marketing .customization-services{grid-template-columns:1fr;gap:20px}}
@media(max-width:700px){.marketing .customization{grid-template-columns:1fr;padding:40px 6%;gap:28px}.marketing .customization-intro{font-size:15px}.marketing .contact-card{max-width:380px;width:100%;justify-self:center;box-sizing:border-box}.marketing .customization-services{margin-top:24px}}

/* Auth pages fill the available screen, while long forms scroll naturally. */
.marketing.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#f5f7fa}
.marketing.auth-page>header,.marketing.auth-page>footer{width:100%;flex-shrink:0;margin:0;background:#0a2239}
.marketing.auth-page>.auth-layout{width:100%;flex:1;min-height:0;margin:0}
.auth-page .auth-panel .portal{width:100%}
.auth-page .password-control{position:relative;display:block}
.auth-page .auth-panel .password-control input{padding-right:52px}
.auth-page .auth-panel .password-toggle{position:absolute;right:2px;top:2px;bottom:2px;width:44px;min-height:44px;padding:10px;background:transparent;color:#52667b;display:flex;align-items:center;justify-content:center}
.auth-page .auth-panel .password-toggle:hover:not(:disabled){background:#e7edf4}
.auth-page .password-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.auth-page .password-toggle .eye-slash{display:none}
.auth-page .password-toggle[aria-pressed="true"] .eye-slash{display:block}
.auth-page footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:700px){
 .marketing.auth-page>header{padding:16px 6%;gap:14px}
 .marketing.auth-page>.auth-layout{display:flex;flex-direction:column}
 .auth-page .auth-panel{flex:1;width:100%;padding:32px 6% 24px}
 .auth-page .auth-panel input,.auth-page .auth-panel select{font-size:16px}
 .auth-page .password-row{grid-template-columns:1fr;gap:0}
 .auth-page .auth-panel h1{font-size:28px}
 .auth-page .auth-panel #message:empty{min-height:0;margin:0}
 .marketing.auth-page>footer{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));gap:4px 16px}
 .auth-page footer .footer-links{gap:20px;flex-wrap:wrap}
}
@media(max-width:380px){
 .marketing.auth-page header .brand-copy{font-size:15px}
 .auth-page .sms-row{grid-template-columns:minmax(0,1fr) auto}
 .auth-page .sms-row button{padding:12px 8px;font-size:12px}
}

/* Keep company and contact navigation vertically aligned on auth footers. */
.marketing.auth-page>footer{align-items:center;flex-wrap:nowrap}
.auth-page>footer>span,.auth-page footer .footer-links{white-space:nowrap;flex-shrink:0}
.auth-page footer .footer-links{align-items:center;flex-wrap:nowrap}
@media(max-width:380px){
 .marketing.auth-page>footer{padding-left:4%;padding-right:4%;gap:8px;font-size:11px}
 .auth-page footer .footer-links{gap:10px}
}
