*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#641d32;color:#f7eddb;font-family:Arial,sans-serif}a{color:inherit;text-underline-offset:6px}a:focus-visible{outline:3px solid #edb845;outline-offset:6px}.demo{text-align:center;font-size:12px;padding:8px;background:#3c1421}.skip{position:absolute;top:-60px;background:#fff;color:#641d32;padding:12px;z-index:10}.skip:focus{top:30px}header{margin:0 5%;padding:28px 0;border-bottom:1px solid #f7eddb50;display:flex;justify-content:space-between;gap:25px;font-size:13px}header span{letter-spacing:2px}nav{display:flex;gap:30px}header a{text-decoration:none}.hero{padding:35px 5% 0}.eyebrow{font-size:12px;letter-spacing:2px;line-height:1.7}.hero>.eyebrow{text-align:center}h1{font-family:Georgia,serif;font-size:clamp(75px,17.4vw,265px);font-weight:400;letter-spacing:-.055em;line-height:.94;margin:24px 0 30px;text-align:center}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding:0 2% 40px;gap:30px}.hero-bottom p{font:30px/1.2 Georgia,serif;margin:0}.hero-bottom em{color:#e9c290}.button{border:1px solid #f7eddb;border-radius:2px;text-decoration:none;padding:19px 24px;font-size:14px}.button:hover{background:#f7eddb;color:#641d32}figure{margin:0}figure img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 60%}figcaption{font-size:11px;text-align:right;padding:10px 0 20px;color:#edcece}.celebrate{background:#f7eddb;color:#641d32;padding:75px 7%;display:grid;grid-template-columns:.4fr 1.1fr 1fr;gap:5%}.label{writing-mode:vertical-rl;letter-spacing:3px;font-size:11px;padding-top:10px;justify-self:start}h2{font:clamp(40px,4.5vw,66px)/1.05 Georgia,serif;letter-spacing:-2px;font-weight:400;margin:0 0 30px}h2 em{font-weight:normal;color:#a35151}.banquet p{font-size:16px;line-height:1.7;max-width:460px}.text-link{display:inline-block;font-size:14px;font-weight:bold;margin-top:20px;padding:10px 0}.invitation-card{border:1px solid #a7646760;padding:35px;align-self:center;max-width:380px}.invitation-card>span{font-size:10px;letter-spacing:2px}.invitation-card h3{font:37px/1.1 Georgia,serif;margin:25px 0}.invitation-card ol{padding-left:18px;font-size:14px;line-height:1.8}.invitation-card li{margin:12px 0}.invitation-card a{font-size:13px;display:inline-block;padding:15px 0}.contact{display:grid;grid-template-columns:1fr 1fr;padding:75px 10%;gap:10%;align-items:center}.contact h2{margin-bottom:0}.contact h2 em{color:#e9c290}.address>p:first-child{font-size:19px;line-height:1.6}.phone{font:34px Georgia,serif;text-decoration:none}.note{font-size:14px;line-height:1.7;max-width:350px}.contact-links{display:flex;gap:35px;margin-top:25px;font-size:14px}footer{margin:0 5%;border-top:1px solid #f7eddb50;padding:30px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}footer span{font:29px Georgia,serif}footer p{font-size:12px}@media(max-width:900px){.celebrate{grid-template-columns:1.1fr 1fr;gap:7%}.label{display:none}.contact{padding:60px 6%;gap:5%}.phone{font-size:27px}.invitation-card{padding:25px}figure img{height:330px}}@media(max-width:600px){header{padding:22px 0;font-size:12px}header nav{display:none}.hero{padding-top:23px}h1{font-size:20vw;letter-spacing:-.06em;margin:25px 0}.hero>.eyebrow{font-size:10px;letter-spacing:1px;max-width:250px;margin:0 auto}.hero-bottom{display:block;padding:0 0 28px}.hero-bottom p{font-size:30px}.button{display:inline-block;margin-top:26px;font-size:13px;padding:18px 20px}figure img{height:280px}figcaption{text-align:left;font-size:10px}.celebrate{grid-template-columns:1fr;padding:45px 6%;gap:35px}.banquet h2{font-size:51px}.invitation-card{width:100%;max-width:none;padding:28px}.invitation-card h3 br{display:none}.contact{grid-template-columns:1fr;padding:45px 6%;gap:20px}.contact h2{font-size:49px}.contact .phone{font-size:30px}.contact-links{gap:30px}footer{align-items:flex-start;flex-direction:column;gap:5px}footer p{line-height:1.6}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.request-section{--request-ink:#641d32;--request-paper:#f7eddb;--request-accent:#b2720c;display:grid;grid-template-columns:1fr 1.1fr;gap:7%;padding:70px 5%;background:#f7eddb;color:#641d32;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:#f0ddc4;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:#641d32;color:#f7eddb;font-size:16px;text-decoration:none;max-width:100%}.inquiry :focus-visible{outline:3px solid #b2720c;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:#f7eddb;color:#641d32}.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}

/* 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}
}

.invitation-card{position:relative;transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease}.invitation-card::after{content:'';position:absolute;inset:7px;border:1px solid #a7646733;pointer-events:none}.invitation-card.motion-seen::after{animation:astoria-invitation 1s cubic-bezier(.22,1,.36,1) .15s backwards}@keyframes astoria-invitation{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.text-link{transition:color .3s ease}@media(hover:hover) and (pointer:fine){.invitation-card:hover,.invitation-card:focus-within{transform:translateY(-3px);box-shadow:0 12px 28px #641d3210}.text-link:hover{color:#a35151}}@media(prefers-reduced-motion:reduce){.invitation-card:hover,.invitation-card:focus-within{transform:none}}
