/* HOME PAGE MODULE */
.page-home { background: #f7f9fd; }
.page-home .home-page-width { width: min(100% - 32px, 1360px); margin-inline: auto; }
.page-home .home-navbar .home-page-width { width: min(100% - 32px, 1360px); }
.page-home .home-nav-shell { display:flex; align-items:center; justify-content:space-between; gap:22px; }
.page-home .home-nav-shell .navbar-collapse { flex-grow: 1; }
.page-home .home-nav-links { gap: 2px; }
.page-home .home-cart-count {
    min-width: 20px; height: 20px; display:inline-grid; place-items:center; margin-left:2px;
    padding:0 5px; color:#fff; background:var(--site-navy); border-radius:999px; font-size:.66rem; font-weight:900;
}

.page-home .home-hero-section .home-page-width { width:100%; max-width:none; }
.page-home .home-hero-panel {
    position:relative; min-height:clamp(590px, calc(100vh - 80px), 780px); overflow:hidden;
    background:linear-gradient(135deg,#0b2e69,#0f78d1); isolation:isolate;
}
.page-home .home-hero-slides,.page-home .home-hero-slide,.page-home .home-hero-fallback { position:absolute; inset:0; }
.page-home .home-hero-slide { opacity:0; transform:scale(1.025); transition:opacity .9s ease; }
.page-home .home-hero-slide.is-active { opacity:1; z-index:1; }
.page-home .home-hero-slide-image { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.03); animation:homeKenBurns 11s ease-in-out infinite alternate; }
.page-home .home-hero-fallback { display:grid; place-items:center; align-content:center; gap:12px; color:#fff; background:linear-gradient(145deg,#0b2e69,#0f78d1); font-weight:900; }
.page-home .home-hero-fallback i { font-size:4rem; opacity:.78; }
.page-home .home-hero-fallback.is-hidden { display:none; }
.page-home .home-hero-veil {
    position:absolute; inset:0; z-index:2;
    background:linear-gradient(90deg,rgba(4,23,55,.86) 0%,rgba(4,30,68,.67) 42%,rgba(4,26,56,.25) 70%,rgba(4,20,44,.22) 100%),
               linear-gradient(0deg,rgba(4,22,50,.38),transparent 45%);
}
.page-home .home-hero-content {
    position:relative; z-index:3; width:min(720px,calc(100% - 36px)); min-height:inherit;
    display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
    margin-left:max(24px, calc((100vw - 1280px)/2)); padding:70px 0 110px; color:#fff;
}
.page-home .home-eyebrow {
    display:inline-flex; align-items:center; gap:9px; margin-bottom:16px; padding:7px 11px;
    color:#fff7d9; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.16); border-radius:999px;
    font-size:.68rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(6px);
}
.page-home .home-eyebrow::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--site-gold); box-shadow:0 0 0 5px rgba(244,188,28,.16); }
.page-home .home-hero-content h1 {
    max-width:760px; margin:0; color:#fff; font-size:clamp(3rem,6vw,6.4rem); line-height:.9;
    font-weight:950; letter-spacing:-.065em; text-wrap:balance; text-shadow:0 8px 35px rgba(0,0,0,.25);
}
.page-home .home-hero-lead { max-width:650px; margin:24px 0 0; color:rgba(255,255,255,.82); font-size:clamp(.98rem,1.35vw,1.22rem); line-height:1.72; }
.page-home .home-hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:30px; }
.page-home .home-hero-actions .btn { min-height:50px; padding-inline:18px; }
.page-home .home-hero-actions .btn-brand-outline { color:#fff!important; background:rgba(255,255,255,.08)!important; border-color:rgba(255,255,255,.28)!important; }
.page-home .home-benefits { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:26px; color:rgba(255,255,255,.76); font-size:.75rem; font-weight:750; }
.page-home .home-benefits span { display:flex; align-items:center; gap:7px; }
.page-home .home-benefits i { color:var(--site-gold); }
.page-home .home-hero-script {
    position:absolute; right:clamp(24px,6vw,100px); bottom:88px; z-index:3; color:#fff;
    font-family:"Segoe Print","Bradley Hand",cursive; font-size:clamp(1.2rem,2.2vw,2.15rem); line-height:1.05;
    text-align:right; text-shadow:0 4px 18px rgba(0,0,0,.42); transform:rotate(-4deg);
}
.page-home .home-hero-script span { color:var(--site-gold); }
.page-home .home-slider-controls {
    position:absolute; left:max(24px,calc((100vw - 1280px)/2)); bottom:30px; z-index:4;
    display:flex; align-items:center; gap:10px;
}
.page-home .home-slider-arrow { width:38px; height:38px; display:grid; place-items:center; color:#fff; background:rgba(4,29,67,.46); border:1px solid rgba(255,255,255,.2); border-radius:50%; backdrop-filter:blur(8px); }
.page-home .home-slider-dots { display:flex; gap:7px; }
.page-home .home-slider-dot { width:8px; height:8px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.45); transition:width .2s ease,background .2s ease; }
.page-home .home-slider-dot.is-active { width:25px; background:var(--site-gold); }

.page-home .home-featured-section { padding:70px 0 34px; }
.page-home .home-featured-panel { padding:clamp(22px,3.5vw,46px); background:#fff; border:1px solid var(--site-line); border-radius:var(--site-radius-lg); box-shadow:var(--site-shadow); }
.page-home .home-section-head { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:28px; }
.page-home .home-section-kicker { color:var(--site-blue-deep); font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.page-home .home-view-link { display:inline-flex; align-items:center; gap:8px; color:var(--site-blue-deep); font-size:.78rem; font-weight:850; text-decoration:none; }
.page-home .home-dish-card { overflow:hidden; background:#fff; border:1px solid #e1e8f0; border-radius:18px; box-shadow:0 11px 30px rgba(11,46,105,.07); transition:transform .2s ease, box-shadow .2s ease; }
.page-home .home-dish-card:hover { transform:translateY(-5px); box-shadow:0 22px 42px rgba(11,46,105,.13); }
.page-home .home-dish-image-wrap { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(135deg,#edf3fb,#dfeaf7); }
.page-home .home-dish-image { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.page-home .home-dish-card:hover .home-dish-image { transform:scale(1.05); }
.page-home .home-dish-placeholder { position:absolute; inset:0; display:grid; place-items:center; align-content:center; gap:8px; color:#8090a6; background:linear-gradient(145deg,#f2f6fb,#e5edf7); }
.page-home .home-dish-placeholder i { color:var(--site-blue); font-size:2rem; }
.page-home .home-dish-placeholder.is-hidden { display:none; }
.page-home .home-dish-body { display:flex; flex-direction:column; min-height:190px; padding:17px; }
.page-home .home-dish-main { flex:1; }
.page-home .home-dish-main h3 { margin:0; color:var(--site-navy); font-size:1rem; font-weight:900; }
.page-home .home-dish-main p { margin:8px 0 0; color:var(--site-muted); font-size:.76rem; line-height:1.55; }
.page-home .home-dish-foot { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:16px; padding-top:14px; border-top:1px solid #edf1f6; }
.page-home .home-dish-foot strong { color:var(--site-blue-deep); font-size:.9rem; }
.page-home .home-dish-arrow { width:34px; height:34px; display:grid; place-items:center; color:var(--site-navy); background:var(--site-gold); border-radius:50%; text-decoration:none; }
.page-home .home-empty-menu { display:flex; align-items:center; gap:14px; padding:24px; color:#4c6380; background:#f6f9fd; border:1px dashed #cbd8e7; border-radius:16px; }
.page-home .home-empty-menu > i { color:var(--site-blue); font-size:1.8rem; }
.page-home .home-empty-menu strong,.page-home .home-empty-menu span { display:block; }
.page-home .home-empty-menu span { margin-top:4px; color:var(--site-muted); font-size:.78rem; }

.page-home .home-story-section { padding:34px 0 76px; }
.page-home .home-story-panel { overflow:hidden; background:#fff; border:1px solid var(--site-line); border-radius:var(--site-radius-lg); box-shadow:var(--site-shadow); }
.page-home .home-story-media { position:relative; height:100%; min-height:420px; overflow:hidden; background:#e9f0f8; }
.page-home .home-story-image { width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.page-home .home-story-panel:hover .home-story-image { transform:scale(1.025); }
.page-home .home-story-placeholder { position:absolute; inset:0; display:grid; place-items:center; align-content:center; gap:10px; color:#54708d; background:linear-gradient(145deg,#eef4fa,#dfe9f5); }
.page-home .home-story-placeholder.is-hidden { display:none; }
.page-home .home-story-copy { height:100%; display:flex; flex-direction:column; justify-content:center; padding:clamp(30px,4vw,58px); }
.page-home .home-story-copy h2 { margin:10px 0 0; color:var(--site-navy); font-size:clamp(1.9rem,3.4vw,3.4rem); line-height:1; font-weight:950; letter-spacing:-.05em; }
.page-home .home-story-copy p { margin:20px 0 0; color:var(--site-muted); font-size:.86rem; line-height:1.78; }
.page-home .home-story-copy .btn { align-self:flex-start; }
.page-home .home-story-features { height:100%; display:grid; align-content:center; gap:16px; padding:30px; background:linear-gradient(160deg,#0b2e69,#0f5eae); }
.page-home .home-story-feature { display:flex; gap:12px; padding:15px; color:#fff; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:15px; }
.page-home .home-story-feature > span { flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; color:var(--site-navy); background:var(--site-gold); border-radius:11px; }
.page-home .home-story-feature strong,.page-home .home-story-feature small { display:block; }
.page-home .home-story-feature strong { font-size:.78rem; font-weight:850; }
.page-home .home-story-feature small { margin-top:5px; color:rgba(255,255,255,.66); font-size:.68rem; line-height:1.5; }
.page-home .home-motion.is-visible { animation:homeRise .58s ease both; }

@keyframes homeKenBurns { from{transform:scale(1.03)} to{transform:scale(1.09) translate3d(-.7%,-.5%,0)} }
@keyframes homeRise { from{opacity:.72;transform:translateY(14px)} to{opacity:1;transform:none} }

@media(max-width:991.98px){
    .page-home .home-nav-shell{display:block}.page-home .home-nav-shell>.public-brand{float:left}.page-home .home-nav-shell>.navbar-toggler{float:right}.page-home .home-nav-shell>.navbar-collapse{clear:both}
    .page-home .home-hero-content{margin-left:24px;padding-block:60px 120px}.page-home .home-hero-script{display:none}.page-home .home-slider-controls{left:24px}
    .page-home .home-story-media{min-height:330px}.page-home .home-story-features{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:767.98px){
    .page-home .home-page-width{width:min(100% - 22px,1360px)}.page-home .home-hero-section .home-page-width{width:100%}
    .page-home .home-hero-panel{min-height:650px}.page-home .home-hero-content{width:calc(100% - 40px);margin-left:20px;padding-top:50px}.page-home .home-hero-content h1{font-size:clamp(2.75rem,13vw,4.5rem)}
    .page-home .home-benefits{display:grid}.page-home .home-section-head{align-items:flex-start;flex-direction:column}.page-home .home-featured-section{padding-top:48px}.page-home .home-featured-panel{padding:18px}.page-home .home-story-features{grid-template-columns:1fr}.page-home .home-story-section{padding-bottom:48px}
}
