/* Nadine's Cafe — colors come from the cafe itself: the red script sign, the teal front door,
   espresso, the white subway tile behind the counter, and maple syrup for prices. */
:root{
  --red:#B3262E; --red-dark:#8E1C23;
  --teal:#1F6F72; --teal-light:#E3F1F0;
  --espresso:#3A2A22; --espresso-2:#5B4639;
  --tile:#FBFAF7; --grout:#E7E1D6;
  --syrup:#A8701A;
  --white:#fff;
  --script:'Parisienne', cursive;
  --slab:'Bitter', Georgia, serif;
  --sans:'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --wrap:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--tile);color:var(--espresso);font:400 17px/1.6 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--teal)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:8px;background:var(--espresso);color:#fff;padding:8px 14px;border-radius:6px;z-index:50}
.skip:focus{left:8px}

/* subway tile wall */
.tiles{background-color:var(--tile);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88'%3E%3Cpath d='M0 .5H88M0 44.5H88M.5 0V44M44.5 44V88' stroke='%23E7E1D6' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-size:88px 88px}

/* top bar */
.bar{position:sticky;top:0;z-index:20;background:rgba(251,250,247,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid var(--grout)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:60px}
.bar-name{display:block;line-height:0}
.bar-name img{height:42px;width:auto}
.bar nav{display:flex;gap:22px}
.bar nav a{color:var(--espresso);text-decoration:none;font-weight:600;font-size:16px}
.bar nav a:hover{color:var(--red)}
@media (max-width:760px){.bar nav{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 26px;border-radius:999px;font:700 17px/1 var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:var(--red-dark)}
.btn-line{border-color:var(--espresso);color:var(--espresso);background:transparent}
.btn-line:hover{background:var(--espresso);color:#fff}
.btn-red-line{border-color:var(--red);color:var(--red);background:#fff}
.btn-red-line:hover{background:var(--red);color:#fff}
.btn-teal{background:var(--teal);color:#fff;letter-spacing:.04em}
.btn-teal:hover{background:#17575A}
.btn-small{min-height:40px;padding:8px 18px;font-size:15px}

/* hero */
.hero{text-align:center;padding:64px 0 0}
.hero h1{margin:0 auto;max-width:860px;line-height:0}
.hero h1 img{width:100%;height:auto}
.hero-lede{margin:22px auto 30px;max-width:38ch;font:500 clamp(20px,3.2vw,26px)/1.4 var(--slab);color:var(--espresso)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.hero-photo{margin:48px auto 0;max-width:var(--wrap);padding:0 20px;position:relative}
.hero-photo img{width:100%;aspect-ratio:5/3;object-fit:cover;border-radius:18px 18px 0 0;border:8px solid #fff;border-bottom:0;box-shadow:0 -2px 30px rgba(58,42,34,.12)}

/* section basics */
.section{padding:72px 0}
.section h2{margin:0 0 10px;font:700 clamp(30px,5vw,44px)/1.15 var(--slab);text-align:center;color:var(--espresso)}
.section-lede{margin:0 auto 34px;max-width:46ch;text-align:center;color:var(--espresso-2)}

/* food strip */
.food{background:var(--espresso);padding:28px 0}
.food ul{list-style:none;margin:0 auto;padding:0 20px;max-width:1320px;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.food li{min-width:0}
.food img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}
@media (max-width:900px){
  .food ul{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .food ul::-webkit-scrollbar{display:none}
  .food li{scroll-snap-align:center}
}

/* menu */
.menu{background:#fff}
.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 auto 34px}
.tab{font:700 16px/1 var(--sans);padding:12px 20px;min-height:44px;border-radius:999px;border:2px solid var(--grout);background:#fff;color:var(--espresso);cursor:pointer}
.tab[aria-selected="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
.tab:hover{border-color:var(--teal)}
.panel{columns:2 420px;column-gap:56px;max-width:980px;margin:0 auto}
.group{break-inside:avoid;margin:0 0 34px}
.group h3{margin:0 0 4px;font:700 22px/1.25 var(--slab);color:var(--red);text-align:center}
.group-note{margin:0 0 12px;text-align:center;font-size:15px;color:var(--espresso-2);font-style:italic}
.items{list-style:none;margin:0;padding:0}
.items li{padding:7px 0}
.line{display:flex;align-items:baseline;gap:8px}
.name{font-weight:600}
.dots{flex:1;border-bottom:2px dotted #CDBFAE;transform:translateY(-4px);min-width:16px}
.price{font:700 16px/1 var(--slab);color:var(--syrup);white-space:nowrap}
.desc{margin:2px 0 0;font-size:15px;line-height:1.45;color:var(--espresso-2);max-width:52ch}
.menu-foot{text-align:center;margin-top:12px}
.menu-foot p{margin:0 auto 18px;color:var(--espresso-2);font-size:15px;max-width:52ch}

/* about */
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-text{text-align:center}
.about-text p{font:400 19px/1.75 var(--slab);margin:0 auto 18px;max-width:40ch}
.about-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.about-photos img{border-radius:12px;width:100%;height:100%;object-fit:cover;border:6px solid #fff;box-shadow:0 6px 24px rgba(58,42,34,.12)}
.about-photos img:first-child{grid-row:span 2;aspect-ratio:3/4}
.about-photos img:not(:first-child){aspect-ratio:5/3}
@media (max-width:820px){.about .wrap{grid-template-columns:1fr;gap:32px}}

/* visit */
.visit{background:var(--teal);color:#fff}
.visit h2{color:#fff}
.visit .section-lede{color:#D9ECEB}
.visit-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:stretch}
.visit-card{background:#fff;color:var(--espresso);border-radius:16px;padding:28px;text-align:center;display:flex;flex-direction:column;gap:18px;justify-content:center}
.visit-card h3{margin:0;font:700 22px/1.2 var(--slab);color:var(--red)}
.visit-card address{font-style:normal;font-size:19px;line-height:1.5}
.visit-card .contact{display:flex;flex-direction:column;gap:8px;align-items:center}
.visit-card .contact a{font-weight:600;font-size:18px;color:var(--teal);text-decoration:none}
.visit-card .contact a:hover{text-decoration:underline}
.visit-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.map{border:0;width:100%;min-height:340px;height:100%;border-radius:16px;background:#d6e6e5}
@media (max-width:820px){.visit-grid{grid-template-columns:1fr}.map{min-height:300px}}

/* jobs */
.jobs{text-align:center}
.jobs h2{margin-bottom:22px;letter-spacing:.03em}

/* footer */
.foot{background:var(--espresso);color:#E9DCCD;text-align:center;padding:40px 0 48px}
.foot-name{margin:0 0 12px;line-height:0}
.foot-name img{height:52px;width:auto;display:inline-block}
.foot p{margin:4px 0;font-size:15px}
.foot a{color:#F3E7DA}

/* application page */
.apply{padding:48px 0 72px}
.apply-head{text-align:center;margin-bottom:28px}
.apply-head h1{margin:0;font:700 clamp(30px,6vw,44px)/1.15 var(--slab)}
.apply-head p{margin:10px auto 0;max-width:48ch;color:var(--espresso-2)}
.form{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--grout);border-radius:18px;padding:28px}
.form fieldset{border:0;padding:0;margin:0 0 26px}
.form legend{font:700 21px/1.2 var(--slab);color:var(--red);margin:0 0 14px;padding:0}
.field{margin:0 0 16px}
.field label,.q{display:block;font-weight:600;margin:0 0 6px}
.req{color:var(--red)}
.field input,.field textarea,.field select{width:100%;font:400 17px/1.4 var(--sans);color:var(--espresso);padding:12px 14px;border:2px solid var(--grout);border-radius:10px;background:var(--tile)}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--teal);background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.two{grid-template-columns:1fr}.form{padding:20px;border-radius:14px}}
.yn{display:flex;gap:10px}
.yn label{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid var(--grout);border-radius:999px;font-weight:600;cursor:pointer;min-height:44px}
.yn input{accent-color:var(--teal);width:18px;height:18px;margin:0}
.yn label:has(input:checked){border-color:var(--teal);background:var(--teal-light)}
.hint{font-size:14px;color:var(--espresso-2);margin:4px 0 0}
.form .btn{width:100%;margin-top:6px}
.form-msg{margin:16px 0 0;padding:14px 16px;border-radius:10px;font-weight:600;text-align:center}
.form-msg.ok{background:var(--teal-light);color:var(--teal)}
.form-msg.err{background:#FBE7E6;color:var(--red-dark)}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.back{display:inline-block;margin:0 0 18px;font-weight:600;text-decoration:none}
.apply-kicker{margin:0 0 6px;line-height:0}
.apply-kicker img{height:44px;width:auto;display:inline-block}
.field input::placeholder,.field textarea::placeholder{color:#8A7B70}
@media (max-width:560px){.field input,.field textarea{padding:12px 10px}.field input::placeholder,.field textarea::placeholder{font-size:14px}}
@media (max-width:380px){.apply .wrap{padding:0 10px}.form{padding:16px 12px}.field input,.field textarea{padding:12px 8px}.field input::placeholder,.field textarea::placeholder{font-size:12.5px}}
@media (max-width:420px){.bar-name img{height:34px}}
@media (max-width:560px){.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{width:min(100%,300px)}}
.hero-actions-2{margin-top:12px}
.bar-call{gap:8px;white-space:nowrap}
.bar-call .call-long{display:none}
@media (min-width:761px){.bar-call .call-short{display:none}.bar-call .call-long{display:inline}}
