:root{
  --ink:#0d0d0c;
  --ink-2:#171511;
  --ivory:#f1ece2;
  --paper:#e8e0d2;
  --paper-2:#d9cdbc;
  --brass:#c5a26b;
  --brass-soft:#9f8257;
  --muted:#a99f90;
  --line:rgba(197,162,107,.28);
  --shadow:0 24px 70px rgba(0,0,0,.34);
  --serif:"Iowan Old Style","Baskerville","Times New Roman","YuMincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;color:var(--ivory);background:var(--ink);font-family:var(--serif);line-height:1.9;letter-spacing:.02em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
::selection{background:var(--brass);color:#111}
.site-wrap{overflow:hidden;background:var(--ink)}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.eyebrow{font-family:var(--sans);font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brass);font-weight:600}
.kicker{font-size:.8rem;letter-spacing:.14em;color:var(--brass)}
.muted{color:#b8b0a4}
.rule{width:46px;height:1px;background:var(--brass);margin:20px 0}
.section{padding:110px 0;position:relative}
.section--paper{background:var(--paper);color:#181511}
.section--paper .muted{color:#6d6459}
.section--texture{background:linear-gradient(rgba(10,9,8,.8),rgba(10,9,8,.92)),url('../images/texture.jpg') center/cover}
.section-title{font-weight:500;font-size:clamp(1.45rem,2.1vw,2.35rem);line-height:1.3;letter-spacing:-.015em;margin:0 0 24px}
.section-title.small{font-size:clamp(1.28rem,1.7vw,1.85rem)}
.lead{font-size:clamp(1rem,1.35vw,1.2rem);max-width:760px;color:#d8d0c4;margin:0}
.section--paper .lead{color:#4f473e}

/* header */
.site-header .shell{width:min(1500px,calc(100% - 48px))}
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:linear-gradient(to bottom,rgba(7,7,6,.94),rgba(7,7,6,.78),transparent);transition:.25s ease}
.site-header.is-scrolled{background:rgba(8,8,7,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{height:86px;display:flex;align-items:center;gap:26px}
.brand{min-width:max-content;line-height:1.15}
.brand-name{font-size:1.27rem;letter-spacing:.02em}
.brand-sub{font-family:var(--sans);font-size:.54rem;letter-spacing:.24em;color:#cfc5b6;margin-top:7px}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:.74rem;letter-spacing:.015em}
.nav-links a{color:#ddd5c9;transition:.2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--brass)}
.nav-cta{padding:11px 16px;white-space:nowrap;}
.menu-btn{display:none;margin-left:auto;border:0;background:transparent;color:var(--ivory);width:44px;height:44px;position:relative}
.menu-btn span{position:absolute;left:9px;width:26px;height:1px;background:currentColor;transition:.2s}
.menu-btn span:first-child{top:16px}.menu-btn span:last-child{top:27px}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(5.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-5.5px) rotate(-45deg)}

/* hero */
.hero{min-height:760px;display:grid;align-items:end;position:relative;background:#090806}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,6,.98) 0%,rgba(7,7,6,.85) 28%,rgba(7,7,6,.20) 62%,rgba(7,7,6,.20) 100%),linear-gradient(0deg,rgba(7,7,6,.84) 0%,transparent 37%)}
.hero-content{position:relative;z-index:2;padding:150px 0 90px;max-width:760px}
.hero h1{font-size:clamp(2rem,3.25vw,3.2rem);line-height:1.13;letter-spacing:-.025em;font-weight:400;margin:17px 0 26px;text-shadow:0 3px 20px rgba(0,0,0,.25)}
.hero-copy{font-size:1.06rem;max-width:560px;color:#ddd6ca}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:.82rem;}

.btn--dark:hover{color:white}

/* home story */
.story-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:610px}
.story-photo{min-height:480px;position:relative;overflow:hidden}
.story-photo img{width:100%;height:100%;object-fit:cover}
.story-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,rgba(232,224,210,.95) 100%)}
.story-copy{display:flex;align-items:center;padding:70px clamp(36px,6vw,92px);background:var(--paper);color:#181511}
.story-copy blockquote{font-size:1.07rem;margin:22px 0 0;color:#4d443a}
.signature{margin-top:30px;font-style:italic;font-size:1.35rem;color:#645340}

/* 30 section */
.thirty{display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:70px}
.big-number{font-size:clamp(7rem,14vw,13rem);line-height:.7;color:var(--brass);font-weight:400;letter-spacing:-.08em}
.big-number sup{font-size:.27em;vertical-align:top;margin-left:.09em}

/* cards */
.cards-4{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;align-items:stretch;border-top:1px solid #bdb2a3;border-left:1px solid #bdb2a3}
.card-link{background:#eee8de;color:#171512;border-right:1px solid #bdb2a3;border-bottom:1px solid #bdb2a3;transition:.3s;display:flex;flex-direction:column;height:100%}
.card-link:hover{background:#f7f3ec;transform:translateY(-3px);box-shadow:var(--shadow);z-index:2}
.card-image{height:220px;flex:0 0 220px;overflow:hidden;background:#111}
.card-image img{width:100%;height:100%;object-fit:cover;transition:.45s ease;filter:saturate(.82)}
.card-link:hover img{transform:scale(1.035);filter:saturate(1)}
.card-body{padding:30px 28px 35px;min-height:250px;flex:1;display:flex;flex-direction:column}
.card-body h3{font-size:1.55rem;font-weight:400;margin:0 0 2px}
.card-sub{font-family:var(--sans);font-size:.66rem;letter-spacing:.17em;color:#94734a;text-transform:uppercase}
.card-body p{font-size:.93rem;color:#554d43;margin:18px 0 0}

/* coachbuilt */
.coachbuilt{min-height:520px;display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch}
.coachbuilt-copy{padding:90px max(48px,calc((100vw - 1180px)/2));padding-right:60px;background:#10100f}
.coachbuilt-photo{position:relative;min-height:420px}
.coachbuilt-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.75)}
.coachbuilt-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10100f 0%,transparent 38%)}
.quote{font-size:clamp(1.45rem,2.5vw,2.7rem);line-height:1.55;margin:35px 0 0;color:#f1e8db}

/* philosophy */
.philosophy-row{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.philosophy-photo{position:relative;min-height:420px}.philosophy-photo img{width:100%;height:100%;object-fit:cover}
.philosophy-copy{background:var(--paper);color:#181511;padding:90px clamp(40px,7vw,110px);display:flex;flex-direction:column;justify-content:center}

/* CTA */
.cta-section{position:relative;padding:110px 0;background:#111;color:#fff}
.cta-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.95),rgba(8,8,7,.82)),url('../images/cta-workshop.jpg') center/cover;opacity:.9}
.cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.cta-points{display:grid;gap:10px;margin-top:22px;color:#ddd5c8}
.cta-point{padding-left:18px;position:relative}.cta-point:before{content:"";position:absolute;left:0;top:.85em;width:6px;height:1px;background:var(--brass)}

/* inner page */
.page-hero{min-height:560px;padding-top:86px;position:relative;display:flex;align-items:end;background:#0b0a09}
.page-hero-media{position:absolute;inset:0}.page-hero-media img{width:100%;height:100%;object-fit:cover}
.page-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,6,.97) 0%,rgba(7,7,6,.93) 82px,rgba(7,7,6,.68) 168px,rgba(7,7,6,.22) 280px,transparent 420px),linear-gradient(90deg,rgba(7,7,6,.96),rgba(7,7,6,.63) 55%,rgba(7,7,6,.25)),linear-gradient(0deg,rgba(7,7,6,.88),transparent 55%)}
.page-hero-content{position:relative;z-index:1;padding:90px 0 70px;max-width:790px}
.page-hero h1{font-size:clamp(1.9rem,3vw,2.95rem);font-weight:400;line-height:1.16;letter-spacing:-.02em;margin:12px 0 20px}
.page-hero p{font-size:1.06rem;color:#ddd4c7;max-width:620px}
.prose{max-width:780px}.prose h2{font-weight:400;font-size:clamp(1.55rem,2.1vw,2.25rem);line-height:1.42;margin:70px 0 22px}.prose h2:first-child{margin-top:0}.prose p{font-size:1.02rem;color:#d7d0c5;margin:0 0 1.3em}.section--paper .prose p{color:#4e463d}
.prose .pull{font-size:clamp(1.5rem,2.8vw,2.6rem);line-height:1.55;color:var(--brass);margin:50px 0}
.dual{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.dual-image{min-height:540px;box-shadow:var(--shadow);overflow:hidden}.dual-image img{width:100%;height:100%;object-fit:cover}
.sound-words{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:55px}.sound-word{background:#111;padding:32px 26px}.sound-word strong{display:block;font-weight:400;font-size:1.35rem;color:#f1e7d9}.sound-word span{font-family:var(--sans);font-size:.74rem;color:#a99e90}

/* contact form */
.contact-layout{display:grid;grid-template-columns:.68fr 1.32fr;gap:70px;align-items:start}
.contact-side{position:sticky;top:120px}
.contact-form{background:#f0eadf;color:#1a1713;padding:48px;border:1px solid #c9bcaa}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:24px}.field label,.field legend{display:block;font-family:var(--sans);font-size:.78rem;font-weight:700;margin-bottom:9px;letter-spacing:.03em}.req{font-size:.66rem;color:#8f5b3a;margin-left:6px}.field input[type="text"],.field input[type="email"],.field input[type="tel"],.field textarea,.field select{width:100%;border:1px solid #b9ad9e;background:#fffdf8;color:#171411;padding:13px 14px;outline:none;border-radius:0}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus{border-color:#7e6040;box-shadow:0 0 0 2px rgba(126,96,64,.1)}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;}.choice input{position:absolute;opacity:0;pointer-events:none}.choice label{display:flex;align-items:flex-start;gap:10px;height:100%;cursor:pointer;font-family:var(--serif);font-weight:400;font-size:.93rem;}.choice label:before{content:"";border-radius:50%;flex:0 0 auto}
.conditional{display:none;padding:18px 20px 1px;margin:-10px 0 24px;border-left:2px solid #aa8456;background:#e7dece}.conditional.is-active{display:block}.form-note{font-size:.76rem;color:#6c6257}.form-alert{padding:15px 18px;margin-bottom:24px;border:1px solid #ac765d;background:#f4e2d8;color:#633d2c}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.turnstile-wrap{margin:18px 0 25px}

/* footer */
.site-footer{padding:52px 0 34px;border-top:1px solid rgba(255,255,255,.1);background:#090908}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}.footer-links{display:flex;flex-wrap:wrap;gap:15px 22px;font-size:.76rem;color:#b8afa3}.footer-meta{font-family:var(--sans);font-size:.68rem;color:#777066;margin-top:30px;display:flex;justify-content:flex-end;text-align:right;gap:20px;flex-wrap:wrap}

/* v3 refinements */
.hero-media img{object-position:center 48%}
.page-hero-media img[src$="hero.jpg"],
.page-hero-media img[src$="original.jpg"]{object-position:center 48%}
.card-body p{flex:1}
@media (min-width:981px){.nav-links a:not(.nav-cta){white-space:nowrap}.nav-cta{margin-left:4px}}

@media (max-width:980px){
  .shell{width:min(100% - 34px,760px)}
  .nav{height:72px}.nav-links{position:absolute;top:72px;left:0;right:0;background:#0a0a09;padding:20px 26px 30px;display:none;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.08)}.nav-links.is-open{display:flex}.nav-links a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.nav-cta{margin-top:10px;text-align:center}.menu-btn{display:block}
  .hero{min-height:720px}.hero-content{padding-top:130px}.hero-media:after{background:linear-gradient(90deg,rgba(7,7,6,.94),rgba(7,7,6,.48)),linear-gradient(0deg,rgba(7,7,6,.95) 0%,transparent 45%)}
  .story-split,.thirty,.coachbuilt,.philosophy-row,.cta-inner,.dual,.contact-layout{grid-template-columns:1fr}.story-photo{min-height:380px}.story-photo:after{background:linear-gradient(0deg,rgba(232,224,210,.95),transparent 45%)}.story-copy{padding:55px 28px}.thirty{gap:20px}.cards-4{grid-template-columns:1fr 1fr}.coachbuilt-copy{padding:70px 28px}.coachbuilt-photo:after{background:linear-gradient(0deg,#10100f 0%,transparent 40%)}.philosophy-copy{padding:60px 28px}.contact-side{position:static}.contact-form{padding:30px}.page-hero{min-height:500px}.sound-words{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .shell{width:calc(100% - 28px)}.brand-name{font-size:1.04rem}.brand-sub{font-size:.46rem}.section{padding:78px 0}.hero{min-height:760px}.hero-media img{object-position:58% center}.hero-media:after{background:linear-gradient(90deg,rgba(7,7,6,.93),rgba(7,7,6,.52)),linear-gradient(0deg,rgba(7,7,6,.98) 0%,rgba(7,7,6,.3) 57%,rgba(7,7,6,.15) 100%)}.hero h1{font-size:2rem}.hero-copy{font-size:.94rem}.hero-actions{flex-direction:column}.btn{width:100%}.cards-4{grid-template-columns:1fr}.card-image{height:210px;flex-basis:210px}.card-body{min-height:auto}.form-row,.choice-grid{grid-template-columns:1fr}.contact-form{padding:24px 18px}.footer-grid{grid-template-columns:1fr}.footer-links{display:grid}.footer-meta{justify-content:flex-end;text-align:right}.page-hero{min-height:530px}.page-hero h1{font-size:2rem}.sound-words{grid-template-columns:1fr}
}

/* v5 — homepage spacious rhythm
   Keep the hero and FOUR WAYS section unchanged; add breathing room elsewhere. */
@media (min-width:981px){
  .home-page .story-split{min-height:710px}
  .home-page .story-copy{padding-top:108px;padding-bottom:108px}
  .home-page .section--texture{padding-top:150px;padding-bottom:150px}
  .home-page .coachbuilt{min-height:650px}
  .home-page .coachbuilt-copy{padding-top:125px;padding-bottom:125px}
  .home-page .philosophy-row{min-height:680px}
  .home-page .philosophy-copy{padding-top:120px;padding-bottom:120px}
  .home-page .cta-section{padding-top:150px;padding-bottom:150px}
}
@media (min-width:621px) and (max-width:980px){
  .home-page .story-copy{padding-top:82px;padding-bottom:82px}
  .home-page .section--texture{padding-top:125px;padding-bottom:125px}
  .home-page .coachbuilt-copy{padding-top:95px;padding-bottom:95px}
  .home-page .philosophy-copy{padding-top:90px;padding-bottom:90px}
  .home-page .cta-section{padding-top:125px;padding-bottom:125px}
}
@media (max-width:620px){
  .home-page .story-copy{padding-top:68px;padding-bottom:68px}
  .home-page .section--texture{padding-top:100px;padding-bottom:100px}
  .home-page .coachbuilt-copy{padding-top:82px;padding-bottom:82px}
  .home-page .philosophy-copy{padding-top:78px;padding-bottom:78px}
  .home-page .cta-section{padding-top:100px;padding-bottom:100px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card-link:hover{transform:none}}

/* v6 adjustments */
.home-page .hero-content{display:flex;flex-direction:column;max-width:700px}
.home-page .hero-content .hero-actions{justify-content:flex-start;align-self:flex-start}
.home-page .hero-content .hero-copy,.home-page .hero-content h1,.home-page .hero-content .eyebrow{text-align:left}

/* v7 contact company information */
.company-info{
  margin:24px 0 28px;
  padding:22px 0;
  border-top:1px solid rgba(101,86,67,.25);
  border-bottom:1px solid rgba(101,86,67,.25);
}
.company-info p{
  margin:0;
  line-height:1.95;
}
.company-info a{
  color:inherit;
  text-decoration:none;
}
.company-info a:hover{
  opacity:.65;
}

/* Home hero: explicitly anchored to the left */
.home-page .hero-content{
  width:min(680px,100%);
  margin-left:0;
  margin-right:auto;
  padding-left:clamp(28px,4.8vw,84px);
  padding-right:18px;
  align-items:flex-start;
  text-align:left;
}
.home-page .hero-content > *{text-align:left}
.home-page .hero-content h1{max-width:7.2em}
.home-page .hero-content .hero-copy{max-width:31em}
.home-page .hero-actions{justify-content:flex-start;align-self:flex-start}

/* The 30+ figure now explains itself even before the paragraph is read. */
.number-caption{
  margin-top:34px;
  padding-left:4px;
  font-family:var(--sans);
  font-size:.62rem;
  line-height:1.85;
  letter-spacing:.18em;
  color:#aaa092;
}

/* Buttons — coachbuilt / vintage instrument feel */
.btn,
.nav-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(204,169,109,.72);
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(0,0,0,.12)),
    rgba(14,13,11,.56);
  color:#f2eadf;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    0 8px 26px rgba(0,0,0,.14);
  letter-spacing:.075em;
  transition:color .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease,transform .35s cubic-bezier(.2,.75,.2,1);
}
.btn{min-height:54px;padding:0 28px}
.btn::before,
.nav-cta::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-30%;
  bottom:-30%;
  left:-45%;
  width:34%;
  background:linear-gradient(90deg,transparent,rgba(241,220,177,.18),transparent);
  transform:skewX(-19deg);
  transition:left .72s cubic-bezier(.2,.75,.2,1);
}
.btn::after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(204,169,109,.13);
  pointer-events:none;
  transition:border-color .35s ease;
}
.btn:hover,
.nav-cta:hover{
  color:#fff7e9;
  background:linear-gradient(180deg,rgba(91,69,39,.40),rgba(26,21,15,.88));
  border-color:#d2ae73;
  box-shadow:0 13px 34px rgba(0,0,0,.26),0 0 0 1px rgba(197,162,107,.08);
  transform:translateY(-2px);
}
.btn:hover::before,
.nav-cta:hover::before{left:118%}
.btn:hover::after{border-color:rgba(229,194,133,.30)}

.btn--dark{
  background:linear-gradient(180deg,#201c17,#0f0e0c);
  color:#f5ede2;
  border-color:#3a3025;
}
.btn--dark:hover{
  background:linear-gradient(180deg,#3b3023,#17130f);
  border-color:#8f714b;
}
.btn--ghost-dark{
  color:#1b1712;
  background:rgba(255,255,255,.04);
  border-color:#8d775d;
  box-shadow:none;
}
.btn--ghost-dark::after{border-color:rgba(93,72,47,.11)}
.btn--ghost-dark:hover{
  color:#f3ecdf;
  background:#1a1713;
  border-color:#1a1713;
}

/* Elegant animated rules */
.rule{
  transform:scaleX(.12);
  transform-origin:left center;
  opacity:.45;
  transition:transform .95s cubic-bezier(.2,.75,.2,1) .15s,opacity .6s ease .15s;
}
.reveal.is-visible .rule,
.motion-item.is-visible .rule{
  transform:scaleX(1);
  opacity:1;
}

/* Base motion system */
.reveal,
.motion-item{
  will-change:transform,opacity,filter,clip-path;
}
.reveal{
  opacity:0;
  transform:translateY(28px);
  filter:blur(2px);
  transition:
    opacity .9s cubic-bezier(.2,.75,.2,1),
    transform .9s cubic-bezier(.2,.75,.2,1),
    filter .9s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
  filter:none;
}
.motion-item{
  opacity:0;
  transform:translateY(24px);
  transition:
    opacity .85s cubic-bezier(.2,.75,.2,1) var(--motion-delay,0ms),
    transform .85s cubic-bezier(.2,.75,.2,1) var(--motion-delay,0ms);
}
.motion-item.is-visible{opacity:1;transform:none}

/* Images arrive like panels rather than generic fades */
.motion-image{
  clip-path:inset(7% 0 7% 0);
  transform:scale(1.025);
  opacity:.25;
  transition:
    clip-path 1.15s cubic-bezier(.2,.75,.2,1) var(--motion-delay,0ms),
    transform 1.3s cubic-bezier(.2,.75,.2,1) var(--motion-delay,0ms),
    opacity .9s ease var(--motion-delay,0ms);
}
.motion-image.is-visible{clip-path:inset(0);transform:scale(1);opacity:1}

/* Staggered cards / sound words */
.cards-4 .card-link,
.sound-words .sound-word,
.cta-points .cta-point{
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .7s ease var(--motion-delay,0ms),
    transform .8s cubic-bezier(.2,.75,.2,1) var(--motion-delay,0ms),
    background .3s ease,
    box-shadow .3s ease;
}
.cards-4.is-visible .card-link,
.sound-words.is-visible .sound-word,
.cta-points.is-visible .cta-point{
  opacity:1;
  transform:none;
}
.cards-4 .card-link:nth-child(1),.sound-words .sound-word:nth-child(1),.cta-points .cta-point:nth-child(1){--motion-delay:0ms}
.cards-4 .card-link:nth-child(2),.sound-words .sound-word:nth-child(2),.cta-points .cta-point:nth-child(2){--motion-delay:100ms}
.cards-4 .card-link:nth-child(3),.sound-words .sound-word:nth-child(3),.cta-points .cta-point:nth-child(3){--motion-delay:200ms}
.cards-4 .card-link:nth-child(4),.sound-words .sound-word:nth-child(4){--motion-delay:300ms}
.cards-4 .card-link:nth-child(5),.sound-words .sound-word:nth-child(5){--motion-delay:400ms}
.cards-4 .card-link:nth-child(6),.sound-words .sound-word:nth-child(6){--motion-delay:500ms}

/* Slow, almost imperceptible hero motion */
.hero-media img,
.page-hero-media img{
  transform:scale(1.025) translate3d(0,var(--parallax-y,0px),0);
  transition:transform .1s linear;
}
.hero.hero-ready .hero-media img,
.page-hero.hero-ready .page-hero-media img{
  animation:heroBreath 18s ease-in-out infinite alternate;
}
@keyframes heroBreath{
  from{transform:scale(1.025) translate3d(0,var(--parallax-y,0px),0)}
  to{transform:scale(1.065) translate3d(-.4%,var(--parallax-y,0px),0)}
}

/* Home hero copy enters in sequence */
.home-page .hero-content .eyebrow,
.home-page .hero-content h1,
.home-page .hero-content .hero-copy,
.home-page .hero-content .hero-actions{
  opacity:0;
  transform:translateY(18px);
}
.home-page .hero-content.is-visible .eyebrow{animation:heroTextIn .8s .05s forwards}
.home-page .hero-content.is-visible h1{animation:heroTextIn .9s .16s forwards}
.home-page .hero-content.is-visible .hero-copy{animation:heroTextIn .9s .29s forwards}
.home-page .hero-content.is-visible .hero-actions{animation:heroTextIn .9s .40s forwards}
@keyframes heroTextIn{to{opacity:1;transform:none}}

/* Rich image hover without feeling like an ecommerce template */
.story-photo img,
.coachbuilt-photo img,
.philosophy-photo img,
.dual-image img{
  transition:transform 1.2s cubic-bezier(.2,.75,.2,1),filter .8s ease;
}
.story-photo:hover img,
.coachbuilt-photo:hover img,
.philosophy-photo:hover img,
.dual-image:hover img{transform:scale(1.025)}

/* Decorative hover on four concept cards */
.card-link{position:relative;overflow:hidden}
.card-link::after{
  content:"";
  position:absolute;
  left:28px;right:28px;bottom:18px;
  height:1px;
  background:linear-gradient(90deg,var(--brass),transparent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s ease;
}
.card-link:hover::after{transform:scaleX(1)}

/* Contact hero framing for the workshop photograph */
body:not(.home-page) .page-hero-media img[src$="contact-hero.jpg"]{object-position:center 52%}

@media (max-width:900px){
  .home-page .hero-content{padding-left:22px;padding-right:12px;width:min(640px,100%)}
}

@media (max-width:620px){
  .number-caption{margin-top:24px}
  .btn{padding-inline:20px}
  .home-page .hero-content{width:100%;padding-left:8px;padding-right:8px}
}

@media (prefers-reduced-motion:reduce){
  .hero-media img,.page-hero-media img{animation:none!important;transform:none!important}
  .home-page .hero-content .eyebrow,
  .home-page .hero-content h1,
  .home-page .hero-content .hero-copy,
  .home-page .hero-content .hero-actions,
  .reveal,.motion-item,.motion-image,
  .cards-4 .card-link,.sound-words .sound-word,.cta-points .cta-point{
    opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;animation:none!important;transition:none!important
  }
  .rule{transform:scaleX(1);opacity:1}
}

/* v10 — compact editorial headline scale */
@media (min-width:901px){
  .hero h1,
  .page-hero h1,
  .prose h2,
  .section-title{white-space:nowrap}
}

/* v12 — use Mincho/serif type inside primary site buttons */
.btn,
.nav-cta{
  font-family:var(--serif);
}

/* v13 — 30+ section body copy: 3px smaller */
.home-page .thirty .lead{
  font-size:clamp(calc(1rem - 3px), calc(1.35vw - 3px), calc(1.2rem - 3px));
}

/* v16 — stronger inner-page hero top overlay + restoration image cleanup */
.page-hero{overflow:hidden}

/* v19 — Original / Restoration visual panels: no dead space, true square */
.original-restoration-page .dual-image{
  position:relative;
  min-height:0;
  aspect-ratio:1 / 1;
}
.original-restoration-page .dual-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* v19 — move homepage hero copy approximately 50px farther right on desktop */
@media (min-width:901px){
  .home-page .hero-content{
    padding-left:clamp(122px, calc(6.8vw + 50px), 175px);
  }
}

/* v25 — handwritten phrase appears one character at a time */
.home-page .hero-handwriting{
  position:absolute;
  z-index:2;
  right:clamp(34px,4.5vw,88px);
  bottom:clamp(44px,8vh,96px);
  width:clamp(400px,40vw,700px);
  pointer-events:none;
  opacity:.82;
  transform:rotate(-4.8deg);
  transform-origin:right bottom;
  filter:drop-shadow(0 3px 18px rgba(0,0,0,.36));
  color:rgba(229,208,174,.94);
}
.home-page .hero-handwriting .script-line{
  display:block;
  white-space:pre;
  font-family:"Snell Roundhand","Bradley Hand","Segoe Script","Apple Chancery","URW Chancery L",cursive;
  font-size:56px;
  font-style:italic;
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.005em;
  color:rgba(229,208,174,.94);
}
.home-page .hero-handwriting .script-line-2{margin-left:52px}
.home-page .hero-handwriting .script-line-3{margin-left:112px;margin-top:2px}
.home-page .hero-handwriting .script-char{
  display:inline-block;
  opacity:0;
  transform:translateY(8px) scale(.985) rotate(var(--char-tilt,0deg));
  filter:blur(3px);
  text-shadow:0 0 0 rgba(0,0,0,0);
}
.home-page .hero-handwriting .script-char.space{min-width:.34em}
.home-page .hero-handwriting.is-writing .script-char{
  animation:charWrite .62s cubic-bezier(.2,.72,.2,1) var(--char-delay) forwards;
}
.home-page .hero-handwriting .script-flourish{
  width:0;
  height:16px;
  margin-top:2px;
  margin-left:278px;
  border-bottom:2px solid rgba(214,184,122,.72);
  border-radius:999px;
  opacity:0;
}
.home-page .hero-handwriting.is-writing .script-flourish{
  animation:flourishWrite .9s ease var(--flourish-delay,3.2s) forwards;
}
@keyframes charWrite{
  0%{opacity:0;transform:translateY(8px) scale(.985) rotate(var(--char-tilt,0deg));filter:blur(3px)}
  45%{opacity:.96;transform:translateY(0) scale(1.012) rotate(var(--char-tilt,0deg));filter:blur(.6px)}
  100%{opacity:1;transform:translateY(0) scale(1) rotate(var(--char-tilt,0deg));filter:blur(0);text-shadow:0 0 12px rgba(214,184,122,.08)}
}
@keyframes flourishWrite{
  0%{width:0;opacity:0;transform:translateX(-4px)}
  25%{opacity:.9}
  100%{width:248px;opacity:.95;transform:translateX(0)}
}
@media (max-width:980px){
  .home-page .hero-handwriting{right:20px;bottom:56px;width:min(48vw,410px);opacity:.70}
  .home-page .hero-handwriting .script-line{font-size:48px}
  .home-page .hero-handwriting .script-line-2{margin-left:34px}
  .home-page .hero-handwriting .script-line-3{margin-left:76px}
  .home-page .hero-handwriting .script-flourish{margin-left:196px}
  @keyframes flourishWrite{0%{width:0;opacity:0;transform:translateX(-4px)}25%{opacity:.9}100%{width:178px;opacity:.95;transform:translateX(0)}}
}
@media (max-width:620px){
  .home-page .hero-handwriting{right:16px;bottom:88px;width:250px;opacity:.54}
  .home-page .hero-handwriting .script-line{font-size:40px}
  .home-page .hero-handwriting .script-line-2{margin-left:20px}
  .home-page .hero-handwriting .script-line-3{margin-left:46px}
  .home-page .hero-handwriting .script-flourish{margin-left:122px}
  @keyframes flourishWrite{0%{width:0;opacity:0;transform:translateX(-4px)}25%{opacity:.86}100%{width:118px;opacity:.9;transform:translateX(0)}}
}
@media (prefers-reduced-motion:reduce){
  .home-page .hero-handwriting .script-char{opacity:1;transform:none;filter:none}
  .home-page .hero-handwriting .script-flourish{width:248px;opacity:.9}
}

/* v26 — larger desktop navigation */
@media (min-width:981px){
  .nav-links{
    font-size:.96rem;
    gap:18px;
  }
  .nav-cta{
    padding:13px 19px;
  }
}

/* v28 — refined consultation choice cards */
.choice-grid{
  gap:16px;
}
.choice{
  position:relative;
}
.choice label{
  position:relative;
  overflow:hidden;
  min-height:108px;
  padding:22px 48px 22px 24px;
  border:1px solid rgba(130,105,73,.46);
  background:
    linear-gradient(135deg,rgba(197,162,107,.055),transparent 42%),
    #fffdf8;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.72),
    0 8px 22px rgba(66,50,32,.035);
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease;
}
.choice label::after{
  position:absolute;
  right:18px;
  top:13px;
  font-family:var(--serif);
  font-size:.68rem;
  letter-spacing:.14em;
  color:rgba(148,115,74,.62);
}
.choice:nth-child(1) label::after{content:"01";}
.choice:nth-child(2) label::after{content:"02";}
.choice:nth-child(3) label::after{content:"03";}
.choice:nth-child(4) label::after{content:"04";}

.choice label:before{
  width:17px;
  height:17px;
  margin-top:.35em;
  border:1px solid rgba(109,86,57,.72);
  box-shadow:0 0 0 4px rgba(197,162,107,.06);
  transition:.25s ease;
}
.choice label:hover{
  border-color:rgba(165,126,76,.76);
  background:
    linear-gradient(135deg,rgba(197,162,107,.11),transparent 48%),
    #fffdf8;
  box-shadow:
    inset 0 0 0 1px rgba(197,162,107,.13),
    0 14px 32px rgba(62,45,27,.07);
  transform:translateY(-2px);
}
.choice input:checked+label{
  border-color:#9f7949;
  background:
    linear-gradient(135deg,rgba(197,162,107,.20),rgba(232,218,194,.35)),
    #f7f0e4;
  box-shadow:
    inset 3px 0 0 #b28a57,
    inset 0 0 0 1px rgba(197,162,107,.16),
    0 12px 28px rgba(77,55,31,.08);
}
.choice input:checked+label:before{
  background:#9f7949;
  border-color:#9f7949;
  box-shadow:inset 0 0 0 4px #f4eadc,0 0 0 4px rgba(197,162,107,.10);
}
.choice input:focus-visible+label{
  outline:2px solid rgba(158,118,70,.55);
  outline-offset:3px;
}

@media (max-width:620px){
  .choice label{
    min-height:96px;
    padding:19px 42px 19px 20px;
  }
}

/* v30 — mobile refinements */
@media (max-width:620px){

  /* Hide the decorative handwritten phrase on phones. */
  .home-page .hero-handwriting{
    display:none !important;
  }

  /* Show more of the hero photograph instead of the tighter crop. */
  .home-page .hero-media img{
    object-fit:cover;
    object-position:center center;
    transform:scale(.88);
    transform-origin:center center;
  }
  .home-page .hero-media{
    background:#090806;
  }

  /* Keep "完成した過去にしない。" on one line. */
  .home-page .hero h1{
    font-size:clamp(1.58rem,7.1vw,1.88rem);
    line-height:1.18;
  }
  .home-page .hero-title-nowrap{
    white-space:nowrap;
    display:inline-block;
    letter-spacing:-.035em;
  }

  /* Mobile menu CTA: make the entire framed box visible, including bottom edge. */
  .nav-links{
    padding-bottom:34px;
    overflow:visible;
  }
  .nav-links .nav-cta{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:58px;
    margin:14px 0 2px;
    padding:14px 18px;
    border:1px solid rgba(197,162,107,.68) !important;
    box-shadow:inset 0 0 0 1px rgba(197,162,107,.10);
    background:rgba(13,12,10,.78);
  }
  .nav-links .nav-cta::after{
    display:none;
  }
}

/* v34 — prefecture dropdown arrow inset from the right edge */
#prefecture{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:48px;
  background-image:
    linear-gradient(45deg, transparent 50%, #6f6254 50%),
    linear-gradient(135deg, #6f6254 50%, transparent 50%);
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50%;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}

/* v39 — immediate attachment validation feedback */
.upload-inline-error{
  display:none;
  margin-top:10px;
  padding:10px 12px;
  border-left:2px solid #a96745;
  background:rgba(169,103,69,.08);
  color:#7b4430;
  font-size:.82rem;
  line-height:1.6;
}
.upload-inline-error.is-visible{
  display:block;
}
.upload-inline-error.is-ok{
  display:block;
  border-left-color:#7d7a59;
  background:rgba(125,122,89,.08);
  color:#5f5b42;
}

/* v40 — make the exact invalid field obvious after a server-side error */
.server-error-field{
  position:relative;
}
.server-error-field > input:not([type="radio"]):not([type="checkbox"]),
.server-error-field > textarea,
.server-error-field > select{
  border-color:#a85f43 !important;
  box-shadow:0 0 0 3px rgba(168,95,67,.10) !important;
}
fieldset.server-error-field{
  padding:14px !important;
  outline:1px solid #a85f43;
  outline-offset:4px;
}
.form-alert strong{
  font-weight:600;
}

/* v41 — show attachment-size errors right beside the file selector */
#photo-upload{
  display:block;
  width:100%;
}

#photo-upload-error{
  margin-top:8px;
}

#photo-upload-error.is-visible{
  display:block;
  padding:11px 13px;
  border:1px solid rgba(168,95,67,.55);
  border-left:3px solid #a85f43;
  background:#f6e8df;
  color:#6f3f2e;
  font-size:.84rem;
  line-height:1.55;
}

.field.upload-field-error #photo-upload{
  outline:2px solid rgba(168,95,67,.38);
  outline-offset:3px;
}

/* v43 — operator credit */
.operator-role{border-left:3px solid var(--brass);padding:5px 0 5px 12px;font-family:var(--sans);font-size:clamp(.75rem,1vw,.85rem);font-weight:700;line-height:1.65;letter-spacing:.12em;color:#806039}
.operator-name{display:block;margin:14px 0 8px;font-family:var(--serif);font-size:1.15rem;letter-spacing:.04em;color:inherit}
.company-info .operator-contact{margin:0;line-height:1.75}

/* Owners' letters */
/* Collector's selection */
.maintenance-section{background:radial-gradient(ellipse at 90% 0%,rgba(197,162,107,.11),transparent 55%),#1a1712;color:var(--ivory);border-top:1px solid var(--line)}
.maintenance-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}
.maintenance-title-block h2{font-size:clamp(1.5rem,2.8vw,2.25rem);font-weight:400;letter-spacing:.06em;line-height:1.5;margin:20px 0 30px;color:#d2b98d;white-space:nowrap}
.maintenance-statement{font-size:clamp(1.1rem,2.35vw,2rem);line-height:1.6;font-weight:400;letter-spacing:.02em;margin:0 0 24px}
.maintenance-statement>span{display:block;white-space:nowrap}
.maintenance-lead{font-size:.92rem;line-height:2;color:#c8bfb2;margin:0}
.maintenance-image{margin:0;min-width:0;padding:10px;border:1px solid rgba(197,162,107,.3);background:rgba(0,0,0,.15)}
.maintenance-image img{display:block;width:100%;height:auto}
.maintenance-image figcaption{font-family:var(--sans);font-size:.52rem;letter-spacing:.15em;color:#c2ac89;line-height:1.8;padding:12px 6px 3px}
.maintenance-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:55px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.maintenance-principles article{padding:32px 28px;min-width:0}
.maintenance-principles article:first-child{padding-left:0}
.maintenance-principles article:last-child{padding-right:0}
.maintenance-principles article+article{border-left:1px solid var(--line)}
.maintenance-index{font-family:var(--serif);font-size:1.5rem;font-style:italic;line-height:1;color:var(--brass)}
.maintenance-principles h3{font-size:1.12rem;font-weight:400;line-height:1.7;margin:18px 0 16px}
.maintenance-principles p{font-size:.85rem;line-height:2.1;color:#c8bfb2;margin:0}
.maintenance-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;padding:50px 0}
.maintenance-detail h3{font-size:clamp(1.2rem,2vw,1.6rem);font-weight:400;line-height:1.8;margin:18px 0 0}
.maintenance-detail-copy p{font-size:.9rem;line-height:2.15;color:#c8bfb2;margin:0 0 18px}
.maintenance-detail-copy p:last-child{margin-bottom:0}
.maintenance-plan{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:38px 40px;border:1px solid rgba(197,162,107,.5);background:linear-gradient(120deg,rgba(197,162,107,.09),rgba(197,162,107,.025));align-items:center}
.maintenance-plan h3{font-size:1.4rem;font-weight:400;line-height:1.7;margin:20px 0 18px}
.maintenance-plan-info>p{font-size:.85rem;line-height:2.1;color:#c8bfb2;margin:0}
.maintenance-plan-price{border-left:1px solid var(--line);padding-left:40px}
.maintenance-plan-price>span{font-family:var(--sans);font-size:.75rem;letter-spacing:.04em;color:#c8bfb2}
.maintenance-plan-price>p:not(.maintenance-extra){font-size:2.8rem;line-height:1.2;letter-spacing:.03em;margin:10px 0}
.maintenance-plan-price small{font-family:var(--sans);font-size:.78rem;margin-left:8px}
.maintenance-plan-price .maintenance-tax{font-size:.68rem}
.maintenance-extra{font-family:var(--sans);font-size:.73rem;line-height:1.9;color:#c8bfb2;margin:18px 0 24px}
.maintenance-plan-price .btn{display:flex;justify-content:space-between;gap:16px;font-size:.77rem;width:100%;text-align:left}
@media(max-width:980px){.maintenance-intro,.maintenance-detail{gap:30px}.maintenance-plan{gap:25px;padding:30px}.maintenance-plan-price{padding-left:25px}.maintenance-principles article{padding:28px 18px}}
@media(max-width:620px){
 .maintenance-intro,.maintenance-detail,.maintenance-plan{grid-template-columns:minmax(0,1fr);gap:28px}
 .maintenance-title-block h2{margin:15px 0 23px;font-size:clamp(1.25rem,6vw,1.6rem)}
 .maintenance-statement{font-size:clamp(1rem,5vw,1.35rem)}
 .maintenance-lead{font-size:.86rem}
 .maintenance-principles{grid-template-columns:minmax(0,1fr);margin-top:35px}
 .maintenance-principles article,.maintenance-principles article:first-child,.maintenance-principles article:last-child{padding:26px 0}
 .maintenance-principles article+article{border-left:0;border-top:1px solid var(--line)}
 .maintenance-principles h3{margin-top:14px}
 .maintenance-detail{padding:35px 0}
 .maintenance-detail-copy p{font-size:.86rem}
 .maintenance-plan{padding:28px 22px}
 .maintenance-plan h3{font-size:1.2rem}
 .maintenance-plan-info>p br{display:none}
 .maintenance-plan-price{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}
 .maintenance-plan-price>p:not(.maintenance-extra){font-size:2.5rem}
}
.parts-section{background:var(--paper);color:#30261b;border-top:1px solid rgba(159,130,87,.3)}
.parts-heading{text-align:center;margin-bottom:46px}
.parts-heading .section-title{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:18px}
.parts-heading .rule{margin:0 auto}
.parts-notice{max-width:980px;margin:0 auto 48px}
.parts-notice h3{display:flex;align-items:center;gap:20px;font-family:var(--sans);font-size:.85rem;font-weight:500;text-align:center;margin:0 0 24px}
.parts-notice h3:before,.parts-notice h3:after{content:"";flex:1;height:1px;background:rgba(101,86,67,.3)}
.parts-notice-body{background:#22211e;border-top:2px solid var(--brass-soft);padding:32px 38px;color:#ddd5c9}
.parts-notice-body p{font-family:var(--sans);font-size:.85rem;line-height:2.1;margin:0 0 22px}
.parts-notice-body p:last-child{margin-bottom:0}
.parts-tabs.collection-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid rgba(159,130,87,.4);margin-bottom:30px}
.parts-tab{position:relative;display:flex;gap:12px;align-items:center;min-width:0;padding:19px 16px;border:0;border-right:1px solid rgba(159,130,87,.3);border-bottom:1px solid rgba(159,130,87,.3);background:rgba(255,255,255,.2);color:#655c4f;font-family:var(--sans);font-size:.74rem;line-height:1.75;text-align:left;cursor:pointer}
.parts-tab:nth-child(3n){border-right:0}
.parts-tab:nth-child(n+7){border-bottom:0}
.parts-tab>span{font-family:var(--serif);font-size:1rem;color:#806039;flex-shrink:0}
.parts-tab[aria-selected="true"]{background:#302c24;color:#fff6e7;box-shadow:inset 0 -2px var(--brass)}
.parts-tab[aria-selected="true"]>span{color:var(--brass)}
.parts-tab:disabled{color:#82796d;cursor:default}
.parts-tab:focus-visible,.parts-panel:focus-visible{outline:2px solid #806039;outline-offset:4px}
.parts-panel{border:1px solid rgba(159,130,87,.35);background:#f5f0e7;padding:38px}
.parts-panel[hidden]{display:none}
.parts-product-heading{padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid rgba(159,130,87,.3)}
.parts-product-heading .eyebrow{color:#806039}
.parts-product-heading h3{font-size:clamp(1.3rem,2vw,1.8rem);font-weight:400;line-height:1.6;margin:16px 0 0}
.parts-product-heading h3>span{font-size:.7em;display:inline-block;margin-left:20px;color:#756148}
.parts-product-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}
.parts-product-layout figure{margin:0;min-width:0}
.parts-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-width:0}
.parts-photo-pair img{aspect-ratio:3/4;object-fit:contain;background:#25221c}
.parts-photo-pair--landscape img{aspect-ratio:4/3}
.parts-tab:not(:disabled):hover{background:#dfd2bd;color:#30261b}
.parts-tab[aria-selected="true"]:hover{background:#302c24;color:#fff6e7}
.parts-product-layout img{width:100%;height:auto;display:block}
.parts-product-layout figcaption{font-family:var(--sans);font-size:.6rem;letter-spacing:.12em;color:#756957;margin-top:12px}
.parts-product-copy p{font-size:.9rem;line-height:2.15;margin:0 0 18px}
.parts-product-copy p:last-child{margin-bottom:0}
.parts-price{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:32px;padding-top:26px;border-top:1px solid rgba(159,130,87,.3)}
.parts-price>span{font-size:.85rem;color:#756148}
.parts-price>div{text-align:right}
.parts-price-unit,.parts-price-tax{font-family:var(--sans);font-size:.7rem;color:#675d50}
.parts-price p{font-size:2rem;line-height:1.3;margin:5px 0}
.parts-price small{font-family:var(--sans);font-size:.75rem;margin-left:8px}
@media(max-width:620px){
 .parts-heading{margin-bottom:32px}
 .parts-notice h3{font-size:.78rem;gap:12px}
 .parts-notice-body{padding:25px 22px}
 .parts-notice-body p{font-size:.78rem;line-height:2}
 .parts-tab{display:block;padding:14px 9px;font-size:.62rem}
 .parts-tab>span{display:block;margin-bottom:6px;font-size:.85rem}
 .parts-panel{padding:24px 20px}
 .parts-product-heading{margin-bottom:24px;padding-bottom:22px}
 .parts-product-heading h3>span{display:block;margin:8px 0 0}
 .parts-product-layout{grid-template-columns:minmax(0,1fr);gap:25px}
 .parts-photo-pair{gap:12px}
 .parts-photo-pair figcaption{font-size:.55rem;letter-spacing:.04em}
 .parts-product-copy p{font-size:.86rem}
 .parts-price{align-items:flex-start;flex-direction:column;gap:12px}
 .parts-price>div{text-align:left}
}
.crown-feature .console-title{font-size:clamp(2rem,3.5vw,3.1rem)}
.crown-feature .console-title span{font-size:.6em;letter-spacing:.12em;margin-top:12px}
.console-standard{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:55px}
.console-standard h4,.console-premium h4{font-weight:400;font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.7;margin:18px 0 22px}
.console-standard-copy>p,.console-premium-heading>p{font-size:.9rem;line-height:2.1;color:#c8bfb2;margin:0}
.console-inline-price{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.console-inline-price>span{font-family:var(--sans);font-size:.7rem;color:#bcb3a5}
.console-inline-price>p{font-size:2.2rem;line-height:1.3;margin:10px 0}
.console-inline-price small{font-family:var(--sans);font-size:.75rem;margin-left:8px}
.console-premium{margin-top:55px;padding-top:46px;border-top:1px solid var(--line)}
.console-premium-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center;margin-bottom:30px}
.console-premium-heading h4{margin-bottom:0}
.console-premium>.titanium-photo{max-width:900px;margin-inline:auto}
@media(min-width:1441px){.site-header .nav-links{gap:16px;font-size:.875rem}}
@media(min-width:981px) and (max-width:1440px){
 .site-header .menu-btn{display:block}
 .site-header .nav-links{position:absolute;top:86px;left:0;right:0;background:#0a0a09;padding:20px 26px 30px;display:none;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.08);max-height:calc(100dvh - 86px);overflow-y:auto}
 .site-header .nav-links.is-open{display:flex}
 .site-header .nav-links a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}
 .site-header .nav-cta{margin:10px 0 0;text-align:center}
}
@media(max-width:620px){
 .crown-feature .console-title span{display:block;margin-left:0}
 .console-standard,.console-premium-heading{grid-template-columns:minmax(0,1fr);gap:26px}
 .console-premium{margin-top:35px;padding-top:32px}
 .console-standard-copy>p,.console-premium-heading>p{font-size:.88rem}
 .site-header .nav-links{max-height:calc(100dvh - 72px);overflow-y:auto}
}
.collection-panel[hidden]{display:none}
.collection-tab:not(:disabled):hover{background:rgba(197,162,107,.1);color:var(--ivory)}
.titanium-photo{margin:0;min-width:0}
.titanium-photo img{display:block;width:100%;height:auto;border:1px solid rgba(197,162,107,.2)}
.titanium-photo figcaption{margin-top:14px;font-family:var(--sans);font-size:.57rem;letter-spacing:.12em;color:#a99f90;line-height:1.8}
.crown-feature .titanium-title{font-size:clamp(1.8rem,3vw,2.8rem)}
.crown-feature .titanium-title span{font-size:.56em;letter-spacing:.12em;margin-top:12px}
.titanium-fit{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;margin:55px 0;padding:46px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.titanium-fit h4,.titanium-pricing h4{font-size:1.5rem;font-weight:400;line-height:1.7;margin:16px 0 22px}
.titanium-fit-copy>p{font-size:.9rem;line-height:2.1;color:#c8bfb2;margin:0 0 18px}
.titanium-fit-copy>p:last-child{margin-bottom:0}
.titanium-fit>.titanium-photo{width:100%;max-width:320px;justify-self:center}
.titanium-review{padding:40px 44px;background:#e8e0d2;color:#30261b;border-top:2px solid var(--brass-soft);margin-bottom:55px}
.titanium-review .eyebrow{color:#806039}
.titanium-review h4{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:400;line-height:1.7;margin:18px 0}
.titanium-review-intro{font-size:.85rem;color:#675d50;line-height:2}
.titanium-review blockquote{margin:26px 0;border-left:1px solid var(--brass-soft);padding-left:24px}
.titanium-review blockquote>p{font-size:1.15rem;line-height:2;max-width:760px;margin:0 0 16px}
.titanium-review blockquote footer{font-size:.75rem;color:#675d50;font-family:var(--sans)}
.titanium-review-more{border-top:1px solid rgba(101,86,67,.25);margin-top:26px}
.titanium-review-more summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;font-family:var(--sans);font-size:.8rem;cursor:pointer;list-style:none}
.titanium-review-more summary::-webkit-details-marker{display:none}
.titanium-review-more summary:focus-visible{outline:2px solid #806039;outline-offset:5px}
.titanium-review-more summary>span{display:inline-block;font-size:1.1rem}
.titanium-review-more[open] summary>span{transform:rotate(45deg)}
.titanium-review-body{padding-top:14px;max-width:800px}
.titanium-review-body p{font-size:.88rem;line-height:2.15;margin:18px 0 0}
.titanium-gallery .titanium-photo img{aspect-ratio:4/3;object-fit:contain;background:#1c1a16}
.titanium-pricing{margin-top:48px;padding:34px 38px;border:1px solid rgba(197,162,107,.4);background:rgba(197,162,107,.04)}
.titanium-table-wrap{overflow-x:auto}
.titanium-price-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.82rem;line-height:1.8}
.titanium-price-table caption{text-align:left;color:#bcb3a5;font-size:.7rem;padding-bottom:20px}
.titanium-price-table th,.titanium-price-table td{padding:18px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.titanium-price-table th:first-child{text-align:left;padding-left:0}
.titanium-price-table th:last-child,.titanium-price-table td:last-child{padding-right:0}
.titanium-price-table thead th{font-size:.7rem;color:#c8bfb2;font-weight:400;border-top:1px solid var(--line)}
.titanium-price-table tbody th{font-weight:400}
.titanium-price-table tbody th span{display:block;font-size:.65rem;color:#a99f90}
.titanium-price-table tbody td:nth-child(3){color:#dfc89f}
.titanium-price-table tbody td:last-child{color:#bcb3a5;font-size:.75rem}
@media(max-width:980px){.titanium-fit{gap:35px}.titanium-pricing{padding:30px}.titanium-review{padding:35px}}
@media(max-width:620px){
 .crown-feature .titanium-title span{display:block;margin-left:0}
 .titanium-fit{grid-template-columns:minmax(0,1fr);gap:28px;margin:35px 0;padding:32px 0}
 .titanium-fit h4{font-size:1.35rem}.titanium-fit-copy>p{font-size:.88rem}
 .titanium-review{padding:28px 22px;margin-bottom:35px}
 .titanium-review blockquote{padding-left:18px}.titanium-review blockquote>p{font-size:1rem}
 .titanium-review-body p{font-size:.85rem}
 .titanium-pricing{padding:26px 18px;margin-top:35px}
 .titanium-pricing h4{font-size:1.2rem}.titanium-price-table{font-size:.7rem}
 .titanium-price-table th,.titanium-price-table td{padding:16px 6px}
 .titanium-price-table tbody th span{font-size:.56rem}
 .titanium-price-table thead th,.titanium-price-table tbody td:last-child{font-size:.6rem}
}
.collection-section{background:#141310;color:var(--ivory);border-top:1px solid var(--line)}
.collection-heading{margin-bottom:48px}
.collection-heading .section-title{margin-top:18px}
.collection-heading>p{font-size:.9rem;color:#bcb3a5;margin:0;line-height:2}
.collection-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:60px}
.collection-tab{position:relative;display:flex;align-items:center;gap:16px;min-width:0;padding:24px 22px;border:0;background:transparent;color:#bcb3a5;font-family:var(--sans);font-size:.8rem;line-height:1.7;text-align:left;cursor:pointer}
.collection-tab+.collection-tab{border-left:1px solid var(--line)}
.collection-tab[aria-selected="true"]{color:#f1ece2;background:rgba(197,162,107,.07)}
.collection-tab[aria-selected="true"]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--brass)}
.collection-tab:disabled{color:#999183;cursor:default}
.collection-tab-index{font-family:var(--serif);font-size:1.1rem;color:var(--brass)}
.collection-tab:focus-visible,.collection-panel:focus-visible{outline:2px solid var(--brass);outline-offset:5px}
.crown-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}
.crown-feature-copy .eyebrow{font-size:.6rem;line-height:1.9}
.crown-feature h3{font-size:clamp(2rem,3.5vw,3.1rem);font-weight:400;line-height:1.25;letter-spacing:.04em;margin:20px 0 24px}
.crown-feature h3 span{display:block;color:var(--brass);font-size:.8em;margin-top:8px}
.crown-statement{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.7;margin:0 0 22px}
.crown-summary{font-size:.9rem;line-height:2.1;color:#c8bfb2;margin:0}
.crown-edition{font-family:var(--sans);font-size:.55rem;letter-spacing:.14em;color:#bcb3a5;border-top:1px solid var(--line);padding-top:20px;margin-top:28px;display:flex;justify-content:space-between;gap:15px}
.crown-edition span{color:var(--brass)}
.crown-main-image,.crown-detail figure{margin:0;min-width:0}
.crown-main-image img,.crown-detail img{width:100%;height:auto;display:block;border:1px solid rgba(197,162,107,.2)}
.crown-main-image figcaption,.crown-detail figcaption{font-family:var(--sans);font-size:.57rem;letter-spacing:.16em;color:#a99f90;margin-top:14px}
.crown-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0;margin:55px 0}
.crown-story h4{font-size:1.5rem;font-weight:400;line-height:1.7;margin:16px 0 0}
.crown-story-text p{font-size:.9rem;line-height:2.1;color:#c8bfb2;margin:0 0 18px}
.crown-story-text p:last-child{margin:0}
.crown-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.crown-detail h4{font-size:1.2rem;font-weight:400;margin:24px 0 12px}
.crown-detail>p{font-size:.88rem;line-height:2;color:#c8bfb2;margin:0}
.crown-price{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid rgba(197,162,107,.4);background:rgba(197,162,107,.04);padding:30px 38px;margin-top:48px}
.crown-limited{font-size:.9rem;letter-spacing:.12em;color:#d8c6a9;margin:10px 0 0}
.crown-price-value{text-align:right}
.crown-price-label,.crown-price-value small{font-family:var(--sans);font-size:.7rem;color:#bcb3a5}
.crown-price-value p{font-size:2.3rem;line-height:1.2;margin:8px 0;letter-spacing:.02em}
.crown-price-value p span{font-family:var(--sans);font-size:.75rem;margin-left:8px}
@media(max-width:980px){.crown-feature,.crown-story{gap:30px}.collection-tab{padding:20px 14px;gap:10px;font-size:.7rem}.crown-feature h3{font-size:2.2rem}}
@media(max-width:620px){
 .collection-heading{margin-bottom:30px}.collection-heading>p{font-size:.82rem}.collection-heading>p br{display:none}
 .collection-tabs{margin-bottom:35px}.collection-tab{display:block;padding:18px 9px;font-size:.62rem;line-height:1.7}.collection-tab-index{display:block;font-size:.9rem;margin-bottom:8px}
 .crown-feature,.crown-story,.crown-details{grid-template-columns:minmax(0,1fr);gap:30px}
 .crown-feature h3{font-size:2.6rem}.crown-feature h3 span{display:inline;margin-left:6px}
 .crown-main-image{margin-top:4px}.crown-story{margin:35px 0;padding:32px 0;gap:22px}.crown-story h4{font-size:1.35rem}
 .crown-summary,.crown-story-text p{font-size:.88rem}.crown-details{gap:35px}.crown-detail h4{font-size:1.13rem;margin-top:20px}
 .crown-price{align-items:flex-start;padding:24px 20px;margin-top:35px;flex-direction:column;gap:22px}.crown-price-value{text-align:left}.crown-price-value p{font-size:2.2rem}
}

.voices-hero{padding:180px 0 80px;background:radial-gradient(ellipse at 95% 20%,rgba(197,162,107,.13),transparent 60%),var(--ink)}
.voices-hero h1{font-size:clamp(2.6rem,5.4vw,5rem);font-weight:400;line-height:1.35;letter-spacing:.02em;margin:27px 0 24px}
.voices-subtitle{color:var(--brass);font-size:1rem;letter-spacing:.18em;margin:0 0 25px}
.voices-intro{font-size:.95rem;color:#c9c0b3;line-height:2.1}
.voices-scroll{display:inline-flex;gap:35px;align-items:center;font-family:var(--sans);font-size:.75rem;border-bottom:1px solid var(--brass-soft);padding:14px 0;margin-top:15px}
.voices-scroll:hover{color:var(--brass)}
.voices-mobile-break{display:none}
.voices-shell{max-width:1000px}
.voices-section-heading{display:flex;justify-content:space-between;align-items:start;gap:24px;padding-bottom:48px}
.voices-section-heading p{font-size:.88rem;color:#675d50;margin:0;line-height:1.9}
.voice-entry{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);gap:36px;margin:0 0 30px;padding:44px 40px;border:1px solid rgba(159,130,87,.34);border-radius:3px;background:#f5f0e7;box-shadow:0 8px 26px rgba(61,45,24,.045);scroll-margin-top:110px}
.voice-entry:last-child{margin-bottom:0}
.voice-entry:before{content:"";position:absolute;top:-1px;left:40px;width:52px;height:2px;background:var(--brass-soft)}
.voice-meta{border-right:1px solid rgba(159,130,87,.22);padding-right:22px}
.voice-number{font-size:2.5rem;line-height:1;color:#967449;font-style:italic}
.voice-meta p{font-size:.83rem;line-height:1.9;margin:15px 0 0;color:#675d50;letter-spacing:.06em}
.voice-content h2{font-size:clamp(1.25rem,2vw,1.7rem);font-weight:500;line-height:1.65;margin:0 0 24px;padding-bottom:22px;border-bottom:1px solid rgba(159,130,87,.22);letter-spacing:.01em;color:#30261b}
.voice-content blockquote{margin:0}
.voice-content blockquote p{font-size:.95rem;line-height:2.15;margin:0 0 1.25em;overflow-wrap:anywhere}
.voice-content blockquote p:last-child{margin-bottom:0}
.voices-home-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.voices-home .eyebrow{margin-bottom:22px}
.voices-home p{font-size:.92rem}
.voices-home .btn{margin-top:20px}
.voices-home blockquote{margin:0;border-left:1px solid var(--brass-soft);padding:16px 0 16px 35px}
.voices-home blockquote p{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:2;margin:0 0 20px}
.voices-home cite{font-style:normal;font-size:.8rem;color:#675d50}
@media(max-width:980px){.voices-home-inner{gap:40px}.voice-entry{grid-template-columns:85px minmax(0,1fr);gap:26px;padding:36px 28px}.voice-entry:before{left:28px}}
@media(max-width:620px){
  .voices-hero{padding:135px 0 58px}
  .voices-hero h1{margin-top:23px}
  .voices-intro{font-size:.85rem}
  .voices-mobile-break{display:inline}
  .voices-letters{padding:60px 0}
  .voices-section-heading{display:block;padding-bottom:30px}
  .voices-section-heading p{margin-top:18px;font-size:.8rem}
  .voice-entry{grid-template-columns:minmax(0,1fr);gap:23px;padding:28px 22px;margin-bottom:22px}
  .voice-entry:before{left:22px;width:38px}
  .voice-meta{display:flex;align-items:center;gap:16px;border-right:0;padding-right:0}
  .voice-number{font-size:2rem}
  .voice-meta p{margin:0;font-size:.75rem;line-height:1.65}
  .voice-meta br{display:none}
  .voice-content h2{margin-bottom:20px;padding-bottom:20px;font-size:1.2rem}
  .voice-content blockquote p{font-size:.9rem;line-height:2.05}
  .voices-home-inner{grid-template-columns:minmax(0,1fr);gap:35px}
  .voices-home blockquote{padding-left:22px}
}

/* Fixed tab bars with independently scrolling product content. */
.tab-workspace{display:flex;flex-direction:column;min-width:0;height:min(880px,calc(100vh - 118px));height:min(880px,calc(100dvh - 118px));border-bottom:1px solid var(--line)}
.tab-workspace>.collection-tabs{flex:0 0 auto;margin:0}
.tab-workspace>[role="tabpanel"]{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9f8257 transparent;scroll-padding-top:24px;-webkit-overflow-scrolling:touch;overflow-anchor:none}
.collection-section .tab-workspace>.collection-panel{padding:36px 20px 20px 0}
.parts-section .tab-workspace{border-bottom:0}
.tab-workspace>[role="tabpanel"]::-webkit-scrollbar{width:7px}
.tab-workspace>[role="tabpanel"]::-webkit-scrollbar-thumb{background:#9f8257;border-radius:6px}
.tab-workspace>[role="tabpanel"]::-webkit-scrollbar-track{background:transparent}
@media(max-width:980px){.tab-workspace{height:min(880px,calc(100vh - 104px));height:min(880px,calc(100dvh - 104px))}}
@media(max-width:620px){
 .tab-workspace{height:calc(100vh - 96px);height:calc(100dvh - 96px)}
 .collection-section .tab-workspace>.collection-panel{padding:26px 12px 18px 0}
 .parts-section .tab-workspace>.parts-tabs{margin:0}
}
@media(max-width:1440px){.site-header .nav-links{font-size:1rem}}
