
:root{--kerb:#1C2A25;--paving:#EEF0EA;--go:#1FA35C;--spot:#F5B21B;--muted:#4A5650;--line:#D3D8D0;--card:#FFFFFF;
--display:Archivo,"Arial Black","Helvetica Neue",sans-serif;--body:"Atkinson Hyperlegible",Verdana,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paving);color:var(--kerb);font-family:var(--body);font-size:18px;line-height:1.55}
a{color:var(--kerb)}a:hover{color:#16804A}
:focus-visible{outline:3px solid var(--spot);outline-offset:2px;border-radius:6px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3,.x{font-family:var(--display);font-stretch:125%;font-weight:800;letter-spacing:-.035em;margin:0}
.btn{display:inline-block;text-decoration:none;font-weight:700;padding:15px 24px;border-radius:999px;font-size:18px;text-align:center}
.btn.go{background:var(--go);color:var(--kerb)}.btn.go:hover{background:#2BBF6D;color:var(--kerb)}
.btn.ghost{border:2px solid #46564E;color:var(--paving)}.btn.ghost:hover{border-color:var(--paving);color:var(--paving)}
.btn.dark{background:var(--kerb);color:var(--paving)}.btn.dark:hover{background:#2E433A;color:var(--paving)}
header.top{background:var(--kerb);color:var(--paving);position:sticky;top:0;z-index:10}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paving);font-family:var(--display);font-stretch:125%;font-weight:800;font-size:20px;letter-spacing:-.02em}
.brand:hover{color:var(--paving)}
nav.main{display:flex;align-items:center;gap:22px;flex-wrap:wrap;font-size:16px}
nav.main a{color:var(--paving);text-decoration:none}nav.main a:hover{color:var(--go)}
nav.main a.btn{padding:10px 18px;font-size:16px;color:var(--kerb)}
@media (max-width:720px){nav.main a:not(.btn){display:none}}
.hero{background:var(--kerb);color:var(--paving);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center;padding-top:64px;padding-bottom:88px}
.hero h1{font-size:clamp(42px,6vw,76px);line-height:.95;letter-spacing:-.04em}
.hero p{font-size:21px;color:#C9D3CD;max-width:520px;margin:24px 0 28px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.plaque{position:relative;width:400px;height:400px;border-radius:50%;background:var(--kerb);box-shadow:0 0 0 10px #2E433A,0 30px 70px rgba(0,0,0,.5);margin:0 auto}
.plaque-scale{width:400px;height:400px;margin:0 auto}
.plaque i{position:absolute;border-radius:2px}
.plaque .inner{position:absolute;left:60px;top:56px;width:280px;display:flex;flex-direction:column;align-items:center;gap:14px}
.wm{display:inline-grid;font-family:var(--display);font-stretch:125%;font-weight:800;letter-spacing:-.035em;color:var(--paving)}
.wm .l{font-size:27px;line-height:.95}.wm .r{display:flex;align-items:center;gap:5px}
.wm .ring{width:8px;height:8px;border-radius:50%;border:2px solid var(--paving);flex-shrink:0}
.wm .d{flex-grow:1;border-top:3px dotted var(--go)}.wm .end{width:11px;height:11px;border-radius:50%;background:var(--spot);flex-shrink:0}
.qr{background:#fff;padding:10px;border-radius:12px;line-height:0}
.plaque .cap{font-size:14px;line-height:1.35;text-align:center;max-width:220px}
@media (max-width:440px){.plaque-scale{width:320px;height:320px}.plaque{transform:scale(.8);transform-origin:top left}}
section{padding:88px 0}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:start}
.sec-title{font-size:clamp(34px,4vw,50px);line-height:1}
.lead{font-size:20px;color:var(--muted);margin:14px 0 0;max-width:640px}
.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.panel{background:var(--card);border-radius:28px;padding:40px}
.panel.dark{background:var(--kerb);color:var(--paving)}
.panel h2{font-size:32px;margin-bottom:22px}
ul.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
li.b{display:flex;gap:16px;align-items:flex-start}
.bullet{width:14px;height:14px;border-radius:50%;margin-top:7px;flex-shrink:0}
li.b strong{display:block;font-size:19px}li.b span{color:var(--muted)}
.panel.dark li.b span{color:#C9D3CD}
.how{background:var(--go)}
.steps{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.steps li{background:var(--paving);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:10px}
.steps .n{width:52px;height:52px;border-radius:16px;background:var(--kerb);color:var(--go);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:26px}
.steps strong{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:22px;line-height:1.15}
.steps span{color:#34433C}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border-radius:22px;padding:24px}
.card strong{display:block;font-family:var(--display);font-stretch:112%;font-weight:800;font-size:20px;line-height:1.2;margin-bottom:6px}
.card span{color:var(--muted);font-size:17px}
.gets{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px 40px}
.gets li{display:flex;gap:14px;align-items:flex-start}
.gets strong{display:block;font-size:19px}.gets span{color:var(--muted)}
.samples{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:32px}
.sample{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;text-decoration:none;background:var(--card);color:var(--kerb);transition:transform .2s}
.sample:hover{transform:translateY(-3px);color:var(--kerb)}
@media (prefers-reduced-motion:reduce){.sample{transition:none}.sample:hover{transform:none}}
.sample .top{padding:26px 24px;color:var(--paving)}
.sample .top small{display:block;font-size:14px;opacity:.85;margin-bottom:4px}
.sample .top b{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:30px;letter-spacing:-.03em;line-height:1}
.sample .bottom{padding:18px 24px 22px;display:flex;flex-direction:column;gap:10px}
.sample .bottom span{color:var(--muted)}
.sample .bottom em{font-style:normal;font-weight:700;color:#16804A}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin-top:36px}
.plan{background:var(--card);border-radius:28px;padding:36px;display:flex;flex-direction:column;gap:18px}
.plan.dark{background:var(--kerb);color:var(--paving)}
.plan h3{font-size:26px;letter-spacing:-.02em}.plan .who,.plan .note{color:var(--muted)}
.plan.dark .who,.plan.dark .note{color:#C9D3CD}
.plan .price{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:46px;line-height:1;letter-spacing:-.03em}
.plan .yearly{padding-top:16px;border-top:1px solid var(--line)}
.plan.dark .yearly{border-color:#46564E}
.plan .yearly b{font-family:var(--display);font-stretch:112%;font-weight:800;font-size:30px;display:block;line-height:1;margin-bottom:4px}
.plan .btn{margin-top:auto}
.small{font-size:16px;color:var(--muted);margin-top:20px}
.faq{background:var(--card)}
.faq dl{margin:0;display:flex;flex-direction:column;gap:24px}
.faq dt{font-weight:700;font-size:20px}.faq dd{margin:6px 0 0;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line)}
.contact{background:var(--kerb);color:var(--paving)}
.contact p{color:#C9D3CD;font-size:20px;max-width:480px}
.contact a.mail{color:var(--go)}
form.enquiry{background:var(--paving);color:var(--kerb);border-radius:28px;padding:36px;display:flex;flex-direction:column;gap:18px}
form.enquiry label{display:flex;flex-direction:column;gap:6px;font-weight:700}
form.enquiry input,form.enquiry select,form.enquiry textarea{font:inherit;font-weight:400;padding:14px 16px;border-radius:14px;border:1px solid #B9C2BC;background:#fff;color:var(--kerb)}
form.enquiry button{font:inherit;font-weight:700;background:var(--go);color:var(--kerb);border:0;border-radius:999px;padding:16px 20px;cursor:pointer}
form.enquiry button:hover{background:#2BBF6D}
.hp{position:absolute;left:-9999px}
footer.site{padding:36px 0 48px;color:var(--muted);font-size:16px}
footer.site .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
