/* Clear typography and dedicated company, team and location sections. */
:root { --display:'DM Sans',Arial,sans-serif; }
h1,h2,h3 { font-family:var(--display); letter-spacing:-.04em; text-wrap:balance; }
.header .brand-name { font-size:24px; letter-spacing:1px; }
.section-nav { background:var(--surface); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:19; }
.section-nav>.wrap { display:flex; gap:38px; align-items:center; overflow:auto; scrollbar-width:thin; }
.section-nav a { white-space:nowrap; font-size:13px; min-height:54px; padding:17px 0 14px; border-bottom:3px solid transparent; }
.section-nav a:hover,.section-nav a:focus-visible { color:var(--ink); border-color:var(--red); }
section[id] { scroll-margin-top:80px; }
.showcase .hero-heading,.showcase h1,.showcase .is-banner .hero-heading { font-size:clamp(38px,4.2vw,62px); font-weight:600; line-height:1.12; letter-spacing:-.045em; }
.showcase .is-campaign .hero-heading { font-size:clamp(36px,4vw,60px); }
.showcase .showcase-description { font-size:14px; }
.showcase .is-banner .showcase-description { font-size:14px; }
.section-heading h2,.showroom h2,.advice-title h2 { font-size:clamp(30px,3.5vw,46px); line-height:1.18; font-weight:500; }
.section-intro { font-size:14px; line-height:1.8; }
.card-heading h3 { font-size:27px; line-height:1.2; font-weight:600; letter-spacing:-.035em; }
.card-tagline,.card-version { font-size:12px; }
.card-image { aspect-ratio:1.5; }
.card-image img,.card-image.is-photo img,.card-image.is-studio img,.card-image:has(img[src*="sx6-pro-sheet"]) img { padding:0; object-fit:contain; }
.card-image { background:#9cabaa; }
.card-category { top:12px; }
.card-version-picker { margin-top:14px; font-size:11px; display:flex; flex-direction:column; gap:6px; color:var(--muted); }
.card-version-picker select { padding:10px; border:1px solid var(--line); border-radius:4px; min-height:44px; font-size:12px; width:100%; }
.no-image { background:linear-gradient(#1118,#111c),url('assets/landscapes/scenery.webp') center/cover; color:#fff; padding:20px; text-align:center; }
.no-image strong { font-size:30px; }
.detail-info h2 { font-size:38px; line-height:1.15; }
.dialog-heading h2,.contact-dialog h2 { font-size:36px; line-height:1.15; }
.comparison-table .compare-model-name { font-size:24px; line-height:1.2; }
.collection-video h2 { font-size:34px; line-height:1.2; }
.company-story,.advisors { padding-block:85px; border-top:1px solid var(--line); }
.story-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.story-signature { padding:35px; text-align:center; background:radial-gradient(ellipse at top,#32343a,#15161a 75%); border:1px solid #ffffff20; color:#fff; border-radius:8px; }
.story-signature img { width:160px; height:160px; object-fit:contain; margin:0 auto 20px; }
.story-signature>span { display:block; letter-spacing:.3em; font-size:10px; color:#c5c6cd; }
.story-signature>strong { display:block; font:500 70px/1.2 Georgia,serif; letter-spacing:-.04em; margin:8px 0 18px; }
.story-signature p { color:#bfc1c9; font-size:12px; line-height:1.8; }
.story-copy p { font-size:15px; line-height:1.9; color:var(--muted); margin-bottom:20px; }
.story-copy .lead { font-size:24px; line-height:1.5; color:var(--ink); }
.story-seal { display:block; border-top:1px solid var(--line); padding-top:22px; font-size:12px; color:var(--ink); }
.purpose-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-top:40px; }
.purpose-grid article { background:var(--surface); border:1px solid var(--line); border-top:3px solid var(--red); padding:32px; border-radius:5px; }
.section-number { font-size:10px; letter-spacing:.18em; color:var(--muted); }
.purpose-grid h3 { font-size:25px; line-height:1.25; font-weight:500; margin:18px 0; }
.purpose-grid p,.values-grid p { color:var(--muted); font-size:14px; line-height:1.8; }
.values-heading { margin:45px 0 24px; }
.values-heading h3 { margin-top:15px; font-size:30px; font-weight:500; }
.values-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:25px; }
.values-grid article { border-top:1px solid var(--line); padding-top:20px; }
.values-grid article>span { color:var(--red); font-size:11px; }
.values-grid h4 { font-size:15px; margin:17px 0 10px; font-weight:600; }
.values-grid p { font-size:12px; }
.company-originals { margin-top:35px; border-top:1px solid var(--line); padding-top:20px; font-size:12px; }
.company-originals summary { cursor:pointer; min-height:44px; }
.company-originals>div { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-top:12px; }
.company-originals img { width:100%; height:250px; object-fit:contain; background:var(--surface); }
.company-originals a>span { display:block; padding:12px; text-align:center; }
.advisor-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.advisor-card { display:flex; align-items:center; gap:25px; padding:30px; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
.advisor-avatar { display:grid; place-items:center; width:100px; height:120px; flex-shrink:0; background:linear-gradient(145deg,#37393f,#101114); color:#fff; border-radius:6px; border-bottom:3px solid var(--red); font:500 35px/1 Georgia,serif; }
.advisor-avatar:hover { border-color:#fff; }
.advisor-card .eyebrow { color:var(--red); font-size:9px; letter-spacing:.1em; }
.advisor-card h3 { font-size:23px; line-height:1.3; margin:12px 0; font-weight:500; }
.advisor-phone { font-size:17px; letter-spacing:.03em; }
.advisor-email { display:block; margin-top:8px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.advisor-contact { display:flex; margin-top:23px; font-size:12px; padding:15px; justify-content:center; }
.advisors>.contact-note { margin-top:20px; color:var(--muted); }
.showroom { padding-bottom:30px; border-top:1px solid var(--line); }
.location-videos { display:grid; grid-template-columns:1fr 1fr; gap:25px; padding-bottom:80px; }
.location-videos article { display:flex; flex-direction:column; align-items:center; padding:25px; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
.video-heading { display:flex; gap:15px; width:100%; align-items:center; padding-bottom:23px; }
.video-heading span { font-size:11px; color:var(--red); }
.video-heading h3 { font-size:19px; line-height:1.3; font-weight:500; }
.location-videos video { width:100%; max-width:285px; aspect-ratio:9/16; object-fit:contain; background:#101113; border-radius:4px; }
.social-section { border-top:1px solid var(--line); padding-block:65px; }
.social-section h2 { margin:20px 0 14px; font-size:38px; line-height:1.2; font-weight:500; }
.social-section>div>p:last-child { color:var(--muted); font-size:14px; }
.social-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:35px 0; }
.social-card { display:flex; gap:20px; align-items:center; padding:25px; background:var(--surface); border:1px solid var(--line); border-radius:6px; transition:border-color .2s; }
.social-card:hover { border-color:var(--red); }
.social-logo { display:grid; place-items:center; width:48px; height:48px; background:#17181c; color:#fff; border-radius:50%; flex-shrink:0; }
.social-logo svg { width:24px; height:24px; }
.social-card strong { font-size:16px; font-weight:500; }
.social-card small { display:block; color:var(--muted); font-size:12px; margin-top:6px; overflow-wrap:anywhere; }
.business-contact { display:inline-flex; font-size:13px; margin:0 25px 10px 0; min-height:44px; align-items:center; }
@media(max-width:1000px) {
 .advisor-card { flex-direction:column; align-items:flex-start; }
 .advisor-avatar { width:80px; height:90px; }
 .story-layout { gap:35px; }
 .values-grid { grid-template-columns:repeat(3,1fr); }
 .social-card { gap:12px; padding:20px; }
 .social-logo { width:38px; height:38px; }
}
@media(min-width:651px) and (max-width:900px) { .showcase .is-campaign .hero-heading { font-size:38px; } .showcase .is-banner .hero-heading { font-size:42px; } }
@media(max-width:650px) {
 .section-nav>.wrap { gap:25px; width:100%; padding-inline:20px; }
 .section-nav a { font-size:12px; min-height:50px; padding-top:15px; }
 .showcase .hero-heading,.showcase h1,.showcase .is-banner .hero-heading,.showcase .is-campaign .hero-heading { font-size:38px; line-height:1.15; }
 .showcase .is-banner .showcase-description,.showcase .showcase-description { font-size:12px; }
 .section-heading h2,.advice-title h2,.showroom h2 { font-size:31px; line-height:1.18; }
 .section-intro { font-size:13px; }
 .card-heading h3 { font-size:26px; }
 .card-version-picker select { font-size:16px; }
 .card-image { aspect-ratio:1.5; }
 .company-story,.advisors { padding-block:45px; }
 .story-layout,.purpose-grid,.advisor-grid,.location-videos,.social-grid { grid-template-columns:1fr; gap:20px; }
 .story-signature { padding:25px; }
 .story-signature img { width:120px; height:120px; }
 .story-signature strong { font-size:60px; }
 .story-copy .lead { font-size:21px; }
 .story-copy p { font-size:14px; }
 .purpose-grid { margin-top:25px; }
 .purpose-grid article { padding:25px; }
 .purpose-grid h3 { font-size:23px; }
 .values-grid { grid-template-columns:1fr 1fr; gap:22px; }
 .company-originals>div { grid-template-columns:1fr; }
 .company-originals img { height:auto; max-height:450px; }
 .advisor-card { padding:25px; flex-direction:row; gap:17px; align-items:flex-start; }
 .advisor-avatar { width:55px; height:70px; font-size:25px; }
 .advisor-card>div { min-width:0; flex:1; }
 .advisor-card h3 { font-size:21px; }
 .advisor-contact { font-size:11px; padding:13px 10px; }
 .location-videos { padding-bottom:45px; }
 .location-videos article { padding:20px; }
 .social-section { padding-block:45px; }
 .social-section h2 { font-size:31px; }
 .social-grid { margin:25px 0; }
 .social-card { padding:20px; }
 .social-logo { width:44px; height:44px; }
 .detail-info h2 { font-size:32px; }
 .contact-dialog h2 { font-size:31px; }
 .collection-video h2 { font-size:29px; }
 .showcase.has-campaign.showing-banner .showcase-slides,.showcase.has-campaign.showing-banner .showcase-slide { height:590px; min-height:590px; }
}
@media(max-width:360px) { .showcase .is-banner .hero-heading { font-size:32px; } .advisor-card { flex-direction:column; } }

/* Long model photo galleries must not enlarge the dialog grid. */
.detail-media,.detail-info{min-width:0}
.detail-thumbs{max-width:100%;overflow-x:auto}
.detail-thumbs button{flex-shrink:0}

.detail-price{background:var(--surface-alt);color:var(--ink)}

/* Transparent brand PNGs sit directly on the light page. */
:root[data-theme=light] .header,:root[data-theme=light] .footer-logos,:root[data-theme=light] .story-signature{background:transparent;color:var(--ink);border-color:var(--line)}
:root[data-theme=light] .header .theme-toggle{color:var(--ink);border-color:var(--line)}
:root[data-theme=light] .theme-toggle::before{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
:root[data-theme=light] .partner-mark{border-color:var(--line)}
:root[data-theme=light] .story-signature>span,:root[data-theme=light] .story-signature p{color:var(--muted)}
.brand-mark,.partner-logo,.story-signature img{background:transparent}
.model-videos video{display:block;width:100%;max-height:520px;object-fit:contain;background:#101113}
.model-videos .video-entry{margin-top:16px}
.model-videos .video-entry h4{padding:14px;margin:0;font-size:13px}
.card-video{display:block;margin:12px 0 0;color:var(--red);font-weight:600;font-size:12px;padding:10px 0;text-align:left}

:root[data-theme=light] .header .brand-sub{color:var(--muted)}
:root[data-theme=light] .header .compare-count{color:var(--ink);border-color:var(--line)}

/* Portraits supplied by MR PRESTIGE: Diego first upload, Miguel second upload. */
.advisor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.advisor-card{display:grid;grid-template-columns:42% minmax(0,1fr);gap:0;align-items:stretch;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px #00000010}
.advisor-avatar{display:block;position:relative;isolation:isolate;width:100%;height:100%;min-height:340px;overflow:hidden;background:#303338;border:0;border-radius:0;flex-shrink:initial}
.advisor-avatar::after{content:"";position:absolute;inset:65% 0 0;z-index:1;background:linear-gradient(transparent,#08090bc9);pointer-events:none}
.advisor-avatar img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 77%;transform:scale(1.6);transform-origin:50% 77%;transition:transform .3s ease}
.advisor-avatar:hover img{transform:scale(1.64)}
.advisor-photo-signature{position:absolute;z-index:2;left:17px;bottom:22px;color:white;font:600 12px/1.3 var(--font-body,Arial,sans-serif);letter-spacing:.12em;border-left:3px solid var(--red);padding-left:9px}
.advisor-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:26px 23px}
.advisor-card .eyebrow{font-size:10px;letter-spacing:.11em;margin:0;color:var(--red)}
.advisor-card h3{font-size:clamp(22px,1.9vw,27px);line-height:1.2;margin:14px 0 18px;font-weight:600;letter-spacing:-.025em}
.advisor-phone{font-size:17px;margin:0;letter-spacing:.02em}
.advisor-email{font-size:12px;margin:8px 0 0;line-height:1.6;word-break:normal;overflow-wrap:anywhere}
.advisor-contact{width:100%;margin-top:25px;min-height:48px;font-size:12px;line-height:1.4;white-space:normal;text-align:center;padding:13px 10px;border-radius:6px}
.advisor-avatar:focus-visible{outline:3px solid var(--red);outline-offset:-5px}
@media(max-width:1050px) and (min-width:681px){.advisor-grid{grid-template-columns:1fr}.advisor-card{grid-template-columns:35% minmax(0,1fr)}.advisor-avatar{min-height:330px}.advisor-info{padding:30px 36px}.advisor-card h3{font-size:29px}.advisor-contact{max-width:330px}}
@media(max-width:680px){.advisor-grid{grid-template-columns:1fr;gap:25px}.advisor-card{display:flex;flex-direction:column;padding:0;gap:0}.advisor-avatar{width:100%;height:auto;min-height:0;aspect-ratio:4/3}.advisor-avatar img{transform:none;object-position:50% 78%}.advisor-avatar:hover img{transform:none}.advisor-photo-signature{bottom:18px;left:23px}.advisor-info{display:flex;width:100%;padding:25px;box-sizing:border-box}.advisor-card h3{font-size:26px;margin:12px 0 16px}.advisor-email{font-size:13px}.advisor-contact{font-size:13px;margin-top:22px}.advisor-phone{font-size:19px}}
@media(prefers-reduced-motion:reduce){.advisor-avatar img{transition:none}.advisor-avatar:hover img{transform:scale(1.6)}}
@media(prefers-reduced-motion:reduce) and (max-width:680px){.advisor-avatar:hover img{transform:none}}

/* Branded portrait frames: original photographs, untouched faces and official transparent logos. */
.advisor-card{border-radius:16px;box-shadow:0 16px 44px #00000014}
.advisor-avatar{display:grid;place-items:stretch;grid-template-rows:minmax(310px,1fr) 82px;min-height:392px;aspect-ratio:auto;background:#101113}
.advisor-avatar::after{content:none}
.advisor-portrait{display:block;position:relative;overflow:hidden;min-height:0;background:#6c6e70}
.advisor-portrait::after{content:"";position:absolute;inset:70% 0 0;background:linear-gradient(transparent,#10111375);pointer-events:none}
.advisor-avatar .advisor-portrait img,.advisor-avatar:hover .advisor-portrait img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 80%;transform:scale(1.88);transform-origin:50% 80%;transition:none}
.advisor-brandbar{display:flex;align-items:center;justify-content:center;gap:14px;position:relative;z-index:2;box-sizing:border-box;padding:8px 15px;background:linear-gradient(120deg,#1d2024,#090a0c);border-top:3px solid #d51d31}
.advisor-brandbar>span{height:35px;width:1px;flex-shrink:0;background:#ffffff30}
.advisor-avatar .advisor-brandbar img,.advisor-avatar:hover .advisor-brandbar img{position:static;inset:auto;display:block;object-fit:contain;object-position:center;transform:none;transition:none;max-width:44%;height:62px;width:100px}
.advisor-avatar .advisor-brandbar .advisor-logo-dongfeng{width:78px;height:58px}
.advisor-info{border-top:3px solid var(--red);background:var(--surface)}
@media(max-width:1050px) and (min-width:681px){.advisor-avatar{min-height:392px}}
@media(max-width:680px){
.advisor-avatar{height:auto;min-height:0;grid-template-rows:auto 80px;aspect-ratio:auto}
.advisor-portrait{aspect-ratio:4/3;min-height:0}
.advisor-avatar .advisor-portrait img,.advisor-avatar:hover .advisor-portrait img{object-position:50% 68%;transform:scale(1.25);transform-origin:50% 68%}
.advisor-brandbar{gap:24px}
.advisor-avatar .advisor-brandbar img{max-width:40%;width:112px;height:64px}
.advisor-info{border-top:0;padding:26px}
}
