/* Shared surfaces. Final geometry is governed by REVIEW-STANDARDS.md. */
:root{
  --surface-shape:50px 0 50px 0;
  --surface-shape-small:26px 0 26px 0;
  --surface-round:26px;
  --surface-shadow:0 10px 32px rgba(64,43,32,.035);
  --soft-rule:rgba(174,143,121,.18);
}
.branch-card,.concern-card{
  border:0;
  border-radius:var(--surface-shape);
  background:var(--tint);
  box-shadow:var(--surface-shadow);
  transition:background .2s,box-shadow .2s,transform .2s;
}
.branch-card{padding-top:56px}
.branch-card:before{
  top:28px;left:32px;right:auto;width:48px;height:4px;
  border-radius:999px;
}
.branch-card:hover,.concern-card:hover{
  background:var(--tint);
  box-shadow:0 14px 36px rgba(64,43,32,.075);
  transform:translateY(-3px);
}
.concern-card .card-number{color:var(--copper)}
.treatments-section{
  border:0;border-radius:var(--surface-shape);
  box-shadow:var(--surface-shadow);
}
.treatment-list{border-top:0}
.treatment-list details{border-bottom-color:var(--soft-rule)}
.treatment-list details:last-child{border-bottom:0}
.faq-list{border-top:0;display:grid;gap:12px}
.faq-list details{
  border:0;border-radius:var(--surface-shape-small);
  background:#fff;box-shadow:var(--surface-shadow);
  padding-inline:28px;
}
.article-body .faq-list details{background:var(--warm)}
.faq-list .details-body{padding-right:0}
.related-links a{
  border:0;border-radius:var(--surface-shape-small);
  background:var(--warm);padding:14px 22px;
}
.related-links a:hover{background:#f2e8e0}
.article-aside>div{
  border-right:0;border-radius:var(--surface-shape-small);
  background:var(--warm);padding:28px 24px;
}
.article-aside hr,.contact-specialties{border-color:var(--soft-rule)}
.contact-primary,.contact-address{
  border:0;background:var(--warm);
  border-radius:var(--surface-shape);padding:40px;
}
.contact-grid{gap:32px}
.map-wrap iframe{border:0;border-radius:var(--surface-shape)}
.site-header,.review-strip,.closing-cta,.hub-hero,.page-hero{
  border-color:var(--soft-rule);
}
@media(max-width:720px){
  :root{--surface-shape:36px 0 36px 0;--surface-shape-small:22px 0 22px 0;--surface-round:22px;}
  .branch-card{padding-top:48px}
  .branch-card:before{top:24px;left:24px;width:40px}
  .faq-list details{padding-inline:20px}
  .contact-primary,.contact-address{padding:28px 24px;border:0}
  .contact-grid{gap:20px}
  .menu-toggle{border:0;background:var(--warm);border-radius:var(--surface-shape-small)}
  #main-nav{border-bottom:0;border-radius:0 0 var(--surface-round) var(--surface-round)}
}
@media(prefers-reduced-motion:reduce){
 .branch-card:hover,.concern-card:hover{transform:none}
}

/* Scope the map's controls so shared site styles cannot distort map tiles. */
.practice-map{height:420px;width:100%;position:relative;z-index:0;border-radius:var(--surface-shape);background:#f1eee8;font-family:var(--font);font-size:15px}
.practice-map .leaflet-tile{max-width:none!important;max-height:none!important}
.practice-map .leaflet-control-zoom a{color:var(--ink);font-size:23px;line-height:44px;width:44px;height:44px}
.practice-map .leaflet-popup-content{line-height:1.6;font-size:15px}
.practice-map .leaflet-popup-content strong{font-family:var(--heading);font-size:17px}
.practice-map .leaflet-popup-content a{display:inline-block;margin-top:8px;color:var(--copper);text-decoration:underline}
.practice-map .leaflet-popup-content-wrapper{border-radius:22px 4px 22px 4px}
.practice-map .leaflet-control-attribution{font-size:11px;background:rgba(255,255,255,.93);padding:3px 52px 3px 12px;max-width:100%}
.practice-map .leaflet-control-attribution a{color:#4c4c4c;text-decoration:underline}
.practice-pin{background:var(--copper);border:3px solid white;border-radius:50%;box-shadow:0 2px 12px #0005}
.practice-pin span{display:block;width:8px;height:8px;border-radius:50%;background:white;margin:7px}
.map-wrap .map-status{font-size:14px;color:var(--muted);text-align:left;margin-top:12px}
@media(max-width:720px){.practice-map{height:360px}.practice-map .leaflet-control-attribution{font-size:10px}}

.practice-map .leaflet-top.leaflet-left .leaflet-control-zoom{margin-top:24px;margin-left:24px}

/* Review standards addendum, 15 September 2026. Keep narrow reading columns
   within the shared 1200px content container. Inputs retain the SOP's 4px radius. */
:root{--muted:var(--ink)}
.breadcrumbs,.breadcrumbs ol,.breadcrumbs li+li:before{color:var(--ink)}
.demo-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}
.assigned-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);align-items:center;gap:64px}
.assigned-hero-image{margin:0;justify-self:end;max-width:330px}
.assigned-hero-image img{display:block;width:100%;height:auto;border-radius:0 0 4px 4px}
.combination-section{background:var(--warm)}
.combination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}
/* A set that is short a photograph should not leave a hole on the right.
   The remaining cards keep the width they have in a full row and centre. */
.combination-grid[data-cards="2"]{grid-template-columns:repeat(2,minmax(0,380px));justify-content:center}
.combination-grid[data-cards="1"]{grid-template-columns:minmax(0,380px);justify-content:center}
.combination-card{margin:0;background:#fff;border-radius:var(--surface-shape);overflow:hidden}
.combination-card img{display:block;width:100%;height:auto}
.combination-card figcaption{padding:24px}
.combination-card h3{margin:0;font-size:22px}
.combination-action{margin-top:32px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.testimonial-card{margin:0;border-radius:4px;overflow:hidden;background:var(--warm)}
.testimonial-card video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#000}
.testimonial-card figcaption{padding:16px 24px;font-family:var(--heading);font-size:18px}
.testimonial-note{font-size:15px;margin-top:24px}
@media(max-width:720px){.testimonial-grid{grid-template-columns:1fr;gap:24px}.testimonial-card{width:100%;max-width:340px;margin-inline:auto}}
@media(max-width:720px){.assigned-hero{grid-template-columns:1fr;gap:32px}.assigned-hero-image{justify-self:center;max-width:280px}.combination-grid,.combination-grid[data-cards="1"],.combination-grid[data-cards="2"]{grid-template-columns:1fr;gap:24px;justify-content:stretch}.combination-card{max-width:340px;margin-inline:auto;width:100%}}
.review-strip,.home-hero .eyebrow,.card-number,.branch-card p,.treatment-number{color:var(--ink)}
.review-strip,.header-phone span,.article-aside .eyebrow,.eyebrow,.breadcrumbs ol{font-size:13px}
.content-section h2,.treatments-section h2{font-size:34px;text-wrap:pretty}
.section,.team-feature-copy,.closing-cta,.page-hero,.article-layout,.branch-band{padding-block:96px}
.header-inner{padding-block:16px}
.header-film{aspect-ratio:auto;overflow:visible}
.header-film video{width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}
/* The supplied Home film is 16:9. Preserve faces and the practice signage. */
/* Eddy's revised home film is 1920x640 like the three branch films, not the
   1920x1080 it replaced. Forcing 16/9 with object-fit:contain letterboxed it
   inside a grey band above and below. */
.home-film video{aspect-ratio:3/1}
.video-toggle{min-height:44px;min-width:44px;font-size:13px}
.review-note{border-left:3px solid var(--copper-light);padding:20px 24px;margin-block:24px;background:var(--warm);font-size:15px;line-height:1.6}
.review-note strong{display:block;font-family:var(--heading);font-weight:600;margin-bottom:8px}
.review-note p{margin-bottom:0}
.consultation-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;scroll-margin-top:170px}
.consultation-layout .contact-grid{display:flex;flex-direction:column;gap:24px;margin-bottom:0}
.consultation-preview{min-width:0;padding:40px;background:var(--warm);border-radius:var(--surface-shape)}
.consultation-preview .review-note{background:#fff}
.demo-form fieldset{border:0;padding:0;margin:32px 0 0;min-width:0}
.demo-form legend{font-family:var(--heading);font-size:20px;font-weight:500;margin-bottom:24px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:15px;min-width:0}
.form-grid input,.form-grid select{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:12px;font:inherit;color:var(--ink);opacity:1;-webkit-text-fill-color:var(--ink)}
.form-grid input::placeholder{color:var(--ink);opacity:.65}
.preview-consents{margin-top:32px;font-size:15px}
.preview-consents>p{margin-bottom:16px}
.preview-consents label{display:flex;align-items:center;gap:12px;min-height:44px;padding-block:8px}
.preview-consents input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--copper)}
.form-help{font-size:15px;margin-block:24px}
.form-status{font-size:15px;margin:24px 0 0}
.demo-submit{font-size:18px;min-height:56px;padding:16px 32px}
.map-wrap{margin-top:56px}
@media(max-width:1000px){.consultation-layout{grid-template-columns:1fr}.consultation-layout .contact-grid{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:720px){
 .content-section h2,.treatments-section h2{font-size:26px;line-height:1.25}
 .section,.team-feature-copy,.closing-cta,.page-hero,.article-layout,.branch-band{padding-block:56px}
 .header-inner{padding-block:12px}
 .home-hero .eyebrow{font-size:13px}
 .video-toggle{position:relative;display:block;right:auto;bottom:auto;margin:8px 12px 0 auto;min-height:44px;font-size:13px;padding:10px 16px}
 .header-film{padding-bottom:8px}
 .consultation-layout{gap:24px;scroll-margin-top:140px}
 .consultation-preview{padding:28px 20px}
 .form-grid{grid-template-columns:1fr;gap:20px}
 .consultation-layout .contact-grid{display:flex}
 .demo-submit{width:100%}
 .review-note{padding:16px 20px}
}

/* Ray handoff reconciliation, v1.6. SOP geometry and secondary-button colors
   govern this review by default; the previous curved treatment is superseded. */
:root{--surface-shape:4px;--surface-shape-small:4px;--surface-round:4px;--copper-deep:#9C4E38}.button, .menu-toggle, .video-toggle{border-radius:999px}
.button{background:var(--copper-deep);color:#fff;border:2px solid var(--copper-deep)}
.button:hover{background:var(--copper-dark);border-color:var(--copper-dark);color:#fff}
.button-secondary{background:transparent;color:var(--copper-deep);border:2px solid var(--copper-deep)}
.button-secondary:hover{background:var(--warm);color:var(--copper-deep)}
.practice-map .leaflet-popup-content-wrapper{border-radius:4px}
.header-actions .button,.hero-actions .button,.home-hero .button{border-radius:999px}
.container{padding-inline:24px}.header-actions .button, .article-aside a{font-size:17px}
.article-body strong,.review-note strong{font-weight:600}
@media(max-width:720px){:root{--surface-shape:4px;--surface-shape-small:4px;--surface-round:4px}}

/* Audit 27 final pass: ordinary section headings and visible phone focus. */
.split h2,.branch-band h2{font-size:34px}
@media(max-width:720px){
 .split h2,.branch-band h2{font-size:26px}
 .video-toggle:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
}

.article-aside .aside-heading{font-family:var(--heading);font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.02em;margin-bottom:24px}


/* Dr. Julio's September 16 practice details and membership pages. */
.membership-pathways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-block:40px 56px}
.membership-card,.passport-milestone{padding:32px;border-radius:4px;background:var(--warm)}
.membership-card h3{font-size:24px;margin-bottom:20px}
.membership-highlight{font-size:22px;line-height:1.5}
.membership-inclusions ul{columns:2;column-gap:56px;margin-bottom:40px}
.membership-inclusions li{break-inside:avoid;padding-bottom:8px}
.membership-terms{padding:24px;background:var(--warm);border-radius:4px;font-size:17px}
.passport-section{background:var(--warm)}
.passport-section .content-section{max-width:none}
.passport-milestones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-block:24px}
.passport-milestone{background:#fff;padding:28px 24px}
.passport-milestone h4{font-family:var(--heading);font-size:18px;font-weight:500;line-height:1.6;margin:0}
.office-hours{margin-top:32px}
.office-hours h3{font-size:22px}
.office-hours dl{margin:16px 0 8px}
.office-hours dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:12px;row-gap:4px;padding-block:8px;border-bottom:1px solid var(--line)}
.office-hours dt,.office-hours dd{margin:0;font-size:17px}
.office-hours dd{white-space:nowrap}
.hours-timezone{font-size:15px;margin:12px 0 0}
.policy-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-block:24px}
.policy-links a{display:flex;align-items:center;min-height:44px;padding-block:8px}
.legal-document{overflow-wrap:anywhere}
.legal-document .content-section{scroll-margin-top:160px}
.legal-document h2{font-size:34px;line-height:1.3}
.legal-document h3{font-size:24px;line-height:1.4}
.legal-contents{margin-bottom:48px;padding:20px 24px;background:var(--warm);border-radius:4px}
.legal-contents summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-family:var(--heading);font-weight:600}
.legal-contents summary::after{content:'+';margin-left:auto;padding-left:16px}
.legal-contents[open] summary::after{content:'−'}
.legal-contents ol{padding-left:24px;margin-bottom:8px}
.legal-contents a{display:flex;align-items:center;min-height:44px;padding-block:8px;text-decoration:underline;text-underline-offset:4px}
a[href^="mailto:"]{overflow-wrap:anywhere}
@media(max-width:1000px){.passport-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .membership-pathways,.passport-milestones{grid-template-columns:1fr;gap:20px}
 .membership-pathways{margin-block:24px 40px}
 .membership-card,.passport-milestone{padding:24px}
 .membership-inclusions ul{columns:1}
 .membership-highlight{font-size:20px}
 .legal-document h2{font-size:26px}
 .legal-document h3{font-size:22px}
 .legal-contents{padding:16px 20px;margin-bottom:32px}
}
