/* Full-page continuation of the approved workshop. Copy and form logic unchanged. */
:root {
  --paper: #f7f1e6;
  --ink: #382c22;
  --muted: #645746;
  --line: #ccbda4;
  --forest: #754831;
  --night: #30251e;
  --accent: #ddbd87;
  --radius: 3px;
}
body { background: var(--paper); }
h2 em { color: #805135; }
.eyebrow { font-size: .875rem; letter-spacing: .1em; color: #795b3b; }
.header-inner { height: 90px; }
.brand { gap: 14px; }
.brand-logo {
  display: block;
  width: 66px;
  height: 66px;
  flex: 0 0 66px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #513827;
}
.button {
  border-radius: 2px;
  background: #754831;
  border-color: #5e3927;
  box-shadow: inset 0 0 0 3px rgb(247 226 190 / .12);
}
.button:hover { background: #593321; }
.text-link:hover, .text-button:hover, .desktop-nav a:hover { color: #874a29; }
.section-heading h2 { text-wrap: balance; }
.heading-row { gap: 50px; }
.gallery-section { padding-bottom: 80px; }
.gallery-heading { padding-top: 28px; border-top: 3px double #ab9470; }
.gallery-photo {
  border-radius: 2px;
  border: 1px solid #bdad90;
  background: #fff9ed;
  box-shadow: 0 7px 18px rgb(66 45 23 / .09);
}
.gallery-photo img {
  inset: 9px 9px 58px;
  width: calc(100% - 18px);
  height: calc(100% - 67px);
}
.image-caption {
  padding: 12px 18px;
  min-height: 56px;
  background: #fff9ed;
  color: #57422d;
  font: italic 1.1rem/1.35 var(--serif);
}
.gallery-note { font-size: .875rem; color: #645746; }
.signup-section {
  padding-block: 80px;
  background: #e9ddc7;
  border-block: 1px solid #c2ae8a;
  color: #382c22;
}
.signup-layout { grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 110px); }
.signup-copy .eyebrow, .final-signup .signup-copy .eyebrow { color: #765735; }
.signup-copy h2 em, .final-signup .signup-copy h2 em { color: #805135; }
.signup-copy > p:not(.eyebrow), .final-signup .signup-copy > p:not(.eyebrow) {
  color: #554837;
  max-width: 470px;
  font-size: 1.0625rem;
}
.signup-copy > .messenger-links, .final-signup .signup-copy > .messenger-links { color: #503a28; }
.signup-detail { padding-block: 18px; border-block: 1px solid #c0ab87; }
.form-card {
  background: #fffaf0;
  border: 1px solid #bca889;
  border-top: 4px double #a28b68;
  border-radius: 2px;
  padding: clamp(28px, 3vw, 46px);
  box-shadow: 8px 10px 0 rgb(121 89 50 / .07), 0 15px 35px rgb(62 39 16 / .08);
  max-width: 620px;
}
.form-card h3 { font: 2rem/1.2 var(--serif); color: #493522; }
.form-intro { color: #675744; }
.contact-options { margin-top: 28px; gap: 0; border-bottom: 1px solid #bca889; }
.contact-options legend { margin-bottom: 12px; }
.contact-options span { border: 0; border-bottom: 3px solid transparent; border-radius: 0; font-size: 1rem; }
.contact-options input:checked + span { background: #eee1cc; border-color: #835738; color: #493522; }
.field > input {
  border: 1px solid #bda98a;
  border-radius: 2px;
  background: #fffdf7;
  color: #3c2e23;
}
.field > input::placeholder { color: #7b6c58; }
.field > label, .contact-options legend { color: #4f3d2a; font-size: .9375rem; }
.field-hint, .form-note { color: #6e5f4b; font-size: .875rem; }
.field-error, .form-error { color: #a22424; }
.field input[aria-invalid="true"] { border-color: #a22424; }
.success-symbol { color: #4b3824; background: #eddfc5; }
.people-section { padding-block: 96px; }
.people-section .section-heading { padding-bottom: 28px; border-bottom: 3px double #ab9470; }
.masters-grid { gap: 54px; }
.master-card {
  grid-template-columns: minmax(150px, .8fr) minmax(0, 1.35fr);
  gap: 28px;
  padding-top: 0;
  border-top: 0;
  align-items: start;
}
.master-card > img {
  width: 100%;
  height: auto;
  aspect-ratio: .78;
  object-fit: cover;
  border-radius: 1px;
  padding: 7px;
  border: 1px solid #c6b492;
  background: #fff9ed;
  box-shadow: 4px 8px 15px rgb(67 45 23 / .1);
}
.master-card .eyebrow { font-size: .8125rem; color: #795b3b; }
.master-card h3 { font-size: 2.7rem; color: #493522; }
.master-card p:not(.eyebrow) { font-size: 1rem; color: #645746; }
.journey-section {
  background: #342820;
  color: #fbf0da;
  padding-block: 84px;
  border-block: 4px double #9c7d55;
}
.journey-section .eyebrow { color: #d9bd91; }
.journey-section h2 em { color: #e5c494; }
.journey-section .button-light { background: transparent; border-color: #c5a473; color: #fbefd9; }
.journey-section .button-light:hover { background: #64472f; }
.journey-grid { gap: 50px; }
.journey-grid > li { padding-top: 24px; border-top: 1px solid #8d7557; }
.step-number { font-size: 4rem; font-style: normal; color: #d5b27d; margin-bottom: 22px; }
.journey-grid h3 { font: 1.85rem/1.25 var(--serif); }
.journey-grid p { color: #e0d1bb; max-width: 390px; }
.reviews-section { padding-block: 96px; }
.reviews-section .section-heading { padding-bottom: 28px; border-bottom: 3px double #ab9470; }
.reviews-grid { gap: 28px; }
.review-card {
  border: 0;
  border-left: 2px solid #b99a6d;
  border-radius: 0;
  padding: 28px 30px;
  background: #fffaef;
  box-shadow: 0 8px 18px rgb(67 45 23 / .04);
}
.quote-mark { color: #986c43; }
.review-card blockquote { font-size: 1.45rem; line-height: 1.5; }
.review-card figcaption { padding-top: 17px; border-top: 1px solid #d6c7af; width: 100%; font-size: .9375rem; }
.review-card figcaption span, .review-card .text-button { font-size: .875rem; }
.faq-section { padding-bottom: 88px; gap: 80px; }
.faq-list details { border-color: #c9b795; }
.faq-list details:first-child { border-top: 3px double #ab9470; }
.faq-list summary { font: 1.35rem/1.4 var(--serif); padding-block: 24px; }
.faq-list summary::after { color: #835a36; }
.faq-list details[open] { background: #fff8e9; }
.faq-list details[open] summary, .faq-list details[open] > p { padding-left: 18px; }
.final-signup {
  background: linear-gradient(90deg, rgb(246 236 214 / .96), rgb(246 236 214 / .72)), url('images/storyteller-workbench.png') center / cover;
  padding-block: 88px;
}
.site-footer.shell {
  max-width: none;
  width: 100%;
  padding: 38px max(56px, calc((100% - 1560px) / 2));
  background: #30251e;
  border-top: 3px double #9c7d55;
  color: #f5e6cd;
}
.site-footer .brand { color: #f5e6cd; }
.site-footer .brand-logo { width: 74px; height: 74px; flex-basis: 74px; }
.site-footer > p { color: #dfceb4; font-size: .9375rem; }
.site-footer .text-link:hover { color: #e4b36f; }
.lightbox { background: #2d231c; border-color: #ac9068; border-radius: 3px; color: #fff6e6; }
.lightbox::backdrop { background: rgb(28 21 15 / .9); }
.round-button { border-color: #b19a76; }
.round-button:hover { background: #59432e; }
@media (max-width: 1100px) {
  .masters-grid { gap: 32px; }
  .master-card { grid-template-columns: 130px minmax(0, 1fr); gap: 22px; }
  .master-card h3 { font-size: 2.3rem; }
  .site-footer.shell { padding-inline: 32px; }
}
@media (max-width: 900px) {
  .signup-layout, .masters-grid, .reviews-grid { grid-template-columns: 1fr; }
  .signup-copy { max-width: none; }
  .form-card { max-width: none; }
  .master-card { grid-template-columns: 180px minmax(0, 1fr); gap: 32px; }
  .masters-grid { gap: 42px; }
  .journey-grid { gap: 25px; }
  .review-card blockquote { font-size: 1.5rem; }
}
@media (max-width: 760px) {
  .header-inner { height: 76px; }
  .brand { font-size: 1.2rem; gap: 9px; }
  .brand-logo { width: 52px; height: 52px; flex-basis: 52px; }
  .brand small { font-size: .6rem; }
  .eyebrow { font-size: .8125rem; letter-spacing: .07em; }
  .gallery-section { padding-bottom: 52px; }
  .gallery-heading { padding-top: 24px; gap: 18px; }
  .gallery-photo img { inset: 6px 6px 61px; width: calc(100% - 12px); height: calc(100% - 67px); }
  .image-caption { min-height: 60px; padding: 12px; font-size: 1rem; }
  .signup-section, .final-signup { padding-block: 54px; }
  .signup-layout { gap: 30px; }
  .signup-copy > p:not(.eyebrow) { font-size: 1rem; }
  .form-card { padding: 25px 21px; box-shadow: 4px 6px 0 rgb(121 89 50 / .07); }
  .form-card h3 { font-size: 1.6rem; }
  .people-section, .reviews-section { padding-block: 58px; }
  .master-card { grid-template-columns: 108px minmax(0, 1fr); gap: 21px; }
  .master-card > img { padding: 4px; }
  .master-card h3 { font-size: 2.2rem; }
  .master-card p:not(.eyebrow) { font-size: 1rem; }
  .journey-section { padding-block: 54px; }
  .journey-grid { grid-template-columns: 1fr; gap: 28px; }
  .journey-grid > li { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 0 18px; padding: 22px 0 0; }
  .step-number { position: static; grid-row: 1 / 3; font-size: 3.1rem; margin-bottom: 0; }
  .journey-grid h3 { font-size: 1.6rem; }
  .journey-grid p { grid-column: 2; }
  .review-card { padding: 24px; }
  .review-card blockquote { font-size: 1.35rem; }
  .faq-section { padding-bottom: 54px; gap: 28px; }
  .faq-list summary { font-size: 1.2rem; }
  .site-footer.shell { padding: 32px 20px; gap: 25px; }
  .site-footer .brand-logo { width: 62px; height: 62px; flex-basis: 62px; }
}
@media (max-width: 380px) {
  .site-header .brand { font-size: 1.04rem; gap: 7px; }
  .site-header .brand-logo { width: 43px; height: 43px; flex-basis: 43px; }
  .site-header .brand small { font-size: .52rem; }
  .header-link { font-size: .75rem; }
  .master-card { grid-template-columns: 1fr; gap: 18px; }
  .master-card > img { width: 145px; }
}
