/* 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; }
/* Lucide icons, restyled and animated for the four YorkHouse principles. */
.icon-trigger { display:flex; align-items:center; justify-content:center; width:88px; height:88px; margin:0; background:rgba(154,107,47,.065); border:1px solid rgba(154,107,47,.17); border-radius:50%; padding:8px; cursor:pointer; color:var(--ochre); touch-action:manipulation; transition:background .4s,border-color .4s; }
.principle-icon { width:66px; height:66px; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; overflow:visible; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.icon-tint { fill:rgba(154,107,47,.14); transition:fill .6s; }
.principles article:hover .icon-trigger,.principles article:focus-within .icon-trigger,.icon-trigger.is-playing { background:rgba(154,107,47,.11); border-color:rgba(154,107,47,.32); }
.principles article:hover .principle-icon,.principles article:focus-within .principle-icon,.icon-trigger.is-playing .principle-icon { transform:translateY(-5px); }
.door-panel { transform-origin:11px 13px; transition:transform 1s cubic-bezier(.22,1,.36,1); }
.principles article:hover .door-panel,.principles article:focus-within .door-panel,.is-playing .door-panel { transform:skewY(-12deg) scaleX(.4); }
.compass-needle { transform-origin:12px 12px; transition:transform 1.2s cubic-bezier(.34,1.56,.64,1); }
.principles article:hover .compass-needle,.principles article:focus-within .compass-needle,.is-playing .compass-needle { transform:rotate(80deg); }
.chair-body { transform-origin:12px 20px; }
.principles article:hover .chair-body,.principles article:focus-within .chair-body,.is-playing .chair-body { animation:yh-chair-rock 1.5s ease-in-out; }
.bell-body { transform-origin:12px 2px; }
.bell-waves { opacity:.25; transition:opacity .35s; }
.principles article:hover .bell-body,.principles article:focus-within .bell-body,.is-playing .bell-body { animation:yh-bell-ring 1.2s ease-in-out; }
.principles article:hover .bell-waves,.principles article:focus-within .bell-waves,.is-playing .bell-waves { opacity:1; }
@keyframes yh-chair-rock { 0%,100% {transform:rotate(0)} 25% {transform:rotate(-7deg)} 60% {transform:rotate(4deg)} 82% {transform:rotate(-2deg)} }
@keyframes yh-bell-ring { 0%,100% {transform:rotate(0)} 15%,45% {transform:rotate(12deg)} 30%,60% {transform:rotate(-10deg)} 75% {transform:rotate(5deg)} }
.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}}

@media(prefers-reduced-motion:reduce) { .icon-trigger,.principle-icon,.icon-trigger svg * { animation:none!important;transition:none!important;transform:none!important; } }
