*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f1ea;color:#0b0b0b;font-family:Inter,Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:16px clamp(18px,5vw,72px);background:rgba(244,241,234,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(11,11,11,.14)}.brand{display:flex;align-items:center;gap:12px;justify-self:start;font-size:.82rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.brand-mark{width:44px;height:44px;border:1px solid #0b0b0b;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:.8rem}.site-nav{display:flex;gap:22px;justify-self:center;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.site-nav a{opacity:.58}.site-nav a:hover,.site-nav [aria-current=page]{opacity:1}.pagepros-link{justify-self:end;border:1px solid #0b0b0b;padding:10px 14px;border-radius:999px;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.showcase-hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;min-height:calc(100vh - 77px);background:#0b0b0b;color:#f4f1ea}.hero-media{position:relative;overflow:hidden;min-height:760px}.hero-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12);transform:scale(1.04);transition:transform 1.4s cubic-bezier(.19,1,.22,1)}.hero-media.is-visible img,.case-card.is-visible img{transform:scale(1)}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,11,.45),transparent),linear-gradient(0deg,rgba(11,11,11,.52),transparent 45%)}.hero-caption{position:absolute;z-index:2;left:26px;right:26px;bottom:26px;display:flex;justify-content:space-between;gap:18px;padding-top:18px;border-top:1px solid rgba(244,241,234,.55);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.hero-statement{display:grid;align-content:end;padding:clamp(42px,7vw,104px)}.kicker{display:inline-flex;align-items:center;gap:10px;color:#a52a22;font-size:.74rem;font-weight:950;text-transform:uppercase;letter-spacing:.16em}.kicker:before{content:"";width:42px;height:1px;background:#a52a22}.showcase-hero h1,.page-hero h1{max-width:980px;margin:22px 0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.5rem,8.9vw,9rem);font-weight:900;line-height:.82;letter-spacing:-.035em}.showcase-hero p,.page-hero p{max-width:680px;color:#c9c3b8;font-size:1.16rem;line-height:1.68}.vertical-rail{position:absolute;right:18px;top:110px;bottom:36px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;color:rgba(244,241,234,.42);font-size:.7rem;font-weight:950;text-transform:uppercase;letter-spacing:.18em;writing-mode:vertical-rl}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;background:#f4f1ea;color:#0b0b0b;border:1px solid #f4f1ea;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.btn.ghost,.btn.outline{background:transparent;color:#f4f1ea}.marquee{overflow:hidden;border-top:1px solid #0b0b0b;border-bottom:1px solid #0b0b0b;background:#f4f1ea}.marquee div{display:flex;width:max-content;animation:marquee 26s linear infinite}.marquee span{padding:18px 28px;border-right:1px solid #0b0b0b;font-family:Georgia,serif;font-size:clamp(1.6rem,4vw,3.6rem);white-space:nowrap}.section{padding:clamp(70px,10vw,140px) clamp(26px,5.6vw,88px)}.manifesto{display:grid;grid-template-columns:100px 1fr .7fr;gap:34px;align-items:start}.section-number{font-family:Georgia,serif;font-size:3rem;color:#a52a22}.manifesto h2,.closing h2,.split h2,.section-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,7vw,7rem);line-height:.86;letter-spacing:-.03em}.manifesto p,.closing p,.section-head p{max-width:680px;color:#504b44;font-size:1.15rem;line-height:1.72}.case-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;padding:0 clamp(26px,5.6vw,88px) clamp(80px,10vw,130px)}.case-card{position:relative;grid-column:span 6;min-height:620px;overflow:hidden;background:#111;color:#f4f1ea}.case-card.large{grid-column:span 8;min-height:780px}.case-card:nth-child(2){grid-column:span 4}.case-card:nth-child(3){grid-column:3/span 8;min-height:520px}.case-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transform:scale(1.08);transition:transform 1.4s cubic-bezier(.19,1,.22,1),filter .4s ease}.case-card:hover img{filter:grayscale(.35) contrast(1.05)}.case-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.82))}.case-card div{position:absolute;z-index:2;left:clamp(26px,3vw,42px);right:clamp(26px,3vw,42px);bottom:clamp(26px,3vw,42px)}.case-card span{font-size:.74rem;font-weight:950;text-transform:uppercase;letter-spacing:.14em;color:#c9c3b8}.case-card h2{margin:10px 0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,4.8rem);line-height:.9;letter-spacing:-.02em}.case-card p{max-width:540px;color:#ddd7ce}.service-index{border-top:1px solid #0b0b0b}.service-index a{display:grid;grid-template-columns:100px 1fr auto;gap:24px;align-items:center;padding:30px clamp(26px,5.6vw,88px);border-bottom:1px solid #0b0b0b;transition:background .25s ease,color .25s ease}.service-index a:hover{background:#0b0b0b;color:#f4f1ea}.service-index span{font-family:Georgia,serif;font-size:2rem;color:#a52a22}.service-index strong{font-family:Georgia,serif;font-size:clamp(2rem,5vw,5rem);line-height:.9}.service-index em{font-style:normal;text-transform:uppercase;font-size:.75rem;font-weight:950;letter-spacing:.12em}.closing{background:#0b0b0b;color:#f4f1ea}.closing p{color:#c9c3b8}.cream{background:#f4f1ea;color:#0b0b0b}.ink{background:#0b0b0b;color:#f4f1ea}.paper{background:#e7e1d6;color:#0b0b0b}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:34px;align-items:end;margin-bottom:36px}.work-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.work-stack{display:grid;gap:18px}.work-card{position:relative;min-height:360px;overflow:hidden;background:#111;color:#f4f1ea}.work-card.tall{min-height:760px}.work-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:grayscale(1) contrast(1.06)}.work-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(0,0,0,.78))}.work-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #0b0b0b;border-bottom:1px solid #0b0b0b}.stat{padding:34px;border-right:1px solid #0b0b0b}.stat strong{display:block;font-family:Georgia,serif;font-size:3.4rem}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}.panel{border:1px solid rgba(244,241,234,.2);padding:28px;background:#141414}.panel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#3a3a3a}.mini{padding:24px;background:#f4f1ea;color:#0b0b0b}.mini h3{font-family:Georgia,serif;font-size:2rem;margin:.2rem 0}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{padding:26px;border:1px solid #0b0b0b;background:#f4f1ea}.price-card h2{font-family:Georgia,serif;font-size:2.4rem;line-height:.95}.price{display:block;font-family:Georgia,serif;font-size:4rem;font-weight:950;color:#a52a22}.menu-list{display:grid;gap:0;border-top:1px solid rgba(244,241,234,.28)}.menu-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid rgba(244,241,234,.28)}.faq-list{display:grid;gap:12px}.faq-list details{border:1px solid rgba(244,241,234,.22);background:#141414;padding:20px}.faq-list summary{cursor:pointer;font-weight:950;color:#f4f1ea}.faq-list p{color:#c9c3b8;line-height:1.65}.page-hero{padding:110px clamp(26px,5.6vw,88px);background:#0b0b0b;color:#f4f1ea}.about-photo{overflow:hidden;background:#111}.about-photo img{filter:grayscale(1) contrast(1.08)}.credit{font-size:.82rem;color:#706a62}.site-footer{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:34px clamp(26px,5.6vw,88px);background:#0b0b0b;color:#c9c3b8;border-top:1px solid rgba(244,241,234,.2)}.site-footer a{color:#f4f1ea}[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.19,1,.22,1)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}@media(max-width:920px){.site-header{grid-template-columns:1fr}.brand,.site-nav,.pagepros-link{justify-self:start}.site-nav{display:grid;gap:10px}.showcase-hero,.manifesto,.section-head,.split{grid-template-columns:1fr}.hero-media{min-height:430px;order:-1}.showcase-hero h1,.page-hero h1{font-size:clamp(3.1rem,14vw,5rem)}.vertical-rail{display:none}.case-grid{display:grid;grid-template-columns:1fr}.case-card,.case-card.large,.case-card:nth-child(2),.case-card:nth-child(3){grid-column:auto;min-height:480px}.service-index a{grid-template-columns:1fr;gap:10px}.work-grid,.price-grid,.stats,.panel-grid{grid-template-columns:1fr}.work-card.tall{min-height:480px}.stat{border-right:0;border-bottom:1px solid #0b0b0b}.menu-row{display:grid}.panel{min-width:0}.section{padding-top:64px;padding-bottom:64px}}
/* Comfort inset for the Spoke & Wrench home-page text blocks. */
.hero-statement,
.manifesto,
.closing,
.service-index a,
.site-footer {
  padding-left: clamp(34px, 6.4vw, 112px);
  padding-right: clamp(34px, 6.4vw, 112px);
}

.case-card div {
  left: clamp(34px, 4.4vw, 64px);
  right: clamp(34px, 4.4vw, 64px);
  bottom: clamp(34px, 4.4vw, 64px);
}

.hero-caption {
  left: clamp(34px, 4.4vw, 64px);
  right: clamp(34px, 4.4vw, 64px);
}

@media (max-width: 920px) {
  .hero-statement,
  .manifesto,
  .closing,
  .service-index a,
  .site-footer {
    padding-left: 28px;
    padding-right: 28px;
  }

  .case-card div,
  .hero-caption {
    left: 28px;
    right: 28px;
  }

  .case-card div {
    bottom: 28px;
  }
}

/* Final alignment pass: all readable home-page text uses the same inset. */
:root {
  --read-inset: clamp(60px, 6.4vw, 112px);
  --read-inset-mobile: 28px;
}

.showcase-hero .hero-statement,
.manifesto,
.service-index a,
.closing,
.site-footer {
  padding-left: var(--read-inset) !important;
  padding-right: var(--read-inset) !important;
}

.hero-caption,
.case-card div {
  left: var(--read-inset) !important;
  right: var(--read-inset) !important;
}

.marquee div {
  padding-left: var(--read-inset) !important;
}

.case-card div {
  bottom: var(--read-inset) !important;
}

@media (max-width: 920px) {
  .showcase-hero .hero-statement,
  .manifesto,
  .service-index a,
  .closing,
  .site-footer {
    padding-left: var(--read-inset-mobile) !important;
    padding-right: var(--read-inset-mobile) !important;
  }

  .hero-caption,
  .case-card div {
    left: var(--read-inset-mobile) !important;
    right: var(--read-inset-mobile) !important;
  }

  .marquee div {
    padding-left: var(--read-inset-mobile) !important;
  }

  .case-card div {
    bottom: var(--read-inset-mobile) !important;
  }
}
