*{box-sizing:border-box} :root{--ink:#25231f;--muted:#77746d;--paper:#fbf9f5;--cream:#f1ece3;--line:#e8e2d8;--rust:#a84930;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.announcement{background:#1f4653;color:#fff;text-align:center;padding:7px 15px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.announcement span{color:#e6bd70;padding:0 12px}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 5.2%;border-bottom:1px solid #eee9e1;background:#fff;position:relative;z-index:5}.logo{display:flex;align-items:center;gap:10px;white-space:nowrap;font-family:var(--serif);font-size:20px;letter-spacing:.04em}.logo-mark{width:34px;height:34px;border:1px solid var(--ink);display:grid;place-items:center;font-family:var(--serif);font-size:23px;font-style:italic}.logo small{display:block;font:8px var(--sans);letter-spacing:.18em;margin-top:1px}.nav{display:flex;align-items:center;gap:25px}.nav a,.header-actions a{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.nav a:hover,.text-link:hover{color:var(--rust)}.header-actions{display:flex;gap:16px;font-size:19px}.cart-count{font-size:10px;color:var(--rust)}.menu-toggle{display:none;border:0;background:none;font-size:22px}.hero{height:min(650px,68vw);min-height:430px;position:relative;overflow:hidden;color:white;background:#87715b}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:brightness(.75)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,25,24,.58),rgba(18,25,24,.05) 80%)}.hero-content{position:absolute;top:50%;left:10%;transform:translateY(-50%);max-width:570px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;text-transform:uppercase;color:var(--rust);margin:0 0 13px}.eyebrow.light{color:#f2d4a0}.hero h1,.page-banner h1,.about-hero h1{font:clamp(38px,5.2vw,70px)/1.12 var(--serif);font-weight:400;margin:0 0 20px;letter-spacing:-.035em}.hero h1 em,.editorial h2 em,.about-hero h1 em{font-weight:400}.hero-content>p:not(.eyebrow){max-width:420px;font-size:14px;color:#f4f1eb;margin-bottom:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 20px;border:1px solid transparent;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:.2s}.btn-light{background:#fff;color:#25231f}.btn-light:hover{background:#e8d8bd}.btn-dark{background:#22231f;color:#fff}.btn-dark:hover{background:var(--rust)}.btn-outline{background:transparent;border-color:#bdb6ac;color:var(--ink)}.hero-note{position:absolute;bottom:22px;right:5%;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.ticker{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;background:var(--cream);padding:13px 10px;font-size:9px;letter-spacing:.18em}.ticker span{font-weight:700}.section{padding:76px 5.2%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading h2,.editorial h2,.contact-intro h2{font:clamp(29px,3.2vw,43px)/1.2 var(--serif);font-weight:400;margin:0 0 9px;letter-spacing:-.025em}.muted{color:var(--muted)}.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #aaa;padding-bottom:5px;white-space:nowrap}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.category-card{position:relative;overflow:hidden;min-height:260px;background:#ddd}.category-card img{width:100%;height:350px;object-fit:cover;transition:transform .6s}.category-card:hover img{transform:scale(1.04)}.category-overlay{position:absolute;inset:auto 0 0;padding:45px 22px 20px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.68));display:flex;flex-direction:column}.category-overlay strong{font:27px var(--serif);font-weight:400}.category-overlay small{font-size:10px;letter-spacing:.08em}.round-arrow{position:absolute;right:17px;top:17px;background:white;border-radius:50%;width:35px;height:35px;display:grid;place-items:center}.products-section{background:#fbf9f5}.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.product-card{min-width:0}.product-image{display:block;position:relative;background:#f0ece5;overflow:hidden;aspect-ratio:4/4.7}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.product-image:hover img{transform:scale(1.035)}.product-tag{position:absolute;top:10px;left:10px;background:#fff;padding:4px 7px;font-size:8px;letter-spacing:.1em}.product-meta{display:flex;justify-content:space-between;align-items:start;gap:8px;padding-top:12px}.product-name{font:15px/1.35 var(--serif)}.product-meta p{font-size:10px;color:var(--muted);margin:5px 0}.product-meta>strong{font-size:11px;white-space:nowrap}.add-link{border:0;border-bottom:1px solid #bbb;background:transparent;padding:6px 0;font-size:9px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-top:2px}.add-link:hover{color:var(--rust)}.editorial{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;padding:78px 9%;background:#f1ece3}.editorial-image{height:460px;overflow:hidden}.editorial-image img{width:100%;height:100%;object-fit:cover}.editorial-copy{max-width:470px}.editorial-copy>p:not(.eyebrow){color:#656159;margin:20px 0 26px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.values>div{border-top:1px solid #cfc8bd;padding-top:20px}.values span{font-size:10px;color:var(--rust);letter-spacing:.12em}.values h3{font:23px var(--serif);font-weight:400;margin:12px 0 8px}.values p{font-size:12px;color:var(--muted);max-width:320px;margin:0}.newsletter{background:#e7ded1;padding:52px 7%;display:flex;justify-content:space-between;align-items:center;gap:35px}.newsletter h2{font:32px var(--serif);font-weight:400;margin:0}.newsletter p:not(.eyebrow){margin:8px 0 0;color:#6e675e;font-size:12px}.newsletter-form{display:flex;max-width:470px;width:100%}.newsletter-form input{min-width:0;flex:1;background:transparent;border:0;border-bottom:1px solid #9d9589;padding:12px 3px;outline:none}.newsletter-form .btn{white-space:nowrap}.footer{padding:48px 5.2% 20px;display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:35px;background:#fbf9f5}.footer-brand p,.footer>div>p{font-size:11px;color:var(--muted);max-width:250px}.footer h4{font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin:7px 0 16px}.footer>div:not(.copyright) a:not(.logo){display:block;font-size:11px;color:#666057;margin:8px 0}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;margin-top:10px;font-size:9px;color:#777}.copyright span{float:right}.page-banner{text-align:center;padding:70px 20px;background:#f4efe7}.page-banner h1{font-size:clamp(34px,4.5vw,56px);margin-bottom:12px}.page-banner>p:last-child{color:#706b62;margin:0}.shop-section{padding-top:40px}.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:11px;color:var(--muted)}.search-form{display:flex;border-bottom:1px solid #aaa}.search-form input{border:0;padding:8px;outline:none;background:transparent;width:200px}.search-form button{border:0;background:transparent;text-transform:uppercase;font-size:9px;letter-spacing:.1em;cursor:pointer}.filter-pills{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:28px}.filter-pills a{border:1px solid #ddd5c9;padding:8px 14px;border-radius:30px;font-size:10px}.filter-pills a.active,.filter-pills a:hover{background:#25231f;color:#fff;border-color:#25231f}.empty-state{text-align:center;padding:70px 20px;max-width:600px;margin:auto}.empty-state h2{font:32px var(--serif);font-weight:400}.empty-state p{color:var(--muted);margin-bottom:25px}.empty-icon{font:50px var(--serif);color:#b7a99a}.product-detail{display:grid;grid-template-columns:1.05fr .95fr;gap:9%;align-items:start;padding-top:55px}.detail-image{background:#f3eee7;max-height:760px}.detail-image img{width:100%;max-height:760px;object-fit:contain}.detail-copy{padding-top:25px;max-width:500px}.detail-copy h1{font:clamp(34px,4vw,52px)/1.15 var(--serif);font-weight:400;margin:0 0 12px}.detail-price{font-size:18px;margin:0 0 20px}.detail-copy>p{color:#68645d}.detail-form{margin:28px 0;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.detail-form label{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.detail-form input{display:block;width:70px;padding:12px;border:1px solid #d7d0c6;margin-top:5px}.detail-note{font-size:11px!important}.detail-note a{text-decoration:underline}.detail-perks{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:grid;gap:8px;font-size:11px;color:#777}.cart-section{min-height:320px}.cart-list{max-width:1000px;margin:auto}.cart-item{display:grid;grid-template-columns:110px 1fr 100px 90px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.cart-item>img{width:110px;height:115px;object-fit:cover;background:#f0ece5}.cart-item-info{display:flex;flex-direction:column;gap:5px}.cart-item-info strong{font:19px var(--serif);font-weight:400}.cart-item-info small{color:var(--muted)}.remove-link{background:none;border:0;text-align:left;text-decoration:underline;font-size:10px;cursor:pointer;padding:0;color:#777}.qty-label{font-size:10px}.qty-label input{width:65px;padding:8px;border:1px solid #ddd;display:block;margin-top:5px}.cart-bottom{max-width:1000px;margin:25px auto;display:flex;justify-content:space-between;align-items:start}.cart-total{width:320px}.cart-total p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px}.cart-total small{display:block;color:var(--muted);font-size:10px;margin-bottom:18px}.cart-total .btn{width:100%}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;max-width:1100px;margin:auto}.contact-intro>p:not(.eyebrow){color:var(--muted);max-width:400px}.contact-detail{display:flex;gap:15px;margin-top:25px}.contact-detail>span{font-size:22px;color:var(--rust)}.contact-detail strong{font-size:12px}.contact-detail p{font-size:11px;color:var(--muted);margin:2px 0}.contact-detail small{display:block;font-size:9px}.contact-form-wrap{background:#fbf9f5;padding:30px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label,.admin-login label{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.contact-form label:nth-child(4),.contact-form label:nth-child(5),.contact-form button{grid-column:1/-1}.contact-form input,.contact-form textarea,.contact-form select,.admin-login input{border:1px solid #ded8ce;background:white;padding:12px;width:100%;outline-color:#9d8b74;text-transform:none;letter-spacing:normal}.contact-form textarea{resize:vertical}.success-message{background:#e8f0e7;padding:24px}.success-message h2{font:27px var(--serif);font-weight:400}.form-error{color:#a12b25;background:#fff0ee;padding:10px;font-size:12px}.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:65px 9%;background:#f3eee7}.about-hero>img{width:100%;height:530px;object-fit:cover}.about-hero>div>p:not(.eyebrow){color:#68645d;margin:22px 0}.policy-copy{max-width:850px;margin:auto}.policy-copy h2{font:27px var(--serif);font-weight:400;margin-top:35px}.policy-copy p{color:#666057}.admin-body{background:#f2eee7;min-height:100vh;display:grid;place-items:center;padding:20px}.admin-login{background:white;width:min(420px,100%);padding:38px;box-shadow:0 12px 40px #0000000b}.admin-login h1{font:36px var(--serif);font-weight:400;margin:0 0 25px}.admin-login label{margin:15px 0}.admin-login .btn{width:100%;margin-top:10px}.admin-login .muted{font-size:10px}.admin-top{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 5%}.admin-top>a:last-child{font-size:11px}.admin-main{padding:35px 5%;max-width:1400px;margin:auto}.admin-main h1{font:38px var(--serif);font-weight:400;margin:0 0 25px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.admin-stats>div{background:white;padding:22px;display:flex;flex-direction:column;gap:8px}.admin-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.admin-stats strong{font:35px var(--serif)}.admin-section{background:#fff;padding:25px;margin-top:25px}.admin-section h2{font:27px var(--serif);font-weight:400;margin:0 0 8px}.admin-section>p{font-size:11px;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}th,td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{text-transform:uppercase;font-size:9px;letter-spacing:.08em;color:#777}.admin-thumb{width:48px;height:58px;object-fit:cover}.small-button{border:1px solid #ccc;background:white;padding:6px 10px;cursor:pointer;font-size:10px}
@media(max-width:1000px){.site-header{padding:0 3%;gap:12px}.nav{gap:13px}.nav a{font-size:9px}.logo{font-size:17px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}.category-card img{height:290px}.section{padding:58px 4%}.footer{padding-left:4%;padding-right:4%;gap:22px}.editorial{padding:60px 6%}.about-hero{padding:55px 6%}}@media(max-width:700px){.announcement{font-size:8px}.site-header{height:65px;padding:0 18px}.menu-toggle{display:block;order:3}.nav{display:none;position:absolute;top:65px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 12px 20px #0000000d;flex-direction:column;align-items:flex-start;gap:18px}.nav.open{display:flex}.header-actions{margin-left:auto}.hero{height:570px;min-height:0}.hero-content{left:7%;right:7%}.hero h1{font-size:44px}.hero-note{left:7%;right:auto;font-size:8px}.ticker{gap:10px;font-size:8px}.section{padding:48px 5%}.section-heading{align-items:start;flex-direction:column}.category-grid{grid-template-columns:1fr;gap:12px}.category-card img{height:280px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.product-name{font-size:14px}.product-meta{gap:5px}.product-meta>strong{font-size:10px}.editorial{grid-template-columns:1fr;gap:30px;padding:45px 5%}.editorial-image{height:350px}.values{grid-template-columns:1fr;gap:25px}.newsletter{padding:38px 5%;display:block}.newsletter h2{font-size:29px}.newsletter-form{margin-top:20px}.newsletter-form .btn{padding:12px;font-size:9px}.footer{grid-template-columns:1fr 1fr;gap:25px;padding:35px 5% 18px}.footer-brand{grid-column:1/-1}.copyright span{float:none;display:block;margin-top:5px}.page-banner{padding:48px 18px}.shop-toolbar{align-items:start;gap:15px;flex-direction:column}.search-form{width:100%}.search-form input{flex:1}.product-detail{grid-template-columns:1fr;gap:25px;padding-top:25px}.detail-image{max-height:480px}.detail-image img{max-height:480px}.detail-copy{padding-top:0}.detail-copy h1{font-size:38px}.cart-item{grid-template-columns:80px 1fr auto;gap:12px}.cart-item>img{width:80px;height:95px}.cart-item>strong{grid-column:2/4}.qty-label{grid-column:3;grid-row:1}.cart-bottom{gap:20px;flex-direction:column}.cart-total{width:100%}.contact-layout{grid-template-columns:1fr;gap:30px;padding-top:40px}.contact-form-wrap{padding:20px}.contact-form{grid-template-columns:1fr}.contact-form label,.contact-form button{grid-column:1}.about-hero{grid-template-columns:1fr;padding:35px 5%;gap:28px}.about-hero>img{height:340px}.about-hero h1{font-size:43px}.admin-main{padding:25px 4%}.admin-stats{grid-template-columns:1fr}.admin-section{padding:15px}.admin-top{padding:0 4%}}
/* Portfolio-only additions */
.showcase-image{display:block;position:relative;width:100%;padding:0;border:0;background:#eee8df;overflow:hidden;cursor:zoom-in;aspect-ratio:4/4.7;text-align:left}
.showcase-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.showcase-image:hover img{transform:scale(1.04)}
.view-overlay{position:absolute;inset:auto 0 0;padding:34px 13px 13px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.65));font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .25s}
.showcase-image:hover .view-overlay,.showcase-image:focus-visible .view-overlay{opacity:1}
.project-number{font-size:10px;color:var(--rust);letter-spacing:.12em}
.project-description{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0 0}
.contact-form .full-field{grid-column:1/-1}
.form-note{grid-column:1/-1;color:var(--muted);font-size:10px;margin:0}
.lightbox{display:none;position:fixed;inset:0;background:rgba(15,15,14,.94);z-index:1000;align-items:center;justify-content:center;padding:55px 70px 70px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(100%,1100px);max-height:100%;object-fit:contain;box-shadow:0 15px 60px #0006}
.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.12);color:white;cursor:pointer;display:grid;place-items:center}
.lightbox-close{right:22px;top:18px;width:44px;height:44px;font-size:32px}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:44px;height:60px;font-size:35px}
.lightbox-prev{left:15px}.lightbox-next{right:15px}
.lightbox-caption{position:absolute;bottom:15px;left:0;right:0;color:white;text-align:center;font-family:var(--serif);font-size:18px}
@media(max-width:700px){.lightbox{padding:55px 45px 70px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox img{max-height:78vh}.showcase-grid{row-gap:24px}.view-overlay{opacity:1}.contact-form .full-field,.form-note{grid-column:1}}
