@font-face {
  font-family:"Cormorant Garamond";
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url("assets/fonts/cormorant-garamond-latin-normal.woff2") format("woff2");
}
@font-face {
  font-family:"Cormorant Garamond";
  font-style:italic;
  font-weight:300 700;
  font-display:swap;
  src:url("assets/fonts/cormorant-garamond-latin-italic.woff2") format("woff2");
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
  src:url("assets/fonts/manrope-latin.woff2") format("woff2");
}
:root {
  --paper:#f8f6ef; --stone:#eeeae0; --white:#fffdfa; --ink:#202824; --muted:#62645b; --line:#d9d4c7;
  --dark:#171b19; --dark-raised:#242c27; --light:#f6f3e9; --light-muted:#b7bcb1; --dark-line:#3b433c;
  --gold:#c1aa7c; --bronze:#6c5739; --serif:"Cormorant Garamond",Georgia,serif; --sans:"Manrope",Arial,sans-serif;
  --content-width:1360px; --page-gutter:clamp(18px,4.1vw,72px);
  --section-space:clamp(62px,8vw,128px); --column-gap:clamp(18px,2.2vw,34px);
  --chapter-gap:clamp(33px,6vw,94px); --frame-inset:9px;
  --header-height:86px;
  --tone-wash:var(--stone); --tone-ink:var(--bronze); --tone-rule:var(--line);
}
[data-tone="slate"] { --tone-wash:#e9eee7; --tone-ink:#40594d; --tone-rule:#bdcabb; }
[data-tone="heritage"] { --tone-wash:#f1e4cd; --tone-ink:#744728; --tone-rule:#d6bfa1; }
[data-tone="graphite"] { --tone-wash:#e5e9e2; --tone-ink:#455448; --tone-rule:#c3ccc0; }
[data-tone="clay"] { --tone-wash:#f3e6df; --tone-ink:#814b3c; --tone-rule:#dbc1b6; }
[data-tone="steel"] { --tone-wash:#e8edf2; --tone-ink:#3e5271; --tone-rule:#c1ccdc; }
[data-tone="olive"] { --tone-wash:#ebeddf; --tone-ink:#566044; --tone-rule:#c8ceb8; }
[data-focus="upper"] { --card-focus:50% 12%; }
[data-focus="lower"] { --card-focus:50% 70%; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-height) + 24px); scrollbar-gutter:stable; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.75 var(--sans); }
body.modal-open { overflow:hidden; }
::selection { color:var(--paper); background:#62705b; }
h1,h2,h3,h4,p,figure { margin:0; }
h1,h2,h3 { font-family:var(--serif); font-weight:500; line-height:.98; letter-spacing:-.045em; text-wrap:balance; }
h2,[data-profile-heading="title"] { font-size:clamp(45px,6vw,94px); }
h3,[data-profile-heading="section"] { font-size:clamp(30px,3.2vw,49px); }
[data-profile-heading="detail"] { font:700 1em/1.85 var(--sans); letter-spacing:normal; }
em { font-weight:500; color:var(--bronze); }
img { display:block; max-width:100%; }
[hidden] { display:none!important; }
a { color:inherit; text-decoration:none; }
button,select { font:inherit; color:inherit; }
button { padding:0; border:0; background:none; cursor:pointer; }
a,button { -webkit-tap-highlight-color:transparent; }
:is(a,button,input,select,summary):focus-visible { outline:2px solid var(--bronze); outline-offset:6px; }
.dark :is(a,button,input,select,summary):focus-visible { outline-color:var(--gold); }
.wrap { width:min(var(--content-width),calc(100% - var(--page-gutter) - var(--page-gutter))); margin-inline:auto; }
.section { padding-block:var(--section-space); }
.media-frame { padding:0; border:0; background:transparent; }
.media-frame>figcaption { padding:11px 4px 12px; color:var(--muted); font-size:10px; }
.dark { background:var(--dark); color:var(--light); }
.dark em { color:#d2c5aa; }
.eyebrow,figcaption,.card-meta { font:650 11px/1.5 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.eyebrow { color:var(--bronze); margin-bottom:20px; }
.dark .eyebrow { color:var(--gold); }
.lead { font:500 clamp(26px,2.7vw,39px)/1.16 var(--serif); color:var(--ink); letter-spacing:-.02em; }
.button,.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; width:fit-content; max-width:100%; text-align:left; font-size:13px; font-weight:650; }
.button { min-height:51px; padding:12px 20px; border:1px solid var(--ink); transition:color .25s,background .25s,border-color .25s; }
.button.primary { color:var(--light); background:var(--ink); }
.button.primary:hover { color:var(--light); background:#52614d; border-color:#52614d; }
.dark .button.primary { color:var(--dark); background:var(--gold); border-color:var(--gold); }
.dark .button.primary:hover { background:#e0cda8; border-color:#e0cda8; }
.text-link { border-bottom:1px solid currentColor; padding-bottom:6px; }
.text-link span[aria-hidden="true"],.button span[aria-hidden="true"] { transition:transform .25s; }
.text-link:hover span[aria-hidden="true"],.button:hover span[aria-hidden="true"] { transform:translate(3px,-3px); }
[data-phone-number] { white-space:nowrap; }
.text-link:hover { color:var(--bronze); }
.dark .text-link { color:var(--light); }
.dark .text-link:hover { color:var(--gold); }
.sr-only,.skip:not(:focus) { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip:focus { position:fixed; z-index:100; top:16px; left:16px; padding:12px 18px; background:var(--paper); }

/* The group masthead and interactive portfolio. */
.header { position:sticky; top:0; z-index:40; box-shadow:0 5px 18px #0d15131c; }
.header.is-scrolled { box-shadow:0 6px 22px #0d151333; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:86px; }
.wordmark { display:inline-flex; align-items:center; flex:none; }
.wordmark img { width:clamp(119px,10vw,147px); height:auto; }
.header nav { display:flex; align-items:center; gap:clamp(20px,2.8vw,44px); margin-inline-start:auto; order:2; }
.explore-toggle { order:3; flex:none; display:grid; place-items:center; width:44px; height:44px; border:1px solid #d4c7ab80; border-radius:50%; color:var(--gold); transition:background .2s,color .2s; }
.explore-toggle svg { width:19px; height:19px; }
.explore-toggle:hover { background:var(--gold); color:var(--dark); }
.site-progress { position:absolute; inset:auto 0 0; height:2px; pointer-events:none; overflow:hidden; }
.site-progress span { display:block; height:100%; background:var(--gold); transform:scaleX(0); transform-origin:left center; }
.header nav a { font-size:12px; font-weight:600; letter-spacing:.025em; }
.header nav a:not(.nav-contact) { position:relative; }
.header nav a:not(.nav-contact)::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:var(--gold); transition:right .25s; }
.header nav a:hover::after,.header nav a[aria-current="location"]::after { right:0; }
.header nav a[aria-current="location"] { color:var(--gold); }
.header nav .nav-contact[aria-current="location"] { border-color:var(--gold); }
.nav-contact { display:inline-flex; align-items:center; gap:18px; min-height:44px; padding:10px 16px; border:1px solid #d4c7ab80; }
.nav-contact:hover { background:#ffffff0d; }
.menu-toggle { display:none; order:4; }
.hero { --hero-brass:#dfc392; background:radial-gradient(ellipse at 84% 12%,#3a382c,transparent 61%),#171e19; border-top:1px solid #65705b55; }
.hero-layout { display:grid; grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr); align-items:center; gap:clamp(26px,3vw,44px) clamp(28px,5vw,76px); padding-block:clamp(34px,4.4vw,66px) clamp(26px,3vw,42px); }
.hero-copy { grid-area:1/1; min-width:0; }
.hero-feature { grid-area:1/2; min-width:0; }
.hero-explorer { grid-column:1/-1; min-width:0; }
.hero-title-block,.hero-introduction { min-width:0; }
.hero-introduction { margin-top:clamp(20px,2.3vw,34px); }
.hero-label { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:24px; color:var(--hero-brass); font-size:10px; letter-spacing:.18em; }
.hero-label>span:first-child { width:34px; height:1px; background:var(--hero-brass); }
.hero-label-divider { color:var(--light-muted); }
.hero h1 { font-size:clamp(66px,7.4vw,119px); line-height:.92; letter-spacing:-.055em; text-wrap:initial; }
.hero h1 em { display:block; margin-top:7px; color:var(--hero-brass); font-size:.84em; font-style:normal; letter-spacing:-.045em; }
.hero-intro { max-width:39ch; color:#c8cdbf; font-size:15px; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:23px; }
.hero .button.primary { color:var(--dark); background:var(--hero-brass); border-color:var(--hero-brass); }
.hero .button.primary:hover { background:#f0d9b1; border-color:#f0d9b1; }
.hero-origin { display:flex; align-items:center; gap:14px; width:fit-content; max-width:100%; min-height:44px; margin-top:17px; color:var(--light-muted); font-size:11px; }
.hero-origin time { color:var(--hero-brass); font:500 30px/1 var(--serif); letter-spacing:-.04em; }
.hero-origin>span:last-child { color:var(--hero-brass); margin-left:5px; font-size:15px; }
.hero-origin:hover { color:var(--light); }
.hero-explore-label { display:flex; align-items:center; justify-content:space-between; gap:15px; color:var(--hero-brass); font:650 9px/1.5 var(--sans); letter-spacing:.16em; }
#hero-business-count { color:var(--light-muted); font-variant-numeric:tabular-nums; }
.hero-tabs { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(132px,1fr); margin-top:10px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#647259 transparent; scroll-snap-type:inline proximity; border-block:1px solid #c8b1854d; }
.hero-tab { display:flex; align-items:center; gap:11px; min-width:0; min-height:57px; padding:12px 14px; border:0; border-inline-end:1px solid #c8b1852e; color:var(--light-muted); text-align:left; font-size:11px; line-height:1.45; scroll-snap-align:start; transition:background .2s,color .2s; }
.hero-tab:last-child { border-inline-end:0; }
.hero-tab-number { flex:none; color:var(--hero-brass); font-size:10px; font-variant-numeric:tabular-nums; }
.hero-tab.active { color:var(--light); background:#c8b1850b; box-shadow:inset 0 -2px var(--hero-brass); font-weight:700; }
.hero-tab:hover { color:var(--light); background:#c8b18513; }
.hero-tab:focus-visible { outline-color:var(--hero-brass); outline-offset:-4px; }
.hero-figure { display:grid; grid-template-columns:minmax(0,1fr); border:1px solid #d4c7ab3a; background:#283128; }
.hero-scene { position:relative; display:block; min-width:0; aspect-ratio:1.8; overflow:hidden; background:#354133; }
.hero-scene img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 27%; }
.hero-scene:focus-visible { outline-offset:-7px; }
[data-scene="dekwaneh"] .hero-scene img { object-position:50% 55%; }
.hero-feature[data-media="brand"] .hero-scene { background:var(--tone-wash); }
.hero-feature[data-media="brand"] .hero-scene img { width:72%; height:65%; margin:auto; object-fit:contain; mix-blend-mode:multiply; }
.hero-media-placeholder { position:absolute; inset:15%; display:grid; place-items:center; color:var(--tone-ink); text-align:center; font:500 clamp(38px,5vw,76px)/1 var(--serif); overflow-wrap:anywhere; }
.hero-feature:is([data-image-state="loading"],[data-image-state="unavailable"]) .hero-scene { background:var(--tone-wash); }
.hero-feature[data-image-state="loading"] .hero-media-placeholder { opacity:.55; }
.hero-feature[data-media="group"] .hero-scene img { object-position:50% 50%; }
.hero-feature[data-media="group"] :is(.hero-photo-mark,.hero-gallery-label) { display:none; }
.hero-photo-mark { position:absolute; inset:18px; border:1px solid #ffffff3b; pointer-events:none; }
.hero-feature[data-media="brand"] .hero-photo-mark { border-color:var(--tone-rule); }
.hero-gallery-label { position:absolute; inset:auto 20px 20px auto; display:inline-flex; align-items:center; min-height:44px; padding:11px 15px; border:1px solid #f4e3bf69; color:var(--light); background:#172019e8; font:650 9px/1.4 var(--sans); letter-spacing:.13em; transition:background .2s,color .2s; }
.hero-scene:hover .hero-gallery-label,.hero-scene:focus-visible .hero-gallery-label { color:var(--dark); background:var(--hero-brass); }
.hero-caption { display:grid; grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr); align-items:start; gap:10px clamp(17px,2.2vw,32px); padding:clamp(17px,1.9vw,27px); color:var(--light); font:400 14px/1.6 var(--sans); letter-spacing:0; text-transform:none; }
.hero-panel-kicker { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:22px; width:100%; color:var(--hero-brass); font:650 9px/1.5 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.hero-panel-intro { grid-area:2/1/4; }
#hero-panel-number { color:#b9c2af; font-size:13px; font-variant-numeric:tabular-nums; }
.hero-business-title { max-width:100%; overflow-wrap:anywhere; font:500 clamp(35px,3.15vw,49px)/.96 var(--serif); letter-spacing:-.035em; }
.hero-business-title a:hover { color:var(--hero-brass); }
.hero-business-summary { margin-top:10px; color:#c4cbbd; font-size:13px; line-height:1.65; }
.hero-business-fact { grid-area:2/2; width:100%; margin:0; padding-inline-start:13px; border-inline-start:1px solid #a7b29665; }
.hero-business-fact dt { color:var(--hero-brass); font-size:9px; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; }
.hero-business-fact dd { margin:7px 0 0; color:var(--light); font-size:13px; line-height:1.6; }
.hero-profile-action { grid-area:3/2; min-height:44px; align-self:end; color:var(--light); font-size:12px; }

.about-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); align-items:center; gap:clamp(45px,5.3vw,80px); }
.about h2 { font-size:clamp(46px,5.6vw,87px); }
.about .lead { margin-top:32px; }
.about .lead+p { max-width:54ch; color:var(--muted); margin-top:18px; font-size:16px; }
.group-history { grid-column:1/-1; padding-top:clamp(28px,4vw,56px); border-top:1px solid var(--line); }
.history-heading h3 { font-size:clamp(41px,5vw,72px); }
.group-history .eyebrow { margin-bottom:13px; }
.story-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:clamp(20px,3vw,38px); border-block:1px solid var(--line); }
.story-controls [role="tab"] { display:grid; align-content:center; justify-items:start; gap:6px; min-width:0; min-height:89px; padding:13px clamp(10px,2vw,24px); border-inline-end:1px solid var(--line); border-bottom:2px solid transparent; text-align:left; color:var(--muted); }
.story-controls [role="tab"]:last-child { border-inline-end:0; }
.story-controls [role="tab"]:hover { background:#eee8da; }
.story-controls [role="tab"][aria-selected="true"] { color:var(--ink); background:#eae2d1; border-bottom-color:var(--bronze); }
.story-controls [role="tab"]:focus-visible { outline-offset:-4px; }
.story-controls time { color:var(--bronze); font:500 clamp(28px,4vw,50px)/.9 var(--serif); letter-spacing:-.045em; }
.story-controls span { font-size:11px; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
.story-panels { display:grid; gap:18px; margin-top:18px; }
.story-panel { display:grid; grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr); min-height:clamp(300px,33vw,445px); border:1px solid var(--tone-rule); background:var(--white); }
.story-panel[role="tabpanel"] { animation:story-panel-appear .24s ease-out; }
@keyframes story-panel-appear { from { opacity:.76; } to { opacity:1; } }
.story-copy { display:grid; align-content:center; justify-items:start; min-width:0; padding:clamp(24px,4.2vw,61px); }
.story-copy .eyebrow { color:var(--tone-ink); }
.story-copy h4 { font:500 clamp(36px,4.2vw,60px)/.97 var(--serif); letter-spacing:-.043em; text-wrap:balance; }
.story-copy>p:not(.eyebrow) { max-width:44ch; margin-top:17px; color:var(--muted); font-size:15px; line-height:1.7; }
.story-copy .text-link { margin-top:23px; }
.story-visual { position:relative; isolation:isolate; display:grid; place-items:center; align-self:stretch; min-width:0; min-height:275px; overflow:hidden; border-inline-start:1px solid var(--tone-rule); background:var(--tone-wash); }
.story-visual figcaption { position:absolute; inset:auto 0 0; padding:12px 15px; color:var(--tone-ink); background:var(--tone-wash); font-size:9px; }
.story-brand { padding:36px 20px 57px; }
.story-brand::after { content:""; position:absolute; inset:14px 14px 48px; border:1px solid var(--tone-rule); pointer-events:none; }
.story-brand img { position:relative; z-index:1; width:min(70%,355px); height:auto; mix-blend-mode:multiply; }
.story-year { position:absolute; inset:0; display:grid; place-items:center; color:var(--tone-ink); opacity:.11; font:500 clamp(100px,17vw,248px)/.9 var(--serif); letter-spacing:-.08em; transform:translateY(-6%); }
.story-menu { padding:26px 25px 57px; }
.story-menu ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; max-width:570px; gap:0; padding:0; margin:0; list-style:none; border-block:1px solid var(--tone-rule); }
.story-menu li { display:grid; align-content:center; gap:9px; min-height:104px; padding:12px clamp(9px,1.9vw,23px); color:var(--tone-ink); border-bottom:1px solid var(--tone-rule); font:500 clamp(20px,2.8vw,39px)/1.07 var(--serif); }
.story-menu li:nth-child(odd) { border-inline-end:1px solid var(--tone-rule); }
.story-menu li:nth-child(n+3) { border-bottom:0; }
.story-menu li:last-child { background:#ead9b8; }
.story-menu li span { font:650 10px/1 var(--sans); letter-spacing:.12em; }
.story-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.story-photo figcaption { color:var(--light); background:#1c261ee8; }
.portfolio { background:var(--stone); }
.directory-intro { display:grid; justify-items:start; gap:12px; max-width:36ch; color:var(--muted); font-size:14px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:26px; }
.section-heading>p { max-width:36ch; color:var(--muted); font-size:15px; }
.portfolio-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; margin:clamp(22px,3vw,40px) 0 20px; padding-block:12px; border-block:1px solid var(--line); }
.portfolio-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.filterbar { display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; min-width:0; }
.filter { max-width:100%; min-height:44px; padding:7px 11px; border:1px solid transparent; color:var(--muted); font-size:12px; font-weight:650; overflow-wrap:anywhere; }
.filter:hover { color:var(--ink); border-color:var(--line); }
.filter.active { color:var(--ink); border-color:var(--tone-rule); background:var(--white); }
.portfolio-view { display:inline-flex; gap:2px; padding:3px; border:1px solid var(--line); background:#e6e1d6; }
.view-choice { display:flex; align-items:center; gap:6px; min-height:44px; padding:5px 9px; color:var(--muted); font-size:11px; font-weight:700; }
.view-choice[aria-pressed="true"] { color:var(--ink); background:var(--white); box-shadow:0 1px 4px #221f1912; }
.view-choice:hover { color:var(--ink); }
.business-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(255px,27vw,360px)),1fr)); gap:var(--column-gap); margin-top:24px; }
.portfolio-recovery { display:flex; align-items:center; flex-wrap:wrap; gap:10px 24px; margin-block:18px; padding:16px 18px; border:1px solid var(--line); background:var(--white); color:var(--muted); font-size:13px; }
.business-card { display:flex; flex-direction:column; min-width:0; position:relative; border:1px solid var(--line); background:var(--white); transition:border-color .25s,box-shadow .25s; }
.business-card:hover,.business-card:focus-within { border-color:var(--tone-ink); box-shadow:0 12px 28px #29251913; }
.card-media { position:relative; aspect-ratio:var(--card-aspect,1.7); overflow:hidden; background:var(--tone-wash); }
.card-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--card-focus,50% 50%); transition:transform .55s cubic-bezier(.2,.6,.3,1); }
.business-card:hover .card-photo,.business-card:focus-within .card-photo { transform:scale(1.028); }
.card-preview { position:absolute; z-index:2; inset:auto 12px 12px auto; display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:44px; padding:9px 14px; border:1px solid #c4b7978c; color:var(--light); background:#172019eb; font-size:11px; font-weight:650; transition:background .2s,color .2s; }
.card-preview>span:last-child { color:var(--gold); font-size:20px; font-weight:400; line-height:1; }
.card-preview:hover,.card-preview:focus-visible { color:var(--dark); background:var(--gold); }
.card-preview:hover>span:last-child,.card-preview:focus-visible>span:last-child { color:var(--dark); }
.card-preview:focus-visible { outline-color:var(--tone-ink); outline-offset:3px; }
.card-logo-inset { position:absolute; inset:12px 12px auto auto; padding:6px; border:1px solid #e5ded0; background:var(--white); }
.card-logo-inset img { width:65px; height:41px; object-fit:contain; }
.card-media-note { position:absolute; inset:auto auto 11px 11px; padding:5px 8px; color:var(--ink); background:var(--paper); font-size:9px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.card-copy { flex:1; display:flex; flex-direction:column; padding:clamp(17px,2vw,26px); min-width:0; }
.card-meta { display:flex; align-items:center; gap:8px; color:var(--tone-ink); font-size:10px; letter-spacing:.12em; margin-bottom:11px; }
.card-number { display:inline-grid; flex:none; place-items:center; min-width:26px; min-height:22px; padding-inline:4px; border:1px solid var(--tone-rule); font-variant-numeric:tabular-nums; }
.card-copy h3 { font-size:var(--card-title-size,clamp(30px,2.85vw,44px)); line-height:1.04; overflow-wrap:anywhere; text-wrap:initial; }
.card-title { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; font:inherit; }
.card-title::after { content:""; position:absolute; inset:0; }
.card-title:focus-visible { outline:none; }
.card-title:focus-visible::after { outline:2px solid var(--tone-ink); outline-offset:-4px; }
.card-arrow { display:grid; place-items:center; width:38px; height:38px; color:var(--tone-ink); border:1px solid var(--tone-rule); border-radius:50%; font:400 17px/1 var(--sans); transition:color .25s,background .25s,border-color .25s; }
.business-card:hover .card-arrow,.business-card:focus-within .card-arrow { color:var(--white); background:var(--tone-ink); border-color:var(--tone-ink); }
.card-tagline { color:var(--muted); margin:9px 0 15px; font-size:14px; line-height:1.55; }
.card-location { display:flex; align-items:baseline; gap:7px; margin-top:auto; padding-top:11px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; font-weight:600; overflow-wrap:anywhere; }
.card-location>span,.profile-place>span { display:inline-block; flex:none; width:6px; height:6px; border-radius:50%; background:var(--tone-ink); }
.card-media-brand { display:grid; place-items:center; }
.card-media-brand::before { content:""; position:absolute; inset:11px; border:1px solid var(--tone-rule); pointer-events:none; }
.card-media-brand>.official-logo { position:absolute; inset:0; width:min(72%,var(--card-logo-width,245px)); height:63%; margin:auto; object-fit:contain; mix-blend-mode:multiply; }
.business-grid[data-view="gallery"] .business-card { border:0; border-bottom:1px solid var(--line); background:transparent; box-shadow:none; }
.business-grid[data-view="gallery"] .card-copy { padding:21px 0 24px; }
.business-grid[data-view="gallery"] .card-meta { gap:13px; }
.business-grid[data-view="gallery"] .card-number { min-width:0; min-height:0; padding:0; border:0; font:500 22px/1 var(--serif); letter-spacing:-.03em; }
.business-grid[data-view="gallery"] .card-media-brand::before { display:none; }
.business-grid[data-view="gallery"] .card-location { border:0; padding-top:13px; }
.card-initials { position:relative; color:var(--tone-ink); font:500 clamp(34px,4vw,58px)/1 var(--serif); letter-spacing:.08em; text-transform:uppercase; }
.business-grid[data-view="index"] { grid-template-columns:minmax(0,1fr); gap:0; border-top:1px solid var(--line); }
.business-grid[data-view="index"] .business-card { display:grid; grid-template-columns:clamp(68px,11vw,132px) minmax(0,1fr); align-items:center; gap:clamp(13px,2vw,25px); padding:15px clamp(12px,1.8vw,26px); border-width:0 0 1px; }
.business-grid[data-view="index"] .business-card:hover,.business-grid[data-view="index"] .business-card:focus-within { background:var(--tone-wash); box-shadow:none; }
.business-grid[data-view="index"] .card-media { aspect-ratio:1.26; }
.business-grid[data-view="index"] .card-initials { font-size:clamp(21px,3vw,32px); }
.business-grid[data-view="index"] .card-preview { display:none; }
.business-grid[data-view="index"] .card-media-brand::before,.business-grid[data-view="index"] :is(.card-logo-inset,.card-media-note) { display:none; }
.business-grid[data-view="index"] .card-copy { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr); align-items:center; gap:4px 18px; padding:0 56px 0 0; }
.business-grid[data-view="index"] .card-copy h3 { grid-column:1; font-size:clamp(26px,3vw,44px); }
.business-grid[data-view="index"] .card-meta { grid-column:1; margin:0 0 4px; }
.business-grid[data-view="index"] .card-title { display:block; }
.business-grid[data-view="index"] .card-arrow { position:absolute; inset-inline-end:20px; top:50%; transform:translateY(-50%); }
.business-grid[data-view="index"] .card-tagline { grid-column:1; margin:0; }
.business-grid[data-view="index"] .card-location { grid-column:2; grid-row:2; margin:0; padding:0; border:0; }
.brand-placeholder { display:grid; min-height:230px; padding:28px; align-content:center; text-align:center; }
.brand-placeholder>span { font:500 40px/1 var(--serif); }
.brand-placeholder small { margin-top:10px; font-size:10px; }

/* Individual chapters share typography, while their composition and colour vary. */
.business-opening { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:var(--chapter-gap); }
.business-copy { min-width:0; }
.business-opening>.business-copy:only-child { grid-column:1/-1; }
.business-copy> :is(h2,[data-profile-heading="title"]) { max-width:var(--chapter-title-width,none); overflow-wrap:anywhere; }
.business-copy>.lead { max-width:29ch; margin-top:clamp(20px,2.2vw,30px); }
.business-copy>p:not(.lead,.eyebrow) { max-width:52ch; margin-top:17px; color:var(--chapter-text,var(--muted)); }
.business-copy> :is(h2,[data-profile-heading="title"])+p:not(.lead) { margin-top:24px; }
.dark .business-copy { --chapter-text:var(--light-muted); }
.dark .business-copy>.lead { color:var(--light); }
.business-actions,.residence-review-links { display:flex; flex-wrap:wrap; align-items:center; gap:15px 25px; margin-top:28px; }
.chapter-profile-link { color:var(--bronze); }
.chapter-profile-link:hover { color:var(--ink); }
.dark .chapter-profile-link { color:var(--gold); }
.dark .chapter-profile-link:hover { color:var(--light); }
.chapter-details { margin-top:clamp(26px,4.2vw,62px); }
.chapter-details>summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:15px; min-height:58px; padding:13px 18px; border-block:1px solid var(--tone-rule); list-style:none; color:var(--tone-ink); font-size:13px; font-weight:700; cursor:pointer; }
.chapter-details>summary::-webkit-details-marker { display:none; }
.chapter-details>summary::after { content:"+"; display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--tone-rule); font-size:18px; font-weight:400; }
.chapter-details[open]>summary::after { content:"\2212"; }
.chapter-details>summary:hover { background:var(--tone-wash); }
.chapter-details>summary:focus-visible { outline-offset:2px; }
.residence-feature { --chapter-title-width:10ch; }
.residence-cover { position:relative; }
.residence-photo img { width:100%; height:auto; }
.property-photo-link { position:relative; display:block; overflow:hidden; }
.property-photo-link img { transition:transform .5s; }
.property-photo-link:hover img { transform:scale(1.025); }
.property-photo-link:focus-visible { outline-offset:-6px; }
.property-gallery-label { position:absolute; right:15px; top:15px; display:flex; gap:13px; align-items:center; padding:11px 14px; background:var(--paper); color:var(--ink); font-size:10px; font-weight:700; letter-spacing:.09em; }
.residence-cover .property-photo-link>img { aspect-ratio:1.08; object-fit:cover; object-position:53% 41%; }
.residence-photo figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:3px 12px; color:var(--muted); margin-top:11px; font-size:10px; }
.residence-cover figcaption { margin:0; }
.residence-seal { position:absolute; left:20px; bottom:61px; display:flex; align-items:center; gap:13px; padding:15px 18px; background:var(--ink); color:var(--light); pointer-events:none; }
.residence-seal strong { font:500 clamp(44px,5vw,66px)/.9 var(--serif); letter-spacing:-.06em; }
.residence-seal>span { font-size:9px; line-height:1.5; letter-spacing:.1em; }
.residence-collection,.residence-details,.residence-reputation,.residence-visit { margin-top:clamp(48px,7vw,100px); }
.residence-collection { border-top:1px solid var(--line); padding-top:35px; }
.suite-introduction { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.76fr); align-items:center; gap:clamp(22px,4.2vw,68px); }
.suite-intro-copy :is(h3,[data-profile-heading="section"]) { max-width:23ch; }
.suite-intro-copy>p:not(.eyebrow) { max-width:46ch; margin-top:15px; color:var(--muted); font-size:14px; }
.suite-intro-copy .text-link { margin-top:18px; }
.suite-preview { width:min(100%,456px); justify-self:end; }
.suite-preview img { width:100%; height:auto; }
.suite-controls { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; padding-block:12px; margin-top:26px; border-block:1px solid var(--line); }
.suite-controls .eyebrow { margin:0; }
.residence-suite-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(205px,28vw,365px)),1fr)); gap:clamp(15px,2.3vw,30px); padding:0; margin:25px 0 23px; list-style:none; }
.residence-suite-list li { min-width:0; padding:clamp(14px,2.1vw,27px); border:1px solid var(--tone-rule); border-top:2px solid var(--tone-ink); background:var(--white); }
.residence-suite-list :is(h4,[data-profile-heading="detail"]) { font:500 clamp(27px,3vw,37px)/1.05 var(--serif); }
.residence-suite-list .suite-feature { margin:0 0 15px; color:var(--tone-ink); font:700 9px/1.5 var(--sans); letter-spacing:.12em; }
.suite-specs { margin:18px 0 0; }
.suite-specs>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:3px 12px; padding-block:8px; border-top:1px solid var(--tone-rule); }
.suite-specs dt { color:var(--tone-ink); font:700 11px/1.6 var(--sans); letter-spacing:.025em; }
.suite-specs dd { margin:0; color:var(--ink); font:600 13px/1.5 var(--sans); }
.suite-availability { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:13px 22px; padding-top:7px; }
.suite-availability .residence-note { max-width:57ch; font-size:12px; }
.residence-note { color:var(--muted); font-size:11px; }
.residence-details { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); align-items:center; gap:clamp(28px,7vw,110px); }
.residence-details .residence-photo { padding:30px; background:var(--stone); }
.residence-details :is(h3,[data-profile-heading="section"]) { max-width:20ch; }
.residence-amenities { list-style:none; padding:0; margin:25px 0 0; }
.residence-amenities li { border-top:1px solid var(--line); padding-top:13px; margin-top:15px; }
.residence-amenities :is(h4,[data-profile-heading="detail"]) { font-size:12px; font-weight:600; }
.residence-amenities p { margin-top:5px; color:var(--muted); font-size:14px; }
.residence-reputation { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); align-items:center; gap:55px; background:var(--stone); padding:clamp(28px,5vw,70px); }
.residence-rating { border-right:1px solid #c6c8ba; padding-right:28px; }
.residence-rating .eyebrow { margin-bottom:13px; }
.residence-score { font:500 clamp(85px,9vw,125px)/1 var(--serif); letter-spacing:-.06em; }
.residence-score span { font:500 22px/1 var(--serif); color:var(--muted); letter-spacing:0; }
.residence-rating>p:not(.eyebrow):not(.residence-score) { font-size:11px; margin-top:10px; }
.residence-reputation :is(h3,[data-profile-heading="section"])+p { color:var(--muted); margin-top:12px; font-size:13px; }
.residence-reputation blockquote { margin:22px 0 0; }
.residence-reputation blockquote p { font:italic 500 clamp(25px,2.8vw,39px)/1.15 var(--serif); }
.residence-reputation cite { display:block; color:var(--muted); font:400 10px/1.7 var(--sans); margin-top:14px; }
.residence-review-links { margin-top:21px; }
.residence-review-links .text-link { font-size:10px; }
.residence-visit { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.58fr); align-items:center; gap:clamp(24px,4.2vw,62px); padding:clamp(22px,4vw,55px); border:1px solid var(--tone-rule); background:var(--tone-wash); }
.residence-visit :is(h3,[data-profile-heading="section"]) { font-size:clamp(36px,4.4vw,62px); }
.residence-visit p:not(.eyebrow) { font-size:14px; color:var(--muted); margin-top:8px; }
.residence-arrival { display:flex; flex-wrap:wrap; gap:9px; margin:21px 0 0; }
.residence-arrival>div { min-width:102px; padding:8px 13px; border:1px solid var(--tone-rule); background:var(--white); }
.residence-arrival dt { color:var(--tone-ink); font:700 10px/1.6 var(--sans); letter-spacing:.06em; text-transform:uppercase; }
.residence-arrival dd { margin:3px 0 0; color:var(--ink); font:500 25px/1.05 var(--serif); }
.residence-arrival dd small { color:var(--muted); font:650 11px/1.4 var(--sans); }
.residence-visit-links { display:grid; justify-items:start; gap:16px; }
.residence-visit-options { display:flex; flex-wrap:wrap; gap:10px 18px; }

.chicken-feature { --chapter-title-width:8ch; background:#eee7d8; border-top:1px solid #ded4bf; }
.chicken-feature .business-copy>.lead { max-width:22ch; }
.chicken-brand-panel { position:relative; display:grid; justify-items:center; align-content:center; gap:19px; min-height:clamp(285px,33vw,460px); padding:35px clamp(16px,3vw,46px) 28px; overflow:hidden; border:1px solid #d1c2a6; background:#f4ead6; }
.chicken-year { position:absolute; top:12px; left:50%; transform:translateX(-50%); color:#dfcfaf; font:500 clamp(123px,17vw,246px)/.95 var(--serif); letter-spacing:-.08em; }
.chicken-brand-panel>img { position:relative; width:min(100%,390px); height:auto; padding:16px 12px; border:1px solid #e5d5b8; background:var(--white); margin-top:clamp(52px,7vw,107px); }
.chicken-signature { position:relative; color:var(--tone-ink); font-size:10px; letter-spacing:.13em; text-align:center; }
.chicken-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; padding:0; margin:65px 0 0; list-style:none; }
.chicken-timeline li { position:relative; border-top:1px solid #c7bda7; padding-top:22px; }
.chicken-timeline li::before { content:""; position:absolute; top:-3px; left:0; width:5px; height:5px; background:var(--bronze); border-radius:50%; }
.chicken-timeline .eyebrow { margin-bottom:14px; }
.chicken-timeline :is(h3,[data-profile-heading="section"]) { font-size:29px; }
.chicken-timeline li>p:last-child { color:var(--muted); font-size:14px; margin-top:10px; }
.chicken-specialty { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); align-items:center; gap:clamp(23px,5vw,80px); margin-top:clamp(42px,6vw,88px); padding:clamp(23px,4.8vw,68px); border:1px solid #b9a47d; background:#28221b; }
.chicken-specialty .eyebrow { color:#e3c891; }
.chicken-specialty-copy>p:not(.eyebrow) { max-width:46ch; margin-top:17px; color:#d9ceba; font-size:14px; }
.chicken-specialty-copy .text-link { margin-top:22px; }
.chicken-specialty-mark { display:grid; justify-items:center; align-content:center; gap:15px; min-height:clamp(165px,20vw,282px); padding:24px 10px; border:1px solid #a78e60; color:#dfc392; text-align:center; background:radial-gradient(ellipse at 50% 90%,#54372170,transparent 71%); }
.chicken-specialty-mark strong { font:italic 500 clamp(36px,5.8vw,83px)/.88 var(--serif); letter-spacing:-.06em; }
.chicken-specialty-mark>span { font-size:9px; font-weight:700; letter-spacing:.13em; }
.chicken-press { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:50px; border-top:1px solid #c7bda7; margin-top:65px; padding-top:34px; }
.chicken-press article+article { border-top:1px solid #c7bda7; margin-top:24px; padding-top:23px; }
.chicken-press article .eyebrow { margin-bottom:10px; font-size:10px; }
.chicken-press article :is(h4,[data-profile-heading="detail"]) { font-size:15px; font-weight:700; }
.chicken-press article>p:not(.eyebrow) { color:var(--muted); margin-top:8px; font-size:14px; }
.chicken-press .text-link { margin-top:15px; font-size:12px; }
.chicken-visit { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px; padding-top:30px; margin-top:55px; border-top:1px solid #c7bda7; }
.chicken-visit :is(h3,[data-profile-heading="section"]) { font-size:35px; }
.chicken-visit p:not(.eyebrow) { margin-top:10px; color:var(--muted); font-size:12px; }
.chicken-visit-links { display:flex; align-items:flex-end; flex-wrap:wrap; gap:14px 24px; }
.chicken-phone { display:grid; gap:5px; font:500 clamp(26px,2.6vw,36px)/1 var(--serif); }
.chicken-phone>span:not([data-phone-number]) { color:var(--bronze); font:700 9px/1.4 var(--sans); letter-spacing:.13em; }
.chicken-phone:hover { color:var(--bronze); }
.chicken-visit-links .text-link { font-size:11px; }

.construction { position:relative; overflow:hidden; background:#1e2621; }
.construction .business-copy>p:not(.eyebrow) { max-width:42ch; }
.construction-properties { margin-top:clamp(55px,8vw,110px); padding-top:30px; border-top:1px solid var(--dark-line); }
.construction-properties .section-heading>p { color:var(--light-muted); }
.construction-property-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:20px; margin:27px 0 0; padding:0; list-style:none; }
.construction-property { min-width:0; border:1px solid #49564a; background:var(--dark-raised); }
.construction-property-empty { grid-column:1/-1; padding:17px 20px; border:1px solid var(--dark-line); color:var(--light-muted); font-size:14px; }
.construction-property-link { display:block; overflow:hidden; }
.construction-property-link:hover .construction-property-arrow { color:var(--dark); background:var(--gold); }
.construction-property-link>img { width:100%; height:auto; aspect-ratio:1.95; object-fit:cover; object-position:50% 12%; }
.construction-property-copy { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:9px 18px; padding:19px 21px 12px; }
.construction-property-copy .eyebrow { grid-column:1/-1; margin:0; }
.construction-property-copy :is(h4,[data-profile-heading="detail"]) { font:500 clamp(29px,3.4vw,44px)/1.05 var(--serif); }
.construction-property-arrow { display:grid; place-items:center; width:37px; height:37px; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-size:17px; transition:color .2s,background .2s; }
.construction-property>.text-link { margin:0 21px 18px; }
.construction-image { border-color:#667264; background:var(--dark-raised); }
.construction-image img { width:100%; height:auto; }
.construction-image figcaption { color:var(--light-muted); }
.construction-archive { margin-top:clamp(55px,8vw,110px); padding-top:30px; border-top:1px solid var(--dark-line); }
.construction-records { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr)); gap:var(--column-gap); margin:26px 0 0; padding:0; list-style:none; }
.construction-record { min-width:0; border:1px solid #49564a; background:var(--dark-raised); }
.construction-record>img { width:100%; aspect-ratio:1.67; object-fit:cover; }
.construction-record-copy { padding:clamp(18px,2.5vw,29px); }
.construction-record-copy .eyebrow { margin-bottom:10px; }
.construction-record-copy :is(h4,[data-profile-heading="detail"]) { overflow-wrap:anywhere; font:500 clamp(30px,3vw,45px)/1.05 var(--serif); }
.construction-record-copy>p:not(.eyebrow) { color:var(--light-muted); margin-top:11px; font-size:13px; }
.construction-record-copy strong { display:block; color:var(--light); font-size:11px; }

.studios-feature { --chapter-title-width:8ch; }
.studios-layout { grid-template-columns:minmax(0,.95fr) minmax(0,1fr); }
.studios-photo-button { position:relative; display:block; width:100%; background:var(--stone); overflow:hidden; }
.studios-photo-button img { width:100%; height:auto; transition:transform .6s; }
.studios-photo-button:hover img { transform:scale(1.025); }
.studios-photo-button:focus-visible { outline-offset:-6px; }
.studios-photo-hint { position:absolute; right:12px; bottom:12px; color:var(--ink); background:var(--paper); padding:9px 12px; font-size:10px; font-weight:700; letter-spacing:.08em; }
.studios-details { margin:29px 0 0; border-top:1px solid var(--line); }
.studios-details>div { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:14px; padding:13px 0; border-bottom:1px solid var(--line); }
.studios-details dt { color:var(--tone-ink); font-size:11px; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
.studios-details dd { margin:0; color:var(--muted); font-size:13px; line-height:1.65; }
.studios-opening-end { display:flex; flex-wrap:wrap; align-items:center; gap:15px 22px; margin-top:22px; }
.studios-signature { width:114px; height:90px; object-fit:contain; background:#fff; padding:5px; }
.studios-tour { margin-top:clamp(54px,7.5vw,104px); padding-top:35px; border-top:1px solid var(--line); }
.studios-tour :is(h3,[data-profile-heading="section"]) { font-size:clamp(35px,4vw,58px); }
.studios-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,1.6fr); gap:var(--column-gap); margin-top:32px; }
.studios-photo-grid img { height:clamp(270px,31vw,420px); object-fit:cover; }
.studios-photo-grid figure { min-width:0; border:1px solid var(--tone-rule); background:var(--white); }
.studios-photo-grid figcaption { display:grid; gap:5px; padding:13px clamp(11px,1.7vw,20px) 15px; color:var(--tone-ink); font-size:9px; letter-spacing:.09em; }
.studios-photo-grid figcaption strong { color:var(--ink); font:500 clamp(21px,2.4vw,34px)/1.08 var(--serif); letter-spacing:-.025em; text-transform:none; }
.studios-note { max-width:90ch; color:var(--muted); font-size:12px; margin-top:22px; }

.yabani-feature { --chapter-title-width:9ch; background:#edf0f1; }
.yabani-layout { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); }
.yabani-logo { display:grid; grid-template-rows:auto minmax(100px,1fr) auto; align-items:center; gap:18px; min-height:clamp(235px,29vw,380px); padding:clamp(16px,2.5vw,36px); border:1px solid #bac5d3; background:linear-gradient(145deg,#fbfcfd,#e2e9ef); }
.yabani-logo>img { justify-self:center; width:min(100%,395px); height:auto; mix-blend-mode:multiply; }
.yabani-brand-note,.yabani-brand-origin { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 14px; color:#3e5271; font:700 10px/1.5 var(--sans); letter-spacing:.12em; }
.yabani-brand-note { padding-bottom:12px; border-bottom:1px solid #c1ccdc; }
.yabani-brand-origin { padding-top:12px; border-top:1px solid #c1ccdc; }
.yabani-brand-origin time { font:500 clamp(36px,4.8vw,64px)/.86 var(--serif); letter-spacing:-.045em; }
.yabani-sourcing-heading { margin-top:75px; }
.yabani-sourcing-heading :is(h3,[data-profile-heading="section"]) { max-width:18ch; }
.yabani-sourcing-heading>p:last-child { color:var(--muted); max-width:70ch; margin-top:20px; font-size:13px; }
.yabani-network { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(205px,.37fr); align-items:stretch; gap:clamp(12px,2.6vw,36px); margin-top:29px; }
.yabani-sourcing { display:grid; gap:10px; margin:0; }
.yabani-sourcing>div { display:grid; grid-template-columns:minmax(80px,.22fr) minmax(0,1fr); align-items:center; gap:10px 15px; padding:clamp(12px,1.6vw,23px); border:1px solid #c1ccdc; background:#f8fafb; }
.yabani-sourcing dt { color:#3e5271; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.yabani-sourcing dd { display:flex; flex-wrap:wrap; gap:6px; margin:0; }
.yabani-sourcing dd>span { padding:6px 9px; border:1px solid #c5cfdd; color:#31445f; background:#e8edf2; font-size:12px; line-height:1.3; }
.yabani-route-arrow { align-self:center; color:#3e5271; font-size:25px; }
.yabani-destination { display:grid; align-content:center; gap:5px; padding:clamp(16px,2.5vw,35px); color:#f6f7f8; background:#303d52; }
.yabani-destination .eyebrow { margin-bottom:5px; color:#d0d9e7; }
.yabani-destination strong { font:500 clamp(30px,3.4vw,49px)/1 var(--serif); }
.yabani-destination>p:last-child { color:#d0d9e7; font-size:12px; }
.import-map { --import-accent:#354f72; margin-top:29px; border:1px solid #bdcbd8; background:#f8fafb; }
.import-map[data-supply="new"] { --import-accent:#ae2634; }
.import-map-surface { position:relative; aspect-ratio:1000/430; overflow:hidden; background-color:#e7edf1; background-image:linear-gradient(#b7c5d533 1px,transparent 1px),linear-gradient(90deg,#b7c5d533 1px,transparent 1px); background-size:10% 20%; }
.import-map-surface>img,.import-map-overlay { position:absolute; inset:0; width:100%; height:100%; }
.import-map-surface>img { opacity:.7; }
.import-map-overlay { pointer-events:none; }
.import-route { stroke:#516f8b; stroke-width:1.25; opacity:.24; transition:opacity .3s,stroke .3s; }
.import-route.is-active { stroke:var(--import-accent); stroke-width:2.5; opacity:1; }
.import-point circle:not(.import-point-halo) { fill:#526a85; stroke:#f8fafb; stroke-width:2; }
.import-point-halo { fill:var(--import-accent); opacity:0; transition:opacity .25s; }
.import-point text { fill:var(--import-accent); opacity:0; font:700 14px var(--sans); letter-spacing:.04em; transition:opacity .25s; }
.import-point.is-active .import-point-halo { opacity:.15; }
.import-point.is-active circle:not(.import-point-halo) { fill:var(--import-accent); }
.import-point.is-active text { opacity:1; }
.import-hub>circle:first-child { fill:#f8fafb; stroke:#334e6b; stroke-width:1.5; }
.import-hub>circle:nth-child(2) { fill:#334e6b; }
.import-hub text { fill:#334e6b; font:700 13px var(--sans); letter-spacing:.06em; }
.import-map-label { position:absolute; inset:auto auto 18px 24px; color:#3d5571; font-size:9px; font-weight:700; letter-spacing:.15em; }
.import-map-details { display:grid; grid-template-columns:minmax(195px,.8fr) minmax(0,1.5fr); gap:clamp(22px,4vw,55px); padding:clamp(22px,3vw,38px); border-top:1px solid #bdcbd8; }
.import-origin-summary { min-width:0; }
.import-origin-summary .eyebrow { margin-bottom:15px; color:#405b78; font-size:9px; }
.import-origin-summary h4 { color:var(--import-accent); font:500 clamp(34px,4vw,52px)/1 var(--serif); letter-spacing:-.03em; }
.import-origin-summary>p:not(.eyebrow) { margin-top:13px; color:#42566d; font-size:13px; }
.import-destination-label { display:block; margin-top:22px; color:#5c6f83; font-size:10px; }
.import-origin-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; align-content:center; }
.import-origin { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); align-content:center; gap:5px 8px; min-width:0; min-height:82px; padding:12px; border:1px solid #c5d0da; text-align:left; background:#f8fafb; transition:border-color .2s,background .2s; }
.import-country-code { grid-row:span 2; display:grid; place-items:center; align-self:center; width:26px; height:26px; border:1px solid #b7c7d4; color:#405b78; font-size:9px; }
.import-country-name { color:#314a68; font-size:11px; font-weight:700; line-height:1.4; }
.import-supply { color:#53677b; font-size:10px; line-height:1.4; }
.import-origin[data-origin-supply="new"] .import-supply { color:#ae2634; }
.import-origin[aria-pressed="true"] { background:#e5ecf2; border-color:#405b78; box-shadow:inset 0 -2px #405b78; }
.import-origin[aria-pressed="true"][data-origin-supply="new"] { background:#f5e7e8; border-color:#ae2634; box-shadow:inset 0 -2px #ae2634; }
.import-origin:hover { border-color:#405b78; background:#edf1f5; }
.import-origin:focus-visible { outline-color:#405b78; outline-offset:2px; }
.yabani-makes { margin-top:55px; border-top:1px solid #aeb6a7; padding-top:25px; }
.yabani-makes :is(h3,[data-profile-heading="section"]) { font-size:28px; }
.yabani-make-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:0; list-style:none; padding:0; margin:25px 0 0; }
.yabani-make-grid li { display:grid; justify-items:center; align-content:center; gap:15px; min-height:115px; padding:10px; border-left:1px solid #bfc6b9; font-size:9px; }
.yabani-make-grid li:first-child { border-left:0; }
.yabani-make-grid img { width:min(61px,100%); height:38px; object-fit:contain; mix-blend-mode:multiply; }
.yabani-enquiry { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(40px,9vw,140px); border-top:1px solid #aeb6a7; margin-top:45px; padding-top:37px; }
.yabani-enquiry :is(h3,[data-profile-heading="section"])+p { color:var(--muted); margin-top:20px; font-size:13px; }
.part-checklist { display:grid; gap:0; margin:15px 0 0; padding:0; list-style:none; }
.part-checklist li { display:flex; gap:9px; align-items:baseline; padding:9px 0; border-bottom:1px solid #c5cfdd; font-size:13px; }
.part-checklist li::before { content:""; display:inline-block; flex:none; width:5px; height:5px; background:#536a87; }
.yabani-hours { font-size:12px; margin:24px 0 17px; }
.yabani-hours>div { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #bfc6b9; padding:10px 0; }
.yabani-hours dd { margin:0; text-align:right; }
.yabani-note { color:var(--muted); font-size:10px; margin-bottom:18px; }
.business-references { margin-top:40px; padding-top:17px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.business-references summary { width:fit-content; cursor:pointer; font-size:10px; }
.business-references>p { max-width:100ch; margin-top:15px; }
.business-references ul { display:flex; flex-wrap:wrap; gap:15px 25px; padding:0; margin:15px 0 0; list-style:none; }
.business-references a { text-decoration:underline; text-underline-offset:4px; }

.wellness-feature { --chapter-title-width:8ch; position:relative; background:#3a4435; }
.wellness-feature .eyebrow { color:#d3d5b7; }
.wellness-feature .business-copy { --chapter-text:#c9cebc; }
.wellness-brand-panel { position:relative; isolation:isolate; display:grid; justify-items:center; align-content:center; gap:21px; min-height:clamp(290px,33vw,445px); padding:clamp(30px,4vw,55px); border:1px solid #b4bb9e; background:linear-gradient(150deg,#faf9ef,#e9eadb); border-radius:45% 45% 0 0; }
.wellness-brand-panel::before { content:""; position:absolute; z-index:-1; inset:12px; border:1px solid #c2c7ad; border-radius:inherit; pointer-events:none; }
.wellness-brand-panel img { width:min(100%,350px); height:auto; mix-blend-mode:multiply; }
.wellness-brand-panel>p { color:#535b40; font-size:10px; font-weight:650; letter-spacing:.11em; text-align:center; }
.wellness-concept { margin-top:80px; }
.wellness-concept :is(h3,[data-profile-heading="section"]) { font-size:clamp(35px,4vw,56px); }
.wellness-elements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(14px,2.1vw,25px); list-style:none; padding:0; margin:35px 0 0; }
.wellness-elements li { display:grid; align-content:start; gap:18px; padding:clamp(18px,2.7vw,34px); border:1px solid #7a846c; background:#434d3d; }
.wellness-number { display:block; padding-bottom:13px; border-bottom:1px solid #77816b; color:#d3d5b7; font:500 clamp(27px,3.4vw,49px)/.9 var(--serif); }
.wellness-elements :is(h4,[data-profile-heading="detail"]) { font:500 clamp(24px,2.7vw,36px)/1.06 var(--serif); letter-spacing:-.02em; }
.wellness-elements p { max-width:47ch; color:#d3d6c8; margin-top:12px; font-size:13px; }
.wellness-information { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px 30px; border-top:1px solid #7a846c; padding-top:24px; margin-top:45px; }
.wellness-information>p { max-width:55ch; color:#c9cebc; font-size:10px; }

.contact { padding-bottom:clamp(49px,6.3vw,90px); background:linear-gradient(125deg,#1e261f,#171b19); }
.contact h2 { font-size:clamp(45px,5.9vw,88px); }
.contact-heading>p { color:var(--light-muted); font-size:14px; }
.contact-directory { padding:0; margin:clamp(23px,3.7vw,52px) 0 0; border-top:1px solid #647063; list-style:none; }
.contact-row { display:grid; grid-template-columns:auto minmax(0,.86fr) minmax(0,1.14fr); align-items:center; gap:17px clamp(15px,2.5vw,36px); min-width:0; padding:clamp(18px,2.6vw,34px) clamp(11px,2vw,25px); border-bottom:1px solid #5a6558; background:#2831285c; }
.contact-row:nth-child(even) { background:#21292150; }
.contact-number { display:grid; place-items:center; width:42px; height:42px; border:1px solid #777460; color:var(--gold); font:500 22px/1 var(--serif); }
.contact-info { min-width:0; }
.contact-info .eyebrow { margin-bottom:8px; font-size:10px; }
.contact-info h3 { font-size:clamp(30px,3.1vw,47px); overflow-wrap:anywhere; }
.contact-info h3 a:hover { color:var(--gold); }
.contact-info>p:not(.eyebrow) { margin-top:7px; color:var(--light-muted); font-size:13px; }
.contact-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:10px 18px; }
.contact-actions .button { min-height:46px; padding:10px 15px; gap:13px; }
.contact-empty { padding:20px; color:var(--light-muted); border-bottom:1px solid var(--dark-line); }
.contact-directory-link { margin-top:24px; }

/* Business profiles share the portfolio's layout and typography. */
.profile-toolbar { background:var(--tone-wash); border-bottom:1px solid var(--tone-rule); }
.profile-toolbar-inner { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:9px 20px; min-height:65px; padding-block:9px; }
.profile-crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:5px 11px; padding:0; margin:0; list-style:none; color:var(--muted); font-size:12px; }
.profile-crumbs li { display:flex; align-items:center; gap:11px; min-width:0; overflow-wrap:anywhere; }
.profile-crumbs li+li::before { content:""; flex:none; width:5px; height:5px; border-top:1px solid var(--tone-ink); border-right:1px solid var(--tone-ink); transform:rotate(45deg); }
.profile-crumbs [aria-current] { color:var(--ink); font-weight:600; }
.profile-crumbs a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.profile-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 17px; }
.profile-place { display:flex; align-items:center; gap:7px; color:var(--tone-ink); font-size:11px; font-weight:700; }
.profile-share { display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:8px 12px; border:1px solid var(--tone-rule); color:var(--tone-ink); font-size:12px; font-weight:700; }
.profile-share:hover { background:var(--white); border-color:var(--tone-ink); }
.profile-mobile-action { display:none; min-height:44px; align-items:center; justify-content:space-between; gap:8px; padding:8px 12px; border:1px solid var(--tone-ink); color:var(--white); background:var(--tone-ink); font-size:12px; font-weight:700; }
.profile-mobile-action:hover { color:var(--tone-ink); background:var(--white); }
.profile-share-feedback p { color:var(--muted); font-size:12px; padding-bottom:10px; }
.profile-share-feedback p:empty { display:none; }
.profile-share-feedback input { width:min(100%,570px); margin-bottom:15px; padding:10px; border:1px solid var(--bronze); color:var(--ink); background:var(--white); font:400 13px/1.5 var(--sans); }
.profile-jumps { position:sticky; top:var(--header-height); z-index:20; background:#f8f6eff5; border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.profile-jump-inner { display:flex; align-items:center; gap:18px; min-height:51px; }
.profile-jump-inner .eyebrow { flex:none; margin:0; color:var(--tone-ink); font-size:9px; }
.profile-jumps ul { display:flex; flex:1; min-width:0; gap:0 18px; padding:0; margin:0; overflow:auto; list-style:none; scrollbar-width:thin; }
.profile-jumps ul a { display:flex; align-items:center; min-height:46px; border-bottom:2px solid transparent; color:var(--muted); font-size:12px; font-weight:700; white-space:nowrap; }
.profile-jumps ul a:hover,.profile-jumps ul a[aria-current="location"] { color:var(--tone-ink); border-color:var(--tone-ink); }
.profile-jumps ul a:focus-visible { outline-offset:-3px; }
.profile-jump-action { display:inline-flex; flex:none; align-items:center; gap:8px; min-height:44px; max-width:150px; padding:8px 12px; border:1px solid var(--tone-ink); color:var(--white); background:var(--tone-ink); font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.profile-jump-action:hover { color:var(--tone-ink); background:var(--white); }
.profile-jump-action:focus-visible { outline-offset:2px; }
.profile-page [data-profile-jump] { scroll-margin-top:18px; }
.profile-page main>.section[data-profile] { padding-block:clamp(50px,6.7vw,105px); }
:where(.profile-page main>.section[data-profile]:not(.dark)) .eyebrow { color:var(--tone-ink); }
:where(.profile-page main>.section[data-profile]:not(.dark)) .button.primary { background:var(--tone-ink); border-color:var(--tone-ink); }
:where(.profile-page main>.section[data-profile]:not(.dark)) .button.primary:hover { color:var(--tone-ink); background:var(--tone-wash); }
.profile-photo-links { padding-block:28px 52px; }
.profile-photo-links h2 { font-size:clamp(31px,4vw,50px); }
.profile-photo-links ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr)); gap:12px 26px; padding:0; margin:20px 0 0; list-style:none; }
.profile-photo-links a { display:block; padding:10px 0; border-bottom:1px solid var(--line); color:var(--bronze); font-size:13px; }
.profile-more { background:var(--stone); padding-block:clamp(60px,7vw,103px); }
.profile-more h2 { font-size:clamp(43px,5vw,69px); }
.profile-browse { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:start; gap:clamp(22px,3.4vw,48px); margin-top:clamp(25px,4vw,44px); }
.profile-browse>div { min-width:0; }
.profile-browse>div:only-child { grid-column:1/-1; max-width:640px; }
.profile-browse .eyebrow { margin-bottom:12px; }
.profile-next .business-card { --card-aspect:2.25; --card-logo-width:300px; }
.profile-other .profile-business-list { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:0; }
.profile-business-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr)); gap:12px; padding:0; margin:28px 0 0; list-style:none; }
.profile-business-list a { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 10px; height:100%; padding:17px 15px; border:1px solid var(--tone-rule); background:var(--white); }
.profile-business-list a:hover { border-color:var(--tone-ink); background:var(--tone-wash); }
.profile-related-sector { grid-column:1/-1; color:var(--tone-ink); font-size:10px; font-weight:650; letter-spacing:.11em; text-transform:uppercase; }
.profile-related-name { overflow-wrap:anywhere; font:500 clamp(24px,2vw,32px)/1.05 var(--serif); }
.profile-related-arrow { color:var(--tone-ink); font-size:17px; }
.footer { border-top:1px solid var(--dark-line); }
.footer-top,.footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
.footer-top { padding-block:clamp(35px,5vw,70px); }
.footer-brand { display:grid; gap:16px; }
.footer-brand .wordmark { width:fit-content; }
.footer-brand>p { color:var(--light-muted); font:italic 500 clamp(24px,3.1vw,39px)/1 var(--serif); }
.footer-nav,.footer-utilities { display:flex; flex-wrap:wrap; align-items:center; gap:6px 20px; }
.footer-nav a { display:flex; align-items:center; min-height:44px; color:var(--light); font-size:13px; }
.footer-nav a:hover { color:var(--gold); }
.back-top,.footer-bottom { color:var(--light-muted); font-size:12px; }
.back-top:hover,.footer-bottom button:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid var(--dark-line); padding:11px 0 17px; }
.footer-place { margin-inline-start:12px; padding-inline-start:12px; border-inline-start:1px solid var(--dark-line); }
.footer-utilities :is(button,a) { min-height:44px; display:inline-flex; align-items:center; gap:8px; }
.portfolio-share-feedback { color:var(--light-muted); font-size:12px; }
.portfolio-share-feedback p:empty { display:none; }
.portfolio-share-feedback p:not(:empty) { padding-bottom:14px; }
.portfolio-share-feedback input { display:block; width:min(100%,570px); margin-bottom:16px; padding:9px 12px; border:1px solid var(--gold); color:var(--light); background:var(--dark-raised); font:inherit; }

.business-dialog,.credits-dialog { width:min(1080px,calc(100% - 48px)); max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); padding:0; border:1px solid var(--line); color:var(--ink); background:var(--paper); }
.business-dialog::backdrop,.credits-dialog::backdrop { background:#0d1513c9; backdrop-filter:blur(6px); }
.dialog-close { position:absolute; right:15px; top:15px; z-index:2; display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:var(--paper); font-size:22px; }
.dialog-close:hover { background:var(--stone); }
.dialog-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.dialog-visual { min-width:0; display:flex; flex-direction:column; justify-content:center; background:var(--stone); }
.dialog-main-image { width:100%; height:420px; object-fit:cover; }
.dialog-main-image.dialog-photo-image { height:min(65vh,610px); height:min(65dvh,610px); object-fit:contain; }
.dialog-brand-image { object-fit:contain; padding:35px; background:#f5f4e9; }
.dialog-caption { color:var(--muted); font-size:10px; padding:15px 20px 22px; }
.gallery-controls { display:flex; align-items:center; gap:9px; padding:15px 20px 0; }
.gallery-controls>span { font-size:10px; margin-right:auto; }
.gallery-controls button { width:44px; height:44px; border:1px solid #aeb6a7; }
.gallery-controls button:hover { background:var(--paper); }
.dialog-copy { min-width:0; padding:70px 38px 40px; }
.dialog-copy .eyebrow { font-size:8px; margin-bottom:18px; }
.dialog-copy h2 { font-size:clamp(42px,5vw,65px); }
.dialog-tagline { font:500 28px/1.15 var(--serif); margin-top:20px; }
.dialog-description,.dialog-pending { color:var(--muted); font-size:14px; line-height:1.75; margin-top:20px; }
.dialog-facts { margin:26px 0 0; border-top:1px solid var(--line); }
.dialog-facts>div { padding:12px 0; border-bottom:1px solid var(--line); }
.dialog-facts dt { color:var(--bronze); font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.dialog-facts dd { margin:5px 0 0; font-size:13px; }
.dialog-links { display:flex; align-items:center; flex-wrap:wrap; gap:15px 24px; margin-top:26px; }
.business-dialog>.dialog-close { position:sticky; top:14px; float:right; margin:14px 14px -58px 0; }
.business-dialog .dialog-visual { background:var(--tone-wash); }
.business-dialog .dialog-brand-image { background:var(--tone-wash); mix-blend-mode:multiply; }
.business-dialog .dialog-copy { padding-top:56px; }
.business-dialog .dialog-links .text-link { min-height:44px; }
.credits-dialog { width:min(600px,calc(100% - 40px)); padding:65px 36px 38px; }
.credits-dialog h2 { font-size:49px; }
.credits-dialog>p:not(.eyebrow) { margin-top:20px; color:var(--muted); font-size:12px; }
.credits-dialog .text-link { margin-top:25px; }

/* A visual index is available from every page, without waiting for portfolio data. */
.explore-dialog { position:fixed; inset:0; width:min(1200px,calc(100% - 40px)); max-width:none; height:min(850px,calc(100dvh - 40px)); max-height:none; margin:auto; padding:0; border:1px solid #65705f; overflow:hidden; }
.explore-dialog::backdrop { background:#07100de6; backdrop-filter:blur(12px); }
.explore-shell { height:100%; display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.explore-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 26px; border-bottom:1px solid var(--dark-line); }
.explore-header .eyebrow { margin:0; font-size:9px; letter-spacing:.17em; }
.explore-close { display:grid; flex:none; place-items:center; width:44px; height:44px; border:1px solid #68715f; border-radius:50%; font-size:26px; line-height:1; transition:background .2s,color .2s; }
.explore-close:hover { color:var(--dark); background:var(--gold); }
.explore-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); min-height:0; }
.explore-index { min-width:0; padding:29px 34px 24px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#68765e transparent; }
.explore-index h2 { font-size:clamp(40px,4vw,57px); }
.explore-search-field { display:flex; align-items:center; gap:12px; margin-top:24px; padding-inline:14px 3px; min-height:54px; border:1px solid #68715f; background:#202721; transition:border-color .2s,box-shadow .2s; }
.explore-search-field:focus-within { border-color:var(--gold); box-shadow:0 0 0 1px var(--gold); }
.explore-search-field>svg { flex:none; width:20px; height:20px; color:var(--gold); }
.explore-search-field input { min-width:0; width:100%; height:51px; padding:10px 0; border:0; border-radius:0; outline:none; color:var(--light); background:transparent; font:400 13px/1.5 var(--sans); -webkit-appearance:none; appearance:none; }
.explore-search-field input:focus-visible { outline:none; }
.explore-search-field input::-webkit-search-cancel-button { -webkit-appearance:none; appearance:none; }
.explore-search-field input::placeholder { color:#a4ac9b; opacity:1; }
#explore-clear { flex:none; width:44px; height:44px; color:var(--light-muted); font-size:23px; }
#explore-clear:hover { color:var(--light); }
.explore-results-status { min-height:20px; margin-block:11px 5px; color:var(--light-muted); font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.explore-results { list-style:none; padding:0; margin:0; }
.explore-row { position:relative; display:grid; grid-template-columns:27px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:69px; padding:11px 8px 11px 0; border-bottom:1px solid var(--dark-line); transition:background .2s; }
.explore-number { align-self:start; padding-top:3px; color:var(--gold); font-size:10px; font-variant-numeric:tabular-nums; }
.explore-row-copy { min-width:0; display:grid; gap:5px; transition:transform .2s; }
.explore-row-copy strong { font:500 clamp(23px,2.3vw,32px)/1.05 var(--serif); letter-spacing:-.025em; overflow-wrap:anywhere; }
.explore-row-copy>span { color:var(--light-muted); font-size:9px; line-height:1.4; letter-spacing:.11em; text-transform:uppercase; }
.explore-row-arrow { display:grid; place-items:center; width:32px; height:32px; border:1px solid #626e59; border-radius:50%; color:var(--gold); font-size:15px; transition:background .2s,color .2s; }
.explore-row:hover,.explore-row:focus-visible,.is-previewed .explore-row { background:#d5bc870b; }
.explore-row:hover .explore-row-copy,.explore-row:focus-visible .explore-row-copy { transform:translateX(4px); }
.explore-row:hover .explore-row-arrow,.explore-row:focus-visible .explore-row-arrow,.is-previewed .explore-row-arrow { color:var(--dark); background:var(--gold); border-color:var(--gold); }
.explore-row:focus-visible { outline-offset:-2px; }
.explore-shortcuts { display:flex; flex-wrap:wrap; align-items:center; gap:8px 25px; margin-top:17px; }
.explore-shortcuts a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--light-muted); font-size:11px; }
.explore-shortcuts a:hover { color:var(--gold); }
.explore-empty { padding-block:35px; }
.explore-empty>p { font:500 31px/1.2 var(--serif); }
.explore-empty>span { display:block; margin-top:12px; color:var(--light-muted); font-size:12px; }
.explore-empty .text-link { margin-top:25px; min-height:44px; }
.explore-preview-area { min-width:0; min-height:0; padding:24px; border-left:1px solid var(--dark-line); background:#222a23; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.explore-preview { display:flex; flex-direction:column; min-height:100%; background:var(--tone-wash); color:var(--ink); }
.explore-preview-media { position:relative; flex:none; width:100%; aspect-ratio:1.58; overflow:hidden; background:var(--tone-wash); }
.explore-preview-media img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
.explore-preview-brand { display:grid; place-items:center; }
.explore-preview-brand img { width:77%; height:65%; object-fit:contain; mix-blend-mode:multiply; }
.explore-placeholder { display:grid; place-items:center; height:100%; padding:25px; text-align:center; font:500 42px/1.1 var(--serif); }
.explore-preview-copy { flex:1; display:flex; flex-direction:column; align-items:start; padding:26px; border-top:1px solid var(--tone-rule); }
.explore-preview .eyebrow { color:var(--tone-ink); font-size:9px; margin-bottom:13px; }
.explore-preview h3 { font-size:clamp(35px,3.3vw,48px); }
.explore-preview-tagline { margin-top:13px; font-size:13px; line-height:1.65; }
.explore-preview-fact { width:100%; margin-block:23px; padding-block:15px; border-block:1px solid var(--tone-rule); }
.explore-preview-fact dt { color:var(--tone-ink); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.explore-preview-fact dd { margin:4px 0 0; font-size:13px; line-height:1.6; }
.explore-preview-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 19px; width:100%; margin-top:auto; }
.explore-preview .button.primary { background:var(--ink); color:var(--paper); border-color:var(--ink); font-size:12px; }
.explore-preview .button.primary:hover { background:var(--tone-ink); border-color:var(--tone-ink); }
.explore-preview .text-link { min-height:44px; color:var(--ink); font-size:12px; }
.explore-preview .text-link:hover { color:var(--tone-ink); }
.explore-preview :is(a,button):focus-visible { outline-color:var(--tone-ink); }
.explore-preview-empty { height:100%; display:grid; place-content:center; justify-items:center; gap:24px; padding:30px; text-align:center; }
.explore-preview-empty img { width:230px; height:auto; }
.explore-preview-empty p { color:var(--light-muted); font:500 28px/1.2 var(--serif); }
.explore-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:13px 26px; border-top:1px solid var(--dark-line); color:var(--light-muted); font-size:9px; letter-spacing:.09em; }
.explore-keyboard-hint { display:flex; align-items:center; gap:6px; letter-spacing:normal; }
.explore-keyboard-hint kbd { min-width:21px; padding:1px 5px; border:1px solid #68715f; font:400 10px/1.7 var(--sans); text-align:center; }
.explore-dialog[open] .explore-layout { animation:explore-arrive .25s ease-out; }
@keyframes explore-arrive { from { opacity:.3; transform:translateY(7px); } to { opacity:1; transform:none; } }

/* Property galleries give the photographs their own space. */
.photo-dialog { position:fixed; inset:0; margin:auto; width:min(1320px,calc(100% - 64px)); max-width:none; height:calc(100vh - 48px); height:min(900px,calc(100dvh - 48px)); max-height:none; padding:0; border:1px solid #485046; background:var(--dark); color:var(--light); overflow:hidden; }
.photo-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.photo-dialog::backdrop { background:#0b100ef0; backdrop-filter:blur(8px); }
.photo-dialog :is(button,a):focus-visible { outline-color:var(--gold); }
.photo-header { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:22px 28px; border-bottom:1px solid var(--dark-line); }
.photo-header>div { min-width:0; }
.photo-header .eyebrow { color:var(--gold); font-size:10px; margin-bottom:7px; }
.photo-header h2 { font-size:clamp(29px,3.2vw,45px); overflow-wrap:anywhere; }
.photo-collections { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:14px; }
.photo-collections button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:7px 11px; border:1px solid #68715f; color:var(--light-muted); font-size:11px; line-height:1.5; white-space:nowrap; }
.photo-collections button>span { color:var(--gold); font-size:9px; font-variant-numeric:tabular-nums; }
.photo-collections button[aria-pressed="true"] { border-color:var(--gold); background:var(--gold); color:var(--dark); }
.photo-collections button[aria-pressed="true"]>span { color:var(--dark); }
.photo-collections button:hover:not([aria-pressed="true"]) { color:var(--light); background:#ffffff0b; }
.photo-close { flex:none; display:grid; place-items:center; width:46px; height:46px; border:1px solid #6c7667; border-radius:50%; font-size:26px; }
.photo-close:hover { background:var(--light); color:var(--ink); }
.photo-stage { position:relative; display:flex; align-items:center; justify-content:center; min-height:0; overflow:hidden; background:#0e1410; touch-action:pan-y pinch-zoom; }
#photo-image { width:100%; height:100%; object-fit:contain; transition:opacity .15s; }
.photo-stage[aria-busy="true"] #photo-image { opacity:.4; }
.photo-status { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); max-width:75%; width:fit-content; text-align:center; font-size:13px; color:var(--light-muted); }
.photo-status:empty { display:none; }
.photo-arrow { position:absolute; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:46px; height:46px; border:1px solid #d5d8ce80; border-radius:50%; background:#171b19b3; color:var(--light); font-size:20px; }
.photo-arrow:hover { background:var(--light); color:var(--ink); }
.photo-arrow:disabled { opacity:.25; cursor:default; pointer-events:none; }
.photo-previous { left:18px; }
.photo-next { right:18px; }
.photo-footer { padding:17px 28px 20px; border-top:1px solid var(--dark-line); background:#202721; }
.photo-caption-row { display:flex; justify-content:space-between; align-items:baseline; gap:20px; }
#photo-caption { color:#e2e5d9; font-size:13px; line-height:1.6; }
#photo-counter { flex:none; padding:3px 7px; border:1px solid #69745e; color:var(--gold); font-size:11px; font-variant-numeric:tabular-nums; }
.photo-thumbnails { position:relative; display:flex; gap:9px; margin-top:14px; padding-bottom:7px; overflow-x:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#68765e transparent; }
.photo-thumbnail { flex:0 0 86px; height:63px; padding:3px; border:1px solid #58634f; opacity:.55; transition:opacity .2s,border-color .2s; }
.photo-thumbnail img { width:100%; height:100%; object-fit:cover; }
.photo-thumbnail[aria-pressed="true"],.photo-thumbnail:hover { opacity:1; border-color:var(--gold); }
.photo-thumbnail:focus-visible { outline-offset:-3px; }
.photo-context { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; margin-top:9px; }
.photo-context-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; }
#photo-location { color:var(--light-muted); font-size:11px; }
#photo-action,#photo-original,#copy-photo-link { min-height:44px; color:var(--light); font-size:11px; }
#photo-action:hover,#photo-original:hover,#copy-photo-link:hover { color:var(--gold); }
#copy-photo-link { min-height:44px; }
.photo-share-feedback p { margin-top:8px; color:var(--gold); font-size:11px; }
.photo-share-feedback p:empty { display:none; }
.photo-share-feedback input { width:100%; margin-top:9px; padding:8px; border:1px solid var(--gold); color:var(--light); background:var(--dark-raised); font:400 12px/1.5 var(--sans); }
.photo-share-feedback input:focus-visible { outline-color:var(--gold); outline-offset:3px; }
.reveal-ready { opacity:.15; transform:translateY(24px); transition:opacity .85s ease,transform .85s cubic-bezier(.2,.6,.3,1); }
.reveal-ready:is(.is-visible,:focus-within) { opacity:1; transform:none; }

@media (min-width:1220px) {
  .business-grid[data-view="gallery"][data-filter="all"] { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .business-grid[data-view="gallery"][data-filter="all"] [data-featured="true"] { grid-column:span 2; --card-aspect:1.88; --card-title-size:clamp(39px,4vw,61px); --card-logo-width:375px; }
  .business-grid[data-view="gallery"][data-filter="all"] [data-featured="true"] .card-media-brand::before { inset:17px; }
  .business-grid[data-view="gallery"][data-filter="all"] .business-card:not([data-featured]) { --card-title-size:clamp(28px,2.35vw,36px); }
  .business-grid[data-view="gallery"][data-filter="all"] .business-card:not([data-featured]) .card-title { display:block; }
  .business-grid[data-view="gallery"][data-filter="all"] .business-card:not([data-featured]) .card-location { min-height:39px; padding-inline-end:36px; }
  .business-grid[data-view="gallery"][data-filter="all"] .business-card:not([data-featured]) .card-arrow { position:absolute; inset:auto 16px 16px auto; width:32px; height:32px; font-size:14px; }
}
@media (min-width:1120px) {
  .wellness-elements { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:1100px) {
  .yabani-make-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .yabani-make-grid li:nth-child(5) { border-left:0; }
}
@media (max-width:790px) {
  :root { --header-height:72px; }
  .header-inner { min-height:72px; }
  .explore-toggle { margin-inline-start:auto; }
  .header nav { margin-inline-start:0; }
  .menu-toggle { display:grid; place-content:center; gap:6px; width:44px; height:44px; border:1px solid #c7cbbf70; }
  .menu-toggle span { width:18px; height:1px; background:var(--light); transition:transform .18s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .header nav { display:none; position:absolute; top:100%; inset-inline:0; background:var(--dark); padding:14px var(--page-gutter) 20px; gap:0; max-height:calc(100dvh - var(--header-height)); overflow:auto; box-shadow:0 18px 24px #0003; }
  .header nav.open { display:grid; }
  .header nav a { padding:17px 0; border-bottom:1px solid var(--dark-line); font-size:13px; }
  .header nav a:not(.nav-contact)::after { content:none; }
  .header nav .nav-contact { justify-content:space-between; padding:13px 16px; margin-top:18px; border:1px solid #c7cbbf70; }
  .profile-mobile-action { display:inline-flex; }
  .contact-row { grid-template-columns:auto minmax(0,1fr); }
  .contact-actions { grid-column:2; justify-content:flex-start; }
  .profile-browse { grid-template-columns:minmax(0,1fr); }
  .about-layout { grid-template-columns:1fr; gap:45px; }
  .about h2 { font-size:clamp(49px,8vw,72px); }
  .about .lead+p { max-width:65ch; }
  .story-panel { grid-template-columns:minmax(0,1fr); }
  .story-visual { min-height:clamp(235px,51vw,390px); border-inline-start:0; border-top:1px solid var(--tone-rule); }
  .story-brand img { width:min(66%,315px); }
  .business-opening,.residence-details { grid-template-columns:minmax(0,1fr); gap:36px; }
  .residence-cover { width:min(100%,580px); margin-inline:auto; }
  .residence-cover .property-photo-link>img { aspect-ratio:1.05; }
  .business-copy> :is(h2,[data-profile-heading="title"]) { max-width:none; }
  .residence-suite-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .residence-reputation { grid-template-columns:1fr; gap:30px; }
  .residence-rating { border:0; padding:0 0 28px; border-bottom:1px solid #c6c8ba; }
  .chicken-brand-panel { max-width:560px; width:100%; margin-inline:auto; }
  .chicken-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
  .chicken-specialty { grid-template-columns:minmax(0,1fr); }
  .chicken-press { grid-template-columns:1fr; gap:30px; }
  .construction-image { width:min(100%,570px); margin-inline:auto; }
  .studios-copy { grid-row:1; }
  .studios-exterior { width:min(100%,465px); margin-inline:auto; }
  .studios-tour { margin-top:75px; }
  .studios-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .studios-photo-grid figure:last-child { grid-column:1/-1; }
  .studios-photo-grid figure:last-child img { height:auto; aspect-ratio:1.5; }
  .studios-photo-grid img { height:auto; aspect-ratio:.75; }
  .yabani-logo { min-height:220px; width:100%; }
  .yabani-network { grid-template-columns:minmax(0,1fr); gap:12px; }
  .yabani-route-arrow { justify-self:center; transform:rotate(90deg); }
  .yabani-enquiry { gap:35px; }
  .wellness-brand-panel { width:min(100%,450px); margin-inline:auto; }
  .about .lead+p,.business-copy>p:not(.lead,.eyebrow) { font-size:15px; }
  .yabani-make-grid li { font-size:11px; }
  .dialog-layout { grid-template-columns:1fr; }
  .dialog-main-image { height:260px; }
  .dialog-main-image.dialog-photo-image { height:min(60dvh,500px); }
  .dialog-copy { padding:35px 30px; }
  .dialog-close { position:sticky; float:right; margin:12px 12px -52px 0; }
}
@media (max-width:520px) {
  :root { --frame-inset:6px; }
  .wordmark img { width:113px; }
  .section-heading { display:grid; gap:16px; }
  .section-heading>p { font-size:14px; }
  .story-controls [role="tab"] { min-height:72px; padding:10px 6px; }
  .story-controls span { font-size:10px; }
  .story-copy>p:not(.eyebrow) { font-size:14px; }
  .story-menu li { min-height:76px; }
  .portfolio-controls { gap:8px; }
  .filterbar { gap:2px 4px; }
  .filter { padding-inline:8px; font-size:11px; }
  .card-copy h3 { font-size:clamp(31px,8vw,41px); }
  .residence-suite-list { gap:13px; }
  .residence-suite-list :is(h4,[data-profile-heading="detail"]) { font-size:27px; }
  .residence-details .residence-photo { padding:20px; }
  .residence-seal { left:16px; bottom:64px; padding:11px 12px; }
  .residence-seal strong { font-size:40px; }
  .residence-review-links { gap:17px; }
  .chicken-timeline { gap:30px 20px; }
  .chicken-timeline :is(h3,[data-profile-heading="section"]) { font-size:27px; }
  .studios-photo-grid { gap:15px 12px; }
  .studios-photo-hint { right:8px; bottom:8px; padding:6px 8px; font-size:9px; }
  .studios-photo-grid figcaption { font-size:9px; }
  .yabani-sourcing>div { grid-template-columns:minmax(0,1fr); }
  .yabani-enquiry { grid-template-columns:1fr; gap:40px; }
  .yabani-make-grid li { padding:10px 4px; min-height:100px; font-size:10px; }
  .wellness-elements { grid-template-columns:1fr; gap:12px; }
  .footer-top { align-items:start; gap:14px; }
  .contact-number { width:36px; height:36px; }
  .contact-actions { grid-column:1/-1; }
  .footer-nav,.footer-utilities { gap:3px 14px; }
  .footer-bottom { align-items:start; gap:4px; font-size:11px; }
  .profile-place { flex-basis:100%; }
  .profile-next .business-card { --card-aspect:1.7; }
  .profile-other .profile-business-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)); }
  .profile-jump-inner { gap:10px; }
  .profile-jump-inner .eyebrow { display:none; }
  .profile-jumps ul { gap:0 15px; }
  .profile-jumps a { font-size:12px; }
  .profile-page [data-profile-heading="title"] { overflow-wrap:anywhere; }
  .business-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); }
  .dialog-copy { padding:30px 23px; }
  .dialog-copy h2 { font-size:48px; }
}
@media (max-width:420px) {
  .story-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .story-controls [role="tab"] { padding-inline:12px; }
  .story-controls [role="tab"]:nth-child(even) { border-inline-end:0; }
  .story-controls [role="tab"]:nth-child(n+3) { border-top:1px solid var(--line); }
  .story-controls span { font-size:11px; }
}
@media (max-width:379px) {
  .portfolio-tools { column-gap:8px; }
  .portfolio-tools svg { display:none; }
  .residence-suite-list { grid-template-columns:minmax(0,1fr); }
}
@media (min-width:380px) and (max-width:520px) {
  .suite-specs>div { display:grid; gap:2px; }
}
@media (max-width:650px) {
  .residence-visit,.suite-introduction { grid-template-columns:minmax(0,1fr); }
  .suite-preview { justify-self:start; }
  .business-grid[data-view="index"] .business-card { grid-template-columns:clamp(59px,15vw,94px) minmax(0,1fr); gap:12px; padding:13px 11px; }
  .business-grid[data-view="index"] .card-copy { grid-template-columns:minmax(0,1fr); gap:4px; padding-inline-end:31px; }
  .business-grid[data-view="index"] .card-copy h3 { font-size:clamp(25px,5.6vw,35px); }
  .business-grid[data-view="index"] .card-tagline { font-size:13px; }
  .business-grid[data-view="index"] .card-location { grid-column:1; grid-row:auto; }
  .business-grid[data-view="index"] .card-arrow { width:30px; height:30px; inset-inline-end:9px; font-size:14px; }
  .business-grid[data-view="index"] .card-media { aspect-ratio:1; }
  .photo-dialog { width:100%; height:100vh; height:100dvh; margin:0; border:0; }
  .photo-header { padding:19px 18px; gap:15px; }
  .photo-header .eyebrow { font-size:8px; }
  .photo-close { width:44px; height:44px; }
  .photo-footer { padding:14px 18px max(14px,env(safe-area-inset-bottom)); }
  .photo-caption-row { gap:14px; min-height:30px; }
  #photo-caption { font-size:11px; }
  .photo-thumbnail { flex-basis:72px; height:54px; }
  .photo-thumbnails { margin-top:10px; }
  .photo-arrow { width:44px; height:44px; }
  .photo-previous { left:10px; }
  .photo-next { right:10px; }
  .property-gallery-label { right:12px; top:12px; padding:9px 11px; gap:15px; font-size:8px; }
}



@media (min-width:791px) {
  .profile-jumps:not(.is-stuck) .profile-jump-action { visibility:hidden; }
}
@media (max-height:550px) and (orientation:landscape) {
  .photo-dialog { height:100vh; height:100dvh; width:100%; margin:0; border:0; }
  .photo-header { padding:8px 18px; }
  .photo-header .eyebrow { margin-bottom:3px; }
  .photo-header h2 { font-size:31px; }
  .photo-footer { padding:8px 18px; }
  .photo-thumbnails { margin-top:7px; }
  .photo-thumbnail { flex-basis:65px; height:43px; }
  .photo-context { margin-top:5px; }
}
@media (max-height:430px) {
  .photo-dialog { overflow-y:auto; }
  .photo-dialog[open] { grid-template-rows:auto minmax(150px,1fr) auto; }
}
@media (max-width:900px) {
  .explore-dialog { width:calc(100% - 32px); height:calc(100dvh - 32px); }
  .explore-layout { grid-template-columns:minmax(0,1fr); }
  .explore-preview-area { display:none; }
  .explore-index { padding:27px clamp(22px,5vw,44px) 20px; }
  .explore-index h2 { font-size:clamp(39px,6.5vw,55px); }
  .explore-row-copy strong { font-size:clamp(26px,4.4vw,34px); }
  .explore-row { min-height:74px; }
}
@media (max-width:650px) {
  .explore-dialog { width:100%; height:100dvh; margin:0; border:0; }
  .explore-header { padding:12px 20px; }
  .explore-header .eyebrow { font-size:8px; }
  .explore-index { padding:24px 22px 18px; }
  .explore-search-field { gap:9px; margin-top:21px; }
  .explore-search-field input { font-size:16px; }
  .explore-search-field input::placeholder { font-size:12px; }
  .explore-row { min-height:70px; gap:9px; }
  .explore-footer { padding:14px 22px max(14px,env(safe-area-inset-bottom)); }
  .explore-keyboard-hint { display:none; }
  .photo-collections { flex-wrap:nowrap; max-width:calc(100vw - 98px); padding:2px 2px 6px; margin-top:11px; overflow-x:auto; scrollbar-width:thin; overscroll-behavior:contain; }
  .photo-collections button { min-height:44px; }
  .import-map-details { grid-template-columns:minmax(0,1fr); gap:24px; padding:23px 18px; }
  .import-origin-summary>p:not(.eyebrow) { font-size:13px; }
  .import-origin-summary h4 { font-size:38px; }
  .import-destination-label { margin-top:12px; }
  .import-origin-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .import-origin { padding:11px; min-height:78px; }
  .import-map-label { left:13px; bottom:10px; font-size:7px; }
  .import-point text,.import-hub text { display:none; }
}
@media (pointer:coarse) {
  .explore-keyboard-hint { display:none; }
}
@media (min-width:901px) and (max-height:700px) {
  .explore-header { padding-block:9px; }
  .explore-index { padding:23px 28px 18px; }
  .explore-index h2 { font-size:41px; }
  .explore-search-field { margin-top:18px; }
  .explore-row { min-height:62px; }
  .explore-row-copy strong { font-size:27px; }
  .explore-preview-area { padding:19px; }
  .explore-preview-copy { padding:22px; }
  .explore-preview-fact { margin-block:18px; }
  .explore-footer { padding-block:10px; }
}
@media (min-width:1050px) and (min-height:650px),
       (min-width:560px) and (min-height:300px) and (max-height:550px) and (orientation:landscape) {
  .photo-dialog[open] { grid-template-columns:minmax(0,1fr) var(--photo-rail-width,clamp(256px,22vw,320px)); grid-template-rows:auto minmax(0,1fr); }
  .photo-header { grid-column:1/-1; }
  .photo-footer { display:grid; grid-template-rows:auto minmax(54px,1fr) auto auto; min-width:0; min-height:0; padding:var(--photo-rail-padding,20px); overflow-y:auto; overscroll-behavior:contain; border-top:0; border-inline-start:1px solid var(--dark-line); }
  .photo-caption-row { gap:12px; align-items:start; }
  .photo-thumbnails { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; min-height:0; margin-top:var(--photo-rail-gap,17px); padding:0 4px 4px 0; overflow:auto; }
  .photo-thumbnail { width:100%; height:auto; aspect-ratio:1.34; }
  .photo-context { display:grid; align-content:end; gap:5px; margin-top:var(--photo-rail-gap,13px); }
  .photo-context-actions { gap:4px 14px; }
}
@media (min-width:560px) and (min-height:300px) and (max-height:550px) and (orientation:landscape) {
  .photo-dialog { --photo-rail-width:clamp(180px,33vw,258px); --photo-rail-padding:12px; --photo-rail-gap:7px; }
  #photo-caption { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
  .reveal-ready { opacity:1; transform:none; }
}
/* Native page transitions keep ordinary links and browser history intact. */
@media (prefers-reduced-motion:no-preference) {
  @view-transition { navigation:auto; }
  .header { view-transition-name:matar-masthead; }
  ::view-transition-group(matar-masthead) { animation-duration:.22s; }
  ::view-transition-old(root) { animation:portfolio-page-out .14s ease-out both; }
  ::view-transition-new(root) { animation:portfolio-page-in .22s ease-out both; }
}
@keyframes portfolio-page-out { to { opacity:0; } }
@keyframes portfolio-page-in { from { opacity:0; } }

/* Place the controls above their preview when the opening stacks. */
@media (max-width:960px) {
  .hero-layout { grid-template-columns:minmax(0,1fr); gap:24px; padding-block:35px; }
  .hero-copy,.hero-feature { grid-area:auto; }
  .hero-copy { display:grid; grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr); align-items:end; gap:27px; }
  .hero h1 { font-size:clamp(58px,8.6vw,85px); }
  .hero-introduction { margin-top:0; }
  .hero-figure { grid-template-columns:minmax(0,1.42fr) minmax(0,.88fr); }
  .hero-scene { aspect-ratio:auto; min-height:clamp(230px,34vw,327px); }
  .hero-caption { display:flex; flex-direction:column; justify-content:center; padding:19px 22px; }
  .hero-business-fact { padding:9px 0 0; border-inline-start:0; border-block-start:1px solid #a7b29665; }
  .hero-profile-action { align-self:start; }
}
@media (max-width:650px) {
  .hero-layout { gap:21px; padding-block:32px; }
  .hero-copy { display:block; }
  .hero-label { margin-bottom:19px; }
  .hero h1 { font-size:clamp(51px,12vw,77px); }
  .hero-introduction { margin-top:20px; }
  .hero-intro { max-width:44ch; font-size:14px; }
  .hero-actions { margin-top:17px; }
  .hero-origin { margin-top:10px; }
  .hero-figure { grid-template-columns:minmax(0,1fr); }
  .hero-scene { min-height:0; aspect-ratio:1.65; }
  .hero-caption { display:grid; padding:17px; }
  .hero-business-title { font-size:clamp(29px,7.5vw,39px); }
  .hero-business-fact { padding:0 0 0 10px; border-block-start:0; border-inline-start:1px solid #a7b29665; }
  .hero-profile-action { align-self:end; }
  .hero-tab { min-height:52px; }
  .hero-photo-mark { inset:12px; }
  .hero-gallery-label { right:13px; bottom:13px; font-size:8px; }
}

/* Each property leads with its own photography and a different composition. */
.about-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.about h2 { font-size:clamp(50px,5.8vw,89px); line-height:.94; }
.residence-mosaic { position:relative; }
.residence-mosaic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(0,1.95fr) minmax(0,1fr); gap:10px; aspect-ratio:1.04; overflow:hidden; }
.residence-mosaic-main { grid-column:1/-1; }
.residence-mosaic-grid .property-photo-link { min-width:0; min-height:0; }
.residence-mosaic-grid .property-photo-link img { width:100%; height:100%; object-fit:cover; }
.residence-mosaic-main img { object-position:50% 22%; }
.mosaic-photo-label { position:absolute; inset:auto 0 0; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:10px 12px; background:#172019e8; color:var(--light); font:650 9px/1.5 var(--sans); letter-spacing:.07em; }
.residence-mosaic .residence-seal { top:21px; left:21px; bottom:auto; padding:14px 16px; border:0; box-shadow:0 6px 18px #18231b1c; }
.residence-mosaic .residence-seal strong { font-size:45px; }
.residence-mosaic>figcaption { padding-inline:0; font-size:8px; }
.studios-collage { position:relative; width:100%; max-width:none; padding-bottom:64px; }
.studios-collage>.studios-photo-button { aspect-ratio:1.5; }
.studios-collage>.studios-photo-button img { width:100%; height:100%; object-fit:cover; }
.studios-arrival-preview { position:absolute; z-index:1; right:15px; bottom:0; width:clamp(120px,13vw,180px); border:7px solid var(--paper); background:var(--paper); box-shadow:0 12px 28px #34261e26; }
.studios-arrival-preview img { width:100%; height:auto; aspect-ratio:736/960; object-fit:cover; transition:filter .2s; }
.studios-arrival-preview:hover img { filter:brightness(1.05); }
.studios-arrival-preview>span { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 2px 3px; color:var(--ink); font:650 8px/1.5 var(--sans); letter-spacing:.07em; }
.studios-collage>figcaption { width:calc(100% - clamp(120px,13vw,180px) - 35px); padding:15px 0 0; color:var(--muted); font-size:9px; line-height:1.8; }
.footer { padding-top:0; }
.footer-top { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:35px; padding-block:clamp(48px,6vw,84px) 38px; }
.footer-brand .wordmark img { width:clamp(260px,38vw,560px); height:auto; }
.footer-brand { gap:22px; }
.footer-brand>p { margin-top:0; color:var(--light-muted); font:500 clamp(23px,2.6vw,37px)/1.1 var(--serif); letter-spacing:-.025em; }
.footer-nav { display:grid; gap:5px; padding-top:8px; }
.footer-nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--light); font-size:clamp(17px,1.8vw,24px); }
.contact-heading h2 { font-size:clamp(51px,6.2vw,92px); line-height:.95; }
@media (max-width:790px) {
  .about-layout { grid-template-columns:minmax(0,1fr); }
  .residence-mosaic { width:min(100%,600px); margin-inline:auto; }
  .studios-collage { width:min(100%,620px); margin-inline:auto; }
  .studios-arrival-preview { width:clamp(120px,25vw,170px); }
  .studios-collage>figcaption { width:calc(100% - clamp(120px,25vw,170px) - 35px); }
  .footer-brand .wordmark img { width:min(54vw,390px); min-width:210px; }
}
@media (max-width:520px) {
  .residence-mosaic-grid { gap:7px; }
  .residence-mosaic .residence-seal { top:14px; left:14px; padding:10px 12px; }
  .residence-mosaic .residence-seal strong { font-size:36px; }
  .residence-mosaic .residence-seal>span { font-size:8px; }
  .mosaic-photo-label { padding:8px; font-size:8px; letter-spacing:.025em; }
  .studios-collage { padding-bottom:60px; }
  .studios-arrival-preview { right:6px; width:clamp(100px,29vw,140px); border-width:5px; }
  .studios-collage>figcaption { width:calc(100% - clamp(100px,29vw,140px) - 23px); font-size:8px; }
  .footer-top { grid-template-columns:minmax(0,1fr); gap:28px; }
  .footer-brand .wordmark img { width:min(82vw,340px); min-width:0; }
  .footer-nav { display:flex; flex-wrap:wrap; gap:0 25px; }
  .footer-nav a { font-size:15px; }
  .footer-brand>p { margin-top:18px; font-size:25px; }
}

/* Business profiles lead with the business, then introduce their reading navigation. */
.profile-toolbar { background:var(--paper); border-bottom:0; }
.profile-toolbar-inner { min-height:59px; padding-block:7px; }
.profile-crumbs { font-size:11px; }
.profile-page main>.section[data-profile] { padding-top:clamp(32px,4.5vw,65px); overflow:visible; }
.profile-page .business-copy>[data-profile-heading="title"] { max-width:none; font-size:clamp(56px,6.4vw,94px); line-height:.96; letter-spacing:-.045em; }
.profile-page .business-opening+.profile-jumps { margin-top:clamp(32px,4vw,56px); }
.profile-page .profile-jumps .profile-jump-inner { min-height:55px; }
.profile-page .profile-jumps ul a { min-height:50px; }
.yabani-feature .business-copy>h2,.profile-page .yabani-feature .business-copy>[data-profile-heading="title"] { font-family:var(--sans); font-size:clamp(45px,5.4vw,76px); font-weight:700; line-height:1.04; letter-spacing:-.065em; }
@media (max-width:650px) {
  .profile-toolbar-inner { gap:10px 14px; padding-block:13px; }
  .profile-crumbs { font-size:10px; }
  .profile-actions { width:100%; justify-content:space-between; gap:10px; }
  .profile-place { flex-basis:100%; font-size:10px; }
  .profile-mobile-action { flex:1; max-width:240px; }
  .profile-share { min-height:44px; padding-inline:11px; font-size:11px; }
  .profile-page .business-copy>[data-profile-heading="title"] { font-size:clamp(52px,12.5vw,72px); }
  .profile-page .business-opening+.profile-jumps { margin-top:32px; }
  .profile-jump-inner { gap:12px; }
  .profile-page .yabani-feature .business-copy>[data-profile-heading="title"] { font-size:clamp(43px,10.8vw,60px); }
}

.profile-document { scroll-padding-top:calc(var(--header-height) + 80px); }
@media (min-width:791px) {
  .header .wordmark img { width:clamp(145px,12vw,175px); }
}
@media (max-width:520px) {
  .footer-brand { gap:16px; }
  .footer-brand>p { margin-top:0; }
}

/* Residence: a suite shortlist that works independently of portfolio fetching. */
.suite-selection-hint { margin-top:19px; color:var(--muted); font-size:12px; }
.residence-suite-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.residence-suite-list li { display:flex; flex-direction:column; padding:24px; border-width:1px 0 0; background:#f8f6ef; transition:background .2s; }
.residence-suite-list li:has(.suite-compare-choice[aria-pressed="true"]) { background:#e9ece2; }
.residence-suite-list .suite-specs { margin-bottom:17px; }
.suite-compare-choice { display:flex; align-items:center; gap:10px; width:100%; min-height:48px; padding:12px 0 2px; margin-top:auto; border-top:1px solid var(--line); color:var(--tone-ink); text-align:left; font:650 11px/1.5 var(--sans); }
.suite-compare-choice>span { display:grid; flex:none; place-items:center; width:24px; height:24px; border:1px solid var(--tone-rule); font-size:17px; font-weight:400; }
.suite-compare-choice[aria-pressed="true"]>span { color:var(--paper); background:var(--tone-ink); border-color:var(--tone-ink); }
.suite-compare-choice:disabled { color:var(--muted); cursor:default; opacity:.65; }
.suite-compare-choice:hover:not(:disabled) { color:var(--ink); }
.suite-shortlist { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px 28px; padding:23px 25px; margin-block:25px; border:1px solid var(--tone-rule); background:#e6e8de; }
.suite-shortlist .eyebrow { margin-bottom:8px; font-size:9px; }
#suite-shortlist-status { max-width:55ch; color:var(--ink); font-size:13px; line-height:1.65; }
.suite-shortlist-actions { display:flex; flex-wrap:wrap; align-items:center; gap:13px 24px; }
.suite-shortlist-actions>.button { min-height:46px; font-size:11px; }
.suite-shortlist-actions>.button:disabled { opacity:.5; cursor:default; }
.suite-comparison { padding:clamp(20px,3.5vw,48px); margin-block:32px; border:1px solid var(--tone-rule); background:var(--white); }
.suite-comparison .section-heading { align-items:start; }
.suite-comparison .section-heading>.text-link { flex:none; min-height:44px; font-size:11px; }
#suite-comparison-title { font:500 clamp(34px,4vw,51px)/1.02 var(--serif); letter-spacing:-.04em; }
.suite-common-details { max-width:60ch; margin-top:16px; color:var(--muted); font-size:13px; }
.suite-comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:28px; }
.suite-comparison-grid[data-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.suite-comparison-card { min-width:0; padding:22px; border-block:1px solid var(--tone-rule); background:#f0f0e7; }
.suite-comparison-card>.eyebrow { font-size:8px; }
.comparison-suite-name { margin-top:18px; font:500 clamp(28px,3vw,41px)/1.05 var(--serif); letter-spacing:-.035em; overflow-wrap:anywhere; }
.suite-comparison-card .suite-specs>div { display:grid; gap:7px; padding-block:14px; }
.suite-comparison-card .suite-specs dd { font-size:14px; }
.suite-comparison-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:15px 25px; margin-top:24px; }
.suite-comparison-footer>p { max-width:52ch; color:var(--muted); font-size:11px; }
.suite-comparison-footer>.text-link { min-height:44px; font-size:11px; }
.suite-compare-scroll-hint { display:none; }

/* Yabani: select a Japanese make, then prepare a note for the real shop. */
.yabani-make-grid li { padding:0; }
.yabani-make-grid li>a { position:relative; display:grid; justify-items:center; align-content:center; gap:15px; width:100%; min-height:125px; padding:20px 8px; border-bottom:2px solid transparent; transition:background .2s,border-color .2s; }
.yabani-make-grid li>a:hover,.yabani-make-grid li>a:focus-visible,.yabani-make-grid li>a.is-selected { border-bottom-color:#304c72; background:#e2e8ee; }
.yabani-make-grid li>a:focus-visible { outline-offset:-4px; }
.make-enquiry-arrow { position:absolute; right:9px; bottom:9px; color:#425a78; font-size:12px; }
.parts-enquiry-form { padding-top:24px; margin-top:25px; border-top:1px solid #b9c4d0; }
.parts-enquiry-form>.eyebrow { font-size:10px; }
.parts-form-intro { max-width:50ch; margin-top:12px; color:#4c5d71; font-size:13px; }
.parts-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; margin-top:24px; }
.parts-field { display:grid; align-content:start; min-width:0; gap:8px; }
.parts-field-wide { grid-column:1/-1; }
.parts-field label { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 9px; color:#23364e; font:650 12px/1.6 var(--sans); }
.parts-field label>span { color:#59697c; font-size:10px; font-weight:400; }
.parts-field input,.parts-field select { display:block; width:100%; min-width:0; min-height:49px; padding:11px 12px; border:1px solid #b5c0ce; border-radius:0; color:#1b2b40; background:#fafbfc; font:400 16px/1.4 var(--sans); }
.parts-field input::placeholder { color:#627084; font-size:13px; opacity:1; }
.parts-field input:focus-visible,.parts-field select:focus-visible,.parts-note textarea:focus-visible { outline:2px solid #304c72; outline-offset:3px; }
.parts-form-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 23px; margin-top:23px; }
.parts-form-actions>.button { color:#fff; background:#263f63; border-color:#263f63; font-size:12px; }
.parts-form-actions>.button:hover { background:#162d4e; }
.parts-form-actions>.text-link { min-height:44px; color:#304c72; font-size:11px; }
.parts-form-status { min-height:22px; margin-top:16px; color:#304c72; font-size:12px; line-height:1.7; }
.parts-note { padding:22px; margin-top:13px; border:1px solid #bcc7d5; background:#e2e8ef; }
.parts-note label { display:block; margin-bottom:11px; color:#23364e; font:650 12px/1.5 var(--sans); }
.parts-note textarea { display:block; width:100%; min-height:185px; padding:14px; border:1px solid #b5c0ce; border-radius:0; resize:vertical; color:#1b2b40; background:#fafbfc; font:400 13px/1.7 var(--sans); }
.parts-note>.text-link { min-height:44px; margin-top:13px; color:#263f63; font-size:12px; }
.parts-note>p { margin-top:8px; color:#4c5d71; font-size:11px; }
@media (max-width:1000px) {
  .residence-suite-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yabani-enquiry { gap:35px; grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr); }
}
@media (max-width:790px) {
  .yabani-enquiry { grid-template-columns:minmax(0,1fr); }
  .yabani-visiting { max-width:620px; padding-top:25px; border-top:1px solid #b9c4d0; }
}
@media (max-width:700px) {
  .suite-comparison .section-heading { display:grid; gap:15px; }
  .suite-comparison .section-heading>.text-link { justify-self:start; }
  .suite-comparison-grid,.suite-comparison-grid[data-count="3"] { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(235px,1fr); gap:15px; padding:0 3px 14px; overflow-x:auto; overscroll-behavior:contain; scroll-snap-type:x proximity; scrollbar-width:thin; }
  .suite-comparison-card { scroll-snap-align:start; }
  .suite-compare-scroll-hint { display:block; margin-top:17px; color:var(--tone-ink); font-size:10px; }
  .suite-shortlist { padding:20px; }
  .yabani-make-grid li>a { min-height:110px; }
}
@media (max-width:520px) {
  .residence-suite-list { grid-template-columns:minmax(0,1fr); gap:14px; }
  .residence-suite-list li { padding:22px; }
  .suite-shortlist-actions { width:100%; justify-content:space-between; }
  .suite-shortlist-actions>.button { flex:1; justify-content:space-between; }
  .parts-field-grid { grid-template-columns:minmax(0,1fr); gap:17px; }
  .parts-field label { display:flex; gap:3px 12px; }
  .parts-note { padding:16px; }
}

/* The flagship uses its own navy and golden palette, with the original logo at centre. */
.chicken-feature { background:#f3eee4; border-top-color:#d9cfb9; }
.chicken-feature .business-copy> :is(h2,[data-profile-heading="title"]) { max-width:8ch; font-size:clamp(59px,7vw,101px); line-height:.93; }
.chicken-feature .button.primary { color:#182b49; background:#e6bd45; border-color:#e6bd45; }
.chicken-feature .button.primary:hover { background:#f0cd66; border-color:#f0cd66; }
.chicken-brand-panel { grid-template-rows:auto minmax(130px,1fr) auto; align-content:stretch; justify-items:stretch; gap:25px; min-height:clamp(350px,36vw,490px); padding:29px 33px; border:0; color:#213654; background:#eae1c9; }
.chicken-brand-mast { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; padding-bottom:15px; border-bottom:1px solid #a8946880; font:700 9px/1.5 var(--sans); letter-spacing:.12em; }
.chicken-brand-panel>img { align-self:center; justify-self:center; width:min(100%,480px); margin:9px 0; padding:0; border:0; background:transparent; mix-blend-mode:multiply; }
.chicken-brand-foot { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.chicken-brand-foot>p { display:grid; gap:10px; }
.chicken-brand-foot>p>span:last-child { font:650 8px/1.5 var(--sans); letter-spacing:.1em; }
.chicken-year { position:static; top:auto; left:auto; transform:none; color:#213654; font:500 clamp(76px,8vw,114px)/.82 var(--serif); letter-spacing:-.075em; }
.chicken-brand-foot>a { display:grid; justify-items:end; gap:6px; min-width:72px; min-height:64px; padding:4px 0; color:#213654; font:700 9px/1.5 var(--sans); letter-spacing:.1em; }
.chicken-brand-foot>a>span:last-child { font-size:37px; font-weight:400; line-height:1; transition:transform .2s; }
.chicken-brand-foot>a:hover>span:last-child { transform:translate(3px,3px); }
.chicken-story { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(30px,6vw,85px); margin-top:clamp(46px,6.5vw,94px); }
.chicken-story-heading :is(h3,[data-profile-heading="section"]) { font-size:clamp(40px,4.6vw,65px); line-height:.95; }
.chicken-story-heading>p:last-child { max-width:29ch; margin-top:20px; color:var(--muted); font-size:14px; }
.chicken-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 30px; margin:0; counter-reset:chicken-step; }
.chicken-timeline li { counter-increment:chicken-step; min-width:0; padding:22px 0 10px 49px; }
.chicken-timeline li::before { content:counter(chicken-step,decimal-leading-zero); top:21px; left:0; width:auto; height:auto; border-radius:0; background:transparent; color:#9a7e44; font:500 31px/.95 var(--serif); letter-spacing:-.04em; }
.chicken-timeline :is(h3,[data-profile-heading="section"]) { font-size:30px; line-height:1.04; overflow-wrap:anywhere; }
.chicken-timeline .eyebrow { font-size:9px; }
.chicken-timeline li>p:last-child { font-size:13px; }
.chicken-specialty { grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr); padding:clamp(27px,5vw,72px); border:0; background:#1c2d47; }
.chicken-specialty-copy :is(h3,[data-profile-heading="section"]) { font-size:clamp(38px,4.8vw,67px); line-height:.96; }
.chicken-specialty-copy>p:not(.eyebrow) { color:#d5dce5; }
.chicken-specialty-mark { justify-self:end; width:min(100%,320px); min-height:0; aspect-ratio:1; gap:19px; padding:25px 14px; border-color:#d6b86f; border-radius:50%; background:transparent; color:#e5ca85; }
.chicken-specialty-mark strong { font-size:clamp(39px,5.1vw,71px); }
.chicken-specialty-mark>span { font-size:8px; }
.chicken-press { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:clamp(30px,6vw,85px); }
.chicken-press article :is(h4,[data-profile-heading="detail"]) { font:500 clamp(25px,2.8vw,37px)/1.1 var(--serif); letter-spacing:-.025em; }
.chicken-press article>p:not(.eyebrow) { max-width:63ch; line-height:1.8; }
.chicken-phone { color:#213654; font-size:clamp(31px,3.4vw,47px); }

/* Wellness Lab is quieter: open space, large type and four native disclosures. */
.wellness-feature { background:#2d3d31; }
.wellness-feature .business-copy { --chapter-text:#d0d7c6; }
.wellness-brand-panel { grid-template-rows:auto minmax(135px,1fr) auto; align-content:stretch; justify-items:stretch; gap:28px; min-height:clamp(350px,35vw,470px); padding:30px; border:0; border-radius:0; background:#f0f1e5; }
.wellness-brand-panel::before { display:none; }
.wellness-brand-kicker { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:7px 15px; color:#515b41; font:650 8px/1.5 var(--sans); letter-spacing:.1em; }
.wellness-brand-panel img { align-self:center; justify-self:center; width:min(100%,400px); }
.wellness-brand-panel>p { padding-top:18px; border-top:1px solid #bec5ac; color:#535e42; text-align:left; font:500 clamp(25px,3vw,39px)/1.05 var(--serif); letter-spacing:-.035em; }
.wellness-concept { display:grid; grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr); align-items:start; gap:clamp(35px,7vw,105px); margin-top:clamp(60px,8vw,115px); }
.wellness-concept-intro { position:sticky; top:calc(var(--header-height) + 100px); }
.wellness-concept-intro :is(h3,[data-profile-heading="section"]) { max-width:12ch; font-size:clamp(42px,4.9vw,70px); line-height:.96; }
.wellness-concept-intro>p:last-child { max-width:32ch; margin-top:21px; color:#d0d7c6; font-size:14px; }
.wellness-elements { display:block; margin:0; }
.wellness-elements li { display:block; padding:0; border:0; background:transparent; }
.wellness-elements details { border-top:1px solid #78866f; }
.wellness-elements li:last-child details { border-bottom:1px solid #78866f; }
.wellness-elements summary { display:grid; grid-template-columns:38px minmax(0,1fr) 18px; align-items:center; gap:16px; min-height:106px; padding:24px 0; list-style:none; cursor:pointer; }
.wellness-elements summary::-webkit-details-marker { display:none; }
.wellness-elements summary::after { content:"+"; color:#d0d7b5; font:400 25px/1 var(--sans); }
.wellness-elements details[open] summary::after { content:"\2212"; }
.wellness-elements summary:focus-visible { outline-color:#d0d7b5; outline-offset:5px; }
.wellness-number { padding:0; border:0; color:#c5cea9; font:500 22px/1 var(--serif); }
.wellness-element-title { color:#f0f2e8; font:500 clamp(28px,3.1vw,43px)/1.07 var(--serif); letter-spacing:-.03em; }
.wellness-elements details>div { padding:0 22px 27px 54px; }
.wellness-elements details>div>p { max-width:46ch; margin:0; color:#d0d7c6; font-size:14px; line-height:1.8; }
.wellness-information>p { font-size:13px; }
.wellness-concept-label { color:#d0d7b5; font:650 9px/1.6 var(--sans); letter-spacing:.1em; }
@media (max-width:1000px) {
  .chicken-specialty { grid-template-columns:minmax(0,1fr) minmax(185px,.65fr); gap:28px; }
  .chicken-specialty-mark>span { font-size:7px; letter-spacing:.08em; }
}
@media (max-width:790px) {
  .chicken-story { grid-template-columns:minmax(0,1fr); gap:30px; }
  .chicken-story-heading>p:last-child { max-width:49ch; }
  .chicken-press { grid-template-columns:minmax(0,1fr); gap:30px; }
  .wellness-concept { grid-template-columns:minmax(0,1fr); gap:30px; }
  .wellness-concept-intro { position:static; }
  .wellness-concept-intro :is(h3,[data-profile-heading="section"]) { max-width:17ch; }
  .wellness-brand-panel { min-height:360px; }
}
@media (max-width:600px) {
  .chicken-specialty { grid-template-columns:minmax(0,1fr); gap:32px; }
  .chicken-specialty-mark { justify-self:center; width:min(100%,260px); }
  .chicken-specialty-mark>span { font-size:8px; }
  .chicken-specialty-mark strong { font-size:55px; }
  .chicken-brand-panel { min-height:340px; gap:22px; padding:23px; }
  .chicken-brand-mast { font-size:8px; }
  .chicken-brand-foot>p>span:last-child { font-size:7px; }
  .chicken-year { font-size:80px; }
  .wellness-brand-panel { min-height:330px; padding:25px; }
  .wellness-brand-kicker { font-size:8px; }
}
@media (max-width:520px) {
  .chicken-timeline { grid-template-columns:minmax(0,1fr); gap:16px; }
  .chicken-timeline li { padding-left:55px; }
  .chicken-timeline li::before { font-size:35px; }
  .chicken-feature .business-copy> :is(h2,[data-profile-heading="title"]) { font-size:clamp(57px,14.3vw,74px); }
  .wellness-elements summary { grid-template-columns:29px minmax(0,1fr) 18px; gap:12px; min-height:94px; }
  .wellness-element-title { font-size:29px; }
  .wellness-elements details>div { padding-left:41px; padding-right:6px; }
}

.hero-group-tab .hero-tab-number { font-family:var(--sans); font-size:10px; font-weight:650; letter-spacing:.04em; }
.copy-link-fallback { display:block; width:min(100%,650px); min-height:44px; margin-top:13px; padding:10px 12px; border:1px solid var(--line); border-radius:0; color:var(--ink); background:var(--white); font:400 13px/1.5 var(--sans); }
.copy-status { margin-top:12px; color:var(--tone-ink); font-size:12px; }
.residence-mosaic .residence-mosaic-main img { object-position:50% 22%; }

/* An editorial property spread uses published hotel photography at its original resolution. */
.residence-photo-tour { margin-top:clamp(35px,5vw,72px); }
.residence-photo-tour .section-heading { align-items:end; }
.residence-photo-tour :is(h3,[data-profile-heading="section"]) { max-width:15ch; font-size:clamp(40px,4.8vw,67px); line-height:.96; }
.residence-photo-tour .section-heading>p { max-width:29ch; font-size:14px; }
.property-tour-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:20px 25px; height:clamp(400px,40vw,570px); margin-top:30px; }
.property-tour-grid>figure { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; min-height:0; }
.property-tour-grid>figure:first-child { grid-row:span 2; }
.property-tour-grid .property-photo-link { min-width:0; min-height:0; background:var(--stone); }
.property-tour-grid img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.property-tour-open { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:40px; height:40px; background:var(--paper); color:var(--ink); font:400 19px/1 var(--sans); }
.property-tour-grid figcaption { display:flex; align-items:baseline; gap:13px; padding-top:11px; color:var(--muted); font:500 12px/1.65 var(--sans); letter-spacing:0; text-transform:none; }
.property-tour-grid figcaption>span:first-child { flex:none; color:var(--tone-ink); font:500 20px/1 var(--serif); }
.property-tour-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; margin-top:17px; }
.property-tour-footer>p { color:var(--muted); font-size:11px; }
.property-tour-footer>.text-link { min-height:44px; font-size:12px; }
.photo-property-link { display:inline-flex; align-items:center; gap:9px; justify-self:start; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.photo-property-link::after { content:"\2197"; font-size:13px; }
.photo-property-link:hover { color:var(--gold); }
@media (max-width:700px) {
  .residence-photo-tour .section-heading { display:grid; gap:19px; }
  .residence-photo-tour .section-heading>p { max-width:40ch; }
  .property-tour-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; height:auto; gap:22px 15px; margin-top:25px; }
  .property-tour-grid>figure { display:block; }
  .property-tour-grid>figure:first-child { grid-column:1/-1; grid-row:auto; }
  .property-tour-grid .property-photo-link { aspect-ratio:1; }
  .property-tour-grid>figure:first-child .property-photo-link { aspect-ratio:1.5; }
  .property-tour-grid figcaption { gap:9px; font-size:11px; }
  .property-tour-open { top:9px; right:9px; width:34px; height:34px; }
}

/* The automotive chapter has the clarity of a specialist's catalogue. */
.yabani-logo { min-height:clamp(330px,35vw,470px); padding:clamp(24px,3vw,42px); border:0; background:#e0e6eb; }
.yabani-brand-note { padding-bottom:19px; font-size:9px; letter-spacing:.1em; }
.yabani-logo>img { width:min(100%,440px); margin-block:20px; }
.yabani-brand-origin { align-items:end; padding-top:21px; }
.yabani-brand-origin>div { display:grid; gap:12px; }
.yabani-brand-origin>div>span { font-size:8px; letter-spacing:.14em; }
.yabani-brand-origin time { font:600 clamp(60px,7.3vw,100px)/.85 var(--sans); letter-spacing:-.07em; }
.yabani-brand-origin>p { padding-bottom:2px; color:#3f5270; font:500 12px/1.7 var(--sans); letter-spacing:0; }
.yabani-makes { padding-top:31px; margin-top:clamp(45px,5vw,72px); }
.yabani-makes .eyebrow { margin-bottom:16px; font-size:9px; }
.yabani-makes :is(h3,[data-profile-heading="section"]) { font-size:clamp(38px,4.4vw,59px); line-height:1; }
.yabani-makes .section-heading>p { max-width:28ch; color:#4c5d71; font-size:13px; }
.yabani-make-grid { margin-top:29px; border-block:1px solid #bcc7d0; }
.yabani-make-grid li { border-left:0; }
.yabani-make-grid li>a { min-height:144px; gap:21px; }
.yabani-make-grid img { width:min(65px,100%); height:41px; }
.yabani-make-grid li>a>span:not(.make-enquiry-arrow) { color:#364c68; font-size:10px; font-weight:650; }
.make-enquiry-arrow { right:12px; bottom:12px; }
.import-origin { border-width:0 0 1px; background:transparent; padding-inline:8px; }
.import-country-code { width:30px; height:30px; border:0; font-size:13px; font-weight:650; }
.import-origin[aria-pressed="true"] { background:#e5ecf2; }
.yabani-visit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 25px; }
.yabani-visit-actions>.text-link { font-size:12px; }

/* Open rows and a clear primary action finish the visit without another card grid. */
.contact-row,.contact-row:nth-child(even) { padding-inline:0; background:transparent; }
.contact-number { align-self:start; width:35px; height:auto; padding-top:4px; border:0; font-size:31px; }
.contact-actions { gap:12px 24px; }
.contact-actions .text-link,.chicken-visit-links .text-link,.residence-visit-options .text-link,.yabani-visit-actions .text-link { min-height:44px; }
.contact-save { font-size:12px; }
@media (max-width:790px) {
  .yabani-logo { max-width:620px; min-height:350px; margin-inline:auto; }
  .yabani-brand-origin time { font-size:79px; }
  .contact-number { width:30px; }
}
@media (max-width:520px) {
  .yabani-brand-origin>p { font-size:11px; }
  .yabani-brand-note { font-size:8px; gap:8px; }
  .yabani-makes .section-heading { display:grid; gap:18px; }
  .yabani-make-grid li>a { min-height:123px; gap:17px; }
  .yabani-make-grid img { width:54px; height:35px; }
  .contact-actions { gap:12px 20px; }
}

/* The Group statement gives the signature room to exist only once at the opening. */
.group-principles { align-self:center; min-width:0; padding-top:10px; }
.group-principles>.eyebrow { margin-bottom:28px; color:var(--muted); font-size:9px; letter-spacing:.15em; }
.group-principles dl { margin:0; border-top:1px solid #a9aa9a; }
.group-principles dl>div { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:20px; padding-block:clamp(25px,3.1vw,44px); border-bottom:1px solid var(--line); }
.group-principles dt { display:flex; align-items:baseline; gap:clamp(12px,1.8vw,25px); min-width:0; font:500 clamp(34px,3.8vw,55px)/1 var(--serif); letter-spacing:-.04em; overflow-wrap:anywhere; }
.group-principles dt>span { flex:none; color:var(--bronze); font:500 11px/1 var(--sans); letter-spacing:0; }
.group-principles dd { max-width:23ch; margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.profile-next .business-card { border:0; background:transparent; box-shadow:none; }
.profile-next .card-copy { padding:23px 0 0; }
.profile-next .card-meta { gap:13px; }
.profile-next .card-number { min-width:0; min-height:0; padding:0; border:0; font:500 22px/1 var(--serif); }
.profile-next .card-media-brand::before { display:none; }
.profile-next .card-location { padding-top:4px; border:0; }
.profile-business-list { gap:0 28px; }
.profile-business-list a { gap:9px 15px; padding:22px 0; border-width:1px 0 0; background:transparent; }
.profile-business-list a:hover { background:transparent; color:var(--tone-ink); }
.profile-related-sector { font-size:9px; }
.profile-related-name { font-size:clamp(27px,2.6vw,37px); }
.profile-related-arrow { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--tone-rule); border-radius:50%; transition:background .2s,color .2s; }
.profile-business-list a:hover .profile-related-arrow { color:var(--paper); background:var(--tone-ink); border-color:var(--tone-ink); }
@media (prefers-reduced-motion:no-preference) {
  .import-route.is-active { stroke-dasharray:1; animation:import-route-arrive .65s cubic-bezier(.2,.6,.3,1) both; }
}
@keyframes import-route-arrive { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@media (max-width:790px) {
  .group-principles { width:100%; }
  .group-principles dl>div { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); padding-block:29px; }
  .group-principles dt { font-size:clamp(34px,6vw,47px); }
}
@media (max-width:520px) {
  .group-principles>.eyebrow { margin-bottom:23px; }
  .group-principles dl>div { grid-template-columns:minmax(0,1fr); gap:14px; padding-block:24px; }
  .group-principles dt { gap:18px; font-size:42px; }
  .group-principles dd { max-width:none; padding-left:31px; font-size:13px; }
  .profile-other .profile-business-list { grid-template-columns:minmax(0,1fr); }
  .profile-business-list a { padding-block:20px; }
}

/* Recovery pages retain the group identity and useful native destinations. */
.not-found-header-link { display:inline-flex; align-items:center; gap:18px; min-height:44px; color:var(--light); font-size:12px; }
.not-found-header-link:hover { color:var(--gold); }
.not-found-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:clamp(30px,6vw,90px); }
.not-found h1 { max-width:12ch; font-size:clamp(58px,7vw,105px); line-height:.96; letter-spacing:-.045em; }
.not-found p:not(.eyebrow) { max-width:45ch; margin-top:26px; color:var(--muted); font-size:15px; }
.not-found .button { margin-top:30px; }
.not-found-number { justify-self:center; color:#c4c7b7; font:300 clamp(145px,22vw,320px)/1 var(--sans); letter-spacing:-.085em; }
.not-found-businesses { padding-block:10px clamp(55px,7vw,100px); }
.not-found-businesses h2 { font-size:clamp(43px,4.7vw,65px); }
.not-found-businesses .profile-business-list { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:30px; }
.not-found-footer { padding-block:25px; border-top:1px solid var(--line); }
.not-found-footer>.wrap { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:13px 25px; color:var(--muted); font-size:12px; }
.not-found-footer a { display:inline-flex; align-items:center; gap:20px; min-height:44px; }
.not-found-footer a:hover { color:var(--ink); }
@media (max-width:790px) {
  .not-found-layout { grid-template-columns:minmax(0,1fr) minmax(0,.7fr); gap:25px; }
  .not-found-number { font-size:20vw; }
  .not-found-businesses .profile-business-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .not-found-layout { grid-template-columns:minmax(0,1fr); }
  .not-found-number { display:none; }
  .not-found h1 { font-size:clamp(53px,12vw,72px); }
  .not-found-businesses .profile-business-list { grid-template-columns:minmax(0,1fr); }
  .not-found-header-link { font-size:11px; }
}
@media (max-width:650px) {
  .profile-share-feedback input,.portfolio-share-feedback input,.photo-share-feedback input,.copy-link-fallback,.parts-note textarea { font-size:16px; }
}
