/* PlaceWorth 1.11.0 — matte surfaces and stable interactions. */
:root {
  --malt: #2A2312;
  --turmeric: #FFBE0B;
  --light-turmeric: #FFD254;
  --pink-hover: var(--light-turmeric);
  --deep: var(--light-turmeric);
  --panel: #352D1B;
  --panel-edge: rgba(255, 210, 84, .19);
  --panel-shadow: 0 18px 42px -22px rgba(12, 9, 3, .66), inset 0 1px 0 rgba(255, 224, 140, .08);
  --motion: cubic-bezier(.22, .68, .18, 1);
}

/* Page navigation controls its own scroll position between transition snapshots. */
html { scroll-behavior: auto; }
.site-header { view-transition-name: site-header; }
#siteHeader { position: sticky; top: 0; background: var(--malt); }
#siteHeader .header-inner {
  position: relative; display: grid; align-items: center;
  grid-template-columns: minmax(0, 1fr) 44px auto;
  gap: 4px 8px; padding-block: 10px 6px;
}
#siteHeader .brand { grid-column: 1; grid-row: 1; font-size: 25px; width: fit-content; }
#siteHeader .header-actions { display: flex; grid-column: 3; grid-row: 1; margin: 0; gap: 6px; }
#siteHeader .header-cta { min-height: 44px; padding-inline: 17px; font-size: 14px; }
#siteHeader .saved-link { width: 44px; padding: 0; justify-content: center; }
#siteHeader .saved-label, #siteHeader .saved-count { display: none; }
#siteHeader .header-search-toggle { display: grid; grid-column: 2; grid-row: 1; }
#siteHeader .search-close { display: grid; width: 32px; height: 32px; min-width: 32px; border: 0; background: transparent; }
#siteHeader .kbd { display: none; }
.header-categories { min-width: 0; display: flex; align-items: center; gap: 4px; }
#siteHeader .header-categories {
  grid-column: 1 / -1; grid-row: 2; overflow-x: auto;
  overscroll-behavior-x: contain; scrollbar-width: none; padding-block: 3px;
}
.header-categories::-webkit-scrollbar { display: none; }
.header-category {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; min-height: 44px; padding: 0 12px; border-radius: 12px;
  color: var(--ink-2); font-size: 13px; font-weight: 500; white-space: nowrap;
  transition: background-color .18s, color .18s, box-shadow .18s;
}
.header-category:hover { color: var(--light-turmeric); background: rgba(255, 210, 84, .05); }
.header-category[aria-current="page"] {
  color: var(--light-turmeric); background: rgba(255, 210, 84, .085);
  box-shadow: none;
}
#siteHeader .search {
  display: none; position: absolute; z-index: 3; top: 63px; left: var(--gutter); right: var(--gutter);
  width: auto; margin: 0; height: 47px; padding: 0 12px;
  grid-column: auto; grid-row: auto; background: #211C10;
  border: 1px solid var(--panel-edge); box-shadow: inset 0 2px 6px rgba(0, 0, 0, .13);
}
#siteHeader.is-search-open .search { display: flex; }
#siteHeader.is-search-open .header-categories { visibility: hidden; }
#siteHeader .search input { font-size: 16px; }
#siteHeader .search:hover { border-color: #8C743B; }
#siteHeader .search:focus-within { background: #211C10; border-color: var(--turmeric); box-shadow: 0 0 0 3px rgba(255, 190, 11, .13); }
@media (min-width: 1180px) {
  #siteHeader .header-inner { display: flex; flex-wrap: nowrap; gap: 12px; padding-block: 12px; }
  #siteHeader .brand { font-size: 26px; flex-shrink: 0; }
  #siteHeader .header-categories { flex: 1 1 auto; justify-content: center; padding: 0; overflow: visible; visibility: visible; }
  #siteHeader .header-category { font-size: 13px; padding-inline: 9px; }
  #siteHeader .header-search-toggle, #siteHeader .search-close { display: none; }
  #siteHeader .search { display: flex; position: relative; inset: auto; order: 0; flex: 0 0 170px; width: 170px; height: 42px; }
  #siteHeader .search input { font-size: 13px; }
  #siteHeader .header-actions { flex-shrink: 0; }
}
@media (min-width: 1440px) {
  #siteHeader .header-inner { gap: 18px; }
  #siteHeader .header-category { padding-inline: 11px; font-size: 14px; }
}
@media (max-width: 479px) {
  #siteHeader .header-inner { padding-inline: 14px; column-gap: 2px; }
  #siteHeader .brand { font-size: 21px; }
  #siteHeader .header-actions { gap: 2px; }
  #siteHeader .header-cta { font-size: 12px; padding-inline: 12px; }
  #siteHeader .header-category { font-size: 12px; padding-inline: 10px; }
  #siteHeader .search { left: 14px; right: 14px; }
}

/* The same warm edge and corner light identifies all raised surfaces. */
.filter-panel, .contact-card, .detail-body, dialog, .empty {
  background: radial-gradient(ellipse at 100% 0%, rgba(255, 210, 84, .09), transparent 66%), linear-gradient(145deg, #39311F, #302919);
  border: 1px solid var(--panel-edge); box-shadow: var(--panel-shadow);
}
.filter-panel { border-radius: 22px; }
.filter-head { min-height: 44px; }
.detail-body { padding: clamp(20px, 2.2vw, 28px); border-radius: 24px; }
.contact-card { border-radius: 24px; }
.contact-note { background: rgba(20, 15, 5, .24); border: 1px solid rgba(255, 210, 84, .07); }
.avatar { background: rgba(255, 210, 84, .1); border: 1px solid var(--panel-edge); }
dialog { box-shadow: 0 34px 100px -24px rgba(0, 0, 0, .65), inset 0 1px 0 rgba(255, 224, 140, .08); }
dialog::backdrop { background: rgba(17, 13, 6, .64); backdrop-filter: none; -webkit-backdrop-filter: none; }
.contact-bar { background: #302919; border-color: var(--panel-edge); box-shadow: 0 -8px 28px rgba(0, 0, 0, .18); }

.owners-card {
  background: radial-gradient(ellipse at 100% 0%, #FFE390 0%, rgba(255, 210, 84, .76) 32%, transparent 71%), linear-gradient(145deg, #FFBE0B, #EBAD0B);
  color: var(--malt); border: 1px solid rgba(255, 224, 128, .75);
  box-shadow: 0 24px 60px -30px rgba(8, 6, 1, .7), inset 0 1px 0 rgba(255, 244, 196, .62);
  padding-bottom: clamp(32px, 5vw, 64px);
}
.owners-kicker { color: #51400C; }
.owners-copy h2 { color: var(--malt); }
.owners-copy p, .owners-steps p { color: #433710; }
.owners-steps h3 { color: var(--malt); }
.owners-card .step-n { background: rgba(42, 35, 18, .1); border: 1px solid rgba(42, 35, 18, .14); color: var(--malt); }
.owners-copy .btn, .alerts .btn {
  background: var(--malt); color: var(--light-turmeric); border: 1px solid rgba(42, 35, 18, .2);
  box-shadow: 0 6px 16px -8px rgba(42, 35, 18, .5), inset 0 1px 0 rgba(255, 224, 140, .12);
}
.owners-copy .btn:hover, .alerts .btn:hover { background: #3C3118; color: #FFE18A; box-shadow: 0 8px 20px -8px rgba(42, 35, 18, .5); }
.alerts-inner {
  background: radial-gradient(ellipse at 100% 0%, #FFE69B, transparent 70%), var(--light-turmeric);
  color: var(--malt); border: 1px solid rgba(255, 224, 128, .8);
  box-shadow: 0 18px 40px -26px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 245, 204, .6);
}
.alerts-copy p, .alerts-consent { color: #534216; }
.alerts .input { background-color: rgba(42, 35, 18, .055); color: var(--malt); border-color: rgba(42, 35, 18, .3); }
.alerts .input::placeholder { color: #6B5420; }
.alerts .input:focus { border-color: var(--malt); box-shadow: 0 0 0 3px rgba(42, 35, 18, .12); }
.alerts .input:hover:not(:focus) { border-color: #6B5420; }
.alerts-note.is-ok { color: #175D34; }
.alerts-note.is-error { color: #7A241D; }
.alerts a:focus-visible, .alerts button:focus-visible { outline-color: var(--malt); }

/* Photo and details form one card. No decoration is placed over the property. */
.place {
  padding: 6px; border-radius: 25px; overflow: hidden;
  background: radial-gradient(ellipse at 100% 100%, rgba(255, 210, 84, .065), transparent 65%), linear-gradient(145deg, #3A321F, #302919);
  border: 1px solid rgba(255, 210, 84, .2);
  box-shadow: 0 15px 34px -22px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 229, 159, .08);
  transition: border-color .22s, box-shadow .26s, transform .28s var(--motion);
}
.place .frame { width: 100%; min-width: 0; flex: 0 0 auto; border-radius: 19px; }
.frame { background-color: #302919; }
.place .frame > img, .place:hover .frame > img {
  width: 100%; height: 100%; object-fit: cover;
  object-position: calc(var(--x, .5) * 100%) 50%;
  transform: none; transition: none; will-change: auto;
}
.place-copy { padding: 16px 12px 14px; }
.place-title { line-height: 1.28; }
.place-contact { border-color: rgba(255, 210, 84, .13); }
.place-contact > span { min-width: 0; overflow-wrap: anywhere; }
.place .save { top: 12px; right: 12px; }
.place-link::after { border-radius: 24px; }
.place:has(.place-link:focus-visible) { outline: 2px solid var(--turmeric); outline-offset: 3px; }
.place:has(.place-link:focus-visible) .frame { outline: none; }
.detail-film .frame { view-transition-name: none; border: 1px solid var(--panel-edge); box-shadow: var(--panel-shadow); }
.place .frame-progress { display: none; }
@media (hover: hover) and (pointer: fine) {
  .place:hover { transform: translateY(-3px); border-color: rgba(255, 210, 84, .38); box-shadow: 0 22px 42px -22px rgba(0, 0, 0, .72), inset 0 1px 0 rgba(255, 229, 159, .12); }
  .place:hover .frame { box-shadow: none; }
}
@media (max-width: 639px) {
  .place { padding: 5px; border-radius: 21px; }
  .place .frame { border-radius: 16px; }
  .place-copy { padding: 13px 8px 11px; }
  .place .save { top: 7px; right: 7px; }
  .place-link::after { border-radius: 20px; }
}

/* One focus treatment: hovering an already focused control never adds white. */
.select, .input {
  background-color: #2B2415; color: var(--ink); border-color: #897344;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, .12);
  transition: border-color .18s, box-shadow .18s, background-color .18s;
}
.select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFD254' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; }
.select:hover:not(:focus), .input:hover:not(:focus) { border-color: #BB9951; }
.select:focus, .select:focus:hover, .input:focus, .input:focus:hover { outline: none; border-color: var(--turmeric); box-shadow: 0 0 0 3px rgba(255, 190, 11, .16), inset 0 1px 3px rgba(0, 0, 0, .1); }
.select option { background: #302919; color: var(--ink); }
.alerts .input:focus, .alerts .input:focus:hover { border-color: var(--malt); box-shadow: 0 0 0 3px rgba(42, 35, 18, .12); }
.cat, .btn-quiet, .icon-btn, .tags li { border-color: var(--panel-edge); box-shadow: inset 0 1px 0 rgba(255, 224, 140, .045); }
.cat:hover, .btn-quiet:hover, .icon-btn:hover { background-color: #463A20; border-color: rgba(255, 210, 84, .38); }
.cat[aria-pressed="true"], .cat[aria-pressed="true"]:hover { background: var(--turmeric); color: var(--malt); border-color: var(--turmeric); }
.cat[aria-pressed="true"] .cat-count { background: rgba(42, 35, 18, .1); color: var(--malt); }
.check:hover .check-box { border-color: #BB9951; }
.check input:checked + .check-box, .check:hover input:checked + .check-box { border-color: var(--turmeric); }
.btn-pink { box-shadow: inset 0 1px 0 rgba(255, 245, 205, .35), 0 6px 18px -13px rgba(255, 190, 11, .4); }
.btn-pink:hover { background: var(--light-turmeric); box-shadow: inset 0 1px 0 rgba(255, 245, 205, .4), 0 8px 22px -13px rgba(255, 190, 11, .5); }
.active-filters { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 18px; }
#cards { overflow-anchor: none; }

/* Only route changes use page snapshots. Filters animate individual changed cards. */
::view-transition-group(*) { animation-duration: 340ms; animation-timing-function: var(--motion); }
::view-transition-group(film) { animation-duration: 360ms; }
::view-transition-old(root) { animation: 140ms ease-out both fade-out; }
::view-transition-new(root) { animation: 260ms 70ms var(--motion) both fade-in; }
::view-transition-group(site-header), ::view-transition-old(site-header), ::view-transition-new(site-header) { animation: none; mix-blend-mode: normal; }
::view-transition-old(film), ::view-transition-new(film) { height: 100%; object-fit: cover; animation-duration: 240ms; }
@media (prefers-reduced-motion: reduce) {
  .place:hover { transform: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
@media print {
  #siteHeader, .header-categories { display: none; }
  .detail-body, .contact-card, .place { background: white; box-shadow: none; border-color: #ccc; }
}

/* 1.9 — layout, consistent surfaces, and explicit catalogue states. */
:root { --surface-radius:24px; --control-radius:12px; --surface:#352D1B; }
.header-category[aria-current="page"]:hover { background:rgba(255,210,84,.12); color:var(--light-turmeric); box-shadow:none; }
.results-bar { align-items:center; margin-bottom:22px; min-height:44px; }
.results-heading { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.results-heading .result-count { margin:0; white-space:nowrap; color:var(--muted); font-size:14px; }
.results-tools,.sort { align-items:center; }
.content { min-width:0; }
#cards { align-items:stretch; }
#cards>li { min-width:0; }
.place { height:100%; display:flex; flex-direction:column; }
.place-copy { flex:1; display:flex; flex-direction:column; }
.place-contact { margin-top:auto; padding-top:14px; }
.place-specs { margin-bottom:12px; }
.place-title { min-height:2.56em; overflow-wrap:anywhere; }
.price-tag { max-width:calc(100% - 65px); line-height:1.2; white-space:normal; overflow-wrap:anywhere; }
.place-contact>span { white-space:normal; }
.cards:not(.cards-row) { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(min-width:760px){.cards:not(.cards-row){grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:900px) and (max-width:1199px){.workspace .cards:not(.cards-row){grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1400px){.workspace .cards:not(.cards-row){grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:539px){
  .cards:not(.cards-row){grid-template-columns:minmax(0,1fr);gap:24px;}
  .place-copy{padding:18px 15px 16px;}
  .place-title{font-size:21px;min-height:0;}
  .place-specs,.place-loc,.place-contact{font-size:14px;}
  .cards:not(.cards-row) .frame{max-height:490px;}
  .results-bar{display:block;margin-bottom:22px;}
  .results-heading{justify-content:space-between;gap:10px;}
  .results-tools{display:flex;justify-content:space-between;margin-top:14px;width:100%;}
  .sort{flex:1;min-width:0;justify-content:flex-end;}
  .sort select{width:100%;max-width:230px;height:44px;}
  .results-title{font-size:25px;}
}
.city-search{min-height:42px;margin:0 0 10px;font-size:14px;}
.city-list{max-height:238px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#897344 transparent;padding-right:5px;}
.city-list:focus-visible{outline:2px solid var(--turmeric);outline-offset:4px;border-radius:4px;}
.city-empty{font-size:13px;color:var(--muted);padding:8px 0;}
.city-list .check{min-height:38px;}
.fchip{font-size:12px;max-width:100%;overflow-wrap:anywhere;white-space:normal;}
.buyer-teaser,.document-card,.about-panel{
 background:radial-gradient(ellipse at 100% 0%,rgba(255,210,84,.055),transparent 65%),linear-gradient(145deg,#39311F,#302919);
 border:1px solid var(--panel-edge);box-shadow:var(--panel-shadow);border-radius:var(--surface-radius);
}
.buyer-teaser{padding:22px 18px;margin-top:20px;}
.buyer-kicker{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--light-turmeric);margin-bottom:8px;}
.buyer-teaser h3{font-size:20px;line-height:1.2;letter-spacing:-.025em;}
.buyer-teaser p:not(.buyer-kicker){font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0 16px;}
.buyer-teaser .btn{font-size:12px;padding:10px 12px;min-height:44px;gap:7px;width:100%;}
.buyer-teaser .i{width:15px;height:15px;flex-shrink:0;}
.buyer-mobile{display:none;}
@media(max-width:899px){.buyer-sidebar{display:none;}.buyer-mobile{display:block;}.buyer-mobile .buyer-teaser{margin-top:28px;padding:22px;}.buyer-mobile .btn{width:fit-content;}.buyer-mobile h3{font-size:22px;}}
.buyer-form{display:grid;gap:18px;margin-top:24px;}
.buyer-form label{font-size:14px;font-weight:500;}
.buyer-saved{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.buyer-saved input{accent-color:var(--turmeric);width:18px;height:18px;}
.buyer-form .alerts-note{margin:0;min-height:0;}
.buyer-form .form-note{margin:0;line-height:1.6;}
.buyer-form .alerts-note.is-ok{color:#B5DDB4;}
.buyer-form .alerts-note.is-error{color:#F2B6A0;}
.owners-card{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:28px;row-gap:38px;align-items:center;min-height:0;padding:clamp(30px,4.5vw,64px);}
.owners-copy{max-width:570px;position:relative;z-index:1;}
.owners-copy h2{font-size:clamp(38px,4.7vw,66px);line-height:1.06;}
.owners-copy p{max-width:48ch;}
.owners-art{position:relative;inset:auto;width:100%;max-width:440px;justify-self:center;align-self:center;pointer-events:none;}
.owners-art img{display:block;width:100%;height:auto;object-fit:contain;}
.owners-steps{grid-column:1/-1;max-width:none;width:100%;margin:0;padding-top:28px;border-top:1px solid rgba(42,35,18,.18);}
@media(max-width:719px){.owners-card{grid-template-columns:1fr;gap:28px;padding:30px 24px;}.owners-art{display:none;}.owners-copy h2{font-size:42px;}.owners-steps{padding-top:24px;}}
.contact-price{border-bottom:1px solid var(--panel-edge);padding-bottom:23px;margin-bottom:23px;}
.price-eyebrow{color:var(--muted);font-size:12px;margin-bottom:7px;}
.contact-price .detail-price{font-size:clamp(30px,2.8vw,40px);line-height:1.12;overflow-wrap:anywhere;}
.contact-price .detail-includes{font-size:12px;margin-top:7px;}
.detail-price-wrap{text-align:left;}
.detail-actions{justify-content:flex-start;}
.detail-price-mobile{padding:18px 20px;border:1px solid var(--panel-edge);border-radius:18px;background:var(--surface);margin:16px 0;}
@media(min-width:1200px){.detail-price-mobile{display:none;}.detail-head{align-items:center;}.detail-price-wrap{text-align:right;}.detail-actions{justify-content:flex-end;}.detail-grid{align-items:start;}.contact-card{position:sticky;top:calc(var(--header-h) + 24px);}}
@media(max-width:1199px){.contact-price{display:none;}.detail-head{display:block;}.detail-actions{margin-top:16px;}.detail-price-wrap{max-width:480px;}}
.load-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:28px;}
.load-note{width:100%;text-align:center;margin:0;font-size:13px;}
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;width:100%;margin-top:4px;}
.pagination a{display:grid;place-items:center;min-width:40px;min-height:40px;padding:8px 11px;border-radius:11px;border:1px solid transparent;color:var(--muted);font-size:14px;}
.pagination a:hover{background:#3B321F;color:var(--ink);}
.pagination a[aria-current="page"]{border-color:var(--panel-edge);background:#3B321F;color:var(--light-turmeric);}
.load-error{padding:20px;margin:18px 0;background:var(--surface);border:1px solid var(--panel-edge);border-radius:18px;}
.load-error p{margin:0 0 12px;}
.navigation-status{position:fixed;top:calc(var(--header-h) + 12px);left:50%;transform:translateX(-50%);z-index:70;max-width:calc(100% - 40px);padding:12px 18px;border:1px solid var(--panel-edge);border-radius:12px;background:#39311F;box-shadow:var(--panel-shadow);font-size:14px;}
button:disabled{cursor:wait;opacity:.7;}
.collection-paging{display:grid;justify-items:center;gap:16px;margin:30px 0;}
.collection-paging .load-error{width:100%;}
.static-page .alerts{max-width:var(--maxw);width:100%;margin:0 auto 64px;padding:0 var(--gutter);}
.static-page .alerts-inner{max-width:none;background:linear-gradient(145deg,#39311F,#302919);color:var(--ink);border:1px solid var(--panel-edge);padding:28px;border-radius:24px;}
.static-page .alerts-copy p,.static-page .alerts-consent{color:var(--muted);}
.static-page .alerts .input{background:#2B2415;color:var(--ink);border-color:#897344;}
.static-page .alerts .input::placeholder{color:var(--muted);}
.static-page .alerts-form{grid-template-columns:1fr;max-width:420px;}
.static-page .alerts .btn{color:var(--malt);background:var(--turmeric);}
.static-page .alerts .field{font-size:13px;}
.document-shell{width:100%;max-width:920px;margin:0 auto;padding:48px var(--gutter) 80px;}
.document-card{max-width:none;margin:0;padding:clamp(24px,4vw,52px);}
.document-card h1{font-size:clamp(38px,5vw,56px);}
.document-card h2{margin-top:34px;font-size:22px;}
.document-card p{font-size:16px;line-height:1.8;color:var(--ink-2);}
.document-card>p:first-of-type{font-size:13px;color:var(--muted);}
.about-layout{max-width:var(--maxw);padding:48px var(--gutter) 80px;margin:auto;}
.about-intro{padding:clamp(28px,5vw,64px);margin-bottom:24px;}
.about-intro h1{font-size:clamp(40px,5.7vw,72px);max-width:800px;line-height:1.06;letter-spacing:-.04em;}
.about-intro p{max-width:66ch;font-size:18px;line-height:1.7;color:var(--ink-2);margin-top:22px;}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.about-grid .about-panel{padding:32px;}
.about-grid h2{font-size:27px;letter-spacing:-.025em;}
.about-grid p{line-height:1.75;color:var(--ink-2);margin-top:15px;}
.about-contact{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.about-contact p{margin:10px 0 0;}
@media(max-width:639px){.about-grid{grid-template-columns:1fr;}.about-contact{display:block;}.about-contact .btn{margin-top:22px;}.about-grid .about-panel{padding:26px;}.about-layout,.document-shell{padding-top:28px;}.document-card h2{font-size:21px;}}
@media(prefers-reduced-motion:reduce){.navigation-status,.place{transition:none!important;}}

/* 1.10 — approved coastal hero and unified identity. */
:root { --ink:#F8F4E9; --brand-ivory:#F8F4E9; }
.brand-logo { display:block; width:100%; height:auto; }
#siteHeader .brand { width:166px; flex-shrink:0; line-height:1; }
.footer-brand { display:block; width:262px; max-width:100%; line-height:1; }
#siteHeader { border-bottom:1px solid rgba(255,210,84,.15); }
.hero-coast {
  position:relative; isolation:isolate; max-width:none; overflow:hidden;
  grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr); gap:32px;
  padding:190px max(var(--gutter),calc((100vw - 1360px)/2)) 64px;
  min-height:720px; background:#231F14;
}
.hero-geography { position:absolute; z-index:-2; inset:0; max-width:1600px; margin-left:auto; pointer-events:none; }
.hero-map { width:100%; height:auto; max-width:none; }
.hero-coast::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(35,31,20,.55),rgba(35,31,20,.16) 42%,transparent 70%),linear-gradient(0deg,#2A2312,transparent 6%);
}
.map-label circle { fill:#FFBE0B; }
.map-label text { fill:#E2C583; font:500 18px 'Inter',sans-serif; paint-order:stroke; stroke:#2A2312; stroke-width:2px; stroke-opacity:.5; stroke-linejoin:round; }
.map-fallback { position:absolute; inset:0; z-index:-2; width:100%; height:auto; }
.hero-coast .hero-copy { position:relative; z-index:1; max-width:744px; }
.hero-coast .hero-title { font-weight:700; font-size:clamp(70px,7.2vw,100px); line-height:1.025; letter-spacing:-.053em; margin:16px 0 20px; }
.hero-coast .hero-kicker { color:#D4CEBF; font-size:15px; }
.hero-coast .hero-kicker .i { color:var(--turmeric); }
.hero-coast .hero-lede { max-width:650px; font-size:18px; line-height:1.55; color:var(--brand-ivory); }
.hero-coast .hero-sub { max-width:475px; font-size:14px; line-height:1.6; color:#C9C1AF; margin-top:12px; }
.hero-coast .hero-actions { margin-top:26px; }
.hero-coast .reel { align-self:start; margin-top:-66px; margin-right:36px; --fw:clamp(268px,23vw,310px); }
.hero-coast .reel-frame .frame { border:1px solid rgba(248,244,233,.19); border-radius:22px; box-shadow:0 28px 60px -18px rgba(10,7,3,.62),inset 0 1px 0 rgba(255,210,84,.12); }
.hero-coast .reel-controls { margin-top:15px; }
.hero-coast .reel-type { color:var(--light-turmeric); }
.hero-coast .reel-name { font-size:23px; }
.hero-coast .reel-info { background:linear-gradient(180deg,transparent,#211B1875 34%,#211B18F2); }
.hero-coast .reel-link { background:var(--brand-ivory); color:var(--malt); border-color:transparent; }
.hero-coast .reel-link:hover { background:var(--light-turmeric); }
.hero-coast .reel-controls .icon-btn { background:rgba(42,35,18,.86); border:1px solid var(--panel-edge); }
.hero-coast .reel-frame[data-pos="prev"] { transform:translateX(-32%) rotate(-5deg) scale(.83); }
.hero-coast .reel-frame[data-pos="next"] { transform:translateX(32%) rotate(5deg) scale(.83); }
.coast-shine { fill:none; stroke:#FFEAB3; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:56 1000; stroke-dashoffset:60; opacity:0; animation:shore-pass 16s linear infinite; animation-play-state:paused; }
.coast-shine-halo { stroke:#FFBE0B; stroke-width:7; stroke-opacity:.24; }
.hero-coast[data-map-running="true"] .coast-shine { animation-play-state:running; }
@keyframes shore-pass {
  0% { stroke-dashoffset:60; opacity:0; }
  5% { opacity:.9; }
  63% { stroke-dashoffset:-1000; opacity:.9; }
  68%,100% { stroke-dashoffset:-1000; opacity:0; }
}
.map-tools { position:absolute; z-index:3; bottom:12px; left:max(var(--gutter),calc((100vw - 1360px)/2)); display:flex; align-items:center; gap:12px; }
.map-credit { font-size:10px; color:#C9B990; text-underline-offset:3px; }
.map-credit:hover { text-decoration:underline; color:var(--brand-ivory); }
.map-motion { width:36px; min-height:36px; display:grid; place-items:center; border:1px solid rgba(255,210,84,.24); border-radius:50%; color:#E6D2A1; background:rgba(42,35,18,.86); }
.map-motion .i { width:14px; height:14px; }
.map-motion:hover { color:var(--turmeric); border-color:var(--turmeric); }
#browse { position:relative; z-index:2; max-width:none; border-radius:36px 36px 0 0; border-top:1px solid rgba(255,210,84,.62); margin-top:-1px;
  padding:28px max(var(--gutter),calc((100vw - 1360px)/2)) 76px;
  background:radial-gradient(ellipse 80% 480px at 55% 0%,rgba(255,210,84,.055),transparent),linear-gradient(145deg,#3A301E 0%,#2A2312 520px);
  box-shadow:0 -18px 48px -26px rgba(7,5,2,.75),inset 0 2px 0 rgba(255,229,166,.035);
}
#browse .workspace { max-width:1360px; margin:0 auto; }
#browse .categories { margin-bottom:26px; }
.owners-card .owners-steps { padding-top:38px; gap:30px; }
.owners-card .owners-steps li { min-width:0; }
.map-attribution { max-width:calc(100% - var(--gutter)*2); width:1152px; margin:0 auto 64px; padding:32px; }
.map-attribution h2 { font-size:24px; }
.map-attribution p { color:var(--muted); font-size:13px; margin-top:12px; }
.map-attribution a { color:var(--light-turmeric); text-decoration:underline; }

/* A branded, keyboard-operable popup retains the native select as fallback. */
.pw-select { position:relative; min-width:182px; }
.pw-select-native { position:absolute!important; width:1px!important; height:1px!important; clip-path:inset(50%); overflow:hidden; opacity:0; pointer-events:none; }
.pw-select-trigger { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:44px; padding:10px 13px; border:1px solid #947942; border-radius:12px; background:#2B2518; color:var(--ink); text-align:left; font-size:14px; box-shadow:inset 0 1px 1px rgba(255,224,140,.05); transition:border-color .18s,background .18s; }
.pw-select-trigger:hover { background:#352D1B; border-color:#C5A664; }
.pw-select-trigger[aria-expanded="true"],.pw-select-trigger:focus-visible { border-color:var(--turmeric); outline:2px solid rgba(255,190,11,.26); outline-offset:2px; }
.pw-select-trigger .i { width:16px; height:16px; color:var(--light-turmeric); transform:rotate(90deg); transition:transform .2s var(--motion); }
.pw-select-trigger[aria-expanded="true"] .i { transform:rotate(-90deg); }
.pw-select-menu { position:absolute; right:0; top:calc(100% + 9px); min-width:230px; width:max-content; max-width:calc(100vw - 40px); z-index:25; padding:7px; border:1px solid rgba(255,210,84,.32); border-radius:16px; background:#362E1E; box-shadow:0 20px 45px -12px rgba(6,4,1,.7),inset 0 1px 0 rgba(255,234,174,.08); animation:sort-open .18s var(--motion) both; }
.pw-select-option { display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:44px; width:100%; padding:10px 12px; border-radius:10px; color:var(--ink); font-size:14px; text-align:left; }
.pw-select-option .i { width:16px; height:16px; opacity:0; color:var(--turmeric); }
.pw-select-option:hover,.pw-select-option:focus-visible { background:#493C25; outline:none; }
.pw-select-option[aria-selected="true"] { background:rgba(255,190,11,.13); color:var(--light-turmeric); }
.pw-select-option[aria-selected="true"] .i { opacity:1; }
.pw-select-option[aria-selected="true"]:hover,.pw-select-option[aria-selected="true"]:focus-visible { background:rgba(255,190,11,.2); }
@keyframes sort-open { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@media(min-width:1601px) { .hero-geography { right:calc((100vw - 1600px)/2); } }
@media(min-width:980px) and (max-width:1179px) { .hero-coast { padding-top:148px; grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr); min-height:680px; }.hero-coast .hero-title{font-size:clamp(64px,7.1vw,82px);}.hero-coast .hero-lede{font-size:16px;}.hero-coast .reel{margin-right:0;margin-top:-40px;--fw:245px;}.hero-coast .reel-name{font-size:21px;}.hero-coast .reel-meta{font-size:12px;} }
@media(max-width:979px) {
  .hero-coast { display:grid; grid-template-columns:1fr; padding:144px var(--gutter) 64px; gap:36px; min-height:0; }
  .hero-geography { width:1100px; max-width:none; height:auto; left:auto; right:-170px; opacity:.7; }
  .hero-coast::after { background:linear-gradient(0deg,#2A2312 18%,rgba(42,35,18,.15) 75%),linear-gradient(90deg,rgba(42,35,18,.6),transparent); }
  .hero-coast .hero-copy { max-width:710px; }
  .hero-coast .hero-title { font-size:clamp(52px,9.6vw,80px); }
  .hero-coast .reel { order:0; margin:0 auto; width:100%; max-width:480px; --fw:300px; }
  .hero-coast .hero-lede { max-width:620px; }
  .map-label { opacity:.85; }
  .map-tools { bottom:13px; }
  #browse { border-radius:28px 28px 0 0; padding-top:22px; }
}
@media(max-width:539px) {
  #siteHeader .brand { width:126px; }
  #siteHeader .header-cta { padding-inline:10px; }
  .hero-coast { padding-top:106px; padding-bottom:68px; gap:32px; }
  .hero-geography { width:800px; right:-220px; opacity:.56; }
  .map-label { display:none; }
  .hero-coast .hero-title { font-size:clamp(40px,10.3vw,56px); line-height:1.06; margin:18px 0; letter-spacing:-.055em; }
  .hero-coast .hero-kicker { font-size:13px; }
  .hero-coast .hero-lede { font-size:16px; line-height:1.6; }
  .hero-coast .hero-sub { font-size:13px; line-height:1.65; }
  .hero-coast .hero-actions { gap:9px; margin-top:22px; }
  .hero-coast .hero-actions .btn { font-size:13px; min-height:46px; padding-inline:17px; }
  .hero-coast .reel { --fw:min(280px,76vw); }
  .map-credit { font-size:9px; }
  .map-motion { width:44px; min-height:44px; }
  .pw-select { min-width:0; flex:1; max-width:230px; }
  .pw-select-trigger { font-size:12px; gap:8px; padding-inline:10px; }
  .pw-select-menu { min-width:216px; }
  .owners-card .owners-steps { padding-top:30px; gap:24px; }
}
@media(max-width:359px) { #siteHeader .brand{width:110px;}#siteHeader .header-cta{font-size:11px;padding-inline:8px;}.hero-coast .hero-actions .btn{padding-inline:13px;} }
@media(prefers-reduced-motion:reduce) { .coast-shine { display:none; animation:none; }.map-motion{display:none;}.pw-select-menu{animation:none;}.pw-select-trigger .i{transition:none;} }
@media print { .hero-geography,.map-tools{display:none;} .hero-coast,#browse{background:white;color:black;} }

/* Keep the mobile filter action bar on the same warm surface. */
.sheet-foot { background:#2A2312; border-top-color:var(--panel-edge); box-shadow:0 -8px 24px -20px #000; }

/* 1.11.0 — mobile cards keep a definite width even when their height is capped. */
.place-copy, .detail-head > *, .contact-card, .person > div, .methods a > span { min-width:0; }
.place-loc .i, .methods .i, .contact-note .i { flex-shrink:0; }
.detail-title, .detail-loc, .facts dd, .person-name, .person-role, .person-company { overflow-wrap:anywhere; }
.crumbs li { min-width:0; overflow-wrap:anywhere; }
.pw-select-trigger > span { min-width:0; overflow-wrap:anywhere; }
@media(max-width:899px) {
  .categories { margin:0 0 22px; }
  .cat-list { flex-wrap:wrap; overflow:visible; padding:0; gap:8px; }
  .cat-list > li { max-width:100%; }
  .cat { max-width:100%; min-height:44px; padding:8px 12px; font-size:13px; gap:6px; white-space:normal; text-align:left; }
  .cat .i, .cat-count { flex-shrink:0; }
  .cat-count { min-width:22px; height:22px; padding-inline:6px; }
  .city-search, .sheet-body input, .sheet-body select { font-size:16px; }
}
@media(max-width:539px) {
  #siteHeader .header-categories { flex-wrap:wrap; overflow:visible; gap:0; }
  #siteHeader .header-category { min-height:44px; }
  .hero-coast { padding-top:48px; }
  .place .save { top:11px; right:11px; }
  .place-title { display:block; overflow:visible; -webkit-line-clamp:unset; line-clamp:unset; }
  .pw-select-menu { min-width:min(216px, calc(100vw - 2 * var(--gutter))); }
  .results-heading .result-count { white-space:normal; overflow-wrap:anywhere; }
}
@media(max-width:759px) {
  .detail-grid { grid-template-columns:minmax(0,1fr); }
  .detail-head { gap:14px; margin-bottom:24px; }
  .detail-film .frame { width:100%; }
  .detail-film .frame > img { width:100%; height:100%; object-fit:cover; object-position:calc(var(--x,.5) * 100%) 50%; transform:none; }
  .facts { column-gap:16px; }
  .contact-bar .btn { min-width:0; white-space:normal; overflow-wrap:anywhere; text-align:center; line-height:1.3; }
  .similar-head { flex-wrap:wrap; }
}
/* Mobile navigation swaps content and restores scroll once, without a zooming snapshot. */
@media(max-width:899px), (pointer:coarse), (prefers-reduced-motion:reduce) {
  @view-transition { navigation:none; }
  .site-header, .detail-film .frame { view-transition-name:none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation:none !important; }
}
