:root{--m:#C2185B;--md:#9c1249;--plum:#2B0A1F;--blush:#F8D7DF;--blush2:#FDF1F4;--peach:#F7B89A;--gold:#C9A24B;--ink:#3a2431;--mut:#6f5865}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font:16px/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:Poppins,sans-serif;line-height:1.2;color:var(--plum)}
h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:1rem}
h3{font-size:1.1rem;margin-bottom:.4rem}
p+p{margin-top:.8rem}
a{color:var(--m)}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.center{text-align:center}
.eyebrow{font:600 .78rem Poppins;letter-spacing:.16em;text-transform:uppercase;color:var(--m);margin-bottom:.6rem}
.btn{display:inline-block;background:var(--m);color:#fff;border:2px solid var(--m);padding:.8rem 1.5rem;border-radius:999px;font:600 .95rem Poppins;text-decoration:none;cursor:pointer;transition:.2s}
.btn:hover{background:var(--md);border-color:var(--md)}
.btn-ghost{background:transparent;color:var(--m)}.btn-ghost:hover{color:#fff}
.btn-ghost.light{color:#fff;border-color:#fff}.btn-ghost.light:hover{background:#fff;color:var(--plum)}
.btn-sm{padding:.45rem 1.1rem;color:#fff!important}
.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid #f3dbe3}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand img{height:40px;width:auto}
.links{display:flex;gap:1.4rem;align-items:center}
.links a{text-decoration:none;color:var(--ink);font:500 .92rem Poppins}.links a:hover{color:var(--m)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:2px;background:var(--plum);margin:5px 0}
.hero{background:radial-gradient(circle at 85% 20%,var(--blush) 0,transparent 45%),radial-gradient(circle at 10% 90%,#fde3d6 0,transparent 40%),var(--blush2);padding:80px 0 90px;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(2.1rem,4.6vw,3.5rem);margin-bottom:1rem}
.hero h1 span{color:var(--m)}
.lead{font-size:1.1rem;color:var(--mut);max-width:560px}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin-top:1.6rem}
.chips li{background:#fff;border:1px solid var(--blush);padding:.3rem .85rem;border-radius:999px;font-size:.85rem;color:var(--plum)}
.hero-art{position:relative;height:420px}
.swatch{position:absolute;border-radius:22px;box-shadow:0 20px 40px rgba(43,10,31,.18)}
.s1{width:62%;height:70%;left:4%;top:4%;transform:rotate(-8deg)}
.s2{width:55%;height:62%;right:2%;top:12%;transform:rotate(7deg)}
.s3{width:50%;height:46%;left:22%;bottom:0;transform:rotate(-2deg)}
.hero-icon{position:absolute;width:150px;height:150px;right:6%;bottom:4%;border-radius:28px;box-shadow:0 14px 30px rgba(43,10,31,.25);object-fit:cover}
/* patterns */
.s1,.p1{background-color:#f6c9d4;background-image:radial-gradient(circle at 25% 25%,#C2185B 0 7px,transparent 8px),radial-gradient(circle at 25% 25%,#f48fb1 0 14px,transparent 15px),radial-gradient(circle at 75% 75%,#e91e63 0 5px,transparent 6px),radial-gradient(circle at 75% 75%,#fff 0 11px,transparent 12px),radial-gradient(circle at 75% 25%,#7cb08a 0 4px,transparent 5px);background-size:60px 60px}
.s2,.p2{background-color:#5a1035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='70'%3E%3Cpath d='M35 12c12 0 18 10 14 20s-16 14-22 26c-4-14 2-22 8-26-8 0-12-6-10-12 2-5 6-8 10-8z' fill='%23C9A24B'/%3E%3Ccircle cx='38' cy='26' r='4' fill='%23F7B89A'/%3E%3C/svg%3E");background-size:70px 70px}
.s3,.p3{background-color:#C2185B;background-image:radial-gradient(circle,#fff 0 2.5px,transparent 3.5px),radial-gradient(circle,#ffd7a8 0 2px,transparent 3px);background-size:22px 22px,22px 22px;background-position:0 0,11px 11px}
.p4{background:repeating-linear-gradient(90deg,transparent 0 18px,rgba(255,255,255,.0) 18px 20px),linear-gradient(135deg,transparent 40%,#C2185B 40% 60%,transparent 60%),linear-gradient(45deg,transparent 40%,#F7B89A 40% 60%,transparent 60%),#fbe3d5;background-size:20px 20px,50px 70px,50px 70px}
.p5{background:conic-gradient(from 45deg,#C2185B 0 25%,#F7B89A 0 50%,#2B0A1F 0 75%,#F8D7DF 0) 0 0/50px 50px}
.p6{background:radial-gradient(circle at 20% 30%,rgba(194,24,91,.55),transparent 35%),radial-gradient(circle at 70% 60%,rgba(247,184,154,.85),transparent 40%),radial-gradient(circle at 40% 80%,rgba(120,40,100,.45),transparent 35%),radial-gradient(circle at 85% 15%,rgba(201,162,75,.5),transparent 30%),#fdf1f4}
.p7{background:repeating-linear-gradient(45deg,#F8D7DF 0 12px,#fff 12px 24px)}
.sec{padding:90px 0}
.tint{background:var(--blush2)}
.dark{background:var(--plum);color:#f3dfe8}
.dark h2,.dark h3{color:#fff}.dark .eyebrow{color:var(--peach)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.frame{border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(43,10,31,.15)}
.ticks{list-style:none;margin-top:1.2rem}
.ticks li{padding-left:1.8rem;position:relative;margin:.4rem 0}
.ticks li:before{content:"✓";position:absolute;left:0;color:#fff;background:var(--m);width:1.2rem;height:1.2rem;border-radius:50%;font-size:.7rem;display:grid;place-items:center;top:.25rem}
.grid{display:grid;gap:22px;margin-top:2.4rem}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border-radius:18px;padding:28px 24px;box-shadow:0 8px 28px rgba(43,10,31,.07);border-top:4px solid var(--m)}
.card.plain{border-top-color:var(--gold);background:var(--blush2)}
.card p{color:var(--mut);font-size:.95rem}
.ic{width:48px;height:48px;border-radius:14px;background:var(--blush);color:var(--m);display:grid;place-items:center;font-size:1.4rem;margin-bottom:1rem}
.pattern-panel{height:420px;border-radius:24px;box-shadow:0 20px 50px rgba(43,10,31,.15);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.pattern-panel i{display:block}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1.4rem}
.specs div{background:var(--blush2);border-left:3px solid var(--m);padding:12px 14px;border-radius:8px}
.specs dt{font:600 .75rem Poppins;text-transform:uppercase;letter-spacing:.08em;color:var(--m)}
.specs dd{font-weight:500;color:var(--plum)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:2.4rem;counter-reset:s}
.steps li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:24px 20px}
.steps span{font:700 1.8rem Poppins;color:var(--gold);display:block;margin-bottom:.4rem}
.steps p{font-size:.92rem;color:#e5cbd7}
.apps{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:16px;margin-top:2.4rem}
.apps li{aspect-ratio:3/4;border-radius:18px;display:flex;align-items:flex-end;padding:14px;font:600 1rem Poppins;color:var(--plum);position:relative;overflow:hidden;box-shadow:0 8px 22px rgba(43,10,31,.1)}
.apps li:after{content:"";position:absolute;inset:auto 0 0 0;height:48px;background:linear-gradient(transparent,rgba(255,255,255,.95))}
.apps li{z-index:0}.apps li::after{z-index:-1}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:2.4rem}
.tile{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 8px 24px rgba(43,10,31,.1)}
.tile.wide{grid-column:span 1}
.tile.photo img{width:100%;height:100%;object-fit:cover}
.tile figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);color:var(--plum);padding:.3rem .8rem;border-radius:999px;font:600 .85rem Poppins}
.gallery .photo:nth-last-child(2){grid-column:1/3}
.gallery .photo{aspect-ratio:auto}
.contact{list-style:none;margin-top:1.4rem}.contact li{margin:.5rem 0}
.ph{background:#fff3b0;color:#6b4a00;border:1px dashed #c9a24b;padding:0 .4rem;border-radius:4px;font-weight:600}
.form{background:#fff;border-radius:22px;padding:30px;color:var(--ink)}
.form label{display:block;font:500 .85rem Poppins;color:var(--plum);margin-bottom:14px}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;padding:.75rem .9rem;border:1px solid #e8cfd9;border-radius:10px;font:inherit;font-size:.95rem;background:var(--blush2)}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--m);border-color:transparent}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .cta{margin-top:.4rem}.form .btn-ghost.light{color:var(--m);border-color:var(--m)}.form .btn-ghost.light:hover{background:var(--m);color:#fff}
.err{color:#b00020;font-size:.9rem;min-height:1em}
.foot{background:#1c0614;color:#d9bfcc;padding:60px 0 24px}
.foot-in{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px;align-items:start}
.foot-logo{border-radius:14px;max-height:170px;width:auto;max-width:100%}
.foot h4{color:#fff;margin-bottom:.8rem}
.foot a{display:block;color:#d9bfcc;text-decoration:none;margin:.3rem 0}.foot a:hover{color:var(--peach)}
.foot p{margin:.3rem 0;font-size:.92rem}
.copy{text-align:center;margin-top:40px;font-size:.85rem;border-top:1px solid rgba(255,255,255,.1);padding-top:20px}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(3,1fr)}.apps{grid-template-columns:repeat(4,1fr)}.foot-in{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
 .burger{display:block}
 .links{position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;padding:16px 22px 22px;gap:14px;border-bottom:1px solid #f3dbe3;display:none}
 .links.open{display:flex}
 .hero{padding:50px 0 60px}.hero-in,.two{grid-template-columns:1fr;gap:36px}
 .hero-art{height:300px}.hero-icon{width:110px;height:110px}
 .sec{padding:64px 0}
 .pattern-panel{height:240px}
}
@media(max-width:560px){.g4,.specs,.row,.gallery{grid-template-columns:1fr}.gallery .photo:nth-last-child(2){grid-column:auto}.steps{grid-template-columns:1fr}.apps{grid-template-columns:repeat(2,1fr)}.foot-in{grid-template-columns:1fr}}
.gallery .photo-sq{position:relative;overflow:hidden;padding:0}
.gallery .photo-sq img{width:100%;height:100%;object-fit:cover;display:block}

.apps{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:2.4rem}
.apps .tile{flex:0 0 calc(25% - 14px);aspect-ratio:1/1;margin:0;padding:0;position:relative;overflow:hidden}
.apps .tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.apps .tile:hover img{transform:scale(1.04)}
@media(max-width:1000px){.apps .tile{flex-basis:calc(33.33% - 12px)}}
@media(max-width:560px){.apps .tile{flex-basis:calc(50% - 9px)}}
