
:root {
  --red:       #C1272D;
  --red-dark:  #9a1f24;
  --red-pale:  rgba(193,39,45,0.08);
  --black:     #111010;
  --ink:       #1c1c1c;
  --mid:       #5a5a5a;
  --soft:      #9a9a9a;
  --rule:      #e8e4e0;
  --cream:     #faf7f4;
  --paper:     #f3ede7;
  --white:     #ffffff;
  --card:      #ffffff;
  --font-d:    'Playfair Display', Georgia, serif;
  --font-b:    'Nunito', system-ui, sans-serif;
  --ease:      cubic-bezier(.25,.46,.45,.94);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-b);background:var(--cream);color:var(--ink);overflow-x:hidden;}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--cream);}
::-webkit-scrollbar-thumb{background:var(--red);border-radius:4px;}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 7%;
  background:rgba(250,247,244,0.88);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--rule);
  transition:all 0.4s var(--ease);
}
nav.scrolled{padding:12px 7%;box-shadow:0 2px 32px rgba(0,0,0,0.06);}
.nav-logo{display:flex;align-items:center;gap:11px;text-decoration:none;}
.nav-logo img{width:38px;height:38px;border-radius:50%;object-fit:cover;}
.nav-brand{font-family:var(--font-d);font-size:1.2rem;color:var(--ink);font-weight:700;letter-spacing:.5px;}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{text-decoration:none;color:var(--mid);font-weight:600;font-size:0.82rem;letter-spacing:1.2px;text-transform:uppercase;transition:color 0.2s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--red);transform:scaleX(0);transition:transform 0.3s var(--ease);transform-origin:left;}
.nav-links a:hover{color:var(--red);}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-links a.active{color:var(--red);}
.nav-links a.active::after{transform:scaleX(1);}
.nav-cta{background:var(--red)!important;color:white!important;padding:10px 24px;border-radius:2px;font-weight:700;font-size:0.8rem;letter-spacing:1px;text-transform:uppercase;transition:background 0.2s,transform 0.2s,box-shadow 0.2s;}
.nav-cta::after{display:none!important;}
.nav-cta:hover{background:var(--red-dark)!important;transform:translateY(-1px);box-shadow:0 6px 20px rgba(193,39,45,0.3)!important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--ink);border-radius:2px;transition:all 0.3s;}

/* ── HERO ── */
#hero{
  min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
  position:relative;overflow:hidden;padding-top:78px;
}
.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 7% 80px calc(7% + 0px);
  position:relative;z-index:2;
}
.hero-eyebrow{
  display:flex;align-items:center;gap:12px;margin-bottom:28px;
}
.hero-eyebrow-line{width:36px;height:1px;background:var(--red);}
.hero-eyebrow-text{font-size:0.72rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);}
.hero-title{
  font-family:var(--font-d);
  font-size:clamp(3rem,5.5vw,5.5rem);
  line-height:1.05;font-weight:900;color:var(--ink);
}
.hero-title em{color:var(--red);font-style:italic;display:block;}
.hero-desc{
  margin-top:24px;font-size:1rem;color:var(--mid);
  line-height:1.8;max-width:400px;font-weight:500;
}
.hero-actions{display:flex;gap:14px;margin-top:40px;flex-wrap:wrap;}
.btn-dark{
  background:var(--ink);color:white;
  padding:14px 30px;font-family:var(--font-b);font-weight:700;
  font-size:0.82rem;letter-spacing:1px;text-transform:uppercase;
  text-decoration:none;border-radius:2px;
  transition:background 0.2s,transform 0.2s,box-shadow 0.2s;display:inline-block;
}
.btn-dark:hover{background:#000;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.2);}
.btn-red{
  background:var(--red);color:white;
  padding:14px 30px;font-family:var(--font-b);font-weight:700;
  font-size:0.82rem;letter-spacing:1px;text-transform:uppercase;
  text-decoration:none;border-radius:2px;
  transition:background 0.2s,transform 0.2s,box-shadow 0.2s;display:inline-block;
}
.btn-red:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(193,39,45,0.35);}
.btn-ghost{
  background:transparent;color:var(--ink);
  padding:13px 30px;font-family:var(--font-b);font-weight:700;
  font-size:0.82rem;letter-spacing:1px;text-transform:uppercase;
  text-decoration:none;border-radius:2px;border:1.5px solid var(--rule);
  transition:border-color 0.2s,color 0.2s,transform 0.2s;display:inline-block;
}
.btn-ghost:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px);}
.hero-stats{display:flex;gap:40px;margin-top:52px;}
.h-stat-num{font-family:var(--font-d);font-size:2rem;font-weight:800;color:var(--ink);line-height:1;}
.h-stat-label{font-size:0.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--soft);margin-top:4px;}
.hero-right{
  position:relative;overflow:hidden;background:var(--cream);
}
.hero-right img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.hero-right::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right, rgba(250,247,244,0.5) 0%, rgba(250,247,244,0) 18%);
}
.hero-logo-float{
  position:absolute;bottom:36px;right:36px;
  width:80px;height:80px;border-radius:50%;
  object-fit:cover;
  box-shadow:0 8px 32px rgba(0,0,0,0.15);
  border:3px solid white;
}

/* ── MARQUEE ── */
.marquee-bar{
  background:var(--ink);padding:14px 0;overflow:hidden;
  display:flex;white-space:nowrap;
}
.marquee-track{
  display:flex;gap:48px;animation:marquee 22s linear infinite;
  padding-right:48px;
}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee-item{
  display:flex;align-items:center;gap:12px;
  font-size:0.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,0.6);white-space:nowrap;flex-shrink:0;
}
.marquee-dot{width:4px;height:4px;border-radius:50%;background:var(--red);flex-shrink:0;}

/* ── SECTION COMMONS ── */
section{position:relative;overflow:hidden;}
.section-inner{max-width:1160px;margin:0 auto;padding:100px 7%;}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.eyebrow-line{width:28px;height:1px;background:var(--red);}
.eyebrow-text{font-size:0.68rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);}
.s-title{font-family:var(--font-d);font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.1;color:var(--ink);}
.s-title em{color:var(--red);font-style:italic;}
.rule{height:1px;background:var(--rule);}

/* ── ABOUT ── */
#about{background:var(--white);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-img-col{position:relative;}
.about-main-img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:3px;display:block;}
.about-cup-img{
  position:absolute;bottom:-28px;right:-28px;
  width:180px;height:130px;object-fit:cover;border-radius:3px;
  border:6px solid var(--white);
  box-shadow:0 16px 48px rgba(0,0,0,0.12);
}
.about-founder-chip{
  background:var(--white);border:1px solid var(--rule);
  border-radius:3px;padding:14px 18px;display:flex;align-items:center;gap:14px;
  box-shadow:0 12px 40px rgba(0,0,0,0.12);
  min-width:220px;margin-top:20px;
}
.about-founder-img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:1px solid var(--rule);background:white;padding:6px;flex-shrink:0;}
.founder-name{font-family:var(--font-d);font-weight:700;font-size:1rem;color:var(--ink);}
.founder-role{font-size:0.72rem;font-weight:600;color:var(--red);letter-spacing:.5px;margin-top:3px;}
.about-text p{color:var(--mid);line-height:1.85;font-size:0.97rem;margin-bottom:18px;}
.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;margin-top:36px;}
.pillar{background:var(--white);padding:22px 20px;transition:background 0.2s;}
.pillar:hover{background:var(--cream);}
.pillar-icon{font-size:1.2rem;margin-bottom:8px;}
.pillar-title{font-family:var(--font-d);font-weight:700;font-size:0.88rem;color:var(--ink);margin-bottom:4px;}
.pillar-text{font-size:0.76rem;color:var(--soft);line-height:1.5;}

/* ── OUTLETS ── */
#outlets{background:var(--cream);}
.outlets-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px;flex-wrap:wrap;gap:20px;}
.outlets-header p{color:var(--mid);max-width:340px;font-size:0.92rem;line-height:1.7;font-weight:500;text-align:right;}
.outlets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;}
.outlet-card{
  background:var(--white);overflow:hidden;
  transition:background 0.3s var(--ease);
  cursor:default;
}
.outlet-card:hover{background:var(--paper);}
.outlet-card.flagship{grid-column:span 1;}
.outlet-img-wrap{width:100%;aspect-ratio:16/10;overflow:hidden;}
.outlet-img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s var(--ease);}
.outlet-card:hover .outlet-img{transform:scale(1.05);}
.outlet-body{padding:24px 22px 28px;}
.outlet-tag{
  display:inline-block;font-size:0.6rem;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--red);
  border:1px solid rgba(193,39,45,0.3);padding:3px 10px;border-radius:1px;
  margin-bottom:12px;
}
.outlet-name{font-family:var(--font-d);font-size:1.35rem;font-weight:700;color:var(--ink);margin-bottom:6px;}
.outlet-location{font-size:0.78rem;color:var(--soft);font-weight:600;margin-bottom:16px;line-height:1.4;}
.outlet-meta{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--rule);padding-top:14px;margin-top:4px;}
.outlet-meta-row{display:flex;align-items:center;gap:10px;font-size:0.78rem;color:var(--mid);font-weight:600;}
.outlet-meta-icon{font-size:0.85rem;width:16px;text-align:center;}

/* ── REVIEWS ── */
#reviews{background:var(--ink);}
.reviews-header{text-align:center;margin-bottom:60px;}
.reviews-header .eyebrow{justify-content:center;}
.reviews-header .eyebrow-line{background:rgba(255,255,255,0.25);}
.reviews-header .eyebrow-text{color:rgba(255,255,255,0.45);}
.reviews-header .s-title{color:white;}
.reviews-header .s-title em{color:var(--red);}
.reviews-header p{color:rgba(255,255,255,0.38);max-width:380px;margin:14px auto 0;font-size:0.9rem;line-height:1.7;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.07);border-radius:3px;overflow:hidden;}
.review-card{
  background:rgba(255,255,255,0.03);padding:32px 28px;
  display:flex;flex-direction:column;
  transition:background 0.3s;
}
.review-card:hover{background:rgba(255,255,255,0.07);}
.review-stars{color:#D4A84B;font-size:0.8rem;letter-spacing:3px;margin-bottom:18px;}
.review-text{
  font-family:var(--font-d);font-size:0.9rem;font-style:italic;
  color:rgba(255,255,255,0.68);line-height:1.8;flex:1;margin-bottom:24px;
}
.review-author{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,0.08);padding-top:20px;}
.review-avatar{
  width:36px;height:36px;border-radius:50%;background:var(--red);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-d);font-size:0.9rem;color:white;font-weight:700;flex-shrink:0;
}
.review-name{font-family:var(--font-d);font-weight:600;font-size:0.85rem;color:rgba(255,255,255,0.85);}
.review-platform{font-size:0.65rem;font-weight:600;letter-spacing:1px;color:rgba(255,255,255,0.3);text-transform:uppercase;margin-top:2px;}

/* ── FRANCHISE ── */
#franchise{background:var(--white);}
.franchise-inner{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start;}
.franchise-left p{color:var(--mid);line-height:1.85;margin:20px 0 36px;font-size:0.97rem;}
.franchise-steps{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:3px;overflow:hidden;}
.f-step{
  display:flex;align-items:flex-start;gap:20px;padding:22px 24px;
  border-bottom:1px solid var(--rule);background:var(--white);
  transition:background 0.2s;
}
.f-step:last-child{border-bottom:none;}
.f-step:hover{background:var(--cream);}
.f-step-num{
  width:32px;height:32px;border-radius:50%;background:var(--red);color:white;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-d);font-size:0.9rem;font-weight:800;flex-shrink:0;margin-top:2px;
}
.f-step-title{font-family:var(--font-d);font-weight:700;font-size:0.92rem;color:var(--ink);margin-bottom:4px;}
.f-step-text{font-size:0.8rem;color:var(--mid);line-height:1.55;}
.franchise-right{display:flex;flex-direction:column;gap:0;border:1px solid var(--rule);border-radius:3px;overflow:hidden;}
.fn-card{
  padding:28px 30px;border-bottom:1px solid var(--rule);
  background:var(--white);transition:background 0.2s;
}
.fn-card:last-child{border-bottom:none;}
.fn-card:hover{background:var(--cream);}
.fn-label{font-size:0.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:6px;}
.fn-value{font-family:var(--font-d);font-size:2rem;font-weight:800;color:var(--ink);line-height:1;}
.fn-note{font-size:0.76rem;color:var(--soft);margin-top:6px;line-height:1.5;}
.fn-cta{padding:24px 30px;background:var(--red);}
.fn-cta a{
  display:block;text-align:center;color:white;text-decoration:none;
  font-weight:700;font-size:0.8rem;letter-spacing:1.5px;text-transform:uppercase;
}

/* ── FULL-WIDTH COFFEE SHOT ── */
.coffee-shot{
  position:relative;height:420px;overflow:hidden;
}
.coffee-shot img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.coffee-shot-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to right, rgba(17,16,16,0.75) 0%, rgba(17,16,16,0.2) 55%, transparent 100%);
  display:flex;align-items:center;padding:0 7%;
}
.coffee-shot-text h2{font-family:var(--font-d);font-size:clamp(2rem,4vw,3.5rem);font-weight:800;color:white;line-height:1.1;}
.coffee-shot-text h2 em{color:var(--red);font-style:italic;}
.coffee-shot-text p{color:rgba(255,255,255,0.65);font-size:0.97rem;line-height:1.7;max-width:440px;margin-top:14px;}

/* ── CONTACT ── */
#contact{background:var(--cream);}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.contact-left p{color:var(--mid);line-height:1.85;margin:18px 0 30px;font-size:0.97rem;}
.contact-items{display:flex;flex-direction:column;gap:0;border:1px solid var(--rule);border-radius:3px;overflow:hidden;}
.c-item{
  display:flex;align-items:flex-start;gap:16px;padding:20px 22px;
  background:var(--white);border-bottom:1px solid var(--rule);transition:background 0.2s;
}
.c-item:last-child{border-bottom:none;}
.c-item:hover{background:var(--paper);}
.c-icon{
  width:38px;height:38px;background:var(--red-pale);border:1px solid rgba(193,39,45,0.2);
  border-radius:2px;display:flex;align-items:center;justify-content:center;
  font-size:1rem;flex-shrink:0;
}
.c-label{font-size:0.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:3px;}
.c-value{font-family:var(--font-d);font-weight:600;font-size:0.88rem;color:var(--ink);line-height:1.5;}
.social-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.soc-btn{
  display:flex;align-items:center;gap:8px;padding:9px 16px;
  background:var(--white);border:1px solid var(--rule);border-radius:2px;
  color:var(--mid);font-size:0.75rem;font-weight:700;text-decoration:none;
  letter-spacing:.5px;transition:border-color 0.2s,color 0.2s,background 0.2s;
}
.soc-btn:hover{border-color:var(--red);color:var(--red);background:var(--red-pale);}
.soc-btn svg{width:13px;height:13px;fill:currentColor;}
.contact-form{background:var(--white);border:1px solid var(--rule);border-radius:3px;padding:40px;}
.contact-form h3{font-family:var(--font-d);font-size:1.7rem;font-weight:700;margin-bottom:28px;color:var(--ink);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fg{margin-bottom:14px;}
.fg label{display:block;font-size:0.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--soft);margin-bottom:7px;}
.fg input,.fg textarea,.fg select{
  width:100%;background:var(--cream);border:1px solid var(--rule);
  border-radius:2px;padding:13px 14px;color:var(--ink);
  font-family:var(--font-b);font-size:0.88rem;font-weight:500;
  transition:border-color 0.2s,background 0.2s;outline:none;
}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--red);background:white;}
.fg textarea{resize:vertical;min-height:110px;}
.fg select option{background:white;}
.form-btn{
  width:100%;background:var(--ink);color:white;border:none;
  padding:15px;border-radius:2px;font-family:var(--font-b);
  font-weight:700;font-size:0.82rem;letter-spacing:1.5px;text-transform:uppercase;
  cursor:pointer;transition:background 0.2s,transform 0.2s;margin-top:8px;
}
.form-btn:hover{background:#000;transform:translateY(-1px);}

/* ── FOOTER ── */
footer{background:var(--ink);}
.footer-top{
  max-width:1160px;margin:0 auto;padding:64px 7% 0;
  display:grid;grid-template-columns:2.5fr 1fr 1fr;gap:60px;
}
.f-brand-wrap{}
.f-logo-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.f-logo-row img{width:36px;height:36px;border-radius:50%;object-fit:cover;}
.f-brand{font-family:var(--font-d);font-size:1.2rem;color:white;font-weight:700;}
.f-brand span{color:var(--red);}
.f-desc{font-size:0.8rem;color:rgba(255,255,255,0.35);line-height:1.75;max-width:280px;margin-bottom:14px;}
.f-addr{font-size:0.76rem;color:rgba(255,255,255,0.25);line-height:1.65;}
.f-col-title{font-family:var(--font-d);font-size:0.82rem;font-weight:700;color:rgba(255,255,255,0.55);margin-bottom:18px;letter-spacing:.5px;}
.f-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.f-links a{text-decoration:none;color:rgba(255,255,255,0.32);font-size:0.8rem;font-weight:600;transition:color 0.2s;}
.f-links a:hover{color:var(--red);}
.f-socials{display:flex;flex-direction:column;gap:10px;}
.f-socials a{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,0.32);font-size:0.8rem;font-weight:600;text-decoration:none;transition:color 0.2s;}
.f-socials a:hover{color:var(--red);}
.f-socials svg{width:13px;height:13px;fill:currentColor;}
.footer-bottom{
  max-width:1160px;margin:0 auto;padding:32px 7% 32px;
  border-top:1px solid rgba(255,255,255,0.07);margin-top:52px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
}
.f-copy{font-size:0.72rem;color:rgba(255,255,255,0.2);font-weight:600;}
.f-unit{font-size:0.72rem;color:rgba(255,255,255,0.2);font-weight:600;}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-l{opacity:0;transform:translateX(-24px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease);}
.reveal-l.visible{opacity:1;transform:translateX(0);}
.reveal-r{opacity:0;transform:translateX(24px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease);}
.reveal-r.visible{opacity:1;transform:translateX(0);}

/* ── MOBILE ── */
@media(max-width:900px){
  .outlets-grid{grid-template-columns:repeat(2,1fr);}
  .reviews-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;background:var(--white);
    box-shadow:0 12px 24px rgba(0,0,0,0.12);border-top:1px solid var(--rule);
  }
  .nav-links.open{display:flex;}
  .nav-links li{width:100%;}
  .nav-links a{
    display:block;padding:16px 7%;border-bottom:1px solid var(--rule);
    width:100%;box-sizing:border-box;
  }
  .nav-links a::after{display:none;}
  .nav-links a.nav-cta{margin:12px 7%;width:calc(100% - 14%);text-align:center;box-sizing:border-box;}
  .hamburger{display:flex;}
  #hero{grid-template-columns:1fr;}
  .hero-right{height:50vw;}
  .hero-left{padding:40px 6%;}
  .about-grid,.franchise-inner,.contact-inner{grid-template-columns:1fr;gap:48px;}
  .outlets-grid,.reviews-grid{grid-template-columns:1fr;}
  .about-pillars{grid-template-columns:1fr 1fr;}
  .about-cup-img{display:none;}
  .form-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;gap:32px;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .hero-stats{gap:24px;}
  .outlets-header{flex-direction:column;}
  .outlets-header p{text-align:left;}
  .coffee-shot{height:300px;}
}

/* ── INNER PAGE HERO (About/Outlets/Franchise/Corporate) ── */
.page-hero{
  background:var(--ink);padding:168px 7% 80px;position:relative;overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 85% 20%,rgba(193,39,45,0.18),transparent 55%);
}
.page-hero-inner{max-width:1160px;margin:0 auto;position:relative;}
.page-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.page-eyebrow-line{width:28px;height:1px;background:var(--red);}
.page-eyebrow-text{font-size:0.7rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);}
.page-title{font-family:var(--font-d);font-size:clamp(2.4rem,5vw,4rem);font-weight:800;line-height:1.05;color:white;max-width:760px;}
.page-title em{color:var(--red);font-style:italic;}
.page-subtitle{color:rgba(255,255,255,0.55);font-size:1.02rem;line-height:1.75;max-width:560px;margin-top:22px;font-weight:500;}
.page-breadcrumb{font-size:0.76rem;font-weight:700;letter-spacing:1px;color:rgba(255,255,255,0.35);margin-bottom:26px;text-transform:uppercase;}
.page-breadcrumb a{color:rgba(255,255,255,0.55);text-decoration:none;}
.page-breadcrumb a:hover{color:var(--red);}

/* -- FLAGSHIP OUTLET FEATURE -- */
.flagship-feature{background:var(--white);}
.flagship-block{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;margin-bottom:120px;}
.flagship-block:last-child{margin-bottom:0;}
.flagship-block.reverse{grid-template-columns:1fr 1.1fr;}
.flagship-block.reverse .flagship-text{order:2;}
.flagship-block.reverse .flagship-gallery{order:1;}
.flagship-tag{
  display:inline-flex;align-items:center;gap:8px;background:var(--red-pale);color:var(--red);
  font-size:0.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  padding:7px 14px;border-radius:20px;margin-bottom:18px;
}
.flagship-name{font-family:var(--font-d);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;color:var(--ink);margin-bottom:14px;line-height:1.15;}
.flagship-addr{color:var(--mid);font-size:0.95rem;line-height:1.7;margin-bottom:20px;}
.flagship-meta{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:24px;}
.flagship-meta-item{display:flex;flex-direction:column;gap:4px;}
.flagship-meta-label{font-size:0.68rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--soft);}
.flagship-meta-value{font-size:0.92rem;font-weight:700;color:var(--ink);}
.flagship-desc{color:var(--mid);font-size:0.95rem;line-height:1.8;}
.flagship-gallery{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:460px;}
.flagship-gallery img{width:100%;height:100%;object-fit:cover;border-radius:3px;display:block;}
.flagship-gallery .g-main{grid-row:1/3;}
.flagship-gallery .g-main img{height:100%;}

/* -- LUCKNOW OUTLETS GRID (secondary outlets) -- */
.city-divider{display:flex;align-items:center;gap:20px;margin:80px 0 44px;}
.city-divider-line{flex:1;height:1px;background:var(--rule);}
.city-divider-text{font-family:var(--font-d);font-size:1.3rem;font-weight:700;color:var(--ink);white-space:nowrap;}
.city-divider-count{font-size:0.75rem;font-weight:700;color:var(--soft);letter-spacing:1px;}

/* -- COMING SOON STRIP -- */
.coming-soon-strip{
  background:var(--ink);padding:56px 7%;text-align:center;position:relative;overflow:hidden;
}
.coming-soon-strip::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 15% 50%,rgba(193,39,45,0.15),transparent 55%);
}
.coming-soon-inner{position:relative;max-width:640px;margin:0 auto;}
.coming-soon-tag{font-size:0.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin-bottom:14px;}
.coming-soon-title{font-family:var(--font-d);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;color:white;line-height:1.3;}
.coming-soon-title em{color:var(--red);font-style:italic;}

@media(max-width:900px){
  .flagship-block,.flagship-block.reverse{grid-template-columns:1fr;gap:32px;}
  .flagship-block.reverse .flagship-text{order:1;}
  .flagship-block.reverse .flagship-gallery{order:2;}
  .flagship-gallery{height:340px;}
  .page-hero{padding:140px 6% 60px;}
}

/* -- FLAGSHIP SECTION LABEL -- */
.flagship-section-label{display:flex;align-items:center;gap:12px;margin-bottom:64px;}
.flagship-section-label .city-divider-line{flex:1;height:1px;background:var(--rule);}
.flagship-section-label-text{font-size:0.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);white-space:nowrap;}

/* -- 2-UP FLAGSHIP GALLERY (for outlets with fewer photos) -- */
.flagship-gallery.two-up{grid-template-columns:1fr 1fr;grid-template-rows:1fr;height:400px;}
.flagship-gallery.two-up .g-main{grid-row:auto;}

/* -- COMPACT SECONDARY OUTLET LIST -- */
.outlet-list{border-top:1px solid var(--rule);}
.outlet-row{
  display:flex;align-items:center;gap:22px;padding:22px 4px;
  border-bottom:1px solid var(--rule);transition:background 0.3s;
}
.outlet-row:hover{background:var(--paper);}
.outlet-row-thumb{
  width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;
  border:1px solid var(--rule);
}
.outlet-row-thumb img{width:100%;height:100%;object-fit:cover;}
.outlet-row-body{flex:1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.outlet-row-name{font-family:var(--font-d);font-size:1.15rem;font-weight:700;color:var(--ink);margin-bottom:4px;}
.outlet-row-addr{font-size:0.82rem;color:var(--mid);font-weight:500;line-height:1.5;max-width:480px;}
.outlet-row-hours{font-size:0.78rem;color:var(--soft);font-weight:700;white-space:nowrap;text-align:right;}

@media(max-width:700px){
  .outlet-row{flex-wrap:wrap;}
  .outlet-row-hours{text-align:left;}
}

/* -- MILESTONE TIMELINE -- */
.timeline{position:relative;max-width:900px;margin:0 auto;}
.timeline::before{
  content:'';position:absolute;left:20px;top:8px;bottom:8px;width:1px;background:var(--rule);
}
.timeline-item{position:relative;padding-left:64px;padding-bottom:48px;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-dot{
  position:absolute;left:12px;top:4px;width:17px;height:17px;border-radius:50%;
  background:var(--white);border:2px solid var(--red);
}
.timeline-item.filled .timeline-dot{background:var(--red);}
.timeline-year{font-family:var(--font-d);font-size:0.78rem;font-weight:700;letter-spacing:1px;color:var(--red);margin-bottom:6px;text-transform:uppercase;}
.timeline-title{font-family:var(--font-d);font-size:1.2rem;font-weight:700;color:var(--ink);margin-bottom:6px;}
.timeline-text{font-size:0.9rem;color:var(--mid);line-height:1.7;max-width:620px;}

/* -- VISION & MISSION -- */
.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;}
.vm-card{background:var(--ink);padding:48px 44px;color:white;}
.vm-card.alt{background:var(--red);}
.vm-icon{font-size:1.6rem;margin-bottom:18px;}
.vm-title{font-family:var(--font-d);font-size:1.5rem;font-weight:800;margin-bottom:16px;}
.vm-text{font-size:0.92rem;line-height:1.8;color:rgba(255,255,255,0.82);}

@media(max-width:700px){
  .vm-grid{grid-template-columns:1fr;}
  .timeline-item{padding-left:50px;}
}

/* -- FRANCHISE TIER COMPARISON -- */
.tier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;}
.tier-card{background:var(--white);padding:40px 32px;position:relative;}
.tier-card.featured{background:var(--ink);}
.tier-card.featured .tier-name,.tier-card.featured .tier-price,.tier-card.featured .tier-row-label{color:white;}
.tier-card.featured .tier-row-value{color:white;}
.tier-card.featured .tier-row{border-color:rgba(255,255,255,0.12);}
.tier-badge{
  position:absolute;top:0;right:0;background:var(--red);color:white;font-size:0.62rem;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;padding:6px 14px;border-radius:0 0 0 6px;
}
.tier-name{font-family:var(--font-d);font-size:1.3rem;font-weight:800;color:var(--ink);margin-bottom:4px;}
.tier-size{font-size:0.78rem;color:var(--soft);font-weight:600;margin-bottom:20px;}
.tier-price{font-family:var(--font-d);font-size:2.1rem;font-weight:800;color:var(--red);margin-bottom:24px;line-height:1;}
.tier-price span{font-size:0.85rem;font-weight:600;color:var(--soft);}
.tier-card.featured .tier-price{color:var(--red);}
.tier-rows{border-top:1px solid var(--rule);padding-top:16px;display:flex;flex-direction:column;gap:12px;}
.tier-row{display:flex;justify-content:space-between;align-items:baseline;font-size:0.84rem;}
.tier-row-label{color:var(--soft);font-weight:600;}
.tier-row-value{color:var(--ink);font-weight:700;}

/* -- SUPPORT GRID -- */
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;margin-top:56px;}
.support-card{background:var(--white);padding:32px 28px;}
.support-icon{font-size:1.3rem;margin-bottom:14px;}
.support-title{font-family:var(--font-d);font-weight:700;font-size:1rem;color:var(--ink);margin-bottom:8px;}
.support-text{font-size:0.84rem;color:var(--mid);line-height:1.7;}

/* -- ROYALTY STRIP -- */
.royalty-strip{
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  background:var(--red-pale);border:1px solid var(--rule);border-radius:3px;padding:26px 32px;margin-top:24px;
}
.royalty-item{display:flex;flex-direction:column;gap:4px;}
.royalty-label{font-size:0.68rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--soft);}
.royalty-value{font-family:var(--font-d);font-size:1.15rem;font-weight:800;color:var(--red);}

.fn-disclaimer{font-size:0.72rem;color:var(--soft);line-height:1.7;margin-top:36px;max-width:820px;}

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

/* -- BUTTON GROUP / OUTLINE BUTTON -- */
.hero-btn-group{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}
.btn-outline{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(255,255,255,0.35);color:white;
  padding:12px 26px;border-radius:24px;font-size:0.82rem;font-weight:700;
  letter-spacing:0.5px;text-decoration:none;transition:all 0.25s;
}
.btn-outline:hover{background:rgba(255,255,255,0.1);border-color:white;}
.btn-solid-red{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--red);color:white;
  padding:12px 26px;border-radius:24px;font-size:0.82rem;font-weight:700;
  letter-spacing:0.5px;text-decoration:none;transition:all 0.25s;
}
.btn-solid-red:hover{background:#a31f24;transform:translateY(-1px);}
.btn-icon{font-size:0.95rem;}

/* -- CORPORATE: COMPANY SNAPSHOT -- */
.snapshot-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--rule);
  border:1px solid var(--rule);border-radius:3px;overflow:hidden;margin-top:48px;
}
.snapshot-item{background:var(--white);padding:32px 26px;text-align:center;}
.snapshot-num{font-family:var(--font-d);font-size:2.1rem;font-weight:800;color:var(--red);line-height:1;}
.snapshot-label{font-size:0.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--soft);margin-top:8px;}

/* -- CORPORATE: LEADERSHIP -- */
.leader-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;}
.leader-img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px;display:block;}
.leader-name{font-family:var(--font-d);font-size:1.9rem;font-weight:800;color:var(--ink);margin-bottom:2px;}
.leader-role{font-size:0.82rem;font-weight:700;color:var(--red);letter-spacing:0.5px;margin-bottom:22px;}
.leader-text p{color:var(--mid);line-height:1.85;font-size:0.95rem;margin-bottom:16px;}
.leader-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.leader-tag{
  font-size:0.74rem;font-weight:700;color:var(--ink);background:var(--paper);
  border:1px solid var(--rule);padding:7px 14px;border-radius:20px;
}

/* -- CORPORATE: OFFERINGS -- */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--rule);border:1px solid var(--rule);border-radius:3px;overflow:hidden;margin-top:48px;}
.offer-card{background:var(--white);padding:34px 28px;}
.offer-tag{font-size:0.66rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--red);margin-bottom:10px;}
.offer-title{font-family:var(--font-d);font-size:1.15rem;font-weight:700;color:var(--ink);margin-bottom:10px;}
.offer-text{font-size:0.85rem;color:var(--mid);line-height:1.7;}

@media(max-width:900px){
  .snapshot-strip{grid-template-columns:1fr 1fr;}
  .leader-grid{grid-template-columns:1fr;gap:32px;}
  .offer-grid{grid-template-columns:1fr;}
}

/* -- PHOTO PENDING PLACEHOLDER -- */
.photo-pending{
  width:100%;aspect-ratio:3/4;border-radius:3px;
  background:var(--paper);border:1px dashed var(--rule);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  color:var(--soft);text-align:center;padding:20px;
}
.photo-pending.chip{aspect-ratio:1/1;width:64px;height:64px;border-radius:50%;flex-shrink:0;gap:0;padding:0;}
.photo-pending-icon{font-size:1.8rem;opacity:0.5;}
.photo-pending.chip .photo-pending-icon{font-size:1.1rem;}
.photo-pending-text{font-size:0.72rem;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;}

/* -- COMPANY-OWNED OUTLET CARD (mid-tier, e.g. Hazratganj/Kapoorthala) -- */
.coco-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:32px;}
.coco-card{border:1px solid var(--rule);border-radius:3px;overflow:hidden;background:var(--white);}
.coco-gallery{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:2px;height:260px;background:var(--rule);}
.coco-gallery img{width:100%;height:100%;object-fit:cover;display:block;}
.coco-gallery .g-main{grid-row:1/3;}
.coco-gallery.pending{display:flex;align-items:center;justify-content:center;height:260px;}
.coco-body{padding:24px 26px;}
.coco-tag{font-size:0.66rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--red);margin-bottom:8px;}
.coco-name{font-family:var(--font-d);font-size:1.3rem;font-weight:800;color:var(--ink);margin-bottom:8px;}
.coco-addr{font-size:0.82rem;color:var(--mid);line-height:1.6;margin-bottom:10px;}
.coco-hours{font-size:0.78rem;font-weight:700;color:var(--soft);}

/* -- FRANCHISEE TAG (for compact outlet-row list) -- */
.franchisee-tag{
  font-size:0.62rem;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;
  color:var(--red);background:var(--red-pale);padding:2px 8px;border-radius:10px;margin-left:8px;
  vertical-align:middle;
}

/* -- FRANCHISE PAGE PHOTO STRIP -- */

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

/* -- COMPLIANCE / DOCUMENT LINK -- */
.compliance-strip{
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  border:1px solid var(--rule);border-radius:3px;padding:24px 30px;margin-top:56px;background:var(--paper);
}
.compliance-text{display:flex;flex-direction:column;gap:4px;}
.compliance-label{font-size:0.68rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--soft);}
.compliance-title{font-family:var(--font-d);font-size:1.05rem;font-weight:700;color:var(--ink);}
.btn-pending{
  display:inline-flex;align-items:center;gap:8px;
  border:1px dashed var(--soft);color:var(--soft);
  padding:10px 22px;border-radius:24px;font-size:0.78rem;font-weight:700;
  letter-spacing:0.3px;background:transparent;cursor:not-allowed;white-space:nowrap;
}

/* -- LANDING OUTLET TEASER (2-up full-height, no leftover grid space) -- */
.outlet-teaser-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
}
.outlet-teaser-card{
  position:relative;aspect-ratio:3/4;border-radius:3px;overflow:hidden;
  display:block;
}
.outlet-teaser-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s var(--ease);}
.outlet-teaser-card:hover img{transform:scale(1.05);}
.outlet-teaser-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(17,16,16,0.88) 0%, rgba(17,16,16,0.35) 45%, rgba(17,16,16,0) 70%);
  display:flex;flex-direction:column;justify-content:flex-end;padding:26px 26px 30px;
}
.outlet-teaser-tag{
  font-size:0.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--red);
  margin-bottom:8px;
}
.outlet-teaser-name{font-family:var(--font-d);font-size:1.5rem;font-weight:800;color:white;margin-bottom:6px;line-height:1.15;}
.outlet-teaser-addr{font-size:0.78rem;color:rgba(255,255,255,0.75);line-height:1.5;margin-bottom:10px;}
.outlet-teaser-hours{font-size:0.76rem;font-weight:700;color:rgba(255,255,255,0.9);}

@media(max-width:700px){
  .outlet-teaser-grid{grid-template-columns:1fr;}
  .outlet-teaser-card{aspect-ratio:4/3;}
}

/* -- ABOUT TEASER ILLUSTRATION VARIANT (full-bleed illustration instead of photo) -- */
.about-main-img.illustration{
  object-fit:contain;background:var(--cream);padding:36px;
  border:1px solid var(--rule);
}

/* -- ILLUSTRATION BANNER (full-width, below Outlets teaser) -- */
.illustration-banner{background:var(--cream);padding:0 7% 70px;}
.illustration-banner img{
  width:100%;max-width:1160px;margin:0 auto;display:block;
  border-radius:3px;border:1px solid var(--rule);
}

/* -- LOGO MARK WITH REGISTERED SYMBOL (replaces illustration placements) -- */
.logo-mark-wrap{position:relative;display:inline-block;}
.logo-mark-wrap img{display:block;}
.logo-mark-r{
  position:absolute;bottom:2%;right:2%;
  background:white;color:var(--ink);border:1.5px solid var(--ink);
  width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.68rem;font-weight:800;line-height:1;
}
.logo-banner{background:var(--cream);padding:60px 7%;display:flex;justify-content:center;}
.logo-banner .logo-mark-wrap img{width:190px;height:190px;}
.logo-banner .logo-mark-r{width:26px;height:26px;font-size:0.75rem;}


/* -- LIGHT OUTLINE BUTTON (for light backgrounds like compliance strip) -- */
.btn-outline-dark{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--ink);color:var(--ink);
  padding:10px 22px;border-radius:24px;font-size:0.78rem;font-weight:700;
  letter-spacing:0.3px;text-decoration:none;background:transparent;transition:all 0.25s;white-space:nowrap;
}
.btn-outline-dark:hover{background:var(--ink);color:white;}

/* -- SOLO CENTERED CONTACT (no form) -- */
.contact-solo{max-width:640px;margin:0 auto;text-align:center;}
.contact-items-centered{display:flex;flex-direction:column;gap:20px;margin:36px auto;max-width:420px;text-align:left;}

/* -- SECOND PHOTO ROW ON FRANCHISE PAGE -- */
.photo-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:14px;}
.photo-row-3 img{width:100%;height:220px;object-fit:cover;border-radius:3px;display:block;}
@media(max-width:700px){
  .photo-row-3{grid-template-columns:1fr;}
}

/* -- FRANCHISE PHOTO ROW 4 (simplified, matches photo-row-3 pattern) -- */
.photo-row-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-top:20px;}
.photo-row-4 img{width:100%;height:260px;object-fit:cover;border-radius:3px;display:block;}
@media(max-width:900px){
  .photo-row-4{grid-template-columns:1fr 1fr;}
}
@media(max-width:700px){
  .photo-row-4{grid-template-columns:1fr;}
}
