/* Caldermont mobile layer: only applies on tablets/phones. Desktop is untouched. */
.mh,.mm{display:none}
@media (max-width:900px){
  /* hide the desktop navs */
  .hero-nav,header.sh,#aboutHero>header.nav,body>header{display:none!important}
  html[data-solidnav] body{padding-top:60px}

  /* mobile header */
  .mh{display:flex;position:fixed;top:0;left:0;right:0;z-index:1000;height:60px;padding:0 16px;align-items:center;justify-content:space-between;box-sizing:border-box;background:#1A0F0A;border-bottom:1px solid rgba(255,255,255,.08);transition:transform .32s ease,background .25s ease,border-color .25s ease;font-family:'Manrope',sans-serif}
  .mh.clear{background:transparent;border-bottom-color:transparent}
  .mh.up{transform:translateY(-100%)}
  .mh-brand{display:flex;align-items:center;gap:10px;color:#FFFFFF!important;text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;letter-spacing:.3px}
  .mh-mark{width:28px;height:28px;border:1.3px solid #D4B48C;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#D4B48C;font-size:17px;box-sizing:border-box}
  .mh-burger{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0}
  .mh-burger i{display:block;width:18px;height:1.6px;background:#FFFFFF;border-radius:2px;transition:transform .25s,opacity .2s}
  .mh.open .mh-burger i:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
  .mh.open .mh-burger i:nth-child(2){opacity:0}
  .mh.open .mh-burger i:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}
  .mh.open{background:#1A0F0A;transform:none}

  /* menu panel */
  .mm{display:flex;flex-direction:column;position:fixed;inset:0;z-index:999;background:#1A0F0A;padding:84px 24px 28px;box-sizing:border-box;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s;font-family:'Manrope',sans-serif;overflow-y:auto}
  .mm.open{opacity:1;visibility:visible;transition:opacity .25s ease}
  .mm a.mm-l{display:flex;justify-content:space-between;align-items:center;color:#FFFFFF!important;text-decoration:none;font-size:22px;font-weight:500;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .mm a.mm-l svg{width:16px;height:16px;stroke:#8C7B6E}
  .mm a.mm-l.cur{color:#D4B48C!important}
  .mm-sub{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#8C7B6E;margin:26px 0 4px}
  .mm-cta{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:10px}
  .mm-cta button,.mm-cta a{font-family:inherit;width:100%;box-sizing:border-box;text-align:center;border-radius:3px;padding:14px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none}
  .mm-cta button{background:#F5EFE9;color:#1A0F0A;border:none}
  .mm-cta a{background:transparent;color:#FFFFFF!important;border:1px solid rgba(255,255,255,.35)}
  html.mm-lock,html.mm-lock body{overflow:hidden}
  html.pop-open .mh,html:has(.cm-overlay.open) .mh,html:has(.dov.open) .mh,html:has(.filters.open) .mh,html:has(.ap-ov.open) .mh{display:none!important}

  /* hero video on phones */
  .hero.has-video .hero-video,#aboutHero.has-video video{display:block!important}
}

@media (max-width:760px){
  /* ---- shared: smaller buttons ---- */
  .btn,.dark-btn,.light-btn,.hero-cta,.ghost-btn,.op-btn,.ins-btn,.btn-light,.ains-all,.btn-d,.btn-l,.sb-go,.op-off button,.op-band button{font-size:14px!important;padding:12px 18px!important}
  .hero-ghost{font-size:14px!important;padding:11px 18px!important}
  .cm-primary{padding:13px!important;font-size:15px!important}

  /* ---- shared: headings ---- */
  .hero h1,.intro h1{font-size:clamp(36px,10.4vw,44px)!important;line-height:1.04!important;letter-spacing:-.3px!important}
  h2.sec,.plat-head h2,.op-head h2,.ins-head h2,#valuation h2,.cities h2,.values h2,.ains-head h2,.pos-head h2,.how h2,.ben-head h2{font-size:30px!important;line-height:1.08!important}
  #company h2,.cta h2,.tcard h2,.feat-copy h3{font-size:26px!important;line-height:1.12!important}
  .lead{font-size:22px!important}
  .cm-title{font-size:26px!important;margin-bottom:24px!important}
  .cm-panel{padding:58px 20px 22px!important}

  /* ---- homepage ---- */
  html[data-page=index] .hero-body{padding:96px 20px 72px!important;gap:16px!important}
  html[data-page=index] .hero-label{font-size:11px!important;letter-spacing:2px!important;gap:10px!important}
  html[data-page=index] .hero-label span{width:22px!important}
  html[data-page=index] .hero p{font-size:16px!important;line-height:1.55!important}
  html[data-page=index] .hero-actions{gap:10px!important;margin-top:6px!important}
  html[data-page=index] .hero-strip{font-size:12.5px!important;gap:6px 18px!important;padding:0 20px 24px!important;text-align:center}

  html[data-page=index] .wrap{padding:0 20px}
  html[data-page=index] .duo{padding:56px 0}
  html[data-page=index] .duo-grid{gap:14px}
  html[data-page=index] .card{padding:22px 18px 18px}
  html[data-page=index] .card h3{font-size:26px;margin-bottom:8px}
  html[data-page=index] .card p{font-size:15px;margin-bottom:18px}
  html[data-page=index] .vis{height:320px}
  html[data-page=index] .vis-foot{padding:16px 18px}
  html[data-page=index] .vis-foot strong{font-size:20px}
  html[data-page=index] .vis-foot span{font-size:9.5px;letter-spacing:1px}
  html[data-page=index] .task{padding:14px 16px}
  html[data-page=index] .task h5{font-size:19px}
  html[data-page=index] .task li{font-size:12.5px}
  html[data-page=index] .vis{height:auto!important}
  html[data-page=index] .vis-body{flex:none!important}
  html[data-page=index] #aiVis .vis-body{height:300px}
  html[data-page=index] #aiVis .task{top:50%;width:88%}
  html[data-page=index] .task small{margin-bottom:8px}
  html[data-page=index] .task ul{padding-top:8px}
  html[data-page=index] .task li{padding:4px 0;line-height:1.3}
  html[data-page=index] #exVis .loi{position:relative!important;inset:auto!important;padding:20px 18px 70px!important}
  html[data-page=index] #exVis .loi .ln{margin:9px 0}
  html[data-page=index] #exVis .term{margin:18px 0;padding:14px 14px}
  html[data-page=index] #exVis .term .mono{font-size:10.5px;line-height:1.4}
  html[data-page=index] #exVis .price{font-size:16px;margin-top:8px;line-height:1.4}
  html[data-page=index] #exVis .agent{right:16px!important;bottom:18px!important;left:auto!important;top:auto!important;font-size:9.5px;letter-spacing:1.2px;padding:8px 10px}
  html[data-page=index] #exVis .who{left:16px!important;bottom:16px!important;right:auto!important;top:auto!important;font-size:15px;padding:4px 8px 4px 4px;box-shadow:0 4px 12px rgba(36,21,14,.12)}
  html[data-page=index] #exVis .who i{width:22px;height:22px;font-size:10px}
  html[data-page=index] #exVis .cursor{display:none}

  html[data-page=index] .plat{padding:60px 0 64px}
  html[data-page=index] .plat-head{gap:18px}
  html[data-page=index] .stage{margin-top:28px}
  html[data-page=index] .app{min-height:0;box-shadow:0 20px 40px rgba(0,0,0,.4)}
  html[data-page=index] .main{padding:20px 14px}
  html[data-page=index] .p-title{font-size:26px}
  html[data-page=index] .p-sub{font-size:11.5px;margin-bottom:14px;padding-bottom:12px}
  html[data-page=index] .t{font-size:11.5px}
  html[data-page=index] .t th{font-size:9px;padding:8px 8px;letter-spacing:.6px}
  html[data-page=index] .t td{padding:8px 8px}
  html[data-page=index] .chip{font-size:9.5px;padding:2px 7px;white-space:nowrap}
  html[data-page=index] .kpi{padding:10px 0}
  html[data-page=index] .kpi strong{font-size:22px}
  html[data-page=index] .box{padding:14px}
  html[data-page=index] .steps li{font-size:12px;padding:9px 0;gap:10px}
  html[data-page=index] .f-row{grid-template-columns:86px 1fr 28px;font-size:11px}
  html[data-page=index] .bar-l span{font-size:9.5px}
  html[data-page=index] .illus{font-size:11px}

  html[data-page=index] .op{padding:56px 16px!important}
  html[data-page=index] .op-head{gap:14px!important;padding-bottom:22px!important;margin-bottom:22px!important}
  html[data-page=index] .op-lbl{font-size:11px!important;letter-spacing:2px!important;margin-bottom:10px!important}
  html[data-page=index] .op-head p{font-size:14.5px!important;margin-bottom:12px!important}
  html[data-page=index] .op-grid{gap:14px!important}
  html[data-page=index] .op-img{height:190px!important}
  html[data-page=index] .op-feat .op-img.priv i{width:52px!important;height:52px!important;font-size:26px!important}
  html[data-page=index] .op-fb{padding:18px 16px!important}
  html[data-page=index] .op-feat h3{font-size:24px!important;margin:8px 0 14px!important}
  html[data-page=index] .op-stats b{font-size:21px!important}
  html[data-page=index] .op-acts{padding-top:16px!important;gap:8px!important}
  html[data-page=index] .op-acts .op-btn{flex:1}
  html[data-page=index] .op-side{gap:14px!important}
  html[data-page=index] .op-row{grid-template-columns:96px minmax(0,1fr)!important}
  html[data-page=index] .op-cov{height:auto!important}
  html[data-page=index] .op-cov i{width:34px!important;height:34px!important;font-size:18px!important}
  html[data-page=index] .op-cov span{font-size:8.5px!important;letter-spacing:1px!important}
  html[data-page=index] .op-rb{padding:14px 14px 12px!important}
  html[data-page=index] .op-meta{font-size:10.5px!important;letter-spacing:1.1px!important}
  html[data-page=index] .op-row h3{font-size:19px!important;margin:5px 0 8px!important}
  html[data-page=index] .op-mini em{font-size:18px!important}
  html[data-page=index] .op-mini{gap:4px 16px!important}
  html[data-page=index] .op-rl{padding-top:10px!important;font-size:13px!important}
  html[data-page=index] .op-rl button{font-size:12.5px!important}
  html[data-page=index] .op-off{margin-top:14px!important;padding:20px 18px!important;gap:12px!important}
  html[data-page=index] .op-off-ic{display:none!important}
  html[data-page=index] .op-off h3{font-size:22px!important}
  html[data-page=index] .op-off p{font-size:14px!important}

  html[data-page=index] .ins{padding:56px 16px}
  html[data-page=index] .ins-head{margin-bottom:24px}
  html[data-page=index] .ins-label{font-size:11px;letter-spacing:2px;margin-bottom:10px}
  html[data-page=index] .ins-grid{gap:14px}
  html[data-page=index] .ins-card{padding:14px 14px 18px}
  html[data-page=index] .cover{height:170px!important;padding:22px}
  html[data-page=index] .cover h4{font-size:26px}
  html[data-page=index] .cover p{font-size:11.5px;margin-top:8px}
  html[data-page=index] .cv2 .nums{font-size:130px}
  html[data-page=index] .ins-card h3{font-size:22px;margin:18px 0 8px}
  html[data-page=index] .ins-card .ex{font-size:14.5px;margin-bottom:16px}

  html[data-page=index] #valuation{padding:56px 16px!important}
  html[data-page=index] #valuation>div{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  html[data-page=index] #leadForm label{min-width:0}
  html[data-page=index] #leadForm input,html[data-page=index] #leadForm select{width:100%;box-sizing:border-box}
  html[data-page=index] #valuation p{font-size:15px!important}
  html[data-page=index] #leadForm{grid-template-columns:1fr 1fr!important;gap:12px!important}
  html[data-page=index] #leadForm label{font-size:13px!important;gap:6px!important}
  html[data-page=index] #leadForm label:first-child,html[data-page=index] #leadForm label:nth-child(4),html[data-page=index] #leadForm label:nth-child(5),html[data-page=index] #leadForm .buy-only,html[data-page=index] #leadForm .sell-only{grid-column:1/-1}
  html[data-page=index] #leadForm input,html[data-page=index] #leadForm select{padding:11px 12px!important;font-size:16px!important;min-width:0}
  html[data-page=index] #leadForm button{padding:14px!important;font-size:15px!important}

  /* homepage footer */
  html[data-page=index] #company{padding:48px 20px 32px!important}
  html[data-page=index] #company>div>div:first-child{padding-bottom:36px!important;gap:18px!important}
  html[data-page=index] #company>div>div:first-child button{padding:12px 20px!important;font-size:14px!important}
  html[data-page=index] #company>div>div:nth-child(2){grid-template-columns:1fr 1fr!important;gap:28px 16px!important;padding:36px 0 36px!important}
  html[data-page=index] #company>div>div:nth-child(2)>a{grid-column:1/-1}
  html[data-page=index] #company>div>div:nth-child(2)>div{font-size:14px!important;gap:8px!important}
  html[data-page=index] #company>div>div:nth-child(2)>div:nth-child(3){grid-column:1/-1;order:3}
  html[data-page=index] #company>div>div:nth-child(2)>div:nth-child(3) a{font-size:14px}

  /* ---- listings ---- */
  html[data-page=listings] .intro{padding:28px 16px 20px!important}
  html[data-page=listings] .intro .lbl{font-size:11px;letter-spacing:2px;margin-bottom:8px}
  html[data-page=listings] .intro h1{margin-bottom:16px!important}
  html[data-page=listings] .searchbar{gap:8px!important}
  html[data-page=listings] .searchbar input,html[data-page=listings] .searchbar select{padding:11px 12px 11px 38px;font-size:16px}
  html[data-page=listings] .searchbar select{padding-left:12px}
  html[data-page=listings] .bar{padding:10px 16px!important;gap:10px}
  html[data-page=listings] .count{font-size:13px;gap:4px 12px}
  html[data-page=listings] .intl{font-size:12.5px}
  html[data-page=listings] .tools{width:100%;gap:8px}
  html[data-page=listings] .tools select{flex:1;padding:9px 10px;font-size:14px}
  html[data-page=listings] .ftoggle{padding:9px 12px;font-size:13.5px}
  html[data-page=listings] .views button{padding:8px 9px}
  html[data-page=listings] .lay{padding:12px 12px 48px!important}
  html[data-page=listings] .cards,html[data-page=listings] .res.grid .cards{gap:10px!important}
  html[data-page=listings] .card{display:grid!important;grid-template-columns:116px minmax(0,1fr);border-radius:5px}
  html[data-page=listings] .card:hover,html[data-page=listings] .card.hl{transform:none}
  html[data-page=listings] .cimg{height:auto!important;min-height:132px}
  html[data-page=listings] .cimg.priv{gap:6px!important;font-size:9.5px!important;text-align:center;padding:0 8px;letter-spacing:.2px!important}
  html[data-page=listings] .cimg.priv svg{width:22px!important;height:22px!important}
  html[data-page=listings] .tag{top:6px!important;left:6px!important;font-size:8.5px!important;padding:4px 6px!important;letter-spacing:.5px!important;max-width:calc(100% - 12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}
  html[data-page=listings] .tag2{bottom:6px!important;left:6px!important;font-size:9px!important;padding:3px 6px!important}
  html[data-page=listings] .heart{top:auto!important;bottom:6px;right:6px!important;width:28px!important;height:28px!important}
  html[data-page=listings] .heart svg{width:14px!important;height:14px!important}
  html[data-page=listings] .cimg .tag2~.heart,html[data-page=listings] .cimg:has(.tag2) .heart{bottom:auto;top:28px!important}
  html[data-page=listings] .cb{padding:11px 12px 10px!important}
  html[data-page=listings] .card .price{font-size:19px!important}
  html[data-page=listings] .ct{margin:2px 0 4px!important;font-size:14.5px!important;line-height:1.3!important}
  html[data-page=listings] .loc{font-size:12.5px!important}
  html[data-page=listings] .mets{margin-top:8px!important;padding-top:8px!important;gap:8px!important}
  html[data-page=listings] .mets small{font-size:9px!important;letter-spacing:.8px!important}
  html[data-page=listings] .mets span{font-size:13px!important}
  html[data-page=listings] .cfoot{display:none!important}
  html[data-page=listings] .res.split .mapwrap,html[data-page=listings] .res.map .mapwrap{height:260px!important}
  html[data-page=listings] .matchband{padding:20px 18px!important}
  html[data-page=listings] .matchband h3{font-size:22px!important}
  html[data-page=listings] .matchband p{font-size:14px!important}
  html[data-page=listings] .empty{padding:32px 18px!important}
  html[data-page=listings] .empty h3{font-size:24px!important}
  html[data-page=listings] .dimg{height:200px}
  html[data-page=listings] .db{padding:20px 18px 110px}
  html[data-page=listings] .db h2{font-size:28px}
  html[data-page=listings] .db .price{font-size:24px;margin:10px 0 16px}
  html[data-page=listings] .dcta{padding:12px 16px}

  /* ---- sell ---- */
  html[data-page=sell] .hero-in{padding:56px 20px 48px!important;gap:28px!important}
  html[data-page=sell] .hero-card{padding:20px!important}
  html[data-page=sell] .pillars{padding:44px 0!important}
  html[data-page=sell] .compare,html[data-page=sell] .process,html[data-page=sell] .split,html[data-page=sell] .faq,html[data-page=sell] .intake{padding:60px 0!important}
  html[data-page=sell] .panel{padding:24px 18px!important}
  html[data-page=sell] .step{padding:22px 0!important;gap:12px!important}
  html[data-page=sell] .cmp th,html[data-page=sell] .cmp td{padding:12px 10px!important;font-size:13px}
  html[data-page=sell] .formcard{padding:20px!important}
  html[data-page=sell] details{padding:16px 0!important}

  /* ---- about ---- */
  html[data-page=about] .hero{min-height:72vh}
  html[data-page=about] .mission{padding:60px 0 56px!important}
  html[data-page=about] .cities,html[data-page=about] .values,html[data-page=about] .ains{padding:60px 0!important}
  html[data-page=about] .cities h2,html[data-page=about] .values h2{margin-bottom:32px!important}
  html[data-page=about] .ains-card{padding:22px 20px!important}
  html[data-page=about] .ains-all{margin-top:24px!important}
  html[data-page=about] .cta{padding:52px 0!important}

  /* ---- insights ---- */
  html[data-page=insights] .hero{padding-top:52px!important}
  html[data-page=insights] .featured{padding:44px 0 24px!important}
  html[data-page=insights] .feat-art{min-height:280px!important;padding:28px!important}
  html[data-page=insights] .feat-copy{padding:24px 20px!important}
  html[data-page=insights] .library{padding:32px 0 64px!important}
  html[data-page=insights] .art{height:150px!important}
  html[data-page=insights] .body{padding:18px 18px 18px!important}
  html[data-page=insights] .aud,html[data-page=insights] .news{padding:60px 0!important}
  html[data-page=insights] .aud-card{padding:24px 20px!important}

  /* ---- careers ---- */
  html[data-page=careers] .hero{padding:52px 0 40px!important}
  html[data-page=careers] .tcard{padding:28px 22px 26px!important}
  html[data-page=careers] .how,html[data-page=careers] .ben{padding:56px 0!important}
  html[data-page=careers] .pos{padding:56px 0 64px!important}
  html[data-page=careers] .thead,html[data-page=careers] .rbtn{padding:18px 16px!important}
  html[data-page=careers] .open-app{margin-top:32px!important;padding:20px!important}
  html[data-page=careers] .ben-grid .b{padding:22px 18px!important}
}

/* mobile One Platform carousel */
.pcar{display:none}
@media (max-width:900px){
  .plat .tabs{display:none!important}
  .pcar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:14px;align-items:center;margin-top:30px}
  .pcar button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#FFFFFF;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
  .pcar button svg{width:18px;height:18px}
  .pcar-t{min-width:0}
  .pcar-t b{display:block;font-size:18px;font-weight:500;color:#FFFFFF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcar-t span{display:block;font-size:13px;color:#A8988B;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pcar-bar{position:relative;height:2px;background:rgba(255,255,255,.22);margin-top:14px;overflow:hidden}
  .pcar-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:#D4B48C}
  .pcar-bar i.run{animation:pcarfill var(--dur,7s) linear forwards}
  .pcar-n{font-size:11px;letter-spacing:1.5px;color:#8C7B6E;margin-bottom:4px;font-weight:600}
}
@keyframes pcarfill{from{width:0}to{width:100%}}
@media (prefers-reduced-motion:reduce){.pcar-bar i.run{animation:none;width:100%}.mh{transition:none}}

/* desktop: header hides on scroll down, returns on scroll up */
.dh{position:fixed;top:0;left:0;right:0;z-index:90;background:#1A0F0A;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px rgba(0,0,0,.22);transform:translateY(-100%);visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s}
.dh.show{transform:none;visibility:visible;transition:transform .3s ease}
.dh .hero-nav,.dh header.nav{padding-top:14px!important;padding-bottom:14px!important}
header.sh{transition:transform .3s ease}
header.sh.dh-up{transform:translateY(-100%)}
@media (max-width:900px){.dh{display:none!important}}
@media (prefers-reduced-motion:reduce){.dh,header.sh{transition:none}}