body{margin:0;background:#F7F5F0}html{scroll-padding-top:96px}.pg{min-height:100vh}.pg p{max-width:64ch}.pg h1,.pg h2,.pg h3{font-family:'Fraunces',serif;font-weight:400;font-variation-settings:"SOFT" 0,"WONK" 0;letter-spacing:-.015em}.pg button,.pg input,.pg textarea{font-family:'Public Sans',sans-serif}.pg :focus-visible{outline:2px solid #B08D3E;outline-offset:4px}.pg .hero h1{font-size:80px;font-weight:500;font-style:normal;color:#F4F1EA}.clinic-image{display:block;position:relative;width:100%;height:100%;object-fit:cover;border-radius:6px}.photo>.clinic-image{position:absolute;inset:0}.pg .badge{box-shadow:none}.pg .prices td:last-child{font-family:'Fraunces',serif;font-weight:400;font-variant-numeric:tabular-nums}.pg .header .wrap{gap:20px}.pg .header .nav{gap:18px}.pg .soc{flex-shrink:0}.pg .header .btn{margin-left:auto;white-space:nowrap}.pg .cert img{width:100%;height:280px;object-fit:contain;background:#fff}.clinic-map{width:100%;height:240px;border:0;border-radius:6px;margin-block:24px}.mobile-menu,.mobile-book{display:none}.skip-link{position:fixed;left:24px;top:-100px;z-index:100;background:#fff;padding:12px}.skip-link:focus{top:12px}#clinic-lightbox{border:1px solid #DDD6C8;border-radius:6px;max-width:94vw;max-height:94vh;padding:16px;background:#F7F5F0}#clinic-lightbox::backdrop{background:rgba(11,30,61,.88)}#clinic-lightbox img{display:block;max-width:85vw;max-height:78vh;object-fit:contain;margin:auto}#clinic-lightbox button{display:block;margin:0 0 12px auto;padding:12px 20px;background:#B08D3E;color:#0B1E3D;border:0;cursor:pointer}#contact-status{padding:12px;border:1px solid #B08D3E}.pg .form input:not([type=checkbox]),.pg .form textarea{width:100%}.pg .form button{cursor:pointer}#blazor-error-ui{display:none;position:fixed;bottom:0;z-index:100;background:#fff;padding:16px}
@media(max-width:1080px){.pg .header .nav,.pg .header>.wrap>.soc{display:none}.mobile-menu{display:block;margin-left:auto}.mobile-menu summary{cursor:pointer;font-size:24px;list-style:none;padding:6px}.mobile-menu nav{position:absolute;top:76px;left:0;right:0;background:#F7F5F0;border-bottom:1px solid #DDD6C8;padding:24px;display:grid;gap:18px}.pg .header .btn{margin-left:0}}
@media(max-width:900px){.pg .hero-grid,.pg .two,.pg .contact-grid{grid-template-columns:1fr}.pg .hero h1,.pg h1.serif{font-size:50px!important}.pg .sec,.pg section[style*="padding-block: 96px"]{padding-block:64px!important}.pg .photo{max-width:440px;margin:0 18px 0 28px;width:calc(100% - 46px);justify-self:center}.pg .bio>div:last-child{max-width:400px!important;justify-self:center!important}.pg .foot-grid{grid-template-columns:1fr 1fr}.mobile-book{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;gap:16px;padding:12px 24px max(12px,env(safe-area-inset-bottom));background:#F7F5F0;border-top:1px solid #DDD6C8}.mobile-book>a:first-child{font-size:28px;align-self:center;text-decoration:none}.mobile-book .btn{flex:1}.pg{padding-bottom:80px}.pg .prices{font-size:14px}.pg .prices td{padding:14px 8px}.pg .header .brand>span{max-width:150px}.pg .header .wrap{gap:10px}.pg .header .btn{padding:12px;font-size:13px}.pg .header .brand img{height:36px!important}.pg .header .brand .serif{font-size:17px!important}.pg .header .brand span span:last-child{font-size:8px!important}.pg .bio{padding-block:48px 64px}.pg .photo-frame{right:-12px}.pg .gallery a{min-height:220px}.pg .foot-grid{gap:32px}}
@media(max-width:540px){.pg .header .brand{gap:6px}.pg .header .brand>span{max-width:120px}.pg .header .wrap{padding-inline:16px}.pg .foot-grid{grid-template-columns:1fr}.pg .hero-grid{padding-block:64px;gap:48px}.pg .gallery{grid-template-columns:1fr}.pg .gallery .big{grid-column:auto;grid-row:auto}}
.pg .gal a{display:block;min-width:0;overflow:hidden;border-radius:6px}.pg .gal a img{height:100%;width:100%;object-fit:cover}.pg .foot .soc{display:flex}.pg .nm,.pg .price{font-family:'Fraunces',serif;font-weight:400}.pg .sub{font-family:'Public Sans',sans-serif}.pg table{font-variant-numeric:tabular-nums}.pg .form{box-shadow:0 8px 24px rgba(11,30,61,.06)}.pg .header .brand{order:0}.pg .mobile-menu{order:2}.pg .header .wrap>.btn{order:3}.pg .pf>div{min-width:0}
@media(max-width:540px){.pg .prices{table-layout:fixed;width:100%}.pg .prices th:first-child{width:52%}.pg .prices th:nth-child(2){width:20%}.pg .prices th:last-child{width:28%}.pg .prices td,.pg .prices th{white-space:normal;overflow-wrap:anywhere}.pg .prices .p{font-size:20px}.pg .badge{left:-24px;padding:12px;max-width:calc(100% + 24px)}.pg .badge strong{font-size:13px}.pg .creds li{flex-wrap:wrap;gap:6px}.pg .header .brand{flex-shrink:1;min-width:0}}
@media(max-width:360px){.pg .header .brand img{height:30px!important}.pg .header .brand .serif{font-size:14px!important}.pg .header .brand span span:last-child{display:none}.pg .header .wrap{gap:8px;padding-inline:12px}.pg .header .btn{font-size:12px;padding-inline:10px}.pg .mobile-menu summary{padding:4px}.pg .hero h1{font-size:44px!important}}
@media(prefers-reduced-motion:reduce){.pg *, .pg *::before,.pg *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:900px){.pg .trust .wrap{grid-template-columns:1fr}.pg .ti>div{min-width:0}.pg .foot-grid{grid-template-columns:1fr}.pg .gal{grid-template-columns:1fr;grid-template-rows:none}.pg .gal .big{grid-column:auto;grid-row:auto}.pg .gal a{height:280px}}


/* Allow long labels and contact details to wrap inside narrow grid columns. */
.pg { overflow-wrap: anywhere; }
.pg :where(.hero-grid,.bio,.two,.contact,.foot-grid,.pil,.list summary,.consent) > * { min-width: 0; }
.pg .field :is(input,textarea) { min-width: 0; max-width: 100%; }
@media (max-width: 540px) {
  .pg .hero h1, .pg h1.serif { font-size: clamp(36px, 11vw, 50px) !important; }
  .pg .btn { max-width: 100%; white-space: normal; text-align: center; }
  .pg .header .wrap { height: auto; min-height: 76px; flex-wrap: wrap; padding-block: 10px; }
  .pg .header .brand { flex: 1; }
  .pg .mobile-menu { margin-left: 0; }
  .pg .mobile-menu nav { top: 100%; }
  .pg .pil { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pg .list summary { grid-template-columns: 3ch minmax(0, 1fr) 16px; gap: 10px; }
  .pg .hours { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 12px; }
}
