@font-face{font-family:Monigue;src:url('fonts/monigue.woff2') format('woff2'),url('fonts/monigue.woff') format('woff');font-display:swap}
@font-face{font-family:Oakes;src:url('fonts/oakes-regular.woff2') format('woff2'),url('fonts/oakes-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Oakes;src:url('fonts/oakes-bold.woff2') format('woff2'),url('fonts/oakes-bold.woff') format('woff');font-weight:700;font-display:swap}

:root{color-scheme:light;--rose:#b62859;--dark:#84183d;--ink:#292d32;--cream:#faf7f0;--yellow:#eac64e;--pink:#efd0d9;--pale-oak:#f2ead7;--tuscan-sun:#eac64e}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--cream)}
html,body{margin:0;max-width:100%;overflow-x:hidden}
body{color:var(--dark);font:400 18px/1.25 Oakes,Arial,sans-serif}
a{color:inherit}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.shell{width:min(1080px,calc(100% - 80px));margin-inline:auto}
.hero,.section,footer{position:relative;width:100%;margin:0;overflow:hidden;background:var(--cream)}
.section{background:transparent;text-align:center}
.section-art{position:absolute;inset:0;z-index:0;display:block;pointer-events:none}
.section-art img{display:block;width:100%;height:100%;object-fit:fill}
.hero-static-art,.wide-static-art,.reviews-art-split{display:none}
.section-content,.hero-content,.navbar,.footer-nav,footer address,.reviews>div:not(.section-art):not(.reviews-art-split){position:relative;z-index:2}

/* Approved 1440 frame structure */
.hero{height:915px}
.about{height:1018px}
.services{height:1343px}
.reviews{height:1527px}
.faqs{min-height:1020px}
footer{height:480px;background:var(--cream);text-align:center}

.navbar.shell{width:min(1320px,calc(100% - 120px));max-width:1320px;height:80px;margin-top:40px;padding:0 20px;border-radius:999px;background:#fff;display:flex;align-items:center}
.logo{text-decoration:none;text-transform:uppercase}
.navbar .logo{height:68px;min-width:247px;padding:0 25px;border-radius:999px;background:#e7ca92;color:var(--ink);font:400 44px/1 Monigue,sans-serif;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.nav-links{display:flex;gap:34px;margin:auto;text-transform:uppercase;font-size:18px;font-weight:700}
.nav-links a,.footer-nav a{text-decoration:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;background:var(--dark);color:#fff;text-decoration:none}
.nav-call{display:flex;width:258px;min-width:0;height:48px;padding:0 25px;flex:0 0 258px;font-size:18px}
.nav-call span{white-space:nowrap}
.icon{width:24px;height:24px;flex:0 0 auto}
.cta-tablet{display:none}
.menu-toggle{display:none}

.hero-content{position:absolute;top:264px;left:0;right:0;text-align:center}
.hero h1,.section h2{margin:0;color:var(--rose);font:400 1em/.7 Monigue,sans-serif;text-transform:uppercase}
.hero h1{padding-bottom:2px;font-size:198px}
.hero h1 small{position:relative;display:block;width:max-content;margin-inline:auto;font:inherit;font-size:.6em;line-height:.78}
.headline-underline{position:absolute;z-index:1;display:block;pointer-events:none}
.headline-underline img{display:block;width:100%;height:100%}
.hero-underline{right:0;top:calc(100% - 1px);width:245px;height:9px}
.hero-content>p{margin:47px 0 40px;font-size:24px;line-height:1.25}
.call-button{position:relative;display:flex;width:293px;height:48px;margin-inline:auto;padding:0 24px;font-size:18px}
.paw-button{position:absolute;right:-23px;width:48px;height:48px}

.hero-dog{position:absolute;z-index:1;overflow:hidden}
.hero-dog img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.hero-dog-left{left:calc(50% - 668px);top:346px;width:232px;height:372px;border-radius:40px;background:#e7ca92}
.hero-dog-right{left:calc(50% + 401px);top:540px;width:232px;height:372px;border-radius:40px;background:#d7bfa7}

.section-content{padding-top:1px}
.section h2 span{display:block}
.about .section-content{padding-top:34px}
.about h2{position:relative;font-size:159px}
.about h2 span:last-of-type{font-size:.625em;line-height:.78}
.about-arrow{position:absolute;top:50px;left:calc(50% + 285px);display:block;width:108px;height:112px}
.intro-copy{width:1080px;max-width:100%;margin:58px auto 51px;font-size:24px;line-height:1.18}
.intro-copy p{margin:0 0 30px}
.about-images{display:flex;justify-content:center;gap:32px}
.about-images img{width:232px;height:372px;border-radius:40px;object-fit:cover}

.services .section-content{padding-top:45px}
.services h2{font-size:150px}
.services .intro-copy{margin-top:63px;margin-bottom:75px}
.breed-grid{display:grid;grid-template-columns:repeat(4,232px);gap:32px;justify-content:center}
.breed-grid article{height:372px;padding:25px 12px 57px;border-radius:40px;background:var(--dark);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:24px;line-height:1.15}
.breed-grid article strong{font-weight:700;white-space:nowrap}
.breed-grid img{width:175px;height:185px;object-fit:contain;margin-bottom:16px}
.breed-grid span{margin-top:8px}
.service-list{width:1080px;max-width:100%;margin:48px auto 0;text-align:left}
.service-list article{border-top:2px solid var(--dark);padding:26px 0 29px;display:flex;flex-direction:column;gap:16px;font-size:24px}
.service-list strong{color:var(--rose);font-size:30px}

.reviews{padding-top:70px}
.reviews h2{padding-bottom:7px;font-size:150px}
.reviews h2 span:last-child{position:relative;width:max-content;margin-inline:auto;font-size:.625em;line-height:.78}
.reviews-underline{right:0;top:calc(100% - 1px);width:351px;height:8px}
.review-track.shell{width:min(1320px,calc(100% - 120px));max-width:1320px;margin-top:79px;columns:3;column-gap:24px}
.review-track article{display:inline-block;width:100%;margin:0 0 24px;padding:36px;border-radius:24px;background:#fff;font-size:19px;line-height:1.16;break-inside:avoid}
.review-track article>strong{display:block;padding:12px 10px;border-radius:999px;background:var(--dark);color:#fff;font-size:20px;line-height:1.15}
.review-track b{display:block;margin:10px 0 27px;color:var(--rose);font-size:27px;line-height:1;letter-spacing:3px}
.review-track p{margin:0 0 24px}
.slider-dots{display:none}
.slider-dots button{display:block;padding:0;border:0;border-radius:10px;background:var(--pale-oak);cursor:pointer}
.slider-dots button.active{background:var(--tuscan-sun)}

.faqs .section-content{padding-top:24px;padding-bottom:46px}
.faqs h2{padding-bottom:9px;font-size:150px}
.faqs h2 span:first-child{font-size:.625em;line-height:.78}
.faqs h2 span:last-child{position:relative;width:max-content;margin-inline:auto}
.faqs-underline{top:calc(100% - 1px);left:50%;width:517px;height:9px;margin-left:6px;transform:translateX(-50%)}
.faq-intro{margin:64px 0 50px;font-size:24px;line-height:1.25}
.accordion{width:1080px;max-width:100%;margin:auto;text-align:left}
.accordion details{border-top:2px solid var(--dark);padding:26px 0 30px}
.accordion summary{display:flex;justify-content:space-between;gap:20px;color:var(--rose);font-size:30px;font-weight:700;line-height:1.2;cursor:pointer;list-style:none}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary:after{content:"";width:14px;height:14px;margin:6px 10px 0 15px;border-right:5px solid var(--dark);border-bottom:5px solid var(--dark);transform:rotate(45deg);flex:0 0 auto}
.accordion details[open] summary:after{transform:rotate(225deg);margin-top:13px}
.accordion p{max-width:1040px;margin:20px 0 0;font-size:24px;line-height:1.24}

footer .section-art{z-index:0}
.footer-nav{padding-top:144px;display:flex;justify-content:center;align-items:center;gap:40px}
.footer-nav>.logo,.footer-nav>.footer-menu-toggle,.footer-nav>.footer-links{height:80px;border-radius:999px;background:#fff;display:flex;align-items:center;justify-content:center}
.footer-nav>.logo{width:248px;color:var(--dark);font:400 44px/1 Monigue,sans-serif}
.footer-menu-toggle{display:none!important;border:0;color:var(--dark);font:400 44px/1 Monigue,sans-serif;text-transform:uppercase}
.footer-nav>.footer-links{width:608px;gap:34px;padding:0 32px;text-transform:uppercase;font-size:18px;font-weight:700}
footer address{margin-top:72px;font-style:normal;display:flex;justify-content:center;gap:70px;font-size:18px}
footer address a{display:inline-flex;align-items:center;gap:10px}
.footer-icon{width:24px;height:24px}

/* Keep exported section artwork joined at the approved desktop boundaries. */
@media (min-width:1251px){
  .reviews{margin-top:-1px}
  .reviews .reviews-export-art img{position:absolute;top:0;left:50%;width:1440px;height:1527px;margin-left:-720px;max-width:none}
}

/*
 * Above the widest fixed frame the canvas keeps growing while the content
 * column does not, so a single centred export leaves bare strips at both
 * edges (the artwork "stops short of the canvas edge"). Mirror Figma's own
 * structure instead: one 10%-opacity heart group whose centre piece is centred
 * and whose left/right pieces are pinned to the real canvas edges, with the
 * paw icons as full-opacity siblings. Grouping the hearts under a single
 * opacity keeps overlapping shapes a union, exactly as Figma composites
 * them. Below 1441px the untouched single export is still used, so every
 * approved frame renders byte-identically.
 */
@media (min-width:1441px){
  .reviews-export-art{display:none}
  .reviews-art-split{display:block;position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
  .reviews-art-hearts{position:absolute;inset:0;opacity:.1}
  .reviews-art-piece,.reviews-art-paw{position:absolute;top:0;display:block}
  .reviews-art-piece img{position:absolute;top:0;display:block;max-width:none}
  .reviews-art-centre{left:50%}
  .reviews-art-centre img{left:0;width:1440px;height:1527px;margin-left:-720px}
  .reviews-art-left{left:0}
  .reviews-art-right{right:0}
  .reviews-art-left img{left:0;width:388px;height:1527px}
  .reviews-art-right img{right:0;width:453px;height:1527px}
  .reviews-art-paw{max-width:none}
  .reviews-art-paw-left{left:0;width:388px;height:1527px}
  .reviews-art-paw-right{right:0;width:453px;height:1527px}
}
@media (min-width:1441px){.hero-static-art,.wide-static-art{display:block}.faqs h2 span:first-child{margin-bottom:12px}}
@media (min-width:1441px) and (max-width:1999px){
  .hero-static-art img,.wide-static-art img{position:absolute;left:50%;width:1440px;max-width:none;transform:translateX(-50%)}
}
@media (min-width:1251px) and (max-width:1999px){
  .faqs h2 span:first-child{margin-bottom:15px}
  .faqs{margin-top:-1px}
}

/* Wide (>=2000px) composition. The Reviews artwork is split the way Figma
 * constrains it: the centre hearts stay centre-anchored at their native size
 * (no scaling, so shapes keep their aspect ratio at any viewport width) and
 * the left/right blobs are pinned to the real canvas edges as separate
 * exports. Never stretch these SVGs: paws must stay circular.
 */
@media (min-width:2000px){
  .hero{height:915px}.about{height:1017px}.services{height:1343px}.reviews{height:1526px}.faqs{height:1626.375px;min-height:1626.375px}footer{height:483px}
  .hero-static-art,.wide-static-art{display:none}
  .reviews-art-centre img{width:2560px;height:1526px;margin-left:-1280px}
  .reviews-art-left img,.reviews-art-right img{height:1526px}
  .reviews-art-paw-right{display:none}
  /* Figma 2560 nav CTA: 19.797px phone glyph, 8px gap to the number. */
  .nav-call{padding-inline:16px;gap:8px}
  .nav-call .icon{width:19.797px;height:19.797px;flex-basis:19.797px;transform:none}
}

/* 1200 frame */
@media (min-width:901px) and (max-width:1250px){
  .shell{width:min(900px,calc(100% - 80px))}
  .reviews .reviews-export-art img{position:absolute;top:0;left:50%;width:1200px;height:1555px;margin-left:-600px;max-width:none}
  .hero{height:704px}.about{height:845px}.services{height:1048px}.reviews{height:1555px}.faqs{min-height:790px}footer{height:400px}
  .navbar.shell{width:calc(100% - 120px);height:80px;margin-top:40px;padding:0 20px}
  .navbar .logo{min-width:185px;height:68px;padding:0 18px;font-size:36px}
  .nav-links{gap:30px;font-size:18px}
  .nav-call{width:258px;min-width:0;height:48px;flex-basis:258px;font-size:18px}
  .hero-content{top:202px}
  .hero h1{padding-bottom:1px;font-size:156px}.hero-underline{width:184px;height:7px}
  .hero-content>p{margin:34px 0 38px;font-size:18px}
  .call-button{height:48px;font-size:18px}.paw-button{width:48px;height:48px}
  .hero-dog-left{left:48.506px;top:310.713px;width:155.752px;height:249.74px;border-radius:26.854px}
  .hero-dog-right{left:auto;right:58.855px;top:409.176px;width:155.752px;height:249.74px;border-radius:26.854px}
  .about .section-content{padding-top:19px}.about h2{font-size:116px}.about-arrow{top:36px;left:calc(50% + 210px);width:82px;height:85px}
  .about-arrow{display:none}
  .intro-copy{width:900px;margin:42px auto 36px;font-size:18px}.intro-copy p{margin-bottom:24px}
  .about-images{gap:25px}.about-images img{width:180px;height:288px;border-radius:30px}
  .services .section-content{padding-top:44px}.services h2{font-size:116px}.services .intro-copy{margin-top:44px;margin-bottom:40px}
  .breed-grid{grid-template-columns:repeat(4,180px);gap:25px}.breed-grid article{height:288px;border-radius:30px;padding:18px 9px 37px;font-size:18px}.breed-grid img{width:135px;height:145px;margin-bottom:11px}
  .service-list{width:900px;margin-top:39px}.service-list article{padding:20px 0 22px;gap:12px;font-size:18px}.service-list strong{font-size:24px}
  .reviews{padding-top:57px}.reviews h2{padding-bottom:6px;font-size:116px}.reviews-underline{width:264px;height:6px}
  .review-track.shell{width:calc(100% - 80px);margin-top:54px;column-gap:20px}.review-track article{margin-bottom:20px;padding:28px;font-size:16px}.review-track article>strong{font-size:16px;padding:10px}.review-track b{font-size:22px;margin:9px 0 20px}
  .faqs .section-content{padding-top:20px}.faqs h2{padding-bottom:8px;font-size:116px}.faqs-underline{width:388px;height:7px}.faq-intro{font-size:18px;margin:48px 0 38px}
  .accordion{width:900px}.accordion details{padding:19px 0 22px}.accordion summary{font-size:22px}.accordion p{font-size:18px;margin-top:14px}
  .footer-nav{padding-top:120px;gap:32px}.footer-nav>.logo,.footer-nav>.footer-links{height:66px}.footer-nav>.logo{width:207px;font-size:36px}.footer-nav>.footer-links{width:507px;gap:28px;font-size:15px}
  footer address{margin-top:60px;gap:55px;font-size:15px}.footer-icon{width:20px;height:20px}
}

/* 810 frame */
@media (min-width:521px) and (max-width:900px){
  .shell{width:min(700px,calc(100% - 60px))}
  .hero{height:700px}.about{height:688px}.services{height:865px}.reviews{height:799px}.faqs{min-height:0}footer{height:240px}
  .navbar.shell{width:calc(100% - 90px);height:60px;margin-top:40px;padding:0 15px}
  .navbar .logo{min-width:131px;height:36px;padding:0 14px;font-size:20px}
  .nav-links{gap:24px;font-size:14px}.nav-call{width:122px;min-width:0;height:36px;padding:0 14px;flex-basis:122px;font-size:14px;gap:4px}.nav-call .icon{width:16px;height:16px}
  .cta-full{display:none}.cta-tablet{display:inline}
  .hero-content{top:291px}.hero h1{padding-bottom:1px;font-size:116px}.hero-underline{width:138px;height:5px}.hero-content>p{margin:27px 0 32px;font-size:14px}.call-button{width:200px;height:38px;padding:0 18px;font-size:14px}.call-button .icon{width:18px;height:18px}.paw-button{right:-18px;width:38px;height:38px}
  .hero-dog-left{left:35.473px;top:189.23px;width:140.293px;height:224.953px;border-radius:24.189px}.hero-dog-right{left:auto;right:19.31px;top:326.544px;width:140.293px;height:224.953px;border-radius:24.189px}
  .about .section-content{padding-top:14px}.about h2{font-size:86px}.about-arrow{top:28px;left:calc(50% + 145px);width:60px;height:63px}
  .about-arrow{display:none}
  .intro-copy{width:700px;margin:31px auto 25px;font-size:13px;line-height:1.2}.intro-copy p{margin-bottom:17px}
  .about-images{gap:18px}.about-images img{width:145px;height:232px;border-radius:24px}
  .services{margin-top:-75px}.services .section-content{padding-top:43px}.services h2{font-size:86px}.services .intro-copy{margin-top:31px;margin-bottom:27px}
  .breed-grid{grid-template-columns:repeat(4,130px);gap:14px}.breed-grid article{height:208px;border-radius:22px;padding:13px 5px 24px;font-size:13px}.breed-grid img{width:95px;height:104px;margin-bottom:8px}
  .service-list{width:650px;margin-top:29px}.service-list article{padding:14px 0 16px;gap:8px;font-size:13px}.service-list strong{font-size:17px}
  .reviews{margin-top:-77px;padding-top:52px;background:var(--cream)}.reviews h2{padding-bottom:5px;font-size:86px}.reviews-underline{width:198px;height:5px}
  /*
   * The approved 810 artwork begins where Services ends. The Reviews content
   * section retains its approved -77px overlap, so offset only the decoration
   * layer by the same amount instead of shifting the cards or typography.
   */
  .reviews{overflow:visible}
  .reviews .reviews-export-art{inset:0;width:100%;height:100%;transform:none;overflow:hidden}
  .reviews .reviews-export-art img{position:absolute;top:0;left:50%;width:810px;height:799px;margin-left:-405px;max-width:none}
  .review-track.shell{width:100%;margin-top:42px;padding:0 64px;display:flex;columns:auto;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:64px;scrollbar-width:none;cursor:grab}.review-track.dragging{cursor:grabbing;scroll-snap-type:none}.review-track::-webkit-scrollbar{display:none}.review-track article{display:block;min-width:254px;max-width:254px;margin:0;padding:20px;font-size:12px;scroll-snap-align:center}.review-track article:nth-child(1){order:1}.review-track article:nth-child(2){order:4}.review-track article:nth-child(3){order:2}.review-track article:nth-child(4){order:5}.review-track article:nth-child(5){order:3}.review-track article:nth-child(6){order:6}.review-track article>strong{font-size:12px;padding:9px}.review-track b{font-size:18px;margin:8px 0 14px}.review-track p{margin-bottom:15px}
  .slider-dots{position:relative;z-index:2;display:flex;justify-content:center;gap:5px;margin-top:25px}.slider-dots button{width:6px;height:6px}.slider-dots button.active{width:22px}
  .faqs .section-content{padding-top:14px}.faqs h2{padding-bottom:7px;font-size:86px}.faqs h2 span:first-child{margin-bottom:12px}.faqs-underline{width:291px;height:5px}.faq-intro{font-size:13px;margin:34px 0 28px}
  .accordion{width:650px}.accordion details{padding:14px 0 16px}.accordion summary{font-size:15px}.accordion summary:after{width:9px;height:9px;border-width:3px;margin-top:3px}.accordion p{font-size:13px;margin-top:10px}
  footer{margin-top:0}.footer-nav{padding-top:74px;gap:20px}.footer-nav>.logo,.footer-nav>.footer-links{height:40px}.footer-nav>.logo{width:130px;font-size:24px}.footer-nav>.footer-links{width:319px;gap:16px;padding:0 14px;font-size:9px}
  footer address{margin-top:33px;gap:28px;font-size:10px}.footer-icon{width:15px;height:15px}
}

/* 390 frame */
@media (max-width:520px){
  body{font-size:12px}.shell{width:326px;max-width:calc(100% - 64px)}
  .hero{height:700px}.about{height:585px}.services{height:1089px}.reviews{height:799px}.faqs{min-height:687px}footer{height:289px}
  .navbar.shell{z-index:30;width:300px;max-width:calc(100% - 90px);height:60px;margin-top:40px;padding:0 15px;overflow:visible}
  .navbar .logo{min-width:116px;height:32px;padding:0 12px;font-size:25px}
  .nav-call{display:none}.menu-toggle{display:flex;width:32px;height:32px;margin-left:auto;padding:0;border:0;border-radius:50%;background:var(--dark);align-items:center;justify-content:center}.menu-toggle img{display:block;width:24px;height:18px}
  .nav-links{z-index:40;display:none;position:absolute;top:68px;left:0;right:0;padding:18px;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(41,45,50,.12);flex-direction:column;text-align:center}.nav-links.open{display:flex}
  .hero-content{top:241px;width:100%;max-width:none}.hero h1{padding-bottom:0;font-size:96px}.hero-underline{width:124px;height:5px}.hero-content>p{width:300px;margin:25px auto 32px;font-size:14px;line-height:1.2}.hero-content>p br{display:none}.call-button{width:200px;height:36px;padding:0 18px;font-size:14px}.call-button .icon{width:18px;height:18px}.paw-button{right:-18px;width:36px;height:36px}
  .hero-dog-left{display:block;left:13.1777px;top:92.0605px;width:68.2526px;height:109.439px;border-radius:12px}.hero-dog-right{left:auto;right:10.382px;top:548px;width:68.253px;height:109.439px;border-radius:12px}
  .about .section-content{padding-top:14px}.about h2{font-size:87px}.about h2 span:last-of-type{font-size:.625em}.about-arrow{top:25px;left:calc(50% + 92px);width:51px;height:53px}
  .about-arrow{display:none}
  .intro-copy{width:310px;margin:28px auto 23px;font-size:11px;line-height:1.25}.intro-copy p{margin-bottom:17px}
  .about-images{width:390px;margin-left:50%;transform:translateX(-50%);gap:7px}.about-images img{width:125.33px;height:210px;border-radius:20px}
  .services .section-content{padding-top:42px}.services h2{font-size:87px}.services .intro-copy{width:310px;margin:30px auto 26px}
  .breed-grid{width:326px;grid-template-columns:repeat(2,154px);gap:18px;justify-content:center}.breed-grid article{height:212px;border-radius:20px;padding:14px 6px 23px;font-size:11px}.breed-grid img{width:105px;height:112px;margin-bottom:8px}
  .service-list{width:326px;margin-top:28px}.service-list article{padding:15px 0 17px;gap:7px;font-size:11px}.service-list strong{font-size:14px}
  .reviews{padding-top:12px}.reviews .shell{width:100%;max-width:none}.reviews h2{padding-bottom:5px;font-size:87px}.reviews h2 span:last-child{font-size:.625em}.reviews-underline{width:198px;height:5px}
  .review-track.shell{width:100%;max-width:none;margin-top:38px;padding:0 64px;display:flex;columns:auto;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:64px;scrollbar-width:none;cursor:grab}.review-track.dragging{cursor:grabbing;scroll-snap-type:none}.review-track article{display:block;min-width:254px;max-width:254px;min-height:378px;margin:0;padding:18px;font-size:10px;line-height:1.18;scroll-snap-align:center}.review-track article:nth-child(1){order:1}.review-track article:nth-child(2){order:4}.review-track article:nth-child(3){order:2}.review-track article:nth-child(4){order:5}.review-track article:nth-child(5){order:3}.review-track article:nth-child(6){order:6}.review-track article>strong{font-size:10px;padding:9px 6px}.review-track b{font-size:17px;margin:7px 0 14px}.review-track p{margin-bottom:14px}
  .slider-dots{position:relative;z-index:2;display:flex;justify-content:center;gap:5px;margin-top:25px}.slider-dots button{width:5px;height:5px}.slider-dots button.active{width:20px}
  .faqs{margin-top:-120px}.faqs .section-content{padding-top:13px;padding-bottom:24px}.faqs h2{padding-bottom:7px;font-size:87px}.faqs h2 span:first-child{font-size:.625em;margin-bottom:12px}.faqs-underline{width:291px;height:5px}.faq-intro{width:326px;margin:30px auto 28px;font-size:11px;line-height:1.25}.faq-intro br{display:none}
  .accordion{width:326px}.accordion details{padding:14px 0 15px}.accordion summary{font-size:14px;line-height:1.15}.accordion summary:after{width:8px;height:8px;margin:2px 3px 0 10px;border-width:3px}.accordion p{font-size:11px;line-height:1.25;margin-top:10px}
  .footer-nav{padding-top:38px;display:block}.footer-nav>.footer-home-link{display:none}.footer-menu-toggle{display:flex!important;width:314px;height:60px;margin:auto;padding:0 16px;font-size:28px;justify-content:flex-start}.footer-menu-toggle .footer-menu-icon{display:flex;width:32px;height:32px;margin-left:auto;border-radius:50%;background:var(--dark);align-items:center;justify-content:center}.footer-menu-toggle .footer-menu-icon img{display:block;width:24px;height:18px}.footer-nav>.footer-links{z-index:40;display:none;position:absolute;top:104px;left:50%;width:314px;height:auto;margin:0;padding:18px;gap:12px;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(41,45,50,.12);transform:translateX(-50%);flex-direction:column;font-size:11px;text-align:center}.footer-nav>.footer-links.open{display:flex}
  footer address{margin-top:21px;display:flex;flex-direction:column;align-items:center;gap:9px;font-size:10px}footer address a{justify-content:center}.footer-icon{width:18px;height:18px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Section-owned responsive decorations */
.section-decor{
  position:absolute;
  inset:0;
  z-index:0!important;
  overflow:hidden;
  pointer-events:none;
}
.reviews{isolation:isolate}
.section-decor-reviews{z-index:1!important}
.reviews-export-art,.faq-heart-wide{display:none}
.decoration{
  position:absolute;
  display:grid;
  place-items:center;
  pointer-events:none;
  transform-origin:center;
}
.decoration-heart img{
  display:block;
  width:var(--decoration-size);
  height:var(--decoration-size);
  max-width:none;
  transform:rotate(var(--decoration-rotation)) scaleY(var(--decoration-mirror-y,1));
  transform-origin:center;
}
.decoration-paw{border-radius:50%}
.decoration-paw::after{
  content:"";
  width:85%;
  height:85%;
  background:url("assets/paw-glyph.svg") center/contain no-repeat;
}
footer{background:var(--pink)}
.about-arrow{display:block}

/*
 * V24 navigation correction.
 * The approved fixed-width frames are preserved, while the logo, links and
 * CTA now shrink within bounded ranges between those frames.
 */
@media (min-width:521px) and (max-width:720px){
  .navbar.shell{
    z-index:30;
    width:min(600px,calc(100% - 60px));
    height:60px;
    margin-top:40px;
    padding:0 15px;
    overflow:visible;
  }
  .navbar .logo{min-width:131px;width:131px;height:36px;padding:0 14px;font-size:20px}
  .nav-call{display:none}
  .menu-toggle{
    display:flex;
    width:32px;
    height:32px;
    margin-left:auto;
    padding:0;
    border:0;
    border-radius:50%;
    background:var(--dark);
    align-items:center;
    justify-content:center;
  }
  .menu-toggle img{display:block;width:24px;height:18px}
  .nav-links{
    z-index:40;
    display:none;
    position:absolute;
    top:68px;
    left:0;
    right:0;
    padding:18px;
    gap:18px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 24px rgba(41,45,50,.12);
    flex-direction:column;
    font-size:14px;
    text-align:center;
  }
  .nav-links.open{display:flex}
}

@media (min-width:721px) and (max-width:900px){
  .navbar.shell{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    column-gap:clamp(6px,calc(6.74vw - 42.6px),12px);
  }
  .navbar .logo{
    width:clamp(116px,calc(16.85vw - 5.5px),131px);
    min-width:clamp(116px,calc(16.85vw - 5.5px),131px);
    padding-inline:clamp(10px,2vw,14px);
    font-size:clamp(18px,calc(2.25vw + 1.8px),20px);
  }
  .nav-links{
    min-width:0;
    margin:0;
    justify-self:center;
    gap:clamp(10px,calc(15.73vw - 103.4px),24px);
    font-size:clamp(11px,calc(3.37vw - 13.3px),14px);
    white-space:nowrap;
  }
  .nav-call{
    width:clamp(110px,calc(13.48vw + 12.8px),122px);
    flex-basis:auto;
    padding-inline:clamp(10px,2vw,14px);
    font-size:clamp(12px,calc(2.25vw - 4.2px),14px);
  }
}

@media (min-width:901px) and (max-width:1200px){
  .navbar.shell{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    column-gap:clamp(6px,calc(6.02vw - 48.2px),24px);
  }
  .navbar .logo{
    width:clamp(150px,calc(20.4vw - 33.8px),211px);
    min-width:clamp(150px,calc(20.4vw - 33.8px),211px);
    padding-inline:clamp(12px,2vw,18px);
    font-size:clamp(28px,calc(2.68vw + 3.9px),36px);
  }
  .nav-links{
    min-width:0;
    margin:0;
    justify-self:center;
    gap:clamp(12px,calc(6.02vw - 42.2px),30px);
    font-size:clamp(13px,calc(1.67vw - 2.1px),18px);
    white-space:nowrap;
  }
  .nav-call{
    width:clamp(185px,calc(24.41vw - 34.9px),258px);
    flex-basis:auto;
    padding-inline:clamp(10px,calc(2vw - 8px),16px);
    gap:clamp(6px,1vw,9px);
    font-size:clamp(13px,calc(1.67vw - 2.1px),18px);
  }
  .nav-call .icon{
    width:clamp(18px,calc(2vw - .02px),24px);
    height:clamp(18px,calc(2vw - .02px),24px);
  }
}

@media (min-width:1201px) and (max-width:1439px){
  .navbar.shell{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    column-gap:clamp(24px,calc(5vw - 36px),36px);
  }
  .navbar .logo{
    width:clamp(211px,calc(22.18vw - 55.3px),264px);
    min-width:clamp(211px,calc(22.18vw - 55.3px),264px);
    font-size:clamp(36px,calc(3.35vw - 4.2px),44px);
  }
  .nav-links{
    min-width:0;
    margin:0;
    justify-self:center;
    gap:clamp(30px,calc(1.68vw + 9.8px),34px);
    white-space:nowrap;
  }
}

/* Exact approved Review exports replace the incomplete generated layer.
 * Each export renders as a plain image at its explicit native pixel
 * size, centre-anchored with left:50% and an integer negative margin,
 * clipped by the section. No object-fit, no percentages, no viewport
 * units: every engine sizes a width/height-specified image identically,
 * so direct-link and dev-tools views cannot diverge. At each approved
 * width the section equals the export's native size, pixel-identical. */
@media (min-width:521px){
  .reviews .section-decor-reviews{display:none}
}
/* Only up to 1440: above that the split layer replaces the single export,
 * and both painting at once would double the 10% heart tone. */
@media (min-width:521px) and (max-width:1440px){
  .reviews-export-art{display:block;z-index:1}
}

/* V30: replace only the mis-cropped wide FAQ heart with the exact exported
 * Figma layer. The remaining approved FAQ decorations keep their existing
 * responsive positions.
 *
 * V36: do the same between 1441px and 1999px. There the generated heart was
 * still drawing the whole rotated shape, which reads as a rounded slab cut
 * off at the footer instead of Figma's cropped lobe. The exact exported
 * layer is bottom-anchored here because the FAQ section is content-height
 * in this range, matching Figma's bottom-aligned constraint. */
@media (min-width:1441px) and (max-width:1999px){
  .faqs [data-decoration-key="heart-right-extra"]{display:none}
  .faq-heart-wide{
    position:absolute;
    z-index:1;
    right:0;
    bottom:0;
    display:block;
    width:388px;
    height:975.807px;
    max-width:none;
    opacity:.1;
    pointer-events:none;
  }
}

@media (min-width:2000px){
  .faqs [data-decoration-key="heart-right-extra"]{display:none}
  .faq-heart-wide{
    position:absolute;
    z-index:1;
    top:651.093px;
    right:0;
    display:block;
    width:388px;
    height:975.807px;
    max-width:none;
    opacity:.1;
    pointer-events:none;
  }
}

/* The open mobile footer menu must paint above the later contact block. */
@media (max-width:520px){
  .footer-nav{z-index:3}
}
