@import url('site-fonts.css');

/* Public site palette: Pure black, the original brand green, and cream. */
.brand-page,.pure-black-home{--brand-black:#030405;--green:#87e64b;--accent:#87e64b;--accent-soft:#eaffdc;--panel-dark:#030405;--site-radius:22px;--hero-inset:0px}
.home-current.pure-black-home .homepage-hero.study-impression{--frame-bg:var(--brand-black);--study-accent:var(--green);background:var(--brand-black)}
.home-current.pure-black-home .homepage-hero.study-impression .study-content{height:auto;min-height:var(--opening-height);overflow:visible}
.home-current.pure-black-home .homepage-hero.study-impression{height:auto;min-height:var(--opening-height)}
.pure-black-home .homepage-hero .orbit-top,.brand-orbit-top{animation:brand-orbit 24s ease-in-out infinite}
.pure-black-home .homepage-hero .orbit-top .study-bubble,.brand-orbit-top .brand-bubble{animation:brand-warp 12s ease-in-out infinite alternate,brand-turn 32s linear infinite}
.pure-black-home .homepage-hero .orbit-bottom .study-bubble,.brand-orbit-bottom .brand-bubble{border-radius:50%;animation:brand-turn 38s linear infinite reverse;animation-delay:-9s}
/* The circular outline follows the lower hero bubble into Selected work. */
.pure-black-home .smart-section::after{content:none}
.pure-black-home .hero-ticker + .work-section::before{content:"";position:absolute;pointer-events:none;top:calc(var(--hero-orbit-size) * -.46 - var(--ticker-height));left:var(--hero-orbit-left);width:var(--hero-orbit-size);height:var(--hero-orbit-size);border:1.5px solid #03040580;border-radius:50%;box-sizing:border-box}
.pure-black-home .work-section{overflow:clip}

.brand-page{background:var(--cream);--header-h:82px}
.brand-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--brand-black);color:#f4f7ef;min-height:640px;min-height:85svh;display:flex;align-items:center;scroll-margin-top:0}
.brand-hero-content{position:relative;z-index:1;width:min(84%,1370px);margin-inline:auto;padding:calc(var(--header-height,82px) + 65px) 0 75px}
.brand-hero-kicker{font:600 11px/1.5 'Instrument Sans',Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0 0 42px}
.brand-hero h1{font-size:clamp(48px,6.1vw,96px);font-weight:600;line-height:1.06;letter-spacing:-.055em;max-width:none;margin:0 0 65px}
.brand-hero h1>span,.brand-hero h1>em{display:block}
.brand-hero h1>em{font-family:'Cormorant Garamond',Georgia,serif;color:var(--green);font-weight:600;font-size:1.15em;letter-spacing:-.04em}
.brand-hero-summary{display:grid;grid-template-columns:.85fr 1.5fr;gap:8%;max-width:1100px}
.brand-hero-summary>h2{font-size:clamp(19px,1.8vw,25px);line-height:1.25;font-weight:600;letter-spacing:-.025em;margin:0;max-width:27ch}
.brand-hero-summary>h2::after{content:"";display:block;margin-top:30px;width:min(100%,200px);height:2px;background:var(--green)}
.brand-hero-detail>p{font-size:clamp(16px,1.3vw,19px);line-height:1.65;max-width:55ch;color:#bbc8ba;margin:0 0 28px}
.brand-hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.brand-hero-actions .site-button{background:var(--green);border-color:var(--green);color:#0d0f0d;border-radius:8px}
.brand-hero-actions .site-button:hover{background:#75d638;border-color:#75d638}
.brand-hero-secondary{display:inline-flex;align-items:center;gap:15px;color:#f4f7ef;font-size:13px;text-underline-offset:5px}
.brand-hero-art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.brand-orbit{position:absolute;aspect-ratio:1;isolation:isolate}
.brand-orbit-top{width:clamp(330px,38vw,560px);right:-12%;top:-10%}
.brand-orbit-bottom{width:clamp(250px,26vw,390px);left:-11%;bottom:-25%}
.brand-bubble{position:absolute;inset:0;border-radius:57% 43% 61% 39% / 48% 58% 42% 52%;background:conic-gradient(from 30deg,#87e64b,#4158ff,#ff6e54,#87e64b);filter:saturate(1.15);opacity:.8;box-shadow:inset 15px 15px 40px #ffffff14}
.brand-orbit-bottom .brand-bubble{background:radial-gradient(circle at 35% 35%,#fff,transparent 12%),linear-gradient(135deg,#ffbd95,#6f43ff)}
.software-landing .brand-hero{min-height:100svh}
.brand-rounded-page{--hero-inset:20px}
.brand-hero--rounded{margin:var(--hero-inset);border-radius:32px;box-shadow:4px 4px 0 var(--green);min-height:calc(90svh - var(--hero-inset) * 2)}
.brand-page .site-header{inset:var(--hero-inset) var(--hero-inset) auto;transition:background .25s;background:#fff5edf5;border-color:#0d0f0d26}
.brand-page .site-header.over-dark-hero{background:transparent;backdrop-filter:none;border-color:transparent}
.brand-page .over-dark-hero .site-menu:not(.is-open)>a:not(.header-cta),.brand-page .over-dark-hero .site-menu-toggle{color:#f4f7ef;border-color:#f4f7ef66}
.brand-page .over-dark-hero .header-cta{border-color:var(--green);background:var(--green);color:#0d0f0d}
.brand-page .site-menu.is-open{color:#0d0f0d;background:var(--cream);border-radius:0 0 22px 22px}
.brand-page .site-header:not(.over-dark-hero) .site-menu>a:not(.header-cta){color:#000}
.brand-rounded-page .site-header{border-radius:28px 28px 0 0}
.brand-rounded-page .site-header:not(.over-dark-hero){border-radius:16px}
.brand-page .brand-hero .market-search{width:100%;max-width:620px;margin:0 0 20px;color:#0d0f0d;border-radius:12px}
.brand-page .brand-hero .hero-search-count{color:var(--green);margin-bottom:20px}
.brand-page .brand-hero .hero-actions{margin:0}
.brand-page .market-card,.brand-page .market-promo,.brand-page .resource-card{border-radius:var(--site-radius);overflow:hidden}
.brand-page .preview-dialog{border-radius:var(--site-radius)}
.brand-page .market-card{isolation:isolate}
.brand-page .market-summary{margin-top:55px}
.brand-page .resource-library{padding-top:85px}
.brand-page .resource-preview{background:var(--green);color:#0d0f0d}
.brand-page .resource-preview.questions{background:var(--brand-black);color:#f4f7ef}
.brand-page .resource-preview.questions>span,.brand-page .resource-preview.questions strong>span{color:var(--green)}
.brand-page .resources-note{padding:40px;margin-bottom:75px;border:1px solid #0d0f0d26;border-radius:var(--site-radius)}
.brand-page .questions-preview{scroll-margin-top:100px;padding-top:30px}
.brand-page .questions-preview>.shell{width:min(92%,1536px);margin-inline:auto}
.brand-page .question-unlock{background:var(--brand-black);border-radius:var(--site-radius);overflow:hidden}
.brand-page .question-subscribe-form input[type=email]{border-radius:8px}
.brand-page .question-email-row .button{display:flex;align-items:center;min-height:54px;padding:15px 22px;border-radius:8px;font-size:14px;font-weight:600}
.services-landing .services-section{background:var(--cream)}
.services-landing .service-card.dark{--card-fill:#030405;background:#030405}
.services-landing .service-card.green{--card-fill:#87e64b;background:#87e64b;border-color:#87e64b}
.services-landing .service-card.green .service-number,.services-landing .service-card.green .service-bottom p{color:#142119}
.services-landing .service-card{border-radius:22px}
.brand-page .brand-hero.motion-paused *{animation-play-state:paused!important}
@keyframes brand-warp{0%{border-radius:57% 43% 61% 39% / 48% 58% 42% 52%;scale:1 .98}50%{border-radius:36% 64% 42% 58% / 63% 34% 66% 37%;scale:.96 1.05}100%{border-radius:62% 38% 55% 45% / 38% 65% 35% 62%;scale:1.05 .96}}
@keyframes brand-orbit{0%,100%{transform:translate(0,0)}25%{transform:translate(-22px,14px)}50%{transform:translate(-8px,32px)}75%{transform:translate(14px,10px)}}
@keyframes brand-turn{to{transform:rotate(360deg)}}
@media(max-width:1100px){.brand-hero-content{width:88%}.brand-hero h1{font-size:7.5vw}.brand-orbit-top{right:-22%}}
@media(max-width:740px){
 .brand-page{--header-h:72px}.brand-rounded-page{--hero-inset:12px}
 .brand-hero{min-height:0}.software-landing .brand-hero{min-height:100svh}
 .brand-hero-content{width:calc(100% - 40px);padding:calc(var(--header-height,72px) + 48px) 0 65px}
 .brand-hero--rounded{border-radius:24px;box-shadow:3px 3px 0 var(--green)}
 .brand-hero h1{font-size:clamp(36px,8.6vw,62px);margin-bottom:35px}
 .brand-hero-kicker{font-size:9px;letter-spacing:.09em;margin-bottom:30px;max-width:30ch}
 .brand-hero-summary{grid-template-columns:1fr;gap:25px}
 .brand-hero-summary>h2{font-size:20px}.brand-hero-summary>h2::after{margin-top:20px;width:120px}
 .brand-hero-detail>p{font-size:16px;margin-bottom:24px}
 .brand-orbit-top{width:260px;right:-170px;top:-20px}.brand-orbit-bottom{width:250px;left:-180px;bottom:-140px}
 .brand-hero-actions{gap:20px}.brand-hero-actions .site-button{font-size:13px;padding:13px 17px;gap:25px;min-height:50px}
 .brand-hero-secondary{font-size:12px}
 .brand-page .market-summary{margin-top:35px}.brand-page .resource-library{padding-top:55px}
 .brand-page .resources-note{padding:28px;margin-bottom:40px}
}
@media(max-height:600px){.brand-hero-content{padding-top:calc(var(--header-height,82px) + 30px);padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){.brand-hero-art *,.pure-black-home .homepage-hero .study-art *{animation:none!important}}
