@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--g:#78936d;--gd:#405b46;--gs:#e8efe5;--p:#f2c5d2;--ps:#faedf1;--c:#fbf8f2;--ink:#292d29;--muted:#777c75;--line:#e8e5de;--shadow:0 18px 55px #2d3e2f18}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--c);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.serif,h1,h2,h3{font-family:'Playfair Display',serif;font-weight:500}.topbar{background:var(--gd);color:white;text-align:center;padding:9px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}header{position:sticky;top:0;z-index:9;background:#fbf8f2ed;backdrop-filter:blur(12px);border-bottom:1px solid #405b4615}.nav{max-width:1200px;margin:auto;padding:17px 25px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;align-items:center;line-height:1}.brand strong,.footer-brand strong{font:27px 'Playfair Display';letter-spacing:.13em;color:var(--gd)}.brand span,.footer-brand span{font-size:9px;letter-spacing:.45em;margin-top:7px}.navlinks{display:flex;gap:30px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.navlinks a{padding:8px 0;border-bottom:1px solid transparent}.navlinks a:hover,.navlinks a.active{border-color:var(--p)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--gd);color:white;padding:14px 22px;border:1px solid var(--gd);font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:.3s;cursor:pointer}.nav-cta:hover,.btn:hover{background:var(--p);border-color:var(--p);color:var(--gd);transform:translateY(-2px)}.menu-toggle{display:none;background:none;border:0;font-size:24px;color:var(--gd)}.container{width:min(1160px,calc(100% - 48px));margin:auto}main{overflow:hidden}.eyebrow{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--g);font-weight:700}h1{font-size:clamp(44px,6.6vw,82px);line-height:1.04;letter-spacing:-.035em}h2{font-size:clamp(34px,4vw,52px);line-height:1.1}h3{font-size:23px}p{line-height:1.8;color:var(--muted);font-size:14px}.hero{min-height:640px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4vw;padding:65px 0 85px}.hero-copy{padding-left:4vw;animation:rise .8s both}.hero-copy h1 em{font-style:normal;color:var(--g)}.hero-copy p{max-width:430px;margin:24px 0 30px}.hero-visual{height:540px;position:relative;margin-right:4vw}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 25%;border-radius:48% 48% 4px 4px;box-shadow:var(--shadow)}.hero-visual:after{content:'';position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--p);border-radius:48% 48% 4px 4px;z-index:-1}.hero-tag{position:absolute;bottom:35px;left:-40px;background:var(--ps);padding:18px 22px;color:var(--gd);font:18px 'Playfair Display';box-shadow:var(--shadow)}.section{padding:82px 0}.section-head{text-align:center;max-width:650px;margin:0 auto 42px}.section-head p{max-width:520px;margin:15px auto}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.pillar{background:var(--c);padding:35px 25px;text-align:center}.pillar b{display:block;font:22px 'Playfair Display';margin:13px 0 8px}.pillar p{font-size:12px;margin:0}.dress-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.dress-card{background:white;box-shadow:0 7px 28px #2832280d;transition:.35s}.dress-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.dress-photo{height:370px;background:linear-gradient(145deg,#e9e5dc,#d7e0d1);overflow:hidden}.dress-photo img{width:100%;height:100%;object-fit:cover;transition:.7s}.dress-card:hover img{transform:scale(1.045)}.photo-placeholder{height:100%;display:grid;place-content:center;text-align:center;color:#687b64;background:linear-gradient(135deg,#f4e8e9,#e3ebdd);font:23px 'Playfair Display'}.dress-info{padding:18px 20px}.dress-info h3{margin:0 0 8px}.meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;color:#777;font-size:11px}.meta span{background:var(--c);padding:6px 9px}.price{color:var(--gd);font-weight:700;font-size:14px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.text-link{font-size:10px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--p);padding-bottom:5px}.split-banner{background:var(--gs);display:grid;grid-template-columns:1fr 1fr;min-height:360px}.banner-copy{padding:60px max(35px,7vw);align-self:center}.banner-art{background:linear-gradient(135deg,#f3dce2,#cddbc6);display:grid;place-content:center;text-align:center;padding:35px;font:clamp(30px,4vw,52px) 'Playfair Display';color:var(--gd)}.page-hero{padding:85px 20px 70px;text-align:center;background:linear-gradient(130deg,#f8e9ed,#eff2e9)}.page-hero h1{font-size:clamp(42px,5vw,66px);margin:14px 0}.page-hero p{max-width:600px;margin:auto}.filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter-btn{border:1px solid var(--line);background:transparent;padding:10px 17px;font-size:11px;cursor:pointer;color:var(--muted)}.filter-btn.active,.filter-btn:hover{background:var(--gd);color:white}.collection-tools{display:flex;justify-content:space-between;gap:15px;margin-bottom:25px}.collection-tools input,.collection-tools select{border:1px solid var(--line);background:white;padding:12px;min-width:190px}.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:start}.form-panel{background:white;padding:35px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--gd)}.field input,.field select,.field textarea{border:1px solid var(--line);padding:14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--g)}.field textarea{min-height:100px}.form-note{font-size:11px}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.contact-card{background:white;padding:25px;border:1px solid var(--line)}.contact-card small{display:block;color:var(--g);letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px}footer{background:#354d3a;color:white;padding:50px 0 25px;margin-top:75px}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-brand strong{color:white}.footer-brand p{color:#d6dfd4;font-size:12px;max-width:290px}.footer-links{display:flex;gap:22px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.copyright{border-top:1px solid #ffffff2e;margin-top:35px;padding-top:18px;font-size:10px;color:#d6dfd4;display:flex;justify-content:space-between}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(max-width:800px){.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:var(--c);padding:22px;flex-direction:column;align-items:center}.navlinks.open{display:flex}.nav-cta{display:none}.hero{grid-template-columns:1fr;gap:40px;padding:50px 0}.hero-copy{padding:0}.hero-visual{height:420px;margin:0 15px}.hero-tag{left:-12px}.dress-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.dress-photo{height:310px}.form-layout{grid-template-columns:1fr;gap:25px}.split-banner{grid-template-columns:1fr}.banner-art{min-height:240px}.footer-inner{flex-direction:column}.contact-cards{grid-template-columns:1fr}}
@media(max-width:520px){.container{width:calc(100% - 34px)}.dress-grid,.feature-grid{gap:12px}.dress-photo{height:240px}.dress-info{padding:12px}.dress-info h3{font-size:18px}.card-bottom{align-items:flex-start;flex-direction:column;gap:8px}.section{padding:60px 0}.pillars{grid-template-columns:1fr}.form-panel{padding:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.collection-tools{flex-direction:column}.collection-tools input,.collection-tools select{width:100%}.copyright{flex-direction:column;gap:10px}}
