*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff4d7;color:#331c29;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #126cce;outline-offset:5px}.demo{background:#331c29;color:#fff4d7;text-align:center;padding:8px 16px;font-size:12px;letter-spacing:.05em}.skip{position:absolute;left:20px;top:-80px;z-index:5;background:white;padding:15px}.skip:focus{top:40px}header{padding:30px 5%;display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid #331c2930}.wordmark{font-weight:900;font-size:29px;letter-spacing:-1px;text-decoration:none}.wordmark span{display:block;font-size:10px;letter-spacing:1.1px;margin-top:7px}nav{display:flex;gap:30px;align-items:center;font-size:14px}nav a{text-decoration:none}.mini{border:1px solid;padding:13px 18px;border-radius:30px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;padding:62px 5% 50px;align-items:center}.eyebrow{font-size:13px;font-weight:700;letter-spacing:1.5px}.hero h1{font-size:clamp(50px,5.7vw,86px);line-height:.98;letter-spacing:-4px;margin:25px 0}.hero h1 em{font-family:Georgia,serif;color:#bf352d;font-weight:normal}.lead{max-width:450px;font-size:19px;line-height:1.55}.button{display:inline-block;border-radius:40px;background:#c9362c;color:#fff8e8;font-weight:700;font-size:16px;padding:20px 25px;margin-top:20px;text-decoration:none}.button:hover{background:#a02b24}.small{font-size:13px;margin-top:24px}.hero figure{margin:0;transform:rotate(2deg)}.hero img{display:block;width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;border-radius:180px 180px 12px 12px}.hero figcaption{font-size:11px;line-height:1.5;margin-top:9px;text-align:center}.ticker{display:flex;justify-content:space-around;gap:15px;flex-wrap:wrap;background:#c9362c;color:#fff4d7;padding:21px;font-size:21px;font-weight:900;letter-spacing:1px}.ticker span{color:#ffd376}.evening{padding:85px 5%}h2{font-size:clamp(38px,4.1vw,62px);line-height:1.05;letter-spacing:-2px;margin:20px 0 40px}.choices{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #331c2950}.choices article{padding:32px 34px 15px 0}.choices article+article{border-left:1px solid #331c2950;padding-left:34px}.num{font-size:12px;letter-spacing:1px;color:#a53328}.choices h3{font-size:35px;line-height:1.05;letter-spacing:-1px;margin:25px 0}.choices p{font-size:16px;line-height:1.65;min-height:80px;max-width:310px}.choices a{font-size:14px;font-weight:700;display:inline-block;padding:12px 0}.visit{background:#331c29;color:#fff4d7;padding:70px 5%;display:grid;grid-template-columns:1fr 1fr;gap:40px}.visit-details{padding:15px 0;max-width:470px}.phone{font-size:clamp(23px,2.8vw,41px);text-decoration:none;font-weight:bold;letter-spacing:-1px}.visit p{line-height:1.6}.links{display:flex;gap:25px;margin-top:25px;font-size:14px}footer{padding:28px 5%;display:flex;justify-content:space-between;gap:20px;font-size:12px}footer strong{font-size:18px}section{scroll-margin-top:20px}@media(max-width:800px){header{padding:24px 6%}nav{gap:15px}nav a:not(.mini){display:none}.wordmark{font-size:24px}.hero{padding:40px 6%;gap:35px;grid-template-columns:1fr}.hero h1{font-size:clamp(49px,10vw,76px);letter-spacing:-2.8px}.hero figure{max-width:560px;transform:none}.hero img{aspect-ratio:1.6}.hero-copy{max-width:600px}.ticker{font-size:15px}.evening{padding:55px 6%}.choices{grid-template-columns:1fr}.choices article,.choices article+article{border-left:0;border-bottom:1px solid #331c2950;padding:30px 0}.choices h3 br{display:none}.choices p{min-height:0;max-width:520px}.visit{grid-template-columns:1fr;padding:45px 6%;gap:0}.visit h2{margin-bottom:15px}.links{flex-wrap:wrap}footer{flex-wrap:wrap}h2{letter-spacing:-1.5px}}@media(max-width:430px){.mini{font-size:12px;padding:12px}.wordmark{font-size:20px}.wordmark span{font-size:8px;letter-spacing:.6px}.hero h1{font-size:49px}.button{padding:18px 21px;font-size:15px}.ticker{gap:12px;font-size:13px}.ticker span{display:none}.lead{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.request-section{--request-ink:#331c29;--request-paper:#fff4d7;--request-accent:#126cce;display:grid;grid-template-columns:1fr 1.1fr;gap:7%;padding:70px 5%;background:#fff4d7;color:#331c29;border-top:1px solid currentColor}.request-intro h2{font-family:Georgia,serif;font-size:clamp(2.3rem,4vw,4rem);line-height:1.1;margin:22px 0}.request-intro>p{max-width:42ch;font-size:16px;line-height:1.7}.request-help{margin-top:30px}.inquiry{padding:30px;background:#f5dab5;min-width:0}.inquiry h3{font:1.7rem Georgia,serif;margin:0 0 25px}.inquiry label{display:grid;gap:8px;margin-bottom:18px;font:14px/1.5 Arial,sans-serif}.inquiry input,.inquiry select,.inquiry textarea{width:100%;min-width:0;font:16px Arial,sans-serif;padding:13px;border:1px solid #827b74;border-radius:0;background:#fff;color:#202020}.inquiry textarea{resize:vertical}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inquiry button{cursor:pointer;font:16px Arial,sans-serif}.inquiry .action{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 22px;border:0;background:#331c29;color:#fff4d7;font-size:16px;text-decoration:none;max-width:100%}.inquiry :focus-visible{outline:3px solid #126cce;outline-offset:3px}.inquiry [hidden]{display:none}.inquiry-message{font:16px/1.7 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.inquiry-edit,.inquiry-copy{display:block;margin-top:16px;padding:10px 0;background:transparent;border:0;color:inherit;text-decoration:underline}.request-note{font-size:13px!important;line-height:1.6!important;margin:15px 0 0}.location-section{padding:65px 5%;background:#fff4d7;color:#331c29}.location-title{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.location-title h2{font:clamp(2rem,3.5vw,3.1rem)/1.1 Georgia,serif;margin:16px 0}.location-title p{font-size:16px;line-height:1.6}.location-title a{min-height:44px;display:flex;align-items:center}.location-section iframe{display:block;width:100%;height:420px;border:1px solid #aaa}.demo{font-size:12px}.request-section .eyebrow,.location-section .eyebrow{font-size:12px}@media(max-width:800px){.request-section{grid-template-columns:1fr;gap:30px;padding-block:45px}.inquiry{padding:22px}.location-title{display:block}.location-section iframe{height:390px}.location-section{padding-block:45px}}@media(max-width:360px){.inquiry-fields{grid-template-columns:1fr}.inquiry{padding:18px}}

/* Callback demo — visual states; delivery configured separately. */
.callback .field-optional{display:inline;color:inherit;opacity:.7;font-size:12px;margin-top:-5px}.callback .action{width:100%}.callback input,.callback textarea{font-size:16px}.callback-result{padding:12px 0;min-height:260px}.callback-result h4{font:2.4rem Georgia,serif;margin:18px 0 12px}.callback-result p{font-size:16px;line-height:1.6}.callback-check{display:grid;width:54px;height:54px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:26px}.callback-phone-label{font-size:13px!important;margin-bottom:6px}.callback-number{display:block;font-size:20px;overflow-wrap:anywhere}.callback-edit{display:block;margin-top:25px;padding:12px 0;background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer}.callback [hidden]{display:none}

.ticker{position:relative;display:block;overflow:hidden;padding:20px 0;white-space:nowrap}.ticker-track{display:flex;width:max-content;animation:ticker-drift 55s linear infinite;will-change:transform}.ticker-group{display:flex;align-items:center;justify-content:space-around;gap:32px;flex-shrink:0;min-width:max(100vw,760px);padding:0 32px;color:inherit}.ticker .ticker-group span{display:block;color:inherit}.ticker-group b{color:#ffd376;font-weight:400}.ticker .ticker-sr{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:normal}.ticker-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;background:#a82e25;color:#fff4d7;border:1px solid #fff4d755;border-radius:50%;cursor:pointer;font:16px Arial,sans-serif;z-index:1}.ticker-toggle:focus-visible{outline:3px solid #ffd376;outline-offset:2px}.ticker[data-paused=true] .ticker-track,.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}@keyframes ticker-drift{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;width:100%}.ticker-group{min-width:0;width:100%;flex-wrap:wrap;justify-content:center;gap:12px;padding:0 16px;white-space:normal}.ticker-group+ .ticker-group,.ticker-toggle{display:none}.ticker-group b:last-child{display:none}}

/* Restrained motion: transform/opacity only; no scroll handlers or hidden resting states. */
.button,.mini,.inquiry .action,.callback-edit{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
.button:active,.mini:active,.inquiry .action:active{transform:translateY(1px)}
.motion-arrow{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
  .button:hover,.mini:hover,.inquiry .action:hover{transform:translateY(-2px);box-shadow:0 5px 12px #00000012}
  a:hover .motion-arrow,a:focus-visible .motion-arrow{transform:translate(3px,-3px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .motion-arrow{transform:none!important}
}

.hero figure{transition:transform .65s cubic-bezier(.22,1,.36,1)}.hero h1 em{display:inline-block;position:relative}.hero h1 em::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:2px;background:currentColor;transform:scaleX(0) rotate(-2deg);transform-origin:left;transition:transform .8s cubic-bezier(.22,1,.36,1) .3s}.hero h1.motion-seen em::after{transform:scaleX(1) rotate(-2deg)}.choices .num{display:inline-block;transition:transform .35s ease,color .35s ease}@media(hover:hover) and (pointer:fine){.hero figure:hover{transform:rotate(0deg) translateY(-4px)}.choices article:hover .num,.choices article:focus-within .num{transform:translateX(6px);color:#126cce}}@media(prefers-reduced-motion:reduce){.hero figure:hover{transform:rotate(2deg)}.choices article:hover .num,.choices article:focus-within .num{transform:none}.hero h1 em::after{transform:scaleX(1) rotate(-2deg)}}
