:root{--ink:#26292b;--forest:#085d96;--green:#0387bf;--paper:#f7f7f7;--sand:#e9f0f4;--line:#c5c7c8;--accent:#f6db35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;background:var(--forest);color:#fff;border:0;border-radius:4px;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.2rem;display:inline-flex}button:hover,.button:hover{background:var(--green)}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{background:#fff;border:1px solid #aab0a9;border-radius:4px;width:100%;min-height:44px;padding:.7rem}textarea{min-height:110px}label{margin:.6rem 0;font-weight:600;display:block}label input,label select,label textarea{margin-top:.3rem;font-weight:400;display:block}img{max-width:100%;display:block}.container{width:min(1160px,100% - 36px);margin:auto}.site-header{border-bottom:1px solid var(--line);z-index:20;background:#fff;position:sticky;top:0}.header-inner{align-items:center;gap:2rem;min-height:78px;display:flex}.brand{letter-spacing:.08em;color:var(--forest);font-size:1.8rem;font-weight:900}.brand small{letter-spacing:.14em;font-size:.55rem;font-weight:600;display:block}.nav{align-items:center;gap:1.3rem;margin-left:auto;display:flex}.nav a{font-size:.92rem;font-weight:600}.nav .highlight{background:var(--forest);color:#fff;border-radius:3px;padding:.75rem 1rem}.language{gap:.4rem;font-size:.8rem;display:flex}.language a{padding:.2rem}.language .active{text-underline-offset:4px;text-decoration:underline}.mobile-menu{display:none}.hero{background:var(--forest);color:#fff;padding:5rem 0}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:3rem;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:.75rem;font-weight:700}h1,h2,h3{margin:.2rem 0 1rem;line-height:1.15}h1{font-size:clamp(2.5rem,5vw,4.8rem)}h2{font-size:clamp(2rem,3vw,3rem)}h3{font-size:1.35rem}.lead{max-width:65ch;font-size:1.17rem}.hero .button{color:var(--forest);background:#fff}.hero-card{background:#ffffff14;border:1px solid #fff4;padding:2rem}.hero-card p{margin-bottom:0}.section{padding:4.5rem 0}.section.alt{background:#fff}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.8rem;display:flex}.grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:4px;overflow:hidden}.card-body{padding:1.3rem}.card-image,.image-placeholder{object-fit:cover;background:var(--sand);color:#596259;place-items:center;width:100%;height:240px;display:grid}.card .button{margin-top:.8rem}.split{grid-template-columns:1fr 1fr;align-items:center;gap:2rem;display:grid}.panel{background:var(--sand);padding:2rem}.muted{color:#59625c}.small{font-size:.85rem}.badge{color:#214431;background:#e5efe9;border-radius:3px;padding:.25rem .55rem;font-size:.8rem;font-weight:700}.site-footer{color:#fff;background:#1f3129;padding:3rem 0}.site-footer .grid{grid-template-columns:2fr 1fr 1fr}.site-footer a{text-underline-offset:3px;text-decoration:underline}.footer-bottom{border-top:1px solid #fff3;margin-top:2rem;padding-top:1rem}.form-grid{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}.form-grid .full{grid-column:1/-1}.notice{background:#fff7e1;border:1px solid #c9b788;padding:1rem}.error{color:#a22020}.success{color:#17613d}.product-toolbar{grid-template-columns:2fr repeat(3,1fr);gap:.8rem;margin:1.5rem 0;display:grid}.apartment-card{grid-template-columns:1fr 1fr;display:grid}.apartment-card .card-image{height:100%}.detail-grid{grid-template-columns:1.4fr .6fr;gap:2rem;display:grid}.gallery-main{object-fit:cover;background:var(--sand);width:100%;height:430px}.thumbnails{gap:.4rem;margin-top:.5rem;display:flex;overflow:auto}.thumbnails button{background:0 0;min-width:85px;padding:0}.thumbnails img{object-fit:cover;width:85px;height:70px}.lightbox{z-index:50;background:#000e;place-items:center;display:grid;position:fixed;inset:0}.lightbox img{max-height:85vh}.lightbox button{position:absolute;top:1rem;right:1rem}.admin-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.admin-side{background:var(--forest);color:#fff;padding:1.5rem}.admin-side a{padding:.5rem;display:block}.admin-main{min-width:0;padding:2rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.65rem}table button{margin:.1rem;padding:.35rem .5rem}.table-wrap{overflow:auto}.stack>*+*{margin-top:1rem}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.danger{background:#9a302b}.hidden{display:none}@media (max-width:900px){.nav{background:#fff;padding:1rem;display:none;position:absolute;top:78px;left:0;right:0;box-shadow:0 8px 15px #0002}.nav.open{flex-direction:column;align-items:stretch;display:flex}.mobile-menu{margin-left:auto;display:block}.hero-grid,.split,.detail-grid,.apartment-card{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.product-toolbar{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-side{gap:.5rem;display:flex;overflow:auto}.admin-side a{white-space:nowrap}}@media (max-width:600px){.grid,.form-grid,.product-toolbar,.site-footer .grid{grid-template-columns:1fr}.section{padding:3rem 0}.hero{padding:3.5rem 0}.section-heading{display:block}.header-inner{gap:.7rem}.language{margin-left:auto}.admin-main{padding:1rem}.gallery-main{height:280px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.site-header{color:#fff;background:#085d96}.nav .highlight{color:#20282d;background:#f6db35}.language a{color:#fff}.mobile-menu{color:#20282d;background:#f6db35}.site-footer{background:#085d96}.hero-card .eyebrow{color:#f6db35}@media (max-width:900px){.nav{background:#085d96}}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.2rem;margin:1rem 0;display:grid}.calendar-grid>*{text-align:center;border:1px solid var(--line);min-height:2.7rem;padding:.55rem .1rem}.calendar-grid .free{background:#e5f4e9}.calendar-grid .temporary{background:#fff0bc}.calendar-grid .occupied{background:#f3d8d5}.calendar-grid strong{background:#e9f0f4}.hours-row{border-bottom:1px solid #dce5eb;justify-content:space-between;gap:1rem;padding:.35rem 0;display:flex}.hours-row dd{margin:0;font-weight:600}
:root{--ink:#25221f;--forest:#513b2e;--green:#75523d;--paper:#f5f2ec;--sand:#ebe5dc;--line:#d0c6ba;--accent:#d8aa73;--stone:#68635e;--walnut:#513b2e;--charcoal:#292724}body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}h1,h2,h3{color:inherit;letter-spacing:-.025em}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:700}h1{font-size:clamp(2.7rem,5.5vw,5.8rem);line-height:1.04}h2{font-size:clamp(2rem,3.5vw,3.75rem);line-height:1.12}h3{font-size:1.35rem}p{max-width:70ch}.container{width:min(1240px,100% - 48px)}.eyebrow{color:#986846;letter-spacing:.18em;font-size:.75rem}.muted{color:#5e5852}.site-header{color:var(--ink);border-bottom:1px solid var(--line);background:#faf8f3;box-shadow:0 5px 22px #2d21190a}.header-inner{gap:1.45rem;min-height:82px}.brand-original{flex:none;align-items:center;width:132px;height:58px;display:flex}.brand-original img{object-fit:contain;filter:drop-shadow(0 1px 1px #261b13d9)drop-shadow(0 2px 3px #261b13ad);width:100%;height:auto;display:block}.nav{gap:clamp(.7rem,1.5vw,1.45rem);margin-left:auto}.nav a{font-size:.84rem;font-weight:700;transition:color .2s}.nav a:hover,.nav a:focus-visible{color:#986846}.nav .active-nav-link{color:#805030}.nav .apartment-mobile-link{display:none}.language{border-left:1px solid var(--line);align-items:center;gap:.2rem;margin-left:.2rem;padding-left:.65rem}.language a{border:2px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:29px;height:25px;padding:2px;transition:transform .2s,border-color .2s;display:inline-flex}.language a:hover{transform:translateY(-2px)}.language a.active{border-color:#8c6246}.language img{object-fit:cover;width:24px;height:16px;display:block;box-shadow:0 1px 3px #0003}.mobile-menu,.mobile-menu:hover{color:var(--walnut);box-shadow:none;background:#e9e2d8}.mobile-menu:hover{background:#d8cbbb}.apartment-header-link{color:#fff;white-space:nowrap;background:#245a9a;border:1px solid #245a9a;border-radius:4px;flex:none;padding:.75rem .92rem;font-size:.78rem;font-weight:800;transition:transform .24s,background .24s,box-shadow .24s}.apartment-header-link span{margin-left:.3rem}.apartment-header-link:hover{background:#1a487f;transform:translateY(-2px);box-shadow:0 8px 18px #173c6b36}button,.button{background:var(--walnut);color:#fff;border-radius:4px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s}button:hover,.button:hover{background:#75523d;transform:translateY(-2px);box-shadow:0 8px 18px #2e21191f}button:disabled{box-shadow:none;transform:none}input,select,textarea{color:var(--ink);border-color:#a9a098;border-radius:4px}input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible{outline-offset:3px;outline:3px solid #bc8b59}.button-light{color:var(--walnut);background:#f5eee3}.button-light:hover{color:var(--walnut);background:#fff}.button-outline-light{color:#fff;background:0 0;border:1px solid #e9dccc}.button-outline-light:hover{background:#ffffff1c}.text-link{color:var(--walnut);border-bottom:1px solid var(--walnut);white-space:nowrap;padding-bottom:.3rem;font-weight:800;transition:color .2s,letter-spacing .2s}.text-link:hover{color:#986846;letter-spacing:.02em}.site-footer{background:#2b2723}.footer-original-logo{width:180px;height:auto}.about-location{margin-top:3rem}.about-location iframe{border:0;border-radius:5px;width:100%;height:390px;margin-top:1.25rem;display:block}.catalog-categories,.catalog-subcategories{flex-wrap:wrap;gap:.65rem;margin:2rem 0 1rem;display:flex}.catalog-subcategories{border-bottom:1px solid var(--line);margin-top:0;padding:.8rem 0 1rem}.catalog-categories button,.catalog-subcategories button{color:var(--ink);border:1px solid var(--line);box-shadow:none;background:#fffdfa;border-radius:4px;align-items:center;gap:.5rem;padding:.7rem 1rem;display:inline-flex}.catalog-subcategories button{padding:.5rem .8rem;font-size:.88rem}.catalog-categories button.selected,.catalog-subcategories button.selected{background:var(--walnut);border-color:var(--walnut);color:#fff}.catalog-categories button span,.catalog-subcategories button span{opacity:.7;font-size:.8em}.catalog-more{margin:2rem auto 0;display:flex}.product-toolbar{grid-template-columns:2fr repeat(4,minmax(0,1fr))}.product-colors{flex-wrap:wrap;gap:.8rem;margin-top:.45rem;display:flex}.product-color{text-align:center;flex-direction:column;align-items:center;gap:.3rem;min-width:58px;font-size:.82rem;line-height:1.2;display:flex}.product-color-swatch{border:1px solid #9b9489;border-radius:5px;flex:none;width:34px;height:34px;display:block;box-shadow:0 1px 3px #0002}.product-selected-color{align-items:center;gap:.55rem;margin:-.5rem 0 1rem;font-weight:600;display:flex}.product-selected-color .product-color-swatch{width:22px;height:22px}.product-color-control,.product-color-filter{min-width:0;position:relative}.product-color-filter summary{cursor:pointer;background:#fff;border:1px solid #aab0a9;border-radius:4px;align-items:center;gap:.45rem;height:100%;min-height:44px;padding:.7rem;list-style:none;display:flex}.product-color-filter summary::-webkit-details-marker{display:none}.product-color-filter summary:after{content:"⌄";margin-left:auto}.product-color-filter summary .product-color-swatch{width:20px;height:20px}.product-color-control.has-selection summary{padding-right:2.1rem}.product-color-clear{z-index:2;color:#4f3b30;opacity:0;pointer-events:none;background:#fff;border-radius:50%;width:20px;height:20px;min-height:0;padding:0;font-size:18px;line-height:1;position:absolute;top:3px;right:3px}.product-color-control:hover .product-color-clear,.product-color-control:focus-within .product-color-clear{opacity:1;pointer-events:auto}.product-color-clear:hover,.product-color-clear:focus-visible{color:#2d1d13;background:#ead7c7}.product-color-filter-options{z-index:25;border:1px solid var(--line);background:#fff;border-radius:5px;width:max(100%,190px);max-height:300px;padding:.3rem;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 12px 30px #2e21192b}.product-color-filter-options button{width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:3px;justify-content:flex-start;gap:.6rem;padding:.35rem .5rem;display:flex}.product-color-filter-options button:hover,.product-color-filter-options button.selected{color:var(--ink);background:#ebe5dc}.product-color-filter-options .product-color-swatch{width:24px;height:24px}.admin-color-field{border:1px solid var(--line);border-radius:6px;grid-column:1/-1;padding:1rem}.admin-color-field legend{padding:0 .4rem;font-weight:700}.admin-color-field p{margin:0 0 .8rem;font-size:.9rem}.admin-color-options{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem;display:grid}.admin-color-choice{border:1px solid var(--line);cursor:pointer;text-align:center;background:#fff;border-radius:5px;flex-direction:column;align-items:center;gap:.25rem;margin:0;padding:.5rem .2rem;font-size:.8rem;display:flex}.admin-color-choice input{width:18px;height:18px;min-height:18px;accent-color:var(--forest);margin:0 0 .2rem}.admin-color-choice:has(input:checked){border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:#f0f7fb}.shop-page>.grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}.shop-page .card-image{object-fit:contain;background:#fff;height:155px;padding:.35rem}.shop-page .card-body{padding:.8rem .85rem 1rem}.shop-page .card-body h3{min-height:2.6em;margin:.3rem 0 .55rem;font-size:1rem;line-height:1.3}.shop-page .card-body p{margin:.3rem 0;font-size:.88rem}.shop-page .card-body .button{margin-top:.55rem;padding:.55rem .75rem;font-size:.83rem}.product-card-link{border-radius:5px;height:100%;display:block}.product-card-link .card{height:100%}.product-card-link:hover .button,.product-card-link:focus-visible .button{background:#75523d}.product-card-link:focus-visible{outline-offset:3px;outline:3px solid #bc8b59}.product-image-zoom{cursor:zoom-in;background:#fff;border:1px solid #c9bfb3;border-radius:4px;width:min(100%,420px);margin-bottom:.75rem;position:relative;overflow:hidden}.product-detail-layout{align-items:start}.key-service-image{object-fit:cover;object-position:center;border-bottom:1px solid var(--line);background:#e8e3db;width:100%;height:210px}.keys-service-grid .card{overflow:hidden}.product-detail-image{object-fit:contain;width:100%;height:auto;max-height:420px;padding:.65rem;display:block}.product-image-lens{pointer-events:none;background:#fff;border:2px solid #513b2e;border-radius:50%;width:150px;height:150px;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 22px #20171155}.product-image-lens img{object-fit:contain;max-width:none;display:block;position:absolute}@media (hover:none){.product-image-zoom{cursor:default}.product-image-lens{display:none}}@media (max-width:1150px){.shop-page>.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:850px){.shop-page>.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:650px){.shop-page>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.shop-page>.grid{grid-template-columns:1fr}}@media (max-width:750px){.product-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.product-toolbar input{grid-column:1/-1}}@media (max-width:480px){.product-toolbar{grid-template-columns:1fr}.catalog-categories button{flex:auto;justify-content:center}}.site-footer a:hover{color:#f1c899}.section.alt{background:#fffdfa}.hero-card .eyebrow{color:#ae7953}.panel{background:#ebe5dc}.card{border-color:var(--line);border-radius:5px;transition:transform .28s,box-shadow .28s;box-shadow:0 4px 18px #2e211909}.card:hover{transform:translateY(-4px);box-shadow:0 16px 32px #2e211916}.badge{color:#573c2a;background:#eee4d6}.notice{background:#fff8ec;border-color:#c7aa7d}.calendar-grid strong{background:#e8dfd4}.admin-side{background:#3d322b}.craft-hero{color:#fff;background:radial-gradient(at 82% 14%,#6f5b4c 0,#0000 48%),linear-gradient(125deg,#34322f 0%,#51463d 53%,#756456 100%);position:relative;overflow:hidden}.craft-hero-grid{grid-template-columns:minmax(0,1fr) minmax(400px,.88fr);align-items:center;gap:clamp(3rem,5vw,5.5rem);min-height:640px;padding-top:5.2rem;padding-bottom:5.2rem;display:grid;position:relative}.craft-hero-copy{animation:.75s both rise-in}.craft-hero .eyebrow{color:#e7b77f;align-items:center;gap:1rem;display:flex}.craft-hero h1{color:#fff;max-width:660px;margin:1.2rem 0 1.6rem}.craft-hero .lead{color:#f5eee7;max-width:55ch;font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.7}.craft-hero .actions{gap:.8rem;margin-top:2.2rem}.craft-hero .button{min-height:52px;padding:.85rem 1.2rem}.hero-address{color:#d9c7b9;margin-top:2.8rem;font-size:.85rem}.craft-visual{grid-template-columns:1.28fr .72fr;gap:.7rem;height:435px;animation:.9s .13s both picture-in;display:grid;position:relative}.visual-main,.visual-side img{background:#eee9df;border:5px solid #e9e1d7;overflow:hidden;box-shadow:0 18px 35px #160e084a}.visual-main img{object-fit:contain;width:100%;height:100%}.visual-side{grid-template-rows:1fr 1fr;gap:.7rem;min-height:0;display:grid}.visual-side img{object-fit:contain;width:100%;height:100%;min-height:0}.craft-section{padding-top:6rem;padding-bottom:6rem}.section-heading{align-items:end}.section-heading h2{margin-bottom:.65rem}.section-intro{color:#5e5852;max-width:62ch;margin:0;line-height:1.65}.craft-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:2.4rem;display:grid}.craft-card{border:1px solid var(--line);background:#fffdfa;transition:transform .3s,box-shadow .3s;animation:.65s both rise-in;overflow:hidden;box-shadow:0 8px 25px #28201a0d}.craft-card:hover{transform:translateY(-7px);box-shadow:0 25px 45px #28201a22}.craft-card-image{background:#efeae2;height:245px;overflow:hidden}.craft-card-image img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;transition:transform .5s}.craft-card:hover img{transform:scale(1.07)}.craft-card-body{padding:1.5rem 1.6rem 2rem;position:relative}.craft-card h3{margin:0 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:1.6rem}.craft-card p{color:#5b554f;max-width:32ch;margin:0;padding-right:1rem}.featured-products{background:#eee8df}.keys-feature{color:#fff;background:linear-gradient(135deg,#343330 0%,#484039 58%,#675747 100%);overflow:hidden}.keys-feature-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(2rem,7vw,7rem);padding-top:5.5rem;padding-bottom:5.5rem;display:grid}.keys-symbol{background:#383431;height:350px;position:relative;overflow:hidden}.keys-symbol img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.keys-feature:hover .keys-symbol img{transform:scale(1.055)}.keys-feature .eyebrow{color:#dbb889}.keys-feature h2{color:#fff;max-width:13ch;margin:1.1rem 0}.keys-feature-copy>p:not(.eyebrow){color:#e0d7ce;font-size:1.08rem;line-height:1.7}.keys-feature .keys-types{letter-spacing:.04em;margin-bottom:1.7rem;color:#c7ae92!important;font-size:.84rem!important}.keys-feature .button{min-height:50px}.apartment-teaser{background:linear-gradient(135deg,#dcebf9 0%,#a9cae9 55%,#4a82b8 100%);padding:6.3rem 0}.apartment-teaser-inner{background:#f7fbff;grid-template-columns:1.1fr .9fr;min-height:430px;display:grid;box-shadow:0 24px 50px #103c681f}.apartment-teaser-photo{overflow:hidden}.apartment-teaser-photo img{object-fit:cover;width:100%;height:100%;transition:transform .7s}.apartment-teaser-inner:hover img{transform:scale(1.04)}.apartment-teaser-copy{flex-direction:column;justify-content:center;align-items:start;padding:clamp(2rem,5vw,4.5rem);display:flex}.apartment-teaser-copy h2{max-width:15ch}.apartment-teaser-copy>p:not(.eyebrow){color:#39536a;font-size:1.08rem;line-height:1.65}.apartment-teaser-copy .button{color:#fff;background:#245a9a;margin-top:1rem}.apartment-teaser-copy .button:hover{background:#1a487f}.apartment-teaser-count{text-transform:uppercase;font-weight:800;color:#245a9a!important;font-size:.84rem!important}.apartment-list-surface{background:linear-gradient(145deg,#cae3f7 0%,#eaf5ff 40%,#f7fbff 100%)}.apartment-list-page{color:#183b5c}.apartment-list-page>.eyebrow,.apartment-list-page .card-body .eyebrow{color:#245a9a}.apartment-list-page h1{color:#123c69}.apartment-list-page>.lead{color:#315a7b}.apartment-list-page .apartment-card{border:1px solid #a8cbe9;box-shadow:0 16px 36px #174a7b17}.apartment-list-page .apartment-card .card-body{background:linear-gradient(135deg,#fff 40%,#eef6fd);padding:clamp(1.5rem,3vw,2.5rem)}.apartment-list-page .apartment-card h2{color:#173f70}.apartment-list-page .apartment-card .muted{color:#456b88}.apartment-list-page .apartment-card strong{color:#245a9a}.apartment-list-page .apartment-card .button{color:#fff;background:#245a9a}.apartment-list-page .apartment-card .button:hover{background:#173f71}.apartment-detail{color:#18334d;background:linear-gradient(#e9f3fd 0,#f4f9fe 520px,#f7fbff 100%)}.apartment-banner{color:#fff;background:linear-gradient(90deg,#0c3766f2,#1e64a5aa 65%,#245a9a44),url(/images/vir-courtyard.jpg) 50% 54%/cover;align-items:end;min-height:210px;display:flex}.apartment-banner-inner{padding-top:2.5rem;padding-bottom:2rem}.apartment-banner .breadcrumb{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.8rem;font-size:.82rem;display:flex}.apartment-banner .breadcrumb a{text-underline-offset:3px;text-decoration:underline}.apartment-banner h1{color:#fff;margin:.2rem 0 .4rem;font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.1rem,4vw,3.5rem)}.apartment-banner p{color:#f1f4f6;margin:0}.apartment-content{padding-top:1.6rem;padding-bottom:5rem}.apartment-layout{grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);align-items:start;gap:1.3rem;display:grid}.apartment-main{min-width:0}.apartment-intro{grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr);align-items:start;gap:1.3rem;display:grid}.apartment-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.apartment-fact{color:#41627f;background:#fff;border:1px solid #c9ddf0;min-height:79px;padding:.9rem;font-size:.8rem}.apartment-fact strong{color:#174a7b;margin-top:.25rem;font-size:1.05rem;display:block}.apartment-overview>p{color:#39536a;line-height:1.7}.amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .9rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.amenity-grid li{color:#254969;background:#edf5fc;border:1px solid #d2e4f4;padding:.65rem .7rem;font-size:.84rem}.amenity-grid li:before{content:"✓";color:#2471b8;margin-right:.5rem;font-weight:900}.detail-block{background:#fff;border:1px solid #ccdfef;margin-top:1.3rem;padding:1.5rem}.detail-block h2{color:#163f69;font-family:Arial,Helvetica,sans-serif;font-size:1.4rem}.detail-block p{color:#39536a}.detail-block .calendar-grid{font-size:.8rem}.availability-section{scroll-margin-top:105px}.availability-calendar{background:linear-gradient(145deg,#fff 5%,#f3f9ff 100%);border:1px solid #c9ddf0;border-radius:14px;margin-top:1.2rem;padding:1.25rem;box-shadow:0 12px 30px #1d5a9120}.availability-calendar-top{border-bottom:1px solid #d8e7f4;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.availability-calendar-kicker{color:#356b9d;letter-spacing:.16em;margin-bottom:.3rem;font-size:.67rem;font-weight:800;display:block}.availability-calendar-top h3{color:#143f6a;text-transform:capitalize;margin:0;font:700 clamp(1.15rem,2.3vw,1.5rem)/1.2 Arial,Helvetica,sans-serif}.availability-calendar-controls{gap:.45rem;display:flex}.availability-calendar .calendar-control{color:#194d80;background:#fff;border:1px solid #a9c8e5;border-radius:50%;place-items:center;width:38px;min-width:38px;height:38px;padding:0;font-size:1.7rem;line-height:1;transition:transform .2s,background .2s,box-shadow .2s;display:grid}.availability-calendar .calendar-control:hover:not(:disabled){background:#e7f3ff;transform:translateY(-2px);box-shadow:0 3px 10px #1d5a912a}.availability-calendar .calendar-control:disabled{opacity:.35}.calendar-legend{color:#2d4c67;flex-wrap:wrap;gap:.45rem 1.2rem;margin:1rem 0;font-size:.8rem;font-weight:600;display:flex}.calendar-legend span{align-items:center;gap:.42rem;display:inline-flex}.legend-dot{border-radius:50%;width:.7rem;height:.7rem}.legend-dot.available{background:#2ca36a}.legend-dot.pending{background:#e99b28}.legend-dot.unavailable{background:#d95c59}.availability-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(3px,.8vw,8px);max-width:640px;display:grid}.calendar-weekday{color:#55718b;place-items:center;height:30px;font-size:.72rem;font-weight:700;display:grid}.calendar-day{cursor:default;border:1px solid #0000;border-radius:9px;place-items:center;min-width:0;height:48px;font-size:clamp(.75rem,1.3vw,.94rem);font-weight:700;transition:transform .18s,box-shadow .18s;display:grid}.calendar-day:hover{transform:translateY(-2px);box-shadow:0 4px 12px #15395724}.calendar-day.available{color:#175d36;background:#dcf4e5;border-color:#8bd1a7}.calendar-day.pending{color:#7f4704;background:#ffedce;border-color:#efbb70}.calendar-day.unavailable{color:#9d302d;background:#fbe1df;border-color:#e8aaa5}.calendar-day.past{color:#83919f;background:#edf0f3;border-color:#dce2e8}.calendar-day.today{outline-offset:2px;outline:2px solid #245a9a}.availability-calendar button.calendar-day{width:100%;font:inherit;padding:0;font-weight:700}.availability-calendar button.calendar-day.selectable-saturday:not(:disabled){cursor:pointer;box-shadow:inset 0 0 0 2px #245a9a}.availability-calendar button.calendar-day:disabled{cursor:default}.availability-calendar button.calendar-day.arrival,.availability-calendar button.calendar-day.departure{color:#fff;background:#245a9a;border-color:#174a7b;box-shadow:0 4px 10px #245a9a55}.availability-calendar button.calendar-day.in-range{box-shadow:inset 0 0 0 2px #245a9a}.calendar-selection{color:#153d69;background:#eaf4ff;border:1px solid #9cc4e8;border-radius:9px;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;margin-top:1rem;padding:.9rem;display:flex}.calendar-selection span{gap:.35rem;display:inline-flex}.calendar-selection button{color:#153d69;background:#fff;border:1px solid #9cc4e8;border-radius:6px;padding:.4rem .65rem}.calendar-selection a,.booking-pick-dates{color:#174a7b;font-weight:700}.booking-pick-dates{text-align:center;background:#eaf4ff;border:1px solid #9cc4e8;border-radius:7px;padding:.7rem;display:block}.booking-selected-dates{background:#eaf4ff;border-left:3px solid #245a9a;padding:.7rem;line-height:1.6}#booking-form{scroll-margin-top:105px}.calendar-note{margin:1rem 0 0;font-size:.76rem;line-height:1.5;color:#55718b!important}.calendar-loading{color:#55718b;place-items:center;min-height:190px;display:grid}.detail-block iframe{border:0;width:100%;height:270px;margin-top:1rem}.apartment-booking{background:#fff;border:1px solid #a9cbe8;border-top:5px solid #245a9a;padding:1.35rem;position:sticky;top:104px;box-shadow:0 10px 28px #123c661a}.apartment-booking .eyebrow{color:#245a9a}.apartment-price{color:#39536a;border-bottom:1px solid #c9ddf0;margin-bottom:1rem;padding-bottom:1rem}.apartment-price strong{color:#174a7b;font-size:1.65rem}.apartment-booking h2{color:#163f69;font-family:Arial,Helvetica,sans-serif;font-size:1.35rem}.apartment-booking button,.apartment-booking .button{background:#245a9a}.apartment-booking button:hover,.apartment-booking .button:hover{background:#173f71}.apartment-booking label{font-size:.85rem}.apartment-booking input,.apartment-booking select{min-height:42px}.apartment-booking .form-grid{gap:0 .5rem}.apartment-contact-actions{gap:.5rem;margin-top:1rem;display:grid}.apartment-contact-actions .button{color:#174a7b;background:#fff;border:1px solid #5992c9;width:100%}.apartment-contact-actions .button:hover{background:#eaf4fd}.apartment-contact-actions .whatsapp-action{color:#28764a;border-color:#308053}.apartment-contact-actions .whatsapp-action:hover{background:#eff8f0}.gallery-shell{width:100%;min-width:0;position:relative}.gallery-stage{background:#dbeaf8;border-radius:5px;height:380px;position:relative;overflow:hidden}.gallery-stage img{object-fit:cover;width:100%;height:100%;transition:opacity .25s,transform .45s}.gallery-stage:hover img{transform:scale(1.025)}.gallery-open{background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;display:block}.gallery-open:hover{box-shadow:none;background:0 0;transform:none}.gallery-open{cursor:zoom-in}.gallery-zoom-hint{z-index:2;color:#fff;pointer-events:none;background:#17272fdb;border-radius:3px;padding:.32rem .55rem;font-size:.78rem;font-weight:700;position:absolute;bottom:.75rem;right:.75rem}.gallery-lightbox{display:block}.gallery-lightbox-viewport{overscroll-behavior:contain;place-items:center;padding:3.5rem 1rem 4.5rem;display:grid;position:absolute;inset:0;overflow:auto}.gallery-lightbox-viewport img{object-fit:contain;cursor:zoom-in;width:auto;max-width:calc(100vw - 2rem);max-height:calc(100vh - 8rem);display:block}.gallery-lightbox.zoomed .gallery-lightbox-viewport{display:block}.gallery-lightbox.zoomed .gallery-lightbox-viewport img{cursor:zoom-out;width:min(200vw,2000px);max-width:none;height:auto;max-height:none;margin:auto}.gallery-lightbox-actions{z-index:4;gap:.5rem;display:flex;position:absolute;top:1rem;right:1rem}.gallery-lightbox-actions button{color:#174a7b;background:#fff;min-height:40px;padding:.45rem .75rem;position:static;box-shadow:0 3px 12px #0005}.gallery-lightbox-actions button:hover{color:#174a7b;background:#e8f2fb}.gallery-arrow{z-index:2;color:#174a7b;background:#fff;border-radius:50%;width:38px;height:38px;padding:0;font-size:1.5rem;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 3px 12px #0004}.gallery-arrow:hover{color:#174a7b;background:#fff;transform:translateY(-50%)scale(1.08)}.gallery-arrow.previous{left:.75rem}.gallery-arrow.next{right:.75rem}.gallery-counter{z-index:2;color:#fff;background:#17272fc9;border-radius:3px;padding:.3rem .6rem;font-size:.78rem;position:absolute;bottom:.75rem;left:.75rem}.thumbnails.gallery-thumbnails{gap:.45rem;max-width:100%;margin-top:.55rem;overflow-x:auto}.gallery-thumbnails button{opacity:.72;background:0 0;border:2px solid #0000;border-radius:4px;min-width:79px;padding:0;overflow:hidden}.gallery-thumbnails button.active{opacity:1;border-color:#2a6daf}.gallery-thumbnails button:hover{box-shadow:none;opacity:1;transform:none}.gallery-thumbnails img{width:79px;height:64px}.lightbox .gallery-arrow{top:auto;bottom:1rem;transform:none}.lightbox .gallery-arrow:hover{transform:scale(1.08)}.lightbox .gallery-arrow.previous{left:calc(50% - 90px)}.lightbox .gallery-arrow.next{right:calc(50% - 90px)}.lightbox .gallery-arrow.previous{right:auto}.lightbox .gallery-arrow.next{left:auto}.lightbox-counter{color:#fff;position:absolute;bottom:1.4rem}.gallery-lightbox .lightbox-counter{pointer-events:none;left:50%;transform:translate(-50%)}.review-card{border-top:1px solid #e2e1de;padding:1rem 0}.review-card strong{color:#c38b45;letter-spacing:.1em}@keyframes rise-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes picture-in{0%{opacity:0;transform:translate(25px,12px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}@media (max-width:1100px){.nav{gap:.7rem}.nav a{font-size:.78rem}.header-inner{gap:.8rem}.brand-original{width:115px;height:52px}.apartment-header-link{padding:.68rem .72rem;font-size:.72rem}.craft-hero-grid{grid-template-columns:1fr .84fr}}@media (max-width:900px){.header-inner{min-height:72px}.nav{color:var(--ink);background:#faf8f3;margin:0;padding:1.1rem 24px;display:none;position:absolute;top:72px;left:0;right:0;box-shadow:0 15px 22px #17120e30}.nav.open{display:flex}.nav .apartment-mobile-link{color:#fff;background:#245a9a;padding:.8rem;display:block}.apartment-header-link{display:none}.mobile-menu{margin-left:auto;display:block}.language{margin-left:0}.craft-hero-grid{grid-template-columns:1fr;padding-top:4rem;padding-bottom:4rem}.craft-visual{width:100%;max-width:660px;height:350px}.keys-feature-grid{grid-template-columns:1fr 1fr;gap:2rem}.apartment-layout,.apartment-intro{grid-template-columns:minmax(0,1fr)}.apartment-booking{position:static}}@media (max-width:650px){.container{width:min(100% - 32px,1240px)}.header-inner{gap:.35rem}.brand-original{width:98px;height:47px}.mobile-menu{padding:.55rem .66rem}.language{gap:0;padding-left:.35rem}.language a{width:25px;height:22px}.language img{width:20px;height:14px}.craft-hero h1{font-size:clamp(2.65rem,11vw,4rem)}.craft-hero-grid{gap:2.6rem}.craft-visual{height:260px}.craft-section{padding-top:4rem;padding-bottom:4rem}.craft-card-grid{grid-template-columns:1fr}.craft-card-image{height:220px}.keys-feature-grid{grid-template-columns:1fr;padding-top:4rem;padding-bottom:4rem}.keys-symbol{height:230px}.apartment-teaser{padding:4rem 0}.apartment-teaser-inner{grid-template-columns:1fr}.apartment-teaser-photo{height:240px}.apartment-teaser-copy{padding:2rem}.apartment-banner{min-height:175px}.apartment-content{padding-top:1rem}.apartment-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-stage{height:290px}.detail-block{padding:1rem}.availability-calendar{padding:.8rem}.calendar-legend{gap:.35rem .65rem;font-size:.7rem}.calendar-day{border-radius:6px;height:36px}.amenity-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.partners-section{background:linear-gradient(135deg,#e6e1da,#f4f1ec 56%,#ded9d2);border-top:1px solid #d4c9bc;padding:5rem 0 5.5rem}.partners-section .eyebrow{color:#78543c}.partners-section h2{color:#302a26}.partners-section p:not(.eyebrow){color:#514940;max-width:60ch}.partners-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.partner-card{background:#fff;border:1px solid #cfc7bf;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;min-height:150px;padding:1.2rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 6px 17px #382c2212}.partner-card:hover,.partner-card:focus-visible{border-color:#927b67;transform:translateY(-4px);box-shadow:0 13px 25px #382c2226}.partner-logo{place-items:center;width:100%;height:75px;display:grid}.partner-logo img{object-fit:contain;width:auto;max-width:170px;height:auto;max-height:72px}.partner-card:has(img[src$=insoco\.svg]) .partner-logo{background:#19546a}.partner-card strong{color:#352b25;font-size:.95rem}.product-description{white-space:pre-line;line-height:1.7}.home-product-search{max-width:520px;margin:1.5rem 0}.home-product-search label{color:#f5e4ce;margin-bottom:.45rem;font-weight:700;display:block}.home-product-search div{background:#fff;border:1px solid #d7baa0;gap:.4rem;padding:.3rem;display:flex}.home-product-search input{color:#211b17;border:0;flex:1;min-width:0;padding:.7rem}.home-product-search button{color:#251b13;background:#d1a976;border:0;padding:.65rem 1rem;font-weight:800}.catalog-subcategories-nested{background:#ede8e0;margin-top:.5rem}.courtyard-gallery{background:#fff;border:1px solid #c9d9e8;margin-top:4rem;padding:2rem}.courtyard-gallery h2{color:#174a7b;margin-top:.3rem}.courtyard-gallery .gallery-shell{max-width:900px}.deposit-warning{color:#68230f;letter-spacing:.02em;background:#fff0e7;border-left:5px solid #9d381b;padding:1rem 1.3rem;font-size:1.2rem}.product-specs{gap:.65rem;margin:0 0 1.5rem;display:grid}.product-specs div{border-bottom:1px solid #d6cbc0;grid-template-columns:minmax(100px,35%) 1fr;gap:.6rem;padding-bottom:.55rem;display:grid}.product-specs dt{color:#69503b;font-weight:800}.product-specs dd{color:#29221d;margin:0}.partner-wordmark{color:#453222;text-align:center;font:800 clamp(1.15rem,2vw,1.55rem)/1.2 Arial,sans-serif}@media (max-width:650px){.partners-section{padding:3.5rem 0}.partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.partner-card{min-height:135px;padding:.7rem}.partner-logo img{max-width:130px;max-height:60px}}.mobile-nav-links{display:contents}.mobile-nav-top,.mobile-nav-language{display:none}@media (max-width:900px){.site-header .nav{z-index:100;width:100%;height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));visibility:hidden;pointer-events:none;background:#faf8f3;flex-direction:column;align-items:stretch;gap:0;transition:transform .34s cubic-bezier(.22,.8,.25,1),visibility 0s linear .34s;display:flex;position:fixed;inset:0;overflow-y:auto;transform:translate(100%);box-shadow:-18px 0 45px #17120e2c}.site-header .nav.open{visibility:visible;pointer-events:auto;transition:transform .34s cubic-bezier(.22,.8,.25,1);transform:translate(0)}.mobile-nav-top{justify-content:space-between;align-items:center;min-height:66px;margin-bottom:clamp(14px,4vh,36px);display:flex}.mobile-nav-top .brand-original{width:128px;height:auto}.mobile-nav-close{color:#463329;width:52px;height:52px;box-shadow:none;background:#f0ebe4;border:1px solid #d7cabe;border-radius:13px;place-items:center;padding:0;font-size:2rem;line-height:1;display:grid}.mobile-nav-close:hover{box-shadow:none;background:#e7dbce}.mobile-nav-links{flex-direction:column;flex:1;gap:0;display:flex}.site-header .mobile-nav-links>a{color:#2b231e;border-bottom:1px solid #ded4c9;align-items:center;min-height:clamp(62px,9vh,84px);padding:.6rem .25rem;font-size:clamp(1.35rem,5vw,2rem);font-weight:700;line-height:1.2;display:flex}.site-header .mobile-nav-links>a.active-nav-link{color:#885739}.site-header .mobile-nav-links>a:focus-visible,.mobile-nav-close:focus-visible,.mobile-nav-language a:focus-visible{outline-offset:3px;outline:3px solid #285d9d}.site-header .mobile-nav-links>.apartment-mobile-link{color:#fff;text-align:center;background:#245a9a;border:0;border-radius:11px;justify-content:center;min-height:66px;margin-top:clamp(20px,4vh,40px);padding:.85rem 1rem;font-size:clamp(1.2rem,4.7vw,1.7rem)}.site-header .mobile-nav-links>.apartment-mobile-link:hover{color:#fff;background:#17477f}.mobile-nav-language{justify-content:center;gap:.7rem;padding-top:20px;display:flex}.mobile-nav-language a{border:2px solid #0000;border-radius:9px;place-items:center;width:51px;height:43px;display:grid}.mobile-nav-language a.active{background:#eee5d9;border-color:#916b4f}.mobile-nav-language img{object-fit:cover;width:28px;height:19px;display:block;box-shadow:0 1px 4px #0003}}@media (prefers-reduced-motion:reduce){.site-header .nav,.site-header .nav.open{transition:none}}
