*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
:root{
  --bg:#FFFFFF;--soft:#F1F0ED;--surface:#FFFFFF;--ink:#141414;--muted:#5E5A55;--line:#D9D6D0;
  --gold:#B39B7D;--gold-ink:#8A7152;
  --band:#171513;--on-band:#F4F1EC;--band-muted:#B9B2A8;--band-line:#3A3632;
  --wa:#178A4C;--wa-hover:#127140;--danger:#B3372B;
  --ph1:#E7E4DF;--ph2:#DCD8D1;--ph-ink:#8A847B;
  --shadow:0 18px 50px rgba(0,0,0,.10);
  --f-display:"Gilda Display","Didot","Bodoni 72",Georgia,serif;
  --f-body:"Jost","Futura","Century Gothic",system-ui,sans-serif;
  color-scheme:light;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#121110;--soft:#1B1A18;--surface:#1F1D1B;--ink:#EEEAE4;--muted:#A8A29A;--line:#34312D;
  --gold:#C8AF8E;--gold-ink:#C8AF8E;--band:#0B0A09;--on-band:#F4F1EC;--band-muted:#A8A29A;--band-line:#34312D;
  --wa:#1B8F50;--wa-hover:#22A55E;--danger:#E0685C;--ph1:#24221F;--ph2:#2D2A27;--ph-ink:#8F887E;
  --shadow:0 18px 50px rgba(0,0,0,.45);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#121110;--soft:#1B1A18;--surface:#1F1D1B;--ink:#EEEAE4;--muted:#A8A29A;--line:#34312D;
  --gold:#C8AF8E;--gold-ink:#C8AF8E;--band:#0B0A09;--on-band:#F4F1EC;--band-muted:#A8A29A;--band-line:#34312D;
  --wa:#1B8F50;--wa-hover:#22A55E;--danger:#E0685C;--ph1:#24221F;--ph2:#2D2A27;--ph-ink:#8F887E;
  --shadow:0 18px 50px rgba(0,0,0,.45);color-scheme:dark}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.7 var(--f-body);letter-spacing:.01em;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.08;margin:0;text-transform:uppercase;text-wrap:balance;letter-spacing:.01em}
h2{font-size:clamp(34px,5vw,58px)}
.label{display:flex;align-items:center;gap:18px;margin:0 0 18px;font-size:13px;font-weight:500;letter-spacing:.5em;text-transform:uppercase;color:var(--muted)}
.label::before{content:"";width:56px;height:1px;background:var(--line)}
.label.c{justify-content:center}.label.c::before{display:none}
.kicker{margin:0;font-size:13px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink)}
.rule{width:52px;height:3px;background:var(--gold);margin:18px auto 20px;border:0}
.center{text-align:center}
.num{font-variant-numeric:tabular-nums}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid var(--ink);border-radius:0;padding:15px 30px;font-weight:500;font-size:13.5px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;background:transparent;color:var(--ink);transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn svg{width:18px;height:18px;flex:none}
.btn-wa{background:var(--wa);border-color:var(--wa);color:#fff}.btn-wa:hover{background:var(--wa-hover);border-color:var(--wa-hover);color:#fff}
.btn-dark{background:var(--ink);color:var(--bg)}.btn-dark:hover{background:transparent;color:var(--ink)}
.btn-light{border-color:var(--on-band);color:var(--on-band)}.btn-light:hover{background:var(--on-band);color:var(--band)}
.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover,.btn-danger.armed{background:var(--danger);color:#fff}
.btn.sm{padding:10px 18px;font-size:12px}
.btn.block{width:100%}
.ulink{display:inline-block;padding:0 0 10px;border-bottom:2px solid currentColor;text-decoration:none;font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}

/* admin bar */
.adminbar{background:var(--gold);color:#1a140c;font-size:14px}
.adminbar-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding-block:9px}
.adminbar-in .grow{flex:1 1 220px}
.adminbar button{background:#1a140c;color:#fff;border:0;padding:8px 14px;font-weight:500;cursor:pointer;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:24px;padding-block:18px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand b{font-family:var(--f-display);font-weight:400;font-size:21px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand small{font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;gap:30px;margin-left:auto;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.nav a{text-decoration:none;padding-block:4px;border-bottom:1px solid transparent}.nav a:hover{border-color:var(--ink)}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:7px;padding:8px}
.burger span{display:block;height:1.5px;background:var(--ink)}
.menu{border-top:1px solid var(--line);padding-block:8px 18px}
.menu a{display:block;padding:12px 0;text-decoration:none;font-size:14px;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--line)}
@media (max-width:900px){.nav,.top .btn{display:none}.burger{display:flex}}

/* hero */
.hero{position:relative;background:var(--band);color:var(--on-band);overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:60% 55%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,11,.82) 0%,rgba(15,13,11,.55) 42%,rgba(15,13,11,.12) 75%,rgba(15,13,11,.05) 100%)}
.hero-in{position:relative;padding-block:150px 170px;max-width:1200px}
.hero h1{font-size:clamp(46px,8.4vw,112px);line-height:.98;max-width:9.5em}
.hero .line{display:block;width:min(260px,40vw);height:1px;background:rgba(255,255,255,.55);margin:34px 0 26px calc(-1 * max(24px,(100vw - 1200px)/2 + 24px));width:calc(max(24px,(100vw - 1200px)/2 + 24px) + 150px)}
.hero .tag{font-size:13.5px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#E3DBCF;margin:0}
.hero .tag2{font-size:13px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:#C9BFB1;margin:10px 0 0}
.segchips{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.segchips a{display:block;border:1px solid rgba(255,255,255,.4);color:#fff;text-decoration:none;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:7px 13px}
.segchips a:hover{background:#fff;color:#141414}
.segs{padding-block:100px 20px}
.seg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;margin-top:44px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.seg-card{display:flex;flex-direction:column;gap:10px;padding:28px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s}
.seg-card:hover{background:var(--soft)}
.seg-card b{font-family:var(--f-display);font-weight:400;font-size:24px;text-transform:uppercase;letter-spacing:.03em}
.seg-card span{color:var(--muted);font-size:15px;flex:1}
.seg-card em{font-style:normal;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink)}
.segs .br{margin:26px 0 0;color:var(--muted);font-size:15px}
.hero .say{max-width:44ch;color:#D6CEC3;font-weight:300;font-size:18px;margin:22px 0 0}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px 56px;margin-top:44px}
.hero .ulink{color:#fff}
@media (max-width:760px){
  .hero-bg::after{background:linear-gradient(180deg,rgba(15,13,11,.45),rgba(15,13,11,.8))}
  .hero-in{padding-block:90px 120px}
}

.finder{position:relative;z-index:2;margin-top:-58px;background:var(--surface);box-shadow:var(--shadow);padding:18px;display:grid;grid-template-columns:auto 1fr 1.3fr auto;gap:14px;align-items:end;border:1px solid var(--line)}
.tabs{display:flex;gap:22px;align-self:center;padding-inline:6px}
.tabs button{border:0;background:transparent;padding:6px 0;border-bottom:2px solid transparent;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);cursor:pointer}
.tabs button[aria-pressed="true"]{color:var(--ink);border-color:var(--gold)}
.fld{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);min-width:0}
.fld input,.fld select,.fld textarea{text-transform:none;letter-spacing:.01em;font-size:15.5px;font-weight:400;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:0;padding:12px 13px;width:100%;min-width:0}
.fld textarea{resize:vertical;min-height:110px;line-height:1.55}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:1.5px solid var(--ink);outline-offset:0}
@media (max-width:900px){.finder{grid-template-columns:1fr 1fr}.finder .tabs,.finder .btn{grid-column:1/-1}}
@media (max-width:520px){.finder{grid-template-columns:1fr;margin-top:-40px}}

/* meet */
.meet{padding-block:110px 100px}
.meet-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.meet-photo{position:relative;margin:0 0 0 22px;padding:20px 0 0}
.meet-photo::before{content:"";position:absolute;top:0;left:-22px;right:22px;bottom:22px;background:var(--soft);border:1px solid var(--line)}
.meet-photo::after{content:"";position:absolute;top:0;right:-22px;width:60%;height:30%;background:var(--line);z-index:0;opacity:.6}
.meet-photo img{position:relative;z-index:1;width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:50% 18%}
.meet h2{font-size:clamp(36px,4.8vw,62px)}
.bio{color:var(--muted);max-width:60ch;white-space:pre-line;margin:26px 0 34px;font-size:17px}
.meet-cta{display:flex;flex-wrap:wrap;gap:14px}
.facts{list-style:none;margin:40px 0 0;padding:26px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:18px 48px}
.facts li{display:flex;flex-direction:column}
.facts b{font-family:var(--f-display);font-weight:400;font-size:40px;line-height:1}
.facts span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:8px}
@media (max-width:900px){.meet-grid{grid-template-columns:1fr;gap:56px}.meet{padding-block:80px}}

/* portfolio */
.portfolio{background:var(--soft);padding-block:96px 100px}
.pf-tools{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 26px;margin:26px 0 12px}
.pf-tools .tabs{gap:26px}
.pf-tools select{border:0;border-bottom:1px solid var(--line);background:transparent;padding:6px 4px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;border-radius:0;max-width:100%}
.beds{display:flex;gap:4px;align-items:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.beds button{border:1px solid var(--line);background:var(--surface);min-width:38px;padding:6px 8px;font-size:13px;cursor:pointer}
.beds button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.count{text-align:center;color:var(--muted);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 34px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:34px}
@media (max-width:380px){.grid{grid-template-columns:1fr}}
.card{background:var(--surface);display:flex;flex-direction:column;cursor:pointer;height:100%;transition:box-shadow .3s}
.card:hover{box-shadow:var(--shadow)}
.card .media{position:relative;aspect-ratio:16/10.5;overflow:hidden;background:var(--ph1)}
.card .media img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.card:hover .media img{transform:scale(1.05)}
.tagbox{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:flex-end}
.tagbox span{background:var(--surface);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:9px 18px}
.tagbox span.g{background:var(--gold);color:#1a140c}
.tagbox span.ex{background:#FFF3C4;color:#5B4600}
.tagbox span.int{background:#E9E6E0;color:#3d372f;border:1px dashed #3d372f}
.nphotos{position:absolute;left:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:12px;letter-spacing:.1em;padding:5px 11px}
.dim{position:absolute;inset:0;background:rgba(15,13,11,.35)}
.card .body{padding:26px 22px 28px;text-align:center;display:flex;flex-direction:column;gap:8px;flex:1}
.card .ttl{font-family:var(--f-display);font-size:23px;line-height:1.2}
.card .addr{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0}
.card .sp{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.card .price{font-size:17px;font-weight:600;letter-spacing:.06em;margin-top:4px}
.card .price small{font-weight:400;color:var(--muted)}
.card-admin{display:flex;border-top:1px solid var(--line)}
.card-admin button{flex:1;border:0;background:transparent;padding:12px;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.card-admin button+button{border-left:1px solid var(--line)}
.ph{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:10px;color:var(--ph-ink);background:repeating-linear-gradient(135deg,var(--ph1) 0 18px,var(--ph2) 18px 19px);font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase}
.ph svg{width:58px;height:58px}
.empty{grid-column:1/-1;background:var(--surface);padding:48px 24px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:16px}
.empty p{margin:0;max-width:50ch}
.pf-more{display:flex;justify-content:center;margin-top:48px}

/* process */
.process{padding-block:100px}
.steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;border-top:1px solid var(--line)}
.steps li{padding:30px 26px 10px 0;counter-increment:s}
.steps li+li{padding-left:26px;border-left:1px solid var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--f-display);font-size:40px;line-height:1;color:var(--gold-ink);margin-bottom:18px}
.steps b{display:block;font-weight:500;font-size:14px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.steps span{color:var(--muted);font-size:15.5px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(3){padding-left:0;border-left:0}.steps li{border-bottom:1px solid var(--line);padding-bottom:26px}}
@media (max-width:520px){.steps{grid-template-columns:1fr}.steps li,.steps li+li{padding-left:0;border-left:0}}

/* testimonials */
.testi{background:var(--soft);padding-block:96px 100px}
.testi p.intro{max-width:56ch;margin:0 auto;color:var(--muted)}
.t-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(100%,560px);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:44px 2px 8px;scrollbar-width:none;justify-content:safe center}
.t-track::-webkit-scrollbar{display:none}
.t-card{scroll-snap-align:center;background:var(--surface);border:1px solid var(--line);padding:44px 38px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;background-image:repeating-linear-gradient(45deg,transparent 0 46px,var(--soft) 46px 47px),repeating-linear-gradient(-45deg,transparent 0 46px,var(--soft) 46px 47px)}
.t-ini{width:96px;height:96px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-family:var(--f-display);font-size:34px}
.t-name{font-family:var(--f-display);font-size:20px;letter-spacing:.06em;text-transform:uppercase}
.t-text{color:var(--muted);margin:0;max-width:46ch}
.t-nav{display:flex;justify-content:center;gap:18px;margin-top:26px}
.t-nav button{width:40px;height:40px;border:1.5px solid var(--ink);background:transparent;cursor:pointer;font-size:18px}
.admin-hint{border:1px dashed var(--gold);padding:18px;text-align:center;color:var(--muted);margin-top:30px;font-size:15px}

/* band */
.band{position:relative;background:var(--band);color:var(--on-band);padding-block:110px}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%,rgba(179,155,125,.18),transparent 60%)}
.band .wrap{position:relative}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.band h2{color:var(--on-band)}
.band .kicker{color:var(--gold)}
.band p{color:var(--band-muted)}
.ticks{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:18px}
.ticks li{border-left:2px solid var(--gold);padding-left:18px}
.ticks b{display:block;font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:13.5px}
.ticks span{color:var(--band-muted);font-size:15px}
.panel{border:1px solid var(--band-line);padding:28px;background:rgba(255,255,255,.03)}
.panel .tabs{margin-bottom:22px;padding:0}
.panel .tabs button{color:var(--band-muted)}
.panel .tabs button[aria-pressed="true"]{color:var(--on-band);border-color:var(--gold)}
.panel .fld{color:var(--band-muted)}
.panel .fld input,.panel .fld select{background:transparent;border-color:var(--band-line);color:var(--on-band)}
.panel .fld input:focus,.panel .fld select:focus{outline-color:var(--gold)}
.panel .fld select option{color:#141414;background:#fff}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .full{grid-column:1/-1}
.hint{font-size:13px;margin:14px 0 0}
@media (max-width:900px){.band-grid{grid-template-columns:1fr;gap:44px}}
@media (max-width:480px){.form-grid{grid-template-columns:1fr}}

/* contact */
.contact{padding-block:100px}
.contact .big{font-family:var(--f-display);font-size:clamp(30px,5vw,54px);margin:26px 0 6px;letter-spacing:.02em}
.clist{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin:14px 0 34px;color:var(--muted)}
.citem{display:flex;align-items:center;gap:10px}
.citem .v{user-select:all;word-break:break-all;color:var(--ink)}
.copy{border:1px solid var(--line);background:transparent;padding:4px 10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}

footer{background:var(--band);color:var(--band-muted);padding-block:34px 100px;font-size:13px;letter-spacing:.04em}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px}
.foot b{font-family:var(--f-display);font-weight:400;color:var(--on-band);letter-spacing:.1em;text-transform:uppercase;font-size:15px}

.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.28);text-decoration:none}
.fab svg{width:30px;height:30px}
.fab:hover{background:var(--wa-hover)}

/* modal */
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px}
.modal-back{position:absolute;inset:0;background:rgba(10,9,8,.7)}
.modal-card{position:relative;background:var(--surface);width:min(1120px,100%);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.modal-card.narrow{width:min(780px,100%)}
.x{position:sticky;top:10px;float:right;margin:10px 10px 0 0;z-index:3;width:42px;height:42px;border:1px solid var(--line);background:var(--surface);font-size:22px;line-height:1;cursor:pointer}
.det{display:grid;grid-template-columns:1.3fr 1fr;clear:both}
.gal{background:#0E0D0C;position:relative;min-width:0}
.gal-main{position:relative;aspect-ratio:4/3;display:grid;place-items:center}
.gal-main img{width:100%;height:100%;object-fit:contain}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;background:rgba(255,255,255,.92);color:#141414;font-size:22px;cursor:pointer;display:grid;place-items:center}
.gal-nav.prev{left:0}.gal-nav.next{right:0}
.gal-count{position:absolute;bottom:0;left:0;background:rgba(0,0,0,.6);color:#fff;font-size:12px;letter-spacing:.1em;padding:5px 11px}
.thumbs{display:flex;gap:6px;padding:8px;overflow-x:auto}
.thumbs button{flex:none;width:80px;height:58px;border:2px solid transparent;padding:0;overflow:hidden;cursor:pointer;background:none;opacity:.6}
.thumbs button[aria-current="true"]{border-color:var(--gold);opacity:1}
.thumbs img{width:100%;height:100%;object-fit:cover}
.det-body{padding:34px 32px 34px;display:flex;flex-direction:column;gap:16px;min-width:0}
.det-body .tagbox{position:static;flex-direction:row;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-start}
.det-body .tagbox span{border:1px solid var(--line);padding:6px 11px;font-size:11px}
.code{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}
.det-body h3{font-size:clamp(26px,3vw,36px)}
.addr2{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0}
.pricebox{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.pricebox b{font-size:28px;font-weight:500;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.pricebox b small{font-size:15px;font-weight:400;color:var(--muted)}
.pricebox div{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.specs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.specs li{display:flex;flex-direction:column;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.specs li b{font-family:var(--f-display);font-weight:400;font-size:26px;letter-spacing:0;color:var(--ink);line-height:1.1}
.desc{white-space:pre-line;color:var(--muted);margin:0}
.hl{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.hl li{border:1px solid var(--gold);color:var(--gold-ink);padding:5px 12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.det-cta{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.share{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink)}
@media (max-width:860px){.det{grid-template-columns:1fr}.det-body{padding:24px 20px 28px}.modal{padding:0;place-items:end center}.modal-card{max-height:94dvh}}

/* editor */
.ed{padding:28px 30px 0;clear:both}
.ed h3{font-size:30px;margin-bottom:6px}
.ed .sub{color:var(--muted);margin:0 0 18px;font-size:15px}
.ed fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:20px 0 24px}
.ed legend{font-size:12.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;padding:0 12px 0 0;color:var(--gold-ink)}
.g{display:grid;gap:14px;grid-template-columns:repeat(6,1fr)}
.g .c2{grid-column:span 2}.g .c3{grid-column:span 3}.g .c4{grid-column:span 4}.g .c6{grid-column:1/-1}.g .c1{grid-column:span 1}
@media (max-width:640px){.g{grid-template-columns:1fr 1fr}.g .c2,.g .c3,.g .c4,.g .c6{grid-column:1/-1}.g .c1{grid-column:span 1}}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;cursor:pointer}
.check input{width:18px;height:18px;margin-top:3px;accent-color:var(--ink)}
.drop{border:1.5px dashed var(--line);padding:24px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer}
.drop.over{border-color:var(--ink);background:var(--soft)}
.drop b{color:var(--ink);font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:13.5px}
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:14px}
.pitem{position:relative;border:1px solid var(--line);background:var(--soft)}
.pitem img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pitem .cover{position:absolute;top:0;left:0;background:var(--gold);color:#1a140c;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;font-weight:600}
.pact{display:flex;gap:2px;padding:4px}
.pact button{flex:1;border:0;background:var(--bg);padding:6px 0;font-size:12px;cursor:pointer}
.ed-foot{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:14px 0 16px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ed-foot .sp{flex:1}
.err{color:var(--danger);font-size:14px;font-weight:500;margin:0}
.busy{position:fixed;inset:0;z-index:90;background:rgba(10,9,8,.75);display:grid;place-items:center;color:#fff;font-size:15px;letter-spacing:.16em;text-transform:uppercase;text-align:center;padding:20px}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:95;background:var(--ink);color:var(--bg);padding:13px 20px;font-size:14.5px;box-shadow:var(--shadow);max-width:calc(100% - 32px)}

/* ---------- leads (site) ---------- */
.lead-ok{border:1px solid var(--gold);padding:22px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.lead-ok b{font-family:var(--f-display);font-weight:400;font-size:24px;text-transform:uppercase;color:var(--on-band)}
.lead-ok p{margin:0}
.hint a{color:var(--gold)}
.panel textarea:focus{outline:1.5px solid var(--gold)}
footer a{color:inherit}
.btn:disabled{opacity:.6;cursor:wait}

/* ---------- painel da corretora ---------- */
.muted{color:var(--muted)}
.login{max-width:420px;margin:12vh auto 60px;padding-inline:24px;display:flex;flex-direction:column;gap:14px}
.login h1{font-size:40px}
.login-f{display:flex;flex-direction:column;gap:14px;margin-top:10px}
.login-alt{font-size:14px;color:var(--muted)}
.adm-top{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
.adm-top-in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;padding-block:14px}
.adm-tabs{display:flex;flex-wrap:wrap;gap:4px;flex:1}
.adm-tabs button{border:0;background:transparent;padding:10px 14px;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}
.adm-tabs button[aria-pressed="true"]{color:var(--ink);border-color:var(--gold)}
.dot{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:var(--danger);color:#fff;font-size:11px;letter-spacing:0;padding:0 5px;margin-left:4px}
.adm-acts{display:flex;flex-wrap:wrap;gap:8px}
.adm-main{padding-block:36px 90px}
.adm-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px}
.adm-head h2{font-size:clamp(30px,4vw,44px)}
.adm-head p{margin:8px 0 0}
.adm-list{display:grid;gap:12px}
.adm-row{display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);padding:12px}
.lead-row{grid-template-columns:1fr auto}
.adm-thumb{width:120px;aspect-ratio:4/3;background:var(--soft);display:grid;place-items:center;font-size:12px;color:var(--muted);overflow:hidden}
.adm-thumb img{width:100%;height:100%;object-fit:cover}
.adm-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.adm-info b{font-weight:500;font-size:17px}
.adm-info a{color:var(--gold-ink)}
.adm-ctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.adm-ctl select{border:1px solid var(--line);background:var(--bg);padding:9px 10px;font-size:14px}
.lead-dl{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin:8px 0 0;font-size:14.5px}
.lead-dl dt{color:var(--muted)}
.lead-dl dd{margin:0;white-space:pre-line}
.ed.flat{padding:0;background:var(--surface);border:1px solid var(--line);padding:6px 26px 0}
.imgpick{display:flex;gap:14px;align-items:center;text-transform:none;letter-spacing:0}
.imgpick img{width:72px;height:72px;object-fit:cover;object-position:50% 20%;background:var(--soft)}
.imgpick img.wide{width:128px}
@media (max-width:700px){.adm-row{grid-template-columns:84px 1fr}.adm-thumb{width:84px}.adm-row .adm-ctl{grid-column:1/-1;justify-content:flex-start}.lead-row{grid-template-columns:1fr}}
