:root{--cream:#fffaf0;--ink:#463544;--pink:#f3a9cf;--purple:#d7c3ed;--yellow:#ffe18a;--muted:#786973}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8b559d;outline-offset:5px}header{max-width:1320px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font:500 26px 'Fredoka',sans-serif;line-height:1.05;white-space:nowrap}.brand i{font-style:normal;color:#aa719b}.brand-sub{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:9px}.brand-icon{font-size:48px;color:#d18ab6;line-height:1}nav{display:flex;gap:32px;font-size:13px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ink);color:white;padding:16px 25px;border:1px solid var(--ink);border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#63445d}.button span{font-size:20px}.button.small{font-size:12px;padding:10px 18px;gap:20px}.hero{max-width:1320px;margin:auto;padding:68px 5% 78px;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;display:flex;align-items:center;gap:8px}.dot{width:7px;height:7px;border-radius:50%;background:#b084a0}.hero h1{font:500 clamp(60px,6.2vw,86px)/1.04 'Fredoka',sans-serif;letter-spacing:-2.5px;margin:24px 0;position:relative}.hero h1>span{color:#b8759e}.heart{width:57px;height:57px;fill:none;stroke:#bb83bd;stroke-width:4;transform:rotate(15deg);margin-left:15px}.hero-copy>p{font-size:17px;line-height:1.8;color:var(--muted)}.hero-buttons{display:flex;gap:25px;align-items:center;margin:29px 0 30px}.text-link{font-weight:600;font-size:12px}.text-link span{margin-left:8px}.hero-foot{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:8px}.tiny-flower{color:#b98bc8;font-size:24px}.art{height:480px;position:relative;isolation:isolate}.art:before{content:'';position:absolute;inset:30px 5px 10px 5px;background:#f7e8ed;border-radius:49% 51% 44% 56% / 53% 42% 58% 47%;z-index:-1}.art-card{position:absolute;border:7px solid white;box-shadow:0 12px 26px #59414313;text-align:center;width:57%;border-radius:4px}.art-card svg{display:block;width:100%;height:290px}.bear-card{top:15px;left:5px;transform:rotate(-10deg);background:#fbe4a9;padding:20px 8px 12px}.dog-card{background:#d5bfe7;right:-4px;top:130px;transform:rotate(11deg);padding:22px 8px 12px}.dog-card svg{height:260px}.paper-label{display:inline-block;font-size:9px;letter-spacing:1px;text-transform:uppercase;font-weight:700;border-bottom:1px solid #58314d55;padding:0 6px 5px}.art-caption{font:400 12px 'Fredoka',sans-serif}.art-note{position:absolute;top:-18px;right:4px;transform:rotate(9deg);font:400 21px/1.15 'Fredoka',sans-serif;color:#94679e}.art-note span{font-size:34px;position:absolute;right:0;top:40px}.round-sticker{position:absolute;bottom:11px;left:23px;z-index:3;border:1px dashed #98744d;outline:7px solid #ffe18a;background:#ffe18a;width:113px;height:113px;border-radius:50%;text-align:center;padding:14px 0;font-size:9px;line-height:1.2;letter-spacing:1px;transform:rotate(-15deg)}.round-sticker strong{font-size:36px;line-height:1.4;font-weight:400}.spark{position:absolute;z-index:4}.s1{right:2px;top:82px;font-size:47px;color:#bc81b6}.s2{left:-29px;top:190px;font-size:53px;color:#a387b8}.s3{right:6px;bottom:-15px;font-size:60px;color:#e5abca}.s4{left:43%;top:-35px;font-size:30px;color:#e0ba56}.ribbon{display:flex;justify-content:space-evenly;gap:20px;padding:18px 5%;background:#efe3f5;border-block:1px solid #dfcee8;font-size:11px;font-weight:500;letter-spacing:.3px}.section{max-width:1188px;margin:0 auto;padding:85px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px;gap:35px}h2{font:400 45px/1.13 'Fredoka',sans-serif;letter-spacing:-.8px;margin:16px 0 0}.section-heading>p{font-size:13px;color:var(--muted);margin:0 0 2px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service{border-radius:17px;padding:32px 38px}.pink{background:#f9e0e9}.purple{background:#e9e0f3}.service-top{display:flex;justify-content:space-between;align-items:center}.service-icon{font-size:48px;line-height:1;color:#a36385}.paw{color:#8b6ca0}.tag{font-size:9px;letter-spacing:1.4px;border:1px solid #79586f35;border-radius:30px;padding:5px 10px}.service h3{font:400 33px 'Fredoka',sans-serif;margin:17px 0 8px}.service p{font-size:13px;max-width:350px;color:#705c69}.service ul{list-style:none;padding:8px 0 20px;margin:0;font-size:12px;line-height:2.2}.service li:before{content:'✓';margin-right:9px;color:#9d6594}.service a{border-top:1px solid #79586f2a;display:flex;justify-content:space-between;padding-top:18px;font-weight:600;font-size:12px}.service a span{font-size:20px}.care-note{text-align:center;font-size:11px;color:var(--muted);margin:22px 0 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:95px;border-top:1px solid #e8dfd7;align-items:center}.duo-art{position:relative;min-height:330px;display:flex;align-items:center;justify-content:center}.duo-circle{width:300px;height:300px;border-radius:50%;background:#f6e2a9;display:flex;align-items:center;justify-content:center;outline:1px dashed #c49c60;outline-offset:-14px;transform:rotate(-9deg)}.duo-circle>span{font:500 104px 'Fredoka',sans-serif;letter-spacing:-7px;color:#75516f}.duo-heart{font-size:60px;color:#ba729a;display:inline-block;transform:translateY(-18px);margin:0 6px}.duo-note{position:absolute;bottom:0;right:8px;background:#e9def2;padding:19px 30px;transform:rotate(7deg);font:400 24px/1.1 'Fredoka',sans-serif;box-shadow:0 6px 15px #77556b0c}.duo-note span{position:absolute;right:-22px;top:-31px;font-size:60px;color:#b47fb9}.about-star{position:absolute;top:12px;left:15px;font-size:52px;color:#ce94b3}.about-copy>p{font-size:13px;color:var(--muted);max-width:460px}.about-tags{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.about-tags span{font-size:10px;border:1px solid #d5c7ce;border-radius:30px;padding:5px 11px}.how{text-align:center;border-top:1px solid #e8dfd7}.how>.eyebrow{justify-content:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:45px;text-align:left}.step-number{display:inline-grid;place-items:center;width:43px;height:43px;border-radius:50%;font:400 19px 'Fredoka',sans-serif;background:#f6d5e5}.steps article:nth-child(2) .step-number{background:#e3d4f0}.steps article:nth-child(3) .step-number{background:#f7e5ad}.steps h3{font:400 22px 'Fredoka',sans-serif;margin:18px 0 9px}.steps p{font-size:13px;color:var(--muted);margin:0;max-width:290px}.booking{max-width:none;padding:75px max(5%,calc((100% - 1188px)/2));background:#f1e7f3;display:grid;grid-template-columns:.9fr 1fr;gap:90px;align-items:center}.booking h2{font-size:57px}.booking h2 span{color:#b377a1;display:inline-block;margin-left:16px;transform:rotate(15deg)}.booking-copy>p{font-size:14px;color:var(--muted);max-width:325px;margin-top:22px}.booking-note{display:flex;gap:14px;max-width:340px;margin:34px 0}.booking-note>span{font-size:25px;color:#ac7db3}.booking-note p{font-size:11px;line-height:1.8;margin:0;color:var(--muted)}.booking-note strong{font-weight:600;color:var(--ink)}.direct-text{font-size:11px;border-bottom:1px solid #9f8b9f;padding-bottom:5px}form{background:#fffdf7;border-radius:15px;padding:32px;box-shadow:0 9px 0 #d9c8df55}form h3{font:400 25px 'Fredoka',sans-serif;margin:0}.form-intro{font-size:11px;color:var(--muted);margin:4px 0 22px}fieldset{margin:0 0 16px;padding:0;border:0}legend,label{font-size:10px;font-weight:600}legend{margin-bottom:8px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.service-options label{cursor:pointer}.service-options input{position:absolute;opacity:0;width:1px;height:1px}.service-options span{display:block;text-align:center;border:1px solid #ded3d8;padding:11px;border-radius:6px;font-size:11px;font-weight:500}.service-options input:checked+span{border-color:#b77ca3;background:#f9e4ee}.service-options input:focus-visible+span{outline:2px solid #8b559d;outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}form label{display:block;margin-bottom:13px}input,select,textarea{width:100%;border:1px solid #e3dcd8;background:#fffefa;border-radius:5px;padding:10px;font-size:11px;color:var(--ink);display:block;margin-top:6px;min-width:0;min-height:39px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #b07ca1;outline-offset:1px}input::placeholder,textarea::placeholder{color:#95878e;font-weight:400}form .button{width:100%;font-size:12px;padding:12px 18px}.form-fine{text-align:center;font-size:9px;line-height:1.7;color:var(--muted);margin:12px 0 0}#form-error{color:#9a3056;font-size:11px;margin-bottom:8px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.questions details{border-bottom:1px solid #e5dadb;padding:19px 0}.questions details:first-child{padding-top:2px}summary{list-style:none;cursor:pointer;font-size:13px;font-weight:500;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-size:20px;color:#a27395;line-height:1}.questions p{font-size:12px;color:var(--muted);padding-right:25px}.questions details[open] summary span{transform:rotate(45deg)}.closing{background:#f8e3ab;text-align:center;padding:29px 5%;font:400 29px 'Fredoka',sans-serif}.closing>span:first-child{color:#b17691}.closing-flower{font-size:40px;margin-left:16px;vertical-align:middle;color:#bb87a6}footer{max-width:1320px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:35px 5%;gap:25px}footer .brand{font-size:20px}footer .brand-icon{font-size:38px}footer .brand-sub{font-size:6px}footer p,footer>a:last-child{font-size:10px;color:var(--muted)}dialog{max-width:510px;width:calc(100% - 32px);border:1px solid #decadd;border-radius:17px;background:var(--cream);padding:35px;color:var(--ink)}dialog::backdrop{background:#392c3b88;backdrop-filter:blur(4px)}dialog h2{font-size:34px}dialog>p{font-size:12px;color:var(--muted)}dialog pre{font:12px/1.8 'DM Sans',sans-serif;white-space:pre-wrap;background:#f2e7f1;padding:20px;border-radius:8px;max-height:35vh;overflow:auto}dialog .button{width:100%;font-size:12px}.close{position:absolute;right:15px;top:10px;border:0;background:none;color:var(--ink);font-size:28px;cursor:pointer}.copy-button{background:transparent;border:0;border-bottom:1px solid #aa8c9e;display:block;margin:15px auto 0;color:var(--ink);font-size:12px;cursor:pointer}@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:95px}}@media(max-width:1280px){.section{margin-inline:6%;}.booking{margin:0;padding:65px 6%}.hero{gap:20px}.art{height:440px}.art-card svg{height:260px}.dog-card svg{height:230px}.round-sticker{bottom:-9px}.about{gap:55px}.section{padding-block:65px}.booking{gap:55px}}@media(max-width:900px){header{padding:23px 5%}nav{gap:18px;font-size:11px}.brand{font-size:22px}.brand-icon{font-size:40px}.brand-sub{font-size:6px}.hero{padding-top:40px;padding-bottom:60px}.hero h1{font-size:63px}.hero-buttons{gap:14px;flex-wrap:wrap}.art{height:360px}.art-card svg{height:210px}.dog-card{top:120px}.dog-card svg{height:190px}.paper-label{font-size:7px}.art-caption{font-size:9px}.art-note{font-size:18px}.round-sticker{width:90px;height:90px;padding-top:9px;font-size:8px}.round-sticker strong{font-size:29px}.hero-copy>p{font-size:14px}.hero-foot{font-size:9px}.ribbon{font-size:9px}.ribbon span:last-child{display:none}.section-heading>p br{display:none}.section-heading>p{max-width:240px}h2{font-size:38px}.service{padding:25px}.tag{font-size:7px}.about{gap:30px}.duo-circle{width:240px;height:240px}.duo-circle>span{font-size:85px}.duo-heart{font-size:45px}.duo-note{font-size:20px}.steps{gap:30px}.booking{gap:30px;grid-template-columns:.8fr 1fr}.booking h2{font-size:45px}form{padding:23px}.faq{gap:35px}}@media(max-width:650px){header{flex-wrap:wrap;gap:18px;padding:18px 6%}.brand{font-size:23px}nav{order:3;justify-content:center;width:100%;gap:36px;border-top:1px solid #e7deda;padding-top:13px}.button.small{font-size:10px;padding:8px 12px;gap:12px}.hero{grid-template-columns:1fr;padding:35px 7% 55px;gap:35px}.hero h1{font-size:66px;max-width:420px;margin:21px 0}.hero h1 .heart{width:45px}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero-copy>p{font-size:15px}.hero-buttons{gap:25px;margin-block:25px}.hero-foot{font-size:9px}.art{width:100%;max-width:420px;margin:18px auto 0;height:365px}.art-card svg{height:220px}.dog-card svg{height:195px}.art-note{top:-21px;right:4px}.round-sticker{bottom:-5px;left:12px}.s2{left:-12px}.s4{top:-27px}.s3{bottom:-20px}.ribbon{padding:16px 5%;font-size:9px;gap:16px;flex-wrap:wrap}.ribbon span:nth-child(2){display:none}.section{padding-block:50px;margin-inline:7%}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:20px;max-width:100%}h2{font-size:38px}.service-grid{grid-template-columns:1fr;gap:18px}.service{padding:28px}.service h3{font-size:30px}.tag{font-size:8px}.care-note{font-size:10px}.about{grid-template-columns:1fr;gap:38px}.duo-art{min-height:280px;max-width:340px;width:100%;margin:auto}.duo-circle{width:250px;height:250px}.duo-note{right:0}.about-copy>p{font-size:13px}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.steps article{display:grid;grid-template-columns:44px 1fr;column-gap:18px}.steps h3{margin:2px 0 4px;font-size:22px}.steps .step-number{grid-row:span 2}.steps p{max-width:none;font-size:12px}.booking{grid-template-columns:1fr;margin:0;padding:50px 7%;gap:30px}.booking h2{font-size:48px}.booking-copy>p{max-width:100%}.booking-note{margin:24px 0}.booking-copy .eyebrow{font-size:7px}.booking form{padding:23px}.faq{grid-template-columns:1fr;gap:28px}.questions details{padding-block:17px}.closing{font-size:22px;padding:24px 5%}.closing-flower{font-size:28px;margin-left:5px}footer{flex-wrap:wrap;padding:28px 7%;gap:16px}footer .brand{width:100%}footer p{margin:0}footer>a:last-child{margin-left:auto}dialog{padding:27px}dialog h2{font-size:31px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
