/* 1-1 Appointments page styles */
.page-hero { padding-top: calc(var(--header-h) + clamp(40px, 7vw, 90px)); padding-bottom: clamp(20px,4vw,44px); }
.appt-head { display:grid; grid-template-columns:1.05fr .95fr; gap: clamp(34px,5vw,72px); align-items:center; }
.appt-head .display { font-size: clamp(2.7rem,5.6vw,4.6rem); margin:.2em 0 .5em; }
.appt-head .display em { color: var(--mauve-deep); }
.appt-head .ph { aspect-ratio: 4/5; }

.steps { display:grid; grid-template-columns: repeat(4,1fr); gap:14px; }
.step { border:1px solid var(--line); border-radius: 10px; padding: clamp(22px,2.6vw,32px); background:var(--cream); position:relative; }
.step .sn { font-family: var(--serif); font-style: italic; font-size: 1.05rem; color: var(--mauve); }
.step h3 { font-size: 1.2rem; margin:.5em 0 .35em; }
.step p { font-size:.95rem; color:var(--ink-soft); }

.sec-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:1.8em; }

.offer { display:grid; grid-template-columns: repeat(2,1fr); gap:18px; align-items:stretch; }
.offer-card { border:1px solid var(--line); border-radius: 14px; padding: clamp(26px,3vw,40px); background: var(--paper); display:flex; flex-direction:column; transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .3s; }
.offer-card:hover { transform: translateY(-5px); box-shadow:0 30px 56px -34px rgba(43,45,49,.3); }
.offer-card.feature { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.offer-card.feature p, .offer-card.feature .plus, .offer-card.feature .note { color: rgba(245,245,242,.74); }
.offer-card .badge { font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color: var(--mauve-deep); font-weight:700; }
.offer-card.feature .badge { color: var(--mauve); }
.offer-card h3 { font-size:1.5rem; margin:.5em 0 .25em; line-height:1.1; }
.offer-card .dur { font-size:.86rem; color:var(--ink-faint); }
.offer-card.feature .dur { color: rgba(245,245,242,.6); }
.offer-card .price { font-family:var(--serif); font-size:2.5rem; margin:.45em 0 .15em; line-height:1; }
.offer-card .price small { font-size:.8rem; font-family:var(--sans); color:var(--ink-faint); margin-left:.4em; }
.offer-card.feature .price small { color: rgba(245,245,242,.55); }
.offer-card .lead-desc { font-size:.96rem; color:var(--ink-soft); margin:.8em 0 1.1em; }
.offer-card.feature .lead-desc { color: rgba(245,245,242,.8); }
.offer-card .plus { font-size:.8rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--mauve-deep); margin-bottom:.7em; }
.offer-card.feature .plus { color:var(--mauve); }
.offer-card ul { list-style:none; display:flex; flex-direction:column; gap:.6em; margin:0 0 1.4em; font-size:.95rem; }
.offer-card li { display:flex; gap:10px; line-height:1.4; }
.offer-card li svg { width:16px; height:16px; stroke: var(--mauve-deep); flex:none; margin-top:4px; }
.offer-card.feature li svg { stroke: var(--mauve); }
.offer-card .note { font-size:.86rem; font-style:italic; color:var(--ink-faint); margin-bottom:1.4em; }
.offer-card .btn { margin-top:auto; align-self: flex-start; }

/* GLP-1 panel */
.glp-panel { background: var(--ink); color: var(--paper); border-radius:18px; padding: clamp(30px,4vw,60px); }
.glp-panel .eyebrow { color:var(--mauve); }
.glp-panel .eyebrow::before { background:var(--mauve); }
.glp-panel h2 { color:var(--paper); margin:.4em 0 .5em; }
.disclaimer { display:inline-flex; align-items:center; gap:.6em; font-size:.84rem; font-weight:600; color:#f4d9cf; background:rgba(201,127,90,.16); border:1px solid rgba(201,127,90,.4); padding:.6em 1.1em; border-radius:100px; margin-bottom:1.4em; }
.disclaimer svg { width:16px; height:16px; flex:none; }
.glp-grid2 { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,4vw,56px); align-items:start; margin-top:1.4em; }
.glp-intro p { color:rgba(245,245,242,.8); margin-bottom:1.4em; }
.glp-includes { list-style:none; display:flex; flex-direction:column; }
.glp-includes li { display:flex; gap:12px; padding:12px 0; border-bottom:1px solid rgba(245,245,242,.12); font-size:.96rem; color:rgba(245,245,242,.88); }
.glp-includes li:first-child{ padding-top:0; }
.glp-includes svg { width:16px; height:16px; stroke:var(--mauve); flex:none; margin-top:4px; }
.glp-options { display:flex; flex-direction:column; gap:12px; }
.glp-opt { background:rgba(255,255,255,.05); border:1px solid rgba(245,245,242,.16); border-radius:12px; padding:20px 22px; }
.glp-opt .gp-top { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.glp-opt h4 { font-family:var(--serif); font-size:1.18rem; font-weight:500; color:var(--paper); }
.glp-opt .gp-price { font-family:var(--serif); font-size:1.6rem; color:var(--mauve); white-space:nowrap; }
.glp-opt p { font-size:.88rem; color:rgba(245,245,242,.68); margin:.5em 0 1em; }
.glp-opt .btn { padding:.7em 1.3em; font-size:.86rem; }
.glp-who { margin-top:clamp(28px,4vw,46px); padding-top:clamp(24px,3vw,34px); border-top:1px solid rgba(245,245,242,.14); }
.glp-who h3 { color:var(--paper); font-size:1.3rem; margin-bottom:.4em; }
.glp-who p { color:rgba(245,245,242,.74); max-width:70ch; }

.cover { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,72px); align-items:center; }
.cover .ph { aspect-ratio:3/4; }
.checklist { list-style:none; display:flex; flex-direction:column; }
.checklist li { display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line-soft); font-size:1.04rem; }
.checklist li:first-child{ padding-top:0; }
.checklist .ck { flex:none; width:24px;height:24px;border-radius:50%;background:var(--mauve-wash);border:1px solid var(--mauve-tint);display:grid;place-items:center;margin-top:2px; }
.checklist .ck svg { width:12px;height:12px;stroke:var(--mauve-deep); }

[data-acc] { border-top:1px solid var(--line); max-width: 820px; }
.acc-item { border-bottom:1px solid var(--line); }
.acc-head { width:100%; display:flex; align-items:center; gap:18px; padding:24px 0; text-align:left; }
.acc-head .at { font-family:var(--serif); font-size:clamp(1.15rem,2vw,1.45rem); flex:1; }
.acc-head .ai { position:relative; flex:none; width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center; transition:background .3s,border-color .3s; }
.acc-head .ai::before,.acc-head .ai::after { content:"";position:absolute;width:11px;height:1.6px;background:var(--ink);transition:transform .35s var(--ease),background .3s; }
.acc-head .ai::after { transform:rotate(90deg); }
.acc-item.open .ai { background:var(--mauve-deep); border-color:var(--mauve-deep); }
.acc-item.open .ai::before,.acc-item.open .ai::after { background:#fff; }
.acc-item.open .ai::after { transform:rotate(0); }
.acc-body { max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.acc-body p { padding:0 48px 24px 0; color:var(--ink-soft); }
@media (prefers-reduced-motion: reduce){ .acc-body { transition:none; } }

@media (max-width: 980px){ .steps { grid-template-columns:1fr 1fr; } .offer { grid-template-columns:1fr; } .glp-grid2 { grid-template-columns:1fr; } }
@media (max-width: 920px){ .appt-head, .cover { grid-template-columns:1fr; } .appt-head .ph { aspect-ratio:16/10; max-width:540px; } .cover .ph { aspect-ratio:16/11; order:-1; } }
@media (max-width: 760px){ .nav,.header-cta .btn{display:none;} .burger{display:flex;} .foot-grid{grid-template-columns:1fr 1fr;} .steps{grid-template-columns:1fr;} }
@media (max-width: 480px){ .foot-grid{grid-template-columns:1fr;} }
