:root{--green:#355e2c;--green-d:#26441f;--pink:#ffb5b1;--pink-l:#fff0ee;--cream:#faf6f0;--paper:#fff;--ink:#1f2b1c;--muted:#55604f;--line:#e4dccf;--r:6px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:400 17px/1.65 "DM Sans",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--cream)}
h1,h2,h3{font-family:Antonio,"Arial Narrow",sans-serif;font-weight:600;line-height:1.08;margin:0 0 .5em;color:var(--green-d);text-transform:uppercase;letter-spacing:.01em}
h1{font-size:clamp(2.6rem,6vw,4.3rem)}h2{font-size:clamp(2rem,3.6vw,2.7rem)}h3{font-size:1.4rem}
.script{font-family:Yellowtail,cursive;font-weight:400;text-transform:none;color:var(--green);letter-spacing:0}
p{margin:0 0 1em}a{color:var(--green)}
img,svg{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;border-radius:4px;z-index:99}
header.top{position:sticky;top:0;z-index:50;background:var(--green)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 20px;max-width:1120px;margin:0 auto}
.logo{display:block;line-height:0}
.logo img{height:52px;width:52px;display:block}
nav.main{display:flex;align-items:center;gap:4px}
nav.main a{padding:8px 12px;text-decoration:none;color:#f4efe6;font-weight:500;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a.on{border-bottom-color:var(--pink)}
nav.main a.btn{background:var(--pink);color:var(--green-d);border:2px solid var(--pink);margin-left:10px;padding:.6em 1.2em}
nav.main a.btn:hover{background:#fff;border-color:#fff}
.burger{display:none;background:none;border:2px solid var(--pink);border-radius:4px;padding:7px 12px;font:700 14px "DM Sans",sans-serif;color:var(--pink);cursor:pointer}
.btn{display:inline-block;padding:.9em 1.6em;border-radius:4px;background:var(--green);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;border:2px solid var(--green);cursor:pointer;font-family:inherit}
.btn:hover{background:var(--green-d);border-color:var(--green-d)}
.btn.ghost{background:transparent;color:var(--green)}.btn.ghost:hover{background:var(--pink-l)}
.sec{padding:48px 0}.alt{background:var(--pink-l)}.paper{background:#fff}
.dark{background:var(--green)}
.dark h2{color:var(--pink)}
.dark .card{background:var(--green-d);border:1px solid #4a6a42;border-top:3px solid var(--pink)}
.dark .card h3{color:#fff}.dark .card p{color:#d8e2d3}
.dark .ico{background:rgba(255,181,177,.16)}.dark .ico svg{stroke:var(--pink)}
.eyebrow{display:block;font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:16px}
.eyebrow::before{content:"";display:inline-block;width:28px;height:3px;background:var(--pink);vertical-align:middle;margin-right:10px}
.lead{font-size:1.15rem;color:var(--muted);max-width:640px}
.hero{padding:36px 0 40px}.hero+.sec{padding-top:16px}
.hero .grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.vis{position:relative;width:100%;max-width:320px;margin-left:auto;padding:0 0 34px 34px}
.vis .logoimg{display:block;width:100%;height:auto;border-radius:10px;box-shadow:12px 12px 0 var(--pink)}
.vis .pic{position:absolute;left:0;bottom:0;width:104px;height:104px;border:4px solid var(--cream)}
.trustband{background:var(--green)}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 28px;padding:22px 0;font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:#f4efe6}
.trust span::before{content:"";display:inline-block;width:8px;height:8px;background:var(--pink);margin-right:10px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{background:var(--paper);border-radius:var(--r);padding:26px;border:1px solid var(--line);border-top:3px solid var(--green)}
.card p{color:var(--muted);margin:0}
.card ul{margin:12px 0 0;padding-left:20px;color:var(--muted)}
.ico{width:46px;height:46px;border-radius:var(--r);background:var(--pink-l);display:grid;place-items:center;margin-bottom:16px}
.ico svg{width:24px;height:24px;stroke:var(--green);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.step{background:var(--paper);border-radius:var(--r);padding:26px;border:1px solid var(--line)}
.step::before{counter-increment:s;content:"0" counter(s);display:inline-block;background:var(--green);color:var(--pink);font-weight:700;padding:4px 10px;border-radius:3px;margin-bottom:14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.quote{font-family:Antonio,sans-serif;text-transform:uppercase;font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;background:var(--green);color:var(--pink);border-radius:8px;padding:40px}
.cta-band{background:var(--green);color:#f4efe6;border-radius:8px;padding:40px 28px;text-align:center}
.cta-band h2{color:var(--pink)}.cta-band p{color:#f4efe6;max-width:560px;margin:0 auto 22px}
.cta-band .btn{background:var(--pink);color:var(--green-d);border-color:var(--pink)}.cta-band .btn:hover{background:#fff;border-color:#fff}
.price .tag{display:inline-block;background:var(--pink-l);color:var(--green-d);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:3px;margin-bottom:12px}
.price.pop{border:2px solid var(--green);border-top-width:4px}
.price .from{font-family:Antonio,sans-serif;text-transform:uppercase;font-size:1.3rem;margin:14px 0 2px;color:var(--green-d)}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin-bottom:10px}
.faq summary{font-weight:700;cursor:pointer}.faq p{margin:10px 0 0;color:var(--muted)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.post{background:var(--paper);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;text-decoration:none;color:inherit}
.post:hover{border-color:var(--green)}
.post .band{height:5px;background:var(--pink)}
.post .in{padding:24px}.post h3{margin-bottom:.4em;font-size:1.3rem}.post p{color:var(--muted);font-size:.98rem}
.meta{font-weight:700;font-size:.75rem;color:var(--green);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.article{max-width:740px;margin:0 auto}
.article h2{margin-top:1.6em;font-size:1.9rem}.article li{margin-bottom:.5em}
.back{display:inline-block;margin-bottom:22px;font-weight:700}
.who{display:flex;align-items:center;gap:20px}
.me{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center 30%;border:4px solid var(--pink);display:block;flex:none;background:var(--pink-l)}
.me.sm{width:72px;height:72px;border-width:3px}
.me.lg{width:210px;height:210px}
.meet{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;max-width:860px;margin:0}
.glance{list-style:none;margin:0;padding:0}.glance li{padding:10px 0;border-bottom:1px solid var(--line);font-weight:500}.glance li:last-child{border:0}
.glance li::before{content:"";display:inline-block;width:8px;height:8px;background:var(--pink);margin-right:12px}
form.enq{display:grid;gap:18px}
.f label,.f legend{display:block;font-weight:700;margin-bottom:6px;padding:0}
.f input[type=text],.f input[type=email],.f input[type=tel],.f select,.f textarea{width:100%;padding:12px 14px;border:1px solid #cfc6b6;border-radius:4px;font:inherit;background:#fff;color:var(--ink)}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--green);border-color:var(--green)}
.f textarea{min-height:130px;resize:vertical}
.f fieldset{border:0;padding:0;margin:0}
.f input[type=checkbox]{accent-color:var(--green);width:18px;height:18px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.checks label{font-weight:500;display:flex;gap:10px;align-items:center;margin:0}
.hp{position:absolute;left:-9999px}
.note{font-size:.9rem;color:var(--muted)}
.msg{padding:16px 18px;border-radius:4px;font-weight:700;margin-bottom:14px}.msg:empty{display:none}
.msg.ok{background:#e4efe0;color:var(--green-d)}.msg.err{background:#fde2e0;color:#7a1f19}
.contact-box{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--green);border-radius:var(--r);padding:26px}
.contact-box p{margin-bottom:.6em}
footer.bot{background:var(--green-d);color:#e8e2d6;padding:36px 0 24px;margin-top:0}
footer.bot a{color:var(--pink)}footer.bot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
footer.bot h4{margin:0 0 10px;font-family:Antonio,sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:1.2rem;color:var(--pink);font-weight:600}
footer.bot ul{list-style:none;margin:0;padding:0}footer.bot li{margin-bottom:6px}
footer.bot .legal{border-top:1px solid #4a6a42;margin-top:28px;padding-top:18px;font-size:.86rem;color:#b9c4b3}
@media(max-width:860px){
.hero .grid,.split{grid-template-columns:1fr}.vis{margin:0;max-width:260px}
.cards,.steps,.posts,.cards.two,footer.bot .cols{grid-template-columns:1fr}
.burger{display:block}
nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--green-d);flex-direction:column;align-items:stretch;padding:10px 20px 20px}
nav.main.open{display:flex}nav.main a.btn{text-align:center;margin:10px 0 0}
.sec{padding:36px 0}.checks{grid-template-columns:1fr}.meet{grid-template-columns:1fr;justify-items:start}
.trust{grid-template-columns:repeat(2,1fr);gap:12px 16px;font-size:.74rem}
}
@media(min-width:1700px){body{font-size:18px}.wrap,.bar{max-width:1240px}}
/* mobile-tighten */
@media(max-width:860px){
.sec{padding:26px 0}.hero{padding:22px 0 26px}.hero+.sec{padding-top:12px}
h1,h2,h3{margin-bottom:.35em}
p{margin-bottom:.7em}.lead{font-size:1.05rem;margin-bottom:.5em}
.eyebrow{margin-bottom:10px}
.cards,.steps,.posts{gap:12px;margin-top:14px}
.card,.step,.contact-box{padding:18px}.post .in{padding:18px}
.ico{width:38px;height:38px;margin-bottom:10px}.ico svg{width:21px;height:21px}
.step::before{margin-bottom:8px}
.card p:last-child,.step p:last-child,.contact-box p:last-child{margin-bottom:0}
.hero .grid,.split{gap:22px}.hero .cta{margin-top:16px}
.vis{max-width:220px;padding:0 0 22px 22px}.vis .pic{width:84px;height:84px}
.meet{gap:16px}.me.lg{width:140px;height:140px}
.quote{padding:22px}.cta-band{padding:26px 18px}.cta-band p{margin-bottom:14px}
.trust{padding:14px 0}
.faq details{padding:12px 16px;margin-bottom:8px}
form.enq{gap:14px}.back{margin-bottom:14px}.article h2{margin-top:1.1em}
.wrap>p[style]{margin-top:14px!important;margin-bottom:0}
footer.bot{padding:26px 0 18px}footer.bot .cols{gap:18px}footer.bot .legal{margin-top:18px;padding-top:14px}
}
