:root { --charcoal:#34322e; --charcoal-soft:#403d37; --cream:#efe1c4; --cream-pale:#f6eddc; --gold:#9e762c; --ink:#151412; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--charcoal) url("/tom-pepper-charcoal-aged-paper-texture.png") center top/1024px auto repeat; color:var(--cream-pale); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:76px; padding:0 5vw; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(239,225,196,.26); position:absolute; inset:0 0 auto; z-index:5; }
.small-mark { display:flex; align-items:center; height:64px; }
.small-mark img { display:block; width:auto; height:58px; max-width:250px; object-fit:contain; }
nav { display:flex; gap:30px; font-size:11px; text-transform:uppercase; letter-spacing:1.8px; font-weight:800; }
.hero { min-height:930px; padding:135px 6vw 70px; display:flex; flex-direction:column; align-items:center; justify-content:center; background-color:var(--charcoal); background-image:radial-gradient(ellipse at 52% 42%,rgba(112,105,92,.48) 0,rgba(66,63,57,.22) 40%,rgba(52,50,46,.74) 76%),radial-gradient(ellipse at 14% 22%,rgba(239,225,196,.08),transparent 25%),radial-gradient(ellipse at 82% 18%,rgba(0,0,0,.18),transparent 31%),radial-gradient(ellipse at 72% 78%,rgba(239,225,196,.05),transparent 27%),url("/tom-pepper-charcoal-aged-paper-texture.png"); background-size:auto,auto,auto,auto,1024px auto; background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,repeat; background-blend-mode:normal,normal,normal,normal,normal; }
.hero-sign { width:min(1120px,88vw); aspect-ratio:1.5; position:relative; filter:drop-shadow(0 28px 35px rgba(0,0,0,.55)); }
.hero-sign img { width:100%; height:100%; object-fit:contain; display:block; }
.hero-caption { text-align:center; margin-top:20px; text-transform:uppercase; letter-spacing:2.7px; font-size:11px; }
.hero-caption p { margin:14px 0 22px; }
.hero-caption a { border-bottom:1px solid var(--gold); padding-bottom:5px; }
.flourish { color:var(--gold); letter-spacing:6px; font-size:13px; display:inline-block; }
.marquee { min-height:70px; padding:22px 4vw; border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); display:flex; justify-content:center; align-items:center; gap:3vw; color:var(--cream); font-family:Georgia,serif; font-size:13px; letter-spacing:3px; }
.marquee i { color:var(--gold); font-style:normal; }
.label-section { padding:130px 7vw; display:grid; grid-template-columns:70px minmax(360px,650px) minmax(360px,1fr); gap:5vw; align-items:center; background-color:var(--charcoal-soft); background-image:radial-gradient(ellipse at 14% 30%,rgba(239,225,196,.08),transparent 27%),radial-gradient(ellipse at 73% 16%,rgba(0,0,0,.18),transparent 30%),radial-gradient(ellipse at 88% 76%,rgba(239,225,196,.05),transparent 25%),url("/tom-pepper-charcoal-aged-paper-texture.png"); background-size:auto,auto,auto,1024px auto; background-repeat:no-repeat,no-repeat,no-repeat,repeat; background-blend-mode:normal,normal,normal,normal; position:relative; overflow:hidden; }
.label-section::before { content:""; position:absolute; width:750px; height:750px; border:1px solid rgba(158,118,44,.16); border-radius:50%; left:6vw; }
.section-number { writing-mode:vertical-rl; transform:rotate(180deg); align-self:start; color:var(--gold); font-size:11px; letter-spacing:3px; text-transform:uppercase; }
.product-image-wrap { position:relative; z-index:1; display:grid; place-items:center; }
.product-image { display:block; width:min(650px,100%); height:auto; filter:drop-shadow(0 28px 30px rgba(0,0,0,.5)); transform:rotate(-2deg); }
.label-copy { max-width:620px; }
.overline,.panel-kicker { color:var(--gold); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:3px; }
h1,h2 { margin:0; font-family:Georgia,'Times New Roman',serif; text-transform:uppercase; letter-spacing:-.035em; line-height:.9; }
h1 { font-size:clamp(56px,6.5vw,104px); margin:18px 0 27px; }
h2 { font-size:clamp(58px,7.5vw,118px); }
h2 em { color:var(--gold); font-weight:400; }
.label-copy .intro { font-family:Georgia,serif; font-size:24px; margin:30px 0 15px; }
.label-copy>p:not(.overline):not(.intro) { line-height:1.7; max-width:570px; color:#d9cfbc; }
.plaque-button { display:inline-block; margin-top:25px; padding:16px 21px; border:1px solid var(--gold); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:2px; }
.plaque-button:hover { background:var(--gold); color:var(--ink); }
.story-panel { margin:100px auto; width:min(1300px,86vw); background:var(--cream); color:var(--ink); border:3px solid var(--ink); outline:1px solid var(--gold); outline-offset:-14px; padding:100px 8vw 90px; position:relative; box-shadow:0 30px 60px rgba(0,0,0,.35); }
.story-panel::before,.story-panel::after { content:""; position:absolute; top:-38px; width:76px; height:76px; background:var(--cream); border-top:3px solid var(--ink); transform:rotate(45deg); }
.story-panel::before { left:18%; border-left:3px solid var(--ink); }
.story-panel::after { right:18%; border-right:3px solid var(--ink); }
.arched-heading { text-align:center; margin-bottom:65px; }
.arched-heading>span { text-transform:uppercase; letter-spacing:4px; font-size:11px; font-weight:900; }
.arched-heading h2 { margin:20px 0 25px; }
.brand-statement { max-width:850px; margin:0 auto; border-top:1px solid var(--gold); padding-top:45px; text-align:center; font-family:Georgia,serif; font-size:clamp(20px,2vw,28px); line-height:1.55; }
.story-flourish { margin:42px auto 0; text-align:center; text-transform:uppercase; letter-spacing:3px; font-size:11px; font-weight:900; }
.story-flourish span { color:var(--gold); display:inline-block; margin:0 12px; }
.story-columns { border-top:1px solid var(--gold); padding-top:45px; display:grid; grid-template-columns:repeat(3,1fr); gap:45px; font-family:Georgia,serif; font-size:18px; line-height:1.65; }
.story-columns p { margin:0; }
.drop-cap::first-letter { float:left; font-size:67px; line-height:.75; padding:10px 8px 0 0; color:var(--gold); }
.trade-panel { text-align:center; padding:130px 7vw; border-top:1px solid rgba(239,225,196,.2); background-color:var(--charcoal); background-image:radial-gradient(ellipse at 20% 35%,rgba(239,225,196,.06),transparent 28%),radial-gradient(ellipse at 78% 65%,rgba(0,0,0,.18),transparent 32%),url("/tom-pepper-charcoal-aged-paper-texture.png"); background-size:auto,auto,1024px auto; background-repeat:no-repeat,no-repeat,repeat; background-blend-mode:normal,normal,normal; }
.trade-panel h2 { margin:22px 0 30px; }
.trade-panel>p { font-family:Georgia,serif; font-size:20px; max-width:620px; margin:32px auto 12px; line-height:1.55; }
.trade-routes { width:min(940px,100%); margin:42px auto 12px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(239,225,196,.22); border:1px solid rgba(239,225,196,.22); }
.trade-routes span { background:var(--charcoal); padding:24px 15px; color:var(--cream); font-family:Georgia,serif; font-size:16px; letter-spacing:.02em; }
.trade-panel .trade-close { max-width:760px; margin-top:34px; color:#d9cfbc; }
.dark-button { background:var(--cream); color:var(--ink); border-color:var(--cream); }
.contact-panel { background:var(--cream); padding:100px 6vw; }
.contact-plaque { max-width:1150px; margin:auto; text-align:center; color:var(--ink); border:3px solid var(--ink); outline:1px solid var(--gold); outline-offset:-14px; padding:85px 30px; }
.contact-plaque h2 { margin:20px 0 25px; }
.contact-plaque p { font-family:Georgia,serif; font-size:19px; }
.contact-plaque>a { display:block; margin-top:30px; font-family:Georgia,serif; font-size:clamp(20px,3vw,42px); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:8px; }
footer { min-height:100px; display:flex; justify-content:space-between; align-items:center; padding:0 5vw; border-top:1px solid rgba(239,225,196,.2); text-transform:uppercase; letter-spacing:2px; font-size:10px; }

@media (max-width:950px) {
  .hero { min-height:760px; }
  .label-section { grid-template-columns:1fr; padding:100px 7vw; }
  .section-number { writing-mode:initial; transform:none; }
  .product-image-wrap { width:min(620px,90vw); justify-self:center; }
  .label-copy { justify-self:center; text-align:center; }
  .label-copy>p:not(.overline):not(.intro) { margin-left:auto; margin-right:auto; }
  .story-columns { grid-template-columns:1fr; gap:25px; }
}
@media (max-width:650px) {
  .site-header { height:66px; } .small-mark { height:58px; } .small-mark img { height:52px; max-width:205px; } nav a:not(:last-child) { display:none; }
  nav a { min-height:44px; display:flex; align-items:center; }
  h1 { font-size:clamp(38px,10.8vw,46px); line-height:.96; }
  h2 { font-size:clamp(46px,14vw,64px); line-height:.94; }
  .hero { min-height:590px; padding-top:100px; }
  .hero-sign { width:calc(100vw - 24px); }
  .hero-caption { margin-top:0; }
  .hero-caption a { display:inline-block; padding:12px 0; }
  .marquee { min-height:auto; padding:18px 22px; justify-content:center; flex-wrap:wrap; gap:8px 12px; overflow:visible; white-space:normal; text-align:center; font-size:10px; line-height:1.5; }
  .label-section { padding:72px 22px 80px; }
  .label-section>* { min-width:0; }
  .section-number,.product-image-wrap,.label-copy { width:100%; }
  .product-image-wrap { width:calc(100vw - 44px); }
  .product-image { width:100%; }
  .label-copy .intro { font-size:20px; line-height:1.35; }
  .label-copy>p:not(.overline):not(.intro) { line-height:1.55; }
  .story-panel { width:92vw; margin:65px auto; padding:80px 30px 60px; }
  .story-panel::before,.story-panel::after { width:55px; height:55px; top:-28px; }
  .trade-panel { padding:95px 22px; }
  .trade-routes { grid-template-columns:1fr 1fr; }
  .contact-panel { padding:65px 18px; }
  .contact-plaque { padding:70px 16px; }
  .contact-plaque>a { padding:12px 0; overflow-wrap:anywhere; }
  footer { flex-direction:column; justify-content:center; gap:15px; text-align:center; }
  footer a { padding:12px 0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
