*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --cream:#F5F0E8;--cream-mid:#E8E2D8;--cream-dark:#D6D0C6;
  --espresso:#2C3340;--espresso-mid:#242A35;
  --terra:#B85C38;--gold:#B8943E;--warm-gray:#6E7A8A;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'DM Sans',sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--cream);color:var(--espresso);overflow-x:hidden}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 4rem;background:rgba(245,240,232,0.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--cream-dark);transition:box-shadow 0.3s}
.nav-logo{font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--espresso);text-decoration:none;display:flex;align-items:center;gap:0.5rem}
.nav-logo-img{height:32px;width:auto;display:block;object-fit:contain;/* Logo is black on transparent — nav bg is cream so it shows correctly */}
.nav-logo-text{font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{font-size:0.7rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:var(--warm-gray);text-decoration:none;transition:color 0.2s}
.nav-links a:hover,.nav-links a.active{color:var(--terra)}
.nav-cta{background:var(--espresso)!important;color:var(--cream)!important;padding:0.55rem 1.3rem;border-radius:2px;transition:background 0.2s!important}
.nav-cta:hover{background:var(--terra)!important}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--espresso);transition:all 0.3s}
.nav-mobile{display:none}

/* FOOTER */
footer{background:var(--espresso);color:var(--cream);padding:5rem 4rem 2.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:3.5rem;padding-bottom:3.5rem;border-bottom:1px solid rgba(245,240,232,0.08)}
.footer-logo{font-family:var(--font-display);font-size:1.4rem;font-weight:300;letter-spacing:0.12em;text-transform:uppercase;color:var(--cream);margin-bottom:0.9rem}
.footer-tagline{font-size:0.82rem;line-height:1.8;color:rgba(245,240,232,0.45);margin-bottom:1.5rem;max-width:270px}
.footer-contact{font-size:0.78rem;color:rgba(245,240,232,0.45);line-height:1.9}
.footer-col-title{font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(245,240,232,0.3);margin-bottom:1.3rem}
.footer-links{list-style:none}
.footer-links li{margin-bottom:0.75rem}
.footer-links a{font-size:0.83rem;color:rgba(245,240,232,0.55);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:var(--cream)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center}
.footer-bottom p{font-size:0.7rem;color:rgba(245,240,232,0.22)}

/* BUTTONS */
.btn-primary{background:var(--espresso);color:var(--cream);padding:0.85rem 2rem;font-family:var(--font-body);font-size:0.72rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background 0.2s,transform 0.15s;display:inline-block;border:none;cursor:pointer}
.btn-primary:hover{background:var(--terra);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--espresso);padding:0.85rem 2rem;font-family:var(--font-body);font-size:0.72rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;border:1px solid var(--cream-dark);border-radius:2px;transition:border-color 0.2s,background 0.2s;display:inline-block;cursor:pointer}
.btn-outline:hover{border-color:var(--espresso);background:var(--cream-mid)}
.btn-terra{background:var(--terra);color:var(--cream);padding:0.85rem 2rem;font-family:var(--font-body);font-size:0.72rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background 0.2s;display:inline-block;border:none;cursor:pointer}
.btn-terra:hover{background:#8E3E1C}

/* TYPOGRAPHY UTILITIES */
.eyebrow{font-size:0.67rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--terra);margin-bottom:1.4rem;display:flex;align-items:center;gap:0.75rem}
.eyebrow::before{content:'';display:block;width:2rem;height:1px;background:var(--terra);flex-shrink:0}
.eyebrow-plain{font-size:0.67rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--terra);margin-bottom:1.4rem}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3.5rem);font-weight:300;line-height:1.1;color:var(--espresso);margin-bottom:0.75rem}
.section-title em{font-style:italic;color:var(--terra)}
.section-sub{font-size:0.975rem;line-height:1.75;color:var(--warm-gray);max-width:520px;margin-bottom:3rem}
.page-hero{min-height:68vh;display:flex;align-items:flex-end;padding:10rem 4rem 5.5rem;background:var(--espresso-mid);position:relative;overflow:hidden;margin-top:60px}
.page-hero-bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:0.3}
.page-hero-content{position:relative;z-index:2}
.page-hero-content .eyebrow{color:rgba(245,240,232,0.5)}
.page-hero-content .eyebrow::before{background:rgba(245,240,232,0.4)}
.page-hero-content .section-title{color:var(--cream)}
.page-hero-content .section-title em{color:var(--terra)}
.page-hero-content .section-sub{color:rgba(245,240,232,0.65)}

/* SECTIONS */
.section{padding:6rem 4rem}
.section-alt{padding:6rem 4rem;background:var(--cream-mid)}
.section-dark{padding:6rem 4rem;background:var(--espresso)}
.section-terra{padding:6rem 4rem;background:var(--terra)}

/* FORMS */
.form-wrap{background:var(--cream);border:1px solid var(--cream-dark);padding:3rem;max-width:680px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{display:flex;flex-direction:column;margin-bottom:1rem}
.form-group.full{grid-column:1/-1}
label{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--warm-gray);margin-bottom:0.4rem}
input,select,textarea{font-family:var(--font-body);font-size:0.875rem;color:var(--espresso);background:var(--cream-mid);border:1px solid var(--cream-dark);border-radius:2px;padding:0.75rem 1rem;width:100%;transition:border-color 0.2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--terra)}
textarea{resize:vertical;min-height:100px}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B5B4E' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.form-note{font-size:0.75rem;color:var(--warm-gray);line-height:1.6;margin-top:0.35rem}
.form-success{display:none;padding:2rem;background:rgba(184,92,56,0.08);border-left:3px solid var(--terra);margin-top:1.5rem}
.form-success h3{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin-bottom:0.5rem}
.form-success p{font-size:0.875rem;color:var(--warm-gray);line-height:1.7}

/* CARDS */
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}
.card{background:var(--cream-mid);padding:2.5rem}
.card-white{background:var(--cream);padding:2.5rem;border:1px solid var(--cream-dark)}
.card-num{font-family:var(--font-display);font-size:2.5rem;font-weight:300;color:var(--terra);opacity:0.3;line-height:1;margin-bottom:0.75rem}
.card-title{font-family:var(--font-display);font-size:1.7rem;font-weight:400;color:var(--espresso);margin-bottom:0.6rem}
.card-text{font-size:0.875rem;line-height:1.75;color:var(--warm-gray)}

/* STATS */
.stats-bar{background:var(--espresso);display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{padding:2.5rem 2rem;text-align:center;border-right:1px solid rgba(245,240,232,0.08)}
.stat-item:last-child{border-right:none}
.stat-number{font-family:var(--font-display);font-size:2.8rem;font-weight:300;color:var(--cream);line-height:1;margin-bottom:0.35rem}
.stat-number span{color:var(--terra)}
.stat-label{font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(245,240,232,0.4)}

/* PROCESS STEPS */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3rem}
.process-step{padding:2.5rem 2rem;border-right:1px solid var(--cream-dark);position:relative}
.process-step:last-child{border-right:none}
.step-num{font-family:var(--font-display);font-size:3.5rem;font-weight:300;color:var(--cream-dark);line-height:1;margin-bottom:1rem}
.step-title{font-family:var(--font-display);font-size:1.3rem;font-weight:400;color:var(--espresso);margin-bottom:0.5rem}
.step-text{font-size:0.82rem;line-height:1.7;color:var(--warm-gray)}

/* CHECKLIST */
.checklist{list-style:none;margin:1.5rem 0}
.checklist li{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.875rem;color:var(--warm-gray);padding:0.5rem 0;border-bottom:1px solid var(--cream-dark);line-height:1.6}
.checklist li::before{content:'';display:block;width:16px;height:16px;min-width:16px;border-radius:50%;background:var(--terra);margin-top:2px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}

/* SPLIT LAYOUT */
.split-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:60vh}
.split-left{padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center}
.split-right{padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center}
.split-img{position:relative;overflow:hidden}
.split-img img{width:100%;height:100%;object-fit:cover}

/* PRESS STRIP */
.press-strip{background:var(--espresso);padding:3.5rem 4rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.press-label{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:rgba(245,240,232,0.3);white-space:nowrap;margin-right:1rem}
.press-items{display:flex;align-items:center;flex-wrap:wrap;flex:1}
.press-name{font-family:var(--font-display);font-size:1.2rem;font-weight:300;color:rgba(245,240,232,0.38);padding:0.5rem 1.75rem;border-right:1px solid rgba(245,240,232,0.08);transition:color 0.2s;white-space:nowrap}
.press-name:last-child{border-right:none}
.press-name:hover{color:var(--cream)}

/* BRAND PILLS */
.brand-pill{display:inline-flex;align-items:center;gap:0.5rem;background:var(--cream-mid);border:1px solid var(--cream-dark);border-radius:2px;padding:0.4rem 1rem;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--espresso);text-decoration:none;transition:background 0.2s}
.brand-pill:hover{background:var(--cream-dark)}

/* STORE CARDS */
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.store-card{background:var(--cream);border:1px solid var(--cream-dark);padding:2rem;text-decoration:none;color:inherit;transition:border-color 0.2s,transform 0.2s;display:block}
.store-card:hover{border-color:var(--terra);transform:translateY(-2px)}
.store-card-tag{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--terra);margin-bottom:0.6rem}
.store-card-name{font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:var(--espresso);margin-bottom:0.5rem}
.store-card-desc{font-size:0.82rem;color:var(--warm-gray);line-height:1.6;margin-bottom:1rem}
.store-card-link{font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--terra)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.d1{transition-delay:0.1s}.d2{transition-delay:0.2s}.d3{transition-delay:0.3s}.d4{transition-delay:0.4s}

/* CALLOUT */
.callout{padding:2rem 2.5rem;border-left:3px solid var(--terra);background:var(--cream-mid)}
.callout-title{font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--terra);margin-bottom:0.5rem}
.callout p{font-size:0.875rem;line-height:1.7;color:var(--warm-gray)}

/* RESPONSIVE */
@media(max-width:960px){
  nav{padding:1rem 1.5rem}
  .nav-links{display:none}
  .nav-hamburger{display:flex}
  .nav-mobile{display:none;position:fixed;top:60px;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--cream-dark);padding:1.5rem;z-index:99}
  .nav-mobile.open{display:block}
  .nav-mobile a{display:block;padding:0.75rem 0;font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--warm-gray);text-decoration:none;border-bottom:1px solid var(--cream-dark)}
  .nav-mobile .nav-cta{display:block;margin-top:1rem;text-align:center}
  .section,.section-alt,.section-dark,.section-terra{padding:4rem 1.5rem}
  .split-wrap{grid-template-columns:1fr}
  .split-img{height:55vw}
  .card-grid-3,.card-grid-2{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr 1fr}
  .process-step{border-right:none;border-bottom:1px solid var(--cream-dark)}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .store-grid{grid-template-columns:1fr}
  .page-hero{padding:8rem 1.5rem 4rem;min-height:55vh}
  footer{padding:4rem 1.5rem 2rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .form-row{grid-template-columns:1fr}
  .press-strip{padding:2.5rem 1.5rem}
}
