/* Curlew. Base rules from the design handoff; every other value is inline on the page. */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#ffffff;color:#111111;font:500 17px/1.6 'Onest',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{opacity:.75}
input,button,textarea,select{font:inherit;color:inherit}
h1,h2,h3{text-wrap:balance}
p,blockquote{text-wrap:pretty}
img,video{max-width:100%}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Current page in the shared nav */
body[data-page="how-it-works"] a[data-nav="how-it-works"],
body[data-page="pricing"] a[data-nav="pricing"],
body[data-page="about"] a[data-nav="about"],
body[data-page="blog"] a[data-nav="blog"],
body[data-page="contact"] a[data-nav="contact"]{text-decoration:underline;text-underline-offset:6px;text-decoration-color:rgba(0,0,0,.4)}

/* Accessibility */
.skip{position:absolute;left:-9999px;top:0;z-index:10;padding:12px 18px;background:#4DE8FF;color:#111111;border-radius:999px;font-weight:700}
.skip:focus{left:16px;top:16px}
:focus-visible{outline:2px solid #4DE8FF;outline-offset:2px}
input::placeholder,textarea::placeholder{color:currentColor;opacity:.55}

/* Honeypot */
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* Forms */
form[data-lead] input:focus{border-color:#111111!important}
.enquiry input:focus,.enquiry textarea:focus,.enquiry select:focus{border-bottom-color:#111111!important}
.enquiry [aria-invalid="true"]{border-bottom-color:#111111!important;border-bottom-width:2px!important}
.field-error{font-size:13px;font-weight:500;color:#111111}
.field-error:empty{display:none}
.form-status{margin:0;font-size:14px;font-weight:500}
.form-status:empty{display:none}
button[disabled]{opacity:.6;cursor:progress}

/* Guide: contents rail stacks above the article on narrow screens */
@media (max-width:900px){
  .guide-grid{grid-template-columns:minmax(0,1fr)!important;gap:48px!important}
  .guide-rail{position:static!important}
}

/* Gutters: 56px on desktop, 24px on phones */
@media (max-width:600px){
  .g{padding-left:24px!important;padding-right:24px!important}
  .card{padding-left:24px!important;padding-right:24px!important}
}
