
:root{
    --orange:#D75A27;
    --clay:#B8431D;
    --cream:#FFF5EA;
    --white:#FFFFFF;
    --charcoal:#1B1B1B;
    --muted:#665B54;
    --taupe:#EBD5C4;
    --green:#5E8C46;
    --shadow:0 16px 42px rgba(27,27,27,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--charcoal);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1480px,calc(100% - 64px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(235,213,196,.75)}
.nav-wrap{height:86px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:14px;margin-right:auto}
.brand img{width:64px;height:64px;object-fit:contain}
.brand strong{display:block;line-height:1;color:var(--charcoal);letter-spacing:.02em;font-weight:900;font-size:28px}
.brand small{display:block;color:var(--muted);font-weight:800;margin-top:3px}
.primary-nav{display:flex;align-items:center;gap:42px;font-weight:900;font-size:16px}
.primary-nav a.active,.primary-nav a:hover{color:var(--orange)}
.primary-nav a span{background:#FFF5EA;color:var(--orange);font-size:11px;padding:5px 8px;border-radius:999px;margin-left:4px}
.mobile-toggle{display:none;border:1px solid var(--taupe);background:#fff;border-radius:999px;padding:10px 16px;font-weight:900;color:var(--orange)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:14px 24px;font-weight:900;border:1px solid transparent;transition:.18s ease;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(215,90,39,.24)}
.btn-primary:hover{background:var(--clay);transform:translateY(-1px)}
.btn-outline{background:#fff;color:var(--clay);border-color:var(--orange)}
.btn-outline:hover{background:#FFF5EA}
.nav-cta{border-radius:10px;padding:15px 24px}

.home-hero{background:var(--cream);position:relative;overflow:hidden}
.hero-shell{min-height:560px;display:grid;grid-template-columns:0.9fr 1.1fr;align-items:center;gap:10px;position:relative}
.hero-copy{position:relative;z-index:2;padding:56px 0 48px;max-width:680px}
.script-line{font-family:Georgia,serif;font-style:italic;font-size:18px;color:var(--muted)}
.hero-copy h1{font-family:Georgia,serif;font-size:clamp(54px,5.2vw,78px);line-height:.96;margin:14px 0 18px;color:var(--charcoal);letter-spacing:-.05em}
.hero-copy h1 span{color:var(--orange)}
.hero-copy p{font-size:18px;line-height:1.48;color:#3D342E;max-width:575px;margin:0 0 20px}
.hero-photo{position:absolute;right:0;top:0;width:62%;height:100%;z-index:1}
.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--cream) 0%,rgba(255,245,234,.92) 15%,rgba(255,245,234,.48) 40%,rgba(255,245,234,0) 65%);z-index:2}
.hero-photo:after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff);z-index:3}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-order-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:660px}
.mini-order-card{background:rgba(255,255,255,.86);border:1px solid var(--taupe);border-radius:12px;padding:18px;box-shadow:0 10px 26px rgba(27,27,27,.08);display:grid;grid-template-columns:48px 1fr;gap:5px 14px;align-items:start}
.mini-icon{width:48px;height:48px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:22px;grid-row:span 4}
.mini-order-card.daily .mini-icon{background:var(--green)}
.mini-order-card strong{font-size:20px;line-height:1.1}
.mini-order-card small{color:#3D342E;font-size:14px;line-height:1.45}
.mini-order-card b{margin-top:7px;background:var(--orange);color:#fff;border-radius:8px;padding:10px 14px;text-align:center;font-size:13px;width:max-content}
.mini-order-card em{font-style:normal;color:var(--muted);font-weight:800;font-size:13px;text-decoration:underline;text-underline-offset:4px}

.feature-bar{background:#fff;padding:0 0 50px}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--taupe);border-radius:0;box-shadow:0 10px 24px rgba(27,27,27,.04);overflow:hidden}
.feature-grid div{display:grid;grid-template-columns:58px 1fr;gap:4px 16px;padding:28px 34px;border-right:1px solid var(--taupe)}
.feature-grid div:last-child{border-right:0}
.feature-grid span{grid-row:span 2;width:58px;height:58px;border-radius:50%;background:#FFF5EA;color:var(--orange);display:grid;place-items:center;font-size:24px;box-shadow:0 8px 18px rgba(27,27,27,.05)}
.feature-grid strong{font-weight:900;font-size:17px}
.feature-grid small{color:var(--muted);font-size:14px}

.section-heading{text-align:center;margin:0 auto 28px}
.section-heading h2{font-family:Georgia,serif;font-size:clamp(42px,4vw,58px);line-height:1.05;margin:0}
.locations-section{padding:48px 0 60px;background:#fff}
.location-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.location-card{background:#fff;border:1px solid var(--taupe);border-radius:12px;overflow:hidden;box-shadow:0 10px 24px rgba(27,27,27,.05)}
.location-card img{height:145px;width:100%;object-fit:cover}
.location-info{padding:16px 18px 18px;position:relative}
.pin{color:var(--orange);font-size:22px;line-height:1}
.location-card h3{font-size:19px;margin:3px 0 4px}
.location-card p{margin:0;color:#3D342E;line-height:1.35;font-size:15px}
.location-card small{display:block;color:var(--orange);font-weight:900;margin-top:3px}
.center-action{text-align:center;margin-top:26px}
.center-action .btn{min-width:260px;border-radius:10px;color:var(--orange)}

.growth-section{padding:18px 0 70px;background:#fff}
.growth-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.growth-card{min-height:350px;background:#fff;border:1px solid var(--taupe);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:.95fr 1.05fr}
.growth-card>div{padding:34px}
.growth-card img{height:100%;width:100%;object-fit:cover}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.13em;color:var(--orange);font-size:12px;font-weight:900;margin-bottom:8px}
.growth-card h2{font-family:Georgia,serif;font-size:38px;line-height:1.02;margin:0 0 12px;color:var(--charcoal)}
.growth-card h2 span{color:var(--orange)}
.growth-card p{color:#3D342E;margin:0 0 20px}
.growth-card .btn{margin:6px 0;width:100%;max-width:320px}
.growth-card .btn.slim{padding:12px 20px}

.page-hero{padding:56px 0;background:linear-gradient(180deg,var(--cream),#fff)}
.page-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center}
.page-hero h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,68px);color:var(--clay)}
.page-hero p{font-size:18px;color:var(--muted);max-width:680px}
.page-hero img{border-radius:26px;box-shadow:var(--shadow);height:420px;width:100%;object-fit:cover}
.page-hero.simple{text-align:center}
.content-section,.form-section{padding:54px 0}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}
.two-col p{color:var(--muted)}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mini-grid div,.location-panel,.contact-card{background:#fff;border:1px solid var(--taupe);border-radius:20px;padding:22px;box-shadow:0 8px 24px rgba(27,27,27,.05)}
.mini-grid strong{display:block;margin-bottom:6px}
.mini-grid span,.location-panel span,.contact-card span{color:var(--muted)}
.location-panel h3{margin-top:0}
.form-card{background:#fff;border:1px solid var(--taupe);border-radius:26px;padding:32px;box-shadow:var(--shadow)}
.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.enquiry-form label{font-weight:900;color:#332923}
.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;margin-top:7px;border:1px solid var(--taupe);border-radius:14px;padding:13px 14px;font:inherit;background:#fff}
.enquiry-form .full{grid-column:1/-1}
.notice{border-radius:16px;padding:14px 16px;margin:18px 0;font-weight:800}
.notice.success{background:#ECF7EE;color:#2E7D32;border:1px solid rgba(46,125,50,.25)}
.notice.error{background:#FFF5EA;color:var(--clay);border:1px solid rgba(184,67,29,.25)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px}

.site-footer{background:#1B1B1B;color:#fff;padding:52px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.15fr 1fr 1.45fr 1.05fr 1fr;gap:36px;align-items:start}
.footer-brand img{width:72px;margin-bottom:12px}
.footer-brand strong{display:block;color:#fff;font-size:22px}
.site-footer p,.site-footer span{color:rgba(255,255,255,.72);font-size:14px}
.site-footer h4{margin:0 0 14px;color:#fff}
.site-footer a{display:block;color:rgba(255,255,255,.85);margin:8px 0;font-size:14px}
.social-links{display:flex;gap:10px;margin-top:14px}
.social-links a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.28);display:grid;place-items:center}
.footer-cta{border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:20px;background:rgba(255,255,255,.04)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:13px}

@media(max-width:1100px){
    .container{width:min(100% - 34px,1480px)}
    .primary-nav,.nav-cta{display:none}
    .mobile-toggle{display:inline-flex}
    .primary-nav.open{display:flex;position:absolute;top:74px;left:20px;right:20px;background:#fff;border:1px solid var(--taupe);box-shadow:var(--shadow);border-radius:18px;padding:18px;flex-direction:column;align-items:flex-start}
    .hero-shell{grid-template-columns:1fr;min-height:0}
    .hero-photo{position:relative;width:100%;height:360px;order:1}
    .hero-copy{order:2;padding:34px 0 40px}
    .hero-photo:before{background:linear-gradient(180deg,rgba(255,245,234,0) 0%,rgba(255,245,234,.2) 55%,#FFF5EA 100%)}
    .hero-order-cards,.growth-grid,.page-hero-grid,.two-col,.contact-grid{grid-template-columns:1fr}
    .feature-grid{grid-template-columns:1fr 1fr}
    .location-grid{grid-template-columns:repeat(3,1fr)}
    .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
    .nav-wrap{height:78px}
    .brand img{width:56px;height:56px}
    .brand strong{font-size:22px}
    .brand small{font-size:13px}
    .hero-copy h1{font-size:42px}
    .hero-copy p{font-size:16px}
    .hero-order-cards{grid-template-columns:1fr}
    .mini-order-card{grid-template-columns:48px 1fr;padding:18px}
    .order-card,.growth-card{grid-template-columns:1fr}
    .growth-card img{height:220px;order:-1}
    .feature-grid,.location-grid,.mini-grid,.enquiry-form,.footer-grid{grid-template-columns:1fr}
    .feature-grid div{border-right:0;border-bottom:1px solid var(--taupe)}
    .footer-bottom{flex-direction:column}
    .page-hero img{height:260px}
}


/* v4: footer readability and regular font weight */
.site-footer,
.site-footer p,
.site-footer span,
.site-footer a{
    font-weight:400;
}
.site-footer h4,
.footer-brand strong{
    font-weight:700;
}
.footer-grid{
    align-items:start;
}
.footer-cta .btn,
.footer-cta a.btn{
    font-weight:700;
}


@media(max-height:850px) and (min-width:1101px){
    .hero-shell{
        min-height:500px;
    }
    .hero-copy{
        padding-top:40px;
        padding-bottom:38px;
    }
    .hero-copy h1{
        font-size:clamp(50px,4.8vw,70px);
    }
}


/* v5: mockup-style refinement - floating header, lighter typography, shorter hero */
body{
    font-weight:400;
}
.site-header{
    position:sticky;
    top:12px;
    z-index:50;
    background:transparent;
    border-bottom:0;
    backdrop-filter:none;
    padding:0;
}
.nav-wrap{
    height:68px;
    margin-top:12px;
    margin-bottom:10px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(235,213,196,.85);
    border-radius:14px;
    box-shadow:0 8px 28px rgba(27,27,27,.10);
    padding:0 22px;
}
.brand img{
    width:52px;
    height:52px;
}
.brand strong{
    font-size:24px;
    font-weight:800;
    letter-spacing:.01em;
}
.brand small{
    font-size:13px;
    font-weight:500;
}
.primary-nav{
    gap:34px;
    font-weight:600;
    font-size:15px;
}
.primary-nav a span{
    font-weight:600;
}
.nav-cta{
    padding:12px 22px;
    border-radius:9px;
    font-weight:700;
}
.btn{
    font-weight:700;
}
.home-hero{
    margin-top:-90px;
    padding-top:90px;
}
.hero-shell{
    min-height:500px;
}
.hero-copy{
    padding:36px 0 38px;
    max-width:625px;
}
.script-line{
    font-size:17px;
    font-weight:400;
}
.hero-copy h1{
    font-size:clamp(48px,4.7vw,70px) !important;
    line-height:1.02;
    margin:12px 0 16px;
    font-weight:700;
}
.hero-copy p{
    font-size:17px;
    line-height:1.48;
    max-width:530px;
    font-weight:400;
}
.hero-photo{
    width:58%;
}
.hero-photo img{
    object-position:center center;
}
.hero-order-cards{
    max-width:620px;
    gap:14px;
}
.mini-order-card{
    padding:17px 18px;
    grid-template-columns:46px 1fr;
    min-height:128px;
}
.mini-icon{
    width:46px;
    height:46px;
}
.mini-order-card strong{
    font-size:18px;
    font-weight:700;
}
.mini-order-card small{
    font-weight:400;
}
.mini-order-card b{
    font-weight:700;
}
.mini-order-card em{
    font-weight:500;
}
.feature-bar{
    padding:0 0 42px;
}
.feature-grid{
    max-width:1180px;
    border-radius:0;
}
.feature-grid div{
    padding:22px 30px;
}
.feature-grid strong{
    font-weight:700;
}
.feature-grid small{
    font-weight:400;
}
.section-heading h2,
.growth-card h2,
.page-hero h1,
.order-card h3,
.content-section h2,
.form-card h2{
    font-weight:700;
}
.location-card h3{
    font-weight:700;
}
.location-card p,
.growth-card p,
.site-footer p,
.site-footer span,
.site-footer a{
    font-weight:400 !important;
}
.site-footer h4,
.footer-brand strong{
    font-weight:600 !important;
}
@media(max-height:850px) and (min-width:1101px){
    .hero-shell{
        min-height:470px;
    }
    .hero-copy{
        padding-top:30px;
        padding-bottom:30px;
    }
    .hero-copy h1{
        font-size:clamp(46px,4.3vw,64px) !important;
    }
}
@media(max-width:1100px){
    .site-header{
        top:0;
        padding:0;
        background:rgba(255,255,255,.96);
        border-bottom:1px solid rgba(235,213,196,.75);
    }
    .nav-wrap{
        margin:0 auto;
        height:78px;
        border:0;
        border-radius:0;
        box-shadow:none;
        padding:0;
        background:transparent;
    }
    .home-hero{
        margin-top:0;
        padding-top:0;
    }
}
@media(max-width:720px){
    .hero-copy h1{
        font-size:40px !important;
    }
}


/* v6: compact first-screen layout + clean right hero image */
body{
    font-weight:400;
}
.site-header{
    position:sticky;
    top:10px;
    z-index:50;
    background:transparent;
    border-bottom:0;
    backdrop-filter:none;
}
.nav-wrap{
    height:62px;
    margin-top:10px;
    margin-bottom:8px;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(235,213,196,.9);
    border-radius:14px;
    box-shadow:0 8px 24px rgba(27,27,27,.09);
    padding:0 20px;
}
.brand img{
    width:46px;
    height:46px;
}
.brand strong{
    font-size:21px;
    font-weight:700;
}
.brand small{
    font-size:12px;
    font-weight:400;
}
.primary-nav{
    gap:30px;
    font-weight:500;
    font-size:14px;
}
.primary-nav a span{
    font-weight:500;
}
.nav-cta{
    padding:10px 20px;
    border-radius:9px;
    font-weight:600;
}
.btn{
    font-weight:600;
}
.home-hero{
    margin-top:-80px;
    padding-top:80px;
    background:#FFF5EA;
}
.hero-shell{
    min-height:405px !important;
}
.hero-copy{
    padding:22px 0 24px !important;
    max-width:590px;
}
.script-line{
    font-size:15px;
    font-weight:400;
}
.hero-copy h1{
    font-size:clamp(42px,4vw,58px) !important;
    line-height:1.01;
    margin:8px 0 12px;
    font-weight:650;
    letter-spacing:-.045em;
}
.hero-copy p{
    font-size:15.5px;
    line-height:1.42;
    max-width:500px;
    margin:0 0 14px;
    font-weight:400;
}
.hero-photo{
    width:61%;
    height:405px;
    top:80px;
}
.hero-photo:before{
    background:linear-gradient(90deg,#FFF5EA 0%,rgba(255,245,234,.96) 11%,rgba(255,245,234,.54) 36%,rgba(255,245,234,0) 66%);
}
.hero-photo:after{
    height:86px;
}
.hero-photo img{
    object-fit:cover;
    object-position:center center;
}
.hero-order-cards{
    max-width:575px;
    gap:12px;
}
.mini-order-card{
    padding:13px 15px;
    grid-template-columns:40px 1fr;
    gap:4px 12px;
    min-height:104px;
    border-radius:11px;
}
.mini-icon{
    width:40px;
    height:40px;
    font-size:19px;
}
.mini-order-card strong{
    font-size:16px;
    font-weight:600;
}
.mini-order-card small{
    font-size:12.5px;
    line-height:1.32;
    font-weight:400;
}
.mini-order-card b{
    margin-top:5px;
    padding:8px 12px;
    font-size:12px;
    font-weight:600;
}
.mini-order-card em{
    font-size:12px;
    font-weight:400;
}
.feature-bar{
    padding:0 0 18px;
}
.feature-grid{
    max-width:1180px;
}
.feature-grid div{
    padding:14px 22px;
    grid-template-columns:44px 1fr;
    gap:2px 12px;
}
.feature-grid span{
    width:44px;
    height:44px;
    font-size:19px;
}
.feature-grid strong{
    font-size:14px;
    font-weight:600;
}
.feature-grid small{
    font-size:12px;
    line-height:1.35;
    font-weight:400;
}
.locations-section{
    padding:26px 0 30px;
}
.section-heading{
    margin-bottom:18px;
}
.section-heading h2{
    font-size:clamp(34px,3.2vw,46px);
    font-weight:650;
}
.location-grid{
    gap:16px;
}
.location-card{
    border-radius:11px;
}
.location-card img{
    height:88px;
}
.location-info{
    padding:11px 14px 13px;
}
.pin{
    font-size:16px;
}
.location-card h3{
    font-size:15.5px;
    margin:1px 0 3px;
    font-weight:600;
}
.location-card p{
    font-size:12.5px;
    line-height:1.28;
    font-weight:400;
}
.location-card small{
    font-size:12px;
    font-weight:600;
}
.center-action{
    margin-top:16px;
}
.center-action .btn{
    min-width:210px;
    padding:11px 18px;
}
.growth-section{
    padding-top:10px;
}
.site-footer,
.site-footer p,
.site-footer span,
.site-footer a{
    font-weight:400 !important;
}
.site-footer h4,
.footer-brand strong{
    font-weight:600 !important;
}
@media(max-height:850px) and (min-width:1101px){
    .hero-shell{
        min-height:380px !important;
    }
    .hero-photo{
        height:380px;
    }
    .hero-copy h1{
        font-size:clamp(40px,3.7vw,54px) !important;
    }
    .feature-grid div{
        padding-top:12px;
        padding-bottom:12px;
    }
    .locations-section{
        padding-top:22px;
    }
    .location-card img{
        height:82px;
    }
}
@media(max-width:1100px){
    .site-header{
        top:0;
        background:rgba(255,255,255,.96);
        border-bottom:1px solid rgba(235,213,196,.75);
    }
    .nav-wrap{
        height:78px;
        margin:0 auto;
        border:0;
        border-radius:0;
        box-shadow:none;
        padding:0;
        background:transparent;
    }
    .home-hero{
        margin-top:0;
        padding-top:0;
    }
    .hero-photo{
        position:relative;
        top:auto;
        width:100%;
        height:300px;
    }
    .hero-shell{
        min-height:0 !important;
    }
}
@media(max-width:720px){
    .hero-copy h1{
        font-size:38px !important;
    }
    .hero-photo{
        height:270px;
    }
}

/* v7: hero right-anchor image blend + lighter left typography */
.home-hero{
    position:relative;
    isolation:isolate;
    background:
        radial-gradient(circle at 78% 42%, rgba(255,255,255,.56) 0%, rgba(255,245,234,.25) 36%, rgba(255,245,234,0) 58%),
        #FFF5EA;
}
.hero-shell{
    position:relative;
    overflow:visible;
    grid-template-columns:minmax(430px,.78fr) minmax(540px,1.22fr);
    min-height:430px !important;
}
.hero-copy{
    z-index:4;
    max-width:560px;
    padding:30px 0 34px !important;
}
.hero-photo{
    top:0 !important;
    right:calc((100vw - 100%) / -2);
    width:min(67vw,1040px);
    height:100% !important;
    min-height:430px;
    overflow:hidden;
    background:#FFF5EA;
}
.hero-photo:before{
    background:
        linear-gradient(90deg,
            #FFF5EA 0%,
            rgba(255,245,234,.99) 10%,
            rgba(255,245,234,.82) 25%,
            rgba(255,245,234,.38) 45%,
            rgba(255,245,234,0) 72%
        ),
        linear-gradient(180deg,
            rgba(255,245,234,.32) 0%,
            rgba(255,245,234,0) 26%,
            rgba(255,245,234,0) 72%,
            rgba(255,245,234,.50) 100%
        );
    z-index:2;
}
.hero-photo:after{
    height:120px;
    background:linear-gradient(180deg,rgba(255,245,234,0),#FFF5EA 92%);
    z-index:3;
}
.hero-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:right center;
}
.script-line{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400 !important;
}
.hero-copy h1{
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400 !important;
    letter-spacing:-.035em;
    line-height:1.04;
    text-wrap:balance;
}
.hero-copy h1 span{
    font-weight:400 !important;
}
.hero-copy p{
    font-weight:400 !important;
    color:#2F2925;
}
.mini-order-card strong,
.mini-order-card b,
.mini-order-card em{
    font-weight:500 !important;
}
.mini-order-card small{
    font-weight:400 !important;
}
@media(max-height:850px) and (min-width:1101px){
    .hero-shell{
        min-height:400px !important;
    }
    .hero-photo{
        min-height:400px;
    }
}
@media(max-width:1100px){
    .hero-shell{
        display:flex;
        flex-direction:column;
        grid-template-columns:1fr;
    }
    .hero-copy{
        order:2;
    }
    .hero-photo{
        position:relative;
        right:auto;
        top:auto !important;
        order:1;
        width:100%;
        height:320px !important;
        min-height:0;
        border-radius:0;
    }
    .hero-photo img{
        object-position:right center;
    }
    .hero-photo:before{
        background:linear-gradient(180deg,rgba(255,245,234,0) 0%,rgba(255,245,234,.16) 52%,#FFF5EA 100%);
    }
}
@media(max-width:720px){
    .hero-photo{
        height:280px !important;
    }
    .hero-copy h1{
        font-size:38px !important;
        letter-spacing:-.025em;
    }
}

/* v8: make hero image a true section background behind the floating header */
@media(min-width:1101px){
    .home-hero{
        margin-top:-80px;
        padding-top:80px;
        position:relative;
        overflow:hidden;
        background:#FFF5EA;
    }
    .home-hero > .hero-shell{
        position:static;
        min-height:430px !important;
    }
    .hero-photo{
        position:absolute;
        top:0 !important;
        right:0;
        bottom:0;
        left:auto;
        width:min(66vw,1080px);
        height:auto !important;
        min-height:0;
        z-index:1;
        border:0;
        border-radius:0;
        box-shadow:none;
        background:#FFF5EA;
    }
    .hero-photo:before{
        content:"";
        position:absolute;
        inset:0;
        z-index:2;
        background:
            linear-gradient(90deg,
                #FFF5EA 0%,
                rgba(255,245,234,.98) 12%,
                rgba(255,245,234,.78) 28%,
                rgba(255,245,234,.34) 48%,
                rgba(255,245,234,0) 72%
            ),
            linear-gradient(180deg,
                rgba(255,245,234,.18) 0%,
                rgba(255,245,234,0) 24%,
                rgba(255,245,234,0) 76%,
                #FFF5EA 100%
            );
    }
    .hero-photo:after{
        content:"";
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        height:95px;
        z-index:3;
        background:linear-gradient(180deg,rgba(255,245,234,0),#FFF5EA 92%);
    }
    .hero-photo img{
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:right center;
    }
    .hero-copy{
        position:relative;
        z-index:4;
        padding-top:34px !important;
    }
}

@media(max-height:850px) and (min-width:1101px){
    .home-hero > .hero-shell{
        min-height:400px !important;
    }
}


/* v9: lighter hero copy typography + remove right nav CTA spacing support */
@media(min-width:1101px){
    .nav-wrap{
        gap:30px;
    }
    .primary-nav{
        margin-left:auto;
    }
}

.hero-copy p,
.mini-order-card small{
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

.hero-copy p{
    font-size:15.5px;
    line-height:1.45;
    color:#2F2925;
}

.mini-order-card small{
    font-size:12.5px;
    line-height:1.34;
    color:#2F2925;
}

.mini-order-card strong,
.mini-order-card b,
.mini-order-card em{
    font-family:Arial, Helvetica, sans-serif !important;
}

.mini-order-card strong{
    font-weight:600 !important;
}

.mini-order-card b{
    font-weight:600 !important;
}

.mini-order-card em{
    font-weight:400 !important;
}

/* v10: lighter regular font for feature bar descriptions */
.feature-grid small,
.feature-grid div small{
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    color: #3D342E;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* v11: center desktop menu and restore right CTA balance */
@media(min-width:1101px){
    .nav-wrap{
        display:grid !important;
        grid-template-columns:auto 1fr auto;
        align-items:center;
        gap:24px;
    }
    .brand{
        margin-right:0 !important;
        justify-self:start;
    }
    .primary-nav{
        justify-self:center;
        margin-left:0 !important;
        margin-right:0 !important;
        gap:34px;
    }
    .nav-cta{
        display:inline-flex !important;
        justify-self:end;
        min-width:142px;
        padding:12px 22px;
        border-radius:9px;
        font-weight:600;
    }
}


/* v12: remove header CTA and keep desktop menu visually centered */
@media(min-width:1101px){
    .nav-wrap{
        display:flex !important;
        align-items:center;
        position:relative;
        gap:24px;
    }
    .brand{
        margin-right:0 !important;
        justify-self:auto;
        position:relative;
        z-index:2;
    }
    .primary-nav{
        position:absolute;
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
        justify-self:auto;
        margin:0 !important;
        gap:38px;
        z-index:1;
    }
    .nav-cta{
        display:none !important;
    }
}


/* v13: taller location imagery + vector map pin */
.location-card{
    display:flex;
    flex-direction:column;
}
.location-card img{
    display:block;
    width:100%;
    height:220px !important;
    object-fit:cover;
    object-position:center center;
    background:#fff;
}
.location-info{
    padding:16px 16px 18px;
}
.pin{
    position:relative;
    display:inline-block;
    width:15px;
    height:20px;
    font-size:0;
    line-height:0;
    color:transparent;
    margin:0 0 10px;
    vertical-align:top;
}
.pin::before{
    content:"";
    position:absolute;
    inset:0;
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='20' viewBox='0 0 15 20'%3E%3Cpath fill='%23E46A2E' d='M7.5 0C3.36 0 0 3.29 0 7.35C0 12.75 7.5 20 7.5 20S15 12.75 15 7.35C15 3.29 11.64 0 7.5 0ZM7.5 10.24C5.83 10.24 4.48 8.91 4.48 7.27S5.83 4.3 7.5 4.3s3.02 1.33 3.02 2.97-1.35 2.97-3.02 2.97Z'/%3E%3C/svg%3E");
}
.location-card h3{
    margin:0 0 6px;
    font-size:18px;
}
.location-card p{
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:400 !important;
    line-height:1.35;
}
.location-card small{
    margin-top:6px;
}
@media(max-width:1100px){
    .location-card img{
        height:190px !important;
    }
}
@media(max-width:767px){
    .location-card img{
        height:210px !important;
    }
}


/* v14: homepage first-screen fit, responsive hero/locations, coming soon placeholders */
@media(min-width:1101px){
    .home-hero{
        min-height:auto;
    }
    .home-hero > .hero-shell{
        min-height:clamp(360px, 42vh, 430px) !important;
    }
    .hero-copy{
        padding-top:clamp(18px, 3vh, 30px) !important;
        padding-bottom:clamp(16px, 2.6vh, 26px) !important;
    }
    .hero-copy h1{
        font-size:clamp(42px, 4.1vw, 62px) !important;
        margin-bottom:10px;
    }
    .hero-copy p{
        margin-bottom:12px;
    }
    .hero-photo{
        height:100% !important;
    }
    .hero-photo img{
        object-fit:contain !important;
        object-position:right center !important;
    }
    .feature-bar{
        padding-bottom:14px !important;
    }
    .feature-grid div{
        padding-top:12px !important;
        padding-bottom:12px !important;
    }
    .locations-section{
        padding-top:22px !important;
        padding-bottom:30px !important;
    }
    .section-heading{
        margin-bottom:16px !important;
    }
    .section-heading h2{
        font-size:clamp(34px, 3.2vw, 48px) !important;
        line-height:1.02;
    }
    .location-grid{
        gap:18px !important;
        align-items:stretch;
    }
    .location-card img{
        height:clamp(160px, 22vh, 210px) !important;
        object-fit:contain !important;
        object-position:center center !important;
        background:#FFF5EA;
    }
    .location-info{
        padding:12px 16px 14px !important;
    }
    .pin{
        margin-bottom:7px !important;
    }
    .location-card h3{
        font-size:16px !important;
        margin-bottom:5px !important;
    }
    .location-card p{
        font-size:13px !important;
        line-height:1.28 !important;
    }
    .location-card small{
        font-size:12px !important;
        margin-top:5px !important;
    }
    .center-action{
        margin-top:16px !important;
    }
}

@media(max-height:850px) and (min-width:1101px){
    .home-hero > .hero-shell{
        min-height:360px !important;
    }
    .script-line{
        font-size:14px !important;
    }
    .hero-copy h1{
        font-size:clamp(38px, 3.6vw, 54px) !important;
    }
    .hero-order-cards{
        max-width:540px;
    }
    .mini-order-card{
        min-height:94px !important;
        padding:11px 14px !important;
    }
    .mini-icon{
        width:36px !important;
        height:36px !important;
        font-size:17px !important;
    }
    .location-card img{
        height:170px !important;
    }
}

@media(max-width:1100px){
    .home-hero > .hero-shell{
        min-height:0 !important;
    }
    .hero-photo{
        height:320px !important;
    }
    .hero-photo img{
        object-fit:contain !important;
        object-position:center center !important;
        background:#FFF5EA;
    }
    .locations-section{
        padding-top:28px !important;
    }
    .location-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:18px !important;
    }
    .location-card img{
        height:220px !important;
        object-fit:contain !important;
        background:#FFF5EA;
    }
}

@media(max-width:720px){
    .hero-photo{
        height:250px !important;
    }
    .hero-copy{
        padding-top:24px !important;
        padding-bottom:28px !important;
    }
    .hero-copy h1{
        font-size:38px !important;
    }
    .feature-bar{
        padding-bottom:10px !important;
    }
    .locations-section{
        padding-top:26px !important;
        padding-bottom:32px !important;
    }
    .location-grid{
        grid-template-columns:1fr !important;
    }
    .location-card img{
        height:240px !important;
        object-fit:contain !important;
        background:#FFF5EA;
    }
}

@media(max-width:430px){
    .hero-copy h1{
        font-size:34px !important;
    }
    .hero-photo{
        height:220px !important;
    }
    .location-card img{
        height:210px !important;
    }
}


/* v16: two-line hero title + unified hero image + tighter first-screen homepage */
.hero-copy h1 span{
    white-space:nowrap;
}

@media(min-width:1101px){
    .home-hero{
        position:relative;
        overflow:hidden;
        background:#FFF5EA;
    }
    .home-hero > .hero-shell{
        min-height:390px !important;
        position:relative;
        z-index:1;
    }
    .hero-copy{
        max-width:720px !important;
        padding-top:22px !important;
        padding-bottom:20px !important;
    }
    .hero-copy h1{
        max-width:760px !important;
        font-size:clamp(40px, 3.65vw, 56px) !important;
        line-height:1.02 !important;
        margin:8px 0 10px !important;
        letter-spacing:-.045em;
    }
    .hero-copy p{
        max-width:540px !important;
        margin-bottom:10px !important;
    }
    .hero-photo{
        position:absolute !important;
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        width:62% !important;
        height:100% !important;
        z-index:1 !important;
        overflow:hidden !important;
        background:transparent !important;
    }
    .hero-photo::before{
        content:"";
        position:absolute;
        inset:0;
        z-index:2;
        background:linear-gradient(90deg,#FFF5EA 0%,rgba(255,245,234,.97) 13%,rgba(255,245,234,.62) 39%,rgba(255,245,234,0) 68%);
        pointer-events:none;
    }
    .hero-photo::after{
        content:"";
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        height:84px;
        z-index:3;
        background:linear-gradient(180deg,rgba(255,245,234,0),#FFF5EA 88%);
        pointer-events:none;
    }
    .hero-photo img{
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
        object-position:right center !important;
        background:transparent !important;
    }
    .hero-order-cards{
        max-width:590px !important;
    }
    .mini-order-card{
        min-height:98px !important;
        padding:12px 14px !important;
    }
    .feature-bar{
        padding-bottom:8px !important;
    }
    .feature-grid div{
        padding-top:10px !important;
        padding-bottom:10px !important;
    }
    .locations-section{
        padding-top:18px !important;
        padding-bottom:24px !important;
    }
    .section-heading{
        margin-bottom:10px !important;
    }
    .section-heading h2{
        font-size:clamp(32px, 3vw, 44px) !important;
        line-height:1.02 !important;
    }
    .location-grid{
        gap:16px !important;
    }
    .location-card img{
        height:150px !important;
        object-fit:cover !important;
        object-position:center center !important;
        background:#FFF5EA !important;
    }
    .location-info{
        padding:10px 14px 12px !important;
    }
    .pin{
        width:14px !important;
        height:18px !important;
        margin-bottom:6px !important;
    }
    .location-card h3{
        font-size:15px !important;
        margin:0 0 4px !important;
    }
    .location-card p{
        font-size:12.5px !important;
        line-height:1.22 !important;
    }
    .location-card small{
        font-size:11.5px !important;
        margin-top:4px !important;
    }
    .center-action{
        margin-top:12px !important;
    }
    .center-action .btn{
        min-width:210px !important;
        padding:10px 18px !important;
    }
}

@media(max-height:850px) and (min-width:1101px){
    .home-hero > .hero-shell{
        min-height:360px !important;
    }
    .hero-copy h1{
        font-size:clamp(38px, 3.35vw, 50px) !important;
    }
    .location-card img{
        height:130px !important;
    }
}

@media(max-width:1100px){
    .hero-copy h1{
        max-width:760px !important;
        line-height:1.04 !important;
    }
    .hero-photo img{
        object-fit:cover !important;
        object-position:right center !important;
    }
}

@media(max-width:720px){
    .hero-copy h1{
        font-size:34px !important;
        line-height:1.06 !important;
    }
    .hero-copy h1 span{
        white-space:normal;
    }
}

@media(max-width:430px){
    .hero-copy h1{
        font-size:31px !important;
    }
}


/* v17 final cleanup: single active CSS, unified hero image, soft gradient header */
@media(min-width:1101px){
    .site-header{
        position:sticky;
        top:10px;
        z-index:50;
        background:transparent !important;
        border-bottom:0 !important;
        backdrop-filter:none !important;
    }
    .nav-wrap{
        position:relative !important;
        overflow:hidden;
        border:1px solid rgba(235,213,196,.65) !important;
        border-radius:14px !important;
        background:linear-gradient(90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.96) 46%,
            rgba(255,255,255,.74) 66%,
            rgba(255,245,234,.30) 84%,
            rgba(255,245,234,0) 100%) !important;
        box-shadow:0 8px 26px rgba(27,27,27,.075) !important;
    }
    .nav-wrap::after{
        content:"";
        position:absolute;
        top:0;
        right:0;
        bottom:0;
        width:30%;
        background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,245,234,0));
        pointer-events:none;
    }
    .brand,
    .primary-nav,
    .mobile-toggle{
        position:relative;
        z-index:2;
    }

    .home-hero{
        position:relative !important;
        overflow:hidden !important;
        margin-top:-82px !important;
        padding-top:82px !important;
        background:linear-gradient(90deg,#FFF5EA 0%,#FFF5EA 52%,rgba(255,245,234,.96) 100%) !important;
    }
    .home-hero::before{
        content:"";
        position:absolute;
        inset:0;
        z-index:0;
        background:linear-gradient(90deg,#FFF5EA 0%,rgba(255,245,234,.98) 32%,rgba(255,245,234,.78) 54%,rgba(255,245,234,0) 76%);
        pointer-events:none;
    }
    .home-hero > .hero-shell{
        min-height:385px !important;
        position:relative !important;
        z-index:1 !important;
    }
    .hero-photo{
        position:absolute !important;
        top:0 !important;
        right:calc((100vw - 100%) / -2) !important;
        bottom:0 !important;
        width:64vw !important;
        height:100% !important;
        z-index:0 !important;
        overflow:hidden !important;
        background:transparent !important;
        border:0 !important;
        box-shadow:none !important;
    }
    .hero-photo::before{
        content:"";
        position:absolute;
        inset:0;
        z-index:2;
        background:linear-gradient(90deg,
            #FFF5EA 0%,
            rgba(255,245,234,.98) 12%,
            rgba(255,245,234,.76) 34%,
            rgba(255,245,234,.22) 58%,
            rgba(255,245,234,0) 82%);
        pointer-events:none;
    }
    .hero-photo::after{
        content:"";
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        height:118px;
        z-index:3;
        background:linear-gradient(180deg,rgba(255,245,234,0),#FFF5EA 86%);
        pointer-events:none;
    }
    .hero-photo img{
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
        object-position:right center !important;
        display:block !important;
        background:transparent !important;
    }
    .hero-copy{
        position:relative !important;
        z-index:4 !important;
    }
}

@media(max-width:1100px){
    .site-header{
        top:0 !important;
        background:rgba(255,255,255,.96) !important;
        border-bottom:1px solid rgba(235,213,196,.75) !important;
    }
    .home-hero{
        margin-top:0 !important;
        padding-top:0 !important;
    }
    .hero-photo{
        right:auto !important;
        width:100% !important;
        border:0 !important;
        box-shadow:none !important;
    }
}


/* v18-fresh: cleaner floating header + top-anchored location photos */
@media(min-width:1101px){
    .site-header{
        position:sticky !important;
        top:10px !important;
        z-index:80 !important;
        background:transparent !important;
        border:0 !important;
        padding:0 !important;
        backdrop-filter:none !important;
    }
    .nav-wrap{
        width:min(1480px,calc(100% - 80px)) !important;
        height:60px !important;
        margin:10px auto 0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:28px !important;
        border:0 !important;
        border-radius:16px !important;
        overflow:visible !important;
        background:transparent !important;
        box-shadow:none !important;
        padding:0 !important;
    }
    .brand{
        min-width:300px !important;
        height:60px !important;
        display:flex !important;
        align-items:center !important;
        gap:12px !important;
        margin:0 !important;
        padding:0 22px !important;
        border:1px solid rgba(235,213,196,.82) !important;
        border-radius:15px !important;
        background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.90),rgba(255,245,234,.55)) !important;
        box-shadow:0 8px 24px rgba(27,27,27,.075) !important;
        position:relative !important;
        z-index:3 !important;
    }
    .brand img{
        width:44px !important;
        height:44px !important;
    }
    .brand strong{
        font-size:20px !important;
        font-weight:700 !important;
    }
    .brand small{
        font-size:12px !important;
        font-weight:400 !important;
    }
    .primary-nav{
        position:absolute !important;
        left:50% !important;
        top:50% !important;
        transform:translate(-50%,-50%) !important;
        display:flex !important;
        align-items:center !important;
        gap:34px !important;
        margin:0 !important;
        padding:15px 34px !important;
        border:1px solid rgba(235,213,196,.62) !important;
        border-radius:999px !important;
        background:linear-gradient(90deg,rgba(255,255,255,.90),rgba(255,255,255,.76),rgba(255,245,234,.34)) !important;
        box-shadow:0 8px 22px rgba(27,27,27,.055) !important;
        backdrop-filter:blur(10px) !important;
        z-index:2 !important;
    }
    .primary-nav a{
        font-size:14px !important;
        font-weight:600 !important;
        white-space:nowrap !important;
    }
    .home-hero{
        margin-top:-70px !important;
        padding-top:70px !important;
    }
}

.location-card img,
.locations-section .location-card img{
    object-fit:cover !important;
    object-position:center top !important;
}

@media(min-width:1101px){
    .location-card img,
    .locations-section .location-card img{
        height:170px !important;
        object-position:center top !important;
    }
    .locations-section{
        padding-top:20px !important;
    }
    .section-heading{
        margin-bottom:14px !important;
    }
}

@media(max-width:1100px){
    .location-card img,
    .locations-section .location-card img{
        object-position:center top !important;
    }
}


/* v19: make hero photo one unified background layer behind header */
@media(min-width:1101px){
    .home-hero{
        position:relative !important;
        overflow:hidden !important;
        margin-top:-76px !important;
        padding-top:76px !important;
        background:linear-gradient(90deg,#FFF5EA 0%,#FFF5EA 44%,rgba(255,245,234,.92) 56%,rgba(255,245,234,.78) 100%) !important;
    }
    .home-hero > .hero-shell{
        position:static !important;
        min-height:430px !important;
        display:grid !important;
        grid-template-columns:.92fr 1.08fr !important;
        align-items:center !important;
    }
    .hero-photo{
        position:absolute !important;
        top:0 !important;
        right:0 !important;
        bottom:0 !important;
        left:auto !important;
        width:66% !important;
        height:100% !important;
        z-index:1 !important;
        overflow:hidden !important;
        pointer-events:none !important;
    }
    .hero-photo::before{
        content:"" !important;
        position:absolute !important;
        inset:0 !important;
        z-index:2 !important;
        background:
            linear-gradient(90deg,#FFF5EA 0%,rgba(255,245,234,.98) 12%,rgba(255,245,234,.78) 28%,rgba(255,245,234,.30) 48%,rgba(255,245,234,0) 70%),
            linear-gradient(180deg,rgba(255,245,234,.55) 0%,rgba(255,245,234,.08) 28%,rgba(255,245,234,0) 62%) !important;
    }
    .hero-photo::after{
        content:"" !important;
        position:absolute !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        height:120px !important;
        z-index:3 !important;
        background:linear-gradient(180deg,rgba(255,245,234,0),#FFF5EA 78%,#FFF5EA 100%) !important;
    }
    .hero-photo img{
        width:100% !important;
        height:100% !important;
        object-fit:cover !important;
        object-position:right top !important;
        display:block !important;
    }
    .hero-copy{
        position:relative !important;
        z-index:5 !important;
        padding-top:32px !important;
        padding-bottom:24px !important;
    }
    .feature-bar{
        position:relative !important;
        z-index:6 !important;
        margin-top:0 !important;
    }
}

@media(max-width:1100px){
    .home-hero > .hero-shell{
        position:relative !important;
    }
    .hero-photo{
        position:relative !important;
        top:auto !important;
        right:auto !important;
        width:100% !important;
        height:300px !important;
    }
    .hero-photo img{
        object-fit:cover !important;
        object-position:right center !important;
    }
}


/* v21 partnership & careers refinement */
.growth-section .growth-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.growth-section .growth-card{min-height:322px;background:#FFFBF7;border:1px solid var(--taupe);border-radius:16px;overflow:hidden;box-shadow:0 12px 28px rgba(27,27,27,.05);display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,46%);align-items:stretch}
.growth-section .growth-copy{padding:28px 26px 26px 32px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;background:linear-gradient(90deg,#FFFBF7 0%,#FFFBF7 78%,rgba(255,251,247,0) 100%)}
.growth-section .growth-visual{position:relative;overflow:hidden;margin-left:-78px;min-height:322px}
.growth-section .growth-visual::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#FFFBF7 0%,rgba(255,251,247,.98) 10%,rgba(255,251,247,.88) 18%,rgba(255,251,247,.55) 28%,rgba(255,251,247,.15) 40%,rgba(255,251,247,0) 52%)}
.growth-section .growth-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.growth-section .franchise-card .growth-visual img{object-position:center 22%}
.growth-section .careers-card .growth-visual img{object-position:center center}
.growth-section .growth-badge{position:absolute;top:18px;left:18px;z-index:3;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,247,239,.96);border:1px solid rgba(235,213,196,.9);box-shadow:0 8px 18px rgba(27,27,27,.06);font-size:25px}
.growth-section .eyebrow{display:inline-block;margin:0 0 10px;color:var(--orange);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.growth-section .growth-card h2{font-family:Georgia,serif;font-size:clamp(29px,2.1vw,35px);line-height:1.03;letter-spacing:-.02em;font-weight:400 !important;margin:0 0 12px;color:var(--charcoal);max-width:320px}
.growth-section .growth-card h2 span{color:var(--orange);font-weight:600}
.growth-section .growth-card p{margin:0 0 18px;max-width:310px;color:#443A33;font-size:15px;line-height:1.5;font-weight:400 !important}
.growth-section .growth-card .btn{margin:4px 0 0;max-width:280px;width:100%;padding:13px 18px;border-radius:12px;font-size:15px;font-weight:500 !important;line-height:1.35;box-shadow:none}
.growth-section .growth-card .btn + .btn{margin-top:12px}
.growth-section .growth-card .btn.slim{background:#fff;font-weight:500 !important}

@media (max-width: 1100px){
  .growth-section .growth-grid{grid-template-columns:1fr}
  .growth-section .growth-card{grid-template-columns:1fr;min-height:auto}
  .growth-section .growth-copy{padding:24px 22px 18px;background:none}
  .growth-section .growth-visual{order:-1;margin-left:0;min-height:240px}
  .growth-section .growth-visual::before{background:linear-gradient(180deg,#FFFBF7 0%,rgba(255,251,247,.88) 14%,rgba(255,251,247,.35) 28%,rgba(255,251,247,0) 45%)}
  .growth-section .growth-card h2,.growth-section .growth-card p{max-width:none}
}


/* v22: final Franchise/Careers card refinement - lighter type + blended image layer */
.growth-section{
    padding:24px 0 72px !important;
    background:#fff !important;
}
.growth-section .growth-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:22px !important;
}
.growth-section .growth-card{
    position:relative !important;
    display:block !important;
    min-height:300px !important;
    border:1px solid var(--taupe) !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:#FFFCF8 !important;
    box-shadow:0 12px 30px rgba(27,27,27,.05) !important;
}
.growth-section .growth-copy{
    position:relative !important;
    z-index:4 !important;
    width:49% !important;
    min-height:300px !important;
    padding:28px 20px 26px 30px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    background:linear-gradient(90deg,#FFFCF8 0%,#FFFCF8 72%,rgba(255,252,248,.92) 84%,rgba(255,252,248,0) 100%) !important;
}
.growth-section .growth-visual{
    position:absolute !important;
    z-index:1 !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:58% !important;
    margin:0 !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:transparent !important;
}
.growth-section .growth-visual::before{
    content:"" !important;
    position:absolute !important;
    z-index:2 !important;
    inset:0 !important;
    pointer-events:none !important;
    background:linear-gradient(90deg,#FFFCF8 0%,rgba(255,252,248,.98) 12%,rgba(255,252,248,.82) 25%,rgba(255,252,248,.45) 40%,rgba(255,252,248,.08) 58%,rgba(255,252,248,0) 74%) !important;
}
.growth-section .growth-visual::after{
    content:"" !important;
    position:absolute !important;
    z-index:3 !important;
    inset:auto 0 0 0 !important;
    height:40% !important;
    pointer-events:none !important;
    background:linear-gradient(180deg,rgba(255,252,248,0) 0%,rgba(255,252,248,.55) 100%) !important;
}
.growth-section .growth-visual img{
    display:block !important;
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    height:100% !important;
    min-height:300px !important;
    object-fit:cover !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}
.growth-section .franchise-card .growth-visual img{
    object-position:center center !important;
}
.growth-section .careers-card .growth-visual img{
    object-position:center center !important;
}
.growth-section .growth-badge{
    position:absolute !important;
    z-index:5 !important;
    top:18px !important;
    left:18px !important;
    width:48px !important;
    height:48px !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:rgba(255,245,234,.92) !important;
    border:1px solid rgba(235,213,196,.9) !important;
    box-shadow:0 8px 18px rgba(27,27,27,.06) !important;
    font-size:22px !important;
}
.growth-section .growth-copy .eyebrow,
.growth-section .eyebrow{
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:12px !important;
    line-height:1.2 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    color:var(--orange) !important;
    font-weight:600 !important;
    margin:0 0 8px !important;
}
.growth-section .growth-card h2,
.growth-section .growth-card h2 *,
.growth-section .growth-copy h2,
.growth-section .growth-copy h2 *{
    font-family:Georgia,'Times New Roman',serif !important;
    font-weight:400 !important;
    text-shadow:none !important;
}
.growth-section .growth-card h2,
.growth-section .growth-copy h2{
    font-size:clamp(28px,2.05vw,34px) !important;
    line-height:1.03 !important;
    letter-spacing:-.025em !important;
    color:var(--charcoal) !important;
    margin:0 0 12px !important;
    max-width:310px !important;
}
.growth-section .growth-card h2 span,
.growth-section .growth-copy h2 span{
    color:var(--orange) !important;
    font-weight:400 !important;
}
.growth-section .growth-card p,
.growth-section .growth-copy p{
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:14.5px !important;
    line-height:1.45 !important;
    letter-spacing:0 !important;
    color:#3E352F !important;
    font-weight:400 !important;
    max-width:300px !important;
    margin:0 0 18px !important;
    -webkit-font-smoothing:antialiased !important;
    text-rendering:optimizeLegibility !important;
}
.growth-section .growth-card .btn,
.growth-section .growth-card a.btn,
.growth-section .growth-copy .btn,
.growth-section .growth-copy a.btn{
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:14px !important;
    line-height:1.25 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    width:100% !important;
    max-width:250px !important;
    padding:12px 18px !important;
    border-radius:9px !important;
    box-shadow:none !important;
    margin:4px 0 0 !important;
}
.growth-section .growth-card .btn + .btn,
.growth-section .growth-copy .btn + .btn{
    margin-top:11px !important;
}
.growth-section .growth-card .btn.slim,
.growth-section .growth-copy .btn.slim{
    background:#fff !important;
    color:var(--clay) !important;
    border-color:var(--orange) !important;
}

@media(max-width:1100px){
    .growth-section .growth-grid{
        grid-template-columns:1fr !important;
    }
    .growth-section .growth-card{
        min-height:auto !important;
        display:flex !important;
        flex-direction:column !important;
    }
    .growth-section .growth-copy{
        width:100% !important;
        min-height:auto !important;
        padding:24px 22px 22px !important;
        background:#FFFCF8 !important;
        order:2 !important;
    }
    .growth-section .growth-visual{
        position:relative !important;
        width:100% !important;
        min-height:230px !important;
        order:1 !important;
    }
    .growth-section .growth-visual img{
        min-height:230px !important;
        height:230px !important;
    }
    .growth-section .growth-visual::before{
        background:linear-gradient(180deg,rgba(255,252,248,0) 45%,#FFFCF8 100%) !important;
    }
    .growth-section .growth-visual::after{display:none !important;}
    .growth-section .growth-card h2,
    .growth-section .growth-copy h2,
    .growth-section .growth-card p,
    .growth-section .growth-copy p{
        max-width:none !important;
    }
}

/* v23 footer final - single CSS, regular typography, mockup layout */
.site-footer.footer-clean,
.site-footer.footer-clean *{
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:400 !important;
    box-sizing:border-box;
}
.site-footer.footer-clean{
    background:#191919 !important;
    color:#fff !important;
    padding:28px 0 18px !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
}
.footer-clean .footer-main{
    display:grid !important;
    grid-template-columns:1.18fr .72fr .95fr .95fr 1.08fr !important;
    gap:48px !important;
    align-items:start !important;
    width:min(1480px,calc(100% - 64px)) !important;
    margin:0 auto !important;
}
.footer-clean .footer-brand{
    max-width:260px !important;
}
.footer-clean .footer-logo{
    display:flex !important;
    align-items:center !important;
    gap:13px !important;
    margin:0 0 14px !important;
}
.footer-clean .footer-logo img{
    width:50px !important;
    height:50px !important;
    object-fit:contain !important;
    margin:0 !important;
}
.footer-clean .footer-logo strong{
    display:block !important;
    color:#fff !important;
    font-size:19px !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
}
.footer-clean .footer-logo small{
    display:block !important;
    color:rgba(255,255,255,.68) !important;
    font-size:10px !important;
    line-height:1.25 !important;
    margin-top:3px !important;
}
.footer-clean h4{
    color:#fff !important;
    font-size:13px !important;
    line-height:1.25 !important;
    margin:4px 0 13px !important;
}
.footer-clean p,
.footer-clean a,
.footer-clean span{
    color:rgba(255,255,255,.74) !important;
    font-size:13px !important;
    line-height:1.55 !important;
    text-decoration:none !important;
}
.footer-clean .footer-brand p{
    margin:0 0 14px !important;
    max-width:230px !important;
}
.footer-clean .footer-col a,
.footer-clean .footer-col > span{
    display:block !important;
    margin:7px 0 !important;
}
.footer-clean .footer-socials{
    display:flex !important;
    gap:9px !important;
    margin-top:10px !important;
}
.footer-clean .footer-socials a{
    width:31px !important;
    height:31px !important;
    border-radius:50% !important;
    border:1px solid rgba(255,255,255,.26) !important;
    display:grid !important;
    place-items:center !important;
    color:#fff !important;
    margin:0 !important;
    font-size:13px !important;
    line-height:1 !important;
}
.footer-clean .footer-accent-link{
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    width:max-content !important;
    color:var(--orange) !important;
    margin-top:8px !important;
}
.footer-clean .footer-accent-link span{
    display:inline !important;
    color:var(--orange) !important;
    margin:0 !important;
}
.footer-clean .footer-contact a,
.footer-clean .footer-contact > span{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
}
.footer-clean .footer-contact a span,
.footer-clean .footer-contact > span span{
    display:inline-grid !important;
    place-items:center !important;
    width:15px !important;
    margin:0 !important;
    color:rgba(255,255,255,.85) !important;
}
.footer-clean .footer-newsletter p{
    margin:0 0 12px !important;
    max-width:220px !important;
}
.footer-clean .newsletter-form{
    display:grid !important;
    gap:10px !important;
    max-width:230px !important;
}
.footer-clean .newsletter-form input{
    width:100% !important;
    height:38px !important;
    border:0 !important;
    border-radius:7px !important;
    background:#fff !important;
    color:#1B1B1B !important;
    padding:0 14px !important;
    font:inherit !important;
    font-size:13px !important;
}
.footer-clean .newsletter-form button{
    width:100% !important;
    height:38px !important;
    border:0 !important;
    border-radius:7px !important;
    background:var(--orange) !important;
    color:#fff !important;
    font:inherit !important;
    font-size:13px !important;
    cursor:pointer !important;
}
.footer-clean .footer-bottom{
    border-top:1px solid rgba(255,255,255,.12) !important;
    margin:25px auto 0 !important;
    padding-top:15px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    width:min(1480px,calc(100% - 64px)) !important;
}
.footer-clean .footer-bottom span{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    font-size:12px !important;
    color:rgba(255,255,255,.66) !important;
}
.footer-clean .footer-bottom i{
    display:block !important;
    width:1px !important;
    height:12px !important;
    background:rgba(255,255,255,.22) !important;
}
.footer-clean .sr-only{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    white-space:nowrap !important;
    border:0 !important;
}
@media(max-width:1100px){
    .footer-clean .footer-main{
        grid-template-columns:1fr 1fr !important;
        gap:30px !important;
        width:min(100% - 34px,1480px) !important;
    }
    .footer-clean .footer-bottom{
        width:min(100% - 34px,1480px) !important;
    }
}
@media(max-width:720px){
    .site-footer.footer-clean{padding-top:28px !important;}
    .footer-clean .footer-main{grid-template-columns:1fr !important;gap:24px !important;}
    .footer-clean .footer-bottom{align-items:flex-start !important;flex-direction:column !important;}
    .footer-clean .newsletter-form{max-width:100% !important;}
}

/* v31: Franchise & Partnership page */
.franchise-page,
.franchise-page *{
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
.franchise-page .eyebrow{
    font-family:Arial, Helvetica, sans-serif;
    font-weight:600;
    letter-spacing:.14em;
    color:var(--orange);
}
.franchise-hero{
    padding:72px 0 54px;
    background:linear-gradient(180deg,#FFF5EA 0%,#FFFFFF 100%);
    overflow:hidden;
}
.franchise-hero-grid{
    display:grid;
    grid-template-columns:.86fr 1.14fr;
    gap:34px;
    align-items:center;
}
.franchise-hero-copy h1,
.franchise-section h2{
    font-family:Georgia,serif;
    color:var(--charcoal);
    font-weight:400 !important;
    letter-spacing:-.035em;
}
.franchise-hero-copy h1{
    font-size:clamp(52px,5vw,82px);
    line-height:.98;
    margin:10px 0 18px;
}
.franchise-hero-copy h1 span,
.franchise-section h2 span{
    color:var(--orange);
}
.franchise-hero-copy p,
.franchise-section p,
.franchise-section li{
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height:1.6;
    color:#3D342E;
    font-weight:400 !important;
}
.franchise-hero-copy p{
    max-width:620px;
    margin:0 0 22px;
    font-size:18px;
}
.franchise-hero-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.franchise-page .btn{
    font-family:Arial, Helvetica, sans-serif;
    font-weight:500 !important;
}
.franchise-hero-image{
    position:relative;
    border-radius:24px;
    overflow:hidden;
    min-height:420px;
    border:1px solid var(--taupe);
    box-shadow:0 18px 44px rgba(27,27,27,.08);
    background:#FFF5EA;
}
.franchise-hero-image:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(90deg,#FFF5EA 0%,rgba(255,245,234,.82) 16%,rgba(255,245,234,.22) 38%,rgba(255,245,234,0) 62%);
    pointer-events:none;
}
.franchise-hero-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    position:absolute;
    inset:0;
}
.franchise-section{
    padding:56px 0;
    background:#fff;
}
.franchise-section:nth-of-type(even){
    background:#FFFCF8;
}
.franchise-two-col{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:34px;
    align-items:start;
    margin-bottom:28px;
}
.franchise-two-col h2,
.franchise-split-panel h2,
.franchise-form-section h2{
    font-size:clamp(36px,3.3vw,56px);
    line-height:1.03;
    margin:8px 0 0;
}
.section-heading.left{
    text-align:left;
    margin:0 auto 24px;
}
.franchise-card-grid{
    display:grid;
    gap:18px;
}
.franchise-card-grid.four{
    grid-template-columns:repeat(4,1fr);
}
.franchise-card-grid.three{
    grid-template-columns:repeat(3,1fr);
}
.franchise-card-grid article,
.process-grid article{
    background:#fff;
    border:1px solid var(--taupe);
    border-radius:18px;
    padding:24px;
    box-shadow:0 10px 26px rgba(27,27,27,.04);
}
.franchise-card-grid span,
.process-grid strong{
    display:inline-grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#FFF5EA;
    color:var(--orange);
    border:1px solid var(--taupe);
    font-family:Arial, Helvetica, sans-serif;
    font-size:13px;
    font-weight:600;
    margin-bottom:12px;
}
.franchise-card-grid h3,
.process-grid h3{
    margin:0 0 8px;
    font-family:Arial, Helvetica, sans-serif;
    font-size:18px;
    line-height:1.25;
    color:var(--charcoal);
    font-weight:600;
}
.franchise-card-grid p,
.process-grid p{
    margin:0;
    font-size:14px;
    line-height:1.55;
}
.franchise-split-panel{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:36px;
    align-items:center;
    background:#FFF5EA;
    border:1px solid var(--taupe);
    border-radius:24px;
    padding:36px;
}
.franchise-split-panel ul{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:12px;
}
.franchise-split-panel li{
    position:relative;
    padding-left:30px;
}
.franchise-split-panel li:before{
    content:"";
    position:absolute;
    left:0;
    top:.42em;
    width:14px;
    height:14px;
    border-radius:50%;
    background:var(--orange);
    box-shadow:0 0 0 6px rgba(215,90,39,.12);
}
.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}
.franchise-form-grid{
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:30px;
    align-items:start;
}
.franchise-form-section{
    background:linear-gradient(180deg,#fff,#FFF5EA);
}
.franchise-form-card{
    border-radius:24px;
}
.franchise-enquiry-form label{
    font-family:Arial, Helvetica, sans-serif;
    font-weight:500 !important;
}
.franchise-enquiry-form input,
.franchise-enquiry-form textarea,
.franchise-enquiry-form select{
    font-family:Arial, Helvetica, sans-serif;
    font-weight:400 !important;
}
.hp-field{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}
.form-actions .btn{
    min-width:260px;
}

@media(max-width:1100px){
    .franchise-hero-grid,
    .franchise-two-col,
    .franchise-split-panel,
    .franchise-form-grid{
        grid-template-columns:1fr;
    }
    .franchise-card-grid.four,
    .process-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .franchise-card-grid.three{
        grid-template-columns:1fr;
    }
    .franchise-hero-image{
        min-height:320px;
    }
}
@media(max-width:720px){
    .franchise-hero{
        padding:42px 0 34px;
    }
    .franchise-hero-copy h1{
        font-size:44px;
    }
    .franchise-hero-actions,
    .franchise-hero-actions .btn,
    .form-actions .btn{
        width:100%;
    }
    .franchise-card-grid.four,
    .process-grid{
        grid-template-columns:1fr;
    }
    .franchise-split-panel,
    .franchise-card-grid article,
    .process-grid article{
        padding:22px;
    }
}
