/* Shared public type scale, loaded after the individual page styles.
   Keep the browser root size intact so user zoom continues to work normally. */
body { font-size: 15px; line-height: 1.85; }
.desktop-nav { font-size: 16px; }
.nav-drop { font-size: 15px; }
.header-contact > span { font-size: 11px; }
.header-contact b { font-size: 15px; }
.mobile-nav { font-size: 17px; }
.mobile-nav details > a { font-size: 15px; }
.button, .text-link, .category-scroll a, .pagination a { font-size: 14px; }
.eyebrow { font-size: 11px; line-height: 1.6; }

/* Homepage: strengthen reading text without enlarging the immersive headline. */
.collection-heading h2, .project-heading h2, .about-copy h2,
.service-heading h2, .join-copy h2, .curtain-guide-head h2 { font-size: 30px; line-height: 1.45; }
.collection-heading > p, .collection-intro, .project-intro,
.about-company, .about-description, .service-heading > p,
.advantage-card p, .service-step p, .join-description,
.curtain-guide-head > p:last-child { font-size: 15px; line-height: 1.9; }
.collection-heading .eyebrow, .project-heading .eyebrow,
.about-copy .eyebrow, .service-heading .eyebrow, .join-copy .eyebrow,
.curtain-guide-head .eyebrow { font-size: 11px; }
.collection-card .work-caption h3,
.project-section .home-project .work-caption h3 { font-size: 17px; line-height: 1.7; }
.collection-card .work-caption small,
.project-section .home-project .work-caption small { font-size: 12px; }
.advantage-card h3 { font-size: 21px; }
.service-step h3 { font-size: 18px; }
.about-facts strong { font-size: 18px; }
.about-facts span, .about-image-note, .flow-note p,
.join-types li, .collection-status, .collection-progress { font-size: 12px; line-height: 1.8; }
.collection-entry, .collection-footer .collection-entry, .collection-more,
.collection-all, .project-entry, .about-entry, .service-consult,
.flow-note .service-consult, .join-entry, .guide-more a { font-size: 14px; }
.is-home .curtain-guide-card p { font-size: 15px; }
.is-home .curtain-guide-link { font-size: 14px; }
.is-home .campaign-hero .hero-cta { font-size: 14px; }
.campaign-hero .campaign-concept { font-size: 12px; }

/* Shared page introductions, catalog and product/project details. */
.inner-crumbs, .about-v2 .inner-crumbs, .contact-v2 .inner-crumbs,
.careers-page .inner-crumbs, .newsroom .inner-crumbs,
.partner-v2 .inner-crumbs, .partner-v2-crumbs, .inner-product .inner-crumbs { font-size: 12px; }
.inner-kicker, .inner-product .inner-kicker, .inner-journal .inner-kicker,
.inner-about .inner-kicker, .inner-contact .inner-kicker,
.about-v2-kicker, .about-v2-hero-copy .about-v2-kicker,
.contact-v2-kicker, .contact-v2-section-head .contact-v2-kicker,
.careers-kicker, .newsroom-eyebrow, .partner-v2-kicker,
.partner-v2-intro .partner-v2-kicker, .partner-v3-copy .partner-v2-kicker,
.partner-v2 .partner-v2-contact .partner-v2-kicker { font-size: 11px; line-height: 1.6; }
.inner-product h1, .inner-cases h1, .inner-journal h1,
.inner-about h1, .inner-contact h1, .about-v2 h1, .contact-v2 h1,
.newsroom-heading h1, .careers-hero h1,
.partner-v2 h1, .partner-v2 .partner-v3-copy h1 { font-size: 34px; line-height: 1.4; }
.inner-product .inner-headline, .inner-cases .inner-headline,
.inner-journal .inner-headline, .inner-about .inner-headline,
.inner-contact .inner-headline, .about-v2-tagline, .contact-v2-tagline,
.careers-tagline, .partner-v3-tagline { font-size: 22px; line-height: 1.6; }
.inner-product .inner-lead, .inner-cases .inner-lead,
.inner-journal .inner-lead, .inner-about .inner-lead,
.inner-contact .inner-lead, .about-v2-lead, .contact-v2-intro,
.careers-intro, .newsroom .newsroom-description,
.partner-v2-lead, .partner-v3-description { font-size: 15px; line-height: 1.9; }
.is-inner figcaption, .inner-product .inner-product-visual figcaption,
.inner-about figcaption span, .contact-v2-hero-visual figcaption,
.about-v2-hero-media figcaption, .careers-hero-visual figcaption,
.inner-product .inner-product-notes, .inner-case-tags span { font-size: 12px; line-height: 1.8; }
.catalog-sidebar h2, .is-product-page .catalog-sidebar h2 { font-size: 21px; }
.catalog-sidebar > .eyebrow, .is-product-page .catalog-sidebar > .eyebrow { font-size: 11px; }
.catalog-sidebar nav > a, .is-product-page .catalog-sidebar nav > a { font-size: 15px; line-height: 1.7; }
.catalog-list .list-summary { font-size: 14px; }
.catalog-grid .work-caption small { font-size: 12px; }
.catalog-grid .work-caption h3,
.inner-page-cases .catalog-list .work-caption h3 { font-size: 16px; line-height: 1.75; min-height: 3.5em; }
.detail-meta, .gallery-open > span { font-size: 12px; }
.detail-lead, .richtext { font-size: 16px; line-height: 1.95; }
.richtext { overflow-wrap: anywhere; }

/* Company information and long-form copy. */
.about-v2-story h2, .contact-v2-details h2, .careers-section-head h2,
.careers-contact h2, .partner-v2 .partner-v2-section-heading h2,
.partner-v2 .partner-v2-dispatch h2, .partner-v2 .partner-v2-contact h2 { font-size: 28px; line-height: 1.5; }
.about-v2-facts h2 { font-size: 23px; }
.about-v2-richtext { font-size: 16px; line-height: 1.95; }
.about-v2-richtext h3 { font-size: 20px; line-height: 1.6; margin: 28px 0 12px; }
.about-v2-tabs a { font-size: 15px; }
.about-v2-facts-company, .about-v2-services, .about-v2-business dd,
.about-v2-facts-link { font-size: 14px; line-height: 1.85; }
.about-v2-fact-grid dt, .about-v2-business dt, .about-v2-fact-unit { font-size: 12px; }
.about-v2-business > div { grid-template-columns: 66px minmax(0, 1fr); }
.contact-v2-company, .contact-v2-phone span, .contact-v2-meta > span,
.contact-v2-qr-title, .careers-phone span { font-size: 13px; line-height: 1.8; }
.contact-v2-meta p, .contact-v2-meta a { font-size: 15px; line-height: 1.85; }
.contact-v2-qr-card span { font-size: 12px; }
.contact-v2-detail-grid { grid-template-columns: minmax(0, 1fr) 195px; }
.contact-v2-meta-grid { gap: 20px 24px; }
.contact-v2-qr { padding-left: 26px; }

/* Recruiting, news and channel cooperation. */
.careers-section-head > p, .careers-role-card > p,
.careers-contact p:not(.careers-kicker), .partner-v2-model-card > p,
.partner-v2 .partner-v2-section-heading p:not(.partner-v2-kicker),
.partner-v2 .partner-v2-dispatch-lead,
.partner-v2 .partner-v2-contact-grid > div:first-child > p:last-child { font-size: 15px; line-height: 1.9; }
.careers-role-card h3, .partner-v2-model-card h3 { font-size: 22px; line-height: 1.5; }
.careers-role-card ul, .careers-role-example, .careers-contact-meta,
.partner-v2-model-card ul, .partner-v2-card-link,
.partner-v2 .partner-v2-dispatch-list p, .partner-v2-process-list p,
.partner-v2 .partner-v2-contact-link { font-size: 14px; line-height: 1.85; }
.partner-v2 .partner-v2-dispatch-list strong { font-size: 17px; }
.partner-v2-process-list h3 { font-size: 20px; }
.partner-v2-quick-link strong { font-size: 16px; }
.partner-v3-types a, .partner-v2-meta-label, .partner-v2-meta-note,
.partner-v2-quick-link span, .careers-role-top,
.partner-v2-card-top, .partner-v2-process-list span { font-size: 12px; }
.partner-v2 .partner-v2-dispatch-visual figcaption,
.partner-v2-showcase-figure figcaption { font-size: 12px; }
.partner-v2 .partner-v2-dispatch-visual figcaption span:first-child,
.partner-v2-showcase-figure figcaption span:first-child { font-size: 11px; }
.partner-v2 .partner-v2-phone span { font-size: 12px; }
.newsroom-panel-heading h2 { font-size: 19px; }
.newsroom-panel-heading > span, .newsroom-post summary time { font-size: 12px; }
.newsroom-post summary h2, .newsroom-empty h3 { font-size: 20px; line-height: 1.6; }
.newsroom-post-body, .newsroom-empty p { font-size: 15px; line-height: 1.95; }
.newsroom-empty > a { font-size: 14px; }

/* The footer remains secondary, but its links and contact line stay legible. */
.footer-nav a { font-size: 13px; line-height: 1.8; }
.footer-nav .footer-nav-title, .footer-wechat h2 { font-size: 15px; }
.footer-wechat p, .footer-wechat-code > p { font-size: 12px; }
.site-footer .footer-contact-list dt, .site-footer .footer-contact-list dd,
.site-footer .footer-detail-phone > span, .site-footer .footer-detail-phone > a,
.site-footer .footer-friends > span, .site-footer .footer-friends > a,
.site-footer .filing-links a, .footer-legal .footer-copyright { font-size: 12px; line-height: 1.85; }
.site-footer .footer-contact-list { column-gap: 20px; }

@media (min-width: 901px) and (max-width: 1200px) {
    .desktop-nav { font-size: 15px; gap: 20px; }
    .contact-v2-detail-grid { grid-template-columns: minmax(0, 1fr) 155px; gap: 24px; }
    .contact-v2-meta-grid { grid-template-columns: minmax(0, 1fr) 100px; }
    .contact-v2-meta-address { grid-column: 1 / -1; }
    .contact-v2-qr { padding-left: 18px; }
}

@media (min-width: 901px) and (max-width: 1100px) {
    .desktop-nav { font-size: 14px; gap: 16px; }
    .site-header .brand-logo { width: 165px; }
}

@media (min-width: 761px) and (max-width: 1100px) {
    .contact-v2-details > .wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .contact-v2-section-head { display: flex; align-items: end; }
    .contact-v2-company { margin-top: 0; max-width: none; }
    .contact-v2-detail-grid { grid-template-columns: minmax(0, 1fr) 170px; gap: 32px; }
    .contact-v2-meta-grid { grid-template-columns: minmax(0, 1fr) 100px; }
    .contact-v2-meta-address { grid-column: 1 / -1; }
    .contact-v2-qr { padding-left: 22px; }
}

@media (max-width: 760px) {
    body { font-size: 14px; }
    .button, .text-link, .category-scroll a, .pagination a { font-size: 14px; }
    .collection-heading h2, .project-heading h2, .about-copy h2,
    .service-heading h2, .join-copy h2, .curtain-guide-head h2 { font-size: 26px; }
    .collection-heading > p, .collection-intro, .project-intro,
    .about-company, .about-description, .service-heading > p,
    .advantage-card p, .service-step p, .join-description,
    .curtain-guide-head > p:last-child { font-size: 14px; }
    .collection-card .work-caption h3,
    .project-section .home-project .work-caption h3 { font-size: 16px; }
    .advantage-card h3 { font-size: 19px; }
    .service-step h3 { font-size: 17px; }
    .about-facts strong { font-size: 17px; }
    .collection-heading .eyebrow, .project-heading .eyebrow,
    .about-copy .eyebrow, .service-heading .eyebrow, .join-copy .eyebrow,
    .curtain-guide-head .eyebrow { font-size: 10px; }
    .is-home .curtain-guide-card p { font-size: 14px; }
    .inner-product h1, .inner-cases h1, .inner-journal h1,
    .inner-about h1, .inner-contact h1, .about-v2 h1, .contact-v2 h1,
    .newsroom-heading h1, .careers-hero h1,
    .partner-v2 h1, .partner-v2 .partner-v3-copy h1 { font-size: 29px; }
    .inner-product .inner-headline, .inner-cases .inner-headline,
    .inner-journal .inner-headline, .inner-about .inner-headline,
    .inner-contact .inner-headline, .about-v2-tagline, .contact-v2-tagline,
    .careers-tagline, .partner-v3-tagline { font-size: 20px; }
    .inner-product .inner-lead, .inner-cases .inner-lead,
    .inner-journal .inner-lead, .inner-about .inner-lead,
    .inner-contact .inner-lead, .about-v2-lead, .contact-v2-intro,
    .careers-intro, .newsroom .newsroom-description,
    .partner-v2-lead, .partner-v3-description { font-size: 14px; }
    .inner-kicker, .inner-product .inner-kicker, .inner-journal .inner-kicker,
    .inner-about .inner-kicker, .inner-contact .inner-kicker,
    .about-v2-kicker, .about-v2-hero-copy .about-v2-kicker,
    .contact-v2-kicker, .contact-v2-section-head .contact-v2-kicker,
    .careers-kicker, .newsroom-eyebrow, .partner-v2-kicker,
    .partner-v2-intro .partner-v2-kicker, .partner-v3-copy .partner-v2-kicker { font-size: 10px; }
    .about-v2-story h2, .contact-v2-details h2, .careers-section-head h2,
    .careers-contact h2, .partner-v2 .partner-v2-section-heading h2,
    .partner-v2 .partner-v2-dispatch h2, .partner-v2 .partner-v2-contact h2 { font-size: 25px; }
    .about-v2-richtext, .detail-lead, .richtext { font-size: 15px; }
    .about-v2-richtext h3 { font-size: 18px; }
    .about-v2-tabs a { font-size: 14px; gap: 10px; }
    .about-v2-fact-grid dd { font-size: 16px; }
    .about-v2-facts h2 { font-size: 22px; }
    .careers-section-head > p, .careers-role-card > p,
    .careers-contact p:not(.careers-kicker), .partner-v2-model-card > p,
    .partner-v2 .partner-v2-section-heading p:not(.partner-v2-kicker),
    .partner-v2 .partner-v2-dispatch-lead,
    .partner-v2 .partner-v2-contact-grid > div:first-child > p:last-child { font-size: 14px; }
    .careers-role-card h3, .partner-v2-model-card h3 { font-size: 20px; }
    .careers-role-card ul, .careers-role-example, .careers-contact-meta,
    .partner-v2-model-card ul, .partner-v2-card-link,
    .partner-v2 .partner-v2-dispatch-list p, .partner-v2-process-list p { font-size: 14px; }
    .newsroom-post summary h2, .newsroom-empty h3 { font-size: 18px; }
    .newsroom-post-body, .newsroom-empty p { font-size: 15px; }
    .contact-v2-detail-grid { grid-template-columns: minmax(0, 1fr); }
    .contact-v2-meta p, .contact-v2-meta a { font-size: 15px; }
    .contact-v2-qr { padding: 22px 0 0; }
    .footer-nav .footer-nav-title, .footer-wechat h2 { font-size: 14px; }
}

@media (max-width: 700px) {
    .catalog-sidebar h2, .is-product-page .catalog-sidebar h2 { font-size: 19px; }
    .catalog-sidebar nav > a, .is-product-page .catalog-sidebar nav > a { font-size: 13px; padding: 10px 5px; }
    .catalog-grid .work-caption h3,
    .inner-page-cases .catalog-list .work-caption h3 { font-size: 15px; }
    .catalog-grid .work-caption small { font-size: 12px; }
}

/* Product branches: hover/focus in the header, native disclosure in lists. */
.nav-branch>.nav-subcategories{display:none;margin:0 0 9px 7px;padding:2px 0 2px 12px;border-left:1px solid #d8cbb7}
.nav-branch:hover>.nav-subcategories,.nav-branch:focus-within>.nav-subcategories{display:grid}
.nav-branch>a{display:flex;justify-content:space-between;align-items:center;gap:16px}
.nav-branch>a>span{font-size:17px;color:#a58962;transition:transform .18s}
.nav-branch:hover>a>span,.nav-branch:focus-within>a>span{transform:rotate(180deg)}
.nav-drop .nav-subcategories a{font-size:14px;padding:8px 0;color:#87745b}
.catalog-branch{min-width:0}
.catalog-branch>summary{display:flex;align-items:center;list-style:none;border-bottom:1px solid #e3d9c9;cursor:pointer;border-radius:2px;gap:0}
.catalog-branch>summary::-webkit-details-marker,.mobile-branch>summary::-webkit-details-marker{display:none}
.catalog-branch>summary>a{display:block;flex:1;min-width:0;padding:10px;font-size:15px;line-height:1.7;color:#786750}
.catalog-branch>summary:hover,.catalog-branch.is-current-branch>summary{background:#eee7dc}
.catalog-branch>summary>a.selected{background:#ded0b8;color:#614621}
.catalog-branch-toggle{position:relative;flex:0 0 38px;align-self:stretch;min-height:44px;color:#9b8059}
.catalog-branch-toggle:before,.catalog-branch-toggle:after{content:"";position:absolute;left:13px;top:50%;width:12px;height:1px;background:currentColor}
.catalog-branch-toggle:after{transform:rotate(90deg);transition:transform .18s}
.catalog-branch[open]>summary .catalog-branch-toggle:after{transform:rotate(0deg)}
.catalog-branch>summary:focus-visible,.catalog-branch>summary>a:focus-visible{outline:2px solid #a5865b;outline-offset:2px}
.catalog-subcategories{display:grid;gap:2px;margin:5px 0 10px 13px;padding-left:12px;border-left:1px solid #d8cbb7}
.catalog-subcategories>a{display:block;padding:8px 9px;font-size:14px;line-height:1.7;color:#87745b;border-radius:2px;overflow-wrap:anywhere}
.catalog-subcategories>a:hover,.catalog-subcategories>a.selected{background:#e9dfcd;color:#614621}
.catalog-subcategories>a:focus-visible{outline:2px solid #a5865b;outline-offset:2px}
@media(max-width:700px){
.catalog-branch{grid-column:1/-1;border:1px solid #d5c6ae;border-radius:2px}
.catalog-branch>summary{border-bottom:0}
.catalog-branch>summary>a{font-size:14px;padding:10px 12px}
.catalog-subcategories{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;padding:0 9px 10px;border-left:0}
.catalog-subcategories>a{text-align:center;font-size:13px;padding:9px 5px;background:#eee7dc}
}
@media(prefers-reduced-motion:reduce){.nav-branch>a>span,.catalog-branch-toggle:after{transition:none}}

.catalog-branch:not([open])>.catalog-subcategories{display:none}
.mobile-branch:not([open])>a{display:none}

/* Fixed right-hand icon column keeps every dropdown row level and aligned. */
.desktop-nav .nav-drop>a,.desktop-nav .nav-branch>a{display:flex;align-items:center;justify-content:space-between;gap:20px;line-height:1.7;min-height:44px}
.desktop-nav .nav-drop>a>span,.desktop-nav .nav-branch>a>span{display:grid;place-items:center;flex:0 0 20px;width:20px;height:24px;line-height:1;margin:0;padding:0;color:#a58962;font-size:18px;transform:none}

/* A separate floating panel stays outside the header's scroll clipping. */
.desktop-nav .nav-branch{position:relative}
.desktop-nav .nav-branch.is-flyout-open>a{color:#95713e}
.desktop-nav .nav-group.is-flyout-active>.nav-drop{opacity:1;visibility:visible}
.nav-flyout{display:grid;position:fixed;left:var(--flyout-left,-9999px);top:var(--flyout-top,100px);z-index:60;min-width:190px;max-width:calc(100vw - 24px);max-height:calc(100svh - 110px);overflow:auto;margin:0;padding:10px 18px;border:1px solid #ded5c6;border-top:2px solid #a58962;background:var(--brand-ivory,#faf7f1);box-shadow:0 12px 28px #4b392322;visibility:hidden;opacity:0;pointer-events:none}
.nav-flyout.is-open{visibility:visible;opacity:1;pointer-events:auto}
.nav-flyout>a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:10px 0;font-size:15px;line-height:1.7;color:#615548}
.nav-flyout>a>span{font-size:18px;line-height:1;color:#a58962}
.nav-flyout>a:hover{color:#95713e}
.nav-flyout>a:focus-visible{outline:2px solid #a5865b;outline-offset:3px}

/* Equal rows and a geometric chevron avoid font-baseline differences. */
.desktop-nav .nav-drop>a,.desktop-nav .nav-branch>a{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:20px;min-height:44px;padding:10px 0;font-size:15px;line-height:1.6}
.desktop-nav .nav-drop>a>span,.desktop-nav .nav-branch>a>span{justify-self:end;align-self:center;display:grid;place-items:center;width:20px;height:20px;line-height:1;transform:none}
.desktop-nav .nav-branch>a>.nav-expand-arrow{font-size:0}
.nav-expand-arrow svg{display:block;width:16px;height:16px}
.nav-flyout>a{line-height:1.6}

/* Shared vector arrows: never depend on platform emoji fonts. */
svg.ui-arrow{display:inline-block!important;width:1em!important;height:1em!important;min-width:14px;min-height:14px;max-width:26px;max-height:26px;flex-shrink:0;vertical-align:-.15em;overflow:visible;fill:none;stroke:currentColor}
.card-arrow>svg.ui-arrow,.join-entry-arrow>svg.ui-arrow{display:block!important;width:20px!important;height:20px!important}

/* Mobile containers must shrink below their children's intrinsic widths. */
@media(max-width:1100px){
 html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
 @supports(overflow:clip){html,body{overflow-x:clip}}
 main,.site-footer{min-width:0;max-width:100%}
 main .wrap>*,.footer-main>*,.footer-nav>*,.work-caption>div{min-width:0}
 .about-layout{grid-template-columns:minmax(0,1fr)}
 .about-copy,.about-visual,.about-image-note>span{min-width:0}
 .about-copy{overflow-wrap:anywhere}
 .about-image-note{flex-wrap:wrap}
 .footer-wechat-code{width:100%;grid-template-columns:minmax(0,1fr)}
 .footer-wechat-code>p{white-space:normal;overflow-wrap:anywhere}
 .site-footer .footer-contact-list,.site-footer .footer-contact-list>div,.site-footer .footer-contact-list dd{min-width:0;max-width:100%}
 .site-footer .footer-contact-list>div{flex-wrap:wrap}
 .richtext img,.richtext video,.richtext iframe{max-width:100%}
 .richtext table{display:block;max-width:100%;overflow-x:auto}
}
@media(min-width:901px) and (max-width:1100px){.about-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr)}}

/* Mobile hero: a shorter scene, anchored editorial copy and quiet controls. */
@media(max-width:700px){
 .is-home .campaign-hero{height:clamp(440px,calc(82svh - 76px),640px);min-height:0;max-height:none}
 .is-home .campaign-hero .slide-image{object-position:65% center}
 .is-home .campaign-hero .slide-visual:after{background:linear-gradient(180deg,rgba(17,26,25,.04) 18%,rgba(17,26,25,.14) 40%,rgba(17,26,25,.7) 78%,rgba(17,26,25,.83) 100%)}
 .is-home .campaign-hero .slide-copy{left:24px;right:24px;top:auto;bottom:106px;width:auto;margin:0;transform:none;text-shadow:0 1px 12px #10201b26}
 .is-home .campaign-hero .slide-copy .eyebrow{font-size:8px;line-height:1.6;letter-spacing:1.8px;margin-bottom:17px;color:#e3ccaa}
 .is-home .campaign-hero .slide-family{font-size:14px;line-height:1.6;letter-spacing:1px;margin-bottom:7px;color:#eadcc6}
 .is-home .campaign-hero .slide-copy h1,.is-home .campaign-hero .slide-copy h2{font-size:36px;line-height:1.3;letter-spacing:1px;font-weight:500}
 .is-home .campaign-hero .slide-description{max-width:310px;margin-top:16px;font-size:14px;line-height:1.85;color:#f1ece3}
 .is-home .campaign-hero .carousel-console{left:24px;right:24px;bottom:21px;transform:none;width:auto;height:44px;min-height:44px}
 .is-home .campaign-hero .campaign-caption{display:none}
 .is-home .campaign-hero .carousel-pagination{left:50%;bottom:0;height:44px;transform:translateX(-50%);gap:0}
 .is-home .campaign-hero .carousel-dot{width:20px;height:44px;border-radius:0}
 .is-home .campaign-hero .carousel-dot:before{width:4px;height:4px;opacity:.45;border-radius:4px;transition:width .25s,opacity .25s}
 .is-home .campaign-hero .carousel-dot.is-active:before{width:16px;opacity:1;transform:none}
 .is-home .campaign-hero .carousel-controls .carousel-prev,.is-home .campaign-hero .carousel-controls .carousel-next{top:auto;bottom:21px;width:44px;height:44px;transform:none;border:1px solid #fff6;border-radius:50%;background:#ffffff0a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
 .is-home .campaign-hero .carousel-controls .carousel-prev{left:24px}
 .is-home .campaign-hero .carousel-controls .carousel-next{right:24px}
 .is-home .campaign-hero .carousel-controls button svg{width:18px;height:18px;filter:none}
}
@media(max-width:360px){
 .is-home .campaign-hero .slide-copy{left:20px;right:20px;bottom:100px}
 .is-home .campaign-hero .slide-copy h1,.is-home .campaign-hero .slide-copy h2{font-size:32px}
 .is-home .campaign-hero .slide-description{font-size:13px}
 .is-home .campaign-hero .carousel-dot{width:17px}
 .is-home .campaign-hero .carousel-controls .carousel-prev{left:18px}
 .is-home .campaign-hero .carousel-controls .carousel-next{right:18px}
}
@media(max-width:700px) and (max-height:500px){
 .is-home .campaign-hero{height:420px}
}

@media(max-width:700px) and (prefers-reduced-motion:reduce){.is-home .campaign-hero .carousel-dot:before{transition:none}}

/* Compact touch-friendly product collection. */
@media(max-width:700px){
 .is-home .curtain-guide{padding:36px 0 38px}
 .is-home .curtain-guide .wrap{width:calc(100% - 40px)}
 .is-home .curtain-guide-head{gap:8px;margin-bottom:22px;grid-template-columns:minmax(0,1fr)}
 .is-home .curtain-guide-head .eyebrow{font-size:9px;letter-spacing:2px;margin:0 0 3px}
 .is-home .curtain-guide-head h2{font-size:24px;line-height:1.5;font-weight:500;letter-spacing:0}
 .is-home .curtain-guide-head>p:last-child{max-width:100%;font-size:13px;line-height:1.85;margin-top:3px;color:#887b69}
 .is-home .guide-stage{margin-inline:0}
 .is-home .guide-viewport{border:0;border-radius:5px;scroll-padding-inline:0}
 .is-home .curtain-guide-track{gap:12px}
 .is-home .curtain-guide-card{flex-basis:82%;min-height:310px;padding:20px 20px 17px;border:1px solid #ded3c2;border-radius:5px;background:#f5efe5}
 .is-home .curtain-guide-card>svg{height:112px;margin-bottom:15px}
 .is-home .curtain-guide-number{font-size:10px;line-height:1.4;letter-spacing:1px;color:#a88b63}
 .is-home .curtain-guide-card h3{font-size:20px;line-height:1.5;margin:5px 0 7px;font-weight:500}
 .is-home .curtain-guide-card p{font-size:13px;line-height:1.8;margin-bottom:20px}
 .is-home .curtain-guide-link{font-size:12px;padding-top:13px;border-top-color:#dfd2bf}
 .is-home .curtain-guide-link b{display:flex;align-items:center}
 .is-home .guide-stage>.guide-prev,.is-home .guide-stage>.guide-next{top:auto;bottom:-60px;left:0;right:auto;width:44px;height:44px;border-radius:50%;transform:none;box-shadow:none;background:transparent;border-color:#cdbb9f}
 .is-home .guide-stage>.guide-next{left:54px}
 .is-home .guide-stage>button:hover,.is-home .guide-stage>button:active{transform:none;background:#eee4d4}
 .is-home .guide-toolbar{position:relative;min-height:60px;padding-top:16px;margin:0;gap:8px;justify-content:flex-end;flex-wrap:nowrap;pointer-events:none}
 .is-home .guide-toolbar>*{pointer-events:auto}
 .is-home .guide-toolbar>.guide-more{font-size:12px;line-height:1.8;gap:16px;margin:0;padding:7px 0;border:0;flex-direction:row;align-items:center}
 .is-home .guide-toolbar>.guide-more svg{width:17px!important;height:17px!important}
 .is-home .curtain-guide-card:hover>svg{transform:none}
}
@media(max-width:360px){
 .is-home .curtain-guide .wrap{width:calc(100% - 32px)}
 .is-home .curtain-guide-head h2{font-size:22px}
 .is-home .curtain-guide-card{flex-basis:86%;padding-inline:17px}
 .is-home .guide-toolbar>.guide-more{font-size:11px;gap:10px}
}
