/*
Theme Name: Cat Omens
Description: Independent native WordPress theme for the Cat Omens universe.
Version: 0.1.0-rc.1
Text Domain: cat-omens
*/
:root { --cat-night:#101923; --cat-ivory:#f3ecdf; --cat-gold:#d8b36d; }
* { box-sizing:border-box; }
body { margin:0; background:var(--cat-night); color:var(--cat-ivory); font:1rem/1.7 system-ui,sans-serif; }
img { max-width:100%; height:auto; }
a { color:inherit; text-underline-offset:.2em; }
button,input { font:inherit; }
button { cursor:pointer; border:1px solid currentColor; border-radius:.25rem; }
h1,h2,h3 { text-wrap:balance; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.screen-reader-text:focus { position:fixed; inset:1rem auto auto 1rem; width:auto; height:auto; clip-path:none; z-index:1000; background:var(--cat-ivory); color:var(--cat-night); padding:1rem; }
.cat-document { max-width:48rem; margin:4rem auto; overflow-wrap:anywhere; }
.cat-document h1 { font:clamp(2.5rem,5vw,4rem)/1.1 Georgia,serif; }
.cat-nav nav,.cat-languages { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; }
.cat-languages a { min-width:2.75rem; text-align:center; }
.cat-languages a[aria-current=page] { color:var(--cat-gold); text-decoration:underline; }
.cat-shell { max-width:76rem; margin:auto; padding:1.5rem clamp(1rem,5vw,4rem); }
.cat-nav,.cat-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem; }
.cat-nav a,.cat-footer a { color:var(--cat-ivory); padding:.7rem 0; }
.cat-brand { font:1.4rem Georgia,serif; letter-spacing:.12em; text-decoration:none; }
.cat-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:4rem; align-items:center; padding:clamp(3rem,8vw,7rem) 0; }
.cat-hero h1 { color:var(--cat-ivory); font:clamp(2.8rem,6vw,5.8rem)/1.05 Georgia,serif; letter-spacing:-.04em; }
.cat-hero p { line-height:1.8; max-width:36rem; }
.cat-eyebrow { text-transform:uppercase; letter-spacing:.17em; color:var(--cat-gold); font-size:.75rem; }
.cat-hero img { width:100%; height:auto; }
.cat-signup { padding:clamp(1.5rem,5vw,4rem); background:var(--cat-ivory); color:var(--cat-night); border-radius:.75rem; }
.cat-signup h2 { color:var(--cat-night); font:2.4rem/1.15 Georgia,serif; }
.cat-signup a { color:#4f381c; text-decoration:underline; }
.cat-waitlist { max-width:36rem; }
.cat-waitlist input[type=email] { width:100%; background:#fffaf2; color:var(--cat-night); border:1px solid #776e61; min-height:48px; }
.cat-waitlist-consent { display:flex; gap:.75rem; align-items:flex-start; margin:1rem 0; line-height:1.6; }
.cat-waitlist input[type=checkbox] { min-width:1.25rem; min-height:1.25rem; margin-top:.3rem; }
.cat-waitlist button { background:var(--cat-night); color:var(--cat-ivory); padding:1rem 1.5rem; }
.cat-waitlist-honey { position:absolute; left:-10000px; }
.cat-footer { border-top:1px solid #d8b36d44; margin-top:4rem; padding-top:2rem; font-size:.85rem; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:3px solid #bb872d; outline-offset:4px; }
@media(max-width:48rem) { .cat-hero { grid-template-columns:1fr; gap:1rem; } .cat-hero img { max-width:20rem; margin:auto; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
