/* ===== Inner page styles ===== */

/* Page hero */
.phero{padding-block:clamp(118px,14vw,156px) clamp(40px,5vw,64px);}
.phero-sand{background:linear-gradient(180deg,var(--sand-soft),var(--cream));}
.phero-pine{background:var(--pine-deep);color:#fff;}
.phero-pine .eyebrow{color:var(--sage-soft);}
.phero-pine .eyebrow::before{background:var(--sage);}
.phero-title{font-size:clamp(40px,6.5vw,84px);font-weight:470;letter-spacing:-.025em;margin-top:20px;line-height:1;}
.phero-title .italic{color:var(--pine);}
.phero-pine .phero-title .italic{color:var(--sage-soft);}
.phero-sub{margin-top:24px;font-size:clamp(16px,1.5vw,19px);line-height:1.62;color:var(--muted);}
.phero-pine .phero-sub{color:var(--sage-soft);}

/* section headers */
.sec-h2{font-size:clamp(28px,3.8vw,44px);margin-top:14px;letter-spacing:-.02em;}
.sec-lede{margin-top:16px;font-size:17px;line-height:1.62;color:var(--muted);margin-bottom:clamp(28px,4vw,48px);}

/* jump nav */
.svc-jump{display:flex;flex-wrap:wrap;gap:10px;padding-top:clamp(24px,3vw,40px);}
.svc-jump-btn{font-size:14px;font-weight:560;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:10px 18px;border-radius:999px;transition:.2s;}
.svc-jump-btn:hover{border-color:var(--pine);color:var(--pine);background:var(--sand-soft);}

/* Tick lists */
.tick{width:18px;height:18px;border-radius:50%;background:rgba(47,107,97,.1);flex:none;position:relative;margin-top:3px;}
.tick::after{content:"";position:absolute;left:5px;top:6px;width:5px;height:8px;border-right:2px solid var(--pine);border-bottom:2px solid var(--pine);transform:rotate(40deg);}

/* Service blocks — text-only layout */
.svc-block{padding-block:clamp(48px,7vw,88px);}
.svc-block.alt{background:var(--sand-soft);}
.svc-textgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,6vw,84px);align-items:start;}
.svc-textlead{}
.svc-name{font-size:clamp(30px,4.4vw,50px);margin:14px 0 18px;letter-spacing:-.02em;}
.svc-desc{font-size:17px;line-height:1.72;color:var(--muted);margin-bottom:28px;}
.svc-cond-wrap{border-top:1px solid var(--line);padding-top:26px;}
.svc-cond-h{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--pine);font-weight:600;margin-bottom:18px;}
.svc-cond-note{letter-spacing:.02em;text-transform:none;color:var(--muted-2);font-weight:500;font-style:italic;}
.svc-cond{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;}
.svc-cond li{display:flex;gap:11px;font-size:15px;color:var(--ink);line-height:1.45;align-items:flex-start;}
.svc-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
@media (max-width:860px){
  .svc-textgrid{grid-template-columns:1fr;gap:30px;}
  .svc-cond-wrap{border-top:none;padding-top:0;}
}
@media (max-width:520px){.svc-cond{grid-template-columns:1fr;}}

/* About */
.about-team{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,72px);align-items:start;}
.about-ph{border-radius:var(--r-lg);box-shadow:var(--sh-md);position:sticky;top:96px;}
.about-name{font-size:clamp(32px,4.4vw,52px);margin-top:14px;letter-spacing:-.02em;}
.about-role{color:var(--pine);font-weight:600;font-size:15px;letter-spacing:.02em;margin:6px 0 22px;}
.about-bio{font-size:16.5px;line-height:1.72;color:var(--muted);margin-bottom:18px;}
.about-tags{margin-top:14px;}
.about-tags-h{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--pine);font-weight:600;margin-bottom:14px;}
.about-cta{margin-top:28px;}
@media (max-width:820px){.about-team{grid-template-columns:1fr;}.about-photo{max-width:380px;}.about-ph{position:static;}}

/* Clinic */
.clinic{background:var(--cream);}
.clinic-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.clinic-title{font-size:clamp(28px,3.8vw,44px);margin:14px 0 22px;letter-spacing:-.02em;}
.clinic-title .italic{color:var(--pine);}
.clinic-p{font-size:16px;line-height:1.7;color:var(--muted);margin-bottom:16px;}
.clinic-media{display:grid;gap:18px;}
.clinic-ph{border-radius:var(--r-md);box-shadow:var(--sh-sm);}
.clinic-ph-2{margin-left:clamp(20px,6vw,64px);}
@media (max-width:820px){.clinic-grid{grid-template-columns:1fr;}}

/* Values */
.values{background:var(--pine-deep);color:#fff;padding-block:clamp(56px,7vw,92px);}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px);}
.value-card{border-top:2px solid rgba(255,255,255,.16);padding-top:22px;}
.value-n{display:block;font-size:30px;color:var(--sage-soft);margin-bottom:14px;}
.value-h{font-size:19px;font-weight:560;margin-bottom:10px;}
.value-b{font-size:14.5px;line-height:1.6;color:var(--sage-soft);}
@media (max-width:820px){.values-grid{grid-template-columns:1fr 1fr;gap:30px 24px;}}
@media (max-width:480px){.values-grid{grid-template-columns:1fr;}}

/* Rates accordion */
.rates{display:flex;flex-direction:column;gap:12px;}
.rate-cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;}
.rate-head{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:22px clamp(18px,2.5vw,30px);transition:.2s;}
.rate-head:hover{background:var(--sand-soft);}
.rate-cat-name{font-size:clamp(20px,2.4vw,26px);font-weight:480;}
.rate-meta{font-size:13.5px;color:var(--muted-2);margin-left:auto;}
.rate-chev{color:var(--pine);transition:transform .3s;}
.rate-cat.open .rate-chev{transform:rotate(180deg);}
.rate-panel{overflow:hidden;max-height:0;transition:max-height .4s cubic-bezier(.2,.7,.3,1);}
.rate-cat.open .rate-panel{max-height:2200px;}
.rate-panel-inner{overflow:hidden;}
.rate-group{padding-top:6px;}
.rate-group:first-child{padding-top:0;}
.rate-sub{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--pine);font-weight:700;padding:18px clamp(18px,2.5vw,30px) 8px;background:var(--sand-soft);border-top:1px solid var(--line-soft);}
.rate-group:first-child .rate-sub{border-top:none;}
.rate-row{display:grid;grid-template-columns:1fr 90px 80px;gap:16px;align-items:center;padding:14px clamp(18px,2.5vw,30px);border-top:1px solid var(--line-soft);}
.rate-svc{font-size:15px;color:var(--ink);}
.rate-dur{font-size:13.5px;color:var(--muted-2);text-align:right;}
.rate-price{font-size:15px;font-weight:600;color:var(--pine);text-align:right;}
.rate-price.free{color:var(--coral);}
@media (max-width:560px){.rate-row{grid-template-columns:1fr 70px;}.rate-dur{display:none;}}

/* Insurance */
.insurance{background:var(--sand-soft);}
.insurers{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.insurer{font-size:14px;font-weight:520;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:9px 16px;border-radius:999px;}
.insurance-note{font-size:14px;line-height:1.65;color:var(--muted);max-width:78ch;}

/* Billing */
.billing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,2.4vw,28px);margin-top:8px;}
.billing-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:clamp(22px,3vw,32px);box-shadow:var(--sh-sm);}
.billing-h{font-size:19px;font-weight:560;color:var(--pine);margin-bottom:11px;}
.billing-b{font-size:15px;line-height:1.65;color:var(--muted);}
@media (max-width:680px){.billing-grid{grid-template-columns:1fr;}}

/* Careers */
.careers-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:clamp(34px,5vw,72px);align-items:start;}
.careers-body{font-size:17px;line-height:1.7;color:var(--muted);margin-bottom:14px;}
.careers-sub{font-size:clamp(22px,2.6vw,28px);margin:36px 0 18px;letter-spacing:-.01em;}
.role-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.role-tile{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;font-size:16px;font-weight:540;}
.role-dot{width:9px;height:9px;border-radius:50%;background:var(--sage);flex:none;}
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;}
.check-list li{display:flex;gap:12px;font-size:15.5px;line-height:1.5;color:var(--ink);align-items:flex-start;}
.careers-aside{position:sticky;top:96px;}
.apply-card{background:var(--pine);color:#fff;border-radius:var(--r-lg);padding:clamp(26px,3vw,38px);box-shadow:var(--sh-md);}
.apply-title{font-size:30px;margin-bottom:14px;}
.apply-text{font-size:15.5px;line-height:1.62;color:rgba(255,255,255,.88);margin-bottom:24px;}
.apply-btn{width:100%;margin-bottom:14px;}
.apply-email{display:block;text-align:center;font-size:14px;color:var(--sage-soft);margin-bottom:24px;}
.apply-flex{display:flex;gap:8px;justify-content:center;}
.apply-card .chip{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);color:#fff;}
@media (max-width:860px){.careers-grid{grid-template-columns:1fr;}.careers-aside{position:static;}.role-tiles{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.role-tiles{grid-template-columns:1fr;}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.3fr;gap:clamp(32px,5vw,64px);align-items:start;}
.contact-info{display:flex;flex-direction:column;gap:30px;}
.ci-block{}
.ci-h{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--pine);font-weight:600;margin-bottom:14px;}
.ci-big{display:block;font-family:var(--serif);font-size:clamp(20px,2.2vw,25px);color:var(--ink);margin-bottom:6px;transition:.2s;}
.ci-big:hover{color:var(--pine);}
.hours{list-style:none;margin:0;padding:0;}
.hours li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px;}
.hours li span:first-child{color:var(--ink);font-weight:520;}
.hours li span:last-child{color:var(--muted);}
.hours li.closed span:last-child{color:var(--muted-2);}
.ci-addr{font-size:15.5px;line-height:1.6;color:var(--muted);margin-bottom:16px;}
.ci-avail{display:flex;flex-direction:column;gap:10px;}
.ci-avail-row{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);}
.ci-avail-row strong{color:var(--pine);font-weight:600;}

.contact-main{display:flex;flex-direction:column;gap:22px;}
.contact-map{border-radius:var(--r-lg);width:100%;aspect-ratio:16 / 7;border:0;display:block;background:var(--sand-soft);box-shadow:var(--sh-sm);}
.form-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:clamp(24px,3.5vw,40px);box-shadow:var(--sh-sm);}
.form-title{font-size:clamp(24px,3vw,32px);margin-bottom:24px;}
.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.field-label{font-size:13px;font-weight:560;color:var(--ink);letter-spacing:.01em;}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--cream);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;transition:.2s;width:100%;}
.field textarea{resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--pine);background:var(--surface);box-shadow:0 0 0 4px rgba(47,107,97,.08);}
.field-err input,.field-err select,.field-err textarea{border-color:#b4543f;}
.field-msg{font-size:12.5px;color:#b4543f;}
.form-row2 .field{margin-bottom:0;}
.form-submit{width:100%;margin-top:6px;}
.form-fine{font-size:13px;color:var(--muted-2);text-align:center;margin-top:14px;}
.form-fine a{color:var(--pine);font-weight:560;text-decoration:underline;text-underline-offset:2px;}
.form-sent{text-align:center;padding:14px 0 8px;}
.sent-check{width:60px;height:60px;border-radius:50%;background:rgba(47,107,97,.1);color:var(--pine);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.form-sent h4{font-size:26px;margin-bottom:12px;}
.form-sent p{font-size:15.5px;line-height:1.6;color:var(--muted);max-width:42ch;margin:0 auto 24px;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}
@media (max-width:520px){.form-row2{grid-template-columns:1fr;gap:0;}.form-row2 .field{margin-bottom:18px;}}
