/*
Theme Name: Life Formula
Theme URI: https://lifeformula.uk/
Author: Life Formula
Description: Lightweight custom WordPress theme for Life Formula Vitamins Ltd.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: life-formula
*/
:root{--ink:#00405a;--green:#00a650;--mint:#dff4e8;--lime:#f1f7f3;--paper:#f7f8f5;--white:#fff;--muted:#61727a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}
.site-header{height:84px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,64,90,.14);position:relative;z-index:10;background:rgba(247,248,245,.94)}.brand{display:flex;align-items:center}.brand img{display:block;width:158px;height:54px;object-fit:contain}.brand b{font-weight:800}nav{display:flex;gap:34px;font-size:14px}nav a:hover{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;border-radius:2px;background:var(--green);color:white;padding:17px 22px;font-size:14px;font-weight:700}.button span{color:white}.button:hover{background:#008d45}.button-small{padding:12px 16px;gap:18px}
.hero{min-height:680px;display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden}.hero-copy{padding:90px 5vw 60px 7vw;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;display:flex;align-items:center;gap:9px;color:var(--green);margin:0 0 22px}.eyebrow span{display:block;width:22px;height:2px;background:currentColor}.hero h1,.section h2,.enquiry h2{font-family:Georgia,serif;font-size:clamp(52px,5.3vw,78px);line-height:.96;letter-spacing:-.045em;margin:0;font-weight:400}.hero h1 em,.section h2 em,.enquiry h2 em{color:var(--green);font-weight:400}.lede{font-size:18px;line-height:1.7;max-width:590px;color:#50645f;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:34px}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid var(--ink);padding:11px 0}.text-link span{margin-left:18px;color:var(--green)}.trust-line{display:flex;margin-top:64px}.trust-line span{display:flex;flex-direction:column;padding:0 34px;border-left:1px solid #c8cec7}.trust-line span:first-child{padding-left:0;border:0}.trust-line b{font-family:Georgia,serif;font-size:21px}.trust-line small{color:var(--muted);margin-top:3px}
.hero-visual{background:var(--ink);position:relative;min-height:620px;display:grid;place-items:center;overflow:hidden}.orbit{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%}.orbit-one{width:570px;height:570px}.orbit-two{width:410px;height:410px}.visual-card{position:relative;z-index:2}.main-card{width:min(330px,62%);aspect-ratio:.76;background:white;border-radius:4px;padding:34px;box-shadow:0 35px 80px rgba(0,0,0,.22);transform:rotate(-4deg)}.main-card>img{display:block;width:120px;height:88px;object-fit:contain;object-position:left center}.main-card p{text-transform:uppercase;letter-spacing:.13em;font-size:10px;margin-top:42px;color:var(--green)}.main-card strong{font-family:Georgia,serif;font-size:31px;line-height:1.15;font-weight:400}.pulse{display:flex;align-items:end;gap:6px;height:54px;margin-top:35px}.pulse i{width:7px;background:var(--mint);height:25%}.pulse i:nth-child(2){height:55%}.pulse i:nth-child(3){height:95%;background:var(--green)}.pulse i:nth-child(4){height:62%}.pulse i:nth-child(5){height:35%}.floating-card{position:absolute;z-index:3;background:white;padding:14px 18px;border-radius:2px;box-shadow:0 14px 30px rgba(0,0,0,.14);display:flex;align-items:center;gap:11px;font-size:12px}.floating-card span{color:var(--green);font-weight:800}.card-a{left:10%;top:23%}.card-b{right:7%;bottom:19%}
.strip{background:var(--ink);color:white;min-height:58px;display:flex;align-items:center;justify-content:center;gap:32px;text-transform:uppercase;letter-spacing:.13em;font-size:10px}.strip i{color:var(--lime);font-style:normal}.section{padding:110px 7vw}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:80px}.section h2{font-size:clamp(44px,4.5vw,66px)}.section-heading>p,.about-copy>p{line-height:1.75;color:var(--muted);max-width:500px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:62px}.category-grid article{background:white;padding:28px;min-height:315px;border-top:3px solid transparent;transition:.2s}.category-grid article:hover{border-color:var(--green);transform:translateY(-4px)}.category-top{display:flex;justify-content:space-between}.category-icon{width:48px;height:48px;border-radius:50%;background:#e4f5ed;color:var(--green);display:grid;place-items:center;font-family:Georgia,serif;font-size:17px}.category-top small{color:#9daaa5}.category-grid h3{font-family:Georgia,serif;font-size:26px;margin:52px 0 12px}.category-grid p{color:var(--muted);font-size:14px;line-height:1.65}.category-grid a{display:flex;justify-content:space-between;margin-top:28px;font-weight:700;font-size:13px}.category-grid a span{color:var(--green)}
.process{background:var(--ink);color:white;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.eyebrow.light{color:var(--lime)}.process h2 em,.enquiry h2 em{color:var(--mint)}.process-intro>p:last-child{color:#a9b8b3;line-height:1.7;margin-top:28px}.steps article{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:25px 0;border-top:1px solid rgba(255,255,255,.16)}.steps article>span{color:var(--lime);font-size:11px;letter-spacing:.1em}.steps h3{font-family:Georgia,serif;font-size:23px;margin:0 0 8px}.steps p{color:#a9b8b3;margin:0;line-height:1.55;font-size:14px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.about-panel{height:500px;background:var(--mint);position:relative;display:grid;place-items:center;overflow:hidden}.big-cross{font-size:360px;line-height:1;color:rgba(11,117,102,.2);font-weight:200}.mini-card{position:absolute;background:white;bottom:38px;right:38px;padding:24px;width:245px;box-shadow:0 20px 40px rgba(16,47,44,.12)}.mini-card small{color:var(--green);text-transform:uppercase;letter-spacing:.14em}.mini-card strong{font-family:Georgia,serif;display:block;font-size:22px;margin-top:11px;line-height:1.25}.about-copy ul{list-style:none;padding:0;margin:28px 0}.about-copy li{padding:14px 0;border-top:1px solid #d2d7d0;font-weight:700;font-size:14px}.about-copy li:before{content:'✓';color:var(--green);margin-right:12px}
.enquiry{padding:100px 7vw;background:var(--green);color:white;display:grid;grid-template-columns:1fr .8fr;gap:9vw;align-items:center}.enquiry>div>p:last-child{color:#c4e0d9;line-height:1.7;max-width:580px}.enquiry-card{background:var(--paper);color:var(--ink);padding:34px}.enquiry-card h3{font-family:Georgia,serif;font-size:27px;margin:0}.enquiry-card>p{color:var(--muted);font-size:12px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.form-fields label{color:var(--muted);font-size:12px}.form-fields label:nth-child(n+3){grid-column:1/-1}.form-fields input,.form-fields textarea{box-sizing:border-box;width:100%;margin-top:6px;background:white;border:1px solid #d7d9d2;padding:14px;color:var(--ink);font:inherit;resize:vertical}.website-field{position:absolute!important;left:-9999px!important}.enquiry-card button{width:100%;border:0;background:var(--ink);color:white;padding:15px;display:flex;justify-content:space-between;cursor:pointer}.enquiry-card button:hover{background:var(--green)}.enquiry-card button span{color:var(--lime)}
footer{padding:56px 7vw 28px;background:#092724;color:white;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:25px;align-items:start}footer p{color:#9fb0ab;font-size:13px;max-width:260px;line-height:1.6;margin:0}footer>div{display:flex;gap:22px;font-size:12px}footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.13);padding-top:24px;color:#78908a}.footer-brand .brand-mark{background:var(--lime)}.footer-brand .brand-mark i{background:var(--green)}
@media(max-width:900px){.site-header{height:auto;min-height:84px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:8px 20px}.site-header nav{display:flex;order:3;width:100%;gap:0;overflow-x:auto;scrollbar-width:thin;border-top:1px solid rgba(0,64,90,.1);padding-top:8px}.site-header nav a{flex:0 0 auto;padding:7px 18px 7px 0;margin-right:18px}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7vw}.hero-visual{min-height:540px}.section-heading,.process,.about,.enquiry{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr}.about-panel{height:390px}.process,.about,.enquiry{gap:55px}.strip{overflow:hidden;justify-content:flex-start;padding-left:25px;white-space:nowrap}.section{padding:80px 7vw}footer{grid-template-columns:1fr 1fr}.category-grid article{min-height:260px}}
@media(max-width:560px){.site-header{height:72px;padding:0 20px}.site-header>.button{font-size:0;padding:11px}.site-header>.button span{font-size:16px}.hero-copy{padding:56px 22px}.hero h1{font-size:50px}.lede{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.trust-line{margin-top:46px}.trust-line span{padding:0 18px}.hero-visual{min-height:460px}.main-card{width:62%;padding:24px}.main-card p{margin-top:38px}.main-card strong{font-size:24px}.card-a{left:3%}.card-b{right:2%}.section,.enquiry{padding:70px 22px}.section h2,.enquiry h2{font-size:45px}.section-heading{gap:26px}.about-panel{height:330px}.mini-card{right:18px;bottom:18px}.form-fields{grid-template-columns:1fr}.form-fields label:nth-child(n+3){grid-column:auto}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap}footer small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.category-grid article{transition:none}}

.seo-page{background:#fff}.seo-header{position:relative}.seo-hero{padding:92px 7vw 82px;background:linear-gradient(135deg,#f7f8f5 0%,#e4f5ed 100%);display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end}.seo-hero h1{font-family:Georgia,serif;font-size:clamp(46px,6vw,76px);line-height:1.02;letter-spacing:-.045em;font-weight:400;max-width:900px;margin:0}.seo-hero>div>p:not(.eyebrow){font-size:18px;line-height:1.7;color:#50645f;max-width:710px;margin:26px 0 30px}.seo-hero aside{background:var(--ink);color:white;padding:34px;border-left:5px solid var(--green)}.seo-hero aside small{text-transform:uppercase;letter-spacing:.14em;color:var(--mint)}.seo-hero aside strong{display:block;font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.35;margin-top:17px}.seo-content{max-width:920px;margin:0 auto;padding:80px 24px}.seo-content>section{padding:34px 0;border-bottom:1px solid #dfe7e3}.seo-content h2,.seo-cta h2,.insight-grid h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,43px);font-weight:400;letter-spacing:-.025em;margin:0 0 16px}.seo-content p,.seo-content li,.seo-cta p,.insight-grid p{font-size:17px;line-height:1.75;color:#50645f}.seo-content li+li{margin-top:8px}.seo-faq details{border-top:1px solid #dfe7e3;padding:20px 0}.seo-faq summary{font-size:18px;font-weight:700;cursor:pointer}.seo-faq details p{margin-bottom:0}.seo-cta{background:var(--ink);color:white;padding:72px 7vw;text-align:center}.seo-cta p{color:#bed1cb;max-width:700px;margin:0 auto 28px}.insight-grid{padding:80px 7vw;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.insight-grid article{padding:36px;background:#f7f8f5;border-top:4px solid var(--green)}.insight-grid a{font-weight:700;color:var(--green)}
@media(max-width:900px){.seo-hero{grid-template-columns:1fr}.insight-grid{grid-template-columns:1fr}}@media(max-width:560px){.seo-hero{padding:62px 22px}.seo-hero h1{font-size:45px}.seo-content{padding:52px 22px}.insight-grid{padding:55px 22px}}

/* Direction 1 brand system */
.strip{background:var(--green)}
.strip i{color:white}
.about-panel{background:var(--mint)}
.about-leaf{width:55%;height:55%;object-fit:contain;opacity:.2;transform:scale(1.45)}
.mini-card{box-shadow:0 20px 40px rgba(0,64,90,.12)}
footer{background:var(--ink)}
.footer-brand img{filter:brightness(0) invert(1)}
.company-proof{margin-top:28px;padding-top:22px;border-top:1px solid rgba(8,67,55,.16);font-size:14px;line-height:1.7}.company-proof strong{color:var(--ink)}.company-proof a{display:inline-block;margin-top:6px;color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:3px}footer small{line-height:1.7}

.brands{background:white;border-top:1px solid #e3e9e5}.brands-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}.brands-intro>div>p{color:var(--muted);line-height:1.7;margin:0 0 18px}.brands-intro small{display:block;color:#819098;font-size:11px;line-height:1.55}.brand-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:58px;border-top:1px solid #e0e6e2;border-left:1px solid #e0e6e2}.brand-tile{height:135px;border-right:1px solid #e0e6e2;border-bottom:1px solid #e0e6e2;display:flex;align-items:center;justify-content:center;position:relative;padding:24px;background:#fff;transition:.2s}.brand-tile:hover{background:#f5faf7}.brand-tile img{max-width:88%;max-height:54px;object-fit:contain;filter:saturate(.78)}.brand-tile span{position:absolute;left:9px;bottom:7px;font-size:8px;color:#8c999e;letter-spacing:.06em;text-transform:uppercase}.brand-enquiry{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:21px 24px;background:var(--mint);font-size:13px}.brand-enquiry b{color:var(--green)}
@media(max-width:900px){.brands-intro{grid-template-columns:1fr;gap:26px}.brand-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.brand-grid{grid-template-columns:repeat(2,1fr)}.brand-tile{height:112px;padding:18px}.brand-enquiry{align-items:flex-start;flex-direction:column;gap:10px}}

/* QA accessibility and reliability refinements */
.enquiry-card>p{font-size:14px;line-height:1.55}.form-fields{gap:14px}.form-fields label{font-size:14px;font-weight:600}.form-fields input,.form-fields textarea{margin-top:7px;border-color:#bac5c1}.form-fields input:focus,.form-fields textarea:focus{outline:3px solid rgba(0,166,80,.2);border-color:var(--green)}.enquiry-card button:hover{background:#006b42}
.brands-intro small{color:#687b83;font-size:13px}.brand-tile strong{font-family:Georgia,serif;font-size:clamp(16px,1.5vw,23px);font-weight:600;line-height:1.15;text-align:center;color:var(--ink)}.brand-enquiry{font-size:14px}
.legal-page{min-height:100vh;background:white}.legal-header{height:auto;min-height:84px}.legal-content{max-width:820px;margin:0 auto;padding:80px 24px 110px}.legal-content h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,68px);font-weight:400;letter-spacing:-.04em;margin:0 0 14px}.legal-content .updated{color:var(--muted);margin-bottom:42px}.legal-content h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:38px 0 12px}.legal-content p,.legal-content li{color:#415860;line-height:1.75}.legal-content a{color:var(--green);text-decoration:underline}.legal-content li+li{margin-top:8px}
.legal-content a.button{color:#fff;text-decoration:none}.legal-content a.button:hover{color:#fff}

/* Refined buyer journey and visual system */
.site-header{position:sticky;top:0;backdrop-filter:blur(14px)}
section[id]{scroll-margin-top:84px}
.hero-copy{display:flex;flex-direction:column;justify-content:center}
.strip{min-height:64px;gap:clamp(18px,3vw,44px);font-size:12px;font-weight:700}
.brands{padding-top:100px;padding-bottom:100px}.brand-grid{grid-template-columns:repeat(4,1fr);gap:12px;border:0}.brand-tile{height:142px;border:1px solid #dfe7e3;border-radius:3px;padding:25px 20px 31px;background:#fff;box-shadow:0 9px 25px rgba(0,64,90,.035)}.brand-tile:hover{border-color:#b6d7c8;box-shadow:0 14px 34px rgba(0,64,90,.08)}.brand-tile img{display:block;width:100%;height:64px;max-width:88%;max-height:64px;object-fit:contain;filter:none}.brand-tile span{left:50%;bottom:10px;transform:translateX(-50%);width:90%;text-align:center;font-size:10px;color:#687b83}.brand-tile strong{display:none}.brand-enquiry{border-left:4px solid var(--green);padding:23px 26px}
.brand-tile img[src*="novartis"],.brand-tile img[src*="vitabiotics"],.brand-tile img[src*="holland-barrett"],.brand-tile img[src*="puritans-pride"]{transform:scale(1.65)}
.category-grid article{border-top:0;border-bottom:3px solid transparent;box-shadow:0 12px 34px rgba(0,64,90,.045)}.category-grid article:hover{border-top:0;border-bottom-color:var(--green)}.category-label{display:inline-flex;align-items:center;min-height:36px;padding:0 13px;border-radius:999px;background:#e4f5ed;color:#007c45;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.category-grid h3{margin-top:56px}
.about-panel{height:520px;display:grid;grid-template-rows:1fr auto;place-items:stretch;padding:48px;background:linear-gradient(145deg,#e9f8f0 0%,#caeddb 100%)}.about-logo-wrap{display:grid;place-items:center;min-height:0}.about-leaf{width:min(310px,75%);height:min(260px,75%);opacity:.24;transform:none}.mini-card{position:static;width:100%;padding:25px 27px;border-left:4px solid var(--green);box-shadow:0 16px 40px rgba(0,64,90,.1)}.mini-card strong{font-size:24px}
@media(max-width:900px){.brand-grid{grid-template-columns:repeat(3,1fr)}.about-panel{height:430px;padding:34px}}
@media(max-width:560px){.site-header{position:sticky}.strip{font-size:11px}.brand-grid{grid-template-columns:repeat(2,1fr);gap:8px}.brand-tile{height:116px;padding:20px 14px 27px}.brand-tile img{height:50px}.brand-tile span{font-size:9px}.about-panel{height:390px;padding:24px}.mini-card strong{font-size:21px}.brands{padding-top:72px;padding-bottom:72px}}

.cookie-banner{position:fixed;z-index:1000;left:22px;right:22px;bottom:22px;max-width:1040px;margin:auto;padding:22px 24px;background:#fff;color:var(--ink);border:1px solid #cfdad5;border-left:5px solid var(--green);box-shadow:0 18px 60px rgba(0,64,90,.2);display:flex;align-items:center;justify-content:space-between;gap:28px}.cookie-banner strong{font-family:Georgia,serif;font-size:20px;font-weight:400}.cookie-banner p{max-width:680px;margin:7px 0 0;color:#50645f;font-size:14px;line-height:1.55}.cookie-banner a{color:var(--green);text-decoration:underline}.cookie-actions{display:flex;gap:10px;flex-shrink:0}.cookie-actions button{border:1px solid var(--ink);padding:12px 16px;cursor:pointer;font-weight:700}.cookie-reject{background:white;color:var(--ink)}.cookie-accept{background:var(--ink);color:white}.cookie-actions button:focus-visible{outline:3px solid rgba(0,166,80,.35);outline-offset:2px}
.cookie-banner[hidden]{display:none}
@media(max-width:760px){.cookie-banner{left:12px;right:12px;bottom:12px;align-items:stretch;flex-direction:column;gap:16px;padding:20px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{padding:13px 10px}}
