/* 〈まだ名前のない服屋〉（仮）— editorial atelier design */
:root{
  --bg:#f7f2e8;
  --panel:#efe7d5;
  --ink:#2e2a22;
  --ink-soft:#7c7261;
  --accent:#a83e12;
  --accent-deep:#84300e;
  --pop:#e8501e;
  --display:"Archivo","Cormorant Garamond",sans-serif;
  --line-green:#06c755;
  --stitch:#b9906c;
  --line:#ded2ba;
  --serif:"Shippori Mincho B1","Hiragino Mincho ProN",serif;
  --latin:"Cormorant Garamond",serif;
  --sans:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-out-expo:cubic-bezier(0.16,1,0.3,1);
  --ease-soft:cubic-bezier(0.45,0,0.55,1);
  --ease-zip:cubic-bezier(0.76,0,0.24,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--ink);
  line-height:1.9;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--pop);color:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-deep)}
.hand{font-family:"Yomogi",cursive}
.arr{font-style:normal;margin-left:.5em;display:inline-block;transition:transform .35s var(--ease)}
a:hover .arr{transform:translateX(4px)}

/* 写真のトーン統一（ごく淡いウォームグレード） */
.photo-frame{overflow:hidden;background:var(--panel)}
.photo-frame img{
  width:100%;height:100%;object-fit:cover;
  filter:sepia(.08) saturate(1.03) contrast(1.03) brightness(1.01);
  transition:transform 1.2s var(--ease);
}

/* ステッチライン（縫い目のモチーフを細く上質に） */
.stitch-line{
  height:1px;
  background:repeating-linear-gradient(90deg,var(--stitch) 0 7px,transparent 7px 13px);
  opacity:.85;
}

/* ---------- ヘッダー ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,242,232,.88);
  backdrop-filter:blur(10px);
  transition:box-shadow .4s ease;
}
.site-header.scrolled{box-shadow:0 1px 0 var(--line),0 12px 32px rgba(90,66,40,.07)}
.header-inner{
  max-width:1240px;margin:0 auto;padding:1rem clamp(20px,4vw,44px);
  display:flex;align-items:center;gap:1rem;
}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}
.brand-mark{border-radius:50%}
.brand-name{font-family:var(--serif);font-weight:600;font-size:1.02rem;letter-spacing:.04em}
.brand-name small{font-size:.7rem;color:var(--ink-soft)}
.site-nav{margin-left:auto;display:flex;gap:2rem;align-items:center}
.site-nav a{
  text-decoration:none;color:var(--ink);font-size:.86rem;font-weight:500;letter-spacing:.08em;
  position:relative;padding:.2rem 0;
}
.site-nav a:not(.nav-cta)::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease);
}
.site-nav a:not(.nav-cta):hover::after{transform:scaleX(1);transform-origin:left}
.site-nav a:hover{color:var(--accent-deep)}
.site-nav .nav-cta{font-weight:700;color:var(--accent-deep)}
.site-nav .lang-link{
  font-family:var(--latin);font-size:.95rem;font-weight:600;letter-spacing:.18em;
  border:1px solid var(--ink);border-radius:999px;padding:.28rem .85rem .2rem;
  transition:background .3s ease,color .3s ease;
}
.site-nav .lang-link:hover{background:var(--pop);border-color:var(--pop);color:#fff}

/* ---------- 英語版のタイポグラフィ ---------- */
html[lang="en"] body{font-family:"Jost","Zen Kaku Gothic New",sans-serif;line-height:1.75}
html[lang="en"] .hero h1,
html[lang="en"] .sec-head h2,
html[lang="en"] .service-row h3,
html[lang="en"] .workshop-text h3,
html[lang="en"] .link-row h3,
html[lang="en"] .brand-name,
html[lang="en"] .footer-brand{
  font-family:"Cormorant Garamond","Shippori Mincho B1",serif;
  font-weight:600;letter-spacing:.015em;
}
html[lang="en"] .hero h1{font-size:clamp(2.5rem,5.2vw,4rem);line-height:1.14}
html[lang="en"] .hero-catch{font-family:"Cormorant Garamond",serif;font-size:clamp(1.35rem,2.6vw,1.7rem);font-style:italic}
html[lang="en"] .profile-lead{font-family:"Cormorant Garamond",serif;font-size:1.45rem}
html[lang="en"] .sec-head h2{font-size:clamp(2rem,4vw,2.7rem)}
html[lang="en"] .btn,html[lang="en"] .site-nav a{letter-spacing:.12em}
html[lang="en"] .hero-index li{font-family:"Cormorant Garamond",serif;font-size:1.2rem}
.nav-toggle{display:none;margin-left:auto;background:none;border:none;cursor:pointer;padding:.5rem}
.nav-toggle span{display:block;width:26px;height:1.5px;background:var(--ink);margin:6px 0;transition:.3s}

/* ---------- ヒーロー ---------- */
.hero{
  max-width:1240px;margin:0 auto;
  padding:clamp(3rem,7vw,5.5rem) clamp(20px,4vw,44px) 0;
  display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
.hero-eyebrow{
  display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;
  font-family:var(--latin);
  font-size:.86rem;font-weight:700;letter-spacing:.32em;color:var(--accent);
  margin-bottom:1.8rem;
}
.eyebrow-line{display:inline-block;width:44px;height:1px;background:var(--accent)}
.eyebrow-jp{letter-spacing:.14em;color:var(--ink-soft);font-weight:500;font-size:.78rem}
.hero h1{
  font-family:var(--serif);
  font-size:clamp(2.35rem,4.6vw,3.5rem);
  line-height:1.28;font-weight:600;letter-spacing:.045em;
}
.hero-kari{font-size:.42em;color:var(--ink-soft);letter-spacing:.1em;margin-left:.3em}
.hero-catch{
  font-family:var(--serif);
  font-size:clamp(1.2rem,2.4vw,1.5rem);
  margin:1.6rem 0 1rem;color:var(--accent-deep);letter-spacing:.06em;
}
.hero-lead{color:var(--ink-soft);max-width:33em;font-size:.98rem}
.hero-actions{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:2.2rem}
.hero-photo{position:relative}
.hero-photo .photo-frame{aspect-ratio:4/4.6}
.hero-photo figcaption{
  position:absolute;right:1rem;bottom:.8rem;
  color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5);font-size:1.02rem;transform:rotate(-3deg);
}
.hero-index{grid-column:1 / -1;margin-top:clamp(2.6rem,5vw,4rem)}
.hero-index ul{
  list-style:none;display:grid;grid-template-columns:repeat(4,1fr);
}
.hero-index li{
  padding:1.1rem .4rem 0;font-family:var(--serif);font-size:1.02rem;letter-spacing:.08em;
  display:flex;align-items:baseline;gap:.7rem;
}
.hero-index li span{font-family:var(--latin);font-size:.82rem;font-size:.68rem;font-weight:700;letter-spacing:.25em;color:var(--accent)}

/* ---------- ボタン ---------- */
.btn{
  display:inline-flex;align-items:center;text-decoration:none;font-weight:700;
  padding:.85rem 1.9rem;font-size:.92rem;letter-spacing:.1em;
  border:1px solid transparent;border-radius:2px;
  transition:background .35s ease,color .35s ease,border-color .35s ease;
}
.btn-primary{background:var(--pop);color:#fff}
.btn-primary:hover{background:var(--accent-deep)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-line{background:var(--line-green);color:#fff}
.btn-line:hover{background:#05a647}
.btn-big{padding:1.05rem 2.2rem;font-size:.98rem}

/* ---------- セクション ---------- */
.section{
  max-width:1240px;margin:0 auto;
  padding:clamp(5rem,10vw,8.5rem) clamp(20px,4vw,44px);
}
.section-panel{
  background-color:var(--panel);
  background-image:radial-gradient(rgba(124,114,97,.13) 1px,transparent 1.4px);
  background-size:22px 22px;
  max-width:none;
}
.section-panel>*{max-width:1240px;margin-left:auto;margin-right:auto}
.section-panel{padding-left:clamp(20px,4vw,44px);padding-right:clamp(20px,4vw,44px)}
.sec-head{display:flex;align-items:flex-end;gap:1.4rem;margin-bottom:clamp(2.4rem,5vw,3.8rem)}
.sec-index{
  font-family:var(--latin);
  font-size:.95rem;font-weight:700;letter-spacing:.3em;color:var(--accent);
  padding-bottom:.9rem;
}
.sec-head h2{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:.06em;line-height:1.3;
}
.sec-label{font-family:var(--latin);font-size:.85rem;font-weight:700;letter-spacing:.38em;color:var(--accent);margin-bottom:.55rem}
.sec-rule{flex:1;height:2px;margin-bottom:1.1rem;background:repeating-linear-gradient(90deg,var(--stitch) 0 7px,transparent 7px 13px);opacity:.9}
.sec-head-center{justify-content:center;text-align:center}
.section-note{color:var(--ink-soft);margin-top:clamp(2.2rem,4vw,3.2rem);font-size:.95rem}
.section-note a{font-weight:700}

/* ---------- サービス（カードをやめ、編集的な行リストに） ---------- */
.service-list{border-top:1px solid var(--line)}
.service-row{
  display:grid;grid-template-columns:64px 240px 1fr 32px;gap:1.6rem;align-items:baseline;
  padding:2rem .8rem;border-bottom:1px solid var(--line);
  transition:background .4s ease,padding-left .4s var(--ease);
}
.service-row:hover{background:rgba(232,80,30,.05);padding-left:1.4rem}
.service-no{font-family:var(--latin);font-size:.92rem;font-weight:700;letter-spacing:.25em;color:var(--accent)}
.service-row h3{font-family:var(--serif);font-weight:600;font-size:1.45rem;letter-spacing:.05em}
.service-desc{color:var(--ink-soft);font-size:.96rem;max-width:44em}
.row-arr{color:var(--accent);font-size:1.05rem;opacity:0;transform:translateX(-6px);transition:.4s var(--ease)}
.service-row:hover .row-arr,.link-row:hover .row-arr{opacity:1;transform:none}

/* ---------- ギャラリー（1画面に複数作品が見えるグリッド：第5次でメイソンリーから変更） ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem 1.5rem}
.gallery-item{margin:0;min-width:0}
.gallery-item .photo-frame{aspect-ratio:4/5}
.gallery-item .photo-frame img{height:100%;object-fit:cover}
.gallery-item:hover .photo-frame img{transform:scale(1.025)}
.gallery-item img{cursor:zoom-in}
.gallery-item figcaption{padding:.6rem .05rem 0;display:flex;flex-direction:column;gap:.05rem}
.cap-cat{font-family:var(--latin);font-size:.72rem;font-weight:700;letter-spacing:.3em;color:var(--accent)}
.cap-text{font-size:.85rem;font-weight:500;line-height:1.55}
.gallery-item figcaption a{font-size:.8rem;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--line);align-self:flex-start;transition:color .3s,border-color .3s}
.gallery-item figcaption a:hover{color:var(--accent-deep);border-color:var(--accent)}

/* ---------- ワークショップ ---------- */
.workshop-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.4rem,5vw,4.5rem);align-items:start}
.workshop-text{padding-top:1rem}
.workshop-text h3{
  font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,3.4vw,2.3rem);
  line-height:1.45;letter-spacing:.05em;margin-bottom:1.4rem;
}
.workshop-text p{color:var(--ink-soft);margin-bottom:1.1rem;max-width:34em}
.workshop-text .btn{margin-top:.8rem}
.workshop-photos{display:grid;gap:1.6rem}
.workshop-photo .photo-frame{aspect-ratio:4/4.4}
.workshop-photo:last-child .photo-frame{aspect-ratio:16/10.5}

/* ---------- プロフィール ---------- */
.profile-wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2.4rem,5vw,4.5rem);align-items:center}
.profile-photo .photo-frame{aspect-ratio:4/3.1}
.profile-lead{font-family:var(--serif);font-size:1.3rem;letter-spacing:.04em;margin-bottom:1.3rem}
.profile-text p{margin-bottom:1.1rem;color:var(--ink)}
.profile-text p:not(.profile-lead):not(.profile-sign){color:#4c463c}
.profile-sign{color:var(--accent);font-size:1.08rem;text-align:right;margin-top:1.6rem}

/* ---------- お問い合わせ ---------- */
.contact-lead{text-align:center;max-width:38em;margin:0 auto;color:var(--ink-soft)}
.contact-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.6rem}

/* ---------- リンク（行リスト） ---------- */
.link-list{border-top:1px solid var(--line)}
.link-row{
  display:flex;align-items:center;gap:1.5rem;
  padding:1.7rem .8rem;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--ink);
  transition:background .4s ease,padding-left .4s var(--ease);
}
.link-row:hover{background:rgba(232,80,30,.05);padding-left:1.4rem}
.link-row-main{flex:1;display:flex;align-items:baseline;gap:2.2rem;flex-wrap:wrap}
.link-row h3{font-family:var(--serif);font-weight:600;font-size:1.25rem;letter-spacing:.04em;min-width:220px}
.link-row p{color:var(--ink-soft);font-size:.9rem}

/* ---------- フッター ---------- */
.site-footer{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,44px) 3.4rem;text-align:center}
.site-footer .stitch-line{margin-bottom:2.6rem}
.footer-brand{font-family:var(--serif);font-weight:600;font-size:1.15rem;letter-spacing:.05em}
.footer-sub{color:var(--ink-soft);font-size:.88rem;margin-top:.3rem}
.footer-copy{font-family:var(--latin);color:var(--ink-soft);font-size:.85rem;letter-spacing:.12em;margin-top:1.4rem}

/* ---------- ライトボックス ---------- */
.lightbox{
  position:fixed;inset:0;z-index:100;background:rgba(35,28,20,.94);
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.2rem;
}
.lightbox[hidden]{display:none}
.lightbox img{max-height:82vh;max-width:94vw}
.lightbox p{color:#f5efe2;margin-top:.9rem;font-size:.95rem;text-align:center}
.lightbox-close{
  position:absolute;top:.8rem;right:1.1rem;background:none;border:none;
  color:#fff;font-size:2.2rem;cursor:pointer;line-height:1;
}

/* ---------- 出現アニメ（Claude相談：テキストは小さく、写真はscaleで） ---------- */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .65s var(--ease-out-expo),transform .65s var(--ease-out-expo);transition-delay:var(--d,0s)}
.reveal.visible{opacity:1;transform:none}
.reveal-photo{transform:scale(1.03)}
.reveal-photo.visible{transform:scale(1)}
.gallery-item.reveal,.workshop-photo.reveal,.profile-photo.reveal,.hero-photo{transition-duration:.95s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important;
  }
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- ページ遷移（言語切替：View Transitions） ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-fade-out .22s ease forwards}
::view-transition-new(root){animation:vt-fade-in .3s ease forwards}
@keyframes vt-fade-out{to{opacity:0}}
@keyframes vt-fade-in{from{opacity:0}}

/* ---------- ボタンの塗りスイープ（Claude相談） ---------- */
.btn{position:relative;isolation:isolate;overflow:hidden}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;
  transform:scaleX(0);transform-origin:right;
  transition:transform .38s var(--ease-soft);
}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn-primary::before{background:var(--accent-deep)}
.btn-ghost::before{background:var(--ink)}
.btn-line::before{background:#04963f}

/* ---------- リンクのアンダーライン・スイープ（Acne式） ---------- */
.gallery-item figcaption a,.section-note a{
  border-bottom:none;
  background:linear-gradient(currentColor,currentColor) left bottom / 0% 1px no-repeat;
  padding-bottom:2px;
  transition:background-size .35s var(--ease-out-expo),color .3s;
}
.gallery-item figcaption a:hover,.section-note a:hover{background-size:100% 1px}

/* ---------- ヒーロー：巨大タイポとロード時コレオグラフィ ---------- */
.hero{position:relative}
.hero-giant{
  position:absolute;right:clamp(.5rem,3vw,3rem);bottom:-.16em;z-index:0;
  font-family:var(--display);font-weight:900;font-size:clamp(6.5rem,16.5vw,13rem);line-height:1;
  letter-spacing:.005em;color:var(--pop);
  pointer-events:none;user-select:none;
}
.hero-index{position:relative;z-index:1}
.hero-text,.hero-photo{position:relative;z-index:1}
.li{opacity:0}
body.ready .li{animation:li-in .8s var(--ease-out-expo) forwards;animation-delay:var(--ld,0s)}
body.ready .hero-photo.li{animation:li-photo 1.5s var(--ease-out-expo) forwards;animation-delay:var(--ld,0s)}
@keyframes li-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes li-photo{from{opacity:0;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.li{opacity:1}}

/* ---------- マーキー帯（Lazy Oaf／Lemaire式：55秒・環境音として） ---------- */
.marquee{
  overflow:hidden;background:var(--pop);
  padding:.95rem 0;margin-top:clamp(2.6rem,5vw,4rem);
}
.marquee-track{
  display:flex;width:max-content;gap:0;
  animation:marquee 55s linear infinite;
  font-family:var(--display);font-size:.9rem;font-weight:700;letter-spacing:.3em;
  color:#fff6e9;white-space:nowrap;text-transform:uppercase;
}
.marquee-track span{padding-right:.4em}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ---------- プルクオート帯（HODAKOVAのマニフェスト行） ---------- */
.pullquote{
  max-width:1240px;margin:0 auto;padding:clamp(4.5rem,9vw,7.5rem) clamp(20px,4vw,44px);
  text-align:center;
}
.pullquote p{
  font-family:var(--serif);font-size:clamp(1.35rem,3vw,2rem);line-height:2;
  letter-spacing:.06em;color:var(--ink);
}
.pullquote .pq-mark{display:block;font-family:var(--latin);font-size:.8rem;letter-spacing:.4em;color:var(--accent);margin-bottom:1.6rem}
html[lang="en"] .pullquote p{font-family:"Cormorant Garamond",serif;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.5}

/* ---------- 額装写真（HODAKOVA：作品として額に入れる） ---------- */
.photo-frame.framed{
  background:#fffdf8;padding:12px;border:1px solid var(--line);
  box-shadow:0 18px 40px rgba(90,66,40,.08);
}

/* ---------- ギャラリー：作品番号（1/OFFの一点もの番号） ---------- */
.cap-no{font-family:var(--latin);font-size:.82rem;font-weight:600;letter-spacing:.14em;color:var(--ink-soft)}

/* ---------- ライトボックスの開閉アニメ ---------- */
.lightbox{opacity:0;transition:opacity .3s var(--ease-out-expo)}
.lightbox.show{opacity:1}
.lightbox img{transform:scale(.965);transition:transform .35s var(--ease-out-expo)}
.lightbox.show img{transform:scale(1)}

/* ---------- ジッパー・イントロ ---------- */
.intro{
  position:fixed;inset:0;z-index:200;display:flex;
  pointer-events:auto;cursor:pointer;
}
.no-intro .intro{display:none}
.intro-panel{
  position:relative;width:50.5%;height:100%;flex:none;
  background:
    repeating-linear-gradient(0deg,rgba(122,111,95,.032) 0 2px,transparent 2px 6px),
    repeating-linear-gradient(90deg,rgba(122,111,95,.032) 0 2px,transparent 2px 6px),
    #f1e9d8;
  transition:transform .65s var(--ease-zip);
}
.intro-panel.left{box-shadow:inset -18px 0 28px -18px rgba(74,56,32,.35)}
.intro-panel.right{box-shadow:inset 18px 0 28px -18px rgba(74,56,32,.35)}
.intro.opening .intro-panel.left{transform:translateX(-101%)}
.intro.opening .intro-panel.right{transform:translateX(101%)}
.intro-panel::after{ /* ジッパーテープ（中央にステッチのダッシュ） */
  content:"";position:absolute;top:0;bottom:0;width:26px;
  background-color:#e7dabf;
  background-image:repeating-linear-gradient(to bottom,var(--stitch) 0 6px,transparent 6px 12px);
  background-size:2px 100%;background-position:center;background-repeat:no-repeat;
  border-left:1px solid rgba(122,111,95,.3);border-right:1px solid rgba(122,111,95,.3);
}
.intro-panel.left::after{right:0}
.intro-panel.right::after{left:0}
/* 歯の列：左右2列を半ピッチずらして噛み合わせる。開くにつれスライダー位置まで clip で消える */
.intro-teeth{
  position:absolute;top:0;bottom:0;left:50%;width:28px;transform:translateX(-50%);z-index:2;
  clip-path:inset(0 0 0 0);
  transition:clip-path .85s var(--ease-zip),opacity .3s ease;
}
.intro-teeth .teeth{
  position:absolute;top:0;bottom:0;width:12px;border-radius:2px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.4),transparent 45%,rgba(60,40,15,.28)),
    repeating-linear-gradient(to bottom,#e2c088 0 4.5px,#9a7a4c 4.5px 6.5px,transparent 6.5px 13px);
  box-shadow:inset 0 0 0 1px rgba(96,72,40,.35);
}
.intro-teeth .teeth-l{left:1px}
.intro-teeth .teeth-r{right:1px;background-position:0 6.5px,0 6.5px}
.intro.unzipping .intro-teeth{clip-path:inset(88% 0 0 0)}
.intro.opening .intro-teeth{opacity:0}
/* スライダー＋引き手（プルタブにはボタンのモチーフ） */
.intro-slider{
  position:absolute;left:50%;top:2.2%;z-index:3;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;
  transition:top .85s var(--ease-zip),opacity .3s ease;
  filter:drop-shadow(0 4px 8px rgba(60,44,20,.35));
}
.intro-slider .slider-body{
  width:32px;height:40px;border-radius:6px 6px 10px 10px;position:relative;
  background:linear-gradient(105deg,#e6c78d 0,#b08c55 45%,#7d5c36 82%,#caa96e 100%);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.55),inset 0 -3px 5px rgba(60,40,15,.35);
}
.intro-slider .slider-body::before{ /* 歯に乗るブリッジ */
  content:"";position:absolute;left:50%;top:-9px;transform:translateX(-50%);
  width:20px;height:12px;border-radius:3px;
  background:linear-gradient(105deg,#d9ba7f,#8a6a42);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.5);
}
.intro-slider .slider-body::after{ /* 中央の溝 */
  content:"";position:absolute;left:50%;top:7px;bottom:7px;width:3px;transform:translateX(-50%);
  background:rgba(70,50,25,.45);border-radius:2px;
}
.intro-slider .slider-tab{
  width:25px;height:48px;margin-top:3px;border-radius:12px;position:relative;
  background:linear-gradient(160deg,#dec086 0,#a37f52 55%,#7d5c36 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.55),inset 0 -2px 4px rgba(60,40,15,.3);
}
.intro-slider .slider-tab::before{ /* つなぎの穴 */
  content:"";position:absolute;left:50%;top:6px;transform:translateX(-50%);
  width:9px;height:9px;border-radius:50%;
  background:#5d4526;box-shadow:inset 0 1px 2px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.35);
}
.intro-slider .tab-button{ /* 引き手下部のボタンモチーフ（ヒーローの回転スタンプと呼応） */
  position:absolute;left:50%;bottom:6px;transform:translateX(-50%);
  width:16px;height:16px;border-radius:50%;
  background:
    radial-gradient(circle at 38% 38%,#7d5c36 1.4px,transparent 2px),
    radial-gradient(circle at 62% 38%,#7d5c36 1.4px,transparent 2px),
    radial-gradient(circle at 38% 62%,#7d5c36 1.4px,transparent 2px),
    radial-gradient(circle at 62% 62%,#7d5c36 1.4px,transparent 2px),
    var(--pop);
  box-shadow:0 0 0 1.5px rgba(70,50,25,.5);
}
.intro.unzipping .intro-panel.left{animation:zip-l .85s var(--ease-zip) forwards}
.intro.unzipping .intro-panel.right{animation:zip-r .85s var(--ease-zip) forwards}
@keyframes zip-l{from{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}to{clip-path:polygon(0 0,58% 0,100% 100%,0 100%)}}
@keyframes zip-r{from{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}to{clip-path:polygon(42% 0,100% 0,100% 100%,0 100%)}}
.intro.unzipping .intro-slider{top:calc(100% - 118px)}
.intro.opening .intro-slider{opacity:0}
.intro-brand{
  position:absolute;left:0;right:0;top:34%;z-index:4;text-align:center;
  transition:opacity .3s ease;pointer-events:none;padding:0 1rem;
}
.intro.unzipping .intro-brand,.intro.opening .intro-brand{opacity:0}
.intro-brand img{margin:0 auto .9rem;border-radius:50%}
.intro-brand p{font-family:var(--serif);font-weight:600;font-size:clamp(1.15rem,3.4vw,1.5rem);letter-spacing:.06em;color:var(--ink)}
.intro-brand small{display:block;margin-top:.45rem;font-family:var(--latin);font-size:.78rem;letter-spacing:.34em;color:var(--accent)}
html[lang="en"] .intro-brand p{font-family:"Cormorant Garamond",serif;font-size:clamp(1.5rem,4vw,2rem)}
.intro-skip{
  position:absolute;right:26px;bottom:24px;z-index:5;
  background:none;border:none;cursor:pointer;
  font-family:var(--latin);font-size:.8rem;font-weight:600;letter-spacing:.3em;color:var(--ink-soft);
  opacity:0;transition:opacity .35s ease;padding:.5rem 0;
}
.intro-skip:hover{color:var(--ink)}
.intro.show-skip .intro-skip{opacity:1}
body.intro-lock{overflow:hidden}
@media (prefers-reduced-motion:reduce){.intro{display:none}}

/* ---------- レスポンシブ ---------- */
@media (max-width:1100px){
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:960px){
  .service-row{grid-template-columns:44px 1fr 24px}
  .service-no{grid-column:1;grid-row:1}
  .service-row h3{grid-column:2;grid-row:1}
  .service-desc{grid-column:2 / -1}
  .row-arr{grid-column:3;grid-row:1}
}
@media (max-width:860px){
  .hero{grid-template-columns:1fr}
  .hero-photo .photo-frame{aspect-ratio:4/3.4}
  .hero-index ul{grid-template-columns:repeat(2,1fr);row-gap:.4rem}
  .workshop-wrap,.profile-wrap{grid-template-columns:1fr}
}
@media (max-width:640px){
  .nav-toggle{display:block}
  .site-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--bg);flex-direction:column;align-items:flex-start;
    padding:1.1rem 1.4rem 1.4rem;gap:1rem;border-bottom:1px solid var(--line);
  }
  .site-nav.open{display:flex}
  .contact-actions .btn{width:100%;justify-content:center}
  .link-row-main{gap:.4rem;flex-direction:column}
  .link-row h3{min-width:0}
}
@media (max-width:680px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem .9rem}
  .cap-text{font-size:.8rem}
}
@media (max-width:480px){
  .hero-index ul{grid-template-columns:1fr 1fr}
}

/* ---------- ポップ×洗練（第4次：UC指示「ポップさもあり、安っぽく見えない洗練」） ---------- */
/* 差し色はバーミリオン1色に絞り、使う場所を少数精鋭にする */

/* ヒーロー写真の背後に差し色ブロックをオフセット配置（Lazy Oafの色面／House of Sunnyの自信） */
.hero-photo::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--pop);transform:translate(22px,22px);
}
/* 反対側に1pxヘアラインの額縁をずらして重ねる（色を「面」と「線」の両方で見せる幾何学構造） */
.hero-photo::after{
  content:"";position:absolute;inset:0;z-index:-1;
  border:1px solid var(--pop);transform:translate(-16px,-16px);
}

/* 回転スタンプ：ブランドマークの「ボタン」を中央に置く円形バッジ（写真に重ねる一点の遊び） */
.hero-stamp{
  position:absolute;left:-38px;bottom:36px;z-index:3;
  width:118px;height:118px;pointer-events:none;
  animation:stamp-spin 30s linear infinite;
  filter:drop-shadow(0 10px 22px rgba(90,50,20,.18));
}
.hero-stamp svg{display:block;width:100%;height:100%}
@keyframes stamp-spin{to{transform:rotate(360deg)}}

/* セクションラベルの頭は差し色の「ボタン」（4つ穴付き：第5次でドットから格上げ） */
.sec-label{display:flex;align-items:center;gap:.65em}
.sec-label::before{
  content:"";width:15px;height:15px;border-radius:50%;flex:none;
  background:
    radial-gradient(circle at 38% 38%,var(--bg) 1.3px,transparent 1.9px),
    radial-gradient(circle at 62% 38%,var(--bg) 1.3px,transparent 1.9px),
    radial-gradient(circle at 38% 62%,var(--bg) 1.3px,transparent 1.9px),
    radial-gradient(circle at 62% 62%,var(--bg) 1.3px,transparent 1.9px),
    var(--pop);
  box-shadow:inset 0 0 0 1px rgba(132,48,14,.35);
}
.section-panel .sec-label::before{
  background:
    radial-gradient(circle at 38% 38%,var(--panel) 1.3px,transparent 1.9px),
    radial-gradient(circle at 62% 38%,var(--panel) 1.3px,transparent 1.9px),
    radial-gradient(circle at 38% 62%,var(--panel) 1.3px,transparent 1.9px),
    radial-gradient(circle at 62% 62%,var(--panel) 1.3px,transparent 1.9px),
    var(--pop);
}
.sec-head-center .sec-label{justify-content:center}

/* ギャラリー：ホバーで差し色のオフセットシャドウ（一点もの写真を「作品」として押し出す） */
.gallery-item .photo-frame{transition:box-shadow .5s var(--ease)}
.gallery-item:hover .photo-frame{box-shadow:12px 12px 0 rgba(232,80,30,.9)}

/* プルクオート下は差し色のヘアライン（線で見せる精度感。uc-claw批評で波線から変更） */
.pullquote p::after{
  content:"";display:block;width:56px;height:1px;margin:2.2rem auto 0;
  background:var(--pop);
}

/* フッターのステッチラインは差し色で締める */
.site-footer .stitch-line{background:repeating-linear-gradient(90deg,var(--pop) 0 7px,transparent 7px 13px)}

@media (max-width:860px){
  .hero-photo::before{transform:translate(13px,13px)}
  .hero-photo::after{transform:translate(-10px,-10px)}
  .hero-stamp{width:94px;height:94px;left:-8px;bottom:22px}
  /* モバイルでは巨大タイポを透かして目次リストの可読性を優先する */
  .hero-giant{font-size:clamp(4.2rem,17vw,6rem);opacity:.45}
}

/* ---------- 洋裁モチーフの展開（第5次：UC指示「服のデザイン的なモチーフをたくさん」「チャックを見えるように」「作品を複数見せて」） ---------- */
/* 色はバーミリオン＋墨＋生成りの範囲に限定し、線と余白のルールは既存に合わせる */

/* メジャーテープ帯：短い目盛り（14px）と長い目盛り（70px）の2層＋生地色の帯 */
.tape-line{
  height:26px;max-width:none;
  background-color:#ece1c8;
  background-image:
    repeating-linear-gradient(90deg,var(--ink) 0 1.5px,transparent 1.5px 70px),
    repeating-linear-gradient(90deg,rgba(46,42,34,.55) 0 1px,transparent 1px 14px),
    linear-gradient(var(--stitch),var(--stitch));
  background-size:100% 13px,100% 7px,100% 1px;
  background-position:left top,left top,left bottom;
  background-repeat:no-repeat;
  border-bottom:1px solid var(--line);
}

/* 裁断線：ハサミ＋CUT の小さな区切り（プロフィール→お問い合わせ間） */
.cut-line{
  max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,44px);
  border-top:2px dashed rgba(46,42,34,.35);
  position:relative;height:0;
}
.cut-line .cut-scissors{
  position:absolute;left:clamp(20px,4vw,44px);top:-.78em;
  background:var(--bg);padding:0 .45em 0 0;
  color:var(--accent);font-size:1.05rem;line-height:1;
}
.cut-line .cut-label{
  position:absolute;left:calc(clamp(20px,4vw,44px) + 2em);top:-.62em;
  background:var(--bg);padding:0 .5em;
  font-family:var(--latin);font-size:.68rem;font-weight:700;letter-spacing:.34em;color:var(--ink-soft);
}

/* 針と糸：プルクオートの上を縫い進む曲線パス */
.thread-svg{display:block;width:min(680px,92%);height:40px;margin:0 auto 1.2rem;overflow:visible}
.thread-svg .thread-path{
  fill:none;stroke:var(--pop);stroke-width:1.6;
  stroke-dasharray:5 6;stroke-linecap:round;opacity:.6;
}
.thread-svg .thread-needle path{stroke:#8a6a42;stroke-width:2.4;stroke-linecap:round;fill:none}
.thread-svg .thread-needle ellipse{fill:none;stroke:#8a6a42;stroke-width:1.4}

/* 布タグ（ブランドラベル風の小片）：写真の角にステッチ枠のラベル */
.workshop-photo,.profile-photo{position:relative}
.photo-tag{
  position:absolute;top:14px;left:14px;z-index:2;
  background:#fffdf8;color:var(--accent-deep);
  font-family:var(--latin);font-size:.6rem;font-weight:700;letter-spacing:.28em;
  padding:.44rem .72rem .36rem;
  border:1.5px dashed var(--stitch);
  box-shadow:0 4px 10px rgba(90,66,40,.14);
  transform:rotate(-3deg);
  pointer-events:none;
}

/* 生地スワッチ：フッターの見本布チップ（柄はグラデーションで表現、縁はステッチ色） */
.swatches{display:flex;justify-content:center;gap:10px;margin-bottom:1.6rem}
.swatches .sw{
  width:26px;height:26px;flex:none;
  border:1.5px dashed rgba(185,144,108,.85);
  box-shadow:0 3px 7px rgba(90,66,40,.12);
}
.swatches .sw:nth-child(odd){transform:rotate(-2.5deg)}
.swatches .sw:nth-child(even){transform:rotate(2deg)}
.swatches .sw-1{background:var(--pop)}
.swatches .sw-2{background:repeating-linear-gradient(45deg,#f3ecdb 0 5px,var(--ink) 5px 6.5px)}
.swatches .sw-3{background:radial-gradient(rgba(168,62,18,.55) 1.6px,transparent 2.2px) 0 0/9px 9px,#f3ecdb}
.swatches .sw-4{background:
  repeating-linear-gradient(0deg,rgba(232,80,30,.28) 0 6px,transparent 6px 12px),
  repeating-linear-gradient(90deg,rgba(232,80,30,.28) 0 6px,transparent 6px 12px),
  #f7f2e8}
.swatches .sw-5{background:var(--ink)}

@media (max-width:680px){
  .tape-line{height:22px}
  .photo-tag{font-size:.55rem;top:10px;left:10px}
  .thread-svg{height:30px}
}
