:root {
  --visit-navy:#071725;
  --visit-navy-2:#0a1c2c;
  --visit-gold:#d7a650;
  --visit-gold-deep:#b57a25;
  --visit-cream:#f3eee6;
  --visit-ink:#0f2232;
  --visit-soft:#dedbd5;
}

.visit-page { background:#fff; color:#102534; }
.visit-page .grain { display:none; }
.visit-page .site-header { position:relative; z-index:10; background:transparent; }
.visit-page .nav-link { color:#223046; }
.visit-page .nav-link:hover,
.visit-page .nav-link.active { color:#b7791f; }
.visit-page .header-order { color:#a7631d; border-color:#bd7f2c; }
.visit-page .header-order:hover { background:#bd7f2c; color:#fff; }



body.visit-page { margin:0; background:#fff; color:#102534; }
.visit-page .site-header { border-bottom:1px solid rgba(16,37,52,.08); background:#fff; }
.visit-page .brand { text-decoration:none; }
.visit-main { background:#fff; }

.visit-hero {
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(480px,1.04fr);
  gap:24px;
  align-items:center;
  padding:28px 58px 34px;
  background:#fff;
  border-bottom:1px solid rgba(16,37,52,.08);
  overflow:hidden;
}
.visit-hero-copy { padding:26px 0 30px; position:relative; z-index:2; }
.visit-hero-kicker { margin:0 0 11px; color:#c28b35; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.18em; }
.visit-hero h1 { margin:0; color:#102534; font-family:"Cormorant Garamond",serif; font-size:clamp(70px,7vw,112px); line-height:.78; font-weight:600; letter-spacing:-.045em; }
.visit-hero h2 { margin:22px 0 0; max-width:660px; color:#c58b33; font-family:"Cormorant Garamond",serif; font-size:clamp(34px,3.4vw,54px); line-height:.92; font-weight:600; }
.visit-hero-lede { max-width:760px; margin:20px 0 0; color:#4f6470; font-size:15px; line-height:1.72; }
.visit-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.visit-primary,.visit-secondary { min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 20px; border-radius:6px; text-decoration:none; text-transform:uppercase; font-size:10px; font-weight:900; letter-spacing:.08em; box-sizing:border-box; }
.visit-primary { background:linear-gradient(135deg,#d9aa51,#b87a20); color:#fff; }
.visit-secondary { border:1px solid rgba(189,127,44,.75); color:#102534; background:#fff; }
.visit-primary:hover,.visit-secondary:hover { transform:translateY(-1px); }
.visit-quick-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:19px; }
.visit-quick-tags span { padding:7px 9px; border:1px solid rgba(16,37,52,.12); border-radius:999px; color:#4f6470; font-size:9px; letter-spacing:.035em; }

.visit-hero-map { position:relative; min-height:415px; display:grid; place-items:center; align-self:stretch; }
.visit-hero-map::before { content:""; position:absolute; inset:8% 2% 8% 0; background:radial-gradient(circle at 45% 30%,rgba(203,131,35,.08),transparent 43%); filter:blur(4px); }
.visit-hero-map img { width:100%; max-width:760px; height:auto; display:block; position:relative; z-index:1; object-fit:contain; mix-blend-mode:normal; opacity:1; }
.visit-hero-map p { position:absolute; right:10%; bottom:9%; z-index:2; margin:0; color:#6a6f75; text-align:right; text-transform:uppercase; font-size:9px; line-height:1.5; letter-spacing:.13em; }
.visit-hero-map p strong { color:#102534; font-size:12px; }

.visit-photo-section { padding:26px 22px 34px; background:#d7d5cf; }
.visit-photo-grid { width:min(1280px,100%); margin:0 auto; display:grid; grid-template-columns:1.03fr .83fr .74fr; grid-template-rows:330px 300px; gap:10px; }
.visit-photo { margin:0; position:relative; overflow:hidden; border-radius:16px; background:#26333a; box-shadow:0 10px 25px rgba(7,23,37,.12); }
.visit-photo img { width:100%; height:100%; display:block; object-fit:cover; transform:none; }
.visit-photo::after { content:none; }
.visit-photo figcaption { position:absolute; z-index:2; left:24px; top:22px; color:#fff; font-family:"Caveat",cursive; font-size:clamp(35px,3.4vw,58px); line-height:.8; font-weight:700; text-shadow:0 2px 12px rgba(0,0,0,.32); transform:rotate(-3deg); }
.visit-photo figcaption span { font-size:.82em; }
.visit-photo-bagels { grid-column:1; grid-row:1; }
.visit-photo-drinks { grid-column:2 / 4; grid-row:1; }
.visit-photo-seasonal { grid-column:1; grid-row:2; }
.visit-photo-ingredients { grid-column:2; grid-row:2; }
.visit-photo-local { grid-column:3; grid-row:2; }
.visit-photo-bagels img { object-position:center 53%; }
.visit-photo-drinks img { object-position:center 58%; }
.visit-photo-seasonal img { object-position:center 57%; }
.visit-photo-ingredients img { object-position:center 53%; }
.visit-photo-local img { object-position:center 52%; }
.visit-photo-drinks figcaption { left:30px; top:22px; }
.visit-photo-seasonal figcaption { left:24px; top:20px; }
.visit-photo-ingredients figcaption { left:22px; top:18px; font-size:clamp(31px,3vw,48px); }
.visit-photo-local figcaption { left:26px; top:auto; bottom:22px; font-size:clamp(32px,3vw,49px); }

.visit-section { padding:72px 58px; }
.visit-section.light { background:var(--visit-cream); color:var(--visit-ink); }
.visit-section.dark-alt { background:#0a1a28; }
.visit-section-inner { width:min(1240px,100%); margin:0 auto; }
.visit-section-heading { max-width:900px; margin-bottom:34px; }
.visit-section-heading p { margin:0 0 9px; color:#b7791f; text-transform:uppercase; font-size:9px; font-weight:900; letter-spacing:.17em; }
.visit-section.dark-alt .visit-section-heading p { color:#d7a650; }
.visit-section-heading h2 { margin:0; font-family:"Cormorant Garamond",serif; font-size:clamp(42px,4.6vw,68px); line-height:.93; color:inherit; }
.visit-section-heading h2 em { color:#c8892a; font-style:italic; }
.visit-section-heading > span { display:block; max-width:830px; margin-top:16px; color:inherit; opacity:.74; font-size:14px; line-height:1.75; }

.visit-value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.visit-value-card { padding:25px; border:1px solid rgba(16,37,52,.12); border-radius:16px; background:#fffaf1; box-shadow:0 10px 25px rgba(15,35,48,.05); }
.visit-value-card > span { font-size:28px; }
.visit-value-card h3 { margin:14px 0 8px; font-family:"Cormorant Garamond",serif; font-size:28px; color:#102534; }
.visit-value-card p { margin:0; color:#49606b; font-size:12px; line-height:1.7; }

.roadtrip-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.roadtrip-card { min-height:190px; padding:28px; border:1px solid rgba(215,166,80,.22); border-radius:18px; background:linear-gradient(145deg,#0c2335,#091723); }
.roadtrip-card small { color:#d7a650; text-transform:uppercase; font-weight:900; letter-spacing:.15em; }
.roadtrip-card h3 { margin:8px 0 10px; color:#f6f0e7; font-family:"Cormorant Garamond",serif; font-size:32px; }
.roadtrip-card p { margin:0; color:rgba(255,255,255,.72); font-size:12px; line-height:1.7; }
.roadtrip-card a { display:inline-block; margin-top:14px; color:#e6bd73; text-decoration:none; font-size:10px; font-weight:800; }

.visit-plan-section { background:#e8e3da; color:#102534; }
.visit-map-layout { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr); gap:20px; align-items:stretch; }
.visit-map-panel { min-height:360px; padding:38px; border-radius:20px; background:radial-gradient(circle at 18% 22%,rgba(215,166,80,.27),transparent 25%),linear-gradient(145deg,#102b3f,#081621); border:1px solid rgba(215,166,80,.28); color:#fff; }
.visit-map-panel h2 { margin:0; color:#f7f1e8; font-family:"Cormorant Garamond",serif; font-size:54px; line-height:.96; }
.visit-map-panel > p:not(.visit-hero-kicker) { max-width:690px; color:rgba(255,255,255,.74); line-height:1.75; font-size:14px; }
.visit-map-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.visit-info-panel { padding:32px; border-radius:20px; background:#fffaf1; color:#102534; box-shadow:0 12px 30px rgba(15,35,48,.08); }
.visit-info-panel h3 { margin:0 0 16px; font-family:"Cormorant Garamond",serif; font-size:34px; }
.visit-info-panel dl { display:grid; gap:12px; margin:0; }
.visit-info-panel dl div { padding-bottom:11px; border-bottom:1px solid rgba(16,37,52,.1); }
.visit-info-panel dt { color:#a76f1f; text-transform:uppercase; font-size:8px; font-weight:900; letter-spacing:.12em; }
.visit-info-panel dd { margin:4px 0 0; font-size:12px; line-height:1.55; }

.visit-faq-section { background:#071725; }
.visit-faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:40px; }
.visit-faq h2 { margin:0; color:#f6f0e7; font-family:"Cormorant Garamond",serif; font-size:54px; line-height:.98; }
.visit-faq h2 em { color:#d7a650; }
.visit-faq-list { display:grid; gap:11px; }
.visit-faq-item { padding:21px 22px; border:1px solid rgba(215,166,80,.2); border-radius:14px; background:#0c2233; }
.visit-faq-item h3 { margin:0 0 7px; color:#f8f2e9; font-family:"Cormorant Garamond",serif; font-size:23px; }
.visit-faq-item p { margin:0; color:rgba(255,255,255,.68); font-size:12px; line-height:1.68; }

/* Square's official embedded email form. Keep this as a normal top-level POST so Square receives the address directly. */
.visit-page .square-email-signup .newsletter-row { grid-template-columns:minmax(0,1fr) auto; }
.visit-page .square-email-signup .newsletter-row button { min-width:138px; padding:0 14px; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }

@media(max-width:1040px){
  .visit-hero{grid-template-columns:1fr; padding:36px 34px 18px}.visit-hero-map{min-height:320px}.visit-hero-map img{max-width:720px}.visit-photo-grid{grid-template-rows:300px 270px}.visit-section{padding:58px 34px}.visit-value-grid{grid-template-columns:repeat(2,1fr)}.visit-map-layout,.visit-faq{grid-template-columns:1fr}.footer-inner.footer-simple{grid-template-columns:1fr}
}
@media(max-width:720px){
  .visit-hero{padding:32px 20px 12px}.visit-hero h1{font-size:70px}.visit-hero h2{font-size:36px}.visit-hero-lede{font-size:14px}.visit-hero-map{min-height:250px}.visit-hero-map p{right:5%;bottom:2%}.visit-photo-section{padding:10px}.visit-photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:250px 220px 240px;gap:8px}.visit-photo-bagels{grid-column:1;grid-row:1}.visit-photo-drinks{grid-column:2;grid-row:1}.visit-photo-seasonal{grid-column:1;grid-row:2}.visit-photo-ingredients{grid-column:2;grid-row:2}.visit-photo-local{grid-column:1/-1;grid-row:3}.visit-photo figcaption{left:14px;top:14px;font-size:36px}.visit-photo-local figcaption{left:18px;bottom:14px;top:auto}.visit-section{padding:48px 20px}.roadtrip-grid{grid-template-columns:1fr}.visit-map-panel{padding:27px}.visit-map-panel h2{font-size:45px}.visit-info-panel{padding:24px}.visit-faq h2{font-size:46px}
}
@media(max-width:480px){
  .visit-hero-actions{display:grid}.visit-primary,.visit-secondary{width:100%}.visit-quick-tags{display:grid;grid-template-columns:1fr 1fr}.visit-photo-grid{grid-template-columns:1fr;grid-template-rows:250px 250px 235px 260px 300px}.visit-photo-bagels{grid-column:1;grid-row:1}.visit-photo-drinks{grid-column:1;grid-row:2}.visit-photo-seasonal{grid-column:1;grid-row:3}.visit-photo-ingredients{grid-column:1;grid-row:4}.visit-photo-local{grid-column:1;grid-row:5}.visit-value-grid{grid-template-columns:1fr}.visit-page .square-email-signup .newsletter-row{grid-template-columns:1fr;gap:8px}.visit-page .square-email-signup .newsletter-row input,.visit-page .square-email-signup .newsletter-row button{width:100%;border-radius:5px}
}

.visit-photo figcaption { display:none; }


/* v6.50 Visit page refinements */
.visit-section.dark-alt .visit-section-heading h2,
.visit-section.dark-alt .visit-section-heading h2 em,
.visit-section.dark-alt .visit-section-heading > span {
  color:#d7a650;
  opacity:1;
}

.visit-hero-map img { filter: drop-shadow(0 14px 22px rgba(0,0,0,.10)); }


/* v6.51 visit page media update */
.visit-hero-map img { width:100%; max-width:820px; height:auto; object-fit:contain; }
