/* Casa UI v5 — warm cream canvas, soft white cards, one orange, big radii, photo first.
   Loaded after casa.css: re-tokens the whole app, then restyles the shells and adds the new components. */

body{background:var(--cream);font-size:15px}
h1,h2,h3{letter-spacing:-.025em}
h1{font-weight:800}h2{font-weight:800;font-size:22px}h3{font-weight:700}
.display{font-family:var(--font-d);font-weight:800;letter-spacing:-.035em;line-height:1.05}
.section{padding:18px 0}.section-gap{margin-top:34px}
.wrap{max-width:1240px;padding:0 28px}
@media(max-width:600px){.wrap{padding:0 18px}}

/* ---------- app bar ---------- */
.nav{background:var(--cream);border-bottom:0}
.nav .wrap{height:64px;gap:16px}
.brand{font-family:var(--font-d);font-weight:800;font-size:19px;color:var(--ink);gap:9px;letter-spacing:-.03em}
.brand img{width:30px;height:30px;border-radius:9px}
.brand .dom{color:var(--accent)}
.tabs-nav{gap:2px}
.tabs-nav a{flex-direction:row;gap:7px;padding:9px 14px;border-radius:var(--r-pill);font-size:14px;font-weight:600;color:var(--foggy)}
.tabs-nav a .ico{width:18px;height:18px}
.tabs-nav a.on{color:var(--accent);background:var(--accent-soft)}
.tabs-nav a.on::after{display:none}
.tabs-nav a:hover{background:var(--cream-2);color:var(--ink)}
.nav-right .lnk{font-weight:600}
.nav-right .lnk:hover{background:var(--cream-2)}
.circ{background:var(--surface);border:1px solid var(--border);box-shadow:none}
.avatar{background:var(--ink)}
.citypick>summary{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);box-shadow:none;font-weight:600}
.citypick .menu{border-radius:var(--r-card);box-shadow:var(--sh-lift);border:0}

/* ---------- mobile tab bar ---------- */
@media(max-width:860px){
  .tabs-m{background:rgba(253,247,242,.94);backdrop-filter:blur(12px);border-top:1px solid var(--bebe);padding:8px 0 max(8px,env(safe-area-inset-bottom))}
  .tabs-m a{font-size:10.5px;font-weight:600;color:#9A918A;gap:4px}
  .tabs-m a .ico{width:22px;height:22px}
  .tabs-m a.on{color:var(--accent)}
}

/* ---------- buttons ---------- */
.btn{height:46px;padding:0 20px;border-radius:var(--r-input);font-weight:700;font-size:15px}
.btn-sm{height:38px;padding:0 15px;font-size:13.5px;border-radius:12px}
.btn-lg{height:54px;padding:0 26px;font-size:16px;border-radius:16px}
.btn-accent{background:var(--casa-orange);box-shadow:none}
.btn-accent:hover{background:var(--accent-600)}
.btn-primary{background:var(--ink)}
.btn-soft,.btn-ghost{background:var(--white);color:var(--ink);border:1px solid var(--bebe);box-shadow:none}
.btn-soft:hover,.btn-ghost:hover{background:var(--cream-2)}
.btn-light{background:var(--white);color:var(--ink)}
.btn-block{width:100%}
.btn-wa{background:#25D366;color:#fff}

/* ---------- surfaces ---------- */
.panel,.book,.card,.citycard,.story,.plan,.paste,.feature{border-radius:var(--r-card)}
.panel,.book{background:var(--surface);border:1px solid var(--border);box-shadow:none;border-radius:var(--radius-md);padding:var(--space-4)}
.panel.lined{border:0}
.panel.soft{background:var(--accent-soft)}
input,select,textarea{border-radius:var(--r-input)!important;border-color:var(--bebe)!important;font-size:15px}
input:focus,select:focus,textarea:focus{border-color:var(--accent)!important;outline:none;box-shadow:0 0 0 3px var(--accent-soft)}
.badge{border-radius:var(--r-pill);font-weight:700}
.chip{border-radius:var(--r-pill);background:var(--white);border:1px solid var(--bebe);font-weight:600}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---------- hero ---------- */
.h5{position:relative;margin:0 0 6px;border-radius:var(--r-2xl);overflow:hidden;background:linear-gradient(160deg,#FBDCC6,#F7C9A9 45%,#EFA97F)}
.h5 .art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.h5 .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,25,15,.10) 0%,rgba(35,25,15,.42) 62%,rgba(35,25,15,.62) 100%)}
.h5 .in{position:relative;padding:34px 26px 30px;color:#fff}
.h5 h1{color:#fff;font-size:clamp(30px,5.2vw,52px);font-weight:800;letter-spacing:-.035em;line-height:1.06;text-shadow:0 2px 20px rgba(0,0,0,.28)}
.h5 h1 .accent{color:#FFC2A4}
.h5 p{color:rgba(255,255,255,.92);margin:12px 0 0;max-width:520px;font-size:15px;text-shadow:0 1px 12px rgba(0,0,0,.3)}
.hsearch{background:var(--white);border-radius:var(--r-xl);box-shadow:var(--sh-search);padding:8px;margin:-46px auto 0;position:relative;z-index:2;max-width:620px}
.hsrow{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px}
.hsrow+.hsrow{border-top:1px solid var(--bebe)}
.hsrow .ico{color:var(--accent);width:19px;height:19px}
.hsrow label{display:block;font-size:12.5px;font-weight:700;color:var(--ink)}
.hsrow select,.hsrow input{border:0!important;padding:0;background:transparent;font-size:14px;color:var(--foggy);width:100%;font-weight:500}
.hsrow select:focus,.hsrow input:focus{box-shadow:none}
.hs2{display:grid;grid-template-columns:1fr 1fr}
.hs2 .hsrow+.hsrow{border-top:0;border-left:1px solid var(--bebe)}
.hsearch .btn{width:100%;margin-top:6px}
@media(min-width:900px){
  .h5 .in{padding:70px 56px 96px;max-width:760px}
  .hsearch{margin:-58px 0 0 56px;padding:10px}
  .hsearch .hsg{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:center;gap:0}
  .hsearch .hsg .hsrow+.hsrow{border-top:0;border-left:1px solid var(--bebe)}
  .hsearch .hsg .btn{width:auto;margin:0 0 0 8px;height:50px}
  .hs2{display:contents}
}

/* ---------- trust row ---------- */
.trust5{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px;text-align:center}
.trust5 div{display:flex;flex-direction:column;align-items:center;gap:7px}
.trust5 i{width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}
.trust5 i .ico{width:22px;height:22px}
.trust5 span{font-size:11.5px;font-weight:600;color:var(--foggy);line-height:1.25}
@media(min-width:900px){.trust5{max-width:760px;gap:20px}.trust5 span{font-size:13px}.trust5 i{width:56px;height:56px}}

/* ---------- section heads ---------- */
.rowh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.rowh h2{font-size:20px;font-weight:800}
.rowh .more{font-size:13.5px;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:4px}
@media(min-width:900px){.rowh h2{font-size:26px}}

/* ---------- city cards ---------- */
.crow{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 0 6px;scrollbar-width:none}
.crow::-webkit-scrollbar{display:none}
.ccard{flex:0 0 132px;scroll-snap-align:start}
.ccard .ph5{height:98px;border-radius:16px;overflow:hidden;background:var(--cream-2);position:relative}
.ccard .ph5 img{width:100%;height:100%;object-fit:cover}
.ccard .ph5 .mos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:100%;gap:1px}
.ccard .ph5 .mos img{width:100%;height:100%;object-fit:cover}
.ccard b{display:block;font-size:14px;font-weight:700;margin-top:8px;letter-spacing:-.01em}
.ccard span{font-size:12.5px;color:var(--foggy)}
@media(min-width:900px){.ccard{flex:0 0 200px}.ccard .ph5{height:140px}}

/* ---------- listing card (row on mobile, tile on desktop) ---------- */
.grid5{display:flex;flex-direction:column;gap:12px}
.c5{display:flex;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:none;padding:10px;position:relative;transition:border-color .18s,box-shadow .18s}
.c5:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}
.c5 .im{position:relative;flex:0 0 112px;height:112px;border-radius:14px;overflow:hidden;background:var(--cream-2)}
.c5 .im img{width:100%;height:100%;object-fit:cover}
.c5 .im .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--grey)}
.c5 .bd{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px;padding:2px 4px 2px 0}
.c5 .tag{align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:.02em;padding:3px 8px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-600);text-transform:none}
.c5 .tag.new{background:var(--leaf-soft);color:var(--leaf)}
.c5 .tag.warn{background:var(--honey-soft);color:var(--honey)}
.c5 .tag.bad{background:var(--red-soft);color:var(--red)}
.c5 .ttl{font-size:15px;font-weight:700;letter-spacing:-.015em;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c5 .meta{font-size:12.5px;color:var(--foggy);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.c5 .meta .ico{width:13px;height:13px}
.c5 .pr{font-size:16px;font-weight:800;letter-spacing:-.02em;margin-top:1px}
.c5 .pr small{font-size:12px;font-weight:500;color:var(--foggy)}
.c5 .am{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}
.c5 .am span{font-size:11px;font-weight:600;color:var(--foggy);background:var(--faint);border-radius:8px;padding:3px 7px;white-space:nowrap}
.c5 .hrt{position:absolute;top:16px;right:16px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.12);z-index:2}
.c5 .hrt.on{color:var(--accent)}
@media(min-width:760px){
  .grid5{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
  .c5{flex-direction:column;padding:10px;gap:10px}
  .c5 .im{flex:none;width:100%;height:190px;border-radius:14px}
  .c5 .bd{padding:0 6px 8px}
  .c5 .ttl{white-space:normal}
}

/* ---------- filter bar ---------- */
.fbar{position:relative;background:var(--cream);padding:10px 0 8px;margin-bottom:4px}
.fbar .l1{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.fbar .fpill{display:inline-flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:9px 14px;font-size:13.5px;font-weight:700;white-space:nowrap}
.fbar .fpill .ico{width:15px;height:15px;color:var(--accent)}
.fbar .l2{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.fbar .l2::-webkit-scrollbar{display:none}
.fbar .l2 .fc{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;background:var(--white);border:1px solid var(--bebe);border-radius:var(--r-pill);padding:8px 13px;font-size:13px;font-weight:600;color:var(--ink)}
.fbar .l2 .fc.set{background:var(--accent);border-color:var(--accent);color:#fff}
.resl{display:flex;align-items:center;justify-content:space-between;margin:12px 0 10px}
.resl b{font-size:15px;font-weight:800}
.resl a{font-size:13.5px;font-weight:700;display:inline-flex;align-items:center;gap:5px;color:var(--ink)}

/* ---------- listing detail ---------- */
.lgal{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--cream-2)}
.lfeat{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 8px;margin:14px 0}
.lfeat div{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--foggy);line-height:1.25}
.lfeat .ico{width:21px;height:21px;color:var(--ink)}
.vbox{display:flex;gap:11px;background:var(--accent-soft);border-radius:16px;padding:14px 16px;margin:12px 0}
.vbox .ico{color:var(--accent);width:20px;height:20px;flex:0 0 auto;margin-top:1px}
.vbox b{display:block;font-size:14.5px;font-weight:700;color:var(--accent-600)}
.vbox span{font-size:13px;color:#8A6250}
.vbox.bad{background:var(--red-soft)}.vbox.bad .ico{color:var(--red)}.vbox.bad b{color:var(--red)}.vbox.bad span{color:#8a4a50}
.vbox.warn{background:var(--honey-soft)}.vbox.warn .ico{color:var(--honey)}.vbox.warn b{color:var(--honey)}.vbox.warn span{color:#7d6023}

/* ---------- quick links ---------- */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 10px}
.quick a{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}
.quick i{width:46px;height:46px;border-radius:15px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}
.quick i .ico{width:22px;height:22px}
.quick b{font-size:12.5px;font-weight:700;letter-spacing:-.01em}
.quick span{font-size:10.5px;color:var(--foggy);line-height:1.2}
@media(min-width:900px){.quick{padding:22px}.quick b{font-size:15px}.quick span{font-size:12.5px}.quick i{width:56px;height:56px;border-radius:18px}}

/* ---------- banner (illustrated) ---------- */
.bnr{position:relative;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(120deg,#FDE4D3,#FBD3B9);padding:22px 24px;min-height:132px;display:flex;flex-direction:column;justify-content:center}
.bnr.dark{background:linear-gradient(120deg,#F2673D,#E0451F);color:#fff}
.bnr.dark h1,.bnr.dark h2{color:#fff}.bnr.dark p{color:rgba(255,255,255,.9)}
.bnr h1,.bnr h2{font-size:clamp(23px,4.4vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.12;max-width:62%;position:relative}
.bnr p{margin:8px 0 0;font-size:14px;color:#7A5943;max-width:62%;position:relative}
.bnr .bart{position:absolute;right:-6px;bottom:0;top:0;width:44%;pointer-events:none;opacity:.95}
.bnr .bart svg{width:100%;height:100%}
@media(min-width:900px){.bnr{padding:36px 40px;min-height:190px}.bnr h1,.bnr h2{max-width:56%}.bnr p{max-width:52%;font-size:15.5px}}

/* ---------- guide cards ---------- */
.ggrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gcard{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;min-height:150px;transition:border-color .18s}
.gcard:hover{border-color:var(--border-strong)}
.gcard .gim{height:88px;background:linear-gradient(135deg,#FBE0CD,#F6CDB2);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:rgba(220,90,40,.55)}
.gcard .gim img{width:100%;height:100%;object-fit:cover}
.gcard .gim svg{width:56px;height:56px}
.gcard .gb{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px;flex:1}
.gcard .gt{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.gcard b{font-size:13.5px;font-weight:700;line-height:1.3;letter-spacing:-.01em}
.gcard .gr{margin-top:auto;font-size:11.5px;color:var(--foggy);display:flex;align-items:center;justify-content:space-between;padding-top:6px}
@media(min-width:900px){.ggrid{grid-template-columns:repeat(4,1fr);gap:18px}.gcard .gim{height:130px}.gcard b{font-size:15px}}

/* ---------- list rows (jobs, universities, steps) ---------- */
.rows5{display:flex;flex-direction:column;gap:10px}
.r5{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:none;padding:13px 14px;transition:border-color .18s}
.r5:hover{border-color:var(--border-strong)}
.r5>i.av{width:44px;height:44px;border-radius:14px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);overflow:hidden}
.r5>i.av img{width:26px;height:26px;object-fit:contain}
.r5>i.av .ico{width:21px;height:21px}
.r5 .rbd{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.r5 .rbd b{font-size:14.5px;font-weight:700;letter-spacing:-.01em}
.r5 .rbd .sub{font-size:12.5px;color:var(--foggy)}
.r5 .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}
.r5 .tags span{font-size:10.5px;font-weight:600;color:var(--foggy);background:var(--faint);border-radius:7px;padding:3px 7px}
.r5 .rr{margin-left:auto;display:flex;align-items:center;gap:8px;flex:0 0 auto}
.r5 .pay{font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap}
.r5 .cv{color:var(--grey)}
.av.c1{background:#FDE3E0;color:#C8323C}.av.c2{background:#FCEBD6;color:#B0761B}.av.c3{background:#E1F1E7;color:#1E8A5B}.av.c4{background:#E6ECFB;color:#2B4EA8}.av.c5{background:#F3E7F8;color:#7B3FA0}

/* ---------- segmented chips ---------- */
.segs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 8px}
.segs::-webkit-scrollbar{display:none}
.segs a,.segs button{flex:0 0 auto;background:var(--white);border:1px solid var(--bebe);border-radius:var(--r-pill);padding:9px 16px;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer}
.segs a.on,.segs button.on{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---------- swipe ---------- */
.swipepage .stack{border-radius:var(--r-2xl)}
.sw{border-radius:22px;border:0;box-shadow:var(--sh-lift);background:transparent;overflow:visible}
.sw .swimg{border-radius:22px;overflow:hidden;flex:1 1 auto}
.sw .swb{position:absolute;left:12px;right:12px;bottom:12px;background:var(--white);border-radius:18px;box-shadow:var(--sh-lift);padding:12px 14px;z-index:4}
.sw .swb b{font-size:16px;letter-spacing:-.02em}
.swnav{background:rgba(255,255,255,.9);width:34px;height:34px}
.swkind{position:absolute;left:12px;top:12px;z-index:3;background:rgba(255,255,255,.94);border-radius:var(--r-pill);padding:5px 11px;font-size:11.5px;font-weight:700}
.swcount{position:absolute;right:12px;top:12px;z-index:3;background:rgba(0,0,0,.5);color:#fff;border-radius:var(--r-pill);padding:4px 10px;font-size:11.5px;font-weight:700}
.swbtns .swbtn{width:62px;height:62px;box-shadow:var(--sh-lift);border:0;background:var(--white)}
.swbtns .swbtn.no{color:var(--red)}.swbtns .swbtn.yes{color:var(--accent)}

/* ---------- misc restyles ---------- */
.foot{background:var(--cream-2);border-top:0;margin-top:40px}
.hscroll{scrollbar-width:none}.hscroll::-webkit-scrollbar{display:none}
.card{border-radius:var(--r-card);border:0;box-shadow:var(--sh);background:var(--white);padding:10px}
.card .img{border-radius:14px;overflow:hidden}
.card .t{padding:0 4px}.card .m,.card .p,.card .why,.card .rc{padding-left:4px;padding-right:4px}
.faq details{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:8px;padding:4px 16px}
.faq summary{font-weight:700}
.night{background:#241F1B;border-radius:var(--r-2xl)}
.toast{border-radius:14px}
.cbub{box-shadow:var(--sh-lift)}
.cpanel{border-radius:var(--r-2xl);box-shadow:var(--sh-lift);border:0}
.hpx{position:absolute;left:-9999px;width:0;height:0;overflow:hidden}
/* browse drawer restyle */
.filters{border:0;background:transparent;padding:0;margin:0;display:block;position:static;box-shadow:none}
.filters .fwrap{position:fixed;inset:auto 0 0 0;z-index:70;background:var(--white);border-radius:24px 24px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.18);padding:18px 18px max(18px,env(safe-area-inset-bottom));display:none;flex-direction:column;gap:10px;max-height:82vh;overflow:auto}
.filters.open .fwrap{display:flex}
.filters .fhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.filters .fhead b{font-size:17px;font-weight:800}
.filters .fsearch{display:flex;align-items:center;gap:8px;background:var(--faint);border-radius:14px;padding:11px 14px}
.filters .fsearch input{border:0!important;background:transparent;width:100%}
.filters .fwrap select{width:100%;height:46px;background:var(--white);border:1px solid var(--bebe)}
.filters .fwrap .chk{display:flex;align-items:center;gap:9px;font-weight:600;padding:11px 14px;border:1px solid var(--bebe);border-radius:14px}
.filters .fwrap .chk.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-600)}
.filters .spacer{display:none}
.filters .fwrap .apply-m{height:48px;font-size:15px}
@media(min-width:900px){
  .filters .fwrap{position:static;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;box-shadow:none;border-radius:0;padding:0;background:transparent;max-height:none;margin-bottom:6px}
  .filters .fhead,.filters .fwrap .apply-m{display:none}
  .filters .fwrap select{width:auto;height:40px}
  .filters .fsearch{flex:1 1 240px}
}
/* listing detail */
.ltop{display:flex;align-items:center;margin-bottom:10px}
.cbtn{width:38px;height:38px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer}
.cbtn.on{color:var(--accent)}
.lgal{border-radius:var(--r-xl);overflow:hidden;position:relative}
.lgal .galtrack img{border-radius:0}
.galn{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.55);color:#fff;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:var(--r-pill);z-index:3}
.lhead{padding:16px 2px 0}
.lbadges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.lbg{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-600)}
.lbg .ico{width:13px;height:13px}
.lbg.ok{background:var(--accent-soft);color:var(--accent-600)}
.lbg.new{background:var(--leaf-soft);color:var(--leaf)}
.lbg.warn{background:var(--honey-soft);color:var(--honey)}
.lbg.bad{background:var(--red-soft);color:var(--red)}
.lhead h1{font-size:clamp(22px,4.6vw,30px);font-weight:800;letter-spacing:-.03em;margin-bottom:6px}
.lmeta{display:flex;align-items:center;gap:7px;color:var(--foggy);font-size:14px;margin-bottom:4px}
.lmeta .ico{width:15px;height:15px}
.lprice{font-size:26px;font-weight:800;letter-spacing:-.03em;margin-top:12px}
.lprice small{font-size:15px;font-weight:600;color:var(--foggy)}
.lprice2{font-size:13.5px;color:var(--foggy);margin-top:2px}
.lcta{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.mcta{background:rgba(253,247,242,.96);backdrop-filter:blur(10px);border-top:1px solid var(--bebe);padding:10px 16px}
.mcta .btn{height:46px}
@media(min-width:760px){.lcta{display:none}}
.detail .facts{background:var(--white);border-radius:var(--r-xl);box-shadow:var(--sh);border:0;padding:16px}
.detail .sec{margin-top:26px}
.detail .sec h2{font-size:19px;font-weight:800;margin-bottom:10px}
.sticky .book{border-radius:var(--r-xl)}
/* mobile app bar: logo + avatar only, like the app */
@media(max-width:860px){
  .nav .wrap{gap:10px}
  .nav .citypick,.nav-right .founder,.nav-right .btn{display:none}
  .brand{font-size:17px}
  .brand img{width:28px;height:28px}
  .nav-right{gap:6px}
  .nav-right .lang{display:none}
}
@media(max-width:400px){.brand span{font-size:16px}}
.avm{display:none}
@media(max-width:860px){.avm{display:inline-flex}}
.gcard .gim svg{width:54px;height:54px;color:rgba(200,80,35,.45)}
.gcard .gim.t-search{background:linear-gradient(135deg,#FBE0CD,#F6C9AA)}
.gcard .gim.t-sign{background:linear-gradient(135deg,#E7EEF7,#C9D9EC)}
.gcard .gim.t-sign svg{color:rgba(45,80,140,.4)}
.gcard .gim.t-arrival{background:linear-gradient(135deg,#E3F1E7,#C3E2CE)}
.gcard .gim.t-arrival svg{color:rgba(25,110,70,.4)}
.gcard .gim.t-living{background:linear-gradient(135deg,#F7E7CF,#EFD3A8)}
.gcard .gim.t-living svg{color:rgba(160,110,25,.45)}
.gcard .gr .ico{width:14px;height:14px;color:var(--accent)}
.bnr{min-height:152px;padding:20px 22px}
.bnr h1{font-size:clamp(21px,4.2vw,34px);max-width:66%}
.bnr p{max-width:64%;font-size:13.5px}
.bnr .bart{width:47%;height:86%;top:auto;bottom:0}
@media(min-width:900px){.bnr .bart{width:42%;height:92%}}
/* desktop nav fit */
.tabs-nav a,.nav-right .lnk,.nav-right .btn,.founder span{white-space:nowrap}
.nav .wrap{gap:10px}
@media(max-width:1180px){.nav-right .lnk{padding:10px 8px;font-size:13.5px}.tabs-nav a{padding:9px 11px;font-size:13.5px}}
@media(max-width:1080px){.nav-right .founder span,.nav-right .lnk:nth-of-type(1){display:none}}
.r5 .rbd b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.r5 .rbd .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quick b{line-height:1.2}
.r5 .tags{flex-wrap:nowrap;overflow:hidden}
.r5 .rr{max-width:40%}
.r5 .pay{font-size:13px}
/* swipe card, app style */
.sw .swimg{border-radius:22px;position:relative}
.swheart{position:absolute;right:12px;top:12px;z-index:4;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.94);border:0;display:flex;align-items:center;justify-content:center;color:var(--accent);box-shadow:0 2px 10px rgba(0,0,0,.15);cursor:pointer}
.swcount{right:12px;top:auto;bottom:118px}
.sw .swb{left:14px;right:14px;bottom:14px;padding:13px 15px;display:flex;flex-direction:column;gap:3px}
.swtag{align-self:flex-start;font-size:10.5px;font-weight:700;background:var(--faint);border-radius:8px;padding:3px 8px;color:var(--foggy)}
.sw .swb b{font-size:17px;font-weight:800;letter-spacing:-.02em}
.swm{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--foggy)}
.swm .ico{width:13px;height:13px}
.swp{display:flex;align-items:center;gap:8px;margin-top:3px}
.swp b{font-size:19px;font-weight:800}
.swp small{color:var(--foggy);font-weight:600;font-size:13px;margin-left:-4px}
.swinc{font-size:10.5px;font-weight:700;background:var(--leaf-soft);color:var(--leaf);border-radius:8px;padding:3px 8px}
.swam{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;padding-top:8px;border-top:1px solid var(--bebe)}
.swam span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--foggy)}
.swam .ico{width:14px;height:14px;color:var(--ink)}
.swnav{top:38%}
.swdots{bottom:auto;top:14px;left:0;right:0}
.swdots{display:none}
.swcount{bottom:auto;top:60px;right:12px}
.swbtns{gap:22px;margin-top:16px}
.hscroll .c5{flex:0 0 260px;flex-direction:column;padding:10px}
.hscroll .c5 .im{flex:none;width:100%;height:170px}
.hscroll .c5 .bd{padding:0 6px 6px}
.hscroll .c5 .ttl{white-space:normal}
.unirows .av{background:var(--white);border:1px solid var(--bebe)}
.unirows .av b{font-size:13px;font-weight:800;color:var(--foggy)}
@media(min-width:900px){.unirows{display:grid;grid-template-columns:1fr 1fr;gap:12px}}
.pageh{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.pageh h1{font-size:22px;font-weight:800}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.cbig{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px;transition:border-color .18s}
.cbig:hover{border-color:var(--border-strong)}
.cbig .ph5{height:104px;border-radius:14px;overflow:hidden;background:var(--cream-2)}
.cbig .ph5 img{width:100%;height:100%;object-fit:cover}
.cbig .ph5 .mos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:100%;gap:1px}
.cbig .cb{display:flex;align-items:center;gap:8px;padding:9px 6px 5px}
.cbig .cb b{display:block;font-size:15px;font-weight:700;letter-spacing:-.01em}
.cbig .cb span{font-size:12px;color:var(--foggy)}
.cbig .cv{margin-left:auto;color:var(--accent)}
.c5 .meta{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bnr.dark h2{max-width:74%}
@media(min-width:760px){.cgrid{grid-template-columns:repeat(4,1fr);gap:18px}.cbig .ph5{height:150px}}
@media(min-width:900px){
  .fbar .l1 button,.fbar .l2{display:none}
  .fbar{top:0;position:relative;padding-top:14px}
  .fbar .l1{margin-bottom:10px}
}
@media(max-width:1240px){.nav-right .founder{display:none}}
@media(max-width:1120px){.nav-right .lnk{display:none}}
.chipx span{font-weight:600;border-color:var(--bebe);padding:9px 15px}
.chipx input:checked+span{background:var(--accent);border-color:var(--accent);box-shadow:0 4px 12px rgba(242,103,61,.22)}
.tab{font-weight:600;border-color:var(--bebe);height:38px}
.tab.on{background:var(--accent);border-color:var(--accent)}
.seg{background:var(--white);border-radius:var(--r-pill);box-shadow:var(--sh);border:0}
.seg a.on{background:var(--accent);color:#fff;border-radius:var(--r-pill)}
.note,.ok,.err{border-radius:14px}
.stat b,.stats b{letter-spacing:-.02em}
.empty{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border);padding:26px}
/* ---------- welcome hero ---------- */
.whero{position:relative;border-radius:var(--r-2xl);overflow:hidden;background:linear-gradient(165deg,#F7C79E,#EE9C63 55%,#D96C36);min-height:430px;display:flex;flex-direction:column;justify-content:flex-end;padding:16px}
.whero .wart{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.whero .wshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,18,10,.22) 0%,rgba(30,18,10,.04) 26%,rgba(30,18,10,.42) 60%,rgba(30,18,10,.72) 100%)}
.whero .win{position:relative;color:#fff;padding:34px 6px 12px}
.whero h1{color:#fff;font-size:clamp(34px,8vw,52px);font-weight:800;letter-spacing:-.04em;line-height:1.02;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.whero h1 #swapword{display:inline}
.whero p{color:rgba(255,255,255,.94);font-size:15px;line-height:1.5;margin:14px 0 0;max-width:440px;text-shadow:0 1px 14px rgba(0,0,0,.4)}
.wcard{position:relative;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-radius:var(--r-xl);box-shadow:0 18px 44px rgba(40,20,10,.28);padding:16px 14px 14px}
.wq{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}
.wq a{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.wq i{width:44px;height:44px;border-radius:14px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}
.wq i .ico{width:21px;height:21px}
.wq b{font-size:12.5px;font-weight:700;letter-spacing:-.01em}
.wq span{font-size:10px;color:var(--foggy);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media(min-width:900px){
  .whero{min-height:450px;padding:30px;justify-content:center;align-items:flex-start}
  .whero .win{padding:0 0 20px;max-width:640px}
  .whero p{font-size:17px}
  .wcard{max-width:620px;padding:20px}
  .wq i{width:52px;height:52px;border-radius:16px}
  .wq b{font-size:14.5px}.wq span{font-size:11.5px}
}
/* city swipe restyle */
.cityswipe{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding:2px 0 10px;width:auto;max-width:none;margin:0}
.cityswipe::-webkit-scrollbar{display:none}
.cityswipe .cs{flex:0 0 auto;background:var(--white);border:1px solid var(--bebe);border-radius:14px;padding:10px 15px;text-align:left;box-shadow:none;min-width:0}
.cityswipe .cs b{display:block;font-size:14px;font-weight:700}
.cityswipe .cs span{font-size:11.5px;color:var(--foggy)}
.cityswipe .cs.on{background:var(--ink);border-color:var(--ink);color:#fff}
.cityswipe .cs.on span{color:rgba(255,255,255,.72)}
.whero picture{display:contents}
/* ---------- swipe, app style ---------- */
.swipepage{padding:10px 0 26px;position:relative}
.swipepage::before{content:"";position:absolute;left:-40px;top:60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(242,103,61,.10),transparent 68%);pointer-events:none}
.swipepage::after{content:"";position:absolute;right:-50px;top:320px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(242,103,61,.09),transparent 68%);pointer-events:none}
.swhead{margin-bottom:8px}
.swhead b{font-size:17px;font-weight:800}
.swhead .chip{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;font-size:13px}
.swmodes{margin-bottom:12px}
.swmodes a{padding:8px 14px;font-size:13px}
.stack{height:min(72vh,620px);max-width:440px}
.sw{background:transparent;box-shadow:none;overflow:visible;padding-bottom:0}
.sw .swimg{border-radius:24px;box-shadow:0 12px 40px rgba(60,40,25,.18);height:100%}
.sw.vis.under{transform:scale(.94) translateY(0) rotate(-3deg);opacity:.75}
.sw .swb{left:16px;right:16px;bottom:-6px;border-radius:20px}
.swkind{left:14px;top:14px;background:rgba(255,255,255,.95);font-weight:600;font-size:12px;padding:6px 12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.swheart{right:14px;top:14px;width:40px;height:40px}
.swcount{top:auto;bottom:190px;right:14px;background:rgba(0,0,0,.45);font-weight:600}
.swbtns{margin-top:26px;gap:26px;position:relative;z-index:2}
.swbtns .swbtn{width:66px;height:66px}
.swbtns .swbtn.no{color:#E2483A}
.swbtns .swbtn.yes{color:#F2673D}
.swbtns .swbtn.yes .ico-lg{width:28px;height:28px}
.swnote{position:static;display:block;text-align:center;color:var(--casa-orange);pointer-events:none;margin:14px 0 0}

.swnote{font-family:"Bradley Hand","Segoe Script","Comic Sans MS",cursive;font-size:15px;font-weight:600;letter-spacing:.01em}

.swend{border-radius:22px;border:0;background:var(--white);box-shadow:var(--sh)}
/* photo banners */
.bnr.photo{padding:0;min-height:170px;display:flex;align-items:flex-end}
.bnr.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.bnr.photo .bsh{position:absolute;inset:0;background:linear-gradient(100deg,rgba(226,72,32,.94) 0%,rgba(226,72,32,.82) 38%,rgba(226,72,32,.18) 72%,rgba(226,72,32,0) 100%)}
.bnr.photo h2{position:relative;color:#fff;max-width:60%;padding:0 22px 0;margin-bottom:6px;font-size:clamp(20px,4.4vw,30px)}
.bnr.photo p{position:relative;color:rgba(255,255,255,.92);max-width:56%;padding:0 22px 22px;margin:0}
.bnr.side{padding-right:0;overflow:hidden}
.bnr.side .bimg{position:absolute;right:0;top:0;height:100%;width:46%;object-fit:cover;object-position:50% 50%}
.bnr.side::after{content:"";position:absolute;right:0;top:0;bottom:0;width:52%;background:linear-gradient(90deg,#FDE4D3 0%,rgba(253,228,211,.75) 22%,rgba(253,228,211,0) 62%)}
.bnr.side h1,.bnr.side p,.bnr.side .gt{position:relative;z-index:2}
@media(min-width:900px){.bnr.photo{min-height:230px}.bnr.photo h2{padding:0 40px}.bnr.photo p{padding:0 40px 34px}}
/* fit the swipe deck above the fold */
.stack{height:min(56vh,500px)}
.swipepage{padding:6px 0 20px}
.swhead{margin-bottom:6px}
.swhead b{font-size:16px}
.swmodes{margin-bottom:10px;padding-bottom:4px}
.swmodes a{padding:7px 13px;font-size:12.5px}
.swcount{bottom:auto;top:14px;right:64px}
.swbtns{margin-top:20px}
.swbtns .swbtn{width:60px;height:60px}
@media(min-height:820px){.stack{height:min(60vh,560px)}}
/* hero text legibility */
.whero .wshade{background:linear-gradient(180deg,rgba(30,18,10,.24) 0%,rgba(30,18,10,.06) 20%,rgba(30,18,10,.46) 48%,rgba(30,18,10,.72) 78%,rgba(30,18,10,.8) 100%)}
.whero .win{padding-top:26px}
.bnr.photo .bsh{background:linear-gradient(100deg,rgba(214,64,26,.97) 0%,rgba(219,70,30,.92) 46%,rgba(226,88,40,.35) 78%,rgba(226,88,40,.05) 100%)}
.bnr.photo h2{max-width:66%}
.bnr.photo p{max-width:60%;font-size:13.5px;line-height:1.45}
.swcount{top:64px;right:14px}
.nav-right{gap:8px}
@media(max-width:1100px){.nav .citypick{display:none}}
/* search card on the home page sits in normal flow */
#nlsearch.hsearch{margin:14px 0 0;max-width:none}
@media(min-width:900px){#nlsearch.hsearch{margin:14px 0 0}}
.wcard{width:100%}
@media(min-width:900px){.wcard{max-width:560px}.whero .win{max-width:600px}.whero p{font-size:16px}}

/* ---------- Casa status: one system, used on cards, listing detail and swipe ---------- */
.cstat{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:6px;font-size:12.5px;font-weight:700;letter-spacing:-.01em}
.cstat i{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:currentColor}
.cstat.is-ok{color:var(--success)}
.cstat.is-check{color:var(--warning)}
.cstat.is-problem{color:var(--danger)}
.cstat.is-new{color:var(--casa-orange)}
/* key facts as text, not a wall of chips */
.facts-line{font-size:12.5px;color:var(--ink-soft);line-height:1.4}
.swtop{display:flex;align-items:center;gap:8px;justify-content:space-between}

/* ---- feed header, mobile first (fd*) ---- */
.fdhead{margin-bottom:16px}
.fdh1{font-size:22px;line-height:1.2;margin:0;letter-spacing:-.02em}
.fdstat{margin:6px 0 0;font-size:13px;color:var(--foggy)}
.fdpro{margin-top:12px;display:inline-flex}
.fdquick{display:flex;gap:8px;margin-top:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.fdquick::-webkit-scrollbar{display:none}
.fdquick a{flex:0 0 auto;font-size:12.5px;font-weight:600;color:var(--ink-soft);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-pill);padding:7px 12px;white-space:nowrap}
.fdquick a:hover{border-color:var(--border-strong);color:var(--ink)}
@media(min-width:760px){
  .fdhead{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:20px}
  .fdh1{font-size:28px;grid-column:1;grid-row:1}
  .fdstat{grid-column:1;grid-row:2}
  .fdpro{grid-column:2;grid-row:1/3;margin:0;justify-self:end}
  .fdquick{grid-column:1/3;grid-row:3;margin-top:14px}
}
@media(max-width:600px){
  .tabs{gap:6px}
  .tab{height:34px;padding:0 11px;font-size:12.5px}
}
@media(max-width:759px){
  .c5 .hrt{top:14px;left:88px;right:auto;width:28px;height:28px}
  .c5 .ttl{font-size:14.5px}
  .c5 .pr{font-size:15px}
}

/* ---- application history (hq*) ---- */
.hqlist{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.hqrow{display:flex;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px}
.hqim{flex:0 0 96px;height:96px;border-radius:14px;overflow:hidden;background:var(--surface-soft);display:flex;align-items:center;justify-content:center;color:var(--foggy)}
.hqim img{width:100%;height:100%;object-fit:cover}
.hqag{font-size:26px;font-weight:700;color:var(--casa-orange)}
.hqbd{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.hqstat{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}
.hqstat i{width:8px;height:8px;border-radius:50%;background:currentColor;flex:0 0 auto}
.hqstat.is-ok{color:var(--success)}
.hqstat.is-wait{color:var(--warning)}
.hqstat.is-off{color:var(--foggy)}
.hqttl{font-size:15px;font-weight:700;letter-spacing:-.015em;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hqmeta{font-size:12.5px;color:var(--foggy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hqfoot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:1px}
.hqpr{font-size:15px;font-weight:800;letter-spacing:-.02em}
.hqpr small{font-size:11.5px;font-weight:500;color:var(--foggy)}
.hqoff{font-size:11px;font-weight:700;color:var(--ink-soft);background:var(--surface-soft);border-radius:var(--radius-pill);padding:3px 8px}
.hqacts{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:5px;font-size:12px;color:var(--foggy)}
.hqacts a{text-decoration:underline}
.hqdet summary{cursor:pointer;font-size:12px;color:var(--foggy);text-decoration:underline}
.hqdet p{margin:8px 0 0;font-size:13px;color:var(--ink-soft);white-space:pre-line;line-height:1.5}
.hqto{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
@media(max-width:600px){.hqim{flex:0 0 84px;height:84px}.hqttl{font-size:14.5px}.hqto{display:none}}
@media(min-width:760px){.hqim{flex:0 0 120px;height:120px}}
.hqdet[open]{flex:1 0 100%}

.acct{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding:10px 12px;border:1px solid var(--border);background:var(--surface-soft);border-radius:var(--radius-sm)}
.acct b{font-size:13px;font-weight:700}
.acct span{font-size:12.5px;color:var(--ink-soft);line-height:1.4}

/* ---- Facebook groups page (fb*) ---- */
.fbhero{padding:8px 0 14px}
.fbmark{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.01em;color:#1877F2;background:#EBF3FE;border-radius:var(--radius-pill);padding:6px 12px 6px 8px}
.fbmark img{border-radius:4px;display:block}
.fbhero h1{font-size:26px;line-height:1.12;letter-spacing:-.03em;margin:12px 0 0}
.fbhero p{margin:8px 0 0;font-size:14px;color:var(--ink-soft);line-height:1.45;max-width:34em}
.fbchips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:2px 0 4px;margin-bottom:16px}
.fbchips::-webkit-scrollbar{display:none}
.fbchip{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--ink-soft);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-pill);padding:8px 13px;white-space:nowrap}
.fbchip:hover{border-color:var(--border-strong);color:var(--ink)}
.fbchip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.fbgrid{display:grid;grid-template-columns:1fr;gap:8px}
.fbg{display:flex;align-items:center;gap:11px;padding:13px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .18s,transform .18s}
.fbg:hover{border-color:var(--border-strong);transform:translateY(-1px)}
.fbtile{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:#EBF3FE;display:flex;align-items:center;justify-content:center}
.fbtile img{display:block;border-radius:4px}
.fbtile.is-s{background:var(--surface)}
.fbtile.is-s .ico{width:16px;height:16px;color:var(--foggy)}
.fbt{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}
.fbt b{font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.25}
.fbt i{font-style:normal;font-size:12px;color:var(--foggy)}
.fbarw{flex:0 0 auto;width:14px;height:14px;color:var(--foggy);opacity:.55}
.fbg:hover .fbarw{opacity:1}
.fbsearch{background:var(--surface-soft);border-style:dashed}
.fbh2{font-size:16px;font-weight:700;letter-spacing:-.02em;margin:28px 0 10px}
.fbrules{list-style:none;counter-reset:fbr;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
.fbrules li{counter-increment:fbr;display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}
.fbrules li::before{content:counter(fbr);grid-row:1/3;width:24px;height:24px;border-radius:50%;background:var(--casa-orange-soft);color:var(--casa-orange);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.fbrules b{font-size:14px;font-weight:700;line-height:1.3}
.fbrules span{font-size:13px;color:var(--ink-soft);line-height:1.45}
.fbcta{margin-top:24px;padding:16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:12px}
.fbcta b{display:block;font-size:15px;font-weight:700}
.fbcta span{display:block;font-size:13px;color:var(--ink-soft);line-height:1.45;margin-top:2px}
.fbcta .btn{align-self:flex-start}
.fbnote{margin:14px 0 0;font-size:12px;color:var(--foggy);line-height:1.5}
.fbnote a{text-decoration:underline}
@media(min-width:760px){
  .fbhero h1{font-size:38px}
  .fbhero p{font-size:15.5px}
  .fbgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
  .fbrules{grid-template-columns:1fr 1fr;gap:10px}
  .fbh2{font-size:20px;margin-top:34px}
  .fbcta{flex-direction:row;align-items:center;justify-content:space-between;padding:20px 24px}
  .fbcta .btn{align-self:auto}
}
.fbline{margin:24px 0 0;font-size:13px;color:var(--foggy);line-height:1.5}
.fbline a{text-decoration:underline;color:var(--ink-soft)}
.fbfaq{display:flex;flex-direction:column;gap:8px}
.fbfaq details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}
.fbfaq summary{cursor:pointer;font-size:14px;font-weight:600;letter-spacing:-.01em;list-style:none}
.fbfaq summary::-webkit-details-marker{display:none}
.fbfaq summary::after{content:"+";float:right;color:var(--foggy);font-weight:600}
.fbfaq details[open] summary::after{content:"–"}
.fbfaq p{margin:8px 0 0;font-size:13px;color:var(--ink-soft);line-height:1.5}

/* ---- Casa Pro pass band (pas*) ---- */
.pasw{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;max-width:640px}
.pastub{flex:0 0 54px;background:var(--casa-orange);color:#fff;display:flex;align-items:center;justify-content:center;position:relative}
.pastub span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.pasperf{position:absolute;top:0;bottom:0;right:-1px;width:2px;background-image:radial-gradient(circle,var(--canvas) 1.6px,transparent 1.7px);background-size:2px 9px}
.pasbody{flex:1;min-width:0;padding:18px 18px 20px}
.paskick{margin:0;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--casa-orange)}
.pasprice{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:6px}
.pasprice b{font-size:38px;font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--ink)}
.pasprice i{font-style:normal;font-size:13px;color:var(--foggy)}
.paslist{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.paslist li{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.4;color:var(--ink-soft)}
.paslist li i{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--casa-orange);margin-top:7px}
.paslist li b{color:var(--ink);font-weight:700}
.pascta{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.pascta .btn{width:100%}
.pascta .small{text-align:center}
@media(min-width:760px){
  .pasw{max-width:760px;margin:0 auto}
  .pastub{flex:0 0 64px}
  .pasbody{padding:26px 28px 28px}
  .pasprice b{font-size:46px}
  .paslist li{font-size:15px}
  .pascta{flex-direction:row;align-items:center;gap:16px;margin-top:22px}
  .pascta .btn{width:auto}
  .pascta .small{text-align:left}
}

/* ---- Move page: "when it goes sideways" band (sb*) ---- */
.sbnd{background:#211E1B;border-radius:var(--radius-lg);padding:22px 18px 22px;max-width:640px}
.sbkick{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#F2A98F}
.sbh{margin:10px 0 0;color:#fff;font-size:26px;line-height:1.1;letter-spacing:-.028em;font-weight:700}
.sbrows{margin-top:16px;border-top:1px solid #3A3530}
.sbrows div{display:flex;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #3A3530;color:#F0EBE5;font-size:14.5px;line-height:1.3}
.sbrows svg{flex:0 0 auto;width:15px;height:15px;color:var(--casa-orange)}
.sbcta{margin-top:18px}
@media(min-width:760px){
  .sbnd{max-width:760px;margin:0 auto;padding:32px 34px 34px}
  .sbh{font-size:34px}
  .sbrows div{font-size:16px;padding:15px 0}
  .sbcta{display:inline-flex;width:auto;padding-left:30px;padding-right:30px}
}
.wedit{display:block;text-align:center;margin-top:10px;font-size:13px;font-weight:600;color:var(--ink-soft);text-decoration:underline}
.wedit:hover{color:var(--ink)}

/* ---- account menu (ac*) ---- */
.acbtn{display:inline-flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:5px 6px 5px 11px;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.acbtn:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft)}
.acbars{width:16px;height:16px;color:var(--ink-soft)}
.acbtn .avatar{width:30px;height:30px;font-size:13px}
.acov{position:fixed;inset:0;background:rgba(36,34,32,.42);opacity:0;transition:opacity .2s;z-index:120}
.acov.in{opacity:1}
.acdr{position:fixed;top:0;right:0;bottom:0;width:min(88vw,360px);background:var(--surface);border-left:1px solid var(--border);z-index:121;display:flex;flex-direction:column;gap:14px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;transform:translateX(102%);transition:transform .22s cubic-bezier(.22,.8,.3,1)}
.acdr.in{transform:none}
.acdr>*{flex:none}
.acdh{display:flex;align-items:center;gap:11px}
.acav{width:40px;height:40px;font-size:16px;flex:0 0 auto}
.acwho{min-width:0;flex:1}
.acwho b{display:block;font-size:15px;font-weight:700;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acwho span{display:block;font-size:12.5px;color:var(--foggy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acpro{margin-top:-2px}
.acstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.acstats a{background:var(--surface-soft);border-radius:var(--radius-sm);padding:11px 8px;text-align:center;transition:background .18s}
.acstats a:hover{background:var(--casa-orange-soft)}
.acstats b{display:block;font-size:20px;font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1}
.acstats span{display:block;font-size:11.5px;color:var(--foggy);margin-top:3px}
/* v95 menu: bell in the header, one Unlimited card, tiles instead of a list --------------- */
.acbell{position:relative;color:var(--ink)}
.acbn{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;border-radius:var(--radius-pill);
  background:var(--casa-orange);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;
  padding:0 5px;box-shadow:0 0 0 2px var(--surface)}

.upcard{position:relative;overflow:hidden;display:block;border-radius:20px;padding:15px 16px;color:#fff;
  background:radial-gradient(120% 140% at 8% 0%,#1E5F51,#123B33 60%,#0D2A24)}
.upcard:hover{color:#fff}
.upt{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:800;letter-spacing:-.015em;margin-bottom:9px}
.upt .ico{width:15px;height:15px;color:#FF9773}
.upl{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650;color:rgba(255,255,255,.74);margin-bottom:5px}
.upl .ico{width:12px;height:12px;color:#7FD0AE;flex:0 0 auto}
.upgo{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#FF7A4D,#F2633F 50%,#E0502B);border-radius:var(--radius-pill);
  padding:12px;margin-top:11px;font-size:14px;font-weight:800;color:#fff}
.upgo::after{content:"";position:absolute;top:-60%;bottom:-60%;width:36px;left:-50px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(16deg);
  animation:upsweep 3.6s cubic-bezier(.4,0,.5,1) infinite}
@keyframes upsweep{0%{left:-60px}55%{left:118%}100%{left:118%}}
@media(prefers-reduced-motion:reduce){.upgo::after{animation:none;opacity:0}}

.acsearch{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:15px;
  padding:11px 12px;color:var(--ink)}
.acsearch:hover{border-color:var(--border-strong);color:var(--ink)}
.acmag{width:15px;height:15px;color:var(--foggy);flex:0 0 auto}
.actx{flex:1;min-width:0;font-size:13px;font-weight:700;letter-spacing:-.012em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aced{flex:0 0 auto;font-size:12px;font-weight:800;color:var(--casa-orange)}

.actiles{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.actiles a{background:var(--surface-soft);border-radius:17px;padding:14px 13px;color:var(--ink);
  display:grid;gap:7px;align-content:start;min-height:86px;transition:background .18s}
.actiles a:hover{background:var(--casa-orange-soft);color:var(--ink)}
.actiles a .ico{width:20px;height:20px;color:var(--ink-soft)}
.actiles a b{font-size:14px;font-weight:800;letter-spacing:-.018em;line-height:1.25}
.actiles a i{font-style:normal;font-size:11.5px;font-weight:650;color:var(--foggy)}
.actiles a.wide{grid-column:1 / -1;min-height:0;display:flex;align-items:center;gap:11px;padding:13px}
.actiles a.wide i{margin-left:auto}
.aclab{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--foggy);margin-bottom:-8px}
.aclinks{display:flex;flex-direction:column}
.aclinks a{display:flex;align-items:center;gap:11px;padding:12px 4px;font-size:14.5px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--border)}
.aclinks a:last-child{border-bottom:0}
.aclinks a:hover{color:var(--casa-orange)}
.aclinks .ico{width:18px;height:18px;color:var(--foggy);flex:0 0 auto}
.aclinks a:hover .ico{color:var(--casa-orange)}
.aclinks i{flex:1}
.acn{margin-left:auto;font-size:12px;font-weight:700;color:var(--ink-soft);background:var(--surface-soft);border-radius:var(--radius-pill);padding:3px 9px}
.aclinks.quiet a{font-size:13.5px;font-weight:500;color:var(--ink-soft);padding:10px 4px}
.acsep{height:1px;background:var(--border)}
.acout{margin-top:auto;padding-top:6px}
@media(prefers-reduced-motion:reduce){.acdr,.acov{transition:none}}

/* ---- account page (ac*) ---- */
.accard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-top:12px}
.acch{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.acch h2{font-size:15px;font-weight:700;letter-spacing:-.015em;margin:0}
.acch a{font-size:13px;font-weight:700;color:var(--casa-orange)}
.acdl{margin:0;display:flex;flex-direction:column}
.acdl div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--border)}
.acdl div:last-child{border-bottom:0;padding-bottom:0}
.acdl dt{font-size:13px;color:var(--foggy);margin:0}
.acdl dd{font-size:13.5px;font-weight:600;color:var(--ink);margin:0;text-align:right}
.acp{font-size:13.5px;line-height:1.5;color:var(--ink-soft);margin:0 0 12px}
.accard .field{margin-bottom:14px}
.accard .btn{margin-top:2px}

body.acopen .cbub,body.acopen .ccloud,body.acopen .tabs-m{display:none}

/* ---- student deals, on the guides page (deal*) ---- */
.dealgrid{display:grid;grid-template-columns:1fr;gap:10px}
.dealc{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px}
.dealc b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.01em}
.dealc span{display:block;font-size:13px;color:var(--ink-soft);line-height:1.45;margin-top:3px}
.deall{margin-top:7px !important;font-size:12.5px !important;color:var(--foggy) !important}
.deall a{text-decoration:underline;color:var(--ink-soft)}
@media(min-width:760px){.dealgrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}}

/* ---- the application wall (w*) ---- */
.wall{margin-top:14px;padding:16px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--casa-orange-soft)}
.wkick{margin:0;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--casa-orange)}
.wall h3{margin:9px 0 0;font-size:19px;line-height:1.2;letter-spacing:-.02em;font-weight:800;color:var(--ink)}
.wsub{margin:8px 0 14px;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.wfine{display:block;text-align:center;font-size:12px;color:var(--foggy);margin-top:9px}
.wleft{margin:10px 0 0;text-align:center;font-size:12.5px;font-weight:600;color:var(--foggy)}

/* ---- the problem, on the Setup page (prob*) ---- */
.probs{display:grid;grid-template-columns:1fr;gap:10px}
.prob{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--danger);border-radius:var(--radius-sm);padding:14px 15px}
.prob b{display:block;font-size:15px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.25}
.prob span{display:block;font-size:13.5px;line-height:1.5;color:var(--ink-soft);margin-top:5px}
.probline{margin:16px 0 0;font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.45;max-width:34em}
@media(min-width:760px){
  .probs{grid-template-columns:1fr 1fr;gap:12px}
  .prob b{font-size:16px}
  .probline{font-size:17px;margin-top:20px}
}
.whero h1 .nlq{white-space:nowrap}
.whero h1 .nlflag{display:inline-block;width:.86em;height:.58em;vertical-align:.04em;margin:0 0 0 .16em;filter:drop-shadow(0 2px 8px rgba(0,0,0,.45))}
@media(max-width:420px){.whero h1{font-size:clamp(26px,6.6vw,38px)}}
.whero p{font-weight:500}
/* two counters, not four */
.counters{grid-template-columns:repeat(2,1fr);max-width:520px;margin-left:auto;margin-right:auto}

/* ---- city cards with a photo (Where will you be studying) ---- */
.cityswipe .cs{padding:0;overflow:hidden;width:150px;border-radius:16px}
.cityswipe .cs .csim{display:block;width:100%;height:96px;object-fit:cover;background:var(--surface-soft)}
.cityswipe .cs .csb{display:block;padding:9px 11px 10px}
.cityswipe .cs b{font-size:14.5px;letter-spacing:-.01em}
.cityswipe .cs.on{background:var(--surface);border-color:var(--casa-orange);color:var(--ink);box-shadow:0 0 0 1px var(--casa-orange) inset}
.cityswipe .cs.on span{color:var(--foggy)}
@media(min-width:760px){.cityswipe .cs{width:186px}.cityswipe .cs .csim{height:118px}}
/* the quick card floats on the photo */
.wcard{margin-top:0;box-shadow:0 16px 40px rgba(40,20,10,.26);border:0;background:rgba(255,255,255,.97)}

/* ---- the two doors (gs*) ---- */
.gsgrid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
.gscard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;transition:border-color .18s,transform .18s,box-shadow .18s}
.gscard:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.gscard.is-help{border-color:var(--casa-orange);background:linear-gradient(180deg,var(--casa-orange-soft),var(--surface) 46%)}
.gskick{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--foggy)}
.gscard.is-help .gskick{color:var(--casa-orange)}
.gscard b{font-size:21px;font-weight:800;letter-spacing:-.025em;line-height:1.15;margin-top:9px;color:var(--ink)}
.gssub{font-size:14px;line-height:1.5;color:var(--ink-soft);margin-top:8px}
.gslist{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.gslist li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.45;color:var(--ink-soft)}
.gslist li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--casa-orange)}
.gsgo{margin-top:16px;display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:800;color:var(--casa-orange)}
.gsgo .ico{width:16px;height:16px}
.gsnote{margin:16px 0 0;font-size:12.5px;line-height:1.55;color:var(--foggy)}
.gsnote a{text-decoration:underline}
@media(min-width:820px){
  .gsgrid{grid-template-columns:1fr 1fr;gap:16px}
  .gscard{padding:24px}
  .gscard b{font-size:23px}
}

/* ---- search in the hero, quick links below the cities ---- */
.wcard.plain{background:none;box-shadow:none;border:0;padding:0;backdrop-filter:none}
/* the search card in the hero: soft fields, no box inside a box */
.wcard .hsearch{margin:0;padding:12px;border-radius:var(--radius-lg);box-shadow:0 16px 40px rgba(40,20,10,.24);max-width:none}
.wcard .hsg{display:flex;flex-direction:column;gap:8px}
.wcard .hsrow{background:var(--surface-soft);border:1px solid transparent;border-radius:14px;padding:11px 13px;transition:border-color .16s,background .16s}
.wcard .hsrow:focus-within{border-color:var(--casa-orange);background:var(--surface)}
.wcard .hsrow+.hsrow{border-top:1px solid transparent}
.wcard .hs2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wcard .hs2 .hsrow+.hsrow{border-left:1px solid transparent}
.wcard .hsrow select{color:var(--ink);font-weight:600}
.wcard .hsearch .btn{width:100%;margin-top:4px;border-radius:999px;height:52px}
@media(min-width:900px){
  .wcard .hsg{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px;align-items:stretch}
  .wcard .hs2{display:contents}
  .wcard .hsearch .btn{width:auto;margin:0;padding:0 26px;height:auto}
  .wcard .hsrow{padding:12px 14px}
}
.qcard{margin-top:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}
.qch{margin-bottom:12px}
.qch b{display:block;font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.qch span{display:block;font-size:13px;color:var(--ink-soft);margin-top:3px}
.qcfine{display:block;text-align:center;font-size:12px;color:var(--foggy);margin-top:9px}
@media(min-width:760px){
  .qcard{padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:18px 28px;align-items:center}
  .qch{margin:0;grid-column:1;grid-row:1}
  .qcard .wq{grid-column:1;grid-row:2}
  .qcard .btn{grid-column:2;grid-row:1/3;width:auto;padding-left:34px;padding-right:34px;align-self:center}
  .qcfine{grid-column:2;grid-row:3;margin-top:-6px}
  .qcard .wedit{grid-column:2;grid-row:3}
}

/* ---- the sign-up deck (dk*): cream page, orange card, white tiles ---- */
.deck{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;background:#FBF7F1}
.dkui{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:18px 16px calc(26px + env(safe-area-inset-bottom));color:#231F1A;max-width:520px;margin:0 auto}
.dktop{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dkbrand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;letter-spacing:-.01em;color:#231F1A}
.dkbrand img{width:24px;height:24px;border-radius:8px}
.dkcount{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:rgba(35,31,26,.5)}
.dkbar{display:flex;gap:4px;margin-top:12px}
.dkbar i{height:3px;flex:1;background:rgba(35,31,26,.13);border-radius:2px;transition:background .3s}
.dkbar i.on{background:var(--casa-orange)}
.dkstack{position:relative;display:grid;margin-top:16px;margin-bottom:18px}
.dkstack>*{grid-area:1 / 1}
.dkghost{border-radius:24px;background:rgba(242,99,64,.14);transform:translateY(14px) scaleX(.945)}
.dkghost.two{background:rgba(242,99,64,.08);transform:translateY(28px) scaleX(.885)}
.dkcard{position:relative;border-radius:24px;padding:20px 18px;display:flex;flex-direction:column;background:var(--casa-orange);color:#fff;box-shadow:0 20px 42px -22px rgba(242,99,64,.85);animation:dkin .34s cubic-bezier(.22,.9,.28,1);overflow-y:auto}
@keyframes dkin{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.dkcard.gone{animation:dkout .3s ease forwards}
@keyframes dkout{to{opacity:0;transform:translateY(-16px) scale(.97)}}
@media(prefers-reduced-motion:reduce){.dkcard,.dkcard.gone{animation:none}}
.dkstep{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;opacity:.68}
.dkq{font-size:25px;font-weight:800;letter-spacing:-.035em;line-height:1.1;margin:8px 0 0}
.dkhint{font-size:12.5px;line-height:1.45;margin:8px 0 0;opacity:.82}
.dkopts{display:flex;flex-direction:column;gap:7px;margin-top:17px}
.dkopt{width:100%;text-align:left;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-.01em;padding:12px 13px;border-radius:14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;transition:color .15s,border-color .15s,box-shadow .2s,transform .12s;background:#fff;border:2px solid transparent;color:#231F1A;box-shadow:0 2px 0 rgba(0,0,0,.05)}
.dkopt:hover{transform:translateX(2px)}
.dkopt em{font-style:normal;display:block;font-size:12px;font-weight:500;opacity:.62;margin-top:3px}
.dkopt small{font-size:11.5px;font-weight:600;opacity:.55;flex:0 0 auto}
.dkfield{margin-bottom:8px}
.dkfield label{display:block;font-size:12.5px;font-weight:700;letter-spacing:-.01em;margin-bottom:5px;opacity:.95}
.dkfield input{width:100%;font-family:inherit;font-size:16px;padding:12px 13px;border-radius:13px;border:1px solid transparent;background:#fff;color:#231F1A;box-shadow:0 2px 0 rgba(0,0,0,.05)}
.dkfield input::placeholder{color:rgba(35,31,26,.4)}
.dkfield input:focus{outline:2px solid #231F1A;outline-offset:-1px}
.dkpw{position:relative}
.dkpw input{padding-right:60px}
.dkpws{position:absolute;right:11px;bottom:12px;background:none;border:0;font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--casa-orange);cursor:pointer;padding:4px}
.dkopts.dkg2{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.dkg2 .dkopt{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:12px 13px}
.dkg2 .dkopt small{opacity:.5}
.dkg2 .dkcta,.dkg2 .dkback{grid-column:1 / -1}
.dkrow2{display:flex;gap:7px}
.dkrow2 .dkfield{flex:1;min-width:0}
.dkopt2{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.4;opacity:.92;cursor:pointer;margin-top:2px}
.dkopt2 input{margin-top:2px;accent-color:#fff;width:15px;height:15px}
.dkcta{width:100%;text-align:center;background:#fff;color:#C9441F;font-weight:800;font-size:15.5px;border:0;border-radius:999px;padding:15px 18px;cursor:pointer;font-family:inherit;margin-top:10px;box-shadow:0 6px 18px -8px rgba(0,0,0,.35)}
.dkcta:disabled{opacity:.5;box-shadow:none}
.dkback{background:none;border:0;font-family:inherit;font-size:12px;cursor:pointer;padding:9px 0 0;text-decoration:underline;align-self:flex-start;color:#fff;opacity:.72}
/* last card: three little places deal out from the middle, on a loop */
.dkdeal{position:relative;height:84px;margin:2px 0 2px}
.dkdeal i{position:absolute;left:50%;top:8px;width:56px;height:68px;margin-left:-28px;border-radius:13px;background:#fff;
  box-shadow:0 10px 20px -12px rgba(0,0,0,.55);opacity:0;overflow:hidden;
  --x:0px;--r:0deg;animation:dkdeal 3.6s cubic-bezier(.2,.7,.3,1) infinite}
.dkdeal i::before{content:"";display:block;height:32px;background:linear-gradient(135deg,#FFD9CB,#FFB199)}
.dkdeal i::after{content:"";display:block;margin:7px 8px 0;height:5px;border-radius:3px;background:rgba(35,31,26,.14);
  box-shadow:0 9px 0 rgba(35,31,26,.09)}
.dkdeal i:nth-child(1){--x:-40px;--r:-11deg}
.dkdeal i:nth-child(2){--x:0px;--r:0deg;animation-delay:.42s;z-index:2}
.dkdeal i:nth-child(3){--x:40px;--r:11deg;animation-delay:.84s}
@keyframes dkdeal{
  0%{opacity:0;transform:translate(0,16px) scale(.9)}
  14%{opacity:1}
  32%,74%{opacity:1;transform:translate(var(--x),0) rotate(var(--r))}
  92%,100%{opacity:0;transform:translate(var(--x),-8px) rotate(var(--r)) scale(.95)}
}
.dkdeal b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;font-size:19px;font-weight:800;
  letter-spacing:-.03em;color:#C9441F;background:#fff;border-radius:999px;padding:5px 13px;box-shadow:0 8px 18px -8px rgba(0,0,0,.4);
  animation:dkpop .5s cubic-bezier(.2,1.5,.4,1) 1.3s both}
@keyframes dkpop{from{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.dkmid{text-align:center}
.dkq.dkmid{font-size:23px;text-wrap:balance}
.dkhint.dkmid{margin-top:6px;opacity:.9}
@media(prefers-reduced-motion:reduce){
  .dkdeal i{animation:none;opacity:1;transform:translate(var(--x),0) rotate(var(--r))}
  .dkdeal b{animation:none}
}
@media(min-width:760px){
  .dkq{font-size:28px}
  .wcard{max-width:720px}
}
.dkerr{margin-top:14px;padding:12px 14px;border-radius:14px;background:#C74E45;color:#fff;font-size:13px;line-height:1.5}
.dkerr a{color:#fff;text-decoration:underline;font-weight:700}
.lgor{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--foggy);font-size:12px}
.lgor::before,.lgor::after{content:"";flex:1;height:1px;background:var(--border)}

/* ---- browse header, search read back as a card (b*) ---- */
.bsum{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:11px 13px;cursor:pointer;transition:border-color .16s}
.bsum:hover{border-color:var(--border-strong)}
.bmag{width:30px;height:30px;border-radius:50%;background:var(--casa-orange-soft);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.bmag .ico{width:15px;height:15px;color:var(--casa-orange)}
.btxt{min-width:0;flex:1}
.btxt b{display:block;font-size:13.5px;font-weight:700;letter-spacing:-.01em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.btxt span{display:block;font-size:11.5px;color:var(--foggy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bcnt{flex:0 0 auto;font-size:12px;font-weight:800;color:var(--ink);background:var(--surface-soft);border-radius:999px;padding:6px 11px}
.bcitysel{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.bseg{display:flex;flex-wrap:nowrap;background:var(--surface-soft);border-radius:999px;padding:3px;margin:10px 0 10px}
.bseg a{flex:1 1 0;min-width:0;white-space:nowrap;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink-soft);padding:9px 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.bseg a.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.bseg a.bsw{color:var(--casa-orange)}
.bseg a.bsw .ico{width:14px;height:14px}
.bseg a.bsw:hover{background:var(--casa-orange);color:#fff}

/* ---- the swipe invite that sits in the list ---- */
.swinv{display:flex;gap:0;background:var(--surface);border:1px solid var(--casa-orange);border-radius:var(--radius-md);overflow:hidden;position:relative}
.swinv .im{flex:0 0 108px;position:relative;background:var(--surface-soft)}
.swinv .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.swinv .bd{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px;padding:13px 14px}
.swinv .k{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--casa-orange)}
.swinv b{font-size:15px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.swinv .d{font-size:12px;line-height:1.4;color:var(--ink-soft)}
.swinv .go{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--casa-orange);margin-top:5px}
.swinv .go .ico{width:14px;height:14px}
@media(min-width:760px){.swinv{grid-column:1/-1;max-width:none}.swinv .im{flex:0 0 200px}}

/* ---- v35 · full-screen swipe + map, filters inside the search card ---- */
.bcard{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;transition:box-shadow .16s,border-color .16s}
.bcard.open{box-shadow:0 14px 36px rgba(0,0,0,.10);border-color:var(--border-strong)}
.bcard .bsum{background:transparent;border:0;border-radius:0;padding:12px 13px}
.bchev{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--foggy);transition:transform .18s}
.bchev .ico{width:14px;height:14px}
.bcard.open .bchev{transform:rotate(180deg)}
.btags{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:0 13px 11px}
.btags::-webkit-scrollbar{display:none}
.btag{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;background:var(--casa-orange-soft);color:var(--casa-orange-700,#C2541B);border-radius:999px;padding:6px 11px;font-size:12px;font-weight:700;white-space:nowrap}
.btag .ico{width:11px;height:11px;opacity:.75}
.bpanel{display:none;flex-direction:column;gap:14px;border-top:1px solid var(--border);padding:14px 13px 13px;max-height:min(72vh,600px);overflow:auto;overscroll-behavior:contain}
.bcard.open .bpanel{display:flex}
.blab{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--foggy);margin-bottom:8px}
.bchips{display:flex;flex-wrap:wrap;gap:7px}
.bch{position:relative;display:inline-flex}
.bch input{position:absolute;opacity:0;width:0;height:0}
.bch span{display:inline-flex;align-items:center;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 13px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.bch input:checked+span{background:var(--casa-orange);border-color:var(--casa-orange);color:#fff}
.bch input:focus-visible+span{outline:2px solid var(--casa-orange);outline-offset:2px}
.bsel{width:100%;height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:0 12px;font-size:14px;font-weight:600;color:var(--ink)}
.brow{display:flex;gap:8px}
.brow .bsel{flex:1 1 0;min-width:0}
.bsearch{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:0 12px;height:44px;background:var(--surface)}
.bsearch .ico{width:15px;height:15px;color:var(--foggy);flex:0 0 auto}
.bsearch input{border:0!important;background:transparent;width:100%;font-size:14px;outline:none;padding:0}
.bfoot{display:flex;align-items:center;gap:12px;position:sticky;bottom:-13px;z-index:3;background:var(--surface);
  padding:12px 13px max(13px,env(safe-area-inset-bottom));margin:0 -13px -13px;border-top:1px solid var(--border);
  box-shadow:0 -10px 16px -12px rgba(60,40,25,.22)}
.bclear{font-size:13px;font-weight:600;color:var(--foggy);text-decoration:underline;white-space:nowrap}
.bapply{flex:1;height:46px;font-size:14.5px}
.bapply.busy{opacity:.55}

/* v61 · the filter panel takes the screen while it is open */
@media(max-width:860px){
  body.bopen .tabs-m{display:none}
  body.bopen .cbub,body.bopen .ccloud{display:none}
  .bpanel{max-height:calc(100svh - 210px)}
}
.bch.bany input:checked+span{background:var(--casa-orange);border-color:var(--casa-orange);color:#fff}

/* map, full screen on phones */
.mfbar{position:absolute;z-index:500;top:12px;left:12px;right:12px;display:flex;align-items:center;gap:8px}
.mfx{display:none}
.mfs{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;background:var(--surface);border-radius:12px;padding:0 6px 0 12px;height:42px;box-shadow:0 5px 20px rgba(60,40,25,.16)}
.mfs>.ico{width:15px;height:15px;color:var(--foggy);flex:0 0 auto}
.mfs input{flex:1 1 auto;min-width:0;border:0!important;background:transparent;font-size:13.5px;font-weight:600;outline:none;padding:0;height:100%;color:var(--ink)}
.mfs input::placeholder{font-weight:500;color:var(--foggy)}
.mfgo{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:9px;background:var(--casa-orange);display:flex;align-items:center;justify-content:center;cursor:pointer}
.mfgo .ico{width:14px;height:14px;color:#fff}
.mfr{flex:0 0 auto;width:42px;height:42px;border:0;border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center;box-shadow:0 5px 20px rgba(60,40,25,.16);cursor:pointer}
.mfr .ico{width:17px;height:17px;color:var(--casa-orange)}
.mfr.spin .ico{animation:mfspin .8s linear infinite}
@keyframes mfspin{to{transform:rotate(360deg)}}
.mfttl{display:none}
@media(max-width:1000px){
  body.mapfs{overflow:hidden}
  body.mapfs .nav,body.mapfs .tabs-m,body.mapfs .foot,body.mapfs .fbar,body.mapfs .fbline,body.mapfs .cpanel{display:none!important}
  body.mapfs .wrap{padding:0;max-width:none}
  body.mapfs .split{display:block}
  body.mapfs .split>div:first-child{display:none}
  body.mapfs .mapcol{position:fixed;inset:0;z-index:120;height:100dvh}
  body.mapfs .map{height:100dvh;min-height:0;border-radius:0}
  .mfbar{top:max(12px,env(safe-area-inset-top))}
  .mfx{display:flex;width:42px;height:42px;flex:0 0 auto;border-radius:12px;background:var(--surface);align-items:center;justify-content:center;color:var(--ink);box-shadow:0 5px 20px rgba(60,40,25,.16)}
  .mfx .ico{width:16px;height:16px}
  .mfs{padding-left:11px}
}

/* swipe, full screen everywhere */
body.swfs{overflow:hidden;background:var(--canvas)}
body.swfs .nav,body.swfs .tabs-m,body.swfs .foot,body.swfs .cpanel{display:none!important}
.sfw{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;color:var(--ink);background:var(--canvas);overscroll-behavior:none}
.sftop{display:flex;align-items:center;gap:12px;padding:max(10px,env(safe-area-inset-top)) 14px 4px}
.sfx{width:36px;height:36px;flex:0 0 auto;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.sfx .ico{width:17px;height:17px}
.sfmid{flex:1;min-width:0;text-align:center}
.sfmid b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.01em}
.sfmid span{display:block;font-size:11.5px;color:var(--foggy)}
.sflist{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--ink);font-size:12.5px;font-weight:700}
.sflist .ico{width:14px;height:14px}
/* active housing filters, carried over from the list */
.sffil{display:flex;gap:6px;overflow-x:auto;padding:0 14px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sffil::-webkit-scrollbar{display:none}
.sffc{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:5px 9px 5px 11px;border-radius:999px;background:rgba(255,255,255,.72);border:1px solid rgba(18,59,51,.14);font-size:12.5px;font-weight:600;color:var(--ink);text-decoration:none;line-height:1}
.sffc .ico{width:12px;height:12px;opacity:.5}
.sffc.clr{background:transparent;border-style:dashed;opacity:.75}
.sfstage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:6px 14px 0}
.sfstack{position:relative;width:min(400px,100%);height:min(100%,470px)}
.sfc{position:absolute;inset:0;display:none;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--border);box-shadow:0 14px 40px rgba(60,40,25,.14);will-change:transform;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.sfc.vis{display:flex;transform:translateY(calc(var(--d,0) * -9px)) scale(calc(1 - var(--d,0) * .035))}
.sfimg{position:relative;flex:1 1 auto;min-height:0;background:var(--surface-soft)}
.sfimg img{width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;display:block}
.sfimg.bad img{display:none}
.sfph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--border-strong)}
.sfinfo{flex:0 0 auto;padding:13px 15px 15px;background:var(--surface)}
.sfinfo>b{display:block;font-size:17.5px;font-weight:800;letter-spacing:-.02em;margin:7px 0 4px}
.sfrow{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.sftag{background:var(--surface-soft);color:var(--ink-soft);border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.sfok,.sfmb,.sfno{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}
.sfok{background:#E7F6EC;color:#1D7B45}
.sfmb{background:#FFF3DC;color:#9A6608}
.sfno{background:#FDEAE7;color:#B23A28}
.sfmeta{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--foggy)}
.sfmeta .ico{width:13px;height:13px;flex:0 0 auto}
.sfprice{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:9px}
.sfprice b{font-size:21px;font-weight:800;letter-spacing:-.02em}
.sfprice small{font-size:12px;color:var(--foggy);margin-left:-3px}
.sfinc,.sfm2,.sfreg{font-size:11px;font-weight:700;background:var(--surface-soft);color:var(--ink-soft);border-radius:999px;padding:4px 9px}
.sfnav{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;cursor:pointer}
.sfnav .ico{width:15px;height:15px}
.sfnav.l{left:10px}
.sfnav.r{right:10px}
.sfc:last-of-type:hover .sfnav{opacity:1}
@media(hover:none){.sfc:last-of-type .sfnav{opacity:.7}}
.sfdots{position:absolute;top:11px;left:14px;right:14px;display:flex;justify-content:center;gap:5px}
.sfdots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 1px 2px rgba(0,0,0,.3);transition:width .15s}
.sfdots i.on{background:#fff;width:15px;border-radius:3px}
.sfstamp{position:absolute;top:22px;font-size:20px;font-weight:900;letter-spacing:.08em;padding:6px 13px;border-radius:12px;border:3px solid;opacity:0;transition:opacity .12s;z-index:3;background:rgba(255,255,255,.85)}
.sfstamp.yes{left:16px;color:#1D9A55;border-color:#1D9A55;transform:rotate(-11deg)}
.sfstamp.no{right:16px;color:#D8452F;border-color:#D8452F;transform:rotate(11deg)}
.sfc.lean-yes .sfstamp.yes,.sfc.lean-no .sfstamp.no{opacity:1}
.sfc.lean-yes{border-color:#1D9A55}
.sfc.lean-no{border-color:#D8452F}
.sfend{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:11px;padding:30px;border-radius:22px;background:var(--surface);border:1px solid var(--border)}
.sfend.ghosted{background:none;border:0;padding:0}
.sfend.show{display:flex}
.sfend b{font-size:18px;font-weight:800}
.sfend p{font-size:13px;color:var(--foggy);max-width:290px;line-height:1.5}
.sfend p a{color:var(--ink);text-decoration:underline}
.sfhint{position:absolute;left:0;right:0;top:50%;transform:translateY(-62%);display:flex;flex-direction:column;align-items:center;gap:13px;pointer-events:none;opacity:0;transition:opacity .45s;z-index:120}
.sfhint.play{opacity:1}
.sfhint.gone{opacity:0}
.sfhand{width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.sfhand svg{width:26px;height:26px}
.sfhint.play .sfhand{animation:sfswipe 2.4s ease-in-out 2}
.sfhtxt{background:rgba(25,21,18,.86);color:#fff;border-radius:999px;padding:8px 16px;font-size:12.5px;font-weight:700}
@keyframes sfswipe{0%{transform:translateX(0) rotate(0);opacity:0}10%{opacity:1}42%{transform:translateX(76px) rotate(9deg)}54%{transform:translateX(76px) rotate(9deg);opacity:1}72%{transform:translateX(-70px) rotate(-8deg)}88%{transform:translateX(-70px) rotate(-8deg);opacity:1}100%{transform:translateX(0) rotate(0);opacity:0}}
.sfc.demo{animation:sfnudge 2.4s ease-in-out 2}
@keyframes sfnudge{0%,100%{transform:none}42%,54%{transform:translateX(26px) rotate(2deg)}72%,88%{transform:translateX(-24px) rotate(-2deg)}}
.sflegend{display:flex;justify-content:center;gap:20px;padding:12px 0 max(14px,env(safe-area-inset-bottom));font-size:12px;font-weight:600;color:var(--foggy)}
.sfl{display:inline-flex;align-items:center;gap:4px}
.sfl .ico{width:13px;height:13px}
.sfl.yes{color:var(--ink)}
.sfwall,.hwall{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(250,245,240,.55);backdrop-filter:blur(15px) saturate(1.1);-webkit-backdrop-filter:blur(15px) saturate(1.1)}
.sfwall.on{display:flex}
.sfwbox{width:100%;max-width:330px;background:var(--surface);color:var(--ink);border-radius:22px;padding:24px 22px;text-align:center;box-shadow:0 24px 60px rgba(60,40,25,.22);border:1px solid var(--border)}
.sfwlock{width:46px;height:46px;border-radius:50%;background:var(--casa-orange-soft);color:var(--casa-orange);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.sfwlock .ico{width:20px;height:20px}
.sfwbox>b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em}
.sfwbox p{font-size:13.5px;color:var(--foggy);margin:8px 0 14px;line-height:1.45}
.sfpill{display:inline-flex;align-items:center;gap:6px;background:#FFEDE1;color:#C2541B;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:800;margin-bottom:14px}
.sfpill .ico{width:14px;height:14px;color:#F26A21}
.sfwbox .btn{width:100%;height:48px}
.sfwlog{display:block;margin-top:12px;font-size:13px;color:var(--foggy);text-decoration:underline}

@media(min-width:900px){
  .fbar{display:flex;gap:12px;align-items:flex-start}
  .bcard{flex:1 1 auto;max-width:640px}
  .bseg{flex:0 0 auto;width:290px;margin:0}
  .bcard .bsum{padding:13px 15px}
  .bpanel{max-height:none}
}

/* housing wall for signed-out visitors */
.hw{grid-column:1/-1;display:flex;justify-content:center;padding:6px 0 2px}
.hwbox{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:24px 22px;text-align:center;box-shadow:0 18px 44px rgba(60,40,25,.16)}
.hwbox>b{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em}
.hwbox p{font-size:13.5px;color:var(--foggy);margin:8px 0 14px;line-height:1.45}
.hwbox .btn{width:100%;height:48px}
.hwrest{grid-column:1/-1;display:flex;flex-direction:column;gap:12px;max-height:290px;overflow:hidden;filter:blur(7px);pointer-events:none;user-select:none;-webkit-mask-image:linear-gradient(to bottom,#000 25%,transparent 96%);mask-image:linear-gradient(to bottom,#000 25%,transparent 96%)}
@media(min-width:700px){.hwrest{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;max-height:330px}}
.mwall{position:absolute;inset:0;z-index:450;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(250,245,240,.42);backdrop-filter:blur(9px) saturate(1.05);-webkit-backdrop-filter:blur(9px) saturate(1.05)}
.mwall .hwbox{max-width:340px;box-shadow:0 22px 60px rgba(60,40,25,.24)}

/* A1 deck art on the swipe invite card */
.swinv .im.swdeck{background:linear-gradient(150deg,#F8825F 0%,#F2633F 55%,#DB4E2C 100%);overflow:hidden}
.swinv .im.swdeck i{position:absolute;left:50%;top:50%;width:52px;height:66px;margin:-33px 0 0 -26px;border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(90,30,10,.28)}
.swinv .im.swdeck i:nth-child(1){transform:translate(-13px,3px) rotate(-11deg);opacity:.55}
.swinv .im.swdeck i:nth-child(2){transform:translate(-6px,1px) rotate(-5deg);opacity:.8}
.swinv .im.swdeck i:nth-child(3){display:flex;align-items:center;justify-content:center;transform:rotate(3deg)}
.swinv .im.swdeck svg{width:22px;height:22px;color:var(--casa-orange)}
@media(min-width:760px){.swinv .im.swdeck i{width:64px;height:82px;margin:-41px 0 0 -32px}.swinv .im.swdeck svg{width:26px;height:26px}}

/* v39 · Casa paper under the swipe screen (P7) */
body.swfs{background:#1B5347}
html:has(body.swfs){background:#1B5347}
/* V1 · the deck lives on Casa green, and the stack peeks out below ------------------------- */
.sfw{background:radial-gradient(125% 82% at 50% 0%,#1B5347 0%,#123B33 46%,#0C2A24 100%);color:#fff}
.sftop,.sfbrand,.sffil,.sfstage,.sfacts,.sfleftpill{position:relative;z-index:1}
.sfx,.sflist{background:rgba(255,255,255,.13);border-color:transparent;color:#fff;backdrop-filter:blur(8px)}
.sfmid b{color:#fff}
.sfmid span{color:rgba(255,255,255,.6)}
.sfgap{flex:1}
.sfbrand{display:flex;align-items:center;justify-content:center;gap:9px;padding:2px 14px 10px;
  font-size:19px;font-weight:800;letter-spacing:-.026em;color:#fff;text-decoration:none}
.sfbrand img{width:30px;height:30px;border-radius:9px;flex:0 0 auto}
.sfbrand span{white-space:nowrap}
.sfbrand i{font-style:normal;color:#FF9773}

/* the shortlist: overlapping squares of what they kept, newest at the left */
.sfkeep{display:flex;align-items:center;gap:9px;padding:0 16px 9px;margin-top:-3px;
  color:#fff;text-decoration:none;-webkit-tap-highlight-color:transparent}
.sfkeep.none{pointer-events:none;justify-content:center}
.sfkeep.none .sfklab{color:rgba(255,255,255,.45)}
.sfkrow{display:flex;align-items:center;flex:0 0 auto}
.sfkrow:empty{display:none}
.sfkrow i{width:29px;height:29px;border-radius:9px;flex:0 0 auto;margin-left:-8px;
  background:#2C6B5C center/cover no-repeat;box-shadow:0 0 0 2px #123B33}
.sfkrow i:first-child{margin-left:0}
.sfkrow i.ovf{display:none}
.sfkrow i.pop{animation:sfkpop .34s cubic-bezier(.2,1.5,.4,1) both}
@keyframes sfkpop{0%{transform:scale(.35) translateY(-10px);opacity:0}100%{transform:none;opacity:1}}
.sfkmore{width:29px;height:29px;border-radius:9px;margin-left:-8px;background:#2C6B5C;
  box-shadow:0 0 0 2px #123B33;display:grid;place-items:center;flex:0 0 auto;
  font-size:10px;font-weight:800;color:rgba(255,255,255,.85)}
.sfklab{font-size:10.5px;font-weight:750;letter-spacing:-.01em;color:rgba(255,255,255,.58);white-space:nowrap}
.sfklab b{color:#fff;font-weight:800}
.sfkgo{margin-left:auto;flex:0 0 auto;font-size:10px;font-weight:800;color:#FF9773}
@media (prefers-reduced-motion: reduce){.sfkrow i.pop{animation:none}}
.sfmute{background:rgba(255,255,255,.13);color:#fff}
.sffc{background:rgba(255,255,255,.13);border-color:transparent;color:#fff}
.sffc .ico{opacity:.7}
.sffc.clr{background:transparent;border:1px dashed rgba(255,255,255,.35);color:rgba(255,255,255,.75)}

/* the cards behind sit LOWER, not higher, so you can see there is a pile */
.sfc{border:0;color:var(--ink);box-shadow:0 22px 44px -14px rgba(0,0,0,.62)}
.sfc.vis{display:flex;transform-origin:50% 100%;
  transform:translateY(calc(var(--d,0) * 13px)) scale(calc(1 - var(--d,0) * .05));
  z-index:calc(10 - var(--d,0))}
/* the next one up is a real card, photo and all, so you see what is coming */
.sfc.vis:not(.top){box-shadow:0 14px 26px -16px rgba(0,0,0,.55)}
.sfc.vis:not(.top)::after{content:"";position:absolute;inset:0;background:rgba(10,40,34,.48);
  border-radius:inherit;pointer-events:none;z-index:3}
/* as the top card is dragged away, the one behind rises and brightens into place */
.sfc.vis:not(.top):not(.far){transform:translateY(calc((1 - var(--k,0)) * 13px)) scale(calc(1 - (1 - var(--k,0)) * .05))}
.sfc.vis:not(.top):not(.far)::after{opacity:calc(1 - var(--k,0))}
.sfc.vis.far .sfinfo,.sfc.vis.far .sfimg{visibility:hidden}
.sfc.vis.far{background:#19503F}
.sfc.vis.far::after{background:none}

.sfstack{height:min(100%,540px)}
.sfstage{padding:8px 16px 30px}
.sfinfo{padding:11px 14px 13px}
.sfinfo>b{font-size:16.5px;margin:6px 0 3px}
.sfprice{margin-top:7px}
.sfprice b{font-size:19.5px}

/* two buttons, not three, and smaller */
.sfacts{gap:22px;padding:2px 0 2px}
.sfb.hold{width:62px;height:62px;box-shadow:0 0 0 6px rgba(242,99,63,.16),0 10px 24px -6px rgba(242,99,63,.55)}
.sfb.hold .sfh{width:26px;height:26px}
.sfb.hold .sfz{width:24px;height:24px}
.sfb.undo{width:42px;height:42px;background:rgba(255,255,255,.13);color:rgba(255,255,255,.82);box-shadow:none}
.sfb.undo:disabled{opacity:.34}
.sfring{inset:-5px;width:calc(100% + 10px);height:calc(100% + 10px)}

/* the ghost card and the wall, on the dark ground */
.sfghost{border-color:rgba(255,255,255,.3)}
.gdial::before{background:rgba(18,59,51,.55)}
.gdial .bg{stroke:rgba(255,255,255,.18)}
.sfghost .gcp b{color:#fff}
.sfghost .gcp span{color:rgba(255,255,255,.62)}
.sfghost .galt a.s{background:rgba(255,255,255,.16);color:#fff}
.sfhtxt{background:rgba(0,0,0,.55)}

/* v40 · swipe tab in the mobile bar */
.tswipe .tsw{position:relative;width:27px;height:27px;margin:-3px 0 -2px;border-radius:8px;background:linear-gradient(150deg,#F8825F 0%,#F2633F 55%,#DB4E2C 100%);display:block;box-shadow:0 3px 9px rgba(242,99,63,.35)}
.tswipe .tsw i{position:absolute;left:50%;top:50%;width:12px;height:15px;margin:-7.5px 0 0 -6px;border-radius:3px;background:#fff}
.tswipe .tsw i:nth-child(1){transform:translate(-3.5px,1px) rotate(-13deg);opacity:.5}
.tswipe .tsw i:nth-child(2){transform:translate(-1.5px,0) rotate(-6deg);opacity:.78}
.tswipe .tsw i:nth-child(3){display:flex;align-items:center;justify-content:center;transform:rotate(4deg)}
.tswipe .tsw svg{width:8px;height:8px;color:var(--casa-orange)}
.tswipe.on{color:var(--casa-orange)}
.tswipe.on .tsw{box-shadow:0 0 0 3px var(--casa-orange-soft),0 3px 9px rgba(242,99,63,.4)}

/* v42 · homepage "not sure where to start" band */
.wsband{position:relative;border-radius:20px;overflow:hidden;background:#1b1714;isolation:isolate;min-height:470px;display:flex}
.wsbg{position:absolute;inset:0;z-index:0;display:block}
.wsbg img{width:100%;height:100%;object-fit:cover;object-position:50% 74%;display:block}
.wsscrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(12,9,7,.92) 0%,rgba(12,9,7,.8) 34%,rgba(12,9,7,.34) 62%,rgba(12,9,7,.5) 100%)}
.wsin{position:relative;z-index:2;flex:1;display:flex;gap:22px;align-items:center;justify-content:space-between;padding:34px 30px}
.wscol{min-width:0}
.wshand{font-family:"Caveat","Plus Jakarta Sans",cursive;font-size:23px;line-height:1.08;color:#fff;margin:0 0 10px;transform:rotate(-2deg);transform-origin:left}
.wshand span{display:block}
.wshand i{font-style:normal;font-size:19px;opacity:.9}
.wsh{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1.06;color:#fff;margin:0 0 10px}
.wss{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.87);margin:0 0 18px;max-width:34ch}
.wscta{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--ink);border-radius:999px;padding:14px 24px;font-size:15px;font-weight:800}
.wscta .ico{width:16px;height:16px}
.wscta:hover{background:var(--casa-orange);color:#fff}
.wsfine{display:block;margin-top:11px;font-size:11.5px;color:rgba(255,255,255,.68)}
.wsedit{color:rgba(255,255,255,.8);text-decoration:underline}
.wschips{flex:0 0 auto;display:flex;flex-direction:column;gap:9px}
.wschip{display:flex;align-items:center;gap:10px;width:178px;background:#fff;color:var(--ink);border-radius:999px;padding:8px 16px 8px 8px;font-size:14px;font-weight:700;box-shadow:0 5px 16px rgba(0,0,0,.2)}
.wschip i{width:30px;height:30px;border-radius:10px;background:var(--casa-orange-soft);color:var(--casa-orange);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.wschip i .ico{width:16px;height:16px}
.wschip .wsct b{font-weight:700;font-size:14px}
.wschip .wsct em{display:none}
.wsarr{display:none}
.wschip:hover{transform:translateX(-3px)}

@media(max-width:760px){
  /* tall portrait card, everything stacked with room to breathe */
  .wsband{min-height:545px;display:flex}
  .wsbg img{object-position:50% 40%}
  .wsscrim{background:linear-gradient(180deg,rgba(10,8,6,.62) 0%,rgba(10,8,6,.22) 34%,rgba(10,8,6,.46) 62%,rgba(10,8,6,.8) 100%)}
  .wsin{flex:1;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:26px 18px 22px}
  .wscol{display:contents}
  .wshand{order:1;font-size:21px;margin-bottom:12px}
  .wshand i{font-size:17px}
  .wsh{order:2;font-size:33px;line-height:1.04;margin-bottom:12px}
  .wss{order:3;font-size:15px;line-height:1.45;max-width:24ch;margin-bottom:0}
  .wschips{order:4;margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:26px}
  .wschip{width:auto;min-width:0;border-radius:15px;padding:11px 9px;gap:8px;box-shadow:0 6px 18px rgba(0,0,0,.22)}
  .wschip i{width:30px;height:30px;border-radius:10px}
  .wschip i .ico{width:15px;height:15px}
  .wschip .wsct{min-width:0;flex:1;display:block}
  .wschip .wsct b{display:block;font-size:13.5px;font-weight:800;letter-spacing:-.02em;line-height:1.15;white-space:nowrap}
  .wschip .wsct em{display:block;font-style:normal;font-size:11px;font-weight:500;color:var(--foggy);line-height:1.25;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .wsarr{display:block;width:13px;height:13px;flex:0 0 auto;color:var(--ink-soft);opacity:.75}
  .wschip:hover{transform:none}
  .wsact{order:5;margin-top:14px}
  .wscta{width:100%;justify-content:center;background:var(--casa-orange);color:#fff;padding:15px 20px;font-size:15.5px}
  .wscta .ico{width:17px;height:17px}
  .wsfine{margin-top:10px;font-size:11.5px;line-height:1.35;color:rgba(255,255,255,.72)}
}
@media(max-width:390px){
  .wschips{gap:8px}
  .wschip{padding:10px 8px;gap:7px}
  .wsarr{display:none}
  .wschip .wsct b{font-size:13px}
  .wschip .wsct em{font-size:10.5px}
}
@media(max-width:350px){
  .wsband{min-height:520px}
  .wsh{font-size:28px}
  .wschip i{width:27px;height:27px}
}
.faq p a{color:var(--casa-orange);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* v46 · floating tab bar (B2) */
@media(max-width:860px){
  .tabs-m{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));border-top:0;border-radius:20px;background:var(--surface);
    padding:8px 4px;box-shadow:0 10px 30px rgba(60,40,25,.18),0 2px 8px rgba(60,40,25,.07);backdrop-filter:none}
  body{padding-bottom:92px}
  body:has(.mcta){padding-bottom:158px}
  .mcta{bottom:82px;border-radius:18px;left:10px;right:10px;border-top:0;box-shadow:0 8px 24px rgba(60,40,25,.16)}
}

/* v47 · the free-account wall */
.fwbox{position:relative;width:100%;max-width:560px;background:#E9F7EF;border:1px solid #D2EADD;border-radius:22px;padding:22px 20px 20px;text-align:left;box-shadow:0 20px 50px rgba(20,60,45,.14)}
.fwx{position:absolute;top:14px;right:14px;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#0F2E27;display:flex;align-items:center;justify-content:center;cursor:pointer}
.fwx .ico{width:16px;height:16px}
.fwtag{display:inline-flex;align-items:center;background:#CDEFDC;color:#17794A;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.fwtop{display:flex;align-items:center;gap:14px}
.fwcopy{min-width:0;flex:1}
.fwcopy b{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:#0F2E27;padding-right:26px}
.fwcopy p{margin:9px 0 0;font-size:13.5px;line-height:1.45;color:#4C6B61}
.fwart{flex:0 0 108px;display:block}
.fwart svg{width:108px;height:108px;display:block}
.fwticks{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 15px}
.fwticks span{display:inline-flex;align-items:center;gap:6px;background:#D7F0E2;color:#123B33;border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:700}
.fwticks .ico{width:13px;height:13px;color:#17794A}
.fwcta{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:52px;background:var(--casa-orange);color:#fff;border-radius:999px;font-size:15.5px;font-weight:800;box-shadow:0 6px 18px rgba(242,99,63,.32)}
.fwcta .ico{width:17px;height:17px}
.fwcta:hover{background:var(--casa-orange-hover,#DB4E2C)}
.fwlog{display:block;text-align:center;margin-top:12px;font-size:12px;font-weight:500;color:#6C8A81;text-decoration:none}
.fwlog b{font-weight:700;color:#3C5A51;text-decoration:underline;text-underline-offset:2px}
@media(max-width:520px){
  .fwbox{padding:18px 14px 16px;border-radius:20px}
  .fwticks{flex-wrap:nowrap;gap:5px;justify-content:space-between}
  .fwticks span{font-size:10.5px;padding:6px 8px;gap:0;white-space:nowrap;min-width:0}
  .fwticks .ico{display:none}
  .fwcopy b{font-size:20px}
  .fwcopy p{font-size:12.5px}
  .fwart{flex:0 0 78px}
  .fwart svg{width:78px;height:78px}
  .fwcta{height:48px;font-size:15px}
}
.mwall .fwbox{max-width:480px}
.sfwall .fwbox{max-width:560px}
.hw .fwbox{max-width:560px}

/* v47 · footer, collapsed on phones (FT1) */
.foot .fmob{display:none}
.foot .fcol>summary{list-style:none;cursor:default;display:block}
.foot .fcol>summary::-webkit-details-marker{display:none}
.foot .fcv{display:none}
@media(max-width:860px){
  .foot .fdesk{display:none}
  .foot .fmob{display:block;font-size:12.5px;color:var(--ink-soft);margin:7px 0 0;line-height:1.45}
  .foot .fgrid{display:block;margin-top:14px}
  .foot .fbrand{margin-bottom:4px}
  .foot .fcol{border-top:1px solid var(--border)}
  .foot .fcol:last-of-type{border-bottom:1px solid var(--border)}
  .foot .fcol>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:14px 2px;font-size:14px}
  .foot .fcol>summary b{font-size:14px;font-weight:800;letter-spacing:-.01em}
  .foot .fcv{display:block;width:14px;height:14px;color:var(--foggy);transition:transform .18s}
  .foot .fcol[open]>summary .fcv{transform:rotate(180deg)}
  .foot .fcol>div{display:flex;flex-direction:column;gap:10px;padding:2px 2px 14px}
  .foot .fcol>div a{font-size:12.5px}
  .footlang{padding-top:14px}
}
.foot .fgrid a.btn.fdesk{display:inline-flex}
@media(min-width:861px){.foot .fgrid .fcol:last-of-type>div a{display:inline-block;margin-right:10px}}
@media(max-width:860px){
  .foot .fgrid a.btn.fdesk,.foot .fdesk{display:none}
  .foot .fgrid .brand{font-size:19px}
  .foot .fbrand p.fmob{max-width:none}
}
@media(max-width:860px){
  .foot .fbrand .brand{display:inline-flex;align-items:center;gap:9px}
  .foot .fbrand .brand img{width:30px;height:30px}
}

/* v49 · calmer floating bar: no smudge, no glow */
@media(max-width:860px){
  .tabs-m{box-shadow:0 1px 3px rgba(60,40,25,.06);border:1px solid var(--border)}
}
.tswipe .tsw{box-shadow:none}
.tswipe.on .tsw{box-shadow:none}
@media(max-width:380px){
  .fwticks span{font-size:9.5px;padding:6px 6px}
  .fwbox{padding:16px 12px 15px}
}
@media(max-width:340px){.fwticks span{font-size:9px;padding:5px 5px;letter-spacing:-.01em}}
@media(max-width:340px){.sfwall,.hwall,.mwall{padding:14px}}

/* v52 · footer slogan (T2) */
.foot .fslogan{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.025em;line-height:1.25;margin:10px 0 0;max-width:22ch}
.foot .fslogan em{font-style:normal;color:var(--casa-orange)}
.foot .fdesc{font-size:12.5px;color:var(--foggy);line-height:1.5;margin:9px 0 12px;max-width:360px}
@media(max-width:860px){.foot .fslogan{font-size:15.5px;margin-top:9px;max-width:24ch}}

/* v53 · footer slogan breaks after the comma */
.foot .fslogan em{display:block}

/* v53 · the assistant panel, A1 done properly */
.cpanel{background:#FBF7F3;border-radius:26px;border:1px solid var(--border);box-shadow:0 26px 70px rgba(70,40,20,.22),0 4px 14px rgba(70,40,20,.08);overflow:hidden}
.cpglow{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(130% 42% at 50% 104%,#F9CFB4 0%,rgba(251,239,230,.7) 42%,rgba(251,247,243,0) 78%),
             radial-gradient(90% 26% at 50% -4%,rgba(255,226,208,.85) 0%,rgba(251,247,243,0) 70%)}
.cpanel>*:not(.cpglow){position:relative;z-index:1}
.cph{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;border-bottom:0}
.cpic{width:36px;height:36px;flex:0 0 auto;border-radius:12px;background:linear-gradient(150deg,#F8825F,#F2633F 58%,#DB4E2C);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(242,99,63,.3)}
.cpic .ico{width:18px;height:18px;color:#fff}
.cpwho{flex:1;min-width:0;line-height:1.2}
.cpwho b{display:block;font-size:15px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.cpwho span{display:block;font-size:11px;color:var(--foggy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpleft{flex:0 0 auto;font-size:10.5px;font-weight:800;color:var(--casa-orange);background:var(--casa-orange-soft);border-radius:999px;padding:5px 9px}
.cphuman{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:11.5px;font-weight:700;color:var(--ink);box-shadow:0 2px 8px rgba(70,40,20,.06)}
.cphuman .ico{width:13px;height:13px;color:var(--casa-orange)}
.cphuman:hover{border-color:var(--casa-orange);color:var(--casa-orange)}
.cpx{width:32px;height:32px;flex:0 0 auto;border:1px solid var(--border);border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);cursor:pointer}
.cpx .ico{width:13px;height:13px}
.cplog{background:transparent;padding:10px 14px 4px;gap:10px}
.cplog .cm{max-width:92%}
.cplog .cm.a .b{background:var(--surface);border:1px solid rgba(237,228,220,.9);border-radius:20px;border-bottom-left-radius:20px;padding:14px 15px;font-size:13.5px;line-height:1.55;color:#3E3630;box-shadow:0 4px 18px rgba(90,50,25,.07)}
.cplog .cm.u .b{background:var(--casa-orange);color:#fff;border-radius:20px;border-bottom-right-radius:8px;padding:11px 14px;font-size:13.5px;line-height:1.5;box-shadow:0 4px 14px rgba(242,99,63,.28)}
.cplog .cm.hello .b{padding-top:13px}
.cphi{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin-bottom:9px}
.cphi svg{width:15px;height:15px;color:var(--casa-orange);flex:0 0 auto}
.cpchips{padding:8px 14px 0;gap:7px}
.cpchips .tab{height:32px;font-size:11.5px;font-weight:700;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:0 13px;box-shadow:0 2px 8px rgba(70,40,20,.05)}
.cpin{align-items:center;gap:0;padding:10px 14px 6px}
.cpin{background:transparent}
.cpin{position:relative}
.cpin{display:flex}
.cpinner,.cpin{--x:0}
.cpin{border:0}
.cpin textarea{flex:1;min-height:46px;max-height:120px;border:0!important;background:transparent;font-size:13.5px;padding:13px 6px 13px 0;box-shadow:none!important;outline:none}
.cpin textarea::placeholder{color:var(--grey,#9A918A)}
.cpspark{width:16px;height:16px;flex:0 0 auto;margin:0 9px 0 14px;color:var(--casa-orange)}
.cpspark svg{width:16px;height:16px;display:block}
.cpsend{width:40px;height:40px;flex:0 0 auto;border:0;border-radius:50%;background:linear-gradient(150deg,#F8825F,#F2633F 60%,#DB4E2C);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px rgba(242,99,63,.35);margin-right:4px}
.cpsend .ico{width:17px;height:17px;color:#fff}
.cpsend:active{transform:scale(.96)}
.cpin{margin:10px 14px 4px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:0 8px 24px rgba(90,50,25,.10)}
.cpin:focus-within{border-color:var(--casa-orange);box-shadow:0 8px 24px rgba(242,99,63,.18)}
.cpfine{text-align:center;font-size:10px;color:var(--foggy);margin:0;padding:0 16px max(10px,env(safe-area-inset-bottom));line-height:1.4}
.cpcontact{background:var(--casa-orange-soft);border-top:1px solid var(--border)}
@media(max-width:860px){
  .cpanel{right:0;left:0;bottom:0;width:auto;max-width:none;height:100dvh;border-radius:0;border:0}
  .cph{padding-top:max(14px,env(safe-area-inset-top))}
  .cphuman span{display:none}
  .cphuman{padding:0 10px}
}
@media(min-width:861px){.cpanel{width:420px;height:min(640px,calc(100vh - 110px))}}
.cpfine .cpleft{margin-right:7px;padding:3px 8px;font-size:9.5px}
.cpfine .cpleft[hidden]{display:none}

/* v55 · the two chat gates */
.cpgate{max-width:100%!important;align-self:stretch!important}
.cpskel{display:flex!important;flex-direction:column;gap:8px;filter:blur(4px);user-select:none;pointer-events:none;background:var(--surface);border:1px solid rgba(237,228,220,.9);border-radius:20px;padding:15px}
.cpskel i{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,#EDE4DC,#F7F1EC 40%,#EDE4DC)}
.cplock{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:10px 11px;margin-top:-10px;position:relative;z-index:2;box-shadow:0 8px 22px rgba(90,50,25,.12)}
.cplock .lk{width:32px;height:32px;flex:0 0 auto;border-radius:10px;background:var(--casa-orange-soft);color:var(--casa-orange);display:flex;align-items:center;justify-content:center}
.cplock .lk svg{width:16px;height:16px}
.cplock .tx{flex:1;min-width:0;font-size:11px;line-height:1.35;color:var(--foggy)}
.cplock .tx b{display:block;font-size:12.5px;font-weight:800;letter-spacing:-.01em;color:var(--ink);margin-bottom:1px}
.cplock .go{flex:0 0 auto;height:34px;padding:0 15px;border-radius:999px;background:var(--casa-orange);color:#fff;font-size:12.5px;font-weight:800;display:flex;align-items:center;box-shadow:0 4px 12px rgba(242,99,63,.3)}
.cpnoacc{display:block;text-align:center;margin-top:9px;font-size:11.5px;color:var(--foggy);text-decoration:underline;text-underline-offset:2px}
.cpin.locked{opacity:.55}
.cpin.locked .cpsend{background:var(--border-strong);box-shadow:none}

/* v56 · no more zoom-on-tap, no grey band, roomier footer */
html{background:var(--canvas)}
body.chatopen{overflow:hidden;background:var(--canvas)}
.cpin textarea{font-size:16px}
@media(max-width:860px){
  .cpanel{height:100dvh;height:100svh}
  .cpin textarea{font-size:16px;min-height:44px;padding:11px 6px 11px 0}
  .foot .fgrid{margin-top:22px}
  .foot .fcol:first-of-type{border-top:1px solid var(--border)}
  .foot .fslogan{margin-bottom:4px}
}
.foot .fbrand{margin-bottom:18px}

/* v57 · share sheet, and applying needs an account */
.shov{position:fixed;inset:0;z-index:320;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(25,21,18,.42);backdrop-filter:blur(6px)}
.shov[hidden]{display:none}
.shbox{position:relative;width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:22px 20px 20px;box-shadow:0 26px 70px rgba(60,40,25,.3)}
.shbox>b{display:block;font-size:18px;font-weight:800;letter-spacing:-.02em;padding-right:34px}
.shbox p{margin:7px 0 14px;font-size:13px;line-height:1.45;color:var(--foggy)}
.shbox p a{color:var(--casa-orange);font-weight:700;text-decoration:underline}
.shx{position:absolute;top:14px;right:14px;width:30px;height:30px;border:1px solid var(--border);border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);cursor:pointer}
.shx .ico{width:13px;height:13px}
.shbox .shrow{display:flex;flex-wrap:wrap;gap:8px}
.shbox .shrow[hidden]{display:none}
.shbox input{flex:1 1 190px;min-width:0;height:44px;border:1px solid var(--border);border-radius:12px;padding:0 13px;font-size:16px;background:var(--surface)}
.shbox .btn{height:44px}
.apgate{background:#E9F7EF;border:1px solid #D2EADD;border-radius:18px;padding:18px 16px 16px;text-align:center}
.aplk{width:42px;height:42px;border-radius:50%;background:var(--casa-orange-soft);color:var(--casa-orange);display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.aplk .ico{width:18px;height:18px}
.apgate>b{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em;color:#0F2E27}
.apgate p{margin:7px 0 13px;font-size:13px;line-height:1.45;color:#4C6B61}
.apgate .btn{height:46px}
.apnew{display:block;margin-top:11px;font-size:12.5px;color:#3C5A51;text-decoration:underline;text-underline-offset:2px}

/* v58 · floating apply bar, share sheet, save gate */
.mcta{gap:12px}
.mcta .mcp{display:flex;align-items:baseline;gap:5px;flex:0 0 auto}
.mcta .mcp b{font-size:19px;font-weight:800;letter-spacing:-.02em}
.mcta .mcp span{font-size:12.5px;color:var(--foggy)}
.mcta .mcgo{flex:1 1 auto;height:50px;border-radius:999px;font-size:15.5px;font-weight:800;gap:9px;box-shadow:0 6px 18px rgba(242,99,63,.32)}
.mcta .mcgo .ico{width:17px;height:17px}
.shbox .shrow input{flex:1 1 200px;font-weight:600;font-size:14px}
.shbtns{display:flex;gap:8px;margin-top:9px}
.shbtns .btn{flex:1;height:42px}
.shref{margin:13px 0 0!important;font-size:11.5px!important;line-height:1.45}
.shref a{color:var(--casa-orange);font-weight:700;text-decoration:underline}

/* v59 · original-ad row under the map */
.orig{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin-top:20px}
.orig .otx{flex:1;min-width:200px}
.orig .otx b{display:block;font-size:14px;font-weight:800;letter-spacing:-.01em}
.orig .otx span{display:block;font-size:12.5px;color:var(--foggy);line-height:1.45;margin-top:2px}
.orig .btn{flex:0 0 auto;height:42px}


/* v63 · alerts (A2), the WhatsApp strip (P3) and the sweep countdown (D1/E2) ----------------- */
.belly{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  color:var(--ink);background:var(--surface);border:1px solid var(--border);flex:0 0 auto;transition:border-color .14s,background .14s}
.belly:hover{border-color:var(--border-strong)}
.belly.on{background:var(--casa-orange-soft);border-color:transparent;color:var(--casa-orange-700,#C2541B)}
.belly .ico{width:19px;height:19px}
.belln{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;
  background:var(--casa-orange);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;
  border:2px solid var(--canvas);font-variant-numeric:tabular-nums}
.aclinks .acn.hot{background:var(--casa-orange);color:#fff}

.alwrap{max-width:640px;padding-top:22px}
.alhead{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}
.alhead .alh{flex:1;min-width:0}
.alhead h1{font-size:clamp(24px,5.4vw,30px);letter-spacing:-.025em;margin:0 0 2px}
.alhead p{margin:0;font-size:13.5px;color:var(--foggy);font-weight:600}
.alclr{background:transparent;border:1px solid var(--border);border-radius:999px;padding:7px 13px;
  font-size:12.5px;font-weight:700;color:var(--foggy);cursor:pointer;white-space:nowrap}
.alclr:hover{border-color:var(--border-strong);color:var(--ink)}

.alwatch{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:10px 12px}
.alwatch.off{background:var(--surface-soft)}
.alwi{width:30px;height:30px;border-radius:9px;background:var(--casa-orange-soft);color:var(--casa-orange);
  display:grid;place-items:center;flex:0 0 auto}
.alwatch.off .alwi{background:var(--border);color:var(--foggy)}
.alwi .ico{width:15px;height:15px}
.alwt{flex:1;min-width:0}
.alwt b{display:block;font-size:13px;letter-spacing:-.01em}
.alwt span{display:block;font-size:12px;color:var(--foggy);margin-top:1px}
.alwe{font-size:12.5px;font-weight:700;color:var(--casa-orange);text-decoration:underline;text-underline-offset:2px;white-space:nowrap}

/* P3: the thin green strip, right under the filter */
.wastrip{display:flex;align-items:center;gap:9px;width:100%;margin-top:6px;padding:8px 11px;border:0;
  background:#E9FBF1;border-radius:11px;cursor:pointer;text-align:left;font-family:inherit;color:#0F5132}
.wastrip:hover{background:#DFF7E8}
.wastrip b{flex:1;font-size:12.5px;font-weight:750}
.wam{width:22px;height:22px;border-radius:7px;background:#25D366;display:grid;place-items:center;flex:0 0 auto}
.wam .ico{width:13px;height:13px;color:#fff}
.wasw{width:34px;height:20px;border-radius:999px;background:#CFE6D8;position:relative;flex:0 0 auto;transition:background .18s}
.wasw::after{content:"";position:absolute;top:2.5px;left:2.5px;width:15px;height:15px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .18s}
.wasw.on{background:#25D366}
.wasw.on::after{left:16.5px}
@media (prefers-reduced-motion:reduce){.wasw,.wasw::after{transition:none}}

.alday{font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint,#8C857E);
  margin:22px 0 9px}
.allist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.alrow{position:relative;display:block;background:var(--surface);border:1px solid var(--border);border-radius:15px;
  padding:10px;text-decoration:none;color:var(--ink);transition:border-color .14s,box-shadow .14s}
.alrow:hover{border-color:var(--border-strong);box-shadow:0 6px 18px -9px rgba(60,40,25,.22)}
.alrow.fresh{border-color:rgba(242,99,63,.34);background:var(--casa-orange-soft)}
.alhd{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.alhd b{flex:1;min-width:0;font-size:14px;letter-spacing:-.013em;line-height:1.3}
.alhd em,.almini em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--ink-faint,#8C857E);flex:0 0 auto}
.aldot{width:7px;height:7px;border-radius:50%;background:var(--casa-orange);flex:0 0 auto}
.alshots{display:flex;gap:6px}
.alsh{flex:1;aspect-ratio:1.25;border-radius:10px;overflow:hidden;background:var(--surface-soft);display:grid;place-items:center}
.alsh img{width:100%;height:100%;object-fit:cover;display:block}
.alsh.bad img{display:none}
.alsh.more{background:var(--surface-soft);font-size:13px;font-weight:800;color:var(--foggy);border:1px solid var(--border)}
.almini{display:flex;align-items:center;gap:10px}
.alth{position:relative;width:38px;height:38px;border-radius:10px;overflow:hidden;flex:0 0 auto;
  background:var(--surface-soft);display:grid;place-items:center;color:var(--border-strong)}
.alth img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}
.alth.bad img{display:none}
.alth i{position:absolute;display:grid;place-items:center}
.alth .ico{width:16px;height:16px}
.almini b{flex:1;min-width:0;font-size:13.5px;letter-spacing:-.012em;line-height:1.32}
.k-gone .alth{color:var(--foggy)}
.k-inquiry .alth{color:var(--success,#3E8E68)}

.alsetup{display:flex;align-items:center;gap:14px;background:var(--casa-orange-soft);border-radius:20px;padding:20px 18px}
.alst{flex:1;min-width:0}
.alst b{display:block;font-size:17px;letter-spacing:-.015em;margin-bottom:5px}
.alst p{margin:0 0 13px;font-size:13.5px;line-height:1.55;color:var(--ink-soft,#5F5A55)}
.alsa{width:104px;flex:0 0 auto}
.alsa svg{width:100%;height:auto;display:block}
.alempty{text-align:center;background:var(--surface);border:1px dashed var(--border-strong);border-radius:18px;padding:26px 20px;margin-top:20px}
.alempty b{display:block;font-size:16px;margin-bottom:6px}
.alempty p{margin:0 auto 14px;font-size:13.5px;line-height:1.6;color:var(--foggy);max-width:44ch}
@media(max-width:520px){
  .alsetup{flex-direction:column;align-items:flex-start;gap:4px}
  .alsa{width:84px;align-self:flex-end;margin-top:-46px}
}

/* U1: the race sheet */
.wagate{position:fixed;inset:0;z-index:400;display:flex;align-items:flex-end;justify-content:center}
.wagate[hidden]{display:none!important}
.wagov{position:absolute;inset:0;background:rgba(18,59,51,.46);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s}
.wagate.up .wagov{opacity:1}
.wagbox{position:relative;width:100%;max-width:430px;background:var(--surface);border-radius:22px 22px 0 0;
  padding:20px 18px max(20px,env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .22s cubic-bezier(.22,1,.36,1)}
.wagate.up .wagbox{transform:none}
.wagx{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:0;background:var(--surface-soft);
  color:var(--foggy);display:grid;place-items:center;cursor:pointer}
.wagx .ico{width:14px;height:14px}
.wagbox b{display:block;font-size:17px;letter-spacing:-.018em;padding-right:34px}
.wagbox p{margin:4px 0 0;font-size:13.5px;color:var(--foggy);line-height:1.5}
.warace{display:grid;gap:9px;margin:16px 0 4px}
.warl{display:flex;align-items:center;gap:10px}
.waw{width:74px;flex:0 0 auto;font-size:12.5px;font-weight:800}
.watr{flex:1;height:10px;border-radius:5px;background:var(--surface-soft);position:relative;overflow:hidden}
.watr u{position:absolute;left:0;top:0;bottom:0;border-radius:5px}
.warl.you .watr u{width:100%;background:#25D366}
.warl.them .watr u{width:16%;background:var(--border-strong)}
.wal{width:44px;text-align:right;flex:0 0 auto;font-size:11.5px;font-weight:750;color:var(--foggy)}
.wagcta{margin-top:18px;height:46px}
.wagno{display:block;width:100%;margin-top:10px;background:none;border:0;font-family:inherit;
  font-size:12.5px;font-weight:700;color:var(--foggy);cursor:pointer}
@media(min-width:640px){
  .wagate{align-items:center}
  .wagbox{border-radius:22px;transform:translateY(14px) scale(.98);opacity:0;transition:transform .2s,opacity .2s}
  .wagate.up .wagbox{transform:none;opacity:1}
}

/* D1: next sweep, on the housing tab */
.sweep{display:flex;align-items:center;gap:10px;background:#123B33;color:#fff;border-radius:13px;
  padding:9px 11px;margin:0 0 12px}
.sweep.hit{background:var(--success,#3E8E68);cursor:pointer}
.swdial{position:relative;width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto}
.swdial svg{position:absolute;inset:0;transform:rotate(-90deg)}
.swdial circle{fill:none;stroke-width:3;stroke-linecap:round}
.swdial .bg{stroke:rgba(255,255,255,.18)}
.swdial .fg{stroke:#25D366;transition:stroke-dashoffset 1s linear}
.swdial b{font-size:8.5px;letter-spacing:-.03em;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.swtx{flex:1;min-width:0}
.swtx b{display:block;font-size:12.5px;letter-spacing:-.01em}
.swtx span{display:block;font-size:11px;opacity:.72;font-weight:650;margin-top:1px}
.sweep .swgo{font-size:11px;font-weight:800;background:rgba(255,255,255,.18);padding:6px 11px;border-radius:999px;flex:0 0 auto}

/* E2: the empty deck, on the swipe paper */
.sfghost{width:min(72vw,262px);aspect-ratio:.74;max-height:min(100%,382px);border-radius:20px;
  border:2px dashed rgba(18,59,51,.3);display:grid;place-content:center;justify-items:center;gap:12px;
  text-align:center;padding:20px 18px}
.sfghost.hit{border-style:solid;border-color:var(--success,#3E8E68);background:var(--success,#3E8E68);color:#fff}
.gdial{position:relative;width:78px;height:78px;display:grid;place-items:center}
.gdial::before{content:"";position:absolute;inset:7px;border-radius:50%;background:rgba(252,248,244,.72)}
.gdial b,.gdial .gnum{position:relative}
.sfghost.hit .gdial::before{background:transparent}
.gdial svg{position:absolute;inset:0;transform:rotate(-90deg)}
.gdial circle{fill:none;stroke-width:6;stroke-linecap:round}
.gdial .bg{stroke:rgba(18,59,51,.15)}
.gdial .fg{stroke:var(--casa-orange);transition:stroke-dashoffset 1s linear}
.gdial b{font-size:18px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.sfghost .gcp b{display:block;font-size:14px;letter-spacing:-.015em}
.sfghost .gcp span{display:block;font-size:12px;color:rgba(18,59,51,.62);font-weight:650;margin-top:3px}
.sfghost.hit .gcp span{color:rgba(255,255,255,.8)}
.sfghost .gnum{font-size:46px;font-weight:800;letter-spacing:-.04em;line-height:1}
.sfghost .gbtn{background:#fff;color:#1F5C44;font-size:12.5px;font-weight:800;padding:9px 18px;border-radius:999px;border:0;
  font-family:inherit;cursor:pointer}
.sfghost .galt{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.sfghost .galt a{font-size:11.5px;font-weight:800;padding:8px 14px;border-radius:999px;text-decoration:none}
.sfghost .galt a.p{background:var(--casa-orange);color:#fff}
.sfghost .galt a.s{background:rgba(255,255,255,.72);color:#123B33}

/* the multi-pick card in the start deck */
.dkopt.many{justify-content:flex-start}
.dkopt.many > span{flex:1;min-width:0}
.dktick{flex:0 0 auto;width:21px;height:21px;border-radius:7px;border:2px solid rgba(35,31,26,.2);
  display:grid;place-items:center;transition:.15s;position:relative}
.dktick::after{content:"";width:9px;height:4.5px;border-left:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(-45deg) translateY(-1px);opacity:0;transition:opacity .12s}
.dkopt.picked{color:#C9441F;border-color:#C9441F;box-shadow:0 0 0 4px rgba(255,255,255,.45)}
.dkopt.picked small{color:#C9441F;opacity:.7}
.dkopt.picked .dktick{background:#C9441F;border-color:#C9441F}
.dkopt.picked .dktick::after{opacity:1}
.dkgo:disabled{opacity:.4;cursor:not-allowed}


/* homepage type picker: reads like the phone's own select, ticks more than one */
.hspick{display:flex;align-items:center;gap:4px;width:100%;background:none;border:0;padding:0;cursor:pointer;
  font-family:inherit;font-size:15px;font-weight:700;color:var(--ink);text-align:left;line-height:1.3}
.hspick .hspv{width:15px;height:15px;flex:0 0 auto;opacity:.55;margin-left:auto}
.kdsheet{position:fixed;inset:0;z-index:420;display:flex;align-items:flex-end;justify-content:center}
.kdsheet[hidden]{display:none!important}
.kdov{position:absolute;inset:0;background:rgba(36,34,32,.42);opacity:0;transition:opacity .2s}
.kdsheet.up .kdov{opacity:1}
.kdbox{position:relative;width:100%;max-width:420px;background:var(--surface);border-radius:20px 20px 0 0;
  padding:10px 10px max(14px,env(safe-area-inset-bottom));transform:translateY(100%);
  transition:transform .22s cubic-bezier(.22,1,.36,1)}
.kdsheet.up .kdbox{transform:none}
.kdo{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;padding:14px 12px;
  font-family:inherit;font-size:16px;font-weight:650;color:var(--ink);cursor:pointer;text-align:left;border-radius:12px}
.kdo + .kdo{box-shadow:inset 0 1px 0 var(--border)}
.kdo i{width:18px;height:18px;flex:0 0 auto;position:relative}
.kdo.on i::after{content:"";position:absolute;left:3px;top:4px;width:11px;height:6px;
  border-left:2.4px solid var(--casa-orange);border-bottom:2.4px solid var(--casa-orange);transform:rotate(-45deg)}
.kdo.on{color:var(--ink)}
.kddone{width:100%;margin-top:8px;height:46px;border:0;border-radius:999px;background:var(--casa-orange);color:#fff;
  font-family:inherit;font-size:15px;font-weight:800;cursor:pointer}
@media(min-width:640px){
  .kdsheet{align-items:center}
  .kdbox{border-radius:20px;max-width:340px;transform:translateY(12px) scale(.98);opacity:0;transition:transform .2s,opacity .2s}
  .kdsheet.up .kdbox{transform:none;opacity:1}
}

/* v73 · swipe: loading, action row, hold to apply, receipt ---------------------------------- */
.sfload{position:fixed;inset:0;z-index:220;background:radial-gradient(125% 82% at 50% 0%,#1B5347 0%,#123B33 46%,#0C2A24 100%);display:grid;place-items:center;
  transition:opacity .42s ease,transform .42s ease}
.sfload::before{content:"";position:absolute;inset:0;opacity:.18;
  background:radial-gradient(circle at 20% 14%,rgba(255,255,255,.5),transparent 46%)}
.sfload.gone{opacity:0;transform:scale(1.04);pointer-events:none}
/* four cards dealing off a stack, on a loop */
.sfldeck{position:relative;width:104px;height:140px;perspective:900px}
.sfldeck i{position:absolute;inset:0;border-radius:16px;background:#fff;display:grid;place-items:center;
  box-shadow:0 10px 24px -10px rgba(18,59,51,.45);transform-origin:50% 135%;
  animation:sfdeal 2s cubic-bezier(.45,.05,.25,1) infinite;animation-delay:calc(var(--n) * .22s)}
.sfldeck i img{width:42px;height:42px;border-radius:13px;opacity:.9}
.sfldeck i:nth-child(2){background:#FFF6F1}
.sfldeck i:nth-child(3){background:#FFEDE3}
.sfldeck i:nth-child(4){background:#FFE0CE}
@keyframes sfdeal{
  0%   {transform:translate3d(0,0,0) rotate(0deg) scale(1);opacity:1}
  28%  {transform:translate3d(-64px,-26px,0) rotate(-15deg) scale(1.03);opacity:1}
  56%  {transform:translate3d(58px,-14px,0) rotate(12deg) scale(1.01);opacity:1}
  78%  {transform:translate3d(6px,4px,0) rotate(3deg) scale(1);opacity:1}
  100% {transform:translate3d(0,0,0) rotate(0deg) scale(1);opacity:1}}
.sfmute{width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.55);color:var(--deep,#123B33);
  display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.sfmute .ico{width:15px;height:15px}
.sfmute.off{opacity:.42}
.sfmute.off::after{content:"";position:absolute;width:19px;height:1.8px;background:currentColor;transform:rotate(-45deg)}
.sfmute{position:relative}

.sfacts{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:20px;padding:6px 0 2px}
.sfb{border:0;background:#fff;border-radius:50%;display:grid;place-items:center;cursor:pointer;
  box-shadow:0 6px 16px -5px rgba(18,59,51,.3);transition:transform .14s,box-shadow .14s;position:relative}
.sfb:active{transform:scale(.93)}
.sfb.no{width:52px;height:52px;color:#C74E45}
.sfb.no .ico{width:21px;height:21px}
.sfb.undo{width:44px;height:44px;color:var(--foggy)}
.sfb.undo .ico{width:18px;height:18px}
.sfb.undo:disabled{opacity:.38;box-shadow:none;cursor:default}
.sfb.hold{width:66px;height:66px;background:var(--casa-orange);color:#fff;
  box-shadow:0 0 0 0 rgba(242,99,63,.4),0 8px 20px -4px rgba(242,99,63,.55)}
.sfb.hold .sfh{width:27px;height:27px;transition:opacity .18s,transform .18s}
.sfb.hold .sfz{position:absolute;width:26px;height:26px;opacity:0;transform:scale(.6);transition:opacity .18s,transform .18s}
.sfb.hold.charging .sfh{opacity:0;transform:scale(.6)}
.sfb.hold.charging .sfz{opacity:1;transform:scale(1)}
.sfb.hold.charging{animation:sfpulse .75s ease-out forwards}
.sfb.hold.fired{background:var(--success,#3E8E68);animation:sfpop .4s ease-out}
.sfb.hold.fired .sfh{opacity:0}.sfb.hold.fired .sfz{opacity:1;transform:scale(1.15)}
@keyframes sfpulse{from{box-shadow:0 0 0 0 rgba(242,99,63,.45),0 8px 20px -4px rgba(242,99,63,.55)}
  to{box-shadow:0 0 0 16px rgba(242,99,63,0),0 8px 20px -4px rgba(242,99,63,.55)}}
@keyframes sfpop{0%{transform:scale(1)}45%{transform:scale(1.14)}100%{transform:scale(1)}}
.sfring{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);transform:rotate(-90deg);pointer-events:none}
.sfring circle{fill:none;stroke-width:4;stroke-linecap:round}
.sfring .bg{stroke:rgba(255,255,255,.35)}
.sfring .fg{stroke:#fff}
.sfcap{position:relative;z-index:2;text-align:center;margin:8px 0 max(12px,env(safe-area-inset-bottom));
  color:rgba(255,255,255,.72);
  font-size:11.5px;font-weight:650}
.sfcap b{color:#fff;font-weight:800}
.sfcap i{font-style:normal;font-weight:800;color:var(--casa-orange)}

/* card motion */
.sfc.fly{transition:transform .34s cubic-bezier(.32,0,.67,0),opacity .3s}
.sfc.spring{transition:transform .32s cubic-bezier(.22,1.3,.36,1)}
.sfc.back{transform:translate(0,-620px) rotate(-6deg);opacity:0;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .3s}
.sfc.sending{filter:brightness(.94)}
/* the card dims and the plane carries the news, so no tick competing with it */
.sfc.sent::after{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(14,48,40,.72);
  animation:sfwash .3s ease-out both;z-index:5}
@keyframes sfwash{from{opacity:0}to{opacity:1}}

/* the sheet behind every refusal */
.sfsheet{position:fixed;inset:0;z-index:240;display:flex;align-items:flex-end;justify-content:center}
.sfsheet[hidden]{display:none!important}
.sfsov{position:absolute;inset:0;background:rgba(18,59,51,.5);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s}
.sfsheet.up .sfsov{opacity:1}
.sfsbox{position:relative;width:100%;max-width:430px;background:var(--surface);border-radius:22px 22px 0 0;
  padding:22px 18px max(20px,env(safe-area-inset-bottom));transform:translateY(100%);
  transition:transform .24s cubic-bezier(.22,1,.36,1);color:var(--ink)}
.sfsheet.up .sfsbox{transform:none}
.sfsx{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:0;background:var(--surface-soft);
  color:var(--foggy);display:grid;place-items:center;cursor:pointer;z-index:2}
.sfsx .ico{width:14px;height:14px}
.sfsbox b{display:block;font-size:17px;letter-spacing:-.018em;padding-right:34px}
.sfsbox b.mid{text-align:center;padding:0}
.sfsbox p{margin:5px 0 0;font-size:13.5px;color:var(--foggy);line-height:1.5}
.sfsbox p.mid{text-align:center}
.sfp{display:block;margin-top:17px;height:48px;line-height:48px;border-radius:999px;background:var(--casa-orange);
  color:#fff;text-align:center;font-size:15px;font-weight:800;text-decoration:none}
.sfq{display:block;width:100%;margin-top:10px;background:none;border:0;font-family:inherit;text-align:center;
  font-size:13px;font-weight:700;color:var(--foggy);cursor:pointer;text-decoration:none;padding:4px}
.sfcks{display:grid;gap:7px;margin-top:15px}
.sfck{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:650}
.sfck i{width:17px;height:17px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-style:normal}
.sfck.done i{background:var(--success,#3E8E68)}
.sfck.done i::after{content:"\2713";color:#fff;font-size:9px;font-weight:900}
.sfck.todo{color:var(--ink-faint,#8C857E)}
.sfck.todo i{border:1.6px solid var(--border-strong)}
.sfdial{position:relative;width:104px;height:104px;margin:4px auto 18px;display:grid;place-items:center}
.sfdial svg{position:absolute;inset:0;transform:rotate(-90deg)}
.sfdial circle{fill:none;stroke-width:7;stroke-linecap:round}
.sfdial .bg{stroke:var(--surface-soft)}
.sfdial .fg{stroke:var(--casa-orange)}
.sfdv{text-align:center;line-height:1.05}
.sfdv b{display:block;font-size:30px;font-weight:800;letter-spacing:-.038em;font-variant-numeric:tabular-nums;padding:0}
.sfdv i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint,#8C857E)}

/* the receipt */
.sfrcpt{position:fixed;left:12px;right:12px;bottom:calc(104px + env(safe-area-inset-bottom));z-index:230;
  max-width:340px;margin:0 auto;background:var(--surface);border-radius:16px;padding:13px 14px;
  box-shadow:0 14px 34px -10px rgba(18,59,51,.38);transform:translateY(140%);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.sfrcpt[hidden]{display:none!important}
.sfrcpt.up{transform:none}
.rch{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.rct{width:26px;height:26px;border-radius:8px;background:var(--success,#3E8E68);color:#fff;display:grid;place-items:center;flex:0 0 auto}
.rct .ico{width:14px;height:14px}
.rch b{font-size:14px;letter-spacing:-.012em}
.rcl{display:flex;justify-content:space-between;gap:12px;font-size:11.5px;padding:6px 0;
  border-top:1px dashed var(--border);color:var(--foggy);font-weight:650}
.rcl b{color:var(--ink);font-weight:800;text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rcf{display:block;margin-top:10px;height:32px;line-height:32px;border-radius:999px;background:var(--casa-orange-soft);
  color:var(--casa-orange-700,#C2541B);text-align:center;font-size:12px;font-weight:800;text-decoration:none}
@media(min-width:640px){
  .sfsheet{align-items:center}
  .sfsbox{border-radius:22px;transform:translateY(14px) scale(.98);opacity:0;transition:transform .2s,opacity .2s}
  .sfsheet.up .sfsbox{transform:none;opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .sfldeck i{animation:none}
  .sfb.hold.charging,.sfb.hold.fired{animation:none}
  .sfc.fly,.sfc.spring,.sfc.back{transition-duration:.12s}
}

/* v76 · the real Google reviews, and the closing line -------------------------------------- */
.gvhead{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.gvhead h2{margin:0;font-size:clamp(22px,4.4vw,28px);letter-spacing:-.026em;display:inline-flex;align-items:center;gap:9px;flex:1}
.gvhead h2 .ico-lg{width:22px;height:22px}
.gvall{flex:0 0 auto;font-size:12.5px;font-weight:800;color:var(--casa-orange);text-decoration:none;
  border:1px solid var(--border-strong);border-radius:999px;padding:7px 13px;white-space:nowrap}
.gvall:hover{background:var(--casa-orange-soft);border-color:transparent}

.gvrail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;padding:2px 0 6px;margin:0 calc(var(--gut,0px) * -1)}
.gvrail::-webkit-scrollbar{display:none}
.gvcard{position:relative;flex:0 0 min(86%,430px);scroll-snap-align:center;background:var(--surface);border:1px solid var(--border);
  border-radius:20px;padding:24px 22px;display:grid;gap:14px;align-content:start;text-decoration:none;color:var(--ink);
  transition:border-color .15s,box-shadow .15s}
.gvcard:hover{border-color:var(--border-strong);box-shadow:0 10px 26px -14px rgba(60,40,25,.3)}
.gvtop{display:flex;align-items:center;gap:9px}
.gvstars{color:#F0A32B;font-size:17px;letter-spacing:1.5px;line-height:1}
/* the mark alone, in the corner of the card, no word next to it */
.gvsrc{position:absolute;top:15px;right:15px;width:20px;height:20px;display:block}
.gvall{display:inline-flex;align-items:center;gap:7px}
.gvall img{width:14px;height:14px;flex:0 0 auto}
/* until the official Google mark is dropped in at /static/img/google-g.svg */
.gvgf{width:16px;height:16px;border-radius:50%;border:1.6px solid currentColor;opacity:.5;
  display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:800;flex:0 0 auto}
.gvq{font-size:17.5px;line-height:1.48;font-weight:650;letter-spacing:-.012em}
.gvwho{display:flex;align-items:center;gap:11px;padding-top:14px;border-top:1px solid var(--border)}
.gvav{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:800;
  color:#fff;flex:0 0 auto}
.gvnm{flex:1;min-width:0}
.gvnm b{display:block;font-size:14px;letter-spacing:-.01em}
.gvnm span{display:block;font-size:12px;color:var(--foggy);font-weight:650}
.gvgo{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800;color:var(--casa-orange);white-space:nowrap}
.gvgo .ico{width:12px;height:12px}
.gvdots{display:flex;gap:6px;justify-content:center;padding-top:12px}
.gvdots i{width:7px;height:7px;border-radius:50%;background:var(--border-strong);transition:width .2s,background .2s}
.gvdots i.on{background:var(--casa-orange);width:22px;border-radius:999px}

@media(max-width:560px){
  .gvcard{flex-basis:88%;padding:21px 18px}
  .gvq{font-size:16px}
}

/* v77 · budget and who share the type picker's sheet ---------------------------------------- */
.kdt{display:block;padding:6px 12px 12px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--foggy)}
.kdt em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:650;color:var(--ink-faint,#8C857E);margin-left:6px}
.kdbox[hidden]{display:none!important}
.kdbox.wide{padding:10px 18px max(16px,env(safe-area-inset-bottom))}

.bgv{text-align:center;padding:6px 0 14px}
.bgv b{display:block;font-size:34px;font-weight:800;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}
.bgv span{display:block;font-size:12.5px;font-weight:650;color:var(--foggy);margin-top:5px}

.bgr{-webkit-appearance:none;appearance:none;width:100%;height:34px;background:transparent;cursor:pointer;display:block;margin:0}
.bgr:focus{outline:none}
.bgr:focus-visible{outline:2px solid var(--casa-orange);outline-offset:4px;border-radius:999px}
.bgr::-webkit-slider-runnable-track{height:10px;border-radius:999px;
  background:linear-gradient(90deg,var(--casa-orange) 0 var(--p,0%),var(--surface-soft) var(--p,0%) 100%)}
.bgr::-moz-range-track{height:10px;border-radius:999px;background:var(--surface-soft)}
.bgr::-moz-range-progress{height:10px;border-radius:999px;background:var(--casa-orange)}
.bgr::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;border-radius:50%;
  background:#fff;border:0;margin-top:-10px;box-shadow:0 2px 8px rgba(60,40,25,.28),0 0 0 2px var(--casa-orange) inset}
.bgr::-moz-range-thumb{width:30px;height:30px;border-radius:50%;background:#fff;border:0;
  box-shadow:0 2px 8px rgba(60,40,25,.28),0 0 0 2px var(--casa-orange) inset}
.bgr:active::-webkit-slider-thumb{transform:scale(1.08)}
.bgends{display:flex;justify-content:space-between;font-size:11.5px;font-weight:750;color:var(--ink-faint,#8C857E);
  padding:2px 2px 0}

/* v79 · the signed-in feed: one control card, then the piles ------------------------------- */
.fdcard{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden}
.fdtop{padding:16px 16px 14px}
.fdh1{margin:0;font-size:clamp(23px,5.4vw,29px);letter-spacing:-.03em;line-height:1.08}
.fdsum{margin:6px 0 0;font-size:12.5px;color:var(--foggy);font-weight:650}
.fdsum a{color:var(--casa-orange);font-weight:800;text-decoration:none}
.fdsum a:hover{text-decoration:underline;text-underline-offset:2px}
.fdfoot{display:flex;border-top:1px solid var(--border);background:var(--surface-soft)}
.fdc{flex:1;display:flex;align-items:center;gap:8px;padding:11px 13px;min-width:0}
.fdc + .fdc{border-left:1px solid var(--border)}
.fdc.wa.on{background:#E9FBF1}
.fdc.ap.on{background:var(--casa-orange-soft)}
.fdmk{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;flex:0 0 auto}
.fdmk .ico{width:14px;height:14px;color:#fff}
.fdmk.wa{background:#25D366}
.fdmk.ap{background:var(--casa-orange)}
.fdc b{flex:1;font-size:12.5px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fdi{width:16px;height:16px;border-radius:50%;border:1.3px solid var(--border-strong);background:none;color:var(--foggy);
  font-family:inherit;font-size:9.5px;font-weight:800;line-height:1;cursor:pointer;flex:0 0 auto;display:grid;place-items:center;padding:0}
.fdi:hover{border-color:var(--ink);color:var(--ink)}
.fdtog{width:36px;height:21px;border-radius:999px;background:var(--border-strong);border:0;position:relative;
  flex:0 0 auto;cursor:pointer;padding:0;transition:background .18s}
.fdtog::after{content:"";position:absolute;top:2.5px;left:2.5px;width:16px;height:16px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.24);transition:left .18s}
.fdtog.on{background:#25D366}
.fdtog.or.on{background:var(--casa-orange)}
.fdtog.on::after{left:17.5px}

/* the five piles, side by side, scrolled */
.piles{display:flex;gap:8px;overflow-x:auto;padding:14px 0 6px;margin-bottom:10px;
  scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.piles::-webkit-scrollbar{display:none}
.pile{flex:0 0 auto;scroll-snap-align:start;min-width:106px;background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:11px 12px;display:grid;gap:3px;text-decoration:none;color:var(--ink);
  transition:background .14s,border-color .14s}
.pile:hover{border-color:var(--border-strong)}
.pn{font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.pl{font-size:11.5px;font-weight:700;color:var(--foggy);white-space:nowrap}
.pb{height:3px;border-radius:2px;margin-top:4px;background:var(--border)}
.p-go .pb{background:var(--success,#3E8E68)}
.p-maybe .pb{background:var(--warning,#C9851D)}
.p-saved .pb{background:var(--casa-orange)}
.p-no .pb{background:var(--foggy)}
.p-skipped .pb{background:var(--border-strong)}
.pile.on{background:var(--ink);border-color:var(--ink)}
.pile.on .pn{color:var(--canvas)}
.pile.on .pl{color:var(--canvas);opacity:.72}

.fdsheet{position:fixed;inset:0;z-index:400;display:flex;align-items:flex-end;justify-content:center}
.fdsheet[hidden]{display:none!important}
.fdsov{position:absolute;inset:0;background:rgba(18,59,51,.46);backdrop-filter:blur(2px);opacity:0;transition:opacity .2s}
.fdsheet.up .fdsov{opacity:1}
.fdsbox{position:relative;width:100%;max-width:430px;background:var(--surface);border-radius:22px 22px 0 0;
  padding:22px 18px max(20px,env(safe-area-inset-bottom));transform:translateY(100%);
  transition:transform .22s cubic-bezier(.22,1,.36,1)}
.fdsheet.up .fdsbox{transform:none}
.fdsx{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:0;background:var(--surface-soft);
  color:var(--foggy);display:grid;place-items:center;cursor:pointer;z-index:2}
.fdsx .ico{width:14px;height:14px}
.fdsbox b{display:block;font-size:17px;letter-spacing:-.018em;padding-right:34px}
.fdsbox p{margin:5px 0 0;font-size:13.5px;color:var(--foggy);line-height:1.5}
.fdli{display:grid;gap:7px;margin-top:14px}
.fdli span{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.45;color:var(--ink-soft,#5F5A55)}
.fdli i{width:16px;height:16px;border-radius:50%;background:var(--success,#3E8E68);flex:0 0 auto;margin-top:2px;
  display:grid;place-items:center;font-style:normal}
.fdli i::after{content:"\2713";color:#fff;font-size:9px;font-weight:900}
.fdp{display:block;margin-top:17px;height:46px;line-height:46px;border-radius:999px;background:var(--casa-orange);
  color:#fff;text-align:center;font-size:14.5px;font-weight:800;text-decoration:none}
.fdq{display:block;width:100%;margin-top:10px;background:none;border:0;font-family:inherit;text-align:center;
  font-size:13px;font-weight:700;color:var(--foggy);cursor:pointer;padding:4px}
@media(min-width:640px){
  .fdsheet{align-items:center}
  .fdsbox{border-radius:22px;transform:translateY(14px) scale(.98);opacity:0;transition:transform .2s,opacity .2s}
  .fdsheet.up .fdsbox{transform:none;opacity:1}
  .fdsw{grid-template-columns:repeat(2,minmax(0,240px))}
}
@media(max-width:400px){.fdsw{grid-template-columns:1fr}}
@media(max-width:430px){
  /* two switches on a phone: tighten everything so "WhatsApp" fits without clipping */
  .fdc{padding:10px;gap:6px}
  .fdmk{width:22px;height:22px;border-radius:6px}
  .fdmk .ico{width:13px;height:13px}
  .fdc b{font-size:12px;letter-spacing:-.018em}
  .fdi{width:15px;height:15px;font-size:9px}
  .fdtog{width:32px;height:19px}
  .fdtog::after{width:14px;height:14px}
  .fdtog.on::after{left:15.5px}
}

/* v81 · the saved search follows you */
.ssaved{display:flex;align-items:center;gap:9px;margin:0 0 14px;padding:10px 13px;border-radius:12px;
  background:var(--success-soft,#EAF5EE);color:var(--success,#3E8E68);font-size:12.5px;font-weight:700;line-height:1.4}
.ssaved .ico{width:15px;height:15px;flex:0 0 auto}
.ssaved a{color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:800;white-space:nowrap}

/* the allowance, as a small mark under the heart instead of a sentence */
.sfleftpill{display:block;width:max-content;margin:9px auto max(12px,env(safe-area-inset-bottom));
  padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.11);
  font-size:11px;font-weight:750;color:rgba(255,255,255,.72)}
.sfleftpill i{font-style:normal;font-weight:800;color:#FF9773}
.sfleftpill:hover{background:rgba(255,255,255,.18);color:#fff}
body.swfs .sfacts{padding-bottom:0}
body.swfs .sfw:not(:has(.sfleftpill)) .sfacts{padding-bottom:max(14px,env(safe-area-inset-bottom))}

/* the three beat walkthrough, once */
.sftour{position:fixed;inset:0;z-index:260;display:flex;align-items:flex-end;justify-content:center}
.sftour[hidden]{display:none!important}
.sftov{position:absolute;inset:0;background:rgba(6,20,17,.72);backdrop-filter:blur(3px);opacity:0;transition:opacity .24s}
.sftour.up .sftov{opacity:1}
.sftbox{position:relative;width:100%;max-width:420px;margin:0 12px max(12px,env(safe-area-inset-bottom));
  background:var(--surface);border-radius:24px;padding:22px 20px 20px;text-align:center;
  transform:translateY(110%);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.sftour.up .sftbox{transform:none}
.sftbox b{display:block;font-size:22px;letter-spacing:-.028em;margin-top:14px}
.sftbox span{display:block;font-size:14px;color:var(--foggy);font-weight:650;margin-top:3px}
.sftdots{display:flex;gap:6px;justify-content:center;margin:16px 0 14px}
.sftdots i{width:7px;height:7px;border-radius:50%;background:var(--border-strong);transition:width .2s,background .2s}
.sftdots i.on{background:var(--casa-orange);width:22px;border-radius:999px}
.sftgo{width:100%;height:48px;border:0;border-radius:999px;background:var(--casa-orange);color:#fff;
  font-family:inherit;font-size:15px;font-weight:800;cursor:pointer}

/* the little card that acts each beat out */
.sftart{position:relative;width:96px;height:126px;margin:0 auto;border-radius:15px;
  background:linear-gradient(158deg,#cfd8d2,#9db0a8);box-shadow:0 12px 24px -10px rgba(18,59,51,.5)}
.sftart::after{content:"";position:absolute;inset:0;border-radius:15px;display:grid;place-items:center;
  font-size:34px;font-weight:800;opacity:0}
.sftart.left.go{animation:tLeft 1.5s ease-in-out infinite}
.sftart.left::after{content:"\2715";background:rgba(199,78,69,.86);color:#fff;animation:tFade 1.5s ease-in-out infinite}
.sftart.right.go{animation:tRight 1.5s ease-in-out infinite}
.sftart.right::after{content:"\2665";background:rgba(242,99,63,.86);color:#fff;animation:tFade 1.5s ease-in-out infinite}
.sftart.hold{background:var(--casa-orange);width:76px;height:76px;border-radius:50%;display:grid;place-items:center}
.sftart.hold::after{display:none}
.sftbolt{width:34px;height:34px;color:#fff}
.sftart.hold.go{animation:tHold 1.5s ease-out infinite}
@keyframes tLeft{0%,18%{transform:none}55%{transform:translateX(-46px) rotate(-14deg)}100%{transform:none}}
@keyframes tRight{0%,18%{transform:none}55%{transform:translateX(46px) rotate(14deg)}100%{transform:none}}
@keyframes tFade{0%,22%{opacity:0}52%,70%{opacity:1}100%{opacity:0}}
@keyframes tHold{0%{box-shadow:0 0 0 0 rgba(242,99,63,.5)}70%,100%{box-shadow:0 0 0 22px rgba(242,99,63,0)}}
@media (prefers-reduced-motion:reduce){.sftart,.sftart::after{animation:none!important}}

/* v97 · Casa Unlimited: one screen, green ground, one button ------------------------------- */
body.profs{background:#1B5347}
html:has(body.profs){background:#1B5347}
body.profs .nav,body.profs .tabs-m{display:none!important}
body.profs .foot{margin-top:0}
.prw{min-height:100svh;display:flex;flex-direction:column;
  background:radial-gradient(125% 82% at 50% 0%,#1B5347 0%,#123B33 46%,#0C2A24 100%);color:#fff}
.prtop{display:flex;align-items:center;gap:9px;padding:max(13px,env(safe-area-inset-top)) 16px 8px;flex:none}
.prbk{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.13);display:grid;place-items:center;
  color:#fff;flex:0 0 auto}
.prbk .ico{width:16px;height:16px}
.prlg{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:800;letter-spacing:-.024em;color:#fff}
.prlg img{width:24px;height:24px;border-radius:7px}
.prlg i{font-style:normal;color:#FF9773}
.prmain{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:0 20px calc(20px + env(safe-area-inset-bottom))}
.prmain>*{flex:none;max-width:100%;width:100%;max-width:420px}

.prwait{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin:0 auto 34px;
  background:rgba(255,151,115,.15);border-radius:var(--radius-pill);padding:9px 15px;
  font-size:12.5px;font-weight:750;letter-spacing:-.012em;color:rgba(255,255,255,.82);text-align:center}
.prwait .ico{width:14px;height:14px;color:#FF9773;flex:0 0 auto}
.prwait b{color:#fff;font-weight:800}

.prnote{border-radius:14px;padding:11px 14px;font-size:13px;font-weight:700;margin-bottom:14px;text-align:left}
.prnote.ok{background:rgba(127,208,174,.16);color:#9FE0C2}
.prnote.bad{background:rgba(255,151,115,.18);color:#FFC7B2}

.prprice{display:flex;align-items:baseline;justify-content:center;gap:7px}
.prprice b{font-size:46px;font-weight:800;letter-spacing:-.045em;line-height:1}
.prprice span{font-size:13px;font-weight:750;color:rgba(255,255,255,.6)}
.pronce{display:inline-flex;align-items:center;gap:6px;width:max-content;margin:12px auto 0;
  background:rgba(127,208,174,.16);color:#9FE0C2;border-radius:var(--radius-pill);padding:6px 12px;
  font-size:11.5px;font-weight:800}
.pronce .ico{width:12px;height:12px}
.prh{margin:0;font-size:clamp(23px,6.4vw,27px);font-weight:800;letter-spacing:-.034em;line-height:1.17;color:#fff}
.prh span{color:#FF9773}

.prticks{display:grid;gap:14px;margin:28px 0 36px}
.prtk{display:flex;align-items:center;gap:10px;justify-content:center;font-size:16.5px;font-weight:800;
  letter-spacing:-.024em;line-height:1.25}
.prtk .ico{width:17px;height:17px;color:#7FD0AE;flex:0 0 auto}

.prform{margin:0}
.prpromo{width:100%;margin-top:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-pill);padding:12px 16px;color:#fff;font:inherit;font-size:13.5px;font-weight:700;
  text-align:center}
.prpromo::placeholder{color:rgba(255,255,255,.45);font-weight:650}
.prpromo[hidden]{display:none!important}
.prcta{display:block;width:100%;margin-top:20px;border:0;cursor:pointer;font:inherit;
  background:linear-gradient(135deg,#FF7A4D,#F2633F 50%,#E0502B);color:#fff;border-radius:var(--radius-pill);
  padding:16px;text-align:center;font-size:16px;font-weight:800;letter-spacing:-.015em;
  position:relative;overflow:hidden;box-shadow:0 10px 24px -8px rgba(242,99,63,.6)}
.prcta:hover{color:#fff}
.prcta::after{content:"";position:absolute;top:-60%;bottom:-60%;width:40px;left:-60px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(16deg);
  animation:prsweep 3.6s cubic-bezier(.4,0,.5,1) infinite}
@keyframes prsweep{0%{left:-60px}55%{left:118%}100%{left:118%}}
@media(prefers-reduced-motion:reduce){.prcta::after{animation:none;opacity:0}}
.prcode{display:block;width:max-content;margin:13px auto 0;background:none;border:0;cursor:pointer;font:inherit;
  font-size:11.5px;font-weight:700;color:rgba(255,255,255,.45);text-decoration:underline;text-underline-offset:3px}
.prcode.as{text-decoration:none}
.prhint{display:flex;align-items:center;gap:6px;justify-content:center;margin-top:34px;
  font-size:11.5px;font-weight:700;color:rgba(255,255,255,.35)}
.prhint .ico{width:12px;height:12px}
.prhint:hover{color:rgba(255,255,255,.6)}

.prfaq{background:var(--canvas);color:var(--ink);padding:34px 0 40px}
.prfaq .narrow{margin:0 auto}
.prfaq h2{margin:0 0 14px;font-size:21px;font-weight:800;letter-spacing:-.026em}
.prfaq details{border-bottom:1px solid var(--border);padding:14px 0}
.prfaq summary{cursor:pointer;font-size:15px;font-weight:750;letter-spacing:-.017em;list-style:none}
.prfaq summary::-webkit-details-marker{display:none}
.prfaq summary::after{content:"+";float:right;color:var(--foggy);font-weight:700}
.prfaq details[open] summary::after{content:"\2013"}
.prfaq p{margin:10px 0 0;font-size:14px;line-height:1.65;color:var(--ink-soft)}
.prfoot{text-align:center;font-size:12px;font-weight:700;color:var(--foggy);margin-top:22px!important}
@media(min-width:820px){
  .prw{min-height:auto;padding-bottom:44px}
  .prmain{padding-top:34px;padding-bottom:40px}
}

/* v99 · the boot screen, now the same deck as the swipe loader: real logo, deep green -------- */
html.noboot .boot{display:none!important}
.boot{position:fixed;inset:0;z-index:240;
  background:#ffffff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;
  padding-bottom:52px;transition:opacity .42s ease,transform .42s ease}
.boot::before{content:"";position:absolute;inset:0;opacity:0;
  background:radial-gradient(circle at 20% 14%,rgba(255,255,255,.5),transparent 46%)}
.boot.gone{opacity:0;transform:scale(1.04);pointer-events:none}
.bootdeck{position:relative;width:104px;height:140px;perspective:900px}
.bootdeck i{position:absolute;inset:0;border-radius:16px;background:#fff;display:grid;place-items:center;
  box-shadow:0 10px 24px -10px rgba(18,59,51,.45);transform-origin:50% 135%;
  animation:sfdeal 2s cubic-bezier(.45,.05,.25,1) infinite;animation-delay:calc(var(--n) * .22s)}
.bootdeck i img{width:42px;height:42px;border-radius:13px;opacity:.9}
.bootdeck i:nth-child(2){background:#FFF6F1}
.bootdeck i:nth-child(3){background:#FFEDE3}
.bootdeck i:nth-child(4){background:#FFE0CE}
.bootwm{position:relative;font-size:17px;font-weight:800;letter-spacing:-.026em;color:#231f1b;
  animation:bootfade 1.6s ease-in-out infinite}
.bootwm i{font-style:normal;color:var(--casa-orange)}
@keyframes bootfade{0%,100%{opacity:.5}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .bootdeck i{animation:none}
  .bootdeck i:nth-child(2){transform:translate3d(-14px,-6px,0) rotate(-7deg)}
  .bootdeck i:nth-child(3){transform:translate3d(10px,-3px,0) rotate(5deg)}
  .bootwm{animation:none}
}

/* v98 · the small print ------------------------------------------------------------------- */
.fleg{display:flex;gap:14px;flex-wrap:wrap}
.fleg a{color:var(--foggy);text-decoration:underline;text-underline-offset:3px}
.fleg a:hover{color:var(--casa-orange)}
.lgl{padding-block:26px 44px;max-width:680px}
.lgl h1{font-size:clamp(28px,6vw,36px);font-weight:800;letter-spacing:-.032em;margin:0 0 8px}
.lgsub{margin:0 0 26px;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.lgl h2{font-size:16.5px;font-weight:800;letter-spacing:-.02em;margin:26px 0 8px}
.lgl p{margin:0 0 12px;font-size:14.5px;line-height:1.7;color:var(--ink-soft)}
.lgl p b,.lgl li b{color:var(--ink)}
.lgl ul{margin:0 0 12px;padding-left:19px}
.lgl li{font-size:14.5px;line-height:1.7;color:var(--ink-soft);margin-bottom:6px}
.lgl a{color:var(--casa-orange);text-decoration:underline;text-underline-offset:2px}
.lgt{width:100%;border-collapse:collapse;margin:4px 0 12px;font-size:13.5px}
.lgt th{text-align:left;font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--foggy);padding:0 10px 8px 0;border-bottom:1px solid var(--border)}
.lgt td{padding:10px 10px 10px 0;border-bottom:1px solid var(--border);vertical-align:top;color:var(--ink-soft);line-height:1.5}
.lgt td:first-child{font-weight:800;color:var(--ink);white-space:nowrap}
.lgt td:last-child,.lgt th:last-child{white-space:nowrap;padding-right:0}
.lgfoot{margin-top:30px!important;padding-top:16px;border-top:1px solid var(--border);font-size:13px}

/* v99 · the application leaves as a paper plane ------------------------------------------- */
.sfplane{position:absolute;inset:0;z-index:30;pointer-events:none;display:grid;place-items:center}
.sfplane[hidden]{display:none!important}
.sfpl{width:62px;height:62px;color:#fff;opacity:0;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.55));grid-area:1/1}
.sftrail{width:220px;height:340px;grid-area:1/1;opacity:0;
  stroke-dashoffset:0;align-self:center;justify-self:center;margin-top:-30px}
.sfplane.go .sfpl{animation:sfplfly 1.05s cubic-bezier(.32,.02,.2,1) forwards}
.sfplane.go .sftrail{animation:sfpltrail 1.05s ease-out forwards}
.sfplane.go .sftrail path{stroke-dasharray:6 9;animation:sfpldash 1.05s linear forwards}
@keyframes sfplfly{
  0%   {transform:translate3d(0,54px,0) scale(.45) rotate(-16deg);opacity:0}
  16%  {transform:translate3d(0,30px,0) scale(1.06) rotate(-12deg);opacity:1}
  26%  {transform:translate3d(2px,22px,0) scale(1) rotate(-11deg);opacity:1}
  74%  {transform:translate3d(96px,-236px,0) scale(.72) rotate(0deg);opacity:1}
  100% {transform:translate3d(152px,-386px,0) scale(.48) rotate(8deg);opacity:0}}
@keyframes sfpltrail{0%{opacity:0}22%{opacity:.9}78%{opacity:.5}100%{opacity:0}}
@keyframes sfpldash{0%{stroke-dashoffset:340}100%{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.sfplane{display:none!important}}

/* v101 · guides: readable on a phone --------------------------------------------------------
   The two column grid used to be set with an inline style, which outranks the mobile media
   query, so on a phone the article stayed in a 200px column with the sidebar hanging off. */
.detail.dnar{grid-template-columns:1fr 320px;gap:44px}
@media(max-width:960px){.detail.dnar{grid-template-columns:1fr;gap:26px}}
.gdh1{font-size:clamp(27px,7vw,34px);font-weight:800;letter-spacing:-.032em;line-height:1.14;margin:2px 0 0}
.gdsum{font-size:16.5px;line-height:1.6;color:var(--ink-soft);margin:10px 0 22px;max-width:60ch}
.prose{font-size:16.5px;line-height:1.72;max-width:68ch}
.prose p{margin:0 0 15px}
.prose h3{margin:30px 0 9px;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.prose li{margin-bottom:8px;line-height:1.65}
.prose b,.prose strong{font-weight:750;color:var(--ink)}
.gdside .panel{border-radius:18px}
.gdside a{line-height:1.4}
@media(max-width:960px){
  .gdside{position:static}
  .gdside .panel a{padding:10px 0!important;font-size:14.5px!important;border-bottom:1px solid var(--border)}
  .gdside .panel a:last-child{border-bottom:0}
}
@media(max-width:520px){
  .prose{font-size:16px;line-height:1.7}
  .gdsum{font-size:15.5px}
}

/* v103 · guides: a search box instead of a paragraph over a photo ------------------------- */
.gsrch{display:flex;align-items:center;gap:10px;margin-top:14px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius-pill);padding:12px 16px;
  transition:border-color .15s,box-shadow .15s}
.gsrch:focus-within{border-color:var(--casa-orange);box-shadow:0 0 0 3px rgba(242,99,63,.12)}
.gsrch .ico{width:17px;height:17px;color:var(--foggy);flex:0 0 auto}
/* the global input rules use !important, so this one has to shout back */
.gsrch input,.gsrch input:focus{flex:1;min-width:0;width:auto;padding:0;border:0!important;outline:0;
  background:none!important;box-shadow:none!important;border-radius:0!important;
  font:inherit;font-size:15px;font-weight:650;color:var(--ink);-webkit-appearance:none;appearance:none}
.gsrch input::placeholder{color:var(--foggy);font-weight:550}
.gsrch input::-webkit-search-cancel-button{display:none}
.gsx{border:0;background:var(--surface-soft);border-radius:50%;width:24px;height:24px;display:grid;
  place-items:center;cursor:pointer;flex:0 0 auto;color:var(--ink-soft)}
.gsx[hidden]{display:none!important}
.gsx .ico{width:12px;height:12px;color:inherit}
.gsegs{margin-top:12px}
.gcard[hidden]{display:none!important}
.gnone{text-align:center;padding:34px 20px;border:1px dashed var(--border-strong);border-radius:20px;
  display:grid;gap:7px;justify-items:center;margin-top:4px}
.gnone[hidden]{display:none!important}
.gnone b{font-size:16px;font-weight:800;letter-spacing:-.02em}
.gnone span{font-size:13.5px;color:var(--ink-soft);max-width:36ch;line-height:1.55}
.gnone .btn{margin-top:6px}
/* the banner lost its paragraph, so it can be shorter and the words can breathe */
.bnr.side{min-height:0}
.bnr.side h1{max-width:74%;margin-bottom:2px}
@media(max-width:560px){
  .bnr.side{padding:18px 18px 20px}
  .bnr.side h1{max-width:80%;font-size:23px;line-height:1.16}
  .gsrch{padding:11px 14px}
  .gsrch input{font-size:15px}
}

/* v104 · jobs: steps, employer filter, the passport answer ---------------------------------- */
.jsub{max-width:44ch}
.jsteps{margin-top:22px;border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:20px 20px 8px}
.jsh{margin-bottom:14px}
.jsh h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.024em}
.jsh span{display:block;font-size:13.5px;color:var(--ink-soft);margin-top:3px}
.jsteps ol{list-style:none;margin:0;padding:0;display:grid;gap:0}
.jsteps li{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--border)}
.jsteps li:first-child{border-top:0;padding-top:0}
.jn{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--casa-orange);color:#fff;
  display:grid;place-items:center;font-size:13px;font-weight:800}
.jsteps li b{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.018em}
.jsteps li p{margin:4px 0 0;font-size:14px;line-height:1.6;color:var(--ink-soft)}
.jsteps li i{font-style:normal;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.jsteps a{color:var(--casa-orange);text-decoration:underline;text-underline-offset:2px}
@media(min-width:820px){.jsteps ol{grid-template-columns:1fr 1fr;gap:0 30px}
  .jsteps li:nth-child(2){border-top:0;padding-top:0}}

.empsegs{margin:0 0 12px}
.empsegs button{cursor:pointer}
.emp2[hidden]{display:none!important}
.empnone{padding:14px 2px}
.ecsites{margin:8px 0 0;font-size:12.5px;line-height:1.9;color:var(--foggy)}
.ecsites a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px}

.ppick{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px}
.ppick button{cursor:pointer;font:inherit;font-size:13.5px;font-weight:750;border:1px solid var(--border);
  background:var(--surface);color:var(--ink-soft);border-radius:var(--radius-pill);padding:10px 16px}
.ppick button.on{background:var(--deep,#123B33);border-color:var(--deep,#123B33);color:#fff}
.pans[hidden]{display:none!important}
.pans p{font-size:15px;line-height:1.65;color:var(--ink-soft);margin:0 0 10px;max-width:70ch}
.pans a{color:var(--casa-orange);text-decoration:underline;text-underline-offset:2px}
.pyes{display:inline-flex;align-items:center;gap:9px;background:var(--success-soft);color:#2E6E51;
  border-radius:var(--radius-pill);padding:9px 15px;font-size:14.5px;font-weight:800;margin-bottom:12px}
.pyes.half{background:var(--warning-soft);color:#8A5C11}
.pyes .ico{width:16px;height:16px}
.pnote{background:var(--surface-soft);border-radius:14px;padding:13px 15px;font-size:14px!important}
.pnote b{color:var(--ink)}

/* ---------------------------------------------------------------- *
 * Casa Concierge offer page (/find-my-room). Deep green, two numbers.
 * ---------------------------------------------------------------- */
body.ccb{background:#0C2A24}
body.ccb .nav,body.ccb .tabs-m{display:none!important}
body.ccb .foot{margin-top:0}
.ccw{min-height:100svh;display:flex;flex-direction:column;color:#fff;
  background:radial-gradient(125% 78% at 50% 0%,#1E5F51 0%,#123B33 46%,#0C2A24 100%)}
.ccmain{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;
  width:100%;max-width:440px;margin:0 auto;padding:8px 20px max(20px,env(safe-area-inset-bottom))}
.cceb{display:inline-flex;align-items:center;gap:6px;width:max-content;font-size:10.5px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:#FF9773;background:rgba(255,151,115,.14);
  border-radius:999px;padding:6px 11px;margin-bottom:13px}
.cch{margin:0;font-size:clamp(29px,8.6vw,36px);font-weight:800;letter-spacing:-.038em;line-height:1.08;color:#fff}
.cch span{color:#FF9773}
.ccnums{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}
.ccnm{border-radius:18px;padding:16px 14px;background:rgba(255,255,255,.08);
  opacity:0;transform:translateY(10px);animation:ccrise .55s cubic-bezier(.2,.9,.3,1) forwards}
.ccnm+.ccnm{animation-delay:.28s;background:rgba(127,208,174,.15)}
@keyframes ccrise{to{opacity:1;transform:none}}
.ccnm b{display:block;font-size:clamp(26px,7.4vw,30px);font-weight:800;letter-spacing:-.045em;line-height:1}
.ccnm u{display:block;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.52);margin-top:5px}
.ccnm i{display:block;font-style:normal;font-size:12.5px;line-height:1.4;margin-top:8px;color:rgba(255,255,255,.78)}
.ccnm+.ccnm b{color:#9FE0C2}
.ccg{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12.5px;font-weight:750;line-height:1.4;
  color:#9FE0C2;background:rgba(127,208,174,.13);border-radius:14px;padding:11px 13px}
.ccg .ico{width:16px;height:16px;flex:0 0 auto}
.ccg b{color:#fff;font-weight:800}
.ccchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.ccchip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:750;
  background:rgba(255,255,255,.1);border-radius:999px;padding:7px 11px;color:rgba(255,255,255,.88)}
.ccchip .ico{width:12px;height:12px;color:#7FD0AE}
.cccta{display:block;width:100%;margin-top:20px;border:0;cursor:pointer;font-family:inherit;
  background:linear-gradient(135deg,#FF7A4D,#F2633F 50%,#E0502B);color:#fff;border-radius:999px;padding:16px;
  text-align:center;font-size:16px;font-weight:800;text-decoration:none;position:relative;overflow:hidden;
  box-shadow:0 10px 24px -8px rgba(242,99,63,.5)}
.cccta::after{content:"";position:absolute;top:-60%;bottom:-60%;width:40px;left:-60px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:rotate(16deg);
  animation:ccsw 3.8s cubic-bezier(.4,0,.5,1) infinite}
@keyframes ccsw{0%{left:-60px}55%{left:118%}100%{left:118%}}
.ccfine{display:block;text-align:center;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.42);margin-top:10px}
.ccdown{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:16px;font-size:12px;
  font-weight:750;color:rgba(255,255,255,.5)}
.ccdown .ico{width:14px;height:14px;animation:ccbob 2.2s ease-in-out infinite}
@keyframes ccbob{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}

/* below the fold, same green ground */
.ccrest{background:#0C2A24;color:#fff;padding-block:8px 54px}
.ccsec{width:100%;max-width:560px;margin:0 auto;padding:34px 20px 0}
.ccsec h2{margin:0 0 4px;font-size:clamp(22px,5.6vw,26px);font-weight:800;letter-spacing:-.03em;color:#fff}
.ccsec .cckick{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#7FD0AE;margin-bottom:8px}
.ccsec p.ccl{margin:0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.72)}
.cctk{display:flex;align-items:flex-start;gap:11px;padding:13px 0;font-size:15px;font-weight:700;line-height:1.4;
  border-bottom:1px solid rgba(255,255,255,.09)}
.cctk:last-child{border-bottom:0}
.cctk .ico{width:19px;height:19px;flex:0 0 auto;color:#7FD0AE;margin-top:1px}
.ccpay{display:grid;gap:10px;margin-top:16px}
.ccp{border-radius:20px;padding:17px 18px;background:rgba(255,255,255,.07)}
.ccp.key{background:rgba(127,208,174,.14)}
.ccp b{display:block;font-size:24px;font-weight:800;letter-spacing:-.04em;line-height:1}
.ccp.key b{color:#9FE0C2}
.ccp u{display:block;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:6px}
.ccp span{display:block;font-size:14px;line-height:1.5;margin-top:9px;color:rgba(255,255,255,.8)}
.ccbon{display:grid;gap:9px;margin-top:14px}
.ccbn{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.07);border-radius:16px;padding:14px}
.ccbn em{flex:0 0 auto;width:34px;height:34px;border-radius:11px;background:rgba(255,151,115,.18);
  display:grid;place-items:center;font-style:normal}
.ccbn em .ico{width:17px;height:17px;color:#FF9773}
.ccbn b{font-size:14.5px;font-weight:800;letter-spacing:-.02em}
.ccbn i{display:block;font-style:normal;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.62);margin-top:2px}
.ccbn .free{margin-left:auto;flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:#9FE0C2;background:rgba(127,208,174,.16);border-radius:999px;padding:5px 8px}

/* form */
.ccform{margin-top:16px;background:rgba(255,255,255,.07);border-radius:22px;padding:18px}
.ccform label{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin:12px 0 5px}
.ccform label:first-of-type{margin-top:0}
.ccform input,.ccform select,.ccform textarea{width:100%;font-family:inherit;font-size:15px;font-weight:650;
  color:#fff;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;padding:13px 14px!important;-webkit-appearance:none;appearance:none}
.ccform textarea{resize:vertical;min-height:64px}
.ccform input::placeholder,.ccform textarea::placeholder{color:rgba(255,255,255,.35)}
.ccform select option{color:#242220}
.ccform .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ccform .two label{margin-top:12px}
.ccsent{background:rgba(127,208,174,.14);border-radius:20px;padding:20px;margin-top:16px;text-align:center}
.ccsent b{display:block;font-size:19px;font-weight:800;letter-spacing:-.025em;margin-bottom:6px}
.ccsent p{margin:0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.78)}
.ccsent .btn{margin-top:14px}
.ccfaq details{border-bottom:1px solid rgba(255,255,255,.1)}
.ccfaq summary{list-style:none;cursor:pointer;padding:15px 0;font-size:15px;font-weight:800;letter-spacing:-.02em;
  display:flex;align-items:center;gap:10px}
.ccfaq summary::-webkit-details-marker{display:none}
.ccfaq summary::after{content:"";margin-left:auto;flex:0 0 auto;width:8px;height:8px;border-right:2px solid rgba(255,255,255,.45);
  border-bottom:2px solid rgba(255,255,255,.45);transform:rotate(45deg);transition:transform .18s}
.ccfaq details[open] summary::after{transform:rotate(-135deg)}
.ccfaq p{margin:0 0 15px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.72)}
.ccfoot{max-width:560px;margin:26px auto 0;padding:0 20px;font-size:11.5px;line-height:1.6;
  color:rgba(255,255,255,.38);text-align:center}
@media(min-width:760px){
  .ccmain{max-width:520px;padding-top:14px}
  .ccnm b{font-size:32px}
}
.ccform .two input,.ccform .two select{font-size:13.5px;padding-left:12px!important;padding-right:10px!important;
  text-overflow:ellipsis}

/* /start when the search is already set up: say so instead of asking again */
.pdone{background:var(--surface,#fff);border:1px solid var(--border,#EDE6E0);border-radius:24px;padding:24px 22px;text-align:center}
.pdtick{width:46px;height:46px;border-radius:50%;background:#EAF5EE;color:#3E8E68;display:grid;place-items:center;margin:0 auto 12px}
.pdtick .ico{width:23px;height:23px}
.pdone b{display:block;font-size:23px;font-weight:800;letter-spacing:-.03em}
.pdone p{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink-soft,#5F5A55)}
.pdrow{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:16px}
.pdrow span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:750;
  background:var(--surface-soft,#F7F1EC);border-radius:999px;padding:8px 12px}
.pdrow .ico{width:13px;height:13px;color:var(--casa-orange,#F2633F)}
.pdcta{display:grid;gap:9px;margin-top:18px}
@media(min-width:560px){.pdcta{grid-template-columns:1fr 1fr}}
.dkopt:active{transform:scale(.985)}

/* --- concierge v2: picker, spots, proof blocks -------------------- */
.cceb .ccfl{width:19px;height:13px;border-radius:2.5px;flex:0 0 auto}
.cceb{padding-left:7px}
.ccac{color:#FF9773}
.ccpick{margin-top:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:20px;padding:12px}
.ccpf{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ccfld{display:block}
.ccfld u{display:block;text-decoration:none;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:rgba(255,255,255,.45);margin-bottom:5px}
.ccfk{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border-radius:13px;padding:0 11px;
  position:relative}
.ccfk .ic{width:14px;height:14px;flex:0 0 auto;color:#9FE0C2}
.ccfk .cv{width:13px;height:13px;flex:0 0 auto;opacity:.55;margin-left:auto;pointer-events:none}
.ccfk select{flex:1;min-width:0;background:transparent!important;border:0!important;padding:12px 0!important;
  font-family:inherit;font-size:13.5px;font-weight:750;color:#fff;-webkit-appearance:none;appearance:none;
  border-radius:0!important;text-overflow:ellipsis}
.ccfk select:focus{outline:none}
.ccfk select option{color:#242220}
.ccslot{display:flex;align-items:center;gap:9px;margin-top:10px;background:rgba(255,151,115,.16);
  border-radius:13px;padding:10px 12px;font-size:12.5px;font-weight:750;color:#FFC5AC;line-height:1.3}
.ccslot b{color:#fff;font-weight:800}
.ccslot.full{background:rgba(255,255,255,.09);color:rgba(255,255,255,.65)}
.ccdots{display:flex;gap:5px;flex:0 0 auto}
.ccdots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.22);display:block}
.ccdots i.take{background:#FF9773}
.ccslot.full .ccdots i.take{background:rgba(255,255,255,.4)}

/* hours bars */
.cchbar{display:grid;gap:14px;margin-top:20px}
.cchb u{display:block;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-bottom:7px}
.cctrack{display:flex;align-items:center;gap:10px}
.ccfill{height:34px;border-radius:10px;background:rgba(255,255,255,.16);width:0;transition:width 1.1s cubic-bezier(.2,.9,.3,1)}
.cchb.us .ccfill{background:linear-gradient(90deg,#7FD0AE,#4FA582);transition-delay:.6s}
.cchbar.go .ccfill{width:var(--w)}
.ccval{font-size:24px;font-weight:800;letter-spacing:-.04em;flex:0 0 auto}
.cchb.us .ccval{color:#9FE0C2}

/* connections */
.cccon{display:grid;gap:9px;margin-top:16px}
.ccc{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.07);border-radius:16px;padding:14px}
.ccc em{flex:0 0 auto;width:34px;height:34px;border-radius:11px;background:rgba(127,208,174,.18);
  display:grid;place-items:center;font-style:normal}
.ccc em .ico{width:17px;height:17px;color:#7FD0AE}
.ccc b{font-size:14.5px;font-weight:800;letter-spacing:-.02em}
.ccc i{display:block;font-style:normal;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.62);margin-top:2px}

/* scorecard */
.cctbl{margin-top:16px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.05)}
.cctr{display:grid;grid-template-columns:1fr 56px 56px;align-items:center;gap:6px;padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.07);font-size:13.5px;font-weight:700;line-height:1.3}
.cctr:last-child{border-bottom:0}
.cctr.head{font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.45);background:rgba(255,255,255,.04)}
.cctr .c{text-align:center;font-weight:800}
.cctr .c.no{color:rgba(255,255,255,.3)}
.cctr .c.yes{color:#9FE0C2}
.cctr.head .c{color:rgba(255,255,255,.45)}
.cctr.head .c.us{color:#9FE0C2}
.fleg .fbuild{opacity:.45;font-variant-numeric:tabular-nums}

/* ---- jobs page v4: flow strip, walk-in note, money cards, note rain ---- */
.jflow{margin-top:18px;background:var(--surface,#fff);border:1px solid var(--border,#EDE6E0);border-radius:22px;padding:20px}
.jfh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.jfh h2{margin:0;font-size:20px;font-weight:800;letter-spacing:-.03em}
.jfh span{font-size:13px;color:var(--ink-soft,#5F5A55)}
.jftrack{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.jfline{position:absolute;left:12%;right:12%;top:23px;height:2px;background:var(--border,#EDE6E0);border-radius:2px;overflow:hidden}
.jfline i{display:block;height:100%;width:0;background:var(--casa-orange,#F2633F);transition:width 1.6s cubic-bezier(.4,0,.2,1) .2s}
.jflow.go .jfline i{width:100%}
.jfs{position:relative;text-align:center;opacity:0;transform:translateY(7px);transition:opacity .4s ease,transform .4s ease}
.jflow.go .jfs{opacity:1;transform:none}
.jflow.go .jfs:nth-child(2){transition-delay:.15s}
.jflow.go .jfs:nth-child(3){transition-delay:.55s}
.jflow.go .jfs:nth-child(4){transition-delay:.95s}
.jflow.go .jfs:nth-child(5){transition-delay:1.35s}
.jfi{width:46px;height:46px;border-radius:16px;background:var(--surface-soft,#F7F1EC);border:1px solid var(--border,#EDE6E0);
  display:grid;place-items:center;margin:0 auto 9px;position:relative;z-index:1;transition:.35s}
.jfi .ico{width:20px;height:20px;color:var(--ink-soft,#5F5A55);transition:.35s}
.jflow.go .jfs:nth-child(2) .jfi{background:#FDEDE7;border-color:#F7C9B8}
.jflow.go .jfs:nth-child(3) .jfi{background:#FDEDE7;border-color:#F7C9B8;transition-delay:.4s}
.jflow.go .jfs:nth-child(4) .jfi{background:#FDEDE7;border-color:#F7C9B8;transition-delay:.8s}
.jflow.go .jfs:nth-child(5) .jfi{background:var(--casa-orange,#F2633F);border-color:var(--casa-orange,#F2633F);transition-delay:1.2s}
.jflow.go .jfs:nth-child(2) .jfi .ico,.jflow.go .jfs:nth-child(3) .jfi .ico,
.jflow.go .jfs:nth-child(4) .jfi .ico{color:var(--casa-orange,#F2633F)}
.jflow.go .jfs:nth-child(5) .jfi .ico{color:#fff;transition-delay:1.2s}
.jfs b{display:block;font-size:13.5px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.jfs em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-soft,#5F5A55);margin-top:2px}
.jfnote{margin:18px 0 0;font-size:13px;line-height:1.5;color:var(--ink-soft,#5F5A55);text-align:center}
.jfnote a{color:var(--casa-orange,#F2633F);font-weight:700}
@media(max-width:520px){
  .jflow{padding:16px 13px}
  .jftrack{grid-template-columns:repeat(4,1fr);gap:4px}
  .jfline{top:19px;left:11%;right:11%}
  .jfi{width:38px;height:38px;border-radius:13px;margin-bottom:7px}
  .jfi .ico{width:17px;height:17px}
  .jfs b{font-size:11.5px}
  .jfs em{font-size:10px}
}

.jwalkin{display:flex;gap:12px;align-items:flex-start;margin-top:14px;background:var(--surface-soft,#F7F1EC);
  border-radius:18px;padding:15px 16px}
.jwi{flex:0 0 auto;width:32px;height:32px;border-radius:11px;background:#fff;display:grid;place-items:center}
.jwi .ico{width:16px;height:16px;color:var(--casa-orange,#F2633F)}
.jwalkin p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-soft,#5F5A55)}
.jwalkin p b{color:var(--ink,#242220)}

.jmoney{display:grid;gap:10px;margin-top:22px}
@media(min-width:760px){.jmoney{grid-template-columns:repeat(3,1fr)}}
.jm{background:var(--surface,#fff);border:1px solid var(--border,#EDE6E0);border-radius:20px;padding:18px}
.jmi{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;margin-bottom:11px}
.jmi .ico{width:17px;height:17px}
.jmi.ok{background:#EAF5EE}.jmi.ok .ico{color:#3E8E68}
.jmi.up{background:#FDEDE7}.jmi.up .ico{color:#F2633F}
.jmi.warn{background:#FEF4E2}.jmi.warn .ico{color:#B4771A}
.jm b{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.025em}
.jm p{margin:6px 0 9px;font-size:13.5px;line-height:1.5;color:var(--ink-soft,#5F5A55)}
.jm a{font-size:13px;font-weight:750;color:var(--casa-orange,#F2633F)}
.jcash{margin:14px 0 0;font-size:12.5px;line-height:1.5;color:var(--faint,#8C857E);text-align:center}

.jrain{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}
.jrain b{position:absolute;top:-80px;width:56px;height:32px;display:block;
  animation-name:jfall;animation-timing-function:cubic-bezier(.35,.1,.65,.9);animation-fill-mode:forwards}
.jrain b svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))}
@keyframes jfall{
  0%{transform:translateY(0) rotate(0) scale(var(--s));opacity:0}
  8%{opacity:1}
  100%{transform:translateY(112vh) rotate(var(--r)) scale(var(--s));opacity:.9}}
@media(prefers-reduced-motion:reduce){.jrain{display:none}}
/* the heart sits dead centre, the rewind rides next to it */
.sfacts{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-items:center;gap:0}
.sfacts .sfb.hold{grid-column:2}
.sfacts .sfb.undo{grid-column:3;justify-self:start;margin-left:16px}
/* the card heart is a real button now */
.c5 .hrt{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .18s,background .18s}
.c5 .hrt:active{transform:scale(.88)}
.c5 .hrt.pop{animation:hrtpop .32s cubic-bezier(.2,1.4,.4,1)}
@keyframes hrtpop{0%{transform:scale(1)}45%{transform:scale(1.28)}100%{transform:scale(1)}}
/* hero search: four equal fields (city, budget, type, who) */
.wcard .hsg{gap:8px}
.wcard .hs2+.hs2{margin-top:0}
.kdbox.list{max-height:64vh;overflow:auto;-webkit-overflow-scrolling:touch}
.kdbox.list .kdo em{margin-left:auto;font-style:normal;font-size:12px;font-weight:700;color:var(--foggy);
  background:var(--surface-soft);border-radius:999px;padding:3px 9px}
@media(min-width:900px){
  .wcard .hsg{grid-template-columns:1fr 1fr 1fr 1fr auto}
}
/* one line per field, so all four cards stay the same height */
.wcard .hsrow{align-items:center;min-height:62px}
.wcard .hsrow>div{min-width:0;flex:1}
.wcard .hspick{white-space:nowrap;overflow:hidden}
.wcard .hspick .hspv{margin-left:6px}
/* the hero fields never grow past their column, whatever is written in them */
.wcard .hs2>.hsrow{min-width:0}
.wcard .hspick{text-overflow:ellipsis}
/* city sheet: the full name, with the short code Casa shows on the card */
.kdbox.list .kdo{gap:9px}
.kdcode{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--casa-orange,#F2633F);
  background:#FDEDE7;border-radius:6px;padding:3px 6px}

/* ---- signed out drawer: live count, then the reason to sign up ---- */
.aclive{display:flex;align-items:center;gap:9px;background:#123B33;color:#fff;border-radius:15px;
  padding:11px 14px;margin-bottom:16px}
.aclive i{width:7px;height:7px;border-radius:50%;background:#7FD0AE;flex:0 0 auto;
  box-shadow:0 0 0 3px rgba(127,208,174,.22);animation:acpl 1.9s ease-in-out infinite}
@keyframes acpl{0%,100%{opacity:1}50%{opacity:.35}}
.aclive b{display:block;font-size:13.5px;font-weight:800;letter-spacing:-.022em}
.aclive em{display:block;font-style:normal;font-size:10.5px;font-weight:650;color:rgba(255,255,255,.6);margin-top:1px}
.ach2{margin:0 0 14px;font-size:21px;font-weight:800;letter-spacing:-.034em;line-height:1.14;color:var(--ink)}
.ach2 span{color:var(--casa-orange)}
.acmini{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:16px}
.acm{position:relative;display:block;height:76px;border-radius:14px;overflow:hidden;
  background:linear-gradient(135deg,#e7ded6,#f3ece6)}
.acm img{width:100%;height:100%;object-fit:cover;display:block}
.acm b{position:absolute;left:6px;bottom:6px;font-size:10.5px;font-weight:800;color:#fff;
  background:rgba(18,59,51,.72);border-radius:7px;padding:3px 7px;backdrop-filter:blur(3px)}
.acm.fade img{filter:blur(4px)}
.acm.fade::after{content:"+ more";position:absolute;inset:0;display:grid;place-items:center;
  background:rgba(252,248,244,.55);font-size:11px;font-weight:800;color:var(--ink)}
.acm.fade b{display:none}
.accta{display:block;width:100%;background:linear-gradient(135deg,#FF7A4D,#F2633F 50%,#E0502B);color:#fff;
  border-radius:999px;padding:13px;text-align:center;font-size:15px;font-weight:800;text-decoration:none;
  position:relative;overflow:hidden;box-shadow:0 8px 18px -8px rgba(242,99,63,.6)}
.accta::after{content:"";position:absolute;top:-60%;bottom:-60%;width:34px;left:-60px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:rotate(16deg);
  animation:acsw 3.8s cubic-bezier(.4,0,.5,1) infinite}
@keyframes acsw{0%{left:-60px}55%{left:118%}100%{left:118%}}
.acticks{display:grid;gap:0;margin-top:12px;background:var(--surface-soft);border-radius:16px;padding:4px 13px}
.actk{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:750;line-height:1.3;
  color:var(--ink);padding:10px 0}
.actk+.actk{border-top:1px solid rgba(0,0,0,.05)}
.actk .ico{width:14px;height:14px;flex:0 0 auto;color:var(--success,#3E8E68)}
.aclinks.quiet.acout2{margin-top:16px}
.aclinks.quiet.acout2 a{color:var(--ink-soft);font-weight:700;font-size:13.5px;padding:11px 0}
.aclinks.quiet.acout2 a .ico{opacity:.6}
.aclogin{display:block;text-align:center;font-size:12.5px;font-weight:700;color:var(--foggy);
  margin-top:16px;padding-bottom:4px}
.aclogin b{color:var(--casa-orange)}

/* ---------------- /invite: the referral programme ---------------- */
.ivw{padding-top:26px;padding-bottom:40px}
.ivhero{text-align:center;margin-bottom:22px}
.ivkick{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:var(--casa-orange);background:#FDEDE7;border-radius:999px;padding:6px 12px;margin-bottom:12px}
.ivhero h1{margin:0;font-size:clamp(28px,7.4vw,38px);font-weight:800;letter-spacing:-.036em;line-height:1.08}
.ivhero h1 span{color:var(--casa-orange)}
.ivsub{margin:10px auto 0;font-size:15px;line-height:1.5;color:var(--ink-soft);max-width:38ch}

.ivnums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.ivn{background:#123B33;color:#fff;border-radius:18px;padding:16px 12px;text-align:center}
.ivn:nth-child(2){background:var(--casa-orange)}
.ivn b{display:block;font-size:clamp(19px,5.4vw,26px);font-weight:800;letter-spacing:-.045em;line-height:1;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.ivn span{display:block;font-size:11px;font-weight:650;line-height:1.3;margin-top:7px;color:rgba(255,255,255,.72)}
.ivn:nth-child(2) span{color:rgba(255,255,255,.85)}

.ivlink{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px}
.ivlink label{display:block;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--foggy);margin-bottom:7px}
.ivrow{display:flex;gap:8px}
.ivrow input{flex:1;min-width:0;font-weight:700;font-size:14px}
.ivcopy{flex:0 0 auto;border:0;cursor:pointer;font-family:inherit;background:var(--ink);color:#fff;
  border-radius:14px;padding:0 18px;font-size:14px;font-weight:800}
.ivshare{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.ivshare .btn{width:100%}
.ivshare .btn:first-child{grid-column:1 / -1}
.ivfine{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--foggy)}

.ivme{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.ivmr{background:var(--surface-soft);border-radius:16px;padding:14px 10px;text-align:center}
.ivmr.hot{background:#FDEDE7}
.ivmr b{display:block;font-size:22px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.ivmr.hot b{color:var(--casa-orange)}
.ivmr span{display:block;font-size:11px;font-weight:650;color:var(--ink-soft);margin-top:5px;line-height:1.3}
.ivamb{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:12.5px;font-weight:700;
  background:#FEF4E2;border-radius:14px;padding:11px 13px;color:#8A5A0B}
.ivamb .ico{width:15px;height:15px;flex:0 0 auto}

.ivgate{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px 18px;text-align:center}
.ivgate b{display:block;font-size:18px;font-weight:800;letter-spacing:-.025em}
.ivgate p{margin:6px 0 14px;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}
.ivcta{display:block;background:linear-gradient(135deg,#FF7A4D,#F2633F 50%,#E0502B);color:#fff;border-radius:999px;
  padding:14px;font-size:15.5px;font-weight:800;text-decoration:none;position:relative;overflow:hidden;
  box-shadow:0 8px 20px -8px rgba(242,99,63,.6)}
.ivcta::after{content:"";position:absolute;top:-60%;bottom:-60%;width:34px;left:-60px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:rotate(16deg);
  animation:acsw 3.8s cubic-bezier(.4,0,.5,1) infinite}
.ivlog{display:block;margin-top:12px;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.ivlog b{display:inline;color:var(--casa-orange);font-size:12.5px}

.ivsec{margin-top:30px}
.ivsec h2{margin:0 0 14px;font-size:20px;font-weight:800;letter-spacing:-.03em}
.ivsteps{display:grid;gap:0}
.ivs{display:flex;gap:12px;position:relative;padding-bottom:16px}
.ivs:last-child{padding-bottom:0}
.ivs::before{content:"";position:absolute;left:14px;top:30px;bottom:2px;width:2px;background:var(--border)}
.ivs:last-child::before{display:none}
.ivs i{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--casa-orange);color:#fff;
  display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:800;position:relative;z-index:1}
.ivs b{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.02em}
.ivs span{display:block;font-size:13px;line-height:1.45;color:var(--ink-soft);margin-top:2px}

.ivworth{display:grid;gap:9px}
.ivw2,.ivworth .ivw{display:flex;gap:12px;background:var(--surface);border:1px solid var(--border);
  border-radius:18px;padding:15px}
.ivwi{flex:0 0 auto;width:34px;height:34px;border-radius:12px;background:#FDEDE7;display:grid;place-items:center}
.ivwi .ico{width:16px;height:16px;color:var(--casa-orange)}
.ivworth b{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.02em}
.ivworth span{display:block;font-size:12.5px;line-height:1.45;color:var(--ink-soft);margin-top:3px}

.ivboard{display:grid;gap:7px}
.ivb{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:10px 13px}
.ivb.me{border-color:var(--casa-orange);background:#FDEDE7}
.ivb i{flex:0 0 auto;width:20px;font-style:normal;font-size:12px;font-weight:800;color:var(--foggy)}
.ivb:first-child i{color:var(--casa-orange)}
.ivbn{font-size:13.5px;font-weight:800;letter-spacing:-.02em;flex:0 0 auto;min-width:74px}
.ivbn em{font-style:normal;font-size:10px;font-weight:800;color:var(--casa-orange);text-transform:uppercase;letter-spacing:.07em}
.ivbar{flex:1;min-width:0;height:8px;border-radius:99px;background:var(--surface-soft);overflow:hidden}
.ivbar u{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#FF9773,#F2633F);
  transition:width .9s cubic-bezier(.2,.9,.3,1)}
.ivboard.go .ivbar u{width:var(--w)}
.ivb>b{flex:0 0 auto;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
@media(max-width:400px){.ivn span{font-size:10.5px}.ivbn{min-width:62px;font-size:12.5px}}
/* invite: bring five friends, Unlimited is free */
.ivfive{background:#123B33;color:#fff;border-radius:20px;padding:16px;margin-bottom:12px}
.ivfive.flat{margin-bottom:16px}
.ivfh b{display:block;font-size:16px;font-weight:800;letter-spacing:-.025em}
.ivfh span{display:block;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.65);margin-top:3px}
.ivdots{display:flex;gap:6px;margin:13px 0 8px}
.ivdots i{flex:1;height:8px;border-radius:99px;background:rgba(255,255,255,.16);display:block}
.ivdots i.on{background:linear-gradient(90deg,#FF9773,#F2633F)}
.ivfp{display:block;font-size:11.5px;font-weight:750;color:rgba(255,255,255,.55)}
/* menu: the five friends offer, quietly, for people who have not paid */
.acfive{display:block;background:#123B33;color:#fff;border-radius:16px;padding:13px 14px;margin-bottom:10px}
.acfh{display:flex;align-items:baseline;gap:8px}
.acfh b{font-size:13.5px;font-weight:800;letter-spacing:-.022em}
.acfh i{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:800;color:#9FE0C2}
.acfd{display:flex;gap:4px;margin-top:9px}
.acfd u{flex:1;height:6px;border-radius:99px;background:rgba(255,255,255,.16);display:block;text-decoration:none}
.acfd u.on{background:linear-gradient(90deg,#FF9773,#F2633F)}
.byedots{display:flex;gap:5px;margin:14px 0 4px}
.byedots i{flex:1;height:7px;border-radius:99px;background:var(--surface-soft);display:block}
.byedots i.on{background:linear-gradient(90deg,#FF9773,#F2633F)}
/* the chat header wears the real logo */
.cpic img{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit}
.cpic{overflow:hidden;background:none!important;padding:0}
/* Ask Casa, given a place of its own in the menu */
.actiles a.askt i{color:var(--ink-soft)}
.acask{display:flex;align-items:center;gap:11px;width:100%;margin-top:12px;text-align:left;cursor:pointer;
  font-family:inherit;background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;padding:13px}
.acask .aski{flex:0 0 auto;width:34px;height:34px;border-radius:12px;background:#fff;display:grid;place-items:center}
.acask .aski .ico{width:16px;height:16px;color:var(--casa-orange)}
.acask .askt b{display:block;font-size:13.5px;font-weight:800;letter-spacing:-.022em;color:var(--ink)}
.acask .askt i{display:block;font-style:normal;font-size:11.5px;font-weight:600;color:var(--ink-soft);
  line-height:1.35;margin-top:2px}

/* ---- the welcome tour: real spotlights on the real page ---------- */
.twov{position:fixed;inset:0;z-index:300;pointer-events:auto;opacity:0;transition:opacity .3s}
.twdim{position:fixed;background:rgba(8,6,4,.86);transition:all .38s cubic-bezier(.2,.9,.3,1)}
.twdim.t{top:0;left:0;right:0;height:0}
.twdim.b{left:0;right:0;bottom:0;top:100%}
.twdim.l{left:0;width:0}
.twdim.r{right:0;left:100%}
.twov.on{opacity:1}
.twov[hidden]{display:none!important}
.twhole{position:fixed;border-radius:16px;z-index:301;pointer-events:none;
  box-shadow:0 0 0 3px var(--casa-orange);
  transition:top .38s cubic-bezier(.2,.9,.3,1),left .38s cubic-bezier(.2,.9,.3,1),
             width .38s cubic-bezier(.2,.9,.3,1),height .38s cubic-bezier(.2,.9,.3,1),opacity .25s}
.twhole.round{border-radius:50%}
.twcard{position:fixed;left:14px;right:14px;z-index:302;border-radius:24px;padding:20px;
  background:linear-gradient(165deg,#1B5347 0%,#123B33 55%,#0E2F28 100%);
  box-shadow:0 26px 60px -16px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.07);
  opacity:0;transform:translateY(12px) scale(.97);transition:.36s cubic-bezier(.2,.9,.3,1)}
.twcard.on{opacity:1;transform:none}
.twbeak{position:absolute;width:16px;height:16px;transform:rotate(45deg);border-radius:3px}
.twbeak.up{top:-7px;background:#1B5347}
.twbeak.down{bottom:-7px;background:#0E2F28}
.twtop{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.twico{width:38px;height:38px;border-radius:13px;flex:0 0 auto;display:grid;place-items:center;
  background:linear-gradient(140deg,#FF8A5C,#E0502B);box-shadow:0 8px 18px -8px rgba(242,99,63,.7)}
.twico .ico{width:18px;height:18px;color:#fff}
.twcard .twkk{font-size:11px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.4);
  font-variant-numeric:tabular-nums}
.twcard b{display:block;font-size:23px;font-weight:800;letter-spacing:-.036em;line-height:1.08;color:#fff}
.twcard p{margin:8px 0 0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.72)}
.twcard p em{font-style:normal;font-weight:800;color:#fff}
.twbar{height:3px;border-radius:99px;background:rgba(255,255,255,.12);margin:18px 0 14px;overflow:hidden}
.twbar i{display:block;height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,#FF9773,#F2633F);transition:width .45s cubic-bezier(.2,.9,.3,1)}
.twr{display:flex;align-items:center;gap:10px}
.twsk{background:none;border:0;font-family:inherit;font-size:13.5px;font-weight:750;
  color:rgba(255,255,255,.45);cursor:pointer;padding:8px 4px}
.twnx{margin-left:auto;display:inline-flex;align-items:center;gap:5px;border:0;cursor:pointer;font-family:inherit;
  background:linear-gradient(135deg,#FF7A4D,#F2633F 55%,#E0502B);color:#fff;border-radius:999px;
  padding:13px 20px;font-size:14.5px;font-weight:800;box-shadow:0 10px 22px -10px rgba(242,99,63,.9)}
.twnx .ico{width:15px;height:15px}
.twnx:active{transform:scale(.97)}
@media(min-width:640px){.twcard{left:50%;right:auto;width:400px;transform:translate(-50%,12px) scale(.97)}
  .twcard.on{transform:translate(-50%,0)}}
/* the welcome screen that hands over to the tour */
.twhello{position:fixed;inset:0;z-index:320;display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:28px 24px max(28px,env(safe-area-inset-bottom));color:#fff;
  background:radial-gradient(120% 62% at 50% 0%,#1E5F51 0%,#123B33 46%,#0C2A24 100%)}
.twhello.gone{animation:twout .42s ease-in forwards}
@keyframes twout{to{opacity:0;visibility:hidden}}
.twhello h2{margin:0;color:#fff;font-size:clamp(25px,7vw,30px);font-weight:800;letter-spacing:-.036em;line-height:1.1;
  opacity:0;animation:twup .5s ease-out .75s forwards;max-width:14ch}
.twhello h2 span{color:#FF9773}
.twtick{width:72px;height:72px;margin-bottom:20px}
.twtick circle{fill:none;stroke:#7FD0AE;stroke-width:3;stroke-dasharray:210;stroke-dashoffset:210;
  animation:twdraw .6s ease-out .1s forwards}
.twtick path{fill:none;stroke:#7FD0AE;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:40;stroke-dashoffset:40;animation:twdraw .35s ease-out .55s forwards}
@keyframes twdraw{to{stroke-dashoffset:0}}
@keyframes twup{to{opacity:1;transform:none}}
.twon{display:grid;gap:8px;width:100%;max-width:360px;margin-top:20px}
.twr1{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border-radius:14px;padding:12px 13px;
  text-align:left;font-size:13px;font-weight:750;opacity:0;transform:translateY(8px);animation:twup .45s ease-out forwards}
.twr1:nth-child(1){animation-delay:1s}.twr1:nth-child(2){animation-delay:1.2s}.twr1:nth-child(3){animation-delay:1.4s}
.twr1 i{width:21px;height:21px;border-radius:7px;background:rgba(127,208,174,.2);color:#7FD0AE;display:grid;
  place-items:center;flex:0 0 auto;font-style:normal;font-size:11px;font-weight:800}
.twr1 b{color:#fff}
.twcta{display:block;width:100%;max-width:360px;margin-top:22px;border:0;cursor:pointer;font-family:inherit;
  background:linear-gradient(135deg,#FF7A4D,#F2633F 50%,#E0502B);color:#fff;border-radius:999px;padding:16px;
  font-size:16px;font-weight:800;opacity:0;animation:twup .5s ease-out 1.7s forwards;
  box-shadow:0 10px 24px -8px rgba(242,99,63,.55)}
.twno{background:none;border:0;font-family:inherit;margin-top:12px;font-size:12.5px;font-weight:700;
  color:rgba(255,255,255,.45);cursor:pointer;opacity:0;animation:twup .5s ease-out 1.9s forwards}


/* v99 · hero: trust badge under the wordmark, source marquee on the photo ------ */
/* the award chip in the nav: a small gold trophy, the claim on hover or tap */
.nwrap{position:relative;display:inline-flex;align-items:center}
.ntro{position:relative;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;padding:0;
  background:none;border:0;cursor:pointer;transition:background .15s,transform .12s}
/* a sparkle catches the trophy every few seconds, nothing louder than that */
.ntro::after{content:"";position:absolute;top:3px;right:3px;width:9px;height:9px;pointer-events:none;
  background:#FFF6D6;clip-path:polygon(50% 0,57% 43%,100% 50%,57% 57%,50% 100%,43% 57%,0 50%,43% 43%);
  opacity:0;transform:scale(.3);animation:ntspark 6s ease-in-out infinite}
@keyframes ntspark{
  0%,80%{opacity:0;transform:scale(.3) rotate(0deg)}
  87%{opacity:1;transform:scale(1) rotate(30deg)}
  100%{opacity:0;transform:scale(.45) rotate(60deg)}
}
.ntro svg{animation:ntglint 6s ease-in-out infinite}
@keyframes ntglint{0%,80%,100%{filter:drop-shadow(0 1px 2px rgba(140,95,10,.35))}
  87%{filter:drop-shadow(0 1px 2px rgba(140,95,10,.35)) brightness(1.18)}}
.ntro:hover{background:rgba(237,178,51,.14)}
.ntro:active{transform:scale(.94)}
.ntro svg{width:21px;height:21px;display:block}
.ntip{position:absolute;top:calc(100% + 9px);right:-4px;z-index:70;
  background:#231F1A;color:#fff;font-size:12px;font-weight:700;letter-spacing:-.01em;
  padding:8px 12px;border-radius:11px;white-space:nowrap;box-shadow:0 10px 26px -12px rgba(0,0,0,.7);
  opacity:0;transform:translateY(-5px);pointer-events:none;transition:opacity .16s,transform .16s}
.ntip::before{content:"";position:absolute;top:-4px;right:16px;width:9px;height:9px;background:#231F1A;transform:rotate(45deg);border-radius:2px}
.nwrap.on .ntip{opacity:1;transform:none}
@media(hover:hover){.nwrap:hover .ntip{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ntip{transition:none}.ntro::after,.ntro svg{animation:none}}

.whero .win{padding-bottom:20px}
.whero .win h1{text-shadow:0 2px 4px rgba(0,0,0,.3),0 4px 30px rgba(0,0,0,.45)}
.wsrc{position:relative;overflow:hidden;margin-top:12px;padding-bottom:4px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.wsrun{display:flex;width:max-content;animation:wsrun 26s linear infinite}
.wsrun span{font-size:8.5px;font-weight:700;letter-spacing:.01em;color:#fff;opacity:.94;white-space:nowrap;
  text-shadow:0 1px 3px rgba(0,0,0,.65),0 2px 14px rgba(0,0,0,.5)}
@keyframes wsrun{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.wbadge::after,.wsrun{animation:none}}


/* footer: Instagram, icon only, straight through to the profile ---------------- */
.foot a.fig,.fig{display:inline-block;margin-top:14px;line-height:0;border-radius:11px;
  transition:transform .15s,opacity .15s}
.fig img{width:34px;height:34px;display:block;border-radius:9px}
.fig:hover{transform:translateY(-1px);opacity:.88}


/* Unlimited: the cancel button is the same shape as the buy button, just not shouting */
.prcta.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);box-shadow:none;animation:none}
.prcta.ghost::before,.prcta.ghost::after{display:none}
.prcta.ghost:hover{background:rgba(255,255,255,.1)}

/* v100 · sublets: the card badge, and the post-your-room form -------------------- */
.c5 .subtag{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-bottom:6px;
  background:rgba(242,99,64,.13);color:var(--casa-orange);border-radius:999px;padding:4px 9px;
  font-size:10.5px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.c5 .subtag .ico{width:11px;height:11px;flex:none}

.psth{margin:6px 0 20px}
.pstk{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--casa-orange);margin-bottom:9px}
.psth h1{font-size:clamp(28px,7vw,40px);font-weight:800;letter-spacing:-.04em;line-height:1.05;margin:0}
.psth h1 span{color:var(--casa-orange)}
.psth p{margin:12px 0 0;font-size:14.5px;line-height:1.55;color:var(--foggy);max-width:44ch}

.pmine{border:1px solid var(--bebe);border-radius:16px;padding:12px 14px;margin-bottom:18px;background:var(--white)}
.pml{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--foggy);margin-bottom:8px}
.pmr{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--bebe);font-size:13.5px;font-weight:700}
.pmr:first-of-type{border-top:0}
.pmr b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmr .tag{flex:none;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:999px}
.pmr .tag.g{background:rgba(62,156,109,.16);color:#2C7A52}
.pmr .tag.o{background:rgba(242,99,64,.14);color:#C9441F}
.pmr .tag.n{background:var(--cream-2);color:var(--foggy)}

.peur{display:flex;align-items:center;gap:0;border:1px solid var(--bebe);border-radius:13px;background:var(--white);overflow:hidden}
.peur span{padding:0 4px 0 13px;font-size:16px;font-weight:700;color:var(--foggy);flex:none}
.peur.end span{padding:0 13px 0 4px}
.peur input{border:0!important;background:none;padding:12px 13px 12px 4px;width:100%;font-size:16px}
.peur input:focus{outline:none;box-shadow:none}

label.pdrop,.pdrop{display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;gap:3px;
  border:1.5px dashed var(--bebe);border-radius:16px;padding:22px 16px;cursor:pointer;text-align:center;
  background:var(--cream);transition:border-color .15s,background .15s}
.pdrop:hover{border-color:var(--casa-orange);background:rgba(242,99,64,.05)}
.pdrop .ico-lg{width:26px;height:26px;color:var(--casa-orange);margin-bottom:4px}
.pdrop b{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.02em}
.pdrop span{display:block;font-size:12.5px;color:var(--foggy);max-width:26ch;line-height:1.4}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:7px;margin-top:9px}
.pgrid:empty{display:none}
.pth{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:var(--cream-2)}
.pth img{width:100%;height:100%;object-fit:cover;display:block}
.pth button{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(23,17,14,.72);color:#fff;font-size:15px;line-height:1;display:grid;place-items:center}
.mbq label em{font-style:normal;font-weight:700;color:var(--foggy);font-size:12px;margin-left:6px}
.bhint{display:block;font-size:11.5px;line-height:1.45;color:var(--foggy);margin-top:7px}

/* v101 · sublet page: the months-you-are-away strip, instead of a paragraph -------- */
.pan{margin:16px 0 2px;max-width:340px}
.panm{display:flex;gap:4px;align-items:flex-end;height:34px}
.panm i{flex:1;height:13px;border-radius:4px 4px 2px 2px;background:rgba(35,31,26,.1)}
.panm i.on{background:var(--casa-orange);animation:panrise 5s ease-in-out infinite}
.panm i.on:nth-of-type(1){animation-delay:0s}
.panm i.on:nth-of-type(2){animation-delay:.1s}
.panm i.on:nth-of-type(3){animation-delay:.2s}
.panm i.on:nth-of-type(4){animation-delay:.3s}
.panm i.on:nth-of-type(5){animation-delay:.4s}
@keyframes panrise{
  0%,4%{height:13px;opacity:.38}
  18%,82%{height:30px;opacity:1}
  96%,100%{height:13px;opacity:.38}}
.pank{display:flex;justify-content:space-between;margin-top:7px;font-size:10px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:var(--foggy)}
.pant{display:inline-flex;align-items:center;gap:6px;margin-top:10px;background:rgba(242,99,64,.13);
  color:#C9441F;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800;letter-spacing:-.01em;
  animation:panpop 5s ease-in-out infinite}
.pant .ico{width:12px;height:12px}
@keyframes panpop{
  0%,14%{opacity:0;transform:translateY(4px)}
  24%,82%{opacity:1;transform:none}
  94%,100%{opacity:0;transform:translateY(4px)}}
/* the sentence stays for screen readers and for anyone who turned motion off */
.pansr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(prefers-reduced-motion:reduce){
  .panm i.on,.pant{animation:none}
  .panm i.on{height:30px;opacity:1}
  .pant{opacity:1;transform:none}
}

/* homepage hero: shining Casa-orange 'Free.' */
.whero h1 .hfree{background:linear-gradient(100deg,#FF9A6E 0 40%,#FFF1DC 50%,#FF9A6E 60% 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 2px 14px rgba(0,0,0,.42));animation:hfreeShine 4.8s ease-in-out infinite}
@keyframes hfreeShine{0%,12%{background-position:120% 0}70%,100%{background-position:-20% 0}}
@media(prefers-reduced-motion:reduce){.whero h1 .hfree{animation:none;background-position:0 0}}

/* ===== 13 Oct: free-account caps, Unlimited push, nav, ticker, signup exit ===== */
/* hero source ticker: readable on a laptop */
@media(min-width:700px){.wsrun span{font-size:12px}}
@media(min-width:1000px){.wsrc{margin-top:16px;max-width:620px}.wsrun span{font-size:15px;letter-spacing:.005em}}

/* nav: log in for people who already have an account, Unlimited for free accounts */
.nlog{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:700;
  color:var(--ink);border:1px solid var(--border);background:var(--surface);white-space:nowrap}
.nlog:hover{border-color:var(--border-strong);color:var(--ink)}
.nunl{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;font-size:13.5px;font-weight:800;
  color:#fff;background:linear-gradient(135deg,#FF7A4D,#F2633F 55%,#E0502B);box-shadow:0 6px 16px -8px rgba(242,99,64,.9);white-space:nowrap}
.nunl:hover{color:#fff;filter:brightness(1.05)}
.nunl .ico{width:14px;height:14px}
@media(max-width:860px){.nlog,.nunl{height:32px;padding:0 11px;font-size:12.5px}}
@media(max-width:380px){.nunl span{display:none}.nunl{padding:0 9px}}

/* account menu */
.aclog2{display:block;text-align:center;margin-top:10px;padding:12px;border-radius:999px;border:1.5px solid var(--border-strong);
  font-size:14px;font-weight:700;color:var(--ink);background:var(--surface)}
.aclog2 b{color:var(--casa-orange)}
.upm{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:8px;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.8);margin:6px 0 2px}
.upm i{font-style:normal}
.upm em{font-style:normal;color:#fff}
.upm u{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden;text-decoration:none}
.upm s{display:block;height:100%;background:#FF9773;border-radius:3px;text-decoration:none}
.upm+.upgo{margin-top:10px}

/* Unlimited sheet and walls */
.unlk{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--casa-orange);background:var(--casa-orange-soft);padding:5px 10px;border-radius:999px;margin-bottom:10px}
.unlk .ico{width:12px;height:12px}
.unlticks{display:grid;gap:8px;margin-top:14px}
.unlticks span{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:650;color:var(--ink)}
.unlticks .ico{width:15px;height:15px;color:#3E8E68;flex:0 0 auto}
.unlback{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.unlback .ico{width:14px;height:14px}
.unlsm{display:block;text-align:center;font-size:12px;color:var(--ink-faint);margin-top:8px}
.unls .sfsbox{max-width:460px}
@media(min-width:861px){.unls{align-items:center}.unls .sfsbox{border-radius:22px;transform:translateY(24px);opacity:0;transition:transform .24s,opacity .2s}.unls.up .sfsbox{transform:none;opacity:1}}

.pgwall{margin:22px auto 6px;max-width:520px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:24px 20px}
.pgwall b{display:block;font-size:20px;font-weight:800;letter-spacing:-.02em}
.pgwall p{margin:6px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.5}
.pglk{width:11px;height:11px;margin-right:3px;vertical-align:-1px;opacity:.6}

.capw{padding-top:22px;padding-bottom:40px}
.capcard{background:var(--surface);border:1px solid var(--border);border-radius:24px;overflow:hidden;max-width:520px;margin:0 auto}
.capimg{position:relative;height:210px;background:var(--surface-soft)}
.capimg img{width:100%;height:100%;object-fit:cover;filter:blur(14px) saturate(1.1);transform:scale(1.15)}
.caplock{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.92);
  display:grid;place-items:center;color:var(--ink);box-shadow:0 10px 26px -10px rgba(0,0,0,.4)}
.caplock .ico{width:22px;height:22px}
.capmeta{position:absolute;left:16px;right:16px;bottom:14px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.capmeta b{display:block;font-size:16px}
.capmeta i{font-style:normal;font-size:13.5px;font-weight:700;opacity:.92}
.capin{padding:20px 20px 18px}
.capin h1{font-size:24px;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0}
.capin p{margin:8px 0 0;color:var(--ink-soft);font-size:14.5px;line-height:1.5}
.capback{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;font-size:13px;font-weight:700;color:var(--ink-soft)}
.capback .ico{width:14px;height:14px}

/* swipe deck: swipes left today */
.swcnt{border:1px solid var(--border);background:var(--surface);border-radius:999px;height:32px;padding:0 12px;font-family:inherit;
  font-size:12px;font-weight:700;color:var(--ink-soft);cursor:pointer;white-space:nowrap}
.swcnt b{color:var(--ink)}
.swcnt.low{border-color:#F7C3B0;background:var(--casa-orange-soft);color:var(--casa-orange)}
.swcnt.low b{color:var(--casa-orange)}

/* sign-up deck: a way out and a way in, on every step */
.dkright{display:flex;align-items:center;gap:8px}
.dklog{font-size:13px;font-weight:800;color:var(--ink);padding:7px 13px;border-radius:999px;border:1px solid var(--border-strong);background:#fff}
.dkx{width:34px;height:34px;border-radius:50%;border:1px solid var(--border-strong);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.dkx .ico{width:14px;height:14px}
.dksub{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.dksub a{font-size:12px;font-weight:600;color:rgba(35,31,26,.62)}
.dksub a b{color:var(--casa-orange)}
@media(max-width:860px){body[data-signedin] .nwrap{display:none}}
@media(max-width:400px){body[data-signedin] .brand .dom{display:none}}
@media(max-width:430px){body[data-signedin] .acbtn .acbars{display:none}body[data-signedin] .acbtn{padding:4px}.nunl{padding:0 10px;gap:5px}body[data-signedin] .nav .wrap{gap:6px}}

/* ---------------------------------------------------------------- *
 * Casa Move (/move): same deep green as the concierge page
 * ---------------------------------------------------------------- */
.mvplan{margin-top:14px;border-radius:20px;padding:15px 15px 8px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px)}
.mvph{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.mvph span{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.mvph b{font-size:12.5px;font-weight:800;color:#9FE0C2;font-variant-numeric:tabular-nums}
.mvbar{height:5px;border-radius:3px;background:rgba(255,255,255,.1);margin:9px 0 6px;overflow:hidden}
.mvbar i{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,#7FD0AE,#4FA582);transition:width .45s cubic-bezier(.2,.9,.3,1)}
.mvrow{display:flex;align-items:center;gap:11px;padding:7px 0;border-top:1px solid rgba(255,255,255,.06)}
.mvrow:first-of-type{border-top:0}
.mvrow em{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:1.6px solid rgba(255,255,255,.28);display:grid;place-items:center;
  transition:background .25s,border-color .25s,transform .25s}
.mvrow em::after{content:"";width:6px;height:10px;border-right:2.2px solid #0C2A24;border-bottom:2.2px solid #0C2A24;
  transform:rotate(45deg) scale(0);margin-top:-2px;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.mvrow.done em{background:#7FD0AE;border-color:#7FD0AE;transform:scale(1.06)}
.mvrow.done em::after{transform:rotate(45deg) scale(1)}
.mvrow b{display:block;font-size:13.5px;font-weight:800;letter-spacing:-.015em;color:rgba(255,255,255,.62);transition:color .25s}
.mvrow.done b{color:#fff}
.mvrow i{display:block;font-style:normal;font-size:11.5px;color:rgba(255,255,255,.45);margin-top:1px}
@media(max-height:760px) and (max-width:760px){.mvrow i{display:none}.mvrow{padding:5px 0}}

/* timeline that draws itself */
.mvtl{position:relative;margin-top:20px;padding-left:4px}
.mvtl::before{content:"";position:absolute;left:19px;top:14px;bottom:24px;width:2px;background:rgba(255,255,255,.1);border-radius:2px}
.mvtl::after{content:"";position:absolute;left:19px;top:14px;width:2px;height:0;background:linear-gradient(#FF9773,#7FD0AE);
  border-radius:2px;transition:height 1.6s cubic-bezier(.3,.8,.3,1)}
.mvtl.go::after{height:calc(100% - 38px)}
.mvst{position:relative;display:flex;gap:14px;padding-bottom:16px;opacity:0;transform:translateY(12px);
  transition:opacity .5s,transform .5s;transition-delay:calc(var(--i) * .28s)}
.mvtl.go .mvst{opacity:1;transform:none}
.mvdot{position:relative;z-index:1;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:#123B33;border:2px solid #7FD0AE;
  display:grid;place-items:center;font-size:13px;font-weight:800;color:#9FE0C2}
.mvsc{flex:1;min-width:0;background:rgba(255,255,255,.06);border-radius:18px;padding:14px 15px 10px}
.mvsc u{display:block;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#FF9773}
.mvsc>b{display:block;font-size:17px;font-weight:800;letter-spacing:-.025em;margin:3px 0 8px}
.mvit{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.4;color:rgba(255,255,255,.82);padding:5px 0;
  border-top:1px solid rgba(255,255,255,.06)}
.mvit i{flex:0 0 auto;font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  border-radius:999px;padding:3px 7px;margin-top:1px;min-width:42px;text-align:center}
.mvit.we i{background:rgba(127,208,174,.16);color:#9FE0C2}
.mvit.you i{background:rgba(255,151,115,.18);color:#FF9773}
.mvit.you{color:#fff;font-weight:700}
@media(prefers-reduced-motion:reduce){.mvst{opacity:1;transform:none;transition:none}.mvtl::after{transition:none}}

/* needs chips in the form */
.mvneeds{display:flex;flex-wrap:wrap;gap:7px}
.ccform label.mvneed{display:inline-flex;margin:0;cursor:pointer;text-transform:none;letter-spacing:0}
.mvneed input{position:absolute;opacity:0;width:1px;height:1px}
.mvneed span{display:inline-flex;align-items:center;font-size:13px;font-weight:700;color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 12px;transition:all .15s}
.mvneed input:checked+span{background:rgba(127,208,174,.2);border-color:#7FD0AE;color:#fff}
.mvneed input:checked+span::before{content:"\2713";margin-right:6px;color:#9FE0C2;font-weight:900}
.mvneed input:focus-visible+span{outline:2px solid #FF9773;outline-offset:2px}

/* the promo on /guides and on every guide */
.mvbnr{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;margin:16px 0 4px;
  border-radius:24px;padding:22px 22px;color:#fff;text-decoration:none;
  background:radial-gradient(120% 140% at 0% 0%,#1E5F51 0%,#123B33 50%,#0C2A24 100%)}
.mvbnr:hover{color:#fff}
.mvbnr::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,151,115,.28),transparent 70%);pointer-events:none}
.mvbk{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:#FF9773;background:rgba(255,151,115,.14);border-radius:999px;padding:5px 10px}
.mvbk svg{width:12px;height:8px;border-radius:2px}
.mvbnr h2{margin:10px 0 4px;font-size:clamp(21px,4.6vw,28px);font-weight:800;letter-spacing:-.035em;line-height:1.1;color:#fff}
.mvbnr h2 span{color:#FF9773}
.mvbnr p{margin:0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.72);max-width:520px}
.mvchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.mvchips span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:750;background:rgba(255,255,255,.1);
  border-radius:999px;padding:6px 10px;color:rgba(255,255,255,.88)}
.mvchips span::before{content:"\2713";color:#7FD0AE;font-weight:900}
.mvgo{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border-radius:999px;padding:14px 20px;
  font-size:15px;font-weight:800;color:#fff;background:linear-gradient(135deg,#FF7A4D,#F2633F 50%,#E0502B);box-shadow:0 10px 24px -8px rgba(242,99,63,.55)}
.mvgo .ico{width:16px;height:16px}
@media(max-width:700px){.mvbnr{grid-template-columns:1fr;gap:14px;padding:20px 18px}.mvgo{justify-content:center}}
.mvbnr.slim{margin:28px 0 0;max-width:720px}
@media(min-width:1000px){
  .ccmain.mvmain{max-width:1040px;display:grid;grid-template-columns:1fr 440px;grid-template-areas:"top plan" "cta plan";
    column-gap:56px;align-content:center;padding-bottom:40px}
  .mvtop{grid-area:top;align-self:end}
  .mvmain .mvplan{grid-area:plan;align-self:center;margin-top:0;padding:20px 20px 10px}
  .mvcta{grid-area:cta;align-self:start;max-width:440px}
  .mvcta .ccfine,.mvcta .ccdown{text-align:left;justify-content:flex-start}
  .mvmain .cch{font-size:48px}
  .mvmain .ccnums{max-width:440px}
}
/* Casa Move: WhatsApp, team, numbers */
.mvwa{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:10px;padding:14px;border-radius:999px;
  font-size:15px;font-weight:800;color:#fff;background:rgba(37,211,102,.16);border:1.5px solid rgba(37,211,102,.55);text-decoration:none}
.mvwa:hover{color:#fff;background:rgba(37,211,102,.26)}
.mvwa .ico{width:18px;height:18px;color:#25D366}
.mvfab{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;gap:8px;
  padding:12px 16px 12px 13px;border-radius:999px;background:#25D366;color:#fff;font-size:14px;font-weight:800;text-decoration:none;
  box-shadow:0 12px 28px -10px rgba(0,0,0,.55)}
.mvfab:hover{color:#fff}
.mvfab .ico{width:20px;height:20px}
body:has(.mvfab) .cbub{display:none!important}
.mvteam{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:16px}
.mvface{background:rgba(255,255,255,.07);border-radius:20px;padding:10px 10px 14px;text-align:center}
.mvface img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;display:block;margin-bottom:10px}
.mvface b{display:block;font-size:15px;font-weight:800}
.mvface i{display:block;font-style:normal;font-size:12.5px;color:rgba(255,255,255,.65);margin-top:2px}
.mvface u{display:inline-block;text-decoration:none;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:#9FE0C2;background:rgba(127,208,174,.14);border-radius:999px;padding:3px 8px;margin-top:7px}
.mvstats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}
.mvstat{background:rgba(255,255,255,.07);border-radius:18px;padding:15px 14px}
.mvstat b{display:block;font-size:26px;font-weight:800;letter-spacing:-.04em;line-height:1;color:#fff}
.mvstat:nth-child(even) b{color:#9FE0C2}
.mvstat i{display:block;font-style:normal;font-size:12px;line-height:1.35;color:rgba(255,255,255,.62);margin-top:6px}
@media(min-width:760px){.mvstats{grid-template-columns:repeat(4,1fr)}}
/* homepage: the hand-off to Casa Move under the search */
.hmove{display:flex;align-items:center;gap:9px;margin-top:10px;padding:10px 12px;border-radius:14px;background:#123B33;color:#fff;text-decoration:none}
.hmove:hover{color:#fff;background:#174A40}
.hmk{flex:0 0 auto;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#FF9773;background:rgba(255,151,115,.16);border-radius:999px;padding:4px 8px}
.hmt{flex:1;min-width:0;font-size:13px;font-weight:700;line-height:1.3}
.hmove .ico{flex:0 0 auto;width:16px;height:16px;color:#9FE0C2}
/* hero accent line: the search button's orange, with the shine, and a light shadow so it stays bright */
.whero h1 .hfree{background:linear-gradient(100deg,#F2633F 0 40%,#FFE9D6 50%,#F2633F 60% 100%);background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));animation:hfreeShine 4.8s ease-in-out infinite}
.mvfab{opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .25s,transform .25s}
.mvfab.on{opacity:1;transform:none;pointer-events:auto}
.whero .win h1 .hfree,.whero h1 .hfree{text-shadow:none}
/* the accent line: crisp dark shadow around the letters (filter, so it never bleeds through the orange) */
.whero h1 .hfree{filter:drop-shadow(0 2px 2px rgba(0,0,0,.5)) drop-shadow(0 0 16px rgba(0,0,0,.45))}
.acflag{display:inline-flex;align-items:center;gap:7px;margin:4px 0 8px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--casa-orange);background:var(--casa-orange-soft);border-radius:999px;padding:6px 11px 6px 9px}
.acflag svg{width:15px;height:10px;border-radius:2px;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.08)}

/* ===== 14 Oct: inquiry channels, superlike, tenant profile ===== */
/* swipe: the action row. Skip, the superlike, save */
.sfacts.sfacts2{display:flex;align-items:center;justify-content:center;gap:14px;grid-template-columns:none}
.sfacts2 .sfb.no,.sfacts2 .sfb.keep{width:54px;height:54px;flex:0 0 auto;box-shadow:0 8px 20px -10px rgba(0,0,0,.45)}
.sfacts2 .sfb.keep{color:var(--deep,#123B33)}
.sfacts2 .sfb .ico{width:21px;height:21px}
.sfsend{position:relative;display:flex;align-items:center;gap:11px;height:64px;padding:0 22px 0 18px;border:0;border-radius:999px;
  background:var(--casa-orange);color:#fff;font-family:inherit;cursor:pointer;text-align:left;
  box-shadow:0 0 0 6px rgba(242,99,63,.18),0 12px 26px -8px rgba(242,99,63,.6);transition:transform .15s,background .2s,box-shadow .2s}
.sfsend:active{transform:scale(.95)}
.sfsend .sfsi{width:24px;height:24px;flex:0 0 auto;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.sfsend .sfsl{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.sfsend .sfsl b{font-size:16px;font-weight:800;letter-spacing:-.015em;white-space:nowrap}
.sfsend .sfsl small{font-size:11px;font-weight:650;opacity:.86;white-space:nowrap}
.sfsend.fired .sfsi{transform:translate(18px,-16px) rotate(-8deg);opacity:0}
.sfsend.lock{background:#fff;color:var(--casa-orange);box-shadow:0 0 0 6px rgba(255,255,255,.14),0 12px 26px -10px rgba(0,0,0,.45)}
.sfsend.out{opacity:.78}
@media(max-width:360px){.sfacts.sfacts2{gap:10px}.sfsend{padding:0 16px 0 14px}.sfsend .sfsl small{display:none}}
.sfundo2:disabled{opacity:.32}
/* the counter on top */
.sfinq{display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 28px);margin:2px auto 8px;padding:7px 8px 7px 13px;
  border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer;position:relative;z-index:1}
.sfinq .ico{width:15px;height:15px;color:#FF9773;flex:0 0 auto}
.sfinq span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfinq u{text-decoration:none;font-size:11px;font-weight:800;background:var(--casa-orange);color:#fff;border-radius:999px;padding:4px 9px;flex:0 0 auto}
.sfinq.out{background:#FFE7DD;color:#8A3414}.sfinq.out .ico{color:var(--casa-orange)}
/* chips on the card */
.sfunl,.sfdir{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:750}
.sfunl{background:#FFE7DD;color:#B6461F}.sfunl .ico{width:11px;height:11px}
.sfdir{background:#E9F1EE;color:#1B5347}
.sfstamp.sent{left:50%;top:40%;transform:translate(-50%,-50%) rotate(-6deg);color:#fff;border-color:#fff;background:rgba(242,99,63,.92);z-index:6}
.sfc.sent .sfstamp.sent{opacity:1}
/* receipt with the hand-off */
.rcgo{margin-top:10px}
.rcbtn{display:block;width:100%;border:0;border-radius:999px;background:var(--casa-orange);color:#fff;font:inherit;font-size:13.5px;font-weight:800;
  height:42px;line-height:42px;text-align:center;text-decoration:none;cursor:pointer}
.rcrow{display:flex;gap:8px;align-items:center}.rcrow .rcf{flex:1}
.rcx{margin-top:10px;height:32px;border:0;border-radius:999px;background:var(--surface-soft,#F4EEE8);color:var(--ink);font:inherit;font-size:12px;font-weight:800;padding:0 14px;cursor:pointer}

/* applications page */
.hqstat.is-you{color:var(--casa-orange)}
.hqready{border-color:#F7C3B0;background:linear-gradient(0deg,#fff,#fff8f4)}
.hqgo{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.hqgo .btn{gap:6px}
.hqtxt{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.hqlink{border:0;background:none;padding:0;font:inherit;font-size:12px;font-weight:700;color:var(--casa-orange);cursor:pointer;text-decoration:underline}
.hqlink.mute{color:var(--foggy);font-weight:600}
.tpnudge{display:flex;align-items:center;gap:12px;margin:14px 0 4px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);
  background:var(--surface);color:var(--ink);text-decoration:none}
.tpnudge>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.tpnudge b{font-size:14px;font-weight:750}.tpnudge small{font-size:12.5px;color:var(--foggy)}
.tpnudge>.ico{width:18px;height:18px;color:var(--foggy)}
.tpring{--p:50;width:46px;height:46px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  background:conic-gradient(var(--casa-orange) calc(var(--p)*1%),#F1E9E3 0)}
.tpring b{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}

/* listing: how this one travels */
.chbox{display:flex;flex-direction:column;gap:4px;margin:12px 0 10px;padding:11px 12px;border-radius:14px;background:#F4EFEA}
.chbox b{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:750}
.chbox b .ico{width:15px;height:15px;color:var(--casa-orange)}
.chbox span{font-size:12.5px;color:var(--foggy);line-height:1.45}
.chbox.ch-email{background:#EAF2EF}.chbox.ch-email b .ico{color:#1B5347}
.tplink{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:var(--foggy);text-decoration:none;margin-top:2px}
.tplink .ico{width:13px;height:13px}
.paidw .wkick{display:flex;align-items:center;gap:6px}.paidw .wkick .ico{width:13px;height:13px}

/* tenant profile */
.tpback{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--foggy);text-decoration:none;margin-bottom:8px}
.tpback .ico{width:14px;height:14px}
.tpwrap{display:grid;gap:16px;margin-top:16px}
@media(min-width:900px){.tpwrap{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start}.tpwrap .tpcard{position:sticky;top:84px}}
.tpcard{background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden}
.tphd{display:flex;align-items:center;gap:14px;padding:18px;background:var(--casa-orange);color:#fff}
.tphd small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.85}
.tphd b{display:block;font-size:22px;font-weight:800;letter-spacing:-.025em;line-height:1.15}
.tphd span{display:block;font-size:13px;opacity:.92;margin-top:2px}
.tpph{width:64px;height:64px;border-radius:18px;object-fit:cover;flex:0 0 auto;background:rgba(255,255,255,.2)}
.tpini{display:grid;place-items:center;font-size:26px;font-weight:800}
.tpdl{margin:0;padding:6px 18px}
.tpdl div{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #F1E9E3;font-size:13.5px}
.tpdl dt{flex:0 0 96px;color:var(--foggy)}
.tpdl dd{margin:0;font-weight:650}
.tpdl .hi dd{font-weight:800}
.tpab{margin:6px 18px 0;font-size:13.5px;line-height:1.55;color:var(--ink-soft,#4A4541)}
.tpdoc{display:flex;gap:6px;align-items:flex-start;margin:10px 18px 0;font-size:12.5px;color:#1B5347;font-weight:650}
.tpdoc .ico{width:14px;height:14px;flex:0 0 auto;margin-top:2px}
.tpmeter{height:6px;border-radius:9px;background:#F1E9E3;margin:16px 18px 0;overflow:hidden}
.tpmeter span{display:block;height:100%;background:var(--casa-orange);border-radius:inherit}
.tpmt{margin:7px 18px 0;font-size:12px;color:var(--foggy)}.tpmt b{color:var(--ink)}
.tpacts{display:flex;gap:8px;flex-wrap:wrap;padding:14px 18px 0}
.tpacts .btn{gap:6px}
.tpfine{margin:12px 18px 18px;font-size:11.5px;color:var(--foggy);line-height:1.5}
.tppub{max-width:520px;margin:0 auto}
.tp2,.tp3{display:grid;gap:10px}
@media(min-width:520px){.tp2{grid-template-columns:1fr 1fr}.tp3{grid-template-columns:1.3fr 1fr 1fr}}
.tpchk{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;margin:6px 0;cursor:pointer}
.tpchk input{margin-top:3px}
.tpform .acch{margin-top:6px}
.tphd .tpini{display:grid;place-items:center;font-size:26px;font-weight:800;margin:0;opacity:1;color:#fff}
.hqmeta .hqdate::before{content:" \00B7  "}
.hqgo .btn{flex:0 0 auto}

/* free-era boot: cards visible on white */
.boot .bootdeck i{box-shadow:0 10px 30px rgba(40,20,10,.16)}
