@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/big-shoulders-display-700-normal.woff2) format('woff2')}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/big-shoulders-display-800-normal.woff2) format('woff2')}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/libre-franklin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/libre-franklin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/libre-franklin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Libre Caslon Text';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/libre-caslon-text-400-italic.woff2) format('woff2')}
:root{--char:#14110F;--char-2:#1D1815;--char-rule:#3A2F27;--cream:#EFE4CF;--char-muted:#B9AB94;
--gold:#C9A24B;--gold-soft:#E0C27A;--red:#B5201A;--red-dark:#CC2A22;--rust:#B8401F;--ember:#7A2412;
--paper:#FFFFFF;--band:#F5F1E8;--card:#FBF8F1;--rule:#E2DBCB;--ink:#1D1815;--muted:#5E554A;
--display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
--text:'Libre Franklin','Helvetica Neue',Arial,sans-serif;
--serif:'Libre Caslon Text',Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--red);text-underline-offset:4px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--paper);color:var(--ink);padding:10px 14px;z-index:10}
.skip:focus{left:8px}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.display{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:.005em;margin:0}
.serif{font-family:var(--serif);font-style:italic;font-weight:400}
h2{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(40px,6vw,64px);line-height:.95;margin:0 0 16px;color:var(--char)}
.btn{display:inline-block;background:var(--red);color:var(--cream);font-weight:600;font-size:17px;text-decoration:none;padding:14px 24px;border-radius:3px}
.btn:hover{background:var(--red-dark)}
.btn.line{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn.line:hover{background:rgba(255,255,255,.08)}
.muted{color:var(--muted)}

/* header */
.top{background:var(--paper);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.brand{display:block;line-height:0}
.brand img{height:44px;width:auto}
.top nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 24px}
.top nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:16px;padding:6px 0;border-bottom:2px solid transparent}
.top nav a:hover{border-bottom-color:var(--rule)}
.top nav a[aria-current=page]{border-bottom-color:var(--red)}
@media(max-width:760px){.top .wrap{flex-direction:column;align-items:flex-start;gap:8px}.top nav{justify-content:flex-start;gap:0 18px}.top nav a{font-size:15px}}

/* footer */
footer{border-top:1px solid var(--char-rule);background:var(--char);color:var(--char-muted);padding:46px 0 50px;font-size:16px}
footer .wrap{display:flex;flex-wrap:wrap;gap:26px 64px;align-items:flex-start}
footer img{height:60px;width:auto;opacity:.9}
footer p{margin:0 0 4px}
footer a{color:var(--cream)}
footer strong{color:var(--cream);font-weight:600}
footer .small{flex-basis:100%;font-size:14px;color:#8A7E6B;margin-top:6px}

/* ---------- home ---------- */
.h-hero{position:relative;overflow:hidden;color:var(--cream);background:
 radial-gradient(ellipse at 50% -10%,rgba(201,162,75,.26),transparent 62%),
 radial-gradient(ellipse at 10% 110%,rgba(184,64,31,.26),transparent 52%),var(--char)}
.h-hero .wrap{position:relative;z-index:1;padding-top:76px}
.h-hero h1{font-size:clamp(62px,14.5vw,176px)}
.h-hero .sub{font-size:clamp(18px,2.3vw,22px);max-width:30em;margin:26px 0 0;color:#D8CDB8}
.h-hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 0}
.h-hero .mark{position:absolute;right:-70px;bottom:-90px;height:135%;width:auto;opacity:.10;pointer-events:none}
.strip{display:flex;flex-wrap:wrap;gap:10px 44px;margin-top:64px;padding:20px 0 24px;border-top:1px solid var(--char-rule);font-size:15px;color:var(--char-muted)}
.strip b{display:block;color:var(--cream);font-weight:600;font-size:16px}

.story{padding:96px 0 88px}
.story .wrap{display:grid;gap:36px 72px;grid-template-columns:1fr}
@media(min-width:900px){.story .wrap{grid-template-columns:7fr 5fr;align-items:end}}
.story blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(28px,3.6vw,42px);line-height:1.25;color:var(--char)}
.story blockquote span{color:var(--rust)}
.story p{margin:0 0 14px;color:var(--muted)}
.story .who{color:var(--ink);font-weight:600;margin-top:20px}

.pillars{background:var(--band);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.pillars .wrap{display:grid;grid-template-columns:1fr}
@media(min-width:800px){.pillars .wrap{grid-template-columns:repeat(3,1fr)}}
.pillar{padding:40px 0;border-bottom:1px solid var(--rule)}
.pillar:last-child{border-bottom:0}
@media(min-width:800px){.pillar{padding:52px 34px;border-bottom:0;border-left:1px solid var(--rule)}.pillar:first-child{border-left:0;padding-left:0}}
.pillar h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:40px;line-height:1;margin:0 0 10px;color:var(--char)}
.pillar p{margin:0;color:var(--muted);max-width:24em}

.visit{padding:88px 0}
.visit .wrap{display:grid;gap:40px 64px;grid-template-columns:1fr}
@media(min-width:900px){.visit .wrap{grid-template-columns:6fr 5fr;align-items:start}}
.map{position:relative;aspect-ratio:4/3;background:var(--band);border:1px solid var(--rule)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35)}
dl{margin:0}
dt{color:var(--muted);font-size:15px}
dd{margin:0 0 18px;font-size:19px;font-weight:500}
dd a{color:var(--ink)}
dd a:hover{color:var(--red)}

.notes{background:var(--red);color:var(--cream)}
.notes .wrap{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:800px){.notes .wrap{grid-template-columns:1fr 1fr}}
.notes a{display:block;padding:30px 0;color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(239,228,207,.25)}
@media(min-width:800px){.notes a{border-bottom:0;padding:34px 0}.notes a+a{border-left:1px solid rgba(239,228,207,.25);padding-left:40px}}
.notes .t{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:34px;line-height:1;display:block}
.notes .d{display:block;margin-top:6px;color:#F3D9CC}
.notes a:hover .t{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}

/* ---------- menu ---------- */
.menu-page{background:var(--card);padding:64px 0 96px}
.menu-card{max-width:880px;margin:0 auto;padding:0 22px;text-align:center}
.menu-card .mark{width:56px;margin:0 auto 18px;display:block}
.menu-card h1{font-size:clamp(84px,17vw,168px);color:var(--char)}
.menu-card .sub{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--muted);margin:10px 0 0}
.dbl{border:0;border-top:1px solid var(--char);border-bottom:1px solid var(--char);height:5px;margin:40px 0}
.cats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:0 56px;text-align:left}
@media(min-width:680px){.cats{grid-template-columns:1fr 1fr}}
.cats li{display:flex;align-items:baseline;gap:12px;padding:16px 0;border-bottom:1px dotted #B9AB94}
.cats .n{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:34px;line-height:1;color:var(--char)}
.cats .lead{flex:1;border-bottom:1px dotted transparent}
.cats .s{font-size:14px;color:var(--muted);white-space:nowrap}
.menu-note{margin:44px auto 0;max-width:34em}
.menu-note p{margin:0 0 10px}
.menu-note .serif{font-size:22px;color:var(--char)}
.halal{display:inline-block;margin-top:18px;padding:8px 16px;border:1.5px solid var(--rust);color:var(--rust);font-weight:600;font-size:15px;border-radius:2px}

/* ---------- catering ---------- */
.cat{display:grid;grid-template-columns:1fr;min-height:70vh}
@media(min-width:900px){.cat{grid-template-columns:5fr 7fr}}
.cat .side{background:var(--char);color:var(--cream);padding:64px 22px 56px;position:relative;overflow:hidden}
@media(min-width:900px){.cat .side{padding:88px 56px}}
.cat .side h1{font-size:clamp(72px,10vw,140px);position:relative;z-index:1}
.cat .side .serif{font-size:22px;color:var(--gold-soft);margin:16px 0 0;position:relative;z-index:1}
.cat .side img{position:absolute;right:-40px;bottom:-60px;width:70%;opacity:.08}
.cat .body{padding:56px 22px 72px}
@media(min-width:900px){.cat .body{padding:88px 64px}}
.cat .body .tag{display:inline-block;background:var(--band);border:1px solid var(--rule);padding:6px 12px;font-weight:600;font-size:14px;margin:0 0 22px}
.cat .body p{max-width:34em;margin:0 0 16px}
.ask{margin:34px 0 0;padding:26px 0 0;border-top:1px solid var(--rule);max-width:34em}
.ask h2{font-size:36px;margin-bottom:10px}
.ask ul{margin:0 0 24px;padding-left:20px;color:var(--muted)}
.ask li{margin:0 0 4px}
.ask li::marker{color:var(--rust)}

/* ---------- thanksgiving ---------- */
.tg-hero{background:var(--ember);color:var(--cream);text-align:center;padding:76px 0 64px;position:relative;overflow:hidden}
.tg-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:var(--gold)}
.tg-hero .over{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold-soft);margin:0 0 8px}
.tg-hero h1{font-size:clamp(64px,12vw,148px)}
.tg-hero p.sub{max-width:30em;margin:22px auto 0;color:#F1DCCF;font-size:19px}
.tg{padding:72px 0 96px;background:var(--card)}
.tg .inner{max-width:760px;margin:0 auto;padding:0 22px}
.steps{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 40px;border-top:1px solid var(--rule)}
@media(min-width:680px){.steps{grid-template-columns:repeat(3,1fr)}}
.steps div{padding:18px 18px 18px 0;border-bottom:1px solid var(--rule)}
.steps b{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:26px;line-height:1.05;color:var(--char)}
.steps span{display:block;color:var(--muted);font-size:15px;line-height:1.5;margin-top:4px}
.panel{background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:28px 24px}
.panel iframe{width:100%;border:0;min-height:560px;display:block}
.panel iframe[hidden],.note[hidden]{display:none}
.note{margin:0;color:var(--muted)}
.note strong{display:block;color:var(--ink);font-size:20px;margin-bottom:6px}

/* ---------- photos ---------- */
.ph{background:var(--char);color:var(--cream);min-height:76vh;display:flex;align-items:center;position:relative;overflow:hidden}
.ph .wrap{position:relative;z-index:1;padding-top:80px;padding-bottom:80px;width:100%}
.ph h1{font-size:clamp(80px,16vw,200px);color:var(--cream)}
.ph h1 em{font-style:normal;color:var(--gold)}
.ph .serif{font-size:clamp(20px,2.4vw,26px);color:var(--char-muted);max-width:26em;margin:22px 0 30px}
.ph .bg{position:absolute;right:4%;top:50%;transform:translateY(-50%);height:88%;width:auto;opacity:.16}
.frames{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:56px;max-width:520px}
.frames div{aspect-ratio:1;border:1px solid var(--char-rule)}

/* ---------- careers ---------- */
.c-hero{position:relative;overflow:hidden;color:var(--cream);background:radial-gradient(ellipse at 90% 120%,rgba(184,64,31,.30),transparent 55%),var(--char)}
.c-hero .wrap{position:relative;z-index:1;padding-top:60px;padding-bottom:62px;display:grid;gap:26px 56px;grid-template-columns:1fr}
@media(min-width:900px){.c-hero .wrap{grid-template-columns:7fr 5fr;align-items:end}}
.c-hero h1{font-size:clamp(60px,11vw,132px)}
.c-hero p{margin:0 0 20px;color:#D8CDB8;font-size:19px}
.c-hero .roles{margin:0;padding:0;list-style:none;border-top:1px solid var(--char-rule)}
.c-hero .roles li{border-bottom:1px solid var(--char-rule)}
.c-hero .roles a{display:block;padding:10px 0;color:var(--cream);text-decoration:none;font-weight:600}
.c-hero .roles a:hover{color:var(--gold-soft)}
.jobs{padding:76px 0}
.job{display:grid;gap:18px 56px;grid-template-columns:1fr;padding:44px 0;border-top:1px solid var(--rule)}
.job:first-of-type{border-top:0;padding-top:0}
@media(min-width:880px){.job{grid-template-columns:4fr 8fr}}
.job h2{margin:0;font-size:clamp(44px,5.5vw,62px)}
.job .where{color:var(--muted);margin:6px 0 0;font-size:16px}
.job .cols{display:grid;gap:22px 40px;grid-template-columns:1fr}
@media(min-width:620px){.job .cols{grid-template-columns:1fr 1fr}}
.job h3{font-size:17px;font-weight:600;margin:0 0 8px}
.job ul{margin:0;padding-left:19px}
.job li{margin:0 0 7px}
.job li::marker{color:var(--rust)}
.fine{color:var(--muted);font-size:15px;max-width:44em;margin:34px 0 0}
.apply{background:#1C1A18;color:var(--cream);padding:84px 0 96px;text-align:center}
.apply h2{color:var(--cream);margin:0 0 14px}
.apply .lead{color:var(--char-muted);margin:0 auto;max-width:30em}
.apply .rule{width:56px;height:3px;background:var(--gold);border:0;margin:28px auto 36px}
.apply .panel{background:transparent;border:0;border-radius:0;padding:0;margin:0 auto;max-width:680px;text-align:left}
.apply .panel iframe{min-height:0;background:#1C1A18}
.apply .note{color:var(--char-muted);text-align:center}
.apply .note a{color:var(--gold-soft)}
