/* YorkHouse: arrival, pause, a quieter state of mind. */
.hero > img { animation: yh-arrive 8s cubic-bezier(.15,.45,.35,1) both; }
.hero-line { display:block; animation:yh-type 1.6s cubic-bezier(.22,1,.36,1) .25s both; }
.hero-line:nth-child(2) { animation-delay:.7s; }
.hero-copy>.eyebrow { animation:yh-type 1.2s ease .1s both; }
.hero-copy>p:not(.eyebrow), .hero-copy>.button { animation:yh-type 1.5s ease 1s both; }
.hero-copy>.button { background:var(--ochre); color:white; }
.button span[aria-hidden] { display:inline-block; transition:transform .3s; }
.button:hover span[aria-hidden],.button:focus-visible span[aria-hidden] { transform:translateX(5px); }
.button:focus-visible,.icon-trigger:focus-visible { outline:2px solid var(--ochre); outline-offset:6px; }
.button:active { transform:translateY(0) scale(.98); }
.vision { padding-block:clamp(3rem,6vw,6rem); }
.vision-story .vision-copy p { font-size:1.1rem; }
.vision-story .vision-copy p:last-child { color:var(--ochre); }
.motion-ready .vision-image.motion-reveal { opacity:0; transform:translateX(-3rem); transition:opacity 1.5s,transform 2.8s cubic-bezier(.22,1,.36,1),clip-path 2.8s cubic-bezier(.22,1,.36,1); }
.motion-ready .vision-story.motion-reveal { opacity:0; transform:translateX(-3rem); transition:opacity 2s .25s,transform 2.8s cubic-bezier(.22,1,.36,1) .25s; }
.motion-ready .vision-image.is-visible,.motion-ready .vision-story.is-visible { opacity:1;transform:none;clip-path:inset(0); }
.motion-ready .principles article.motion-reveal { opacity:0; transform:translateY(20px); transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1); transition-delay:calc(var(--order,0)*100ms); }
.motion-ready .principles article.is-visible { opacity:1; transform:none; }
.principles article:nth-child(2) {--order:1}.principles article:nth-child(3) {--order:2}.principles article:nth-child(4) {--order:3}
.principles article { padding:2.25rem 2rem; min-height:0; }
.icon-trigger { display:flex; align-items:center; justify-content:center; width:54px;height:54px;margin-left:-8px;background:transparent;border:0;padding:5px;cursor:pointer;color:var(--ochre);touch-action:manipulation; }
.principle-icon { width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:transform .5s cubic-bezier(.22,1,.36,1); }
.icon-trigger svg * { transition:transform .65s cubic-bezier(.22,1,.36,1),fill .6s,opacity .6s,filter .6s; }
.principles article:hover .principle-icon,.principles article:focus-within .principle-icon,.icon-trigger.is-playing .principle-icon { transform:translateY(-5px); }
.icon-house .doorway { fill:var(--ochre);fill-opacity:.25; }
.icon-door { transform-origin:9px 17.5px; }
.icon-door path { fill:var(--paper); }
.icon-door circle { fill:currentColor;stroke:none; }
.principles article:hover .icon-door,.principles article:focus-within .icon-door,.is-playing .icon-door { transform:skewY(-20deg) scaleX(.28); }
.pin-shadow { fill:currentColor;opacity:.2;stroke:none;transform-origin:12px 22.5px; }
.principles article:hover .pin-body,.principles article:focus-within .pin-body,.is-playing .pin-body { transform:translateY(-3px); }
.principles article:hover .pin-shadow,.principles article:focus-within .pin-shadow,.is-playing .pin-shadow { transform:scaleX(.6);opacity:.1; }
.bulb-rays { opacity:0;transform-origin:12px 10px;transform:scale(.85); }
.principles article:hover .bulb-glass,.principles article:focus-within .bulb-glass,.is-playing .bulb-glass { fill:#ebcf8c;filter:drop-shadow(0 0 3px #c39a4e); }
.principles article:hover .bulb-rays,.principles article:focus-within .bulb-rays,.is-playing .bulb-rays { opacity:1;transform:scale(1); }
.key-body { transform-origin:12px 12px; }
.principles article:hover .key-body,.principles article:focus-within .key-body,.is-playing .key-body { transform:rotate(-28deg); }
.manifesto { margin-top:clamp(3rem,6vw,6rem);height:auto;overflow:hidden;background:var(--olive); }
.manifesto-card { position:relative;right:auto;bottom:auto;width:100%;padding:clamp(3rem,6vw,6rem) 6vw;text-align:center;background:transparent; }
.manifesto .eyebrow { color:#c49a61; }
.manifesto blockquote { max-width:1120px;margin:1.3rem auto 0;color:var(--cream);font-size:clamp(2.4rem,4.7vw,4.5rem);line-height:1.15; }
.manifesto-line { display:block; }
.manifesto-accent { color:#bb8848; margin-top:.2em; }
.motion-ready .manifesto-card.motion-reveal { transform:none;opacity:1; }
.motion-ready .manifesto-card .manifesto-line { opacity:0;transform:translateY(28px);transition:opacity 1.6s,transform 1.6s cubic-bezier(.22,1,.36,1); }
.motion-ready .manifesto-card .manifesto-line:nth-child(2) { transition-delay:.7s; }
.motion-ready .manifesto-card.is-visible .manifesto-line { opacity:1;transform:none; }
.evening { position:relative;height:clamp(300px,38vw,540px);overflow:hidden; }
.evening img { display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%; }
.evening p { position:absolute;bottom:1.5rem;left:6vw;color:white;text-shadow:0 1px 8px #191a16; }
.signup { padding-block:clamp(2rem,4vw,3.5rem); }
.signup input { min-height:58px;border-right:1px solid var(--line); }
.signup .form-row .button { min-height:58px; }
.signup .form-consent { font-size:.75rem;line-height:1.5;max-width:720px;margin:.85rem auto 0; }
.signup .form-consent-secondary { font-size:.68rem; }
.form-message:empty { min-height:0;margin:0; }
@keyframes yh-arrive { 0% {opacity:0;transform:scale(1.08)} 25% {opacity:1} 100% {opacity:1;transform:scale(1)} }
@keyframes yh-type { from {opacity:0;transform:translateY(28px)} to {opacity:1;transform:translateY(0)} }
@media(max-width:900px) { .site-header { justify-content:center; }.site-header .brand-logo { margin-inline:auto; }.vision { gap:2rem; }.principles article { padding:2rem 7vw; } }
@media(max-width:560px) { .hero { min-height:570px; }.hero h1 { font-size:clamp(2.75rem,10vw,3.6rem); }.hero-copy { left:6vw;right:6vw; }.manifesto-card { padding:3.2rem 6vw; }.manifesto blockquote { font-size:clamp(2.35rem,9vw,3.2rem); }.signup { padding:2.4rem 1rem; }.signup .form-row { width:100%; }.signup .form-row input { width:100%;font-size:16px; }.signup .form-consent { margin:.85rem auto 0;font-size:.75rem; }.signup .form-consent-secondary { font-size:.68rem; }.vision h2 { font-size:2.8rem; }.motion-ready .vision-image.motion-reveal,.motion-ready .vision-story.motion-reveal { transform:translateX(-1.25rem); }.motion-ready .vision-image.is-visible,.motion-ready .vision-story.is-visible { transform:none; } }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto} .hero > img,.hero-line,.hero-copy>.eyebrow,.hero-copy>p:not(.eyebrow),.hero-copy>.button { animation:none!important;opacity:1;transform:none; }.motion-ready .motion-reveal,.motion-ready .manifesto-card .manifesto-line {opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}.principle-icon,.icon-trigger svg *,.button,.button span {transition:none!important;transform:none!important} }

.motion-ready .vision-image.motion-reveal img { clip-path:inset(0 100% 0 0);transition:clip-path 2.8s cubic-bezier(.22,1,.36,1); }
.motion-ready .vision-image.is-visible img { clip-path:inset(0); }
@media(prefers-reduced-motion:reduce){.motion-ready .vision-image.motion-reveal img{clip-path:none;transition:none}}
