/* ReadyHome72 — "Sorted, not survivalist."
   Layout: a night-street hero band, then calm sea-fog pages on a 12-col measure;
   the lit window (amber square) is the only recurring flourish. */
:root{
  --canvas:#E7EBE8;      /* sea fog */
  --panel:#F5F6F2;
  --ink:#16203A;         /* slate navy */
  --ink-2:#4A5466;
  --line:#C9D1CD;
  --night:#131C2E;
  --night-2:#1F2C44;
  --on-night:#E9EDF3;
  --on-night-2:#A9B4C6;
  --torch:#F2A33A;       /* torchlight amber, the one accent */
  --torch-ink:#9A560C;   /* amber readable on light */
  --on-torch:#16203A;
  --ok:#3E7656;
  --ok-soft:#DCE8DF;
  --focus:#2F6FDB;
  /* scene */
  --sky-top:#0D1524; --sky-low:#26344E; --far:#1A2438; --roof:#232B3B; --roof-line:#2C3547;
  --brick-a:#3A3134; --brick-b:#342D33; --course:rgba(255,255,255,.035); --chimney:#2F282C; --pot:#4A3A33;
  --sill:#4C4F57; --stone:#5B5E66; --glass:#0F1828; --glint:rgba(255,255,255,.06);
  --door-a:#21364F; --door-b:#3B2430; --door-c:#22372E; --knob:#B89A5A;
  --pave:#2B3242; --road:#1A2130; --lamp:#2C3445; --rain:#9FB2CC;

  --display:"Libre Caslon Display","Libre Caslon Text",Georgia,"Times New Roman",serif;
  --serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --sans:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --r:12px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --canvas:#0F151E; --panel:#17202C; --ink:#E6EAEE; --ink-2:#A2ADBB; --line:#2A3443;
  --night:#0A1019; --night-2:#152033; --torch-ink:#F2B45E; --ok:#74B790; --ok-soft:#1C3027; --focus:#7AA7FF;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --canvas:#0F151E; --panel:#17202C; --ink:#E6EAEE; --ink-2:#A2ADBB; --line:#2A3443;
  --night:#0A1019; --night-2:#152033; --torch-ink:#F2B45E; --ok:#74B790; --ok-soft:#1C3027; --focus:#7AA7FF;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--panel)}
/* ambient layer: faint paper grain, fixed */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:70;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
img,svg{max-width:100%}
[hidden]{display:none!important}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.label{font:500 .74rem/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.muted{color:var(--ink-2)}
.skip{position:absolute;left:-999px;top:8px;background:var(--panel);padding:8px 12px;z-index:99}
.skip:focus{left:12px}

/* disclosure */
.disclosure{background:var(--night);color:var(--on-night-2);font-size:.82rem;text-align:center}
.disclosure .wrap{padding-block:7px}
.disclosure b{color:var(--on-night);font-weight:700}
.disclosure a{color:var(--torch)}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-head nav{display:flex;align-items:center;gap:24px;height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.brand .mark{width:34px;height:34px}
.brand b{font:400 1.45rem/1 var(--display);letter-spacing:-.01em}
.brand b span{color:var(--torch-ink)}
.nav-links{display:flex;gap:22px;font-size:.95rem}
.nav-links a{text-decoration:none;color:var(--ink-2);padding-block:6px}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--ink);font:500 .8rem var(--mono);letter-spacing:.06em;cursor:pointer}
@media (max-width:900px){
  .nav-links{display:none}
  .nav-links.open{display:flex;flex-direction:column;gap:4px;position:absolute;top:66px;left:0;right:0;background:var(--panel);border-bottom:1px solid var(--line);padding:12px max(20px,env(safe-area-inset-right,0px)) 18px max(20px,env(safe-area-inset-left,0px))}
  .nav-links.open a{padding:10px 0;font-size:1.05rem}
  .menu-btn{display:block}
  .site-head .btn{display:none}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:999px;border:0;cursor:pointer;
  background:var(--torch);color:var(--on-torch);font:700 1rem/1.2 var(--sans);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px -10px rgba(242,163,58,.9)}
.btn.sm{min-height:40px;padding:8px 16px;font-size:.92rem}
.btn.line{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn.line:hover{box-shadow:inset 0 0 0 1.5px currentColor,0 8px 22px -14px currentColor}
.ext::after{content:"↗";font-weight:400}

/* the lit-window marker */
.win{display:inline-block;width:.62em;height:.62em;background:var(--torch);box-shadow:0 0 0 2px color-mix(in srgb,var(--torch) 25%,transparent),0 0 14px 2px color-mix(in srgb,var(--torch) 45%,transparent);vertical-align:.06em;margin-right:.5em}

/* sections */
.sec{padding-block:96px}
.sec.tight{padding-block:64px}
.sec-head{display:grid;gap:14px;max-width:720px}
.sec-head .label{color:var(--torch-ink)}
h2{font:400 clamp(2rem,4.6vw,3.25rem)/1.05 var(--display);letter-spacing:-.015em}
h2 em{font-family:var(--serif);font-style:italic}
.lede{font-size:1.1rem;color:var(--ink-2);max-width:62ch}
.roofline{display:block;width:180px;height:24px;margin-top:6px}
.roofline path{fill:none;stroke:var(--torch);stroke-width:2.2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.js-motion .roofline path{stroke-dashoffset:1;transition:stroke-dashoffset 1.4s cubic-bezier(.6,.1,.2,1)}
.js-motion .in .roofline path,.js-motion .roofline.in path{stroke-dashoffset:0}

/* reveal: elements are visible at rest; JS only animates ones below the fold */
.js-motion .rv.pre{opacity:0;transform:translateY(18px)}
.js-motion .rv{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}

.note{font-size:.9rem;color:var(--ink-2);border-left:3px solid var(--torch);padding-left:14px;max-width:78ch}

/* footer */
.site-foot{border-top:1px solid var(--line);background:var(--panel);font-size:.92rem;color:var(--ink-2)}
.site-foot .wrap{padding-block:56px 40px}
.foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
.foot-cols h4{font:500 .74rem var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink);margin:0 0 12px}
.foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot-cols a{text-decoration:none}
.foot-cols a:hover{color:var(--ink);text-decoration:underline}
.legal{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);font-size:.84rem;max-width:90ch}
@media (max-width:760px){.foot-cols{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
