/* Shared rendering rules: same downloaded fonts, colours and controls on all devices. */
:root{color-scheme:light;--muted:#5b7070;--line:#cfdfda;--paper:#fffefb}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:'Inter',Arial,sans-serif;color:var(--ink);background:var(--background)}
h1,h2,h3,h4,h5,h6,input,select,textarea,button,summary{font-family:inherit}
h1,h2,h3,h4{color:var(--ink);font-weight:400}
em{font-family:'Libre Caslon Text',Georgia,serif;color:var(--accent)}
button,input,textarea,select{color:var(--ink);line-height:1.5}
button,input:not([type=radio]):not([type=checkbox]),textarea{-webkit-appearance:none;appearance:none}
input[type=radio],input[type=checkbox]{accent-color:var(--accent)}
a,button{-webkit-tap-highlight-color:transparent}
a[x-apple-data-detectors]{color:inherit!important;font:inherit!important;text-decoration:inherit!important}
.site-header,.site-header nav{background:var(--paper)}
.menu-toggle{color:var(--ink);font-weight:500;align-items:center;justify-content:center;min-height:44px}
.menu-icon{display:flex;align-items:center}
.menu-toggle[aria-expanded=true] .menu-icon svg{transform:rotate(90deg)!important}
.button,.button:visited{background:var(--brand);border-color:var(--brand);color:#173e47}
.button.outline{background:transparent;color:var(--ink)}
.prose,.prose p,.prose li,.testimonials blockquote{font-size:16px;line-height:1.75;color:var(--muted)}
.prose strong{font-weight:600;color:var(--ink)}
.prose h3{font-size:26px;line-height:1.25;letter-spacing:-.025em}
.prose a{overflow-wrap:anywhere}
.eyebrow,.prose .eyebrow{font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.16em;color:var(--accent)}
.contents,.ortho-block,.ortho-callout,.testimonials>.dt-sc-testimonial,.appointment-layout .request-form,.page-contact .plain-content .request-form{background:var(--panel);border-color:var(--line)}
.article-section h2,.gallery-sections h2{font-weight:400;letter-spacing:-.04em}
.request-form input:not([type=radio]):not([type=hidden]),.request-form select,.request-form textarea{background:var(--paper);color:var(--ink);border-color:var(--line);font-size:16px}
.request-form input::placeholder,.request-form textarea::placeholder{color:var(--muted);opacity:1}
.hero-photo,.inner-visual figure{isolation:isolate;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.hero-photo .photo-note{top:18%;right:18%;max-width:65%;text-align:center}
.hero-photo .image-credit{bottom:12%;right:18%}
.inner-visual figcaption{left:20%;right:15%;bottom:12%;text-align:center}
@media(max-width:1000px){
 .site-header nav{padding:14px 6% 24px;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;box-shadow:0 16px 24px #314a4c10;border-bottom:1px solid var(--line)}
 .site-header nav.is-open{display:grid;grid-template-columns:1fr;gap:0}
 .site-header nav a{display:flex;align-items:center;padding:13px 16px;min-height:48px;font-size:17px;font-weight:400;line-height:1.35;border-bottom:1px solid var(--line);color:var(--ink);white-space:normal}
 .site-header nav a[aria-current=page]{color:var(--accent);background:var(--panel);border-radius:8px;font-weight:600}
 .site-header nav a[aria-current=page]:after{display:none}
 .site-header nav a:last-child{border-bottom:0}
}
@media(max-width:680px){
 .site-header .brand{width:min(var(--logo-width-mobile,220px),60vw)}
 .site-header .brand img{height:auto;max-height:78px}
 .hero h1,.inner-copy h1,.page-testimonial .inner-copy h1,.page-appointments .inner-copy h1,.page-termsandconditions .inner-copy h1,.page-gallery .inner-copy h1,.page-contact .inner-copy h1{font-size:clamp(38px,10.8vw,59px);line-height:1.08;letter-spacing:-.055em;overflow-wrap:normal}
 .hero h1 em,.inner-copy h1 em{font-size:1em;letter-spacing:-.055em}
 .hero h1 em{white-space:normal}
 .hero-actions{flex-wrap:wrap;gap:16px}
 .hero-actions .button,.inner-copy .hero-actions .button{font-size:13px;min-height:48px;padding:14px 18px}
 .hero-actions .text-link,.inner-copy .hero-actions .text-link{font-size:13px}
 .article-section h2,.gallery-sections h2,.page-cta h2{font-size:32px;line-height:1.15}
 .prose h3,.ortho-block h3,.ortho-feature h3{font-size:24px;line-height:1.25}
 .request-form{grid-template-columns:1fr}
 .request-form label{font-size:13px}
 .prose img.alignright,.prose img.alignleft{float:none;display:block;max-width:100%;height:auto;margin:24px 0}
 .inner-floating,.hero-float{animation:none}
 .hero-photo figcaption{font-size:11px;line-height:1.5;max-width:72%;left:12%;bottom:20%;padding:8px 12px}
 .hero-photo .photo-note{font-size:7px}
 .services-strip br:after{content:' '}
}
.menu-toggle[aria-expanded=true] .menu-icon svg{transform:none!important}.services-strip>a>span:nth-child(2){word-spacing:.06em}
.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-grid>*{min-width:0;overflow-wrap:anywhere}.team-grid h4{line-height:1.3}.team-grid h4 span,.team-grid h4 small{display:block}.team-grid img{max-width:100%}
@media(max-width:680px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid h4{font-size:18px}.team-grid .dt-sc-team{width:100%;min-width:0}.team-grid p,.team-grid a{font-size:13px}}

/* Uniform staff portraits and clean profile details on all screens. */
.team-grid .dt-sc-team{display:flex;flex-direction:column;height:100%;padding:12px;overflow:hidden}
.team-grid .dt-sc-team-thumb{width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:16px;background:var(--panel);flex-shrink:0}
.team-grid .dt-sc-team-thumb img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 20%;border:0;border-radius:0;margin:0}
.team-grid .dt-sc-team-thumb img[src*="customer"]{object-fit:contain;padding:12%;object-position:center}
.team-grid .dt-sc-team-details{padding:20px 8px 12px;text-align:left}
.team-grid .dt-sc-team-details h4{font-size:22px;line-height:1.3;margin:0 0 5px;letter-spacing:-.025em}
.team-grid .team-qualification{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 12px}
.team-grid .dt-sc-team-details h5{font-size:14px;line-height:1.5;font-weight:500;margin:0;color:var(--accent)}
@media(max-width:680px){.team-grid{gap:16px}.team-grid .dt-sc-team{padding:8px;border-radius:18px}.team-grid .dt-sc-team-thumb{border-radius:12px}.team-grid .dt-sc-team-details{padding:14px 4px 10px}.team-grid .dt-sc-team-details h4{font-size:17px}.team-grid .dt-sc-team-details h5,.team-grid .team-qualification{font-size:12px}}
.form-intro{font-size:14px;line-height:1.7;margin:0 0 6px;color:var(--muted)}.form-intro a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
/* Five staff profiles across on desktop, with smaller layouts below. */
@media(min-width:1001px){.team-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.team-grid .dt-sc-team-details{padding:16px 4px 10px}.team-grid .dt-sc-team-details h4{font-size:19px}}
@media(min-width:681px) and (max-width:1000px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Keep mobile portrait faces clear: reserve a separate row for the service link. */
@media(max-width:680px){
 .hero{padding-bottom:106px}
 .hero-float{top:auto;bottom:18px;left:auto;right:6%;animation:none;transform:none}
 .signature-seal{bottom:130px}
 .smile-line{bottom:93px}
 .hero-orbit{bottom:68px}
 .hero:before{bottom:103px}
}

/* No decorative arrows; labels carry the action. */
.tips li:before,.tips-copy li:before{content:none!important;display:none!important}
.tips-copy li,.tips li{padding-left:0}
.hero-float,.inner-floating{gap:0}
.payment-symbol{display:none}
