
:root{--ink:#292319;--paper:#fbf2df;--green:#27382c;--rust:#963f29;--line:#cfbaa0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1.05rem/1.6 system-ui,sans-serif}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #bc673c;outline-offset:5px}.wrap{max-width:1190px;margin:auto;padding-inline:clamp(20px,5vw,70px)}header{border-bottom:1px solid var(--line)}header .wrap,footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:18px}.brand{font-family:Georgia,serif;font-weight:bold;text-decoration:none;font-size:1.24rem}nav{display:flex;gap:clamp(12px,3vw,36px);font-size:.88rem}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4vw;padding-block:clamp(40px,7vw,100px)}.eyebrow{font-weight:750;letter-spacing:.15em;text-transform:uppercase;font-size:.75rem;color:var(--rust)}h1,h2,h3{font-family:Georgia,serif;line-height:1.05;margin:.25em 0}h1{font-size:clamp(3.3rem,7.5vw,7rem);letter-spacing:-.06em}h1 em{color:var(--rust);font-weight:400}h2{font-size:clamp(2.4rem,5vw,4.6rem);letter-spacing:-.045em}h3{font-size:1.65rem}p{max-width:58ch}.button{display:inline-block;background:var(--green);color:var(--paper);padding:.72em 1.15em;text-decoration:none;font-weight:650;margin-top:.55em}.button:hover{background:var(--rust)}figure{margin:0}svg{width:100%;height:auto;display:block;border-radius:48% 48% 4px 4px;background:#e9cfaa}figcaption{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;margin-top:10px;color:#644a35}.band{background:var(--green);color:var(--paper);padding-block:55px}.band .eyebrow{color:#ffca9c}.band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.section{padding-block:clamp(45px,8vw,94px)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:30px}.step{border-top:1px solid var(--line);padding-top:15px}.step p{font-size:.95rem}.bakes{background:#efddbe}details{border-bottom:1px solid var(--line);padding:15px 0}details:first-of-type{border-top:1px solid var(--line)}summary{cursor:pointer;font-family:Georgia,serif;font-size:1.45rem;font-weight:bold}details p{margin:.6em 0}.end{background:#342820;color:var(--paper)}.end .eyebrow{color:#ffca9c}.end .button{background:var(--paper);color:var(--ink)}footer{font-size:.85rem;border-top:1px solid #6d594b;background:#342820;color:var(--paper)}@media(max-width:700px){.hero,.band .wrap{grid-template-columns:1fr}.grid{grid-template-columns:1fr;gap:8px}.hero figure{max-width:430px}.hero{gap:30px}}

:root{--paper:#f8f2df;--ink:#1e2919;--green:#153721;--rust:#815009;--line:#bdb89a}
body{background:radial-gradient(ellipse at 80% 10%,#f1e5c7,transparent 55%),var(--paper)}
.brand{display:flex;align-items:center;gap:14px}.brand img{border-radius:50%;object-fit:cover}
header .wrap{padding-block:12px}.hero-photo{width:100%;height:auto;display:block;border:1px solid #988a64;box-shadow:0 10px 26px #392d2025}
.hero .eyebrow{display:flex;align-items:center;gap:12px}.hero .eyebrow:before,.hero .eyebrow:after{content:"";height:1px;background:var(--line);width:28px}
h1 em{color:var(--green)}.band,.end,footer{background:var(--green)}.band .eyebrow,.end .eyebrow{color:#ffd38a}
.bakes{background:#eee5c9}.step{border-color:#8f9676}.button:hover{background:#71460c}

nav{flex-wrap:wrap}nav [aria-current]{text-decoration:underline;text-underline-offset:5px;font-weight:700}
.page{min-height:65vh}.prose{max-width:67ch}.page h1{font-size:clamp(3rem,7vw,6rem)}
.hero-photo{border-radius:4px}.actions{display:flex;flex-wrap:wrap;gap:12px}.secondary{background:transparent;color:var(--green);border:1px solid var(--green)}.secondary:hover{color:var(--paper)}
.recipe-list{margin-top:2rem}.recipe-list h2{font-size:1.65rem}

.video-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:30px 22px;margin:32px 0 0;padding:0}
.video-list iframe{display:block;width:100%;aspect-ratio:9/16;border:0;border-radius:4px;background:var(--green)}
.video-list a{display:inline-block;margin-top:10px;font-size:.9rem;font-weight:650}

.interest-form {
  max-width: 540px;
  margin-top: 28px;
  padding: clamp(18px, 4vw, 32px);
  background: #eee5c9;
  border: 1px solid var(--line);
  border-radius: 4px;
}
.interest-form label { display: block; font-weight: 700; }
.interest-form input {
  display: block;
  width: 100%;
  margin: 5px 0 16px;
  padding: .65rem .75rem;
  border: 1px solid #81795e;
  border-radius: 3px;
  background: var(--paper);
  color: var(--ink);
  font: inherit;
}
.interest-form input:focus-visible,
.interest-form button:focus-visible { outline: 3px solid var(--rust); outline-offset: 3px; }
.interest-form .button { border: 0; cursor: pointer; font: inherit; font-weight: 700; }
.interest-form .button:disabled { opacity: .7; cursor: wait; }
.interest-form p { font-size: .93rem; }
#interest-status:empty { margin: 0; }

.recipe-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 225px), 1fr)); gap: 20px; margin-top: 30px; }
.recipe-tile { overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: #fdf7e8; }
.recipe-tile img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.recipe-tile div { padding: 16px; }
.recipe-tile h2 { font-size: 1.55rem; letter-spacing: -.02em; }
.recipe-tile p, .recipe-tile a { font-size: .95rem; }
.recipe-tile a { color: var(--green); font-weight: 700; }

.recipe-page h1 { font-size: clamp(2.75rem, 6vw, 5rem); margin-top: .5em; }
.recipe-page-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 32px; margin-top: 28px; }
.recipe-page-grid img { width: 100%; max-height: 300px; height: auto; object-fit: cover; border-radius: 4px; }
.recipe-page-grid h2 { font-size: 2rem; }
.recipe-page-grid li { margin-bottom: .55em; }
@media (max-width: 700px) { .recipe-page-grid { grid-template-columns: 1fr; } }
@media print {
  .recipe-page ~ footer, body:has(.recipe-page) header, .recipe-page img, .back-to-recipes { display: none; }
  .recipe-page { padding: 0; }
  body:has(.recipe-page) { background: white; }
}

.featured-bake { border: 1px solid var(--line); border-radius: 4px; overflow: hidden; background: #fdf7e8; }
.featured-bake .hero-photo { aspect-ratio: 4/3; object-fit: cover; border: 0; border-radius: 0; box-shadow: none; }
.featured-bake-copy { padding: clamp(16px, 3vw, 25px); }
.featured-bake-copy .eyebrow { margin-top: 0; }
.featured-bake-copy h2 { font-size: clamp(1.65rem, 3vw, 2.4rem); }
.featured-bake-copy a { color: var(--green); font-weight: 700; }

.bug-tile { background: var(--green); color: var(--paper); }
.bug-tile a { color: inherit; }
.bug-feeds dt { font-weight: 700; }
.bug-feeds dd { margin: 0 0 .85rem; }

.kaupapa-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: start; gap: clamp(24px, 5vw, 68px); }
.kaupapa-portrait img { display: block; width: 100%; height: auto; border-radius: 4px; }
.kaupapa-portrait figcaption { text-transform: none; letter-spacing: normal; font-size: .93rem; }
@media (max-width: 700px) { .kaupapa-layout { grid-template-columns: 1fr; } }


body {
  background:
    radial-gradient(ellipse at 83% 0%, #ead6ac80, transparent 54%),
    repeating-linear-gradient(118deg, #79512408 0 1px, transparent 1px 7px),
    var(--paper);
}
body > header {
  color: #fff7e5;
  background:
    linear-gradient(90deg, #102e1dfc 0%, #102e1df5 43%, #102e1dc4 78%, #102e1d9e 100%),
    url('/nga-tohutaka/cards/porowhita-photo.webp') right 44% / min(68vw, 820px) auto no-repeat,
    #102e1d;
  border-bottom: 4px solid #a67535;
}
body > header .wrap { padding-block: clamp(16px, 2.5vw, 28px); }
body > header .brand img { outline: 1px solid #d8ac69; outline-offset: 3px; }
body > header nav a { padding-block: 6px; }
body > header nav [aria-current] { text-decoration-color: #e8ba72; }
body > header a:focus-visible { outline-color: #ffd38a; }
@media (max-width: 700px) {
  body > header {
    background:
      linear-gradient(90deg, #102e1dfa 0%, #102e1ddd 60%, #102e1daa 100%),
      url('/nga-tohutaka/cards/porowhita-photo.webp') right center / cover no-repeat,
      #102e1d;
  }
}

.welcome-banner { background: #e9d2ae; border-bottom: 1px solid var(--line); }
.welcome-banner img { display: block; width: 100%; height: auto; max-width: 1983px; margin-inline: auto; }

.course-preview { margin-block: clamp(38px, 7vw, 72px); }
.module-list { list-style: none; padding: 0; margin: 24px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 14px; }
.module-card { padding: 18px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); }
.module-number { color: var(--rust); font-size: .78rem; font-weight: 700; }
.module-card h3, .module-practical h3 { margin-top: .35rem; font-size: 1.35rem; }
.module-card p, .module-practical p { margin-bottom: 0; }
.module-practical { padding: 20px; border-left: 4px solid #a67535; background: #eee5c9; }
#register-interest { scroll-margin-top: 24px; }

.tauira-chat { margin-top: 14px; }

.kaupapa-banner { background: var(--green); color: var(--paper); border-bottom: 3px solid #a67535; }
.kaupapa-banner-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
  gap: clamp(24px, 6vw, 76px);
  align-items: center;
  padding-block: clamp(24px, 5vw, 48px);
}
.kaupapa-banner h1 { font-size: clamp(2.75rem, 7vw, 5.75rem); }
.kaupapa-banner h1::after { content: ""; display: block; width: 70px; height: 2px; background: #e8ba72; margin-top: 18px; }
.kaupapa-banner-copy p { font-size: clamp(1.2rem, 2.4vw, 1.7rem); max-width: 26ch; }
.kaupapa-banner .kaupapa-portrait { margin: 0; }
.kaupapa-banner .kaupapa-portrait figcaption { color: var(--paper); }
@media (max-width: 620px) {
  .kaupapa-banner-inner { grid-template-columns: 1fr; }
  .kaupapa-banner .kaupapa-portrait { max-width: 300px; }
}

.whakapapa { border-top: 1px solid var(--line); }
.whakapapa-portraits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 3vw, 28px); max-width: 740px; margin: 24px 0; }
.whakapapa-portraits figure { margin: 0; }
.whakapapa-portraits img { display: block; width: 100%; height: auto; max-width: 200px; border-radius: 4px; }
.whakapapa-portraits figcaption { font-weight: 700; text-transform: none; letter-spacing: normal; }
@media (max-width: 430px) { .whakapapa-portraits { grid-template-columns: 1fr; } }
