/* Shared geometry, interaction and responsive safeguards. */
:root{--ease-ui:cubic-bezier(.2,.8,.2,1);--time-ui:240ms;--time-reveal:640ms}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}
.icon{display:inline-block;width:1.2em;height:1.2em;flex:none;vertical-align:-.2em;pointer-events:none}
.trust-strip>div>span,.admin-brand>span,.admin-nav a>span,.close-dialog,.lightbox-nav button{display:inline-flex;align-items:center;justify-content:center}
.trust-strip .icon{width:25px;height:25px}.hero-glass>a .icon{width:22px;height:22px}
.button .icon,.nav-cta .icon,.round-link .icon{width:18px;height:18px}
.button,.nav-cta,.primary-button,.secondary-button,.text-button,.round-link{gap:12px;line-height:1.35;text-align:center}
.button,.primary-button,.secondary-button{white-space:normal;justify-content:center;min-height:46px}
.style-options span{white-space:normal;text-align:center;line-height:1.35}
.back-to-top{position:fixed;right:24px;right:max(24px,env(safe-area-inset-right));bottom:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 17px;border:1px solid #a9b7ac;border-radius:0;background:#25322ef2;color:#f3f5f0;font:500 12px/1.35 Onest,Manrope,system-ui,sans-serif;box-shadow:0 8px 28px #14211e24;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity 280ms var(--ease-ui),transform 360ms var(--ease-ui),visibility 280ms;cursor:pointer}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top .icon{width:19px;height:19px}.back-to-top:focus-visible{outline:3px solid #91b89c;outline-offset:4px}
.back-to-top[hidden],body.modal-open .back-to-top{display:none!important}
a,button,summary,.style-options span,.calendar-day,.slot-options a,.related-pages a{transition-timing-function:var(--ease-ui);transition-duration:var(--time-ui)}
.project-image img,.catalog-card img{transition:transform 800ms var(--ease-ui)}
.image-plus,.faq-item summary>span{transition:transform 320ms var(--ease-ui)}
.faq-item summary{min-height:54px;gap:20px;align-items:center}.faq-item summary>span{flex:none;display:inline-flex}
.faq-item.is-animating{overflow:hidden}.faq-item .answer{display:flow-root}
.select-list{transform-origin:top center;animation:select-enter 220ms var(--ease-ui) both;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overscroll-behavior:contain}
.select-list.is-above{transform-origin:bottom center;animation-name:select-enter-above}
.custom-select.is-open{z-index:95}.select-list [aria-selected=true]::after{content:"";width:10px;height:6px;border-left:1.5px solid;border-bottom:1.5px solid;transform:rotate(-45deg);top:calc(50% - 4px)}
@keyframes select-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes select-enter-above{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.header{-webkit-backdrop-filter:blur(18px)}.hero-glass{-webkit-backdrop-filter:blur(18px)}
.mobile-nav[open] nav{max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain;animation:select-enter 240ms var(--ease-ui) both}
.lightbox{max-height:90vh;max-height:90dvh;overscroll-behavior:contain}.lightbox-image img{height:40vh;height:40dvh}
.lightbox-copy{min-width:0}.lightbox-nav{gap:14px}.lightbox-nav button{min-width:44px;min-height:44px}
.form-row>*,.page-split>*,.detail-layout>*,.booking-form-layout>*,.price-banner>*,.hero-copy,.hero-art,.idea-grid>*,.details-section>*,.admin-content,.admin-main,.field,.slot-picker{min-width:0}
input,textarea,select{max-width:100%}textarea{resize:vertical}.field-help,.field-error,.article-copy,.body-copy,.detail-copy,.booking-summary,.hero-glass strong,.admin-content td{overflow-wrap:break-word;word-wrap:break-word}
.project-grid .project,.project-grid .project:nth-child(3){max-width:100%}
.contact-links a .icon{margin-inline-start:8px}.footer-bottom a{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.admin-top>a{display:inline-flex;align-items:center;gap:8px}.sidebar{height:100vh;height:100dvh}.admin-footer{padding-bottom:80px}
@supports not (backdrop-filter:blur(1px)){.hero-glass{background:#26382a}.header{background:#e9ece8}.select-list{background:#f7f9f2}.back-to-top{background:#25322e}}
@media(min-width:960px){.lightbox-image img{height:min(78vh,750px);height:min(78dvh,750px)}}
@media(hover:hover) and (pointer:fine){.button:hover .icon,.nav-cta:hover .icon{transform:translate(2px,-2px)}.button .icon,.nav-cta .icon{transition:transform 320ms var(--ease-ui)}.back-to-top:hover{background:#364a40}.back-to-top:hover .icon{transform:translateY(-2px)}.back-to-top .icon{transition:transform 280ms var(--ease-ui)}}
@media(max-width:800px){.select-trigger,.select-list [role=option],.field input:not([type=checkbox]):not([type=radio]),.field textarea,.idea-form select,.idea-form textarea,.login-card input{font-size:16px}.select-trigger{min-height:50px}.sidebar{height:auto}.hero-actions{flex-wrap:wrap}.back-to-top{right:16px;right:max(16px,env(safe-area-inset-right));bottom:16px;bottom:max(16px,env(safe-area-inset-bottom));min-height:46px;padding:12px}.lightbox{width:calc(100% - 24px);max-width:680px}.lightbox-copy{padding:28px 24px}.lightbox-image img{object-fit:cover}}
@media(max-width:540px){.wrap{padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}.hero-shell{padding-inline:12px}.calendar-key{flex-wrap:wrap;line-height:1.7}.calendar-day{min-height:36px}.calendar-heading>div{flex-shrink:0}.hero-actions .button{max-width:100%}.back-to-top span{display:none}.back-to-top{width:46px}.contact-row>div{flex-wrap:wrap}.footer{padding-bottom:75px}.login-card{padding:28px 22px}.save-bar{flex-wrap:wrap;gap:12px}.admin-content .field input:not([type=checkbox]):not([type=radio]),.admin-content textarea{font-size:16px}}
@media(max-width:400px){.mobile-admin-nav{position:static;margin-top:14px}.mobile-admin-nav summary{justify-content:space-between;font-size:12px;border-top:1px solid var(--line);padding-top:8px}.sidebar{padding-bottom:10px}}
@media(max-width:360px){.header{padding-inline:12px}.nav-cta{padding-inline:10px;gap:6px}.nav-cta .icon{width:15px}.hero-copy{padding-inline:20px}.hero-actions{gap:14px}.hero-actions .button{width:100%}.calendar-key{font-size:10px}.hero-glass{gap:12px}.hero-glass strong{font-size:18px}.slot-picker{padding-inline:20px}}
@media(max-height:500px) and (orientation:landscape){.header{position:relative}.lightbox-layout{display:grid;grid-template-columns:1fr 1fr}.lightbox-image img{height:84vh;height:84dvh}.lightbox-copy{padding:25px}.lightbox-copy h2{font-size:24px}.mobile-nav[open] nav{max-height:calc(100vh - 82px)}}
@media(prefers-reduced-motion:reduce){html,html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reading-progress{display:none}.back-to-top{transform:none}}
