:root {
  --ink: #0b0a09;
  --chocolate: #3a241c;
  --rose: #d8a58a;
  --blush: #e7c2b8;
  --taupe: #8d7663;
  --cream: #f6eee7;
  --paper: #fffdfb;
  --white: #ffffff;
  --line: rgba(58, 36, 28, 0.18);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shell: min(1180px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--chocolate);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: 0.2em; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 {
  color: var(--ink);
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.08;
  text-wrap: balance;
}
h1 { font-size: clamp(2.8rem, 7vw, 6.5rem); letter-spacing: -0.045em; }
h2 { font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -0.035em; }
h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); }
em { color: var(--rose); font-weight: 400; }
.shell { width: var(--shell); margin-inline: auto; }
.narrow { max-width: 820px; }
.section { padding: clamp(76px, 10vw, 140px) 0; }
.section-dark { color: rgba(255,255,255,.76); background: var(--ink); }
.section-dark h1, .section-dark h2, .section-dark h3 { color: var(--white); }
.section-cream { background: var(--cream); }
.eyebrow {
  margin-bottom: 24px;
  color: var(--taupe);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.35;
  text-transform: uppercase;
}
.section-dark .eyebrow, .light .eyebrow { color: var(--rose); }
.skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  color: var(--ink);
  background: var(--cream);
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }
.preview-banner {
  padding: 7px 20px;
  color: var(--ink);
  background: var(--rose);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}
.site-header {
  position: relative;
  z-index: 100;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: var(--ink);
}
.header-inner { min-height: 106px; display: flex; align-items: center; gap: 34px; }
.brand { flex: 0 0 auto; width: 132px; }
.brand img { width: 100%; height: 72px; object-fit: contain; filter: saturate(.92); }
.primary-nav { margin-left: auto; display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); }
.primary-nav a {
  color: rgba(255,255,255,.74);
  font-size: .83rem;
  font-weight: 600;
  text-decoration: none;
}
.primary-nav a:hover, .primary-nav a:focus-visible, .primary-nav a[aria-current="page"] { color: var(--rose); }
.primary-nav .nav-cta {
  padding: 12px 17px;
  color: var(--ink);
  background: var(--rose);
}
.menu-button { display: none; }
.hero { padding: clamp(64px, 8vw, 118px) 0 clamp(78px, 10vw, 150px); overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(50px, 8vw, 116px); }
.hero-copy h1 { max-width: 760px; margin-bottom: 28px; }
.hero-copy > p:not(.eyebrow) { max-width: 650px; font-size: 1.06rem; }
.hero-copy .hero-lead { color: var(--white); font-size: clamp(1.18rem, 2vw, 1.5rem); line-height: 1.48; }
.hero-portrait { position: relative; margin: 0; padding: 12px; border: 1px solid rgba(216,165,138,.55); }
.hero-portrait::before { content: ""; position: absolute; inset: -28px 28px 28px -28px; border: 1px solid rgba(216,165,138,.18); pointer-events: none; }
.hero-portrait img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: saturate(.82) contrast(1.04); }
.hero-portrait figcaption { position: absolute; right: 12px; bottom: -40px; color: rgba(255,255,255,.56); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.button-row { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 12px; }
.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 20px;
  border: 1px solid transparent;
  font-size: .84rem;
  font-weight: 750;
  letter-spacing: .055em;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: var(--rose); }
.button-primary:hover { background: var(--blush); }
.button-ghost { color: var(--white); border-color: rgba(255,255,255,.38); }
.button-ghost:hover { border-color: var(--rose); color: var(--rose); }
.button-dark { color: var(--white); background: var(--ink); }
.button-ghost-dark { border-color: rgba(58,36,28,.38); color: var(--chocolate); }
.button-large { min-height: 58px; padding-inline: 28px; }
.trust-strip { border-bottom: 1px solid var(--line); background: var(--paper); }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-grid > div { padding: 28px clamp(20px, 4vw, 52px); border-right: 1px solid var(--line); }
.trust-grid > div:first-child { padding-left: 0; }
.trust-grid > div:last-child { padding-right: 0; border-right: 0; }
.trust-grid strong, .trust-grid span { display: block; }
.trust-grid strong { font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.trust-grid span { margin-top: 4px; color: var(--taupe); font-size: .82rem; }
.split-intro, .editorial-grid, .final-cta-inner { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 9vw, 140px); align-items: start; }
.split-intro h2, .editorial-grid h2, .final-cta h2 { margin-bottom: 0; }
.prose { max-width: 760px; }
.prose p { margin-bottom: 1.25em; }
.prose-large { font-size: clamp(1.08rem, 1.4vw, 1.24rem); }
.prose .lead { color: var(--ink); font-family: var(--serif); font-size: clamp(1.35rem, 2.5vw, 2rem); line-height: 1.45; }
.text-link { display: inline-block; margin-top: 12px; color: var(--ink); font-weight: 750; text-decoration-thickness: 1px; }
.section-heading { max-width: 760px; margin-bottom: clamp(44px, 7vw, 84px); }
.section-heading h2 { margin-bottom: 20px; }
.section-heading > p:last-child { max-width: 650px; }
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.path-card { min-height: 360px; padding: clamp(28px, 4vw, 48px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; }
.card-number { margin-bottom: 70px; color: var(--taupe); font-size: .76rem; letter-spacing: .15em; }
.path-card p { color: var(--taupe); }
.path-card a { margin-top: auto; font-weight: 750; }
.statement { background: var(--rose); }
.statement-inner { max-width: 990px; margin-inline: auto; text-align: center; }
.statement .eyebrow { color: var(--chocolate); }
.statement blockquote, .statement-inner blockquote { margin: 0 auto 40px; color: var(--ink); font-family: var(--serif); font-size: clamp(2rem, 4.7vw, 4.6rem); line-height: 1.2; letter-spacing: -.035em; }
.photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: start; }
.photo-grid figure { margin: 0; }
.photo-grid figure:nth-child(2) { margin-top: 70px; }
.photo-grid img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: saturate(.82); }
.photo-grid figcaption, .about-grid figcaption { padding-top: 12px; color: rgba(255,255,255,.55); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.steps { margin: 0 0 48px; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.steps li { padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.steps li > span { display: grid; width: 36px; height: 36px; margin-bottom: 54px; place-items: center; border: 1px solid var(--rose); border-radius: 50%; color: var(--taupe); font-size: .78rem; }
.steps h3 { font-size: 1.2rem; }
.steps p { margin-bottom: 0; color: var(--taupe); font-size: .88rem; }
.center { text-align: center; }
.final-cta { background: var(--white); }
.page-hero, .article-hero { padding: clamp(82px, 11vw, 152px) 0; }
.page-hero-inner { max-width: 1020px; }
.page-hero h1 { margin-bottom: 28px; }
.page-hero-inner > p:last-child { max-width: 700px; color: rgba(255,255,255,.75); font-size: clamp(1.08rem, 2vw, 1.35rem); }
.feature-list { border-top: 1px solid var(--line); }
.feature-row { padding: 45px 0; display: grid; grid-template-columns: 70px .8fr 1.2fr; gap: 34px; border-bottom: 1px solid var(--line); }
.feature-row > span { color: var(--rose); font-size: .78rem; letter-spacing: .12em; }
.feature-row h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.5rem); }
.feature-row p { max-width: 680px; margin: 0; color: var(--taupe); }
.tag-list { display: flex; flex-wrap: wrap; gap: 10px; }
.tag-list span { padding: 12px 16px; border: 1px solid var(--line); background: rgba(255,255,255,.42); font-size: .88rem; }
.availability-panel { padding: clamp(36px, 6vw, 76px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 8vw, 110px); border: 1px solid var(--line); }
.availability-panel h2 { margin-bottom: 0; }
.dark-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.15); border-left: 1px solid rgba(255,255,255,.15); }
.dark-card-grid article { min-height: 240px; padding: clamp(28px, 4vw, 48px); border-right: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }
.dark-card-grid p { color: rgba(255,255,255,.62); }
.photo-copy-grid, .about-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(45px, 9vw, 130px); align-items: center; }
.photo-copy-grid > img, .about-grid img { width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: saturate(.84); }
.about-grid figure { margin: 0; }
.about-grid figcaption { color: var(--taupe); }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { min-height: 220px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.34); }
.service-card p { margin-bottom: 0; color: var(--taupe); }
.application-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(50px, 9vw, 130px); }
.application-main > p { max-width: 720px; }
.notice { margin: 36px 0; padding: 28px; border-left: 3px solid var(--rose); background: var(--cream); }
.notice strong { color: var(--ink); font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }
.notice p { margin: 10px 0 0; }
.microcopy { margin-top: 12px; color: var(--taupe); font-size: .82rem; }
.application-aside { padding: clamp(28px, 4vw, 46px); background: var(--ink); color: rgba(255,255,255,.72); }
.application-aside h3 { color: var(--white); font-size: 2rem; }
.application-aside ol { margin: 30px 0 0; padding: 0; list-style: none; }
.application-aside li { padding: 22px 0; display: grid; grid-template-columns: 36px 1fr; gap: 16px; border-top: 1px solid rgba(255,255,255,.14); }
.application-aside li > span { color: var(--rose); }
.application-aside strong { display: block; color: var(--white); }
.application-aside p { margin: 4px 0 0; font-size: .88rem; }
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.contact-card { min-height: 370px; padding: clamp(28px, 4vw, 46px); display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.contact-card > span { margin-bottom: 65px; color: var(--taupe); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.contact-card p { color: var(--taupe); }
.contact-card strong { margin-top: auto; text-decoration: underline; text-underline-offset: 4px; }
.contact-details { margin-top: 70px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.contact-details > div { padding: 24px 0; }
.contact-details span, .contact-details a, .contact-details strong { display: block; }
.contact-details span { color: var(--taupe); font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; }
.contact-details a, .contact-details strong { margin-top: 7px; font-size: 1.05rem; }
.guide-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.guide-card { min-height: 380px; padding: clamp(32px, 5vw, 58px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.guide-card h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); }
.guide-card h2 a { text-decoration: none; }
.guide-card > p:not(.eyebrow) { max-width: 530px; color: var(--taupe); }
.article-hero .narrow { max-width: 940px; }
.article-hero h1 { font-size: clamp(2.7rem, 6vw, 5.6rem); }
.byline { padding-top: 28px; display: flex; flex-wrap: wrap; gap: 12px 34px; border-top: 1px solid rgba(255,255,255,.17); color: rgba(255,255,255,.58); font-size: .82rem; }
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(50px, 9vw, 120px); align-items: start; }
.article-body { max-width: 760px; }
.article-body h2 { margin: 2em 0 .55em; font-size: clamp(1.8rem, 3.2vw, 2.8rem); }
.article-callout { margin-top: 54px; padding: 30px; border: 1px solid var(--line); background: var(--cream); }
.article-callout strong { color: var(--ink); font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }
.article-callout p { margin: 8px 0 0; }
.article-aside { position: sticky; top: 30px; }
.article-aside > div { padding: 28px; border: 1px solid var(--line); }
.article-aside > div + div { border-top: 0; background: var(--cream); }
.article-aside h2 { font-size: 1.8rem; }
.article-aside .button { width: 100%; margin-top: 12px; }
.legal h2 { margin: 2em 0 .5em; font-size: 2rem; }
.site-footer { padding: 80px 0 26px; color: rgba(255,255,255,.62); background: var(--ink); }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 60px; }
.site-footer h2 { color: var(--rose); font-family: var(--sans); font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.site-footer a { display: block; margin: 10px 0; color: rgba(255,255,255,.68); font-size: .88rem; text-decoration: none; }
.site-footer a:hover { color: var(--rose); }
.footer-brand img { width: 160px; height: 104px; object-fit: contain; }
.footer-brand p { max-width: 340px; margin: 10px 0; font-size: .88rem; }
.footer-bottom { margin-top: 60px; padding-top: 24px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.11); font-size: .75rem; }

@media (max-width: 1040px) {
  .menu-button {
    margin-left: auto;
    display: inline-flex;
    width: 48px;
    height: 48px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.25);
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    color: transparent;
    background: transparent;
  }
  .menu-button span { display: block; width: 22px; height: 1px; background: var(--white); }
  .menu-button b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .primary-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0;
    padding: 22px 20px 28px;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    border-top: 1px solid rgba(255,255,255,.1);
    background: var(--ink);
  }
  .primary-nav[data-open="true"] { display: flex; }
  .primary-nav a { padding: 12px 0; font-size: 1rem; }
  .primary-nav .nav-cta { margin-top: 12px; padding: 14px; text-align: center; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 820px; }
  .hero-portrait { max-width: 680px; margin-left: auto; }
  .steps { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 2 / 3; }
}

@media (max-width: 760px) {
  :root { --shell: min(100% - 28px, 640px); }
  .section { padding: 72px 0; }
  .header-inner { min-height: 84px; }
  .brand { width: 110px; }
  .brand img { height: 58px; }
  .hero { padding-top: 62px; }
  .hero-portrait { margin: 20px 0 0 20px; }
  .hero-portrait::before { inset: -20px 20px 20px -20px; }
  .trust-grid, .path-grid, .photo-grid, .steps, .dark-card-grid, .service-grid, .contact-grid, .contact-details, .guide-grid { grid-template-columns: 1fr; }
  .trust-grid > div, .trust-grid > div:first-child, .trust-grid > div:last-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-grid > div:last-child { border-bottom: 0; }
  .split-intro, .editorial-grid, .final-cta-inner, .availability-panel, .photo-copy-grid, .about-grid, .application-layout, .article-layout { grid-template-columns: 1fr; gap: 38px; }
  .path-card { min-height: 285px; }
  .card-number { margin-bottom: 44px; }
  .photo-grid figure:nth-child(2) { margin-top: 0; }
  .photo-grid figure:nth-child(2), .photo-grid figure:nth-child(3) { display: none; }
  .steps li > span { margin-bottom: 28px; }
  .feature-row { grid-template-columns: 44px 1fr; gap: 12px 18px; }
  .feature-row p { grid-column: 2; }
  .availability-panel { padding: 30px 24px; }
  .dark-card-grid article, .service-card { min-height: auto; }
  .application-aside { margin-inline: -14px; }
  .contact-card { min-height: 300px; }
  .contact-details > div { border-bottom: 1px solid var(--line); }
  .article-aside { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 24px; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: no-preference) {
  .reveal { animation: reveal .7s ease-out both; }
  @keyframes reveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

:focus-visible { outline: 3px solid var(--rose); outline-offset: 4px; }
@media print {
  .preview-banner, .site-header, .site-footer, .button-row, .button { display: none !important; }
  body { color: #000; background: #fff; }
  .section, .page-hero, .article-hero { padding: 28px 0; color: #000; background: #fff; }
  h1, h2, h3, .section-dark h1, .section-dark h2, .section-dark h3 { color: #000; }
}

/* Warm family-focused Sebtus identity */
:root{--ink:#303238;--chocolate:#49413d;--rose:#dfb39e;--blush:#eed4c7;--taupe:#716159;--cream:#f4e9e1;--paper:#fffaf5;--line:#ddc9bd}
em{color:#945e49}.section-dark{background:#f4e9e1;color:var(--chocolate)}
.section-dark h1,.section-dark h2,.section-dark h3{color:var(--ink)}
.section-dark .eyebrow,.light .eyebrow{color:#87513e}
.site-header{background:#fffaf5;border-bottom:1px solid var(--line)}
.primary-nav a{color:var(--chocolate);font-size:.875rem}.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:#87513e}
.brand{width:150px}.brand-art{display:block;width:150px;height:118px;background-image:url('/assets/sebtus-brand.jpg');background-size:922px 384px;background-position:-384px -5px;background-repeat:no-repeat;border-radius:8px}
.header-inner{min-height:132px;gap:24px}.hero-copy .hero-lead{color:var(--chocolate)}
h1{font-size:clamp(2.7rem,5vw,4.8rem);letter-spacing:-.035em}
.hero-grid{gap:60px;grid-template-columns:1.1fr .9fr}.hero-portrait{border:0;padding:0}.hero-portrait::before{display:none}.hero-portrait img{border-radius:100px 100px 20px 20px;filter:none}.hero-portrait figcaption{position:static;padding-top:16px;color:var(--taupe);font-size:.875rem;letter-spacing:0;text-transform:none}
.button{border-radius:8px;font-size:.875rem;letter-spacing:.02em}.button-primary,.primary-nav .nav-cta{background:#945e49;color:#fff}.button-primary:hover{background:#764731;color:#fff}.button-ghost{color:var(--ink);border-color:#aa8b7b}
.path-grid{border:0;gap:18px}.path-card{background:var(--paper);border:1px solid var(--line);border-radius:16px}.card-number{margin-bottom:40px}
.photo-grid img,.photo-copy-grid>img,.about-grid img{border-radius:18px;filter:none}.photo-grid figcaption,.dark-card-grid p,.page-hero-inner>p:last-child,.byline{color:var(--taupe)}
.dark-card-grid,.dark-card-grid article{border-color:var(--line)}.eyebrow,.trust-grid span,.card-number,.site-footer h2{font-size:.875rem}.statement{background:#ecd0bf}.site-footer{background:#303238}.site-footer .brand-art{margin-bottom:20px}
@media(max-width:1040px){.hero-grid{grid-template-columns:1fr}.primary-nav{background:var(--paper);border-color:var(--line)}.menu-button{border-color:var(--taupe)}.menu-button span{background:var(--ink)}}
@media(max-width:760px){.header-inner{min-height:124px}.brand{width:150px}.hero-portrait{margin:0}.photo-grid figure:nth-child(2),.photo-grid figure:nth-child(3){display:block}.photo-grid img{aspect-ratio:4/5}.section{padding:60px 0}}

/* Blend the supplied logo into a continuous warm footer. */
.site-footer{background:#f4e9db;color:#41413d}.site-footer .brand-art{mix-blend-mode:multiply;border-radius:0}.site-footer h2{color:#715641}.site-footer a{color:#41413d}.site-footer a:hover{color:#845537}.footer-bottom{border-color:#d7c8b8}.package-price{font-size:2rem;font-weight:600;color:#5f4938}.package-price small{display:block;font-size:1rem;font-weight:400}.package-grid ul{padding-left:1.15rem;margin:1.5rem 0;line-height:1.75}.package-grid .card-number{margin-bottom:20px}.package-grid .path-card{display:flex;flex-direction:column}.package-grid .path-card>a{margin-top:auto}html{scroll-padding-top:150px}

.academy-faq details{border-bottom:1px solid var(--line);padding:20px 0}.academy-faq summary{font-size:1.1rem;font-weight:600;cursor:pointer}.academy-faq details p{margin-top:16px}

/* Preserve the complete family portrait at every screen size. */
.hero-portrait img,.about-grid img{aspect-ratio:3/4;height:auto;object-fit:contain;filter:none}

/* A real family story, with the complete supplied portrait visible. */
.family-testimonial{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,76px);align-items:center}
.family-testimonial-photo{margin:0;min-width:0}
.family-testimonial-photo img{display:block;width:100%;height:auto;border-radius:20px}
.family-testimonial-photo figcaption{font-size:.875rem;color:var(--taupe);margin-top:14px;line-height:1.5}
.family-testimonial-story{min-width:0}
.family-testimonial-pullquote{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2;color:#79513e;margin:22px 0 28px}
.family-testimonial-story blockquote{margin:0;padding:0;border:0}
.family-testimonial-attribution{margin-top:24px;line-height:1.6}
@media(max-width:760px){.family-testimonial{grid-template-columns:1fr}.family-testimonial-photo{max-width:480px;width:100%;margin-inline:auto}}
