
    :root {
      --cream: #f5eddd;
      --paper: #fffaf0;
      --butter: #efbd57;
      --apricot: #d87942;
      --clay: #a8422c;
      --green: #294c3c;
      --ink: #34251e;
      --muted: #746359;
      --line: rgba(52, 37, 30, .18);
      --shadow: 0 24px 70px rgba(67, 39, 22, .14);
      --serif: Georgia, "Times New Roman", serif;
      --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background:
        linear-gradient(rgba(63, 42, 27, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(63, 42, 27, .025) 1px, transparent 1px),
        var(--cream);
      background-size: 30px 30px;
      font-family: var(--sans);
      line-height: 1.65;
      overflow-x: hidden;
    }

    img { display: block; max-width: 100%; }
    a { color: inherit; }
    button, summary { font: inherit; }
    ::selection { background: var(--butter); color: var(--ink); }

    .progress {
      position: fixed;
      inset: 0 auto auto 0;
      z-index: 100;
      width: var(--scroll, 0%);
      height: 4px;
      background: var(--clay);
    }

    .site-header {
      position: absolute;
      inset: 0 0 auto;
      z-index: 10;
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: min(1240px, calc(100% - 40px));
      margin: 0 auto;
      padding: 28px 0;
      color: #fff9ed;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: inherit;
      text-decoration: none;
      font-size: 1rem;
      font-weight: 850;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .brand-mark {
      display: grid;
      width: 38px;
      height: 38px;
      place-items: center;
      border: 1px solid rgba(255, 255, 255, .65);
      border-radius: 50% 50% 46% 54%;
      font-family: var(--serif);
      font-size: 1.35rem;
      font-style: italic;
    }

    .site-nav { display: flex; gap: 24px; }
    .site-nav a {
      color: inherit;
      text-decoration: none;
      font-size: .88rem;
      font-weight: 750;
      letter-spacing: .02em;
    }
    .site-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }

    .hero {
      position: relative;
      min-height: 92svh;
      display: grid;
      align-items: end;
      color: #fffaf0;
      background: #2c241d;
      overflow: hidden;
    }

    .hero img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 42%;
      opacity: .72;
      filter: saturate(.82) contrast(1.04);
      transform: scale(1.02);
    }

    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(29, 22, 17, .87) 0%, rgba(29, 22, 17, .42) 50%, rgba(29, 22, 17, .08) 100%),
        linear-gradient(0deg, rgba(29, 22, 17, .72), transparent 55%);
    }

    .hero-inner {
      position: relative;
      z-index: 2;
      width: min(1240px, calc(100% - 40px));
      margin: 0 auto;
      padding: 190px 0 92px;
    }

    .eyebrow {
      display: flex;
      align-items: center;
      gap: 12px;
      margin: 0 0 18px;
      font-size: .75rem;
      font-weight: 850;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .eyebrow::before { content: ""; width: 38px; height: 2px; background: currentColor; }

    h1, h2, h3, p { margin-top: 0; }
    h1, h2, h3 { font-family: var(--serif); font-weight: 500; line-height: 1.02; }

    h1 {
      max-width: 780px;
      margin-bottom: 24px;
      font-size: clamp(4rem, 9.5vw, 9rem);
      letter-spacing: -.065em;
    }

    .hero-lead {
      max-width: 570px;
      margin-bottom: 32px;
      color: rgba(255, 250, 240, .88);
      font-size: clamp(1.05rem, 2vw, 1.28rem);
    }

    .button {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      min-height: 50px;
      padding: 0 20px;
      border-radius: 999px;
      color: var(--ink);
      background: var(--butter);
      text-decoration: none;
      font-weight: 850;
      transition: transform .2s ease, background .2s ease;
    }
    .button:hover { transform: translateY(-2px); background: #ffd57d; }

    .intro {
      width: min(1060px, calc(100% - 40px));
      margin: 0 auto;
      padding: 110px 0 88px;
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: clamp(45px, 9vw, 120px);
      align-items: start;
    }

    .intro h2 { font-size: clamp(2.8rem, 5vw, 5.2rem); letter-spacing: -.045em; }
    .intro-copy { max-width: 640px; font-size: 1.08rem; }
    .intro-copy p:first-child::first-letter {
      float: left;
      margin: .07em .12em 0 0;
      color: var(--clay);
      font-family: var(--serif);
      font-size: 4.8em;
      line-height: .72;
    }

    .recipe-nav {
      position: sticky;
      top: 12px;
      z-index: 20;
      width: min(1160px, calc(100% - 24px));
      margin: 0 auto 90px;
      padding: 10px;
      display: flex;
      gap: 7px;
      overflow-x: auto;
      border: 1px solid rgba(255,255,255,.5);
      border-radius: 999px;
      background: rgba(255, 250, 240, .82);
      box-shadow: 0 12px 40px rgba(60, 38, 24, .12);
      backdrop-filter: blur(16px);
      scrollbar-width: none;
    }
    .recipe-nav::-webkit-scrollbar { display: none; }
    .recipe-nav a {
      flex: 0 0 auto;
      padding: 9px 15px;
      border-radius: 999px;
      text-decoration: none;
      font-size: .84rem;
      font-weight: 780;
    }
    .recipe-nav a:hover { background: var(--green); color: #fff; }

    .recipes { width: min(1240px, calc(100% - 40px)); margin: 0 auto; }

    .recipe {
      display: grid;
      grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
      align-items: center;
      gap: clamp(36px, 7vw, 95px);
      min-height: 730px;
      padding: 65px 0;
      scroll-margin-top: 100px;
    }
    .recipe:nth-child(even) .recipe-photo { order: 2; }

    .recipe-photo {
      position: relative;
      min-height: 620px;
    }
    .recipe-photo::before {
      content: "";
      position: absolute;
      inset: 18px -18px -18px 18px;
      z-index: -1;
      border: 1px solid var(--line);
      border-radius: 48% 52% 44% 56% / 56% 46% 54% 44%;
    }
    .recipe-photo img {
      width: 100%;
      height: 620px;
      object-fit: cover;
      border-radius: 48% 52% 44% 56% / 56% 46% 54% 44%;
      box-shadow: var(--shadow);
    }
    .recipe-photo.portrait img { object-position: center 52%; }
    .recipe-photo.cinnamon img { object-position: center 67%; }

    .recipe-kicker {
      margin-bottom: 14px;
      color: var(--clay);
      font-size: .75rem;
      font-weight: 850;
      letter-spacing: .13em;
      text-transform: uppercase;
    }
    .recipe h2 { margin-bottom: 18px; font-size: clamp(3rem, 5.5vw, 5.8rem); letter-spacing: -.052em; }
    .recipe-intro { max-width: 550px; color: var(--muted); font-size: 1.04rem; }

    .meta {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin: 25px 0;
    }
    .meta span {
      padding: 7px 11px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: rgba(255, 250, 240, .48);
      font-size: .78rem;
      font-weight: 780;
      letter-spacing: .02em;
    }

    details.recipe-card {
      margin-top: 28px;
      border: 1px solid var(--line);
      border-radius: 17px;
      background: var(--paper);
      box-shadow: 0 12px 35px rgba(70, 41, 22, .08);
      overflow: hidden;
    }

    details summary {
      list-style: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 19px 21px;
      cursor: pointer;
      font-weight: 850;
      user-select: none;
    }
    details summary::-webkit-details-marker { display: none; }
    .plus {
      display: grid;
      width: 31px;
      height: 31px;
      flex: 0 0 auto;
      place-items: center;
      border-radius: 50%;
      color: #fff;
      background: var(--green);
      font-size: 1.25rem;
      transition: transform .25s ease;
    }
    details[open] .plus { transform: rotate(45deg); }

    .recipe-body {
      padding: 4px 21px 24px;
      border-top: 1px solid var(--line);
    }
    .recipe-body h3 {
      margin: 25px 0 10px;
      font-family: var(--sans);
      font-size: .78rem;
      font-weight: 900;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .recipe-body ul, .recipe-body ol { margin: 0; padding-left: 1.28rem; }
    .recipe-body li { margin-bottom: 8px; padding-left: 4px; }
    .recipe-body li::marker { color: var(--clay); font-weight: 900; }
    .baker-note {
      margin: 22px 0 0;
      padding: 15px 16px;
      border-left: 4px solid var(--butter);
      background: #fff4d5;
      font-size: .92rem;
    }

    .interlude {
      width: min(1160px, calc(100% - 40px));
      margin: 120px auto;
      padding: clamp(38px, 7vw, 80px);
      color: #f9f0df;
      background: var(--green);
      border-radius: 34px 10px 34px 10px;
      box-shadow: var(--shadow);
    }
    .interlude-top {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: end;
      padding-bottom: 45px;
      border-bottom: 1px solid rgba(255,255,255,.2);
    }
    .interlude h2 { margin: 0; font-size: clamp(3rem, 6vw, 6.4rem); letter-spacing: -.05em; }
    .interlude-top p { margin: 0; color: rgba(255,255,255,.75); font-size: 1.07rem; }
    .tip-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; padding-top: 40px; }
    .tip-grid h3 { margin-bottom: 9px; font-family: var(--sans); font-size: 1rem; font-weight: 850; }
    .tip-grid p { margin: 0; color: rgba(255,255,255,.7); font-size: .93rem; }

    .closing {
      width: min(880px, calc(100% - 40px));
      margin: 0 auto;
      padding: 15px 0 120px;
      text-align: center;
    }
    .closing .eyebrow { justify-content: center; color: var(--clay); }
    .closing h2 { margin-bottom: 24px; font-size: clamp(3.2rem, 7vw, 7rem); letter-spacing: -.055em; }
    .closing p { max-width: 610px; margin: 0 auto; color: var(--muted); font-size: 1.08rem; }

    .site-footer {
      color: #f7ecdc;
      background: #281e19;
    }
    .footer-inner {
      width: min(1240px, calc(100% - 40px));
      margin: 0 auto;
      padding: 70px 0 32px;
    }
    .footer-main {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 60px;
      align-items: end;
      padding-bottom: 56px;
    }
    .footer-main h2 { max-width: 710px; margin: 16px 0 0; font-size: clamp(3rem, 6vw, 6.2rem); letter-spacing: -.05em; }
    .bakeoff-link {
      display: inline-flex;
      align-items: center;
      justify-content: space-between;
      gap: 30px;
      width: 100%;
      padding: 18px 0;
      border-bottom: 1px solid rgba(255,255,255,.45);
      color: var(--butter);
      text-decoration: none;
      font-weight: 850;
    }
    .bakeoff-link:hover { color: #fff; }
    .footer-bottom {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      padding-top: 25px;
      border-top: 1px solid rgba(255,255,255,.13);
      color: rgba(255,255,255,.5);
      font-size: .78rem;
    }

    .reveal { opacity: 1; }
    .reveal.seen { opacity: 1; transform: none; }

    @media (max-width: 880px) {
      .site-nav { display: none; }
      .hero { min-height: 820px; }
      .hero::after { background: linear-gradient(0deg, rgba(29,22,17,.86), rgba(29,22,17,.18)); }
      .hero-inner { padding-bottom: 65px; }
      .intro, .recipe, .interlude-top, .footer-main { grid-template-columns: 1fr; }
      .intro { gap: 22px; padding: 78px 0 64px; }
      .recipe-nav { margin-bottom: 35px; }
      .recipe { min-height: auto; gap: 42px; padding: 55px 0 85px; }
      .recipe:nth-child(even) .recipe-photo { order: initial; }
      .recipe-photo, .recipe-photo img { min-height: 0; height: min(78vw, 580px); }
      .interlude-top { gap: 24px; }
      .tip-grid { grid-template-columns: 1fr; }
      .footer-main { gap: 35px; }
    }

    @media (max-width: 560px) {
      .site-header, .hero-inner, .recipes, .footer-inner { width: min(100% - 28px, 1240px); }
      h1 { font-size: clamp(3.7rem, 19vw, 5.8rem); }
      .hero-lead { font-size: 1rem; }
      .recipe h2 { font-size: clamp(3.05rem, 15vw, 4.7rem); }
      .recipe-photo::before { inset: 11px -7px -11px 9px; }
      .interlude { width: min(100% - 24px, 1160px); border-radius: 24px 8px; }
      .footer-bottom { flex-direction: column; gap: 5px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation: none !important; transition: none !important; }
      .reveal { opacity: 1; }
    }
  
.recipe h2 a {text-decoration:none} .recipe h2 a:hover{text-decoration:underline}
.recipe-photo {margin:0} .detail-header {position:relative;color:var(--ink)} .detail-header .brand-mark{border-color:var(--ink)}
.breadcrumb {width:min(1240px,calc(100% - 40px));margin:22px auto;color:var(--muted)}
.recipe-detail {padding-top:28px;align-items:start}.recipe-detail h1 {font-size:clamp(3rem,7vw,6rem)}
.recipe-detail .recipe-photo{position:sticky;top:24px}.recipe-detail .recipe-body{padding:8px 24px 24px;border:1px solid var(--line);border-radius:17px;background:var(--paper);margin-top:28px}
.recipe-actions {display:flex;flex-wrap:wrap;gap:12px}.recipe-actions button{border:0;cursor:pointer}.more-recipes{margin:50px auto 70px;width:min(1240px,calc(100% - 40px))}.more-recipes h2{font-size:2.5rem}.more-recipes ul{display:flex;flex-wrap:wrap;gap:12px;padding:0;list-style:none}.more-recipes a{display:block;padding:12px 18px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}
@media(max-width:880px){.recipe-detail .recipe-photo{position:relative}.recipe-detail .recipe-photo,.recipe-detail .recipe-photo img{height:min(58vw,420px)}.detail-header .site-nav{display:flex}.detail-header .site-nav a:not(:first-child){display:none}}
@media print{.site-header,.site-footer,.breadcrumb,.recipe-photo,.recipe-actions,.more-recipes,.progress{display:none!important}body{background:white;color:black}.recipes{width:100%}.recipe{display:block;padding:0}.recipe-detail h1{font-size:32pt}.recipe-body{border:0!important;padding:0!important}.recipe-body li{break-inside:avoid}}

html{overflow-x:hidden}.recipe-detail h1{overflow-wrap:anywhere}
