:root { --ink:#173127; --muted:#65766d; --paper:#f7f5ed; --surface:#fff; --green:#1f6a49; --deep:#153f2d; --soft:#e3f0e8; --gold:#d4a72c; --line:#dce4dc; --shadow:0 20px 60px rgba(28,54,42,.11); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; background:radial-gradient(circle at 5% 0,rgba(212,167,44,.17),transparent 32rem),var(--paper); }
a { color:var(--green); }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible { outline:3px solid rgba(31,106,73,.35); outline-offset:3px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:600; letter-spacing:-.035em; }
h1 { max-width:820px; margin-bottom:1rem; font-size:clamp(2.8rem,8vw,6.6rem); line-height:.95; }
h2 { margin-bottom:.7rem; font-size:clamp(1.8rem,4vw,3.1rem); line-height:1.03; }
h3 { margin-bottom:.35rem; }
p { line-height:1.62; }
.wrap { width:min(1160px,calc(100% - 2rem)); margin-inline:auto; }
.site-header { position:sticky; z-index:20; top:0; border-bottom:1px solid rgba(23,49,39,.08); background:rgba(247,245,237,.91); backdrop-filter:blur(18px); }
.nav { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:76px; }
.brand { display:inline-flex; align-items:center; gap:.65rem; color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:1.16rem; font-weight:700; text-decoration:none; }
.brand svg { width:40px; height:40px; padding:7px; border-radius:13px; fill:#faf2d4; stroke:var(--green); stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }
.nav-links { display:flex; align-items:center; gap:1rem; }
.nav-links a { color:var(--ink); font-size:.82rem; font-weight:750; text-decoration:none; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.72rem 1.05rem; border:1px solid transparent; border-radius:999px; font:inherit; font-weight:850; text-decoration:none; cursor:pointer; }
.button-primary { color:#fff !important; background:var(--green); box-shadow:0 8px 22px rgba(31,106,73,.2); }
.button-primary:hover { background:var(--deep); }
.button-secondary { color:var(--deep); border-color:#b9cbbf; background:var(--surface); }
.hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); align-items:center; gap:clamp(2rem,6vw,6rem); min-height:calc(100dvh - 76px); padding-block:clamp(4rem,10vw,8rem); }
.eyebrow { display:block; margin-bottom:.7rem; color:var(--green); font-size:.73rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.hero-copy > p { max-width:630px; margin-bottom:1.5rem; color:var(--muted); font-size:clamp(1rem,2vw,1.2rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.65rem; }
.trust-row { display:flex; flex-wrap:wrap; gap:.45rem; margin:1.4rem 0 0; padding:0; list-style:none; }
.trust-row li { padding:.38rem .68rem; border-radius:999px; color:var(--deep); background:var(--soft); font-size:.72rem; font-weight:800; }
.phone { position:relative; width:min(360px,100%); margin-inline:auto; padding:13px; border:1px solid #c5d3ca; border-radius:42px; background:#fdfdfb; box-shadow:var(--shadow); transform:rotate(1.5deg); }
.phone::before { position:absolute; z-index:2; top:19px; left:50%; width:82px; height:20px; border-radius:999px; background:var(--deep); transform:translateX(-50%); content:""; }
.phone-screen { min-height:590px; padding:4.4rem 1rem 1rem; overflow:hidden; border-radius:31px; background:linear-gradient(180deg,#faf8f0,#eef2eb); }
.mock-brand { margin-bottom:.8rem; font-family:Georgia,"Times New Roman",serif; font-weight:700; }
.mock-pill { display:inline-block; padding:.3rem .5rem; border-radius:999px; color:var(--green); background:var(--soft); font-size:.65rem; font-weight:850; }
.mock-title { margin:.65rem 0 .2rem; font-family:Georgia,"Times New Roman",serif; font-size:2rem; }
.mock-muted { color:var(--muted); font-size:.72rem; }
.mock-card { margin-top:.8rem; padding:.8rem; border:1px solid var(--line); border-top:4px solid var(--green); border-radius:18px; background:#fff; }
.mock-row { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.65rem .1rem; border-bottom:1px solid #edf0ed; font-size:.7rem; }
.mock-row:last-child { border-bottom:0; }
.mock-row strong:last-child { color:var(--green); font-size:.85rem; }
.mock-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; margin-top:.7rem; }
.mock-actions span { padding:.55rem .2rem; border-radius:10px; color:var(--deep); background:var(--soft); text-align:center; font-size:.62rem; font-weight:800; }
.section { padding-block:clamp(4rem,9vw,7rem); }
.section-intro { max-width:720px; margin-bottom:2rem; }
.section-intro p { color:var(--muted); }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.feature { padding:1.25rem; border:1px solid var(--line); border-radius:24px; background:rgba(255,255,255,.8); }
.feature-icon { display:grid; width:42px; height:42px; margin-bottom:1rem; place-items:center; border-radius:13px; color:var(--deep); background:#faefd0; font-weight:900; }
.feature p { margin-bottom:0; color:var(--muted); font-size:.86rem; }
.privacy-section { color:#edf7f1; background:var(--deep); }
.privacy-section .eyebrow { color:#dfc56f; }
.privacy-section p { color:#cbded2; }
.privacy-layout { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:clamp(2rem,6vw,6rem); }
.privacy-list { display:grid; gap:.6rem; margin:0; padding:0; list-style:none; }
.privacy-list li { padding:.9rem 1rem; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.05); font-size:.87rem; }
.brand-cloud { display:flex; flex-wrap:wrap; gap:.5rem; }
.brand-cloud span { padding:.55rem .78rem; border:1px solid var(--line); border-radius:999px; background:var(--surface); font-size:.79rem; font-weight:800; }
.catalogue-action { margin:1.25rem 0 0; }
.feed-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.feed-group { padding:1.3rem; border:1px solid var(--line); border-radius:20px; background:var(--surface); box-shadow:var(--shadow); }
.feed-group h2 { margin-bottom:.4rem; }
.feed-group > p { margin-bottom:.9rem; color:var(--muted); font-size:.82rem; }
.feed-programmes { display:flex; flex-wrap:wrap; gap:.4rem; margin:0; padding:0; list-style:none; }
.feed-programmes li { padding:.38rem .58rem; border-radius:999px; color:var(--deep); background:var(--soft); font-size:.72rem; font-weight:750; }
.retailer-notice { margin:1.15rem 0 0; color:var(--muted); font-size:.8rem; }
.catalogue-retailers { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem; padding-top:.85rem; border-top:1px solid var(--line); }
.catalogue-retailers a { padding:.5rem .65rem; border-radius:9px; color:var(--deep); background:var(--soft); font-size:.72rem; font-weight:850; text-decoration:none; }
.catalogue-retailers a:hover { background:#d7eadf; }
.catalogue-retailers small { font-size:.62rem; font-weight:650; }
.catalogue-note { margin-top:1.5rem; padding:1rem 1.1rem; border-left:4px solid var(--green); border-radius:0 14px 14px 0; background:var(--soft); color:var(--muted); font-size:.84rem; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; counter-reset:step; }
.step { padding:1.25rem; border-top:1px solid var(--ink); counter-increment:step; }
.step::before { display:block; margin-bottom:2rem; color:var(--green); font-size:.72rem; font-weight:900; content:"0" counter(step); }
.step p { margin-bottom:0; color:var(--muted); font-size:.86rem; }
.cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(1.5rem,5vw,3rem); border-radius:30px; color:#fff; background:linear-gradient(135deg,var(--green),var(--deep)); box-shadow:var(--shadow); }
.cta h2 { margin-bottom:.3rem; }
.cta p { margin-bottom:0; color:#d4e6da; }
.cta .button { color:var(--deep) !important; background:#fff; }
.site-footer { padding:2rem 0; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; }
.footer-row { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.footer-links { display:flex; flex-wrap:wrap; gap:.8rem; }
.footer-links a,.footer-links button { padding:0; border:0; color:var(--muted); background:transparent; font:inherit; text-decoration:underline; cursor:pointer; }
.content-page { max-width:840px; padding-block:clamp(3rem,8vw,6rem); }
.content-page h1 { font-size:clamp(2.5rem,7vw,5rem); }
.content-page h2 { margin-top:2.3rem; font-size:1.65rem; }
.content-page p,.content-page li { color:#4f6259; }
.notice { padding:1rem 1.1rem; border-left:4px solid var(--gold); border-radius:0 14px 14px 0; background:#fff8df; }
.consent { position:fixed; z-index:50; right:1rem; bottom:1rem; left:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; width:min(760px,calc(100% - 2rem)); margin-inline:auto; padding:1rem; border:1px solid #bfcfc4; border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.consent p { margin:0; color:#4f6259; font-size:.79rem; }
.consent-actions { display:flex; flex:0 0 auto; gap:.45rem; }
.consent .button { min-height:40px; padding:.55rem .75rem; font-size:.75rem; }
.is-hidden { display:none !important; }
@media(max-width:820px){.hero{grid-template-columns:1fr;}.phone{width:330px}.feature-grid{grid-template-columns:1fr 1fr}.privacy-layout{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step::before{margin-bottom:.8rem}.cta{align-items:flex-start;flex-direction:column}.feed-groups{grid-template-columns:1fr}}
@media(max-width:600px){.nav-links>a:not(.button){display:none}.feature-grid{grid-template-columns:1fr}.hero{padding-top:3rem}.phone-screen{min-height:520px}.footer-row{flex-direction:column}.consent{align-items:flex-start;flex-direction:column}.consent-actions{width:100%}.consent-actions .button{flex:1}.cta .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
