:root{--navy:#07131f;--orange:#f47721;--cream:#fff9f3;--text:#17212b;--muted:#64707c;--white:#fff;--line:#e9e4df;--shadow:0 12px 35px rgba(7,19,31,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--text);background:#fff}a{text-decoration:none;color:inherit}.site-header{height:88px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4%;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:48px;height:48px;border-radius:50%;background:var(--orange);display:grid;place-items:center;font-size:25px}.brand strong{display:block;font-size:26px;line-height:1}.brand strong span{color:#fff}.brand small{display:block;font-size:11px;margin-top:6px;color:#e8edf2}.nav{display:flex;align-items:center;gap:38px;font-weight:600}.nav a{opacity:.92}.nav a.active{color:#fff;border-bottom:3px solid var(--orange);padding:31px 0 27px}.nav-cta,.btn{background:var(--orange);color:#fff!important;padding:14px 22px;border-radius:6px;font-weight:700;display:inline-block;border:2px solid var(--orange)}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}.hero{min-height:500px;background:linear-gradient(90deg,rgba(3,10,16,.88) 0%,rgba(3,10,16,.55) 47%,rgba(3,10,16,.10) 100%),url("https://images.unsplash.com/photo-1546833999-b9f581a1996d?auto=format&fit=crop&w=2000&q=85") center/cover;display:flex;align-items:center}.hero-content{width:min(1160px,92%);margin:auto;color:#fff}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;margin:0 0 12px}.orange{color:var(--orange)}h1,h2{font-family:"Playfair Display",Georgia,serif}.hero h1{font-size:clamp(46px,5vw,72px);line-height:1.03;margin:0 0 18px;max-width:720px}.hero p:not(.eyebrow){font-size:18px;line-height:1.55;max-width:650px}.search{margin-top:24px;display:flex;width:min(650px,100%);height:54px}.search span{background:#fff;color:#65717c;padding:14px 0 14px 18px;font-size:25px}.search input{flex:1;border:0;padding:0 12px;font-size:15px;outline:0}.search button{border:0;background:var(--orange);color:#fff;font-weight:800;padding:0 25px}.hero-actions{display:flex;gap:15px;margin-top:20px}.btn-outline{background:transparent;border-color:#fff}.section{width:min(1160px,92%);margin:auto;padding:70px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.section h2{font-size:38px;margin:0 0 7px}.section h2 span{color:var(--orange)}.section-heading p:not(.eyebrow){color:var(--muted);margin:0}.text-link{color:var(--orange);font-weight:700}.restaurant-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.restaurant-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(7,19,31,.07);transition:.2s}.restaurant-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.restaurant-card img{width:100%;height:180px;object-fit:cover;display:block}.card-body{padding:17px}.badge{display:inline-block;background:var(--orange);color:#fff;padding:5px 9px;border-radius:5px;font-size:11px;font-weight:800;margin-bottom:10px}.restaurant-card h3{margin:0 0 8px;font-size:18px}.meta{color:#66717c;font-size:13px;margin-bottom:10px}.restaurant-card p{font-size:13px;line-height:1.5;color:#56616b;min-height:40px}.card-link{color:var(--orange);font-size:13px;font-weight:800}.intro{max-width:none;width:100%;padding:72px max(4%,calc((100% - 1160px)/2));background:var(--cream);display:grid;grid-template-columns:1fr 2fr;gap:70px;align-items:center}.intro-copy p:last-child{line-height:1.7;color:#59636c}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.benefits>div{padding:0 25px;border-left:1px solid #ddd4cc;text-align:center}.icon{width:58px;height:58px;margin:0 auto 15px;border-radius:50%;background:#fff0e5;color:var(--orange);display:grid;place-items:center;font-size:30px}.benefits h3{margin:0 0 8px}.benefits p{color:var(--muted);line-height:1.5;font-size:14px}.advertise{width:min(1160px,92%);margin:45px auto 70px;background:var(--navy);color:#fff;border-radius:14px;display:grid;grid-template-columns:1.05fr 1.35fr 1fr;overflow:hidden;align-items:center}.advertise-image{min-height:230px;background:url("https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=900&q=85") center/cover}.advertise-copy{padding:35px}.advertise h2{font-family:"DM Sans",Arial,sans-serif;font-size:30px;margin:0 0 12px}.advertise h2 span{color:var(--orange)}.advertise p{line-height:1.6;color:#dce2e7}.advertise ul{list-style:none;padding:35px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;color:#f3f6f8;font-size:13px}.advertise li{color:#fff}.page-hero{background:var(--cream);text-align:center;padding:85px 20px}.page-hero h1{font-size:52px;margin:0 0 14px}.page-hero>p:last-child{max-width:650px;margin:auto;color:var(--muted);font-size:17px;line-height:1.6}.category-list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.category{background:#fff;border:1px solid var(--line);border-radius:99px;padding:10px 16px;font-weight:700;color:#4d5964;cursor:pointer}.category.active,.category:hover{background:var(--orange);border-color:var(--orange);color:#fff}.directory-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.directory-tools input{width:min(430px,100%);height:48px;border:1px solid #d9d5d0;border-radius:7px;padding:0 15px;font-size:15px}.directory-tools span{color:var(--muted);font-size:13px}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:35px}.contact-form,.owner-card{border:1px solid var(--line);border-radius:14px;padding:35px;background:#fff;box-shadow:var(--shadow)}.contact-form h2,.owner-card h2{margin-top:0;font-size:30px}.contact-form label{display:block;font-weight:700;font-size:14px;margin:16px 0}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #d9d5d0;border-radius:7px;padding:12px;font:inherit}.owner-card{background:var(--navy);color:#fff}.owner-card p:not(.eyebrow){color:#d7dfe5;line-height:1.6}.owner-card ul{list-style:none;padding:0;line-height:2;color:#fff}.form-note{color:var(--orange);font-weight:700}.footer{background:var(--navy);color:#dfe5ea;padding:55px 4% 20px;display:grid;grid-template-columns:1.4fr .8fr .8fr 1.3fr;gap:35px}.footer h4{color:#fff;margin:0 0 16px}.footer>div:not(.copyright)>a{display:block;margin:10px 0;color:#c9d1d7;font-size:14px}.footer-brand p{max-width:280px;line-height:1.5;color:#aeb9c2;font-size:13px}.newsletter{display:flex}.newsletter input{min-width:0;flex:1;background:transparent;border:1px solid #4c5862;color:#fff;padding:12px}.newsletter button{background:var(--orange);color:#fff;border:0;padding:0 16px;font-weight:700}.copyright{grid-column:1/-1;border-top:1px solid #26333e;padding-top:18px;font-size:12px;color:#9da9b3}.copyright span{float:right}.simple-footer{grid-template-columns:1.5fr 1fr 1fr}.simple-footer .copyright{grid-column:1/-1}
@media(max-width:900px){.nav{gap:18px}.nav-cta{padding:11px 14px}.restaurant-grid{grid-template-columns:repeat(2,1fr)}.intro{grid-template-columns:1fr;gap:35px}.advertise{grid-template-columns:1fr}.advertise-image{min-height:180px}.contact-layout{grid-template-columns:1fr}.footer{grid-template-columns:1fr 1fr}.copyright{grid-column:1/-1}}
@media(max-width:700px){.site-header{height:74px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--navy);padding:18px 5%;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a.active{padding:10px 0;border:0}.brand strong{font-size:21px}.brand small{font-size:9px}.brand-mark{width:40px;height:40px;font-size:20px}.hero{min-height:570px}.hero h1{font-size:45px}.search{height:auto;flex-wrap:wrap}.search span{display:none}.search input{height:52px}.search button{height:52px}.hero-actions{flex-direction:column}.hero-actions .btn{width:max-content}.section{padding:55px 0}.section-heading{display:block}.text-link{display:inline-block;margin-top:18px}.restaurant-grid{grid-template-columns:1fr}.intro{padding:55px 4%}.benefits{grid-template-columns:1fr}.benefits>div{border-left:0;border-top:1px solid #ddd4cc;padding:22px}.advertise{width:92%;margin:35px auto 55px}.advertise ul{padding:0 35px 35px}.page-hero{padding:60px 20px}.page-hero h1{font-size:42px}.footer{grid-template-columns:1fr;padding-top:40px}.copyright span{float:none;display:block;margin-top:8px}.category-list{gap:7px}.category{font-size:12px}.directory-tools{display:block}.directory-tools input{width:100%;margin-bottom:12px}}

.brand img{display:block;width:185px;height:auto;max-height:66px;object-fit:contain}
.profile-hero{min-height:440px;background-size:cover;background-position:center;display:flex;align-items:center}
.fireking-hero{background-image:linear-gradient(90deg,rgba(5,14,22,.90),rgba(5,14,22,.42)),url("https://firekingpizza.com/pluto-images/f0962c17-6ce3-4246-a86b-975c4177c101.jpg?fit=cover&h=1200&w=1200")}
.profile-wrap{width:min(1160px,92%);margin:auto;color:#fff}.profile-wrap h1{font-size:clamp(48px,6vw,76px);margin:12px 0 10px}.profile-wrap>p{font-size:19px;max-width:650px;line-height:1.6}
.profile-badges{display:flex;gap:10px;align-items:center}.profile-category{border:1px solid rgba(255,255,255,.65);border-radius:99px;padding:6px 11px;font-size:12px;font-weight:700}.profile-actions{display:flex;gap:12px;margin-top:22px}
.profile-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:36px;align-items:start}.profile-main>p{color:var(--muted);line-height:1.75;font-size:16px}.profile-main h2{font-size:34px;margin:0 0 14px}
.profile-photo-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:190px 190px;gap:12px;margin:30px 0}.profile-photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:12px}.profile-photo-grid img:first-child{grid-row:1/3}
.profile-section{padding:22px 0}.profile-section p{color:var(--muted);line-height:1.75}.profile-cta-box{margin-top:20px;background:var(--cream);border:1px solid #f0e5da;border-radius:14px;padding:28px;display:flex;justify-content:space-between;gap:28px;align-items:center}.profile-cta-box p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.6}
.profile-sidebar{display:grid;gap:18px;position:sticky;top:110px}.info-card{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff;box-shadow:0 8px 24px rgba(7,19,31,.06)}.info-card h3{margin-top:0}.info-card p{color:var(--muted);line-height:1.55}.detail-row{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid #eee}.detail-row:last-child{border-bottom:0}.detail-row p{margin:4px 0 0}.detail-row a{color:var(--orange);font-weight:700}.full-btn{display:block;text-align:center;width:100%}
@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-sidebar{position:static}.profile-cta-box{display:block}.profile-cta-box .btn{margin-top:18px}}
@media(max-width:650px){.profile-actions{flex-direction:column;align-items:flex-start}.profile-photo-grid{grid-template-columns:1fr;grid-template-rows:none}.profile-photo-grid img,.profile-photo-grid img:first-child{height:220px;grid-row:auto}.brand img{width:150px}}

.restaurant-logo{width:92px;height:92px;object-fit:contain;border-radius:16px;background:#fff;padding:7px;margin-bottom:18px;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.profile-photo-grid{grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:190px 190px}
.profile-photo-grid img:first-child{grid-column:1;grid-row:1/3}
.profile-photo-grid img:nth-child(2){grid-column:2/4;grid-row:1}
.profile-photo-grid img:nth-child(3){grid-column:2;grid-row:2}
.profile-photo-grid img:nth-child(4){grid-column:3;grid-row:2}
.profile-photo-grid img:nth-child(5){display:none}
@media(max-width:650px){
  .restaurant-logo{width:78px;height:78px}
  .profile-photo-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .profile-photo-grid img,.profile-photo-grid img:first-child,.profile-photo-grid img:nth-child(2),.profile-photo-grid img:nth-child(3),.profile-photo-grid img:nth-child(4){grid-column:auto;grid-row:auto;height:190px}
  .profile-photo-grid img:first-child{grid-column:1/3;height:230px}
}

/* v7 profile additions */
.jackalopes-hero{background:linear-gradient(135deg,#07131f 0%,#142c3f 60%,#f47721 160%)}
.jackalopes-hero .profile-wrap{padding-top:30px;padding-bottom:30px}
.large-logo{width:150px;height:150px;background:#fff}
.mobile-truck-feature{margin:30px 0;background:var(--cream);border:1px solid #f0e5da;border-radius:16px;padding:28px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px}
.truck-icon{font-size:54px}.mobile-truck-feature h2{font-size:28px;margin:0 0 8px}.mobile-truck-feature p{margin:0;color:var(--muted);line-height:1.6}
.litas-hero{background-image:linear-gradient(90deg,rgba(38,17,12,.88),rgba(38,17,12,.35)),url("assets/litas/carrot-cake.webp");background-size:cover;background-position:center}
.litas-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}.litas-photo-grid img{width:100%;height:330px;object-fit:cover;border-radius:14px}
@media(max-width:700px){.mobile-truck-feature{grid-template-columns:1fr}.litas-photo-grid{grid-template-columns:1fr}.litas-photo-grid img{height:250px}.large-logo{width:120px;height:120px}}


/* =========================
   V8 MOBILE POLISH
   ========================= */

/* Brand lockup: always show the complete TasteColumbia name */
.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}
.brand-lockup>img{width:48px;height:48px;max-height:none;object-fit:cover;object-position:center;border-radius:9px;flex:0 0 auto}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-copy strong{font-family:"DM Sans",Arial,sans-serif;font-size:23px;line-height:1;font-weight:800;letter-spacing:-.5px;white-space:nowrap}
.brand-copy .taste-word{color:var(--orange)}
.brand-copy .columbia-word{color:#fff}
.brand-copy small{font-size:9px;line-height:1.2;margin-top:5px;color:#cbd5dc;white-space:nowrap}

/* Cards */
.phone-line{margin-top:12px}
.card-action{margin-top:14px}
.card-action .card-link{display:inline-flex;align-items:center;min-height:40px;padding:9px 13px;border-radius:7px;background:#fff4ec}
.restaurant-card .card-body{display:flex;flex-direction:column}
.restaurant-card .card-body>p{min-height:0}

/* Footer brand should be compact and not repeat a giant logo */
.footer .brand-lockup>img{width:42px;height:42px}
.footer .brand-copy strong{font-size:19px}
.footer .brand-copy small{font-size:8px}

@media(max-width:700px){
  body{overflow-x:hidden}
  .site-header{
    height:72px;
    padding:0 18px;
    position:sticky;
    top:0;
    z-index:50;
  }
  .site-header .brand-lockup{max-width:250px}
  .site-header .brand-lockup>img{
    width:42px;
    height:42px;
    border-radius:8px;
  }
  .site-header .brand-copy strong{font-size:21px}
  .site-header .brand-copy small{display:none}
  .menu-toggle{
    display:block;
    font-size:30px;
    line-height:1;
    padding:8px;
    margin-right:-8px;
  }

  /* Mobile navigation */
  .nav{
    top:72px;
    padding:12px 18px 20px;
    gap:5px;
    box-shadow:0 12px 28px rgba(0,0,0,.22);
  }
  .nav a{
    padding:13px 4px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }
  .nav .nav-cta{
    margin-top:8px;
    text-align:center;
    border-bottom:0 !important;
  }

  /* Homepage hero: shorter, easier to scan */
  .hero{
    min-height:0;
    padding:38px 0 44px;
    background-position:62% center;
  }
  .hero-content{
    width:calc(100% - 36px);
    margin:0 18px;
  }
  .hero .eyebrow{
    font-size:11px;
    letter-spacing:1.7px;
    margin-bottom:14px;
  }
  .hero h1{
    font-size:42px;
    line-height:1.02;
    letter-spacing:-1px;
    margin-bottom:16px;
    max-width:100%;
  }
  .hero p:not(.eyebrow){
    font-size:16px;
    line-height:1.5;
    max-width:100%;
    margin:0;
  }
  .search{
    width:100%;
    margin-top:21px;
    display:grid;
    grid-template-columns:1fr auto;
    border-radius:8px;
    overflow:hidden;
  }
  .search input{
    min-width:0;
    height:50px;
    font-size:15px;
    padding-left:15px;
  }
  .search button{
    height:50px;
    padding:0 18px;
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:14px;
  }
  .hero-actions .btn{
    width:100%;
    text-align:center;
    padding:13px 16px;
  }

  /* Main sections */
  .section{width:calc(100% - 36px);padding:44px 0}
  .section h2{font-size:30px;line-height:1.15}
  .section-heading{margin-bottom:20px}
  .featured .section-heading .text-link{margin-top:12px}

  /* Restaurant cards: less oversized */
  .restaurant-grid{grid-template-columns:1fr;gap:16px}
  .restaurant-card{border-radius:13px}
  .restaurant-card img{
    height:205px;
    object-fit:cover;
  }
  .restaurant-card .card-body{padding:18px}
  .restaurant-card h3{font-size:22px;line-height:1.2;margin:9px 0 7px}
  .restaurant-card p{font-size:14px;line-height:1.5;margin:7px 0}
  .restaurant-card .meta{font-size:13px;line-height:1.45}
  .badge{font-size:11px}
  .card-action .card-link{
    width:100%;
    justify-content:center;
    background:var(--orange);
    color:#fff;
    min-height:44px;
  }

  /* Category page */
  .page-hero{padding:48px 18px 36px}
  .page-hero h1{font-size:37px;line-height:1.08}
  .category-grid{
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .category-card{
    min-height:68px;
    padding:12px 10px;
    gap:9px;
  }
  .category-card span{font-size:20px;width:24px}
  .category-card strong{font-size:12px;line-height:1.25}
  .directory-tools{margin-bottom:18px}
  .directory-tools input{height:46px}

  /* Mission/advertise bands */
  .intro{padding:44px 18px}
  .advertise,.impact-band,.scarcity-band,.mission-teaser{
    width:calc(100% - 36px);
    margin-left:18px;
    margin-right:18px;
  }
  .advertise-copy{padding:26px 22px}
  .advertise ul{grid-template-columns:1fr;padding:0 22px 26px;gap:10px}
  .mission-teaser{padding:24px}
  .mission-teaser h2{font-size:27px}

  /* Profile pages */
  .profile-hero{min-height:360px}
  .profile-wrap{width:calc(100% - 36px)}
  .profile-wrap h1{font-size:43px;line-height:1.02}
  .profile-wrap>p{font-size:16px}
  .profile-layout{width:calc(100% - 36px);padding-top:36px}
  .profile-main h2{font-size:29px}
  .profile-sidebar{gap:14px}
  .info-card{padding:19px}
  .profile-cta-box{padding:22px}

  /* Footer: dramatically shorter on mobile */
  .footer{
    padding:34px 20px 18px;
    gap:22px;
    grid-template-columns:1fr 1fr;
  }
  .footer-brand{grid-column:1/-1}
  .footer-brand p{max-width:none;margin:12px 0 0}
  .footer h4{font-size:16px;margin-bottom:10px}
  .footer>div:not(.copyright)>a{
    font-size:13px;
    margin:8px 0;
  }
  .footer-categories{display:none}
  .newsletter{grid-column:1/-1}
  .footer form.newsletter{display:grid;grid-template-columns:1fr auto}
  .newsletter input{min-height:44px}
  .newsletter button{min-height:44px}
  .copyright{
    grid-column:1/-1;
    margin-top:5px;
  }
}

@media(max-width:390px){
  .brand-copy strong{font-size:19px}
  .site-header .brand-lockup>img{width:38px;height:38px}
  .hero h1{font-size:38px}
  .category-grid{grid-template-columns:1fr 1fr}
}


/* =========================
   V9 HEADER / LOGO FIX
   ========================= */

/* Override the prior image-based header lockup */
.brand-lockup{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.brand-symbol{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--orange);
  color:#fff;
  font-size:21px;
  line-height:1;
}
.brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.brand-copy strong{
  display:block;
  font-family:"DM Sans",Arial,sans-serif;
  font-size:24px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.7px;
  white-space:nowrap;
}
.brand-copy .taste-word{color:var(--orange)}
.brand-copy .columbia-word{color:#fff}
.brand-copy small{
  display:block;
  color:#bec9d1;
  font-size:9px;
  line-height:1.2;
  margin-top:5px;
  white-space:nowrap;
}

/* Suppress any prior brand image sizing rules */
.brand-lockup>img{display:none!important}

@media(max-width:700px){
  .site-header{
    height:68px;
    padding:0 18px;
  }
  .site-header .brand-lockup{
    max-width:none;
    gap:9px;
  }
  .site-header .brand-symbol{
    width:36px;
    height:36px;
    flex-basis:36px;
    font-size:18px;
  }
  .site-header .brand-copy strong{
    font-size:22px;
    letter-spacing:-.55px;
  }
  .site-header .brand-copy small{
    display:none;
  }
  .menu-toggle{
    font-size:27px;
    padding:7px;
    margin-right:-6px;
  }
  .nav{top:68px}
}

/* Footer gets a restrained version of the same brand */
.footer .brand-symbol{
  width:34px;
  height:34px;
  flex-basis:34px;
  font-size:17px;
}
.footer .brand-copy strong{font-size:19px}
.footer .brand-copy small{display:none}

/* V10: preserve complete sharp Jackalopes logo in restaurant cards */
.restaurant-card img[src*="jackalopes-logo-sharp"]{
 object-fit:contain!important;object-position:center;background:#fff;padding:8px;
}

/* V11: user-selected Jackalopes main-page image */
.restaurant-card img[src*="jackalopes-main-selected"]{
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  padding:8px!important;
}
