/* ═══════════════════════════════════════════════════════════
   Our Craft Page — craft.css
   Brand tokens inherited from style.css via :root
   ═══════════════════════════════════════════════════════════ */

.craft-page { overflow-x:hidden; }

/* ── Shared reveal animation ─────────────────────────────── */
.craft-reveal {
  opacity:0;
  transform:translateY(32px);
  transition:opacity .72s ease, transform .72s ease;
}
.craft-reveal.is-visible {
  opacity:1;
  transform:translateY(0);
}
.craft-reveal--right {
  transform:translateX(32px);
}
.craft-reveal--right.is-visible {
  transform:translateX(0);
}
@media(prefers-reduced-motion:reduce) {
  .craft-reveal { opacity:1; transform:none; transition:none; }
}

/* ── Shared placeholder ──────────────────────────────────── */
.craft-placeholder {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  background:var(--green);
  color:var(--beige);
  text-align:center;
  padding:48px 24px;
  width:100%;
  height:100%;
  min-height:320px;
}
.craft-placeholder svg { width:56px; height:56px; opacity:.5; }
.craft-placeholder p {
  margin:0;
  font-family:var(--subhead);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.7;
  max-width:300px;
}

/* Hero wrapper */
.craft-hero-wrapper { position:relative; }

/* ═══════════════════════════════════════════════════════════
   SECTION 1 — Hero
   ═══════════════════════════════════════════════════════════ */
.craft-hero {
  position:relative;
  height:100svh;
  min-height:600px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--ink);
  color:var(--beige);
  z-index:1;
}
.craft-hero__bg {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  transform:scale(1);
  transition:transform 1.8s cubic-bezier(.16,1,.3,1);
  will-change:transform;
  overflow:hidden;
}
.craft-hero__bg.is-zooming {
  transform:scale(1.18);
  background-position:center 55%;
}
.craft-hero__bg--placeholder {
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--green);
}
.craft-hero__bg--placeholder span {
  font-family:var(--subhead);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--beige);
  opacity:.6;
  padding:24px;
  text-align:center;
}
.craft-hero::after {
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:60%;
  background:linear-gradient(transparent, rgba(26,14,12,.82));
  pointer-events:none;
  z-index:2;
}
.craft-hero__words {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10;
  pointer-events:none;
}
.craft-word {
  position:absolute;
  font-family:var(--display);
  font-size:clamp(3.5rem,10vw,9rem);
  letter-spacing:0.03em;
  color:var(--beige);
  opacity:0;
  transform:translateY(20px);
  transition:opacity .5s ease, transform .5s ease;
  text-align:center;
  white-space:nowrap;
}
.craft-word.is-active { opacity:1; transform:translateY(0); }
.craft-hero__content {
  position:relative;
  z-index:3;
  padding:0 clamp(24px,8vw,120px) clamp(72px,10vw,120px);
  max-width:860px;
}
.craft-hero__eyebrow {
  display:block;
  color:rgba(242,230,209,.7);
  font-family:var(--subhead);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.craft-hero__heading {
  font-family:var(--display);
  font-size:clamp(2.8rem,5.5vw,5.5rem);
  font-weight:normal;
  line-height:1.05;
  letter-spacing:0.03em;
  color:var(--beige);
  margin:0 0 28px;
}
.craft-hero__sub {
  font-family:var(--sans);
  font-size:clamp(1rem,1.6vw,1.2rem);
  line-height:1.7;
  color:rgba(242,230,209,.8);
  max-width:560px;
  margin:0 0 32px;
}
.craft-hero__scroll-cue {
  display:inline-block;
  font-family:var(--subhead);
  font-size:.65rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(242,230,209,.55);
  animation:craftCueFloat 2s ease-in-out infinite;
}
@keyframes craftCueFloat {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(6px); }
}
.craft-hero__scroll-buffer { height:0; pointer-events:none; }


/* ═══════════════════════════════════════════════════════════
   SECTION 2 — Our Philosophy
   Desktop: two-column — copy left, portrait video right
   ═══════════════════════════════════════════════════════════ */
.craft-video-section {
  background:var(--beige);
  color:var(--text);
  padding:clamp(32px,4vw,50px) clamp(24px,6vw,80px);
}
/* Two-column wrapper */
.craft-video-section .craft-section-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(48px,7vw,100px);
  align-items:center;
  max-width:1300px;
  margin:0 auto;
}
.craft-video-copy {
  padding:0;
  max-width:100%;
  margin:0;
  text-align:left;
}
.craft-video-copy__eyebrow {
  display:block;
  color:var(--green);
  margin-bottom:16px;
}
.craft-video-copy__heading {
  font-family:var(--display);
  font-size:clamp(2.4rem,4vw,4.5rem);
  letter-spacing:0.03em;
  font-weight:normal;
  color:var(--red);
  margin:0 0 20px;
}
.craft-video-copy__text {
  font-family:var(--sans);
  font-size:clamp(1rem,1.5vw,1.15rem);
  line-height:1.8;
  color:var(--text);
  margin:0 0 16px;
}
.craft-video-wrap {
  width:100%;
  aspect-ratio:9/16;
  max-height:92svh;
  overflow:hidden;
  background:var(--beige);  /* beige instead of green */
  position:relative;
  border-radius:4px;
}
.craft-video {
  width:100%;
  height:100%;
  object-fit:cover;   /* cover so no letterbox gaps show */
  display:block;
  background:var(--beige);
}
.craft-video-controls {
  position:absolute;
  top:16px;
  right:16px;
  display:flex;
  gap:10px;
  z-index:4;
}
.craft-video-btn {
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(242,230,209,.55);
  background:rgba(26,14,12,.55);
  color:var(--beige);
  font-size:1rem;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease, border-color .2s ease;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.craft-video-btn:hover { background:rgba(26,14,12,.8); border-color:var(--beige); }
.craft-video-btn svg { width:18px; height:18px; fill:currentColor; pointer-events:none; }


/* ═══════════════════════════════════════════════════════════
   SECTION 3 — The Offset Smoker (image left, copy right)
   ═══════════════════════════════════════════════════════════ */
.craft-smoker-section {
  background: var(--beige);
  padding: clamp(32px,4vw,50px) 0;
}
.craft-smoker-inner {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  gap: clamp(48px,7vw,100px);
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 clamp(24px,6vw,80px);
}
.craft-smoker-figure {
  margin: 0;
  overflow: hidden;
  border-radius: 4px;
}
.craft-smoker-img {
  width: 100%;
  height: clamp(380px,44vw,560px);
  object-fit: cover;
  object-position: center;
  display: block;
}
.craft-smoker-copy__eyebrow {
  display: block;
  color: var(--green);
  margin-bottom: 16px;
}
.craft-smoker-copy__heading {
  font-family: var(--display);
  font-size: clamp(2.2rem,3.5vw,4rem);
  letter-spacing: 0.03em;
  font-weight: normal;
  color: var(--red);
  margin: 0 0 28px;
}
.craft-smoker-copy__text {
  font-family: var(--sans);
  font-size: clamp(1rem,1.4vw,1.1rem);
  line-height: 1.8;
  color: var(--text);
  margin: 0 0 18px;
  max-width: 480px;
}
/* Mobile-only heading block — hidden on desktop */
.craft-smoker-mobile-heading { display:none; }
/* Desktop-only heading elements inside .craft-smoker-copy */
.craft-smoker-desktop-heading { display:block; }


/* ═══════════════════════════════════════════════════════════
   SECTION 4 — Fire Comes First
   Desktop: heading+body left (.9fr), image right (1.1fr spanning both rows)
   Mobile:  heading → image → body (single column)
   ═══════════════════════════════════════════════════════════ */
.craft-fire-section {
  background:var(--beige);
  padding:clamp(32px,4vw,50px) 0;
}
.craft-fire-inner {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  column-gap:clamp(48px,7vw,100px);
  align-items:center;
  max-width:1300px;
  margin:0 auto;
  padding:0 clamp(24px,6vw,80px);
}
/* Left copy column — heading + body as one flex unit, no gap */
.craft-fire-copy {
  display:flex;
  flex-direction:column;
  gap:0;
}
.craft-fire-heading {
  padding-bottom:20px;
}
.craft-fire-body {
  align-self:start;
}
.craft-fire-figure {
  grid-column:2; grid-row:1 / 3;
  margin:0;
  overflow:hidden;
  border-radius:4px;
  align-self:stretch;
}
.craft-fire-body .craft-thermo-caption__body {
  display:block;
  max-width:100%;
  margin:0 0 16px;
}
.craft-fire-body .quote {
  max-width:100%;
  margin:24px 0 0;
}
.craft-fire-img {
  width:100%;
  height:clamp(380px,44vw,560px);
  object-fit:cover;
  object-position:center 35%;
  display:block;
}

/* Fire section — video clip replaces image, same sizing */
.craft-fire-video {
  width:100%;
  height:clamp(380px,44vw,560px);
  object-fit:cover;
  object-position:center 35%;
  display:block;
}

@media(max-width:760px) {
  .craft-fire-video { height:clamp(220px,70vw,360px); border-radius:0; }
}


/* ═══════════════════════════════════════════════════════════
   SECTION 5 — Every Degree Matters
   Desktop: image LEFT (1fr), heading+body RIGHT (1fr)
   Mobile:  heading → image → body (single column)
   ═══════════════════════════════════════════════════════════ */
.craft-thermo-section {
  background:var(--beige);
  padding:clamp(32px,4vw,50px) clamp(24px,6vw,80px);
}
.craft-thermo-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  column-gap:clamp(48px,6vw,80px);
  row-gap:0;
  align-items:start;
  max-width:1200px;
  margin:0 auto;
}
/* Image in left column, spanning both rows */
.craft-thermo-figure {
  grid-column:1; grid-row:1 / 3;
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:4px;
  align-self:stretch;
}
/* Heading in right column, row 1 */
.craft-thermo-heading {
  grid-column:2; grid-row:1;
  padding-bottom:20px;
}
/* Body in right column, row 2 */
.craft-thermo-body {
  grid-column:2; grid-row:2;
  align-self:start;
}
.craft-thermo-img {
  width:100%;
  height:clamp(380px,44vw,560px);
  object-fit:cover;
  object-position:center;
  display:block;
}
.craft-placeholder--thermo {
  height:clamp(380px,44vw,560px);
}
.craft-thermo-text {
  display:flex;
  flex-direction:column;
  gap:20px;
}
.craft-thermo-caption {
  position:static;
  padding:0;
  background:none;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.craft-thermo-caption__label {
  font-family:var(--display);
  font-size:clamp(2.2rem,3.5vw,4rem);
  letter-spacing:0.03em;
  color:var(--red);
  font-weight:normal;
  margin:0;
}
.craft-thermo-caption__body {
  font-family:var(--sans);
  font-size:clamp(1rem,1.4vw,1.1rem);
  color:var(--text);
  max-width:100%;
  line-height:1.75;
}
.craft-thermo-caption__quote { max-width:420px; }


/* ═══════════════════════════════════════════════════════════
   SECTION 5 — Smoke Takes Time + Carousel
   ═══════════════════════════════════════════════════════════ */
.craft-carousel-section {
  background:var(--ink);
  padding:clamp(24px,3vw,40px) 0;
  overflow:hidden;
}
.craft-carousel-copy {
  padding:clamp(28px,4vw,48px) clamp(24px,10vw,160px) clamp(20px,2.5vw,32px);
  max-width:860px;
  margin:0 auto;
  text-align:center;
}
.craft-carousel-copy__heading {
  font-family:var(--display);
  font-size:clamp(2.4rem,5vw,5rem);
  letter-spacing:0.03em;
  font-weight:normal;
  color:var(--beige);
  margin:0 0 20px;
}
.craft-carousel-copy__text {
  font-family:var(--sans);
  font-size:clamp(1rem,1.6vw,1.15rem);
  line-height:1.8;
  color:rgba(242,230,209,.75);
  max-width:620px;
  margin:0 auto;
}
.craft-carousel-section .quote {
  border-left-color:rgba(242,230,209,.45);
  color:rgba(242,230,209,.85) !important;
  text-align:left;
  max-width:620px;
  margin-left:auto;
  margin-right:auto;
}
.craft-carousel {
  position:relative;
  width:100%;
  overflow:hidden;
  touch-action:pan-y;
}
.craft-carousel__track {
  display:flex;
  transition:transform .45s cubic-bezier(.16,1,.3,1);
  will-change:transform;
  padding-left:clamp(24px,5vw,80px);
}
.craft-carousel__slide {
  flex:0 0 min(55vw, 480px);
  margin-right:clamp(16px,2.5vw,24px);
  position:relative;
  overflow:hidden;
  border-radius:4px;
}
.craft-carousel__slide img,
.craft-placeholder--slide {
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  display:block;
}
.craft-placeholder--slide { aspect-ratio:3/4; min-height:0; background:var(--green); }
.craft-carousel__caption {
  position:absolute;
  bottom:24px;
  left:24px;
  font-family:var(--display);
  font-size:clamp(2rem,4vw,3.5rem);
  letter-spacing:0.03em;
  color:var(--beige);
  text-shadow:0 2px 12px rgba(0,0,0,.5);
}
.craft-carousel__prev,
.craft-carousel__next {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(242,230,209,.12);
  border:1px solid rgba(242,230,209,.25);
  color:var(--beige);
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:1.25rem;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease;
  z-index:2;
}
.craft-carousel__prev { left:clamp(12px,3vw,32px); }
.craft-carousel__next { right:clamp(12px,3vw,32px); }
.craft-carousel__prev:hover,
.craft-carousel__next:hover { background:rgba(242,230,209,.25); }
.craft-carousel__dots {
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:28px;
  padding:0 24px;
}
.craft-carousel__dot {
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(242,230,209,.3);
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.craft-carousel__dot.is-active { background:var(--beige); transform:scale(1.3); }


/* ═══════════════════════════════════════════════════════════
   SECTION 6 — Rohit portrait
   ═══════════════════════════════════════════════════════════ */
.craft-rohit-section {
  background:var(--beige);
  padding:clamp(32px,4vw,50px) 0;
}
.craft-rohit-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(48px,7vw,100px);
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(24px,6vw,80px);
}
.craft-rohit-figure {
  margin:0;
  overflow:hidden;
  border-radius:4px;
}
.craft-rohit-img {
  width:100%;
  height:clamp(380px,44vw,560px);
  aspect-ratio:unset;
  object-fit:cover;
  object-position:center top;
  display:block;
}
.craft-placeholder--portrait {
  height:clamp(380px,44vw,560px);
  aspect-ratio:unset;
  min-height:unset;
}
.craft-rohit-copy .eyebrow {
  color:var(--green);
  display:block;
  margin-bottom:12px;
}
.craft-rohit-copy__heading {
  font-family:var(--display);
  font-size:clamp(2.2rem,3.5vw,4rem);
  letter-spacing:0.03em;
  font-weight:normal;
  color:var(--red);
  margin:0 0 20px;
}
.craft-rohit-copy__body p {
  font-size:clamp(1rem,1.4vw,1.1rem);
  line-height:1.8;
  color:var(--text);
  margin:0 0 16px;
}


/* Rohit mobile-heading block — hidden on desktop */
.craft-rohit-mobile-heading { display:none; }


/* ═══════════════════════════════════════════════════════════
   SECTION 7 — Statement
   ═══════════════════════════════════════════════════════════ */
.craft-statement-section {
  background:var(--red);
  padding:clamp(32px,4.5vw,60px) clamp(24px,8vw,120px);
  text-align:center;
}
.craft-statement__lines {
  display:flex;
  flex-direction:column;
  gap:clamp(4px,1.5vw,16px);
  margin:0;
}
.craft-statement__lines span {
  display:block;
  font-family:var(--display);
  font-size:clamp(3.5rem,9vw,10rem);
  letter-spacing:0.03em;
  font-weight:normal;
  line-height:1;
  color:var(--beige);
}

/* Desktop: all three words on one line */
@media(min-width:761px) {
  .craft-statement__lines {
    flex-direction:row;
    justify-content:center;
    align-items:baseline;
    gap:clamp(24px,4vw,64px);
  }
  .craft-statement__lines span {
    font-size:clamp(3rem,7vw,8rem);
  }
  /* "Nothing More. Nothing Less." stays on its own line below */
  .craft-statement__sub {
    display:block;
    width:100%;
  }
}
.craft-statement__sub {
  font-family:var(--subhead) !important;
  font-size:clamp(.9rem,2vw,1.4rem) !important;
  letter-spacing:.18em !important;
  text-transform:uppercase;
  color:rgba(242,230,209,.65) !important;
  margin:clamp(16px,3vw,40px) 0 0;
  text-align:center;
}
.craft-statement__footnote {
  font-family:var(--subhead);
  font-size:clamp(.75rem,1.2vw,.9rem);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(242,230,209,.45);
  margin:clamp(24px,4vw,48px) 0 0;
  text-align:center;
}


/* ═══════════════════════════════════════════════════════════
   FINAL CTA
   ═══════════════════════════════════════════════════════════ */
.craft-cta-section {
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:var(--ink);
}
.craft-cta-bg { position:absolute; inset:0; }
.craft-cta-img { width:100%; height:100%; object-fit:cover; display:block; }
.craft-placeholder--cta { min-height:520px; }
.craft-cta-overlay { position:absolute; inset:0; background:rgba(26,14,12,.7); }
.craft-cta-content {
  position:relative;
  z-index:1;
  text-align:center;
  padding:clamp(40px,6vw,80px) clamp(24px,8vw,120px);
  color:var(--beige);
}
.craft-cta-heading {
  font-family:var(--display);
  font-size:clamp(2.4rem,5vw,5.5rem);
  letter-spacing:0.03em;
  font-weight:normal;
  color:var(--beige);
  margin:0 0 16px;
}
.craft-cta-sub {
  font-family:var(--display);
  font-size:clamp(1.4rem,2.5vw,2.5rem);
  font-style:italic;
  letter-spacing:0.02em;
  color:rgba(242,230,209,.75);
  margin:0 0 40px;
}
.craft-cta-btn { font-size:.8rem; padding:16px 36px; }


/* ── Quote spacing ───────────────────────────────────────── */
.craft-video-copy__quote,
.craft-thermo-caption__quote,
.craft-smoke-copy__quote,
.craft-carousel-copy__quote,
.craft-rohit-copy__quote {
  margin-top:28px;
  margin-bottom:0;
}


/* ═══════════════════════════════════════════════════════════
   MOBILE — ≤ 760px
   ═══════════════════════════════════════════════════════════ */
@media(max-width:760px) {

  /* Hero */
  .craft-hero__content { padding:0 20px 64px; }
  .craft-hero__heading { font-size:clamp(2.4rem,12vw,4rem); line-height:1.05; margin-bottom:20px; }
  .craft-hero__sub { font-size:1rem; max-width:100%; margin-bottom:24px; }

  /* Section 2 — Philosophy: stack copy above video */
  .craft-video-section { padding:32px 0; }
  .craft-video-section .craft-section-inner {
    grid-template-columns:1fr;
    gap:0;
  }
  .craft-video-copy { padding:0 20px 28px; text-align:left; }
  .craft-video-copy__heading { font-size:clamp(2rem,10vw,3rem); margin-bottom:16px; }
  .craft-video-copy__text { font-size:1rem; }
  .craft-video-wrap {
    max-width:100%;
    max-height:100svh;
    border-radius:0;
    overflow:hidden;
    background:none;
  }
  .craft-video {
    object-fit:cover;
    background:none;
  }
  .craft-video-copy__quote { margin-top:20px; font-size:1.1rem; }

  /* Section 3 — Offset Smoker: mobile-heading (order:1) → image (order:2) → copy body (order:3) */
  .craft-smoker-section { padding:0; }
  .craft-smoker-inner {
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    gap:0;
    padding:0;
    max-width:100%;
  }
  .craft-smoker-mobile-heading { display:block; order:1; padding:32px 20px 16px; }
  .craft-smoker-figure { order:2; }
  .craft-smoker-copy   { order:3; padding:20px 20px 32px; }
  /* Hide the duplicated eyebrow+heading inside copy on mobile */
  .craft-smoker-desktop-heading { display:none; }
  .craft-smoker-img { height:clamp(260px,80vw,400px); border-radius:0; }
  .craft-smoker-copy__text { max-width:100%; font-size:1rem; }

  /* Section 4 — Fire Comes First: heading → image → body on mobile */
  .craft-fire-section { padding:0; }
  .craft-fire-inner {
    display:flex;
    flex-direction:column;
    padding:0;
    max-width:100%;
  }
  /* Dissolve the copy wrapper so heading and body become direct flex children */
  .craft-fire-copy    { display:contents; }
  .craft-fire-heading { order:1; padding:32px 20px 16px; }
  .craft-fire-figure  { order:2; border-radius:0; }
  .craft-fire-body    { order:3; padding:20px 20px 32px; }
  .craft-fire-img { height:clamp(220px,70vw,360px); border-radius:0; }
  .craft-fire-body .craft-thermo-caption__body { font-size:1rem; }
  .craft-fire-body .quote { margin-top:20px; font-size:1.1rem; }

  /* Section 5 — Every Degree: heading → image → body */
  .craft-thermo-section { padding:0; }
  .craft-thermo-inner {
    grid-template-columns:1fr;
    grid-template-rows:auto;
    column-gap:0; row-gap:0;
    max-width:100%;
  }
  .craft-thermo-heading { grid-column:1; grid-row:auto; order:1; padding:32px 20px 16px; }
  .craft-thermo-figure  { grid-column:1; grid-row:auto; order:2; margin:0; border-radius:0; }
  .craft-thermo-body    { grid-column:1; grid-row:auto; order:3; padding:20px 20px 32px; }
  .craft-thermo-img,
  .craft-placeholder--thermo { height:clamp(260px,85vw,400px); border-radius:0; }
  .craft-thermo-heading .craft-thermo-caption__label { font-size:clamp(1.8rem,9vw,2.8rem); }
  .craft-thermo-body .craft-thermo-caption__body { font-size:.95rem; display:block; }
  .craft-thermo-caption__quote { max-width:100%; margin-top:20px; font-size:1.1rem; }
  .craft-thermo-caption__quote,
  .craft-rohit-copy__quote { margin-top:24px; font-size:1.1rem; }

  /* Section 5 — Carousel */
  .craft-carousel-section { padding:0 0 32px; }
  .craft-carousel-copy { padding:32px 20px 24px; text-align:left; }
  .craft-carousel-copy__heading { font-size:clamp(2rem,10vw,3rem); margin-bottom:16px; }
  .craft-carousel-copy__text { font-size:1rem; max-width:100%; margin-left:0; margin-right:0; }
  .craft-carousel-section .quote { max-width:100%; margin-left:0; margin-right:0; }
  .craft-carousel__track { padding-left:20px; }
  .craft-carousel__slide { flex:0 0 82vw; margin-right:14px; }
  .craft-carousel__prev,
  .craft-carousel__next { display:none; }
  .craft-carousel__caption { font-size:clamp(1.8rem,8vw,2.8rem); bottom:18px; left:18px; }

  /* Section 6 — Rohit: text first (eyebrow + heading), then image, then body */
  .craft-rohit-section { padding:0; }
  .craft-rohit-inner {
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    gap:0;
    padding:0;
    max-width:100%;
  }
  /* Figure (image) moves to order:2, after heading block */
  .craft-rohit-figure { order:2; }
  .craft-rohit-copy   { order:3; padding:20px 20px 32px; }
  /* Heading block sits above image — we need eyebrow+h2 visible before figure.
     Since heading is inside .craft-rohit-copy, we use a CSS trick:
     Show only the eyebrow+h2 visually "above" by splitting copy into two parts.
     The cleanest solution is to add a mobile-only heading row via CSS grid. */
  /* We achieve heading-above-image by making the copy column start at row 1
     but clipping its content — however the cleaner approach is the PHP change.
     This is handled in page-our-craft.php with a data-mobile-heading element. */
  .craft-rohit-mobile-heading {
    display:block;
    order:1;
    padding:32px 20px 16px;
  }
  .craft-rohit-mobile-heading .eyebrow {
    display:block;
    color:var(--green);
    font-family:var(--subhead);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:10px;
  }
  .craft-rohit-mobile-heading h2 {
    font-family:var(--display);
    font-size:clamp(1.9rem,9vw,2.8rem);
    letter-spacing:0.03em;
    font-weight:normal;
    color:var(--red);
    margin:0;
  }
  /* Hide eyebrow + h2 inside .craft-rohit-copy on mobile (shown in mobile-heading instead) */
  .craft-rohit-copy .eyebrow,
  .craft-rohit-copy__heading { display:none; }

  .craft-rohit-img,
  .craft-placeholder--portrait { aspect-ratio:4/3; height:auto; border-radius:0; }
  .craft-rohit-copy__body p { font-size:1rem; }

  /* Section 7 — Statement */
  .craft-statement-section { padding:32px 20px; }
  .craft-statement__lines { flex-direction:column; gap:8px; }
  .craft-statement__lines span { font-size:clamp(2.6rem,13vw,4.5rem); }
  .craft-statement__sub { font-size:.82rem !important; letter-spacing:.14em !important; margin-top:24px; }
  .craft-statement__footnote { font-size:.72rem; letter-spacing:.14em; margin-top:28px; }

  /* CTA */
  .craft-cta-section { min-height:400px; }
  .craft-cta-content { padding:56px 20px; }
  .craft-cta-heading { font-size:clamp(1.9rem,9vw,3rem); }
  .craft-cta-sub { font-size:1.2rem; margin-bottom:28px; }
  .craft-cta-btn { width:100%; justify-content:center; padding:16px 24px; }

}
