/* Shared interaction primitives; each concept owns its layout, type and palette. */
.demo-form{margin-top:28px;border:1px solid var(--feature-line,#b9b3a4);padding:clamp(20px,3vw,38px);background:var(--feature-paper,#fffdf6);color:var(--feature-ink,#243c32);min-width:0}.demo-form h3{margin:0 0 14px;font-size:1.6rem}.demo-form p{font-size:.84rem;line-height:1.65}.demo-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.demo-field{min-width:0}.demo-field.wide{grid-column:1/-1}.demo-field label{display:block;font:600 .73rem/1.5 var(--feature-sans,Arial,sans-serif);margin-bottom:7px}.demo-field input,.demo-field select,.demo-field textarea{font:400 16px/1.5 var(--feature-sans,Arial,sans-serif);width:100%;min-height:48px;padding:12px;border:1px solid var(--feature-line,#b9b3a4);border-radius:0;background:#fffefb;color:#243530}.demo-field textarea{min-height:100px;resize:vertical}.demo-form fieldset{border:0;padding:0;margin:18px 0 22px;min-width:0}.demo-form legend{font:600 .75rem/1.5 var(--feature-sans,Arial,sans-serif);margin-bottom:10px}.time-slots{display:flex;flex-wrap:wrap;gap:9px}.time-slots label{display:flex;align-items:center;gap:7px;border:1px solid var(--feature-line,#b9b3a4);padding:10px 12px;font-size:.8rem;cursor:pointer}.time-slots label:has(:checked){background:var(--feature-ink,#243c32);color:white}.time-slots input{accent-color:var(--feature-ink,#243c32)}.demo-submit{border:0;background:var(--feature-ink,#243c32);color:white;padding:16px 23px;min-height:50px;font:600 .8rem/1.4 var(--feature-sans,Arial,sans-serif);cursor:pointer;margin-top:20px;max-width:100%}.demo-submit:disabled{opacity:.55;cursor:not-allowed}.demo-confirmation:not(:empty){border-left:3px solid currentColor;margin-top:22px;padding:10px 15px;background:#dfeada;color:#233e35;font-size:.86rem}.feature-note{font-size:.72rem!important;line-height:1.65!important;opacity:.9;max-width:650px}.sample-contact{font-size:.75rem;line-height:1.8}.sample-contact a{display:inline-block;margin:6px 18px 6px 0;text-underline-offset:4px}.sample-map{margin:0;min-width:0}.sample-map iframe{border:0;width:100%;height:330px;display:block;background:#dddcd0}.sample-map figcaption{font-size:.68rem;line-height:1.6;margin-top:12px}.feature-location{margin-top:32px}.feature-location h3{font-size:1.5rem;margin-bottom:15px}.photo-frame{overflow:hidden}.photo-frame img{width:100%;height:100%;display:block;object-fit:cover;animation:concept-drift 22s ease-in-out infinite alternate}.feature-photo-caption{font-size:.65rem!important;letter-spacing:.03em;margin-top:12px!important;line-height:1.65!important}.demo-label{font:500 .62rem/1.6 var(--feature-sans,Arial,sans-serif);letter-spacing:.07em;text-align:center;padding:10px 20px;background:var(--feature-ink,#243c32);color:white}.demo-label a{margin-left:20px;color:inherit}.concept-footer{padding:35px max(5%,20px);font-size:.7rem;line-height:1.8;border-top:1px solid currentColor}.concept-footer p{max-width:850px}.concept-footer a{color:inherit}.motion-reveal{animation:concept-arrival .7s ease both}@keyframes concept-drift{from{transform:scale(1)}to{transform:scale(1.06)}}@keyframes concept-arrival{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}:focus-visible{outline:3px solid #b07833;outline-offset:5px}@media(max-width:650px){.demo-fields{grid-template-columns:1fr}.demo-field.wide{grid-column:auto}.sample-map iframe{height:270px}.demo-label a{display:block;margin:4px 0 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.photo-frame img,.motion-reveal{transform:none!important}}
