:root{--primary:#09aeb4;--secondary:#116e73;--ink:#17383d;--bg:#eefafb;--accent:#70d5d1;--body-font:'Trebuchet MS',sans-serif;--font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:var(--font-size)/1.55 var(--body-font);overflow-x:hidden}a{color:inherit}img{max-width:100%;display:block}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #ffb45a;outline-offset:4px}#ambient{pointer-events:none;position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse at 12% 16%,#83dfd230,transparent 30%),radial-gradient(ellipse at 89% 70%,#72b9d528,transparent 34%)}.topbar,.hero,.section,.contact-section,.footer{position:relative;z-index:1}.topbar{display:flex;align-items:center;gap:26px;padding:15px clamp(20px,5vw,88px);background:#ffffffea;backdrop-filter:blur(16px);border-bottom:1px solid #bce9e6;position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;flex-shrink:0}.brand img{width:52px;height:52px;object-fit:contain;border-radius:16px}.brand b{font-size:24px;letter-spacing:-1px;color:var(--secondary);line-height:1}.brand small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.topbar nav{display:flex;gap:25px;margin-left:auto}.topbar nav a,.back{text-decoration:none;font-size:13px;font-weight:800}.topbar nav a:hover,.back:hover{color:var(--primary)}.back{padding:10px 16px;border:1px solid #acd9d9;border-radius:30px;white-space:nowrap}.hero{min-height:680px;display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:4%;padding:70px clamp(24px,7vw,115px) 90px;background:linear-gradient(135deg,#f8ffff 6%,#d8f6f4 71%,#c4eeee)}.hero:before{content:'';width:320px;height:320px;position:absolute;border:1px solid #9ad9d450;border-radius:50%;right:0;top:-130px}.hero-copy{max-width:650px;z-index:3}.eyebrow,.kicker{font-size:12px;font-weight:900;letter-spacing:.19em;color:var(--secondary)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.2rem,6.3vw,6.3rem);line-height:1.03;letter-spacing:-.068em;margin:24px 0 25px;font-weight:900;max-width:780px}h1 em{color:var(--primary);font-style:normal}.lead{font-size:clamp(17px,1.7vw,22px);max-width:520px;color:#4a6970}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 22px;border-radius:16px;text-decoration:none;font-size:14px;font-weight:900;transition:transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--secondary);color:white;box-shadow:0 13px 27px #10686b34}.btn-ghost{background:white;color:var(--secondary);border:1px solid #c9e9e7}.care-note{display:flex;align-items:center;gap:11px;font-size:13px;margin-top:40px;color:#578080}.care-icon{display:grid;place-items:center;width:39px;height:39px;background:white;border:1px solid #addad8;color:var(--primary);border-radius:12px;font-size:24px}.hero-art{position:relative;min-width:0;display:grid;place-items:center}.halo{position:absolute;width:min(110%,630px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f7ffff 13%,#7edbd5 48%,#65bdb600 70%);filter:blur(4px)}.picture-frame{position:relative;width:min(100%,640px);aspect-ratio:1.58;border:12px solid white;border-radius:30px;box-shadow:0 33px 70px #2b8f9555;overflow:hidden;transform:rotate(-2.4deg);transition:transform .5s}.picture-frame:hover{transform:rotate(0deg) translateY(-7px)}.picture-frame>img,.hero-video,.hero-video iframe,.hero-video video{width:100%;height:100%;object-fit:cover}.hero-video{position:absolute;inset:0;background:#fff}.art-tag{position:absolute;bottom:-20px;right:-1%;background:#fff;padding:13px 18px;border-radius:14px;font-weight:bold;box-shadow:0 13px 30px #12596224;transform:rotate(4deg)}.heartbeat{color:#eb6c8b;font-size:21px}.marquee{overflow:hidden;background:var(--secondary);color:white;white-space:nowrap;font-size:12px;font-weight:900;letter-spacing:.22em;padding:13px}.marquee>div{width:max-content;animation:flow 35s linear infinite}@keyframes flow{to{transform:translateX(-45%)}}.section{padding:90px clamp(22px,7vw,110px)}.section-intro{max-width:760px;margin-bottom:42px}.section-intro h2,.contact-content h2{font-size:clamp(2.3rem,4.3vw,4.6rem);letter-spacing:-.059em;line-height:1.08;margin:15px 0}.section-intro p{color:#57777a;font-size:18px}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{background:white;border:1px solid #d1ece9;border-radius:25px;overflow:hidden;box-shadow:0 15px 35px #06555d0d;transition:transform .35s,box-shadow .35s}.service-card:hover{transform:translateY(-8px) rotateX(2deg);box-shadow:0 26px 42px #06555d22}.service-img{height:245px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eefdfc,#d1f3ef);padding:24px}.service-img img{width:100%;height:100%;object-fit:contain;border-radius:14px}.service-card .card-copy{padding:26px}.service-card h3{font-size:24px;letter-spacing:-.035em;line-height:1.15;margin-bottom:12px}.service-card p{color:#627d7d;margin:0}.memory-section{background:#e2f7f4}.gallery-rail{display:flex;gap:19px;overflow-x:auto;scroll-snap-type:x mandatory;padding:7px 3px 27px;scrollbar-color:var(--secondary) #c7e8e6}.gallery-item{border:0;cursor:pointer;background:white;border-radius:23px;flex:0 0 clamp(240px,27vw,390px);padding:11px;box-shadow:0 12px 28px #0f616320;text-align:left;scroll-snap-align:center;transition:transform .25s}.gallery-item:nth-child(even){transform:rotate(1deg)}.gallery-item:hover{transform:translateY(-7px) rotate(0deg)}.gallery-item img{width:100%;height:300px;object-fit:contain;border-radius:16px;background:#e8f6f6}.gallery-item span{display:block;font-size:14px;font-weight:800;padding:13px 6px 7px;color:var(--ink)}.swipe-note{margin-top:8px;color:#658481;font-size:13px}.promo-section{background:#f7fffe}.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.promo-card{background:white;padding:18px;border-radius:20px}.promo-card img{width:100%;height:380px;object-fit:contain}.contact-section{padding:90px 5%;background:#12494f;color:white}.contact-wrap{max-width:1250px;margin:auto;display:grid;grid-template-columns:.7fr 1fr;gap:50px;align-items:center}.contact-content .kicker{color:#92e1d7}.contact-content h2{color:white}.contact-content>p{font-size:18px;color:#d1eeea;max-width:620px}.contact-graphic{min-height:390px;display:grid;place-items:center}.cross-deco{position:relative;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#74ded0 3%,#29a8ae 60%,#1d5961 61%);box-shadow:0 0 0 32px #ffffff10,0 0 0 64px #ffffff08;display:grid;place-items:center;animation:breathe 5s ease-in-out infinite}.cross-plus{font-size:180px;line-height:1;color:white;text-shadow:5px 7px 0 #137c81}.paw{position:absolute;right:18px;bottom:28px;font-size:60px;color:#184b4b}.paw i{font-style:normal;position:absolute;font-size:14px;top:-10px;left:8px}.contact-details{display:grid;gap:11px;margin:27px 0}.contact-detail{border-left:3px solid #6bd6d0;padding-left:16px;overflow-wrap:anywhere}.contact-detail b{color:#ace9e0;display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.contact-detail a{color:white}.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-actions .btn-primary{background:#55c9ba;color:#10474d}.contact-actions .btn-ghost{background:#ffffff12;color:white;border-color:#ffffff60}.footer{padding:26px clamp(22px,7vw,110px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#0c353a;color:#e4ffff;font-size:12px;flex-wrap:wrap}.footer>a{font-weight:900;text-decoration:none}.social-links{display:flex;gap:10px}.social-links a{padding:8px 10px;border:1px solid #65baba;border-radius:10px;text-decoration:none}.wa-float{position:fixed;z-index:60;bottom:20px;right:22px;background:#20ba75;color:white;box-shadow:0 10px 30px #035b3250;border:3px solid white;border-radius:40px;padding:13px 20px;font-size:16px;text-decoration:none;font-weight:bold}.lightbox{position:fixed;inset:0;z-index:110;background:#041d20f2;display:flex;align-items:center;justify-content:center;padding:65px 60px}.lightbox[hidden],[hidden]{display:none!important}.lightbox figure{margin:0;text-align:center;max-width:min(100%,850px)}.lightbox figure img{max-height:75vh;max-width:100%;object-fit:contain;margin:auto;border-radius:10px}.lightbox figcaption{color:white;padding:17px 0}.lightbox button{cursor:pointer;border:0;background:#ffffff25;color:white;border-radius:99px}.lb-close{position:absolute;right:21px;top:16px;font-size:36px;width:53px;height:53px}.lb-arrow{font-size:52px;width:48px;height:64px;position:absolute;top:47%}.lb-arrow.prev{left:9px}.lb-arrow.next{right:9px}.cursor-paw{display:none;position:fixed;z-index:1000;pointer-events:none;color:#119da8;font-size:19px;filter:drop-shadow(0 2px 2px white);transform:translate(-50%,-50%)}@media(pointer:fine) and (prefers-reduced-motion:no-preference){.cursor-paw{display:block}body.cursor-custom,body.cursor-custom a,body.cursor-custom button{cursor:none}}@keyframes breathe{50%{transform:scale(1.045)}}.js-reveal{animation:appear .8s both}@keyframes appear{from{opacity:.2;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.topbar{gap:12px}.topbar nav{display:none}.back{margin-left:auto}.hero{grid-template-columns:1fr;min-height:auto;padding:54px 7% 85px;gap:55px}.hero-copy{max-width:750px}.hero-art{max-width:760px;margin:auto;width:100%}.service-cards{grid-template-columns:repeat(2,1fr)}.contact-wrap{grid-template-columns:1fr}.contact-graphic{display:none}}@media(max-width:590px){.topbar{padding:12px 16px}.brand img{height:42px;width:42px}.brand b{font-size:20px}.brand small{font-size:8px}.back{font-size:11px;padding:8px}.hero{padding:42px 22px 65px}.hero h1{font-size:clamp(42px,12vw,66px)}.hero-actions .btn{width:100%}.picture-frame{border-width:7px;border-radius:21px;aspect-ratio:1.33}.art-tag{font-size:11px}.section{padding:67px 20px}.section-intro h2,.contact-content h2{font-size:38px}.service-cards{grid-template-columns:1fr}.service-img{height:225px}.gallery-item{flex-basis:82vw}.gallery-item img{height:285px}.contact-section{padding:75px 22px}.footer{padding:25px 22px}.wa-float{bottom:14px;right:14px;padding:11px 14px}.lightbox{padding:60px 45px}.lightbox figure img{max-height:72vh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
