/* Original photographic red/gold adaptation; retains accessible 0.3 navigation. */
:root { --km-wine:#500a13; --km-deep:#290509; --km-cream:#fff9ef; --km-gold:#e6c477; }
.km-brand-logo { flex:0 0 66px; width:66px; height:66px; object-fit:contain; border:1px solid #c8a653; border-radius:10px; }
.site-header__inner { min-height:96px; }
.brand-mark__text { max-width:290px; }
.brand-mark__text strong { font-size:.95rem; }
.primary-menu { gap:20px; }
.primary-menu a { font-size:.82rem; }
.header-cta { font-size:.8rem; }
.trust-bar { background:#3b070e; }
.km-hero { position:relative; isolation:isolate; background:#36060b; min-height:580px; padding:72px 0 125px; }
.km-hero-grid { position:static; grid-template-columns:1.1fr .9fr; gap:30px; }
.km-hero-copy { position:relative; z-index:2; }
.km-hero h1 { font-size:clamp(2.4rem,4.2vw,4rem); line-height:1.32; }
.km-hero h1 span { font-size:.68em; color:#f3d282; }
.km-hero-copy > p { text-shadow:0 1px 8px #1d0306; }
.km-hero-visual { position:absolute; inset:0; z-index:-1; border:0; border-radius:0; background:#36060b; }
.km-hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#39060df0 0%,#39060dad 38%,transparent 78%); }
.km-hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
.km-hero-visual figcaption { position:absolute; right:24px; bottom:90px; z-index:1; background:#29050988; color:#f4e9d7; font-size:.65rem; padding:4px 8px; border-radius:4px; }
.km-hero-links a { text-decoration:underline; text-underline-offset:4px; }
.km-location-strip { background:#500a13; color:#f7e3b3; }
.km-live-prices { position:relative; background:linear-gradient(#36060b,#500a13); color:#fff; padding:0 0 32px; }
.km-price-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:8px 0 24px; }
.km-price-heading h2 { font-size:1.55rem; margin:0; color:#fff; }
.km-price-heading .eyebrow { font-size:.73rem; margin:0 0 6px; color:#edd097; }
.km-price-heading>a { font-size:.82rem; color:#edd097; text-decoration:underline; }
.km-live-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.km-live-main,.km-live-list { min-width:0; border:1px solid #d9b56788; border-radius:18px; overflow:hidden; box-shadow:0 14px 35px #18030440; }
.km-live-main { padding:28px; background:linear-gradient(125deg,#480b14ed,#8b2630aa),url('../images/hero-red-v4.webp') center/cover; display:flex; flex-direction:column; }
.km-live-main h3 { font-size:1.5rem; color:#fff; margin:0 0 8px; }
.km-live-main>p:not(.km-live-kicker) { font-size:.8rem; color:#f6e6cb; }
.km-live-kicker { color:#f7d78d; letter-spacing:.2em; font-size:.74rem; margin:0 0 10px; }
.km-live-change { align-self:flex-end; background:#fff8e9; color:#7b1920; border-radius:6px; padding:3px 12px; font-weight:800; margin:20px 0; min-height:28px; }
.km-live-change:empty { visibility:hidden; }
.km-big-quotes { display:grid; grid-template-columns:1fr 1fr; margin-top:auto; gap:14px; }
.km-big-quotes>div { padding:16px 12px; background:#fffaf3; color:#590f17; border-radius:10px; text-align:center; }
.km-big-quotes h4 { margin:0 0 8px; font-size:.85rem; color:#704c18; }
.km-big-quotes strong { display:block; font-size:clamp(1.6rem,3vw,2.8rem); line-height:1.3; font-variant-numeric:tabular-nums; }
.km-big-quotes small { display:block; font-size:.65rem; margin-top:8px; }
.km-live-list { background:#fffdf8; color:#4c2020; }
.km-live-list>h3 { background:#841926; color:#fff; margin:0; padding:18px 24px; font-size:1.1rem; }
.km-live-list table { width:100%; border-collapse:collapse; table-layout:fixed; }
.km-live-list th,.km-live-list td { padding:9px 22px; border-bottom:1px solid #efe1ce; text-align:left; }
.km-live-list thead th { font-size:.73rem; background:#f9edda; }
.km-live-list th:first-child { width:65%; }
.km-live-list tbody th { font-size:.86rem; font-weight:600; }
.km-live-list td { text-align:right; font-weight:800; font-size:1rem; font-variant-numeric:tabular-nums; }
.km-live-list th small { display:block; font-size:.61rem; font-weight:400; color:#80635b; }
.km-feed-status { margin-top:20px; font-size:.85rem; color:#f1d496; padding-left:14px; border-left:3px solid #ddb660; }
[data-status="stale"] .km-feed-status,[data-status="unavailable"] .km-feed-status { color:#ffe1b5; border-color:#ffa66b; }
.km-feed-checked,.km-feed-disclaimer { color:#e7cac6; font-size:.72rem; margin:10px 0 0; line-height:1.75; }
.km-chart-section { background:#500a13; padding:20px 0 64px; }
.km-chart-panel { margin-top:0; padding:22px; border-radius:14px; }
.km-chart { height:480px; border-radius:4px; }
.km-chart .tradingview-widget-container__widget { height:calc(100% - 34px)!important; }
.km-chart-attribution { height:34px; background:#fff; color:#633138; }
.km-dark-section { background-color:#500a13; color:#fff; }
.km-dark-section h2,.km-dark-section h3 { color:#fff; }
.km-dark-section .eyebrow,.km-dark-section .km-section-heading>a,.km-gold-text { color:#e7c67d; }
#about-store { background:linear-gradient(130deg,#500a13f2,#4a0812e8),url('../images/hero-red-v4.webp') center/cover; }
.km-story { grid-template-columns:1fr 1fr; }
.km-story>figure { order:2; }
.km-story-collage { position:relative; padding:0 0 80px 70px; }
.km-story-collage>.km-illustration { aspect-ratio:1/1; border-radius:12px; border:2px solid #d6b46d; }
.km-story-collage>.km-collage-inset { position:absolute; width:65%; height:65%; bottom:20px; left:0; object-fit:cover; }
.km-story-collage figcaption { position:absolute; bottom:0; left:0; color:#e1c7bf; font-size:.63rem; }
.km-facts { border:0; gap:18px; }
.km-facts>div { background:#30060b88; border:1px solid #d6b46d33; border-top:2px solid #d6b46d; border-radius:12px; }
.km-facts strong { color:#efcf85; }
.km-facts>div+div { border-left:1px solid #d6b46d33; }
.km-service-photos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.km-service-photos article.km-photo-service { padding:0; position:relative; overflow:hidden; background:#34050d; color:white; border:1px solid #bd954144; border-radius:12px; }
.km-photo-service>.km-illustration { height:260px; width:100%; object-fit:cover; }
.km-photo-service>.km-illustration[alt*="โลโก้"] { object-fit:contain; background:#690f19; }
.km-photo-copy { padding:24px; width:100%; background:linear-gradient(#791624,#3c0a12); }
.km-photo-copy h3 { display:inline; font-size:1.25rem; color:#fff; }
.km-photo-copy .km-card-index { border:0; font-size:1.9rem; color:#eac278; margin-right:12px; }
.km-photo-copy p { color:#efddd6!important; margin-top:10px; }
.km-photo-copy a { color:#f4d18b!important; }
.km-image-note { font-size:.7rem; color:#ddc1ba; margin-top:16px; }
.km-qr-banner { background:linear-gradient(90deg,#4c0810ef 0%,#67141bd4 65%,#5c0c1470),url('../images/hero-red-v4.webp') center/cover; }
.km-qr-banner>div { gap:32px; }
.km-qr-banner .km-line-qr { flex:0 0 145px; }
.km-qr-banner>div>div { flex:1; }
.km-line-qr { display:flex; flex-direction:column; width:150px; max-width:100%; align-items:center; gap:7px; color:#fff; text-decoration:none; }
.km-line-qr img { display:block; width:100%; height:auto; aspect-ratio:1; background:#fff; border:9px solid white; border-radius:9px; object-fit:contain; }
.km-line-qr span { display:block; background:#137d3b; color:white; border-radius:5px; padding:6px 10px; font-size:.72rem; text-align:center; width:100%; }
.km-why-section { background:linear-gradient(90deg,#fff8eef7 0%,#fff8eeee 57%,#fff8ee77),url('../images/hero-red-v4.webp') center/cover; }
.km-why-section .section-heading { text-align:left; max-width:650px; margin-inline:0; }
.km-why-section .km-three { display:grid; grid-template-columns:1fr; max-width:660px; gap:14px; }
.km-why-section article { display:grid; grid-template-columns:36px 1fr; column-gap:16px; padding:22px; background:#fffaf7ed; }
.km-why-section article h3 { margin:0 0 7px; }
.km-why-section article p { grid-column:2; margin:0; }
.km-products .km-product { padding:0 0 24px; overflow:hidden; background:#34070e; color:#fff; border-radius:12px; border-color:#dbb97666; }
.km-product>.km-illustration { width:100%; height:230px; object-fit:cover; }
.km-product>:not(img) { margin-left:24px; margin-right:24px; }
.km-product h3 { color:#f4d490; margin-top:12px; margin-bottom:10px; font-size:1.9rem; }
.km-product small { color:#e8c9c2; }
.km-product a { color:#f4d490; border-color:#dbb97644; }
.km-product-label { color:#d4ab67; margin-top:18px; }
.km-reviews { background:#6d1420; color:#fff; }
.km-reviews h2,.km-reviews .eyebrow,.km-reviews .km-section-heading>a { color:#f4d69a; }
.km-review,.km-review-empty { color:#482229; }
.km-review { flex-basis:calc(33.333% - 14px); }
.km-guide-grid article { overflow:hidden; }
.km-guide-grid .km-illustration { width:calc(100% + 56px); max-width:none; margin:-28px -28px 18px; height:190px; object-fit:cover; }
.km-guide-grid h2 { font-size:1.3rem; }
.km-contact-section { background:linear-gradient(#42070ee8,#6d1420ef),url('../images/hero-red-v4.webp') center/cover; }
.km-contact-section .km-location-card:not(.km-location-card--red) { color:#4c2426; }
.km-contact-section .km-location-card:not(.km-location-card--red) h3 { color:#6c1823; }
.km-location-logo { float:left; width:100px; height:100px; object-fit:contain; border-radius:8px; margin:0 20px 16px 0; }
.km-location-card .km-line-qr { margin:20px 0; }
.site-footer { background:#fffaf2; color:#5b3030; border-radius:24px 24px 0 0; }
.site-footer h2,.site-footer h3,.site-footer a,.footer-kicker { color:#751a24; }
.site-footer p,.site-footer li { color:#775954; }
.km-footer-logo { width:150px; height:150px; object-fit:contain; margin-bottom:20px; border-radius:10px; }
.footer-brand h2 { font-size:1.2rem; }
.footer-bottom { border-color:#ddcaa6; }
.km-footer-qr { width:132px; margin-bottom:20px; }
.km-floating-line { position:fixed; z-index:400; right:12px; top:38%; width:102px; padding:8px; border-radius:10px; background:#570e17ed; box-shadow:0 3px 20px #21030825; }
.km-floating-line .km-line-qr { width:100%; gap:5px; }
.km-floating-line img { border-width:5px; }
.km-floating-line span { font-size:.56rem; padding:5px 2px; }
.inner-hero { background:linear-gradient(#33060bc9,#33060bf2),url('../images/smelting-v4.webp') center/cover; color:#fff; text-align:center; padding:72px 0; }
.inner-hero::after { display:none; }
.inner-hero__inner { position:relative; }
.inner-hero .breadcrumb { justify-content:center; }
.inner-hero h1 { font-size:clamp(2.2rem,4vw,3.5rem); }
.inner-hero__lead { max-width:750px; margin-inline:auto; }
.page-template-products .inner-hero,.page-template-contact .inner-hero { background-image:linear-gradient(#33060bcc,#33060bed),url('../images/hero-red-v4.webp'); }
.km-about-logo { width:100%; max-width:260px; height:auto; border-radius:14px; grid-row:span 2; }
.story-grid { grid-template-columns:.7fr 1.3fr; }
.story-grid>.prose-large { grid-column:2; }
.km-process-image { width:100%; height:240px; object-fit:cover; border-radius:14px; margin-top:28px; }
.product-card { overflow:hidden; }
.product-card .km-illustration { width:calc(100% + 64px); max-width:none; height:180px; object-fit:cover; margin:-32px -32px 22px; }
.km-contact-qr { width:100%; flex-direction:row; padding:22px; gap:24px; background:#fff; border:1px solid #e9d9c4; border-radius:16px; }
.km-contact-qr img { width:150px; flex:0 0 150px; }
.km-contact-qr span { width:auto; font-size:.9rem; padding:12px 20px; }
.km-photo-location { border-top:3px solid #c99c45; }
.content-shell__header { padding:36px; border-radius:16px; color:#fff; background:linear-gradient(90deg,#490912f5,#4909129c),url('../images/hero-red-v4.webp') center/cover; }
.content-shell__header .eyebrow,.content-shell__header h1,.content-shell__header p { color:#fff6e9; }
@media(min-width:1500px){.km-floating-line{right:25px;width:125px;}.km-floating-line span{font-size:.65rem;}}
@media(max-width:1280px){.km-floating-line{display:none;}.primary-menu{gap:12px;}.brand-mark__text{max-width:250px;}}
@media(max-width:1080px){.brand-mark__text{max-width:430px;}.brand-mark__text strong{font-size:1rem;}.primary-menu a{font-size:1rem;}.site-header__inner{min-height:90px;}}
@media(max-width:900px){
 .km-hero-grid { grid-template-columns:1fr; }.km-hero { min-height:0; padding:50px 0 90px; }.km-hero-copy { max-width:580px; }.km-hero-visual::after { background:linear-gradient(90deg,#39060ded,#39060da0); }
 .km-live-grid{gap:18px;}.km-live-main{padding:22px;}.km-big-quotes{grid-template-columns:1fr;gap:10px;}.km-big-quotes>div{padding:10px;}.km-big-quotes strong{font-size:1.9rem;}.km-live-change{margin:8px 0;}
 .km-story { grid-template-columns:1fr; }.km-story>figure{order:0;max-width:620px;}.km-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}.km-product>.km-illustration{height:170px;}.km-product>:not(img){margin-inline:18px;}
 .km-qr-banner>div{flex-direction:row;flex-wrap:wrap;}.km-qr-banner .km-line-qr{flex:0 0 125px;}.km-qr-banner>div>div{flex:1 1 300px;}
 .km-service-photos{grid-template-columns:repeat(2,minmax(0,1fr));}.km-photo-service>.km-illustration{height:220px;}.km-contact-qr img{width:120px;flex-basis:120px;}.km-contact-qr{gap:14px;padding:16px;}
}
@media(max-width:620px){
 .km-brand-logo{width:48px;height:48px;flex-basis:48px;border-radius:6px;}.site-header__inner{min-height:80px;}.brand-mark__text strong{font-size:.77rem;}.brand-mark__text small{font-size:.52rem;}.brand-mark{gap:9px;}
 .km-hero{padding:38px 0 190px;}.km-hero h1{font-size:clamp(1.95rem,8vw,2.9rem);}.km-hero h1 span{font-size:.7em;}.km-hero-visual::after{background:linear-gradient(#39060ded 0%,#39060dde 53%,#39060d33 85%);}.km-hero-visual img{object-position:66% bottom;}.km-hero-visual figcaption{bottom:14px;right:18px;}.km-hero-links{font-size:.75rem;}
 .km-hero .km-actions{gap:9px;}.km-hero .km-actions>.button{width:auto;flex:1 1 130px;padding:12px 10px;font-size:.8rem;}
 .km-live-prices{padding-bottom:26px;}.km-price-heading{flex-direction:column;align-items:flex-start;gap:10px;padding-top:26px;}.km-price-heading h2{font-size:1.35rem;}.km-live-grid{grid-template-columns:1fr;}.km-live-main{padding:22px 18px;}.km-live-main h3{font-size:1.35rem;}.km-live-main>p:not(.km-live-kicker){font-size:.72rem;}.km-big-quotes{grid-template-columns:1fr 1fr;gap:10px;}.km-big-quotes strong{font-size:1.8rem;}.km-big-quotes h4{font-size:.71rem;}.km-big-quotes small{font-size:.57rem;}.km-live-list th,.km-live-list td{padding:10px 16px;}.km-live-list tbody th{font-size:.81rem;}.km-feed-status{font-size:.76rem;}.km-feed-checked,.km-feed-disclaimer{font-size:.68rem;}
 .km-chart-section{padding:20px 0 36px;}.km-chart-panel{padding:14px;}.km-chart-panel .km-section-heading{gap:12px;margin-bottom:18px;}.km-chart-panel h3{font-size:1.08rem;}.km-chart-panel p{font-size:.72rem;}.km-chart{height:390px;}
 .km-story-collage{padding:0 0 65px 40px;}.km-story-collage figcaption{font-size:.59rem;}.km-facts{gap:10px;}.km-facts>div{padding:16px;}.km-facts strong{font-size:1.5rem;}
 .km-service-photos{grid-template-columns:1fr;gap:18px;}.km-photo-service>.km-illustration{height:220px;}.km-photo-copy{padding:20px;}.km-photo-copy .km-card-index{font-size:1.55rem;}.km-photo-copy h3{font-size:1.13rem;}
 .km-qr-banner>div{gap:22px;}.km-qr-banner .km-line-qr{width:115px;flex:0 0 115px;}.km-qr-banner .km-line-qr span{font-size:.6rem;}.km-qr-banner>div>div{flex:1 1 160px;}.km-qr-banner h2{font-size:1.4rem;}.km-qr-banner p{font-size:.83rem;}.km-qr-banner .button{font-size:.82rem;}
 .km-products{grid-template-columns:1fr;gap:18px;}.km-product>.km-illustration{height:230px;}.km-product>:not(img){margin-inline:22px;}.km-product h3{font-size:1.75rem;}.km-why-section article{padding:18px;grid-template-columns:28px 1fr;gap:8px 12px;}.km-why-section{background-position:65% center;}
 .km-review{flex-basis:90%;}.km-guide-grid .km-illustration{width:calc(100% + 48px);margin:-24px -24px 16px;}.km-location-logo{width:75px;height:75px;margin-right:14px;}.km-location-card h3{font-size:1.13rem;}.km-location-card .km-line-qr{width:165px;}
 .site-footer{border-radius:18px 18px 0 0;}.km-footer-logo{width:130px;height:130px;}.km-footer-qr{width:145px;}.inner-hero{padding:44px 0;}.inner-hero h1{font-size:2rem;}.inner-hero__lead{font-size:.91rem;}.story-grid{grid-template-columns:1fr;gap:24px;}.story-grid>.prose-large{grid-column:auto;}.km-about-logo{max-width:220px;grid-row:auto;}.km-contact-qr{flex-direction:column;align-items:center;}.km-contact-qr img{width:180px;flex-basis:auto;}.km-contact-qr span{width:100%;}.content-shell__header{padding:24px 20px;}.content-shell__header h1{font-size:1.9rem;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
