.compass-page{background:var(--warm-ivory);color:var(--graphite);overflow-x:hidden}
.compass-page main{overflow:hidden}
.compass-hero{position:relative;min-height:calc(100vh - 106px);min-height:calc(100svh - 106px);display:grid;align-items:center;padding:clamp(88px,12vw,160px) max(28px,8vw);background:var(--warm-ivory);isolation:isolate}
.compass-hero::before,.compass-hero::after{content:"";position:absolute;border:1px solid rgba(76,42,115,.15);border-radius:50%;pointer-events:none;z-index:-1}
.compass-hero::before{width:min(55vw,720px);aspect-ratio:1;right:-14vw;top:50%;transform:translateY(-50%)}
.compass-hero::after{width:min(34vw,440px);aspect-ratio:1;right:-3vw;top:50%;transform:translateY(-50%)}
.compass-hero-inner{width:min(820px,100%)}
.compass-kicker{margin:0 0 28px;color:var(--royal-plum);font-size:11px;font-weight:500;letter-spacing:.3em;text-transform:uppercase}
.compass-title{max-width:780px;margin:0;font-family:var(--font-d);font-size:clamp(54px,7.4vw,104px);font-weight:500;letter-spacing:-.025em;line-height:.98;color:var(--deep-aubergine)}
.compass-intro{max-width:650px;margin-top:36px;font-family:var(--font-d);font-size:clamp(23px,2.5vw,34px);font-weight:400;line-height:1.35;color:var(--royal-plum)}
.compass-copy{max-width:650px;margin-top:22px;font-size:clamp(15px,1.35vw,18px);font-weight:300;line-height:1.85;color:var(--charcoal-mid)}
.compass-cta{display:inline-flex;align-items:center;gap:18px;margin-top:42px;padding:19px 34px;background:var(--royal-plum);color:var(--warm-ivory);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;transition:background .3s ease,transform .3s ease,gap .3s ease}
.compass-cta::after{content:"↓";color:var(--royal-gold);font-size:16px;line-height:1}
.compass-cta:hover{background:var(--deep-aubergine);color:var(--warm-ivory);gap:24px;transform:translateY(-2px)}
.compass-cta:focus-visible{outline:2px solid var(--royal-gold);outline-offset:4px}
#compass-assessment{scroll-margin-top:106px;width:100%;padding:clamp(56px,7vw,96px) 0;background:var(--warm-ivory)}
.compass-audience-heading{width:min(1160px,calc(100% - 64px));margin:0 auto clamp(26px,3vw,40px);color:var(--royal-plum);font-size:11px;font-weight:500;letter-spacing:.28em;text-align:left;text-transform:uppercase}
.compass-audience-selector{width:min(1160px,calc(100% - 64px));margin:0 auto clamp(64px,7vw,96px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--stone)}
.compass-audience-tab{position:relative;min-height:clamp(260px,26vw,340px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(38px,5vw,68px);border:0;background:transparent;color:var(--deep-aubergine);font-family:var(--font-b);text-align:left;cursor:pointer;overflow:hidden;transition:background .35s ease,color .35s ease}
.compass-audience-tab+ .compass-audience-tab{border-left:1px solid var(--stone)}
.compass-audience-tab::before{content:"";position:absolute;top:clamp(30px,4vw,48px);left:clamp(38px,5vw,68px);width:44px;height:1px;background:var(--royal-gold);transform:scaleX(.45);transform-origin:left;transition:transform .35s ease}
.compass-audience-tab::after{content:"↗";position:absolute;top:clamp(24px,3.5vw,40px);right:clamp(38px,5vw,68px);color:var(--royal-gold);font-family:var(--font-d);font-size:28px;font-weight:400;line-height:1;opacity:.75;transition:opacity .3s ease,transform .3s ease}
.compass-audience-label{display:block;margin-bottom:clamp(20px,2vw,28px);font-family:var(--font-d);font-size:clamp(52px,6vw,82px);font-weight:400;letter-spacing:-.025em;line-height:.84;text-transform:uppercase}
.compass-audience-description{display:block;max-width:390px;font-family:var(--font-d);font-size:clamp(21px,2vw,27px);font-weight:400;letter-spacing:0;line-height:1.25}
.compass-audience-tab:hover{background:var(--mist)}
.compass-audience-tab:hover::before,.compass-audience-tab:focus-visible::before,.compass-audience-tab.is-active::before{transform:scaleX(1)}
.compass-audience-tab:hover::after,.compass-audience-tab:focus-visible::after{opacity:1;transform:translate(3px,-3px)}
.compass-audience-tab.is-active{background:var(--deep-aubergine);color:var(--warm-ivory)}
.compass-audience-tab.is-active::after{content:"—";opacity:1;transform:none}
.compass-audience-tab:focus-visible{outline:2px solid var(--royal-gold);outline-offset:3px}
.compass-audience-panel[hidden]{display:none}
.compass-client-frame{display:block;width:100%;height:760px;border:0;background:var(--warm-ivory)}
.directions{padding:clamp(96px,12vw,170px) max(28px,7vw);background:var(--mist)}
.section-label{margin:0 0 clamp(52px,7vw,88px);color:var(--royal-plum);font-size:10px;font-weight:500;letter-spacing:.28em;text-align:center;text-transform:uppercase}
.directions-grid{position:relative;width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:repeat(2,1fr)}
.direction{min-height:230px;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,5vw,70px)}
.direction:nth-child(odd){text-align:right;border-right:1px solid rgba(76,42,115,.25)}
.direction:nth-child(-n+2){border-bottom:1px solid rgba(76,42,115,.25)}
.direction-name{font-family:var(--font-d);font-size:clamp(32px,4vw,54px);font-weight:500;letter-spacing:.02em;line-height:1;color:var(--deep-aubergine)}
.direction-energy{margin-top:15px;color:var(--royal-plum);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.about-compass{padding:clamp(92px,11vw,150px) max(28px,7vw);background:var(--warm-ivory)}
.broker-compass-page .about-compass{padding-top:clamp(32px,4vw,52px)}
.about-compass-inner{width:min(850px,100%);margin:auto;text-align:center}
.about-compass p{font-family:var(--font-d);font-size:clamp(25px,3vw,39px);font-weight:400;line-height:1.45;color:var(--graphite)}
.broker-compass-section{padding:clamp(88px,10vw,140px) 0;background:var(--warm-ivory);border-top:1px solid var(--stone)}
.broker-compass-introduction{width:min(760px,calc(100% - 48px));margin:0 auto 48px;text-align:center}
.broker-compass-introduction h2,.client-compass-request h2{margin:0;font-family:var(--font-d);font-size:clamp(42px,5vw,66px);font-weight:500;line-height:1.05;color:var(--deep-aubergine)}
.broker-compass-introduction>p:not(.compass-kicker):not(.broker-compass-start),.client-compass-request-inner>p:not(.compass-kicker){max-width:650px;margin:24px auto 0;font-size:17px;font-weight:300;line-height:1.8;color:var(--charcoal-mid)}
.broker-compass-start{margin:42px 0 0;color:var(--royal-plum);font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase}
.client-compass-request{padding:clamp(88px,10vw,140px) max(24px,7vw);background:var(--mist)}
.client-compass-request-inner{width:min(760px,100%);margin:auto;text-align:center}
.client-compass-request details{margin-top:42px;text-align:left}
.client-compass-request summary{display:inline-flex;align-items:center;gap:12px;padding:17px 28px;background:var(--royal-plum);color:var(--warm-ivory);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;list-style:none}
.client-compass-request summary::-webkit-details-marker{display:none}
.client-compass-request form{margin-top:30px;padding:clamp(28px,5vw,48px);background:var(--warm-ivory);border:1px solid var(--stone)}
.client-compass-honeypot{display:none}
.client-compass-fields{display:grid;gap:24px}
.client-compass-fields label{display:grid;gap:9px;color:var(--royal-plum);font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase}
.client-compass-fields input,.client-compass-fields select{width:100%;min-height:52px;padding:12px 14px;border:0;border-bottom:1px solid var(--stone);border-radius:0;background:transparent;color:var(--graphite);font:300 16px/1.4 var(--font-b)}
.client-compass-fields input:focus,.client-compass-fields select:focus{outline:2px solid var(--royal-plum);outline-offset:2px}
.client-compass-request form>button{width:100%;min-height:54px;margin-top:30px;padding:15px 20px;border:0;background:var(--deep-aubergine);color:var(--warm-ivory);font:500 10px/1.4 var(--font-b);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.client-compass-request form>button:disabled{opacity:.65;cursor:wait}
.client-compass-confirmation,.client-compass-error{margin-top:28px;color:var(--royal-plum);text-align:center}
.client-compass-confirmation strong{font-family:var(--font-d);font-size:32px;font-weight:500}
.client-compass-confirmation p{margin:8px 0 0}.client-compass-error{color:#8b3030}
@media(max-width:900px){.compass-page #nav.homepage-nav{position:sticky}.compass-hero{min-height:auto;padding-top:96px;padding-bottom:104px}.compass-hero::before{width:90vw;right:-58vw}.compass-hero::after{display:none}}
@media(max-width:600px){
  .compass-hero{padding-left:24px;padding-right:24px}
  .compass-title{font-size:clamp(48px,14vw,64px)}
  .compass-intro{margin-top:30px}
  .compass-copy{line-height:1.7}
  .compass-cta{width:100%;justify-content:center;padding-inline:20px}
  #compass-assessment{scroll-margin-top:78px;padding:68px 0}
  .compass-audience-heading{width:calc(100% - 32px);margin:0 auto 24px;font-size:11px;letter-spacing:.24em}
  .compass-audience-selector{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);gap:24px;margin:0 auto 72px;border:0}
  .compass-audience-tab{width:100%;min-width:0;min-height:244px;justify-content:flex-start;padding:58px 24px 28px;border:1px solid var(--stone);border-radius:0;white-space:normal}
  .compass-audience-tab+ .compass-audience-tab{border-left:1px solid var(--stone)}
  .compass-audience-tab::before{top:32px;left:24px;width:42px}
  .compass-audience-tab::after{content:"";top:23px;right:24px;width:22px;height:22px;background:linear-gradient(45deg,transparent 47.75%,var(--royal-gold) 47.75%,var(--royal-gold) 52.25%,transparent 52.25%),linear-gradient(var(--royal-gold),var(--royal-gold)) right top/9px 1px no-repeat,linear-gradient(var(--royal-gold),var(--royal-gold)) right top/1px 9px no-repeat;opacity:1}
  .compass-audience-tab.is-active::after{content:"—";width:auto;height:auto;background:none}
  .compass-audience-label{width:100%;margin:0 0 16px;font-size:clamp(30px,8.5vw,34px);line-height:1;text-wrap:balance}
  .compass-audience-description{width:100%;max-width:32ch;font-size:18px;line-height:1.42;overflow-wrap:anywhere}
  .compass-audience-description::after{display:block;margin-top:24px;color:var(--royal-gold);font-family:var(--font-b);font-size:10px;font-weight:500;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}
  #audience-brokers-tab .compass-audience-description::after{content:"Enter Broker Compass \2192"}
  #audience-clients-tab .compass-audience-description::after{content:"Enter Client Compass \2192"}
  html[lang="fr"] #audience-brokers-tab .compass-audience-description::after{content:"Accéder au Compass courtiers \2192"}
  html[lang="fr"] #audience-clients-tab .compass-audience-description::after{content:"Accéder au Compass clients \2192"}
  .compass-client-frame{height:800px}
  .directions{padding:86px 24px}
  .directions-grid{grid-template-columns:1fr}
  .direction{min-height:155px;text-align:left!important;padding:30px 10px;border-right:0!important;border-bottom:1px solid rgba(76,42,115,.25)!important}
  .direction:last-child{border-bottom:0!important}
  .about-compass{padding:86px 24px}
  .broker-compass-page .about-compass{padding-top:30px}
  .about-compass-inner{text-align:left}
  .broker-compass-introduction{width:calc(100% - 40px);text-align:left}
  .broker-compass-introduction>p:not(.compass-kicker):not(.broker-compass-start){font-size:16px;line-height:1.7}
  .compass-tool.sheet{width:100%;padding-inline:20px}
  .client-compass-request{padding:80px 24px 96px;overflow:hidden}
  .client-compass-request,.client-compass-request *{box-sizing:border-box}
  .client-compass-request-inner{width:100%;text-align:left}
  .client-compass-request .compass-kicker{margin-bottom:20px;font-size:10px;letter-spacing:.28em}
  .client-compass-request h2{max-width:12ch;font-size:clamp(38px,11vw,48px);line-height:1.02;text-wrap:balance}
  .client-compass-request-inner>p:not(.compass-kicker){max-width:34em;margin:24px 0 0;font-size:16px;line-height:1.7}
  .client-compass-request details{width:100%;margin-top:36px}
  .client-compass-request summary{width:100%;min-height:56px;justify-content:center;padding:16px 18px;font-size:10px;line-height:1.4;text-align:center}
  .client-compass-request form{width:100%;margin-top:24px;padding:28px 20px 30px}
  .client-compass-honeypot{display:none!important}
  .client-compass-fields{grid-template-columns:minmax(0,1fr);gap:22px}
  .client-compass-fields label{min-width:0;gap:10px}
  .client-compass-fields input,.client-compass-fields select{display:block;width:100%;max-width:100%;min-height:54px;margin:0;padding:13px 14px;border:1px solid var(--stone);background:var(--warm-ivory);font-size:16px;line-height:1.4}
  .client-compass-fields select{appearance:auto}
  .client-compass-request form>button{display:block;width:100%;max-width:100%;min-height:56px;margin-top:28px;padding:16px 18px;border:1px solid var(--royal-plum);background:var(--royal-plum);color:var(--warm-ivory);font:500 10px/1.4 var(--font-b);letter-spacing:.18em;text-align:center;text-transform:uppercase}
  .client-compass-request form>button:hover{background:var(--deep-aubergine);border-color:var(--deep-aubergine);color:var(--warm-ivory)}
  .client-compass-request form>button:focus-visible{outline:2px solid var(--royal-gold);outline-offset:3px}
  .client-compass-confirmation,.client-compass-error{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.compass-cta{transition:none}}
