@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--ink:#311e27;--muted:#6f6268;--cream:#fbf7f3;--cream2:#f4ebe5;--blush:#f0d8d6;--rose:#a74257;--pink:#b04b63;--dark:#371724;--white:#fff;--border:#e9ddd8;--font:'DM Sans',system-ui,sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d47587;outline-offset:4px}.skip-link{position:absolute;transform:translateY(-150%);z-index:100;background:#fff;padding:10px}.skip-link:focus{transform:none}.container{width:min(1170px,calc(100% - 44px));margin-inline:auto}
.announcement{padding:9px 16px;text-align:center;font-size:12px;letter-spacing:.055em;background:var(--dark);color:#fff}.announcement strong{color:#ffd3d6}.announcement-dot{display:inline-block;width:7px;height:7px;background:#ffd5ae;border-radius:50%;margin-right:8px}.announcement>span:last-child{padding-inline:7px;color:#f5c2c9}
.site-header{position:sticky;top:0;background:rgba(251,247,243,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(55,23,36,.07);z-index:20}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:84px}.logo{font-weight:800;letter-spacing:.16em;display:inline-flex;align-items:center;gap:11px;font-size:19px;line-height:1.02}.logo-mark{font-family:var(--serif);display:grid;place-items:center;width:40px;height:40px;background:var(--dark);color:#fff;border-radius:12px 3px 12px 3px;font-size:25px;font-weight:500;letter-spacing:0}.logo-small{display:block;color:var(--rose);font-size:9px;letter-spacing:.36em;margin-top:6px;font-weight:700}.navigation{display:flex;align-items:center;gap:27px;font-size:12px;letter-spacing:.04em;font-weight:700}.navigation a:hover,.text-link:hover,.footer a:hover{color:var(--rose)}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:17px 26px;border:1px solid transparent;border-radius:6px;font-size:13px;line-height:1.2;font-weight:700;transition:transform .2s,background .2s,color .2s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button-small{padding:14px 20px;font-size:12px}.button-dark{background:var(--dark);color:#fff}.button-primary{color:#fff;background:var(--rose)}.button-primary:hover{background:#88344b}.button-outline{border-color:#ccafb4;color:var(--dark);background:transparent}.button-white{background:#fff;color:var(--dark)}.button-full{width:100%}.button[aria-disabled="true"]{opacity:.62;cursor:not-allowed}.nav-toggle{display:none;cursor:pointer;background:none;border:0;padding:9px}.nav-toggle span{display:block;width:23px;height:2px;background:var(--dark);margin:5px}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 96% 20%,#f3dddd 0,transparent 35%),var(--cream);padding:70px 0 90px}.hero-grid{display:grid;grid-template-columns:52% 48%;align-items:center;gap:10px;min-height:545px}.hero-copy{position:relative;z-index:2;padding-right:15px}.eyebrow{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:700;letter-spacing:.19em;color:var(--rose);text-transform:uppercase}.eyebrow .line{width:27px;height:1px;background:var(--rose)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.037em;line-height:1.12}h1{font-size:clamp(48px,5.5vw,78px);margin:23px 0 26px}h1 em,h2 em,.visual-quote em{font-weight:500;color:var(--rose)}.hero-description{max-width:545px;font-size:16px;line-height:1.85;color:var(--muted)}.hero-description strong{color:var(--ink);font-weight:700}.hero-facts{display:flex;gap:28px;margin:30px 0}.hero-facts>div{display:flex;gap:11px;align-items:center}.hero-facts b{display:block;font-size:13px}.hero-facts small{display:block;font-size:11px;color:var(--muted)}.fact-symbol{font-size:28px;color:var(--rose)}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.text-link{font-size:13px;font-weight:700}.microcopy{font-size:11px;color:#75656a;margin:15px 0 0;max-width:500px}
.hero-art{position:relative;height:565px;margin:0 -10px 0 7px}.hero-orbit{position:absolute;border-radius:50%;background:#edcecb}.orbit-a{inset:10px 16% 50px 0}.orbit-b{inset:75px 0 80px 20%;background:#e6b2b6;opacity:.45}.image-card{position:absolute;overflow:hidden;border:8px solid #fff;box-shadow:0 22px 55px rgba(61,32,41,.15);background:linear-gradient(140deg,#b77b82,#6a354b);border-radius:115px 115px 9px 9px}.image-card img,.gallery-grid img,.split-visual>img{height:100%;object-fit:cover}.image-card-tall{left:4%;top:4%;width:57%;height:83%;transform:rotate(-4deg);z-index:1}.image-card-top{right:2%;top:1%;width:37%;height:45%;transform:rotate(6deg);z-index:2}.image-card-bottom{right:0;bottom:8%;width:38%;height:42%;transform:rotate(5deg);border-radius:70px 70px 10px 10px;z-index:2}.floating-card{display:flex;align-items:center;gap:13px;position:absolute;left:28%;bottom:7%;z-index:4;padding:17px 22px;background:#fff;border-radius:5px;box-shadow:0 16px 45px #44203026;letter-spacing:.12em;font-size:11px;line-height:1.5;font-weight:600}.small-star{color:var(--rose);font-size:32px}.image-note{position:absolute;right:0;bottom:0;z-index:5;font-size:10px;color:#6d5560;background:#fff9;padding:3px 7px}
.trust-strip{background:var(--dark);color:#fff;padding:22px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}.trust-grid span{font-size:12px;letter-spacing:.04em;white-space:nowrap}.trust-grid b{color:#e4a2af;margin-right:8px}
.section{padding:104px 0}.section-light{background:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-heading h2,.split-copy h2,.faq-grid h2,.price-copy h2{font-size:clamp(39px,4.1vw,55px);margin:15px 0 0}.section-heading>p{max-width:400px;color:var(--muted);font-size:14px;line-height:1.8;margin:0}.eyebrow-accent{color:var(--rose)}.topics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.topic-card{border:1px solid var(--border);padding:28px 24px 26px;background:#fdf9f6;min-height:245px}.topic-num{float:right;color:#c69ca3;font-size:12px;letter-spacing:.2em}.topic-icon{font-size:38px;color:var(--rose);display:block;height:70px}.topic-card h3{font-family:var(--serif);font-size:21px;line-height:1.3;margin:0 0 12px}.topic-card p,.topic-disclaimer{font-size:12px;line-height:1.8;color:var(--muted)}.topic-disclaimer{margin:21px 0 0}
.split-section{background:#f9f1ec}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split-visual{height:570px;position:relative;overflow:hidden;border-radius:200px 200px 5px 5px;background:#dfb6ab}.split-visual>img{object-position:center}.visual-quote{position:absolute;bottom:24px;left:25px;right:25px;padding:20px;background:#fffefa;text-align:center;color:var(--ink);font:600 25px/1.3 var(--serif)}.split-copy>p{color:var(--muted);max-width:450px;margin:22px 0 30px;line-height:1.85;font-size:14px}.steps{margin-bottom:30px}.step{display:flex;gap:22px;padding:17px 0;border-bottom:1px solid #e2d3cd}.step>span{font-family:var(--serif);font-size:27px;color:var(--rose)}.step h3{font-size:15px;margin:0 0 4px}.step p{font-size:13px;color:var(--muted);margin:0;line-height:1.7}
.gallery-section{background:#fff}.section-heading-center{display:block;text-align:center}.section-heading-center .eyebrow{justify-content:center}.section-heading-center>p{max-width:630px;margin:16px auto 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid figure{margin:0;overflow:hidden;background:#f2e4df}.gallery-grid img{aspect-ratio:3/3.6;transition:transform .35s}.gallery-grid figure:hover img{transform:scale(1.03)}.gallery-grid figcaption{padding:15px 10px;background:#f8f0ea;text-align:center;font-size:12px;font-weight:700;letter-spacing:.035em}
.pricing-section{background:#4b2230;color:#fff}.pricing-grid{display:grid;grid-template-columns:1fr 420px;gap:11%;align-items:center}.price-copy .eyebrow{color:#f1aebc}.price-copy h2{margin-bottom:22px}.price-copy em{color:#e8aab7}.price-copy>p{max-width:520px;color:#edd8de;line-height:1.9;font-size:15px}.price-check{font-size:13px;padding:11px 0;color:#f7e7eb}.price-card{border-radius:8px;background:#fff;color:var(--dark);padding:34px;box-shadow:0 30px 70px #17030b33}.price-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:13px;padding-bottom:28px;border-bottom:1px solid var(--border);font-size:10px;font-weight:700;letter-spacing:.13em}.pill{background:#f6e6e5;color:var(--rose);padding:7px 10px;border-radius:50px;font-size:10px}.price-label{margin:27px 0 0;font-size:13px;color:var(--muted)}.price-number{font-family:var(--serif);font-weight:600;font-size:65px;line-height:1.2;white-space:nowrap;margin:8px 0 16px}.price-number small{font:700 16px var(--font)}.price-info,.price-foot{font-size:12px;color:var(--muted);line-height:1.85}.price-info{margin-bottom:22px}.price-foot{text-align:center;margin:13px 0 0}
.faq-section{background:#fff}.faq-grid{display:grid;grid-template-columns:34% 1fr;gap:11%}.faq-grid>div:first-child>p{color:var(--muted);margin-top:24px}.faqs{border-top:1px solid var(--border)}details{border-bottom:1px solid var(--border)}summary{position:relative;padding:21px 45px 21px 0;cursor:pointer;font-size:14px;font-weight:700;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:10px;top:17px;font-size:22px;font-weight:400;color:var(--rose)}details[open] summary:after{content:'−'}details p{font-size:13px;color:var(--muted);line-height:1.8;padding:0 20px 18px 0;margin:0}details a{text-decoration:underline;color:var(--rose)}
.cta-section{background:#efdad5;padding:66px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-section h2{font-size:clamp(35px,4vw,50px);margin:12px 0}.cta-section p{font-size:13px;color:#63444f;max-width:580px;margin-bottom:0}.cta-side{text-align:right}.cta-side .contact-status{font-size:11px;max-width:270px;margin:12px 0 0;text-align:left}.footer{background:#27121b;color:#f3e8ec;padding:65px 0 26px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:58px}.logo-footer{color:#fff}.logo-footer .logo-mark{background:#e9b2bc;color:var(--dark)}.footer-top p{color:#d0b6c0;font-size:13px;max-width:260px;margin-top:22px}.footer h3{font-size:12px;letter-spacing:.12em;margin:4px 0 23px}.footer-top a:not(.logo){display:block;color:#ccb7bf;font-size:12px;margin-bottom:12px}.footer-bottom{border-top:1px solid #ffffff23;padding-top:20px;display:flex;justify-content:space-between;gap:25px;color:#baa0aa;font-size:10px}.footer-bottom span:last-child{text-align:right}.sticky-mobile{display:none}
.legal-page{background:#fff;min-height:50vh;padding:80px 0 110px}.legal-wrap{max-width:800px;margin:auto}.legal-page h1{font-size:clamp(39px,5vw,58px);margin:15px 0 20px}.legal-page h2{font-size:26px;margin:38px 0 13px}.legal-page h3{font-size:18px;margin:24px 0 12px}.legal-page p,.legal-page li{font-size:14px;color:#64565d;line-height:1.9}.legal-page a{color:var(--rose);text-decoration:underline}.legal-page ul{padding-left:22px}.legal-note{background:#fbf1ef;border-left:3px solid var(--rose);padding:17px 21px;margin:30px 0}.legal-note p{margin:0}.legal-link{display:inline-block;margin:20px 0 0;font-size:13px;font-weight:700}
@media(max-width:1040px){.navigation{gap:16px}.nav-cta{display:none}.hero-grid{grid-template-columns:50% 50%}.hero-art{height:485px}.hero-facts{gap:16px}.topics-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr 390px;gap:5%}}
@media(max-width:750px){.container{width:min(100% - 34px,560px)}.nav-inner{min-height:67px}.logo{font-size:16px}.logo-mark{width:35px;height:35px}.nav-toggle{display:block}.navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:15px 22px 25px;box-shadow:0 15px 20px #20071316;flex-direction:column;align-items:stretch;gap:0}.navigation.open{display:flex}.navigation a{padding:13px 4px;border-bottom:1px solid var(--border)}.hero{padding:51px 0 65px}.hero-grid{display:block}.hero-copy{padding:0}.hero h1{font-size:clamp(47px,10vw,66px)}.hero-description{font-size:14px}.hero-art{height:430px;max-width:485px;margin:48px auto 0}.hero-facts{gap:17px;flex-wrap:wrap}.hero-actions{gap:15px}.trust-grid{grid-template-columns:repeat(2,1fr);gap:14px}.trust-grid span{font-size:10px}.section{padding:70px 0}.section-heading{display:block}.section-heading>p{margin-top:20px}.topics-grid{grid-template-columns:repeat(2,1fr)}.topic-card{padding:22px 17px}.topic-card h3{font-size:19px}.split-grid{display:flex;flex-direction:column;gap:38px}.split-visual{height:430px;width:min(100%,450px)}.split-copy{width:100%}.gallery-grid{gap:9px}.gallery-grid figcaption{font-size:10px;padding:11px 4px}.pricing-grid{display:block}.price-copy{margin-bottom:35px}.price-card{max-width:460px}.faq-grid{display:block}.faq-grid>div:first-child{margin-bottom:25px}.cta-inner{display:block}.cta-side{margin-top:26px;text-align:left}.footer-top{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;text-align:left!important;margin:7px 0}.sticky-mobile{display:flex;position:fixed;z-index:18;bottom:0;left:0;right:0;align-items:center;justify-content:space-between;padding:11px 16px max(11px,env(safe-area-inset-bottom));background:#fff;box-shadow:0 -8px 30px #2a142024;gap:10px}.sticky-mobile span{line-height:1.3}.sticky-mobile small{display:block;font-size:9px;color:var(--muted)}.sticky-mobile strong{font:700 17px var(--serif)}.sticky-mobile .button{padding:13px 16px;font-size:11px}.footer{padding-bottom:112px}.legal-page{padding:60px 0 75px}}
@media(max-width:420px){.hero-art{height:335px}.image-card{border-width:5px}.floating-card{padding:9px 12px;font-size:9px}.image-note{font-size:8px}.hero-facts>div{gap:7px}.hero-facts small{font-size:10px}.topics-grid{gap:9px}.topic-card{min-height:255px}.price-card{padding:25px}.price-number{font-size:52px}.announcement{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}