/* RÓŻ I ZŁOTO — aktualna warstwa wizualna. Treść i funkcje pozostają w osobnych plikach. */
:root {
  --ivory: #faf7f2;
  --paper: #fffafb;
  --blush: #f4d7de;
  --rose: #efc8d3;
  --taupe: #5e514c;
  --ink: #493e3a;
  --muted: #6b5957;
  --gold: #c8a46b;
  --gold-ink: #80602d;
  --line: #d9bd92;
  --pink-light: #fbeef1;
  --pink-deep: #8c465e;
}
body { background: #fff9fa; line-height: 1.85; }
h1,h2,h3 { color: var(--ink); line-height: 1.18; }
h1 { letter-spacing: -.04em; }
h2 { font-size: clamp(2.3rem,3.65vw,3.5rem); }
h2 em,h1 em,.adhd h3 em,.group-prices h3 em { color: var(--pink-deep); }
.section { padding-block: 112px; }
.eyebrow { color: var(--gold-ink); font-size: .8125rem; letter-spacing: .16em; }
.eyebrow::before { content: ''; display: inline-block; width: 27px; height: 1px; background: var(--gold); vertical-align: middle; margin-right: 12px; }
.header { background: #fce4e5; border-bottom: 1px solid var(--gold); box-shadow: 0 5px 25px #69445308; }
.header-inner { gap: 24px; }
.brand { background: transparent; }
nav a { font-weight: 500; }
nav a:hover { color: var(--pink-deep); }
nav a:last-child { border: 1px solid var(--gold); border-radius: 6px; padding: 9px 17px; background: #fff8f98c; }
.menu-toggle { min-height: 46px; border-color: var(--gold); color: var(--ink); background: #fff7f9; border-radius: 6px; }
.hero { position: relative; isolation: isolate; padding-block: 90px 100px; }
.hero::before { content: ''; position: absolute; z-index: -1; inset: 0 calc((1180px - 100vw)/2); background: linear-gradient(115deg,#fbe9ed 0%,#f4d7de 60%,#efc8d3 100%); }
.hero-copy { padding-block: 14px; }
.hero .eyebrow { margin-bottom: 28px; }
.hero-lead { font-size: 1.2rem; font-weight: 500; margin-bottom: 10px; }
.hero-description { font-size: 1.0625rem; max-width: 460px; }
.hero-meta { color: var(--taupe); font-size: .875rem; margin-top: 26px; }
.button { min-height: 58px; padding: 17px 29px; border-radius: 7px; border: 1px solid var(--gold); background: var(--pink-deep); color: #fff; font-size: 1rem; font-weight: 600; box-shadow: 0 7px 19px #8c465e20; transition: background .2s,box-shadow .2s,transform .2s; }
.button:hover { background: #71384c; box-shadow: 0 10px 25px #8c465e30; }
.button span { font-size: 1.35rem; color: #ead3aa; }
.hero .button { margin-top: 16px; }
.hero-visual { padding-right: 24px; }
.hero-photo { background: linear-gradient(145deg,#fff2f5,#edc3cf); border: 1px solid var(--gold); outline-color: var(--gold); outline-offset: 12px; box-shadow: 0 22px 42px #714c5a0f; border-radius: 46% 46% 12px 12px; }
.photo-caption,.photo-caption em { color: var(--pink-deep); }
.photo-note { color: var(--taupe); }
.photo-tag { background: #fff8fa; border-color: var(--gold); border-radius: 5px; padding: 20px 27px; color: var(--taupe); box-shadow: 0 8px 20px #75445110; }
.vertical-note { color: var(--gold-ink); font-size: .6875rem; }
.intro-strip { background: #fff6f8; border-color: var(--gold); }
.intro-strip .container { padding-block: 28px; }
.intro-strip span { color: var(--taupe); }
.about { gap: 88px; }
.about-photo { background: linear-gradient(145deg,#f8e6ec,#f0cbd6); border-color: var(--gold); border-radius: 12px 12px 35% 12px; box-shadow: 10px 10px 0 #f8edf0; }
.about h2 { font-size: 2.65rem; }
.about h2 em { line-height: 1.35; }
.prose p { margin-bottom: 24px; }
blockquote { padding: 24px 28px; border-left: 3px solid var(--gold); background: var(--pink-light); border-radius: 0 8px 8px 0; color: var(--taupe); }
.audience { background: var(--blush); border-block: 1px solid #d7b88c; }
.section-heading { margin-bottom: 48px; gap: 65px; }
.audience-list ul { gap: 0 55px; }
.audience-list li { padding-block: 24px; padding-left: 34px; border-color: #cfac82; }
.audience-list li::before { color: var(--gold-ink); font-weight: 600; }
.audience-note { margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--gold); }
.offer-intro { max-width: 870px; margin-bottom: 38px; }
.offers { display: grid; gap: 18px; border: 0; }
.offer-card { border: 1px solid #d9bd92; border-radius: 12px; background: #fff; box-shadow: 0 5px 18px #77535b06; overflow: clip; }
.offer-card:nth-child(even) { background: #fdf1f4; }
.offer-card[open] { background: #fff7f9; box-shadow: 0 10px 28px #77535b0d; }
.offer-card summary { padding: 28px 30px; gap: 24px; }
.offer-card summary:hover { background: #f4d7de55; }
.offer-card h3 { font-size: 1.85rem; line-height: 1.3; }
.number { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border: 1px solid var(--gold); border-radius: 50%; background: #fff8f0; color: var(--gold-ink); font-size: .8125rem; }
.expand,.faq-list summary span,.rules summary span { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; color: var(--gold-ink); border: 1px solid var(--gold); border-radius: 50%; font-size: 1.3rem; line-height: 1; }
.offer-body { max-width: none; padding: 4px 42px 34px 96px; }
.offer-body p { max-width: 850px; margin-bottom: 22px; }
.offer-body ul { columns: 2; column-gap: 55px; margin-block: 20px 26px; }
.offer-body li { margin-bottom: 12px; padding-left: 5px; }
.offer-body li::marker,.adhd li::marker { color: var(--gold-ink); }
.offer-card:nth-child(2) .offer-body p:last-child,.offer-card:nth-child(4) .offer-body p:last-child { border-left: 3px solid var(--gold); background: var(--blush); border-radius: 0 6px 6px 0; padding: 20px 24px; color: var(--ink); font-weight: 500; }
.formats { gap: 26px; margin-top: 34px; }
.format { padding: 40px; border-color: var(--gold); border-radius: 12px; background: #f9e6ec; border-top: 3px solid var(--gold); }
.format:last-child { background: #fdf0f3; }
.format h3 { font-size: 1.9rem; }
.format p:last-child { color: var(--ink); }
.adhd { padding: 48px; margin-top: 30px; border: 1px solid var(--gold); border-radius: 12px; background: var(--blush); gap: 55px; }
.adhd p:last-child { border-top: 1px solid var(--gold); padding-top: 22px; }
.availability { margin-top: 32px; flex-wrap: wrap; font-size: .9375rem; }
.availability a { border: 1px solid var(--gold); border-radius: 6px; padding: 12px 18px; background: #f9eedb; color: var(--ink); text-decoration: none; }
.methods { background: #f4d7de; border-color: var(--gold); }
.method-grid { gap: 22px; }
.method-grid article { padding: 30px 26px; border-radius: 10px; border-color: #d4b584; background: #fff7f9; box-shadow: 0 5px 15px #74435106; }
.method-number { color: var(--gold-ink); width: 38px; border-bottom: 2px solid var(--gold); padding-bottom: 9px; margin-bottom: 26px; }
.method-grid h3 { font-size: 1.5rem; }
.method-grid p { font-size: .9375rem; line-height: 1.65; }
.price-columns { gap: 28px; align-items: stretch; }
.price-card { padding: 42px; border: 1px solid var(--gold); border-top: 4px solid var(--gold); border-radius: 12px; background: #fff6f8; box-shadow: 0 10px 30px #78495808; }
.price-card:first-child { background: #f4d7de; }
.price-card h3 { font-size: 2rem; margin-bottom: 20px; }
.badge { background: #f6e5c5; color: #604a28; border: 1px solid var(--gold); font-size: .8125rem; font-weight: 500; border-radius: 5px; padding: 7px 11px; }
.price-sub { font-size: .9375rem; padding-block: 7px; }
.price-card h4 { font-size: 1.0625rem; font-weight: 600; margin-block: 35px 16px; }
.price-card table { background: #fffafbc9; border: 1px solid #d8bfa0; border-collapse: separate; border-spacing: 0; border-radius: 8px; overflow: hidden; text-align: center; }
.price-card th { padding: 14px 6px; font-size: .875rem; background: #fff5f6; color: var(--taupe); border-color: var(--gold); }
.price-card td { font: 2rem var(--serif); padding: 19px 6px; color: var(--ink); }
.price-card th+th,.price-card td+td { border-left: 1px solid #e5cfb0; }
.price-card td span { font-size: .9375rem; }
.group-prices { padding: 38px; border: 1px solid var(--gold); border-radius: 12px; background: #fae9ee; margin-top: 32px; gap: 25px; }
.group-option { padding: 24px; border: 1px solid #d9bd92; border-radius: 8px; background: #fff8fa; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.group-option:last-child { background: #f6e5c5; }
.group-option>p { font-size: 1rem; }
.group-option .badge { align-self: flex-start; background: #fff7e8; }
.amount strong { font-size: 2.65rem; }
.amount small { font-size: .8125rem; }
.pricing-footnote { margin-top: 28px; font-size: .875rem; }
.pricing-footnote a,.text-link { color: var(--pink-deep); text-decoration-color: var(--gold); text-decoration-thickness: 2px; }
.reviews { background: linear-gradient(125deg,#f1ced9,#f8e4ea); border-block: 1px solid var(--gold); }
.review-grid { gap: 24px; }
.review-placeholder,.review-card { padding: 30px; border: 1px solid var(--gold); border-radius: 10px; min-height: 215px; background: #fff9fa; box-shadow: 0 8px 24px #8c465e08; }
.review-placeholder:nth-child(even) { background: #faedf1; }
.review-placeholder>span { font-size: 3.6rem; color: var(--gold); line-height: 1.1; }
.review-placeholder p { margin-top: 18px; font-size: 1.3rem; }
.review-placeholder small { font-size: .8125rem; display: inline-block; border-top: 1px solid var(--gold); padding-top: 10px; min-width: 38px; }
.review-card blockquote { background: transparent; }
.faq-section { gap: 70px; }
.faq-list { border: 0; display: grid; gap: 12px; align-content: start; }
.faq-list details { border: 1px solid #d9bd92; border-radius: 9px; background: #fcecf1; overflow: clip; }
.faq-list summary { padding: 22px 25px; gap: 18px; font-size: 1rem; font-weight: 600; line-height: 1.6; }
.faq-list details[open] { background: #fff; box-shadow: 0 5px 18px #8c465e06; }
.faq-list details[open] summary { background: #f4d7de; }
.faq-list details p { margin: 0; padding: 24px 26px 28px; color: var(--taupe); font-size: 1rem; }
.rules { border: 1px solid var(--gold); border-radius: 9px; background: #fff5f8; }
.rules>summary { padding: 22px 28px; font-weight: 500; }
.rules-body { padding: 6px 30px 28px; }
.contact { background: linear-gradient(120deg,#f4d7de,#efc8d3); border-top: 1px solid var(--gold); }
.contact-grid { gap: 64px; align-items: start; }
.contact h2 { font-size: clamp(3.6rem,5.2vw,4.8rem); }
.contact-grid>div>p:not(.eyebrow) { max-width: 420px; font-size: 1.0625rem; }
.contact-email { display: inline-block; border-bottom: 1px solid var(--gold); text-decoration: none; padding-bottom: 8px; font-size: 1.0625rem; color: var(--ink); }
.contact-grid .reply-note { font-size: .875rem!important; }
#contact-form { padding: 36px; background: #fff8faf0; border: 1px solid var(--gold); border-radius: 14px; box-shadow: 0 16px 45px #8c465e0c; }
label { font-weight: 600; font-size: .9375rem; }
label span { font-weight: 400; font-size: .8125rem; }
input,select,textarea { background: #fff; border: 1px solid #bca299; border-radius: 7px; padding: 13px 14px; min-height: 50px; margin-bottom: 24px; font-size: 1rem; }
input:hover,select:hover,textarea:hover { border-color: var(--gold-ink); }
input:focus,select:focus,textarea:focus { border-color: var(--pink-deep); }
textarea { min-height: 170px; }
.form-note { font-size: .875rem; line-height: 1.7; }
footer { background: #fce4e5; border-top: 1px solid var(--gold); padding-block: 35px; }
.footer-inner p,.footer-inner>a:not(.brand),.footer-inner>span { font-size: .8125rem; }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color: var(--pink-deep); }
@media(max-width:1276px) { .hero::before { inset-inline: -48px; } }
@media(max-width:1100px) {
  .hero::before { inset-inline: -30px; }
  .section { padding-block: 90px; }
  .hero { gap: 45px; }
  .about { gap: 45px; }
  .price-card { padding: 28px; }
  .group-prices { padding: 28px; gap: 18px; grid-template-columns: 1fr 1fr; }
  .group-prices>div:first-child { grid-column: 1/-1; }
  .contact-grid { gap: 36px; }
  #contact-form { padding: 28px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .section-heading { gap: 35px; }
}
@media(max-width:850px) {
  .hero { padding-block: 65px 78px; }
  .hero .eyebrow { font-size: .75rem; }
  .photo-tag { padding: 16px 18px; font-size: .9375rem; }
  .section { padding-block: 78px; }
  .about h2 { font-size: 2.2rem; }
  .section-heading { margin-bottom: 35px; }
  .offer-card summary { padding: 24px; }
  .offer-body { padding: 0 28px 30px; }
  .formats { gap: 20px; }
  .format,.adhd { padding: 30px; }
  .adhd { gap: 30px; }
  .faq-section { gap: 30px; grid-template-columns: 1fr; }
  .faq-list summary { padding: 22px; }
  .contact-grid { gap: 38px; }
  .form-row { grid-template-columns: 1fr 1fr; gap: 20px; }
  .availability a { display: inline-block; }
  nav { gap: 5px 12px; padding-bottom: 14px; }
  nav a { padding: 12px; min-height: 46px; }
}
@media(max-width:600px) {
  .hero::before { inset-inline: -20px; }
  .hero { padding-block: 42px 65px; gap: 48px; }
  .hero-lead { font-size: 1.125rem; }
  .hero-description { font-size: 1rem; }
  .hero .button { width: 100%; justify-content: space-between; }
  .hero-meta { font-size: .875rem; }
  .section { padding-block: 66px; }
  .eyebrow { font-size: .75rem; letter-spacing: .13em; }
  h2 { font-size: 2.25rem; }
  .about h2 { font-size: 2.2rem; }
  .about h2 em { font-size: 1.7rem; }
  .about { gap: 35px; }
  blockquote { padding: 22px; font-size: 1.3rem; }
  .section-heading { gap: 25px; margin-bottom: 32px; }
  .audience-list li { padding-block: 22px; }
  .offers { gap: 16px; }
  .offer-card summary { padding: 23px 18px; gap: 13px; }
  .offer-card h3 { font-size: 1.4rem; overflow-wrap: anywhere; }
  .number { flex-basis: 31px; height: 31px; font-size: .75rem; }
  .expand { width: 28px; height: 28px; flex-basis: 28px; }
  .offer-body { padding: 0 22px 27px; }
  .offer-body ul { columns: 1; }
  .offer-card:nth-child(2) .offer-body p:last-child,.offer-card:nth-child(4) .offer-body p:last-child { padding: 18px; }
  .format,.adhd { padding: 26px; }
  .availability a { padding: 15px 18px; }
  .method-grid { gap: 14px; }
  .method-grid article { padding: 23px 18px; }
  .method-grid h3 { font-size: 1.35rem; }
  .price-card { padding: 27px 22px; }
  .price-card h3 { font-size: 1.8rem; }
  .price-card td { font-size: 1.85rem; padding-block: 18px; }
  .group-prices { grid-template-columns: 1fr; padding: 24px; gap: 20px; }
  .group-prices>div:first-child { grid-column: auto; }
  .group-option { padding: 24px; }
  .review-grid { gap: 16px; grid-template-columns: 1fr; }
  .review-placeholder,.review-card { min-height: 170px; padding: 25px 28px; }
  .review-placeholder p { margin-top: 8px; }
  .faq-list summary { padding: 20px; gap: 18px; font-size: 1rem; }
  .faq-list details p { padding: 22px; }
  .rules>summary { padding: 20px; }
  .rules-body { padding-inline: 22px; }
  .contact h2 { font-size: 3.5rem; }
  #contact-form { padding: 25px 20px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .button { padding-inline: 22px; }
  .contact-email { font-size: 1rem; }
}
@media(max-width:360px) {
  .header-inner { gap: 10px; }
  .header .brand { width: 185px; }
  .header .brand-logo { width: 270px; left: -37px; top: -46px; }
  .menu-toggle { padding-inline: 9px; }
  .menu-toggle span { margin-left: 4px; }
  .method-grid { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) { .button { transition: none; } }

/* Refined hero: natural introduction, quiet typography, rounded photograph. */
.hero { grid-template-columns: 1.1fr 1fr; gap: 72px; padding-block: 80px 90px; }
.hero-copy { min-width: 0; }
.hero h1 { font-size: clamp(2.8rem,4.8vw,4.45rem); margin-bottom: 23px; line-height: 1.15; }
.hero-tagline { font-family: var(--serif); font-size: 1.35rem; line-height: 1.55; font-weight: 400; color: var(--pink-deep); margin: 0 0 28px; max-width: 32ch; text-wrap: pretty; }
.hero-introduction,.hero-description { font-family: var(--sans); font-size: 1rem; font-weight: 400; line-height: 1.85; color: var(--taupe); max-width: 48ch; margin-bottom: 18px; }
.hero .button { margin-top: 12px; }
.hero-meta { margin-top: 24px; }
.hero-visual { padding: 0; }
.hero-photo { aspect-ratio: 4/5; border-radius: 22px; outline: none; border: 1px solid var(--gold); box-shadow: 0 16px 35px #74465312; background: linear-gradient(145deg,#fff0f4,#efc8d3); }
.about-photo { border-radius: 20px; box-shadow: 0 12px 30px #7446530b; }
.section-heading h2,.about h2 { text-wrap: pretty; }
.photo-note { padding-inline: 18px; }
@media(max-width:1100px) { .hero { gap: 42px; } .hero h1 { font-size: 3.5rem; } }
@media(max-width:850px) { .hero { gap: 30px; padding-block: 60px 70px; } .hero h1 { font-size: 2.85rem; } .hero-tagline { font-size: 1.2rem; } }
@media(max-width:600px) {
 .hero { grid-template-columns: 1fr; gap: 36px; padding-block: 40px 60px; }
 .hero h1 { font-size: clamp(2.5rem,10vw,3.5rem); margin-bottom: 22px; }
 .hero-tagline { font-size: 1.25rem; margin-bottom: 24px; max-width: 30ch; }
 .hero-introduction,.hero-description { font-size: 1rem; line-height: 1.8; }
 .hero-visual { width: 100%; max-width: 400px; }
 .hero-photo { aspect-ratio: 4/5; border-radius: 18px; }
 .hero .button { margin-top: 12px; }
 .about h2 { font-size: 2.2rem; }
}

/* Additional phone contact; the contact form remains the primary action. */
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:28px; }
.hero .hero-actions .button { margin-top:0; }
.button-secondary { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:11px 18px; border:1px solid var(--gold); border-radius:7px; background:#fff7f9a6; color:var(--taupe); text-decoration:none; font-size:.9375rem; font-weight:500; }
.button-secondary:hover { background:#fff8fa; border-color:var(--gold-ink); }
.phone-icon { flex-shrink:0; color:var(--gold-ink); }
.phone-contact { margin-top:30px; padding-top:24px; border-top:1px solid var(--gold); max-width:420px; }
.phone-contact .phone-label { font-size:1rem; font-weight:500; margin-bottom:8px; }
.phone-contact>a { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:1rem; color:var(--taupe); text-decoration-color:var(--gold); text-decoration-thickness:1px; }
.phone-contact .phone-note { margin:8px 0 0; font-size:.875rem; line-height:1.7; color:var(--muted); }
@media(max-width:600px) { .hero-actions { gap:12px; margin-top:25px; } .hero-actions .button { width:100%; } .button-secondary { min-height:48px; } .phone-contact { margin-top:26px; } }

/* Brand refinement: pink surfaces, warm gold structure, lighter editorial scale. */
:root { --gold:#c49a52; --line:#c49a52; --gold-ink:#79591f; --taupe:#5e514c; --muted:#62534f; --ink:#4e423d; }
body { background:#fff7f9; }
.section { padding-block:88px; }
h1,h2,h3 { font-weight:400; letter-spacing:-.025em; }
h2 { font-size:clamp(2rem,3.15vw,3rem); line-height:1.25; margin-bottom:30px; }
.hero h1 { font-size:clamp(2.65rem,4.25vw,3.95rem); line-height:1.2; }
.hero-tagline { font-size:1.2rem; line-height:1.6; margin-bottom:25px; }
.hero { padding-block:66px 76px; }
.about h2 { font-size:2.3rem; line-height:1.3; }
.offer-card h3 { font-size:1.65rem; }
.format h3 { font-size:1.65rem; }
.price-card h3 { font-size:1.75rem; line-height:1.3; }
.group-prices h3 { font-size:1.5rem; }
.contact h2 { font-size:clamp(3rem,4.4vw,4.1rem); line-height:1.2; }
.eyebrow { font-size:.75rem; font-weight:500; letter-spacing:.17em; margin-bottom:22px; color:var(--gold-ink); }
.eyebrow::before { width:30px; background:var(--gold); }
.header { background:#fff4f7; border-color:var(--gold); }
.brand { background:#fce4e5; border:1px solid var(--gold); border-radius:7px; box-shadow:0 3px 12px #6547370a; }
.header-inner { padding-block:12px; }
.menu-toggle { border:1px solid var(--gold); border-radius:9px; background:#fff9fa; font-size:.875rem; font-weight:400; letter-spacing:.035em; padding:10px 15px; }
.menu-toggle:hover { background:#f4d7de; }
.intro-strip { background:#f9e5eb; border-color:var(--gold); }
.about { background:var(--ivory); position:relative; isolation:isolate; }
.about::before { content:''; position:absolute; z-index:-1; inset:0 calc((1180px - 100vw)/2); background:var(--ivory); }
.audience { background:#efc8d3; border-color:var(--gold); }
.methods { background:#f4d7de; border-color:var(--gold); }
.reviews { background:#f1ced9; border-color:var(--gold); }
.contact { background:linear-gradient(110deg,#f5dce3,#efc8d3); }
.section-heading { margin-bottom:38px; }
.offer-card,.format,.adhd,.method-grid article,.price-card,.group-prices,.group-option,.review-placeholder,.review-card,.faq-list details,.rules,#contact-form,.hero-photo,.about-photo { border-color:var(--gold); border-width:1px; }
.offer-card:hover,.faq-list details:hover { border-color:#a87e36; }
.offer-card[open] { background:#fff5f8; }
.offer-card summary { padding-block:25px; }
.formats { margin-top:28px; }
.format { border-top-width:2px; padding:32px; }
.method-grid { gap:20px; margin-top:32px; }
.method-grid article { padding:24px; }
.method-number { margin-bottom:15px; padding-bottom:7px; color:var(--gold-ink); }
.method-grid h3 { font-size:1.3rem; line-height:1.3; margin-bottom:10px; }
.method-grid p { font-size:.9375rem; line-height:1.6; }
.adhd { grid-template-columns:.75fr 1.25fr; gap:45px; padding:38px; }
.adhd h3 { font-size:2.1rem; line-height:1.3; }
.adhd p:last-child { font-size:1rem; line-height:1.8; border-color:var(--gold); padding-top:20px; }
li::marker,.offer-body li::marker,.adhd li::marker { color:var(--gold); }
.audience-list li { border-color:var(--gold); }
.audience-list li::before { color:var(--gold-ink); }
.offer-body li,.adhd li { margin-bottom:10px; }
.price-card { padding:34px; border-top-width:2px; }
.price-card h4 { margin-top:28px; color:var(--ink); }
.price-card table { border-color:var(--gold); background:#fffafb; }
.price-card th { color:var(--taupe); border-color:var(--gold); background:#fbeaf0; }
.price-card th+th,.price-card td+td { border-color:#d5b579; }
.price-card td { padding-block:17px; }
.badge,.group-option .badge { color:var(--taupe); background:#fff6f8; border:1px solid var(--gold); font-size:.8125rem; font-weight:400; border-radius:4px; padding:7px 11px; }
.group-option:last-child { background:#f4d7de; }
.availability a { background:#fff4f7; border-color:var(--gold); }
.availability a:hover,.button-secondary:hover,nav a:last-child:hover { background:#f4d7de; border-color:#a87e36; }
.review-placeholder,.review-card { min-height:185px; padding:26px; }
.review-placeholder>span { color:var(--gold); }
.review-placeholder p { margin-top:10px; }
.faq-list summary { font-weight:500; }
.rules-section { padding-bottom:66px; }
.pricing-footnote,.form-note,.hero-meta,.price-sub,.section-heading>p,.prose p,.offer-intro,.format p { color:var(--muted); }
.photo-note { color:var(--taupe); }
.phone-contact,.phone-contact>a,.phone-contact .phone-icon { border-color:var(--gold); }
.phone-icon { color:var(--gold-ink); }
@media(max-width:1276px) { .about::before { inset-inline:-48px; } }
@media(max-width:1100px) { .about::before { inset-inline:-30px; } .section { padding-block:76px; } .price-card { padding:28px; } .hero h1 { font-size:3.1rem; } }
@media(max-width:850px) {
 .hero h1 { font-size:2.55rem; } .hero-tagline { font-size:1.125rem; }
 .about h2 { font-size:2rem; } .section { padding-block:68px; }
 .adhd { gap:28px; padding:28px; } .adhd h3 { font-size:1.85rem; }
 .offer-card h3 { font-size:1.5rem; } .format { padding:28px; }
}
@media(max-width:600px) {
 .about::before { inset-inline:-20px; }
 .section { padding-block:58px; } .hero { padding-block:38px 54px; gap:32px; }
 .hero h1 { font-size:clamp(2.25rem,9vw,3rem); }
 .hero-tagline { font-size:1.125rem; max-width:30ch; }
 h2,.about h2 { font-size:2rem; }
 .eyebrow { font-size:.75rem; letter-spacing:.13em; }
 .offer-card h3 { font-size:1.3rem; } .offer-card summary { padding-block:21px; }
 .method-grid { gap:13px; } .method-grid article { padding:20px 17px; }
 .method-grid h3 { font-size:1.2rem; } .method-number { margin-bottom:12px; }
 .adhd { grid-template-columns:1fr; gap:8px; padding:26px; }
 .adhd h3 { font-size:1.85rem; }
 .price-card { padding:26px 21px; } .price-card h3 { font-size:1.65rem; }
 .contact h2 { font-size:3rem; } .review-placeholder,.review-card { min-height:160px; padding:24px; }
 .rules-section { padding-bottom:55px; }
}

/* Final polish: stronger logo, compact FAQ, consistent editorial details. */
.brand { width:274px; height:76px; }
.brand-logo { width:381px; left:-49px; top:-69px; filter:brightness(.96) contrast(1.06); }
.header-inner { min-height:104px; }
.faq-list { gap:10px; }
.faq-list summary { padding:13px 25px; min-height:58px; }
.faq-list details p { padding:18px 25px 20px; }
.faq-section .text-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 18px; margin-top:10px; border:1px solid var(--gold); border-radius:7px; background:#fff7f9; color:var(--taupe); font-size:.9375rem; text-decoration:none; }
.faq-section .text-link:hover { background:var(--blush); }
.price-card>.badge { padding:4px 10px; font-size:.75rem; line-height:1.55; font-weight:400; letter-spacing:.015em; background:#fff7f9; border-color:var(--gold); border-radius:4px; }
.section h2 { font-weight:400; line-height:1.25; margin-bottom:30px; }
.section-heading h2 { margin-bottom:0; }
.about h2 { font-size:clamp(2rem,3.15vw,3rem); }
.contact h2 { font-size:clamp(2rem,3.15vw,3rem); }
.price-card table,.price-card th,.price-card th+th,.price-card td+td,.offer-card,.faq-list details,.group-option,.rules,.badge { border-color:var(--gold); }
.offer-card,.format,.price-card,.group-prices,.adhd { border-radius:10px; }
.prose p,.section-heading>p,.faq-list details p,.price-sub,.form-note,.pricing-footnote,.reply-note { color:var(--taupe); }
@media(max-width:1100px) {
 .brand { width:235px; height:68px; }
 .brand-logo { width:330px; left:-42px; top:-60px; }
 .header-inner { gap:16px; }
 nav { gap:10px; }
}
@media(max-width:850px) {
 .header-inner { min-height:88px; }
 .faq-list summary { padding:13px 22px; }
 .faq-list details p { padding:17px 22px 20px; }
}
@media(max-width:600px) {
 .faq-list summary { padding:12px 18px; gap:14px; min-height:56px; }
 .faq-list details p { padding:17px 18px 20px; }
 .section h2,.about h2,.contact h2 { font-size:2rem; }
}
@media(max-width:380px) {
 .header .brand { width:205px; }
 .header .brand-logo { width:295px; left:-40px; top:-53px; }
 .header-inner { gap:10px; }
}

/* Espresso text palette. Gold and blush accents retain their brand roles. */
:root { --ink:#4a342e; --taupe:#4a342e; --muted:#66524b; }
body,h1,h2,h3,h4,label,input,select,textarea { color:var(--ink); }
.hero-introduction,.hero-description,.hero-meta,.prose p,.section-heading>p,
.offer-intro,.offer-body,.format p,.method-grid p,.price-sub,.pricing-footnote,
.faq-list details p,.rules-body p,.form-note,.reply-note,.photo-note,.signature,
.contact-grid>div>p:not(.eyebrow),.phone-contact .phone-note,
.footer-inner p,.footer-inner>a:not(.brand),.footer-inner>span { color:var(--muted); }
.contact-grid>div>.eyebrow { color:var(--gold-ink); }
.price-card td,.price-card h4,.availability a,.badge,.group-option .badge { color:var(--ink); }

/* Properly recoloured artwork; no CSS colour filter. Frame dimensions unchanged. */
:root { --ink:#4f352f; --taupe:#4f352f; }
.brand-logo { filter:none; width:411px; left:-64px; top:-78px; }
@media(max-width:1100px) { .brand-logo { width:357px; left:-56px; top:-67px; } }
@media(max-width:380px) { .header .brand-logo { width:319px; left:-52px; top:-59px; } }

/* Lighter proportions and breathing room around the existing logo artwork. */
.brand-logo { width:345px; left:-31px; top:-59px; }
.header-inner { align-items:center; }
.hero h1 { font-size:clamp(2.3rem,3.65vw,3.4rem); line-height:1.3; letter-spacing:-.018em; font-weight:400; margin-bottom:24px; }
.hero h1 em { color:#765750; }
.hero-tagline { font-size:1.125rem; line-height:1.65; margin-bottom:25px; }
.hero-copy { padding-block:12px; }
.hero { gap:68px; padding-block:64px 72px; }
.section h2,.about h2,.contact h2 { font-size:clamp(1.8rem,2.65vw,2.55rem); line-height:1.35; letter-spacing:-.015em; font-weight:400; margin-bottom:26px; }
.section-heading h2 { margin-bottom:0; }
.section h2 em { color:#765750; }
.offer-card h3,.format h3 { font-size:1.45rem; line-height:1.4; letter-spacing:-.01em; }
.price-card h3 { font-size:1.55rem; line-height:1.4; margin-bottom:18px; }
.group-prices h3 { font-size:1.4rem; line-height:1.4; }
.adhd h3 { font-size:1.85rem; line-height:1.4; }
.method-grid h3 { font-size:1.2rem; line-height:1.4; }
.section-heading { align-items:center; gap:48px; }
@media(max-width:1100px) { .brand-logo { width:298px; left:-26px; top:-50px; } .hero { gap:40px; } .hero h1 { font-size:2.85rem; } }
@media(max-width:850px) { .hero h1 { font-size:2.35rem; } .hero { gap:30px; } .section-heading { gap:30px; } }
@media(max-width:600px) {
 .hero h1 { font-size:clamp(2.1rem,8.2vw,2.75rem); line-height:1.3; }
 .hero { padding-block:38px 54px; gap:34px; }
 .section h2,.about h2,.contact h2 { font-size:1.8rem; line-height:1.35; }
 .offer-card h3,.format h3 { font-size:1.25rem; }
 .price-card h3 { font-size:1.4rem; }
 .adhd h3 { font-size:1.65rem; }
 .section-heading { gap:24px; }
}
@media(max-width:380px) { .header .brand-logo { width:267px; left:-22px; top:-42px; } }

/* Supplied photographs: original proportions, no filters or face cropping. */
.site-photo { overflow:hidden; border:1px solid var(--gold); border-radius:20px; background:#fff5f7; box-shadow:0 12px 30px #7446530b; }
.site-photo img { display:block; width:100%; height:auto; max-width:100%; filter:none; }
.hero-photo.site-photo,.about-photo.site-photo { aspect-ratio:auto; outline:none; }
.lesson-photo { width:min(100%,720px); margin:36px auto 0; }
@media(max-width:600px) { .site-photo { border-radius:18px; } .lesson-photo { margin-top:28px; } }

/* Real testimonials: individual cards with natural height and paragraph spacing. */
.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:24px; }
.review-card { min-width:0; min-height:0; padding:30px; background:#fff9fa; }
.review-card:nth-child(2) { background:#faf7f2; }
.review-card blockquote { margin:0 0 24px; padding:0; border:0; font-family:var(--sans); font-size:1rem; font-style:normal; line-height:1.8; letter-spacing:normal; color:#4f352f; white-space:pre-line; overflow-wrap:break-word; }
.review-card cite { display:block; width:fit-content; padding-top:12px; border-top:1px solid var(--gold); font-family:var(--serif); font-size:1.2rem; font-style:normal; color:#4f352f; }
@media(max-width:1000px) { .review-grid { grid-template-columns:1fr; } .review-card { padding:28px; } }
@media(max-width:600px) { .review-card { padding:24px; } }

/* Compact contact details, without decorative dividers. */
.contact-info { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:24px; }
.contact-info a { display:flex; align-items:center; gap:12px; min-height:44px; max-width:100%; color:#4f352f; font-size:1rem; line-height:1.6; text-decoration:none; }
.contact-info svg { flex:0 0 20px; color:#a47b3f; }
.contact-info span { overflow-wrap:anywhere; }
.contact-info a:hover span { text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:4px; }

/* Prominent contact details within the existing contact layout. */
.contact-info { gap:18px; margin-block:34px 28px; }
.contact-info a { gap:14px; font-size:clamp(1.25rem,2vw,1.65rem); font-weight:600; line-height:1.5; min-height:48px; color:#4f352f; }
.contact-info svg { width:25px; height:25px; flex-basis:25px; }
@media(max-width:600px) { .contact-info { gap:16px; margin-block:28px; } .contact-info a { gap:10px; font-size:clamp(1.125rem,4.6vw,1.5rem); } .contact-info svg { width:22px; height:22px; flex-basis:22px; } }

/* Balanced hero: shared top alignment and a larger portrait column. */
.hero { grid-template-columns:1fr 1.08fr; align-items:start; gap:48px; padding-block:48px 56px; }
.hero-copy { padding:0; }
.hero-visual { width:100%; max-width:none; margin:0; padding:0; align-self:start; }
.hero h1 { font-style:normal; color:#4f352f; margin-bottom:20px; }
.hero-tagline { margin-bottom:20px; }
.hero-introduction,.hero-description { margin-bottom:18px; }
.hero-meta { margin-top:20px; }
@media(max-width:1100px) { .hero { gap:32px; padding-block:42px 50px; } }
@media(max-width:850px) { .hero { gap:26px; } }
@media(max-width:600px) { .hero { grid-template-columns:1fr; gap:28px; padding-block:32px 44px; } .hero-visual { max-width:440px; margin-inline:auto; } }

/* Shorter hero introduction with one navigation action. */
.hero { padding-block:40px 44px; }
.hero .hero-actions { margin-top:22px; gap:0; }
.hero .hero-actions .button-secondary { min-height:48px; padding:11px 24px; }
.hero .hero-description { margin-bottom:0; }
.hero .hero-meta { margin-top:18px; }
@media(max-width:600px) { .hero { padding-block:30px 38px; gap:26px; } }
