@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root{--ink:#111;--muted:#6f6f6f;--paper:#f7f6f2;--white:#fff;--line:#deddd8;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}
a{color:inherit;text-decoration:none}button{font:inherit}
.site-header{height:92px;padding:14px 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(247,246,242,.95);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(0,0,0,.07);backdrop-filter:blur(12px)}
.brand img{width:185px;height:64px;object-fit:cover;object-position:center;background:white}.nav{display:flex;align-items:center;gap:30px;font-size:13px;text-transform:uppercase;letter-spacing:.14em}.nav a{transition:.2s}.nav a:hover{opacity:.55}.cart-button{border:1px solid var(--ink);background:transparent;padding:11px 15px;cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.cart-button span{margin-left:5px}
.menu-toggle{display:none;border:0;background:none;font-size:26px}
.hero{height:min(78vh,780px);min-height:600px;position:relative;overflow:hidden;background:#111}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.22) 65%,rgba(0,0,0,.1)),url("assets/blue-ridge.jpg") center/cover}.hero-overlay{position:relative;z-index:1;color:white;max-width:var(--max);height:100%;margin:auto;padding:clamp(50px,8vw,110px) 6vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow{font-size:11px;letter-spacing:.26em;text-transform:uppercase;margin:0 0 20px;font-weight:600}.eyebrow.dark{color:#666}.hero h1{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(55px,7.5vw,105px);line-height:.95;margin:0 0 28px;letter-spacing:-.04em}.hero h1 em{font-weight:500}.hero-copy{max-width:520px;font-size:17px;line-height:1.7;color:#eee}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600;cursor:pointer}.button-light{background:#fff;color:#111}.button-dark{background:#111;color:#fff}.button.small{padding:10px 14px;font-size:9px}.text-link{font-size:12px;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:4px}
.intro{max-width:var(--max);margin:auto;padding:125px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.section-heading h2,.contact h2{font-family:"Playfair Display",serif;font-size:clamp(42px,5vw,68px);line-height:1.02;font-weight:500;letter-spacing:-.035em;margin:0}.intro-copy{font-size:18px;line-height:1.9;color:#555;align-self:end;max-width:600px}
.gallery-section,.shop-section{max-width:var(--max);margin:auto;padding:50px 6vw 120px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:45px}.section-heading>p{max-width:430px;color:#666;line-height:1.7;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.gallery-item{position:relative;overflow:hidden;min-height:260px;background:#ddd}.gallery-item:nth-child(1){grid-column:span 7;grid-row:span 2;min-height:620px}.gallery-item:nth-child(2),.gallery-item:nth-child(3){grid-column:span 5}.gallery-item:nth-child(4),.gallery-item:nth-child(5),.gallery-item:nth-child(6),.gallery-item:nth-child(7){grid-column:span 4}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.gallery-item:hover img{transform:scale(1.04)}.gallery-label{position:absolute;left:20px;bottom:18px;color:white;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 12px #000}
.shop-section{padding-top:0}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:transparent;padding:9px 13px;text-transform:uppercase;letter-spacing:.1em;font-size:9px;cursor:pointer}.filter.active,.filter:hover{background:#111;color:#fff;border-color:#111}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.product-card{background:#fff}.product-image-wrap{aspect-ratio:4/3;overflow:hidden;cursor:pointer}.product-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.product-card:hover img{transform:scale(1.035)}.product-info{padding:20px 2px 25px;display:flex;justify-content:space-between;gap:15px}.product-title{font-family:"Playfair Display",serif;font-size:23px}.product-meta{color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:7px}.product-price{text-align:right;font-size:12px;white-space:nowrap}.view-button{border:0;background:none;text-decoration:underline;cursor:pointer;font-size:11px;margin-top:10px;padding:0}
.statement{background:#111;color:#fff;min-height:650px;display:flex;align-items:center;justify-content:center;text-align:center;padding:100px 6vw;background-image:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.65)),url("assets/forest.jpg");background-size:cover;background-position:center}.statement h2{font-family:"Playfair Display",serif;font-size:clamp(50px,7vw,94px);line-height:1.05;font-weight:500;margin:0;letter-spacing:-.04em}.statement .eyebrow{color:#ddd}
.contact{max-width:var(--max);margin:auto;padding:125px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact p{color:#666;line-height:1.8;font-size:17px;max-width:520px}.contact .button{margin-top:15px}
footer{border-top:1px solid var(--line);padding:45px 6vw;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#777;font-size:11px}.footer img,footer img{width:150px;height:48px;object-fit:cover}footer a{text-decoration:underline}
.modal{position:fixed;inset:0;z-index:100;display:none}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68)}.modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1050px,92vw);max-height:90vh;overflow:auto;background:#f7f6f2;display:grid;grid-template-columns:1.1fr .9fr}.modal-card>img{width:100%;height:100%;min-height:500px;object-fit:cover}.modal-content{padding:55px}.modal-content h2{font-family:"Playfair Display",serif;font-size:48px;font-weight:500;margin:0 0 15px}.modal-content>p{color:#666;line-height:1.7}.modal-close{position:absolute;right:16px;top:12px;border:0;background:#fff;width:38px;height:38px;border-radius:50%;font-size:27px;cursor:pointer;z-index:2}.purchase-options{margin-top:35px;border-top:1px solid var(--line)}.purchase-row{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center}.purchase-row div{display:flex;flex-direction:column;gap:5px}.purchase-row span{font-size:11px;color:#777}.tiny-note{font-size:10px!important;margin-top:22px}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%) translateY(100px);background:#111;color:#fff;padding:13px 18px;font-size:12px;opacity:0;transition:.3s;z-index:200}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}
@media(max-width:800px){.site-header{height:75px}.brand img{width:150px;height:52px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:25px 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{min-height:620px}.hero h1{font-size:58px}.intro,.contact{grid-template-columns:1fr;padding-top:85px;padding-bottom:85px}.section-heading{display:block}.section-heading>p{margin-top:20px}.filters{margin-top:25px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr}.gallery-item,.gallery-item:nth-child(n){grid-column:span 1;grid-row:auto;min-height:240px}.gallery-item:nth-child(1){grid-column:span 2;min-height:430px}.shop-grid{grid-template-columns:1fr}.modal-card{grid-template-columns:1fr;max-height:92vh}.modal-card>img{min-height:280px;max-height:40vh}.modal-content{padding:30px}.modal-content h2{font-size:38px}.purchase-row{grid-template-columns:1fr auto}.purchase-row .button{grid-column:2}.hero-actions{flex-wrap:wrap}footer{flex-direction:column;align-items:flex-start}}
