
:root{
  --bg:#000000;
  --fg:#ffffff;
  --muted:#bdbdbd;
  --line:#1b1b1b;
  --gold:#caa55d;
  --max:1160px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',YuGothic,'Noto Sans JP',Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.9;scroll-behavior:smooth;}
a{color:var(--fg);text-decoration:none;}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 22px;}
.heading-serif{font-family:Didot,'Bodoni MT','Didot LT STD','Hoefler Text','Times New Roman',serif;letter-spacing:.06em;}
.ui-sans{font-family:Futura,'Avenir Next',Avenir,'Helvetica Neue',Helvetica,Arial,sans-serif;letter-spacing:.04em;}
.small{font-size:12px;color:var(--muted);}

/* HERO: solid black with mark + wordmark */
header{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid var(--line);position:relative;background:#000;}
.logo-mark{max-width:min(22vw,180px);height:auto;display:block;margin:0 auto 18px auto;}
.logo{max-width:min(60vw,560px);height:auto;display:block;margin:0 auto;}
.scroll-indicator{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:12px;color:var(--muted);opacity:.85;letter-spacing:.12em}

/* Sections */
section{position:relative;overflow:hidden;border-bottom:1px solid var(--line);padding:160px 22px;}
.section-inner{position:relative;z-index:2;min-height:70vh;display:flex;align-items:center;}
.section-title{font-size:46px;line-height:1.1;margin:0 0 12px 0;text-transform:uppercase;}
.section-sub{font-size:16px;color:#e2e2e2;margin-bottom:1.8em;letter-spacing:.04em;}
.lead{font-size:19px;color:#ededed;max-width:900px}
.copy{font-size:18px;color:#f0f0f0;max-width:900px;margin-top:10px}
.rule{height:1px;background:linear-gradient(90deg,transparent, var(--gold), transparent);opacity:.7;margin:28px 0}

/* Photo background */
section.photo{background-size:cover;background-position:center center;background-attachment:fixed;}
section.photo .overlay{position:absolute;inset:0;background:rgba(0,0,0,.62);}

/* Contained photo section (chef & chicken) */
.section-photo-contained .contained{
  display:block;width:100%;max-width:980px;margin:0 auto;border-radius:12px;border:1px solid #1b1b1b;box-shadow:0 0 0 1px rgba(255,255,255,0.05) inset;
}
.section-photo-contained figure{margin:0}
.section-photo-contained figcaption{color:#bdbdbd; font-size:12px; text-align:center; margin-top:10px}

/* Cards & grid */
.card{border:1px solid var(--line);border-radius:16px;padding:28px;background:#0f0f0f;box-shadow:0 0 0 1px rgba(255,255,255,0.03) inset}
.card h3{margin:0 0 10px 0;font-size:28px}
.card p{margin:0 0 12px 0;color:#e8e8e8}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media (max-width: 980px){.grid{grid-template-columns:1fr}}

/* Buttons */
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.btn{display:inline-block;padding:12px 18px;border:1px solid #fff;border-radius:999px;font-weight:700;letter-spacing:.08em;transition:transform .06s ease, background .2s ease}
.btn:hover{transform:translateY(-1px);background:#121212}
.btn.secondary{border-color:#888;color:#ddd}

/* Social */
.social{display:flex;justify-content:center;margin-top:16px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#000;transition:background .2s}
.social a:hover{background:#222}
.social svg{width:24px;height:24px;fill:#fff}

/* Map */
.map-frame{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0f0f0f}
.map-frame iframe{display:block;width:100%;height:360px;border:0}

/* Footer */
footer{padding:40px 0;color:#cfcfcf;border-top:1px solid var(--line)}
footer .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.company{font-size:13px;line-height:2}
.copyright{margin-top:10px;font-size:12px;color:#bdbdbd;text-align:center;border-top:1px solid var(--line);padding-top:16px}
footer a{text-decoration:underline;color:#d6d6d6}
footer .copyright a{font-family:'Helvetica Neue', Arial, Helvetica, sans-serif;font-weight:600;text-decoration:none;border-bottom:1px solid #fff}
footer .copyright a:hover{opacity:.8}

/* Mobile adjustments */
@media (max-width: 768px){
  section{padding:120px 18px;}
  .logo{max-width:78vw;}
  section.photo{background-attachment:scroll;min-height:80vh;}
}


/* --- v13 updates --- */
/* Simple slider */
.slider{position:relative;max-width:980px;margin:0 auto;border-radius:12px;border:1px solid #1b1b1b;overflow:hidden;background:#0a0a0a}
.slider-track{display:flex;transition:transform .6s ease}
.slider img{display:block;width:100%;height:auto;flex:0 0 100%}
.slider-controls{position:absolute;inset:auto 0 10px 0;display:flex;justify-content:center;gap:8px}
.slider-dot{width:9px;height:9px;border-radius:50%;background:#666;opacity:.7;cursor:pointer;border:1px solid #999}
.slider-dot.active{background:#fff;opacity:1}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(0,0,0,.45);border:1px solid #444;display:flex;align-items:center;justify-content:center;cursor:pointer}
.slider-btn svg{width:18px;height:18px;fill:#fff}
.slider-btn.prev{left:8px}
.slider-btn.next{right:8px}

/* Company hero should always show background image */
#company-hero{background-attachment:scroll !important; min-height:70vh}


/* --- v14 updates --- */
.slider{background:#000;}
.slider img{object-fit: contain; background:#000; height:auto;}
@media (max-width: 768px){
  .slider-btn{width:44px;height:44px;}
  .slider-dot{width:10px;height:10px;}
}
