@import"https://fonts.googleapis.com/css2?family=Allura&family=Lora:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-primary-text);background:#faf9f7;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.06) 0%,transparent 50%);background-size:800px 800px,1000px 1000px;background-position:0% 0%,100% 0%;background-attachment:fixed;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:.01em}#root{min-height:100vh;position:relative;z-index:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.3;color:var(--color-primary-text);letter-spacing:.02em}h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.15;font-weight:300}h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.2}h3{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.25}p{margin-bottom:var(--spacing-sm)}a{color:var(--color-primary-text);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-accent)}button{font-family:var(--font-body);cursor:pointer;border:none;transition:all .3s ease}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-2xl) 0}.section-title{text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-primary-text);font-weight:400;letter-spacing:.03em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:root{--color-ink: #0A0411;--color-deep-plum: #53455F;--color-cloud-lavender: #DCD6F8;--color-periwinkle: #C5C3F1;--color-mauve: #BD96DA;--color-blush-pink: #F7D0F2;--color-candy-pink: #F6BFEA;--color-soft-white-pink: #FCE3F5;--color-primary-text: var(--color-ink);--color-secondary-text: var(--color-deep-plum);--color-surface: var(--color-cloud-lavender);--color-surface-alt: var(--color-periwinkle);--color-accent: var(--color-mauve);--color-accent-alt: var(--color-blush-pink);--color-button: var(--color-candy-pink);--color-background: var(--color-soft-white-pink);--font-display: "Allura", cursive;--font-body: "Lora", Georgia, serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px}.header{position:sticky;top:0;z-index:1000;background:#fefefef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 4px #0a04110a;height:100px;border-bottom:1px solid rgba(10,4,17,.06);position:relative}.header__container{display:flex;justify-content:space-between;align-items:flex-end;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);padding-bottom:var(--spacing-sm);position:relative;height:100%;padding-left:0}.header__logo{display:flex;align-items:center;padding:var(--spacing-xs);transition:opacity .3s ease;margin-left:210px}.header__title{font-family:var(--font-display);color:var(--color-primary-text);line-height:1.1;letter-spacing:.02em;display:flex;flex-direction:row;align-items:baseline;gap:.5rem;margin:0;font-weight:300}.header__title-main{font-size:clamp(1.2rem,2.5vw,2.2rem);font-weight:300;line-height:1.2;margin-bottom:0}.header__title-sub{font-size:clamp(1.2rem,2.5vw,2.2rem);font-weight:300;line-height:1.2;letter-spacing:.02em;color:var(--color-primary-text)}.header__logo:hover{opacity:.8}.header__logo:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.header__logo-image{height:100px;width:auto;object-fit:contain;display:block;position:absolute;left:100px;bottom:0;z-index:10}.header__nav{display:flex;align-items:center;gap:var(--spacing-md)}.header__nav-links{display:flex;gap:var(--spacing-md);list-style:none}.header__nav-link{color:var(--color-primary-text);font-weight:400;padding:var(--spacing-xs) var(--spacing-sm);transition:color .3s ease;font-size:.95rem}.header__nav-link:hover{color:var(--color-accent)}.header__cta{background:#6b5ca5;color:#fff;padding:var(--spacing-xs) var(--spacing-lg);border-radius:25px;font-weight:500;font-size:.9rem;transition:all .3s ease}.header__cta:hover{background:#5a4a8f;transform:none;box-shadow:none}.header__menu-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--color-primary-text);cursor:pointer;padding:var(--spacing-xs)}.header__mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0a04111a;padding:var(--spacing-md);border-bottom:1px solid rgba(10,4,17,.08)}.header__mobile-menu.active{display:block}.header__mobile-menu .header__cta{width:100%;text-align:center;margin-bottom:var(--spacing-md)}.header__mobile-nav-links{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.header__mobile-nav-link{color:var(--color-primary-text);font-weight:400;padding:var(--spacing-sm);display:block;border-bottom:1px solid rgba(10,4,17,.08)}.hero{padding:0;text-align:center;position:relative;background:#faf9f7;display:flex;flex-direction:column}.hero__text-content{max-width:900px;margin:0 auto;padding:0 var(--spacing-md) var(--spacing-lg);position:relative;z-index:1;order:1}.hero__image-wrapper{order:2;width:100%;position:relative}.hero__headline{font-family:var(--font-display);color:var(--color-primary-text);margin-bottom:var(--spacing-lg);line-height:1.1;letter-spacing:.02em;display:flex;flex-direction:column;align-items:center}.hero__headline-main{font-size:clamp(2.5rem,6vw,5rem);font-weight:300;line-height:1;margin-bottom:-.1em}.hero__headline-sub{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:200;line-height:1;opacity:.85;letter-spacing:.15em}.hero__image{width:100%;max-width:100%;max-height:600px;height:auto;object-fit:cover;display:block;border-radius:0}.hero__subheading{font-size:clamp(1rem,2vw,1.3rem);color:var(--color-secondary-text);margin-bottom:var(--spacing-xl);max-width:700px;margin-left:auto;margin-right:auto;font-weight:300;letter-spacing:.01em;line-height:1.8}.hero__bespoke-text{position:absolute;left:calc(var(--spacing-xl) + 35px);top:20%;z-index:2;text-align:left;margin:0;padding-bottom:var(--spacing-lg);font-family:var(--font-display);font-size:clamp(3rem,7vw,6rem);font-weight:300;color:var(--color-primary-text);letter-spacing:.02em;line-height:1.1}.hero__subheading--overlay{position:absolute;left:calc(var(--spacing-xl) + 35px);top:60%;z-index:2;text-align:left;margin:0;padding-bottom:var(--spacing-lg);max-width:500px}.hero__ctas{position:absolute;left:calc(var(--spacing-xl) + 35px);top:75%;z-index:2;display:flex;flex-direction:row;gap:var(--spacing-md)}@media(max-width:768px){.hero__ctas{left:var(--spacing-md);gap:var(--spacing-sm)}.hero__ctas .btn{font-size:.85rem;padding:.7rem 1.2rem}}.btn{padding:var(--spacing-sm) var(--spacing-xl);border-radius:30px;font-weight:500;font-size:.95rem;transition:all .4s ease;display:inline-block;text-align:center;letter-spacing:.03em}.btn--primary{background:#6b5ca5;color:#fff}.btn--primary:hover{background:#5a4a8f;transform:none;box-shadow:none}.btn--secondary{background:transparent;color:var(--color-primary-text);border:1px solid var(--color-primary-text)}.btn--secondary:hover{background:#6b5ca5;color:#fff;border-color:#6b5ca5}.products{padding:var(--spacing-2xl) 0;background:#fff}.products__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.product-card{background:#fff;border-radius:4px;padding:var(--spacing-xl);border:1px solid rgba(10,4,17,.08);transition:border-color .3s ease;text-align:center}.product-card:hover{border-color:var(--color-accent);transform:none;box-shadow:none}.product-card__image{width:100%;height:220px;object-fit:cover;border-radius:6px;margin-bottom:var(--spacing-md);background:#f8f8f8;box-shadow:0 2px 8px #0a04110d}.product-card__title{font-family:var(--font-display);font-size:2.2rem;margin-bottom:var(--spacing-sm);color:var(--color-primary-text);font-weight:400;letter-spacing:.02em}.product-card__description{color:var(--color-secondary-text);margin-bottom:var(--spacing-lg);line-height:1.75;font-weight:300;font-size:1.05rem}.product-card__ctas{display:flex;flex-direction:column;gap:var(--spacing-sm)}.product-card__cta{padding:var(--spacing-xs) var(--spacing-md);border-radius:25px;font-size:.9rem}.highlights{padding:var(--spacing-2xl) 0;background:#fafafa}.highlights__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.highlight-item{text-align:center;padding:var(--spacing-md)}.highlight-item__icon{font-size:2.5rem;margin-bottom:var(--spacing-sm);opacity:.6}.highlight-item__text{color:var(--color-secondary-text);font-weight:500}.wedding-spotlight{padding:var(--spacing-2xl) 0;background:#fff}.wedding-spotlight__container{max-width:1000px;margin:0 auto;padding:0 var(--spacing-md)}.wedding-spotlight__content{text-align:center;margin-bottom:var(--spacing-xl)}.wedding-spotlight__image{width:100%;max-width:600px;height:auto;margin:var(--spacing-lg) auto;display:block;border-radius:8px}.wedding-spotlight__description{color:var(--color-secondary-text);font-size:1.15rem;line-height:1.9;max-width:750px;margin:0 auto var(--spacing-lg);font-weight:300;letter-spacing:.01em}.wedding-spotlight__process{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.process-step{background:#fff;padding:var(--spacing-lg);border-radius:4px;text-align:center;border:1px solid rgba(10,4,17,.08)}.process-step__number{display:inline-block;width:40px;height:40px;background:var(--color-primary-text);color:#fff;border-radius:50%;line-height:40px;font-weight:500;margin-bottom:var(--spacing-sm);font-size:.9rem}.process-step__text{color:var(--color-secondary-text);font-size:.95rem}.wedding-spotlight__ctas{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.cards-spotlight{padding:var(--spacing-2xl) 0;background:#fafafa;position:relative}.cards-spotlight__container{max-width:1000px;margin:0 auto;padding:0 var(--spacing-md)}.cards-spotlight__content{text-align:center;margin-bottom:var(--spacing-xl)}.cards-spotlight__image{width:100%;max-width:600px;height:auto;margin:var(--spacing-lg) auto;display:block;border-radius:8px}.cards-spotlight__description{color:var(--color-secondary-text);font-size:1.15rem;line-height:1.9;max-width:750px;margin:0 auto var(--spacing-lg);font-weight:300;letter-spacing:.01em}.cards-spotlight__ctas{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.about{padding:var(--spacing-2xl) 0;background:#fafafa}.about__container{max-width:800px;margin:0 auto;padding:0 var(--spacing-md);text-align:center}.about__text{color:var(--color-secondary-text);font-size:1.15rem;line-height:1.9;font-weight:300;letter-spacing:.01em;max-width:750px;margin:0 auto}.faq{padding:var(--spacing-2xl) 0;background:#fafafa}.faq__container{max-width:800px;margin:0 auto;padding:0 var(--spacing-md)}.faq__item{background:#fff;border-radius:8px;margin-bottom:var(--spacing-sm);overflow:hidden;border:1px solid rgba(10,4,17,.06);box-shadow:0 1px 3px #0a041108;transition:all .3s ease}.faq__item:hover{border-color:#bd96da33;box-shadow:0 2px 6px #0a04110f}.faq__question{width:100%;padding:var(--spacing-md) var(--spacing-lg);text-align:left;background:none;border:none;font-family:var(--font-body);font-size:1.1rem;font-weight:500;color:var(--color-primary-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;letter-spacing:.01em}.faq__question:hover{background:#fafafa}.faq__question:after{content:"+";font-size:1.5rem;color:var(--color-primary-text);transition:transform .3s ease;opacity:.6}.faq__item.active .faq__question:after{transform:rotate(45deg)}.faq__answer{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 var(--spacing-md)}.faq__item.active .faq__answer{max-height:500px;padding:0 var(--spacing-md) var(--spacing-md)}.faq__answer-text{color:var(--color-secondary-text);line-height:1.85;padding-top:var(--spacing-sm);font-weight:300;letter-spacing:.01em}.contact{padding:var(--spacing-2xl) 0;background:#fff}.contact__container{max-width:800px;margin:0 auto;padding:0 var(--spacing-md)}.contact__header{text-align:center;margin-bottom:var(--spacing-xl)}.contact__cta-button{display:block;width:100%;max-width:400px;margin:0 auto var(--spacing-xl);text-align:center}.contact__form{background:#faf9f7;padding:var(--spacing-xl) var(--spacing-lg);border-radius:8px;border:1px solid rgba(10,4,17,.06);box-shadow:0 2px 8px #0a04110a}.contact__form-group{margin-bottom:var(--spacing-md)}.contact__form-label{display:block;margin-bottom:var(--spacing-xs);color:var(--color-primary-text);font-weight:500}.contact__form-input,.contact__form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid rgba(10,4,17,.12);border-radius:6px;font-family:var(--font-body);font-size:1rem;transition:all .3s ease;background:#fff;letter-spacing:.01em}.contact__form-input:focus,.contact__form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #bd96da1a}.contact__form-textarea{min-height:150px;resize:vertical}.contact__form-submit{width:100%;padding:var(--spacing-sm) var(--spacing-lg);margin-top:var(--spacing-md)}.footer{background:#fff;padding:var(--spacing-xl) 0 var(--spacing-md);margin-top:var(--spacing-2xl);border-top:1px solid rgba(10,4,17,.08)}.footer__container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.footer__content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.footer__section-title{font-family:var(--font-display);font-size:1.5rem;margin-bottom:var(--spacing-sm);color:var(--color-primary-text)}.footer__logo{height:60px;width:auto;object-fit:contain;margin-bottom:var(--spacing-sm)}.footer__links{list-style:none}.footer__link{color:var(--color-primary-text);margin-bottom:var(--spacing-xs);display:block;transition:color .3s ease;font-weight:400}.footer__link:hover{color:var(--color-accent)}.footer__social{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.footer__social-link{width:40px;height:40px;background:transparent;border:1px solid rgba(10,4,17,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary-text);transition:all .3s ease}.footer__social-link:hover{background:var(--color-primary-text);color:#fff;border-color:var(--color-primary-text);transform:none}.footer__copyright{text-align:center;padding-top:var(--spacing-md);border-top:1px solid rgba(10,4,17,.08);color:var(--color-secondary-text);font-size:.9rem}@media(max-width:768px){.header__nav-links{display:none}.header__menu-toggle{display:block}.header__cta{display:none}.hero__ctas{flex-direction:column;align-items:stretch}.btn{width:100%}.products__grid,.wedding-spotlight__process{grid-template-columns:1fr}.wedding-spotlight__ctas{flex-direction:column}.contact__form-submit{width:100%}.footer__content{grid-template-columns:1fr;text-align:center}}.section:not(.hero):not(.animate-in){opacity:0;transform:translateY(30px)}.section{transition:opacity .6s ease-out,transform .6s ease-out}.section.animate-in{opacity:1;transform:translateY(0)}@media(max-width:480px){.section{padding:var(--spacing-xl) 0}.hero{padding:var(--spacing-xl) var(--spacing-md)}.product-card{padding:var(--spacing-md)}}
