:root{
 --bg:#FBF7EF;--surface:#FFFFFF;--sand:#F1E7D3;--ink:#132A30;--ink2:#34494F;--muted:#66767A;
 --sea:#0E4B5A;--sea2:#1C7F86;--amber:#B5532F;--amber2:#E0A93B;--brick:#B5532F;--line:#E4D9C3;--chip:#E2F0EF;
 --olive:#5F7A2E;--citrus:#D06A24;--gold:#C38A1E;
 --shadow:0 1px 2px rgba(20,30,40,.06),0 8px 24px rgba(20,30,40,.06);
 --r:14px;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
 color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
 --bg:#0C1A1D;--surface:#122428;--sand:#16302F;--ink:#EEE8DA;--ink2:#C6D2D1;--muted:#93A4A4;
 --sea:#8FD3D3;--sea2:#5FC0C0;--amber:#E68A62;--amber2:#EFC160;--brick:#E68A62;--line:#22403F;--chip:#183536;
 --olive:#A7C46A;--citrus:#F0A060;--gold:#E7BE5C;
 --shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark;
}}
:root[data-theme="dark"]{--bg:#0C1A1D;--surface:#122428;--sand:#16302F;--ink:#EEE8DA;--ink2:#C6D2D1;--muted:#93A4A4;--sea:#8FD3D3;--sea2:#5FC0C0;--amber:#E68A62;--amber2:#EFC160;--brick:#E68A62;--line:#22403F;--chip:#183536;--olive:#A7C46A;--citrus:#F0A060;--gold:#E7BE5C;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:var(--sea2)}
a:hover{color:var(--amber)}
h1,h2,h3{font-family:var(--serif);line-height:1.1;margin:0 0 .5em;color:var(--ink);font-weight:700}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.3rem)}
h3{font-size:1.35rem}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
@media(min-width:700px){.wrap{padding:0 28px}}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:8px 12px;z-index:99}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.small{font-size:.86rem;color:var(--muted)}
.muted{color:var(--muted)}
:focus-visible{outline:3px solid var(--amber2);outline-offset:2px;border-radius:4px}

/* header */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:16px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.logo b{display:block;font-family:var(--serif);font-size:1.35rem;line-height:1}
.logo small{display:block;font-size:.72rem;color:var(--muted);letter-spacing:.02em}
.logo-mark{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--amber2),var(--amber) 60%,var(--brick));flex:none}
.nav{display:flex;align-items:center;gap:18px}
.nav a{text-decoration:none;color:var(--ink2);font-weight:500}
.nav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px var(--amber)}
.langs{display:inline-flex;gap:6px}
.langs a{font-size:.8rem;font-weight:700;padding:2px 6px;border-radius:6px;text-decoration:none;color:var(--muted)}
.langs a[aria-current]{background:var(--chip);color:var(--ink)}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:8px 12px;font:inherit;font-weight:600}
@media(max-width:860px){
 .burger{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg);flex-direction:column;align-items:flex-start;padding:16px;border-bottom:1px solid var(--line);gap:14px}
 .nav.open{display:flex}
}

/* buttons */
.btn{display:inline-block;background:var(--sea);color:#fff;border:0;border-radius:999px;padding:13px 24px;font:700 1rem var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--amber);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn{color:#0F171C}}
.btn-sm{padding:8px 16px;font-size:.9rem}
.nav .btn{color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav .btn{color:#0F171C}}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.8)}

/* hero */
.hero{position:relative;min-height:min(78vh,640px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,38,46,.7),rgba(6,38,46,.12) 72%),linear-gradient(180deg,rgba(6,38,46,.05) 35%,rgba(6,38,46,.72))}
.hero-in{position:relative;z-index:1;padding-top:80px;padding-bottom:56px}
.hero h1{color:#fff;max-width:14ch}
.hero-text{max-width:60ch;font-size:1.1rem;color:#EEF2F3}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--amber2)}
.hero .kicker{color:#F4C766}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}

/* blocks */
.block{padding-top:56px;padding-bottom:56px}
.band{background:var(--sand)}
.head-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.head-row a{font-weight:700;text-decoration:none}
.lead-p{font-size:1.15rem;color:var(--ink2);max-width:62ch}
.two{display:grid;gap:40px}
@media(min-width:860px){.two{grid-template-columns:1fr 1fr}}
.note{background:var(--surface);border-left:4px solid var(--amber);padding:24px;border-radius:var(--r);box-shadow:var(--shadow)}
.list{padding-left:1.2em;margin:0 0 1em}
.list li{margin:.35em 0}

/* regions */
.regions{display:grid;gap:14px;grid-template-columns:1fr}@media(min-width:600px){.regions{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.regions{grid-template-columns:repeat(5,1fr)}}
.region{display:block;padding:22px;border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);text-decoration:none;color:var(--ink);border-top:5px solid var(--sea2)}
.region b{display:block;font-family:var(--serif);font-size:1.5rem;margin-bottom:6px}
.region span{color:var(--ink2);font-size:.95rem}
.region-nicosia{border-color:var(--amber)}.region-famagusta{border-color:var(--gold)}.region-karpaz{border-color:var(--olive)}.region-west{border-color:var(--citrus)}
.region:hover{transform:translateY(-2px)}

/* cards */
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:18px}
.card{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);transition:transform .15s}
.card:hover{transform:translateY(-3px);color:var(--ink)}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto}
.card-body{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px}
.card-body b{font-family:var(--serif);font-size:1.35rem;line-height:1.15}
.card-body>span:not(.tag):not(.meta){color:var(--ink2);font-size:.93rem}
.meta{font-size:.82rem;color:var(--muted);margin-top:auto}
.tag{align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:999px;background:var(--chip);color:var(--sea2)}
.tag-nicosia{background:color-mix(in srgb,var(--amber) 15%,transparent);color:var(--amber)}
.tag-famagusta{background:color-mix(in srgb,var(--gold) 18%,transparent);color:#8C6212}
.tag-karpaz{background:color-mix(in srgb,var(--olive) 16%,transparent);color:var(--olive)}
.tag-west{background:color-mix(in srgb,var(--citrus) 15%,transparent);color:#A84E14}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tag-famagusta{color:var(--gold)}:root:not([data-theme="light"]) .tag-west{color:var(--citrus)}}

/* places page */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 4px}
.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 16px;border-radius:999px;font:600 .92rem var(--sans);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--sea);color:#fff;border-color:var(--sea)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip[aria-pressed="true"]{color:#0F171C}}
.group{padding-top:36px}
.group[hidden]{display:none}
.map-wrap{margin:24px 0 0;background:var(--surface);border-radius:var(--r);padding:12px;box-shadow:var(--shadow)}
.map{width:100%;height:auto}
.map-sea{fill:color-mix(in srgb,var(--sea2) 16%,var(--surface))}
.map-land{fill:var(--sand);stroke:var(--line);stroke-width:2}
.map-south{fill:color-mix(in srgb,var(--line) 55%,var(--surface));stroke:var(--line);stroke-width:1.5}
.map-gl{fill:none;stroke:var(--amber);stroke-width:2.5;stroke-dasharray:7 5;opacity:.85}
.map-lbl{font:italic 20px var(--serif);fill:var(--sea2)}
.map-city{font:700 15px var(--sans);fill:var(--ink2)}
.dot circle{fill:var(--sea2);stroke:var(--surface);stroke-width:3}
.dot[data-region="nicosia"] circle{fill:var(--amber)}
.dot[data-region="famagusta"] circle{fill:var(--gold)}
.dot[data-region="karpaz"] circle{fill:var(--olive)}
.dot[data-region="west"] circle{fill:var(--citrus)}
.dot:hover circle,.dot-cur circle{stroke:var(--ink);stroke-width:3}
.dot.dim{opacity:.2}

/* place page */
.crumbs{font-size:.86rem;color:var(--muted);padding-top:18px}
.crumbs a{color:var(--muted)}
.place{padding-top:18px;padding-bottom:40px}
.place-head{max-width:820px;margin-bottom:22px}
.place-head .tag{margin-bottom:12px;display:inline-block}
.place-img img{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;border-radius:var(--r)}
.place-img{margin:0 0 30px}
.place-grid{display:grid;gap:36px}
@media(min-width:900px){.place-grid{grid-template-columns:minmax(0,1fr) 340px}}
.prose{font-size:1.06rem;max-width:68ch}
.prose h2{margin-top:1.4em}
.narrow{margin:0 auto 0 0}
.facts{background:var(--surface);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);align-self:start}
@media(min-width:900px){.facts{position:sticky;top:84px}}
.facts dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0 0 14px}
.facts dt{color:var(--muted);font-size:.88rem}
.facts dd{margin:0;font-weight:700}
.facts .map{margin:10px 0}
.maplinks{font-size:.9rem}
.cta-box{background:var(--chip);padding:14px;border-radius:10px;font-size:.93rem;margin:16px 0 0}
.cta-box .btn{margin-top:10px}
.days{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:16px;max-width:820px}
.days li{background:var(--surface);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow);border-left:4px solid var(--amber)}
.day-n{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
.days h3{margin:.2em 0 .3em}
.days p{margin:0}

/* faq */
.faq{display:grid;gap:10px;max-width:820px}
.faq details{background:var(--surface);border-radius:10px;padding:14px 18px;box-shadow:var(--shadow)}
.faq summary{font-weight:700;cursor:pointer}
.faq details p{margin:.6em 0 0;color:var(--ink2)}

/* lead form */
.lead{background:var(--sea);color:#EEF3F5;padding-top:56px;padding-bottom:56px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lead{background:#132A35}}
.lead h2{color:#fff}
.lead-in{display:grid;gap:28px}
@media(min-width:900px){.lead-in{grid-template-columns:1fr 1.4fr}}
.form{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:600px){.form{grid-template-columns:1fr 1fr}.form .full{grid-column:1/-1}}
.form label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600}
.form input,.form select,.form textarea{font:inherit;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.95);color:#1B2630;width:100%}
.form .btn{background:var(--amber2);color:#1B2630}
.form .btn:hover{background:#fff}
.lead .small{color:#C9D6DC}
.form-msg{font-weight:700;min-height:1.2em;margin:0}
.contacts a{margin-right:14px}
.contacts.big{font-size:1.15rem}

/* footer */
.foot{background:var(--sand);padding:44px 0 20px;margin-top:0;border-top:1px solid var(--line)}
.foot-in{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:20px}
.foot-brand{font-family:var(--serif);font-size:1.4rem}
.foot ul{list-style:none;padding:0;margin:8px 0}
.foot li{margin:4px 0}
.foot a{color:var(--ink2)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.hero .btn:not(.btn-ghost){background:var(--amber2);color:#1B2630}.hero .btn:not(.btn-ghost):hover{background:#fff}
.hero-credit{position:absolute;right:10px;bottom:6px;z-index:2;margin:0;font-size:.7rem;color:rgba(255,255,255,.75)}
.hero-credit a{color:inherit}
.credit{font-size:.78rem;color:var(--muted);margin-top:6px}
.credit a{color:inherit}
.place-img{margin-bottom:30px}
.pcs{list-style:none;padding:0;display:grid;gap:14px;max-width:860px}
.pc{display:flex;gap:14px;align-items:center;background:var(--surface);border-radius:10px;padding:10px;box-shadow:var(--shadow)}
.pc img{width:120px;height:75px;object-fit:cover;border-radius:6px;flex:none}
.pc .small a{color:var(--muted)}
.card img,.place-img img{background:var(--sand)}

/* v04: карта, новости, недвижимость, кухня, партнёры */
@media(max-width:1180px){
 .burger{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg);flex-direction:column;align-items:flex-start;padding:16px;border-bottom:1px solid var(--line);gap:14px;max-height:calc(100vh - 64px);overflow:auto}
 .nav.open{display:flex}
}
@media(min-width:1181px){.nav{gap:15px;font-size:.94rem}}
.map-lag{font:italic 16px var(--serif);fill:var(--sea2)}
.map-cty{font:700 13px var(--sans);letter-spacing:.2em;fill:var(--muted)}
.dot-n{font:700 11px var(--sans);fill:#fff;text-anchor:middle;pointer-events:none}
.map-groups{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:28px}
.map-group[hidden]{display:none}
.h3{font-size:1.4rem}
.map-list{padding-left:1.6em;margin:0}
.map-list li{margin:.3em 0}
.promo-row{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:900px){.promo-row{grid-template-columns:repeat(3,1fr)}}
.promo{display:flex;flex-direction:column;gap:8px;padding:26px;border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);text-decoration:none;color:var(--ink);border-top:5px solid var(--sea2);transition:transform .15s}
.promo:hover{transform:translateY(-3px);color:var(--ink)}
.promo b{font-family:var(--serif);font-size:1.6rem;line-height:1.1}
.promo>span:not(.kicker):not(.promo-go){color:var(--ink2)}
.promo-go{margin-top:auto;font-weight:700;color:var(--sea2)}
.promo-prop{border-color:var(--amber)}.promo-food{border-color:var(--brick)}
.news{list-style:none;padding:0;margin:18px 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.news:empty{display:none}
.news a{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 18px;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);text-decoration:none;color:var(--ink)}
.news a:hover{color:var(--ink);transform:translateY(-2px)}
.news-meta{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.news b{font-weight:700;line-height:1.35}
.news-empty{margin:16px 0}
.news-empty[hidden]{display:none}
.partners{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;padding:28px;border-radius:var(--r);background:var(--chip)}
.partners>div{max-width:70ch}
.partners p:last-child{margin:0}
.prose.wide{max-width:900px}
.prose .note{margin:1.4em 0}
.tiles{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:12px 0 8px}
.tile{background:var(--surface);border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow);font-size:.97rem}
.tile b{display:block;font-family:var(--serif);font-size:1.3rem;margin-bottom:4px}
.tile p{margin:0;color:var(--ink2)}
.steps{list-style:none;counter-reset:s;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.steps li{counter-increment:s;background:var(--surface);border-radius:var(--r);padding:18px 20px;box-shadow:var(--shadow);border-left:4px solid var(--amber)}
.steps li::before{content:counter(s);display:block;font:700 1.6rem var(--serif);color:var(--amber)}
.steps p{margin:.2em 0 0;color:var(--ink2);font-size:.95rem}
.recipe{background:var(--surface);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow);margin:14px 0}
.recipe-in{display:grid;gap:10px}
@media(min-width:760px){.recipe-in{grid-template-columns:1fr 1.5fr}}

/* логотип как у ALMATY VISTA */
.logo{gap:10px;white-space:nowrap;flex-shrink:0}
.bmark{flex:0 0 auto;overflow:visible}
.bmark .ms{fill:var(--amber2);opacity:.32;stroke:none}
.bmark .mw{fill:none;stroke:var(--sea2);stroke-width:2.2;stroke-linecap:round;opacity:.8}
.bmark .mw2{opacity:.4}
.bmark .mc{fill:var(--amber);opacity:.85;stroke:none}
.bmark .mv{fill:none;stroke:var(--sea);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.bmark .mh{fill:none;stroke:var(--amber);stroke-width:2.6;stroke-linecap:round}
.logo .bt{display:flex;flex-direction:column;line-height:1}
.logo .bt b{font:600 24px/1 var(--serif);letter-spacing:.16em;color:var(--ink)}
.logo .bt small{font:500 9.5px/1.4 'JetBrains Mono',ui-monospace,Menlo,monospace;letter-spacing:.2em;color:var(--amber);margin-top:4px;text-transform:uppercase}
@media(max-width:520px){.bmark{width:26px;height:24px}.logo{gap:6px}.logo .bt b{font-size:17px;letter-spacing:.06em}.logo .bt small{font-size:8px;letter-spacing:.04em}}
@media(max-width:389px){.bmark{width:20px;height:18px}.logo .bt b{font-size:15px;letter-spacing:.03em}}
.map-inset{fill:var(--surface);stroke:var(--line);stroke-width:2}
.map-zoom{fill:none;stroke:var(--sea2);stroke-width:1.5;stroke-dasharray:4 3}
.map-zoom-l{stroke:var(--sea2);stroke-width:1;stroke-dasharray:4 3;opacity:.6}

/* v05: услуги, сезоны, о проекте */
.svc-who{display:grid;gap:14px;grid-template-columns:1fr;margin:16px 0}
@media(min-width:700px){.svc-who{grid-template-columns:1fr 1fr}}
.svc-who .tile{border-left:4px solid var(--sea2)}
.svc-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:8px}
.svc{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);text-decoration:none;color:var(--ink);transition:transform .15s}
.svc:hover{transform:translateY(-3px);color:var(--ink)}
.svc-tag{font:500 .7rem/1.4 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.12em;color:var(--amber)}
.svc b{font-family:var(--serif);font-size:1.45rem;line-height:1.1}
.svc>span:not(.svc-tag):not(.promo-go){color:var(--ink2);font-size:.95rem}
.tiles-4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.about{max-width:820px}
.about p:last-child{margin:0}
.tiles-4{grid-template-columns:1fr}@media(min-width:600px){.tiles-4{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.tiles-4{grid-template-columns:repeat(4,1fr)}}
.social{display:flex;gap:10px;margin:10px 0 0}.social[hidden]{display:none}.social a{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);box-shadow:var(--shadow);color:var(--sea)}.social a:hover{color:var(--amber)}.social svg{fill:currentColor}
.hero-vid{background:#0E4B5A url(/assets/video/poster.webp) center/cover no-repeat}

/* v09: ИИ-подборщик, консультант, 3D-карта, «Только здесь» */
.ai-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr);margin-top:18px}
@media(min-width:960px){.ai-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
.ai-card{background:var(--surface);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);min-width:0}
.ai-form{display:grid;gap:14px}
.ai-form fieldset{border:0;padding:0;margin:0;min-width:0}
.ai-form legend{font-weight:700;margin-bottom:8px}
.ai-days{display:flex;align-items:center;gap:10px;font-weight:700}
.ai-days select,.ai-ask textarea{font:inherit;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.chks{display:flex;flex-wrap:wrap;gap:8px}
.chk{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--bg);cursor:pointer;font-size:.93rem}
.chk input{accent-color:var(--sea2)}
.chk:has(input:checked){background:var(--chip);border-color:var(--sea2)}
.ai-plan{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:14px}
.ai-day{border-left:4px solid var(--amber);padding:4px 0 4px 14px}
.ai-day h3{margin:.1em 0 .4em}
.ai-places{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ai-places a{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}
.ai-places img{width:96px;height:60px;object-fit:cover;border-radius:8px;flex:none;background:var(--sand)}
.ai-places small{display:block;color:var(--muted);font-size:.84rem;line-height:1.35}
.ai-msg{background:var(--chip);border-radius:10px;padding:10px 14px;margin:14px 0}
.ai-ask{display:flex;gap:10px;align-items:flex-start;margin:10px 0}
.ai-ask textarea{flex:1;resize:vertical;min-height:48px}
.ai-ans{background:var(--bg);border-radius:10px;padding:12px 14px;margin:10px 0}
.ai-ans p{margin:0 0 6px}
.ai-ans a{font-weight:700;text-decoration:none}
.tile.uq{border-top:4px solid var(--amber)}
.m3{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:12px;margin:14px 0}
.m3-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:10px}
.m3-bar .chips{margin:0}
.m3-stage{position:relative;height:min(70vh,560px);border-radius:10px;overflow:hidden;background:linear-gradient(160deg,#2F5D73,#1A303C)}
.m3-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;color:#EEF3F5;font-size:.95rem}
.m3-consent p{max-width:52ch;margin:0}
.m3-consent[hidden]{display:none}
.m3-consent .btn{background:var(--amber2);color:#1B2630}
.m3-pin{width:28px;height:28px;border-radius:50%;border:3px solid #fff;color:#fff;font:700 12px var(--sans);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.35);padding:0}
.m3-pop{display:flex;flex-direction:column;gap:6px;font:14px/1.4 var(--sans);color:#1B2630}
.m3-pop img{width:100%;height:auto;border-radius:6px}
.m3-pop span{color:#3C4A55;font-size:13px}
.m3-pop a{font-weight:700;color:#2F5D73}

/* v10: очереди на границе */
.bq{max-width:900px;margin:36px 0;padding:24px;border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);border-top:5px solid var(--brick)}
.bq h2{margin-top:0}
.bq-links{display:grid;gap:12px;grid-template-columns:1fr;margin:16px 0 8px}
@media(min-width:700px){.bq-links{grid-template-columns:1fr 1fr}}
.bq-link{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:12px;background:var(--chip);text-decoration:none;color:var(--ink)}
.bq-link:hover{color:var(--ink);transform:translateY(-2px)}
.bq-link b{font-size:1.05rem}
.bq-link span:not(.promo-go){color:var(--ink2);font-size:.93rem}
.bq-two{gap:20px;margin-top:10px}
.bq h3{font-size:1.25rem}
.border-link{font-weight:700;text-decoration:none;color:var(--brick)}

/* v11: «Сообщите очередь» */
.qbox{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.qform{display:grid;gap:12px;grid-template-columns:1fr;margin:12px 0 22px}
@media(min-width:600px){.qform{grid-template-columns:1fr 1fr}.qform .full{grid-column:1/-1}}
.qform label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600}
.qform select,.qform input{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);width:100%}
.qform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.q-msg{font-weight:700;min-height:1.2em;margin:0}
.q-stats{list-style:none;padding:12px 14px;margin:0 0 12px;background:var(--chip);border-radius:10px;display:grid;gap:6px}
.q-stats[hidden]{display:none}
.q-list{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px}
.q-list li{display:flex;gap:14px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--bg)}
.q-h{flex:none;min-width:64px;text-align:center;font:700 1.15rem var(--serif);color:var(--brick)}

/* помощник «Вопрос?» (kv-bot.js) */
.kvb-fab{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:8px;background:var(--amber);color:#fff;border:0;border-radius:999px;padding:12px 18px;font:700 .95rem var(--sans);box-shadow:0 6px 20px rgba(0,0,0,.18);cursor:pointer}
.kvb-fab:focus-visible,.kvb button:focus-visible,.kvb input:focus-visible,.kvb textarea:focus-visible{outline:3px solid var(--amber2);outline-offset:2px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kvb-fab{color:#0F171C}}
:root[data-theme="dark"] .kvb-fab{color:#0F171C}
.kvb{position:fixed;right:16px;bottom:76px;z-index:61;width:min(380px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 100px));display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 40px rgba(0,0,0,.25);overflow:hidden}
.kvb[hidden],.kvb form[hidden],.kvb-chips[hidden]{display:none}
.kvb-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--sea);color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kvb-head{color:#0F171C}}
:root[data-theme="dark"] .kvb-head{color:#0F171C}
.kvb-x{background:none;border:0;color:inherit;font-size:1.6rem;line-height:1;cursor:pointer;padding:0 4px}
.kvb-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:120px}
.kvb-m{max-width:92%;padding:9px 12px;border-radius:12px;font-size:.93rem;line-height:1.45;overflow-wrap:anywhere}
.kvb-m p{margin:0 0 4px}.kvb-m hr{border:0;border-top:1px solid var(--line);margin:8px 0}
.kvb-b{background:var(--chip);align-self:flex-start}
.kvb-u{background:var(--sea);color:#fff;align-self:flex-end}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kvb-u{color:#0F171C}}
:root[data-theme="dark"] .kvb-u{color:#0F171C}
.kvb-more{font-weight:700;color:var(--sea2)}
.kvb-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;align-items:center}
.kvb-chips{display:flex;gap:6px;overflow-x:auto;padding:0 12px 8px;scrollbar-width:thin}
.kvb-chips button{flex:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:999px;padding:6px 11px;font:600 .82rem var(--sans);cursor:pointer}
.kvb-ask{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.kvb-ask input,.kvb-op input,.kvb-op textarea{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:9px 11px;font:1rem var(--sans);background:var(--bg);color:var(--ink);width:100%;box-sizing:border-box}
.kvb-op{display:grid;gap:8px;padding:12px;border-top:1px solid var(--line);overflow-y:auto}
.kvb-op label{display:grid;gap:4px;font-size:.88rem;font-weight:600}
.kvb-op .small,.kvb-err{margin:0}.kvb-err{color:var(--brick);font-weight:700}
.kvb-foot{display:flex;justify-content:space-between;padding:6px 12px 10px}
.kvb-link{background:none;border:0;padding:4px 0;color:var(--sea2);font:600 .85rem var(--sans);text-decoration:underline;cursor:pointer}
@media (max-width:560px){
 .kvb{right:0;left:0;bottom:0;width:100%;max-height:85vh;border-radius:var(--r) var(--r) 0 0}
 .kvb-on .kvb-fab{display:none}
 .kvb-fab{right:12px;bottom:12px;padding:11px 14px}
}
.kvb-wa{background:var(--sea2)}
.kvb-chips,.kvb-ask,.kvb-foot,.kvb-head{flex:none}
.hb-seal{margin:10px 0 0}.hb-seal img{display:block;width:120px;height:auto;background:#fff;border-radius:6px;padding:4px}
.legal h2{font-size:1.15rem;margin-top:1.6em}.legal h3{font-size:1rem;margin-top:1.2em}.legal a{overflow-wrap:anywhere}

/* v15 Наши направления */
.cross .cross-card{display:flex;flex-direction:column}
.cross .cross-card p{flex:1}
.cross-act{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:10px}
.cross-canarias{border-top:4px solid #e9a23b}
.cross-almaty{border-top:4px solid #2f8fc0}
/* v17 партнёры */
.btn-line{background:transparent;color:var(--sea);box-shadow:inset 0 0 0 2px var(--sea)}
.btn-line:hover{background:var(--sea);color:var(--bg)}
.ptn{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:28px;margin:8px 0 18px}
.ptn h3{font-size:1.5rem;margin-top:1.4em}
.ptn-head{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:18px}
.ptn-head h2{margin:0}.ptn-head .small{margin:4px 0 0}
.ptn-logo{width:200px;height:auto;border-radius:10px;background:#fff;padding:6px}
figure.ptn-hero{margin:0 0 8px}.ptn-hero figcaption{margin-top:6px}
.ptn-hero img{width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:var(--r)}
.ptn-cta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.ptn-table{overflow-x:auto}
.ptn-table table{border-collapse:collapse;width:100%;min-width:420px}
.ptn-table th,.ptn-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.ptn-table thead th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.ptn-gal{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ptn-gal figure{margin:0}.ptn-gal img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.ptn-gal figcaption{font-size:.85rem;color:var(--muted);margin-top:4px}
.ptn-teaser{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:20px;align-items:center;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:16px;margin-bottom:18px;text-decoration:none;color:var(--ink)}
.ptn-teaser img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.ptn-teaser>span{display:flex;flex-direction:column;gap:6px}
.ptn-teaser b{font-family:var(--serif);font-size:1.5rem;line-height:1.15}
.ptn-teaser>span>span:not(.kicker):not(.promo-go){color:var(--ink2)}
@media (max-width:640px){.ptn{padding:18px}.ptn-teaser{grid-template-columns:1fr}}
@media (max-width:600px){.ptn-stack table{min-width:0}.ptn-stack thead{display:none}.ptn-stack tr{display:block;padding:10px 0;border-bottom:1px solid var(--line)}.ptn-stack th,.ptn-stack td{display:block;border:0;padding:2px 0}.ptn-stack td:last-child{font-weight:600}}

/* North Cyprus Vista: климат по месяцам */
.climate .cl{list-style:none;margin:18px 0 8px;padding:16px 12px 10px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow)}
.cl li{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.8rem}
.cl-bars{display:flex;align-items:flex-end;gap:3px;height:88px}
.cl-bars i{display:block;width:10px;border-radius:5px 5px 2px 2px}
.cl-air{background:linear-gradient(180deg,var(--amber2),var(--amber))}
.cl-sea{background:linear-gradient(180deg,var(--sea2),var(--sea))}
.cl b{font-weight:700;color:var(--amber)}.cl-w{color:var(--sea2);font-weight:700}.cl-m{color:var(--muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.04em}
.cl-key{font-size:.9rem;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cl-key span{display:inline-block;width:12px;height:12px;border-radius:3px}.cl-k-air{background:var(--amber)}.cl-k-sea{background:var(--sea2);margin-left:10px}
@media(max-width:520px){.cl-bars i{width:6px}.cl-bars{height:70px}.cl li{font-size:.68rem}.climate .cl{gap:2px;padding:12px 6px 8px}}
/* средиземноморские акценты */
.band{background:linear-gradient(180deg,var(--sand),color-mix(in srgb,var(--sand) 60%,var(--bg)))}
.region{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--sand) 25%,var(--surface)))}
.note{border-left-color:var(--sea2)}
.bq .ptn-table{margin:18px 0}
/* объекты недвижимости */
.obj{background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);padding:24px;margin:22px 0}
.obj-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.obj-head h2{margin:0}
.obj-gal{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 10px;margin:8px 0 14px}
.obj-gal a{flex:0 0 auto;scroll-snap-align:start}
.obj-gal img{height:220px;width:auto;max-width:none;border-radius:10px;object-fit:cover}
@media(max-width:520px){.obj-gal img{height:170px}.obj{padding:16px}}
.obj-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:6px 0 10px}
.obj-facts dt{font-weight:700;color:var(--muted)}.obj-facts dd{margin:0}
@media(max-width:600px){.obj-facts{grid-template-columns:1fr}.obj-facts dd{margin-bottom:6px}}
