@font-face{font-family:Sherian;src:url('assets/Sherian-Black.ttf') format('truetype');font-style:normal;font-weight:900;font-display:swap}
@font-face{font-family:Noto;src:url('assets/NotoSans.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;--paper:#fbf9f6;--ink:#271537;--muted:#604d6e;--purple:#6d35d7;--lavender:#f0e8ff;--hairline:#e5dce9;--wrap:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Noto,system-ui,sans-serif;font-size:1rem;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
svg{display:block}
figure,p,h1,h2,h3{margin:0}
section[id]{scroll-margin-top:1.5rem}
::selection{color:var(--ink);background:#ddd0ff}
:focus-visible{outline:3px solid #6d35d7;outline-offset:5px}
.wrap{width:min(var(--wrap),calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:20;transform:translateY(-180%);background:white;padding:.6rem 1rem;border-radius:1rem}
.skip-link:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--hairline)}
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;min-height:86px}
.logo{display:inline-flex;width:fit-content;align-items:center}
.logo img{height:auto}
.main-nav{display:flex;align-items:center;gap:2rem;font-size:.88rem;font-weight:650}
.main-nav a:hover,.footer-inner a:not(.logo):hover{text-decoration:underline;text-underline-offset:.25em}
.button{display:inline-flex;width:fit-content;align-items:center;justify-content:center;gap:.65rem;padding:.82rem 1.28rem;min-height:48px;border-radius:999px;font-weight:720;font-size:.91rem;line-height:1.2;transition:background .18s,color .18s,transform .18s}
.button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.button-primary{background:var(--purple);color:white}
.button-primary:hover{background:#5725ba;transform:translateY(-2px)}
.button-outline{border:1px solid #d2c2e2;background:transparent}
.button-outline:hover{background:var(--lavender)}
.nav-cta{justify-self:end}
.hero{display:grid;grid-template-columns:1fr 1.07fr;align-items:center;gap:clamp(32px,5vw,76px);padding-block:clamp(53px,6.6vw,100px) clamp(66px,8.3vw,126px)}
.hero-copy{min-width:0}
.kicker{display:inline-flex;align-items:center;gap:.58rem;font-size:.72rem;font-weight:760;text-transform:uppercase;letter-spacing:.13em;color:#6036a6;line-height:1.45}
.dot{display:inline-block;width:8px;height:8px;flex:none;border-radius:50%;background:#8652e8}
h1,h2,h3{font-family:Sherian,Noto,system-ui,sans-serif;font-weight:900}
h1{font-size:clamp(3.15rem,6.05vw,5.45rem);letter-spacing:-.027em;line-height:.96;margin-block:1.12rem 1.45rem}
h1 span{color:var(--purple)}
h2{font-size:clamp(2.38rem,4.9vw,4.15rem);line-height:.98;letter-spacing:-.022em;margin-top:.75rem}
.lead{max-width:40ch;color:var(--muted);font-size:clamp(1rem,1.45vw,1.16rem);margin-bottom:1.8rem}
.hero-photo{position:relative;isolation:isolate;min-width:0;margin-right:10px}
.hero-photo>img{width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;object-position:50% 50%;border-radius:46% 46% 34px 34px;background:#dfd1fa}
.hero-sparkle{position:absolute;right:-16px;top:11%;width:clamp(35px,4.5vw,66px);height:auto;fill:#773de0;transform:rotate(12deg)}
.hero-photo figcaption{position:absolute;bottom:-20px;left:24px;display:inline-flex;align-items:center;gap:.55rem;padding:.52rem .88rem .52rem .6rem;background:white;border:1px solid #eee4f4;border-radius:999px;box-shadow:0 8px 28px #38265a13;color:#4b3066;font-size:.76rem;font-weight:750}
.hero-photo figcaption img{border-radius:8px}
.product{background:var(--lavender);border-block:1px solid #e8dbfb}
.product-grid{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(32px,8vw,125px);padding-block:clamp(58px,8vw,116px)}
.feature-list{list-style:none;padding:0;margin:1.8rem 0 0}
.feature-list li{display:grid;grid-template-columns:2.4rem 1fr;gap:.8rem;align-items:start;padding:.95rem 0;border-bottom:1px solid #d9cbea}
.feature-list li:first-child{border-top:1px solid #d9cbea}
.feature-icon{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:12px;background:#e7dafb;color:var(--purple)}
.feature-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.feature-list h3,.audience h3{font-size:1.23rem;line-height:1.18;margin-bottom:.35rem}
.feature-list p,.audience p,.memory p,.contact p{color:var(--muted);font-size:.95rem}
.product-visual{display:grid;justify-items:center;gap:.8rem;min-width:0}
.preview-card{width:min(100%,365px);padding:1.35rem;border:1px solid #e1d2f3;background:#fff;border-radius:29px;box-shadow:0 20px 48px #4e25891d;transform:rotate(2deg)}
.preview-heading{display:flex;justify-content:space-between;align-items:center;font-weight:760;font-size:.81rem;margin-bottom:1.06rem}
.preview-label{border-radius:99px;background:#f0e8ff;padding:.22rem .59rem;color:#6036a6;font-size:.62rem}
.pet{display:flex;align-items:center;gap:.78rem;margin-bottom:1rem}
.pet strong{display:block;font-family:Sherian,Noto,sans-serif;font-weight:900;font-size:1.47rem;line-height:1.14}
.pet span,.appointment span,.record small{display:block;color:var(--muted);font-size:.7rem}
.appointment{display:flex;align-items:center;gap:.64rem;padding:.65rem .72rem;background:#f3ebff;border-radius:14px}
.appointment svg,.audience svg{width:24px;height:24px;flex:none;stroke:var(--purple);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.appointment strong,.record strong{display:block;font-size:.78rem;line-height:1.28}
.preview-subhead{font-size:.94rem;margin:1.05rem 0 .35rem}
.record{display:grid;grid-template-columns:2.3rem 1fr;align-items:center;gap:.62rem;padding:.55rem 0;border-top:1px solid #eee6f2}
.record-date{display:grid;justify-items:center;color:var(--purple);font-size:.92rem;font-weight:800;line-height:1.18}
.record-date small{font-size:.56rem;letter-spacing:.04em}
.product-visual figcaption{color:#675378;font-size:.71rem;text-align:center}
.audience{padding-block:clamp(60px,8.8vw,124px) clamp(48px,7vw,90px)}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,36px);margin-top:1.7rem}
.audience article{padding:1.5rem clamp(18px,3.4vw,39px);border:1px solid var(--hairline);border-radius:24px;background:#fffdfb}
.audience svg{margin-bottom:.8rem}
.audience article p{max-width:45ch}
.memory-inner{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#f2ebe3;border-radius:32px}
.memory-copy{padding:clamp(30px,6vw,75px);align-self:center}
.memory h2{font-size:clamp(2.25rem,4.1vw,3.67rem)}
.memory p{max-width:37ch;margin-top:1rem}
.small-halo{display:inline-block;width:22px;height:8px;border:2px solid #b97c0c;border-radius:50%;transform:rotate(-9deg);flex:none}
.memory-inner>img{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:50% 51%;background:#e4d8cb}
.contact{text-align:center;padding-block:clamp(62px,8.5vw,118px)}
.contact p{max-width:46ch;margin:.95rem auto 1.32rem}
.site-footer{border-top:1px solid var(--hairline)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.1rem;padding-block:1.4rem;color:var(--muted);font-size:.78rem}
@media(max-width:1020px){.wrap{width:min(var(--wrap),calc(100% - 64px))}.hero{gap:32px}.hero-photo figcaption{left:12px}.memory-copy{padding:36px}.topbar{gap:1.2rem}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.topbar{display:flex;justify-content:space-between;min-height:72px}.topbar .logo img{width:116px}.main-nav{display:none}.nav-cta{font-size:.78rem;padding:.65rem .87rem;min-height:44px}.hero{grid-template-columns:1fr;gap:34px;padding-top:45px;padding-bottom:72px}.hero-copy{max-width:560px}.hero h1{font-size:clamp(3.12rem,9.3vw,4.65rem)}.hero-photo{margin-right:7px;max-width:520px}.hero-photo>img{aspect-ratio:1.28;border-radius:40% 40% 24px 24px}.hero-sparkle{right:-13px}.product-grid{grid-template-columns:1fr;gap:35px}.preview-card{transform:none}.product-visual{justify-items:start}.product-visual figcaption{padding-left:.5rem}.audience-grid{grid-template-columns:1fr}.memory-inner{grid-template-columns:1fr;border-radius:24px}.memory-copy{padding:27px 22px 32px}.memory-inner>img{min-height:0;height:auto;aspect-ratio:1.45}.footer-inner{flex-wrap:wrap}.footer-inner span{margin-left:auto}}
@media(max-width:350px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:2.83rem}.kicker{letter-spacing:.10em}.hero-photo figcaption{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
