html {scroll-behavior:smooth; scroll-padding-top:140px; -webkit-text-size-adjust:100%;}
.anchor-nav {background:var(--white); border-bottom:1px solid rgba(115,88,49,0.08); padding:0 clamp(24px,5vw,72px); position:sticky; top:84px; z-index:90;}
.anchor-nav-inner {max-width:1000px; margin:0 auto; display:flex; align-items:center; gap:18px; height:52px;}
.body-text a {color:var(--gold-ink); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.5); font-weight:600; transition:var(--transition);}
.bento-body a, .treatment-body a {color:var(--gold-ink); text-decoration:none; border-bottom:1px solid rgba(115,88,49,0.45); font-weight:600; transition:var(--transition);}
.bento-body a:hover, .treatment-body a:hover {color:var(--charcoal); border-bottom-color:var(--charcoal);}
.hair-types-grid {display:grid; grid-template-columns:repeat(2, 1fr); gap:22px; margin-top:8px;}
.hair-type-card {position:relative; background:var(--white); border:1px solid rgba(115,88,49,0.18); border-left:3px solid var(--gold-deep); padding:32px 34px; transition:var(--transition); display:flex; flex-direction:column;}
.hair-type-card::before {content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg, var(--gold) 0%, var(--gold-deep) 100%); transform:scaleX(0); transform-origin:left; transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);}
.hair-type-card:hover {border-color:rgba(115,88,49,0.40); box-shadow:0 20px 44px -22px rgba(42,36,32,0.20); transform:translateY(-2px);}
.hair-type-card:hover::before {transform:scaleX(1);}
.hair-type-card--feature {background:linear-gradient(180deg, #FEFCF8 0%, #F5EFE5 100%); border-left-color:var(--gold-deep); border-color:rgba(115,88,49,0.30);}
.hair-type-tag {display:inline-block; font-size:10.5px; letter-spacing:var(--ls-widest); text-transform:uppercase; color:var(--gold-ink); font-weight:700; margin-bottom:12px; line-height:1.2;}
.hair-type-name {font-family:'Cormorant Garamond', serif; font-size:24px; font-weight:500; color:var(--text-primary); margin-bottom:14px; letter-spacing:var(--ls-tight); line-height:1.2;}
.hair-type-name i.i-italic {font-style:italic; font-weight:400; color:var(--gold-deep); display:block; font-size:0.62em; margin-top:5px; letter-spacing:0.005em;}
.hair-type-body {font-size:16px; color:var(--text-body); line-height:1.7; margin:0;}
.hair-types-footnote {margin-top:28px; padding:18px 24px; background:rgba(254,252,248,0.7); border:1px solid rgba(115,88,49,0.20); font-size:14.5px; color:var(--text-sub); line-height:1.7; font-weight:500;}
.physician-portrait::before {content:''; position:absolute; top:24px; left:24px; right:24px; bottom:24px; border:1px solid rgba(254,252,248,0.6); pointer-events:none; z-index:2;}
.pl-approach {padding: 48px clamp(24px,5vw,72px) 8px;}
.pl-approach-inner {max-width: 1000px; margin: 0 auto;}
.pl-approach-block {margin-bottom: 26px;}
.pl-approach-block h3 {font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 600; color: var(--text-primary); margin: 0 0 8px;}
.pl-approach-block p {font-family: 'Nunito Sans', sans-serif; font-size: 15px; line-height: 1.75; color: var(--text-body); margin: 0;}
.pl-section {padding: 64px clamp(24px,5vw,72px) 0;}
.pl-section:last-of-type {padding-bottom: 72px;}
.pl-inner {max-width: 1000px; margin: 0 auto;}
.pl-eyebrow {font-family: 'Nunito Sans', sans-serif; font-size: 11.5px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-ink); display: block; margin-bottom: 10px;}
.pl-heading {font-family: 'Cormorant Garamond', serif; font-size: clamp(28px,3.6vw,40px); font-weight: 500; color: var(--text-primary); margin-bottom: 10px; line-height: 1.15;}
.pl-heading i {font-style: italic; color: var(--gold-deep);}
.pl-intro {font-family: 'Nunito Sans', sans-serif; font-size: 15px; line-height: 1.75; color: var(--text-sub); max-width: 680px; margin-bottom: 28px;}
.pl-rule {width: 42px; height: 1px; background: var(--gold); margin: 16px 0 32px;}
.pl-card {background: var(--white); border: 1px solid var(--cream-dark); margin-bottom: 20px;}
.pl-card-title {font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600; color: var(--text-primary); padding: 20px 32px 4px;}
.pl-card-sub {font-family: 'Nunito Sans', sans-serif; font-size: 12.5px; color: var(--text-muted); padding: 0 32px 6px; font-style: italic;}
.pl-row {display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 15px 32px; border-top: 1px solid var(--cream-mid);}
.pl-label {font-family: 'Nunito Sans', sans-serif; font-size: 15px; color: var(--text-body); line-height: 1.5;}
.pl-label small {display: block; font-size: 12px; color: var(--text-muted); margin-top: 2px; font-style: italic;}
.pl-price {font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 600; color: var(--text-sub); white-space: nowrap; text-align: right; flex-shrink: 0;}
.pl-from {font-family: 'Nunito Sans', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-ink); margin-right: 5px;}
.pl-note {font-family: 'Nunito Sans', sans-serif; font-size: 12.5px; color: var(--text-muted); font-style: italic; padding: 12px 32px 16px; border-top: 1px solid var(--cream-mid);}
.pl-table {width: 100%; border-collapse: collapse; margin-bottom: 20px; background: var(--white); border: 1px solid var(--cream-dark);}
.pl-table th {font-family: 'Nunito Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-ink); padding: 14px 24px; border-bottom: 1px solid var(--cream-dark); background: var(--cream-mid); text-align: left;}
.pl-table th:not(:first-child) {text-align: right;}
.pl-table td {font-family: 'Nunito Sans', sans-serif; font-size: 15px; color: var(--text-body); padding: 14px 24px; border-top: 1px solid var(--cream-mid);}
.pl-table td:not(:first-child) {font-family: 'Cormorant Garamond', serif; font-size: 19px; font-weight: 600; color: var(--text-sub); text-align: right; white-space: nowrap;}
.pl-consult-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 0; align-items: stretch;}
.pl-consult-card {background: var(--white); border: 1px solid var(--cream-dark); padding: 28px; display: flex; flex-direction: column;}
.pl-consult-amount {font-family: 'Cormorant Garamond', serif; font-size: 42px; font-weight: 500; color: var(--text-primary); line-height: 1; margin: 12px 0 10px; min-height: 46px; display: flex; align-items: flex-end;}
.pl-consult-label {font-family: 'Nunito Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-ink); margin-bottom: 4px;}
.pl-consult-name {font-family: 'Cormorant Garamond', serif; font-size: 19px; color: var(--text-primary); margin-bottom: 12px;}
.pl-consult-desc {font-family: 'Nunito Sans', sans-serif; font-size: 13.5px; line-height: 1.65; color: var(--text-sub); flex: 1;}
.pl-redeemable {margin-top: 10px; font-family: 'Nunito Sans', sans-serif; font-size: 13px; line-height: 1.7; color: var(--text-muted);}
.pl-consult-full {background: var(--white); border: 1px solid var(--cream-dark); padding: 24px 32px; margin-top: 20px;}
.pl-consult-full p {font-family: 'Nunito Sans', sans-serif; font-size: 14px; line-height: 1.7; color: var(--text-sub);}
.pl-divider {border: none; border-top: 1px solid var(--cream-dark); margin: 64px auto 0; max-width: 1000px;}
.pl-consult-only {background: var(--cream-mid); border: 1px solid var(--cream-dark); padding: 32px; margin-bottom: 20px;}
.pl-consult-only ul {list-style: none; padding: 0; margin: 16px 0 0; display: flex; flex-direction: column; gap: 10px;}
.pl-consult-only li {font-family: 'Nunito Sans', sans-serif; font-size: 15px; color: var(--text-body); display: grid; grid-template-columns: 16px 1fr; gap: 10px; align-items: start;}
.pl-consult-only li span:first-child {color: var(--gold); margin-top: 4px;}
.pl-policy {background: var(--cream-mid); border-top: 1px solid var(--cream-dark); padding: 48px clamp(24px,5vw,72px);}
.pl-policy__inner {max-width: 1000px; margin: 0 auto;}
.pl-policy h3 {font-family: 'Cormorant Garamond', serif; font-size: 24px; font-weight: 500; color: var(--text-primary); margin-bottom: 14px;}
.pl-policy p {font-family: 'Nunito Sans', sans-serif; font-size: 13.5px; line-height: 1.75; color: var(--text-sub); max-width: 760px;}
.pl-policy p + p {margin-top: 10px;}
@media (max-width:1000px) {
  .hair-types-grid {grid-template-columns:1fr; gap:16px;}
}
@media (max-width:600px) {
  .hair-type-card {padding:28px 24px;}
  .hair-type-name {font-size:21px; line-height:1.18;}
  .hair-type-body {font-size:15.5px; line-height:1.68;}
  .hair-types-footnote {padding:16px 18px; font-size:13.5px;}
}
@media (max-width:900px) {
  .anchor-nav-inner {flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:0 20px; gap:16px; scrollbar-width:none;}
}
@media(max-width:620px) {
  .pl-consult-grid {grid-template-columns: 1fr;}
}
@media(max-width:560px) {
  .pl-row {padding: 13px 20px; flex-direction: column; align-items: flex-start; gap: 4px;}
  .pl-price {text-align: left; font-size: 18px;}
  .pl-card-title {padding: 18px 20px 4px; font-size: 18px;}
  .pl-card-sub {padding: 0 20px 6px;}
  .pl-note {padding: 12px 20px 16px;}
  .pl-table th, .pl-table td {padding: 12px 14px;}
  .pl-table th {font-size: 10px; letter-spacing: 0.12em;}
  .pl-table td {font-size: 14px;}
  .pl-table td:not(:first-child) {font-size: 17px;}
  .pl-consult-card {padding: 20px;}
  .pl-consult-amount {font-size: 36px;}
}