.home-hero{position:relative;min-height:570px;isolation:isolate;background:#fff8f8}
.container{width:min(1800px,calc(100% - 80px))}
.home-hero-photo{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:0;background:#ffe8ed;box-shadow:none}
.home-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-hero-photo:after{position:absolute;inset:0;background:linear-gradient(90deg,#fffdfbf2 0%,#fffdfbcc 25%,#fffdfb18 51%,transparent 70%);content:"";pointer-events:none}
.home-hero .media-placeholder{height:100%;min-height:570px}
.home-hero-inner{position:relative;z-index:1;min-height:570px;display:flex;align-items:center}
.home-hero-copy{max-width:510px;padding:72px 0}
.has-composite-media .home-hero-copy{padding-right:24px}
.home-hero-copy{max-width:560px}
.home-hero-copy h1{max-width:600px;font-size:clamp(3rem,4.6vw,4.8rem);line-height:1.04}
.home-hero-visual,.hero-glow,.app-phone{display:none!important}
.home-hero-actions{gap:18px}
.store-buttons-hero{margin-top:24px}
.home-features{padding:48px 0 58px}
.home-section-heading h2,.home-food-copy h2,.home-safety-copy h2{font-size:clamp(2rem,3.1vw,2.8rem)}
.home-steps{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr);gap:0}
.home-step{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:16px;align-content:center;min-height:160px;padding:22px}
.home-step+.home-step{margin-left:0}
.step-icon{grid-row:1/4;margin:0}
.home-step .step-number{grid-column:2;margin-bottom:6px}
.home-step h3,.home-step p{grid-column:2}
.step-arrow{display:grid;place-items:center;color:var(--pink);font-size:25px;font-weight:700}
.home-food.section,.home-safety.section{padding:54px 0}

@media(max-width:1050px){
    .home-hero-photo img{object-position:56% center}
    .home-hero-photo:after{background:linear-gradient(90deg,#fffdfbf5 0%,#fffdfbd9 32%,#fffdfb25 60%,transparent 78%)}
}

@media(max-width:850px){
    .home-hero,.home-hero-inner,.home-hero .media-placeholder{min-height:540px}
    .home-hero-inner{align-items:flex-start}
    .home-hero-copy{max-width:470px;padding:64px 0}
    .home-hero-photo img{object-position:61% center}
    .home-hero-photo:after{background:linear-gradient(90deg,#fffdfbf7 0%,#fffdfbe8 43%,#fffdfb35 75%,transparent 100%)}
    .home-steps{grid-template-columns:1fr;gap:14px}
    .step-arrow{display:none}
}

@media(max-width:560px){
    .home-hero,.home-hero-inner,.home-hero .media-placeholder{min-height:590px}
    .home-hero-copy{padding:52px 0 45px}
    .home-hero-copy h1{font-size:3.35rem}
    .home-hero-intro{font-size:1rem}
    .home-hero-photo img{object-position:65% center}
    .home-hero-photo:after{background:linear-gradient(90deg,#fffdfbf8 0%,#fffdfbe8 55%,#fffdfb55 100%)}
    .store-buttons-hero{display:grid;grid-template-columns:1fr 1fr}
    .store-buttons-hero .store-button{min-width:0;padding:8px;font-size:.75rem}
    .store-buttons-hero .store-button strong{font-size:11px}
    .store-buttons-hero .store-button small{font-size:6px}
}
.header{background:#fff;box-shadow:0 4px 18px #2d14200d}
.home-hero-copy h1{font-weight:850;letter-spacing:-.065em}
.home-step{border-color:#f0e6e9;box-shadow:0 8px 24px #6d294d0b}
.home-step .step-number{display:none}
.step-icon{width:58px;height:58px;margin:0;background:#fff0f6}
.step-icon svg{width:33px;height:33px}
.home-food{background:#fff}
.home-food-copy h2,.home-safety-copy h2{font-weight:850}
.food-tile{border-radius:14px}
.home-safety-visual{border-radius:20px;box-shadow:0 14px 30px #8d3f5e14}
.home-safety-visual,.home-safety-visual>img,.home-safety-visual .media-placeholder{min-height:290px}
.home-safety-grid{grid-template-columns:minmax(0,1.08fr) minmax(190px,.68fr) minmax(300px,.95fr);gap:42px}
.home-safety-points-wrap{display:flex;align-items:flex-start;flex-direction:column;gap:22px}
.home-safety-points-wrap .safety-badge{position:static;width:82px;height:82px;border:9px solid #fff;margin:0;background:#fff0f7;font-size:36px;box-shadow:0 10px 22px #8d3f5e1c}
.home-safety-points-wrap .safety-points{grid-template-columns:1fr;margin:0;gap:11px}
.home-download{padding:20px 0 32px;background:#fff}
.home-download-inner{padding:22px 34px;border-radius:24px;background:linear-gradient(105deg,#fff0f5,#fff8fb)}
.download-brand-mark{width:58px;height:58px;flex-basis:58px;border-radius:16px}
.download-brand-mark svg{width:34px;height:34px}
.store-button{min-width:178px;min-height:52px;padding:9px 13px;border:1px solid #2d2a31;border-radius:10px;background:#111116;color:#fff;cursor:pointer;font:inherit;text-align:left;transition:transform .15s,background .15s,box-shadow .15s}
.store-button:hover{background:#28212b;box-shadow:0 8px 18px #1715222b;transform:translateY(-1px)}
.store-button .store-icon{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:0;background:transparent;color:#fff;font-size:0}
.store-button .store-icon.android{background:transparent}
.store-svg{display:block;width:29px;height:29px}
.store-button>span:nth-of-type(2){min-width:0}
.store-button small{font-size:7px;letter-spacing:.03em;line-height:1.1}
.store-button strong{font-size:15px;line-height:1.25}
.store-button>b{font-size:14px;color:#e4d9e1}
.store-button.is-disabled{background:#77727a;cursor:not-allowed}
.download-qr-hint{display:flex;align-items:center;gap:9px;max-width:120px;color:var(--muted);font-size:.74rem;font-weight:700;line-height:1.3}
.download-qr-glyph{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid #e8c7d5;border-radius:10px;background:#fff;color:var(--pink);font-size:30px;line-height:1}
.store-qr-dialog{width:min(420px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:24px;background:transparent;box-shadow:0 24px 70px #1d10284d;overflow:auto}
.store-qr-dialog::backdrop{background:#211521a8;backdrop-filter:blur(3px)}
.store-qr-panel{position:relative;display:flex;min-width:0;align-items:center;flex-direction:column;padding:30px 28px 28px;border:1px solid #f0dfe6;border-radius:24px;background:#fff;text-align:center}
.store-qr-close{position:absolute;top:12px;right:14px;width:32px;height:32px;border:0;border-radius:50%;background:#fff1f5;color:var(--pink-dark);font-size:23px;line-height:1;cursor:pointer}
.store-qr-icon{display:grid;width:48px;height:48px;margin:0 auto 12px;place-items:center;border-radius:14px;background:#111116;color:#fff}
.store-qr-icon .store-svg{width:31px;height:31px}
.store-qr-panel h2{margin:0 0 8px;font-size:1.8rem}
.store-qr-panel p{margin:0 auto 18px;max-width:300px;color:var(--muted);font-size:.9rem}
.store-qr-image-wrap{display:flex;width:240px;height:240px;align-items:center;justify-content:center;margin:0 auto 20px;border:1px solid #f0e6e9;border-radius:16px;background:#fff}
.store-qr-image{display:block;width:220px;height:220px;margin:auto;object-fit:contain}
.store-qr-open{justify-content:center}
.footer{background:#fff;padding-top:34px}
.footer-grid{grid-template-columns:1.35fr 1fr 1.6fr;gap:54px}
.footer-email{display:inline-block;margin-top:4px;color:var(--pink-dark);font-size:.86rem;font-weight:750;text-decoration:none}
.footer .brand{font-size:25px}
.footer .brand .brand-mark{width:30px;height:30px;flex-basis:30px}
.store-buttons-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:430px;gap:12px}
.store-buttons-hero .store-button{width:100%;min-width:0}
@media(max-width:850px){
    .container{width:min(100% - 32px,1800px)}
    .footer-grid{grid-template-columns:1fr 1fr}
    .home-download-inner{padding:22px 24px}
    .download-qr-hint{max-width:180px}
    .home-safety-grid{display:flex;flex-direction:column;gap:28px}
    .home-safety-copy{order:1}
    .home-safety-points-wrap{order:2;width:100%;align-items:flex-start}
    .home-safety-visual{order:3;width:100%}
}
@media(max-width:560px){
    .footer-grid{grid-template-columns:1fr}
    .footer-grid div:first-child{grid-column:1/-1}
    .home-download-inner{padding:20px 18px}
    .download-qr-hint{width:100%;max-width:none}
    .download-qr-glyph{width:34px;height:34px;flex-basis:34px;font-size:24px}
    .store-buttons-hero{grid-template-columns:1fr;max-width:340px}
    .store-button{min-width:0}
}

/* Compact hero and the single, wide download band. */
.header{position:relative}
.nav-wrap{min-height:64px}
.home-hero{min-height:580px}
.home-hero-photo img{object-position:center 18%}
.home-hero .media-placeholder{min-height:580px}
.home-hero-inner{min-height:580px}
.home-hero-copy{max-width:720px;padding:48px 0}
.home-hero-copy h1{max-width:820px;font-size:clamp(2.6rem,2.9vw,3.45rem);line-height:1.03}
.home-hero-intro{max-width:520px;margin-bottom:0}
.store-buttons-hero{margin-top:20px}
.home-features{padding:42px 0 52px}
.home-food.section,.home-safety.section{padding:48px 0}
.home-download{padding:38px 0 56px;background:#fff}
.home-download-inner{min-height:190px;padding:34px 54px;border-radius:30px;background:linear-gradient(105deg,#fff0f5,#fff8fb);box-shadow:0 16px 34px #a83d6812}
.home-download-copy{min-width:260px}
.home-download-copy h2{margin:6px 0 4px;font-size:clamp(1.8rem,2.7vw,2.6rem)}
.home-download-copy p{font-size:1rem}
.store-buttons-download{display:flex;width:min(360px,100%);flex:0 0 min(360px,100%);flex-direction:column;gap:12px}
.store-buttons-download .store-button{width:100%;min-width:0}
.footer{position:relative;overflow:hidden;padding:78px 0 28px;background:linear-gradient(180deg,#fff 0%,#fff8fb 100%)}
.footer::before{position:absolute;bottom:-190px;left:-150px;width:560px;height:360px;border-radius:55% 55% 0 0;background:#fff0f7;content:"";transform:rotate(9deg)}
.footer::after{position:absolute;right:48px;bottom:45px;color:#f4bfd5;content:"♡";font-size:128px;line-height:1;opacity:.65;transform:rotate(-15deg)}
.footer-grid{position:relative;z-index:1;grid-template-columns:minmax(320px,1.35fr) repeat(3,minmax(160px,.75fr));gap:64px}
.footer-brand .brand{font-size:34px}
.footer-grid p{max-width:450px;margin:28px 0 0;font-size:1.04rem;line-height:1.7}
.footer-socials{display:flex;align-items:center;gap:12px;margin-top:30px}
.footer-social{display:grid;width:40px;height:40px;place-items:center;border:1px solid #f1d5e1;border-radius:50%;background:#fff;color:var(--pink);text-decoration:none;transition:transform .15s,background .15s,color .15s}
.footer-social:hover{background:var(--pink);color:#fff;transform:translateY(-2px)}
.footer-social.is-disabled{color:#c9aebc;opacity:.7}
.footer-social.is-disabled:hover{background:#fff;color:#c9aebc;transform:none}
.social-icon{display:block;width:19px;height:19px}
.footer-grid h2{position:relative;margin:0 0 30px;font-size:1.12rem}
.footer-grid h2::after{position:absolute;bottom:-12px;left:0;width:38px;height:3px;border-radius:99px;background:var(--pink);content:""}
.footer-grid div:not(:first-child) a{margin:0 0 18px;font-size:1rem}
.copyright{position:relative;z-index:1;margin-top:64px;border-top:1px solid #f5cbd9;padding-top:22px}

@media(max-width:1050px){
    .home-hero-copy{max-width:650px}
    .home-hero-copy h1{font-size:clamp(2.7rem,4.2vw,3.5rem)}
    .home-hero-photo img{object-position:56% 18%}
}

@media(max-width:850px){
    .home-hero,.home-hero-inner,.home-hero .media-placeholder{min-height:560px}
    .home-hero-inner{align-items:center}
    .home-hero-copy{max-width:600px;padding:42px 0 36px}
    .home-hero-copy h1{max-width:720px;font-size:clamp(2.45rem,5.4vw,3.25rem)}
    .home-hero-photo img{object-position:58% 18%}
    .home-download-inner{align-items:center;flex-wrap:wrap;padding:32px}
    .home-download-copy{min-width:calc(100% - 90px)}
    .store-buttons-download{margin-left:auto}
    .footer-grid{grid-template-columns:1fr 1fr;gap:42px}
    .footer-brand{grid-column:1/-1}
}

@media(max-width:560px){
    .home-hero,.home-hero-inner,.home-hero .media-placeholder{min-height:570px}
    .home-hero-copy{padding:38px 0 32px}
    .home-hero-copy h1{font-size:2.75rem}
    .home-hero-photo img{object-position:61% 16%}
    .home-download{padding:28px 0 42px}
    .home-download-inner{align-items:flex-start;padding:26px 20px}
    .home-download-copy{width:100%;min-width:0}
    .store-buttons-download{width:100%;flex-basis:100%;margin-left:0}
    .footer{padding-top:58px}
    .footer-grid{grid-template-columns:1fr;gap:34px}
    .footer-brand{grid-column:auto}
    .footer::after{right:-10px;bottom:90px;font-size:100px}
    .copyright{margin-top:44px}
}

/* Keep the admin-managed composite artwork complete instead of cropping it. */
.home-hero.has-composite-media{min-height:0}
.home-hero.has-composite-media .home-hero-photo{
    position:relative;
    inset:auto;
    z-index:0;
    height:auto;
    min-height:0;
}
.home-hero.has-composite-media .home-hero-photo img{
    width:100%;
    height:auto;
    min-height:0;
    object-fit:contain;
    object-position:center;
}
.home-hero.has-composite-media .home-hero-inner{
    position:absolute;
    inset:0;
    z-index:1;
    height:100%;
    min-height:0;
}

@media(max-width:850px){
    /* On narrow screens the wide artwork and copy need their own rows. */
    .home-hero.has-composite-media{
        display:flex;
        flex-direction:column;
    }
    .home-hero.has-composite-media .home-hero-photo{
        order:0;
        width:100%;
    }
    .home-hero.has-composite-media .home-hero-inner{
        position:relative;
        inset:auto;
        order:1;
        width:min(calc(100% - 32px),1800px);
        height:auto;
        margin:0 auto;
    }
    .home-hero.has-composite-media .home-hero-copy{
        max-width:none;
        padding:34px 0 40px;
    }
}

@media(max-width:560px){
    .home-hero.has-composite-media .home-hero-copy h1{
        font-size:clamp(2.25rem,12vw,3rem);
    }
}

/* Safety block: a calm two-column panel with the image and trust cues grouped together. */
.home-safety.section{padding:54px 0 68px;background:#fffdfb}
.home-safety-grid{grid-template-columns:minmax(0,1.02fr) minmax(360px,.9fr);gap:72px;align-items:center}
.home-safety-copy h2{max-width:540px;margin:12px 0 16px;font-size:clamp(2.25rem,3.8vw,3.35rem);line-height:1.02}
.home-safety-copy>p{max-width:570px;margin-bottom:22px;font-size:.98rem;line-height:1.55}
.home-safety-copy .safety-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 26px;margin:0 0 25px}
.home-safety-copy .safety-points li{align-items:center;gap:10px;font-size:.83rem;line-height:1.35}
.home-safety-copy .safety-points li>.safety-point-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:0;border-radius:50%;background:#fff0f6;color:var(--pink);font-size:inherit;font-weight:inherit}
.safety-point-icon svg{width:18px;height:18px}
.home-safety-copy .safety-points li>.safety-point-label{display:block;width:auto;height:auto;border:0;border-radius:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;line-height:1.35}
.home-safety-visual{position:relative;min-height:300px;overflow:visible;border-radius:0;background:transparent;box-shadow:none;isolation:isolate}
.safety-visual-shape{position:absolute;z-index:0;inset:10px -18px -12px -22px;border-radius:42% 58% 48% 52%;background:#fff0f6;pointer-events:none;transform:rotate(-4deg)}
.home-safety-visual>img,.home-safety-visual .media-placeholder{position:relative;z-index:1;display:block;width:100%;height:300px;min-height:0;border-radius:22px;object-fit:cover;box-shadow:0 14px 30px #8d3f5e18}
.home-safety-visual .media-placeholder{display:flex}
.home-safety-visual .safety-badge{position:absolute;z-index:2;top:-18px;left:-28px;display:grid;width:70px;height:70px;place-items:center;border:0;border-radius:20px;background:#fff;box-shadow:0 12px 26px #8d3f5e1c;color:var(--pink)}
.safety-badge svg{width:37px;height:37px}

/* Give the QR a single, visible frame on every browser. */
.store-qr-image-wrap{display:flex;width:252px;height:252px;align-items:center;justify-content:center;padding:14px;border:1px solid #eadfe7;border-radius:18px;background:#fff;box-shadow:0 0 0 1px #fff,0 8px 20px #3a1e2b0d}
.store-qr-image{display:block;width:100%;height:100%;margin:auto;border:0;object-fit:contain}

@media(max-width:850px){
    .home-safety-grid{display:grid;grid-template-columns:1fr;gap:40px}
    .home-safety-copy{order:1}
    .home-safety-visual{order:2;width:min(100%,560px);margin:0 auto}
    .home-safety-visual .safety-badge{left:-10px}
}

@media(max-width:560px){
    .home-safety.section{padding:42px 0 54px}
    .home-safety-copy .safety-points{grid-template-columns:1fr;gap:11px}
    .home-safety-visual{min-height:230px}
    .home-safety-visual>img,.home-safety-visual .media-placeholder{height:230px}
    .home-safety-visual .safety-badge{top:-12px;width:58px;height:58px;border-radius:16px}
    .safety-badge svg{width:30px;height:30px}
    .store-qr-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:20px}
    .store-qr-panel{padding:20px 16px 18px;border-radius:20px}
    .store-qr-close{top:8px;right:9px;width:30px;height:30px}
    .store-qr-icon{width:40px;height:40px;margin-bottom:8px;border-radius:11px}
    .store-qr-icon .store-svg{width:26px;height:26px}
    .store-qr-panel h2{max-width:330px;margin-bottom:6px;font-size:1.38rem;line-height:1.15}
    .store-qr-panel p{margin-bottom:12px;font-size:.82rem;line-height:1.45}
    .store-qr-image-wrap{width:min(220px,calc(100vw - 68px));height:auto;margin-bottom:14px;padding:10px;aspect-ratio:1}
    .store-qr-open{padding:10px 16px}
}

@media(max-width:560px) and (max-height:620px){
    .store-qr-panel{padding-top:16px}
    .store-qr-icon{width:34px;height:34px;margin-bottom:6px}
    .store-qr-panel h2{font-size:1.2rem}
    .store-qr-panel p{margin-bottom:9px}
    .store-qr-image-wrap{width:min(190px,calc(100vw - 80px));margin-bottom:10px;padding:8px}
}

/* Footer: compact proportions that stay balanced on both desktop and mobile. */
.footer{padding:62px 0 24px}
.footer-grid{grid-template-columns:minmax(250px,1.2fr) repeat(3,minmax(130px,.72fr));gap:48px}
.footer-brand .brand{gap:9px;font-size:30px;letter-spacing:-1.5px}
.footer-brand .brand .brand-mark{width:36px;height:36px;flex-basis:36px}
.footer-grid p{max-width:380px;margin:20px 0 0;font-size:.95rem;line-height:1.55}
.footer-socials{gap:10px;margin-top:22px}
.footer-social{display:inline-flex;width:auto;height:auto;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink);font-size:.86rem;font-weight:750;text-decoration:none}
.footer-social:hover{background:transparent;color:var(--pink-dark);transform:translateY(-1px)}
.footer-social-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;background:var(--pink);color:#fff}
.footer-social[data-social="facebook"] .footer-social-icon{background:#1877f2}
.footer-social[data-social="instagram"] .footer-social-icon{background:linear-gradient(145deg,#8a3ab9,#e1306c 55%,#f77737)}
.footer-social[data-social="tiktok"] .footer-social-icon,.footer-social[data-social="threads"] .footer-social-icon{background:#17151b}
.footer-social[data-social="youtube"] .footer-social-icon{background:#f03}
.social-icon{width:18px;height:18px}
.footer-grid h2{margin-bottom:25px;font-size:1rem}
.footer-grid div:not(:first-child) a{margin-bottom:13px;font-size:.92rem}
.copyright{margin-top:50px;padding-top:18px}

@media(max-width:1050px){
    .footer-grid{grid-template-columns:minmax(230px,1.1fr) repeat(3,minmax(115px,.8fr));gap:28px}
}

@media(max-width:850px){
    .footer{padding-top:48px}
    .footer-grid{grid-template-columns:1fr 1fr;gap:34px}
    .footer-brand{grid-column:1/-1}
    .footer-brand .brand{font-size:28px}
    .footer-grid p{max-width:460px}
}

@media(max-width:560px){
    .footer{padding-top:42px}
    .footer-grid{grid-template-columns:1fr;gap:28px}
    .footer-brand{grid-column:auto}
    .footer-brand .brand .brand-mark{width:34px;height:34px;flex-basis:34px}
    .footer-grid p{max-width:360px;margin-top:16px;font-size:.92rem;line-height:1.55}
    .footer-socials{margin-top:18px}
    .copyright{margin-top:34px}
    .store-buttons-hero,.store-buttons-download{display:grid;width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .store-buttons-download{flex-basis:100%;margin-left:0}
    .store-buttons-hero .store-button,.store-buttons-download .store-button{width:100%;min-width:0;min-height:58px;padding:8px 9px;gap:7px}
    .store-buttons-hero .store-icon,.store-buttons-download .store-icon{width:25px;height:25px;flex-basis:25px}
    .store-buttons-hero .store-svg,.store-buttons-download .store-svg{width:25px;height:25px}
    .store-buttons-hero .store-button strong,.store-buttons-download .store-button strong{font-size:11px}
    .store-buttons-hero .store-button small,.store-buttons-download .store-button small{font-size:6px}
    .store-buttons-hero .store-button>b,.store-buttons-download .store-button>b{display:none}
}
