/* Residence D — warm daylight palette, shared by desktop and mobile. */
:root{color-scheme:light;--paper:#fffefa;--ink:#293c43;--muted:#64716e;--gold:#927044;--line:#deded5}
body{background:var(--paper)}
header,header.scrolled,header.menu-open{background:#fffefaf5;color:var(--ink);border-color:#deded5;box-shadow:0 3px 22px #33413909}
.brand-mark{color:#927044;border-color:#b89b70}.brand small{color:#677570}
nav>a:hover,nav>a.current{color:#866338}.header-phone{border-color:#deded5;color:#88683d}.header-phone small{color:#64716e}#menu-toggle{color:var(--ink)}
.hero{background:#edf1ec;color:var(--ink)}
.hero-overlay{display:none}
.hero h1 em{color:#8a673c}.hero-copy>.eyebrow{color:#80613a}.hero-small-number,.hero-description,.hero-side{color:#4e615c}.hero-small-number:before,.hero-side i{border-color:#a8895a}
.hero-signatures>div>span{color:#8a673c}.hero-signatures small,.hero-controls i,.hero-caption{color:#53665e}.hero-controls button{color:#30483f;border-color:#81948a;background:#fffdf580}
.gold-button,.reserve-submit,.dock-submit,.dock-mobile-toggle{background:#e6d2ae;color:#3a3429}.gold-button:hover,.reserve-submit:hover,.dock-submit:hover,.dock-mobile-toggle:hover{background:#d9be93}
.business,.complex{background:#fffefa}.location,.units{background:#f4f5ef}.location-card{background:#fffefa;border-color:#dfe3d7}.business-photo figcaption{background:#fffefaeb;color:#47594f;padding:7px 10px}
#premium.premium-expanded{background:#f6f1e7;color:var(--ink)}.premium-expanded-heading em{color:#88683f}.premium-text-item{border-color:#d7c9ae}.premium-text-number{color:#9a784a}.premium-text-item>small{color:#856943}.premium-text-item>h3{color:var(--ink)}.premium-text-item>p,.premium-note{color:#626f67}
.tablist button[aria-selected=true],.unit-type-group .unit-tabs button[aria-selected=true],.area-switch button[aria-pressed=true],.building-selector button.active{background:#e6dcc8;color:#4a4939;border-color:#b5a584}.tablist button:hover{color:#785c36}
.complex-zoom-label,.location-map-open>span{background:#fffdf2f2;color:#514b38;border:1px solid #d5c7ab}.complex-thumbnails button>span{background:#fffefa;color:#293c43}.complex-thumbnails button:hover img{filter:brightness(1.05)}
.reservation{background:#faf7f0;color:var(--ink)}.reservation-image img{filter:none}.reservation-image:after{display:none}.reservation-image .eyebrow{color:#80613a}.reservation-image>div>span{color:#53695d}
.form-title>p:last-child,.form-demo,.field>label,.date-field legend,.time-row p,.consent-row>label{color:#596c61}.form-demo{border-color:#dbdfd3}.field input,.date-field select{background:#fffefa;color:#2e4439;border-color:#cbd2c3}.field input::placeholder{color:#738074}.consent-row button{color:#80613a}#form-status{color:#80613a}
footer{background:#eeeede;color:#344b3e}.footer-top{border-color:#cfd4c1}.footer-top>p,.footer-top>button small,.footer-bottom,.footer-bottom button{color:#596b5c}.footer-top>button{color:#80613a}#to-top{background:#fffefa;color:#80613a;border-color:#b8a07a}
.reservation-dock{background:#fffdf7f7;color:#405447;border-color:#cbbc9d;box-shadow:0 -5px 25px #33413910}.dock-heading strong{color:#6e5634}.dock-heading small,.dock-consent button{color:#80613a}.dock-close,.dock-consent small,#dock-form>label,.dock-schedule>span{color:#5b6e60}#dock-form input:not([type=checkbox]),#dock-form select{background:#fff;color:#30483b;border-color:#c7cfbf;color-scheme:light}#dock-form input::placeholder{color:#758372}.expanded .dock-close{background:#fffefa;color:#80613a}.dock-status{color:#80613a}
.rail-dot{background:#fffdf7;border-color:#9b8058;box-shadow:0 0 0 3px #fffdf770}.rail-label{background:#fffdf7f5;color:#5a503c;border-color:#cbbc9d}.section-rail a.active .rail-dot{background:#a78858}.section-rail a:focus-visible{background:#f0e7d5}
.privacy-inline,#dock-form>.privacy-inline{background:#f3f1e8;color:#4e6254;border-color:#d3d7c9}.privacy-inline h2{color:#344a3d}.privacy-inline p,.privacy-inline .privacy-data dd{color:#596b5d}.privacy-inline .privacy-data dt{color:#80613a}.privacy-inline .privacy-data>div{border-color:#d3d7c9}
dialog{background:#fffefa}dialog::backdrop,.notice-dialog::backdrop{background:#53634b55;backdrop-filter:none}
.notice-dialog{background:#faf8f1;color:#293c43;border-color:#d5cbb5;box-shadow:0 25px 100px #33413933}.notice-toolbar{border-color:#ded6c3}.notice-toolbar>div>span,.notices-close-all{color:#80613a}.notice-card{background:#fffefa;border-color:#deded0}.notice-action{background:#e7dcc6;color:#4e4937}.notice-action:hover{background:#d9c9aa}.notice-card-footer{background:#f1f2e8}.notice-mobile-navigation>button,.notice-pagination button{color:#6a624d;border-color:#cbbfa5}.notice-pagination button[aria-pressed=true]{background:#dfcba7;color:#473e2e;border-color:#b79b70}.notice-position{color:#64715f}
@media(max-width:1050px){header nav{background:#fffefa;color:var(--ink)}nav>a{border-color:#deded5}}


/* Clear photography beside an opaque white editorial panel; no image veil. */
header,header.scrolled,header.menu-open{background:#fffefa}
.hero{background:#fffefa;height:max(780px,100svh);min-height:780px}
.hero-slides{inset:var(--header) 0 120px 45%;overflow:hidden}
.hero-slide{filter:none;object-position:center;transform:none;transition:opacity 1.3s ease}
.hero-copy{top:calc(var(--header) + 12%);left:6%;right:auto;width:35%;max-width:none}
.hero h1{font-size:clamp(34px,3.1vw,57px);letter-spacing:-2px;line-height:1.6}
.hero-copy>.eyebrow{letter-spacing:2px}.hero-description{font-size:19px}
.hero-bottom{left:6%;right:6%;bottom:40px;align-items:center}
.hero-signatures{gap:35px}.hero-side{display:none}
.hero-controls button{background:#fffefa}.hero-caption{bottom:12px;right:6%}
.reservation-image{display:flex;flex-direction:column;background:#fffefa}
.reservation-image img{position:static;height:0;min-height:350px;flex:1;object-fit:cover;filter:none}
.reservation-image>div{position:static;padding:35px 10%;background:#fffefa}
.reservation-dock{background:#fffdf7;backdrop-filter:none}
@media(min-width:1700px){.hero-copy{top:calc(var(--header) + 14%)}.hero h1{font-size:63px}}
@media(max-width:1050px){.hero-copy{left:5%;width:36%;top:calc(var(--header) + 12%)}.hero h1{font-size:42px}.hero-copy>.eyebrow{font-size:14px;letter-spacing:1px}.hero-description{font-size:18px}.hero .gold-button{gap:25px;padding:14px 18px}}
@media(max-width:700px){
.hero{height:auto;min-height:0;padding-top:var(--header);display:flex;flex-direction:column}
.hero-copy{position:relative;top:auto;left:auto;right:auto;width:auto;max-width:none;padding:36px 8% 32px;order:0}
.hero h1{font-size:clamp(30px,8vw,42px);letter-spacing:-1.5px}.hero-copy>.eyebrow{margin-bottom:17px}.hero-small-number{margin-bottom:14px}.hero-description{margin-top:18px}.hero .gold-button{margin-top:22px}
.hero-slides{position:relative;inset:auto;z-index:0;order:1;width:100%;height:340px;flex:none}.hero-slide{object-position:center}
.hero-bottom{position:relative;inset:auto;order:2;padding:24px 8%;gap:12px;background:#fffefa}
.hero-caption{position:static;order:3;padding:0 8% 15px;text-align:right;font-size:14px}
.reservation-image{display:none}
}

/* Full-bleed main slides on every screen, without a white haze. */
.hero{display:block;height:100svh;min-height:740px;padding:0;color:#fff;background:#fffefa}
.hero-slides{position:absolute;inset:0;z-index:-3;width:100%;height:100%;overflow:hidden}
.hero-slide{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.hero-overlay{display:none}
.hero-copy{position:absolute;top:27%;left:8%;right:8%;width:auto;max-width:850px;padding:0;text-shadow:0 2px 5px #000b,0 3px 20px #0009}
.hero h1{font-size:clamp(42px,4.2vw,70px);line-height:1.5;letter-spacing:-2px;font-weight:500}
.hero h1 em{color:#fff1d5}.hero-copy>.eyebrow,.hero-small-number,.hero-description{color:#fff}.hero-small-number:before{border-color:#fff}
.hero-description{font-size:20px;font-weight:400}.hero .gold-button{text-shadow:none;background:#f0dfbf;color:#3a3429}
.hero-bottom{position:absolute;left:8%;right:7%;bottom:49px;padding:0;display:flex;align-items:end;background:none;text-shadow:0 2px 6px #000b}
.hero-signatures>div>span{color:#fff1d5}.hero-signatures small,.hero-controls i{color:#fff}.hero-controls button{background:#fffefa;color:#30483f;text-shadow:none}.hero-controls>span{color:#fff}
.hero-caption{position:absolute;bottom:10px;right:30px;padding:0;color:#fff;text-shadow:0 1px 5px #000;font-size:14px}
@media(min-width:1700px){.hero-copy{top:29%}.hero h1{font-size:81px}}
@media(max-width:1050px){.hero-copy{top:26%;left:7%;right:10%;width:auto}.hero h1{font-size:61px}.hero-bottom{left:7%;right:6%}.hero-description{font-size:19px}}
@media(max-width:700px){.hero{display:block;height:100svh;min-height:700px;padding:0}.hero-slides{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.hero-slide{object-position:63% center}.hero-copy{position:absolute;top:25%;left:8%;right:8%;width:auto;padding:0}.hero h1{font-size:clamp(30px,8vw,46px);line-height:1.65;letter-spacing:-1.5px}.hero-description{font-size:17px}.hero-bottom{position:absolute;left:8%;right:8%;bottom:48px;padding:0;background:none;align-items:center}.hero-caption{position:absolute;bottom:13px;right:15px;padding:0;font-size:14px}}

/* Larger readable type, with enough room for contact and navigation. */
header{gap:20px;padding-inline:4%}nav{gap:24px}.header-phone{padding-left:18px}.header-phone strong{font-size:22px}.brand small{font-size:11px;letter-spacing:2px}.header-phone small{font-size:14px}
.hero-copy>.eyebrow{font-size:14px;letter-spacing:2px}.hero-small-number{font-size:15px}.hero-signatures p{font-size:14px}.hero-signatures small{font-size:14px;line-height:1.6;max-width:none}.hero-signatures{gap:28px}.hero-controls{gap:12px}.hero-caption{font-size:12px}
.hero h1{font-size:clamp(46px,4.5vw,76px)}.hero .gold-button{font-size:19px;min-height:60px}
#dock-form{grid-template-columns:.8fr 1.1fr 2.1fr 1.2fr .9fr;gap:12px}.dock-shell{gap:20px;padding-inline:4%}.dock-schedule>div{grid-template-columns:1.65fr 1fr 1fr}.notice-copy{padding-inline:18px}
@media(min-width:1051px) and (max-width:1250px){header{gap:14px;padding-inline:3%}nav{gap:16px}nav>a{font-size:17px}.header-phone strong{font-size:20px}.brand-text{font-size:26px}}
@media(max-width:1050px){header{padding-inline:5%}.hero-signatures>div:nth-child(2){display:none}#dock-form{grid-template-columns:.8fr 1.1fr 2fr .8fr}}
@media(max-width:700px){.hero h1{font-size:clamp(34px,8.5vw,50px)}.hero-copy{top:23%}.hero-description{font-size:18px}.hero .gold-button{font-size:18px}.hero-copy>.eyebrow{font-size:12px;letter-spacing:1px}.hero-small-number{font-size:14px}.hero-bottom{bottom:54px}.hero-signatures small{display:none}.hero-signatures p{font-size:12px;letter-spacing:.5px}.hero-signatures>div>span{font-size:30px}.hero-controls{gap:7px}.hero-controls i{font-size:13px}.hero-caption{font-size:10px;left:8%;right:8%;bottom:15px}.brand small{font-size:10px}.hero-signatures>div{gap:7px}.hero-controls>span{min-width:56px}#dock-form{grid-template-columns:1fr 1fr}.notice-copy h3{font-size:25px}.notice-copy>p{font-size:16px}.notice-demo{font-size:12px}.notice-image{min-height:40px}.notice-toolbar>div>span{font-size:11px}.notice-card-footer button{font-size:14px}.notice-dialog[open]{height:calc(100dvh - 20px)}.notice-copy{padding:12px 16px}.notice-copy h3{margin:6px 0 10px}.notice-copy>p{margin-bottom:12px}.notice-dialog{overflow-y:auto}}

/* Phone layout: let enlarged text wrap without widening its grid tracks. */
@media(max-width:700px){
  .section-rail{display:none}
  header{gap:12px}#menu-toggle{margin-left:auto;flex:none}
  .business-layout{grid-template-columns:minmax(0,1fr)}
  .business-layout>*{min-width:0}
  .business-copy h3{display:block}
  .business-copy h3 span{display:block;margin-top:8px}
  .business-photo figcaption{left:12px;right:12px;bottom:12px;font-size:12px;letter-spacing:1px;overflow-wrap:anywhere}
  .project-data>div{grid-template-columns:76px minmax(0,1fr);gap:12px}
  .hero{height:auto;min-height:100svh;padding:calc(var(--header) + 56px) 8% 24px;display:flex;flex-direction:column}
  .hero-copy{position:relative;inset:auto;width:100%;max-width:none;padding:0}
  .hero h1{font-size:clamp(32px,8.5vw,44px);line-height:1.55;overflow-wrap:anywhere}
  .hero-description{line-height:1.85}
  .hero-bottom{position:relative;inset:auto;width:100%;margin-top:auto;padding-top:40px;gap:12px;flex-wrap:wrap}
  .hero-controls{flex:none;margin-left:auto}
  .hero-signatures{min-width:0}.hero-signatures p{font-size:11px}
  .hero-caption{position:relative;inset:auto;display:block;width:100%;margin-top:18px;text-align:right;font-size:11px;line-height:1.6}
  .complex-gallery-head,.complex-feature figcaption{flex-wrap:wrap;gap:14px}
  .complex-gallery-head>*{min-width:0}.complex-gallery-controls{margin-left:auto;flex:none}
  .tablist button{min-width:0;overflow-wrap:anywhere}
  .unit-type-group .unit-tabs{flex-wrap:wrap}
  .unit-copy dl>div{gap:12px;flex-wrap:wrap}
  .consent-row{flex-wrap:wrap;gap:8px}.consent-row>label{min-width:0;flex:1 1 210px}.consent-row button{margin-top:0}
  .date-row{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr))}
  .dock-heading{gap:10px;flex-wrap:wrap;padding-block:12px}
  .dock-heading>div{min-width:0}.dock-heading strong{font-size:21px}
  .dock-mobile-toggle{min-width:0;gap:12px;font-size:16px;padding:10px 12px;margin-left:auto}
  #dock-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dock-schedule>div{grid-template-columns:minmax(0,1.65fr) repeat(2,minmax(0,1fr))}
  .notice-dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);margin:auto;overflow-x:hidden}
  .notice-dialog[open]{height:auto;max-height:calc(100dvh - 20px);grid-template-rows:auto minmax(0,1fr) auto}
  .notice-card.notice-current{height:auto;min-height:0}
  .notice-grid{overflow-y:auto;min-height:0}
  .notice-image{height:clamp(90px,20svh,170px);min-height:90px;flex:none}
  .notice-copy{min-width:0}.notice-copy h3{font-size:24px}
  .notice-toolbar{gap:8px;padding:10px 12px}.notices-close-all{flex:none;gap:6px}
  .notice-mobile-navigation{gap:6px;padding:10px 8px}.notice-pagination{gap:4px}.notice-pagination button{min-width:28px}
  .notice-position{font-size:12px}.notice-mobile-navigation>button{width:30px;flex:none}
  .contact-consulting .contact-phone{font-size:clamp(25px,8vw,35px);white-space:nowrap}
}

/* Motion and comfortable touch scrolling. */
html,body{overflow-x:clip}
.hero-slide{transition:opacity 1.3s ease;transform:scale(1.08);will-change:transform,opacity}
.hero-slide.active{animation:residence-pan 9s ease-out both}
@keyframes residence-pan{from{transform:scale(1.08) translate3d(-.6%,0,0)}to{transform:scale(1) translate3d(0,0,0)}}
.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.65,.3,1)}
.reveal.in-view{opacity:1;transform:none}
@media(max-width:700px){
 body{touch-action:pan-y pinch-zoom}
 .hero{padding-right:36px}.hero h1{min-height:3.1em}.hero-description{min-height:5.55em}
 main>section.section,#premium.premium-expanded{padding-right:36px}
 .section-rail{display:flex;right:2px;top:50%;gap:0;width:28px;padding:5px 0;border-radius:20px;background:#fffefaeb;box-shadow:0 2px 12px #293c4320}
 .section-rail>a{width:28px;min-width:28px;min-height:32px;justify-content:center}
 .rail-dot{width:7px;height:7px;margin:0;box-shadow:none}
 .section-rail a.active .rail-dot{background:#927044;box-shadow:0 0 0 3px #92704428}
 .section-rail .rail-label{display:none}
 .section-rail a:focus-visible{outline-offset:-2px}
 .unit-type-group .unit-tabs{overflow:visible;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 .hero-slide,.hero-slide.active{animation:none;transform:none;transition:none}
 .reveal,.reveal.in-view{opacity:1;transform:none;transition:none}
}

.hero-title-line{display:block}

/* Dialog entrance and independently rendered notice transitions. */
@keyframes popup-enter{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes popup-backdrop{from{opacity:0}to{opacity:1}}
@keyframes notice-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
dialog[open]{animation:popup-enter .5s cubic-bezier(.16,1,.3,1) both}
dialog[open]::backdrop{animation:popup-backdrop .4s ease both}
.notice-dialog[open] .notice-card{animation:notice-enter .55s cubic-bezier(.16,1,.3,1) both}
.notice-dialog[open] .notice-card:nth-child(2){animation-delay:.08s}
.notice-dialog[open] .notice-card:nth-child(3){animation-delay:.16s}
.notice-dialog[open] .notice-card:nth-child(4){animation-delay:.24s}
@media(max-width:700px){
 .notice-dialog[open] .notice-card.notice-current{animation:notice-enter .4s ease-out both;animation-delay:0s}
}
@media(prefers-reduced-motion:reduce){
 dialog[open],dialog[open]::backdrop,.notice-dialog[open] .notice-card,.notice-dialog[open] .notice-card.notice-current{animation:none}
}

/* Match the reservation edges to the unit-plan content area. */
#reservation{margin:0 8%;padding:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#reservation .reservation-content{padding:55px 8%;width:100%;min-width:0}
#reservation .reservation-image{min-width:0}
#complex-panel .complex-thumbnails{grid-auto-rows:auto;grid-template-rows:none}
#complex-panel .complex-thumbnails button{height:auto;aspect-ratio:auto;display:flex;flex-direction:column;align-self:start;background:#fffefa;border-width:1px}
#complex-panel .complex-thumbnails button[aria-pressed=true]{box-shadow:0 0 0 1px #b38e58}
#complex-panel .complex-thumbnails img{display:block;height:auto;aspect-ratio:1;min-height:0;flex:none;width:100%;object-fit:cover;object-position:center}
#complex-panel .complex-thumbnails button>span{position:static;padding:10px;font-size:17px;line-height:1.5;flex:none;width:100%;height:calc(3em + 20px);display:flex;align-items:center}
.section-title-motion{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.section-title-motion.title-visible{opacity:1;transform:none}
@media(max-width:1050px){#reservation{margin-inline:7%}}
@media(max-width:700px){
 #reservation{margin-left:7%;margin-right:36px}
 #reservation .reservation-content{padding:40px 0}
 #complex-panel .complex-thumbnails button>span{font-size:15px;padding:8px;height:calc(3em + 16px)}
}
@media(prefers-reduced-motion:reduce){.section-title-motion{opacity:1;transform:none;transition:none}}

/* Let mobile notices follow the current card instead of filling the viewport. */
@media(max-width:700px){
 .notice-dialog[open]{display:flex;flex-direction:column;height:fit-content;min-height:0;max-height:calc(100dvh - 20px);overflow:hidden}
 .notice-toolbar,.notice-mobile-navigation{flex:none}
 .notice-grid{flex:0 1 auto;min-height:0;overflow-y:auto}
 .notice-card.notice-current{height:auto;min-height:0}
}

/* Keep the bottom reservation consent and policy toggle on one line. */
#dock-form .dock-consent{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;white-space:nowrap}
#dock-form .dock-consent>label{display:flex;align-items:center;white-space:nowrap;flex:none}
#dock-form .dock-consent input{margin:0}
#dock-form .dock-consent button{margin-left:0;flex:none;white-space:nowrap}
@media(min-width:1151px){#dock-form{grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,2.1fr) max-content minmax(0,.9fr)}}

/* Bottom reservation submit button. */
#dock-form .dock-submit{appearance:none;border:1px solid #a98b57;border-radius:0;background:#e8d7b5;color:#493c28;min-height:48px;padding:12px 18px;display:flex;align-items:center;justify-content:center;gap:16px;font-family:inherit;font-size:17px;font-weight:600;line-height:1.4;cursor:pointer;box-shadow:0 3px 8px #71552c12;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s}
#dock-form .dock-submit>span{font-size:22px;line-height:1;transition:transform .2s}
@media(hover:hover){#dock-form .dock-submit:hover{background:#80623b;border-color:#80623b;color:#fffefa;box-shadow:0 5px 14px #71552c26}#dock-form .dock-submit:hover>span{transform:translate(2px,-2px)}}
#dock-form .dock-submit:active{transform:translateY(1px);box-shadow:none;background:#6c522f;color:#fffefa}
#dock-form .dock-submit:focus-visible{outline:2px solid #80623b;outline-offset:3px}
@media(max-width:700px){#dock-form .dock-submit{min-height:52px;font-size:18px;width:100%}}
@media(prefers-reduced-motion:reduce){#dock-form .dock-submit,#dock-form .dock-submit>span{transition:none}}

/* Hero reservation: warm ivory with a restrained gold frame. */
.hero .gold-button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-width:210px;min-height:60px;padding:14px 22px;border:1px solid #c7a46b;border-radius:0;background:#f5ead5;color:#4d3e28;font-size:19px;font-weight:500;line-height:1.4;text-shadow:none;box-shadow:0 5px 20px #14212b20;transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
.hero .gold-button span{display:grid;place-items:center;width:32px;height:32px;border-left:1px solid #b99c6a80;padding-left:12px;font-size:25px;line-height:1;transition:transform .25s}
@media(hover:hover){.hero .gold-button:hover{background:#87683d;color:#fffaf0;border-color:#d8be91;box-shadow:0 7px 24px #14212b30}.hero .gold-button:hover span{transform:translate(2px,-2px);border-color:#f5ead580}}
.hero .gold-button:focus-visible{outline:2px solid #fffaf0;outline-offset:4px}
.hero .gold-button:active{background:#735630;color:#fffaf0}
@media(max-width:700px){.hero .gold-button{min-width:190px;min-height:54px;padding:12px 18px;font-size:18px;gap:28px}}
@media(prefers-reduced-motion:reduce){.hero .gold-button,.hero .gold-button span{transition:none}}

.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:center}
.footer-bottom>div:last-child{text-align:right}
.template-disclaimer{text-align:center;min-width:0}
.template-disclaimer h2{font-size:17px;font-weight:500;color:#765d38;line-height:1.7;margin-bottom:10px}
.template-disclaimer p{font-size:14px;color:#647165;line-height:1.9;word-break:keep-all}
@media(max-width:1050px){.footer-bottom{grid-template-columns:1fr}.footer-bottom>p,.footer-bottom>div:last-child{text-align:center}.template-disclaimer{padding:8px 0}.footer-bottom>div{margin-top:0}}

@media(max-width:700px){
 #reservation{margin:0;padding:0 36px 0 7%;width:100%;background:#fffefa}
 #reservation .reservation-content{padding:40px 0;width:100%;min-width:0;background:transparent}
 #reservation-form{width:100%;min-width:0}
 #reservation-form .field,#reservation-form .date-field{min-width:0;width:100%;margin-inline:0}
 #reservation-form input:not([type=checkbox]),#reservation-form select{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
 #reservation-form .date-row{grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:8px}
 #reservation-form .time-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #reservation-form .consent-row{display:flex;align-items:center;flex-wrap:nowrap;gap:6px}
 #reservation-form .consent-row>label{flex:1 1 auto;display:flex;align-items:center;gap:7px;font-size:14px;line-height:1.6;min-width:0}
 #reservation-form .consent-row input{flex:none;width:16px;height:16px;margin:0}
 #reservation-form .consent-row label span{margin:0;white-space:nowrap}
 #reservation-form .consent-row b{font-weight:400;color:#c4a274}
 #reservation-form .consent-row button{flex:none;font-size:14px;margin:0;min-height:36px;white-space:nowrap;padding:4px 0}
 #reservation-form .reserve-submit{width:100%;box-sizing:border-box}
}

/* Keep all three hero summaries readable on narrow screens. */
@media(max-width:700px){
 .hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:22px}
 .hero-signatures{display:grid;grid-template-columns:1fr;gap:16px;flex:none;width:100%}
 .hero-signatures>div,.hero-signatures>div:not(:first-child),.hero-signatures>div:nth-child(3){display:flex;align-items:center;gap:12px;min-width:0}
 .hero-signatures>div>span{font-size:28px;line-height:1;min-width:34px}
 .hero-signatures p{font-size:13px;letter-spacing:1px;line-height:1.5}
 .hero-signatures small{display:block;max-width:none;font-size:13px;line-height:1.7;margin-top:3px}
 .hero-controls{align-self:flex-end;margin-left:0}
}
