/*
Theme Name: V6 Premium V5B
Theme URI: https://v6guitaroverdrive.com/
Author: V6
Description: Trilingual one-page WordPress theme for the V6 Poly Distortion System.
Version: 5.0.1
Text Domain: v6-premium
*/

:root {
    --ink: #0b0b0a;
    --ink-2: #141310;
    --ink-3: #1b1916;
    --paper: #ece8df;
    --paper-2: #ded8cd;
    --stone: #c9c3b8;
    --stone-2: #b8b0a4;
    --text: #f2efe8;
    --text-dark: #11100f;
    --muted: #aaa59c;
    --muted-dark: #625e57;
    --accent: #f46d2f;
    --accent-dark: #c94f19;
    --line: rgba(255,255,255,.13);
    --line-dark: rgba(17,16,15,.17);
    --max: 1500px;
    --gutter: clamp(22px, 4vw, 68px);
    --header: 70px;
    --radius: 24px;
    --ease: cubic-bezier(.2,.72,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
section[id] { scroll-margin-top: calc(var(--header) + 16px); }
body {
    margin: 0;
    background: var(--ink);
    color: var(--text);
    font-family: "Helvetica Neue", "Avenir Next", Inter, Arial, sans-serif;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
::selection { background: var(--accent); color: #10100f; }

.shell { width: min(calc(100% - (var(--gutter) * 2)), var(--max)); margin-inline: auto; position: relative; }
.section { position: relative; padding: clamp(96px, 8vw, 150px) 0; overflow: clip; }
.section-paper { background: var(--paper); color: var(--text-dark); }
.section-stone { background: var(--stone); color: var(--text-dark); }
.eyebrow { margin: 0 0 15px; color: var(--accent-dark); font-size: 10px; line-height: 1.2; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.hero .eyebrow, .partners .eyebrow, .capability-story--tolex .eyebrow, .capability-story--amber .eyebrow { color: #ff7b3d; }
h1,h2,h3,h4 { margin: 0; color: inherit; font-weight: 820; letter-spacing: -.043em; text-wrap: balance; }
h1 { font-size: clamp(64px, 5.7vw, 104px); line-height: .96; max-width: 15.5ch; }
h2 { font-size: clamp(44px, 4vw, 70px); line-height: 1; max-width: 20ch; }
h3 { font-size: clamp(30px, 2.55vw, 48px); line-height: 1.05; max-width: 23ch; }
h4 { font-size: clamp(22px, 1.65vw, 30px); line-height: 1.08; }
p { margin: 0; }
.section-lead { max-width: 700px; font-size: clamp(18px, 1.35vw, 22px); line-height: 1.62; color: var(--muted-dark); }
.partners .section-lead { color: #bbb5aa; }
.editorial-head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(400px, .72fr); gap: clamp(60px, 8vw, 140px); align-items: end; }
.editorial-head > div { max-width: 820px; }
.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .01em; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--accent); color: #130c08; }
.button--primary:hover { background: #ff8048; }
.button--ghost { border: 1px solid rgba(255,255,255,.18); color: #f6f3ed; background: rgba(255,255,255,.025); }

.product-image,
.product-detail-image { width: auto; height: auto; object-fit: contain; object-position: center; }

.skip-link { position: fixed; z-index: 999; left: 12px; top: 12px; padding: 8px 12px; background: #fff; color: #000; transform: translateY(-160%); }
.skip-link:focus { transform: none; }

/* HEADER */
.site-header { position: fixed; z-index: 100; inset: 0 0 auto; height: var(--header); background: rgba(14,14,12,.84); color: #f4f0e9; border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(18px); }
.site-header__inner { height: 100%; display: grid; grid-template-columns: 230px 1fr 170px; align-items: center; gap: 24px; }
.brand { display: flex; align-items: baseline; gap: 11px; width: max-content; }
.brand__mark { font-size: 22px; font-weight: 900; letter-spacing: -.09em; }
.brand__descriptor { color: #77736d; font-size: 7px; font-weight: 800; letter-spacing: .24em; }
.site-nav { justify-self: center; display: flex; gap: clamp(19px, 2.3vw, 38px); align-items: center; }
.site-nav a { color: #aaa59e; font-size: 11px; font-weight: 720; transition: color .2s ease; }
.site-nav a:hover { color: #fff; }
.site-nav .nav-contact { color: #eee9e2; border: 1px solid rgba(255,255,255,.16); padding: 8px 14px; border-radius: 99px; }
.language-switcher { justify-self: end; display: flex; align-items: center; padding: 3px; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.025); border-radius: 99px; }
.language-switcher a { padding: 6px 8px; border-radius: 99px; color: #77736e; font-size: 8px; font-weight: 850; }
.language-switcher a.is-active { color: #171512; background: #f1eee7; }
.menu-toggle { display: none; }

/* HERO */
.hero { position: relative; min-height: max(820px, 100svh); padding-top: var(--header); overflow: hidden; background: linear-gradient(112deg,#0c0c0b 0%,#11100e 43%,#1b1713 100%); }
.hero::after { content:""; position:absolute; inset:0; pointer-events:none; background-image:url('assets/images/texture-noise.png'); background-size:340px 340px; opacity:.22; mix-blend-mode:soft-light; }
.hero__environment { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.studio-wall { position:absolute; inset:0 0 33%; background: radial-gradient(circle at 76% 28%,rgba(207,112,55,.18),transparent 31%), linear-gradient(90deg,transparent 0 68%,rgba(255,255,255,.028) 68% 68.1%,transparent 68.1%); }
.studio-amp { position:absolute; width:310px; height:260px; right:4%; bottom:21%; border-radius:9px; opacity:.3; background:#12110f url('assets/images/texture-tolex.png'); box-shadow:0 35px 80px rgba(0,0,0,.65); transform:rotate(-1deg); }
.studio-amp::before { content:""; position:absolute; inset:43px 26px 25px; border:1px solid rgba(255,255,255,.07); background:radial-gradient(circle,#6d675f 0 1px,transparent 1.5px); background-size:7px 7px; opacity:.25; }
.studio-rack { position:absolute; width:210px; height:330px; right:21%; bottom:25%; border-radius:7px; opacity:.14; border:1px solid rgba(255,255,255,.12); background:repeating-linear-gradient(to bottom,#161512 0 30px,#0e0e0c 30px 32px); filter:blur(1px); }
.studio-lamp { position:absolute; width:280px; height:280px; right:26%; top:17%; border-radius:50%; background:rgba(244,129,64,.13); filter:blur(70px); }
.studio-floor { position:absolute; left:-8%; right:-8%; bottom:-6%; height:41%; transform:perspective(700px) rotateX(60deg); transform-origin:bottom; background:#16120e url('assets/images/texture-wood.png'); background-size:560px 560px; box-shadow:inset 0 28px 60px rgba(0,0,0,.5); }
.studio-cable { position:absolute; width:560px; height:160px; right:8%; bottom:6%; border:2px solid rgba(19,16,13,.76); border-color:rgba(19,16,13,.76) transparent transparent transparent; border-radius:50%; transform:rotate(9deg); }
.hero__inner { min-height: calc(max(820px,100svh) - var(--header)); display:grid; grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr); align-items:center; gap:clamp(34px,5vw,86px); }
.hero__copy { position:relative; z-index:3; max-width:760px; padding:54px 0 72px; }
.hero__lead { margin-top:27px; max-width:690px; color:#b9b3aa; font-size:clamp(18px,1.35vw,22px); line-height:1.62; }
.hero__actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:31px; }
.hero__proof { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:31px; color:#8f8981; font-size:9px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.hero__proof span::before { content:""; width:5px; height:5px; display:inline-block; border-radius:50%; background:var(--accent); margin-right:9px; vertical-align:1px; }
.hero__visual { position:relative; z-index:2; min-width:0; display:grid; place-items:center; }
.product-stage--hero { position:relative; width:100%; height:min(67vh,660px); display:grid; place-items:center; }
.product-stage--hero picture { width:100%; height:100%; display:grid; place-items:center; }
.product-stage--hero .product-image { max-width:min(850px,100%); max-height:100%; filter:drop-shadow(0 50px 55px rgba(0,0,0,.62)); transform:rotate(-1deg); }
.product-stage__shadow { position:absolute; width:75%; height:9%; bottom:5%; border-radius:50%; background:rgba(0,0,0,.6); filter:blur(23px); z-index:-1; }

/* MECHANISM */
.mechanism { background-color:var(--paper); background-image:url('assets/images/texture-noise.png'); background-size:360px 360px; }
.signal-path { margin-top:clamp(64px,7vw,110px); padding:26px 0; border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:20px; }
.signal-path > div { min-height:122px; display:grid; align-content:space-between; gap:18px; }
.signal-path span { color:#8c867d; font-size:9px; font-weight:850; letter-spacing:.16em; }
.signal-path strong { font-size:clamp(15px,1.3vw,20px); line-height:1.18; }
.signal-path > b { font-size:24px; color:#928b82; font-weight:400; }
.signal-path i { display:block; width:100%; height:24px; position:relative; }
.signal-strings { background:repeating-linear-gradient(to bottom,transparent 0 3px,#7b746b 3px 4px); opacity:.6; }
.signal-pickup { border-radius:4px; background:repeating-linear-gradient(90deg,#272522 0 9px,#777068 9px 10px); opacity:.75; }
.signal-tubes::before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at bottom,rgba(226,93,32,.55) 0 10%,transparent 12%) 0 0/16.66% 100% repeat-x; }
.signal-wave { background:linear-gradient(90deg,transparent,#ca5724 18% 82%,transparent); height:2px!important; margin-top:11px; box-shadow:0 -7px 0 rgba(202,87,36,.25),0 7px 0 rgba(202,87,36,.25); }
.mechanism-story { min-height:500px; margin-top:clamp(75px,7vw,120px); display:grid; grid-template-columns:minmax(480px,1fr) minmax(0,.9fr); gap:clamp(60px,8vw,130px); align-items:center; }
.mechanism-story--tubes { grid-template-columns:minmax(0,.9fr) minmax(480px,1fr); }
.mechanism-story--tubes .mechanism-detail-image { grid-column:2; grid-row:1; }
.mechanism-story--tubes .mechanism-story__copy { grid-column:1; grid-row:1; }
.mechanism-story__copy { max-width:680px; }
.mechanism-story__copy p:last-child { margin-top:21px; color:var(--muted-dark); font-size:clamp(17px,1.25vw,21px); line-height:1.64; }
.pickup-illustration { position:relative; height:420px; border-radius:var(--radius); overflow:hidden; background:linear-gradient(150deg,#302e29,#191815); box-shadow:0 28px 65px rgba(48,39,30,.2); }
.pickup-illustration::after { content:""; position:absolute; inset:0; background:url('assets/images/texture-metal.png'); opacity:.25; }
.pickup-strings { position:absolute; inset:-8% 9%; display:grid; grid-template-columns:repeat(6,1fr); z-index:2; }
.pickup-strings span { width:1px; height:116%; justify-self:center; background:linear-gradient(180deg,transparent,#d2c9bd 12% 88%,transparent); opacity:.62; }
.pickup-body { position:absolute; z-index:3; left:10%; right:10%; top:37%; height:118px; padding:12px; border:1px solid rgba(255,255,255,.14); border-radius:15px; display:grid; grid-template-columns:repeat(6,1fr); gap:5px; background:#10100f; box-shadow:0 24px 44px rgba(0,0,0,.44); }
.pickup-body i { position:relative; border-radius:7px; background:repeating-linear-gradient(90deg,#151513 0 3px,#20201e 3px 5px); }
.pickup-body i::after { content:""; position:absolute; width:10px; height:10px; border-radius:50%; background:#c7c1b7; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:inset 0 0 0 2px #746e66; }
.mechanism-detail-image { min-height:420px; display:grid; place-items:center; border-radius:var(--radius); overflow:hidden; background:#181714 url('assets/images/texture-tolex.png'); box-shadow:0 28px 65px rgba(48,39,30,.18); }
.mechanism-detail-image .product-detail-image { max-width:94%; max-height:390px; filter:drop-shadow(0 26px 32px rgba(0,0,0,.46)); }
.mechanism-mode { margin-top:clamp(80px,8vw,130px); padding:36px 0; border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); display:grid; grid-template-columns:minmax(0,.7fr) minmax(420px,1fr); gap:70px; align-items:center; }
.mechanism-mode h3 { font-size:clamp(30px,2.45vw,44px); }
.mechanism-mode > p { color:var(--muted-dark); font-size:clamp(17px,1.25vw,20px); line-height:1.62; }
.mechanism__statement { max-width:1040px; margin:46px 0 0 auto; font-size:clamp(24px,2.2vw,38px); line-height:1.32; font-weight:760; letter-spacing:-.025em; }

/* CAPABILITIES */
.capabilities__intro { padding:clamp(95px,8vw,145px) 0; background-image:url('assets/images/texture-noise.png'); background-size:340px 340px; }
.capability-story { position:relative; min-height:650px; overflow:hidden; }
.capability-story::after { content:""; position:absolute; inset:0; background-image:url('assets/images/texture-noise.png'); background-size:320px 320px; opacity:.14; pointer-events:none; }
.capability-story__inner { min-height:650px; display:grid; grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr); gap:clamp(65px,8vw,135px); align-items:center; padding-block:clamp(90px,8vw,135px); }
.capability-story:nth-child(odd) .capability-story__copy { grid-column:2; grid-row:1; }
.capability-story:nth-child(odd) .capability-story__visual { grid-column:1; grid-row:1; }
.capability-story__copy { position:relative; z-index:2; max-width:720px; }
.capability-story__number { display:block; margin-bottom:42px; color:currentColor; opacity:.28; font-size:11px; font-weight:850; letter-spacing:.16em; }
.capability-story__text { margin-top:22px; max-width:680px; font-size:clamp(17px,1.25vw,21px); line-height:1.65; opacity:.77; }
.capability-story__examples { margin-top:27px; font-size:10px; font-weight:820; letter-spacing:.09em; text-transform:uppercase; opacity:.62; }
.capability-story__visual { position:relative; z-index:2; min-height:390px; display:grid; place-items:center; border-radius:var(--radius); overflow:hidden; }
.capability-story__visual .product-detail-image { max-width:94%; max-height:360px; filter:drop-shadow(0 30px 38px rgba(0,0,0,.34)); }
.capability-story--paper { background:#e6e0d5; color:#14120f; }
.capability-story--paper .capability-story__visual { background:#c7b9a5 url('assets/images/texture-wood.png'); background-size:560px 560px; }
.capability-story--tolex { background:#1b1a17 url('assets/images/texture-tolex.png'); color:#f0ece5; }
.capability-story--tolex .capability-story__visual { background:radial-gradient(circle at 50% 45%,rgba(239,105,44,.16),transparent 45%),#0d0d0c; }
.capability-story--stone { background:#beb7ab; color:#171512; }
.capability-story--stone .capability-story__visual { background:#8b857d url('assets/images/texture-metal.png'); }
.capability-story--amber { background:linear-gradient(120deg,#211a15,#120f0c); color:#f4eee6; }
.capability-story--amber .capability-story__visual { background:radial-gradient(circle at 30% 35%,rgba(241,113,52,.24),transparent 38%),#100f0d url('assets/images/texture-tolex.png'); }
.stereo-map { position:absolute; left:8%; right:8%; bottom:22px; display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; color:#191715; font-size:10px; font-weight:850; letter-spacing:.12em; }
.stereo-map i { height:1px; background:linear-gradient(90deg,#39342e,transparent 49%,#39342e 51%,transparent); }

/* PERFORMANCE */
.performance { background-image:url('assets/images/texture-noise.png'); background-size:350px 350px; }
.performance-product { position:relative; height:clamp(360px,39vw,600px); margin-top:clamp(60px,7vw,110px); display:grid; place-items:center; overflow:hidden; border-radius:var(--radius); background:linear-gradient(180deg,#d2cbc0,#b9b0a4); box-shadow:inset 0 0 0 1px rgba(17,16,15,.08); }
.performance-product__surface { position:absolute; inset:62% -10% -22%; transform:perspective(800px) rotateX(55deg); transform-origin:bottom; background:#4d3425 url('assets/images/texture-wood.png'); background-size:620px 620px; opacity:.72; }
.performance-product .product-image { position:relative; z-index:2; max-width:min(1160px,88%); max-height:82%; filter:drop-shadow(0 38px 42px rgba(34,28,23,.3)); }
.feature-rail { margin-top:42px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); }
.feature-rail > div { padding:25px 24px 28px 0; border-right:1px solid var(--line-dark); }
.feature-rail > div:not(:first-child) { padding-left:24px; }
.feature-rail > div:last-child { border-right:0; }
.feature-rail span { color:#918b82; font-size:9px; font-weight:850; letter-spacing:.13em; }
.feature-rail h3 { margin-top:16px; font-size:18px; line-height:1.18; letter-spacing:-.02em; }
.feature-rail p { margin-top:9px; color:var(--muted-dark); font-size:13px; line-height:1.55; }

/* INDUSTRY */
.partners { background:linear-gradient(120deg,#0e0e0c,#191613); color:#f1ede6; }
.partners__texture { position:absolute; inset:0; background:url('assets/images/texture-tolex.png'), radial-gradient(circle at 82% 17%,rgba(239,107,47,.15),transparent 28%); opacity:.55; pointer-events:none; }
.partners__top { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,.72fr); gap:clamp(60px,8vw,140px); align-items:end; }
.partners__origin { margin-top:24px; color:#716b64; font-size:10px; font-weight:760; letter-spacing:.08em; text-transform:uppercase; }
.product-routes { margin-top:clamp(75px,7vw,110px); display:grid; grid-template-columns:1.15fr .92fr .92fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.product-routes > * { padding:34px 34px 37px 0; }
.product-routes > *:not(:first-child) { padding-left:34px; border-left:1px solid var(--line); }
.product-routes__intro h3 { font-size:clamp(28px,2.4vw,43px); }
.product-routes__intro > p:last-child, .product-routes article p { margin-top:15px; color:#99938b; font-size:14px; line-height:1.62; }
.product-routes article span { color:#ff7b3d; font-size:9px; font-weight:850; letter-spacing:.12em; }
.product-routes article h4 { margin-top:25px; }
.partner-list { margin-top:70px; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.partner-list article { min-height:190px; display:grid; grid-template-columns:45px minmax(170px,.48fr) 1fr; gap:22px; align-items:start; padding:28px 30px 30px 0; border-bottom:1px solid var(--line); }
.partner-list article:nth-child(odd) { border-right:1px solid var(--line); }
.partner-list article:nth-child(even) { padding-left:30px; }
.partner-list article > span { color:#65615c; font-size:9px; font-weight:850; letter-spacing:.1em; }
.partner-list h3 { font-size:18px; line-height:1.2; letter-spacing:-.02em; }
.partner-list p { color:#948e86; font-size:13px; line-height:1.58; }
.partners__cta { margin-top:40px; }

/* CONTACT */
.contact { background:#d7d0c5 url('assets/images/texture-noise.png'); background-size:340px 340px; }
.contact__grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(65px,9vw,145px); align-items:start; }
.contact__copy h2 { max-width:16ch; }
.contact__copy .section-lead { margin-top:24px; }
.contact__mail { margin-top:25px; color:#776f66; font-size:13px; }
.contact-form { display:grid; gap:17px; padding:clamp(26px,3vw,45px); border-radius:var(--radius); background:#171512 url('assets/images/texture-tolex.png'); color:#eee9e1; box-shadow:0 34px 75px rgba(53,43,34,.18); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.contact-form label { display:grid; gap:8px; }
.contact-form label > span { color:#8e877f; font-size:9px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.contact-form input,.contact-form textarea,.contact-form select { width:100%; border:1px solid rgba(255,255,255,.12); border-radius:11px; background:#0d0d0c; color:#fff; padding:13px 14px; outline:none; }
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { border-color:rgba(244,109,47,.72); }
.contact-form textarea { resize:vertical; min-height:140px; }
.contact-form .button { justify-self:start; border:0; cursor:pointer; }
.form-honeypot { position:absolute!important; left:-9999px!important; }
.form-status { padding:12px 14px; border-radius:10px; font-size:13px; }
.form-status--success { background:rgba(77,198,122,.11); color:#a8e8bf; }
.form-status--error { background:rgba(255,80,80,.1); color:#ffb0b0; }

/* FOOTER */
.site-footer { background:#0d0d0c; color:#eee9e2; border-top:1px solid rgba(255,255,255,.08); }
.site-footer__inner { min-height:108px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.site-footer__brand { display:flex; align-items:center; gap:15px; }
.site-footer__brand strong { font-size:20px; letter-spacing:-.08em; }
.site-footer__brand span,.site-footer__meta { color:#68635d; font-size:10px; }
.site-footer__meta { display:flex; align-items:center; gap:16px; }
.site-footer__meta a { width:32px; height:32px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:50%; }

.reveal { opacity:0; transform:translateY(20px); transition:opacity .75s var(--ease),transform .75s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }
.capability-story__visual { transition:transform .9s var(--ease); }
.capability-story.is-active .capability-story__visual { transform:translateY(-6px); }
.v6-lang-ja h1,.v6-lang-ja h2,.v6-lang-ja h3 { letter-spacing:-.03em; line-height:1.08; }
.v6-lang-ja .hero__lead,.v6-lang-ja .section-lead,.v6-lang-ja .capability-story__text { line-height:1.8; }

@media (max-width:1180px) {
    :root { --header:68px; }
    .site-header__inner { grid-template-columns:auto auto 1fr; }
    .brand__descriptor { display:none; }
    .menu-toggle { display:inline-flex; justify-self:end; width:40px; height:40px; border:0; border-radius:50%; background:rgba(255,255,255,.06); position:relative; }
    .menu-toggle span { position:absolute; left:11px; right:11px; height:1px; background:#fff; }
    .menu-toggle span:first-child { top:16px; }.menu-toggle span:last-child { top:23px; }
    .language-switcher { justify-self:end; }
    .site-nav { position:fixed; inset:var(--header) 0 auto; background:rgba(14,14,12,.98); padding:26px var(--gutter) 34px; display:grid; gap:0; transform:translateY(-130%); opacity:0; pointer-events:none; transition:transform .35s var(--ease),opacity .25s ease; }
    .site-nav.is-open { transform:none; opacity:1; pointer-events:auto; }
    .site-nav a,.site-nav .nav-contact { padding:14px 0; border:0; border-bottom:1px solid rgba(255,255,255,.08); border-radius:0; font-size:14px; }
    .hero__inner { grid-template-columns:minmax(0,.9fr) minmax(450px,1.1fr); }
    .mechanism-story { grid-template-columns:minmax(400px,1fr) minmax(0,1fr); gap:60px; }
    .mechanism-story--tubes { grid-template-columns:minmax(0,1fr) minmax(400px,1fr); }
    .capability-story__inner { grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr); gap:60px; }
}

@media (max-width:900px) {
    :root { --gutter:24px; }
    .site-header__inner { grid-template-columns:auto 1fr auto; gap:12px; }
    .menu-toggle { grid-column:2; grid-row:1; }.language-switcher { grid-column:3; grid-row:1; }
    h1 { font-size:clamp(58px,10vw,82px); max-width:none; }
    h2 { font-size:clamp(42px,8vw,62px); max-width:none; }
    h3 { max-width:none; }
    .editorial-head,.partners__top,.contact__grid { grid-template-columns:1fr; gap:34px; align-items:start; }
    .hero { min-height:980px; }
    .hero__inner { min-height:910px; grid-template-columns:1fr; align-content:center; gap:28px; padding:55px 0 48px; }
    .hero__copy { padding:25px 0 0; max-width:760px; }
    .hero__visual { transform:none!important; }
    .product-stage--hero { height:390px; }
    .studio-rack { display:none; }.studio-amp { right:-5%; bottom:13%; opacity:.2; }
    .signal-path { grid-template-columns:1fr 1fr; gap:0; }
    .signal-path > b { display:none; }
    .signal-path > div { padding:22px; border-bottom:1px solid var(--line-dark); }
    .signal-path > div:nth-of-type(odd) { border-right:1px solid var(--line-dark); }
    .mechanism-story,.mechanism-story--tubes { grid-template-columns:1fr; gap:42px; min-height:auto; }
    .mechanism-story--tubes .mechanism-detail-image,.mechanism-story--tubes .mechanism-story__copy { grid-column:1; grid-row:auto; }
    .mechanism-story--tubes .mechanism-story__copy { order:-1; }
    .mechanism-mode { grid-template-columns:1fr; gap:22px; }
    .capability-story { min-height:auto; }
    .capability-story__inner { min-height:auto; grid-template-columns:1fr; gap:46px; padding-block:88px; }
    .capability-story:nth-child(odd) .capability-story__copy,.capability-story:nth-child(odd) .capability-story__visual { grid-column:1; grid-row:auto; }
    .capability-story:nth-child(odd) .capability-story__copy { order:-1; }
    .capability-story__visual { min-height:310px; }
    .feature-rail { grid-template-columns:1fr 1fr; }
    .feature-rail > div:nth-child(2) { border-right:0; }.feature-rail > div:nth-child(-n+2) { border-bottom:1px solid var(--line-dark); }
    .product-routes { grid-template-columns:1fr 1fr; }
    .product-routes__intro { grid-column:1/-1; border-bottom:1px solid var(--line); }
    .product-routes > article:nth-of-type(1) { border-left:0; padding-left:0; }
    .partner-list { grid-template-columns:1fr; }
    .partner-list article:nth-child(odd) { border-right:0; }
    .partner-list article:nth-child(even) { padding-left:0; }
}

@media (max-width:640px) {
    :root { --header:64px; --gutter:18px; }
    .section { padding:82px 0; }
    h1 { font-size:clamp(48px,13.5vw,65px); line-height:.98; }
    h2 { font-size:clamp(37px,10.8vw,52px); line-height:1.02; }
    h3 { font-size:clamp(29px,8.5vw,40px); }
    .section-lead,.hero__lead,.capability-story__text { font-size:16.5px; }
    .language-switcher a { padding:6px 7px; font-size:8px; }
    .hero { min-height:900px; }
    .hero__inner { min-height:836px; padding-top:44px; }
    .hero__actions { flex-direction:column; align-items:stretch; width:min(100%,330px); }
    .button { width:100%; }
    .hero__proof { flex-direction:column; gap:7px; }
    .product-stage--hero { height:300px; }
    .studio-floor { height:35%; }.studio-amp { display:none; }
    .signal-path > div { min-height:105px; padding:16px 12px; }
    .signal-path strong { font-size:14px; }
    .pickup-illustration,.mechanism-detail-image { height:320px; min-height:320px; }
    .pickup-body { height:95px; left:6%; right:6%; }
    .mechanism__statement { font-size:24px; }
    .capability-story__number { margin-bottom:27px; }
    .capability-story__visual { min-height:240px; }
    .capability-story__visual .product-detail-image { max-height:235px; }
    .performance-product { height:300px; }
    .feature-rail { grid-template-columns:1fr; }
    .feature-rail > div,.feature-rail > div:not(:first-child) { padding:21px 0; border-right:0; border-bottom:1px solid var(--line-dark); }
    .feature-rail > div:last-child { border-bottom:0; }
    .product-routes { grid-template-columns:1fr; }
    .product-routes__intro { grid-column:auto; }
    .product-routes > *,.product-routes > *:not(:first-child),.product-routes > article:nth-of-type(1) { padding:25px 0; border-left:0; border-bottom:1px solid var(--line); }
    .partner-list article { grid-template-columns:32px 1fr; gap:12px; min-height:auto; }
    .partner-list article p { grid-column:2; }
    .form-row { grid-template-columns:1fr; }
    .contact-form { padding:22px; }
    .site-footer__inner { min-height:140px; flex-direction:column; align-items:flex-start; justify-content:center; }
}

@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
    .reveal { opacity:1; transform:none; }
}

/* V4 final desktop calibration: keep the French hero headline to a compact editorial block. */
@media (min-width: 1181px) {
    .hero__inner { grid-template-columns: minmax(0,1.08fr) minmax(520px,.92fr); gap: clamp(30px,3.5vw,58px); }
    .hero__copy { max-width: 820px; }
    .hero__copy h1 { font-size: clamp(64px,5vw,92px); max-width: 760px; }
}

/* ===== V5 structure & hierarchy refresh ===== */
@media (min-width: 1181px) {
    .hero__inner {
        grid-template-columns: minmax(0,.98fr) minmax(640px,1.02fr);
        gap: clamp(36px,4vw,72px);
    }
    .hero__copy h1 {
        font-size: clamp(68px,5.35vw,98px);
        max-width: 11.5ch;
    }
}
.hero {
    background: linear-gradient(112deg,#11110f 0%,#171411 43%,#241a14 100%);
}
.studio-wall {
    background: radial-gradient(circle at 74% 26%,rgba(220,118,58,.22),transparent 32%), linear-gradient(90deg,transparent 0 68%,rgba(255,255,255,.03) 68% 68.1%,transparent 68.1%);
}
.product-stage--hero .product-image {
    max-width: min(980px, 108%);
    max-height: 100%;
    transform: none;
}
.product-stage__shadow {
    width: 78%;
    height: 10%;
    bottom: 8%;
}
.signal-path {
    gap: 28px;
    align-items: stretch;
}
.signal-path__item {
    min-height: 220px;
    display: grid;
    align-content: space-between;
    gap: 18px;
}
.signal-path strong {
    max-width: 13ch;
}
.signal-icon {
    height: auto !important;
    min-height: 112px;
    color: #161411;
}
.signal-icon svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 220px;
}
.signal-strings,
.signal-pickup,
.signal-tubes,
.signal-wave { background: none; }
.mechanism-story {
    min-height: 420px;
    gap: clamp(56px,7vw,120px);
}
.pickup-illustration--open {
    height: 420px;
    min-height: 420px;
    display: grid;
    place-items: center;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
    color: #171512;
}
.pickup-illustration--open::after { display: none; }
.pickup-illustration__svg {
    width: min(100%, 840px);
    height: auto;
}
.mechanism-detail-image--free {
    min-height: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    overflow: visible;
}
.mechanism-detail-image--free .product-detail-image {
    max-width: 100%;
    max-height: none;
    filter: drop-shadow(0 26px 32px rgba(0,0,0,.18));
}
.mechanism-mode {
    margin-top: clamp(66px,7vw,110px);
}
.mechanism__statement {
    max-width: 980px;
    margin-left: 0;
    font-size: clamp(28px,2.35vw,42px);
}
.capabilities__intro {
    padding: clamp(82px,7vw,128px) 0;
    background-image: url('assets/images/texture-noise.png');
}
.capability-story {
    min-height: 0;
}
.capability-story__inner {
    min-height: 0;
    grid-template-columns: minmax(0,.92fr) minmax(420px,.98fr);
    gap: clamp(55px,7vw,110px);
    padding-block: clamp(82px,7vw,118px);
}
.capability-story__visual--diagram {
    min-height: 380px;
    border-radius: 0;
    overflow: visible;
    background: transparent !important;
    box-shadow: none;
    display: grid;
    place-items: center;
}
.capability-graphic {
    width: min(100%, 760px);
    height: auto;
    color: currentColor;
}
.capability-story--paper {
    background: #ebe6dc;
    color: #151310;
}
.capability-story--stone {
    background: #d0c8bc;
    color: #151310;
}
.capability-story--amber {
    background: linear-gradient(120deg,#241b16,#15120f);
    color: #f3eee6;
}
.performance {
    background-size: 300px 300px;
}
.performance-product {
    height: clamp(390px,40vw,630px);
    background: linear-gradient(180deg,#d7d0c6,#c1b8ad);
}
.performance-product .product-image {
    max-width: min(1400px, 96%);
    max-height: 88%;
    filter: drop-shadow(0 34px 36px rgba(34,28,23,.22));
}
.feature-rail h3 {
    font-size: 19px;
}
.feature-rail p {
    font-size: 13.5px;
}
@media (max-width: 900px) {
    .signal-path {
        grid-template-columns: 1fr 1fr;
        gap: 0;
    }
    .signal-path__item {
        min-height: 190px;
        padding: 22px;
        border-bottom: 1px solid var(--line-dark);
    }
    .signal-path > div:nth-of-type(odd) {
        border-right: 1px solid var(--line-dark);
    }
    .pickup-illustration--open,
    .mechanism-detail-image--free {
        min-height: 300px;
        height: 300px;
    }
    .capability-story__inner {
        grid-template-columns: 1fr;
    }
    .capability-story__visual--diagram {
        min-height: 300px;
    }
}
@media (max-width: 640px) {
    .hero__copy h1 {
        max-width: 8ch;
    }
    .product-stage--hero {
        height: 340px;
    }
    .signal-path__item {
        min-height: 164px;
        padding: 18px 12px;
    }
    .signal-path strong {
        font-size: 14px;
    }
    .signal-icon {
        min-height: 82px;
    }
    .pickup-illustration--open,
    .mechanism-detail-image--free {
        min-height: 250px;
        height: 250px;
    }
    .capability-story__visual--diagram {
        min-height: 220px;
    }
    .capability-graphic {
        width: min(100%, 540px);
    }
    .performance-product {
        height: 320px;
    }
}
