/* Landing page, used as the homepage (template-hire.php).
   Brand: "Forest and signal" v1.0. Colours, fonts, radii and spacing come
   from assets/brand/brand-tokens.css (--md-*), loaded before this file.
   Page rhythm follows the brand guide p.18:
     header cream bar · hero forest + grid · problems cream · services sage
     tint · solutions cream with forest panel · process forest · why cream ·
     insights + FAQ cream · contact sage tint · footer forest deep.
   Lime is the signal: under 10% of a view, never text on cream or white. */

:root{
  --shadow:0 1px 2px rgba(14,59,46,.05),0 12px 32px rgba(14,59,46,.08);
  --head-h:96px; /* sticky header height plus gap; the hero slides under it */
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{background:var(--md-cream);color:var(--md-graphite);font-family:var(--md-font-body);font-size:var(--md-text-body);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:var(--md-font-heading);font-weight:700;color:var(--md-forest);line-height:1.12;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
::selection{background:var(--md-lime);color:var(--md-forest)}
:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(198,243,107,.6),0 0 0 1px var(--md-forest);border-radius:var(--md-radius-control)}
.wrap{max-width:var(--md-content-width);margin:0 auto;padding:0 var(--md-gutter)}
section{padding:var(--md-space-section) 0}

/* // comment labels */
.eyebrow{display:inline-block;font-family:var(--md-font-mono);font-size:13px;font-weight:500;color:var(--md-moss);text-transform:lowercase;letter-spacing:0}
.eyebrow::before{content:"// "}
.section-head{max-width:720px;margin-bottom:var(--md-space-5)}
.section-head h2,.why-h2{font-size:clamp(30px,3.8vw,44px);margin:12px 0 16px}
.section-head p{color:var(--md-muted);font-size:var(--md-text-body-lg);line-height:1.6}
/* Highlighter: lime behind the bottom 40% of key words, light backgrounds only */
.accent,.md-highlight{background:linear-gradient(transparent 60%,var(--md-lime) 60%);color:inherit;padding:0 .04em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.pill{display:inline-block;font-family:var(--md-font-mono);font-size:11.5px;font-weight:500;color:var(--md-forest);background:var(--md-sage-tint);border-radius:var(--md-radius-chip);padding:3px 9px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--md-font-body);font-weight:600;font-size:15px;line-height:1;border-radius:var(--md-radius-control);padding:16px 26px;transition:transform var(--md-motion-fast) var(--md-motion-ease),background var(--md-motion-fast),color var(--md-motion-fast),border-color var(--md-motion-fast);cursor:pointer;border:0}
.btn-primary{background:var(--md-forest);color:var(--md-lime)}
.btn-primary:hover{background:var(--md-forest-deep);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--md-forest);border:1.5px solid var(--md-forest)}
.btn-ghost:hover{background:var(--md-forest);color:var(--md-cream)}
.btn svg{width:16px;height:16px;transition:transform var(--md-motion-fast)}
.btn:hover svg{transform:translateX(3px)}
.btn:disabled,button[type="submit"]:disabled{opacity:.4;cursor:wait;transform:none}

/* Site header: assets/brand/site-header.css (shared). On the homepage the
   hero slides up under the sticky header. */
.hire-landing .site-top{margin-bottom:calc(-1 * var(--head-h))}

/* ---------- Hero: forest + blueprint grid ---------- */
.hero{position:relative;color:var(--md-cream);padding:calc(var(--head-h) + 72px) 0 104px;background-color:var(--md-forest);background-image:linear-gradient(rgba(198,243,107,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(198,243,107,.05) 1px,transparent 1px);background-size:56px 56px;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(transparent,var(--md-forest));pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.status{display:inline-flex;align-items:center;gap:10px;font-family:var(--md-font-mono);font-size:12.5px;color:var(--md-lime);background:var(--md-forest-raised);border:1px solid var(--md-forest-line);padding:7px 14px 7px 12px;border-radius:var(--md-radius-control);margin-bottom:28px}
.status i{width:8px;height:8px;border-radius:50%;background:var(--md-lime);box-shadow:0 0 0 4px rgba(198,243,107,.16);animation:pulse 2.2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(198,243,107,.05)}}
.hero h1{color:var(--md-cream);font-size:clamp(38px,5.4vw,64px);line-height:1.04;letter-spacing:-.03em;margin-bottom:24px}
.hero h1 .u{color:var(--md-lime)}
.hero .lede{font-size:var(--md-text-body-lg);line-height:1.6;color:var(--md-on-dark-secondary);max-width:560px;margin-bottom:36px}
.hero .lede strong{font-weight:600;color:var(--md-cream)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:44px}
.hero .btn-primary{background:var(--md-lime);color:var(--md-forest)}
.hero .btn-primary:hover{background:var(--md-lime-hover)}
.hero .btn-ghost{color:var(--md-cream);border-color:rgba(244,241,234,.45)}
.hero .btn-ghost:hover{background:var(--md-cream);color:var(--md-forest);border-color:var(--md-cream)}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:40px;padding-top:28px;border-top:1px solid var(--md-forest-line)}
.facts b{display:block;font-family:var(--md-font-mono);font-size:26px;font-weight:500;line-height:1.15;color:var(--md-lime);letter-spacing:-.01em}
.facts span{font-size:13.5px;color:var(--md-on-dark-secondary)}

/* Hero visual: cream card on forest */
.hero-visual{position:relative}
.hero-card{position:relative;background:var(--md-cream);color:var(--md-graphite);border-radius:var(--md-radius-panel);padding:30px 28px 24px;box-shadow:0 30px 60px -24px rgba(0,0,0,.45)}
.hc-brand{display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--md-font-heading);font-size:13px;font-weight:700;color:var(--md-forest);margin-bottom:14px}
.hc-brand img{display:block}
.hc-title{font-family:var(--md-font-heading);font-size:26px;font-weight:700;color:var(--md-forest);text-align:center;line-height:1.18;letter-spacing:-.02em;margin-bottom:22px}
.flow{display:grid;gap:10px;position:relative}
.flow::before{content:"";position:absolute;left:29px;top:24px;bottom:24px;border-left:2px dashed var(--md-line)}
.flow-row{position:relative;display:flex;align-items:center;gap:13px;background:var(--md-white);border:1px solid var(--md-line);border-radius:var(--md-radius-control);padding:12px 14px;font-size:14px;font-weight:600;color:var(--md-forest);line-height:1.4}
.flow-row .dot{flex:none;width:31px;height:31px;border-radius:8px;display:grid;place-items:center;font-family:var(--md-font-mono);font-size:12px;font-weight:500;color:var(--md-cream)}
.flow-row .d1{background:var(--md-muted)}.flow-row .d2{background:var(--md-forest)}.flow-row .d3{background:var(--md-forest-line)}.flow-row .d4{background:var(--md-moss)}
.flow-row small{display:block;font-weight:400;color:var(--md-muted);font-size:12.5px}
.flow-row .tag{margin-left:auto;font-family:var(--md-font-mono);font-size:11px;font-weight:500;padding:3px 8px;border-radius:var(--md-radius-chip);background:var(--md-sage-tint);color:var(--md-forest)}
.flow-row .tag-after{background:var(--md-lime)}
.hc-foot{margin-top:18px;display:flex;justify-content:space-between;font-family:var(--md-font-mono);font-size:11px;color:var(--md-muted)}
.float{position:absolute;background:var(--md-white);color:var(--md-forest);border:1px solid var(--md-line);border-radius:var(--md-radius-card);box-shadow:var(--shadow);padding:10px 14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px;line-height:1.35}
.float i{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--md-forest);color:var(--md-lime)}
.float i svg{width:15px;height:15px}
.float small{display:block;font-weight:400;color:var(--md-muted);font-size:11.5px}
.float.f1{top:-18px;right:-14px}
.float.f2{bottom:-22px;left:-30px}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}.hero{padding-top:calc(var(--head-h) + 40px)}.float.f2{left:-8px}.float.f1{right:-6px}}
@media (max-width:520px){.facts{grid-template-columns:1fr 1fr;gap:22px 18px}.facts b{font-size:20px}.float{display:none}}

/* ---------- Problems: cream, white cards ---------- */
.problems{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.problem{border:1px solid var(--md-line);border-radius:var(--md-radius-card);padding:30px;background:var(--md-white);position:relative;overflow:hidden}
.problem::before{content:"“";position:absolute;top:-6px;right:20px;font-family:var(--md-font-heading);font-size:110px;color:var(--md-lime-tint);line-height:1}
.problem q{position:relative;display:block;font-family:var(--md-font-heading);font-weight:500;font-size:19px;line-height:1.4;color:var(--md-forest);margin-bottom:18px;quotes:none}
.problem .fix{display:flex;gap:10px;color:var(--md-graphite);font-size:15px;line-height:1.6;padding-top:16px;border-top:1px dashed var(--md-line)}
.problem .fix b{flex:none;font-family:var(--md-font-mono);font-size:11px;font-weight:500;color:var(--md-lime);background:var(--md-forest);border-radius:var(--md-radius-chip);padding:2px 7px;height:fit-content;margin-top:3px}
@media (max-width:880px){.problems{grid-template-columns:1fr}}

/* ---------- Services: sage tint, white cards ---------- */
.services-bg{background:var(--md-sage-tint)}
/* moss on sage tint is 4.47:1 (below AA); labels on sage-tint sections use forest */
.services-bg .eyebrow,.contact-bg .eyebrow{color:var(--md-forest)}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc{background:var(--md-white);border-radius:var(--md-radius-card);padding:30px;border:1px solid var(--md-line);display:flex;flex-direction:column;transition:transform var(--md-motion-base) var(--md-motion-ease),border-color var(--md-motion-base),box-shadow var(--md-motion-base)}
.svc:hover{transform:translateY(-3px);border-color:var(--md-sage);box-shadow:var(--shadow)}
.svc .num{font-family:var(--md-font-mono);font-weight:500;font-size:13px;color:var(--md-lime);background:var(--md-forest);width:38px;height:38px;border-radius:var(--md-radius-control);display:grid;place-items:center;margin-bottom:22px}
.svc h3{font-size:21px;margin-bottom:10px;letter-spacing:-.01em}
.svc p{color:var(--md-graphite);font-size:15px;line-height:1.65;margin-bottom:20px}
.svc ul{list-style:none;margin-top:auto;display:flex;flex-wrap:wrap;gap:6px}
.svc li{font-family:var(--md-font-mono);font-size:11.5px;font-weight:500;color:var(--md-forest);background:var(--md-sage-tint);border-radius:var(--md-radius-chip);padding:3px 9px}
@media (max-width:980px){.services{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.services{grid-template-columns:1fr}}

/* ---------- Solutions: cream, tabs, forest right panel ---------- */
.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 6px;margin-bottom:26px}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:none;font-family:var(--md-font-body);font-size:14px;font-weight:600;border:1.5px solid var(--md-line);background:var(--md-white);color:var(--md-graphite);border-radius:var(--md-radius-control);padding:11px 18px;min-height:44px;cursor:pointer;transition:border-color var(--md-motion-fast),background var(--md-motion-fast),color var(--md-motion-fast)}
.tab:hover{border-color:var(--md-forest)}
.tab[aria-selected="true"]{background:var(--md-forest);border-color:var(--md-forest);color:var(--md-lime)}
.panel{display:grid;grid-template-columns:1fr 1.05fr;border:1px solid var(--md-line);border-radius:var(--md-radius-panel);overflow:hidden;background:var(--md-white)}
.panel[hidden]{display:none}
.panel-left{padding:44px;display:flex;flex-direction:column}
.panel-left .who{font-family:var(--md-font-mono);font-size:12.5px;font-weight:500;color:var(--md-moss);margin-bottom:12px}
.panel-left h3{font-size:clamp(24px,2.6vw,30px);margin-bottom:14px}
.panel-left p{color:var(--md-graphite);margin-bottom:22px}
.panel-left .pain{background:var(--md-cream-soft);border:1px solid var(--md-line);border-radius:var(--md-radius-control);padding:16px 18px;font-size:15px;color:var(--md-graphite);margin-bottom:26px}
.panel-left .pain b{font-family:var(--md-font-mono);font-size:11.5px;font-weight:500;color:var(--md-muted);display:block;margin-bottom:4px;text-transform:lowercase}
.panel-left .pain b::before{content:"// "}
.panel-left .btn{margin-top:auto;align-self:flex-start}
.panel-right{background:var(--md-forest);color:var(--md-cream);padding:44px;position:relative}
.panel-right h4{font-family:var(--md-font-mono);font-size:12.5px;font-weight:500;color:var(--md-lime);text-transform:lowercase;letter-spacing:0;margin-bottom:20px}
.panel-right h4::before{content:"// "}
.build{list-style:none;display:grid;gap:12px}
.build li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;background:var(--md-forest-raised);border:1px solid var(--md-forest-line);border-radius:var(--md-radius-card);padding:14px 16px}
.build li i{width:36px;height:36px;border-radius:var(--md-radius-control);background:var(--md-lime);display:grid;place-items:center}
.build li i svg{width:18px;height:18px;color:var(--md-forest)}
.build li b{font-family:var(--md-font-heading);font-weight:700;font-size:16px;color:var(--md-cream);display:block;margin-bottom:2px}
.build li span{font-size:14px;color:var(--md-on-dark-secondary);line-height:1.55}
.panel-right .ai{margin-top:18px;display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--md-on-dark-secondary)}
.panel-right .ai em{flex:none;font-style:normal;font-family:var(--md-font-mono);font-weight:500;font-size:11px;color:var(--md-forest);background:var(--md-lime);border-radius:var(--md-radius-chip);padding:3px 8px}
@media (max-width:900px){.panel{grid-template-columns:1fr}.panel-left,.panel-right{padding:30px 24px}}
.included{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.included div{display:flex;gap:12px;align-items:center;border:1px solid var(--md-line);border-radius:var(--md-radius-card);padding:14px 16px;font-size:14px;font-weight:600;color:var(--md-forest);background:var(--md-white);line-height:1.4}
.included svg{flex:none;width:20px;height:20px;color:var(--md-moss)}
@media (max-width:900px){.included{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.included{grid-template-columns:1fr}}

/* ---------- Process: forest, lime step numbers ---------- */
.process-bg{background:var(--md-forest);color:var(--md-cream)}
.process-bg h2{color:var(--md-cream)}
.process-bg .eyebrow{color:var(--md-lime)}
.process-bg .section-head p{color:var(--md-on-dark-secondary)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.step{border:1px solid var(--md-forest-line);border-radius:var(--md-radius-card);padding:28px 26px;background:var(--md-forest-raised)}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--md-font-mono);font-weight:500;font-size:40px;color:var(--md-lime);display:block;margin-bottom:14px;line-height:1}
.step h3{color:var(--md-cream);font-size:19px;margin-bottom:8px;letter-spacing:-.01em}
.step p{font-size:15px;color:var(--md-on-dark-secondary);line-height:1.6;margin-bottom:18px}
.step .pay{font-family:var(--md-font-mono);font-size:11.5px;font-weight:500;color:var(--md-cream);background:var(--md-forest-line);border-radius:var(--md-radius-chip);padding:3px 9px;display:inline-block}
@media (max-width:980px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* ---------- Why: cream, white about card ---------- */
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.about-card{background:var(--md-white);border:1px solid var(--md-line);border-radius:var(--md-radius-panel);padding:36px;position:sticky;top:110px}
.avatar{width:72px;height:72px;border-radius:var(--md-radius-card);background:var(--md-forest);display:grid;place-items:center;color:var(--md-lime);font-family:var(--md-font-mono);font-weight:500;font-size:22px;margin-bottom:18px}
.about-card h3{font-size:25px}
.about-card .role{font-family:var(--md-font-mono);font-size:12.5px;color:var(--md-moss);margin:4px 0 16px;line-height:1.5}
.about-card p{color:var(--md-graphite);font-size:15.5px;margin-bottom:20px}
.socials{display:flex;gap:8px;flex-wrap:wrap}
.socials a{font-size:13.5px;font-weight:600;color:var(--md-forest);background:var(--md-cream);border:1px solid var(--md-line);border-radius:var(--md-radius-control);padding:9px 14px;transition:border-color var(--md-motion-fast),background var(--md-motion-fast)}
.socials a:hover{border-color:var(--md-forest);background:var(--md-white)}
.reasons{display:grid}
.reason{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--md-line)}
.reason:last-child{border-bottom:0}
.reason .ic{width:46px;height:46px;border-radius:var(--md-radius-control);background:var(--md-forest);color:var(--md-lime);display:grid;place-items:center}
.reason .ic svg{width:22px;height:22px}
.reason h4{font-size:18px;margin-bottom:4px;letter-spacing:-.01em}
.reason p{color:var(--md-graphite);font-size:15.5px}
@media (max-width:920px){.why-grid{grid-template-columns:1fr}.about-card{position:static}}

/* ---------- Insights: cream, white cards ---------- */
.posts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.post{border:1px solid var(--md-line);border-radius:var(--md-radius-card);padding:24px;display:flex;flex-direction:column;gap:14px;background:var(--md-white);transition:border-color var(--md-motion-base),transform var(--md-motion-base) var(--md-motion-ease)}
.post:hover{border-color:var(--md-forest);transform:translateY(-3px)}
.post h4{font-size:17px;line-height:1.3;letter-spacing:-.01em}
.post .read{margin-top:auto;font-size:13.5px;font-weight:600;color:var(--md-moss)}
.posts-more{margin-top:30px;text-align:center}
.posts-more a{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--md-forest);box-shadow:inset 0 -2px 0 var(--md-lime);padding-bottom:3px;transition:gap var(--md-motion-fast)}
.posts-more a:hover{gap:12px}
@media (max-width:980px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.posts{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px}
.faq details{border-bottom:1px solid var(--md-line);padding:22px 0}
.faq details:first-child{padding-top:0}
.faq summary{cursor:pointer;list-style:none;font-family:var(--md-font-heading);font-size:18px;font-weight:700;color:var(--md-forest);letter-spacing:-.01em;display:flex;justify-content:space-between;align-items:center;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:var(--md-radius-control);border:1.5px solid var(--md-line);display:grid;place-items:center;font-family:var(--md-font-body);font-size:20px;font-weight:400;line-height:1;color:var(--md-forest);transition:transform var(--md-motion-base),background var(--md-motion-base)}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--md-lime-tint);border-color:var(--md-sage)}
.faq details p{margin-top:12px;color:var(--md-graphite)}
.faq-grid .section-head a.accent{background:none;color:var(--md-moss);font-weight:600;box-shadow:inset 0 -1.5px 0 currentColor}
@media (max-width:880px){.faq-grid{grid-template-columns:1fr;gap:0}}

/* ---------- Contact: sage tint, white form ---------- */
.contact-bg{background:var(--md-sage-tint)}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:start}
.contact h2{font-size:clamp(34px,4.4vw,52px);line-height:1.06;letter-spacing:-.03em;margin:12px 0 18px}
.contact .left p{color:var(--md-graphite);margin-bottom:26px}
.direct{display:grid;gap:12px}
.direct a{display:flex;align-items:center;gap:14px;background:var(--md-white);border:1px solid var(--md-line);border-radius:var(--md-radius-card);padding:14px 18px;font-weight:600;font-size:15px;color:var(--md-forest);transition:border-color var(--md-motion-fast)}
.direct a small{display:block;font-weight:400;color:var(--md-muted);font-size:12.5px}
.direct a:hover{border-color:var(--md-forest)}
.direct .ci{width:42px;height:42px;border-radius:var(--md-radius-control);background:var(--md-forest);color:var(--md-lime);display:grid;place-items:center;flex:none}
.direct .ci svg{width:18px;height:18px}
#enquiry{background:var(--md-white);border:1px solid var(--md-line);border-radius:var(--md-radius-panel);padding:34px;box-shadow:var(--shadow);display:grid;gap:18px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:6px;font-size:13.5px;font-weight:600;color:var(--md-forest)}
input,select,textarea{font:inherit;font-family:var(--md-font-body);font-size:16px;font-weight:400;border:1.5px solid var(--md-line);border-radius:var(--md-radius-control);padding:12px 14px;background:var(--md-cream);color:var(--md-graphite);width:100%;transition:border-color var(--md-motion-fast),background var(--md-motion-fast),box-shadow var(--md-motion-fast)}
input::placeholder,textarea::placeholder{color:var(--md-muted)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--md-forest);background:var(--md-white);box-shadow:0 0 0 3px rgba(198,243,107,.6)}
textarea{min-height:120px;resize:vertical}
.group-label{font-size:13.5px;font-weight:600;color:var(--md-forest);margin-bottom:8px;display:block}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;pointer-events:none;width:1px}
.chips label{font-weight:500;cursor:pointer;border:1.5px solid var(--md-line);background:var(--md-white);color:var(--md-graphite);border-radius:var(--md-radius-control);padding:9px 14px;font-size:13.5px;min-height:40px;align-content:center;transition:border-color var(--md-motion-fast),background var(--md-motion-fast),color var(--md-motion-fast)}
.chips label:hover{border-color:var(--md-forest)}
.chips input:checked + label{background:var(--md-forest);color:var(--md-lime);border-color:var(--md-forest)}
.chips input:focus-visible + label{box-shadow:0 0 0 3px rgba(198,243,107,.6)}
.form-note{font-size:13px;color:var(--md-muted);text-align:center}
/* Form feedback (CF7 REST response) */
.form-status{font-size:14px;font-weight:500;border-radius:var(--md-radius-control);padding:12px 16px}
.form-status.ok{background:var(--md-lime-tint);color:var(--md-forest);border:1px solid #CFE9A0}
.form-status.error{background:#FDECEA;color:var(--md-error);border:1px solid #F4C7C3}
.field-error{font-size:12.5px;font-weight:500;color:var(--md-error)}
#enquiry label{align-content:start} /* an error under one field must not stretch its row neighbour */
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--md-error);background:var(--md-white)}
@media (max-width:920px){.contact{grid-template-columns:1fr}}
@media (max-width:560px){.row2{grid-template-columns:1fr}#enquiry{padding:22px}}

/* ---------- Site footer: forest deep ---------- */
.site-foot{background:var(--md-forest-deep);color:var(--md-on-dark-secondary);padding:96px 0 56px}
.site-foot-grid{max-width:var(--md-content-width);margin:0 auto;padding:0 var(--md-gutter);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px}
.sf-logo{display:inline-block;line-height:0;margin-bottom:22px}
.sf-logo img{display:block;width:180px;height:auto}
.sf-title{font-family:var(--md-font-mono);font-size:13px;font-weight:500;color:var(--md-lime);text-transform:lowercase;letter-spacing:0;margin-bottom:24px}
.sf-title::before{content:"// "}
.sf-text p{color:var(--md-on-dark-secondary);font-size:15px;line-height:1.7;margin-bottom:14px}
.sf-text strong{color:var(--md-cream);font-weight:600}
.site-foot a{color:var(--md-cream);transition:color var(--md-motion-fast)}
.site-foot a:hover{color:var(--md-lime)}
.sf-post{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--md-forest-raised)}
.sf-post:last-child{border-bottom:0;margin-bottom:0}
.sf-thumb img{display:block;width:64px;height:64px;object-fit:cover;border-radius:var(--md-radius-control)}
.sf-post h5{font-family:var(--md-font-body);font-size:14px;font-weight:600;line-height:1.45;color:var(--md-cream);letter-spacing:0;margin:0 0 5px}
.sf-post time{font-family:var(--md-font-mono);font-size:11.5px;color:var(--md-sage)}
.sf-tags{display:flex;flex-wrap:wrap;gap:8px}
.sf-tags a{font-family:var(--md-font-mono);font-size:12px;line-height:1.4;background:var(--md-forest-raised);border:1px solid var(--md-forest-line);border-radius:var(--md-radius-chip);padding:5px 10px}
.sf-tags a:hover{background:var(--md-lime);border-color:var(--md-lime);color:var(--md-forest)}
.sf-social a{display:flex;align-items:center;gap:14px;font-size:14.5px;font-weight:600;margin-bottom:14px}
.sf-social .ic{flex:none;width:42px;height:42px;border-radius:var(--md-radius-control);background:var(--md-forest-raised);border:1px solid var(--md-forest-line);color:var(--md-lime);display:grid;place-items:center}
.sf-social .ic svg{width:18px;height:18px}
@media (max-width:980px){.site-foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.site-foot{padding:72px 0 40px}.site-foot-grid{grid-template-columns:1fr;gap:44px}}

/* ---------- Mobile sticky CTA ---------- */
.mcta{display:none}
@media (max-width:640px){
  section{padding:var(--md-space-section-mobile) 0}
  .hero{padding-bottom:76px}
  .mcta{display:flex;position:fixed;left:14px;right:14px;bottom:14px;z-index:60}
  .mcta .btn{width:100%;justify-content:center;box-shadow:0 0 0 1px rgba(198,243,107,.35),0 12px 30px rgba(8,42,32,.35)}
  .site-foot{padding-bottom:110px}
}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--md-motion-ease),transform .6s var(--md-motion-ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.status i{animation:none}}
