:root{--color-cream: #f5f0e8;--color-cream-light: #faf7f2;--color-gold: #c8a45e;--color-gold-light: #d4b978;--color-gold-dark: #a8863e;--color-text: #3d3528;--color-text-light: #6b5f4f;--color-white: #ffffff;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--section-padding: clamp(4rem, 10vw, 8rem);--container-width: 1200px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-cream);color:var(--color-text);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:1.2}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}ul{list-style:none}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 1.5rem}::selection{background-color:var(--color-gold);color:var(--color-white)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-cream)}::-webkit-scrollbar-thumb{background:var(--color-gold-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-gold)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.25rem 0;transition:background-color .4s ease,padding .4s ease,box-shadow .4s ease}.navbar--menu-open{z-index:1200}.navbar--scrolled{background-color:#f5f0e8f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 0;box-shadow:0 2px 20px #3d352814}.navbar__inner{display:flex;align-items:center;justify-content:space-between}.navbar__logo{display:flex;flex-direction:column;cursor:pointer}.navbar__logo-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;color:var(--color-gold-dark);line-height:1.1;letter-spacing:.02em}.navbar__logo-title{font-family:var(--font-sans);font-size:.7rem;font-weight:400;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.25em}.navbar__links{display:flex;gap:2.5rem}.navbar__links a{font-family:var(--font-sans);font-size:.85rem;font-weight:400;color:var(--color-text);letter-spacing:.08em;text-transform:uppercase;position:relative;padding:.25rem 0;transition:color .3s ease}.navbar__links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-gold);transition:width .3s ease}.navbar__links a:hover{color:var(--color-gold-dark)}.navbar__links a:hover:after{width:100%}.navbar__burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;position:relative;z-index:1200}.navbar__burger span{display:block;width:24px;height:2px;background-color:var(--color-gold-dark);transition:transform .3s ease,opacity .3s ease}.navbar__burger--open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar__burger--open span:nth-child(2){opacity:0}.navbar__burger--open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar__mobile{position:fixed;inset:0;background-color:#f5f0e8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;z-index:1100}.navbar__mobile a{font-family:var(--font-serif);font-size:2rem;color:var(--color-text);transition:color .3s ease}.navbar__mobile a:hover{color:var(--color-gold)}@media(max-width:768px){.navbar__links{display:none}.navbar__burger{display:flex}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(160deg,var(--color-cream-light) 0%,var(--color-cream) 50%,#efe8d8 100%)}.hero__arches{position:absolute;pointer-events:none}.hero__arches--left{bottom:-5%;left:-5%;transform:rotate(-10deg)}.hero__arches--right{top:-5%;right:-8%;transform:rotate(170deg)}.hero__content{text-align:center;position:relative;z-index:1;padding:2rem 1.5rem}.hero__preheading{font-family:var(--font-sans);font-size:.8rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1.5rem}.hero__title{font-family:var(--font-serif);font-size:clamp(2.8rem,7vw,5.5rem);font-weight:300;color:var(--color-text);letter-spacing:.02em;line-height:1.1}.hero__divider{width:80px;height:1px;background-color:var(--color-gold);margin:1.5rem auto;transform-origin:center}.hero__subtitle{font-family:var(--font-serif);font-size:clamp(1.2rem,3vw,1.8rem);font-weight:300;font-style:italic;color:var(--color-gold-dark);letter-spacing:.1em}.hero__tagline{font-family:var(--font-sans);font-size:clamp(.75rem,1.5vw,.9rem);font-weight:300;letter-spacing:.15em;color:var(--color-text-light);margin-top:1.5rem}.hero__cta{display:inline-block;margin-top:2.5rem;padding:.9rem 2.8rem;font-family:var(--font-sans);font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-white);background-color:var(--color-gold);border:none;border-radius:0;cursor:pointer;transition:background-color .3s ease}.hero__cta:hover{background-color:var(--color-gold-dark)}.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:1.5rem;color:var(--color-gold);opacity:.6}@media(max-width:768px){.hero__arches--left{bottom:-10%;left:-20%}.hero__arches--right{top:-10%;right:-20%}.hero__cta{padding:.8rem 2.2rem}}.about{position:relative;padding:var(--section-padding) 0;background-color:var(--color-white);overflow:hidden}.about__arch-bg{position:absolute;top:50%;right:-10%;transform:translateY(-50%) rotate(90deg);pointer-events:none;opacity:.5}.about__inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}.about__image{position:relative}.about__image-placeholder{aspect-ratio:3 / 4;background:linear-gradient(135deg,var(--color-cream) 0%,#e8e0d0 100%);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.2rem;color:var(--color-gold);font-style:italic}.about__image-placeholder img{width:100%;height:100%;object-fit:cover}.about__image-border{position:absolute;inset:1rem -1rem -1rem 1rem;border:1px solid var(--color-gold-light);z-index:-1}.about__label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.75rem}.about__heading{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--color-text)}.about__divider{width:60px;height:1px;background-color:var(--color-gold);margin:1.5rem 0}.about__description{font-size:.95rem;font-weight:300;line-height:1.8;color:var(--color-text-light);margin-bottom:1rem}.about__cta{display:inline-block;margin-top:1.5rem;padding:.8rem 2.4rem;font-family:var(--font-sans);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold-dark);border:1px solid var(--color-gold);background:transparent;cursor:pointer;transition:background-color .3s ease,color .3s ease}.about__cta:hover{background-color:var(--color-gold);color:var(--color-white)}.about__philosophy{margin-top:4rem;position:relative;z-index:1}.about__philosophy-inner{max-width:750px;margin:0 auto;text-align:center;padding:3rem 2rem;border-top:1px solid var(--color-gold-light);border-bottom:1px solid var(--color-gold-light)}.about__philosophy-text{font-family:var(--font-serif);font-size:clamp(1.05rem,2vw,1.2rem);font-weight:400;font-style:italic;line-height:1.9;color:var(--color-text-light);margin-bottom:1rem}.about__philosophy-text:last-child{margin-bottom:0}@media(max-width:768px){.about__inner{grid-template-columns:1fr;gap:2.5rem}.about__image{max-width:400px;margin:0 auto}.about__text{text-align:center}.about__divider{margin:1.5rem auto}.about__philosophy-inner{padding:2rem 1rem}}.services{padding:var(--section-padding) 0;background-color:var(--color-cream)}.services__header{text-align:center;margin-bottom:4rem}.services__label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.75rem}.services__heading{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--color-text)}.services__divider{width:60px;height:1px;background-color:var(--color-gold);margin:1.25rem auto 0}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.services__card{display:flex;flex-direction:column;align-items:center;background-color:var(--color-white);padding:3rem 2rem 2.5rem;text-align:center;border:1px solid transparent;cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease}.services__card:hover{border-color:var(--color-gold-light);box-shadow:0 10px 40px #c8a45e1a}.services__card-icon{display:block;font-size:2rem;color:var(--color-gold);margin-bottom:1.5rem}.services__card-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:500;color:var(--color-text);margin-bottom:1rem}.services__card-line{width:40px;height:1px;background-color:var(--color-gold-light);margin:0 auto 1.25rem}.services__card-desc{font-size:.9rem;font-weight:300;line-height:1.8;color:var(--color-text-light);flex:1}.services__card-link{display:inline-block;margin-top:1.5rem;font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold);border-bottom:1px solid var(--color-gold-light);padding-bottom:2px;transition:color .3s ease,border-color .3s ease}.services__card:hover .services__card-link{color:var(--color-gold-dark);border-color:var(--color-gold-dark)}@media(max-width:900px){.services__grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}}.wedding-detail{position:relative;padding:var(--section-padding) 0;background-color:var(--color-white);overflow:hidden}.wedding-detail__arch-bg{position:absolute;top:10%;left:-12%;transform:rotate(-15deg);pointer-events:none;opacity:.3}.wedding-detail__header{text-align:center;max-width:700px;margin:0 auto 3.5rem}.wedding-detail__label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.75rem}.wedding-detail__heading{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--color-text)}.wedding-detail__divider{width:60px;height:1px;background-color:var(--color-gold);margin:1.25rem auto}.wedding-detail__intro{font-size:.95rem;font-weight:300;line-height:1.8;color:var(--color-text-light);margin-bottom:.75rem}.wedding-detail__intro--accent{font-family:var(--font-serif);font-size:1.15rem;font-style:italic;color:var(--color-gold-dark);margin-top:1rem}.wedding-detail__photo-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:4rem}.wedding-detail__photo-placeholder{width:100%;aspect-ratio:3 / 2;background:linear-gradient(135deg,var(--color-cream) 0%,#e8e0d0 100%);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1rem;font-style:italic;color:var(--color-gold)}.wedding-detail__photo-placeholder img{width:100%;height:100%;object-fit:cover}.wedding-detail__steps{max-width:750px;margin:0 auto 4rem}.wedding-detail__step{display:flex;gap:2rem;padding:2rem 0;border-bottom:1px solid rgba(200,164,94,.2)}.wedding-detail__step:first-child{border-top:1px solid rgba(200,164,94,.2)}.wedding-detail__step-number{font-family:var(--font-serif);font-size:2.5rem;font-weight:300;color:var(--color-gold-light);line-height:1;min-width:3.5rem;padding-top:.15rem}.wedding-detail__step-content{flex:1}.wedding-detail__step-title{font-family:var(--font-serif);font-size:1.4rem;font-weight:500;color:var(--color-text);margin-bottom:.75rem}.wedding-detail__step-text{font-size:.9rem;font-weight:300;line-height:1.8;color:var(--color-text-light)}.wedding-detail__pricing{text-align:center;max-width:600px;margin:0 auto}.wedding-detail__pricing-philosophy{font-family:var(--font-serif);font-size:1.05rem;font-style:italic;line-height:1.8;color:var(--color-text-light);margin-bottom:2rem}.wedding-detail__pricing-box{margin-bottom:2rem}.wedding-detail__pricing-label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.25rem}.wedding-detail__pricing-amount{font-family:var(--font-serif);font-size:3rem;font-weight:400;color:var(--color-text)}.wedding-detail__cta{display:inline-block;padding:.9rem 2.8rem;font-family:var(--font-sans);font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-white);background-color:var(--color-gold);border:none;cursor:pointer;transition:background-color .3s ease}.wedding-detail__cta:hover{background-color:var(--color-gold-dark)}@media(max-width:768px){.wedding-detail__photo-row{grid-template-columns:1fr}.wedding-detail__step{flex-direction:column;gap:.75rem}.wedding-detail__step-number{font-size:2rem}}.gallery{padding:var(--section-padding) 0;background-color:var(--color-white)}.gallery__header{text-align:center;margin-bottom:3.5rem}.gallery__label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.75rem}.gallery__heading{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--color-text)}.gallery__divider{width:60px;height:1px;background-color:var(--color-gold);margin:1.25rem auto 0}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:1rem}.gallery__item{overflow:hidden;cursor:pointer}.gallery__item--tall{grid-row:span 2}.gallery__item--wide{grid-column:span 2}.gallery__placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-cream) 0%,#e8e0d0 100%);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1rem;font-style:italic;color:var(--color-gold);transition:background .3s ease}.gallery__placeholder img{width:100%;height:100%;object-fit:cover}.gallery__item:hover .gallery__placeholder{background:linear-gradient(135deg,#e8e0d0,#ddd5c5)}@media(max-width:768px){.gallery__grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery__item--wide{grid-column:span 2}.gallery__item--tall{grid-row:span 1}}@media(max-width:480px){.gallery__grid{grid-template-columns:1fr;grid-auto-rows:250px}.gallery__item--wide{grid-column:span 1}}.contact{position:relative;padding:var(--section-padding) 0;background-color:var(--color-cream);overflow:hidden}.contact__arch-bg{position:absolute;bottom:-10%;left:-10%;transform:rotate(20deg);pointer-events:none;opacity:.4}.contact__header{text-align:center;margin-bottom:3rem;position:relative;z-index:1}.contact__label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.75rem}.contact__heading{font-family:var(--font-serif);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400;color:var(--color-text)}.contact__divider{width:60px;height:1px;background-color:var(--color-gold);margin:1.25rem auto}.contact__intro{max-width:550px;margin:0 auto;font-size:.95rem;font-weight:300;line-height:1.7;color:var(--color-text-light)}.contact__form{max-width:650px;margin:0 auto;position:relative;z-index:1}.contact__form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact__field{display:flex;flex-direction:column;margin-bottom:1.5rem}.contact__field label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:.5rem}.contact__field input,.contact__field select,.contact__field textarea{font-family:var(--font-sans);font-size:.9rem;font-weight:300;padding:.85rem 1rem;border:1px solid #d9d2c5;background-color:var(--color-white);color:var(--color-text);outline:none;transition:border-color .3s ease;border-radius:0;appearance:none;-webkit-appearance:none}.contact__field input:focus,.contact__field select:focus,.contact__field textarea:focus{border-color:var(--color-gold)}.contact__field input::placeholder,.contact__field textarea::placeholder{color:#b8b0a2}.contact__field textarea{resize:vertical;min-height:120px}.contact__field select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a8863e' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.contact__submit{display:block;width:100%;padding:1rem;font-family:var(--font-sans);font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-white);background-color:var(--color-gold);border:none;cursor:pointer;transition:background-color .3s ease}.contact__submit:hover{background-color:var(--color-gold-dark)}@media(max-width:600px){.contact__form-row{grid-template-columns:1fr}}.footer{background-color:var(--color-text);color:var(--color-cream);padding:4rem 0 0}.footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(245,240,232,.15)}.footer__name{font-family:var(--font-serif);font-size:1.6rem;font-weight:400;color:var(--color-gold-light)}.footer__title{font-family:var(--font-sans);font-size:.7rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:#f5f0e880;margin-top:.25rem}.footer__links-heading{font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold-light);margin-bottom:1rem}.footer__links nav{display:flex;flex-direction:column;gap:.6rem}.footer__links a{font-size:.85rem;font-weight:300;color:#f5f0e8b3;transition:color .3s ease}.footer__links a:hover{color:var(--color-gold-light)}.footer__services p:not(.footer__links-heading){font-size:.85rem;font-weight:300;color:#f5f0e8b3;margin-bottom:.5rem}.footer__bottom{padding:1.5rem 0;text-align:center}.footer__bottom p{font-size:.75rem;font-weight:300;color:#f5f0e866;letter-spacing:.05em}@media(max-width:768px){.footer__inner{grid-template-columns:1fr;text-align:center;gap:2rem}.footer__links nav{align-items:center}}
