@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(nunito-sans-cyrillic-ext-wght-normal-7w74d1lj.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(nunito-sans-cyrillic-wght-normal-B9hoeQUC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(nunito-sans-vietnamese-wght-normal-BhFYcaJr.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(nunito-sans-latin-ext-wght-normal-DMEAsnHD.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(nunito-sans-latin-wght-normal-BWQ3gi2K.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{font-family:Nunito Sans Variable,Arial,sans-serif;color:#174c54;background:#f9f8f2;font-synthesis:none;font-weight:450;font-size:16px;--content-width: 1280px;--layout-unit: min(1vw, 14.4px);--page-gutter: max(32px, calc((100% - var(--content-width)) / 2));--cream: #fbfaf3;--ink: #174c54;--body: #284e5b;--mint: #e4eee8;--peach: #f6c699;--line: #e8e9e1;--card-shadow: 0 2px 5px #224a4610;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button{border:0}
button,a,input,select{outline-offset:5px}
button:focus-visible,a:focus-visible{outline:3px solid #247c83}
button:disabled{cursor:wait}
p,h1,h2,h3{margin:0}
p{color:var(--body)}
svg{flex-shrink:0}
button,a{touch-action:manipulation}
.site{width:100%;max-width:none;margin:0;background:var(--cream);container-type:inline-size;overflow:clip}
button{transition:background-color .18s,box-shadow .18s,color .18s}
a:hover{color:#277c7b}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--peach);padding:15px 28px;border-radius:999px;font-size:clamp(15px,calc(var(--layout-unit) * 1.7),22px);font-weight:750;line-height:1.2;white-space:nowrap;box-shadow:0 3px 9px #8e624b0a;min-height:44px}
.button:hover{background:#edb781;box-shadow:0 4px 15px #8963491c}
.button:active{background:#e9ab72}
.button svg{width:21px;height:21px}
.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:8px;background:transparent;border-radius:50%}
.icon-button:hover{background:#164d5410}
.icon-button svg{width:25px;height:25px}
.topbar{background:#dfe9e7;display:flex;align-items:center;gap:calc(var(--layout-unit) * 3);padding:10px calc(var(--layout-unit) * 3.1);font-size:clamp(10px,calc(var(--layout-unit) * 1.17),16px);font-weight:650;min-height:calc(var(--layout-unit) * 5.4)}
.topbar>a,.topbar>span{display:flex;align-items:center;gap:9px;white-space:nowrap}
.topbar svg{width:19px;height:19px}
.topbar .top-book{margin-left:auto;padding:9px 24px;font-size:clamp(12px,calc(var(--layout-unit) * 1.35),18px);min-height:32px}
.navigation{display:flex;align-items:center;justify-content:space-between;gap:25px;height:clamp(68px,6vw,86px);min-height:68px;padding:0 calc(var(--layout-unit) * 4.1);background:#fcfbf4}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand>svg{width:calc(var(--layout-unit) * 5.1);height:calc(var(--layout-unit) * 5.5);color:#216d72;transform:rotate(-13deg)}
.brand strong{display:block;font-size:clamp(18px,1.9vw,27px);font-weight:800;letter-spacing:-.7px;line-height:1.05}
.brand small{font-size:clamp(8px,calc(var(--layout-unit) * 1.07),14px);display:block;margin-bottom:5px;color:#486b70}
.navigation nav{display:flex;gap:clamp(16px,2.2vw,32px);align-items:center;margin-left:auto}
.navigation nav a,.navigation nav .nav-price-button{font-weight:800;font-size:clamp(12px,calc(var(--layout-unit) * 1.5),20px);white-space:nowrap}
.nav-price-button{padding:0;background:transparent;font:inherit}
.nav-price-button:hover{color:#348c8d}
footer .nav-price-button:hover{color:#f6c699}
.navigation .search-button{margin-left:calc(var(--layout-unit) * 1.6)}
.menu-button,.mobile-nav{display:none}
.photo{background-image:url(reference.jpg);background-repeat:no-repeat;overflow:hidden}
.hero{position:relative;aspect-ratio:483/306;isolation:isolate;background:#eceae1}
.hero-desktop{position:absolute;top:0;right:0;width:62%;height:100%;object-fit:cover;object-position:center top}
.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(90deg,#eeede5,#eeede5 41.5%,#eeede5f8 43%,#eeede500 46%);pointer-events:none}
.hero-copy{position:relative;z-index:1;padding:calc(var(--layout-unit) * 9.2) 0 0 calc(var(--layout-unit) * 4.2);width:48%}
.eyebrow{text-transform:uppercase;letter-spacing:.085em;font-size:clamp(11px,calc(var(--layout-unit) * 1.37),18px);font-weight:850;line-height:1.45;color:#456e76}
.hero h1{font-size:calc(var(--layout-unit) * 4.62);font-weight:800;line-height:1.04;letter-spacing:-.038em;margin:calc(var(--layout-unit) * 1.8) 0 calc(var(--layout-unit) * 1.4);white-space:nowrap}
.hero-description{font-size:calc(var(--layout-unit) * 1.87);line-height:1.36;margin-bottom:calc(var(--layout-unit) * 2.7);max-width:calc(var(--layout-unit) * 43)}
.hero-copy .button{padding:calc(var(--layout-unit) * 1.65) calc(var(--layout-unit) * 3.1)}
.hero-mobile{display:none}
.hero-rating{display:flex;align-items:center;gap:16px;width:fit-content;max-width:100%;margin-top:22px;text-decoration:none}
.hero-rating-avatars{display:flex;flex-shrink:0}
.hero-rating-avatars img{display:block;width:44px;height:44px;border:3px solid #eeede5;border-radius:50%;object-fit:cover}
.hero-rating-avatars img+img{margin-left:-10px}
.hero-rating-stars{display:flex;gap:2px}
.hero-rating-star{position:relative;display:block;width:19px;height:19px;color:#d5d6cc}
.hero-rating-star svg{display:block;width:19px;height:19px}
.hero-rating-star>span{position:absolute;inset:0 auto 0 0;overflow:hidden;color:#edaa22}
.hero-rating-label{display:flex;flex-direction:column;gap:2px;white-space:nowrap;font-size:12px;line-height:1.3}
.hero-rating-label strong{font-size:15px;font-weight:800}
.hero-rating:hover .hero-rating-label strong{text-decoration:underline;text-underline-offset:3px}
.trust{position:absolute;bottom:calc(var(--layout-unit) * 4.3);left:calc(var(--layout-unit) * 4.2);z-index:1;display:grid;grid-template-columns:1fr 1.2fr 1fr;width:calc(var(--layout-unit) * 37)}
.trust>div{padding-right:calc(var(--layout-unit) * 1.5);padding-left:calc(var(--layout-unit) * 2);border-left:1px solid #ccd7cd70;display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--layout-unit) * 1)}
.trust>div:first-child{border:0;padding-left:0}
.trust svg{width:calc(var(--layout-unit) * 3.1);height:calc(var(--layout-unit) * 3.1)}
.trust span{font-size:calc(var(--layout-unit) * 1.38);line-height:1.3;font-weight:650}
.section-pad{padding:calc(var(--layout-unit) * 4.2) calc(var(--layout-unit) * 2.4) calc(var(--layout-unit) * 3)}
.section-heading{text-align:center;margin-bottom:calc(var(--layout-unit) * 2.7)}
.section-heading h2,h2{font-size:calc(var(--layout-unit) * 3.95);font-weight:800;line-height:1.15;letter-spacing:-.025em}
.section-heading .eyebrow{margin-bottom:calc(var(--layout-unit) * .9)}
.section-heading>p:last-child:not(.eyebrow){font-size:calc(var(--layout-unit) * 1.7);line-height:1.4;margin-top:calc(var(--layout-unit) * 1.1)}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--layout-unit) * 2)}
.service-card{position:relative;display:block;padding:calc(var(--layout-unit) * 1.9);text-align:left;border:1px solid var(--line);border-radius:16px;background:#fcfbf6;box-shadow:var(--card-shadow);overflow:hidden}
.service-card:hover,.guide-card:hover{box-shadow:0 5px 18px #234e4a18;background:#fffdf7}
.service-image{position:relative}
.service-wide-photo{width:100%;border-radius:11px}
.service-small-photo{display:none}
.icon-circle{display:grid;place-items:center;background:#c4e5d6;border-radius:50%;width:calc(var(--layout-unit) * 7.8);height:calc(var(--layout-unit) * 7.8);flex-shrink:0}
.icon-circle svg{width:calc(var(--layout-unit) * 4.4);height:calc(var(--layout-unit) * 4.4);stroke-width:1.5}
.peach{background:#f5ceb1}
.service-image>.icon-circle{position:absolute;left:0;top:calc(var(--layout-unit) * .1);width:calc(var(--layout-unit) * 8.2);height:calc(var(--layout-unit) * 8.2)}
.service-copy h3{font-size:calc(var(--layout-unit) * 2.05);font-weight:850;line-height:1.2;margin:calc(var(--layout-unit) * 1.55) 0 calc(var(--layout-unit) * .65)}
.service-copy p{font-size:calc(var(--layout-unit) * 1.8);line-height:1.34;max-width:calc(var(--layout-unit) * 24)}
.learn-link{display:flex;align-items:center;gap:10px;font-size:calc(var(--layout-unit) * 1.72);font-weight:800;margin-top:calc(var(--layout-unit) * 2)}
.learn-link svg{width:calc(var(--layout-unit) * 1.9);height:calc(var(--layout-unit) * 1.9)}
.service-chevron{display:none}
.first-visit{position:relative;display:grid;grid-template-columns:1fr 1.06fr;column-gap:calc(var(--layout-unit) * 3.5);background:var(--mint);padding:calc(var(--layout-unit) * 4.3) calc(var(--layout-unit) * 2.5) calc(var(--layout-unit) * 3.4) calc(var(--layout-unit) * 4.2);min-height:calc(var(--layout-unit) * 42.3);isolation:isolate;overflow:hidden}
.visit-intro{padding-top:calc(var(--layout-unit) * .5)}
.visit-intro .eyebrow{margin-bottom:calc(var(--layout-unit) * 1.8)}
.visit-intro h2{font-size:calc(var(--layout-unit) * 4.3);margin-bottom:calc(var(--layout-unit) * 1.15)}
.visit-intro>p:last-child{font-size:calc(var(--layout-unit) * 1.94);line-height:1.35}
.resting-cat{display:block;height:auto;position:absolute;left:0;bottom:0;width:50%;z-index:-1}
.visit-checklist{background:#fcfbf5;border-radius:15px;padding:calc(var(--layout-unit) * 2);display:flex;flex-direction:column;justify-content:space-between;gap:calc(var(--layout-unit) * 1.6);align-self:start;box-shadow:var(--card-shadow)}
.visit-step{display:flex;gap:calc(var(--layout-unit) * 1.5);align-items:center}
.visit-step .icon-circle{width:calc(var(--layout-unit) * 6.2);height:calc(var(--layout-unit) * 6.2)}
.visit-step .icon-circle svg{width:calc(var(--layout-unit) * 3.6);height:calc(var(--layout-unit) * 3.6)}
.visit-step h3{font-size:calc(var(--layout-unit) * 1.8);font-weight:850;line-height:1.2;margin-bottom:calc(var(--layout-unit) * .4)}
.visit-step p{font-size:calc(var(--layout-unit) * 1.5);line-height:1.3;color:#4b6570}
.team{padding-top:calc(var(--layout-unit) * 3.5)}
.team .section-heading{margin-bottom:calc(var(--layout-unit) * 2.3)}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--layout-unit) * 2)}
.team-card{border-radius:13px;background:#fcfbf6;box-shadow:var(--card-shadow);border:1px solid var(--line);overflow:hidden;text-align:center}
.team-card .team-photo{display:block;height:auto;aspect-ratio:3 / 2;object-fit:cover;width:100%;border-radius:12px}
.team-copy{padding:calc(var(--layout-unit) * 1.2) calc(var(--layout-unit) * 2.5) calc(var(--layout-unit) * 1.8)}
.team-copy h3{font-size:calc(var(--layout-unit) * 1.95);line-height:1.2;font-weight:850}
.team-copy .role{font-size:calc(var(--layout-unit) * 1.55);color:#3a7a7d;margin:calc(var(--layout-unit) * .25) 0 calc(var(--layout-unit) * .65)}
.team-copy>p:last-child{font-size:calc(var(--layout-unit) * 1.53);line-height:1.35}
.guides{padding-top:calc(var(--layout-unit) * 2.5)}
.guides .section-heading{margin-bottom:calc(var(--layout-unit) * 2)}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--layout-unit) * 2)}
.guide-card{padding:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;text-align:left;background:#fcfbf6;box-shadow:var(--card-shadow)}
.guide-card>.guide-photo{display:block;width:100%;height:auto;aspect-ratio:3 / 1;object-fit:cover}
.guide-card>div:last-child{padding:calc(var(--layout-unit) * 1.5) calc(var(--layout-unit) * 2)}
.guide-card h3{font-size:calc(var(--layout-unit) * 2.2);font-weight:850;line-height:1.2}
.guide-card p{font-size:calc(var(--layout-unit) * 1.6);margin-top:calc(var(--layout-unit) * .5)}
.guide-card .learn-link{margin-top:calc(var(--layout-unit) * 1.3)}
.contacts{position:relative;background:#dceae5;padding:calc(var(--layout-unit) * 3) calc(var(--layout-unit) * 4);display:flex;align-items:flex-end;justify-content:space-between}
.contacts h2{font-size:calc(var(--layout-unit) * 2.8)}
.contacts>div>p{font-size:calc(var(--layout-unit) * 1.5);margin:calc(var(--layout-unit) * .5) 0 calc(var(--layout-unit) * 1.2)}
.contacts address{display:flex;flex-direction:column;gap:calc(var(--layout-unit) * .5);font-style:normal;font-size:calc(var(--layout-unit) * 1.55)}
.contacts address>span,.contacts address>a{display:flex;align-items:center;gap:9px}
.contacts address svg{width:calc(var(--layout-unit) * 1.8);height:calc(var(--layout-unit) * 1.8)}
.contact-paw{position:absolute;right:calc(var(--layout-unit) * 5);top:calc(var(--layout-unit) * 2.7);width:calc(var(--layout-unit) * 5);height:calc(var(--layout-unit) * 5);color:#70a2a4;transform:rotate(12deg)}
footer{background:#174d54;color:#fffdf4;padding:calc(var(--layout-unit) * 2.5) calc(var(--layout-unit) * 4) calc(var(--layout-unit) * 1.8)}
.footer-top{display:flex;justify-content:space-between;align-items:center}
.brand-light>svg,.brand-light small{color:#e2eee8}
.brand-light strong{font-size:calc(var(--layout-unit) * 2)}
.brand-light small{font-size:calc(var(--layout-unit) * .8)}
.brand-light>svg{width:calc(var(--layout-unit) * 3.5);height:calc(var(--layout-unit) * 3.8)}
.socials{display:flex;gap:calc(var(--layout-unit) * 1)}
.socials .icon-button{width:36px;height:36px}
.socials svg{width:22px;height:22px}
.socials button:hover{background:#ffffff20}
footer nav{display:flex;align-items:center;gap:calc(var(--layout-unit) * 2);font-size:calc(var(--layout-unit) * 1.1);margin:6px 0 calc(var(--layout-unit) * 1.7)}
footer a:hover{color:#f6c699}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:20px;padding-top:calc(var(--layout-unit) * 1.6);border-top:1px solid #ffffff20;font-size:calc(var(--layout-unit) * .95);color:#d7e5e1}
.footer-legal{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;min-height:44px;text-align:right;text-decoration:underline;text-underline-offset:4px}
.footer-bottom>span,.footer-bottom>button{min-width:0;overflow-wrap:anywhere}
.footer-bottom button{background:none;font-size:inherit;color:inherit;text-align:right;padding:0}
.skip-link{position:fixed;left:20px;top:-100px;background:var(--ink);color:#fff;padding:16px;z-index:10}
.skip-link:focus{top:16px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
dialog{border:1px solid #d9e2d9;border-radius:22px;padding:0;width:min(540px,calc(100% - 32px));max-height:90dvh;background:var(--cream);color:var(--ink);box-shadow:0 30px 100px #153b4a40}
dialog::backdrop{background:#0c303d80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.dialog-inner{position:relative;padding:40px}
.close-dialog{position:absolute;right:12px;top:12px}
.dialog-inner h2{font-size:30px;line-height:1.15;letter-spacing:-.6px;margin:8px 25px 15px 0}
.dialog-inner .eyebrow{font-size:10px;padding-right:20px}
.dialog-inner h2:focus{outline:none}
dialog.price-dialog{width:min(960px,calc(100% - 32px))}
.price-back{display:inline-flex;align-items:center;gap:8px;padding:8px 0;margin:0 28px 16px 0;background:transparent;font-size:14px;font-weight:750}
.price-back svg{width:18px;height:18px}
.price-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45;text-align:left}
.price-table th,.price-table td{padding:16px 18px;border-bottom:1px solid #bdd9d8}
.price-table thead th{background:#eef2ef;font-weight:800;border-bottom:2px solid #72aeaf}
.price-table tbody th{font-weight:500}
.price-table tbody tr:nth-child(odd){background:#fff}
.price-table tbody tr:nth-child(2n){background:#f1f4f1}
.price-table td{width:24%;min-width:100px;white-space:nowrap;font-variant-numeric:tabular-nums}
.price-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-top:24px}
.price-note{color:#607477;font-size:13px}
@media(max-width:767px){.price-table{font-size:14px}
.price-table th,.price-table td{padding:12px 10px}
.price-table td{width:30%;min-width:80px}
}
.dialog-lead,.detail-body{font-size:16px;line-height:1.65;margin-bottom:25px}
.dialog-inner form{display:grid;gap:15px}
.dialog-inner label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:750}
.dialog-inner input,.dialog-inner select{width:100%;min-width:0;border:1px solid #bbcfc7;border-radius:8px;background:#fffdf8;color:var(--ink);padding:12px;font-size:16px;min-height:46px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.demo-note{font-size:12px;line-height:1.5;color:#526966}
.submit-button{margin-top:5px}
.booking-success>svg{color:#347d70}
.booking-success>p{margin:15px 0;line-height:1.6}
.booking-success .button{margin-top:15px}
.dialog-inner .search-field{position:relative;margin-top:25px}
.search-field>svg{position:absolute;left:13px;top:14px;width:20px;height:20px}
.search-field input{padding-left:42px}
.search-results{display:grid;margin-top:15px;gap:3px}
.search-results button{padding:12px 8px;display:flex;align-items:center;justify-content:space-between;background:transparent;text-align:left;min-height:44px;border-radius:6px}
.search-results button:hover{background:var(--mint)}
.search-results button svg{width:20px}
.search-results>p{padding:15px 0;line-height:1.6}
.detail-photo{margin:5px 0 24px;border-radius:12px}
.dialog-inner .button{font-size:16px}
@media(min-width:768px){.topbar,.navigation,.section-pad,.first-visit,.contacts,footer{padding-inline:var(--page-gutter)}
.hero{aspect-ratio:auto;min-height:clamp(460px,48vw,680px);padding-bottom:100px}
.hero-copy{margin-left:var(--page-gutter);padding:clamp(32px,4.5vw,64px) 0 0;width:min(44%,580px)}
.hero-desktop{width:calc(50% + min(12vw,173px))}
.hero:after{background:linear-gradient(90deg,#eeede5,#eeede5 calc(50% - min(8.5vw,122px)),#eeede5f8 calc(50% - min(7vw,101px)),#eeede500 calc(50% - min(4vw,58px)))}
.trust{position:relative;left:var(--page-gutter);width:min(37%,480px);margin-top:32px;bottom:auto}
.resting-cat{left:var(--page-gutter);width:min(44%,600px)}
.contact-paw{right:var(--page-gutter)}
}
@media(max-width:767px){.topbar{min-height:40px;padding:8px calc(var(--layout-unit) * 6.5);gap:0;justify-content:space-between;font-size:calc(var(--layout-unit) * 2.55)}
.topbar svg{width:calc(var(--layout-unit) * 3.6);height:calc(var(--layout-unit) * 3.6)}
.topbar>a,.topbar>span{gap:6px}
.topbar .top-address,.topbar .top-book{display:none}
.navigation{height:62px;min-height:62px;padding:0 calc(var(--layout-unit) * 6.5);gap:10px}
.brand{gap:9px}
.brand>svg{width:calc(var(--layout-unit) * 10);height:calc(var(--layout-unit) * 11)}
.brand strong{font-size:clamp(15px,4.3vw,23px);letter-spacing:-.3px}
.brand small{font-size:clamp(10px,2.8vw,14px);margin-bottom:4px}
.navigation nav,.search-button{display:none}
.menu-button{display:grid;margin-right:-9px}
.menu-button svg{width:calc(var(--layout-unit) * 6);height:calc(var(--layout-unit) * 6)}
.mobile-nav{display:grid;padding:8px calc(var(--layout-unit) * 6.5) 22px;background:#fcfbf4;border-top:1px solid var(--line);gap:4px}
.mobile-nav>a,.mobile-nav>button:not(.button){display:flex;align-items:center;justify-content:space-between;text-align:left;min-height:46px;background:transparent;font-weight:700}
.mobile-nav svg{width:20px;height:20px}
.mobile-nav .button{margin-top:10px;font-size:15px}
.hero{aspect-ratio:auto;display:flex;flex-direction:column;background:#edece4}
.hero-desktop,.hero:after{display:none}
.hero-copy{width:100%;padding:calc(var(--layout-unit) * 6) calc(var(--layout-unit) * 6.5) 0;background:transparent}
.eyebrow{font-size:calc(var(--layout-unit) * 2.7);letter-spacing:.065em;line-height:1.42}
.hero h1{font-size:calc(var(--layout-unit) * 8.3);line-height:1.07;letter-spacing:-.025em;margin:calc(var(--layout-unit) * 3) 0 calc(var(--layout-unit) * 2.8)}
.hero-description{font-size:calc(var(--layout-unit) * 3.8);line-height:1.28;margin-bottom:calc(var(--layout-unit) * 3.5);max-width:calc(var(--layout-unit) * 77)}
.desktop-break{display:none}
.hero-copy .button{padding:calc(var(--layout-unit) * 2.8) calc(var(--layout-unit) * 6);font-size:calc(var(--layout-unit) * 3.5);min-height:40px;gap:12px;position:relative;z-index:2}
.hero-rating{gap:10px;margin-top:18px}
.hero-rating-avatars img{width:36px;height:36px;border-width:2px}
.hero-rating-star,.hero-rating-star svg{width:16px;height:16px}
.hero-rating-label strong{font-size:13px}
.hero-rating-label{font-size:11px}
.button svg{width:calc(var(--layout-unit) * 4);height:calc(var(--layout-unit) * 4)}
.hero-mobile{display:block;position:relative;margin-top:calc(var(--layout-unit) * 3);aspect-ratio:1.2;overflow:hidden}
.hero-mobile>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%);mask-image:linear-gradient(to bottom,transparent,#000 8%)}
.trust{position:static;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#fcfcf7;padding:calc(var(--layout-unit) * 4.8) calc(var(--layout-unit) * 7) calc(var(--layout-unit) * 4.5)}
.trust>div{border:0;padding:0;gap:calc(var(--layout-unit) * 1.8);align-items:flex-start}
.trust>div:nth-child(2){padding-left:calc(var(--layout-unit) * 3)}
.trust>div:nth-child(3){padding-left:calc(var(--layout-unit) * 7)}
.trust svg{width:calc(var(--layout-unit) * 6.7);height:calc(var(--layout-unit) * 6.7)}
.trust span{font-size:calc(var(--layout-unit) * 2.9);line-height:1.3;font-weight:750}
.section-pad{padding:calc(var(--layout-unit) * 5.5) calc(var(--layout-unit) * 6) calc(var(--layout-unit) * 4.8)}
.section-heading{text-align:left;margin-bottom:calc(var(--layout-unit) * 3.8)}
.section-heading .eyebrow{font-size:calc(var(--layout-unit) * 2.55);margin-bottom:calc(var(--layout-unit) * 1.3)}
.section-heading h2,h2{font-size:calc(var(--layout-unit) * 6.65);line-height:1.13;letter-spacing:-.02em}
.section-heading>p:last-child:not(.eyebrow){font-size:calc(var(--layout-unit) * 3.5);line-height:1.32;margin-top:calc(var(--layout-unit) * 1.6)}
.service-grid{grid-template-columns:1fr;gap:calc(var(--layout-unit) * 3.4)}
.service-card{height:calc(var(--layout-unit) * 21.8);min-height:82px;padding:calc(var(--layout-unit) * 3) calc(var(--layout-unit) * 3.3);display:flex;align-items:center;border-radius:12px;overflow:hidden}
.service-image{position:static;flex:0 0 calc(var(--layout-unit) * 15);align-self:stretch}
.service-wide-photo{display:none}
.service-image>.icon-circle{left:calc(var(--layout-unit) * 3.1);top:50%;transform:translateY(-50%);width:calc(var(--layout-unit) * 14.8);height:calc(var(--layout-unit) * 14.8)}
.icon-circle svg{width:calc(var(--layout-unit) * 8);height:calc(var(--layout-unit) * 8)}
.service-copy{position:relative;width:calc(var(--layout-unit) * 35);margin-left:calc(var(--layout-unit) * 3);align-self:center}
.service-copy h3{font-size:calc(var(--layout-unit) * 3.5);line-height:1.1;margin:0 0 calc(var(--layout-unit) * 1.1);font-weight:800}
.service-copy p{font-size:calc(var(--layout-unit) * 2.8);line-height:1.25;max-width:none}
.service-copy .learn-link{display:none}
.service-small-photo{display:block;position:absolute;right:calc(var(--layout-unit) * 9.2);bottom:0;width:calc(var(--layout-unit) * 22);height:calc(var(--layout-unit) * 20.5);mask-image:linear-gradient(90deg,transparent,#000 16%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%)}
.service-chevron{display:block;position:absolute;right:calc(var(--layout-unit) * 2.4);top:50%;transform:translateY(-50%);width:calc(var(--layout-unit) * 3.8);height:calc(var(--layout-unit) * 3.8)}
.first-visit{display:block;min-height:0;padding:calc(var(--layout-unit) * 4) calc(var(--layout-unit) * 6) calc(var(--layout-unit) * 5.5);background:linear-gradient(110deg,#edf2eb,#e9efeb)}
.visit-intro{padding:0}
.visit-intro .eyebrow{font-size:calc(var(--layout-unit) * 2.55);margin:0 0 calc(var(--layout-unit) * 1.3)}
.visit-intro .eyebrow br{display:none}
.visit-intro h2{font-size:calc(var(--layout-unit) * 6.8);margin-bottom:calc(var(--layout-unit) * 1.5)}
.visit-intro>p:last-child{font-size:calc(var(--layout-unit) * 3.6);line-height:1.3;max-width:calc(var(--layout-unit) * 85)}
.resting-cat{display:none}
.visit-checklist{padding:calc(var(--layout-unit) * 4.4) calc(var(--layout-unit) * 3);gap:calc(var(--layout-unit) * 4.7);border-radius:10px;margin-top:calc(var(--layout-unit) * 3.5)}
.visit-step{gap:calc(var(--layout-unit) * 3)}
.visit-step .icon-circle{width:calc(var(--layout-unit) * 11.5);height:calc(var(--layout-unit) * 11.5)}
.visit-step .icon-circle svg{width:calc(var(--layout-unit) * 6.6);height:calc(var(--layout-unit) * 6.6)}
.visit-step h3{font-size:calc(var(--layout-unit) * 3.4);margin-bottom:calc(var(--layout-unit) * .8);font-weight:850}
.visit-step p{font-size:calc(var(--layout-unit) * 2.8);line-height:1.3}
.team{padding-top:calc(var(--layout-unit) * 4.5);padding-bottom:calc(var(--layout-unit) * 2.5)}
.team .section-heading{margin-bottom:calc(var(--layout-unit) * 3.5)}
.team .section-heading>p:last-child:not(.eyebrow){display:none}
.team .section-heading h2{font-size:calc(var(--layout-unit) * 6.2)}
.team-grid{grid-template-columns:1fr;gap:calc(var(--layout-unit) * 2.5)}
.team-card{display:grid;grid-template-columns:35% 1fr;gap:calc(var(--layout-unit) * 4);text-align:left;border:0;border-radius:0;box-shadow:none;background:transparent;align-items:center}
.team-card .team-photo{width:100%;border-radius:8px;aspect-ratio:1.46!important}
.team-copy{padding:0}
.team-copy h3{font-size:calc(var(--layout-unit) * 3.7);line-height:1.13}
.team-copy .role{font-size:calc(var(--layout-unit) * 3);line-height:1.15;margin:calc(var(--layout-unit) * .8) 0}
.team-copy>p:last-child{font-size:calc(var(--layout-unit) * 3);line-height:1.25}
.guides{padding-top:calc(var(--layout-unit) * 3.5);padding-bottom:calc(var(--layout-unit) * 3.5)}
.guides .section-heading{margin-bottom:calc(var(--layout-unit) * 2)}
.guides .section-heading h2{font-size:calc(var(--layout-unit) * 5.6)}
.guides .section-heading>p:last-child{font-size:calc(var(--layout-unit) * 2.8);line-height:1.3;margin-top:calc(var(--layout-unit) * 1);white-space:normal}
.guide-grid{gap:calc(var(--layout-unit) * 3)}
.guide-card{border-radius:5px}
.guide-card>div:last-child{padding:calc(var(--layout-unit) * 2) calc(var(--layout-unit) * 2) calc(var(--layout-unit) * 2.5)}
.guide-card h3{font-size:calc(var(--layout-unit) * 3.2);line-height:1.17}
.guide-card p{font-size:calc(var(--layout-unit) * 2.65);line-height:1.25;margin-top:calc(var(--layout-unit) * 1)}
.guide-card .learn-link{font-size:calc(var(--layout-unit) * 2.65);gap:4px;margin-top:calc(var(--layout-unit) * 1.5)}
.learn-link svg{width:calc(var(--layout-unit) * 3);height:calc(var(--layout-unit) * 3)}
.contacts{padding:calc(var(--layout-unit) * 3.3) calc(var(--layout-unit) * 6) calc(var(--layout-unit) * 4);align-items:flex-end}
.contacts h2{font-size:calc(var(--layout-unit) * 4.2);max-width:calc(var(--layout-unit) * 70)}
.contacts>div>p{font-size:calc(var(--layout-unit) * 2.65);margin:calc(var(--layout-unit) * .7) 0 calc(var(--layout-unit) * 2)}
.contacts address{font-size:calc(var(--layout-unit) * 2.65);gap:calc(var(--layout-unit) * 1.2)}
.contacts address>span,.contacts address>a{gap:5px}
.contacts address svg{width:calc(var(--layout-unit) * 3.4);height:calc(var(--layout-unit) * 3.4)}
.contacts .button{position:absolute;right:calc(var(--layout-unit) * 6);bottom:calc(var(--layout-unit) * 4);min-height:31px;padding:calc(var(--layout-unit) * 2) calc(var(--layout-unit) * 4);font-size:calc(var(--layout-unit) * 3);gap:6px}
.contact-paw{right:calc(var(--layout-unit) * 9);top:calc(var(--layout-unit) * 6);width:calc(var(--layout-unit) * 10);height:calc(var(--layout-unit) * 10)}
footer{padding:calc(var(--layout-unit) * 4.5) calc(var(--layout-unit) * 6) calc(var(--layout-unit) * 3.5)}
.brand-light{gap:6px}
.brand-light>svg{width:calc(var(--layout-unit) * 7.3);height:calc(var(--layout-unit) * 7.3)}
.brand-light strong{font-size:calc(var(--layout-unit) * 3.6)}
.brand-light small{font-size:calc(var(--layout-unit) * 1.5);margin-top:1px}
.socials{gap:calc(var(--layout-unit) * 1.3)}
.socials .icon-button{width:30px;height:34px;padding:7px}
.socials svg{width:calc(var(--layout-unit) * 4.7);height:calc(var(--layout-unit) * 4.7)}
footer nav{flex-wrap:wrap;gap:calc(var(--layout-unit) * 3.5);font-size:calc(var(--layout-unit) * 2.35);margin:6px 0 calc(var(--layout-unit) * 3.7)}
footer nav .footer-legal{flex-basis:100%;min-height:44px;font-size:12px}
footer nav a{display:inline-flex;align-items:center;min-height:24px}
.footer-bottom{grid-template-columns:1fr;text-align:center;padding-top:calc(var(--layout-unit) * 2.8);font-size:12px;gap:4px;line-height:1.4}
.footer-bottom button{max-width:none;text-align:center}
.dialog-inner{padding:35px 24px 26px}
.dialog-inner h2{font-size:27px}
.form-row{grid-template-columns:1fr}
.dialog-inner .button{min-height:48px}
.dialog-inner .button svg{width:20px;height:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}
@media(min-width:768px){.service-copy h3{font-size:clamp(18px,1.65vw,24px)}
.service-copy p{font-size:clamp(16px,1.45vw,21px);min-height:4.02em}
.service-copy .learn-link{font-size:clamp(16px,1.45vw,21px)}
}
@media(min-width:768px)and (max-width:1100px){.hero{min-height:520px}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.service-photo-card{--service-badge-size: clamp(32px, 4.2vw, 60px)}
.service-photo-card .service-image{position:relative;aspect-ratio:129 / 80;flex:none;width:100%}
.service-generated-photo{display:block;width:100%;height:100%;aspect-ratio:129 / 80;object-fit:cover;object-position:center 35%;border-radius:11px}
.service-dental-photo{width:65.9%;margin-left:auto;border-radius:0 11px 11px 0}
.service-dental-card .service-image{background:#f1eee6;border-radius:11px}
.service-photo-card .service-image>.icon-circle{top:auto;bottom:calc(var(--service-badge-size) * -.4);left:50%;transform:translate(-50%);width:var(--service-badge-size);height:var(--service-badge-size);color:#348c8d;background:#e3f1eb;box-shadow:0 2px 8px #174c540a}
.service-photo-card .service-image>.icon-circle svg{width:56%;height:56%}
.service-photo-card .service-copy{padding-top:calc(var(--service-badge-size) * .38)}
.detail-generated-photo{display:block;width:100%;height:auto}
.services-actions{display:flex;justify-content:center;margin-top:clamp(24px,2.5vw,36px)}
.all-services-button{background:#16878b;color:#fff;border-radius:8px;padding:15px 34px;font-size:17px;min-height:50px}
.all-services-button:hover{background:#106d72}
.all-services-button:active{background:#0f5e63}
.all-services-list{display:grid;gap:8px;margin-top:24px}
.all-services-list>button{display:flex;align-items:center;gap:14px;padding:14px;background:#eef3ec;text-align:left;border-radius:10px}
.all-services-list>button:hover{background:#e0ece3}
.all-services-list svg{width:25px;height:25px}
.all-services-list button>svg:last-child{margin-left:auto;width:18px}
.all-services-list strong{display:block;font-size:16px}
.all-services-list small{display:block;font-size:13px;line-height:1.4;margin-top:3px}
@media(min-width:768px){.navigation .brand>svg{width:clamp(38px,4vw,56px);height:clamp(38px,4vw,56px)}
.hero h1{font-size:clamp(32px,4vw,58px);margin-top:18px;margin-bottom:16px}
.hero-description{font-size:clamp(15px,1.7vw,24px);margin-bottom:24px}
.hero-copy .button{padding:15px 28px}
.trust svg{width:30px;height:30px}
.trust span{font-size:clamp(11px,1.1vw,15px)}
}
@media(max-width:767px){.service-photo-card{--service-badge-size: 24px}
.service-photo-card .service-image{position:absolute;right:calc(var(--layout-unit) * 9.2);top:calc(var(--layout-unit) * 1);width:calc(var(--layout-unit) * 22);height:calc(var(--layout-unit) * 18)}
.service-generated-photo{height:100%;object-position:center 30%;border-radius:6px}
.service-dental-photo{width:100%;height:100%;border-radius:6px}
.service-photo-card .service-image>.icon-circle{bottom:-5px}
.service-photo-card .service-copy{padding-top:0;margin-left:0;width:calc(var(--layout-unit) * 49)}
.all-services-button{font-size:14px;min-height:44px;padding:12px 24px}
}
@media(min-width:768px){.hero-desktop{right:0;width:min(calc(clamp(460px,48vw,680px) + 250px),62vw);max-width:none;height:100%;object-fit:cover;object-position:left center;-webkit-mask-image:linear-gradient(to right,transparent 0%,rgb(0 0 0 / 40%) 6%,#000 16%,#000 96%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,rgb(0 0 0 / 40%) 6%,#000 16%,#000 96%,transparent 100%)}
.hero:after{display:none}
.hero{background:#eeede5}
}
@media(max-width:767px){.hero-mobile{height:min(100vw,340px);aspect-ratio:auto}
.hero-mobile>img{width:auto;max-width:100%;margin-inline:auto;object-fit:contain;object-position:center;-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
}
.reviews{background:#fffefa;padding-inline:var(--page-gutter)}
.reviews .section-heading h2{font-size:clamp(26px,3vw,43px);margin-inline:auto}
.review-carousel{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:44px;align-items:center;width:100%}
.review-arrow{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#278b8b;color:#fff}
.review-arrow svg{width:22px;height:22px}
.review-arrow:hover{background:#17696d}
.review-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px) / 3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-block:8px}
.review-track::-webkit-scrollbar{display:none}
.review-card{scroll-snap-align:start;display:flex;align-items:flex-start;gap:16px;padding:22px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--card-shadow)}
.review-avatar{flex:0 0 auto;width:clamp(64px,6.4vw,92px);height:clamp(64px,6.4vw,92px);border-radius:50%;object-fit:cover}
.review-content{display:flex;flex-direction:column;align-self:stretch;min-width:0}
.review-stars{display:flex;gap:3px;color:#edaa22;margin-bottom:10px}
.review-stars svg{width:18px;height:18px;flex-shrink:0}
.review-content p{font-size:14px;line-height:1.55;margin-bottom:16px}
.review-content h3{font-size:14px;line-height:1.35;margin-top:auto}
.review-content a{display:inline-flex;align-items:center;gap:5px;font-size:12px;margin-top:8px;color:#438084}
.review-content a svg{width:14px;height:14px}
@media(min-width:768px)and (max-width:1100px){.review-carousel{gap:24px;grid-template-columns:36px minmax(0,1fr) 36px}
.review-arrow{width:36px;height:36px}
.review-card{flex-direction:column;padding:18px 14px}
}
@media(max-width:767px){.reviews{padding:32px 18px}
.reviews .section-heading h2{font-size:26px}
.review-carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:14px}
.review-arrow{width:32px;height:32px}
.review-track{grid-auto-columns:100%}
.review-card{flex-direction:column;padding:20px 16px}
.review-avatar{width:76px;height:76px}
footer nav .nav-price-button{font-size:calc(var(--layout-unit) * 2.45)}
}
.dialog-inner input:focus,.dialog-inner select:focus{outline:none;box-shadow:none;border-color:#6b9997}
.dialog-inner .form-row>label{min-width:0}
.select-field{display:block;position:relative;min-width:0}
.dialog-inner .select-field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:none;padding-right:42px;text-overflow:ellipsis}
.select-field>svg{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:17px;height:17px;pointer-events:none}
.contacts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:42px;padding-block:40px}
.contacts h2{font-size:clamp(25px,2.7vw,38px)}
.contacts address svg{flex-shrink:0}
.contacts .contact-book{position:static;margin-top:24px}
.contact-map{position:relative;overflow:hidden;border-radius:16px;background:#e8e7dd;min-width:0;height:360px}
.contact-map iframe{position:relative;display:block;width:100%;height:100%;border:0}
.contact-map-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}
@media(max-width:767px){.contacts{grid-template-columns:1fr;gap:28px;padding-block:32px}
.contacts h2{font-size:26px;max-width:none}
.contacts>div>p,.contacts address{font-size:14px}
.contacts address{gap:10px}
.contacts address svg{width:18px;height:18px}
.contacts .contact-book{padding:13px 24px;font-size:15px}
.contact-map{height:320px}
}


/* Limit review text to two lines; full text stays available through 2GIS. */
.review-content p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}

