:root{color-scheme:light;--ink:#2e1318;--mute:#6a4d53;--teal:#b03a4e;--teal-d:#7a1426;--tint:#fbf1f2;--line:#ecd7da;--bg:#fff;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 "Nunito Sans",system-ui,"Segoe UI",sans-serif}
h1,h2,h3{font-family:Poppins,"Segoe UI",system-ui,sans-serif;font-weight:600;line-height:1.2;margin:0 0 .5em;color:var(--teal-d)}
h1{font-size:clamp(2rem,5.4vw,3.3rem)}h2{font-size:clamp(1.45rem,3.2vw,2rem)}h3{font-size:1.15rem}
p{margin:0 0 1em;max-width:62ch}a{color:var(--teal-d)}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
header{border-bottom:3px solid var(--teal);background:var(--teal-d);position:sticky;top:0;z-index:20}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:"Young Serif",Georgia,serif;font-size:1.2rem}
nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
header img{height:48px!important;width:auto!important;background:#fff;border-radius:10px;padding:4px 8px}nav a{display:block;padding:8px 10px;text-decoration:none;color:#fff;font-size:.95rem;border-bottom:2px solid transparent}
nav a:hover{color:#fff}nav a.on{border-color:#f2b8c2;color:#fff;font-weight:600}
#mb{display:none;background:none;border:1px solid rgba(255,255,255,.6);border-radius:8px;padding:8px 12px;font:inherit;color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f2a900;outline-offset:2px}
@media(max-width:1060px){#mb{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--teal-d);border-bottom:3px solid var(--teal);padding:8px 22px 16px}nav.open{display:block}nav ul{flex-direction:column;gap:0}nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.25)}}
.btn{display:inline-block;background:var(--teal-d);color:#fff;text-decoration:none;padding:13px 22px;border-radius:999px;font-weight:600;border:0;font-size:1rem;cursor:pointer;font-family:inherit}
.btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.btn:hover{background:#5a0e1c;transform:translateY(-3px);box-shadow:0 8px 18px rgba(122,20,38,.28)}.btn:active{transform:translateY(0);box-shadow:none}#wa{transition:transform .2s ease,box-shadow .2s ease}#wa:hover{transform:scale(1.08);box-shadow:0 8px 20px rgba(31,157,87,.45)}#wa:hover svg{animation:wig .6s ease}@keyframes wig{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}50%{transform:rotate(12deg)}75%{transform:rotate(-8deg)}}nav a{transition:color .2s ease,border-color .2s ease}nav a:hover{border-color:#f2b8c2}@media(prefers-reduced-motion:reduce){.btn,#wa,nav a{transition:none}.btn:hover,#wa:hover{transform:none}#wa:hover svg{animation:none}}
.btn.alt{background:#fff;color:var(--teal-d);border:1.5px solid var(--teal-d)}.btn.alt:hover{background:var(--tint)}
.row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
section.pg{display:none;padding:56px 0 72px}section.pg.show{display:block;animation:in .4s ease}
@keyframes in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){section.pg.show{animation:none}}
.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
@media(max-width:800px){.hero,.two{grid-template-columns:1fr!important}}
.hours{background:var(--tint);border-radius:28px 28px 28px 6px;padding:28px}
.hours h3{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--teal-d)}
.hours dl{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 18px}
.hours dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0}
.hours dl>div+div{border-top:1px solid var(--line)}
.hours .off dd{color:var(--mute)}
.hours dd small{display:block;font-weight:400;font-size:.85rem;color:var(--mute)}
.hours .urgent{margin-top:16px;padding:16px 18px;border-left:4px solid var(--teal);background:#fff;border-radius:0 12px 12px 0;font-size:.95rem}
.hours .urgent .btn{display:block;text-align:center;margin-top:12px}.hours dt{font-weight:600}.hours dd{margin:0;text-align:right;font-weight:600;color:var(--teal-d)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 8px}.tab{font:inherit;font-weight:600;font-size:.92rem;border:1.5px solid var(--line);background:#fff;color:var(--teal-d);padding:9px 16px;border-radius:999px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.tab:hover{border-color:var(--teal-d)}.tab.on{background:var(--teal-d);color:#fff;border-color:var(--teal-d)}.gh{margin:36px 0 14px;padding-bottom:10px;border-bottom:2px solid var(--teal)}.sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.sv{display:flex;flex-direction:column;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:14px;padding:22px;background:#fff;transition:box-shadow .2s ease,transform .2s ease}.sv:hover{box-shadow:0 10px 24px rgba(90,14,28,.1);transform:translateY(-3px)}.sv h3{color:var(--ink);font-size:1.05rem}.sv p{color:var(--mute);font-size:.95rem;flex:1}.sf{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}.pr{font:600 1.15rem Poppins,"Segoe UI",system-ui,sans-serif;color:var(--teal-d)}.pr.sm{font-size:.98rem}.sf .btn{padding:9px 14px;font-size:.88rem}@media(prefers-reduced-motion:reduce){.sv,.tab{transition:none}.sv:hover{transform:none}}.top{background:var(--ink);color:#f3dfe2;font-size:.85rem}.top .wrap{display:flex;justify-content:space-between;gap:4px 16px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px}.top a{color:#fff;text-decoration:none;font-weight:600}nav a.hcta{padding:10px 18px;font-size:.92rem;background:#fff;color:var(--teal-d);white-space:nowrap;border:0;margin-left:6px}nav a.hcta:hover{background:var(--tint);color:var(--teal-d)}.bc{background:var(--tint);border-bottom:1px solid var(--line);font-size:.9rem}.bc .wrap{padding-top:12px;padding-bottom:12px}.bc a{text-decoration:none}.bc span{color:var(--mute)}.card{border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 1px 3px rgba(90,14,28,.06)}.r2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:560px){.r2{grid-template-columns:1fr}}.req{color:#a3261a}.hint{font-weight:400;color:var(--mute);font-size:.85rem}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;list-style:none;padding:0;margin:16px 0 0}.tiles li{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;padding:14px 16px;background:#fff}.tiles li:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(90,14,28,.12);border-left-color:var(--teal-d)}.tiles li.rv:not(.in){opacity:0}.tiles li.in{animation:up .55s ease backwards;animation-delay:var(--d,0ms)}@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tiles li{transition:none}.tiles li:hover{transform:none}.tiles li.in{animation:none}}figure{margin:0}figcaption{padding:10px 2px 0;font-size:.92rem;color:var(--mute)}figcaption b{display:block;color:var(--ink)}#ok{display:none;background:var(--tint);border-left:4px solid var(--teal);padding:12px 16px;border-radius:0 10px 10px 0;margin:0}.cta{background:var(--teal-d);color:#fff;border-radius:20px;padding:36px;margin-top:56px}.cta h2{color:#fff}.sub{background:var(--tint);margin-top:64px;padding:48px 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.ph{background:repeating-linear-gradient(135deg,#fdf6f7 0 14px,#f8e9eb 14px 28px);border:1px dashed #d4a5ad;border-radius:14px;min-height:200px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--mute);font-size:.92rem;padding:14px}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gal .ph{min-height:0;aspect-ratio:4/3}.gal img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:var(--tint)}
@media(max-width:700px){.gal{grid-template-columns:1fr 1fr}}
table{width:100%;border-collapse:collapse;margin:8px 0 28px}
th{font-family:Poppins,"Segoe UI",system-ui,sans-serif;font-weight:600;color:var(--teal-d);text-align:left;font-size:1.1rem;padding:26px 0 8px;border-bottom:2px solid var(--teal)}
td{padding:14px 0;border-bottom:1px solid var(--line);vertical-align:top}
td.p{white-space:nowrap;text-align:right;font-weight:600;padding-left:16px}td small{display:block;color:var(--mute);font-size:.9rem}
td a{font-size:.88rem;white-space:nowrap}
.rvg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:24px 0}.rvg:empty{display:none}
.rvc{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff}.rvc .st{color:#e0a100;letter-spacing:2px}.rvc p{margin:.5em 0}.rvc b{color:var(--ink)}
.rvm{overflow:hidden;margin:20px -4px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.rvt{display:flex;width:max-content;animation:rvscroll 45s linear infinite}.rvm:hover .rvt,.rvm:focus-within .rvt{animation-play-state:paused}.rvs{display:flex;gap:12px;padding-right:12px;flex:none}.rvs .rvc{width:380px;min-height:220px;padding:18px 20px;font-size:.88rem;line-height:1.35;flex:none;transition:transform .25s,box-shadow .25s}.rvs .rvc:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(122,20,38,.12)}.rvs .rvc{background:var(--teal-d);border-color:var(--teal-d);color:#fff;box-shadow:0 6px 16px rgba(122,20,38,.25)}.rvs .rvc b{color:#fff}.rvs .rvc small{color:#f3cfd4}.rvs .rvc .st{color:#ffc83d}.rvs .rvc .ow{background:#fff;color:var(--ink)}.rvs .rvc .ow b{color:var(--teal-d)}.rvc .nt{color:#f3cfd4;font-style:italic}.rvs .rvc p{margin:.25em 0}.rvs .rvc>p:not(.ow):not(.nt){display:-webkit-box;-webkit-line-clamp:10;line-clamp:10;-webkit-box-orient:vertical;overflow:hidden}.rvs .rvc .ow{padding:6px 10px;font-size:.82rem;margin:.4em 0 0}@keyframes rvscroll{to{transform:translateX(-50%)}}@media(max-width:600px){.rvs .rvc{width:260px}}@media(prefers-reduced-motion:reduce){.rvm{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.rvt{animation:none}.rvs[aria-hidden]{display:none}}
.soc a{font-weight:600}.agg{font-size:1.1rem}.rvc .ow{background:var(--tint);border-radius:8px;padding:10px 12px;font-size:.92rem}
.note{border-left:4px solid var(--teal);background:var(--tint);padding:14px 18px;border-radius:0 10px 10px 0;max-width:70ch}
.stats{display:flex;gap:36px;flex-wrap:wrap;margin:24px 0}.stats b{display:block;font:600 1.9rem Poppins,"Segoe UI",system-ui,sans-serif;color:var(--teal)}
ul.t{padding-left:1.2em;max-width:62ch}ul.t li{margin-bottom:.4em}
details{border-bottom:1px solid var(--line);max-width:760px}summary{cursor:pointer;padding:18px 0;font-weight:700;color:var(--ink);font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"+";color:var(--teal-d);font-size:1.4rem;line-height:1}details[open] summary::after{content:"\2212"}details p{padding-bottom:12px}
summary::-webkit-details-marker{display:none}
form{display:grid;gap:14px;max-width:520px}label{font-weight:600;font-size:.95rem;display:grid;gap:5px}
input,select,textarea{font:inherit;padding:11px 12px;border:1.5px solid #d3b3b9;border-radius:10px;background:#fff;color:var(--ink)}
.err{color:#a3261a;font-size:.88rem;font-weight:400;min-height:1em}
.chk{display:flex!important;grid-template-columns:none;gap:10px;font-weight:400;align-items:flex-start}.chk input{margin-top:5px}
footer{border-top:1px solid var(--line);padding:40px 0 100px;font-size:.95rem;color:var(--mute)}
footer .wrap{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between}footer h3{font-size:1.05rem;color:var(--ink)}footer p{margin:0 0 .4em}
#wa{display:flex;align-items:center;gap:8px;position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:30;background:#1f9d57;color:#fff;text-decoration:none;font-weight:600;padding:13px 20px;border-radius:999px;box-shadow:0 4px 14px rgba(18,48,59,.25)}
a[href^="tel:"]::before,a[href^="mailto:"]::before,a[href*="instagram.com"]::before,a[href*="facebook.com"]::before,a[href*="google.com/maps"]::before,a.btn.wa:not(#wa)::before{content:"";display:inline-block;width:1.1em;height:1.1em;margin-right:.45em;vertical-align:-.17em;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
a[href^="tel:"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E")}
a[href^="mailto:"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E")}
a[href*="instagram.com"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 3.5a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 2a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM17.5 6a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2z'/%3E%3C/svg%3E")}
a[href*="facebook.com"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8.2h2.8l.5-3.3h-3.3V8.4c0-.9.4-1.7 1.8-1.7h1.6V3.8S15.5 3.5 14.2 3.5c-2.7 0-4.4 1.6-4.4 4.5v2.5H7v3.3h2.8V22h3.7z'/%3E%3C/svg%3E")}
a[href*="google.com/maps"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.8 12.2c0-.7-.1-1.3-.2-1.9H12v3.7h5.500a4.700 4.700 0 0 1-2 3.100v2.600h3.300c1.900-1.800 3-4.400 3-7.500zM12 22c2.700 0 5-.9 6.600-2.400l-3.300-2.600c-.9.600-2 1-3.300 1-2.600 0-4.700-1.700-5.500-4.100H3.100v2.600A10 10 0 0 0 12 22zM6.500 14c-.2-.6-.3-1.300-.3-2s.1-1.400.3-2V7.400H3.100a10 10 0 0 0 0 9.200L6.500 14zM12 5.900c1.500 0 2.800.5 3.800 1.500l2.900-2.900C17 2.900 14.700 2 12 2A10 10 0 0 0 3.100 7.400L6.500 10c.8-2.400 2.900-4.100 5.500-4.100z'/%3E%3C/svg%3E")}
a[href*="maps/dir"]{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.250 7 13 7 13s7-7.750 7-13a7 7 0 0 0-7-7zm0 9.500a2.500 2.500 0 1 1 0-5 2.500 2.500 0 0 1 0 5z'/%3E%3C/svg%3E")}
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);pointer-events:none;z-index:-1}
.btn:hover::after{animation:shine .75s ease}
.btn:hover::before{animation:wig .6s ease}
.btn:active{transform:translateY(0) scale(.96)}
.btn.alt{--fill:var(--teal-d);background:linear-gradient(var(--fill),var(--fill)) left center/0 100% no-repeat #fff;transition:background-size .35s ease,color .25s ease,transform .2s ease,box-shadow .2s ease}
.btn.alt:hover{background:linear-gradient(var(--fill),var(--fill)) left center/100% 100% no-repeat #fff;color:#fff}
.cta .btn.alt{--fill:var(--ink)}
.hero .btn:not(.alt),.cta .btn:not(.alt){animation:ring 2.4s ease-out infinite}
.hero .btn:not(.alt):hover,.cta .btn:not(.alt):hover{animation:none}
#wa{animation:ringg 2.6s ease-out infinite}
#wa:hover{animation:none}
.tab{transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.tab:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(90,14,28,.14)}
.tab:active{transform:scale(.95)}
.tab.on{animation:pop .35s ease}
#mb{transition:background-color .2s,transform .2s}
#mb:hover{background:rgba(255,255,255,.15)}
#mb:active{transform:scale(.94)}
@keyframes shine{to{left:140%}}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(176,58,78,.5)}70%,100%{box-shadow:0 0 0 14px rgba(176,58,78,0)}}
@keyframes ringg{0%{box-shadow:0 0 0 0 rgba(31,157,87,.55)}70%,100%{box-shadow:0 0 0 16px rgba(31,157,87,0)}}
@keyframes pop{0%{transform:scale(.9)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.btn::after{display:none}.btn:hover::before{animation:none}.hero .btn,.cta .btn,#wa,.tab.on{animation:none!important}.btn.alt,.tab,#mb{transition:none}.tab:hover,.btn:active,.tab:active,#mb:active{transform:none}}
a.btn.wa{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.600 15.100L2 22l5-1.300A10 10 0 1 0 12 2zm5.800 14.200c-.2.700-1.400 1.300-2 1.400-.5.100-1.200.100-1.900-.1-.4-.1-1-.3-1.700-.6-3-1.300-4.900-4.300-5.100-4.500-.1-.2-1.200-1.600-1.200-3s.8-2.100 1-2.400c.3-.3.600-.4.800-.4h.6c.2 0 .4 0 .6.500l.8 2c.1.200.1.300 0 .5l-.3.500-.4.400c-.1.200-.3.300-.1.600.2.300.7 1.200 1.500 1.900 1 .9 1.900 1.200 2.200 1.300.3.100.4.100.6-.1l.8-1c.2-.3.400-.2.600-.1l1.900.9c.3.100.5.200.5.300.1.200.1.800-.1 1.600z'/%3E%3C/svg%3E")}
/* ---- Mobile / small-screen fixes ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden;overflow-wrap:break-word}
img,svg,iframe,video{max-width:100%}
.two>*,.hero>*,.r2>*,.gal>*,.sg>*,.tiles>*{min-width:0}
.r2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sg{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr))}
.tiles{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.rvg{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
input,select,textarea{width:100%;max-width:100%;min-width:0}
input[type=checkbox]{width:auto}
input[type=date],input[type=time]{min-height:46px;-webkit-appearance:none;appearance:none}
.chk input{flex:none;width:20px;height:20px}
.rvm{margin-left:0;margin-right:0}
@media(max-width:1060px){
nav{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;-webkit-overflow-scrolling:touch}
nav a.hcta{margin:12px 0 0;text-align:center;border-bottom:0}
#mb{min-height:44px}
}
@media(max-width:800px){
section.pg{padding:36px 0 56px}
.hero{gap:28px}
.two{gap:28px}
.sub{margin-top:44px;padding:36px 0}
.stats{gap:20px 28px}
.cta{padding:26px 20px;margin-top:40px;border-radius:16px}
.hours{padding:20px;border-radius:20px 20px 20px 6px}
}
@media(max-width:600px){
body{font-size:16px}
.wrap{padding:0 16px}
.sub{margin-left:-16px!important;margin-right:-16px!important;padding-left:16px!important;padding-right:16px!important}
.top .wrap{justify-content:center;text-align:center;font-size:.8rem}
.bar{min-height:60px;gap:10px}
header img{height:40px!important}
nav{padding:8px 16px 16px}
.row{flex-direction:column;align-items:stretch}
.row .btn,.sf .btn,.hours .urgent .btn{text-align:center;padding:14px 18px}
.card{padding:20px 16px}
.hours dl{padding:2px 14px}
.hours dl>div{flex-wrap:wrap;gap:4px 12px}
.hours dd{text-align:left}
.sf{flex-direction:column;align-items:stretch}
.sf .pr{text-align:left}
.tabs{flex-wrap:nowrap;overflow-x:auto;margin-left:-16px;margin-right:-16px;padding:2px 16px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;white-space:nowrap;min-height:44px}
.gal{grid-template-columns:1fr}
.note,.cta .row{max-width:100%}
.rvs .rvc{width:min(260px,78vw)}
summary{padding:16px 0}
td.p{white-space:normal}
form{max-width:100%}
footer{padding:32px 0 96px}
footer .wrap{gap:24px;flex-direction:column}
#wa{padding:0;width:56px;height:56px;justify-content:center;font-size:0;gap:0;right:max(14px,env(safe-area-inset-right,0px));bottom:max(14px,env(safe-area-inset-bottom,0px))}
#wa svg{width:28px;height:28px}
}
@media(max-width:360px){
h1{font-size:1.75rem}
.stats b{font-size:1.5rem}
}
@media(hover:none){
.btn:hover,.sv:hover,.tiles li:hover,.tab:hover,#wa:hover,.rvs .rvc:hover{transform:none;box-shadow:none}
.btn:hover::after,.btn:hover::before{animation:none}
}
.sv img{display:block;width:calc(100% + 44px);max-width:none;margin:-22px -22px 16px;aspect-ratio:16/10;object-fit:cover;border-radius:10px 10px 0 0}
/* motion system */
@keyframes fl{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sp{0%,100%{opacity:.25;transform:scale(1)}50%{opacity:.8;transform:scale(1.03)}}
@keyframes hin{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes sh{to{background-position:200% center}}
.js .rv{opacity:0;transform:translateY(16px) scale(.985);transition:opacity .35s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .3s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}
.hero h1{background:linear-gradient(90deg,var(--teal-d),var(--teal),var(--teal-d));background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:sh 6s linear infinite}
.hero>div:first-child>*{animation:hin .8s cubic-bezier(.2,.7,.2,1) both}.hero>div:first-child>*:nth-child(2){animation-delay:.12s}.hero>div:first-child>*:nth-child(3){animation-delay:.24s}
.hero .hours{animation:hin .9s .2s cubic-bezier(.2,.7,.2,1) both}
.tiles li:hover,.sv>*:hover,.cards .card:hover,.tc:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(122,20,38,.16)}
.gal img{transition:transform .4s ease,box-shadow .4s ease}.gal img:hover{transform:scale(1.04);box-shadow:0 12px 26px rgba(122,20,38,.22)}
/* home overview */
.hs{margin-top:64px}.hs:empty{display:none}
.hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.hd h2{margin:0}.hd a{font-weight:600;text-decoration:none}.hd a:hover{text-decoration:underline}
.eb{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:6px}
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px}
.tc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-align:center;border-top:3px solid var(--teal)}
.tc b{display:block;font:600 1.7rem Poppins,"Segoe UI",system-ui,sans-serif;color:var(--teal-d)}.tc span{display:block;font-weight:600}.tc small{color:var(--mute)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:18px}
.cards .card{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;position:relative;overflow:hidden}
.cards .card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--teal);transition:width .4s ease}.cards .card:hover::before{width:100%}
.cards .card svg{color:var(--teal);margin-bottom:10px;transition:transform .4s ease}.cards .card:hover svg{transform:scale(1.15) rotate(-6deg)}
.cards .card h3{margin-bottom:6px}.cards .card p{color:var(--mute);font-size:.95rem;margin-bottom:12px}.go{font-weight:700;color:var(--teal-d);font-size:.9rem}
.docf{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:center;background:var(--tint);border-radius:28px;padding:36px}
.rvh{display:grid;grid-template-columns:minmax(0,.8fr) repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.agg2{background:var(--teal-d);color:#fff;border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:center;text-align:center}.agg2 b{font:600 3rem/1 Poppins,sans-serif}.agg2 .stars{color:#f5c33b;letter-spacing:3px;font-size:1.2rem}.agg2 small{opacity:.85}
.rvh .rvc{margin:0}.rvh .rvc:hover{transform:translateY(-5px);box-shadow:0 12px 24px rgba(122,20,38,.14)}
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}
.strip a{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--tint)}
.strip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.strip a:hover img{transform:scale(1.08)}
.strip span{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;color:#fff;font-weight:600;font-size:.92rem;background:linear-gradient(transparent,rgba(46,19,24,.8))}
@media(max-width:860px){.docf{grid-template-columns:1fr;padding:22px;gap:24px}.rvh{grid-template-columns:1fr}.hs{margin-top:44px}}
/* dentist photo */
.dp{position:relative;padding:14px;animation:fl 5s ease-in-out infinite}
.dp::before{content:"";position:absolute;inset:0;border:2px dashed var(--teal);border-radius:22px;animation:sp 4s ease-in-out infinite}
.dp::after{content:"";position:absolute;inset:6px;border-radius:20px;animation:ring 2.8s ease-out infinite;pointer-events:none}
.dp img{display:block;width:100%;max-height:520px;object-fit:cover;object-position:top;border-radius:14px;position:relative;transition:transform .5s ease}
.dp:hover img{transform:scale(1.03)}
@media(prefers-reduced-motion:reduce){.hero h1,.hero>div:first-child>*,.hero .hours,.dp,.dp::before,.dp::after{animation:none!important}.hero h1{-webkit-text-fill-color:currentColor;background:none}.strip img,.dp img{transition:none}.rv{opacity:1!important;transform:none!important}}
/* dentist feature: richer motion */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes blob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-24px) scale(1.18)}}
@keyframes chipf{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-10px) rotate(var(--r,0deg))}}
@keyframes unveil{from{clip-path:inset(0 0 100% 0);transform:scale(1.15)}to{clip-path:inset(0);transform:scale(1)}}
@keyframes txin{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
.docf{position:relative;overflow:hidden;isolation:isolate}
.bl{position:absolute;border-radius:50%;filter:blur(40px);z-index:-1;pointer-events:none}
.b1{width:260px;height:260px;background:rgba(176,58,78,.22);top:-70px;left:-60px;animation:blob 9s ease-in-out infinite}
.b2{width:220px;height:220px;background:rgba(242,184,194,.55);bottom:-60px;right:-40px;animation:blob 11s ease-in-out -4s infinite}
.dpw{position:relative;max-width:360px;margin:0 auto;width:100%;perspective:900px}
.ring{position:absolute;inset:-6px;border-radius:30px;overflow:hidden;z-index:0}.ring::before{content:"";position:absolute;left:50%;top:50%;width:200%;aspect-ratio:1;margin:-100% 0 0 -100%;background:conic-gradient(from 0deg,var(--teal-d),#f2b8c2,var(--teal),#fff,var(--teal-d));animation:spin 6s linear infinite}
.dpw .dp{padding:0;background:#fff;border-radius:26px;overflow:hidden;animation:none;z-index:1;transform-style:preserve-3d;transition:transform .2s ease-out;border:5px solid #fff}
.dpw .dp::before,.dpw .dp::after{display:none}
.dpw .dp img{max-height:none;aspect-ratio:4/5;border-radius:0;transition:transform .6s ease}
.docf.in .dpw .dp img,.docf:not(.rv) .dpw .dp img{animation:unveil .6s cubic-bezier(.2,.7,.2,1) both}
.dpw:hover .dp img{transform:scale(1.06)}
.chip{position:absolute;z-index:3;background:#fff;color:var(--teal-d);font-weight:700;font-size:.82rem;padding:9px 14px;border-radius:999px;box-shadow:0 10px 24px rgba(122,20,38,.22);white-space:nowrap;animation:chipf 4.5s ease-in-out infinite}
.c1{top:8%;left:-4%;--r:-4deg}.c2{top:46%;right:-6%;--r:3deg;animation-delay:-1.5s}.c3{bottom:7%;left:-2%;--r:-2deg;animation-delay:-3s}
.dtx>*{opacity:0}.docf.in .dtx>*{animation:txin .8s cubic-bezier(.2,.7,.2,1) both}
.docf.in .dtx>:nth-child(1){animation-delay:.25s}.docf.in .dtx>:nth-child(2){animation-delay:.38s}.docf.in .dtx>:nth-child(3){animation-delay:.5s}.docf.in .dtx>:nth-child(4){animation-delay:.62s}.docf.in .dtx>:nth-child(5){animation-delay:.74s}
@media(max-width:860px){.c1{left:-2%}.c2{right:-2%}.c3{left:0}.dpw{max-width:300px}}
@media(prefers-reduced-motion:reduce){.bl,.ring::before,.chip,.docf .dp img,.dtx>*{animation:none!important}.dtx>*{opacity:1}}
/* site-wide polish */
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes rip{to{transform:scale(3.2);opacity:0}}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(26px,-30px) scale(1.15)}}
@keyframes pg{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
#pb{position:fixed;top:0;left:0;height:4px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--teal),#f2b8c2,var(--teal-d));z-index:60;pointer-events:none}
header{transition:box-shadow .3s ease,background-color .3s ease}header.sc{box-shadow:0 8px 24px rgba(46,19,24,.28)}
header img{transition:transform .4s ease}.brand:hover img{transform:rotate(-6deg) scale(1.08)}
nav a{position:relative;border-bottom-color:transparent!important}
nav a:not(.btn)::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:#f2b8c2;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
nav a:not(.btn):hover::after,nav a.on::after{transform:scaleX(1)}
section.pg.show{animation:pg .5s cubic-bezier(.2,.7,.2,1)}
.js .wrap>h2.rv.in::after,.js .two h2.rv.in::after,.js .hd.rv.in h2::after,.js .docf h2::after{content:"";display:block;width:56px;height:3px;margin-top:8px;border-radius:3px;background:var(--teal);transform-origin:left;animation:draw .7s .3s cubic-bezier(.2,.7,.2,1) both}
.js .two>.rv:first-child:not(.dpw){transform:translateX(-34px)}.js .two>.rv:last-child{transform:translateX(34px)}
.js .two>.rv.in:first-child,.js .two>.rv.in:last-child,.js .two>.rv.in{transform:none!important}
.js .gal>.rv,.js .strip>.rv{transform:scale(.9)}.js .gal>.rv.in,.js .strip>.rv.in{transform:none}
.hero{position:relative;isolation:isolate}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(50px);z-index:-1;pointer-events:none}
.hero::before{width:300px;height:300px;background:rgba(176,58,78,.16);top:-90px;left:-110px;animation:drift 10s ease-in-out infinite}
.hero::after{width:260px;height:260px;background:rgba(242,184,194,.5);bottom:-80px;right:-60px;animation:drift 12s ease-in-out -5s infinite}
.btn{position:relative;overflow:hidden}
.rp{position:absolute;width:80px;height:80px;margin:-40px 0 0 -40px;border-radius:50%;background:rgba(255,255,255,.45);transform:scale(0);animation:rip .6s ease-out forwards;pointer-events:none}
.btn.alt .rp{background:rgba(176,58,78,.25)}
details{transition:background-color .3s ease,box-shadow .3s ease}details[open]{box-shadow:0 8px 20px rgba(122,20,38,.1)}
details[open]>summary~*{animation:pg .45s ease both}
summary{transition:color .2s ease,padding-left .25s ease}summary:hover{padding-left:6px}
.rvm:hover .rvt{animation-play-state:paused}
.rvc{transition:transform .3s ease,box-shadow .3s ease}.rvc:hover{box-shadow:0 12px 24px rgba(122,20,38,.14)}
.hours,.urgent{transition:transform .3s ease,box-shadow .3s ease}.hours:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(122,20,38,.14)}
input,select,textarea{transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px rgba(176,58,78,.18)}
@media(prefers-reduced-motion:reduce){#pb{display:none}.hero::before,.hero::after,section.pg.show,details[open]>summary~*,.rp{animation:none!important}.js .two>.rv,.js .gal>.rv,.js .strip>.rv{transform:none}}

.fqh{max-width:820px}
.find{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:center}
.find iframe{width:100%;height:320px;border:0;border-radius:18px;box-shadow:0 12px 28px rgba(122,20,38,.14)}
@media(max-width:860px){.find{grid-template-columns:1fr}}

figure.rvc[role=link]{cursor:pointer}figure.rvc[role=link]:hover{border-color:var(--teal)}

/* dentist page: same motion as the home feature */
.dtp{position:relative;overflow:hidden;isolation:isolate;padding:28px;border-radius:28px;background:var(--tint)}
.dtp.in .dpw .dp img{animation:unveil .6s cubic-bezier(.2,.7,.2,1) both}
.dtp.in .dtx>*{animation:txin .8s cubic-bezier(.2,.7,.2,1) both}
.dtp.in .dtx>:nth-child(1){animation-delay:.25s}.dtp.in .dtx>:nth-child(2){animation-delay:.38s}.dtp.in .dtx>:nth-child(3){animation-delay:.5s}.dtp.in .dtx>:nth-child(4){animation-delay:.62s}.dtp.in .dtx>:nth-child(5){animation-delay:.74s}
.dtp .dtx li{transition:transform .25s ease}.dtp .dtx li:hover{transform:translateX(6px)}
@media(prefers-reduced-motion:reduce){.dtp .dp img,.dtp .dtx>*{animation:none!important}}
.dpw{align-self:center}
/* mobile refinements */
html,body{overflow-x:clip}
.bl{display:block}
@media(max-width:600px){
body{font-size:16px}
.hs{margin-top:36px}
.hd{margin-bottom:14px}.hd a{font-size:.92rem}
.trust{grid-template-columns:1fr 1fr;gap:10px}
.tc{padding:14px 8px}.tc b{font-size:1.3rem}.tc span{font-size:.9rem}.tc small{font-size:.78rem}
.cards{grid-template-columns:1fr 1fr;gap:12px}
.cards .card{padding:16px}.cards .card h3{font-size:1rem}.cards .card p{font-size:.85rem}.cards .card svg{width:28px;height:28px}.go{font-size:.8rem}
.strip{grid-template-columns:1fr 1fr;gap:10px}.strip span{font-size:.78rem;padding:20px 8px 8px}
.docf{padding:20px 16px;border-radius:22px}.dpw{max-width:260px}
.chip{font-size:.72rem;padding:7px 11px}
.dtp{padding:20px 16px;border-radius:22px}
.rvh{gap:12px}.agg2{padding:18px}.agg2 b{font-size:2.4rem}
.find iframe{height:240px}
.hero .row,.docf .row,.find .row,.cta .row{flex-direction:column;align-items:stretch}.hero .row .btn,.docf .row .btn,.find .row .btn,.cta .row .btn{text-align:center}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
h1{font-size:clamp(1.8rem,8vw,2.3rem)}
.hero::before,.hero::after{opacity:.6}
#wa{right:12px;bottom:12px;padding:12px 16px}
}
@media(max-width:380px){.cards{grid-template-columns:1fr}}
