:root{--cream:#fbf5eb;--paper:#fffdf9;--plum:#54243f;--plum-dark:#351426;--rose:#b8687c;--rose-soft:#eed7d9;--gold:#d6a64f;--gold-soft:#f3e3b9;--ink:#2d2629;--muted:#71656a;--line:rgba(84,36,63,.15);--shadow:0 24px 70px rgba(76,42,54,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}.skip-link{position:absolute;left:-999px;top:1rem;background:var(--paper);padding:.7rem 1rem;z-index:100}.skip-link:focus{left:1rem}a{color:inherit}.site-header{height:92px;max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--plum)}.brand img{width:58px;height:58px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.08}.brand strong{font-family:"Playfair Display",serif;font-size:1.16rem}.brand small{text-transform:uppercase;letter-spacing:.18em;font-size:.64rem;font-weight:700;margin-top:5px;color:var(--rose)}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-size:.88rem;font-weight:600}.nav-contact{border:1px solid var(--plum);padding:10px 18px;border-radius:999px}.menu-button{display:none;background:transparent;border:1px solid var(--line);padding:9px 14px;border-radius:999px;color:var(--plum);font-weight:700}.hero{min-height:690px;max-width:1240px;margin:auto;padding:72px 34px 96px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:72px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700;color:var(--rose);margin:0 0 18px}.hero h1,.intro h2,.journey h2,.section-heading h2,.contact h2{font-family:"Playfair Display",serif;color:var(--plum-dark);line-height:1.03;margin:0}.hero h1{font-size:clamp(3.5rem,6.3vw,6.3rem);letter-spacing:-.045em}.hero h1 em{font-weight:600;color:var(--rose)}.hero-lead{max-width:580px;font-size:1.12rem;color:var(--muted);margin:30px 0}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-block;text-decoration:none;padding:14px 22px;border-radius:999px;font-weight:700}.primary{background:var(--plum);color:white;box-shadow:0 12px 30px rgba(84,36,63,.24)}.text-link{font-weight:700;text-decoration:none;color:var(--plum)}.trust-row{display:flex;gap:20px;margin-top:45px;color:var(--muted);font-size:.8rem}.trust-row span:before{content:"✦";color:var(--gold);margin-right:8px}.hero-visual{position:relative;min-height:520px}.photo-frame{position:absolute;inset:0 28px 25px 38px;background:var(--rose-soft);border-radius:48% 48% 46% 46% / 35% 35% 50% 50%;padding:18px;transform:rotate(2deg);box-shadow:var(--shadow)}.photo-frame:before{content:"";position:absolute;inset:-18px;border:1px solid var(--gold);border-radius:inherit;z-index:-1}.photo-frame img{width:100%;height:100%;object-fit:cover;border-radius:inherit;filter:saturate(.82) contrast(.95)}.hero-note{position:absolute;left:-10px;bottom:46px;background:var(--paper);padding:17px 21px;border-radius:18px;box-shadow:var(--shadow);font-family:"Playfair Display",serif;font-weight:600;color:var(--plum);line-height:1.25;transform:rotate(-3deg)}.hero-note span{color:var(--rose);margin-right:6px}.paw{position:absolute;color:var(--gold);font-size:3rem}.paw-one{right:4px;top:20px}.paw-two{right:-20px;top:65px;font-size:2rem}.intro{background:var(--plum);color:white;padding:95px max(34px,calc((100vw - 1172px)/2));display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.intro h2{font-size:clamp(2.5rem,4vw,4rem);color:white}.intro>p{font-family:"Playfair Display",serif;font-size:1.45rem;line-height:1.55;margin:0;color:#f2e5e9}.journey{max-width:1172px;margin:0 auto;padding:125px 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.journey-photo{position:relative;background:var(--rose-soft);padding:16px;border-radius:210px 210px 24px 24px;box-shadow:var(--shadow)}.journey-photo img{display:block;width:100%;height:600px;object-fit:cover;border-radius:195px 195px 16px 16px}.photo-caption{position:absolute;right:-36px;bottom:35px;background:var(--gold-soft);color:var(--plum);padding:15px 19px;max-width:210px;border-radius:10px;font-family:"Playfair Display",serif;transform:rotate(2deg)}.journey h2,.section-heading h2,.contact h2{font-size:clamp(2.6rem,4.5vw,4.5rem)}.steps{list-style:none;margin:42px 0 28px;padding:0}.steps li{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:23px 0;border-top:1px solid var(--line)}.steps li:last-child{border-bottom:1px solid var(--line)}.steps>li>span{font-size:.75rem;font-weight:700;color:var(--rose)}.steps h3{font-family:"Playfair Display",serif;font-size:1.5rem;color:var(--plum);margin:-4px 0 5px}.steps p{margin:0;color:var(--muted)}.coming-note{font-size:.85rem;color:var(--muted);background:var(--paper);border-left:3px solid var(--gold);padding:13px 16px}.crafts{background:#efe3dc;padding:115px max(34px,calc((100vw - 1172px)/2))}.section-heading{max-width:680px}.section-heading>p:last-child{color:var(--muted);font-size:1.06rem}.craft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:55px}.craft-card{min-height:385px;padding:34px;border-radius:24px;display:flex;flex-direction:column;position:relative;overflow:hidden}.craft-card.rose{background:var(--rose-soft)}.craft-card.gold{background:var(--gold-soft)}.craft-card.plum{background:var(--plum);color:white}.craft-card .number{font-size:.72rem;letter-spacing:.15em;font-weight:700}.craft-card h3{font-family:"Playfair Display",serif;font-size:2rem;line-height:1.12;margin:auto 0 10px;color:var(--plum)}.craft-card.plum h3{color:white}.craft-card>p:not(.number){margin:0 0 24px;color:var(--muted)}.craft-card.plum>p:not(.number){color:#ebdfe4}.craft-card>span{text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;font-weight:700}.craft-icon{position:absolute;right:28px;top:26px;width:78px;height:78px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:1.8rem;opacity:.7}.story{text-align:center;padding:125px 28px;background:var(--paper)}.story-mark img{width:94px}.story blockquote{font-family:"Playfair Display",serif;font-size:clamp(2.1rem,4vw,4rem);line-height:1.2;color:var(--plum);max-width:950px;margin:26px auto}.story p{color:var(--rose);font-weight:700}.contact{max-width:1172px;margin:0 auto;padding:115px 0;display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:center}.contact>div>p:last-child{color:var(--muted);font-size:1.05rem;max-width:580px}.contact-card{background:var(--plum);color:white;padding:42px;border-radius:24px;box-shadow:var(--shadow)}.contact-card p{margin:0 0 8px;color:#e8cbd5}.contact-card a{font-family:"Playfair Display",serif;font-size:clamp(1.4rem,2.5vw,2.1rem);display:block;margin-bottom:24px}.contact-card small{display:block;border-top:1px solid rgba(255,255,255,.2);padding-top:20px;color:#e8dce0}footer{max-width:1172px;margin:auto;border-top:1px solid var(--line);padding:40px 0 55px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.8rem}.footer-brand img{width:46px;height:46px}.footer-brand strong{font-size:1rem}
@media(max-width:900px){.site-header{height:78px;padding:0 20px}.brand img{width:48px;height:48px}.menu-button{display:block}nav{display:none;position:absolute;left:20px;right:20px;top:72px;background:var(--paper);padding:20px;border-radius:16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:8px}nav.open{display:flex}nav a{padding:10px}.hero{grid-template-columns:1fr;padding:55px 24px 90px;gap:65px}.hero-visual{min-height:500px}.intro{grid-template-columns:1fr;gap:28px;padding:80px 28px}.journey{grid-template-columns:1fr;padding:90px 28px;gap:75px}.journey-photo{max-width:560px;margin:auto}.crafts{padding:90px 28px}.craft-grid{grid-template-columns:1fr}.craft-card{min-height:300px}.contact{grid-template-columns:1fr;padding:90px 28px;gap:45px}footer{margin:0 28px;flex-wrap:wrap;gap:20px}}
@media(max-width:560px){.brand strong{font-size:1rem}.hero{padding-top:38px}.hero h1{font-size:3.45rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.trust-row{flex-direction:column;gap:7px}.hero-visual{min-height:410px}.photo-frame{inset:0 15px 20px}.hero-note{left:0}.journey-photo img{height:430px}.photo-caption{right:-8px}.contact-card{padding:28px 22px}.contact-card a{font-size:1.3rem}footer{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.photo-frame{border-radius:220px 220px 28px 28px;transform:none}
.photo-frame:before{border-radius:238px 238px 42px 42px}
.photo-frame img{border-radius:204px 204px 18px 18px;object-position:center}
.journey-photo{border-radius:28px;padding:16px;align-self:center}
.journey-photo img{height:auto;aspect-ratio:auto;object-fit:contain;border-radius:18px}
.mobile-actions{display:none}
.mobile-actions{top:auto}
@media(max-width:900px){body{padding-bottom:76px}.site-header{position:sticky;top:0;background:rgba(251,245,235,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.hero{min-height:0}.hero-copy{max-width:650px}.button,.text-link,.nav-contact{min-height:46px;display:inline-flex;align-items:center}.steps li{padding:26px 0}.mobile-actions{position:fixed;z-index:50;left:12px;right:12px;bottom:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;background:rgba(255,253,249,.96);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 35px rgba(53,20,38,.22)}.mobile-actions a{min-height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font-size:.82rem;font-weight:700;color:var(--plum)}.mobile-actions a:last-child{background:var(--plum);color:white}.mobile-actions span{font-size:1rem}footer{padding-bottom:30px}}
@media(max-width:560px){.site-header{padding:0 16px}.brand img{width:44px;height:44px}.hero{padding:30px 20px 70px}.hero h1{font-size:clamp(3rem,14vw,3.8rem)}.hero-lead{font-size:1rem;line-height:1.65;margin:24px 0}.hero-actions .button{width:100%;justify-content:center}.hero-visual{min-height:380px}.intro,.journey,.crafts,.contact{padding-left:20px;padding-right:20px}.intro h2,.journey h2,.section-heading h2,.contact h2{font-size:2.55rem}.intro>p{font-size:1.2rem}.journey{gap:56px}.craft-grid{margin-top:38px}.story{padding:85px 20px}.story blockquote{font-size:2rem}.contact-card{border-radius:18px}.contact-card a{overflow-wrap:anywhere}.mobile-actions{left:8px;right:8px;bottom:7px}}
