/* CSS RESET & NORMALIZE */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,main,footer,header,nav,section,article,aside,figure,figcaption,details,summary,input,button,textarea{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;box-sizing:border-box;}button,input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;}html{box-sizing:border-box;}*,*:before,*:after{box-sizing:inherit;}body{line-height:1;background:#fff;color:#151515;font-family:'Open Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased;}ul,ol{list-style:none;}img{max-width:100%;height:auto;display:block;}a{text-decoration:none;color:inherit;}h1,h2,h3,h4,h5,h6{font-family:'Merriweather',serif;font-weight:700;line-height:1.13;letter-spacing:-.01em;margin-bottom:16px;color:#1a1a1a;}strong{font-weight:600;}input,button,select,textarea{outline:none;}

/* MONOCHROME SOPHISTICATED PALETTE (with brand accent) */
:root{
  --mono-bg:#fff;
  --mono-bg-contrast:#151515;
  --mono-surface:#f8f8f8;
  --mono-border:#e5e5e5;
  --mono-txt:#242424;
  --mono-txt-weak:#606060;
  --mono-txt-invert:#fff;
  --brand-primary:#6D4224;
  --brand-secondary:#C7A07B;
  --brand-accent:#F5F5EE;
  --shadow-xl:0 12px 32px 0 rgba(20,20,20,0.15);
  --shadow-sm:0 1.5px 6px rgba(34,34,34,0.08);
  --radius:14px;
  --radius-xs:7px;
  --transition:.18s cubic-bezier(.4,0,.2,1);
}

body{background:var(--mono-bg);color:var(--mono-txt);font-size:16px;}
.container{max-width:1120px;margin:0 auto;padding:0 20px;}

/* TYPOGRAPHY */
h1{font-size:2.6rem;margin-bottom:24px;letter-spacing:-.02em;}
h2{font-size:2rem;margin-bottom:20px;}
h3{font-size:1.25rem;margin-bottom:16px;}
h4,h5,h6{font-size:1.05rem;}
p{font-size:1.11rem;margin-bottom:18px;line-height:1.7;}
blockquote{background:var(--mono-surface);padding:24px 32px;margin:30px 0;border-left:5px solid var(--brand-primary);font-style:italic;color:var(--brand-primary);border-radius:var(--radius-xs);}

/* HEADER & NAVIGATION */
header{background:var(--mono-bg-contrast);box-shadow:var(--shadow-sm);position:relative;z-index:20;}
header nav{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:16px 0;justify-content:flex-start;}
header nav a{font-family:'Open Sans',Arial,sans-serif;font-weight:500;color:var(--mono-txt-invert);transition:color var(--transition);font-size:1rem;opacity:0.93;padding:7px 11px;border-radius:var(--radius-xs);}
header nav a.primary-cta{background:var(--mono-bg);color:var(--brand-primary);font-weight:700;padding:7px 17px;box-shadow:var(--shadow-sm);border-radius:var(--radius);margin-left:auto;order:100;transition:background var(--transition),color var(--transition);border:1.5px solid var(--brand-primary);}
header nav a.primary-cta:hover,header nav a.primary-cta:focus{background:var(--brand-primary);color:var(--mono-txt-invert);border-color:var(--brand-secondary);}
header nav a:hover,header nav a:focus{color:var(--brand-secondary);background:rgba(255,255,255,0.08);}
header nav a img{height:38px;width:auto;vertical-align:middle;margin-right:12px;}

/* BURGER MOBILE MENU */
.mobile-menu-toggle{display:none;cursor:pointer;background:none;border:none;color:var(--mono-txt-invert);font-size:2.1rem;padding:9px 11px;line-height:1;border-radius:var(--radius-xs);transition:background var(--transition),color var(--transition);position:relative;z-index:31;}
.mobile-menu-toggle:focus,.mobile-menu-toggle:hover{background:var(--brand-secondary);color:var(--brand-primary);}
.mobile-menu{position:fixed;top:0;left:0;height:100vh;width:100vw;background:rgba(24,24,24,0.97);box-shadow:0 0 24px rgba(60,60,60,.08);z-index:50;display:none;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:34px 0 0 0;transform:translateX(-100vw);transition:transform .36s cubic-bezier(.66,.06,.2,1);}
.mobile-menu.open{display:flex;transform:translateX(0);}
.mobile-menu-close{margin-left:20px;background:none;color:var(--mono-txt-invert);font-size:2.2rem;font-weight:700;border:none;cursor:pointer;padding:6px 14px 6px 6px;border-radius:var(--radius-xs);transition:background var(--transition),color var(--transition);margin-bottom:16px;z-index:100;}
.mobile-menu-close:focus,.mobile-menu-close:hover{color:var(--brand-secondary);background:rgba(180,180,180,0.08);}
.mobile-nav{display:flex;flex-direction:column;gap:18px;padding:0 38px 0 34px;margin-top:10px;width:100vw;}
.mobile-nav a{color:var(--brand-secondary);font-size:1.12rem;font-weight:600;padding:12px 0;transition:color var(--transition),background var(--transition);border-radius:var(--radius-xs);}
.mobile-nav a:focus,.mobile-nav a:hover{color:var(--brand-primary);background:rgba(255,255,255,0.07);}
header nav,.mobile-nav{user-select:none;}

@media (max-width:1100px){
  .container{max-width:100%;}
}
@media (max-width:1020px){
  header nav{gap:9px;}
}
@media (max-width:899px){
  header nav{gap:7px;}
  header nav a.primary-cta{padding:7px 11px;}
}
@media (max-width:820px){
  header nav{gap:6px;}
  /* Hide desktop menu, show burger */
  header nav{display:none;}
  .mobile-menu-toggle{display:inline-block;position:absolute;right:20px;top:18px;z-index:55;}
}
@media (max-width:820px){.container{padding:0 8px;}}

/* HERO SECTION */
.hero{background:var(--mono-surface);margin-bottom:60px;padding:40px 0 32px 0;box-shadow:0 7px 24px 0 rgba(52,52,52,0.05);}
.hero .container{display:flex;flex-direction:column;align-items:center;}
.hero .content-wrapper{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;}
.hero h1{color:var(--brand-primary);font-family:'Merriweather',serif;font-weight:900;}
.hero p{font-size:1.20rem;max-width:650px;line-height:1.8;}
.hero .primary-cta{margin-top:18px;}

/* SECTION SPACING AND FLEX LAYOUTS */
.section{margin-bottom:60px;padding:40px 20px;}
.card-container{display:flex;flex-wrap:wrap;gap:24px;}
.card{margin-bottom:20px;position:relative;background:var(--mono-bg);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition);}
.card:hover{box-shadow:var(--shadow-xl);}
.content-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;}
.text-image-section{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.testimonial-card{display:flex;align-items:center;gap:20px;padding:20px;background:var(--mono-bg);border:1.2px solid var(--mono-border);border-radius:var(--radius-xs);box-shadow:0 2.5px 12px rgba(64,64,64,0.07);margin-bottom:22px;transition:border-color var(--transition),box-shadow var(--transition);}
.testimonial-card:hover,.testimonial-card:focus-within{border-color:var(--brand-secondary);box-shadow:var(--shadow-xl);}
.feature-item{display:flex;flex-direction:column;align-items:flex-start;gap:15px;}

/* CARDS and ICON LISTS */
ul,ol{margin-bottom:18px;}
ul li,ol li{display:flex;align-items:center;gap:12px;font-size:1.0625rem;color:var(--mono-txt);margin-bottom:13px;}
ul li img,ol li img{width:28px;height:28px;flex-shrink:0;filter:grayscale(1) contrast(1.1);opacity:0.90;}
.about{background:var(--mono-bg-contrast);color:var(--mono-txt-invert);border-radius:var(--radius);margin-bottom:60px;}
.about h2,.about h3{color:var(--brand-secondary);}
.about p, .about ul li{color:var(--mono-txt-invert);}

/* TESTIMONIALS */
.testimonials .testimonial-card{background:var(--mono-surface);border:1.8px solid var(--brand-accent);color:var(--brand-primary);box-shadow:0 2.5px 12px rgba(64,64,64,.08);}
.testimonials .testimonial-card p{color:var(--brand-primary);font-style:italic;}
.testimonials .testimonial-card span{font-size:.98rem;color:var(--mono-txt-weak);margin-left:18px;}
.testimonials h2{color:var(--brand-primary);margin-top:8px;}

/* CTAS */
.primary-cta, .testimonials .primary-cta{display:inline-block;background:var(--brand-primary);color:var(--mono-txt-invert);font-weight:700;font-family:'Merriweather',serif;font-size:1.13rem;padding:12px 28px;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:none;cursor:pointer;transition:background var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition);margin-top:5px;letter-spacing:.02em;}
.primary-cta:hover,.primary-cta:focus{background:#2f1c0a;color:var(--brand-secondary);box-shadow:var(--shadow-xl);transform:translateY(-2px) scale(1.025);}

/* CARDS */
.card-content{display:flex;flex-direction:column;justify-content:center;padding:22px 22px 16px 22px;gap:12px;}
.card-title{font-family:'Merriweather',serif;font-size:1.22rem;font-weight:700;margin-bottom:7px;}
.card-meta{font-size:.98rem;color:var(--mono-txt-weak);margin-bottom:10px;}

/* FORM ELEMENTS */
input,textarea,select{font-family:inherit;font-size:1rem;padding:8px 13px;border:1.2px solid var(--mono-border);border-radius:var(--radius-xs);color:var(--mono-txt);background:var(--mono-bg);box-sizing:border-box;transition:border var(--transition),box-shadow var(--transition);margin-bottom:12px;}
input:focus,textarea:focus,select:focus{border-color:var(--brand-secondary);box-shadow:0 0 0 1.5px var(--brand-secondary);}

/* FOOTER */
footer{background:var(--brand-primary);color:var(--mono-txt-invert);padding:0;}
footer .container{padding-top:24px;padding-bottom:24px;}
footer .content-wrapper{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px;}
footer nav{display:flex;flex-wrap:wrap;gap:16px;font-size:.97rem;align-items:center;}
footer nav a{color:var(--brand-secondary);opacity:0.93;transition:color var(--transition),opacity var(--transition);}
footer nav a:hover,footer nav a:focus{color:var(--mono-txt-invert);text-decoration:underline;opacity:1;}
footer .brand-mini-about{display:flex;align-items:center;gap:16px;}
footer .brand-mini-about img{height:44px;}
footer .brand-mini-about p{font-size:.99rem;line-height:1.7;color:var(--brand-accent);}

@media (max-width:670px){
  footer .content-wrapper{flex-direction:column;align-items:flex-start;gap:17px;}
  footer .brand-mini-about{flex-direction:column;align-items:flex-start;gap:10px;}
}

/* SECTION, CARD & FLEX LAYOUTS (DESKTOP) */
@media (min-width:769px){
  .section{margin-bottom:60px;padding:40px 20px;}
  .card-container,.content-grid{flex-direction:row;}
  .text-image-section{flex-direction:row;align-items:center;}
}
@media (max-width:768px){
  .section{margin-bottom:36px;padding:25px 7px;}
  .content-wrapper{padding:0 2px;}
  .card-container,.content-grid{flex-direction:column;gap:20px;}
  .text-image-section{flex-direction:column;align-items:flex-start;gap:22px;}
}

/* DIALOG CARD SPACING */
.card, .testimonial-card, .feature-item{margin-bottom:20px;}
.section .card-container > .card:last-child,.section .testimonial-card:last-child{margin-bottom:0;}

/* MICRO-INTERACTIONS */
nav a, .primary-cta, button, .mobile-menu-close, .mobile-menu-toggle{transition:all var(--transition);}
.card,.testimonial-card{transition:box-shadow .18s cubic-bezier(.49,.7,.2,1),border-color var(--transition);}
.card:hover,.testimonial-card:hover{box-shadow:var(--shadow-xl);}

/* TABLES (for data lists if used) */
table{width:100%;border-collapse:collapse;margin:22px 0;font-size:1rem;}
th,td{border:1.2px solid var(--mono-border);padding:12px 8px;text-align:left;}
th{background:var(--mono-surface);font-family:'Merriweather',serif;}

/* COOKIE CONSENT BANNER */
.cookie-consent-banner{position:fixed;bottom:0;left:0;width:100vw;z-index:1111;background:rgba(36,36,36,0.96);color:var(--mono-txt-invert);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 18px 20px 22px;box-shadow:0 -4px 26px rgba(26,26,26,0.10);font-size:1.05rem;animation:slide-up-cc .45s cubic-bezier(.43,.72,.16,1);}
@keyframes slide-up-cc{from{transform:translateY(100%);opacity:.4;}to{transform:translateY(0);opacity:1;}}
.cookie-consent-banner span{max-width:540px;display:block;line-height:1.6;}
.cookie-consent-actions{display:flex;gap:15px;align-items:center;margin-left:auto;}
.cookie-btn{padding:9px 24px;background:var(--brand-primary);color:var(--mono-txt-invert);font-weight:600;border-radius:var(--radius-xs);border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition);font-family:'Merriweather',serif;}
.cookie-btn:hover,.cookie-btn:focus{background:var(--brand-secondary);color:var(--brand-primary);box-shadow:var(--shadow-xl);transform:translateY(-2px) scale(1.032);}
.cookie-btn.cookie-settings{background:var(--mono-bg);color:var(--brand-primary);border:1.2px solid var(--brand-primary);}
.cookie-btn.cookie-settings:hover,.cookie-btn.cookie-settings:focus{background:var(--brand-primary);color:var(--mono-txt-invert);}

@media (max-width:520px){
  .cookie-consent-banner{flex-direction:column;align-items:flex-start;padding:19px 3vw;gap:19px;}
  .cookie-consent-actions{flex-direction:column;gap:10px;margin-left:0;}
}

/* COOKIE PREFERENCES MODAL */
.cookie-consent-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(26,26,26,0.76);z-index:3001;display:none;align-items:center;justify-content:center;animation:fade-in-ccm .2s cubic-bezier(.44,.78,.18,1);}
@keyframes fade-in-ccm{from{opacity:.4;}to{opacity:1;}}
.cookie-consent-modal.open{display:flex;}
.cookie-modal-content{background:var(--mono-bg);color:var(--mono-txt);border-radius:var(--radius);box-shadow:0 10px 38px rgba(40,40,40,0.19);padding:40px 34px;max-width:410px;width:calc(100vw - 30px);font-size:1rem;display:flex;flex-direction:column;gap:18px;position:relative;}
.cookie-modal-content h2{color:var(--brand-primary);font-size:1.36rem;margin-bottom:13px;}
.cookie-modal-content label{display:flex;align-items:center;gap:9px;font-size:1rem;padding:9px 0;}
.cookie-modal-actions{display:flex;gap:17px;justify-content:flex-end;margin-top:13px;}
.cookie-modal-close{position:absolute;top:14px;right:17px;background:none;border:none;color:var(--brand-primary);font-size:1.5rem;cursor:pointer;padding:3px 8px;border-radius:var(--radius-xs);transition:background var(--transition);}
.cookie-modal-close:hover,.cookie-modal-close:focus{background:var(--brand-accent);}
.cookie-modal-categories{display:flex;flex-direction:column;gap:13px;}
.cookie-modal-categories .disabled{opacity:.6;cursor:not-allowed;}

/* UTILITIES */
.sr-only{position:absolute;left:-100vw;top:auto;width:1px;height:1px;overflow:hidden;}
.mt-1{margin-top:8px;}.mb-1{margin-bottom:8px;}.my-2{margin-top:16px;margin-bottom:16px;}

/* FINE GRAINED SPACING */
.content-wrapper{display:flex;flex-direction:column;gap:16px;padding:0;}

/* RESPONSIVE FINE TUNING */
@media (max-width:460px){
  h1{font-size:2rem;}
  .hero h1{font-size:1.32rem;}
  h2{font-size:1.18rem;}
  .primary-cta{padding:11px 13px;font-size:1rem;}
}

/* ACCESSIBILITY & FOCUS */
:focus-visible{outline:2.2px solid var(--brand-secondary);outline-offset:2px;}
button:focus-visible{outline:2.2px solid var(--brand-secondary);}

/* HIDE MOBILE MENU NAV ON DESKTOP */
@media (min-width:821px){
  .mobile-menu,.mobile-menu-toggle{display:none!important;}
  header nav{display:flex!important;}
}

/* PREVENT OVERLAP & MINIMUM SPACING */
.card,.testimonial-card,.feature-item,.section,.hero,.about{margin-bottom:20px;}

/* ANIMATIONS */
a,.primary-cta,button,input,.testimonial-card{transition:all var(--transition);}

/* ADDITIONAL BRAND INTEGRATION */
h1,h2,h3{font-family:'Merriweather',serif;letter-spacing:-.008em;}
p,ul,ol,li{font-family:'Open Sans',Arial,sans-serif;}

/* CUSTOM SCROLLBAR (for sophistication) */
::-webkit-scrollbar{width:8px;background:var(--mono-bg);}
::-webkit-scrollbar-thumb{background:var(--mono-border);border-radius:8px;}

/* Hide by default - devs must toggle with JS */
.cookie-consent-banner,.cookie-consent-modal{display:none;}

/* --- END OF STYLE.CSS --- */
