:root{--forest:#455b49;--sage:#71856d;--cream:#faf8f2;--pink:#e8d4d0;--gold:#b99b6c;--ink:#344139}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100% - 1380px)/2));background:#fffefa;position:relative;z-index:10;border-bottom:1px solid #e8e8dd}.brand{font-family:'Playfair Display',serif;font-size:25px;letter-spacing:-.8px;color:var(--forest);white-space:nowrap}.brand em{font-size:16px;font-style:normal;letter-spacing:2px;text-transform:uppercase;margin-left:5px}.brand-flower{font-size:30px;color:var(--gold);margin-right:8px}.header nav{display:flex;align-items:center;gap:37px;font-size:13px;font-weight:600}.header nav>a:hover{color:#a7865a}.nav-cta{background:var(--forest);color:#fff!important;padding:15px 22px}.menu-toggle{display:none;background:transparent;border:0;color:var(--forest)}.hero{min-height:690px;display:grid;grid-template-columns:52% 48%;background:linear-gradient(115deg,#f6f2e9,#fbf8f2 57%,#f2ece4);position:relative;overflow:hidden}.hero-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:#f3e1d9;filter:blur(90px);opacity:.5;left:-300px;top:220px}.hero-content{padding:145px 5% 110px max(9%,calc((100vw - 1230px)/2));z-index:1}.eyebrow,.section-kicker{font-size:11px;letter-spacing:2.5px;font-weight:700;color:#8e9275}.hero h1,.intro h2,.section-head h2,.contact h2{font-family:'Playfair Display',serif;font-weight:400;line-height:1.14;letter-spacing:-2px}.hero h1{font-size:clamp(45px,5vw,77px);margin:30px 0}.hero h1 i,.intro h2 i,.section-head h2 i,.contact h2 i,.quote i{color:#9a8067;font-weight:400}.hero-content>p{max-width:450px;font-size:16px;line-height:1.9;color:#6b726a}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:38px}.btn{display:inline-flex;gap:42px;align-items:center;padding:19px 23px;font-size:13px;font-weight:700}.btn.primary{background:var(--forest);color:white}.btn:hover,.nav-cta:hover{background:#334638}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #b5b0a4;padding-bottom:5px}.hero-art{display:flex;align-items:center;justify-content:center;position:relative;padding:55px 9% 80px 0}.art-frame{width:min(100%,610px);aspect-ratio:1/.9;border-radius:48% 48% 6px 6px;background:#e8e4d7;overflow:hidden;box-shadow:18px 18px 0 #dcd8c9}.art-frame img{width:100%;height:100%;object-fit:cover;object-position:center}.art-note{position:absolute;bottom:53px;right:14%;font-family:'Playfair Display',serif;font-style:italic;font-size:17px;color:#7a786e}.intro{text-align:center;padding:112px 20px 100px;max-width:790px;margin:auto}.intro h2{font-size:clamp(37px,4vw,57px);margin:23px 0}.intro p{font-size:15px;line-height:2;color:#73766d;max-width:610px;margin:auto}.mini-flower{color:var(--gold);font-size:32px;margin-top:35px}.services{padding:90px max(6%,calc((100% - 1240px)/2)) 110px;background:#edf0e8}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head h2{font-size:clamp(35px,4vw,55px);margin:20px 0 0}.section-head>p{max-width:325px;font-size:13px;line-height:1.8;color:#73786f}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{min-height:370px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;background:#faf8f2;border:1px solid #e5e2d7}.service-card.wedding{background:#f3e6e1}.service-card.social{background:#e2e9df}.service-card.special{background:#f1ebdf}.service-art{font-size:85px;color:#a38d76;flex:1;display:flex;align-items:center;align-self:center;text-shadow:3px 4px #ffffffa0}.service-num{font-size:10px;letter-spacing:2px;color:#8a8c80;font-weight:700}.service-card h3{font-family:'Playfair Display',serif;font-size:30px;font-weight:400;margin:15px 0 5px}.service-card p{font-size:13px;line-height:1.7;color:#70746c;max-width:300px}.quote{text-align:center;padding:120px 20px;background:#fffdfa}.quote blockquote{font-family:'Playfair Display',serif;font-size:clamp(30px,4vw,52px);line-height:1.4;max-width:900px;margin:30px auto;font-weight:400}.quote>p{color:#929084;font-size:13px}.contact{background:#e9ddd3;text-align:center;padding:105px 20px 115px;position:relative;overflow:hidden}.contact-decor{font-size:65px;color:#c5a99c;margin-bottom:15px}.contact h2{font-size:clamp(42px,5vw,65px);margin:23px 0}.contact>p{max-width:520px;margin:0 auto 30px;line-height:1.9;color:#6b7068;font-size:14px}.contact-pill{display:inline-flex;gap:22px;align-items:center;background:var(--forest);color:#fff;padding:18px 25px;font-size:13px}footer{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:35px 6%;background:#384d3d;color:#fff}.footer-brand{font-family:'Playfair Display',serif;font-size:23px}.footer-brand em{font-size:13px;font-style:normal;letter-spacing:2px;text-transform:uppercase}.footer-right{display:flex;flex-direction:column;gap:7px;text-align:right;color:#cbd3c9;font-size:11px}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-content{padding:80px 8% 35px}.hero-art{padding:10px 10% 80px}.art-frame{max-width:530px}.section-head{display:block}.service-grid{grid-template-columns:1fr 1fr}.header nav{gap:17px}}@media(max-width:640px){.header{height:72px;padding:0 5%}.brand{font-size:20px}.brand em{font-size:11px}.brand-flower{font-size:23px}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fffefa;padding:24px 5%;box-shadow:0 12px 20px #0001;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.hero-content{padding:70px 7% 25px}.hero h1{font-size:46px}.hero-actions{flex-wrap:wrap}.hero-art{padding:10px 10% 75px}.art-note{bottom:32px;font-size:14px}.intro{padding:80px 7%}.services{padding:75px 7%}.service-grid{grid-template-columns:1fr}.service-card{min-height:290px}.service-art{font-size:55px}.quote{padding:85px 7%}.contact{padding:75px 7%}footer{flex-direction:column;align-items:flex-start}.footer-right{text-align:left}}

/* Wildflower Events: centered floral identity and expanded service offering */
.header{position:relative;min-height:105px;display:flex;align-items:center;justify-content:flex-end;padding-top:12px;padding-bottom:12px}
.header .centered-logo{position:absolute;left:50%;transform:translateX(-50%);display:block;width:170px;max-width:33vw;line-height:0}
.header .centered-logo img{display:block;width:100%;height:auto;max-height:88px;object-fit:contain}
.header nav{margin-left:auto}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:800px){.header{min-height:95px;justify-content:space-between}.header .centered-logo{position:static;transform:none;width:140px;max-width:45vw}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.service-grid{grid-template-columns:1fr}.header .centered-logo{width:120px}.header{min-height:85px}}

/* Original event photography gallery */
.gallery{background:#fbf8f2;padding:95px max(6%,calc((100% - 1240px)/2)) 110px}.gallery-intro{text-align:center;max-width:650px;margin:0 auto 45px}.gallery-intro h2{font-family:'Playfair Display',serif;font-size:clamp(34px,4vw,53px);font-weight:400;color:var(--forest);margin:20px 0}.gallery-intro h2 i{color:#9a8067}.gallery-intro p{color:#73766d;line-height:1.8}.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.gallery-item{grid-column:span 2;margin:0;background:#eee8df;overflow:hidden}.gallery-item.gallery-wide{grid-column:span 3}.gallery-item img{display:block;width:100%;height:330px;object-fit:cover}.gallery-item:first-child img{object-position:center 45%}.gallery-item figcaption{font-family:'Playfair Display',serif;color:#435747;font-size:20px;padding:16px 18px 20px}.hero-art .art-frame img{object-fit:cover;object-position:center}.header nav{gap:23px}@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item,.gallery-item.gallery-wide{grid-column:span 1}.gallery-item img{height:280px}}@media(max-width:560px){.gallery{padding:75px 7%}.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item.gallery-wide{grid-column:span 1}.gallery-item img{height:290px}}

/* Enlarged centered floral logo — desktop and mobile */
.header{height:auto;min-height:190px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px 5% 18px}
.header .centered-logo{position:static;left:auto;transform:none;width:255px;max-width:70vw;margin:0 auto}
.header .centered-logo img{width:100%;height:auto;max-height:none;object-fit:contain}
.header nav{margin:0 auto;justify-content:center;flex-wrap:wrap;gap:26px}
@media(max-width:800px){.header{min-height:155px;padding:12px 5% 14px;gap:8px}.header .centered-logo{position:static;transform:none;width:210px;max-width:65vw}.header nav{margin:0 auto;gap:15px}}
@media(max-width:640px){.header{min-height:125px;display:flex;flex-direction:row;justify-content:center;align-items:center;padding:10px 5%}.header .centered-logo{width:180px;max-width:60vw;margin:0 auto}.menu-toggle{display:block;position:absolute;right:5%;top:50%;transform:translateY(-50%)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fffefa;padding:24px 5%;box-shadow:0 12px 20px #0001;flex-direction:column;align-items:stretch;gap:17px}.header nav.open{display:flex}}

/* Final header correction: one clear desktop and mobile sizing policy */
.header { height:auto; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:22px 5% 18px; }
.header .centered-logo { position:static; left:auto; transform:none; display:block; width:min(465px,85vw); max-width:none; margin:0 auto; line-height:0; }
.header .centered-logo img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; }
.header nav { display:flex; margin:0 auto; align-items:center; justify-content:center; flex-wrap:wrap; gap:28px; }
@media(max-width:800px){ .header { padding:18px 4% 16px; gap:8px; } .header .centered-logo { width:min(365px,78vw); max-width:none; } .header nav { gap:15px; } }
@media(max-width:640px){ .header { padding:14px 5% 12px; min-height:0; flex-direction:column; } .header .centered-logo { width:min(300px,73vw); max-width:none; } .menu-toggle { position:absolute; right:4%; top:50%; transform:translateY(-50%); display:block; } .header nav { display:none; position:absolute; top:100%; left:0; right:0; padding:24px 5%; background:#fffefa; box-shadow:0 12px 20px #0001; flex-direction:column; align-items:stretch; gap:17px; } .header nav.open { display:flex; } }
