/* DreamDwell interaction system: visible affordances, tactile feedback, optional motion. */
:root{--control-edge:color-mix(in srgb,var(--ink) 42%,var(--surface));--control-fill:color-mix(in srgb,var(--ink) 5%,var(--surface));--control-ease:cubic-bezier(.22,.68,0,1)}
.ui-icon{display:block;flex-shrink:0;width:22px;height:22px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--highlight);outline-offset:5px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--highlight);outline-offset:3px}
.button:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #0003}
.button:disabled{cursor:default;transform:none;box-shadow:none}
.button:focus-visible:after{transform:translateX(150%)}
.button:focus-visible{box-shadow:0 8px 32px #0004}
.header-inner .search-toggle{display:flex;align-items:center;justify-content:center;gap:9px;width:auto;min-width:44px;min-height:44px;padding:0 15px;border-radius:40px;font:400 12px Jost;transition:background .3s,border-color .3s,box-shadow .3s}
.search-toggle:hover,.search-toggle:focus-visible{background:color-mix(in srgb,var(--highlight) 12%,transparent);box-shadow:0 0 0 5px #d8c3a40a}
.menu-toggle{min-width:44px;min-height:44px;justify-content:center;align-items:center}
.hero-search{position:relative;isolation:isolate;display:flex;align-items:center;gap:20px;width:min(540px,100%);min-height:82px;margin:0 auto;padding:16px 19px 16px 27px;border:1px solid #ffffff70;border-radius:60px;background:linear-gradient(110deg,#121a20d6,#202d33b8);color:#fff;text-align:left;backdrop-filter:blur(22px);box-shadow:0 12px 45px #0003,inset 0 1px #ffffff25;overflow:hidden;transition:transform .55s var(--control-ease),border-color .4s,box-shadow .5s}
.hero-search:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 20%,#ffffff12 48%,transparent 75%);transform:translateX(-140%);transition:transform 1s var(--control-ease)}
.hero-search:hover,.hero-search:focus-visible{transform:translateY(-3px);border-color:var(--highlight);box-shadow:0 16px 60px #0005,inset 0 1px #ffffff30}
.hero-search:hover:before,.hero-search:focus-visible:before{transform:translateX(140%)}
.hero-search:active{transform:scale(.985)}
.hero-search>.ui-icon{width:23px;height:23px;color:#e4d0b7}
.hero-search-copy{flex:1;min-width:0;white-space:nowrap;overflow:hidden;font:400 16px/1.4 Jost}
.search-kicker{display:block;margin-bottom:4px;font:500 9px/1.2 Jost;letter-spacing:2px;color:#e4d0b7}
.search-caret{display:inline-block;vertical-align:-2px;width:1px;height:17px;background:currentColor;margin-left:3px;animation:search-caret 1s steps(1) infinite}
.hero-search[data-text-paused=true] .search-caret{animation:none;opacity:0}
.hero-search-arrow{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:50%;background:var(--highlight);color:#181a18;transition:transform .5s var(--control-ease)}
.hero-search:hover .hero-search-arrow,.hero-search:focus-visible .hero-search-arrow{transform:rotate(45deg)}
.cinema-intro{color:#f1f0ec;font-weight:400;text-shadow:0 2px 12px #0009}
.cinema-controls button,.cinema-controls [data-slide-pause]{min-width:44px;min-height:44px}
.slide-dots button{min-width:32px}
@keyframes search-caret{50%{opacity:0}}
/* A deliberately visible search panel, with actual field boundaries. */
.finder-strip{padding:29px 0 32px;background:linear-gradient(130deg,color-mix(in srgb,var(--highlight) 4%,var(--background)),var(--background));}
.finder-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.finder-heading>div,.filter-heading>div{display:flex;align-items:center;gap:12px}
.finder-heading .ui-icon,.filter-heading .ui-icon{color:var(--highlight)}
.finder-heading h2{font:400 23px var(--heading);letter-spacing:-.2px;margin:0}
.finder-heading .finder-map{position:static;display:inline-flex;align-items:center;gap:8px;min-height:44px;font:400 12px Jost;border-bottom:1px solid var(--control-edge);transition:color .3s,border-color .3s}
.finder-map:hover{color:var(--ink);border-color:var(--highlight)}
.finder-map .ui-icon{width:17px;height:17px}
.finder{padding-block:0;gap:18px;align-items:end;grid-template-columns:1fr 1.65fr 1fr auto}
.finder label,.finder label+label,.finder label.finder-query{border:0;padding:0;font:500 10px/1.4 Jost;letter-spacing:1.2px;color:var(--ink)}
.finder input,.finder select,.catalogue-filters input,.catalogue-filters select,.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{border:1px solid var(--control-edge);background:var(--control-fill);color:var(--ink);border-radius:calc(var(--radius)*.65);min-height:54px;padding:14px 16px;font:400 15px/1.4 Jost;letter-spacing:0;margin-top:9px;transition:border-color .25s,box-shadow .25s,background .25s}
.finder select,.catalogue-filters select,.enquiry-form select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23adadad' stroke-width='1.5' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:11px 8px}
.finder select option,.catalogue-filters select option,.enquiry-form select option{background:var(--surface);color:var(--ink)}
.finder input::placeholder,.catalogue-filters input::placeholder,.enquiry-form :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
.finder :is(input,select):hover,.catalogue-filters :is(input,select):hover,.enquiry-form :is(input,select,textarea):hover{border-color:var(--highlight)}
.finder :is(input,select):focus,.catalogue-filters :is(input,select):focus,.enquiry-form :is(input,select,textarea):focus{border-color:var(--highlight);box-shadow:0 0 0 4px color-mix(in srgb,var(--highlight) 9%,transparent)}
.finder .button{min-height:54px;white-space:nowrap}
.catalogue-filters{border:1px solid color-mix(in srgb,var(--highlight) 28%,var(--surface));padding:28px;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr));box-shadow:0 15px 45px #0002}
.filter-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.filter-heading h2{margin:0;font:400 25px var(--heading);letter-spacing:-.3px}
.filter-heading p{margin:0;color:var(--muted);font:400 13px Jost}
.catalogue-filters label{font:500 12px/1.4 Jost;letter-spacing:.25px;color:var(--ink)}
.catalogue-filters .filter-search{grid-column:auto}
.catalogue-filters .button{min-height:52px;gap:20px}
.filter-actions{padding-top:5px;gap:24px;flex-wrap:wrap}
.clear-filters{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-underline-offset:5px;color:var(--ink)}
.filter-feedback{margin:0 0 0 auto;font:400 13px Jost;color:var(--highlight)}
.catalogue-filters[aria-busy=true] .button{opacity:.7;cursor:progress}
.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:22px;font:400 12px Jost}
.active-filters[hidden]{display:none}
.filter-chip{display:inline-flex;align-items:center;gap:12px;min-height:42px;padding:9px 14px;border:1px solid var(--control-edge);border-radius:30px;background:var(--surface);color:var(--ink);transition:border-color .3s,background .3s}
.filter-chip:hover{border-color:var(--highlight);background:color-mix(in srgb,var(--highlight) 10%,var(--surface))}
.filter-chip span{font-size:18px;color:var(--highlight);line-height:1}
.results-toolbar{font-size:13px;gap:20px;line-height:1.7}
.view-toggle button{min-height:44px}
/* Contact actions share a visual language in the footer, contact page and project sidebar. */
.footer-grid{grid-template-columns:1.15fr .7fr .65fr 1.45fr;gap:40px}
.footer-grid h2{font-size:11px;letter-spacing:1.6px}
.footer-grid>div:not(.footer-conversation)>a:not(:has(img)){min-height:36px;margin:0;display:flex;align-items:center;font:400 14px/1.5 Jost;width:fit-content}
.footer-grid>div:not(.footer-conversation)>a:not(:has(img)):hover{text-decoration:underline;text-underline-offset:6px}
.contact-actions{display:grid;gap:10px}
.contact-actions .contact-action,.footer-grid .contact-action:not(:has(img)),.contact-details .contact-action{position:relative;isolation:isolate;display:flex;align-items:center;gap:13px;min-height:76px;padding:14px 16px;margin:0;border:1px solid var(--control-edge);border-radius:var(--radius);background:linear-gradient(120deg,var(--control-fill),var(--surface));color:var(--ink);text-decoration:none;overflow:hidden;transition:transform .5s var(--control-ease),border-color .4s,box-shadow .4s,background .4s}
.contact-action:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 25%,color-mix(in srgb,var(--highlight) 16%,transparent) 48%,transparent 72%);transform:translateX(-150%);transition:transform .9s var(--control-ease)}
.contact-actions .contact-action:hover,.contact-actions .contact-action:focus-visible{transform:translateY(-3px);border-color:var(--highlight);box-shadow:0 12px 28px #0003;color:var(--ink)}
.contact-action:hover:after,.contact-action:focus-visible:after{transform:translateX(150%)}
.contact-actions .contact-action:active{transform:scale(.985)}
.contact-icon{width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;border:1px solid color-mix(in srgb,var(--highlight) 28%,transparent);border-radius:50%;color:var(--highlight);transition:background .4s,transform .4s}
.contact-action:hover .contact-icon,.contact-action:focus-visible .contact-icon{transform:rotate(-8deg);background:color-mix(in srgb,var(--highlight) 12%,transparent)}
.contact-copy{display:block;min-width:0;flex:1}
.contact-label{display:block;font:500 12px/1.4 Jost;letter-spacing:.2px}
.contact-detail{display:block;margin-top:4px;font:400 12px/1.5 Jost;color:var(--muted);overflow-wrap:anywhere}
.contact-arrow{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;color:var(--highlight);transition:transform .5s var(--control-ease)}
.contact-arrow .ui-icon{width:17px;height:17px}
.contact-action:hover .contact-arrow,.contact-action:focus-visible .contact-arrow{transform:translate(2px,-2px) rotate(45deg)}
.contact-actions .contact-action--chat,.footer-grid .contact-action--chat:not(:has(img)){background:linear-gradient(115deg,color-mix(in srgb,var(--highlight) 92%,#fff),color-mix(in srgb,var(--highlight) 82%,#875c39));color:#181a18;border-color:var(--highlight);box-shadow:0 5px 25px #0002}
.contact-action--chat .contact-detail{color:#3e3a32}
.contact-action--chat .contact-icon{color:#203e32;border-color:#203e3260}
.contact-action--chat .contact-arrow{color:#252820}
.contact-actions .contact-action--chat:hover,.contact-actions .contact-action--chat:focus-visible{color:#181a18;box-shadow:0 10px 32px color-mix(in srgb,var(--highlight) 15%,transparent)}
.contact-actions--page{max-width:480px;margin-top:24px}
.contact-actions--page .contact-action{padding:19px 21px;min-height:92px}
.contact-actions--page .contact-label{font-size:15px}
.contact-actions--page .contact-detail{font-size:14px}
.contact-actions--compact{margin:24px 0;grid-template-columns:1fr;gap:9px}
.contact-actions--compact .contact-action{min-height:64px;padding:11px 13px;gap:10px}
.contact-actions--compact .contact-icon{width:32px;height:32px}
.contact-actions--compact .contact-detail{display:none}
.footer-bottom{font-size:12px}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.search-dialog form{border:1px solid var(--control-edge);border-radius:var(--radius);padding:7px 8px 7px 16px;gap:12px;transition:border-color .3s,box-shadow .3s}
.search-dialog form:focus-within{border-color:var(--highlight);box-shadow:0 0 0 4px color-mix(in srgb,var(--highlight) 10%,transparent)}
.search-dialog input{min-width:0;min-height:48px;font-size:16px}
.search-dialog input:focus-visible{outline:none}
.search-dialog input::-webkit-search-cancel-button{filter:grayscale(1) brightness(2);cursor:pointer}
.home-consultation .contact-actions{max-width:480px;margin-top:30px}
@media(max-width:640px){.catalogue-filters label:has([name=developer_id]){grid-row:4;grid-column:2}.catalogue-filters label:has([name=min]){grid-row:5;grid-column:1}.catalogue-filters label:has([name=max]){grid-row:5;grid-column:2}}
.search-dialog form button{display:grid;place-items:center;flex:0 0 46px;min-height:46px;border-radius:50%;background:var(--highlight);color:#181a18;transition:transform .4s}
.search-dialog form button:hover{transform:rotate(45deg)}
.search-dialog .search-close{min-width:44px;min-height:44px;border-radius:50%;border:1px solid var(--control-edge);font-size:24px;transition:background .3s}
.search-close:hover{background:var(--control-fill)}
.search-suggestions a{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;font:400 12px Jost;border-color:var(--control-edge)}
.search-suggestions a:hover{background:var(--control-fill);border-color:var(--highlight)}
.search-all{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.gallery-category-tabs button,.gallery-bottom button,.gallery-direction button,.unit-actions button,.rich-gallery-dialog button{min-height:44px;min-width:44px}
@media(max-width:1200px){.header-inner .search-toggle{padding:0;width:44px}.search-toggle>span{display:none}.footer-grid{gap:25px;grid-template-columns:1fr .65fr .65fr 1.45fr}.finder{gap:13px;grid-template-columns:1fr 1.4fr 1fr auto}.finder .button{padding-inline:19px;gap:14px}}
@media(max-width:900px){.finder{grid-template-columns:1fr 1.5fr 1fr}.finder>label:nth-of-type(3){display:block}.finder .button{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.footer-conversation{grid-column:1/-1}.footer-conversation .contact-actions{grid-template-columns:1fr 1fr}.footer-conversation .contact-action--chat{grid-column:1/-1}.catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-filters .filter-search{grid-column:auto}.filter-heading{align-items:flex-start}.filter-heading p{text-align:right}}
@media(max-width:640px){.header-inner{gap:5px;padding-inline:12px}.header-inner .search-toggle{width:44px;min-width:44px;height:44px}.brand{width:145px}.hero-search{min-height:74px;gap:12px;padding:13px 13px 13px 18px}.hero-search-copy{font-size:14px}.hero-search>.ui-icon{width:19px;height:19px}.hero-search-arrow{width:39px;height:39px}.hero-search-arrow .ui-icon{width:20px;height:20px}.search-kicker{font-size:8px;letter-spacing:1.5px}.cinema-intro{font-size:14px}.finder-strip{padding-block:24px}.finder-heading{display:block;margin-bottom:20px}.finder-heading h2{font-size:25px}.finder-heading .finder-map{margin-top:10px}.finder{grid-template-columns:1fr 1fr;gap:20px 13px}.finder .finder-query{grid-column:1/-1;grid-row:1}.finder label:first-child{grid-row:2;grid-column:1}.finder>label:nth-of-type(3){grid-row:2;grid-column:2}.finder label,.finder label+label,.finder label.finder-query{font-size:10px;padding:0}.finder input,.finder select,.catalogue-filters input,.catalogue-filters select,.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{font-size:16px;min-height:54px;padding:13px 12px}.finder select,.catalogue-filters select,.enquiry-form select{padding-right:30px;background-position:right 11px center}.finder .button{min-height:54px;font-size:11px}.catalogue-filters{padding:20px 17px;gap:20px 12px}.filter-heading{display:block}.filter-heading p{text-align:left;margin-top:9px;font-size:12px}.filter-heading h2{font-size:25px}.catalogue-filters .filter-search{grid-column:1/-1}.filter-actions{gap:8px 18px}.filter-actions .button{flex:1;font-size:10px;gap:10px;padding:13px 17px}.filter-feedback{width:100%;margin:5px 0 0}.results-toolbar{font-size:12px;align-items:start}.results-toolbar p{max-width:76%}.results-toolbar p:last-child{white-space:nowrap}.footer-grid{gap:32px 22px}.footer-conversation .contact-actions{grid-template-columns:1fr}.footer-grid h2{font-size:11px}.footer-grid .contact-action:not(:has(img)){min-height:83px;padding:15px}.contact-label{font-size:14px}.contact-detail{font-size:13px}.footer-grid>div:not(.footer-conversation)>a:not(:has(img)){font-size:14px;min-height:40px}.footer-bottom{align-items:start;font-size:11px}.contact-actions--page .contact-action{padding:17px}.contact-actions--page .contact-detail{font-size:13px}.search-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 40px)}.search-dialog form{padding-left:10px;gap:8px}.search-dialog input{font-size:16px}.search-suggestions{gap:8px;flex-wrap:wrap}.rich-gallery-dialog button{min-height:44px}}
@media(max-width:360px){.brand{width:132px}.hero-search{gap:9px;padding-inline:13px}.hero-search-copy{font-size:12px}.hero-search-arrow{width:35px;height:35px}.cinema-controls{gap:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.search-caret{display:none}.hero-search:hover,.contact-actions .contact-action:hover{transform:none}}
