.page-hero {
  position: relative;
  min-height: 54vh;
  display: grid;
  align-items: end;
  padding: 100px 5% 70px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,250,241,0.98), rgba(255,243,216,0.82)),
    url("https://images.unsplash.com/photo-1557804506-669a67965ba0?auto=format&fit=crop&w=1200&q=75") center/cover fixed;
}

.page-hero-inner { max-width: 900px; }

.story-block {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 48px;
  align-items: center;
}

.about-founder {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  border: 1px solid var(--line);
  background: var(--paper);
  overflow: hidden;
  box-shadow: 0 18px 60px rgba(82,62,25,0.08);
}

.about-founder-visual {
  position: relative;
  min-height: 620px;
  background:
    linear-gradient(180deg, rgba(214,170,88,0.1), rgba(255,250,241,0.54)),
    url("https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?auto=format&fit=crop&w=1200&q=80") center/cover;
}

.about-founder-stat {
  position: absolute;
  left: 34px;
  bottom: 34px;
  width: 230px;
  padding: 22px;
  border: 1px solid rgba(214,170,88,0.4);
  background: rgba(255,255,255,0.88);
  box-shadow: var(--shadow);
}

.about-founder-stat strong {
  display: block;
  color: var(--heading);
  font: 700 62px "Playfair Display", Georgia, serif;
  line-height: 1;
}

.about-founder-stat span {
  color: var(--stone);
  font-size: 13px;
}

.about-founder-copy {
  padding: 58px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-founder-copy h2 {
  font-size: clamp(2.4rem, 5vw, 4.5rem);
}

.about-founder-copy p {
  color: var(--stone);
  max-width: 620px;
}

.principles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 32px;
  border: 1px solid var(--line);
  background: var(--line);
}

.principle-mini {
  background: var(--gold-soft);
  padding: 22px;
}

.principle-mini strong {
  display: block;
  color: #8a641f;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.principle-mini span {
  display: block;
  margin-top: 8px;
  color: var(--stone);
  font-size: 14px;
}

.about-process {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 44px;
  align-items: stretch;
}

.about-process-copy {
  padding: 42px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-process-copy h2 {
  font-size: clamp(2.4rem, 5vw, 4.5rem);
}

.about-process-copy p {
  color: var(--stone);
  max-width: 620px;
}

.about-process-visual {
  min-height: 620px;
  display: grid;
  align-content: center;
  gap: 18px;
  padding: 42px;
  border: 1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(255,255,255,0.78), rgba(255,243,216,0.88)),
    url("https://images.unsplash.com/photo-1551836022-d5d88e9218df?auto=format&fit=crop&w=1200&q=80") center/cover;
  box-shadow: 0 18px 60px rgba(82,62,25,0.08);
}

.process-step-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 18px;
  align-items: center;
  padding: 22px;
  border: 1px solid rgba(214,170,88,0.34);
  background: rgba(255,255,255,0.9);
  box-shadow: 0 16px 42px rgba(82,62,25,0.12);
  transition: transform 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.process-step-card:hover {
  transform: translateX(-10px);
  background: #fffaf1;
  box-shadow: var(--shadow);
}

.process-step-num {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--gold);
  color: var(--heading);
  font-weight: 900;
}

.process-step-card strong {
  display: block;
  color: var(--heading);
  font-size: 16px;
}

.process-step-card span {
  display: block;
  color: var(--stone);
  font-size: 14px;
  margin-top: 3px;
}

.portrait-panel {
  min-height: 430px;
  border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(214,170,88,0.18), rgba(255,250,241,0.42)),
    url("https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?auto=format&fit=crop&w=1100&q=80") center/cover;
  position: relative;
  overflow: hidden;
}

.portrait-panel::after {
  content: "17+";
  position: absolute;
  left: 26px;
  bottom: 18px;
  color: var(--heading);
  font: 700 68px "Playfair Display", Georgia, serif;
}

.story-copy p { color: var(--stone); }

.form {
  display: grid;
  gap: 16px;
}

.field {
  display: grid;
  gap: 7px;
}

.field label {
  color: var(--heading);
  font-size: 13px;
  font-weight: 700;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--paper);
  color: var(--heading);
  padding: 12px 14px;
  font: 400 14px "DM Sans", Arial, sans-serif;
  outline: none;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.field textarea {
  min-height: 128px;
  resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(214,170,88,0.2);
}

.form-note {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.contact-list {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

.contact-item {
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.contact-item strong {
  color: var(--heading);
  display: block;
}

.contact-item span { color: var(--stone); }

.faq-grid {
  display: grid;
  gap: 48px;
  max-width: 860px;
  margin: 0 auto;
}

.faq-section-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.3rem, 2.6vw, 1.8rem);
  color: var(--heading);
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--gold);
}

.faq-group {
  display: grid;
  gap: 10px;
}

.faq-item {
  border: 1px solid var(--line);
  background: var(--paper);
  transition: border-color 200ms ease, box-shadow 200ms ease;
}

.faq-item:hover {
  border-color: rgba(214,170,88,0.55);
}

.faq-item[open] {
  border-color: rgba(214,170,88,0.55);
  box-shadow: 0 6px 28px rgba(82,62,25,0.07);
}

.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px;
  cursor: pointer;
  list-style: none;
  color: var(--heading);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
  user-select: none;
}

.faq-item summary::-webkit-details-marker { display: none; }

.faq-item summary::after {
  content: "+";
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(214,170,88,0.5);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 400;
  color: var(--gold-dark);
  transition: transform 200ms ease, background 200ms ease;
}

.faq-item[open] summary::after {
  content: "−";
  background: rgba(214,170,88,0.12);
  transform: rotate(180deg);
}

.faq-answer {
  padding: 0 22px 22px;
  color: var(--stone);
  font-size: 14.5px;
  line-height: 1.72;
  border-top: 1px solid var(--line);
  margin-top: 0;
  padding-top: 18px;
}

.faq-answer p { margin: 0 0 10px; }
.faq-answer p:last-child { margin-bottom: 0; }

.faq-cta-band {
  background: linear-gradient(135deg, var(--navy-900), #1a120a);
  padding: 80px 5%;
  text-align: center;
}

.faq-cta-band h2 {
  color: #fff;
  margin-bottom: 14px;
}

.faq-cta-band p {
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  margin: 0 auto 32px;
}
