/* Full-width, page-specific upper compositions. Source photos and PV stay uncropped. */
body[data-gat-page] .gat-v3 :is(.v8-home-hero,.v3-hero,.v6-ec-hero,.v7-detail-hero,.v7-work-hero,.v7-faq-hero){width:100%;max-width:none;box-sizing:border-box;margin-inline:0;position:relative;overflow:hidden}
body[data-gat-page] .gat-v3 :is(.v6-ec-hero,.v7-detail-hero,.v7-work-hero,.v7-faq-hero){padding:90px max(6vw,24px)!important;min-height:650px}
body[data-gat-page] .gat-v3 :is(.v7-detail-hero,.v7-work-hero){grid-template-columns:1.05fr 1fr;gap:6vw;background:linear-gradient(120deg,#f6f5ef 0 55%,#e7e9e2 55%)}
body[data-gat-page] .gat-v3 :is(.v7-detail-hero,.v7-work-hero) h1{font-size:clamp(36px,4.1vw,62px);line-height:1.35;letter-spacing:-.045em}
body[data-gat-page] .gat-v3 :is(.v7-hero-photo,.v7-hero-glyph){margin:0;justify-self:center;width:100%;max-width:606px}
body[data-gat-page] .v7-hero-photo img{width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:0;display:block}
body[data-gat-page] .v7-hero-photo figcaption{font-size:11px;margin-top:16px;color:#4a5253}
body[data-gat-page] .v7-hero-glyph{padding:50px;background:#fff;border-radius:0;box-shadow:20px 20px 0 #e6001214}
body[data-gat-page] .v7-hero-glyph>svg{height:280px;width:100%}
body[data-gat-page="service/coating"] .v7-detail-hero{background:linear-gradient(130deg,#16202b 0 58%,#263b49 58%);color:#fff}
body[data-gat-page="service/coating"] .v7-detail-hero :is(h1,p){color:#fff}body[data-gat-page="service/coating"] .v7-detail-hero h1 em{color:#ff6675}body[data-gat-page="service/coating"] .v7-hero-glyph{background:#f6f9fa;box-shadow:20px 20px 0 #ffffff09}
body[data-gat-page="service/custom"] .v7-detail-hero{background:linear-gradient(150deg,#edece6 0 60%,#dad7cd 60%)}
body[data-gat-page="service/bodywork"] .v7-detail-hero{border-bottom:12px solid #e60012;background:linear-gradient(115deg,#f7f4ee 0 53%,#222a2c 53%)}body[data-gat-page="service/bodywork"] .v7-hero-photo figcaption{color:#cbd3d0}
body[data-gat-page="service/maintenance"] .v7-detail-hero{background:linear-gradient(120deg,#f0f4f1 0 53%,#d6e2dc 53%)}
body[data-gat-page="service/ipf"] .v11-hero{background:linear-gradient(120deg,#f5f5f1 0 53%,#dbe2e0 53%)}body[data-gat-page="service/ipf"] .v11-visual-panel{border-radius:0;min-height:380px}
body[data-gat-page="partners"] .v14-partner-hero{background:#f2f0e9}body[data-gat-page="partners"] .v14-partner-art{border-radius:0;box-shadow:22px 22px 0 #e6001217}
body[data-gat-page="work"] .v7-work-hero{background:linear-gradient(115deg,#e9e5db 0 55%,#d2c9b8 55%)}body[data-gat-page="work"] .v7-work-hero>img{max-width:514px;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0;justify-self:center;box-shadow:20px 20px 0 #0001}
body[data-gat-page="home"] .v8-home-hero{background:#172126;color:#fff;grid-template-columns:44% 56%;min-height:720px;align-items:center}body[data-gat-page="home"] .v8-hero-copy{padding:80px max(5vw,24px)}body[data-gat-page="home"] .v8-hero-copy h1{color:#fff;font-size:clamp(60px,7.2vw,108px)}body[data-gat-page="home"] .v8-hero-copy h1 em{color:#ff4258}body[data-gat-page="home"] .v8-hero-lead{color:#e0e7e6}body[data-gat-page="home"] .v8-hero-ec{color:#d1dcda;border-color:#ffffff26}body[data-gat-page="home"] .v8-hero-ec b{color:white}body[data-gat-page="home"] .v8-hero-media{padding:36px 24px 36px 0;background:#172126;min-height:0}body[data-gat-page="home"] .v10-video-screen{border-radius:0}body[data-gat-page="home"] .v8-video-footer{color:#e3e8e8}body[data-gat-page="home"] .v8-video-toggle{border:1px solid #ffffff4a}
body[data-gat-page="service"] .v3-hero,body[data-gat-page="car_sales"] .v3-hero{min-height:730px;background:#f4f4ef;padding:85px 6vw;display:flex;align-items:center}body[data-gat-page="car_sales"] .v3-hero{background:linear-gradient(90deg,#17232a 0 47%,#fafaf8 47%)}body[data-gat-page="car_sales"] .v3-hero-copy :is(h1,p){color:#fff}body[data-gat-page="car_sales"] .v3-hero-copy h1 em{color:#ff4d61}body[data-gat-page="service"] .v3-hero-copy,body[data-gat-page="car_sales"] .v3-hero-copy{width:46%;max-width:690px;position:relative;z-index:2;padding:0}body[data-gat-page="service"] .v3-hero h1,body[data-gat-page="car_sales"] .v3-hero h1{font-size:clamp(42px,4.8vw,73px);line-height:1.32}body[data-gat-page="service"] .v3-hero-image,body[data-gat-page="car_sales"] .v3-hero-image{position:absolute;left:auto;right:0;top:0;bottom:0;width:57%;height:100%;max-width:1100px;transform:none!important;align-self:stretch;margin:0;background:#fafaf8;z-index:0}body[data-gat-page] .v3-hero-image>.v9-photo-frame{position:absolute!important;inset:0!important;align-self:stretch;height:100%!important;width:100%}body[data-gat-page] .v3-hero-image img{object-fit:contain!important;object-position:center;max-width:1672px;width:100%;height:100%}body[data-gat-page] .v3-hero-image:after{display:none}body[data-gat-page] .v3-hero-image figcaption{position:absolute;bottom:24px;left:24px;color:#4a5051;font-size:11px}body[data-gat-page] .v3-hero-index{display:none}
body[data-gat-page="ec"] .v6-ec-hero{background:linear-gradient(118deg,#f3f0e8 0 48%,#e7e5dc 48%);grid-template-columns:.9fr 1.1fr;gap:50px}body[data-gat-page="ec"] .v6-ec-copy h1{font-size:clamp(40px,4.2vw,65px);line-height:1.42}body[data-gat-page="ec"] .v6-shop-art{border:0;border-radius:0;padding:30px;background:#fff;box-shadow:20px 20px 0 #e6001217}body[data-gat-page="ec"] .v6-shop-art>svg{max-height:150px;opacity:.65}body[data-gat-page="ec"] .v6-art-label{font-size:11px}body[data-gat-page="ec"] .v6-art-label b{font-size:14px}.v20-ec-product-stage{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.v20-ec-product-stage a{display:flex;flex-direction:column;align-items:center;background:#f7f7f4;padding:10px;text-decoration:none}.v20-ec-product-stage a:first-child{grid-row:span 2;justify-content:center}.v20-ec-product-stage img{width:100%;height:160px;object-fit:contain}.v20-ec-product-stage a:first-child img{height:260px}.v20-ec-product-stage span{font-size:13px;font-weight:700;margin-top:10px}
body[data-gat-page="faq"] .v7-faq-hero{background:linear-gradient(120deg,#f4f2eb 0 70%,#e4e0d5 70%);border-bottom:8px solid #e60012}body[data-gat-page="faq"] .v7-faq-hero h1{font-size:clamp(40px,4.8vw,70px);line-height:1.4}body[data-gat-page="faq"] .v7-category-nav{max-width:1100px}.v20-raw-hero{box-sizing:border-box;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;min-height:600px;padding:75px max(6vw,24px);position:relative;overflow:hidden;background:#eceee8;color:#18242a}.v20-raw-copy>p{font:700 12px/1.7 Arial,sans-serif;letter-spacing:.16em;color:#e60012;margin:0 0 22px}.v20-raw-copy h1{font-size:clamp(40px,5.5vw,82px)!important;line-height:1.3!important;letter-spacing:-.035em;margin:0 0 24px!important;text-align:left!important;color:inherit}.v20-raw-copy>span{display:block;font-size:20px;line-height:1.7}.v20-raw-copy>a{display:inline-flex;gap:30px;padding:18px 22px;border:1px solid #84918c;margin-top:30px;font-size:14px;color:inherit}.v20-raw-hero figure{margin:0;width:100%;max-width:606px}.v20-raw-hero img{width:100%;height:auto!important;display:block;object-fit:contain}.v20-about-hero{background:#1f2b2d;color:#fff}.v20-about-hero figure{box-shadow:22px 22px 0 #ffffff0b}.v20-about-hero .v20-raw-copy>p{color:#ff586a}.v20-staff-hero{background:#ebe8e0;min-height:650px}.v20-staff-portraits{display:grid;grid-template-columns:1fr 1fr;gap:15px}.v20-staff-portraits img{border-radius:0!important;max-width:500px}.v20-staff-portraits img:nth-child(2){margin-top:60px}.v20-staff-hero .v20-raw-copy h1{font-size:clamp(36px,4vw,60px)!important}.staff-page .staff{padding-top:0!important}.staff-page .v20-staff-hero{margin-bottom:80px}.v20-quiet-art{display:block;width:100%;height:auto;max-width:650px}.v20-quiet-art path{fill:none;stroke-linejoin:round;stroke-linecap:round}.v20-art-grid{stroke:#d8dfd8;stroke-width:1}.v20-art-object{stroke:#334c56;stroke-width:4}.v20-art-line{stroke:#e60012;stroke-width:4;stroke-dasharray:100 400}.v20-quiet-art.v5-live:not(.v5-paused) .v20-art-line{animation:v20-line 7s ease-in-out infinite alternate}@keyframes v20-line{to{stroke-dashoffset:-400}}.v20-contact-hero{min-height:480px;background:#f1f3ed}.v20-privacy-hero{min-height:400px;background:#f5f3ee}.v20-contact-hero .v20-raw-copy h1,.v20-privacy-hero .v20-raw-copy h1{font-size:clamp(34px,4.5vw,60px)!important}.v20-privacy-hero .v20-quiet-art{max-height:280px}body[data-gat-page="contact"] .v8-contact-main{max-width:none;padding-inline:0}body[data-gat-page="contact"] .v8-contact-main>:not(.v20-raw-hero){max-width:1100px;margin-inline:auto;width:calc(100% - 48px);box-sizing:border-box}body[data-gat-page="privacypolicy"] .l-main{max-width:none;width:100%;padding-inline:0}body[data-gat-page="privacypolicy"] .text_area{max-width:1050px;margin:60px auto;padding:0 24px;box-sizing:border-box}
body[data-gat-page="knowledge"] .page-heading{width:100%;max-width:none;padding:85px 6vw;box-sizing:border-box;background:linear-gradient(120deg,#efece4 0 70%,#ddd8c9 70%);border-bottom:8px solid #e60012}body[data-gat-page="knowledge"] .page-heading h1{font-size:clamp(36px,5vw,72px)}
@media(max-width:1100px) and (min-width:769px){body[data-gat-page] .gat-v3 :is(.v7-detail-hero,.v7-work-hero){gap:30px;padding-inline:30px!important}body[data-gat-page] .gat-v3 :is(.v7-detail-hero,.v7-work-hero) h1{font-size:40px}body[data-gat-page] .v3-hero-copy .v3-actions{flex-direction:column;align-items:flex-start}.v20-raw-hero{padding-inline:30px;gap:30px}}
@media(max-width:768px){body[data-gat-page] .gat-v3 :is(.v6-ec-hero,.v7-detail-hero,.v7-work-hero,.v7-faq-hero){padding:48px 24px!important;min-height:0;grid-template-columns:1fr;gap:36px}body[data-gat-page] .gat-v3 :is(.v7-detail-hero,.v7-work-hero) h1{font-size:clamp(30px,8.3vw,42px);line-height:1.4}body[data-gat-page] .v7-hero-photo{max-width:606px}body[data-gat-page] .v7-hero-glyph{padding:30px;box-shadow:10px 10px 0 #e6001214}body[data-gat-page] .v7-hero-glyph>svg{height:220px}body[data-gat-page="service/bodywork"] .v7-detail-hero{background:linear-gradient(180deg,#f7f4ee 0 57%,#222a2c 57%)}body[data-gat-page="home"] .v8-home-hero{grid-template-columns:1fr;min-height:0}body[data-gat-page="home"] .v8-hero-copy{padding:50px 24px 30px}body[data-gat-page="home"] .v8-hero-copy h1{font-size:clamp(58px,16vw,80px)}body[data-gat-page="home"] .v8-hero-media{padding:20px 0 26px;width:100%;min-height:0}body[data-gat-page="home"] .v8-video-footer{padding-inline:20px}body[data-gat-page="service"] .v3-hero,body[data-gat-page="car_sales"] .v3-hero{display:flex;flex-direction:column;align-items:stretch;padding:48px 0 0;min-height:0;background:#f4f4ef}body[data-gat-page="car_sales"] .v3-hero{background:#17232a}body[data-gat-page="service"] .v3-hero-copy,body[data-gat-page="car_sales"] .v3-hero-copy{width:auto;max-width:none;padding:0 24px 40px}body[data-gat-page="service"] .v3-hero h1,body[data-gat-page="car_sales"] .v3-hero h1{font-size:clamp(34px,9vw,43px)}body[data-gat-page="service"] .v3-hero-image,body[data-gat-page="car_sales"] .v3-hero-image{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1672/941;max-width:none}body[data-gat-page] .v3-hero-image figcaption{bottom:10px;left:18px;font-size:9px}body[data-gat-page="ec"] .v6-ec-copy h1{font-size:clamp(34px,9vw,44px)}body[data-gat-page="ec"] .v6-shop-art{padding:18px;box-shadow:10px 10px 0 #e6001217}.v20-ec-product-stage img{height:95px}.v20-ec-product-stage a:first-child img{height:180px}body[data-gat-page="faq"] .v7-faq-hero h1{font-size:clamp(32px,8.5vw,42px)}.v20-raw-hero{grid-template-columns:1fr;gap:32px;min-height:0;padding:50px 24px}.v20-raw-copy h1{font-size:clamp(35px,11vw,58px)!important}.v20-raw-copy>span{font-size:18px}.v20-about-hero figure{box-shadow:10px 10px 0 #ffffff0b}.v20-staff-hero .v20-raw-copy h1{font-size:36px!important}.v20-staff-portraits{gap:10px}.v20-staff-portraits img:nth-child(2){margin-top:35px}.v20-staff-hero{margin-bottom:50px!important}.v20-quiet-art{max-height:190px}.v20-privacy-hero .v20-raw-copy h1{font-size:30px!important}.v20-contact-hero .v20-raw-copy h1{font-size:34px!important}body[data-gat-page="privacypolicy"] .text_area{margin-top:40px}body[data-gat-page="knowledge"] .page-heading{padding:55px 24px}}
@media(prefers-reduced-motion:reduce){.v20-quiet-art *{animation:none!important;transform:none!important}}
/* Keep the opening Japanese phrase intact at intermediate desktop widths. */
body[data-gat-page="car_sales"] .v3-hero h1{font-size:clamp(36px,4vw,60px)}
body[data-gat-page="staff"] .staff-page>.staff{width:100%;max-width:none;padding-inline:0;margin-inline:0}
body[data-gat-page="staff"] .staff__list{max-width:1300px;margin-inline:auto;padding-inline:24px;box-sizing:border-box}
@media(max-width:768px){body[data-gat-page="car_sales"] .v3-hero h1{font-size:clamp(28px,7.5vw,36px)}}
@media(max-width:768px){body[data-gat-page="service/bodywork"] .v7-hero-photo figcaption{color:#495452;background:#fff;display:inline-block;padding:8px 12px}}
body[data-gat-page="service/maintenance"] .v7-hero-photo{max-width:477px}
body[data-gat-page="service/maintenance"] .gat-v3 .v7-hero-photo{max-width:477px!important}
/* Route theme specificity must match the shared full-width hero rule. */
body[data-gat-page="service/coating"] .gat-v3 .v7-detail-hero{background:linear-gradient(130deg,#16202b 0 58%,#263b49 58%)}
body[data-gat-page="service/bodywork"] .gat-v3 .v7-detail-hero{background:linear-gradient(115deg,#f7f4ee 0 53%,#222a2c 53%)}
body[data-gat-page="service/maintenance"] .gat-v3 .v7-detail-hero{background:linear-gradient(120deg,#f0f4f1 0 53%,#d6e2dc 53%)}
body[data-gat-page="service/custom"] .gat-v3 .v7-detail-hero{background:linear-gradient(150deg,#edece6 0 60%,#dad7cd 60%)}
body[data-gat-page="service/ipf"] .gat-v3 .v7-detail-hero{background:linear-gradient(120deg,#f5f5f1 0 53%,#dbe2e0 53%)}
body[data-gat-page="service/coating"] .gat-v3 .v7-detail-hero>.v7-hero-copy :is(h1,p){color:#fff}
body[data-gat-page="service/coating"] .gat-v3 .v7-detail-hero>.v7-hero-copy h1 em{color:#ff6675}
body[data-gat-page="service/coating"] .gat-v3 .v7-detail-hero .v3-kicker{color:#ff6675}
body[data-gat-page="service/bodywork"] .gat-v3 .v7-hero-photo figcaption{color:#495452;background:#fff;display:inline-block;padding:8px 12px}
@media(max-width:768px){body[data-gat-page="service/bodywork"] .gat-v3 .v7-detail-hero{background:linear-gradient(180deg,#f7f4ee 0 57%,#222a2c 57%)}}
/* Text inside light illustration panels has its own foreground. */
body[data-gat-page="service/coating"] .gat-v3 .v7-hero-glyph{color:#26333a}
body[data-gat-page^="service/"] .gat-v3 .v7-hero-glyph small{color:#595959}
body[data-gat-page^="service/"]:not([data-gat-page="service/coating"]) .gat-v3 .v7-hero-copy .v3-kicker{color:#bd0010}
body[data-gat-page="service/coating"] .gat-v3 .v7-hero-copy p.v3-kicker{color:#ff6675}
@media(max-width:768px){body[data-gat-page="service/bodywork"] .gat-v3 .v7-hero-copy{background:#f7f4ee}}
body[data-gat-page="service/coating"] .gat-v3 .v7-hero-copy p.v3-kicker{color:#ff9aa3}
