/* Base, layout and components for the modern theme. Source: new-design prototype (portal/admin/consult styles left out until those phases). */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--paper);color:var(--fg);font-family:var(--f);font-size:16px;line-height:1.75;direction:rtl}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--hero)}
a{color:inherit}
h1,h2,h3,h4{line-height:1.3;text-wrap:balance;margin:0}
p{margin:0}
.wrap{max-width:1180px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.num{font-variant-numeric:tabular-nums}
.ic{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
:focus-visible{outline:2.5px solid var(--brass);outline-offset:2px;border-radius:6px}

/* ---------- header ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--hero);color:var(--on-hero);border-bottom:1px solid rgba(255,255,255,.06)}
.top .wrap{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand-mark{width:40px;height:40px;border-radius:11px;background:linear-gradient(150deg,var(--brass),#C99A45);display:grid;place-items:center;color:#1C1405}
.brand-mark svg{width:24px;height:24px;stroke-width:2}
.brand b{display:block;font-size:17px;font-weight:800;line-height:1.1}
.brand small{display:block;font-size:11.5px;color:var(--on-hero-muted);font-weight:500;letter-spacing:.02em}
.nav{display:flex;gap:2px;margin-inline-start:auto;align-items:center}
.nav a{text-decoration:none;padding:8px 12px;border-radius:9px;font-size:15px;font-weight:500;color:var(--on-hero-muted);white-space:nowrap}
.nav a:hover{color:var(--on-hero);background:rgba(255,255,255,.06)}
.nav a.on{color:var(--on-hero);background:rgba(255,255,255,.1)}
.nav a.cta{background:var(--brass);color:#1C1405;font-weight:700;margin-inline-start:6px}
.nav a.cta:hover{background:#C99A45}
.nav a.admin-link{border:1px solid rgba(255,255,255,.18);color:var(--on-hero)}
.burger{display:none;margin-inline-start:auto;background:none;border:1px solid rgba(255,255,255,.2);color:var(--on-hero);border-radius:10px;width:42px;height:42px;cursor:pointer}
@media (max-width:1020px){
  .burger{display:grid;place-items:center}
  .nav{display:none;position:absolute;inset:68px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--hero);padding:10px max(16px,env(safe-area-inset-right,0px)) 18px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid rgba(255,255,255,.08)}
  .nav.open{display:flex}
  .nav a{padding:12px 14px}
  .nav a.cta{margin:6px 0 0}
}

/* ---------- buttons & inputs ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;font:inherit;font-weight:700;font-size:15px;padding:11px 18px;border-radius:11px;border:1px solid transparent;cursor:pointer;text-decoration:none;line-height:1.2;transition:background .15s,border-color .15s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-brass{background:var(--brass);color:#1C1405}
.btn-brass:hover{filter:brightness(1.07)}
.btn-brand{background:var(--brand);color:#fff}
:root[data-theme="dark"] .btn-brand{color:#06201C}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-brand{color:#06201C}}
.btn-brand:hover{filter:brightness(1.08)}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--fg)}
.btn-ghost:hover{background:var(--surface-2)}
.btn-ghost-light{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:var(--on-hero)}
.btn-ghost-light:hover{background:rgba(255,255,255,.12)}
.btn-danger{background:var(--bad-bg);color:var(--bad);border-color:transparent}
.btn-sm{padding:7px 12px;font-size:13.5px;border-radius:9px}
.btn[disabled]{opacity:.55;cursor:not-allowed}
label.fl,div.fl{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--fg);min-width:0}
label.fl .req,label.fl .rq{color:var(--bad);font-weight:800}
.inp,select.inp,textarea.inp{font:inherit;font-size:15px;font-weight:400;width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);min-width:0}
textarea.inp{min-height:92px;resize:vertical}
.inp:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}
.hint{font-size:12.5px;color:var(--muted);font-weight:400}
.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 16px}
.grid-form .full{grid-column:1/-1}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);padding:7px 12px;border-radius:999px;font-weight:500;font-size:14px;cursor:pointer}
.checks input{accent-color:var(--brand)}
.checks label:has(input:checked){border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,var(--surface))}
.seg{display:inline-flex;background:var(--surface-2);border-radius:11px;padding:4px;gap:4px;flex-wrap:wrap}
.seg button{font:inherit;font-size:14px;font-weight:700;border:0;background:transparent;color:var(--muted);padding:7px 14px;border-radius:8px;cursor:pointer}
.seg button.on{background:var(--surface);color:var(--fg);box-shadow:var(--shadow)}

.sec{padding-block:72px}
.sec-tight{padding-block:48px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--brass);letter-spacing:.04em}
.eyebrow::before{content:"";width:18px;height:2px;background:currentColor;border-radius:2px}
.h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;margin-top:8px}
.lead{color:var(--muted);font-size:17px;max-width:62ch;margin-top:10px}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:32px}

/* ---------- page banner (inner pages) ---------- */
.banner{background:var(--hero);color:var(--on-hero);position:relative;overflow:hidden}
.banner::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.07) 1px,transparent 1.4px);background-size:22px 22px;mask-image:linear-gradient(to left,#000,transparent 70%);pointer-events:none}
.banner .wrap{padding-block:48px 44px;position:relative;z-index:1}
.banner h1{font-size:clamp(28px,4vw,44px);font-weight:900}
.banner p{color:var(--on-hero-muted);font-size:17px;margin-top:10px;max-width:60ch}
.crumbs{font-size:13px;color:var(--on-hero-muted);margin-bottom:10px}

/* ---------- hero ---------- */
.hero{background:radial-gradient(1200px 500px at 85% -10%,var(--hero-2),transparent 60%),var(--hero);color:var(--on-hero);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.06) 1px,transparent 1.4px);background-size:22px 22px;pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-block:64px 56px}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:36px;padding-block:44px 40px}}
.hero h1{font-size:clamp(34px,5.2vw,60px);font-weight:900;letter-spacing:-.01em;line-height:1.18}
.hero h1 em{font-style:normal;color:var(--brass)}
:root .hero h1 em{color:#D8AE5E}
.hero .sub{color:var(--on-hero-muted);font-size:18px;margin-top:16px;max-width:52ch}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.finder{margin-top:30px;background:var(--surface);color:var(--fg);border-radius:16px;padding:10px;display:grid;grid-template-columns:auto 1fr 1fr auto;gap:8px;box-shadow:0 20px 50px -20px rgba(0,0,0,.5)}
.finder .inp{border-color:transparent;background:var(--surface-2)}
@media (max-width:640px){.finder{grid-template-columns:1fr 1fr}.finder .seg{grid-column:1/-1}.finder .btn{grid-column:1/-1}}
/* contract card */
.deed{background:linear-gradient(170deg,#FBF8F1,#F3ECDD);color:#2A2215;border-radius:18px;padding:22px 22px 18px;box-shadow:0 30px 60px -25px rgba(0,0,0,.6);position:relative;transform:rotate(-1.4deg);max-width:420px;justify-self:center;width:100%}
.deed::before{content:"";position:absolute;inset:8px;border:1.5px dashed rgba(156,111,34,.35);border-radius:12px;pointer-events:none}
.deed-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.deed-top b{font-size:19px;font-weight:900;display:block}
.deed-top small{font-size:12px;color:#7A6A4E}
.seal{width:78px;height:78px;border-radius:50%;border:2.5px solid #9C6F22;color:#9C6F22;display:grid;place-items:center;text-align:center;font-size:11px;font-weight:800;line-height:1.25;transform:rotate(12deg);flex:none;background:radial-gradient(circle,rgba(156,111,34,.08),transparent 70%)}
.deed dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:18px 0 14px}
.deed dt{font-size:11.5px;color:#7A6A4E;font-weight:500}
.deed dd{margin:0;font-weight:800;font-size:15px}
.deed-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(156,111,34,.25);padding-top:12px;font-size:12px;color:#7A6A4E;gap:8px;flex-wrap:wrap}
.deed-tag{position:absolute;top:-12px;left:18px;background:#1E7A4C;color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
.deed-note{text-align:center;font-size:12px;color:var(--on-hero-muted);margin-top:14px}
/* trust strip */
.trust{background:var(--surface);border-bottom:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust .t{padding:22px 18px;display:flex;gap:14px;align-items:center;border-inline-start:1px solid var(--line)}
.trust .t:first-child{border-inline-start:0}
.trust .t .ic{width:30px;height:30px;color:var(--brass)}
.trust b{display:block;font-size:22px;font-weight:900;line-height:1.1}
.trust span{font-size:13.5px;color:var(--muted)}
@media (max-width:820px){.trust .wrap{grid-template-columns:1fr 1fr}.trust .t:nth-child(3){border-inline-start:0}.trust .t{border-top:1px solid var(--line)}.trust .t:nth-child(-n+2){border-top:0}}

/* ---------- role paths ---------- */
.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:980px){.roles{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.roles{grid-template-columns:1fr}}
.role{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,transform .2s}
.role:hover{border-color:var(--brand);transform:translateY(-2px)}
.role .ri{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 12%,var(--surface));color:var(--brand)}
.role .ri .ic{width:26px;height:26px}
.role h3{font-size:20px;font-weight:800}
.role p{color:var(--muted);font-size:14.5px;flex:1}
.role ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px}
.role li{display:flex;gap:8px;align-items:flex-start}
.role li .ic{color:var(--ok);margin-top:4px;width:16px;height:16px}
.role .btn{margin-top:6px;align-self:flex-start}

/* ---------- property cards ---------- */
.props{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
@media (max-width:360px){.props{grid-template-columns:1fr}}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .2s,transform .2s;text-align:start;font:inherit;color:inherit;padding:0}
.pcard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.pimg{aspect-ratio:16/10;max-width:100%;position:relative;background:linear-gradient(160deg,var(--hero-2),var(--hero));display:grid;place-items:center;color:rgba(255,255,255,.25);overflow:hidden}
.pimg img{width:100%;height:100%;object-fit:cover;display:block}
.pimg .ill{width:44%;height:auto;stroke-width:1.2;color:rgba(216,174,94,.55)}
.pimg::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.08) 1px,transparent 1.4px);background-size:16px 16px;pointer-events:none}
.pbadge{position:absolute;top:12px;right:12px;z-index:2;font-size:12.5px;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--surface);color:var(--fg)}
.pbadge.sale{background:var(--brass);color:#1C1405}
.pref{position:absolute;bottom:10px;left:12px;z-index:2;font-size:11.5px;color:rgba(255,255,255,.8);background:rgba(0,0,0,.35);padding:2px 8px;border-radius:6px}
.pbody{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.pprice{font-size:22px;font-weight:900;color:var(--brand-ink)}
.pprice small{font-size:13px;font-weight:500;color:var(--muted)}
.ptitle{font-size:16px;font-weight:700;line-height:1.5}
.ploc{display:flex;gap:6px;align-items:center;font-size:14px;color:var(--muted)}
.pfacts{display:flex;gap:14px;flex-wrap:wrap;font-size:13.5px;color:var(--fg);border-top:1px solid var(--line);padding-top:10px;margin-top:auto}
.pfacts span{display:inline-flex;gap:5px;align-items:center}
.pfacts .ic{color:var(--muted);width:17px;height:17px}
.empty{border:1.5px dashed var(--line);border-radius:var(--r);padding:36px 24px;text-align:center;color:var(--muted);background:var(--surface)}
.empty .ic{width:36px;height:36px;color:var(--brass);margin-bottom:6px}
.empty b{display:block;color:var(--fg);font-size:17px;margin-bottom:4px}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:22px}
.filters .inp{width:auto;flex:1 1 160px}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{padding:24px 22px;border-inline-start:1px solid var(--line);position:relative}
.step:first-child{border-inline-start:0}
@media (max-width:860px){.step{border-top:1px solid var(--line)}}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brass-soft);color:var(--brass);font-weight:900;margin-bottom:12px}
.step h3,.step h4{font-size:17px;font-weight:800;margin-bottom:6px}
.step p{font-size:14.5px;color:var(--muted)}

/* ---------- services ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px}
.svc-h{display:flex;gap:12px;align-items:center}
.svc-h .si{width:42px;height:42px;border-radius:11px;background:var(--brass-soft);color:var(--brass);display:grid;place-items:center;flex:none}
.svc-h b{font-size:17px;font-weight:800;display:block;line-height:1.2}
.svc-h small{font-size:12.5px;color:var(--muted)}
.svc ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.svc li{font-size:13px;background:var(--surface-2);padding:3px 10px;border-radius:999px}
.svc .btn{margin-top:auto;align-self:flex-start}

/* ---------- regions ---------- */
.regions{display:flex;flex-wrap:wrap;gap:8px}
.regions span{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-size:14.5px;font-weight:500}
.regions .ic{color:var(--brass);width:16px;height:16px}

/* ---------- calculator ---------- */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
@media (max-width:820px){.calc{grid-template-columns:1fr}}
.calc-in{padding:26px;display:flex;flex-direction:column;gap:16px}
.calc-out{background:var(--hero);color:var(--on-hero);padding:26px;display:flex;flex-direction:column;gap:12px}
.calc-out .row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:10px;font-size:15px}
.calc-out .row span:first-child{color:var(--on-hero-muted)}
.calc-out .total{font-size:34px;font-weight:900;color:#D8AE5E;line-height:1.1}
.calc-out .note{font-size:12.5px;color:var(--on-hero-muted)}
.fee-tables{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
@media (max-width:760px){.fee-tables{grid-template-columns:1fr}}
.ft{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ft h3,.ft h4{padding:14px 18px;background:var(--surface-2);font-size:16px;font-weight:800;display:flex;gap:8px;align-items:center}
.ft table{width:100%;border-collapse:collapse;font-size:14.5px}
.ft td{padding:11px 18px;border-top:1px solid var(--line)}
.ft td:last-child{text-align:left;font-weight:800;white-space:nowrap}

/* ---------- faq ---------- */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 18px}
.faq summary{cursor:pointer;padding:16px 0;font-weight:700;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:22px;color:var(--brass);font-weight:400;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{padding-bottom:16px;color:var(--muted);font-size:15px}

/* ---------- cta band ---------- */
.band{background:linear-gradient(120deg,var(--brand-ink),var(--brand));color:#fff;border-radius:20px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
:root[data-theme="dark"] .band{background:linear-gradient(120deg,#0F3A34,#165C52)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .band{background:linear-gradient(120deg,#0F3A34,#165C52)}}
.band h3{font-size:26px;font-weight:900}
.band p{opacity:.85;margin-top:4px}

/* ---------- about / contact ---------- */
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.lic{display:grid;gap:12px}
.lic div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:10px;flex-wrap:wrap}
.lic div:last-child{border-bottom:0;padding-bottom:0}
.lic span{color:var(--muted);font-size:14.5px}
.lic b{font-weight:800;direction:ltr}
.contact-line{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.contact-line:last-child{border-bottom:0}
.contact-line .ci{width:42px;height:42px;border-radius:11px;background:var(--brass-soft);color:var(--brass);display:grid;place-items:center;flex:none}
.contact-line .cv{flex:1;min-width:0}
.contact-line .cv small{display:block;color:var(--muted);font-size:13px}
.contact-line .cv b{font-size:17px;direction:ltr;display:inline-block;user-select:all}

.card-sec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:16px}
.card-sec + .card-sec{margin-top:18px}
.card-sec h3{font-size:19px;font-weight:800;display:flex;align-items:center;gap:8px}
.card-sec h3 .ic{color:var(--brass)}
.legend{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.msg{font-size:14px;font-weight:700}
.msg.ok{color:var(--ok)}.msg.err{color:var(--bad)}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.kv div{background:var(--surface-2);border-radius:10px;padding:10px 12px;min-width:0}
.kv small{display:block;color:var(--muted);font-size:12.5px}
.kv b{font-weight:700;font-size:15px;overflow-wrap:anywhere}
.req-list{display:grid;gap:10px}
.req{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.req b{font-size:15px}
.req p{font-size:14px;color:var(--muted)}
.req small{font-size:12px;color:var(--muted)}
.notice{display:flex;gap:12px;align-items:flex-start;background:var(--brass-soft);color:var(--fg);border-radius:12px;padding:14px 16px;font-size:14.5px}
.notice .ic{color:var(--brass);margin-top:3px}
.feat{display:flex;flex-wrap:wrap;gap:8px}
.feat span{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line);padding:6px 12px;border-radius:999px;font-size:14px}
.feat .ic{color:var(--ok);width:16px;height:16px}
/* ---------- footer ---------- */
.foot{background:var(--hero);color:var(--on-hero-muted);margin-top:40px}
.foot .wrap{padding-block:44px 28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
@media (max-width:860px){.foot .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot .wrap{grid-template-columns:1fr}}
.foot h5{color:var(--on-hero);font-size:15px;margin:0 0 10px;font-weight:800}
.foot a{display:block;text-decoration:none;font-size:14.5px;padding:3px 0}
.foot a:hover{color:var(--on-hero)}
.foot p{font-size:14px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08)}
.foot-bottom .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-block:16px;font-size:13px;grid-template-columns:none}
.fab{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:calc(18px + env(safe-area-inset-left,0px));z-index:45;width:56px;height:56px;border-radius:50%;background:#1E9E5A;color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(0,0,0,.45);text-decoration:none}
.fab .ic{width:28px;height:28px}

/* ---------- added for the Laravel theme ---------- */
.crumbs a{color:inherit;text-decoration:none}
.crumbs a:hover{color:var(--on-hero)}
a.pcard{text-decoration:none}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gallery>*{border-radius:var(--r-sm);overflow:hidden;aspect-ratio:1;background:var(--surface-2);display:block;width:100%;height:100%}
.gallery .main{grid-column:1/-1;aspect-ratio:16/10;border-radius:var(--r)}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.gallery video{object-fit:contain;background:#000}
@media (max-width:520px){.gallery{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.two aside.panel{position:static!important}}
.video{position:relative;aspect-ratio:16/9;border-radius:var(--r-sm);overflow:hidden;background:#000}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pimg span.ill{width:44%;display:grid;color:rgba(216,174,94,.55)}
.pimg span.ill .ic{width:100%;height:auto;stroke-width:1.2}
.hero .wrap>*,.two>*{min-width:0}
.preview-bar{background:var(--brass);color:#1C1405;font-size:14px;font-weight:700;text-align:center}
.preview-bar .wrap{padding-block:8px}
.preview-bar a{color:inherit;margin-inline-start:6px}

/* client portal (from the prototype) */
[hidden]{display:none!important}
.portal-shell{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start}
@media (max-width:900px){.portal-shell{grid-template-columns:1fr}}
.portal-shell>*{min-width:0}
.side{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:14px;position:sticky;top:88px}
@media (max-width:900px){.side{position:static}}
.avatar{width:56px;height:56px;border-radius:14px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900;flex:none}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;background:var(--surface-2);color:var(--fg)}
.chip.landlord{background:var(--info-bg);color:var(--info)}
.chip.tenant{background:var(--ok-bg);color:var(--ok)}
.chip.seller{background:var(--warn-bg);color:var(--warn)}
.chip.buyer{background:color-mix(in srgb,var(--brand) 15%,var(--surface));color:var(--brand)}
.st{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;white-space:nowrap}
.st::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.st.s-new,.st.s-open{color:var(--info)}.st.s-follow,.st.s-progress{color:var(--warn)}.st.s-contacted{color:var(--brand)}.st.s-done{color:var(--ok)}.st.s-arch,.st.s-cancel{color:var(--muted)}
.role-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:720px){.role-pick{grid-template-columns:1fr 1fr}}
.role-pick button{font:inherit;text-align:start;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;color:var(--fg)}
.role-pick button .ic{width:26px;height:26px;color:var(--brand)}
.role-pick button b{font-size:16px}
.role-pick button small{color:var(--muted);font-size:12.5px;line-height:1.5}
.role-pick button.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
fieldset.card-sec{margin:0;min-width:0}
a.contact-line{text-decoration:none;color:inherit}

/* consultations (from the prototype) */
.c-promo{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px}
@media (max-width:860px){.c-promo{grid-template-columns:1fr;padding:22px}}
.c-flow{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:f}
.c-flow li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;counter-increment:f;font-size:15px}
.c-flow li::before{content:counter(f);width:30px;height:30px;border-radius:50%;background:var(--brass-soft);color:var(--brass);display:grid;place-items:center;font-weight:900;font-size:14px}
.c-gets{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.c-gets li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.c-gets .ic{color:var(--ok);margin-top:4px;width:18px;height:18px}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cat{font:inherit;text-align:start;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:grid;gap:4px;cursor:pointer;transition:border-color .2s,transform .2s}
.cat:hover{border-color:var(--brand);transform:translateY(-2px)}
.cat b{font-size:17px;font-weight:800}
.cat small{color:var(--muted);font-size:13.5px;line-height:1.6}
.lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.lib article{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:grid;gap:4px;align-content:start}
.lib h3{font-size:16px;font-weight:800}
.lib .iss{font-size:12.5px;color:var(--brass);font-weight:800}
.lib .lref{font-size:13px;color:var(--muted)}
.lib p{font-size:14px}
.wiz{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:900px){.wiz{grid-template-columns:minmax(0,1fr)}}
.wsteps{list-style:none;margin:0;padding:8px;display:grid;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px)}
@media (max-width:900px){.wsteps{position:static;display:flex;overflow-x:auto}}
.wsteps li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px;border-radius:9px;color:var(--muted);font-size:14.5px;white-space:nowrap}
.wsteps li .n{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-weight:800;font-size:13px}
.wsteps li.on{background:var(--surface-2);color:var(--fg);font-weight:700}
.wsteps li.on .n{border-color:var(--brand);background:var(--brand);color:var(--surface)}
.wsteps li.done .n{border-color:var(--ok);color:var(--ok)}
.wiz-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-width:0}
.wiz-body{padding:22px}
.wiz-body h2{font-size:22px;font-weight:800;margin-bottom:4px}
.wiz-body .wlead{color:var(--muted);margin:0 0 18px;max-width:65ch;font-size:15px}
.wiz-foot{display:flex;justify-content:space-between;gap:10px;padding:14px 22px;border-top:1px solid var(--line);flex-wrap:wrap;align-items:center}
.wlbl{font-size:14px;font-weight:700;margin-bottom:8px}
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.choice,.pill{position:relative}
.choice input,.pill input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0;width:100%;height:100%}
.choice span{display:grid;gap:2px;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface);height:100%}
.choice b{font-weight:800}
.choice small{color:var(--muted);font-size:12.5px;line-height:1.6}
.choice input:checked+span{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--surface))}
.choice input:focus-visible+span,.pill input:focus-visible+span{outline:2.5px solid var(--brass);outline-offset:2px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill span{display:block;border:1.5px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;background:var(--surface)}
.pill input:checked+span{border-color:var(--brass);background:var(--brass-soft);font-weight:700}
.wreview dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 16px;margin:0}
@media (max-width:560px){.wreview dl{grid-template-columns:minmax(0,1fr)}}
.wreview dt{color:var(--muted);font-size:13.5px}
.wreview dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.analyzing{padding:30px 18px;display:grid;gap:14px;justify-items:center;text-align:center}
.pulse{width:64px;height:64px}
.pulse .ring{transform-origin:32px 32px;animation:spin 2.4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.phases{list-style:none;padding:0;margin:0;display:grid;gap:6px;text-align:start;min-width:min(340px,100%)}
.phases li{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14.5px}
.phases li.now{color:var(--fg);font-weight:700}
.phases li.done{color:var(--ok)}
.phases li i{width:10px;height:10px;border-radius:50%;background:currentColor;flex:none}
.wiz-step[hidden]{display:none!important}

/* privacy policy (Markdown from the dashboard) */
.prose{max-width:820px;line-height:1.9}
.prose h2{font-size:20px;font-weight:800;margin:26px 0 10px}
.prose p{margin:0 0 12px;color:var(--muted)}
.prose ul{margin:0 0 12px;padding-inline-start:22px;list-style:disc;color:var(--muted)}
.prose li{margin-bottom:6px}
.prose strong{color:var(--fg)}
