:root{
	--cream:#FBF6EE;
	--ink:#2E2620;
	--terracotta:#A8432F;
	--ochre:#C98B3A;
	--sage:#5B6B58;
	--ceramic:#4F6B73;
	--line:#E4D9C8;
	--display:'Fraunces',serif;
	--body:'Karla',sans-serif;
	--mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--display);margin:0;color:var(--ink);}
.hp_field{position:absolute;left:-9999px;top:-9999px;}

.btn{display:inline-block;padding:.85em 1.7em;font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.3px;border:1.5px solid var(--ink);cursor:pointer;background:none;}
.btn.solid{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.btn.solid:hover{background:#8c3526;}
.btn.outline{border-color:var(--ink);color:var(--ink);}
.btn.outline:hover{background:var(--ink);color:#fff;}
.btn.ghost{border-color:transparent;color:var(--ink);text-decoration:underline;}
.btn.small{padding:.55em 1.1em;font-size:12.5px;}

.sect_h{font-size:30px;font-weight:600;margin:0 0 2.4rem;padding:0 24px;max-width:1180px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:6px;}
.sect_h .sect_no{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ochre);font-weight:500;}
.sect_h.light{color:#fff;}
.sect_h.light .sect_no{color:#e8c98c;}

.gdprBar{position:fixed;bottom:14px;left:14px;right:14px;max-width:920px;margin:0 auto;background:#fff;border:1.5px solid var(--ink);z-index:500;padding:16px 18px;box-shadow:0 10px 0 rgba(46,38,32,.06);}
.gdprBar_inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.gdprBar p{margin:0;font-size:13px;max-width:560px;}
.gdprBar a{text-decoration:underline;}
.gdprBar_btns{display:flex;gap:8px;flex-wrap:wrap;}
.gdprBtn{font-family:var(--body);font-size:12px;font-weight:700;padding:.6em 1em;border:1.5px solid var(--ink);background:#fff;cursor:pointer;}
.gdprBtn.solid{background:var(--terracotta);border-color:var(--terracotta);color:#fff;}
.gdprBtn.outline{background:#fff;}
.gdprBtn.ghost{border-color:transparent;text-decoration:underline;}
.gdprSettings{display:none;flex-direction:column;gap:8px;margin-top:14px;border-top:1px dashed var(--line);padding-top:12px;font-size:13px;}
.gdprSettings.show{display:flex;}
.gdprBtn.small{align-self:flex-start;}

.siteHead{position:sticky;top:0;background:rgba(251,246,238,.93);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:200;}
.siteHead_inner{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;}
.brandMark img{height:38px;}
.mainNav{display:flex;gap:1.9em;}
.mainNav a{font-size:14px;font-weight:500;}
.mainNav a:hover{color:var(--terracotta);}
.cartBtn{position:relative;background:none;border:none;cursor:pointer;color:var(--ink);padding:6px;}
.cartCount{position:absolute;top:-4px;right:-4px;background:var(--terracotta);color:#fff;font-size:10px;font-weight:700;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;}

.hero{position:relative;height:88vh;min-height:560px;overflow:hidden;}
.hero_img{width:100%;height:100%;object-fit:cover;}
.hero_shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(46,38,32,.15),rgba(46,38,32,.55));}
.hero_copy{position:absolute;left:6%;bottom:14%;max-width:560px;color:#fff;}
.hero_eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#f0d9b5;display:block;margin-bottom:14px;}
.hero_copy h1{font-size:48px;font-weight:600;line-height:1.1;margin-bottom:18px;}
.hero_copy p{font-size:17px;margin-bottom:1.8rem;max-width:440px;}
.hero_cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero .btn.ghost{border-color:#fff;color:#fff;text-decoration:none;}
.hero_tagFloat{position:absolute;top:26px;right:5%;background:#fff;padding:9px 16px;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:8px;box-shadow:0 8px 0 rgba(46,38,32,.08);}
.tagDot{width:8px;height:8px;border-radius:50%;background:var(--sage);display:inline-block;}

.galleryStrip{padding:5rem 0 4rem;}
.gal_row{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.3fr 1fr .9fr 1fr 1.1fr;gap:14px;align-items:end;}
.gal_row img{width:100%;object-fit:cover;}
.gal_row img:nth-child(1){height:320px;}
.gal_row img:nth-child(2){height:230px;}
.gal_row img:nth-child(3){height:380px;}
.gal_row img:nth-child(4){height:200px;}
.gal_row img:nth-child(5){height:300px;}

.whoWeAre{max-width:1180px;margin:0 auto 5.5rem;padding:0 24px;display:grid;grid-template-columns:.85fr 1fr;gap:60px;align-items:center;}
.who_imgwrap img{width:100%;height:460px;object-fit:cover;}
.who_text p{color:#5a4d42;max-width:480px;margin-bottom:1.1em;}
.who_text h2{font-size:32px;margin:.5em 0 1em;font-weight:600;}

.products{padding:1rem 0 5.5rem;}
.prod_grid{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px;}
.prodCard{border:1px solid var(--line);background:#fff;padding-bottom:18px;}
.prodCard img{height:210px;object-fit:cover;width:100%;}
.prodCard_stars{color:var(--ochre);font-size:13px;padding:14px 16px 0;}
.prodCard_stars span{color:#9b8c7a;font-family:var(--mono);font-size:11px;}
.prodCard h3{font-size:18px;padding:6px 16px 2px;font-weight:600;}
.prodCard_desc{font-size:13px;color:#8a7a6c;padding:0 16px;margin:0 0 14px;}
.prodCard_foot{display:flex;align-items:center;justify-content:space-between;padding:0 16px;}
.prodCard_price{font-family:var(--mono);font-weight:600;font-size:16px;color:var(--terracotta);}

.teamSect{max-width:1180px;margin:0 auto 5.5rem;padding:0 24px;}
.team_row{display:flex;gap:30px;}
.teamCard{flex:1;}
.teamCard img{height:340px;object-fit:cover;width:100%;margin-bottom:16px;}
.teamCard h3{font-size:21px;font-weight:600;}
.teamCard_role{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ceramic);display:block;margin:6px 0 10px;}
.teamCard p{color:#5a4d42;font-size:14.5px;max-width:420px;}

.reviewSect{background:var(--ink);padding:5rem 0;}
.review_row{max-width:1180px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.revCard{background:#3b3128;padding:24px 20px;border-left:3px solid var(--ochre);}
.revCard_stars{color:var(--ochre);font-size:13px;margin-bottom:12px;}
.revCard p{color:#e9e1d4;font-size:13.5px;margin:0 0 14px;}
.revCard_name{font-family:var(--mono);font-size:11.5px;color:#bba98c;}

.vacancySect{background:var(--ceramic);color:#fff;padding:4.5rem 24px;}
.vacancy_inner{max-width:680px;margin:0 auto;text-align:left;}
.vacancySect h2{color:#fff;font-size:28px;margin:.6em 0;}
.vacancySect p{color:#dce8ea;margin-bottom:1.6em;}
.vacancySect .hero_eyebrow{color:#cfe4e6;}
.vacancySect .btn.outline{border-color:#fff;color:#fff;}
.vacancySect .btn.outline:hover{background:#fff;color:var(--ceramic);}

.faqSect{max-width:840px;margin:0 auto 5.5rem;padding:0 24px;}
.faq_list{display:flex;flex-direction:column;}
.faqItem{border-bottom:1px solid var(--line);padding:18px 0;}
.faqItem summary{cursor:pointer;font-weight:600;font-size:16px;list-style:none;position:relative;padding-right:24px;}
.faqItem summary::-webkit-details-marker{display:none;}
.faqItem summary::after{content:'+';position:absolute;right:0;top:0;font-family:var(--mono);}
.faqItem[open] summary::after{content:'–';}
.faqItem p{color:#5a4d42;margin:12px 0 0;font-size:14.5px;}

.contactSect{max-width:680px;margin:0 auto 6rem;padding:0 24px;}
.contactForm{display:flex;flex-direction:column;gap:14px;margin-top:1rem;}
.cf_row{display:flex;gap:14px;}
.contactForm input,.contactForm textarea{font-family:var(--body);border:1.5px solid var(--ink);padding:.9em 1em;font-size:14.5px;background:#fff;width:100%;}
.contactForm input:focus,.contactForm textarea:focus{outline:2px solid var(--ochre);outline-offset:2px;}
.cf_status{font-size:13px;font-family:var(--mono);}

.siteFoot{text-align:center;padding:3.5rem 24px 3rem;border-top:1px solid var(--line);}
.foot_logo{height:30px;margin:0 auto 16px;}
.siteFoot p{font-size:13px;color:#7a6c5e;margin:6px 0;}
.foot_copy{font-family:var(--mono);font-size:11.5px;}
.foot_links a{text-decoration:underline;}

.cartOverlay,.orderOverlay{position:fixed;inset:0;background:rgba(46,38,32,.55);display:none;align-items:center;justify-content:center;z-index:800;padding:20px;}
.cartOverlay.show,.orderOverlay.show{display:flex;}
.cartPopup,.orderModal{background:var(--cream);max-width:640px;width:100%;max-height:86vh;overflow-y:auto;border:1.5px solid var(--ink);box-shadow:0 18px 0 rgba(46,38,32,.12);}
.cartPopup_head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);}
.cartPopup_head h3{font-size:20px;}
.cartClose{background:none;border:none;font-size:26px;cursor:pointer;line-height:1;color:var(--ink);}
.cartPopup_items{padding:10px 24px;display:flex;flex-direction:column;gap:16px;}
.cartLine{display:grid;grid-template-columns:60px 1fr auto auto;gap:14px;align-items:center;border-bottom:1px dashed var(--line);padding-bottom:14px;}
.cartLine img{width:60px;height:60px;object-fit:cover;}
.cartLine_name{font-size:14px;font-weight:600;}
.cartLine_price{font-family:var(--mono);font-size:12.5px;color:#8a7a6c;}
.qtyBox{display:flex;align-items:center;border:1px solid var(--ink);}
.qtyBox button{width:26px;height:26px;background:none;border:none;cursor:pointer;font-size:15px;}
.qtyBox span{width:26px;text-align:center;font-family:var(--mono);font-size:13px;}
.cartLine_remove{background:none;border:none;color:var(--terracotta);cursor:pointer;font-size:18px;}
.cartPopup_empty{display:none;text-align:center;padding:30px 24px;color:#8a7a6c;}
.cartPopup_foot{padding:18px 24px 24px;border-top:1px solid var(--line);}
.cartTotalRow{display:flex;justify-content:space-between;font-weight:700;font-size:18px;margin-bottom:16px;}
.cartTotalRow span:last-child{font-family:var(--mono);color:var(--terracotta);}
.cartPopup_btns{display:flex;gap:12px;justify-content:flex-end;}

.orderModal form{padding:20px 24px 24px;}
.orderModal_summary{font-family:var(--mono);font-size:12.5px;background:#fff;border:1px solid var(--line);padding:14px;color:#5a4d42;white-space:pre-wrap;}

.thanksOverlay{position:fixed;inset:0;background:rgba(46,38,32,.6);display:none;align-items:center;justify-content:center;z-index:900;padding:20px;}
.thanksOverlay.show{display:flex;}
.thanksBox{background:#fff;padding:40px 36px;text-align:center;max-width:340px;border:1.5px solid var(--ink);}
.thanksBox h3{margin:14px 0 8px;font-size:22px;}
.thanksBox p{color:#5a4d42;font-size:14px;margin-bottom:20px;}

.innerHero{padding:5.5rem 24px 2.5rem;max-width:900px;margin:0 auto;}
.innerHero h1{font-size:38px;font-weight:600;margin-bottom:.5em;}
.innerHero .hero_eyebrow{margin-bottom:14px;color:var(--ochre);}
.innerWrap{max-width:900px;margin:0 auto;padding:0 24px 5rem;}
.innerSect{margin-bottom:2.6rem;}
.innerSect h2{font-size:22px;font-weight:600;margin-bottom:.7em;}
.innerSect h3{font-size:17px;font-weight:600;margin:1em 0 .4em;}
.innerSect p{color:#5a4d42;margin-bottom:1em;font-size:15px;}
.innerSect ul{color:#5a4d42;font-size:15px;padding-left:1.2em;}
.innerSect li{margin-bottom:.5em;}
.legalMeta{font-family:var(--mono);font-size:11.5px;color:#9b8c7a;margin-bottom:2rem;}

.jobCard{border:1px solid var(--line);background:#fff;padding:22px 24px;margin-bottom:1.4rem;}
.jobCard h3{font-size:18px;font-weight:600;margin-bottom:.3em;}
.jobTag{font-family:var(--mono);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--ceramic);}

.aboutGal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:1.2rem;}
.aboutGal img{width:100%;height:160px;object-fit:cover;}

.svcGrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:1rem;}
.svcCard{border-left:3px solid var(--ochre);padding:4px 0 4px 18px;}
.svcCard h3{font-size:16.5px;margin-bottom:.3em;}
.svcCard p{font-size:14px;margin-bottom:0;}

.reviewsGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:1rem;}
.reviewsGrid .revCard{background:#fff;border:1px solid var(--line);border-left:3px solid var(--ochre);}
.reviewsGrid .revCard p{color:#5a4d42;}
.reviewsGrid .revCard_stars{color:var(--ochre);}
.reviewsGrid .revCard_name{font-family:var(--mono);font-size:11.5px;color:#8a7a6c;}

@media(max-width:700px){
.aboutGal{grid-template-columns:1fr 1fr;}
.svcGrid{grid-template-columns:1fr;}
.reviewsGrid{grid-template-columns:1fr;}
}

@media(max-width:900px){
.mainNav{display:none;}
.whoWeAre{grid-template-columns:1fr;}
.prod_grid{grid-template-columns:repeat(2,1fr);}
.team_row{flex-direction:column;}
.review_row{grid-template-columns:repeat(2,1fr);}
.gal_row{grid-template-columns:repeat(2,1fr);}
.gal_row img{height:220px !important;}
.hero_copy h1{font-size:32px;}
.cf_row{flex-direction:column;}
}
@media(max-width:560px){
.prod_grid{grid-template-columns:1fr;}
.review_row{grid-template-columns:1fr;}
.gal_row{grid-template-columns:1fr;}
}
