/* KRG Conciergerie */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/playfair-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/playfair-display-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/playfair-display-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/playfair-display-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/playfair-display-latin-500-italic.woff2) format('woff2')}

/* Layout concept (KRG brand charter): cream ground and charcoal type as the two dominant colours, white cards drawn with sand hairlines, champagne gold and sage kept to small touches, one charcoal band for the simulator and the footer. */
:root{
  /* charter: cream #F4EFE7 · charcoal #292824 · sand #DCD1C1 · champagne #B59A6A · sage #899184 · white #FFFFFF */
  --bg:#F4EFE7; --surface:#FFFFFF; --surface-2:#ECE5D9;
  --ink:#292824; --muted:#6B655C; --line:#DCD1C1; --line-soft:#E5DED3; --line-strong:#877E70;
  --sage:#5E6659; --sage-soft:#899184; --gold:#B59A6A; --gold-text:#765F33;
  --panel:#292824; --panel-2:#36342F; --panel-ink:#F4EFE7; --panel-muted:#C8C0B3; --panel-gold:#B59A6A;
  --field:#FFFFFF; --focus:#292824; --ok:#3F6B4A; --err:#A23B2A; --shadow:0 24px 60px -30px rgba(41,40,36,.32);
  --art-1:#DCD1C1; --art-2:#FAF7F2; --art-3:#899184; --art-4:#B59A6A; --art-5:#292824;
  --f-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --f-body:'Inter',Arial,system-ui,sans-serif;
  color-scheme:light;
}
[hidden]{display:none!important}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--f-body);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.locked{overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
img,svg{max-width:100%}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.on-panel :focus-visible{outline-color:var(--panel-ink)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 16px;font-size:13px}
.skip:focus{left:16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1280px,100%);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}

/* type */
h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;margin:0;text-wrap:balance}
h1{font-size:clamp(44px,6.2vw,90px);line-height:1.02;letter-spacing:-.015em}
h1 em,h2 em{font-style:italic;color:var(--gold-text)}
h2{font-size:clamp(32px,4vw,54px);line-height:1.08;letter-spacing:-.01em}
h3{font-size:27px;line-height:1.15;letter-spacing:0}
p{margin:0}
.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--sage)}
.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:56ch}
.muted{color:var(--muted)}
.fine{font-size:13px;line-height:1.7;color:var(--muted)}
.num{font-variant-numeric:tabular-nums}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.7em;padding:15px 24px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:600 12.5px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.btn:hover{background:transparent;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--bg)}
.btn.sm{padding:11px 16px;font-size:11.5px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translate(2px,-2px)}
.link{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}
.link:hover{color:var(--gold-text)}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
header.top.scrolled{border-bottom-color:var(--line)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand img{display:block;height:50px;width:auto}
footer .brand img{height:64px}
.brand{font-family:var(--f-display);font-size:38px;line-height:1;letter-spacing:-.04em;text-decoration:none;display:inline-flex;flex-direction:column;align-items:center}
.brand small{font-family:var(--f-body);font-size:8.5px;font-weight:600;letter-spacing:.34em;margin-top:2px;margin-right:-.34em}
.menu{display:flex;align-items:center;gap:26px}
.menu a.nl{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.menu a.nl:hover,.menu a.nl.active{border-bottom-color:var(--gold)}
.lang{display:inline-flex;border:1px solid var(--line-strong)}
.lang button{border:0;background:transparent;padding:6px 9px;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line-strong);background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger span{display:block;width:18px;height:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* hero */
.hero{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center;padding-block:56px 72px}
.hero h1{margin:22px 0 26px}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.assure{display:flex;flex-wrap:wrap;gap:10px 26px;margin:34px 0 0;padding:0;list-style:none;font-size:13.5px;color:var(--muted)}
.assure li{display:flex;align-items:center;gap:9px}
.assure svg{flex:none;color:var(--gold-text)}
.hero-art{position:relative;aspect-ratio:4/5;max-width:520px;width:100%;justify-self:end}
.hero-art .arch{position:absolute;inset:0;border-radius:999px 999px 2px 2px;overflow:hidden}
.hero-art .arch svg{display:block;width:100%;height:100%}
.hero-card{position:absolute;left:-40px;bottom:36px;background:var(--surface);border:1px solid var(--line);padding:18px 20px;width:min(300px,86%);box-shadow:var(--shadow);text-decoration:none;display:block}
.hero-card .hc-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px}
.sel.sm{padding:9px 28px 9px 10px;font-size:13px;background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%}
.hero-card .k{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.hero-card .v{font:400 34px/1.1 var(--f-display);margin:6px 0 4px;letter-spacing:-.02em}
.hero-card .s{font-size:12.5px;color:var(--muted);line-height:1.5}
.hero-card .go{display:block;background:none;border:0;border-bottom:1px solid var(--gold);color:var(--ink);cursor:pointer;font-family:var(--f-body);text-decoration:none;margin-top:10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:3px;width:max-content}

/* key figures */
.figures{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.fig{padding:26px 24px;border-right:1px solid var(--line)}
.fig:last-child{border-right:0}
.fig strong{display:block;font:400 42px/1.05 var(--f-display);letter-spacing:-.02em}
.fig strong small{white-space:nowrap;font:500 13px var(--f-body);letter-spacing:0;margin-left:4px;color:var(--muted)}
.fig span{display:block;margin-top:8px;font-size:13.5px;color:var(--muted);line-height:1.5;max-width:26ch}
.fig strong span{display:inline;margin:0;font:inherit;color:inherit;max-width:none}

/* sections */
section{padding-block:96px}
section.tight{padding-block:72px}
.band{background:var(--panel);color:var(--panel-ink)}
.on-panel{--ink:var(--panel-ink);--bg:var(--panel);--muted:var(--panel-muted);--gold-text:var(--panel-gold);--sage:var(--panel-gold);--line:rgba(244,240,232,.2);--line-strong:rgba(244,240,232,.55);--field:rgba(255,255,255,.07);--surface:var(--panel-2)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:52px}
.sec-head h2{margin-top:12px}
.sec-head .intro{max-width:48ch;color:var(--muted);line-height:1.7}
.rule-top{border-top:1px solid var(--line)}

/* offers */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.offer{background:var(--surface);border:1px solid var(--line);padding:32px;display:flex;flex-direction:column}
.offer.featured{background:var(--surface-2);border-color:var(--gold)}
.offer .tag{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.offer h3{font-size:36px;margin:12px 0 4px}
.offer .for{font-size:13.5px;color:var(--gold-text);font-weight:500}
.offer .price{font:400 46px/1.05 var(--f-display);margin:22px 0 4px;letter-spacing:-.02em}
.offer .price small{font:500 13px var(--f-body);color:var(--muted);letter-spacing:0;margin-left:6px}
.offer p.d{color:var(--muted);margin:14px 0 0;line-height:1.65;font-size:15px}
.offer ul{margin:22px 0 28px;padding:0;list-style:none;border-top:1px solid var(--line)}
.offer li{padding:10px 0 10px 26px;border-bottom:1px solid var(--line);font-size:14px;position:relative}
.offer li:before{content:"";position:absolute;left:3px;top:19px;width:10px;height:5px;border-left:1.5px solid var(--gold-text);border-bottom:1.5px solid var(--gold-text);transform:rotate(-45deg) translateY(-3px)}
.offer .link{margin-top:auto;align-self:flex-start}
.compare-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:72px 0 18px;flex-wrap:wrap}
.table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--surface)}
table.cmp{width:100%;border-collapse:collapse;min-width:640px;font-size:14.5px}
.cmp th,.cmp td{padding:15px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.cmp thead th{font:400 24px var(--f-display);background:var(--surface-2);border-bottom:1px solid var(--line-strong)}
.cmp tbody th{font-weight:500;width:38%}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp td{white-space:nowrap}
.cmp .tot th,.cmp .tot td{background:var(--surface-2);font-weight:600}
.mk{display:inline-flex;align-items:center;gap:9px}
.mk i{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--gold-text);flex:none}
.mk.in i{background:var(--gold-text)}
.mk.mod i{background:linear-gradient(90deg,var(--gold-text) 50%,transparent 50%)}
.mk.no{color:var(--muted)}
.mk.no i{border:0;width:11px;height:1.5px;border-radius:0;background:var(--muted)}
.legend{display:flex;gap:22px;flex-wrap:wrap;font-size:13px;color:var(--muted)}

/* launch band */
.launch{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.launch ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.launch li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.launch li b{font:400 25px var(--f-display)}
.launch li span{font:400 24px var(--f-display);color:var(--gold-text)}
.launch li p{grid-column:2;color:var(--muted);font-size:14.5px;margin-top:-4px}

/* simulator */
.sim{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.sim-in{display:flex;flex-direction:column;gap:26px}
.fld label.l,.fld .l{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}
.fld output{font:400 24px var(--f-display);letter-spacing:0;text-transform:none;color:var(--gold-text)}
.seg{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line-strong)}
.seg label{position:relative;text-align:center}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.seg span{display:block;padding:12px 4px;font-size:13px;font-weight:500;border-right:1px solid var(--line-strong);transition:background .15s,color .15s}
.seg label:last-child span{border-right:0}
.seg input:checked + span{background:var(--ink);color:var(--bg)}
.seg input:focus-visible + span{outline:2px solid var(--focus);outline-offset:-4px}
input[type=range]{width:100%;accent-color:var(--gold);height:28px;margin:0;cursor:pointer}
.sel,.inp,.txt{width:100%;padding:13px 14px;border:1px solid var(--line-strong);background:var(--field);color:var(--ink);border-radius:0;outline-offset:2px;appearance:none;-webkit-appearance:none}
select.sel,select.inp{background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 15px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:38px}
.txt{min-height:104px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.price-row{display:flex;gap:10px}
.price-row .inp{flex:1;min-width:0}
.price-row button{white-space:nowrap}
.res{background:var(--panel-2);border:1px solid rgba(244,240,232,.18);padding:34px;display:flex;flex-direction:column;gap:22px}
.res .big{font:400 clamp(46px,5vw,70px)/1.05 var(--f-display);letter-spacing:-.03em}
.res .cap{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--panel-gold)}
.res dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;border-top:1px solid var(--line)}
.res dl div{padding:14px 0;border-bottom:1px solid var(--line)}
.res dl div:nth-child(odd){padding-right:14px;border-right:1px solid var(--line)}
.res dl div:nth-child(even){padding-left:18px}
.res dt{font-size:12.5px;color:var(--panel-muted)}
.res dd{margin:2px 0 0;font:400 28px/1.15 var(--f-display)}
.split{display:flex;height:12px;border:1px solid var(--line-strong)}
.split i{display:block;transition:width .3s}
.split .a{background:var(--panel-gold)}
.split .b{background:repeating-linear-gradient(135deg,var(--panel-ink) 0 2px,transparent 2px 5px)}
.split-l{display:flex;justify-content:space-between;font-size:12.5px;color:var(--panel-muted);margin-top:8px;gap:12px}
.bars{display:flex;align-items:flex-end;gap:6px;height:92px;border-bottom:1px solid var(--line-strong)}
.bars i{flex:1;background:var(--panel-gold);opacity:.85;min-height:3px;transition:height .3s;position:relative}
.bars i.max{opacity:1}
.bars-l{display:flex;gap:6px;font-size:10.5px;color:var(--panel-muted);margin-top:6px;text-transform:uppercase}
.bars-l span{flex:1;text-align:center}
.res .note{font-size:12.5px;line-height:1.65;color:var(--panel-muted)}
.res-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.res .btn{background:var(--panel-ink);color:var(--panel);border-color:var(--panel-ink)}
.res .btn:hover{background:transparent;color:var(--panel-ink)}

/* worked example */
.example{display:grid;grid-template-columns:1fr 1.25fr;gap:40px;align-items:center;margin-top:28px;padding:34px;background:var(--surface);border:1px solid var(--line)}
.example h3{font-size:34px;margin:10px 0 10px}
.example dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--line-strong)}
.example dl div{padding:16px 16px 4px 0}
.example dt{font-size:12.5px;color:var(--muted)}
.example dd{margin:4px 0 0;font:400 38px/1.1 var(--font-display,var(--f-display));font-family:var(--f-display);letter-spacing:-.02em}
.example dl div:last-child dd{color:var(--gold-text)}
.example .fine{grid-column:1/-1;margin-top:-8px}
.how{margin-top:10px;font-size:13.5px;color:var(--muted)}
.how summary{cursor:pointer;font-weight:600;color:var(--ink);padding:6px 0}
.how p{margin-top:6px;line-height:1.7;max-width:60ch}
.res .btn.ghost{background:transparent;color:var(--panel-ink);border-color:var(--line-strong)}
.res .btn.ghost:hover{background:var(--panel-ink);color:var(--panel)}
.stickbar{background:var(--surface)}
/* properties */
.props{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}
.prop .ph{aspect-ratio:auto;flex:1;min-height:250px}
.prop:first-child .ph{min-height:320px}
.prop .ph img{transition:transform .6s}
.prop:hover .ph img{transform:scale(1.04)}
.prop{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.prop .ph{aspect-ratio:4/3;overflow:hidden;background:var(--art-1)}
.prop .ph svg{display:block;width:100%;height:100%;transition:transform .6s}
.prop:hover .ph svg{transform:scale(1.04)}
.prop .pb{padding:24px 24px 26px;display:flex;flex-direction:column;gap:6px;flex:none}
.prop h3{font-size:30px;margin-top:4px}
.meta{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.prop .from{margin-top:12px;font-size:14px;color:var(--muted)}
.prop .from b{font:400 28px var(--f-display);color:var(--ink);margin-right:4px}
.prop .btn{margin-top:16px}
.tag{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.star{color:var(--gold-text)}

/* around */
.around{margin-top:72px}
.around-t{font-size:clamp(28px,3vw,40px);margin-top:10px}
.around-t em{font-style:italic;color:var(--gold-text)}
.around-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}
.around figure{margin:0;background:var(--surface);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.around img{display:block;width:100%;height:360px;object-fit:cover;transition:transform .6s}
.around .ph-wrap{overflow:hidden}
.around figure:hover img{transform:scale(1.03)}
.around figcaption{padding:16px 20px 18px;display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--muted);line-height:1.55}
.around figcaption b{font:400 24px var(--f-display);color:var(--ink)}
.acts-wrap{margin-top:40px}
.acts-h{font:400 26px var(--f-display);margin-bottom:16px}
.acts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.acts li{padding:20px 24px 22px 0;border-bottom:1px solid var(--line);min-width:0}
.act-tag{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sage)}
.acts h4{font:400 22px/1.25 var(--f-display);margin:8px 0 6px}
.acts p{font-size:14px;color:var(--muted);line-height:1.6}
@media (max-width:1020px){.around-grid{grid-template-columns:1fr}.around img{height:auto;aspect-ratio:3/2}.acts{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.acts{grid-template-columns:1fr}}
/* method */
.steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative;counter-reset:s}
.steps:before{content:"";position:absolute;left:0;right:0;top:27px;border-top:1px solid var(--line-strong)}
.step{padding:0 28px 0 0;position:relative}
.step .n{width:54px;height:54px;border:1px solid var(--line-strong);border-radius:50%;background:var(--bg);display:grid;place-items:center;font:400 24px var(--f-display);color:var(--gold-text);position:relative}
.step h3{font-size:30px;margin:22px 0 8px}
.step p{font-size:14.5px;color:var(--muted);line-height:1.65}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.about h3.big{font-size:clamp(32px,3.4vw,44px);line-height:1.08;margin:14px 0 22px}
.about p{color:var(--muted);line-height:1.8}
.net{background:var(--surface);border:1px solid var(--line);padding:36px}
.net h3{margin:12px 0 16px}
.net p+p{margin-top:14px}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:64px;border-top:1px solid var(--line)}
.why div{padding:28px 28px 0 0}
.why h4{font:400 26px var(--f-display);margin-bottom:6px}
.why p{font-size:14.5px;color:var(--muted);line-height:1.65}

/* reviews placeholder */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rev{border:1px dashed var(--line-strong);padding:28px;display:flex;flex-direction:column;gap:14px;min-height:190px}
.rev q{quotes:none;font:400 24px/1.3 var(--f-display);color:var(--muted)}
.rev small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:auto}
.stamp{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--gold-text);color:var(--gold-text);padding:4px 9px;width:max-content}

/* faq */
.faq{max-width:860px;margin-inline:auto;border-top:1px solid var(--line-strong)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 4px;font:400 26px/1.2 var(--f-display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font:300 32px/1 var(--f-body);color:var(--gold-text);transition:transform .2s;flex:none}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 4px 26px;color:var(--muted);max-width:68ch;line-height:1.75}

/* owner form */
.owner{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.owner-side{position:sticky;top:110px}
.owner-side h2{margin:14px 0 22px}
.owner-side p{color:var(--muted);line-height:1.75}
.owner-side p+p{margin-top:14px}
.owner-side .badge{margin-top:34px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.form{background:var(--surface);border:1px solid var(--line);padding:38px;color:var(--ink)}
.form h3{font-size:34px;margin:8px 0 22px}
.stepper{display:flex;gap:0;margin-bottom:30px;border-bottom:1px solid var(--line)}
.stepper li{list-style:none;flex:1;padding:0 0 14px;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);position:relative;display:flex;align-items:center;gap:10px}
.stepper ol{display:contents}
.stepper b{width:26px;height:26px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;font:400 15px var(--f-display);letter-spacing:0}
.stepper li.on{color:var(--ink)}
.stepper li.on b{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.stepper li.done b{background:var(--gold-text);color:var(--surface);border-color:var(--gold-text)}
.stepper li.on:after{content:"";position:absolute;left:0;right:12px;bottom:-1px;border-bottom:2px solid var(--gold-text)}
.fstep[hidden]{display:none!important}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}
.fields .full{grid-column:1/-1}
.field label,.field .lab{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.field.invalid .inp,.field.invalid .sel{border-color:var(--err);border-width:2px}
.err{display:none;margin-top:6px;font-size:12.5px;color:var(--err);font-weight:500}
.field.invalid .err{display:block}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;margin:0;text-transform:none;letter-spacing:0;font-weight:500;font-size:13.5px}
.chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chips span{display:block;padding:9px 14px;border:1px solid var(--line-strong);transition:background .15s,color .15s}
.chips input:checked + span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chips input:focus-visible + span{outline:2px solid var(--focus);outline-offset:2px}
.fnav{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);align-items:center;flex-wrap:wrap}
.estnote{margin-top:22px;padding:14px 16px;border:1px solid var(--gold);background:var(--surface-2);font-size:13.5px;line-height:1.6}
.success h3{font-size:40px;margin:10px 0 14px}
.recap{margin:24px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;font-size:14.5px}
.recap dt,.recap dd{margin:0;padding:11px 0;border-bottom:1px solid var(--line)}
.recap dt{color:var(--muted);padding-right:28px}
.demo-note{font-size:12.5px;line-height:1.65;color:var(--muted);padding:12px 14px;border:1px dashed var(--line-strong)}

/* footer */
footer{background:var(--panel);color:var(--panel-ink);padding-block:64px 40px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
footer p,footer a{color:var(--panel-muted);font-size:14px;line-height:1.9;text-decoration:none}
footer a:hover{color:var(--panel-ink)}
footer strong{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--panel-ink);display:block;margin-bottom:10px}
footer .brand{color:var(--panel-ink);margin-bottom:14px}
.copy{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.copy button{border:1px solid rgba(244,240,232,.5);background:transparent;color:var(--panel-ink);padding:4px 10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.copy button:hover{background:var(--panel-ink);color:var(--panel)}
.fbase{margin-top:48px;padding-top:22px;border-top:1px solid rgba(244,240,232,.18);font-size:12.5px;color:var(--panel-muted);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* helper (floating contact) */
.helper{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:35;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.helper-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);cursor:pointer;font:600 12px var(--f-body);letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow)}
.helper-panel{width:min(320px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line-strong);padding:20px;box-shadow:var(--shadow)}
.helper-panel h4{font:400 26px var(--f-display);margin-bottom:6px}
.helper-panel p{font-size:13.5px;color:var(--muted);line-height:1.6}
.helper-panel .em{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0;font-weight:600;font-size:14px}
.helper-panel .em button{border:1px solid var(--line-strong);background:transparent;padding:4px 10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}

/* modal / drawer */
.overlay{position:fixed;inset:0;z-index:60;background:rgba(14,15,13,.62);display:flex;align-items:flex-start;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));overflow-y:auto}
.overlay[hidden]{display:none!important}
.drawer{background:var(--bg);width:min(1120px,100%);margin:auto;position:relative;border:1px solid var(--line)}
.drawer .x{position:absolute;right:12px;top:12px;z-index:3;width:44px;height:44px;border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;font-size:22px;line-height:1}
.dgrid{display:grid;grid-template-columns:1.05fr .95fr}
.dleft .ph{aspect-ratio:16/10;overflow:hidden;background:var(--art-1)}
.dleft .ph svg{display:block;width:100%;height:100%}
.dinfo{padding:32px 36px 40px}
.dinfo h2{font-size:44px;margin:8px 0 10px}
.dinfo p.d{color:var(--muted);line-height:1.75;margin:14px 0 20px}
.amen{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.amen li{border:1px solid var(--line-strong);padding:6px 12px;font-size:13px}
.book{padding:36px;background:var(--surface);border-left:1px solid var(--line)}
.book h3{font-size:30px;margin-bottom:6px}
.cal{margin:18px 0}
.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cal-nav button{width:40px;height:40px;border:1px solid var(--line-strong);background:transparent;cursor:pointer;font-size:18px}
.cal-nav button[disabled]{opacity:.35;cursor:not-allowed}
.months{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.month h5{margin:0 0 8px;font:400 22px var(--f-display);text-align:center;text-transform:capitalize}
.grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.grid7 .dow{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0}
.day{aspect-ratio:1;min-height:34px;border:0;background:transparent;cursor:pointer;font-size:13.5px;font-variant-numeric:tabular-nums;position:relative}
.day:hover:not([disabled]){outline:1px solid var(--ink)}
.day[disabled]{cursor:not-allowed;color:var(--muted);opacity:.55}
.day.bk{text-decoration:line-through}
.day.rng{background:var(--surface-2)}
.day.sel{background:var(--ink);color:var(--bg)}
.day.empty{visibility:hidden}
.stay{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--line);padding:12px 14px;font-size:14px;margin-bottom:16px}
.stay b{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.guests{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);padding:10px 14px;margin-bottom:16px}
.guests .ctr{display:flex;align-items:center;gap:14px}
.guests button{width:36px;height:36px;border:1px solid var(--line-strong);background:transparent;cursor:pointer;font-size:18px}
.guests button[disabled]{opacity:.35;cursor:not-allowed}
.guests output{min-width:20px;text-align:center;font:400 24px var(--f-display)}
.bk-lines{margin:0 0 18px;padding:0;list-style:none;font-size:14.5px}
.bk-lines li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.bk-lines li.t{font-weight:600;font-size:17px;border-bottom:0;padding-top:14px}
.bk-lines li.t span:last-child{font:400 30px/1 var(--f-display)}
.msg{font-size:13.5px;min-height:20px;margin:0 0 12px;color:var(--muted)}
.msg.bad{color:var(--err);font-weight:500}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:12px 20px;font-size:13.5px;z-index:80;box-shadow:var(--shadow);max-width:calc(100vw - 32px)}
.toast[hidden]{display:none!important}

/* hero windows follow the simulator's occupancy */
#heroArt rect[data-w]{transition:fill .7s ease}
/* gallery */
.gal{position:relative}
.gcap{font-size:12.5px;color:var(--muted);padding:10px 36px 0;display:flex;justify-content:space-between;gap:12px;margin:0}
.gcap span{font-variant-numeric:tabular-nums}
.dleft .ph img{object-position:center}
.thumbs{display:flex;gap:6px;padding:8px 36px 0;flex-wrap:wrap}
.thumbs button{width:64px;height:48px;padding:0;border:1px solid var(--line-strong);background:var(--art-1);cursor:pointer;overflow:hidden}
.thumbs button[aria-pressed="true"]{outline:2px solid var(--ink);outline-offset:1px}
.thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
/* reviews */
.rev.real{border-style:solid;background:var(--surface)}
.rev.real q{color:var(--ink)}
/* consent + links */
.linkbtn{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.consent{position:fixed;z-index:50;left:calc(16px + env(safe-area-inset-left,0px));right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));margin-inline:auto;max-width:760px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow);padding:18px 20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.consent p{flex:1 1 360px;font-size:13.5px;line-height:1.6;color:var(--muted)}
.consent p b{color:var(--ink)}
.consent-acts{display:flex;gap:10px}
.consent[hidden]{display:none!important}
/* study request */
.study-est{border:1px solid var(--gold);background:var(--surface-2);padding:14px 16px;margin:16px 0 22px;font-size:14px;line-height:1.6}
.study-est b{font:400 26px var(--f-display);display:block}
/* art */
.a1{fill:var(--art-1)}.a2{fill:var(--art-2)}.a3{fill:var(--art-3)}.a4{fill:var(--art-4)}.a5{fill:var(--art-5)}
.s3{stroke:var(--art-3);fill:none}.s4{stroke:var(--art-4);fill:none}

/* responsive */
@media (max-width:1020px){
  .hero{grid-template-columns:1fr;gap:48px;padding-block:36px 56px}
  .hero-art{justify-self:center}
  .hero-card{left:8px}
  .figures{grid-template-columns:1fr 1fr}
  .fig:nth-child(2){border-right:0}
  .fig:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .offers,.props,.reviews{grid-template-columns:1fr}
  .launch,.sim,.about,.owner,.dgrid,.example{grid-template-columns:1fr;gap:32px}
  .prop .ph,.prop:first-child .ph{aspect-ratio:4/3;flex:none;min-height:0}
  .stickbar{position:sticky;bottom:0;margin:0 -20px;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
  .owner-side{position:static}
  .steps{grid-template-columns:1fr 1fr;row-gap:40px}
  .steps:before{display:none}
  .why{grid-template-columns:1fr}
  .sec-head{flex-direction:column;align-items:flex-start;gap:18px}
  .book{border-left:0;border-top:1px solid var(--line)}
  .fgrid{grid-template-columns:1fr;gap:32px}
  section{padding-block:76px}
}
@media (max-width:900px){
  .burger{display:flex}
  .menu{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px));display:none}
  .menu.open{display:flex}
  .menu a.nl{padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}
  .menu .lang{align-self:flex-start;margin:16px 0}
  .menu .btn{margin-top:4px}
}
@media (max-width:620px){
  body{font-size:15.5px}
  section{padding-block:56px}
  .brand img{height:42px}
  .figures{grid-template-columns:1fr}
  .fig{border-right:0;border-bottom:1px solid var(--line)}
  .fig:last-child{border-bottom:0}
  .steps{grid-template-columns:1fr}
  .months{grid-template-columns:1fr}
  .month+.month{display:none}
  .fields,.row2{grid-template-columns:1fr}
  .form{padding:24px 20px}
  .res{padding:24px 20px}
  .dinfo,.book{padding:24px 20px}
  .stepper li span{display:none}
  .seg span{font-size:12px}
  .hero-card{position:relative;left:0;bottom:0;margin:-60px 0 0 12px}
  .hero-art{aspect-ratio:auto}
  .hero-art .arch{position:relative;aspect-ratio:4/5}
  .helper-btn span.lbl{display:none}
  .helper-btn{padding:14px}
  .example dl{grid-template-columns:1fr}
  .example{padding:24px 20px}
  .res dl{grid-template-columns:1fr}
  .res dl div:nth-child(odd){border-right:0;padding-right:0}
  .res dl div:nth-child(even){padding-left:0}
  .price-row{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}

.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
