/* =========================================================
   EXPORT ZONE — service & area pages
   "Red Line" theme (v5) — matches the homepage (red dome hero, charcoal body)
   Styles both page templates:
     A) .site-header / .premium-card / .service-link …  (中古車・エリアページ)
     B) header / .grid / .card / .band / .steps …       (トラック・建設機械・農機・部品・在庫品)
   The colours live in the PALETTE block (same block as index.html).
   ========================================================= */

@font-face{font-family:"MaruFoPro";src:url("./fonts/MaruFoPro-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"MaruFoPro";src:url("./fonts/MaruFoPro-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"MaruFoPro";src:url("./fonts/MaruFoPro-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"MaruFoPro";src:url("./fonts/MaruFoPro-Heavy.woff2") format("woff2");font-weight:900;font-display:swap}
@font-face{font-family:"Panton";src:url("./fonts/Panton-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Panton";src:url("./fonts/Panton-Black.woff2") format("woff2");font-weight:900;font-display:swap}

:root{
  --ja:"MaruFoPro","Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic","Meiryo",sans-serif;
  --en:"Panton","MaruFoPro","Hiragino Sans","Yu Gothic",sans-serif;
  --plate:#f7f9f4;
  --check-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23101410' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --check-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --line-logo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12 3C6.5 3 2 6.6 2 11c0 3.9 3.5 7.2 8.3 7.9.3.1.8.2.9.5.1.3.1.7 0 1l-.1.9c0 .3-.2 1 .9.5 1.1-.5 6-3.5 8.2-6.1C21.7 14.1 22 12.6 22 11c0-4.4-4.5-8-10-8z'/%3E%3C/svg%3E");
}
/* PALETTE START */
:root{
  --line-app:#06c755;
  --line-ic:#ffffff;
  --line-bg:#06c755;
  --line-bg-h:#05b54d;
  --cta-pattern:none;

  --ink:#17181b; --ink-2:#1f2024; --ink-3:#121315;
  --header-bg:rgba(22,23,26,.9); --bar-bg:rgba(18,19,21,.94);
  --line-d:rgba(255,255,255,.1);
  --text-d:#f4f4f5; --muted-d:#a7a9af; --soft-d:#d3d4d8; --nav-text:#d9dadd;
  --paper:#1d1e22; --paper-2:#232428; --line-p:#3a3c42; --text-p:#f4f4f5; --muted-p:#a7a9af; --card-p:#25262b;
  --accent:#e3131d; --on-accent:#ffffff; --accent-soft:rgba(227,19,29,.12);
  --brand:#e3131d; --on-brand:#ffffff;
  --plate-ink:#0b5e38;
  --frame-grad:linear-gradient(135deg,#fdfdfd 0%,#9c9ea3 30%,#f4f4f5 52%,#7b7d82 78%,#e4e5e7 100%);
  --bolt-mid:#c9cbcf; --bolt-dark:#7d7f84;
  --tag-bg:#e3131d; --tag-fg:#ffffff;
  --line-fg:#ffffff; --line-bd:#06c755;
  --accent-p:#ff6a70;
  --cta-bg:radial-gradient(900px 520px at 50% 0%,#ff4a4a 0,#e3131d 30%,#a20b13 68%,#5a060a 100%);
  --cta-soft:#fbe0e2;
  --star:#ffb400;
  --glow-a:rgba(227,19,29,.16); --glow-b:rgba(227,19,29,.26);
  --red-dome:radial-gradient(1100px 620px at 50% 8%,#ff4a4a 0,#e3131d 30%,#a20b13 66%,#4a0408 100%);
  --globe-glow:227,19,29; --globe-ocean:#3a3c42,#2a2b30,#1d1e22,#111214;
  --globe-land:#f6f6f7,#cfd1d5,#8f9197; --globe-route:255,64,70; --globe-dot:#e3131d; --globe-jp:255,59,66;
}
/* PALETTE END */
:root{
  /* names used inline by some pages / older CSS */
  --green:var(--accent);
  --white:var(--text-d);
  --muted:var(--muted-d);
  --border:var(--line-d);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--ink);color:var(--text-d);font-family:var(--ja);font-size:16px;line-height:1.9;letter-spacing:.02em;-webkit-font-smoothing:antialiased;}
a{color:inherit;}
img{max-width:100%;}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px;}
h1,h2,h3,.lead,.intro,summary,p{word-break:auto-phrase;}
.container{width:min(1200px,calc(100% - 40px));margin-inline:auto;}

/* ---------- number plate (with a metal plate frame) ---------- */
.header-contact,
a.btn[href^="tel:"],
.mobile-bar a[href^="tel:"]{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  color:var(--plate-ink);text-decoration:none;white-space:nowrap;
  border:3px solid transparent;border-radius:13px;
  background:linear-gradient(180deg,#fdfefb 0%,#f2f5ef 55%,#e3e8e0 100%) padding-box,var(--frame-grad) border-box;
  box-shadow:inset 0 0 0 2px #fbfcf9,inset 0 0 0 4.5px var(--plate-ink),0 0 0 1px rgba(0,0,0,.35),0 16px 30px -18px rgba(0,0,0,.75);
}
.header-contact::before,.header-contact::after,
a.btn[href^="tel:"]::before,a.btn[href^="tel:"]::after,
.mobile-bar a[href^="tel:"]::before,.mobile-bar a[href^="tel:"]::after{
  content:"";position:absolute;top:6px;width:8px;height:8px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 18%,var(--bolt-mid) 45%,var(--bolt-dark) 100%);box-shadow:0 0 0 1px rgba(0,0,0,.25);
}
.header-contact::before,a.btn[href^="tel:"]::before,.mobile-bar a[href^="tel:"]::before{left:10px;}
.header-contact::after,a.btn[href^="tel:"]::after,.mobile-bar a[href^="tel:"]::after{right:10px;}

/* ---------- header (both templates) ---------- */
.site-header,body > header{position:sticky;top:0;z-index:50;background:var(--header-bg);border-bottom:1px solid var(--line-d);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
.nav{display:flex;align-items:center;gap:26px;min-height:76px;}
.brand{display:flex;align-items:center;gap:11px;flex:none;text-decoration:none;}
.brand img{width:auto;height:40px;object-fit:contain;}
.brand > span:not(.brand-text){font-family:var(--en);font-size:17px;font-weight:900;letter-spacing:.04em;white-space:nowrap;}
.brand-text{display:flex;flex-direction:column;line-height:1;}
.brand-text strong{font-family:var(--en);font-size:18px;font-weight:900;letter-spacing:.06em;}
.brand-text small{margin-top:5px;font-size:10px;font-weight:700;letter-spacing:.32em;color:var(--muted-d);}
.nav nav{display:flex;align-items:center;gap:22px;margin-left:auto;}
.nav nav a{font-size:13.5px;font-weight:700;color:var(--nav-text);text-decoration:none;white-space:nowrap;padding:8px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;}
.nav nav a:hover{color:var(--text-d);border-color:var(--accent);}
.nav nav a[aria-current="page"]{color:var(--text-d);border-color:var(--accent);}
.header-contact{flex:none;flex-direction:column;gap:3px;padding:6px 19px 5px;border-width:2px;border-radius:10px;line-height:1;
  box-shadow:inset 0 0 0 1.5px #fbfcf9,inset 0 0 0 3.5px var(--plate-ink),0 0 0 1px rgba(0,0,0,.35);}
.header-contact::before,.header-contact::after{top:5px;width:6px;height:6px;}
.header-contact::before{left:7px;} .header-contact::after{right:7px;}
.header-contact .phone-icon{display:none;}
.header-contact > span:last-child{display:flex;flex-direction:column;align-items:center;gap:3px;}
.header-contact small{font-size:10px;font-weight:700;letter-spacing:.08em;line-height:1;}
.header-contact strong{font-family:var(--en);font-size:20px;font-weight:900;letter-spacing:.01em;line-height:1;}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:76px 0 140px;border-bottom:0;background:var(--ink);}
.hero-glow{display:none;}
/* red dome with a curved lower edge (same as the homepage hero) */
.hero::before{content:"";position:absolute;left:-30%;right:-30%;top:0;bottom:60px;pointer-events:none;
  border-radius:0 0 50% 50% / 0 0 26% 26%;background:var(--red-dome);
  box-shadow:0 0 0 3px rgba(255,90,90,.5),0 0 70px rgba(227,19,29,.45);}
.hero .eyebrow{color:#fff;}
.hero .eyebrow-line,.hero .status-dot{background:#fff;}
.hero .lead{color:#fde3e4;}
.hero{--green:#fff;}
.hero [style*="--green"]{font-weight:900;text-decoration:underline;text-underline-offset:3px;}
.hero-note{color:#fbd0d3 !important;}
/* real photo on the right of text-only heroes (area pages, older service pages) */
html{--hero-img:url("./img/porsche-964.webp");}
html:has(link[rel="canonical"][href$="truck-bus-buying.html"]){--hero-img:url("./img/truck-supergreat.webp");}
html:has(link[rel="canonical"][href$="construction-machinery-buying.html"]){--hero-img:url("./img/kenki-loading.webp");}
html:has(link[rel="canonical"][href$="agricultural-machinery-buying.html"]),
html:has(link[rel="canonical"][href$="auto-parts-buying.html"]),
html:has(link[rel="canonical"][href$="stock-lot-buying.html"]){--hero-img:none;}
.hero:not(:has(.hero-visual))::after{content:"";position:absolute;top:0;right:0;bottom:60px;width:46%;pointer-events:none;
  background:var(--hero-img) center/cover no-repeat;opacity:.9;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%),linear-gradient(180deg,#000 62%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,#000 55%),linear-gradient(180deg,#000 62%,transparent 100%);mask-composite:intersect;}
.hero > .container{position:relative;z-index:1;}
.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;}
.hero-content{position:relative;min-width:0;}
.hero-visual{position:relative;overflow:hidden;aspect-ratio:4/5;max-height:620px;border-radius:22px;background:var(--ink-2);
  border:1px solid rgba(255,255,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 40px 80px -40px rgba(0,0,0,.8);}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45));pointer-events:none;}
.visual-tag{position:absolute;z-index:2;padding:5px 10px 4px;border-radius:4px;background:var(--tag-bg);color:var(--tag-fg);
  font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.06em;box-shadow:0 8px 18px -8px rgba(0,0,0,.7);}
.tag-top{top:12px;left:12px;}
.tag-bottom{right:12px;bottom:12px;}

.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.06em;}
.eyebrow-line{display:inline-block;width:22px;height:2px;border-radius:2px;background:var(--accent);}
.section-number{margin:0 0 6px;font-family:var(--en);font-weight:900;color:var(--muted-d);}
.section-number span{margin-left:8px;font-family:var(--ja);font-size:14px;}
h1{margin:10px 0 22px;font-size:clamp(32px,4.4vw,58px);font-weight:900;line-height:1.28;letter-spacing:.01em;}
.hero h1,.hero .lead{text-shadow:0 2px 18px rgba(0,0,0,.5);}
.gradient-text{color:inherit;background:none;}
.lead{max-width:40em;margin:0;color:var(--soft-d);font-size:16.5px;line-height:1.95;}

/* ---------- buttons (both templates) ---------- */
.hero-actions,.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:60px;padding:0 26px;border-radius:999px;
  font-weight:900;font-size:16px;letter-spacing:.03em;text-decoration:none;white-space:nowrap;border:1.5px solid transparent;
  transition:transform .25s,background .25s,box-shadow .25s;}
.btn:hover{transform:translateY(-2px);}
a.btn[href^="tel:"]{min-height:66px;padding:12px 38px 10px;font-family:var(--en);font-size:21px;letter-spacing:.01em;}
a.btn[href*="line.me"],.btn-line{color:var(--line-fg);background:var(--line-bg);border-color:var(--line-bd);}
a.btn[href*="line.me"]::before{content:"";flex:none;width:21px;height:21px;background:var(--line-logo) center/contain no-repeat;}
a.btn[href*="line.me"]:hover,.btn-line:hover{background:var(--line-bg-h);}
.hero-note{display:flex;align-items:flex-start;gap:10px;margin-top:22px;color:var(--muted-d);font-size:14px;}
.status-dot{flex:none;width:8px;height:8px;margin-top:9px;border-radius:50%;background:var(--accent);}

/* ---------- trust strip (template A) ---------- */
.trust-strip{background:var(--ink-2);border-bottom:1px solid var(--line-d);}
.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.trust-grid > div{display:flex;align-items:center;gap:12px;padding:22px 18px;border-left:1px solid var(--line-d);}
.trust-grid > div:first-child{padding-left:0;border-left:0;}
.trust-grid > div::before{content:"";flex:none;width:26px;height:26px;border-radius:50%;background:var(--accent) var(--check-light) center/15px no-repeat;}
.trust-number{display:none;}
.trust-label{font-size:14.5px;font-weight:700;color:var(--soft-d);line-height:1.5;}

/* ---------- sections ---------- */
.section,main > section:not(.hero):not(.trust-strip):not(.contact-section){padding:96px 0;}
.section-alt{background:var(--paper);color:var(--text-p);border:0;}
.section-heading{max-width:760px;margin-bottom:40px;}
.section-heading h2,.split-layout h2,.faq-panel h2,.contact-panel h2,main > section h2{margin:0 0 14px;font-size:clamp(26px,3vw,40px);font-weight:900;line-height:1.35;letter-spacing:.02em;}
.section-heading > p,.section-description,.intro{margin:0;color:var(--muted-d);font-size:16px;}
.section-alt .section-heading > p,.section-alt .section-description{color:var(--muted-p);}
.section-alt .eyebrow{color:var(--accent-p);}
.section-alt .eyebrow-line{background:var(--accent-p);}
.intro{max-width:44em;margin-bottom:34px;}
.section-heading h2,.split-layout h2,.faq-panel h2,main > section:not(.hero) > .container:not(.contact) > h2{padding-left:16px;border-left:4px solid var(--accent);line-height:1.3;}
.muted{color:var(--muted-d);}

/* ---------- cards ---------- */
.card-grid,.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.premium-card,.card{position:relative;padding:28px 26px;border:1px solid #3a3c42;border-radius:16px;background:linear-gradient(180deg,#232428,#1b1c1f);transition:border-color .25s,transform .25s;}
.premium-card:hover,.card:hover{transform:translateY(-3px);}
.premium-card:hover,.card:hover{border-color:var(--accent);}
.card-icon,.symbol{width:30px;height:30px;margin-bottom:18px;border-radius:50%;font-size:0;color:transparent;background:var(--accent) var(--check-light) center/16px no-repeat;}
.card-accent{display:none;}
.premium-card h3,.card h3{margin:0 0 8px;font-size:19px;font-weight:900;line-height:1.5;}
.premium-card p,.card p{margin:0;color:var(--muted-d);font-size:14.5px;line-height:1.85;}
.card h3 a{color:var(--text-d);text-decoration:none;}
.card h3 a::after{content:"";position:absolute;inset:0;}
.card:has(h3 a):hover{background:var(--ink-3);}

/* ---------- process (template A: numbered list) ---------- */
.split-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.85fr);gap:60px;align-items:start;}
.section-description{margin-bottom:30px;}
.process-list{display:flex;flex-direction:column;}
.process-item{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;padding:0 0 28px;}
.process-item::before{content:"";position:absolute;left:22px;top:46px;bottom:-4px;width:8px;border-radius:8px;background:var(--accent);}
.process-item:last-child::before{display:none;}
.process-item > span{position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--ink);border:6px solid var(--accent);
  color:var(--accent);font-family:var(--en);font-size:16px;font-weight:900;}
.section-alt .process-item::before{background:var(--brand);}
.section-alt .process-item > span{background:var(--card-p);border-color:var(--brand);color:var(--brand);}
.process-item h3{margin:10px 0 4px;font-size:18px;font-weight:900;}
.process-item p{margin:0;color:var(--muted-d);font-size:14.5px;}
.section-alt .process-item p{color:var(--muted-p);}

/* ---------- process (template B: .steps, numbered with counters) ---------- */
.steps{counter-reset:st;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;}
.steps::before{content:"";position:absolute;left:0;right:24%;top:26px;height:8px;border-radius:8px;background:var(--accent);}
.step{position:relative;padding-right:26px;}
.step::before{counter-increment:st;content:counter(st);position:relative;z-index:1;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;
  background:var(--ink);border:7px solid var(--accent);color:var(--accent);font-family:var(--en);font-size:19px;font-weight:900;}
.step h3{margin:20px 0 6px;font-size:19px;font-weight:900;}
.step p{margin:0;}

/* ---------- checklist panels ---------- */
.info-panel,.band:not(.contact){padding:34px 36px;border-radius:12px;background:var(--paper);color:var(--text-p);border:0;}
.section-alt .info-panel{background:var(--card-p);border:1px solid var(--line-p);}
.panel-label{font-size:12.5px;font-weight:700;color:var(--accent-p);letter-spacing:.08em;}
.info-panel h2{margin:8px 0 18px;font-size:22px;line-height:1.5;}
.band:not(.contact) h2{font-size:clamp(22px,2.4vw,30px);}
.check-list,.band:not(.contact) ul{list-style:none;margin:0;padding:0;}
.check-list li,.band:not(.contact) li{position:relative;padding:12px 0 12px 38px;border-bottom:1px solid var(--line-p);font-size:15px;font-weight:700;color:var(--text-p);line-height:1.7;}
.check-list li::before,.band:not(.contact) li::before{content:"";position:absolute;left:0;top:13px;width:24px;height:24px;border-radius:7px;background:var(--brand) var(--check-light) center/15px no-repeat;}
.panel-note,.band:not(.contact) p{margin:18px 0 0;color:var(--muted-p);font-size:14px;}
.text-link{display:inline-flex;margin-top:18px;color:var(--accent-p);font-weight:900;text-decoration:none;border-bottom:2px solid currentColor;}
.text-link:hover{opacity:.8;}

/* ---------- service / area link lists ---------- */
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.service-link{display:flex;align-items:center;gap:16px;min-width:0;padding:20px 22px;border:1px solid var(--line-d);border-radius:10px;background:var(--ink-2);
  text-decoration:none;transition:border-color .2s,background .2s;}
.service-link:hover{border-color:var(--accent);background:var(--ink-3);}
.active-service{border-color:var(--accent);}
.service-index{display:none;}
.service-link-content{display:flex;flex-direction:column;min-width:0;}
.service-link-content strong{font-size:16.5px;font-weight:900;line-height:1.5;}
.service-link-content small{margin-top:2px;color:var(--muted-d);font-size:13px;}
.service-arrow{margin-left:auto;flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line-d);color:var(--accent);font-size:16px;}
.service-link:hover .service-arrow{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.section-alt .service-link{background:var(--card-p);border-color:var(--line-p);color:var(--text-p);}
.section-alt .service-link:hover{border-color:var(--brand);background:var(--card-p);}
.section-alt .service-link-content small{color:var(--muted-p);}
.section-alt .service-arrow{border-color:var(--line-p);color:var(--brand);}
.section-alt .service-link:hover .service-arrow{background:var(--brand);border-color:var(--brand);color:var(--on-brand);}

/* ---------- FAQ (both templates) ---------- */
.faq-panel{max-width:none;margin:0;padding:clamp(28px,4vw,48px);border-radius:12px;background:var(--paper);color:var(--text-p);border:0;}
.faq-panel .eyebrow{color:var(--accent-p);}
.faq-panel details,section.faq details{margin-top:12px;border:1px solid var(--line-p);border-radius:10px;background:var(--card-p);color:var(--text-p);}
.faq-panel summary,section.faq summary{position:relative;display:block;padding:18px 56px 18px 22px;cursor:pointer;list-style:none;font-size:16px;font-weight:900;line-height:1.6;}
.faq-panel summary::-webkit-details-marker,section.faq summary::-webkit-details-marker{display:none;}
.faq-panel summary::after,section.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-52%);
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:var(--on-brand);font-family:var(--en);font-size:18px;font-weight:700;line-height:1;}
.faq-panel details[open] summary::after,section.faq details[open] summary::after{content:"−";}
.faq-panel details p,section.faq details p{margin:0;padding:0 22px 20px;color:var(--muted-p);font-size:15px;}

/* ---------- contact band ---------- */
.contact-section{padding:0 0 96px;}
.contact-panel,.band.contact{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:40px;
  padding:clamp(30px,5vw,60px);border-radius:14px;background:var(--cta-bg);color:#fff;border:1px solid var(--line-d);}
.contact-panel::before,.band.contact::before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--cta-pattern);}
.contact-panel > *,.band.contact > *{position:relative;}
.contact-panel .eyebrow,.band.contact .eyebrow{color:var(--accent);}
.contact-panel .eyebrow-line{background:var(--accent);}
.contact-panel h2,.band.contact h2{margin:0 0 10px;color:#fff;}
.contact-panel p,.band.contact p{margin:0;color:var(--cta-soft);}
.band.contact p + p{margin-top:4px;font-size:14.5px;}
.contact-actions,.band.contact .actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:290px;margin:0;}
.contact-actions .btn,.band.contact .btn{width:100%;}
.email-link{color:var(--cta-soft);font-size:14px;text-align:center;overflow-wrap:anywhere;}

/* ---------- footer (both templates) ---------- */
.site-footer,body > footer{padding:56px 0 48px;border-top:1px solid var(--line-d);background:var(--ink-3);color:var(--muted-d);font-size:14px;}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:26px;}
.footer-brand{font-size:18px;font-weight:900;color:var(--text-d);text-decoration:none;}
.footer-grid p,body > footer p{margin:6px 0;color:var(--muted-d);font-size:14px;}
body > footer p strong{color:var(--text-d);font-size:17px;}
.footer-details a,body > footer a{color:var(--soft-d);text-decoration:none;border-bottom:1px solid var(--line-d);}
.footer-details a:hover,body > footer a:hover{color:var(--text-d);border-color:var(--accent);}
body > footer small{display:block;margin-top:14px;color:var(--muted-d);font-size:12.5px;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;border-top:1px solid var(--line-d);color:var(--muted-d);font-size:12.5px;}
.footer-bottom a{color:var(--soft-d);text-decoration:none;}

/* ---------- mobile bar (both templates) ---------- */
.mobile-bar{display:none;}

/* ---------- tablet ---------- */
@media (max-width:1100px){
  .nav{flex-wrap:wrap;gap:12px 20px;padding:12px 0 0;min-height:0;}
  .nav nav{order:3;width:100%;margin:0;gap:20px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);}
  .nav nav::-webkit-scrollbar{display:none;}
  .header-contact{margin-left:auto;}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;}
  .split-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:40px;}
}
@media (max-width:860px){
  .hero:not(:has(.hero-visual))::after{width:100%;opacity:.2;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%);}
  .hero::before{border-radius:0 0 50% 50% / 0 0 14% 14%;}
  .hero-grid,.split-layout{grid-template-columns:minmax(0,1fr);}
  .hero-visual{aspect-ratio:16/10;max-height:none;}
  .card-grid,.grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .trust-grid > div{padding:16px 14px;border-left:0;border-bottom:1px solid var(--line-d);}
  .trust-grid > div:nth-child(odd){padding-left:0;}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px;}
  .steps::before{display:none;}
  .contact-panel,.band.contact{flex-direction:column;align-items:stretch;}
  .contact-actions,.band.contact .actions{min-width:0;}
}

/* ---------- phone ---------- */
@media (max-width:640px){
  body{padding-bottom:84px;font-size:15.5px;}
  .container{width:calc(100% - 36px);}
  .brand img{height:34px;}
  .brand-text strong{font-size:16px;}
  .brand > span:not(.brand-text){font-size:15px;}
  .header-contact{display:none;}
  .nav{padding-top:10px;}
  .nav nav{gap:18px;}
  .hero{padding:40px 0 92px;}
  .hero::before{bottom:40px;border-radius:0 0 50% 50% / 0 0 9% 9%;}
  h1{font-size:clamp(26px,7.4vw,36px);}
  .lead{font-size:15.5px;}
  .hero-actions,.actions{flex-direction:column;align-items:stretch;}
  .btn{width:100%;}
  a.btn[href^="tel:"]{font-size:clamp(18px,5.6vw,22px);}
  .trust-label{font-size:13px;}
  .section,main > section:not(.hero):not(.trust-strip):not(.contact-section){padding:64px 0;}
  .contact-section{padding-bottom:64px;}
  .card-grid,.grid,.service-grid{grid-template-columns:minmax(0,1fr);}
  .steps{grid-template-columns:minmax(0,1fr);row-gap:0;}
  .step{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:16px;padding:0 0 28px;}
  .step::before{width:52px;height:52px;border-width:6px;font-size:17px;grid-row:1 / span 2;}
  .step::after{content:"";position:absolute;left:22px;top:48px;bottom:0;width:8px;border-radius:8px;background:var(--accent);}
  .step:last-child::after{display:none;}
  .step h3{margin-top:10px;}
  .info-panel,.band:not(.contact){padding:26px 22px;}
  .faq-panel{padding:26px 18px;}
  .faq-panel summary,section.faq summary{padding:16px 52px 16px 18px;font-size:15px;}
  .footer-grid{grid-template-columns:minmax(0,1fr);gap:12px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .mobile-bar{position:fixed;z-index:100;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bar-bg);border-top:1px solid var(--line-d);
    -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);}
  .mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 10px;border-radius:12px;font-weight:900;font-size:15px;text-decoration:none;}
  .mobile-bar a[href^="tel:"]{font-family:var(--en);font-size:17px;border-radius:12px;}
  .mobile-bar a[href*="line.me"]{color:var(--line-fg);background:var(--line-bg);border:1.5px solid var(--line-bd);border-radius:999px;}
  .mobile-bar a[href*="line.me"]::before{content:"";width:20px;height:20px;background:var(--line-logo) center/contain no-repeat;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition:none !important;}
}
