@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{
  --black:#050505;
  --midnight:#0b0b0b;
  --charcoal:#1d1d1d;
  --charcoal-2:#262626;
  --gold:#d4a72c;
  --gold-light:#e7bd4a;
  --cream:#f1eee7;
  --muted:#aaa59b;
  --line:rgba(212,167,44,.34);
  --red:#9d1c1c;
  --max:1240px;
  --pad:clamp(20px,4vw,56px);
  --radius:4px;
  --shadow:0 24px 70px rgba(0,0,0,.34);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--cream);font-family:Montserrat,Arial,sans-serif;line-height:1.6}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{cursor:pointer}

.site-shell{min-height:100vh;background:linear-gradient(rgba(5,5,5,.94),rgba(5,5,5,.94)),url('../assets/backgrounds/warpath-stone-texture.jpg') center top/900px auto repeat}
.container{width:min(calc(100% - (var(--pad)*2)),var(--max));margin-inline:auto}

/* HEADER */
.site-header{position:sticky;top:0;z-index:100;background:rgba(5,5,5,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-inner{height:80px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand img{width:170px;max-height:54px;object-fit:contain;object-position:left center}
.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(16px,2.2vw,30px)}
.nav a{font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cream);transition:.18s ease}
.nav a:hover,.nav a.active{color:var(--gold-light)}
.nav .nav-store{border:1px solid var(--gold);padding:9px 13px;border-radius:2px}
.nav-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--cream);align-items:center;justify-content:center}
.nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:"";display:block;width:20px;height:2px;background:currentColor;position:absolute}
.nav-toggle::before{transform:translateY(-6px)}
.nav-toggle::after{transform:translateY(6px)}

/* TYPE */
.eyebrow{margin:0 0 14px;color:var(--gold-light);font-size:.76rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
h1,h2,h3,.display{font-family:'Cormorant Garamond',Georgia,serif;text-transform:uppercase;letter-spacing:-.025em;line-height:.94;margin:0;color:var(--cream);font-weight:700}
h1{font-size:clamp(4rem,8vw,8rem)}
h2{font-size:clamp(2.8rem,5vw,5.2rem)}
h3{font-size:clamp(1.65rem,2.5vw,2.4rem)}
.gold{color:var(--gold-light)}
.lead{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.75;color:#d4d0c7;max-width:760px}
.muted{color:var(--muted)}

/* SHARED SECTIONS */
.section{padding:clamp(72px,9vw,120px) 0;border-top:1px solid rgba(212,167,44,.1)}
.section-tight{padding:clamp(50px,6vw,76px) 0}
.section-dark{background:rgba(0,0,0,.38)}
.section-header{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:54px;align-items:end;margin-bottom:46px}
.section-header .lead{margin:0}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}

/* BUTTONS */
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{min-height:52px;padding:13px 22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:2px;background:var(--gold);color:#080808;font-weight:800;font-size:.86rem;letter-spacing:.07em;text-transform:uppercase;transition:.18s ease}
.btn:hover{transform:translateY(-2px);background:var(--gold-light)}
.btn-ghost{background:rgba(0,0,0,.3);color:var(--cream)}
.btn-ghost:hover{background:rgba(212,167,44,.12);color:var(--gold-light)}

/* CARDS */
.card{position:relative;padding:28px;background:linear-gradient(180deg,rgba(35,35,35,.94),rgba(10,10,10,.95));border:1px solid rgba(255,255,255,.07);box-shadow:var(--shadow)}
.card::before{content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:var(--gold)}
.card p:last-child{margin-bottom:0}
.card .eyebrow{margin-bottom:8px}

/* HERO */
.hero{position:relative;min-height:calc(100vh - 80px);display:grid;align-items:end;overflow:hidden;background:#090909}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 32%;filter:saturate(.95) contrast(1.08)}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 42%,rgba(0,0,0,.25) 72%,rgba(0,0,0,.48) 100%),linear-gradient(0deg,rgba(0,0,0,.78) 0%,transparent 48%)}
.hero-content{position:relative;z-index:2;padding:clamp(90px,12vw,155px) 0 78px;max-width:880px}
.hero h1{max-width:900px}
.hero .lead{max-width:720px;margin:22px 0 0}
.hero-mark{position:absolute;z-index:2;right:var(--pad);top:48px;width:110px;opacity:.8}

/* PHOTO PANELS */
.photo-panel{position:relative;min-height:480px;overflow:hidden;background:#111}
.photo-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.photo-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.1) 65%)}
.photo-panel-content{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}
.photo-panel-content p{margin:8px 0 0;color:#ddd7ce}

/* ROUTES */
.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.route-card{min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;background:#121212;border:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden}
.route-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.18))}
.route-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.route-card>*{position:relative;z-index:2}
.route-card .route-link{margin-top:16px;color:var(--gold-light);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* WARPATH */
.warpath-page{background:linear-gradient(rgba(5,5,5,.82),rgba(5,5,5,.82)),url('../assets/backgrounds/warpath-stone-texture.jpg') center top/950px auto repeat}
.warpath-hero{position:relative;padding:125px 0 92px;border-bottom:1px solid var(--line);overflow:hidden}
.warpath-hero::before{content:"";position:absolute;inset:18px;border:1px solid rgba(212,167,44,.55);pointer-events:none}
.warpath-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:56px;align-items:center}
.warpath-hero-logo{width:min(420px,85%);justify-self:center;filter:drop-shadow(0 20px 36px rgba(0,0,0,.52))}
.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:36px}
.module-card{padding:28px;background:rgba(18,18,18,.92);border:1px solid rgba(255,255,255,.07);border-top:2px solid var(--gold)}
.module-card p{color:#c9c4bb}
.phase-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:38px}
.phase-strip img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}
.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px}
.offer{padding:34px;background:rgba(15,15,15,.94);border:1px solid var(--line)}
.offer.featured{background:linear-gradient(180deg,rgba(212,167,44,.13),rgba(15,15,15,.94) 44%)}
.price{font-family:'Cormorant Garamond',Georgia,serif;font-size:3.3rem;line-height:1;color:var(--cream);margin:20px 0 8px}
.feature-list{list-style:none;padding:0;margin:22px 0 0}
.feature-list li{position:relative;padding:10px 0 10px 20px;border-bottom:1px solid rgba(255,255,255,.06);color:#d0cbc2}
.feature-list li::before{content:"•";position:absolute;left:0;color:var(--gold-light)}

/* STORE */
.store-hero{padding:100px 0 70px;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.46)),url('../assets/gallery/michiganphotographer-39.webp') center 52%/cover no-repeat;border-bottom:1px solid var(--line)}
.collection-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 36px}
.filter-btn{border:1px solid var(--line);background:#121212;color:var(--cream);padding:10px 15px;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.filter-btn.active,.filter-btn:hover{background:var(--gold);color:#050505}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.product-card{background:#101010;border:1px solid rgba(255,255,255,.08);overflow:hidden;transition:.2s ease}
.product-card:hover{transform:translateY(-3px);border-color:var(--line)}
.product-image{aspect-ratio:4/5;background:#171717;overflow:hidden}
.product-image img{width:100%;height:100%;object-fit:cover;transition:.3s ease}
.product-card:hover .product-image img{transform:scale(1.025)}
.product-copy{padding:20px}
.product-copy h3{font-size:1.7rem}
.product-price{color:var(--gold-light);font-weight:800;margin-top:5px}
.product-meta{font-size:.82rem;color:var(--muted);margin-top:4px}
.product-actions{display:flex;gap:9px;margin-top:16px}
.product-actions .btn{min-height:44px;padding:10px 14px;font-size:.75rem;flex:1}
.store-note{margin-top:34px;padding:18px 20px;border:1px solid var(--line);background:rgba(212,167,44,.06);color:#d7d2c8;font-size:.9rem}

/* PRODUCT */
.product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:52px;align-items:start}
.product-main-image{background:#111;border:1px solid rgba(255,255,255,.08);overflow:hidden}
.product-main-image img{width:100%;aspect-ratio:4/5;object-fit:cover}
.product-details{position:sticky;top:110px}
.product-details .price{font-size:2.7rem}
.option-label{display:block;margin:20px 0 8px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.option-select{width:100%;padding:13px 14px;background:#101010;color:var(--cream);border:1px solid var(--line)}

/* CART */
.cart-list{display:grid;gap:14px;margin-top:30px}
.cart-item{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center;padding:16px;background:#101010;border:1px solid rgba(255,255,255,.08)}
.cart-item img{width:110px;height:130px;object-fit:cover}
.cart-total{margin-top:30px;padding:24px;border:1px solid var(--line);background:#101010;display:flex;justify-content:space-between;align-items:center;gap:20px}

/* GALLERY */
.gallery-hero{padding:96px 0 64px;background:#090909;border-bottom:1px solid var(--line)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.gallery-grid{columns:4 260px;column-gap:14px}
.gallery-item{break-inside:avoid;margin:0 0 14px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:#111;cursor:zoom-in}
.gallery-item img{width:100%;height:auto;transition:.24s ease}
.gallery-item:hover img{transform:scale(1.02);filter:brightness(.82)}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.88));font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:.18s ease}
.gallery-item:hover .gallery-caption{opacity:1}
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:28px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,92vw);max-height:86vh;object-fit:contain}
.lightbox-close{position:absolute;top:20px;right:22px;width:46px;height:46px;border:1px solid var(--line);background:#111;color:var(--cream);font-size:1.5rem}

/* ABOUT */
.about-hero{position:relative;min-height:560px;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.5)),url('../assets/gallery/michiganphotographer-50.webp') center 24%/cover no-repeat;padding:110px 0 70px}
.w-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:34px}
.w-card{padding:22px 18px;background:#101010;border-top:2px solid var(--gold);min-height:205px}
.w-letter{font-family:'Cormorant Garamond',Georgia,serif;font-size:3rem;color:var(--gold-light);line-height:1}
.w-card h3{font-size:1.55rem;margin-top:4px}
.w-card p{font-size:.88rem;color:#c8c3ba}
.owner-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:46px;align-items:start}
.owner-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line)}
.story-copy p{font-size:1rem;color:#d0cbc2;line-height:1.8}
.story-pull{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,3.5vw,3.7rem);line-height:1;color:var(--gold-light);margin:34px 0}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:38px}
.contact-panel{padding:28px;background:#101010;border:1px solid var(--line)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;background:#0b0b0b;color:var(--cream);border:1px solid rgba(212,167,44,.36);outline:none}
.field textarea{min-height:170px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.form-status{font-size:.85rem;color:var(--gold-light);margin-top:14px}

/* FOOTER */
.site-footer{padding:54px 0 34px;border-top:1px solid var(--line);background:#050505}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:42px}
.footer-mark{width:66px;margin-bottom:14px}
.footer-copy{color:var(--muted);max-width:420px;font-size:.9rem}
.footer-title{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);margin-bottom:12px}
.footer-links{display:grid;gap:8px;font-size:.9rem;color:#cfc9c0}
.footer-bottom{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;gap:16px;color:#777;font-size:.78rem}

/* MOBILE */
@media(max-width:1000px){
  .route-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .w-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .warpath-hero-grid,.product-layout{grid-template-columns:1fr}
  .warpath-hero-logo{width:min(280px,60vw)}
  .product-details{position:static}
}

@media(max-width:760px){
  :root{--pad:22px}
  .header-inner{height:70px}
  .brand img{width:145px}
  .nav-toggle{display:flex;position:relative}
  .nav{position:fixed;left:0;right:0;top:70px;background:#080808;border-bottom:1px solid var(--line);padding:22px var(--pad) 28px;display:none;flex-direction:column;align-items:stretch;gap:4px}
  .nav.open{display:flex}
  .nav a{padding:12px 0;font-size:.95rem}
  .nav .nav-store{padding:12px 0;border:0;border-top:1px solid var(--line);margin-top:6px}
  .hero{min-height:720px}
  .hero-media::after{background:linear-gradient(0deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.62) 64%,rgba(0,0,0,.24) 100%)}
  .hero-content{padding:250px 0 60px}
  .hero-mark{right:18px;top:28px;width:74px}
  .section-header{grid-template-columns:1fr;gap:18px}
  .grid-2,.grid-3,.route-grid,.product-grid,.module-grid,.offer-grid,.phase-strip{grid-template-columns:1fr}
  .grid-4{grid-template-columns:1fr}
  .actions{flex-direction:column}.btn{width:100%}
  .photo-panel{min-height:390px}
  .w-grid{grid-template-columns:1fr}
  .owner-grid,.contact-grid{grid-template-columns:1fr}
  .owner-photo{max-width:480px}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
  .cart-item{grid-template-columns:80px 1fr}.cart-item img{width:80px;height:96px}.cart-item>div:last-child{grid-column:2}
  .cart-total{flex-direction:column;align-items:flex-start}
  .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
  .gallery-grid{columns:2 160px}
}

@media(max-width:430px){
  h1{font-size:clamp(3.5rem,17vw,5.2rem)}
  h2{font-size:clamp(2.6rem,13vw,4rem)}
  .gallery-grid{columns:1}
}


/* CLICKABLE HOME EXPERIENCE CARDS */
.photo-panel-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  outline:none;
}
.photo-panel-link::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid transparent;
  pointer-events:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.photo-panel-link:hover::after,
.photo-panel-link:focus-visible::after{
  border-color:var(--gold);
  box-shadow:inset 0 0 0 1px rgba(212,167,44,.18);
}
.photo-panel-link:hover img,
.photo-panel-link:focus-visible img{
  transform:scale(1.025);
  filter:brightness(.78);
}
.photo-panel img{transition:transform .28s ease,filter .28s ease}
.panel-cta{
  display:inline-block;
  margin-top:16px;
  color:var(--gold-light);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* ABOUT STORY HUB */
.story-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:38px;
}
.story-card{
  position:relative;
  min-height:520px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#0b0b0b;
  color:var(--cream);
  text-align:left;
  cursor:pointer;
  appearance:none;
  transition:transform .2s ease,border-color .2s ease;
}
.story-card:hover,
.story-card:focus-visible{
  transform:translateY(-4px);
  border-color:var(--gold);
  outline:none;
}
.story-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}
.story-card:hover img,
.story-card:focus-visible img{
  transform:scale(1.035);
  filter:brightness(.78);
}
.story-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 18%,rgba(0,0,0,.92) 88%);
}
.story-card-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:28px;
}
.story-card-content h2{
  font-size:clamp(2.8rem,4vw,4.5rem);
  margin-bottom:8px;
}
.story-card-content p:not(.eyebrow){
  margin:0;
  max-width:360px;
  color:#d2cdc4;
  line-height:1.55;
}

/* STORY MODALS */
.story-modal{
  position:fixed;
  inset:0;
  z-index:500;
  display:none;
  align-items:center;
  justify-content:center;
  padding:30px;
}
.story-modal.open{
  display:flex;
}
.story-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(5px);
}
.story-modal-dialog{
  position:relative;
  z-index:1;
  width:min(900px,94vw);
  max-height:88vh;
  overflow:auto;
  padding:42px;
  background:
    linear-gradient(180deg,rgba(26,26,26,.98),rgba(8,8,8,.98));
  border:1px solid var(--line);
  box-shadow:0 28px 90px rgba(0,0,0,.6);
}
.story-modal-dialog-wide{
  width:min(1120px,94vw);
}
.story-modal-close{
  position:sticky;
  float:right;
  top:0;
  z-index:3;
  width:46px;
  height:46px;
  margin:-18px -18px 0 20px;
  border:1px solid var(--line);
  background:#0b0b0b;
  color:var(--cream);
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
}
.story-modal-close:hover,
.story-modal-close:focus-visible{
  border-color:var(--gold);
  color:var(--gold-light);
  outline:none;
}
.story-modal-header{
  padding-right:44px;
}
.story-modal-header h2{
  margin-bottom:10px;
}
.story-modal-body{
  margin-top:28px;
}
.story-modal-body>p{
  color:#d0cbc2;
  font-size:1rem;
  line-height:1.82;
}
.modal-w-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:28px 0;
}
.modal-w-grid>div{
  padding:18px 15px;
  background:#101010;
  border-top:2px solid var(--gold);
}
.modal-w-grid span{
  display:block;
  margin-bottom:7px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.8rem;
  color:var(--gold-light);
}
.modal-w-grid p{
  margin:0;
  color:#c9c4ba;
  font-size:.83rem;
  line-height:1.55;
}
.story-modal-owner{
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);
  gap:40px;
  align-items:start;
}
.story-modal-owner-photo img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  border:1px solid var(--line);
}
body.modal-open{
  overflow:hidden;
}

/* BRAND CASING / DISPLAY */
.brand-name{
  white-space:nowrap;
  letter-spacing:0;
}

@media(max-width:1000px){
  .story-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-card:last-child{grid-column:1/-1;min-height:430px}
  .modal-w-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-modal-owner{grid-template-columns:1fr}
  .story-modal-owner-photo{max-width:420px}
}

@media(max-width:760px){
  .story-card-grid{grid-template-columns:1fr}
  .story-card,
  .story-card:last-child{
    grid-column:auto;
    min-height:440px;
  }
  .story-modal{
    padding:10px;
    align-items:flex-end;
  }
  .story-modal-dialog,
  .story-modal-dialog-wide{
    width:100%;
    max-height:94vh;
    padding:28px 22px 34px;
    border-radius:0;
  }
  .story-modal-close{
    width:42px;
    height:42px;
    margin:-8px -6px 0 14px;
  }
  .modal-w-grid{grid-template-columns:1fr}
  .story-modal-owner-photo{max-width:none}
}


/* =========================================================
   v2.2 TYPOGRAPHY SYSTEM
   Cormorant Garamond = display / story / brand headlines
   Montserrat = navigation / UI / buttons / body
   ========================================================= */

h1,
h2,
h3,
.display,
.price,
.w-letter,
.story-pull,
.modal-w-grid span {
  font-family: "Cormorant Garamond", Georgia, serif;
}

h1,
h2,
.display {
  font-weight: 700;
  letter-spacing: -0.03em;
}

h3 {
  font-weight: 700;
  letter-spacing: -0.01em;
}

.eyebrow,
.btn,
.nav,
.nav a,
.panel-cta,
.product-meta,
.footer-title,
.footer-links,
.story-card .eyebrow,
.warpath-module-label {
  font-family: "Montserrat", Arial, sans-serif;
}

.brand-name,
[data-brand-name] {
  text-transform: none;
  letter-spacing: 0;
}


/* =========================================================
   v2.3 HOME ROUTE CARD TITLE CONTRAST
   ========================================================= */

.route-card h3 {
  color: var(--gold-light) !important;
}

.route-card:hover h3,
.route-card:focus-visible h3 {
  color: var(--gold) !important;
}


/* =========================================================
   v2.4 HOME PATHWAY CARDS
   ========================================================= */

.pathway-section{
  border-top:1px solid var(--line);
}

.pathway-header{
  max-width:820px;
  margin-bottom:38px;
}

.pathway-header h2{
  margin-bottom:16px;
}

.pathway-header .lead{
  max-width:760px;
  margin:0;
}

.pathway-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}

.pathway-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  background:#0d0d0d;
  border:1px solid rgba(255,255,255,.08);
  color:var(--cream);
  text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.pathway-card:hover,
.pathway-card:focus-visible{
  transform:translateY(-5px);
  border-color:var(--gold);
  box-shadow:0 18px 46px rgba(0,0,0,.32);
  outline:none;
}

.pathway-card-media{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#111;
}

.pathway-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18));
  pointer-events:none;
}

.pathway-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease,filter .35s ease;
}

.pathway-card:hover .pathway-card-media img,
.pathway-card:focus-visible .pathway-card-media img{
  transform:scale(1.035);
  filter:brightness(.92);
}

.pathway-card-body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:24px 24px 26px;
  border-top:2px solid var(--gold);
}

.pathway-card-body .eyebrow{
  margin-bottom:8px;
}

.pathway-card-body h3{
  margin:0 0 12px;
  color:var(--gold-light);
  font-size:clamp(2.1rem,3vw,3.1rem);
  line-height:.98;
}

.pathway-card-body>p:not(.eyebrow){
  margin:0 0 20px;
  color:#d0cbc2;
  line-height:1.62;
}

.pathway-link{
  margin-top:auto;
  color:var(--gold-light);
  font-family:"Montserrat",Arial,sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pathway-card:hover .pathway-link,
.pathway-card:focus-visible .pathway-link{
  color:var(--gold);
}

@media(max-width:980px){
  .pathway-grid{
    grid-template-columns:1fr 1fr;
  }

  .pathway-card:last-child{
    grid-column:1/-1;
  }

  .pathway-card:last-child .pathway-card-media{
    aspect-ratio:16/7;
  }
}

@media(max-width:700px){
  .pathway-header{
    margin-bottom:28px;
  }

  .pathway-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .pathway-card:last-child{
    grid-column:auto;
  }

  .pathway-card-media,
  .pathway-card:last-child .pathway-card-media{
    aspect-ratio:4/3;
  }

  .pathway-card-body{
    padding:22px;
  }
}


/* =========================================================
   v2.7 ABOUT PAGE
   ========================================================= */

.about-hero-v2{
  padding:126px 0 96px;
  border-bottom:1px solid var(--line);
}

.about-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);
  gap:56px;
  align-items:center;
}

.about-hero-mark{
  display:flex;
  justify-content:center;
}

.about-hero-mark img{
  width:min(280px,70%);
  opacity:.9;
  filter:drop-shadow(0 18px 46px rgba(0,0,0,.45));
}

.story-card-grid-v2{
  margin-top:40px;
}

.story-card-v2{
  min-height:540px;
}

.story-card-v2 .story-card-content{
  padding:30px;
}

.story-card-v2 .story-card-content h2{
  color:var(--gold-light);
}

.about-bridge-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:56px;
  align-items:start;
}

.about-bridge-grid p:not(.eyebrow){
  color:#d0cbc2;
  line-height:1.75;
}

.story-modal-story-grid{
  display:grid;
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);
  gap:40px;
  align-items:start;
}

.story-modal-feature{
  position:relative;
  overflow:hidden;
  min-height:430px;
  background:#0c0c0c;
  border:1px solid var(--line);
}

.story-modal-feature img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
}

.story-modal-feature-contain{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:50px;
  background:
    radial-gradient(circle at center,rgba(176,138,60,.12),transparent 58%),
    #0b0b0b;
}

.story-modal-feature-contain img{
  width:min(270px,80%);
  height:auto;
  min-height:0;
  object-fit:contain;
}

.five-w-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:34px 0 24px;
}

.five-w-grid article{
  min-width:0;
  padding:20px 16px;
  background:#101010;
  border-top:2px solid var(--gold);
}

.five-w-grid span{
  display:block;
  margin-bottom:8px;
  color:var(--gold-light);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:2rem;
  font-weight:700;
  line-height:1;
}

.five-w-grid p{
  margin:0;
  color:#c9c4ba;
  font-size:.84rem;
  line-height:1.55;
}

.story-modal-bottom-copy{
  max-width:900px;
}

.story-modal-owner-v2{
  gap:46px;
}

@media(max-width:1000px){
  .about-hero-grid,
  .about-bridge-grid,
  .story-modal-story-grid{
    grid-template-columns:1fr;
  }

  .about-hero-mark{
    justify-content:flex-start;
  }

  .about-hero-mark img{
    width:180px;
  }

  .five-w-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .five-w-grid article:last-child{
    grid-column:1/-1;
  }

  .story-modal-feature{
    min-height:320px;
  }

  .story-modal-feature img{
    min-height:320px;
  }
}

@media(max-width:700px){
  .about-hero-v2{
    padding:94px 0 70px;
  }

  .about-hero-grid{
    gap:30px;
  }

  .about-hero-mark img{
    width:140px;
  }

  .story-card-v2{
    min-height:450px;
  }

  .story-card-v2 .story-card-content{
    padding:24px;
  }

  .five-w-grid{
    grid-template-columns:1fr;
  }

  .five-w-grid article:last-child{
    grid-column:auto;
  }

  .story-modal-story-grid{
    gap:24px;
  }

  .story-modal-feature,
  .story-modal-feature img{
    min-height:260px;
  }

  .story-modal-feature-contain{
    min-height:240px;
    padding:34px;
  }

  .story-modal-feature-contain img{
    min-height:0;
  }
}


/* =========================================================
   v2.8 CONTACT PAGE
   ========================================================= */

.contact-hero{
  padding:126px 0 92px;
  border-bottom:1px solid var(--line);
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);
  gap:56px;
  align-items:center;
}

.contact-hero-mark{
  display:flex;
  justify-content:center;
}

.contact-hero-mark img{
  width:min(250px,68%);
  opacity:.9;
  filter:drop-shadow(0 18px 46px rgba(0,0,0,.45));
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:50px;
  align-items:start;
}

.contact-info-panel>p:not(.eyebrow){
  color:#d0cbc2;
  line-height:1.7;
}

.contact-email{
  display:inline-block;
  margin:20px 0 30px;
  color:var(--gold-light);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.7rem,3vw,2.7rem);
  font-weight:700;
  line-height:1.1;
  text-decoration:none;
  word-break:break-word;
}

.contact-email:hover,
.contact-email:focus-visible{
  color:var(--gold);
}

.contact-reasons{
  display:grid;
  gap:12px;
}

.contact-reasons article{
  padding:20px 22px;
  background:#101010;
  border-left:2px solid var(--gold);
}

.contact-reasons h3{
  margin:0 0 7px;
  color:var(--gold-light);
  font-size:1.35rem;
}

.contact-reasons p{
  margin:0;
  color:#c8c2b8;
  line-height:1.55;
}

.contact-form-card{
  padding:30px;
  background:#0e0e0e;
  border:1px solid rgba(255,255,255,.08);
}

.contact-form{
  display:grid;
  gap:18px;
  margin-top:24px;
}

.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.contact-form label{
  display:grid;
  gap:8px;
}

.contact-form label>span{
  color:var(--gold-light);
  font-family:"Montserrat",Arial,sans-serif;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  padding:14px 15px;
  background:#080808;
  border:1px solid rgba(255,255,255,.12);
  color:var(--cream);
  font:500 .95rem "Montserrat",Arial,sans-serif;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.contact-form textarea{
  resize:vertical;
  min-height:170px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(176,138,60,.12);
}

.contact-form select option{
  background:#111;
  color:var(--cream);
}

.form-note{
  margin:0;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.5;
}

.contact-final-grid{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
}

@media(max-width:900px){
  .contact-hero-grid,
  .contact-grid{
    grid-template-columns:1fr;
  }

  .contact-hero-mark{
    justify-content:flex-start;
  }

  .contact-hero-mark img{
    width:150px;
  }

  .contact-final-grid{
    display:grid;
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .contact-hero{
    padding:94px 0 70px;
  }

  .contact-hero-grid{
    gap:30px;
  }

  .form-row{
    grid-template-columns:1fr;
  }

  .contact-form-card{
    padding:22px;
  }
}


/* =========================================================
   v2.9 LIVE SHOPIFY STOREFRONT
   ========================================================= */

.store-status,
.store-state{
  margin:0 0 28px;
  padding:18px 20px;
  border:1px solid var(--line);
  background:#101010;
  color:#d7d2c8;
}

.store-status[data-kind="success"]{
  border-color:rgba(176,138,60,.5);
  background:rgba(176,138,60,.06);
}

.store-status[data-kind="error"]{
  border-color:rgba(190,75,75,.55);
}

.product-image-placeholder{
  width:100%;
  height:100%;
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#121212;
  color:var(--gold);
  font:700 4rem/1 "Cormorant Garamond",Georgia,serif;
}

.product-image-placeholder.large{
  min-height:620px;
}

.product-copy .eyebrow{
  margin-bottom:6px;
}

.product-title-live{
  font-size:clamp(3.2rem,5.5vw,5.6rem);
  line-height:.92;
}

.product-description-live{
  margin:22px 0 26px;
  color:#d0cbc2;
  line-height:1.72;
}

.product-description-live p{
  margin:0 0 16px;
}

.product-thumbs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
  margin-top:12px;
}

.product-thumb{
  padding:0;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:#111;
}

.product-thumb.active,
.product-thumb:hover{
  border-color:var(--gold);
}

.product-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.product-availability{
  min-height:24px;
  margin:12px 0 4px;
  color:var(--muted);
  font-size:.88rem;
  font-weight:700;
}

.btn:disabled,
.filter-btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  transform:none;
}

.cart-item h3 a{
  color:var(--cream);
  text-decoration:none;
}

.cart-item h3 a:hover{
  color:var(--gold-light);
}

.cart-qty{
  display:inline-flex;
  align-items:center;
  gap:0;
  margin-top:12px;
  border:1px solid var(--line);
}

.cart-qty button{
  width:34px;
  height:34px;
  border:0;
  background:#171717;
  color:var(--cream);
  font-size:1.1rem;
}

.cart-qty button:hover{
  background:var(--gold);
  color:#080808;
}

.cart-qty span{
  min-width:36px;
  text-align:center;
  font-weight:800;
}

.cart-line-actions{
  display:grid;
  justify-items:end;
  gap:12px;
}

.cart-image-placeholder{
  width:110px;
  height:130px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#171717;
  color:var(--gold);
  font:700 2rem/1 "Cormorant Garamond",Georgia,serif;
}

@media(max-width:700px){
  .product-thumbs{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .product-image-placeholder.large{
    min-height:420px;
  }

  .cart-line-actions{
    grid-column:2;
    justify-items:start;
  }

  .cart-image-placeholder{
    width:80px;
    height:96px;
  }
}


/* =========================================================
   v2.11 CART CONTINUE SHOPPING
   ========================================================= */

.cart-checkout-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:12px;
}

@media(max-width:700px){
  .cart-checkout-actions{
    justify-content:flex-start;
  }
}
