:root{--cream:#f6f0e6;--paper:#fbf8f2;--brown:#2d2118;--muted:#75695e;--line:#dfd5c8;--accent:#b59a78;--white:#fffdf9;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--brown);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 48px));margin:auto}.announcement{background:var(--brown);color:#f8f1e6;text-align:center;padding:9px 12px;font-size:10px;letter-spacing:2px}.nav-wrap{position:sticky;top:0;z-index:20;background:rgba(251,248,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:'Playfair Display',serif;font-size:29px;letter-spacing:8px}.nav-links{display:flex;gap:34px;font-size:13px;color:#594c40}.nav-links a:hover{opacity:.55}.cart-btn{border:1px solid var(--brown);background:transparent;padding:10px 16px;border-radius:99px;font:inherit;font-size:12px;cursor:pointer}.cart-btn span{display:inline-grid;place-items:center;margin-left:5px;background:var(--brown);color:white;border-radius:50%;width:18px;height:18px;font-size:10px}.hero{min-height:690px;position:relative;display:flex;align-items:center;overflow:hidden;background:#c7aa87}.hero-image{position:absolute;inset:0;background-image:url('assets/voile-collection.png');background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,21,15,.66),rgba(30,21,15,.13) 62%,rgba(30,21,15,.02))}.hero-content{position:relative;color:#fff;max-width:1180px;padding:90px 0}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:700;margin:0 0 18px;text-transform:uppercase}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(55px,7vw,96px);line-height:.94;font-weight:500;margin:0 0 26px}.hero h1 em{font-weight:400}.hero-copy{max-width:480px;font-size:16px;line-height:1.7;color:#f7eee3}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;padding:14px 22px;font:inherit;font-size:12px;letter-spacing:.5px;cursor:pointer;border-radius:2px}.btn-dark{background:var(--brown);color:#fff}.btn-light{background:#f8f0e4;color:var(--brown)}.btn-outline{border:1px solid var(--brown);background:transparent;color:var(--brown)}.text-link{font-size:12px;letter-spacing:.5px;border-bottom:1px solid currentColor;padding-bottom:4px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:110px 0}.intro h2,.section-heading h2,.story-copy h2,.why h2,.contact h2{font-family:'Playfair Display',serif;font-size:52px;line-height:1.05;font-weight:500;margin:0}.intro h2 span{color:#9a8064}.intro-text{font-size:17px;line-height:1.8;color:var(--muted);align-self:end;max-width:510px}.collection{padding:20px 0 120px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.muted{color:var(--muted);font-size:13px}.colour-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.filter{background:transparent;border:1px solid var(--line);padding:9px 15px;border-radius:99px;color:var(--muted);cursor:pointer;font:inherit;font-size:11px}.filter.active,.filter:hover{background:var(--brown);border-color:var(--brown);color:white}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product{background:#eee8de;min-width:0}.swatch{height:260px;position:relative;display:flex;align-items:flex-end;justify-content:center;padding:16px}.fabric{position:absolute;inset:0;opacity:.95;background-image:radial-gradient(rgba(255,255,255,.2) 1px,transparent 1px);background-size:9px 9px}.flower{position:relative;width:35px;height:35px;border-radius:50%;border:1px dotted rgba(255,255,255,.7);box-shadow:0 0 0 9px rgba(255,255,255,.08)}.product-info{background:#f8f2e8;padding:18px}.product-top{display:flex;justify-content:space-between;gap:8px}.product h3{font-family:'Playfair Display',serif;font-size:19px;margin:0}.price{font-size:12px;font-weight:700}.product-meta{font-size:10px;color:var(--muted);margin:6px 0 14px}.add{width:100%;border:1px solid var(--brown);background:transparent;padding:10px;cursor:pointer;font:inherit;font-size:11px}.add:hover{background:var(--brown);color:#fff}.story{background:var(--cream);padding:110px 0}.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.story-photo{min-height:560px;background:url('assets/voile-collection.png') center/cover;border:12px solid #efe5d6}.story-copy p:not(.eyebrow){color:var(--muted);line-height:1.8;font-size:15px}.story-copy .text-link{display:inline-block;margin-top:12px}.why{padding:120px 0}.centered{text-align:center;display:block}.features{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:60px}.features article{padding:30px 24px;border-right:1px solid var(--line)}.features article:last-child{border-right:0}.features span{font-size:10px;letter-spacing:2px;color:#9a8064}.features h3{font-family:'Playfair Display',serif;font-size:25px;font-weight:500;margin:28px 0 10px}.features p{font-size:13px;line-height:1.7;color:var(--muted)}.cta{background:var(--brown);color:#fff;padding:100px 0;text-align:center}.cta h2{font-family:'Playfair Display',serif;font-size:58px;font-weight:500;margin:0 0 30px}.contact{padding:100px 0;display:flex;justify-content:space-between;align-items:center;gap:50px}.contact h2{font-size:48px;margin-bottom:15px}.contact p:not(.eyebrow){color:var(--muted);max-width:600px;line-height:1.7}.contact-buttons{display:flex;gap:12px;flex-shrink:0}footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted);font-size:11px}.footer-inner{display:flex;justify-content:space-between;gap:20px}.footer-inner div{display:flex;gap:20px}.footer-inner strong{color:var(--brown);letter-spacing:3px}.cart-backdrop{position:fixed;inset:0;background:rgba(25,18,12,.4);opacity:0;visibility:hidden;transition:.25s;z-index:30}.cart{position:fixed;top:0;right:0;width:min(430px,100%);height:100vh;background:var(--paper);z-index:31;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column}.cart.open{transform:none}.cart-backdrop.open{opacity:1;visibility:visible}.cart-head{padding:25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.cart-head h2{font-family:'Playfair Display',serif;font-size:28px;font-weight:500;margin:0}.cart-head button{background:none;border:0;font-size:30px;cursor:pointer}.cart-items{padding:20px 25px;overflow:auto;flex:1}.cart-row{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.mini-swatch{width:56px;height:64px;flex:none}.cart-row h4{margin:0 0 4px;font-family:'Playfair Display',serif;font-size:16px;font-weight:500}.cart-row p{margin:0;color:var(--muted);font-size:11px}.remove{margin-left:auto;border:0;background:none;color:#9a8064;cursor:pointer}.cart-foot{padding:25px;border-top:1px solid var(--line)}.total{display:flex;justify-content:space-between;margin-bottom:18px}.full{width:100%}.small{font-size:10px;color:var(--muted);line-height:1.5;text-align:center}
@media(max-width:900px){.nav-links{display:none}.products{grid-template-columns:repeat(2,1fr)}.intro,.story-grid{grid-template-columns:1fr;gap:35px}.features{grid-template-columns:repeat(2,1fr)}.features article:nth-child(2){border-right:0}.hero{min-height:600px}.story-photo{min-height:420px}.contact{display:block}.contact-buttons{margin-top:25px}.section-heading{display:block}.muted{margin-top:12px}}
@media(max-width:560px){.container{width:min(100% - 28px,1180px)}.hero-content{padding:65px 0}.hero h1{font-size:58px}.products{grid-template-columns:1fr 1fr;gap:10px}.swatch{height:190px}.product-info{padding:13px}.product h3{font-size:16px}.intro{padding:75px 0}.intro h2,.section-heading h2,.story-copy h2,.contact h2{font-size:40px}.features{grid-template-columns:1fr}.features article{border-right:0;border-bottom:1px solid var(--line)}.features article:last-child{border-bottom:0}.cta h2{font-size:43px}.contact-buttons{display:grid}.footer-inner{display:block}.footer-inner span{display:block;margin-top:10px}}

.reviews{background:var(--paper);padding:110px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reviews-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.reviews-intro h2{font-family:'Playfair Display',serif;font-size:52px;line-height:1.05;font-weight:500;margin:0 0 20px}
.reviews-intro>p:not(.eyebrow){color:var(--muted);line-height:1.8;font-size:15px;max-width:420px}
.review-panel{background:#f3ede3;border:1px solid var(--line);padding:28px}
.review-summary{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.review-summary strong{display:block;font-family:'Playfair Display',serif;font-size:42px;font-weight:500;line-height:1}
.review-summary span{color:var(--muted);font-size:11px}
#reviewStars{display:block;color:#9a8064;letter-spacing:2px;font-size:14px;margin-top:6px}
.review-list{display:grid;gap:12px;padding:18px 0;max-height:430px;overflow:auto}
.review-card{background:var(--paper);border:1px solid var(--line);padding:18px}
.review-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.review-card strong{font-size:13px}.review-card .stars{color:#9a8064;letter-spacing:1px;font-size:12px}.review-card time{display:block;color:#a0968c;font-size:10px;margin-top:7px}.review-card p{color:var(--muted);font-size:13px;line-height:1.7;margin:10px 0 0}
.review-form-wrap{border-top:1px solid var(--line);padding-top:24px}.review-form-wrap h3{font-family:'Playfair Display',serif;font-size:26px;font-weight:500;margin:0 0 16px}.review-form{display:grid;gap:13px}.review-form label{font-size:11px;letter-spacing:.4px;color:var(--muted);display:grid;gap:6px}.review-form input,.review-form select,.review-form textarea{width:100%;border:1px solid var(--line);background:var(--white);color:var(--brown);font:inherit;padding:11px 12px;outline:none}.review-form textarea{min-height:105px;resize:vertical}.review-form input:focus,.review-form select:focus,.review-form textarea:focus{border-color:var(--accent)}.review-form .btn{justify-self:start}.review-form .small{margin:0;text-align:left;min-height:15px}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr;gap:35px}.review-panel{padding:20px}}

/* Customer review upgrades */
.review-summary.intro-summary{margin-top:34px;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px}
.review-summary.intro-summary strong{font-size:46px}
.review-summary.intro-summary small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.review-summary.intro-summary #reviewStars{font-size:18px;letter-spacing:3px}
.review-list{scrollbar-width:thin}
.review-card{padding:20px}
.review-person{display:flex;align-items:center;gap:12px}
.review-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 48px;border:1px solid var(--line);background:#ddd0c2}
.avatar-initials{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:var(--brown);letter-spacing:.5px}
.review-person-meta{min-width:0;flex:1}
.review-person-meta strong{display:block;font-size:14px}
.review-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}
.review-badges time{color:#a0968c;font-size:10px}
.verified-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid #c9b59d;background:#eee4d7;color:#6f5a46;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.35px;text-transform:uppercase}
.review-person>.stars{color:#9a8064;letter-spacing:2px;font-size:13px;white-space:nowrap}
.review-form .optional{font-size:9px;color:#a0968c;letter-spacing:0;text-transform:none}
.review-form input[type=file]{padding:9px;background:#fff}
.verified-note{padding:9px 11px;background:#eee7dd;border:1px solid var(--line);color:#746557}
@media(max-width:600px){.review-person>.stars{font-size:11px;letter-spacing:1px}.review-summary.intro-summary{align-items:flex-start;gap:12px}.review-summary.intro-summary #reviewStars{font-size:15px}}


/* Review rating breakdown */
.rating-breakdown{display:grid;gap:4px;min-width:190px}
.rating-row{display:grid;grid-template-columns:14px 1fr 28px;align-items:center;gap:7px;font-size:10px;color:var(--muted)}
.rating-row .bar{height:5px;background:#e3d8ca;border-radius:99px;overflow:hidden}
.rating-row .fill{height:100%;background:#9a8064;border-radius:99px}
.rating-row .count{text-align:right}
@media(max-width:600px){.rating-breakdown{min-width:145px}.rating-row{grid-template-columns:12px 1fr 22px;font-size:9px}}
