/* Shared orange-crab identity. Loaded last on the landing and every app route. */
:root {
  --ink:#123d4b; --deep:#123d4b; --navy:#123d4b;
  --sea:#a63d28; --water:#a63d28; --coral:#df6248; --aqua:#df6248;
  --shallows:#f8e9dc; --sand:#efdfc6; --foam:#fffaf1; --paper:#fffaf1;
  --wash:#efdfc6; --cream:#fffaf1; --mist:#f2e8d9;
  --lagoon:#f7d9c8; --peach:#f7d9c8; --sunshine:#f7d9c8;
  --muted:#53656b; --line:#d6c7b6;
  --display:"Bricolage Grotesque",Arial,sans-serif; --body:"Bricolage Grotesque",Arial,sans-serif;
  --header-height:84px; --section-space:clamp(36px,5vw,72px); --radius:8px;
}
body { font-family:var(--body); font-size:1rem; line-height:1.65; font-weight:400; font-optical-sizing:auto; }
button,input,textarea,select { font-family:var(--body); }
h1,h2,h3 { font-family:var(--display); font-weight:500; line-height:1.12; letter-spacing:-.025em; text-wrap:balance; }
:is(.property-page,.regional-page,.about-page) :is(h1,h2,h3) { letter-spacing:-.025em; font-weight:500; }
.eyebrow { color:var(--sea); font-weight:600; font-size:.875rem; letter-spacing:.07em; line-height:1.5; }
.region-intro h1 { font-size:clamp(2.8rem,5.1vw,5.25rem); max-width:18ch; line-height:1.06; }
.region-title-prefix { display:block; font-size:.38em; font-weight:450; letter-spacing:-.015em; line-height:1.4; margin-bottom:.3em; color:var(--sea); }
.region-title-place { display:block; }
.regional-home-heading h2 { font-size:clamp(2.25rem,3.8vw,3.8rem); line-height:1.13; }
.property-masthead h1 { font-size:clamp(2.5rem,4.7vw,4rem); line-height:1.06; max-width:13ch; text-wrap:balance; }
.about-name h1 { font-size:clamp(2.5rem,4.7vw,4rem); line-height:1.08; }
.gallery-heading h2,.tour-heading h2,.section-heading h2,.inquiry-intro h2,.neighborhood-heading h2,.location-copy h2 { font-size:clamp(1.75rem,2.6vw,2.25rem); line-height:1.13; }
.regional-facts dd,.fact-strip strong { font-family:var(--body); font-weight:500; font-variant-numeric:lining-nums tabular-nums; }
.room-details summary,.postcard-caption strong,.neighborhood-home-picker button,.choice-caption strong { font-family:var(--display); font-weight:600; }

/* The selected emblem stays intact and in full color. */
.brand-lockup { gap:0; line-height:0; }
.brand-lockup__emblem { display:block; width:68px; height:68px; object-fit:contain; }
.site-header { min-height:var(--header-height); padding:5px 4.5vw; border-top:4px solid var(--coral); border-bottom:1px solid var(--line); background:var(--paper); grid-template-columns:auto minmax(0,1fr) auto; gap:28px; }
.site-header .brand-lockup__emblem { mix-blend-mode:multiply; }
.regional-brand { align-items:center; }
.header-nav { gap:24px; justify-self:center; }
.header-nav a { font-size:.9375rem; }
.header-nav a:hover { color:var(--sea); }
.header-contact { gap:12px; }
.location-switch>small { color:var(--sea); font-size:.875rem; }
.header-mobile-location { color:var(--muted); }
.welcome-header { min-height:144px; padding:6px 5vw; background:var(--paper); border-top:4px solid var(--coral); border-bottom:0; }
.welcome-header .brand-lockup__emblem { width:132px; height:132px; mix-blend-mode:multiply; }
.welcome-header .welcome-about { color:var(--ink); font-size:1rem; }
.site-footer { background:var(--paper); color:var(--ink); border-top:4px solid var(--coral); padding-top:42px; grid-template-columns:1.4fr 1fr 1fr; }
.footer-mark .brand-lockup__emblem { width:120px; height:120px; padding:0; border-radius:0; mix-blend-mode:multiply; }
.site-footer a { color:var(--ink); }
.site-footer .footer-legal,.site-footer .footer-links a,.site-footer .footer-social a { border-color:var(--line); }
.site-footer .footer-social p { color:var(--sea); }
.site-footer .motion-toggle { color:var(--ink); border-color:var(--line); }
.site-footer :focus-visible { outline-color:var(--sea); }
.footer-links,.footer-social { font-size:1rem; }

/* Orange for emphasis, navy for reading, warm paper around the photographs. */
.header-contact,.button-solid,.primary-link { background:var(--sea); border:1px solid var(--sea); color:#fffaf1; border-radius:8px; box-shadow:none; min-height:48px; font-size:.9375rem; font-weight:550; }
.header-contact:hover,.button-solid:hover,.primary-link:hover { background:var(--ink); border-color:var(--ink); box-shadow:none; }
.text-button { color:var(--sea); font-weight:500; gap:16px; }
.text-button:hover { color:var(--ink); }
.mobile-menu summary { border:1px solid var(--ink); border-radius:8px; background:var(--paper); font-size:1rem; font-weight:500; }
.mobile-menu nav { border:1px solid var(--ink); border-radius:var(--radius); }
.mobile-menu nav a { font-size:1rem; }
.area-jump { border:1px solid var(--sea); border-radius:100px; background:var(--paper); box-shadow:none; color:var(--sea); font-weight:500; font-size:.9375rem; padding:10px 18px; }
.area-jump:hover { background:var(--shallows); }
:focus-visible { outline:3px solid var(--sea); outline-offset:5px; }

/* State selector with a direct description of the rentals. */
.location-welcome { background:var(--paper); }
.welcome-main { padding-top:24px; padding-bottom:36px; }
.welcome-intro { width:100%; padding:0 36px 30px; }
.welcome-intro h1 { font-size:clamp(1.75rem,3vw,2.75rem); font-weight:500; letter-spacing:-.025em; line-height:1.16; max-width:24ch; }
.welcome-intro p { max-width:58ch; color:var(--muted); margin-top:14px; font-size:1rem; }
.location-choices { gap:0; }
.location-choice,.location-choice+.location-choice { border:0; border-radius:0; background:transparent; box-shadow:none; padding:0 36px; }
.location-choice+.location-choice { border-left:1px solid var(--line); }
.location-choice:hover,.location-choice:focus-visible { box-shadow:none; }
.choice-visual { height:clamp(270px,38svh,370px); }
.choice-details { background:transparent; border-top:2px solid var(--ink); border-radius:0; padding:18px 0 0; }
.location-choice:hover .choice-details { border-top-color:var(--coral); }
.choice-meta { padding:0; }
.location-choice .choice-caption strong { font-family:var(--display); font-weight:600; letter-spacing:-.035em; font-size:clamp(1.85rem,3vw,3rem); }
.choice-state-code { background:transparent; box-shadow:none; border:0; padding:0; font-weight:600; color:var(--sea); }
.location-choice .choice-action { font-size:1rem; font-weight:500; border-color:var(--line); }
.location-choice .choice-action>span { background:var(--lagoon); color:var(--ink); border:1px solid var(--ink); box-shadow:none; }
.location-choice:hover .choice-action>span,.location-choice:focus-visible .choice-action>span { background:var(--ink); color:var(--paper); }
.state-city-pin circle:first-child { fill:var(--coral); }
.welcome-footer { background:var(--paper); border-color:var(--line); font-size:.9375rem; }

/* Consistent titles and photographic framing across every home. */
.region-intro { background:var(--paper); padding:38px 4.5vw 30px; align-items:end; }
.region-intro .eyebrow { margin-bottom:14px; }
.region-intro-tools { padding-bottom:6px; }
.region-home-count { color:var(--muted); }
.regional-homes { padding:28px 4.5vw var(--section-space); }
.regional-home { grid-template-areas:'heading heading' 'photo info'; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); grid-template-rows:auto auto; gap:24px 4.5vw; }
.regional-home:nth-child(even) { grid-template-areas:'heading heading' 'info photo'; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); }
.regional-home+.regional-home { border-color:var(--line); margin-top:44px; padding-top:44px; }
.regional-home-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:0 24px; padding-top:4px; }
.regional-home-heading .eyebrow { grid-column:1/-1; }
.regional-home-heading .regional-address { margin:0 0 4px; max-width:30ch; }
.regional-home-copy { align-self:center; }
.regional-address { font-size:1rem; }
.regional-description { max-width:45ch; line-height:1.7; }
.regional-home-photo,.property-hero { border:0; border-radius:var(--radius); box-shadow:none; }
.regional-home-photo { aspect-ratio:1.45; }
.regional-photo-count { background:var(--paper); border:1px solid var(--line); border-radius:100px; transform:none; font-weight:500; }
.regional-photo-tabs { gap:10px; padding-top:12px; }
.regional-photo-tabs button { border-radius:8px; font-size:.875rem; }
.regional-photo-tabs button[aria-pressed=true] { border:1px solid var(--sea); background:var(--shallows); }
.regional-photo-tabs button img { border-radius:5px; }
.regional-facts,.fact-strip { border-color:var(--line); }
.regional-facts dd,.fact-strip strong { color:var(--ink); }
.regional-actions .text-button { font-size:.9375rem; }
.property-opening { padding-top:40px; padding-bottom:44px; gap:4vw; background:var(--paper); border-bottom:1px solid var(--line); }
.property-masthead { gap:18px; }
.property-hero img { aspect-ratio:1.4; max-height:none; }
.property-rental-status { width:100%; }
.property-rental-status .rental-confirmation { margin-top:0; }
.rental-availability strong { color:var(--ink); font-weight:550; }
.property-top-actions .button-solid,.property-top-actions .text-button { font-size:.9375rem; }
.property-nav,.property-page .property-nav { top:var(--header-height); border-bottom:1px solid var(--line); background:var(--paper); gap:24px; }
.property-nav .property-nav-inquiry { border-radius:8px; background:var(--sea); }
.property-nav a { font-size:.9375rem; font-weight:500; }
.property-nav a[aria-current=location]:not(.property-nav-inquiry) { color:var(--sea); text-decoration:underline; text-underline-offset:8px; }
.property-intro { display:block; padding-top:28px; padding-bottom:12px; max-width:1080px; }
.property-intro>.eyebrow { display:none; }
.property-intro>div { max-width:72ch; }
.property-gallery,.property-details { padding-top:var(--section-space); padding-bottom:var(--section-space); }
.gallery-collage { border:0; gap:8px; border-radius:var(--radius); background:transparent; }
.gallery-filters button { border-radius:100px; font-size:.9375rem; }
.gallery-view-all,.tour-view-group { color:var(--sea); }
.tour-group-photo { border:0; border-radius:8px; }
.room-details { border-color:var(--line); }
.room-details .tour-group-copy h3 { font-family:var(--display); font-weight:550; font-size:1.5rem; }
.property-film { border-top:1px solid var(--line); }
.property-film__frame { border:0; border-radius:var(--radius); box-shadow:none; background:var(--ink); }
.property-film__copy h2 { font-size:clamp(1.8rem,3vw,3rem); font-weight:500; }
.detail-grid,.detail-grid div { border-color:var(--line); }
.detail-grid span { color:var(--sea); font-size:.9375rem; }
.detail-grid strong { font-weight:400; }

/* Postcards keep the playful accent in the local guides. */
.neighborhood-guide,.neighborhood-guide--augusta { background:var(--shallows); border-top:1px solid var(--line); padding-top:var(--section-space); padding-bottom:30px; }
.neighborhood-heading .eyebrow { background:none; border:0; border-radius:0; transform:none; padding:0; color:var(--sea); }
.coastal-mascot { display:none; }
.postcard { border:1px solid var(--ink); border-radius:var(--radius); background:var(--paper); box-shadow:2px 3px 0 #123d4b20; }
.postcard[aria-pressed=true] { border-color:var(--sea); box-shadow:3px 4px 0 var(--coral); }
.postcard-caption strong { font-weight:550; font-size:clamp(1.15rem,1.65vw,1.6rem); }
.postcard-tag,.postcard--2 .postcard-tag,.postcard--3 .postcard-tag { background:var(--paper); color:var(--ink); border:0; font-size:.875rem; font-weight:500; }
.postcard[aria-pressed=true] .postcard-open { background:var(--sea); color:white; }
.neighborhood-selection { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); }
.neighborhood-place-detail h3 { font-size:clamp(1.65rem,2.6vw,2.5rem); }
.neighborhood-home-picker button { background:var(--paper); border:1px solid var(--line); border-radius:8px; font-size:1.125rem; font-weight:500; }
.neighborhood-home-picker button[aria-pressed=true] { border-color:var(--ink); }
.neighborhood-pin--selected { background:var(--lagoon); box-shadow:0 0 0 4px #df624833; }
.neighborhood-pin { font-family:var(--body); font-weight:600; }
.neighborhood-map .leaflet-control-attribution { background:#fffaf1ee; }
.map-legend { background:var(--paper); }
.neighborhood-map-shell { border-color:var(--line); }
.postcard-dialog { border:1px solid var(--ink); border-radius:var(--radius); box-shadow:0 16px 60px #123d4b40; }

/* Contact and forms share the calm framing of the property details. */
.regional-contact { background:var(--sand); padding-top:38px; padding-bottom:38px; }
.regional-contact h2 { font-size:clamp(1.85rem,3vw,3rem); }
.regional-contact>img,.inquiry-person img { border:3px solid var(--paper); outline:1px solid var(--line); }
.inquiry-section { background:var(--sand); padding-top:var(--section-space); padding-bottom:var(--section-space); border-top:1px solid var(--line); }
.inquiry-form { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; gap:20px; }
.inquiry-form label>span { font-size:1rem; font-weight:450; }
.inquiry-form input,.inquiry-form textarea,.inquiry-form select { background:#fffdf9; border:1px solid #9caaa8; border-radius:6px; min-height:50px; font-size:1rem; }
.inquiry-form input:focus,.inquiry-form textarea:focus,.inquiry-form select:focus { border-color:var(--sea); }
.inquiry-person { margin-bottom:24px; }
.inquiry-property { color:var(--sea); font-size:1.2rem; margin-top:16px; }
.form-help { color:var(--muted); font-size:.875rem; }
.form-status { font-size:1rem; }
.form-status--sent { padding:12px 16px; border-left:3px solid var(--ink); background:var(--mist); }
.form-status--error { color:#9a342c; }
.inquiry-form__submit { align-items:flex-start; flex-wrap:wrap; }
.mobile-property-inquiry { background:var(--sea); font-size:1rem; }
.about-profile { background:var(--paper); padding-top:var(--section-space); padding-bottom:var(--section-space); }
.about-profile figure { border:0; outline:0; transform:none; border-radius:var(--radius); box-shadow:none; }
.about-related { background:var(--shallows); border-top:1px solid var(--line); }
.about-home-card,.about-location-card { border:1px solid var(--line); border-radius:var(--radius); box-shadow:none; background:var(--paper); }
.about-home-card>img,.about-location-card>img { border-radius:8px; }

#overview,#film,#gallery,#rooms,#details,#location,#inquiry,#area-map { scroll-margin-top:calc(var(--header-height) + 84px); }
.regional-homes,.neighborhood-guide,.regional-contact { scroll-margin-top:calc(var(--header-height) + 20px); }
@media(max-width:1100px) {
  .region-intro { gap:24px; }
  .region-intro-tools { flex-direction:column; align-items:flex-end; gap:12px; }
  .header-location-tools { gap:14px; }
}
@media(max-width:760px) {
  :root { --header-height:76px; }
  .site-header { min-height:var(--header-height); padding:5px 5vw; }
  .site-header .brand-lockup__emblem { width:60px; height:60px; }
  .regional-brand { align-items:center; }
  .regional-header .header-mobile-location { margin-left:0; font-size:.8125rem; text-align:center; }
  .welcome-header { min-height:108px; justify-content:center; }
  .welcome-header .brand-lockup__emblem { width:96px; height:96px; }
  .welcome-header .welcome-about { position:absolute; right:5vw; }
  .welcome-main { padding-top:16px; padding-bottom:24px; }
  .welcome-intro { padding:0 12px 26px; }
  .welcome-intro h1 { max-width:23ch; font-size:1.8rem; }
  .welcome-intro p { margin-top:12px; }
  .location-choices { gap:0; }
  .location-choice,.location-choice+.location-choice { padding:0 12px; border-radius:0; box-shadow:none; }
  .choice-meta { padding:0; }
  .choice-visual { height:clamp(205px,30svh,270px); }
  .location-choice .choice-caption strong { font-size:clamp(1.4rem,5.7vw,2.3rem); }
  .location-choice .choice-city { font-size:1rem; }
  .location-choice .choice-action { font-size:.875rem; }
  .choice-details { padding:16px 0 0; border-radius:0; }
  .footer-mark .brand-lockup__emblem { width:108px; height:108px; }
  .site-footer { grid-template-columns:1fr 1fr; }
  .region-intro { display:block; padding:28px 5vw 20px; }
  .region-intro h1 { font-size:clamp(2.5rem,10.3vw,4rem); max-width:16ch; }
  .region-intro-tools { flex-direction:row; align-items:center; justify-content:space-between; gap:14px; margin-top:22px; padding:0; }
  .region-intro .area-jump { font-size:.875rem; padding:9px 14px; }
  .regional-homes { padding:20px 5vw 40px; }
  .regional-home,.regional-home:nth-child(even) { grid-template-columns:minmax(0,1fr); grid-template-areas:'heading' 'photo' 'info'; gap:18px; }
  .regional-home-heading { display:block; }
  .regional-home-heading .regional-address { margin:10px 0 0; max-width:none; }
  .regional-home-heading h2 { font-size:clamp(2.3rem,9vw,3rem); }
  .regional-address { font-size:.9375rem; }
  .regional-home-photo { aspect-ratio:1.4; }
  .regional-home+.regional-home { padding-top:32px; margin-top:32px; }
  .regional-actions { gap:12px 18px; }
  .regional-actions .text-button { font-size:.9375rem; }
  .regional-photo-tabs button { font-size:.875rem; }
  .property-opening { padding:28px 5vw 30px; }
  .property-masthead h1 { font-size:clamp(2.8rem,11vw,4rem); }
  .property-hero img { aspect-ratio:auto; max-height:none; }
  .property-top-actions .button-solid,.property-top-actions .text-button { font-size:.9375rem; }
  .property-nav,.regional-header:has(.header-mobile-location)~.property-nav,.property-page .property-nav { top:var(--header-height); gap:20px; }
  .property-nav a { font-size:.875rem; }
  .property-nav .property-nav-inquiry { padding:11px 14px; }
  .gallery-heading h2,.section-heading h2,.inquiry-intro h2,.neighborhood-heading h2 { font-size:1.8rem; }
  .postcard-caption strong { font-size:1.25rem; }
  .neighborhood-selection { padding:20px 16px; }
  .neighborhood-home-picker { flex-wrap:wrap; }
  .neighborhood-home-picker button { min-width:130px; font-size:1rem; }
  .inquiry-form { padding:0; }
  .inquiry-form__submit .button-solid { width:100%; }
  .about-name h1 { font-size:clamp(2.7rem,10.5vw,4rem); }
  .about-profile figure { margin:0; }
  .footer-links,.footer-social { font-size:.9375rem; }
}
@media(max-width:380px) {
  .location-choice,.location-choice+.location-choice { padding-left:9px; padding-right:9px; }
  .location-choice .choice-caption strong { font-size:1.35rem; }
  .location-choice .choice-action { white-space:normal; }
  .regional-actions { align-items:stretch; flex-direction:column; }
  .regional-actions .text-button { align-self:flex-start; }
}
@media(prefers-reduced-motion:reduce) { .location-welcome .location-choice .state-photo { transition:none; } }

/* Property layout: address, photographs, rental facts, then supporting detail. */
.property-opening { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); grid-template-areas:'title photo' 'summary photo'; gap:24px 4vw; align-items:start; }
.property-masthead { grid-area:title; gap:12px; }
.property-masthead h1 { margin:0; }
.property-address { max-width:none; margin:0; }
.property-hero { grid-area:photo; position:relative; align-self:stretch; min-height:380px; }
.property-hero img { height:100%; width:100%; object-fit:cover; }
.property-photo-link { position:absolute; right:16px; bottom:16px; background:var(--paper); color:var(--ink); border-radius:8px; padding:10px 16px; font-size:.9375rem; }
.property-summary { grid-area:summary; min-width:0; }
.property-summary .fact-strip { margin:20px 0 0; border-top:1px solid var(--line); }
.property-summary .fact-strip div { flex-direction:column; align-items:flex-start; gap:5px; padding:14px 12px; }
.property-summary .fact-strip div:first-child { padding-left:0; }
.property-summary .fact-strip strong { font-size:1.65rem; }
.property-feature { margin:18px 0; font-size:1rem; line-height:1.6; }
.rental-suite-note { margin:0 0 20px; font-size:.875rem; color:var(--muted); }
.rental-suite-note a { text-decoration:underline; text-underline-offset:3px; }
.property-page .property-nav .property-nav-inquiry { border-radius:8px; background:var(--sea); color:var(--paper); }
.mobile-property-inquiry[hidden] { display:none!important; }
.gallery-preview { display:grid; grid-template-columns:1.65fr 1fr; grid-template-rows:180px 180px; gap:8px; }
.gallery-preview-photo { position:relative; border:0; padding:0; overflow:hidden; border-radius:8px; background:var(--sand); cursor:pointer; }
.gallery-preview-photo--1 { grid-row:1 / 3; }
.gallery-preview-photo img { object-fit:cover; transition:transform .2s ease; }
.gallery-preview-photo:hover img { transform:scale(1.02); }
.lightbox-dialog { grid-template-rows:auto auto minmax(0,1fr) auto; }
.lightbox-toolbar { grid-template-columns:1fr auto auto auto; }
.lightbox-room { display:flex; align-items:center; gap:10px; font-size:.875rem; }
.lightbox-room select { background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:10px; color:var(--ink); max-width:240px; min-height:44px; }
.lightbox-room-note { font-size:.875rem; line-height:1.5; max-width:75ch; margin:0 0 12px; color:var(--paper); }
.lightbox-room-note:empty { margin:0; }
.lightbox-room-note a { text-decoration:underline; }
.property-location-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:36px; }
.property-location-copy h3 { font-size:1.125rem; margin:28px 0 12px; }
.property-location-copy ul { list-style:none; padding:0; margin:0; }
.property-location-copy li { border-bottom:1px solid var(--line); }
.property-location-copy li a { display:block; padding:12px 0; }
.property-location-guide .neighborhood-map { height:340px; min-height:340px; flex:none; }
.property-area-guide { margin-top:28px; border-top:1px solid var(--line); }
.property-area-guide>summary { padding:20px 0; font-size:1.125rem; cursor:pointer; }
.property-area-guide .neighborhood-selection { display:block; }
.property-area-guide .neighborhood-more { display:none; }
.about-contact-address { display:block; margin-top:14px; font-size:.9375rem; overflow-wrap:anywhere; }
.section-heading .eyebrow { display:none; }
.section-heading { display:block; }
@media(max-width:900px) {
  .property-opening { grid-template-columns:minmax(0,1fr); grid-template-areas:'title' 'photo' 'summary'; gap:20px; }
  .property-hero { min-height:0; }
  .property-hero img { aspect-ratio:1.5; height:auto; }
  .property-summary .fact-strip div { align-items:center; }
  .property-summary .fact-strip div:first-child { padding-left:12px; }
  .property-location-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media(max-width:760px) {
  .regional-brand { flex-direction:row; gap:10px; }
  .regional-header .header-mobile-location { text-align:left; max-width:100px; line-height:1.3; }
  .property-masthead h1 { font-size:clamp(2.1rem,9vw,3rem); }
  .property-opening { padding-top:22px; }
  .property-photo-link { right:10px; bottom:10px; padding:8px 12px; }
  .gallery-heading { flex-direction:row; align-items:center; flex-wrap:wrap; }
  .gallery-preview { grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:6px; }
  .gallery-preview-photo { aspect-ratio:1.4; }
  .gallery-preview-photo--1 { grid-column:1 / 3; grid-row:1; aspect-ratio:1.6; }
  .lightbox-toolbar { grid-template-columns:1fr auto auto; }
  .lightbox-room { grid-row:2; grid-column:1 / -1; }
  .lightbox-room select { flex:1; max-width:none; }
  .lightbox-toolbar .lightbox-title { font-size:1rem; }
  .lightbox-stage { grid-template-columns:1fr; position:relative; }
  .lightbox-figure { grid-area:1 / 1; }
  .lightbox-nav { position:absolute; z-index:2; top:45%; width:44px; background:#123d4bdd; }
  .lightbox-nav-previous { left:0; }
  .lightbox-nav-next { right:0; }
  .detail-grid div { grid-template-columns:100px minmax(0,1fr); gap:16px; padding:16px 0; }
  .property-location-guide .neighborhood-map { height:280px; min-height:280px; }
  .property-area-guide .neighborhood-heading { margin-top:16px; }
  .property-location-copy h3 { margin-top:22px; }
  .inquiry-section { gap:24px; }
  .inquiry-person { margin-bottom:16px; }
  .inquiry-form { gap:16px; }
}
@media(prefers-reduced-motion:reduce) { .gallery-preview-photo img { transition:none; } }
