/* Choice Holdings — inner-page components, in the Estate language (tokens from site.css). */

/* Page hero: a shorter version of the home hero, with or without a photo */
.hero--page{min-height:78vh;min-height:78svh}
.hero--page h1{font-size:clamp(44px,6.4vw,100px);max-width:15ch}
.hero--plain{background:radial-gradient(120% 90% at 78% 18%,#0D3F72 0%,var(--abyss) 64%)}
.hero--plain::before{background:linear-gradient(90deg,rgba(2,19,39,.5) 0%,rgba(2,19,39,0) 70%)}
.hero--plain .rely-mark{right:-10%;width:min(70vw,980px)}
.hero--short{min-height:62vh;min-height:62svh}
.crumb{display:flex;gap:10px;font:600 10.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.crumb a{text-decoration:none}
.crumb a:hover{color:#fff}

/* Generic sections */
.sec{padding-block:var(--sec)}
.sec--tight{padding-block:calc(var(--sec) * .62)}
.sec--stone{background:var(--stone)}
.sec--dark{background:var(--abyss);color:var(--on-dark)}
.sec--dark h2,.sec--dark h3{color:#fff}
.sec--dark .k{color:var(--on-dark)}
.sec + .sec:not(.sec--stone):not(.sec--dark){padding-top:0}
.h2{font:300 clamp(38px,4.8vw,72px)/1.02 var(--serif);color:var(--navy);margin-top:24px;max-width:16ch}
.h2 em{color:#2E4B6C}
.sec--dark .h2{color:#fff}
.sec--dark .h2 em{color:#D9DFE7}
.lead{font:300 clamp(24px,2.4vw,34px)/1.24 var(--serif);color:var(--navy);max-width:30ch}
.sec--dark .lead{color:#E3E7ED}
.body{font-size:17px;color:var(--muted);max-width:38rem;margin-top:26px}
.body + .body{margin-top:16px}
.sec--dark .body{color:var(--on-dark)}
.cols{display:grid;grid-template-columns:3fr 9fr;gap:40px clamp(32px,5vw,80px)}
.cols > .k{padding-top:16px}
.cols-2{display:grid;grid-template-columns:1fr 1fr;gap:48px clamp(40px,7vw,120px);align-items:start}

/* Numbered principles */
.pr{display:grid;grid-template-columns:repeat(3,1fr);gap:56px clamp(24px,3.5vw,56px);margin-top:clamp(56px,6vw,88px)}
.pr > div{border-top:1px solid var(--line);padding-top:26px}
.sec--dark .pr > div{border-color:var(--line-d)}
.pr .n{font:600 10.5px/1 var(--sans);letter-spacing:.22em;color:var(--muted)}
.sec--dark .pr .n{color:var(--on-dark)}
.pr h3{font:400 clamp(26px,2.3vw,34px)/1.1 var(--serif);color:var(--navy);margin-top:22px}
.pr > div > h3:first-child{margin-top:0}
.sec--dark .pr h3{color:#fff}
.pr p{font-size:15.5px;color:var(--muted);margin-top:14px;max-width:26rem}
.sec--dark .pr p{color:var(--on-dark)}
.pr--4{grid-template-columns:repeat(4,1fr)}
.pr--5{grid-template-columns:repeat(5,1fr)}

/* Property grid */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(40px,4vw,56px)}
.chip{font:600 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 18px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.chip:hover{border-color:var(--navy);color:var(--navy)}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.chip .c{opacity:.55;margin-left:8px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(40px,4vw,64px) clamp(18px,2.2vw,32px);margin-top:clamp(36px,4vw,52px)}
.pcard[hidden]{display:none}
.pcard .ph{aspect-ratio:4/3}
.pcard img{transition:transform 1.4s var(--ease)}
.pcard:hover img{transform:scale(1.04)}
.pcard .tag{position:absolute;left:0;top:0;z-index:2;background:var(--paper);color:var(--navy);font:600 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:10px 14px}
.pcard h3{font:400 clamp(25px,2.1vw,30px)/1.08 var(--serif);color:var(--navy);margin-top:22px}
.pcard .addr{font-size:14px;margin-top:6px}
.pcard .addr span{color:var(--muted)}
.pcard .d{font-size:15px;color:var(--muted);margin-top:14px}
.pcard .pcredit{font-size:11.5px;color:var(--muted);opacity:.75;margin-top:8px}
.pcard .meta{display:flex;justify-content:space-between;gap:16px;font:600 10.5px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}

/* Map */
.map{margin-top:clamp(40px,4vw,56px);position:relative;z-index:0;isolation:isolate;border:1px solid var(--line)}
#re-map{height:540px;background:var(--stone)}
.map-key{position:absolute;left:16px;bottom:16px;z-index:500;background:var(--paper);border:1px solid var(--line);padding:14px 16px;display:grid;gap:7px;font-size:12.5px;color:var(--muted)}
.map-key i{display:inline-block;width:10px;height:10px;transform:rotate(45deg);margin-right:10px}
.pin{width:14px;height:14px;transform:rotate(45deg);border:2px solid #fff;box-shadow:0 2px 8px rgba(2,19,39,.4)}
.leaflet-container{font-family:var(--sans)}
.leaflet-tile-pane{filter:grayscale(1) sepia(.12) contrast(.92) brightness(1.04)}
.leaflet-popup-content-wrapper{border-radius:0!important}
.leaflet-popup-content{margin:14px 18px!important;font-size:13px;line-height:1.45;color:var(--muted)}
.leaflet-popup-content b{display:block;font:400 19px/1.15 var(--serif);color:var(--navy);margin-bottom:3px}

/* Brands */
.bgrid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:clamp(48px,5vw,72px)}
.bgrid li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:14px;background:var(--paper)}
.bgrid .logo{height:110px;display:flex;align-items:center;justify-content:center}
.bgrid .logo img{max-height:46px;max-width:80%;width:auto;filter:grayscale(1);mix-blend-mode:multiply;opacity:.9}
.bgrid .logo .wmk{font:400 30px/1 var(--serif);color:var(--navy)}
.bgrid h3{font:400 24px/1.1 var(--serif);color:var(--navy);border-top:1px solid var(--line);padding-top:18px}
.bgrid .cat{font:600 10px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.bgrid p{font-size:14.5px;color:var(--muted)}

/* Rely Home logo plate */
.plate{display:inline-flex;background:#fff;padding:16px 22px;margin-top:32px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.plate img{height:30px;width:auto}

/* Timeline */
.tline{border-top:1px solid var(--line)}
.tline li{display:grid;grid-template-columns:160px 1fr;gap:24px clamp(24px,4vw,64px);padding:30px 0;border-bottom:1px solid var(--line)}
.tline .y{font:300 clamp(36px,3.4vw,52px)/1 var(--serif);color:var(--navy)}
.tline h3{font:400 clamp(24px,2vw,30px)/1.15 var(--serif);color:var(--navy)}
.tline p{font-size:15.5px;color:var(--muted);margin-top:10px;max-width:40rem}

/* Person */
.person{display:grid;grid-template-columns:4fr 8fr;gap:48px clamp(40px,7vw,120px);align-items:end}
.portrait{aspect-ratio:4/5;background:linear-gradient(155deg,#0B3A69,var(--abyss));position:relative;overflow:hidden;clip-path:polygon(0 0,calc(100% - 40px) 0,100% 40px,100% 100%,0 100%)}
.portrait svg{position:absolute;width:150%;left:-10%;top:12%;fill:none;stroke:rgba(174,181,192,.2)}
.portrait svg path{stroke-width:1;vector-effect:non-scaling-stroke}
.portrait .portrait-mark{position:absolute;width:56%;left:22%;top:36%;fill:initial;stroke:none}
.portrait .portrait-mark .mc{fill:#fff}.portrait .portrait-mark .mh{fill:#9AA1AD}
.portrait--logo{background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.portrait--logo img{width:min(222px,62%);height:auto}
.portrait.portrait--logo span{color:var(--muted)}
.portrait span{position:absolute;left:24px;bottom:22px;font:600 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark)}
.person h3{font:300 clamp(40px,4vw,60px)/1 var(--serif);color:var(--navy)}
.person .role{font:600 10.5px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:16px}

/* Criteria rows */
.crit{border-top:1px solid var(--line);margin-top:clamp(48px,5vw,72px)}
.crit > div{display:grid;grid-template-columns:3fr 5fr 4fr;gap:20px clamp(24px,4vw,64px);padding:36px 0;border-bottom:1px solid var(--line)}
.crit h3{font:400 clamp(28px,2.6vw,38px)/1.05 var(--serif);color:var(--navy)}
.crit p{font-size:16px;color:var(--muted)}
.crit dl{display:grid;gap:12px}
.crit dt{font:600 10px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.crit dd{font-size:15px;color:var(--ink);margin-top:2px}

/* Process steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:48px clamp(24px,3vw,48px);margin-top:clamp(56px,6vw,88px);counter-reset:s}
.steps > div{border-top:1px solid var(--line-d);padding-top:26px}
.steps .n{font:300 54px/1 var(--serif);color:#fff}
.steps h3{font:400 26px/1.1 var(--serif);color:#fff;margin-top:22px}
.steps p{font-size:15px;margin-top:12px}
.steps .when{display:inline-block;margin-top:18px;font:600 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line-d);padding:9px 11px;color:#E3E7ED}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:28px 0;font:400 clamp(22px,2vw,28px)/1.2 var(--serif);color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';font:300 30px/1 var(--sans);transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 0 28px;max-width:42rem;color:var(--muted)}

/* Contact */
.form{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.form .full{grid-column:1/-1}
.fld label{display:block;font:600 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.fld input,.fld select,.fld textarea{width:100%;font:400 16px/1.4 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;appearance:none;transition:border-color .3s}
.fld textarea{min-height:150px;resize:vertical;border:1px solid var(--line);padding:14px}
.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--navy)}
.form .btn{background:var(--navy);color:#fff;border:0;cursor:pointer}
.form .btn:hover{background:var(--deep)}
.form-note{font-size:13px;color:var(--muted)}
.form-status{font-size:15px;color:var(--navy)}
.cinfo{display:grid;gap:0;border-top:1px solid var(--line)}
.cinfo > div{padding:26px 0;border-bottom:1px solid var(--line)}
.cinfo dt{font:600 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.cinfo dd{font:300 clamp(24px,2.2vw,30px)/1.25 var(--serif);color:var(--navy);margin-top:10px}
.cinfo a{text-decoration:none}
.cinfo a:hover{text-decoration:underline;text-underline-offset:5px}

/* Public markets two-tier graphic */
.tiers{display:flex;flex-direction:column;gap:6px;min-height:420px}
.tier{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,3vw,36px);color:#fff}
.tier b{font:300 clamp(34px,3.4vw,52px)/1 var(--serif)}
.tier span{font-size:14.5px;color:var(--on-dark);margin-top:10px;max-width:24rem}
.tier--a{background:#9AA4B2;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
.tier--a span{color:#0C1B2E}
.tier--b{background:var(--navy);flex:1.6}

@media (max-width:1080px){
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .bgrid{grid-template-columns:repeat(3,1fr)}
  .pr,.pr--4,.pr--5,.steps{grid-template-columns:repeat(2,1fr)}
  .tiers{aspect-ratio:auto}
  .person,.cols-2{grid-template-columns:1fr}
  .crit > div{grid-template-columns:1fr 1fr}
  .crit h3{grid-column:1/-1}
}
@media (max-width:860px){
  .cols{grid-template-columns:1fr}
  .cols > .k{padding-top:0}
}
@media (max-width:640px){
  .pgrid,.pr,.pr--4,.pr--5,.steps,.form,.crit > div{grid-template-columns:1fr}
  .bgrid{grid-template-columns:repeat(2,1fr)}
  .tline li{grid-template-columns:1fr;gap:10px}
  #re-map{height:400px}
  .map-key{position:static;display:flex;flex-wrap:wrap;gap:8px 18px;border:0;border-top:1px solid var(--line);padding:14px 16px}
  .portrait{max-width:320px}
}

/* Home brand grid: Rely Home as the flagship box, in full color */
.logos li.flagship{background:#fff}
.logos li.flagship img{filter:none;mix-blend-mode:normal;opacity:1;max-height:46px}
.logos li.flagship span{color:var(--navy)}
