/*
Theme Name: MyHomeBistro
Theme URI: https://spare.myhomebistro.com
Author: MyHomeBistro
Description: An editable block theme for the MyHomeBistro founding landing page.
Version: 0.7.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: myhomebistro
*/

:root{--mhb-cream:#f4efe4;--mhb-paper:#fbf8f0;--mhb-ink:#20342e;--mhb-green:#173b31;--mhb-red:#9c3f2f;--mhb-gold:#c89b52;--mhb-blue:#29546a;--mhb-line:rgba(32,52,46,.22)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--mhb-cream);color:var(--mhb-ink);font-family:Arial,Helvetica,sans-serif}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0}
.mhb-header{position:sticky;top:0;z-index:20;padding:20px 4vw;border-bottom:1px solid var(--mhb-line);background:rgba(244,239,228,.94);backdrop-filter:blur(12px)}
.mhb-wordmark{font:700 25px/1 Georgia,serif;letter-spacing:-.05em}
.mhb-wordmark em{color:var(--mhb-red);font-weight:400}
.mhb-nav a{text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.mhb-button .wp-block-button__link{border-radius:0;background:var(--mhb-red);padding:16px 24px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}
.mhb-hero{min-height:calc(100vh - 78px);border-bottom:1px solid var(--mhb-line)}
.mhb-hero-copy{padding:clamp(70px,9vw,140px) 7vw}
.mhb-eyebrow{color:var(--mhb-red);text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:800}
.mhb-hero h1{font:400 clamp(58px,7vw,112px)/.91 Georgia,serif;letter-spacing:-.06em;margin:0}
.mhb-lede{font:400 clamp(20px,2vw,28px)/1.45 Georgia,serif}
.mhb-stage{min-height:680px;background:var(--mhb-green);position:relative;overflow:hidden;display:grid;place-items:center}
.mhb-stage:before{content:"";position:absolute;inset:0;opacity:.12;background-image:radial-gradient(#f4efe4 .8px,transparent .8px);background-size:8px 8px}
.mhb-door-frame{position:relative;width:min(270px,60%);height:440px;border:14px solid #d9c79e;border-bottom:0;box-shadow:0 0 0 5px #756b50,0 25px 70px #0b201a;z-index:1}
.mhb-blue-door{height:100%;background:var(--mhb-blue);padding:50px 24px 24px;box-shadow:inset 0 0 50px rgba(0,0,0,.25);position:relative}
.mhb-door-panel{border:4px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 3px rgba(0,0,0,.14);height:110px}
.mhb-door-panel+ .mhb-door-panel{height:165px;margin-top:32px}
.mhb-knob{width:16px;height:16px;border-radius:50%;background:var(--mhb-gold);position:absolute;right:28px;top:52%}
.mhb-menu-toggle{position:absolute;bottom:40px;z-index:4;border:0;background:var(--mhb-red);color:white;padding:13px 18px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;cursor:pointer}
.mhb-menu-card{position:absolute;z-index:3;width:300px;right:7%;top:50%;transform:translate(140%,-50%) rotate(4deg);background:var(--mhb-paper);padding:38px 34px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.36);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.mhb-menu-card.is-open{transform:translate(0,-50%) rotate(1.5deg)}
.mhb-menu-card h2{font:italic 36px Georgia,serif;color:var(--mhb-blue);margin:0}
.mhb-menu-card p{font:15px/1.5 Georgia,serif}
.mhb-manifesto{padding:120px 8vw 90px;text-align:center;background:var(--mhb-paper)}
.mhb-manifesto h2{font:italic clamp(40px,5.5vw,78px)/1.08 Georgia,serif;letter-spacing:-.04em}
.mhb-copy{max-width:760px;margin-inline:auto;line-height:1.8}
.mhb-chalkboard-story{display:grid;grid-template-columns:1.08fr .92fr;background:#dfd1b4;min-height:680px}
.mhb-chalkboard-photo{position:relative;min-height:680px;overflow:hidden;background:#191b17}
.mhb-chalkboard-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 48%}
.mhb-chalkboard-photo:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 90px rgba(22,24,18,.18);pointer-events:none}
.mhb-chalkboard-photo span{position:absolute;left:28px;bottom:26px;z-index:1;background:rgba(23,59,49,.9);color:#fff8ea;padding:10px 13px;text-transform:uppercase;letter-spacing:.16em;font-size:9px}
.mhb-chalkboard-copy{padding:clamp(75px,9vw,135px) 8vw;align-self:center}
.mhb-chalkboard-copy h2{font:italic 400 clamp(48px,5.2vw,78px)/.98 Georgia,serif;letter-spacing:-.045em;margin:0 0 32px;max-width:650px}
.mhb-chalkboard-copy>p:not(.mhb-eyebrow){font:18px/1.75 Georgia,serif;max-width:650px}
.mhb-chalkboard-lede{font-size:21px!important}
.mhb-chalkboard-copy blockquote{margin:38px 0 0;padding:20px 0 20px 24px;border-left:3px solid var(--mhb-red);font:italic 24px/1.35 Georgia,serif;color:var(--mhb-red)}
.mhb-house-dinners{padding:115px 7vw 125px;background:#efe5d3}
.mhb-house-dinners-heading{display:grid;grid-template-columns:.75fr 1.3fr 1fr;gap:4vw;align-items:end;margin-bottom:55px}
.mhb-house-dinners-heading .mhb-eyebrow{align-self:start}
.mhb-house-dinners-heading h2{margin:0;font:400 clamp(40px,4.8vw,70px)/1 Georgia,serif;letter-spacing:-.045em}
.mhb-house-dinners-heading>p:last-child{margin:0;font:17px/1.7 Georgia,serif;color:rgba(32,52,46,.76)}
.mhb-dinner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.mhb-dinner-grid figure{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--mhb-green)}
.mhb-dinner-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.mhb-dinner-grid figure:hover img{transform:scale(1.025)}
.mhb-dinner-grid figcaption{position:absolute;inset:auto 0 0;padding:54px 26px 23px;color:#fff;background:linear-gradient(transparent,rgba(12,26,21,.88))}
.mhb-dinner-grid h3{margin:0 0 5px;font:italic 27px/1.1 Georgia,serif}
.mhb-dinner-grid figcaption p{margin:0;text-transform:uppercase;letter-spacing:.13em;font-size:9px;opacity:.78}
.mhb-benefits{padding:0 6vw 110px;background:var(--mhb-paper)}
.mhb-benefit{padding:45px;border-top:1px solid var(--mhb-line)}
.mhb-benefit h3{font:32px/1.1 Georgia,serif}
.mhb-chef{padding:120px 8vw;background:var(--mhb-red);color:#fff8ea}
.mhb-chef h2,.mhb-section-title{font:400 clamp(42px,5vw,72px)/1 Georgia,serif;letter-spacing:-.045em}
.mhb-chef p{font:18px/1.75 Georgia,serif}
.mhb-chat{padding:18px 22px;margin:16px 0;line-height:1.55}
.mhb-chat-user{margin-left:14%;background:#fff8ea;color:var(--mhb-ink);border-radius:22px 22px 3px 22px}
.mhb-chat-chef{margin-right:14%;background:var(--mhb-green);border-radius:22px 22px 22px 3px}
.mhb-how,.mhb-membership{padding:120px 8vw}
.mhb-how-item,.mhb-member-item{padding:24px 0;border-top:1px solid var(--mhb-line)}
.mhb-how-item h3,.mhb-member-item h3{font:28px Georgia,serif}
.mhb-community{padding:120px 8vw;background:var(--mhb-green);color:#f7f1e4}
.mhb-community p{font:18px/1.8 Georgia,serif}
.mhb-pricing{padding:120px 8vw;background:var(--mhb-cream)}
.mhb-pricing-head{text-align:center;max-width:850px;margin:0 auto 60px}
.mhb-price-grid{max-width:1100px;margin:auto}
.mhb-price-card{height:100%;padding:clamp(38px,5vw,66px);border:1px solid var(--mhb-line);background:var(--mhb-paper)}
.mhb-price-card.featured{background:var(--mhb-green);color:#fff8ea;transform:translateY(-14px);box-shadow:0 28px 70px rgba(23,59,49,.18)}
.mhb-price-card h3{font:italic 38px Georgia,serif}
.mhb-price{font:54px Georgia,serif;margin:20px 0}
.mhb-price small{font:14px Arial,sans-serif}
.mhb-price-card li{padding:11px 0;line-height:1.5}
.mhb-value{color:#ebc681;font:italic 16px/1.65 Georgia,serif}
.mhb-join{padding:130px 20px;text-align:center;background:var(--mhb-blue);color:#fff9ea}
.mhb-footer{padding:40px 5vw;background:#14251f;color:#f7f1e4}
.mhb-muted{opacity:.68;font-size:12px;text-transform:uppercase;letter-spacing:.09em}
@media(max-width:900px){.mhb-hero{display:block!important}
.mhb-stage{min-height:620px}
.mhb-chalkboard-story{grid-template-columns:1fr}
.mhb-chalkboard-photo{min-height:590px}
.mhb-house-dinners-heading{grid-template-columns:1fr;align-items:start}
.mhb-price-grid{display:block!important}
.mhb-price-card{margin-bottom:22px}
.mhb-price-card.featured{transform:none}
}
@media(max-width:600px){.mhb-header-nav{display:none!important}
.mhb-hero h1{font-size:54px}
.mhb-hero-copy,.mhb-manifesto,.mhb-chef,.mhb-how,.mhb-community,.mhb-membership,.mhb-pricing{padding:85px 7vw}
.mhb-chalkboard-copy{padding:78px 7vw 84px}
.mhb-chalkboard-photo{min-height:480px}
.mhb-house-dinners{padding:80px 5vw 90px}
.mhb-dinner-grid{grid-template-columns:1fr;gap:14px}
.mhb-menu-card{width:270px;right:50%;transform:translate(190%,-50%) rotate(4deg)}
.mhb-menu-card.is-open{transform:translate(50%,-50%) rotate(1.5deg)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.mhb-menu-card{transition:none}
}

/* Founding-house gallery */
.mhb-community{padding-bottom:70px}
.mhb-gallery-section{padding:0 8vw 95px;background:var(--mhb-green);color:#f7f1e4}
.mhb-gallery-heading{max-width:930px;margin:0 0 48px}
.mhb-gallery-heading h2{margin:0}
.mhb-bistro-gallery{display:grid;grid-template-columns:1.12fr .94fr .94fr;gap:22px}
.mhb-bistro-gallery figure{margin:0;background:#f7f1e4;color:var(--mhb-ink);box-shadow:0 20px 50px rgba(6,24,18,.28)}
.mhb-bistro-photo-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:#102a22}
.mhb-bistro-photo-wrap img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .75s ease}
.mhb-bistro-gallery figure:hover img{transform:scale(1.035);filter:saturate(1.08)}
.mhb-bistro-photo-wrap span{position:absolute;top:18px;left:18px;background:rgba(23,59,49,.88);color:#fff8ea;padding:9px 11px;text-transform:uppercase;letter-spacing:.16em;font-size:9px}
.mhb-bistro-gallery figcaption{padding:25px 26px 28px}
.mhb-bistro-gallery figcaption>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--mhb-line);padding-bottom:16px}
.mhb-bistro-gallery h3{margin:0;font:italic 30px/1 Georgia,serif;color:var(--mhb-red)}
.mhb-bistro-gallery small{text-transform:uppercase;letter-spacing:.12em;font-size:8px;opacity:.62;text-align:right}
.mhb-bistro-gallery figcaption p{margin:16px 0 0;font:14px/1.55 Georgia,serif;color:rgba(32,52,46,.78)}
.mhb-gallery-note{text-align:center;margin:28px 0 0!important;color:#ebc681;font:italic 14px/1.6 Georgia,serif!important}
@media(max-width:900px){.mhb-bistro-gallery{grid-template-columns:1fr 1fr}.mhb-featured-bistro{grid-column:1/-1}}
@media(max-width:600px){.mhb-gallery-section{padding:0 7vw 75px}.mhb-bistro-gallery{grid-template-columns:1fr}.mhb-featured-bistro{grid-column:auto}.mhb-bistro-gallery figcaption>div{align-items:flex-start;flex-direction:column;gap:8px}.mhb-bistro-gallery small{text-align:left}}
@media(prefers-reduced-motion:reduce){.mhb-bistro-photo-wrap img{transition:none}}

/* Quiet public front page while the full concept remains backstage. */
.mhb-coming-soon-active .mhb-header-nav,
.mhb-coming-soon-active .mhb-header .mhb-button,
.mhb-coming-soon-active .mhb-footer>p:nth-child(2){display:none!important}
.mhb-coming-soon-active .mhb-header{position:absolute;left:0;right:0;background:transparent;border:0;color:#fff8ea}
.mhb-coming-soon-active .mhb-wordmark{color:#fff8ea;text-decoration:none}
.mhb-coming-soon{min-height:100vh;display:grid;place-items:center;padding:120px 7vw 80px;position:relative;overflow:hidden;background:var(--mhb-green);color:#fff8ea;text-align:center}
.mhb-coming-soon:before{content:"";position:absolute;inset:0;opacity:.14;background-image:radial-gradient(#f4efe4 .8px,transparent .8px);background-size:8px 8px}
.mhb-coming-soon:after{content:"";position:absolute;width:min(540px,80vw);aspect-ratio:1;border:1px solid rgba(244,239,228,.18);border-radius:50%;box-shadow:0 0 0 55px rgba(244,239,228,.025),0 0 0 110px rgba(244,239,228,.018)}
.mhb-coming-soon-inner{position:relative;z-index:1;max-width:920px;margin:auto}
.mhb-coming-soon .mhb-eyebrow{color:#ebc681;margin-bottom:28px}
.mhb-coming-soon h1{font:italic 400 clamp(62px,9vw,132px)/.88 Georgia,serif;letter-spacing:-.06em;margin:0 auto 34px}
.mhb-coming-soon .mhb-coming-soon-lede{font:400 clamp(19px,2vw,26px)/1.55 Georgia,serif;max-width:680px;margin:0 auto}
.mhb-coming-soon .mhb-opening-note{margin:42px 0 0;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#ebc681}
.mhb-coming-soon-active .mhb-footer{position:absolute;left:0;right:0;bottom:0;z-index:2;background:transparent;padding:24px 5vw;color:rgba(247,241,228,.65)}
@media(max-width:600px){.mhb-coming-soon{padding-inline:9vw}.mhb-coming-soon h1{font-size:64px}.mhb-coming-soon-active .mhb-footer{justify-content:center}.mhb-coming-soon-active .mhb-footer .mhb-wordmark{display:none}}
