:root {
  --ink: #171716;
  --ivory: #f7f3ee;
  --ivory-deep: #f1ebe4;
  --sand: #b89570;
  --sand-light: #deccb8;
  --taupe: #897562;
  --charcoal: #242322;
  --line: #ccb79f;
  --serif: "Italiana", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--ivory); font-family: var(--sans); font-weight: 300; line-height: 1.45; }
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; }
.panel { position: relative; height: 66.6667vw; min-height: 760px; max-height: 1024px; background: radial-gradient(circle at 32% 38%, #fff 0, var(--ivory) 70%); overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 999; top: 8px; left: 8px; padding: 10px 16px; transform: translateY(-180%); background: white; }
.skip-link:focus { transform: none; }
.eyebrow { margin: 0 0 20px; color: #9f7e5e; font-size: clamp(11px, 1.15vw, 18px); font-weight: 400; letter-spacing: .22em; text-transform: uppercase; }
.lead { color: #373737; font-size: clamp(15px, 1.36vw, 21px); }
.short-rule { display: block; width: 68px; height: 2px; margin: 30px 0 35px; background: var(--line); }
.long-rule { display: block; width: 292px; height: 1px; margin: 18px 0 30px; background: var(--line); }
.button { display: inline-flex; min-width: 292px; min-height: 72px; align-items: center; justify-content: center; padding: 0 28px; border: 1px solid var(--ink); border-radius: 4px; background: var(--ink); color: white; font-size: clamp(14px, 1.15vw, 18px); font-weight: 300; transition: .25s ease; }
.button:hover { transform: translateY(-2px); background: #393735; }
.button-outline { border-color: var(--line); background: transparent; color: var(--ink); }
.button-outline:hover { background: rgba(204,183,159,.13); }
.under-link { display: inline-block; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: clamp(13px, 1.08vw, 17px); }
.arrow-link { display: inline-flex; align-items: center; gap: 24px; }
.arrow-link span { color: var(--sand); font-size: 25px; }
.wave { pointer-events: none; position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; height: 135px; opacity: .78; }
.wave::before, .wave::after { position: absolute; right: -7%; left: -7%; height: 120px; border-top: 2px solid var(--line); border-radius: 50%; content: ""; transform: rotate(1deg); }
.wave::before { bottom: -10px; }
.wave::after { bottom: -60px; left: 19%; transform: rotate(-1deg); }
.wave-light::before, .wave-light::after { border-color: #d9c4ad; }
.wave-right::before { left: 48%; }
.wave-right::after { left: 69%; }

/* 01 · HERO */
.hero { border-top: 1px solid var(--line); }
.site-header { position: relative; z-index: 20; display: flex; height: 12.3%; min-height: 96px; align-items: center; justify-content: space-between; padding: 0 4.5%; border-bottom: 1px solid var(--line); background: rgba(250,248,245,.98); }
.brand { width: clamp(170px, 12.5vw, 198px); }
.brand img { height: auto; object-fit: contain; filter: brightness(0); }
.main-nav { display: flex; align-items: center; gap: clamp(25px, 3.6vw, 56px); }
.main-nav > a { font-size: clamp(13px, 1.05vw, 16px); white-space: nowrap; }
.main-nav > a span { margin-left: 4px; }
.main-nav .nav-book { min-width: 137px; min-height: 52px; margin-left: 6px; font-size: 16px; }
.menu-toggle { display: none; }
.hero-grid { display: grid; height: 87.7%; grid-template-columns: 58.6% 41.4%; }
.hero-copy { position: relative; z-index: 2; padding: 12% 7.5% 10.8% 12.8%; }
.hero-copy h1 { max-width: 760px; margin: 0; font-size: clamp(64px, 5.65vw, 88px); line-height: 1.14; }
.hero-copy .lead { max-width: 500px; margin-bottom: 36px; line-height: 1.65; }
.actions { display: flex; gap: 30px; }
.hero-photo { min-width: 0; }
.hero-photo img { object-position: center; }

/* 02 · TREATMENTS */
.treatments-inner { height: 100%; padding: 4.8% 6% 5.7%; }
.center-heading { text-align: center; }
.center-heading .eyebrow { margin-bottom: 14px; }
.center-heading h2 { margin: 0 0 10px; font-size: clamp(39px, 3.35vw, 52px); line-height: 1.15; }
.center-heading > p:not(.eyebrow) { margin: 0; font-size: clamp(14px, 1.3vw, 20px); }
.center-heading .short-rule { margin: 28px auto; }
.treatment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 26px; }
.treatment-card { display: grid; height: clamp(235px, 20.2vw, 310px); grid-template-columns: 47% 53%; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.34); overflow: hidden; transition: .25s; }
.treatment-card:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(85,65,45,.1); }
.treatment-text { position: relative; padding: 30px 32px; }
.treatment-text > span { color: var(--sand); font-size: 16px; }
.treatment-text h3 { margin: 22px 0 13px; font-size: clamp(28px, 2.15vw, 34px); line-height: 1.18; }
.treatment-text p { margin: 0; font-size: clamp(12px, 1.05vw, 16px); line-height: 1.5; }
.treatment-text b { position: absolute; bottom: 22px; left: 32px; font-size: 32px; font-weight: 300; }
.treatment-card img { object-position: center; }
.treatments-all { position: absolute; z-index: 5; bottom: 6.8%; left: 50%; min-width: 310px; min-height: 59px; transform: translateX(-50%); }
.treatments-all:hover { transform: translate(-50%, -2px); }

/* 03 · DIAGNOSIS */
.diagnosis { display: grid; grid-template-columns: 48.6% 51.4%; }
.diagnosis-photo { margin: 4% 0; border-radius: 50px; overflow: hidden; }
.diagnosis-copy { padding: 7.7% 8% 7% 7.4%; }
.diagnosis-copy h2 { margin: 0 0 18px; font-size: clamp(51px, 4.45vw, 70px); line-height: 1.12; }
.diagnosis-copy > .lead { max-width: 635px; margin-bottom: 21px; line-height: 1.55; }
.diagnosis-choice { display: grid; height: 128px; align-items: center; margin-bottom: 12px; padding: 17px 20px; grid-template-columns: 120px 1fr 45px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.17); }
.round-icon { display: grid; width: 83px; height: 83px; place-items: center; border: 1px solid var(--sand); border-radius: 50%; color: var(--sand); font-family: var(--serif); font-size: 38px; }
.diagnosis-choice strong { display: block; margin-bottom: 2px; font-family: var(--serif); font-size: clamp(24px, 2.1vw, 32px); font-weight: 400; }
.diagnosis-choice small { font-size: clamp(12px, 1.12vw, 17px); }
.diagnosis-choice > b { color: var(--sand); font-size: 38px; font-weight: 300; }
.diagnosis-benefits { display: grid; margin: 27px 0 23px; grid-template-columns: repeat(3, 1fr); }
.diagnosis-benefits div { display: grid; min-height: 88px; place-items: center; border-right: 1px solid var(--line); text-align: center; }
.diagnosis-benefits div:last-child { border: 0; }
.diagnosis-benefits i { display: grid; width: 59px; height: 59px; place-items: center; border: 1px solid var(--sand); border-radius: 50%; color: var(--sand); font-family: var(--serif); font-size: 24px; font-style: normal; }
.diagnosis-benefits span { font-size: clamp(11px, 1vw, 15px); }
.diagnosis-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 16px; }
.diagnosis-actions .button { min-width: 331px; min-height: 63px; }
.section-number { position: absolute; right: 2.7%; bottom: 0; color: rgba(184,149,112,.14); font-family: var(--serif); font-size: clamp(130px, 14.5vw, 225px); line-height: .8; }

/* 04 · GUIDE */
.guide { display: grid; grid-template-columns: 56.1% 43.9%; }
.guide-copy { position: relative; z-index: 2; padding: 5.8% 4.6% 6% 7.1%; }
.guide-copy h2 { margin: 0 0 22px; font-size: clamp(50px, 4.5vw, 70px); line-height: 1.12; }
.guide-copy > .lead { max-width: 730px; margin-bottom: 0; font-size: clamp(14px, 1.34vw, 20px); line-height: 1.55; }
.guide-copy .short-rule { margin: 30px 0 40px; }
.guide-grid { display: grid; margin-bottom: 20px; grid-template-columns: 1fr 1fr; gap: 17px 18px; }
.guide-grid a { position: relative; display: grid; height: clamp(110px, 14.4vw, 148px); align-content: center; padding: 24px 22px; border: 1px solid var(--line); border-radius: 7px; }
.guide-grid a.filled { color: white; background: linear-gradient(145deg, #c8b299, #a99178); }
.guide-grid span { margin-bottom: 24px; color: var(--sand); font-size: clamp(10px, .85vw, 13px); letter-spacing: .16em; }
.guide-grid .filled span { color: rgba(255,255,255,.65); }
.guide-grid strong { font-family: var(--serif); font-size: clamp(24px, 2.2vw, 33px); font-weight: 400; }
.guide-grid b { position: absolute; right: 26px; bottom: 29px; font-size: 32px; font-weight: 300; }
.guide-copy > .button { min-width: 330px; min-height: 70px; }
.guide-photo { margin: 3.65vw 7.7% 4.16vw 2%; border-radius: 11px; overflow: hidden; }
.guide-photo img { object-position: center; }

/* 05 · METHOD */
.method { display: grid; grid-template-columns: 59.2% 40.8%; }
.method-copy { position: relative; padding: 6.7vw 8% 7% 5.3vw; }
.method-copy h2 { margin: 0 0 4px; font-size: clamp(57px, 5vw, 78px); line-height: 1.12; }
.method-copy > .lead { max-width: 700px; margin-bottom: 24px; font-size: clamp(15px, 1.47vw, 23px); }
.method-list { margin: 0 0 22px; padding: 0; list-style: none; }
.method-list li { display: grid; min-height: 116px; align-items: center; grid-template-columns: 160px 1fr; border-bottom: 1px solid var(--line); }
.method-list li:last-child { border: 0; }
.method-list li > span { color: var(--sand); font-family: var(--serif); font-size: clamp(54px, 4.5vw, 70px); }
.method-list strong { display: block; margin-bottom: 2px; font-family: var(--serif); font-size: clamp(25px, 2.25vw, 35px); font-weight: 400; }
.method-list p { margin: 0; font-size: clamp(12px, 1.05vw, 16px); }
.method-copy > .button { min-width: 340px; min-height: 60px; }
.method-copy .section-number { right: 2%; bottom: 7%; }
.method-photo { position: relative; z-index: 2; border-radius: 160px 0 0 0; overflow: hidden; }
.method-photo img { object-position: center; }

/* 06 · PNIE */
.pnie { color: #f7f1e9; background: linear-gradient(125deg, #8b7764, #71604f); }
.pnie-inner { display: grid; height: 100%; padding: 4.3% 7.7% 11.2%; grid-template-columns: 43% 1fr; gap: 8.5%; }
.pnie-photo { border-radius: 150px 150px 0 0; overflow: hidden; }
.pnie-copy { padding-top: 4.6vw; }
.pnie .eyebrow { color: #e4d4c3; }
.pnie-copy h2 { margin: 0 0 22px; font-size: clamp(50px, 4.4vw, 68px); line-height: 1.18; }
.pnie-copy > .lead { max-width: 680px; margin-bottom: 34px; color: #f4ece4; font-size: clamp(14px, 1.26vw, 19px); }
.pnie-grid { display: grid; grid-template-columns: 1fr 1fr; }
.pnie-grid div { display: grid; height: 107px; align-items: center; grid-template-columns: 88px 1fr; border-bottom: 1px solid rgba(255,255,255,.42); }
.pnie-grid div:nth-last-child(-n+2) { border-bottom: 0; }
.pnie-grid i { display: grid; width: 69px; height: 69px; place-items: center; border: 1px solid rgba(255,255,255,.78); border-radius: 50%; font-family: var(--serif); font-size: 32px; font-style: normal; }
.pnie-grid span { font-family: var(--serif); font-size: clamp(20px, 1.8vw, 27px); }
.pnie-note { margin: 24px 0 27px; font-size: clamp(13px, 1.14vw, 18px); }
.button-light { min-width: 280px; min-height: 57px; border-color: #f7f1e9; background: #f7f1e9; color: #5d4d40; }

/* 07 · FOUNDER */
.founder { display: grid; grid-template-columns: 42.8% 57.2%; }
.founder-photo { min-width: 0; }
.founder-copy { position: relative; padding: 15.5% 13% 7% 11.25%; }
.founder-copy h2 { margin: 0; font-size: clamp(51px, 4.7vw, 72px); line-height: 1.18; }
.founder-copy .short-rule { margin: 25px 0 18px; }
.founder-role { margin-bottom: 35px; font-size: clamp(13px, 1.18vw, 18px); }
.founder-role strong { margin-right: 8px; }
.founder-story { max-width: 610px; margin-bottom: 40px; font-size: clamp(14px, 1.29vw, 20px); line-height: 1.7; }
.founder-copy blockquote { margin: 0 0 58px -8px; padding-left: 36px; border-left: 3px solid var(--sand-light); font-family: Georgia, serif; font-size: clamp(18px, 1.85vw, 28px); font-style: italic; font-weight: 400; line-height: 1.55; }
.big-quote { position: absolute; top: 34%; right: 8%; color: rgba(184,149,112,.27); font-family: Georgia, serif; font-size: 145px; line-height: 1; }

/* 08 · TEAM */
.team { display: grid; grid-template-columns: 58.8% 41.2%; }
.team-photo { margin: 4.23vw 0 7.1vw; }
.team-copy { padding: 10.8% 10% 6% 10.6%; }
.team-copy .short-rule { margin: 0 0 22px; }
.team-copy h2 { margin: 0 0 20px; font-size: clamp(49px, 4.05vw, 62px); line-height: 1.14; }
.team-copy > .lead { max-width: 470px; margin-bottom: 26px; font-size: clamp(13px, 1.14vw, 18px); line-height: 1.6; }
.team-list { margin: 0 0 24px; padding: 0; list-style: none; }
.team-list li { padding: 15px 2px; border-bottom: 1px solid var(--line); }
.team-list li:last-child { border: 0; }
.team-list strong { display: block; font-family: var(--serif); font-size: clamp(22px, 2vw, 30px); font-weight: 400; }
.team-list span { font-size: clamp(12px, 1.08vw, 17px); }

/* 09 · SHOP */
.shop-inner { height: 100%; padding: 7.8% 4.5% 6.5%; }
.shop-heading { display: flex; align-items: flex-end; justify-content: space-between; margin: 0 10px 45px; }
.shop-heading .eyebrow { margin-bottom: 17px; }
.shop-heading h2 { margin: 0 0 14px; font-size: clamp(58px, 5.05vw, 78px); line-height: 1.1; }
.shop-heading .lead { margin: 0; }
.shop-heading > .under-link { margin: 0 20px 16px 30px; font-size: 20px; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.product-card { border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.23); overflow: hidden; }
.product-card > img { height: clamp(285px, 27vw, 415px); }
.product-card > div { padding: 18px 28px 21px; }
.product-card h3 { margin: 0 0 3px; font-size: clamp(25px, 2.1vw, 32px); }
.product-card p { margin-bottom: 8px; font-size: 16px; }
.product-card em { display: block; margin-bottom: 22px; color: var(--sand); font-size: 15px; font-style: normal; }
.product-card a { display: flex; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--line); font-size: 15px; }
.product-card a span { color: var(--sand); font-size: 22px; }
.shop-note { margin: 35px 0 0; font-size: 13px; }

/* 10 · ROUTINE + GIFT */
.routine-gift { padding: 5.8% 3.1% 11%; }
.service-cards { display: grid; height: 92%; grid-template-columns: 1fr 1fr; gap: 24px; }
.service-card { position: relative; border-radius: 22px; background: #efe3d5; overflow: hidden; }
.service-card > img { position: absolute; z-index: 0; top: 0; right: 0; width: 58%; object-position: right center; }
.service-copy { position: relative; z-index: 2; width: 62%; height: 100%; padding: 13% 0 8% 7.5%; background: linear-gradient(90deg, #f1e7dc 0%, #f1e7dc 70%, rgba(241,231,220,.72) 87%, transparent 100%); }
.service-copy h2 { margin: 0; font-size: clamp(48px, 4.25vw, 65px); line-height: 1.12; }
.service-copy .short-rule { margin: 28px 0; }
.service-copy > p:not(.eyebrow) { margin-bottom: 40px; font-size: clamp(14px, 1.33vw, 20px); line-height: 1.65; }
.service-copy .button { min-width: 255px; min-height: 67px; margin-bottom: 25px; }
.service-copy .under-link { display: block; width: max-content; }
.gift-card { color: white; background: #292725; }
.gift-card > img { width: 61%; }
.gift-card .service-copy { background: linear-gradient(90deg, #292725 0%, #292725 69%, rgba(41,39,37,.72) 87%, transparent 100%); }
.gift-card .eyebrow { color: #d9c2a8; }
.gift-card .short-rule { background: #c9ad90; }
.gift-card .button-light-outline { border-color: #e0cfbd; color: white; }

/* 11 · EXPERIENCES + CLINIC + FOOTER */
.final-panel { display: grid; grid-template-rows: 21.8% 62.1% 16.1%; }
.experiences { display: grid; align-items: center; padding: 3% 6.3%; grid-template-columns: 1.7fr .8fr .8fr .6fr; gap: 20px; border: 1px solid var(--line); }
.experiences .eyebrow { display: flex; align-items: center; gap: 18px; color: var(--ink); }
.experiences .eyebrow span { display: inline-block; width: 195px; height: 1px; background: var(--line); }
.experiences h2 { margin: 0; font-size: clamp(40px, 3.55vw, 55px); }
.experiences blockquote { min-height: 140px; margin: 0; padding: 25px 28px; border: 1px solid var(--line); border-radius: 6px; }
.experiences blockquote b { display: block; margin-bottom: 10px; color: var(--sand-light); font-family: Georgia, serif; font-size: 44px; line-height: .7; }
.experiences blockquote span { font-size: 15px; }
.experiences > .under-link { justify-self: center; color: var(--sand); }
.clinic { position: relative; overflow: hidden; }
.clinic > img { position: absolute; inset: 0; object-position: center; }
.clinic-card { position: relative; z-index: 2; width: 34.7%; height: 83%; margin: 4.1% 0 0 6.4%; padding: 3% 4.2%; border: 1px solid var(--line); border-radius: 7px; background: rgba(250,248,245,.94); }
.clinic-card .eyebrow { color: var(--ink); font-size: 13px; }
.clinic-card h2 { margin: 0 0 18px; font-size: clamp(37px, 3.15vw, 49px); line-height: 1.18; }
.clinic-card > p { max-width: 370px; margin-bottom: 20px; font-size: 15px; line-height: 1.6; }
.clinic-card .short-rule { width: 49px; margin: 20px 0; }
.clinic-card address { display: flex; align-items: center; gap: 18px; margin-bottom: 29px; font-style: normal; }
.clinic-card address b { font-size: 36px; }
.clinic-card address span { font-size: 14px; }
.clinic-card .actions { gap: 18px; }
.clinic-card .button { min-width: 203px; min-height: 60px; font-size: 15px; }
.clinic-card .button-outline { min-width: 167px; }
.site-footer { position: relative; z-index: 4; display: grid; align-items: center; padding: 2.8% 5.3%; grid-template-columns: 1.1fr 2.2fr 1.25fr 1.1fr 1fr; color: white; background: #20201f; }
.footer-brand { width: 195px; padding-right: 25px; border-right: 1px solid rgba(255,255,255,.35); }
.footer-brand img { height: auto; object-fit: contain; filter: brightness(0) invert(1); }
.site-footer nav { display: flex; justify-content: center; gap: 20px; padding-right: 20px; border-right: 1px solid rgba(255,255,255,.35); }
.site-footer nav a { font-size: 11px; white-space: nowrap; }
.footer-contact { display: grid; gap: 12px; padding-inline: 28px; border-right: 1px solid rgba(255,255,255,.35); font-size: 11px; }
.site-footer > p { margin: 0; padding-left: 36px; font-family: var(--serif); font-size: 26px; line-height: 1.25; }
.footer-button { min-width: 200px; min-height: 54px; border-color: #bca18a; background: #bca18a; }

@media (max-width: 1180px) {
  .main-nav { gap: 22px; }
  .main-nav > a { font-size: 12px; }
  .diagnosis-copy { padding-right: 4%; }
  .method-list li { grid-template-columns: 120px 1fr; }
  .site-footer { grid-template-columns: 1fr 1.8fr 1.2fr .9fr; }
  .site-footer > p { display: none; }
}

@media (max-width: 900px) {
  .panel { height: auto; min-height: 0; max-height: none; overflow: hidden; }
  .eyebrow { font-size: 11px; }
  .lead { font-size: 16px; }
  .wave { height: 55px; }
  .button { min-width: 0; min-height: 55px; padding: 0 24px; font-size: 14px; }
  .site-header { height: 76px; min-height: 76px; padding: 0 20px; }
  .brand { position: relative; z-index: 22; width: 150px; }
  .menu-toggle { position: relative; z-index: 22; display: block; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; }
  .menu-toggle > span:not(.sr-only) { position: absolute; left: 8px; width: 26px; height: 1px; background: var(--ink); transition: .2s; }
  .menu-toggle > span:first-child { top: 16px; }
  .menu-toggle > span:nth-child(2) { top: 25px; }
  .menu-toggle[aria-expanded="true"] > span:first-child { top: 21px; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:nth-child(2) { top: 21px; transform: rotate(-45deg); }
  .main-nav { position: fixed; z-index: 21; top: 0; right: 0; bottom: 0; left: 0; visibility: hidden; display: flex; align-items: stretch; flex-direction: column; gap: 0; padding: 105px 22px 40px; background: var(--ivory); opacity: 0; transition: .2s; }
  .main-nav.is-open { visibility: visible; opacity: 1; }
  .main-nav > a { display: flex; min-height: 60px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 25px; }
  .main-nav .nav-book { min-height: 52px; margin: 28px 0 0; border: 0; font-family: var(--sans); font-size: 13px; }
  .hero-grid { display: flex; height: auto; flex-direction: column; }
  .hero-copy { padding: 70px 24px 75px; }
  .hero-copy h1 { font-size: clamp(48px, 13vw, 68px); line-height: 1.12; }
  .hero-copy .lead { max-width: 520px; }
  .hero-photo { height: 620px; }
  .actions { flex-wrap: wrap; gap: 14px; }
  .treatments-inner { padding: 80px 20px 110px; }
  .center-heading h2 { font-size: 44px; }
  .treatment-grid { grid-template-columns: 1fr; }
  .treatment-card { height: 270px; }
  .treatments-all { position: relative; bottom: auto; left: 50%; margin-top: 28px; }
  .diagnosis, .guide, .method, .founder, .team { display: flex; flex-direction: column; }
  .diagnosis-photo { height: 650px; margin: 0 20px; order: 2; }
  .diagnosis-copy { padding: 80px 20px 55px; }
  .diagnosis-copy h2, .guide-copy h2, .method-copy h2, .founder-copy h2, .team-copy h2 { font-size: clamp(44px, 11vw, 62px); }
  .diagnosis-choice { grid-template-columns: 85px 1fr 35px; }
  .round-icon { width: 62px; height: 62px; }
  .section-number { display: none; }
  .guide-copy { padding: 80px 20px 55px; }
  .guide-photo { height: 650px; margin: 0 20px 80px; }
  .method-copy { padding: 80px 20px 90px; }
  .method-photo { height: 650px; border-radius: 90px 0 0; }
  .method-list li { grid-template-columns: 90px 1fr; }
  .pnie-inner { padding: 80px 20px 110px; grid-template-columns: 1fr; gap: 55px; }
  .pnie-photo { height: 650px; }
  .pnie-copy { padding: 0; }
  .pnie-copy h2 { font-size: clamp(42px, 10vw, 60px); }
  .founder-photo { height: 720px; }
  .founder-copy { padding: 80px 24px 110px; }
  .big-quote { display: none; }
  .team-photo { height: 580px; margin: 0; }
  .team-copy { padding: 80px 24px 110px; }
  .shop-inner { padding: 80px 20px 110px; }
  .shop-heading { align-items: flex-start; flex-direction: column; gap: 20px; margin: 0 0 35px; }
  .shop-heading h2 { font-size: clamp(46px, 11vw, 62px); }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .routine-gift { padding: 70px 20px 110px; }
  .service-cards { grid-template-columns: 1fr; }
  .service-card { height: 700px; }
  .final-panel { display: block; }
  .experiences { padding: 70px 20px; grid-template-columns: 1fr 1fr; }
  .experiences > div { grid-column: span 2; }
  .experiences > .under-link { justify-self: start; }
  .clinic { height: 820px; }
  .clinic-card { width: min(520px, calc(100% - 40px)); height: auto; margin: 65px 20px; padding: 42px; }
  .site-footer { padding: 50px 24px; grid-template-columns: 1fr 1fr; gap: 35px; }
  .footer-brand { border: 0; }
  .site-footer nav { display: grid; grid-template-columns: 1fr 1fr; border: 0; }
  .footer-contact { border: 0; padding: 0; }
}

@media (max-width: 560px) {
  .hero-photo, .diagnosis-photo, .guide-photo, .method-photo, .pnie-photo, .founder-photo, .team-photo { height: 500px; }
  .hero-copy h1 { font-size: 49px; }
  .hero-copy .actions { flex-direction: column; }
  .hero-copy .button { width: 100%; }
  .treatment-card { height: auto; min-height: 440px; grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
  .treatment-text { order: 2; }
  .treatment-text b { right: 25px; bottom: 20px; left: auto; }
  .diagnosis-choice { height: auto; min-height: 120px; grid-template-columns: 72px 1fr 25px; padding: 16px 12px; }
  .diagnosis-choice strong { font-size: 23px; }
  .diagnosis-benefits span { font-size: 10px; }
  .diagnosis-actions .button { min-width: 100%; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-grid a { height: 125px; }
  .method-list li { min-height: 145px; grid-template-columns: 72px 1fr; }
  .method-list li > span { font-size: 45px; }
  .pnie-grid { grid-template-columns: 1fr; }
  .pnie-grid div:nth-last-child(2) { border-bottom: 1px solid rgba(255,255,255,.42); }
  .founder-copy blockquote { padding-left: 20px; font-size: 18px; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card > img { height: 380px; }
  .service-card { height: 680px; }
  .service-card > img { width: 100%; opacity: .62; }
  .service-copy, .gift-card .service-copy { width: 100%; padding: 70px 28px; background: linear-gradient(90deg, rgba(247,240,232,.97), rgba(247,240,232,.7)); }
  .gift-card .service-copy { background: linear-gradient(90deg, rgba(41,39,37,.96), rgba(41,39,37,.62)); }
  .service-copy h2 { font-size: 46px; }
  .experiences { grid-template-columns: 1fr; }
  .experiences > div { grid-column: auto; }
  .clinic-card { padding: 32px 24px; }
  .clinic-card .actions { flex-direction: column; }
  .clinic-card .button { width: 100%; }
  .site-footer { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
