*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbf7f5;color:#2d2222;font-family:"DM Sans",sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 10%,rgba(190,94,112,.07),transparent 28%),radial-gradient(circle at 85% 55%,rgba(213,166,105,.07),transparent 30%);z-index:-2}.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(184,78,101,.08),transparent 65%);transform:translate(-50%,-50%);z-index:0}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;padding:16px 5%;background:rgba(251,247,245,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(76,45,45,.08)}.brand,.footer-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#2d2222}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#6c2736;color:#fff;font-family:"Playfair Display",serif;font-weight:700}.brand strong,.footer-brand strong{display:block;font-family:"Playfair Display",serif;font-size:17px}.brand small,.footer-brand small{display:block;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#8e6b6b}.nav{display:flex;gap:20px;margin-left:auto}.nav a,.footer-links a{font-size:13px;color:#594747;text-decoration:none;transition:.25s}.nav a:hover,.footer-links a:hover{color:#a9435c}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:13px 21px;font:600 13px "DM Sans";text-decoration:none;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(79,37,45,.15)}.btn-primary{background:#a8445b;color:#fff}.btn-dark{background:#2d2222;color:#fff}.btn-ghost{border:1px solid #d8c6c4;color:#4a3838;background:#fff}.btn-light{background:#fff;color:#6c2736}.menu-toggle{display:none;background:none;border:0;font-size:24px}.section{padding:92px 6%;position:relative;z-index:1}.hero{min-height:calc(100vh - 73px);display:grid;grid-template-columns:1fr 1.05fr;gap:6%;align-items:center;padding-top:65px;background:linear-gradient(110deg,#f7e8e7,#fbf7f5 55%,#f5e5e1)}.eyebrow,.mini-label{font-size:11px;letter-spacing:2px;font-weight:700;color:#a8445b}.eyebrow span{display:inline-block;width:28px;height:1px;background:#c9a26d;vertical-align:middle;margin-right:9px}.hero h1,.section-heading h2,.bridal-copy h2,.contact-card h2{font-family:"Playfair Display",serif;font-size:clamp(43px,5vw,76px);line-height:1.02;margin:17px 0;color:#342526}.hero h1 em,.section-heading h2 em,.bridal-copy h2 em,.contact-card h2 em{font-style:italic;color:#a8445b}.hero-text{max-width:570px;color:#725f60;font-size:16px}.hero-actions{display:flex;gap:12px;margin:28px 0}.trust-row{display:flex;gap:18px;flex-wrap:wrap;color:#766364;font-size:11px}.hero-booking{background:rgba(255,255,255,.82);border:1px solid rgba(113,61,69,.12);box-shadow:0 25px 60px rgba(83,43,50,.12);border-radius:28px;padding:30px;backdrop-filter:blur(10px)}.booking-head h2{font-family:"Playfair Display",serif;font-size:31px;margin:5px 0}.booking-head p{margin:0 0 20px;color:#806d6e;font-size:13px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}label{font-size:11px;font-weight:700;color:#594848}input,select{width:100%;margin-top:6px;border:1px solid #e2d5d2;background:#fff;border-radius:12px;padding:12px;font:400 13px "DM Sans";outline:none;color:#433333;transition:.2s}input:focus,select:focus{border-color:#b45a6e;box-shadow:0 0 0 3px rgba(180,90,110,.1)}.full-field{display:block;margin:13px 0}.submit-btn{width:100%}.form-note{text-align:center;color:#9a8586;font-size:10px;margin:10px 0 0}.section-heading{max-width:700px}.section-heading.center{text-align:center;margin:0 auto 42px}.section-heading h2{font-size:48px;margin:12px 0}.section-heading p{color:#806e6e}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.lead{font-family:"Playfair Display",serif;font-size:25px;line-height:1.35;color:#4a3738}.about-text p:not(.lead){color:#766465;max-width:620px}.feature-cards{display:grid;gap:10px}.feature{display:flex;gap:18px;align-items:center;background:#fbf7f5;border:1px solid #eadfdd;border-radius:17px;padding:18px;transition:.3s}.feature:hover{transform:translateX(7px);box-shadow:0 12px 30px rgba(70,35,40,.08)}.feature>span{font-family:"Playfair Display";color:#b08467}.feature h3{margin:0;font-family:"Playfair Display";font-size:18px}.feature p{margin:3px 0 0;color:#806e6e;font-size:12px}.services{background:#fbf7f5}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{background:#fff;border:1px solid #e8dedd;border-radius:20px;padding:25px;transition:.3s;position:relative;overflow:hidden}.service-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-45px;bottom:-45px;background:#f7e1df;transition:.3s}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 35px rgba(75,37,43,.1);border-color:#d8b0b4}.service-card:hover:after{transform:scale(1.6)}.service-card.featured{background:#6c2736;color:#fff}.service-card.featured p{color:#ead8d9}.icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:#f8e9e6;color:#a8445b;font-size:21px;margin-bottom:20px}.featured .icon{background:#8b4051;color:#fff}.service-card h3{font-family:"Playfair Display";font-size:21px;margin:0 0 7px}.service-card p{color:#7d6a6b;font-size:13px;min-height:43px}.service-card button{border:0;background:none;padding:0;color:inherit;font:700 12px "DM Sans";cursor:pointer}.packages{background:#fff}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1100px;margin:auto}.package{position:relative;border:1px solid #e6d8d5;border-radius:23px;padding:28px;background:#fff;transition:.3s}.package:hover{transform:translateY(-7px);box-shadow:0 20px 40px rgba(70,35,40,.1)}.package.popular{border-color:#b77984;background:#fff9f8}.ribbon{position:absolute;right:20px;top:20px;background:#a8445b;color:#fff;border-radius:999px;padding:5px 9px;font-size:8px;letter-spacing:1px}.package-top{display:flex;justify-content:space-between;align-items:center;color:#a8445b;font-size:10px;letter-spacing:1.4px;font-weight:700}.package-top strong{font:600 25px "Playfair Display";letter-spacing:0;color:#342526}.package h3{font:600 24px "Playfair Display";margin:18px 0 5px}.package p{color:#806e6e;font-size:13px}.package ul{padding:0;list-style:none;color:#655354;font-size:12px;line-height:2.1}.package li:before{content:"✓";color:#a8445b;margin-right:8px}.text-link{color:#a8445b;text-decoration:none;font-weight:700;font-size:12px}.bridal{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#f3e2df}.bridal-copy h2{font-size:50px}.bridal-copy p{max-width:520px;color:#735f60}.bridal-list{display:grid;gap:10px}.bridal-item{display:flex;gap:18px;background:rgba(255,255,255,.6);border:1px solid rgba(116,65,72,.1);padding:18px;border-radius:17px;transition:.25s}.bridal-item:hover{transform:translateX(6px);background:#fff}.bridal-item>span{color:#b08467;font-family:"Playfair Display"}.bridal-item h3{margin:0;font-family:"Playfair Display";font-size:19px}.bridal-item p{margin:3px 0 0;color:#806e6e;font-size:12px}.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:230px 230px;gap:12px}.gallery-tile{border-radius:20px;position:relative;overflow:hidden;background:linear-gradient(135deg,#d99ca7,#f4ddd7);display:flex;align-items:flex-end;padding:20px;transition:.4s}.gallery-tile:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.65),transparent 28%),linear-gradient(145deg,transparent,rgba(75,30,38,.25));transition:.4s}.gallery-tile:hover{transform:scale(.985)}.gallery-tile:hover:before{transform:scale(1.08)}.gallery-tile span{position:relative;color:#fff;font:600 17px "Playfair Display";text-shadow:0 2px 10px rgba(0,0,0,.2)}.tile-a{grid-row:span 2;background:linear-gradient(145deg,#bc7080,#6d2d3d)}.tile-b{background:linear-gradient(145deg,#f2c9bd,#b77482)}.tile-c{background:linear-gradient(145deg,#d2a181,#7b4d46)}.tile-d{background:linear-gradient(145deg,#9e5c6c,#e5b8b8)}.tile-e{background:linear-gradient(145deg,#e6c8b6,#a86c72)}.gallery-note{text-align:center;color:#9b8788;font-size:11px;margin:17px}.reviews{background:#fbf7f5}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.review{background:#fff;border:1px solid #e8ddda;border-radius:20px;padding:25px;transition:.3s}.review:hover{transform:translateY(-5px)}.stars{color:#b08467;letter-spacing:3px}.review p{font-family:"Playfair Display";font-size:18px;line-height:1.45}.review strong{font-size:11px;color:#806e6e}.contact{background:#6c2736;display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.contact-card{color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:35px;background:rgba(255,255,255,.05)}.contact-card h2{color:#fff;font-size:47px}.contact-card h2 em{color:#f2c3c8}.contact-card p{color:#ead7d8;max-width:520px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.contact-details a,.contact-details div{color:#fff;text-decoration:none}.contact-details small{display:block;color:#d9a8ae;font-size:9px;letter-spacing:1.5px}.contact-details strong{font-size:13px}.map-card{min-height:100%;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,#d9b4a5,#e9d5cd);display:grid;place-items:center}.map-placeholder{text-align:center;padding:35px}.map-placeholder span{font-size:34px;display:block}.map-placeholder strong{display:block;font-family:"Playfair Display";font-size:24px}.map-placeholder small{display:block;color:#765b5b;margin:4px 0 20px}.footer{background:#2d2222;color:#dfcdcc;padding:45px 6%;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.footer-brand{color:#fff}.footer p{font-family:"Playfair Display";font-size:14px;margin:auto}.footer-links{display:flex;gap:17px}.footer-links a{color:#c9b4b3}.footer>small{width:100%;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);color:#998584}.mobile-bar{display:none}.to-top{position:fixed;right:20px;bottom:20px;width:42px;height:42px;border-radius:50%;border:1px solid #dbc7c4;background:#fff;color:#6c2736;box-shadow:0 10px 25px rgba(0,0,0,.1);z-index:40;cursor:pointer;opacity:0;pointer-events:none;transition:.3s}.to-top.show{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1000px){.nav{display:none}.nav-book{margin-left:auto}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:50px}.hero-booking{max-width:760px}.service-grid,.package-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.bridal,.contact{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}.tile-a{grid-row:auto;grid-column:span 2}.review-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){body{padding-bottom:60px}.site-header{padding:12px 5%}.nav-book{display:none}.nav.mobile-open{display:flex;position:absolute;left:0;right:0;top:64px;background:#fff;padding:18px 6%;flex-direction:column;box-shadow:0 15px 30px rgba(0,0,0,.08)}.hero{padding:55px 5% 60px}.section{padding:70px 5%}.hero h1{font-size:48px}.hero-actions{flex-direction:column;align-items:stretch}.trust-row{gap:8px;display:grid}.field-grid{grid-template-columns:1fr}.hero-booking{padding:22px;border-radius:21px}.section-heading h2,.bridal-copy h2,.contact-card h2{font-size:39px}.service-grid,.package-grid,.review-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-template-rows:180px 180px 180px 180px 180px}.tile-a{grid-column:auto}.contact-details{grid-template-columns:1fr}.footer{padding-bottom:30px}.footer p{width:100%;margin:0}.footer-links{flex-wrap:wrap}.mobile-bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;height:60px;background:#fff;z-index:60;box-shadow:0 -8px 25px rgba(40,20,20,.12)}.mobile-bar a{display:grid;place-items:center;text-decoration:none;color:#4c3839;font-size:11px;font-weight:700;border-right:1px solid #eee}.mobile-bar a:last-child{background:#a8445b;color:#fff;border:0}.cursor-glow{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.service-card,.feature,.package,.review,.bridal-item{transition:none}}
