/* GTMICE page system: equipment, application photographs, readable buying guidance. */
:root { --ink:#20272b; --muted:#52616a; --paper:#fff; --white:#fff; --primary:#c8102e; --primary-hover:#a80c25; --line:#dce2e5; --wash:#f4f6f7; --cool:#285767; --lime:#e9f1f2; --space-xs:8px; --space-sm:16px; --space-md:24px; --space-lg:32px; --space-xl:48px; --space-section:80px; }
.gtmice-site { font-size:17px; line-height:1.65; }
.gtmice-site h1 { font-family:var(--body); font-size:clamp(2.5rem,4vw,3.5rem); line-height:1.15; letter-spacing:-.025em; }
.gtmice-site h2,.gtmice-site h3 { font-family:var(--body); font-weight:600; letter-spacing:-.015em; line-height:1.25; }
.gtmice-site h2 { font-size:clamp(1.65rem,2.5vw,2.25rem); }
.gtmice-site h3 { font-size:1.3rem; }
.gtmice-site p { text-wrap:pretty; }
.page-shell,.home-content,.article-shell { max-width:1280px; padding-inline:clamp(20px,4vw,48px); }
.page-shell { padding-top:32px; padding-bottom:80px; }
.breadcrumb { margin-block:0 32px; font-size:14px; }
.page-heading { max-width:none; padding-block-end:32px; margin-block-end:40px; }
.page-heading h1 { margin:0 0 20px; max-width:25ch; }
.page-intro { max-width:66ch; font-size:18px; line-height:1.65; margin:0; }
.page-content > p,.page-content > ul,.page-content > ol { max-width:72ch; }
.page-content h2 { margin-top:48px; font-size:clamp(1.6rem,2.3vw,2rem); }
.page-content h3 { font-size:1.3rem; }
.page-content a { color:var(--primary); }
.page-content h2 a,.page-content h3 a { color:var(--ink); text-decoration:none; }
.page-content h2 a:hover,.page-content h3 a:hover { color:var(--primary); text-decoration:underline; }
.button { border-radius:6px; gap:16px; padding:12px 20px; font-size:16px; }
.button:hover { background:var(--primary-hover); filter:none; }
.page-content p > a.button + a:not(.button) { display:inline-flex; align-items:center; min-height:44px; margin-inline-start:16px; }
@supports selector(p:has(> a.button + a)) {
 .page-content p:has(> a.button + a:not(.button)) { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin-block:32px; }
 .page-content p:has(> a.button + a:not(.button)) > a { margin:0; }
}
.home-content .home-section { padding-block:clamp(48px,6vw,80px); }
.home-section-heading { gap:48px; margin-bottom:32px; }
.home-section-heading h2 { margin-bottom:0; }
.home-content .home-section-heading .home-kicker,.home-content .home-company .home-kicker,.home-content .home-enquiry .home-kicker { display:none; }
.home-kicker { text-transform:none; letter-spacing:0; font-size:14px; }
.home-content .home-section-heading > p { margin:0; font-size:17px; }
.home-content .home-section-heading > div > p { margin-bottom:12px; }
.home-content .home-section:not(.home-enquiry) { border-color:var(--line); }
.home-application-gallery,.application-gallery { gap:32px; }
.application-feature figure img,.application-tile figure img,.application-lead > figure img { object-fit:cover; background:var(--wash); border-radius:8px; }
.application-feature .media-equipment,.application-tile .media-equipment,.application-lead > figure .media-equipment { object-fit:contain; }
.home-application-gallery .application-feature h3,.application-gallery .application-tile h3 { font-size:1.35rem; margin-top:20px; }
.application-feature p,.application-tile p { font-size:16px; line-height:1.65; }
.application-feature figcaption,.application-tile figcaption { font-size:13px; line-height:1.5; }
.application-links { gap:4px 20px; }
.application-links a { font-size:15px; }
.application-gallery { row-gap:40px; margin-bottom:48px; }
.application-gallery > .application-tile { border:0; }
.application-gallery.application-gallery-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.application-gallery-two .application-tile { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); column-gap:24px; align-content:start; }
.application-gallery-two .application-tile figure { grid-row:1/5; }
.application-gallery-two .application-tile h3 { margin-top:0; }
.application-gallery-two .application-tile figure img { aspect-ratio:3/4; }
.application-feature > .button,.application-tile > .button { background:transparent; color:var(--primary)!important; padding:8px 0; min-height:44px; justify-content:flex-start; }
.application-feature > .button:hover,.application-tile > .button:hover { text-decoration:underline; }
.supply-overview { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr) minmax(0,.65fr); gap:32px; align-items:center; padding:32px; margin-bottom:48px; background:var(--wash); border-radius:8px; }
.supply-overview > * { min-width:0; }
.supply-overview figure { margin:0; }
.supply-overview figure img { aspect-ratio:3/4; width:100%; object-fit:contain; border-radius:6px; }
.supply-overview h2 { margin-top:0; font-size:1.75rem; }
.supply-overview p { font-size:17px; }
.model-gallery { gap:24px; margin-bottom:48px; }
.model-gallery > article { flex:1 1 150px; max-width:calc(20% - 20px); }
.model-gallery figure img { aspect-ratio:3/4; object-fit:contain; border-radius:8px; }
.model-gallery h3 { font:600 22px/1.25 var(--body); }
.model-gallery h3 a { color:var(--ink); text-decoration:none; }
.model-gallery h3 a:hover { color:var(--primary); text-decoration:underline; }
.model-gallery p { font-size:14px; color:var(--muted); line-height:1.55; }
.product-overview { gap:48px; align-items:center; margin-bottom:48px; }
.product-overview > * { min-width:0; }
.product-overview figure img { max-height:520px; border-radius:8px; }
.product-overview > div > h2 { font-size:1.75rem; }
.product-overview .equipment-table td:first-child { font:600 16px/1.5 var(--body); }
.table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; margin-block:20px 32px; border:1px solid var(--line); border-radius:6px; }
.page-content .table-scroll > table,.article-content .table-scroll > table { display:table; width:100%; margin:0; border:0; }
.page-content .table-scroll th,.page-content .table-scroll td { min-width:7rem; padding:14px 16px; font-size:15px; }
.equipment-table td:first-child { font:600 18px/1.5 var(--body); }
.equipment-table td:first-child a { color:var(--ink); text-decoration:none; }
.equipment-table th { background:var(--wash); }
.company-research { background:var(--wash); padding:32px; margin-block:40px 64px; border-radius:8px; }
.home-content .company-research { margin-block:0; }
.home-company,.company-workshop { gap:48px; }
.home-company img,.company-workshop img { border-radius:8px; }
.exhibition-card img,.home-exhibitions img { aspect-ratio:16/10; object-fit:cover; border-radius:8px; }
.contact-details { background:var(--wash); border-radius:8px; }
.contact-details .contact-whatsapp,.site-footer a[href^="https://wa.me/"] { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; background:#25D366; color:#102b1b; border-radius:6px; font-weight:600; text-decoration:none; }
.site-footer { background:#20272b; color:#fff; padding:48px max(24px,calc((100% - 1184px)/2)) 24px; }
.site-footer .wordmark { color:#fff; }
.site-footer .footer-top { padding-bottom:32px; border-color:#4a565c; }
.site-footer .footer-top h2 { font-size:clamp(1.7rem,2.7vw,2.25rem); }
.site-footer .footer-grid { padding-block:32px; gap:40px; }
.site-footer .footer-grid > * { min-width:0; }
.site-footer .footer-grid h3 { font-size:16px; letter-spacing:0; }
.site-footer .footer-grid p,.site-footer .footer-bottom { color:#c7d0d5; font-size:14px; }
.site-footer .footer-bottom { border-color:#4a565c; }
.site-footer .footer-grid nav a { min-height:32px; font-size:14px; margin-bottom:4px; }
.site-footer .footer-grid a:hover { color:#fff; text-decoration:underline; }
.site-footer a[href^="https://wa.me/"]:hover { color:#102b1b; background:#20bd5a; text-decoration:none; }
.site-footer :focus-visible { outline-color:#fff; }
.buyer-guidance { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:48px; margin-block:64px; padding-top:40px; border-top:1px solid var(--line); }
.buyer-guidance > h2,.buyer-guidance-heading { margin:0; font-size:1.75rem; }
.buyer-guidance-answers,.buyer-guidance-list { min-width:0; }
.page-content .buyer-answer { border-top:0; border-bottom:1px solid var(--line); padding:0; }
.buyer-answer summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; min-height:64px; padding-block:20px; }
.buyer-answer summary::-webkit-details-marker { display:none; }
.buyer-answer summary h2,.buyer-answer summary h3 { font:600 18px/1.45 var(--body); margin:0; text-align:start; }
.buyer-answer summary::after { content:'+'; flex:0 0 24px; font:400 24px/1 var(--body); color:var(--primary); text-align:center; }
.buyer-answer[open] summary::after { content:'−'; }
.buyer-answer .buyer-answer-body { padding-bottom:24px; }
.buyer-answer p,.buyer-answer ul,.buyer-answer ol { font-size:17px; line-height:1.65; }
.page-content .buyer-answer p { padding-top:0; }
.buyer-answer p:last-child { margin-bottom:0; }
@media (max-width:1120px) { .model-gallery > article { max-width:calc(33.333% - 16px); flex-basis:180px; } }
@media (max-width:900px) {
 .application-gallery-two .application-tile { display:flex; flex-direction:column; }
 .application-gallery-two .application-tile h3 { margin-top:20px; }
 .application-gallery-two .application-tile figure img { aspect-ratio:4/3; }
 .supply-overview { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:24px; }
 .supply-overview > div { grid-column:1/-1; grid-row:1; }
 .supply-overview figure img { max-height:320px; }
}
@media (max-width:800px) {
 .site-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
 .page-shell { padding-block:24px 56px; }
 .page-heading { margin-bottom:32px; padding-bottom:24px; }
 .page-intro { font-size:17px; }
 .breadcrumb { margin-bottom:24px; }
 .gtmice-site h1 { font-size:clamp(2rem,7.5vw,2.8rem); }
 .model-gallery > article { max-width:calc(50% - 12px); flex-basis:calc(50% - 12px); }
 .product-overview { gap:24px; align-items:start; }
 .company-research { padding:24px; }
 .home-company { gap:24px; }
 .buyer-guidance { grid-template-columns:minmax(0,1fr); gap:16px; margin-block:48px; padding-top:32px; }
 .buyer-answer summary { min-height:64px; }
}
@media (max-width:480px) { .supply-overview { gap:20px; padding:20px; } .page-content .table-scroll th,.page-content .table-scroll td { padding:12px; } }
@media (max-width:360px) { .site-footer .footer-grid { grid-template-columns:minmax(0,1fr); gap:24px; } }
