@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#282522;--paper:#f9f6f0;--red:#af2529;--line:#d9d0c5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #296759;outline-offset:5px}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:20px;background:white;padding:20px;z-index:50}.preview{padding:9px 5%;background:#282522;color:#fff;font-size:10px;letter-spacing:1.4px;display:flex;justify-content:space-between}.preview span{letter-spacing:.3px;color:#ddd}header{display:flex;align-items:center;justify-content:space-between;padding:20px 5%;border-bottom:1px solid var(--line);gap:25px;background:var(--paper)}.brand>span{font:32px Georgia,serif;letter-spacing:-3px}.brand-dot{color:var(--red)}.brand small{display:block;letter-spacing:1.6px;font-size:8px;margin-top:5px}nav{display:flex;gap:30px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;padding:18px 26px;background:var(--red);color:white;border:1px solid var(--red);font-weight:600;font-size:14px;transition:background .2s}.button:hover{background:#842024}.button.small{padding:13px 20px;font-size:12px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;padding:65px 5% 65px;max-width:1500px;margin:auto}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.6}.hero h1{font:clamp(54px,5.8vw,88px)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-3px;margin:30px 0}em{font-weight:500;color:var(--red)}.lead{font-size:16px;line-height:1.8;max-width:410px;color:#665e57}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:32px 0}.text-link{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:6px;display:inline-block}.hero-hours{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-top:40px}.hero-hours span{display:inline-block;margin-left:18px;font-weight:700}.hero-art{background:#e9dfd1;position:relative;min-height:540px;display:flex;flex-direction:column;justify-content:center;padding:40px;overflow:hidden;border-radius:160px 160px 0 0}.logo-window{height:235px;overflow:hidden;position:relative;background:#fff}.logo-window img{position:absolute;width:100%;height:auto;top:50%;transform:translateY(-50%)}.art-bottom{display:flex;justify-content:space-between;align-items:center;margin:35px 0 20px;font-size:24px;line-height:1.2;letter-spacing:-1px}.asterisk{font-size:90px;color:var(--red);line-height:1}.photo-note{font-size:10px;line-height:1.6;color:#65594b;max-width:270px}.ribbon{display:flex;justify-content:space-evenly;align-items:center;background:var(--red);color:#fff;padding:22px 4%;font-size:14px;letter-spacing:3px;gap:15px}.ribbon span{color:#edcbb9;font-size:24px}.section{padding:85px 5%;max-width:1500px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px}h2{font:clamp(38px,4vw,60px)/1.13 'Playfair Display',Georgia,serif;letter-spacing:-1.5px;margin:18px 0}.section-head>p{font-size:14px;line-height:1.8;color:#665e57}.menu-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:25px;gap:20px}.tabs{display:flex;gap:8px}.tabs button{background:transparent;border:1px solid var(--line);padding:13px 30px;cursor:pointer}.tabs button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.search{font-size:11px;color:#65594b;display:flex;gap:12px;align-items:center}.search input{padding:12px;border:1px solid var(--line);background:transparent;width:250px;font-size:13px}#menu{display:grid;grid-template-columns:1fr 1fr;gap:20px 60px;margin:28px 0}.menu-group h3{font-size:17px;font-weight:600;border-bottom:2px solid var(--ink);padding-bottom:13px}.service-row{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px;line-height:1.5}.service-row strong{font-weight:500;white-space:nowrap}.menu-note{font-size:11px;line-height:1.8;color:#65594b;max-width:800px}.care-section{background:#e9dfd1;padding:65px 5%;display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.care-section .eyebrow{grid-column:1/-1}.care-section h2{margin-top:8px}.care-grid{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:10px 30px}.care-grid p{border-bottom:1px solid #b8a997;padding-bottom:16px;font-size:14px}.care-section>.text-link{justify-self:start;margin-top:20px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.team-grid article{border-top:1px solid var(--line);padding-top:25px}.initial{display:flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:50%;border:1px solid #b9a99b;font:32px Georgia;color:var(--red)}.team-grid h3{font:27px Georgia;margin-bottom:8px}.team-grid p{font-size:12px;color:#665e57}.booking{background:#282522;color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:none}.booking em{color:#efb6a2}.booking p{font-size:14px;line-height:1.8;max-width:430px}.booking .note{font-size:11px;color:#d4c8bb}.booking-panel{padding-top:25px;display:flex;flex-direction:column;justify-content:center;gap:18px}.booking-panel label{font-size:13px}.booking-panel select{padding:17px;background:#f9f6f0;color:#282522;border:0;width:100%;border-radius:0}.booking-panel .button{background:#b12b30}.call-link{text-align:center;font-size:14px;padding:10px}.booking-panel p{font-size:10px;color:#d4c8bb;max-width:none}.visit{display:grid;grid-template-columns:1fr 1fr;gap:10%}address{font-style:normal;line-height:1.9;font-size:15px;margin:25px 0}.visit-details{padding-top:30px}.visit-details h3{font:26px Georgia}.hours-row{display:flex;justify-content:space-between;gap:20px;font-size:13px}.visit-details p{font-size:12px;color:#665e57;line-height:1.8}.visit-details hr{border:0;border-top:1px solid var(--line);margin:32px 0}.visit-details .text-link{overflow-wrap:anywhere}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;flex-wrap:wrap;gap:20px;align-items:center;font-size:12px}footer strong{font-family:Georgia;font-size:18px}footer small{width:100%;color:#665e57;font-size:10px}.mobile-book{display:none}@media(min-width:1600px){.care-section,.booking{padding-left:calc((100% - 1350px)/2);padding-right:calc((100% - 1350px)/2)}}@media(max-width:760px){header{padding:16px 5%;flex-wrap:wrap;gap:15px}header nav{order:3;width:100%;justify-content:space-between;font-size:12px;border-top:1px solid var(--line);padding-top:14px}.preview span{display:none}.hero{grid-template-columns:1fr;padding-top:35px;gap:30px}.hero h1{font-size:60px;letter-spacing:-2px}.hero-art{min-height:350px;padding:30px;border-radius:100px 100px 0 0}.logo-window{height:190px}.art-bottom{font-size:20px;margin:15px 0}.asterisk{font-size:60px}.hero-hours{margin:25px 0 0}.hero-hours span{margin-left:10px}.ribbon{font-size:9px;letter-spacing:1px;gap:6px;padding:16px 3%}.ribbon span{font-size:16px}.section{padding:55px 5%}.section-head{display:block;margin-bottom:25px}.menu-controls{align-items:stretch;flex-direction:column}.search{display:block}.search input{width:100%;margin-top:8px}#menu{grid-template-columns:1fr;gap:10px}.care-section{grid-template-columns:1fr;padding:45px 5%;gap:10px}.care-grid{gap:8px 20px}.team-grid{grid-template-columns:1fr 1fr;gap:25px}.booking,.visit{grid-template-columns:1fr;gap:10px}.booking-panel{padding-top:15px}.hours-row{flex-wrap:wrap}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);z-index:10;padding:10px;gap:10px}.mobile-book a{padding:14px 8px;text-align:center;font-size:12px;flex:1}.mobile-book a:last-child{background:var(--red);color:#fff;flex:2}footer{padding-bottom:100px}h2{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.owner-intro{display:flex;align-items:center;gap:20px;padding:24px 0;margin-bottom:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.owner-intro h3{font:27px Georgia;margin:0 0 8px}.owner-intro p{font-size:12px;color:#665e57;margin:0}

/* Approved logo sheet presented through layout crops; original image retained. */
.brand .header-logo{display:block;position:relative;width:245px;height:61px;overflow:hidden;letter-spacing:normal}.header-logo img{position:absolute;width:443px;max-width:none;left:-33px;top:-209px}.logo-window{height:auto;aspect-ratio:3.2;background:transparent;overflow:hidden}.logo-window img{position:absolute;width:100%;height:auto;top:-33.33%;transform:none}.hero-art{background:#eee7dc}@media(max-width:760px){.brand .header-logo{width:190px;height:48px}.header-logo img{width:344px;left:-26px;top:-162px}.logo-window{height:auto;aspect-ratio:3.2}}
