.artisan-page { --artisan-paper: #e9e1d5; --artisan-rust: #ad6c43; --artisan-deep: #171412; background: var(--artisan-deep); color: var(--on-ink-100); }
.artisan-page section[id] { scroll-margin-top: var(--nav-h); }
.artisan-page .nav { background: rgba(23,20,18,.94); border-bottom-color: rgba(246,243,238,.12); }
.artisan-kicker { color: #c68a61; font-size: .6875rem; letter-spacing: .2em; line-height: 1.7; text-transform: uppercase; }
.artisan-page h1, .artisan-page h2, .artisan-page h3 { font-family: var(--serif); font-weight: 300; }
.artisan-page h1 em, .artisan-page h2 em { color: #d19a72; font-style: italic; }
.artisan-link { display: inline-flex; gap: 14px; padding-bottom: 8px; border-bottom: 1px solid rgba(246,243,238,.35); color: var(--on-ink-100); font-size: .75rem; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.artisan-link:hover { color: #d19a72; border-color: #d19a72; }

.artisan-hero { position: relative; min-height: 100svh; display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: clamp(40px,7vw,120px); padding: calc(var(--nav-h) + 56px) var(--gutter) 72px; overflow: hidden; }
.artisan-hero-copy { max-width: 42rem; padding-top: clamp(72px,10vh,128px); padding-left: max(0px, calc((100vw - var(--container))/2)); }
.artisan-hero h1 { margin: 28px 0 30px; font-size: clamp(5rem,8.5vw,9.5rem); line-height: .78; letter-spacing: -.045em; }
.artisan-hero h1 em { display: inline-block; padding-left: .28em; }
.artisan-dek { max-width: 27rem; margin-bottom: 36px; color: var(--on-ink-70); font-size: 1.05rem; line-height: 1.85; }
.artisan-hero-image { width: min(100%, 620px); justify-self: end; }
.artisan-hero-image img { width: 100%; aspect-ratio: 2/3; object-fit: cover; object-position: center 28%; }
.artisan-hero-image figcaption { display: flex; justify-content: space-between; gap: 20px; padding-top: 14px; color: var(--on-ink-50); font-size: .6875rem; letter-spacing: .06em; line-height: 1.6; }
.artisan-volume { position: absolute; right: 14px; bottom: 50%; color: rgba(246,243,238,.28); font-size: .625rem; letter-spacing: .3em; text-transform: uppercase; transform: rotate(90deg) translateX(50%); transform-origin: right bottom; }

.artisan-statement { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(48px,8vw,140px); padding: var(--section-y) max(var(--gutter), calc((100vw - var(--container))/2)); background: var(--artisan-paper); color: var(--ink); }
.artisan-statement h2, .artisan-method h2, .artisan-first-chapter h2, .artisan-invitation h2 { margin-top: 24px; font-size: clamp(3.2rem,5.5vw,6rem); line-height: .95; letter-spacing: -.035em; }
.artisan-statement h2 em, .artisan-first-chapter h2 em { color: var(--artisan-rust); }
.artisan-statement-copy { max-width: 38rem; padding-top: 46px; }
.artisan-statement-copy > p { margin-bottom: 24px; color: rgba(10,10,10,.72); font-size: 1rem; line-height: 1.9; }
.artisan-statement-copy .artisan-status-note { margin-top: 42px; padding-top: 20px; border-top: 1px solid rgba(10,10,10,.22); color: rgba(10,10,10,.58); font-size: .8125rem; }

.artisan-method { padding: var(--section-y) max(var(--gutter), calc((100vw - var(--container))/2)); background: #25201c; }
.artisan-method-intro { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 72px; }
.artisan-method-intro h2 { max-width: 46rem; }
.artisan-method-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(246,243,238,.2); list-style: none; }
.artisan-method-list li { padding: 28px clamp(20px,3vw,48px) 24px 0; }
.artisan-method-list li + li { padding-left: clamp(20px,3vw,48px); border-left: 1px solid rgba(246,243,238,.2); }
.artisan-method-list span { color: #c68a61; font-size: .625rem; letter-spacing: .18em; }
.artisan-method-list h3 { margin: 54px 0 18px; font-size: clamp(1.8rem,3vw,2.8rem); }
.artisan-method-list p { max-width: 20rem; color: var(--on-ink-60); font-size: .875rem; line-height: 1.8; }

.artisan-first-chapter { display: grid; grid-template-columns: .35fr 1fr .8fr; gap: clamp(36px,6vw,100px); align-items: start; padding: var(--section-y) max(var(--gutter), calc((100vw - var(--container))/2)); background: #d4c5b3; color: var(--ink); }
.artisan-chapter-number { color: rgba(10,10,10,.16); font: 300 clamp(7rem,15vw,14rem)/.7 var(--serif); }
.artisan-chapter-copy > p:not(.artisan-kicker) { max-width: 38rem; margin-top: 24px; color: rgba(10,10,10,.68); line-height: 1.85; }
.artisan-quote { align-self: end; padding: 28px 0 0 28px; border-top: 1px solid rgba(10,10,10,.25); color: rgba(10,10,10,.72); font: italic 300 clamp(1.5rem,2.5vw,2.3rem)/1.35 var(--serif); }

.artisan-invitation { padding: var(--section-y) var(--gutter); text-align: center; background: var(--artisan-deep); }
.artisan-invitation h2 { margin: 24px auto 30px; max-width: 58rem; }
.artisan-invitation > p:not(.artisan-kicker) { max-width: 39rem; margin: 0 auto 36px; color: var(--on-ink-70); line-height: 1.9; }
.artisan-button { background: #c1845c; border-color: #c1845c; color: var(--artisan-deep); }
.artisan-button:hover { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.artisan-back-link { display: block; width: fit-content; margin: 32px auto 0; color: var(--on-ink-50); font-size: .75rem; text-decoration: none; }
.artisan-back-link:hover { color: #d19a72; }

@media (max-width: 900px) {
  .artisan-hero { grid-template-columns: 1fr; padding-top: calc(var(--nav-h) + 48px); }
  .artisan-hero-copy { padding-top: 24px; padding-left: 0; }
  .artisan-hero h1 { font-size: clamp(4.5rem,18vw,7rem); }
  .artisan-hero-image { width: min(100%, 36rem); justify-self: center; }
  .artisan-volume { display: none; }
  .artisan-statement { grid-template-columns: 1fr; gap: 24px; }
  .artisan-statement-copy { padding-top: 0; }
  .artisan-method-intro { display: block; }
  .artisan-method-list { grid-template-columns: 1fr; }
  .artisan-method-list li { padding: 28px 0; }
  .artisan-method-list li + li { padding-left: 0; border-left: 0; border-top: 1px solid rgba(246,243,238,.2); }
  .artisan-method-list h3 { margin-top: 28px; }
  .artisan-first-chapter { grid-template-columns: 1fr; }
  .artisan-chapter-number { font-size: 7rem; }
  .artisan-quote { max-width: 34rem; padding-left: 0; }
}

@media (max-width: 520px) {
  .artisan-hero { padding-inline: 0; padding-bottom: 40px; gap: 40px; }
  .artisan-hero-copy { padding-inline: var(--gutter); }
  .artisan-hero-image figcaption { padding-inline: var(--gutter); }
  .artisan-statement h2, .artisan-method h2, .artisan-first-chapter h2, .artisan-invitation h2 { font-size: 3rem; }
}
