/* Chibi — site styles.
   Layout and colours live in the inline style attributes in index.html.
   This file holds the page resets, keyframes, media queries and
   the :hover / :focus states. Colours used throughout:
   #0c1a22 deep ink · #fbf9f6 paper · #f4f0ea banded sections
   #2f7f86 accent · #a8ced0 pale sea */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fbf9f6;color:#12212b;font-family:"DM Sans",Helvetica,Arial,sans-serif;font-weight:400;overflow-x:hidden;text-wrap:pretty;-webkit-font-smoothing:antialiased}
a{color:#12212b;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#2f7f86}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0}
:focus-visible{outline:2px solid #2f7f86;outline-offset:3px;border-radius:2px}
input,textarea,button{font:inherit;color:inherit}
summary::-webkit-details-marker{display:none}
details[open] .plus{transform:rotate(45deg)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}

/* hover + focus states */
.nav-cta:hover{background:#ffffff;color:#0c1a22}
.hero-cta:hover{transform:translateY(-2px);background:#ffffff;color:#0c1a22}
.link-light:hover{color:#ffffff}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -28px rgba(12,26,34,.35)}
.field:focus{border-color:#2f7f86;outline:none}
.btn-send:hover:not(:disabled){transform:translateY(-2px);background:#17303c}
.btn-send:disabled{opacity:.6;cursor:default;transform:none}

@media (max-width:760px){ [data-hide-sm]{display:none !important} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} .rise{animation:none} .hero-cta:hover,.card:hover,.btn-send:hover:not(:disabled){transform:none} }
