/* Self-hosted, downloaded from Google Fonts (OFL). R2 of the compliance baseline: no runtime call to Google's font servers. */
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/bodonimoda-italic-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/bodonimoda-italic-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/bodonimoda-normal-400-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/bodonimoda-normal-400-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrumentsans-italic-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrumentsans-italic-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/instrumentsans-normal-400-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/instrumentsans-normal-400-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --bone:#F3F0E8; --ink:#251F1B; --mute:#6E655C; --line:#DAD4C8;
  --accent:#9B1F4A;
  --bou-bg:#EDF0F7; --bou-ink:#1E2757; --bou-blue:#2F3E9B; --bou-line:#C9D0E6;
  --serif:"Bodoni Moda",Didot,"Times New Roman",serif;
  --sans:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --gutter:clamp(20px,5vw,72px);
  --measure:34em;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.005em}
h1{font-size:clamp(44px,7vw,96px)}
h2{font-size:clamp(32px,4.4vw,56px)}
h3{font-size:clamp(24px,2.4vw,30px);line-height:1.15}
p{max-width:var(--measure)}
.lede{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);line-height:1.3;max-width:26em}
.mute{color:var(--mute)}
.small{font-size:15px}

/* nav */
header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bone) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px var(--gutter);gap:24px}
.mark{font-family:var(--serif);font-size:26px;letter-spacing:.18em;font-weight:500}
.mark small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.24em;font-weight:500;color:var(--mute);margin-top:2px}
.mark img{display:block;width:112px;height:auto}
.small-mark img{width:88px}
.links{display:flex;gap:28px;font-size:15px}
.links a{padding:6px 0;border-bottom:1px solid transparent}
.links a[aria-current]{border-bottom-color:var(--ink)}
.links a:hover{border-bottom-color:var(--line)}
.menu-btn{display:none;background:none;border:0;font:inherit;font-size:15px;cursor:pointer}
@media(max-width:820px){
  .links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bone);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px var(--gutter) 20px}
  .links.open{display:flex}
  .links a{padding:12px 0;border-bottom:1px solid var(--line);font-size:18px}
  .menu-btn{display:block}
}

/* buttons */
.btn{display:inline-block;padding:14px 22px;border:1px solid var(--ink);font-size:15px;line-height:1;cursor:pointer;font-family:inherit;background:transparent;color:var(--ink);transition:background .2s,color .2s}
.btn.solid{background:var(--ink);color:var(--bone)}
.btn.solid:hover{background:var(--accent);border-color:var(--accent)}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.solid:hover{color:var(--bone)}
.btn.light{border-color:var(--bone);color:var(--bone)}
.btn.light.solid{background:var(--bone);color:var(--ink)}
.btn.light:hover{border-color:var(--bone);color:var(--bone);background:rgba(243,240,232,.12)}
.btn.light.solid:hover{background:var(--bone);color:var(--accent);border-color:var(--bone)}
.textlink{border-bottom:1px solid var(--ink);padding-bottom:2px}
.textlink:hover{color:var(--accent);border-bottom-color:var(--accent)}
.actions{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:36px}

/* layout */
main{animation:fade .5s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){main{animation:none}html{scroll-behavior:auto}}
section{padding:clamp(72px,10vw,140px) var(--gutter)}
section + section{padding-top:0}
.rule{border-top:1px solid var(--line);margin:0 var(--gutter)}
.grid{display:grid;gap:clamp(24px,4vw,64px)}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g6{grid-template-columns:repeat(6,1fr);gap:12px}
.c4{grid-template-columns:5fr 7fr}
.c4r{grid-template-columns:7fr 5fr}
@media(max-width:820px){.g2,.g3,.g4,.c4,.c4r{grid-template-columns:1fr}.g6{grid-template-columns:repeat(3,1fr)}}
.ph{aspect-ratio:4/5;overflow:hidden;background:#E6E1D6}
.ph img{width:100%;height:100%;object-fit:cover}
.ph.sq{aspect-ratio:1/1}.ph.wide{aspect-ratio:3/2}.ph.tall{aspect-ratio:3/4}.ph.pano{aspect-ratio:21/9}
figcaption{font-size:14px;color:var(--mute);margin-top:10px}
.stack>*+*{margin-top:18px}
.stack h2+p,.stack h3+p{margin-top:22px}

/* hero */
.hero{position:relative;height:min(92vh,900px);min-height:560px;display:flex;align-items:flex-end;padding:0;overflow:hidden;background:#100c0a;color:var(--bone)}
.hero video,.hero img.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(16,12,10,.88) 0%,rgba(16,12,10,.62) 38%,rgba(16,12,10,.28) 68%,rgba(16,12,10,.08) 100%),linear-gradient(to right,rgba(16,12,10,.55) 0%,rgba(16,12,10,.3) 45%,rgba(16,12,10,0) 75%)}
.hero .inner{position:relative;z-index:1;padding:0 var(--gutter) clamp(48px,7vw,96px);width:100%}
.hero h1{font-size:clamp(96px,17vw,240px);letter-spacing:.16em;line-height:.9;margin-left:-.02em}
.hero .sub{font-family:var(--serif);font-size:clamp(20px,2.3vw,28px);line-height:1.3;margin-top:24px;max-width:22em}
.hero .sub em{font-style:italic}

/* sub-brand wordmarks (logo pack, original lettering) */
.wordmark{display:block;height:auto}
.wordmark.catering{width:clamp(220px,32vw,420px)}
.wordmark.untiki{width:clamp(260px,38vw,520px)}
.wordmark.bou{width:clamp(180px,26vw,340px)}
.bou-panel .wordmark.bou{width:clamp(160px,20vw,260px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* offer row */
.offer{border-top:1px solid var(--line);padding-top:24px}
.offer h3{margin-bottom:10px}
.offer p{max-width:22em}

/* steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1100px}
.steps li{list-style:none;counter-increment:s;border-top:1px solid var(--line);padding-top:20px}
.steps li::before{content:counter(s);font-family:var(--serif);font-size:44px;display:block;margin-bottom:14px;line-height:1}
.steps li strong{display:block;font-weight:500;margin-bottom:6px}
@media(max-width:820px){.steps{grid-template-columns:1fr}}

/* product rows */
.products{border-top:1px solid var(--line);max-width:900px}
.products .row{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.products .row span{color:var(--mute);font-size:15px}
.products .row .name{font-family:var(--serif);font-size:22px;color:var(--ink)}
.note{border-left:2px solid var(--accent);padding:6px 0 6px 18px;max-width:34em;font-size:15px;color:var(--mute)}

/* forms */
form{max-width:560px}
.field{display:flex;flex-direction:column;gap:8px;margin-top:22px}
label{font-size:15px}
input,textarea,select{font:inherit;font-size:16px;padding:12px 0;background:transparent;border:0;border-bottom:1px solid var(--ink);color:inherit;border-radius:0}
textarea{min-height:120px;resize:vertical}
.embed{border:1px dashed var(--line);padding:56px var(--gutter);text-align:left;color:var(--mute);font-size:15px;max-width:900px}
.embed strong{display:block;color:var(--ink);font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:8px}

/* bou */
.bou-panel{background:var(--bou-bg);color:var(--bou-ink);margin:0;padding:clamp(80px,11vw,160px) var(--gutter)}
.bou-panel .lede{max-width:24em}
.bou-word{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(56px,8vw,120px);line-height:1;letter-spacing:-.01em}
.bou-panel .btn{border-color:var(--bou-ink);color:var(--bou-ink)}
.bou-panel .btn:hover{background:var(--bou-ink);color:var(--bou-bg)}
#bou{background:var(--bou-bg);color:var(--bou-ink)}
#bou .rule{border-color:var(--bou-line)}
#bou input,#bou textarea,#bou select{border-bottom-color:var(--bou-ink)}
#bou .btn{border-color:var(--bou-ink);color:var(--bou-ink)}
#bou .btn.solid{background:var(--bou-ink);color:var(--bou-bg)}
#bou .btn.solid:hover{background:var(--bou-blue);border-color:var(--bou-blue)}
#bou .mute{color:#5B6489}
#bou .ph{background:#DDE2EF}
#bou .facts{list-style:none;max-width:30em;border-top:1px solid var(--bou-line)}
#bou .facts li{padding:14px 0;border-bottom:1px solid var(--bou-line)}
#bou p{max-width:32em}
#bou .byline{font-size:14px;letter-spacing:.02em}


/* social links: brand glyphs (Simple Icons, CC0) */
.soc{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.soc a{display:inline-flex;align-items:center;gap:9px;color:var(--ink)}
.soc a:hover{color:var(--accent)}
.soc svg{width:20px;height:20px;flex:none;fill:currentColor}
.soc .ig{color:#E4405F}.soc .li{color:#0A66C2}.soc .xx{color:#000}.soc .tt{color:#000}.soc .fb{color:#0866FF}.soc .ml{color:var(--accent)}
.soc.stack-list{flex-direction:column;align-items:flex-start;gap:16px}
.soc.stack-list a{font-size:17px}

/* footer */
footer{border-top:1px solid var(--line);padding:48px var(--gutter) 56px;display:grid;grid-template-columns:1fr 1fr;gap:32px;font-size:15px;color:var(--mute)}
footer .fl{display:flex;flex-wrap:wrap;gap:8px 20px}
footer .fl a{color:var(--ink)}
footer .fl a:hover{color:var(--accent)}
@media(max-width:820px){footer{grid-template-columns:1fr}}
