:root{--plum:#3f1530;--plum2:#5b233f;--gold:#c8a46a;--cream:#f7f1e8;--ivory:#fffaf4;--ink:#271d23;--muted:#756b70;--line:#ded2c7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.announcement{height:35px;background:var(--plum);color:#f8efe7;text-align:center;font-size:11px;letter-spacing:.08em;padding:8px}.announcement a{margin-left:14px;color:#e6c98d;border-bottom:1px solid}.site-header{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4.5vw;background:rgba(255,250,244,.95);position:relative;z-index:30;border-bottom:1px solid rgba(63,21,48,.09)}.brand{display:flex;gap:12px;align-items:center;width:max-content}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:Italiana,serif;color:var(--plum)}.brand b{font-family:Italiana,serif;font-size:20px;font-weight:400;display:block}.brand small{font-size:7px;letter-spacing:.22em;display:block}.nav-links{display:flex;gap:30px;font-size:12px}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--plum);transition:.25s}.nav-links a:hover:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600;border:0;cursor:pointer;transition:.25s}.button:hover{transform:translateY(-2px)}.button-small{background:var(--plum);color:white;justify-self:end;padding:12px 20px}.menu-toggle{display:none}.hero{height:calc(100vh - 123px);min-height:610px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(38,20,28,.77) 0%,rgba(38,20,28,.42) 39%,rgba(38,20,28,.03) 72%)}.hero-content{position:absolute;left:8vw;top:50%;transform:translateY(-50%);max-width:650px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:600;color:var(--plum2);margin:0 0 20px}.eyebrow.light{color:#ecd7b7}.hero h1,.section h2,.bridal h2,.shop h2,.testimonial blockquote{font-family:Italiana,serif;font-weight:400}.hero h1{font-size:clamp(56px,7vw,105px);line-height:.92;margin:0}.hero h1 em,h2 em{color:#d6b77e;font-weight:400}.hero-copy{max-width:520px;font-size:15px;color:#f6eee7;margin:28px 0 34px}.hero-actions{display:flex;align-items:center;gap:28px}.button-gold{background:var(--gold);color:#2b1720}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid #9e868e;padding-bottom:5px;width:max-content}.text-link span{margin-left:8px}.text-link.light{border-color:#e3d2c5}.hero-note{position:absolute;right:4.5vw;bottom:28px;display:flex;gap:16px;align-items:center}.hero-note span{font-family:Italiana;font-size:30px;color:#dbc08f}.hero-note p{font-size:10px;letter-spacing:.08em}.section{padding:110px 7vw}.intro{display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:50px;align-items:start}.section-number{font-size:9px;letter-spacing:.18em;color:var(--muted)}.intro h2,.section-heading h2,.academy h2,.shop h2,.contact h2{font-size:clamp(44px,5vw,72px);line-height:1.02;margin:0}.intro-side{padding-top:42px;color:var(--muted);font-size:14px}.intro-side p{margin:0 0 28px}.services{background:var(--cream)}.section-heading,.shop-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-heading>p,.shop-heading>p{max-width:330px;color:var(--muted);font-size:13px}.service-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;height:500px}.service-card{position:relative;overflow:hidden}.service-card img{transition:transform .7s}.service-card:hover img{transform:scale(1.04)}.card-overlay{position:absolute;inset:0;padding:24px;color:white;background:linear-gradient(0deg,rgba(25,11,18,.82),transparent 65%);display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:20px}.card-overlay span{font-size:10px}.card-overlay h3{font-family:Italiana;font-size:26px;font-weight:400;margin:0}.card-overlay p{font-size:11px;margin:4px 0 0;color:#e8dedf}.card-overlay b{font-size:20px;font-weight:400}.service-list{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding-top:28px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.service-list span:before{content:"✦";color:var(--gold);margin-right:12px}.bridal{background:var(--plum);color:white;display:grid;grid-template-columns:1.05fr .95fr;min-height:730px}.bridal-image{position:relative;margin:55px 0 55px 6vw}.bridal-image span{position:absolute;left:-28px;bottom:30px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.26em;color:#d6b77e}.bridal-copy{padding:120px 9vw 100px 8vw;align-self:center}.bridal h2{font-size:clamp(50px,6vw,82px);line-height:1}.bridal-copy>p:not(.eyebrow){color:#d8c9d0;font-size:13px}.bridal ul{list-style:none;padding:14px 0;margin:20px 0 30px;border-top:1px solid #76526a}.bridal li{padding:12px 0;border-bottom:1px solid #76526a;font-size:12px}.bridal li:before{content:"✦";color:var(--gold);margin-right:13px}.button-outline{border:1px solid #cbb6c1;color:white}.academy{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.academy-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:480px}.course-row{display:grid;grid-template-columns:38px 1fr;padding:18px 0;border-top:1px solid var(--line)}.course-row span{font-family:Italiana;color:var(--gold)}.course-row b{display:block;font-family:Italiana;font-size:19px;font-weight:400}.course-row small{color:var(--muted);font-size:10px}.button-dark{background:var(--plum);color:white;margin-top:22px}.academy-image{height:620px;position:relative}.academy-badge{position:absolute;background:var(--gold);right:-30px;bottom:30px;width:180px;height:180px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--plum)}.academy-badge b{font-family:Italiana;font-size:20px}.academy-badge span{font-size:9px;margin-top:8px;letter-spacing:.07em}.shop{background:#eee3db}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.product-image{height:390px;display:grid;place-items:center;position:relative;overflow:hidden}.product-image.blush{background:linear-gradient(135deg,#e6cfc9,#c5978f)}.product-image.ivory{background:linear-gradient(135deg,#f5eadb,#d8c3a5)}.product-image.plum{background:linear-gradient(135deg,#7b405f,#321125)}.product-pill{position:absolute;top:18px;left:18px;background:white;padding:5px 9px;font-size:8px;letter-spacing:.12em}.bottle,.jar{width:110px;height:230px;background:linear-gradient(90deg,#fff8ec,#d8b986 55%,#fcf2db);box-shadow:12px 18px 30px #3f153044;display:grid;place-content:center;text-align:center;font-family:Italiana;color:var(--plum);font-size:18px}.bottle:before{content:"";display:block;width:45px;height:35px;background:#ba985d;margin:-35px auto 30px}.bottle:not(.tall){height:190px;width:150px}.jar{height:120px;width:180px;border-radius:4px}.product h3{font-family:Italiana;font-size:20px;font-weight:400;margin:17px 0 3px}.product p{font-size:11px;color:var(--muted);margin:0}.product>b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-top:10px}.center{text-align:center;margin-top:45px}.center .text-link{display:inline-block}.testimonial{text-align:center;padding:120px 15vw;background:linear-gradient(rgba(45,18,35,.92),rgba(45,18,35,.92)),url('https://images.unsplash.com/photo-1457972729786-0411a3b2b626?auto=format&fit=crop&w=1600&q=80') center/cover;color:white}.testimonial blockquote{font-size:clamp(32px,4vw,56px);line-height:1.2;margin:20px auto 28px;max-width:1000px}.stars{color:var(--gold);letter-spacing:.35em;font-size:12px}.testimonial>p:last-child{font-size:9px;letter-spacing:.18em;color:#cfbdc6}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-copy>p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:430px}.contact-details{margin-top:45px}.contact-details p{font-size:12px}.contact-details span{display:inline-block;width:90px;font-size:9px;letter-spacing:.15em;color:var(--gold)}.contact-form{background:var(--cream);padding:45px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form label{font-size:9px;text-transform:uppercase;letter-spacing:.15em}.contact-form label:nth-child(3){grid-column:1/3}.contact-form input,.contact-form select{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;font:12px "DM Sans";outline:none}.contact-form button{grid-column:1/3}.form-note{grid-column:1/3;text-align:center;font-size:10px;color:var(--muted);margin:0}footer{background:#21111a;color:#eee4e8;padding:65px 6vw 25px;display:grid;grid-template-columns:1fr auto auto;gap:60px;align-items:start}.footer-brand .brand-mark{color:#dcc28e}.footer-links,.socials{display:grid;gap:10px;font-size:11px}.copyright{grid-column:1/4;border-top:1px solid #573847;padding-top:20px;font-size:9px;color:#927e88}.whatsapp{position:fixed;right:24px;bottom:24px;width:52px;height:52px;background:#2b9b69;color:white;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;z-index:20;box-shadow:0 8px 25px #0003}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;height:76px;padding:0 20px}.nav-links,.header-cta{display:none}.menu-toggle{display:block;border:0;background:none;width:32px}.menu-toggle span{display:block;height:1px;background:var(--plum);margin:7px}.nav-links.open{display:flex;position:absolute;top:76px;left:0;right:0;background:var(--ivory);padding:28px;flex-direction:column;gap:20px;border-bottom:1px solid var(--line)}.hero{height:calc(100svh - 111px);min-height:620px}.hero-image{object-position:68% center}.hero-shade{background:linear-gradient(90deg,rgba(30,14,23,.82),rgba(30,14,23,.3))}.hero-content{left:7vw;right:7vw;top:52%}.hero h1{font-size:clamp(49px,13vw,72px)}.hero-note{display:none}.section{padding:80px 6vw}.intro{grid-template-columns:1fr}.intro-side{padding-top:0}.service-grid{grid-template-columns:1fr 1fr;height:auto}.service-card{height:380px}.service-card.large{grid-column:1/3}.bridal{grid-template-columns:1fr}.bridal-image{height:550px;margin:45px 6vw 0}.bridal-copy{padding:70px 8vw}.academy{grid-template-columns:1fr}.academy-image{height:520px}.academy-badge{right:10px}.product-image{height:300px}.contact{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.copyright{grid-column:1/3}}
@media(max-width:600px){.announcement{font-size:9px}.announcement a{display:none}.brand b{font-size:18px}.hero{min-height:590px}.hero-image{object-position:64%}.hero-shade{background:linear-gradient(90deg,rgba(30,14,23,.85),rgba(30,14,23,.28))}.hero-content{top:55%}.hero-copy{font-size:13px;max-width:320px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.intro h2,.section-heading h2,.academy h2,.shop h2,.contact h2{font-size:45px}.section-heading,.shop-heading{display:block}.section-heading>p,.shop-heading>p{margin-top:20px}.service-grid{display:block}.service-card,.service-card.large{height:410px;margin-bottom:12px}.service-list{justify-content:flex-start;gap:16px 24px}.bridal-image{height:440px}.product-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;margin-right:-6vw}.product{min-width:83vw;scroll-snap-align:start}.product-image{height:340px}.testimonial{padding:90px 8vw}.contact-form{padding:28px 22px;display:block}.contact-form label{display:block;margin-bottom:22px}.contact-form button{width:100%}.form-note{margin-top:12px}.contact-details span{display:block;margin-bottom:3px}footer{grid-template-columns:1fr;gap:30px}.copyright{grid-column:1}.footer-links,.socials{grid-template-columns:repeat(3,auto);justify-content:start}.academy-badge{width:145px;height:145px}.whatsapp{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Bridal hero carousel */
.hero-slides{position:absolute;inset:0}.hero-slide{inset:0;opacity:0;transform:scale(1.025);transition:opacity 1.1s ease,transform 6s ease;will-change:opacity,transform}.hero-slide.active{opacity:1;transform:scale(1)}.hero-controls{position:absolute;left:8vw;bottom:30px;display:flex;gap:9px;z-index:3}.hero-dot{width:46px;height:32px;padding:0;border:0;border-bottom:1px solid rgba(255,255,255,.35);background:transparent;color:rgba(255,255,255,.6);font:11px "DM Sans";cursor:pointer;text-align:left;position:relative}.hero-dot:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--gold)}.hero-dot.active{color:white}.hero-dot.active:after{animation:slideProgress 5s linear forwards}.hero:hover .hero-dot.active:after{animation-play-state:paused}.hero-note>span{font-family:Italiana;font-size:30px;color:#dbc08f}.hero-note p span{font-family:inherit;font-size:inherit;color:inherit}@keyframes slideProgress{from{width:0}to{width:100%}}@media(max-width:900px){.hero-controls{left:7vw;bottom:22px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-dot.active:after{animation:none;width:100%}}
