@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap");

/* Site-wide mountain atmosphere and shared community details. */
body[data-page] .hero{background-image:url('assets/why-altum-mountains.jpg')!important;background-position:center top;overflow:hidden}
body[data-page] .hero:before{display:none}
body[data-page] .hero:after{background:radial-gradient(ellipse at 50% 100%,rgba(201,169,110,.08),transparent 65%),linear-gradient(180deg,rgba(4,8,15,.65),rgba(4,8,15,.7) 50%,#04080f)}
body .login-left{background-image:url('assets/why-altum-mountains.jpg')!important;background-position:center top}
body .login-left:after{background:linear-gradient(180deg,rgba(4,8,15,.65),rgba(4,8,15,.78))}
body:not([data-page]){background:linear-gradient(rgba(4,8,15,.72),rgba(4,8,15,.9)),url('assets/why-altum-mountains.jpg') center top/cover fixed}
body:not([data-page])>.number-marquee{width:min(100%,1000px);margin-top:24px}
/* Clear contrast against the light principles panel. */
body[data-page="index"] .section.essence-section{background:#eee8dc;color:#102431}
body[data-page="index"] .section.essence-section h2{color:#102431}
body[data-page="index"] .section.essence-section .eyebrow{color:#785a2c}
body[data-page="index"] .section.essence-section .essence-intro{color:#485765}
body[data-page="index"] .section.essence-section .pillar-active-note{color:#785a2c}
/* Portrait captions follow a clear name, role, company and country hierarchy. */
body .members-track{align-items:stretch;gap:30px;padding-top:16px;padding-bottom:25px}
body .member-slide{min-width:0}
body[data-page] .member-slide:not(.sponsor-slide) img{border-radius:12px;border:0;margin-bottom:22px;filter:none}
body[data-page] .member-slide strong{font:600 clamp(20px,1.8vw,25px)/1.2 'Jost',sans-serif;color:#f4ede0;margin:0 0 9px;letter-spacing:-.025em;text-wrap:balance}
body[data-page] .member-slide .member-role{display:block;font:italic 400 16px/1.5 'Jost',sans-serif;color:#d7bd91;letter-spacing:0;max-width:280px;overflow-wrap:anywhere}
body[data-page] .member-slide .member-company{display:block;font:500 14px/1.5 'Jost',sans-serif;color:#d4dbe3;margin-top:5px;max-width:280px;overflow-wrap:anywhere}
body[data-page] .member-slide .member-flag{display:block!important;align-self:center;margin:12px 0 0!important;padding:0;border:0;background:transparent;border-radius:0;color:#a0aec5!important;font:400 22px/1.2 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif!important;letter-spacing:0}
body .sponsor-slide{padding:20px 18px 24px!important;gap:0;background:#fff!important;border:0!important;justify-content:flex-start}
body .sponsor-slide img.sponsor-logo{height:140px!important;max-width:100%;border-radius:0;background:#fff;padding:22px;margin-bottom:18px}
body[data-page] .sponsor-slide .member-company{color:#0b1b33;font-size:20px;font-weight:600;letter-spacing:-.02em;text-align:center;margin-top:0}
body[data-page] .sponsor-slide .member-flag{color:#5b6475!important}
/* A seamless loop with a single accessible copy and an explicit pause control. */
body .society-numbers.number-marquee{display:flex;align-items:center;gap:24px;width:100%;padding:22px 5vw;background:var(--altum-navy);border-block:1px solid rgba(201,169,110,.22);overflow:hidden;color:#f4ede0}
.number-marquee>.eyebrow{flex:0 0 auto;max-width:110px;font:10px/1.7 'Jost',sans-serif;letter-spacing:2px;color:#c9a96e}
.numbers-viewport{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#111 3%,#111 97%,transparent)}
.numbers-belt{display:flex;width:max-content;animation:numbers-travel 35s linear infinite}
body .number-marquee .numbers-list{display:flex;flex:none;align-items:center;gap:0;margin:0;width:900px}
body .number-marquee .numbers-list>div{display:flex;align-items:center;gap:13px;flex:1;min-width:0;padding:0 25px;border:0}
body .number-marquee .numbers-list>div:after{content:'';width:4px;height:4px;border-radius:50%;background:#c9a96e;margin-left:auto;flex-shrink:0}
body .number-marquee .numbers-list dt{display:flex;align-items:baseline;gap:6px;white-space:nowrap;font:10px 'Jost',sans-serif;color:#d9c49e}
body .number-marquee .numbers-list strong{display:inline;font:400 36px/1.2 'Cormorant Garamond',Georgia,serif;letter-spacing:-1px;color:#c9a96e;margin:0}
body .number-marquee .numbers-list dd{max-width:145px;margin:0;color:#bfcbdb;font:11px/1.5 'Jost',sans-serif}
body .numbers-pause{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;margin:0;padding:0;border:1px solid rgba(201,169,110,.4);background:transparent;color:#d8bd8d;cursor:pointer;border-radius:50%;font:14px/1 'Jost',sans-serif}
.number-marquee:is(:hover,:focus-within,.is-paused) .numbers-belt{animation-play-state:paused}
.number-marquee .numbers-pause:focus-visible{outline:2px solid #c9a96e;outline-offset:4px}
#membershipForm{scroll-margin-top:120px}
@keyframes numbers-travel{to{transform:translateX(-50%)}}
@media(min-width:901px){body:not([data-page="index"]) .hero-inner{text-align:center;max-width:1060px}body:not([data-page="index"]) .hero-inner h1{margin-inline:auto}body:not([data-page="index"]) .hero-inner .kicker{justify-content:center}body:not([data-page="index"]) .hero-inner .rule{margin-inline:auto}body:not([data-page="index"]) .hero-inner p{margin-inline:auto}}
@media(max-width:600px){body .society-numbers.number-marquee{gap:12px;padding:18px 16px}.number-marquee>.eyebrow{max-width:72px;font-size:8px;letter-spacing:1px}body .number-marquee .numbers-list{width:810px}body .number-marquee .numbers-list>div{padding-inline:18px}body .member-slide .member-role{font-size:12px}#membershipForm{scroll-margin-top:100px}}
@media(prefers-reduced-motion:reduce){.numbers-belt{animation:none;transform:none}.numbers-viewport{overflow-x:auto;mask-image:none}.numbers-belt .numbers-list[aria-hidden]{display:none}body .numbers-pause{display:none}}

/* Shared background labels follow the approved Why ALTUM badge. */
body[data-page] .hero .kicker,
body[data-page="login"] .login-left .kicker,
body[data-page="activate-account"] .login-left .kicker{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  max-width:100%;padding:10px 20px;margin-bottom:38px;
  border:1px solid rgba(201,169,110,.4);background:rgba(201,169,110,.06);
  color:#c9a96e;font:500 10px/1.6 'Jost',sans-serif;
  letter-spacing:3px;text-transform:uppercase;text-align:center;
}
body[data-page] .hero .kicker:before,
body[data-page="login"] .login-left .kicker:before,
body[data-page="activate-account"] .login-left .kicker:before{
  content:'';flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:#c9a96e;
}
/* Login uses bounded columns and a single, continuous form-panel background. */
body[data-page="login"] .login{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-height:100svh;padding-top:86px;align-items:stretch;
}
body[data-page="login"] .login-left{
  min-width:0;min-height:0;padding:64px clamp(28px,4.5vw,80px);
  justify-content:space-between;gap:65px;
}
body[data-page="login"] .login-left h1{
  max-width:530px;font-size:clamp(40px,4.2vw,64px);line-height:1.08;
  letter-spacing:-.02em;margin:0 0 24px;text-wrap:balance;
}
body[data-page="login"] .login-left>div>p{font-size:21px!important;line-height:1.5;max-width:450px}
body[data-page="login"] .benefits{max-width:440px;gap:22px}
body[data-page="login"] .benefit{align-items:start}
body[data-page="login"] .benefit p{line-height:1.5;color:#d1d7de;margin-top:5px}
body[data-page="login"] .login-right{
  min-width:0;min-height:0;padding:64px clamp(28px,4.5vw,80px);
  background:var(--altum-navy);justify-content:center;align-items:flex-start;
  border-left:1px solid rgba(201,169,110,.16);
}
body[data-page="login"] .login-box{width:100%;max-width:460px;min-width:0;background:transparent}
body[data-page="login"] .login-box h1{font-size:clamp(38px,4vw,56px);line-height:1.1;margin:18px 0}
body[data-page="login"] .login-box>p{font-size:20px;line-height:1.5}
body[data-page="login"] .login-form{margin-top:28px;gap:16px}
body[data-page="login"] .login-form>input,
body[data-page="login"] #resetEmail{
  width:100%;min-width:0;min-height:52px;padding:15px 16px;
  border:1px solid #4b5b65;border-radius:0;background:#0d2333;
  color:#f4ede0;font:14px/1.5 'Jost',sans-serif;
}
body[data-page="login"] .login-form>input::placeholder,
body[data-page="login"] #resetEmail::placeholder{color:#aab6c0;opacity:1}
body[data-page="login"] .login-options{flex-wrap:wrap;row-gap:15px!important;margin:2px 0 8px!important;font-size:11px!important;line-height:1.6}
body[data-page="login"] #rememberMe{accent-color:#c9a96e;width:16px!important;height:16px;padding:0;flex:0 0 16px}
body[data-page="login"] #forgotPassword{line-height:1.6;text-underline-offset:3px;text-align:left}
body[data-page="login"] :is(#loginButton,#sendResetButton){width:100%;min-height:48px;padding:15px 20px;background:#c9a96e;border:1px solid #c9a96e;color:#081522;font:600 11px/1.5 'Jost',sans-serif;letter-spacing:1.5px;cursor:pointer}
body[data-page="login"] :is(#loginButton,#sendResetButton):hover{background:#e0c08a}
body[data-page="login"] :is(#loginButton,#sendResetButton):disabled{opacity:.6;cursor:wait}
body[data-page="login"] .or{margin:26px 0}
body[data-page="login"] .social{line-height:1.6;padding:15px;border-color:#4b5b65}
body[data-page="login"] .login-membership{margin-top:28px!important;font-size:14px!important}
body[data-page="login"] .login-quote{margin-top:35px!important;font-size:24px!important;line-height:1.4!important;color:#bac5ce}
@media(max-width:900px){
  body[data-page="login"] .login{grid-template-columns:minmax(0,1fr);padding-top:76px}
  body[data-page="login"] .login-left{padding:55px 7vw;gap:40px}
  body[data-page="login"] .benefits{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:24px}
  body[data-page="login"] .login-right{padding:55px 7vw;border-left:0;border-top:1px solid rgba(201,169,110,.16)}
  body[data-page="login"] .login-box{max-width:580px}
}
@media(max-width:480px){
  body[data-page] .hero .kicker,body[data-page="login"] .login-left .kicker{font-size:9px;letter-spacing:2px;padding:10px 16px;margin-bottom:30px}
  body[data-page="login"] .login-left,body[data-page="login"] .login-right{padding:42px 22px}
  body[data-page="login"] .benefits{grid-template-columns:1fr;gap:20px}
  body[data-page="login"] .login-left h1{font-size:42px}
}

/* The Why ALTUM midnight palette carries through every page. */
:root{--altum-navy:#0b1b33;--altum-midnight:var(--altum-navy);--altum-blue:var(--altum-navy);--altum-panel:var(--altum-navy);--altum-gold:#c9a469}
body[data-page]{--ink:var(--altum-blue);--ink2:var(--altum-panel);--gold:var(--altum-gold);--muted:#a0aec5;background:var(--altum-midnight);color:#f4ede0}
body[data-page] .nav{background:rgba(4,8,15,.94);border-bottom-color:rgba(201,169,110,.15)}
body[data-page] .section:not(.cream):not(.community-essence){background-color:var(--altum-blue);background-image:none}
body[data-page] .section:is(.vertical-intro,.vertical-cross,.sponsors-featured,.faq-section){background:var(--altum-panel)!important}
body[data-page] .footer{background:radial-gradient(ellipse at 50% 100%,rgba(201,169,110,.07),transparent 70%),var(--altum-blue)}
body[data-page] .login-right{background:var(--altum-panel)}
/* Section titles share the typography and spacing of Members. */
body[data-page] :is(.section,.image-band .inner) h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(34px,4.2vw,58px);line-height:1.18;letter-spacing:-.025em;margin:16px 0 20px;text-wrap:balance}
body[data-page] .section .eyebrow{font:500 11px/1.6 'Jost',sans-serif;letter-spacing:3px;color:var(--altum-gold)}
body[data-page] .section.cream .eyebrow{color:#785a2c}
body[data-page] .section:not(.cream):not(.community-essence) h2{color:#f7f4ed}
body[data-page] .section:not(.cream):not(.community-essence) p{color:#a0aec5}
/* Verticals echoes the ALTUM meaning panel, with a quiet oversized wordmark. */
body[data-page] .section.verticals-showcase{position:relative;isolation:isolate;overflow:hidden;background:var(--altum-panel);color:#f4ede0;text-align:center;border-block:1px solid rgba(201,169,110,.18)}
body[data-page] .verticals-showcase:before{content:'ALTUM';position:absolute;z-index:-1;top:0;left:50%;transform:translateX(-50%);font:400 clamp(100px,22vw,310px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.08em;color:rgba(201,169,110,.045);pointer-events:none}
body[data-page] .section.verticals-showcase>.eyebrow{color:var(--altum-gold)}
body[data-page] .section.verticals-showcase>h2{color:#f7f4ed;font-size:clamp(44px,6.5vw,88px);margin:22px 0 48px}
body[data-page] .verticals-showcase .vertical-name-grid{position:relative;text-align:left;background:rgba(201,169,110,.2);border-color:rgba(201,169,110,.2)}
body[data-page] .verticals-showcase .vertical-name-card{background:var(--altum-blue)!important;color:#f4ede0;border:0!important;padding:30px 24px;min-height:215px}
body[data-page] .verticals-showcase .vertical-name-card .vertical-index{color:var(--altum-gold)!important}
body[data-page] .verticals-showcase .vertical-name-card h3{color:#f4ede0!important;font-family:'Cormorant Garamond',Georgia,serif;line-height:1.3;overflow-wrap:anywhere}
body[data-page] .verticals-showcase .vertical-name-card:is(:hover,:focus-within){background:#162035!important}
body[data-page] .verticals-showcase .vertical-name-card:is(:hover,:focus-within) h3{color:#f4ede0!important}
/* Meetings stays blue through the calendar, filters and loaded cards. */
body[data-page="meetings"] .section.meetings-section{background:var(--altum-blue);color:#f4ede0}
body[data-page="meetings"] .meeting-filters label{color:#d8bd8d}
body[data-page="meetings"] .meeting-filters input{background:var(--altum-panel);border-color:#526077;color:#f4ede0;color-scheme:dark}
body[data-page="meetings"] .filter-clear{border-color:var(--altum-gold);color:#e2cda8}
body[data-page="meetings"] .filter-clear:hover{background:var(--altum-gold);color:var(--altum-blue)}
body[data-page="meetings"] .calendar-strip{color:#bfcbdb;background:var(--altum-panel)}
body[data-page="meetings"] .meeting-card{background:var(--altum-panel)}
@media(max-width:600px){
  body[data-page] .section .eyebrow{font-size:10px;letter-spacing:2px}
  body[data-page] .section.verticals-showcase>h2{margin-bottom:32px}
  body[data-page] .verticals-showcase .vertical-name-card{min-height:165px;padding:24px 20px}
}

body[data-page="index"] .meaning-section h2{font-size:clamp(64px,9vw,110px);letter-spacing:.1em;margin:20px 0}

/* Keep the eye button visible on all password forms. */
.password-visibility-field{position:relative;display:block;width:100%;min-width:0;grid-column:1 / -1;}
.password-visibility-field input{box-sizing:border-box;width:100%;padding-right:56px!important;}
.password-visibility-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:4px;background:#f4f1e9;color:#102330;cursor:pointer;}
.password-visibility-toggle:hover{background:#e7dcc6;}
.password-visibility-toggle:focus-visible{outline:2px solid #c9ad78;outline-offset:2px;}
.password-eye-slash{display:none;}
.password-visibility-toggle[aria-pressed="true"] .password-eye-slash{display:block;}
.sponsor-slide[href]:focus-visible{outline:2px solid var(--gold,#c9ad78);outline-offset:6px;border-radius:8px;}
.sponsor-slide[href]:hover .member-company{text-decoration:underline;text-underline-offset:4px;}

/* Brand guide: Altum Navy, Gold, Midnight, Ivory and Jost/Cormorant typography. */
:root,body[data-page]{--ink:var(--altum-navy);--ink2:var(--altum-navy);--gold:#c9a469;--cream:#f4eee4;--white:#f4eee4;--paper:#f4eee4;--brass:#7a5a2b;--midnight:#060f1e;--champagne:#e6cb98;--travertine:#e3d5c1;--slate:#5b6475;}
body{font-family:'Jost',sans-serif;}
body :is(h1,h2,h3,.quote){font-family:'Cormorant Garamond',Georgia,serif;}
body[data-page] .community-essence{background:var(--ink);}
body[data-page] .meaning-section{background:var(--ink)!important;}
body[data-page] .nav{background:rgba(11,27,51,.96);}
body[data-page] .footer{background:var(--ink);}
body[data-page] .essence-section{background:var(--altum-navy);}
body[data-page] .essence-pillars .pillar{background:var(--ink);}
body[data-page] .hero:after{background:linear-gradient(180deg,rgba(11,27,51,.65),rgba(11,27,51,.72) 50%,var(--altum-navy));}
body[data-page] .community-essence:after{content:'';display:block;width:7px;height:7px;margin:48px auto 0;transform:rotate(45deg);background:var(--gold);}

/* All blue surfaces use the approved Why ALTUM footer navy. */
body{background-color:var(--altum-navy);}
body[data-page] .section:not(.cream){background:var(--altum-navy)!important;}
body[data-page] .nav{background:var(--altum-navy);}
body .login-left:after{background:linear-gradient(180deg,rgba(11,27,51,.65),rgba(11,27,51,.78));}
body[data-page] .calendar-strip,
body[data-page] .calendar-day:not(:hover):not([aria-pressed="true"]),
body[data-page] .filter-clear:not(:hover),
body[data-page] .meeting-filters input,
body[data-page] .meeting-card{background:var(--altum-navy)!important;}

/* Ambient gold dust sits above opaque backgrounds and never intercepts input. */
.gold-particles{position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none;user-select:none;}
.gold-particles span{position:absolute;left:var(--x);bottom:-24px;width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(230,203,152,.32),rgba(201,164,105,.12) 65%,transparent);opacity:0;animation:gold-rise var(--duration) var(--delay) linear infinite;}
@keyframes gold-rise{0%{transform:translate3d(0,0,0);opacity:0}12%,80%{opacity:.65}100%{transform:translate3d(var(--drift),calc(-100vh - 48px),0);opacity:0}}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:28px;}
body .hero-actions .cta{margin-top:0;min-height:48px;}
body .hero-actions .hero-join{background:var(--gold);color:var(--altum-navy);}
body .hero-actions .hero-join:hover{background:var(--champagne);}
.hero-actions a:focus-visible,.privacy-check input:focus-visible{outline:2px solid var(--gold);outline-offset:5px;}
body label.event-privacy-check{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font:14px/1.6 'Jost',sans-serif;}
body .event-privacy-check input{flex:0 0 18px;width:18px;height:18px;margin:3px 0 0;padding:0;accent-color:var(--gold);}
body .privacy-check a{text-decoration:underline;text-underline-offset:3px;}
#community-members,#cookies{scroll-margin-top:100px;}
@media(max-width:520px){.hero-actions{flex-direction:column;align-items:stretch}.gold-particles span:nth-child(n+11){display:none}}
@media(prefers-reduced-motion:reduce){.gold-particles{display:none}}

/* White partner surfaces override the shared navy section palette. */
body[data-page] .section.sponsors-featured{background:#fff!important;border-block:1px solid #e8eaee;color:#0b1b33}
body[data-page] #altumSponsors.sponsors-featured h2{color:#0b1b33}
body[data-page] .section.sponsors-featured .eyebrow{color:#7a5a2b}
body[data-page] .section.sponsors-featured p{color:#5b6475}
body[data-page] .sponsors-featured .member-arrow{background:#fff;color:#0b1b33;border-color:#c6cbd2}
body[data-page] .sponsors-featured .member-arrow:hover{background:#0b1b33;color:#fff}
body[data-page] .sponsors-featured .member-dot{background:#d7dce2}
body[data-page] .sponsors-featured .member-dot.active{background:#7a5a2b}
/* Centered above the viewport edge, with a compact touch target. */
body .back-to-top{position:fixed;z-index:9;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 15px;border:1px solid rgba(201,164,105,.3);border-radius:24px;background:rgba(11,27,51,.92);color:#e4dccf;font:400 11px/1.4 'Jost',sans-serif;letter-spacing:.035em;cursor:pointer;transition:background .2s,color .2s}
body .back-to-top[hidden]{display:none}
body .back-to-top:hover{background:#152b46;color:#fff}
body .back-to-top:focus-visible{outline:2px solid #c9a469;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body .back-to-top{transition:none}}

/* Carousel arrows: clear enabled/disabled states; hidden when every card already fits. */
body .member-arrow{cursor:pointer}
body .member-arrow:disabled{opacity:.28;cursor:default;pointer-events:none}
body .members-carousel.is-static .member-arrow,body .members-carousel.is-static .member-dots{display:none}
body .members-track{scrollbar-width:none}
body .members-track::-webkit-scrollbar{display:none}

/* ALTUM distinction from the CRM (e.g. Board LATAM Member, Founding Member Brazil). */
body[data-page] .member-slide .member-distinction{display:inline-flex!important;align-items:center;gap:8px;align-self:center;margin:-6px 0 14px!important;padding:6px 13px 6px 11px;border:1px solid rgba(201,173,120,.55);border-radius:999px;background:rgba(201,173,120,.08);color:#e2c792!important;font:600 10.5px/1.2 'Jost',sans-serif!important;letter-spacing:.14em;text-transform:uppercase;white-space:normal;text-align:center;max-width:100%}
body[data-page] .member-slide .member-distinction::before{content:"";flex:0 0 7px;width:7px;height:7px;background:currentColor;transform:rotate(45deg)}
/* Board and Founding distinctions share the same visual weight. */

/* How it works: "What is a Circle" goes straight to the explanation. */
body .section.circle-intro .lead{max-width:780px;margin-top:14px}

/* Register buttons: solid gold with navy text so they stand out on dark cards and forms. */
body[data-page] .meeting-card .cta.meeting-learn-more,body[data-page] .meeting-card .cta,
body[data-page="meeting-register"] #leadForm .cta,body[data-page="meeting-register"] #memberRegistration .cta,
body[data-page="meeting-details"] #registerButton{background:var(--gold,#c9ad78)!important;color:#0b1b33!important;border:1px solid var(--gold,#c9ad78)!important;font-weight:600;opacity:1}
body[data-page] .meeting-card .cta:hover,
body[data-page="meeting-register"] #leadForm .cta:hover,body[data-page="meeting-register"] #memberRegistration .cta:hover,
body[data-page="meeting-details"] #registerButton:hover{background:#e2c792!important;border-color:#e2c792!important;color:#0b1b33!important}
