/* Bootstrap 4.6 provides the layout; IDs and standard elements provide the theme */
:root{--paper:#f6f3eb;--ink:#242b24;--accent:#a94725;--wash:#eae4d7;--inverse-paper:var(--ink);--inverse-ink:var(--paper);--accent-copy:var(--accent);--hero-accent:var(--accent);--heading:Georgia,'Times New Roman',serif;--radius:0px}
html{scroll-behavior:smooth;scroll-padding-top:104px}body{background:var(--paper);color:var(--ink);font:16px/1.75 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent-copy)}h1,h2,h3,.navbar-brand{font-family:var(--heading)}h1{font-size:clamp(3.4rem,5.7vw,5.8rem);line-height:1.02;letter-spacing:-.055em;margin-bottom:0}h1 em{font-weight:400}h2{font-size:clamp(2.35rem,4vw,3.8rem);line-height:1.12;letter-spacing:-.045em}h3{line-height:1.25;letter-spacing:-.02em}p{max-width:64ch}.lead{font-size:1.1rem;line-height:1.7;max-width:38ch}.small.text-uppercase{font-size:.69rem;font-weight:700;letter-spacing:2px}small{font-size:.77rem}img{object-fit:cover;max-width:100%}:focus-visible{outline:3px solid var(--accent-copy);outline-offset:5px}header{background:var(--paper);border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}.navbar-brand{font-size:1.7rem;font-weight:700;letter-spacing:-.06em;line-height:1.15;white-space:normal}.navbar-brand small{font:600 .54rem/1.4 Arial,sans-serif;letter-spacing:2px;margin-top:6px}.navbar-light .navbar-brand,.navbar-light .navbar-nav .nav-link,.navbar-dark .navbar-brand,.navbar-dark .navbar-nav .nav-link{color:var(--ink)}.nav-link{font-size:.8rem}.btn{border-radius:var(--radius);font-size:.79rem;font-weight:600;padding:.9rem 1.25rem;line-height:1.45;white-space:normal}.btn-primary{color:white;background:var(--accent);border-color:var(--accent)}.btn-primary:hover,.btn-primary:focus,.btn-primary:not(:disabled):not(.disabled):active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-outline-dark{color:var(--ink);border-color:var(--ink)}.btn-outline-dark:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-outline-light{color:inherit;border-color:currentColor}.btn-outline-light:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}#demo-notice{font-size:.65rem;letter-spacing:1px;background:var(--inverse-paper);color:var(--inverse-ink);text-align:center;padding:7px 15px}#demo-notice p{max-width:none;margin:0}#home{position:relative;overflow:hidden}#home>.container>.row{min-height:665px}#hero-photo{height:610px;width:100%;border-radius:var(--radius)}#hero-caption{background:var(--paper);color:var(--ink);position:absolute;bottom:36px;left:0;max-width:90%;padding:22px 28px;box-shadow:0 12px 28px #00000014}#hero-caption p{font-family:var(--heading);font-size:1.35rem;line-height:1.3}#hero-footnote{font-size:.63rem;letter-spacing:1.6px;border-top:1px solid currentColor;opacity:.8}#quick-visit{background:var(--wash)}#quick-visit small{font-size:.63rem;letter-spacing:1.5px;font-weight:700}#quick-visit p{font-size:.86rem;line-height:1.4}main>section:not(#home):not(#quick-visit){padding:85px 0}main>section> .container{position:relative}#services article,#menu article,#care article,#classes article,#collections article{height:100%;border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);padding-bottom:25px}article>img{width:100%;height:230px;border-radius:var(--radius)}article p{font-size:.9rem}article .small{color:var(--accent-copy)}article>div>span{font-size:.73rem}#about{background:var(--wash)}#about img{width:100%;height:480px;border-radius:var(--radius)}#about p:not(.small){font-size:.98rem}#gallery img{width:100%;height:330px;border-radius:var(--radius);transition:filter .2s}#gallery a:hover img{filter:brightness(.88)}#gallery figcaption{font-size:.72rem;line-height:1.6;padding-top:12px}#reviews{background:var(--wash)}#reviews .border{border-color:color-mix(in srgb,var(--ink) 25%,transparent)!important}#reviews p{font-size:.88rem}#process,#reservations,#appointments,#first-visit,#approach,#schedule,#discover{background:var(--inverse-paper);color:var(--inverse-ink)}#process p,#reservations p,#appointments p,#first-visit p,#approach p,#schedule p,#discover p{opacity:.85}#process article,#reservations article,#appointments article,#first-visit article,#approach article,#schedule article,#discover article{border-top:1px solid #ffffff4d;padding-top:25px}#process article>span,#reservations article>span,#appointments article>span,#first-visit article>span,#approach article>span,#schedule article>span,#discover article>span{font-family:var(--heading);font-size:2.1rem;display:block;margin-bottom:20px}#visit{background:var(--wash)}#visit dl{font-size:.85rem}#visit dt{font-weight:400}#visit dl>div{border-bottom:1px solid color-mix(in srgb,var(--ink) 20%,transparent);padding:7px 0}#visit dd{margin:0 0 0 15px}#visit aside{background:var(--paper);border-radius:var(--radius)}#contact .border{border-color:color-mix(in srgb,var(--ink) 25%,transparent)!important}#contact dd{overflow-wrap:anywhere}#contact p.small{font-size:.8rem}footer{background:var(--inverse-paper);color:var(--inverse-ink);padding:55px 0}footer a:hover{color:inherit}footer .small{font-size:.74rem}footer .border-top{border-color:#ffffff3d!important}.text-muted{color:inherit!important;opacity:.75}
@media(min-width:1200px){.container{max-width:1180px}}
@media(max-width:991.98px){.navbar-collapse{padding:20px 0}.navbar-nav{margin-bottom:15px}#hero-photo{height:500px}#home>.container>.row{min-height:0}#home>.container>.row>div:first-child{padding-top:50px!important;padding-bottom:45px!important}#home>.container>.row>div:last-child{padding-bottom:35px}#hero-caption{left:30px;bottom:60px}#about img{height:380px}}
@media(max-width:767.98px){html{scroll-padding-top:96px}h1{font-size:3.5rem}h2{font-size:2.6rem}.navbar-brand{font-size:1.5rem}.navbar{padding-top:16px!important;padding-bottom:16px!important}#hero-photo{height:390px}#hero-caption{padding:17px 20px}#hero-caption p{font-size:1.13rem}main>section:not(#home):not(#quick-visit){padding:58px 0}#gallery img{height:240px}#about img{height:340px}article>img{height:260px}#quick-visit .col-md-4{padding-top:9px;padding-bottom:9px}#demo-notice{font-size:.58rem}#contact dl{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#gallery img{transition:none}}

/* Contact details remain visible outside the collapsed main navigation */
html{scroll-padding-top:150px}
#header-details{background:var(--wash);color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent);font-size:.75rem;line-height:1.4}
#header-details a{display:inline-flex;align-items:center;min-height:44px;padding:9px 0;text-decoration:none}
#header-details a:hover{text-decoration:underline}
#header-phone{font-weight:700;white-space:nowrap}
@media(max-width:991.98px){html{scroll-padding-top:145px}#header-details{font-size:.75rem}}
