@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Figtree:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap");
:root {
--font-display: "Outfit", "Magno Sans", "Trebuchet MS", sans-serif; --font-body: "Figtree", "Euclid Circular B", "Segoe UI", sans-serif; --font-mono: ui-monospace, "SF Mono", Menlo, monospace;
}
:root { --cw-orange: #ff6428;
--cw-blue: #0065b7;
--cw-green: #2bb44f;
--cw-lime: #b1d456;
--cw-magenta: #b7369c;  --cw-orange-deep: #8f2c08;
--cw-green-deep: #14702f;
--cw-lime-deep: #4e6612;
--cw-magenta-deep: #7a1f68;
--cw-blue-deep: #004b8a; --cw-mint: #def4ee;
--cw-peach: #ffdbc7;
--cw-lime-pale: #cfe497;
--cw-sky: #dce9f8;
--cw-lilac: #f3dcef; --cw-ink: #2c2e35;
--cw-ink-soft: #4a4c55;
--cw-grey: #8a8b8f; --cw-grey-light: #a5a6a9; --cw-quiet: #5c5d62; --cw-line: #e4e4e6;
--cw-paper: #ffffff;
--cw-paper-warm: #fbf8f4; --text-strong: var(--cw-ink);
--text-body: var(--cw-ink-soft);
--text-muted: var(--cw-quiet);
--text-inverse: var(--cw-paper);
--text-link: var(--cw-blue);
--text-link-hover: var(--cw-orange-deep);
--surface-page: var(--cw-paper);
--surface-page-alt: var(--cw-paper-warm);
--surface-card: var(--cw-paper);
--surface-ink: var(--cw-ink);
--surface-mint: var(--cw-mint);
--surface-peach: var(--cw-peach);
--surface-sky: var(--cw-sky);
--surface-lilac: var(--cw-lilac);
--border-subtle: var(--cw-line);
--border-strong: var(--cw-ink);
--action-primary: var(--cw-orange);
--action-primary-hover: #ff7f4d; --action-primary-press: var(--cw-orange); --action-primary-on: var(--cw-ink);
--action-secondary: var(--cw-blue);
--action-secondary-hover: var(--cw-blue-deep);
--focus-ring: var(--cw-blue);
--state-success: var(--cw-green-deep);
--state-info: var(--cw-blue);
--state-warning: var(--cw-orange-deep);
--state-danger: #c8281a; --strand-children: var(--cw-magenta);
--strand-children-ink: var(--cw-magenta-deep);
--strand-children-on: var(--cw-paper);
--strand-children-tint: var(--cw-lilac);
--strand-wellbeing: var(--cw-green);
--strand-wellbeing-ink: var(--cw-green-deep);
--strand-wellbeing-on: var(--cw-ink);
--strand-wellbeing-tint: var(--cw-mint);
--strand-older: var(--cw-orange);
--strand-older-ink: var(--cw-orange-deep);
--strand-older-on: var(--cw-ink);
--strand-older-tint: var(--cw-peach);
--strand-skills: var(--cw-blue);
--strand-skills-ink: var(--cw-blue-deep);
--strand-skills-on: var(--cw-paper);
--strand-skills-tint: var(--cw-sky);
--strand-nursery: var(--cw-lime);
--strand-nursery-ink: var(--cw-lime-deep);
--strand-nursery-on: var(--cw-ink);
--strand-nursery-tint: var(--cw-lime-pale); --strand: var(--cw-blue);
--strand-ink: var(--cw-blue-deep);
--strand-on: var(--cw-paper);
--strand-tint: var(--cw-sky);
}
:root {
--weight-regular: 400;
--weight-medium: 500;
--weight-semibold: 600;
--weight-bold: 700;
--weight-black: 800;
--size-hero: 4rem; --size-display: 3rem; --size-h2: 2rem; --size-h3: 1.5rem; --size-h4: 1.25rem; --size-lead: 1.25rem; --size-body: 1.0625rem; --size-small: 0.9375rem; --size-label: 0.8125rem; --leading-tight: 1.04;
--leading-snug: 1.15;
--leading-normal: 1.35;
--leading-body: 1.6;
--tracking-hero: -0.02em;
--tracking-display: -0.015em;
--tracking-normal: 0;
--tracking-label: 0.08em;
--measure-narrow: 34ch;
--measure-body: 62ch; --type-hero: var(--weight-black) var(--size-hero) / var(--leading-tight) var(--font-display);
--type-display: var(--weight-bold) var(--size-display) / var(--leading-tight) var(--font-display);
--type-h2: var(--weight-bold) var(--size-h2) / var(--leading-snug) var(--font-display);
--type-h3: var(--weight-semibold) var(--size-h3) / var(--leading-snug) var(--font-display);
--type-h4: var(--weight-semibold) var(--size-h4) / var(--leading-normal) var(--font-display);
--type-lead: var(--weight-regular) var(--size-lead) / var(--leading-normal) var(--font-body);
--type-body: var(--weight-regular) var(--size-body) / var(--leading-body) var(--font-body);
--type-small: var(--weight-regular) var(--size-small) / var(--leading-normal) var(--font-body);
--type-label: var(--weight-bold) var(--size-label) / 1 var(--font-body);
}
:root {
--space-0: 0;
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-5: 20px;
--space-6: 24px;
--space-8: 32px;
--space-10: 40px;
--space-12: 48px;
--space-16: 64px;
--space-20: 80px;
--space-24: 96px;
--gap-inline: var(--space-3);
--gap-stack: var(--space-4);
--gap-grid: var(--space-6);
--pad-card: var(--space-6);
--pad-card-lg: var(--space-8);
--band-y: var(--space-20);
--band-y-tight: var(--space-12);
--page-max: 1200px;
--page-gutter: var(--space-6);
--hit-min: 44px;
}
:root {
--radius-sm: 8px;
--radius-md: 14px;
--radius-lg: 24px;
--radius-xl: 32px;
--radius-pill: 999px;
--radius-circle: 50%; --radius-pebble: 68% 32% 56% 44% / 44% 34% 66% 56%; --radius-pebble-alt: 34% 66% 42% 58% / 58% 46% 54% 42%;
--border-hairline: 1px;
--border-regular: 2px;
--border-chunky: 3px;
--shadow-soft: 0 6px 20px -8px rgba(44, 46, 53, 0.18);
--shadow-lift: 0 14px 34px -12px rgba(44, 46, 53, 0.28);
--shadow-inset-line: inset 0 0 0 var(--border-regular) var(--border-subtle);
--shadow-focus: 0 0 0 3px rgba(0, 101, 183, 0.4);
}
:root {
--duration-fast: 120ms; --duration-base: 200ms; --duration-slow: 320ms; --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1); --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); --lift-hover: translateY(-2px); --press-scale: 0.98; }
@media (prefers-reduced-motion: reduce) {
:root { --duration-fast: 0ms; --duration-base: 0ms; --duration-slow: 0ms; --lift-hover: none; --press-scale: 1; }
}
body { margin: 0; font: var(--type-body); color: var(--text-body); background: var(--surface-page); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); color: var(--text-strong); margin: 0; letter-spacing: var(--tracking-display); }
p { margin: 0 0 var(--space-4); max-width: var(--measure-body); text-wrap: pretty; }
a { color: var(--text-link); text-decoration-thickness: 2px; text-underline-offset: 3px; transition: color var(--duration-fast) var(--ease-out); }
a:hover { color: var(--text-link-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
img { max-width: 100%; display: block; }
strong { font-weight: var(--weight-bold); color: var(--text-strong); }
.cw-icon{display:inline-block;flex:none;vertical-align:-0.15em;color:currentColor} .cw-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:var(--weight-bold) var(--size-body)/1 var(--font-body);letter-spacing:0;border-radius:var(--radius-pill);border:var(--border-regular) solid transparent;cursor:pointer;text-decoration:none;min-height:var(--hit-min);padding:0 var(--space-6);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}
.cw-btn:hover{transform:var(--lift-hover)}
.cw-btn:active{transform:scale(var(--press-scale))}
.cw-btn--sm{min-height:36px;padding:0 var(--space-4);font-size:var(--size-small)}
.cw-btn--lg{min-height:56px;padding:0 var(--space-8);font-size:var(--size-lead)}
.cw-btn--primary{background:var(--action-primary);color:var(--action-primary-on)}
.cw-btn--primary:hover{background:var(--action-primary-hover);color:var(--action-primary-on)}
.cw-btn--primary:active{background:var(--action-primary-press)}
.cw-btn--secondary{background:var(--surface-card);color:var(--text-strong);border-color:var(--border-strong)}
.cw-btn--secondary:hover{background:var(--cw-ink);color:var(--text-inverse)}
.cw-btn--strand{background:var(--strand);color:var(--strand-on)}
.cw-btn--strand:hover{background:var(--strand-ink);color:var(--cw-paper)}
.cw-btn--ghost{background:transparent;color:var(--strand-ink);padding-inline:var(--space-3)}
.cw-btn--ghost:hover{background:var(--strand-tint);color:var(--strand-ink)}
.cw-btn--full{width:100%}
.cw-btn[aria-disabled="true"],.cw-btn:disabled{background:var(--cw-line);color:var(--text-muted);border-color:transparent;pointer-events:none;transform:none} .cw-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:var(--hit-min);height:var(--hit-min);border-radius:var(--radius-pill);border:var(--border-regular) solid transparent;background:var(--strand);color:var(--strand-on);cursor:pointer;font-size:20px;transition:background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}
.cw-iconbtn:hover{background:var(--strand-ink);color:var(--cw-paper);transform:var(--lift-hover)}
.cw-iconbtn:active{transform:scale(var(--press-scale))}
.cw-iconbtn--outline{background:transparent;color:var(--text-strong);border-color:var(--border-subtle)}
.cw-iconbtn--outline:hover{background:var(--strand-tint);color:var(--strand-ink);border-color:var(--strand)}
.cw-iconbtn--sm{width:36px;height:36px;font-size:16px} .cw-pill{display:inline-flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;padding:7px var(--space-4);border:var(--border-regular) solid transparent;white-space:nowrap}
.cw-pill--strand{background:var(--strand);color:var(--strand-on)}
.cw-pill--tint{background:var(--strand-tint);color:var(--strand-ink)}
.cw-pill--outline{background:transparent;color:var(--text-strong);border-color:var(--border-subtle)}
.cw-pill--ink{background:var(--surface-ink);color:var(--text-inverse)}
.cw-pill--lg{font-size:var(--size-small);padding:9px var(--space-5);text-transform:none;letter-spacing:0} .cw-callout{border-radius:var(--radius-lg);padding:var(--pad-card);display:grid;gap:var(--space-2)}
.cw-callout--tint{background:var(--strand-tint);color:var(--strand-ink)}
.cw-callout--outline{background:var(--surface-card);border:var(--border-regular) solid var(--strand);color:var(--text-body)}
.cw-callout--solid{background:var(--strand);color:var(--strand-on)}
.cw-callout__head{display:flex;align-items:center;gap:var(--space-2);font:var(--type-h4);color:inherit}
.cw-callout__body{font:var(--type-body);color:inherit}
.cw-callout__body>p:last-child{margin-bottom:0} .cw-secthead{display:grid;justify-items:start;gap:var(--space-4);margin-bottom:var(--space-10)}
.cw-secthead__eyebrow{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--strand-ink)}
.cw-secthead__title{font:var(--type-h2);color:var(--text-strong);max-width:22ch}
.cw-secthead--display .cw-secthead__title{font:var(--type-display)}
.cw-secthead__lead{font:var(--type-lead);color:var(--text-body);max-width:var(--measure-body);margin:0}
.cw-secthead--center{justify-items:center;text-align:center}
.cw-secthead--center .cw-secthead__title,.cw-secthead--center .cw-secthead__lead{max-width:52ch}
.cw-secthead .cw-btn--ghost{margin-inline-start:calc(var(--space-3) * -1)}
.cw-secthead__rule{width:56px;height:var(--border-chunky);background:var(--strand);border-radius:var(--radius-pill)} .cw-photo{position:relative;display:block;overflow:hidden;background:var(--strand-tint)}
.cw-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cw-photo--rect{border-radius:var(--radius-lg)}
.cw-photo--tile{border-radius:var(--radius-md)}
.cw-photo--pebble{border-radius:var(--radius-pebble)}
.cw-photo--pebble-alt{border-radius:var(--radius-pebble-alt)}
.cw-photo--framed{box-shadow:0 0 0 var(--border-chunky) var(--strand)}
.cw-photo__caption{font:var(--type-small);color:var(--text-muted);margin-top:var(--space-2)} .cw-field{display:grid;gap:var(--space-2);max-width:420px}
.cw-field__label{font:var(--weight-semibold) var(--size-small)/1.3 var(--font-body);color:var(--text-strong)}
.cw-field__req{color:var(--cw-orange-deep)}
.cw-field__hint{font:var(--type-small);color:var(--text-muted)}
.cw-field__error{font:var(--weight-semibold) var(--size-small)/1.4 var(--font-body);color:var(--state-danger)}
.cw-input,.cw-select{width:100%;min-height:var(--hit-min);padding:0 var(--space-4);font:var(--type-body);color:var(--text-strong);background:var(--surface-card);border:var(--border-regular) solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out)}
.cw-input:hover,.cw-select:hover{border-color:var(--cw-grey-light)}
.cw-input:focus,.cw-select:focus{border-color:var(--focus-ring);outline:none;box-shadow:var(--shadow-focus)}
.cw-input::placeholder{color:var(--text-muted)}
.cw-input--error,.cw-select--error{border-color:var(--state-danger)}
.cw-input--area{min-height:120px;padding:var(--space-3) var(--space-4);line-height:var(--leading-body);resize:vertical}
.cw-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-strong) 50%),linear-gradient(135deg,var(--text-strong) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:var(--space-10)}
.cw-check{display:flex;gap:var(--space-3);align-items:flex-start;cursor:pointer;min-height:var(--hit-min);padding:var(--space-2) 0}
.cw-check input{appearance:none;width:24px;height:24px;flex:none;margin:2px 0 0;border:var(--border-regular) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-card);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}
.cw-check input[type="radio"]{border-radius:var(--radius-circle)}
.cw-check input:checked{background:var(--strand-ink);border-color:var(--strand-ink)}
.cw-check input:checked::after{content:"";display:block;width:100%;height:100%;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"/></svg>') center/15px no-repeat}
.cw-check input[type="radio"]:checked::after{-webkit-mask:none;mask:none;background:var(--text-inverse);border-radius:var(--radius-circle);transform:scale(.45)}
.cw-check__text{font:var(--type-body);color:var(--text-body)}
.cw-check__text b{display:block;color:var(--text-strong);font-weight:var(--weight-semibold)} .cw-card{display:flex;flex-direction:column;background:var(--surface-card);border:var(--border-regular) solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;transition:border-color var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}
a.cw-card:hover{border-color:var(--strand);transform:var(--lift-hover);box-shadow:var(--shadow-soft)}
.cw-card__media{position:relative;display:block;flex:none;aspect-ratio:16/10;overflow:hidden;background:var(--strand-tint)}
.cw-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cw-card__body{display:grid;gap:var(--space-3);padding:var(--pad-card);align-content:start;flex:1}
.cw-card__title{font:var(--type-h3);color:var(--text-strong)}
.cw-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font:var(--weight-semibold) var(--size-small)/1.3 var(--font-body);color:var(--strand-ink)}
.cw-card__meta span{display:inline-flex;align-items:center;gap:6px}
.cw-card__blurb{font:var(--type-small);color:var(--text-body);margin:0}
.cw-card__foot{display:flex;align-items:center;gap:var(--space-2);font:var(--weight-bold) var(--size-small)/1 var(--font-body);color:var(--strand-ink);margin-top:auto}
a.cw-card:hover .cw-card__foot .cw-icon{transform:translateX(3px)}
.cw-card__foot .cw-icon{transition:transform var(--duration-base) var(--ease-out)}
.cw-card--strandtop{border-top:6px solid var(--strand)}
.cw-card__date{font:var(--type-small);color:var(--text-muted)} .cw-stat{display:grid;gap:var(--space-1);padding:var(--pad-card);border-radius:var(--radius-lg);background:var(--strand-tint)}
.cw-stat__value{font:var(--weight-black) var(--size-display)/1 var(--font-display);color:var(--strand-ink);letter-spacing:var(--tracking-display)}
.cw-stat__label{font:var(--weight-semibold) var(--size-body)/1.3 var(--font-body);color:var(--text-strong)}
.cw-stat__note{font:var(--type-small);color:var(--text-body)} .cw-quote{display:grid;gap:var(--space-5);padding:var(--pad-card-lg);border-radius:var(--radius-xl);background:var(--strand-tint)}
.cw-quote--solid{background:var(--strand);color:var(--strand-on)}
.cw-quote--solid .cw-quote__by{color:var(--strand-on)}
.cw-quote--plain{background:transparent;padding-inline:0}
.cw-quote__mark{font:var(--weight-black) var(--size-hero)/.6 var(--font-display);color:var(--strand-ink);height:32px}
.cw-quote--solid .cw-quote__mark{color:var(--strand-ink);opacity:.8}
.cw-quote__text{font:var(--weight-semibold) var(--size-h3)/1.35 var(--font-display);color:inherit;max-width:34ch;margin:0}
.cw-quote--plain .cw-quote__text,.cw-quote--tint .cw-quote__text{color:var(--text-strong)}
.cw-quote__by{font:var(--type-small);color:var(--text-body)} .cw-tt{display:grid;gap:var(--space-6)}
.cw-tt__day{display:grid;gap:var(--space-2)}
.cw-tt__dayname{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);padding-bottom:var(--space-2);border-bottom:var(--border-regular) solid var(--border-subtle)}
.cw-tt__row{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-3) 0;border-bottom:var(--border-hairline) solid var(--border-subtle)}
.cw-tt__name{display:flex;align-items:center;gap:var(--space-3);font:var(--weight-semibold) var(--size-body)/1.3 var(--font-body);color:var(--text-strong)}
.cw-tt__dot{width:10px;height:10px;border-radius:var(--radius-circle);background:var(--strand);flex:none}
.cw-tt__time{font:var(--weight-semibold) var(--size-small)/1 var(--font-body);color:var(--text-body);white-space:nowrap}
.cw-tt__note{font:var(--type-small);color:var(--text-muted)} .cw-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font:var(--type-small);color:var(--text-muted)}
.cw-crumbs a{color:var(--text-body);text-decoration:none;font-weight:var(--weight-semibold)}
.cw-crumbs a:hover{color:var(--text-link-hover);text-decoration:underline}
.cw-crumbs__sep{color:var(--cw-grey-light)} .cw-header{position:relative;background:var(--surface-card);border-bottom:var(--border-regular) solid var(--border-subtle)}
.cw-header__bar{max-width:var(--page-max);margin:0 auto;padding:var(--space-4) var(--page-gutter);display:flex;align-items:center;gap:var(--space-8)}
.cw-header__mark{display:flex;flex-direction:column;gap:2px;text-decoration:none;flex:none}
.cw-header__markname{font:var(--weight-bold) 1.375rem/1 var(--font-display);color:var(--text-strong);letter-spacing:-0.01em}
.cw-header__marktag{font:var(--weight-regular) 0.75rem/1 var(--font-body);color:var(--text-muted)}
.cw-header__nav{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}
.cw-header__link{appearance:none;background:none;border:0;font:var(--weight-semibold) var(--size-small)/1 var(--font-body);color:var(--text-strong);padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}
.cw-header__link:hover{background:var(--cw-paper-warm)}
.cw-header__link[aria-current="page"]{background:var(--strand-tint);color:var(--strand-ink)}
.cw-header__strip{display:flex;height:6px}
.cw-header__strip i{flex:1} .cw-footer{background:var(--surface-ink);color:var(--text-inverse)}
.cw-footer__inner{max-width:var(--page-max);margin:0 auto;padding:var(--space-16) var(--page-gutter) var(--space-8);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-10)}
.cw-footer__mark{font:var(--weight-bold) 1.5rem/1 var(--font-display);color:var(--text-inverse)}
.cw-footer__tag{font:var(--type-small);color:#c9cacd;margin:var(--space-2) 0 var(--space-6)}
.cw-footer h4{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:#b9babe;margin-bottom:var(--space-4)}
.cw-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}
.cw-footer ul a{color:var(--text-inverse);text-decoration:none;font:var(--type-small)}
.cw-footer ul a:hover{color:var(--cw-lime);text-decoration:underline}
.cw-footer__legal{max-width:var(--page-max);margin:0 auto;padding:var(--space-6) var(--page-gutter);border-top:var(--border-hairline) solid rgba(255,255,255,.18);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;font:var(--type-small);color:#b9babe}