.kaimei-content-page{padding-top:42px;padding-bottom:72px}.kaimei-breadcrumb{display:flex;gap:9px;align-items:center;font-size:14px;color:#617080;margin-bottom:48px}.kaimei-breadcrumb a{color:inherit;text-decoration:none}.kaimei-contact-grid,.kaimei-news-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:64px}.kaimei-contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.kaimei-contact-item{border:1px solid #e2e7eb;padding:24px;min-height:135px}.kaimei-contact-item h2{font-size:15px;margin:0 0 14px;text-transform:uppercase;letter-spacing:.08em}.kaimei-contact-item a,.kaimei-contact-item p{display:block;margin:5px 0;color:#344454;text-decoration:none}.kaimei-contact-form{background:#f5f7f8;padding:34px}.kaimei-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.kaimei-news-card{border:1px solid #e1e5e8;background:#fff}.kaimei-news-card__media{display:block;aspect-ratio:4/3;background:#f1f3f4;overflow:hidden}.kaimei-news-card__media img{width:100%;height:100%;object-fit:cover}.kaimei-news-card__body{padding:24px}.kaimei-news-card time,.kaimei-news-article time{font-size:12px;letter-spacing:.08em;color:#617080}.kaimei-news-card h2{font-size:20px;line-height:1.3;margin:12px 0}.kaimei-news-card h2 a{color:inherit;text-decoration:none}.kaimei-news-card p{color:#5b6875;line-height:1.7}.kaimei-news-layout{grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);align-items:start}.kaimei-news-article h1{font-size:clamp(36px,5vw,64px);line-height:1.08;margin:10px 0 16px}.kaimei-news-article .entry-content{font-size:17px;line-height:1.85;margin-top:36px}.kaimei-news-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #e1e5e8;margin-top:48px;padding-top:24px}.kaimei-news-adjacent div:last-child{text-align:right}.kaimei-news-adjacent span{display:block;font-size:12px;color:#74808c;text-transform:uppercase}.kaimei-news-adjacent a{color:#172330;text-decoration:none;font-weight:700}.kaimei-news-sidebar{display:grid;gap:28px;position:sticky;top:120px}.kaimei-news-sidebar>section{border:1px solid #e1e5e8;padding:28px}.kaimei-news-cta{background:#172330;color:white}.kaimei-news-cta .kaimei-kicker{color:#c8d0d6}.kaimei-news-sidebar-list{display:grid;gap:16px}.kaimei-news-sidebar-list a{display:grid;gap:6px;color:#172330;text-decoration:none;border-top:1px solid #e8ecef;padding-top:14px}.kaimei-news-sidebar-list span{font-size:12px;color:#74808c}.kaimei-legacy-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.kaimei-legacy-gallery figure{margin:0;aspect-ratio:4/3;background:#f1f3f4;overflow:hidden}.kaimei-legacy-gallery img{width:100%;height:100%;object-fit:cover}.kaimei-timeline{display:grid;gap:0;border-top:1px solid #dde3e7}.kaimei-timeline article{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid #dde3e7}.kaimei-timeline time{font-size:26px;font-weight:700}.kaimei-exhibition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.kaimei-exhibition-grid article{border:1px solid #e1e5e8;padding:20px}.kaimei-exhibition-grid .kaimei-legacy-gallery{grid-template-columns:repeat(3,1fr)}@media(max-width:980px){.kaimei-contact-grid,.kaimei-news-layout{grid-template-columns:1fr}.kaimei-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kaimei-news-sidebar{position:static}.kaimei-contact-details{grid-template-columns:1fr}}@media(max-width:640px){.kaimei-content-page{padding-top:24px}.kaimei-news-grid{grid-template-columns:1fr}.kaimei-legacy-gallery,.kaimei-exhibition-grid{grid-template-columns:1fr}.kaimei-timeline article{grid-template-columns:1fr;gap:8px}.kaimei-news-adjacent{grid-template-columns:1fr}.kaimei-news-adjacent div:last-child{text-align:left}}

/* EXEC-07-FIX-01: contact map and mobile content legibility. */
.kaimei-contact-map { margin-top: clamp(52px,7vw,92px); padding-top: clamp(42px,5vw,64px); border-top:1px solid var(--kaimei-border); }
.kaimei-contact-map__frame { overflow:hidden; min-height:480px; border:1px solid var(--kaimei-border); background:#eef0f0; }
.kaimei-contact-map__frame iframe { width:100%; height:480px; display:block; border:0; }
.kaimei-content-page .entry-content,.kaimei-section-copy,.kaimei-foundation-card,.kaimei-contact-item { font-size:16px; line-height:1.75; }
@media (max-width:640px) {
    .kaimei-content-page,.kaimei-page-foundation { font-size:16px; }
    .kaimei-page-intro,.kaimei-section-copy,.kaimei-foundation-card,.kaimei-contact-item,.kaimei-news-card p { font-size:16px; line-height:1.75; }
    .kaimei-foundation-card { padding:22px 18px; }
    .kaimei-contact-map__frame,.kaimei-contact-map__frame iframe { min-height:320px; height:320px; }
}

/* EXEC-07-FIX-02: readable contact/inquiry layout and mobile content typography. */
.kaimei-contact-form { scroll-margin-top:140px; }
.kaimei-inquiry-context { margin:22px 0; padding:16px 18px; border-left:3px solid var(--km-orange); background:#fff7f1; display:grid; gap:5px; overflow-wrap:anywhere; }
.kaimei-inquiry-context[hidden] { display:none; }
.kaimei-inquiry-context strong { font-family:Manrope,"Segoe UI",Arial,sans-serif; }
.kaimei-inquiry-context a { color:var(--km-orange-dark); font-size:14px; }
.kaimei-form-wrap input:not([type="submit"]),.kaimei-form-wrap textarea,.kaimei-form-wrap select { width:100%; max-width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--kaimei-border); background:#fff; font-size:16px; }
.kaimei-form-wrap textarea { min-height:150px; resize:vertical; }
.kaimei-contact-map__frame { min-height:480px; }
.kaimei-contact-map__frame iframe { height:480px; }
@media(max-width:640px) {
    .kaimei-content-page,.kaimei-page-foundation,.kaimei-contact-page,.kaimei-news-layout { font-size:17px; line-height:1.75; }
    .kaimei-content-page p,.kaimei-content-page li,.kaimei-section-copy,.kaimei-foundation-card,.kaimei-contact-item,.kaimei-contact-item a,.kaimei-contact-item p,.kaimei-contact-form p,.kaimei-news-card p { font-size:17px; line-height:1.75; }
    .kaimei-contact-item h2 { font-size:15px; letter-spacing:.10em; }
    .kaimei-contact-grid { gap:18px; }
    .kaimei-contact-item { padding:22px 18px; }
    .kaimei-contact-form h2,.kaimei-contact-map h2 { font-size:clamp(30px,9vw,40px); }
    .kaimei-form-wrap input:not([type="submit"]),.kaimei-form-wrap textarea,.kaimei-form-wrap select { font-size:17px; }
    .kaimei-contact-map__frame,.kaimei-contact-map__frame iframe { min-height:330px; height:330px; }
}


/* EXEC-07-FIX-03: keep Contact Us aligned to the global content shell. */
.kaimei-contact-page {
    width:min(calc(100% - 64px), var(--kaimei-content)) !important;
    max-width:var(--kaimei-content) !important;
    margin-inline:auto !important;
    padding-inline:0 !important;
}
.kaimei-contact-page .kaimei-contact-grid,
.kaimei-contact-page .kaimei-contact-map { width:100%; max-width:100%; }
@media (max-width:980px) {
    .kaimei-contact-page { width:min(calc(100% - 40px), var(--kaimei-content)) !important; }
}
@media (max-width:640px) {
    .kaimei-contact-page { width:calc(100% - 28px) !important; }
}

/* EXEC-07-FIX-04: Blogs/News use the same content shell as the rest of V2. */
.site-main.kaimei-blogs-page,
.site-main.kaimei-news-detail {
    width:min(calc(100% - 48px), var(--kaimei-content)) !important;
    max-width:var(--kaimei-content) !important;
    margin-inline:auto !important;
    padding-inline:0 !important;
}
.kaimei-blogs-page .navigation.pagination { margin-top:48px; }
.kaimei-blogs-page .navigation.pagination .nav-links { justify-content:center; }
.kaimei-news-detail .kaimei-news-layout { width:100%; max-width:100%; }
.kaimei-news-article { min-width:0; }
.kaimei-news-article .entry-content { max-width:100%; overflow-wrap:anywhere; }
.kaimei-news-article .entry-content img,
.kaimei-news-article .entry-content iframe,
.kaimei-news-article .entry-content video { max-width:100%; height:auto; }
@media(max-width:980px) {
    .site-main.kaimei-blogs-page,
    .site-main.kaimei-news-detail { width:min(calc(100% - 40px), var(--kaimei-content)) !important; }
}
@media(max-width:640px) {
    .site-main.kaimei-blogs-page,
    .site-main.kaimei-news-detail { width:calc(100% - 28px) !important; }
    .kaimei-blogs-page .navigation.pagination .nav-links { justify-content:flex-start; }
}

/* EXEC-07-FIX-09: premium contact information cards. */
.kaimei-contact-details {
    align-content:start;
    gap:18px;
}
.kaimei-contact-item {
    --km-contact-accent: var(--km-orange);
    position:relative;
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    gap:16px;
    align-items:start;
    min-height:168px;
    padding:24px 22px;
    border:1px solid rgba(21,26,31,.10);
    border-radius:12px;
    background:linear-gradient(145deg,#fff 0%,#fbfbf8 100%);
    box-shadow:0 10px 28px rgba(21,26,31,.045);
    overflow:hidden;
    transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease;
}
.kaimei-contact-item::before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:var(--km-contact-accent);
    opacity:.88;
}
.kaimei-contact-item::after {
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-70px;
    top:-70px;
    border-radius:50%;
    background:color-mix(in srgb, var(--km-contact-accent) 10%, transparent);
    pointer-events:none;
}
.kaimei-contact-item:hover {
    transform:translateY(-4px);
    border-color:color-mix(in srgb, var(--km-contact-accent) 34%, rgba(21,26,31,.10));
    box-shadow:0 18px 38px rgba(21,26,31,.10);
}
.kaimei-contact-item--phone { --km-contact-accent:#e85d04; }
.kaimei-contact-item--email { --km-contact-accent:#ef5261; }
.kaimei-contact-item--whatsapp { --km-contact-accent:#22b95b; }
.kaimei-contact-item--address { --km-contact-accent:#516778; }
.kaimei-contact-item__icon {
    position:relative;
    z-index:1;
    display:inline-flex;
    width:48px;
    height:48px;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    color:var(--km-contact-accent);
    background:color-mix(in srgb, var(--km-contact-accent) 11%, white);
    box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--km-contact-accent) 16%, transparent);
    transition:transform .24s ease,background-color .24s ease,color .24s ease;
}
.kaimei-contact-item:hover .kaimei-contact-item__icon {
    transform:translateY(-2px) scale(1.04);
    color:#fff;
    background:var(--km-contact-accent);
}
.kaimei-contact-item__icon svg {
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.kaimei-contact-item__body { min-width:0; position:relative; z-index:1; }
.kaimei-contact-item h2 {
    margin:2px 0 12px;
    font-size:13px;
    line-height:1.2;
    letter-spacing:.13em;
    color:#1f262c;
}
.kaimei-contact-item a,
.kaimei-contact-item p {
    margin:5px 0;
    color:#3f4e5b;
    overflow-wrap:anywhere;
    transition:color .2s ease;
}
.kaimei-contact-item a:hover { color:var(--km-contact-accent); }
.kaimei-contact-map-link {
    grid-column:1/-1;
    margin-top:2px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-weight:700;
}
@media (max-width: 1180px) {
    .kaimei-contact-item { grid-template-columns:44px minmax(0,1fr); padding:22px 18px; }
    .kaimei-contact-item__icon { width:42px; height:42px; border-radius:12px; }
}
@media (max-width: 980px) {
    .kaimei-contact-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .kaimei-contact-details { grid-template-columns:1fr; gap:14px; }
    .kaimei-contact-item { min-height:0; padding:20px 17px; }
}

/* EXEC-07-FIX-10: restrained contact cards + native inquiry form. */
.kaimei-contact-grid {
    grid-template-columns:minmax(520px,.98fr) minmax(0,1.12fr);
    gap:clamp(36px,4vw,58px);
    align-items:start;
}
.kaimei-contact-details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.kaimei-contact-item {
    position:relative;
    display:block;
    min-height:146px;
    padding:22px 24px;
    border:1px solid rgba(21,26,31,.11);
    border-radius:8px;
    background:#fff;
    box-shadow:0 8px 24px rgba(21,26,31,.035);
    overflow:visible;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.kaimei-contact-item::before,
.kaimei-contact-item::after { display:none !important; content:none !important; }
.kaimei-contact-item:hover {
    transform:translateY(-3px);
    border-color:rgba(234,97,0,.42);
    box-shadow:0 15px 34px rgba(21,26,31,.08);
}
.kaimei-contact-item__head { display:flex; align-items:center; gap:12px; margin-bottom:17px; }
.kaimei-contact-item__icon {
    position:static;
    z-index:auto;
    display:inline-flex;
    flex:0 0 38px;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(234,97,0,.20);
    border-radius:50%;
    background:#fff7f1;
    color:var(--km-orange-dark);
    box-shadow:none;
    transition:background .2s ease,color .2s ease,transform .2s ease;
}
.kaimei-contact-item:hover .kaimei-contact-item__icon { transform:translateY(-1px); background:var(--km-orange); color:#fff; }
.kaimei-contact-item__icon svg { width:19px; height:19px; }
.kaimei-contact-item h2 {
    margin:0;
    color:#1f262c;
    font-size:13px;
    line-height:1.2;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.kaimei-contact-item__value { min-width:0; }
.kaimei-contact-item__value a,
.kaimei-contact-item__value p {
    display:block;
    margin:6px 0 0;
    color:#45535f;
    font-size:15.5px;
    line-height:1.6;
    text-decoration:none;
    overflow-wrap:normal;
    word-break:normal;
}
.kaimei-contact-item__value a:hover { color:var(--km-orange-dark); }
.kaimei-contact-nowrap { white-space:nowrap; }
.kaimei-contact-map-link { margin-top:5px; }

.kaimei-contact-form {
    padding:clamp(30px,3.5vw,46px);
    border:1px solid rgba(21,26,31,.08);
    border-radius:8px;
    background:#f6f7f6;
}
.kaimei-contact-form h2 { margin:8px 0 0; }
.kaimei-contact-form__intro { max-width:650px; margin:16px 0 24px; color:#5b6770; }
.kaimei-inquiry-context {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px 12px;
    margin:0 0 22px;
    padding:13px 15px;
    border-left:3px solid var(--km-orange);
    background:#fff;
    color:#48545e;
    font-size:14px;
}
.kaimei-inquiry-context[hidden] { display:none !important; }
.kaimei-inquiry-context > span { color:#7a858d; font-size:11px; font-weight:800; letter-spacing:.10em; text-transform:uppercase; }
.kaimei-inquiry-context > strong { color:var(--km-ink); }
.kaimei-inquiry-context > a { margin-left:auto; color:var(--km-orange-dark); font-weight:700; text-decoration:none; }
.kaimei-native-inquiry-form { margin-top:6px; }
.kaimei-native-inquiry-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 18px; }
.kaimei-native-inquiry-form label { display:block; margin:0; }
.kaimei-native-inquiry-form label > span {
    display:block;
    margin:0 0 7px;
    color:#303a42;
    font-size:13px;
    font-weight:750;
    letter-spacing:.015em;
}
.kaimei-native-inquiry-form label > span em { color:var(--km-orange-dark); font-style:normal; }
.kaimei-native-inquiry-form input,
.kaimei-native-inquiry-form textarea {
    width:100%;
    min-height:48px;
    margin:0;
    padding:11px 13px;
    border:1px solid #d9dddf;
    border-radius:4px;
    outline:0;
    background:#fff;
    color:#20262b;
    font:inherit;
    font-size:15px;
    line-height:1.45;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.kaimei-native-inquiry-form textarea { min-height:132px; resize:vertical; }
.kaimei-native-inquiry-form input:focus,
.kaimei-native-inquiry-form textarea:focus { border-color:var(--km-orange); box-shadow:0 0 0 3px rgba(234,97,0,.10); }
.kaimei-form-field--wide { grid-column:1/-1; }
.kaimei-native-inquiry-form__submit { margin-top:20px; min-width:180px; cursor:pointer; }
.kaimei-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.kaimei-form-notice { margin:0 0 20px; padding:12px 14px; border-radius:4px; font-size:14px; line-height:1.55; }
.kaimei-form-notice--success { border:1px solid #b9d9c3; background:#f2faf4; color:#24603a; }
.kaimei-form-notice--error { border:1px solid #e1c2bd; background:#fff5f3; color:#8d352a; }

@media (max-width:1120px) {
    .kaimei-contact-grid { grid-template-columns:1fr; }
    .kaimei-contact-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
    .kaimei-contact-details { grid-template-columns:1fr; }
    .kaimei-contact-item { min-height:0; padding:19px 18px; }
    .kaimei-contact-item__head { margin-bottom:12px; }
    .kaimei-contact-item__value a,.kaimei-contact-item__value p { font-size:16px; }
    .kaimei-native-inquiry-form__grid { grid-template-columns:1fr; gap:15px; }
    .kaimei-form-field--wide { grid-column:auto; }
    .kaimei-contact-form { padding:25px 18px; }
    .kaimei-native-inquiry-form__submit { width:100%; }
}

/* FIX-10 About timeline must retain the visual timeline after content.css loads. */
.kaimei-about-page .kaimei-timeline {
    position:relative;
    display:block;
    margin-top:32px;
    padding-left:28px;
    border-top:0;
    border-left:2px solid rgba(234,97,0,.20);
}
.kaimei-about-page .kaimei-timeline article {
    position:relative;
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:26px;
    padding:0 0 30px 18px;
    border:0;
}
.kaimei-about-page .kaimei-timeline article::before {
    content:"";
    position:absolute;
    left:-36px;
    top:7px;
    width:14px;
    height:14px;
    border:3px solid #fff;
    border-radius:50%;
    background:var(--km-orange);
    box-shadow:0 0 0 1px rgba(234,97,0,.25);
}
.kaimei-about-page .kaimei-timeline time {
    color:var(--km-orange-dark);
    font-family:Manrope,"Segoe UI",Arial,sans-serif;
    font-size:20px;
    font-weight:800;
}
.kaimei-about-page .kaimei-timeline p { margin:0; color:#5f6a73; }
@media (max-width:640px) {
    .kaimei-about-page .kaimei-timeline { padding-left:20px; }
    .kaimei-about-page .kaimei-timeline article { grid-template-columns:1fr; gap:6px; padding-left:14px; }
    .kaimei-about-page .kaimei-timeline article::before { left:-28px; }
}

/* EXEC-07-FIX-11: Contact Us — stationary information cards, inline square map,
   and a left/right layout whose bottoms visually align on desktop. */
.kaimei-contact-grid {
    grid-template-columns:minmax(520px,.96fr) minmax(0,1.1fr);
    gap:clamp(36px,4vw,58px);
    align-items:stretch;
}
.kaimei-contact-left {
    min-width:0;
    display:flex;
    flex-direction:column;
    height:100%;
    gap:22px;
}
.kaimei-contact-item {
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.kaimei-contact-item:hover {
    transform:none;
    border-color:rgba(234,97,0,.42);
    box-shadow:0 15px 34px rgba(21,26,31,.08);
}
.kaimei-contact-item:hover .kaimei-contact-item__icon {
    transform:none;
    background:var(--km-orange);
    color:#fff;
}
.kaimei-contact-map-inline {
    margin-top:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    min-width:0;
}
.kaimei-contact-map-inline__bar {
    width:min(100%,430px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:#20282e;
}
.kaimei-contact-map-inline__bar strong {
    font-family:Manrope,"Segoe UI",Arial,sans-serif;
    font-size:18px;
    letter-spacing:-.015em;
}
.kaimei-contact-map-inline__bar .kaimei-text-link { font-size:13px; white-space:nowrap; }
.kaimei-contact-map-inline__frame {
    position:relative;
    width:min(100%,430px);
    aspect-ratio:1 / 1;
    overflow:hidden;
    border:1px solid rgba(21,26,31,.12);
    background:#eef0f0;
    box-shadow:0 14px 34px rgba(21,26,31,.055);
}
.kaimei-contact-map-inline__frame iframe {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    border:0;
}
.kaimei-contact-form { height:100%; }
/* The old full-width bottom map is intentionally retired in FIX-11. */
.kaimei-contact-page > .kaimei-contact-map { display:none !important; }

@media (max-width:1120px) {
    .kaimei-contact-grid { grid-template-columns:1fr; }
    .kaimei-contact-left { height:auto; }
    .kaimei-contact-map-inline { margin-top:4px; }
    .kaimei-contact-map-inline__bar,
    .kaimei-contact-map-inline__frame { width:min(100%,520px); }
    .kaimei-contact-form { height:auto; }
}
@media (max-width:640px) {
    .kaimei-contact-map-inline { gap:9px; }
    .kaimei-contact-map-inline__bar { width:100%; align-items:flex-end; }
    .kaimei-contact-map-inline__bar strong { font-size:17px; }
    .kaimei-contact-map-inline__bar .kaimei-text-link { font-size:12px; }
    .kaimei-contact-map-inline__frame { width:100%; max-width:100%; }
}

/* EXEC-07-FIX-12: restore the original About KAIMEI factory poster + video CTA. */
.kaimei-about-brand__media {
    position:relative;
    isolation:isolate;
    min-height:280px;
}
.kaimei-about-brand__media::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(8,12,15,0) 58%,rgba(8,12,15,.10) 100%);
}
.kaimei-about-brand__play {
    position:absolute;
    inset:50% auto auto 50%;
    z-index:3;
    width:82px;
    height:82px;
    transform:translate(-50%,-50%);
    border:0;
    border-radius:50%;
    padding:0;
    display:grid;
    place-items:center;
    background:transparent;
    cursor:pointer;
}
.kaimei-about-brand__play-disc {
    position:relative;
    z-index:2;
    width:72px;
    height:72px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#fff;
    color:var(--km-orange);
    box-shadow:0 14px 38px rgba(0,0,0,.22);
    transition:transform .22s ease,box-shadow .22s ease;
}
.kaimei-about-brand__play-disc svg {
    width:31px;
    height:31px;
    fill:currentColor;
    transform:translateX(2px);
}
.kaimei-about-brand__play-pulse {
    position:absolute;
    inset:5px;
    z-index:1;
    border:1px solid rgba(255,255,255,.85);
    border-radius:50%;
    animation:kaimei-about-video-pulse 1.9s ease-out infinite;
}
.kaimei-about-brand__play:hover .kaimei-about-brand__play-disc,
.kaimei-about-brand__play:focus-visible .kaimei-about-brand__play-disc {
    transform:scale(1.07);
    box-shadow:0 18px 44px rgba(0,0,0,.28);
}
.kaimei-about-brand__play:focus-visible { outline:2px solid var(--km-orange); outline-offset:5px; }
@keyframes kaimei-about-video-pulse {
    0% { transform:scale(.88); opacity:.85; }
    75%,100% { transform:scale(1.55); opacity:0; }
}

/* Generic media modal is shared by Home and About. About does not load home.css. */
.kaimei-video-modal[hidden] { display:none !important; }
.kaimei-video-modal {
    position:fixed;
    inset:0;
    z-index:2200;
    display:grid;
    place-items:center;
    padding:clamp(14px,3vw,38px);
}
.kaimei-video-modal__backdrop { position:absolute; inset:0; border:0; background:rgba(5,8,10,.84); }
.kaimei-video-modal__dialog {
    position:relative;
    z-index:1;
    width:min(1000px,100%);
    aspect-ratio:16/9;
    background:#000;
    box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.kaimei-video-modal__stage,
.kaimei-video-modal__stage iframe,
.kaimei-video-modal__stage video { width:100%; height:100%; display:block; border:0; }
.kaimei-video-modal__stage video { object-fit:contain; background:#000; }
.kaimei-video-modal__close {
    position:absolute;
    z-index:3;
    top:-18px;
    right:-18px;
    width:44px;
    height:44px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#111;
    font-size:28px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(0,0,0,.24);
}
body.kaimei-modal-lock { overflow:hidden; }
@media (max-width:760px) {
    .kaimei-about-brand__media { min-height:0; }
    .kaimei-about-brand__play { width:70px; height:70px; }
    .kaimei-about-brand__play-disc { width:60px; height:60px; }
    .kaimei-about-brand__play-disc svg { width:26px; height:26px; }
    .kaimei-video-modal__close { top:8px; right:8px; }
}
@media (prefers-reduced-motion:reduce) {
    .kaimei-about-brand__play-pulse { animation:none; }
}

/* EXEC-07-FIX-13: Contact Us map aligns to the full width of the four-card block. */
.kaimei-contact-map-inline,
.kaimei-contact-map-inline__bar,
.kaimei-contact-map-inline__frame {
    width:100%;
    max-width:none;
}
@media (max-width:1120px) {
    .kaimei-contact-map-inline__bar,
    .kaimei-contact-map-inline__frame { width:100%; max-width:none; }
}

/* KAIMEI V2 0.9.0 ---------------------------------------------------------
   Contact Us: keep the map the same width as the four contact cards, but let
   its height flex to the inquiry panel instead of forcing a square map that
   makes the right panel stretch into a large empty area. */
@media (min-width:1121px) {
    .kaimei-contact-grid {
        align-items:stretch;
    }
    .kaimei-contact-left {
        height:100%;
        min-height:0;
    }
    .kaimei-contact-map-inline {
        flex:1 1 auto;
        min-height:0;
        margin-top:0;
    }
    .kaimei-contact-map-inline__frame {
        flex:1 1 auto;
        width:100%;
        min-height:230px;
        height:auto;
        aspect-ratio:auto;
    }
    .kaimei-contact-form {
        height:auto;
        min-height:100%;
    }
}
@media (max-width:1120px) {
    .kaimei-contact-map-inline__frame {
        width:100%;
        height:320px;
        min-height:320px;
        aspect-ratio:auto;
    }
}
@media (max-width:640px) {
    .kaimei-contact-map-inline__frame {
        height:280px;
        min-height:280px;
    }
}


/* v0.9.41: Edge/Windows viewport-safe shared video modal. */
.kaimei-video-modal[hidden] { display: none !important; }
.kaimei-video-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    box-sizing: border-box !important;
    display: grid;
    place-items: center;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    max-width: none !important;
    max-height: none !important;
    padding: 24px;
    overflow: auto;
    isolation: isolate;
}
.kaimei-video-modal *, .kaimei-video-modal *::before, .kaimei-video-modal *::after { box-sizing: border-box; }
.kaimei-video-modal__backdrop { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; z-index: 0 !important; }
.kaimei-video-modal__dialog {
    position: relative !important;
    z-index: 1 !important;
    width: min(1000px, calc(100vw - 48px));
    max-width: calc(100vw - 48px) !important;
    height: auto;
    max-height: calc(100vh - 48px);
    aspect-ratio: 16 / 9;
    margin: auto;
    overflow: visible;
    background: #000;
}
.kaimei-video-modal__stage { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; background: #000; }
.kaimei-video-modal__stage iframe, .kaimei-video-modal__stage video { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; display: block; border: 0; }
.kaimei-video-modal__stage video { object-fit: contain; background: #000; }
.kaimei-video-modal__close {
    position: absolute !important;
    z-index: 5 !important;
    top: 12px !important;
    right: 12px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px;
    min-height: 44px;
    display: grid;
    place-items: center;
    padding: 0 !important;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #111;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0,0,0,.24);
}
body.kaimei-modal-lock { overflow: hidden !important; }
@media (max-width: 600px) {
    .kaimei-video-modal { padding: 12px; }
    .kaimei-video-modal__dialog { width: calc(100vw - 24px); max-width: calc(100vw - 24px) !important; }
    .kaimei-video-modal__close { top: 8px !important; right: 8px !important; width: 40px !important; height: 40px !important; min-width: 40px; min-height: 40px; }
}


/* v0.9.42: About KAIMEI certification lightbox with keyboard and arrow navigation. */
.kaimei-certification-thumb { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.kaimei-certification-thumb img { transition:transform .2s ease; }
.kaimei-certification-thumb:hover img { transform:scale(1.025); }
.kaimei-certification-thumb:focus-visible { outline:2px solid var(--km-orange); outline-offset:3px; }
.kaimei-cert-lightbox[hidden] { display:none !important; }
.kaimei-cert-lightbox { position:fixed; inset:0; z-index:2147483001; display:grid; place-items:center; padding:24px; box-sizing:border-box; }
.kaimei-cert-lightbox__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(8,11,14,.88); cursor:default; }
.kaimei-cert-lightbox__dialog { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:min(1100px, calc(100vw - 48px)); height:min(88vh, calc(100dvh - 48px)); }
.kaimei-cert-lightbox__image { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; box-shadow:0 16px 60px rgba(0,0,0,.35); }
.kaimei-cert-lightbox__close { position:absolute; z-index:3; top:0; right:0; width:44px; height:44px; border:0; border-radius:50%; background:#fff; color:#151a1f; font-size:30px; line-height:1; cursor:pointer; box-shadow:0 4px 20px rgba(0,0,0,.25); }
.kaimei-cert-lightbox__nav { position:absolute; z-index:3; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:48px; height:58px; padding:0; border:0; border-radius:8px; background:rgba(255,255,255,.94); color:#151a1f; font-size:42px; line-height:1; cursor:pointer; box-shadow:0 4px 20px rgba(0,0,0,.25); }
.kaimei-cert-lightbox__nav--prev { left:12px; }
.kaimei-cert-lightbox__nav--next { right:12px; }
.kaimei-cert-lightbox__count { position:absolute; left:50%; bottom:-28px; transform:translateX(-50%); color:#fff; font-size:13px; white-space:nowrap; }
body.kaimei-cert-lightbox-lock { overflow:hidden !important; }
@media (max-width:640px) { .kaimei-cert-lightbox { padding:12px; } .kaimei-cert-lightbox__dialog { width:calc(100vw - 24px); height:calc(100dvh - 72px); } .kaimei-cert-lightbox__close { top:-8px; right:-2px; width:40px; height:40px; } .kaimei-cert-lightbox__nav { width:38px; height:48px; font-size:34px; } .kaimei-cert-lightbox__nav--prev { left:4px; } .kaimei-cert-lightbox__nav--next { right:4px; } }
