:root{--green:#1e4a46;--leaf:#4e7b69;--gold:#d89d4e;--cream:#f1e0bd;--rust:#b55432;--paper:#f5f1e8;--paper2:#ebe6da;--ink:#14140f;--inksoft:#4a4a40;--signal:#ff4405;--mono:"JetBrains Mono",monospace;--display:"Barlow Condensed",Impact,sans-serif;--wrap:min(1240px,calc(100% - 72px));}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.65 var(--mono);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.grain{pointer-events:none;position:fixed;inset:0;z-index:80;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.page-wrap{width:var(--wrap);margin-inline:auto}.skip-link{position:fixed;left:12px;top:12px;z-index:200;transform:translateY(-160%);background:var(--paper);padding:12px}.skip-link:focus{transform:translateY(0)}
/* Navigation */
.topbar{height:78px;position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:0 max(36px,calc((100vw - 1360px)/2));background:rgba(20,20,15,.97);color:var(--paper);border-bottom:1px solid rgba(245,241,232,.15);backdrop-filter:blur(18px)}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand img{object-fit:cover;width:37px;height:37px}.brand-name{font:800 22px/.9 var(--display);letter-spacing:.02em}.brand-name span{color:var(--signal)}.brand-divider{height:30px;width:1px;background:rgba(245,241,232,.25);margin:0 4px}.brand-tag{font-size:9px;line-height:1.2;font-weight:800;letter-spacing:.08em}.brand-tag small{font-size:8px;color:var(--gold);letter-spacing:.18em}.nav-links{display:flex;align-items:center;gap:clamp(15px,2.1vw,31px);font-size:9px;letter-spacing:.08em;font-weight:700}.nav-links>a:not(.nav-join){opacity:.72;transition:opacity .2s}.nav-links>a:hover{opacity:1}.nav-join{background:var(--signal);color:#fff;padding:13px 15px;display:flex;align-items:center;gap:17px;transition:background .2s,transform .2s}.nav-join:hover,.button-signal:hover{background:#e93d00;transform:translateY(-2px)}.menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px;cursor:pointer}.menu-toggle span{display:block;width:23px;height:1px;background:currentColor;margin:6px auto;transition:transform .2s}
/* Reusable */
.dark-section{background:var(--ink);color:var(--paper)}.section-paper{background:var(--paper);color:var(--ink)}.section-ink{background:var(--ink);color:var(--paper)}.section-rust{background:var(--rust);color:var(--cream)}.eyebrow{font-size:9px;line-height:1.5;font-weight:800;letter-spacing:.15em}.eyebrow-light{color:var(--cream)}.eyebrow-accent{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:49px;padding:14px 17px;font-size:9px;font-weight:800;letter-spacing:.055em;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}.button-signal{background:var(--signal);color:white}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:var(--green);transform:translateY(-2px)}.button-large{padding:18px 21px;min-height:58px;font-size:10px}.text-action{display:inline-flex;align-items:center;gap:20px;font-size:9px;font-weight:800;letter-spacing:.06em;border-bottom:1px solid currentColor;padding-bottom:6px;transition:gap .2s}.text-action:hover{gap:28px}.light-action{color:var(--cream)}.dark-action{color:var(--ink)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}.section-heading h2,.people-copy h2,.gather-copy h2,.faq-intro h2,.origin-title h2{font:800 clamp(58px,8vw,112px)/.8 var(--display);letter-spacing:-.025em;margin:18px 0 0}.section-heading h2 em,.people-copy h2 em,.gather-copy h2 em,.faq-intro h2 em,.origin-title h2 em{font-style:normal;color:var(--gold)}.heading-note{max-width:300px;margin:0 0 5px;font-size:11px;color:rgba(245,241,232,.67)}.section-index{font-size:8px;letter-spacing:.11em;font-weight:800;display:flex;flex-direction:column;gap:14px;color:#77766b}.index-rule{height:1px;background:var(--rust);width:56px}
/* Hero */
.hero{position:relative;overflow:hidden;min-height:calc(100svh - 78px);background:var(--green);color:var(--cream);isolation:isolate}.hero-grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(241,224,189,.14) 0 1px,transparent 1.35px);background-size:27px 27px;mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 83%,transparent 100%);opacity:.64;animation:gridDrift 32s linear infinite}.hero:before{content:"";position:absolute;width:720px;height:720px;right:-200px;top:-170px;border:1px solid rgba(216,157,78,.16);border-radius:50%;box-shadow:0 0 0 70px rgba(216,157,78,.025),0 0 0 145px rgba(216,157,78,.018);z-index:-1}.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);gap:clamp(45px,7vw,110px);align-items:center;padding-top:clamp(75px,8vw,120px);padding-bottom:90px}.hero-copy{padding:5px 0 10px}.eyebrow .status-dot{display:inline-block;width:7px;height:7px;background:var(--signal);border-radius:50%;margin-right:8px;box-shadow:0 0 0 5px rgba(255,68,5,.1)}.hero h1{font:900 clamp(82px,10vw,145px)/.76 var(--display);letter-spacing:-.036em;margin:32px 0 33px;color:var(--paper)}.hero h1 em{display:block;color:var(--gold);font-style:normal;font-size:.78em;line-height:.94;margin-top:10px}.hero-lede{max-width:565px;color:#f6e7ca;font-size:clamp(14px,1.45vw,18px);line-height:1.65;margin:0 0 12px}.hero-lede strong{color:white}.hero-body{max-width:510px;color:rgba(245,241,232,.72);font-size:11px;line-height:1.9;margin:0}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:31px}.hero-footnote{display:flex;justify-content:space-between;gap:18px;max-width:515px;margin-top:64px;padding-top:16px;border-top:1px solid rgba(245,241,232,.22);font-size:8px;letter-spacing:.11em;font-weight:800;color:rgba(245,241,232,.7)}.hero-footnote span:last-child{color:var(--gold)}.hero-scroll{position:absolute;right:32px;bottom:25px;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.12em;font-weight:800;color:rgba(245,241,232,.6);writing-mode:vertical-rl}.hero-scroll span{display:inline-block;width:1px;height:42px;background:var(--gold)}
/* Field map visual */
.field-map{align-self:center;border:1px solid rgba(245,241,232,.26);background:rgba(20,20,15,.12);box-shadow:0 25px 90px rgba(0,0,0,.13);backdrop-filter:blur(4px)}.field-map-head,.map-footer,.board-top,.board-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;font-size:8px;font-weight:800;letter-spacing:.1em}.field-map-head{border-bottom:1px solid rgba(245,241,232,.2)}.map-live{color:#b7d6a7}.map-live i,.board-status i{display:inline-block;width:6px;height:6px;background:#b7d6a7;border-radius:50%;margin-right:7px}.field-map-art{position:relative;height:clamp(310px,33vw,440px);overflow:hidden}.map-lines{width:100%;height:100%;position:absolute;inset:0}.orbit-rings{transform-origin:center;animation:ringRotate 80s linear infinite}.dash-path{stroke-dasharray:4 7;animation:dashFlow 15s linear infinite}.map-node{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid rgba(245,241,232,.36);background:rgba(30,74,70,.91);color:var(--paper);padding:10px 12px;min-width:114px;cursor:pointer;box-shadow:0 9px 27px rgba(0,0,0,.12);transition:background .2s,border-color .2s,transform .2s}.map-node:hover{transform:translateY(-3px)}.map-node.active{background:var(--gold);color:var(--ink);border-color:var(--gold)}.map-node .node-index{font-size:7px;opacity:.62;letter-spacing:.1em}.map-node strong{font:800 19px/.96 var(--display);margin:5px 0 4px}.map-node small{font-size:6px;letter-spacing:.055em;opacity:.75}.node-nature{left:50%;top:6%;transform:translateX(-50%)}.node-nature:hover{transform:translateX(-50%) translateY(-3px)}.node-infra{left:1.5%;top:31%}.node-data{right:1.5%;top:31%}.node-people{left:1.5%;top:59%}.node-action{right:1.5%;top:59%}.map-orbit-mark{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid rgba(216,157,78,.8);box-shadow:0 0 0 10px rgba(245,241,232,.04),0 0 0 22px rgba(245,241,232,.025)}.map-orbit-mark img{width:42px;height:42px;border-radius:50%}.map-insight{padding:15px 18px 17px;border-top:1px solid rgba(245,241,232,.16);min-height:88px}.map-insight span{font-size:8px;color:var(--gold);font-weight:800;letter-spacing:.1em}.map-insight p{margin:7px 0 0;font-size:10px;line-height:1.65;color:rgba(245,241,232,.78)}.map-footer{border-top:1px solid rgba(245,241,232,.16);color:rgba(245,241,232,.55);font-size:7px}.map-footer span:last-child{color:var(--gold);font-size:13px}
/* Marquee + idea */
.signal-strip{overflow:hidden;display:flex;gap:0;white-space:nowrap;background:var(--gold);color:var(--ink);font-size:9px;font-weight:800;letter-spacing:.13em;padding:12px 0}.signal-strip div{flex-shrink:0;animation:marquee 31s linear infinite}.signal-strip b{margin:0 27px;color:var(--rust)}.intro{padding:clamp(75px,10vw,145px) 0}.intro-grid{display:grid;grid-template-columns:190px 1fr;gap:clamp(40px,7vw,105px)}.intro-main .eyebrow{color:var(--rust)}.intro-main h2{font:800 clamp(72px,10vw,145px)/.76 var(--display);letter-spacing:-.035em;margin:27px 0 32px}.intro-main h2 em{font-style:normal;color:var(--rust)}.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,68px);max-width:940px}.intro-columns p{margin:0;font-size:12px;line-height:1.85;color:#55554b}.intro-columns .intro-strong{font-size:15px;line-height:1.7;font-weight:600;color:var(--ink)}.principle-line{margin-top:51px;display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;padding:17px 0;border-top:1px solid rgba(20,20,15,.22);border-bottom:1px solid rgba(20,20,15,.22)}.principle-line span{font-size:8px;font-weight:800;letter-spacing:.13em;color:var(--rust)}.principle-line strong{font:700 27px/1.1 var(--display)}
/* Field cards */
.fields-section{padding:clamp(75px,10vw,130px) 0}.fields-section .section-heading{margin-bottom:47px}.field-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;border-top:1px solid rgba(245,241,232,.25);padding:18px 0;margin-bottom:15px}.field-toolbar>span{font-size:8px;letter-spacing:.12em;font-weight:800;color:rgba(245,241,232,.52);padding-top:10px}.filter-buttons{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.filter-button{background:transparent;border:1px solid rgba(245,241,232,.26);color:var(--paper);padding:9px 11px;font-size:8px;font-weight:800;letter-spacing:.06em;cursor:pointer;transition:all .2s}.filter-button small{font-size:7px;margin-left:6px;opacity:.7}.filter-button:hover,.filter-button.active{background:var(--gold);border-color:var(--gold);color:var(--ink)}.field-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.field-card{position:relative;min-height:345px;padding:22px 22px 19px;background:#20211b;border:1px solid rgba(245,241,232,.2);display:flex;flex-direction:column;transition:transform .25s,border-color .25s,opacity .2s}.field-card:hover{transform:translateY(-5px);border-color:var(--gold)}.field-card[hidden]{display:none}.card-top{display:flex;justify-content:space-between;gap:12px;color:rgba(245,241,232,.52);font-size:7px;letter-spacing:.1em;font-weight:800}.card-arrow{color:var(--gold);font-size:16px}.card-symbol{width:56px;height:56px;margin:23px 0 16px;display:grid;place-items:center;background:rgba(216,157,78,.1);border:1px solid rgba(216,157,78,.3)}.card-symbol svg{width:39px;height:39px;stroke:var(--gold);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.field-card h3{font:800 32px/.92 var(--display);max-width:290px;margin:0 0 11px;letter-spacing:-.01em}.field-card p{font-size:10px;line-height:1.75;color:rgba(245,241,232,.68);margin:0 0 18px;max-width:345px}.card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;margin-bottom:18px}.card-tags span{font-size:6px;letter-spacing:.07em;padding:5px 6px;border:1px solid rgba(245,241,232,.2);color:rgba(245,241,232,.63)}.card-link{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid rgba(245,241,232,.18);padding-top:14px;font-size:8px;letter-spacing:.05em;font-weight:800}.card-link span{color:var(--gold);font-size:14px;transition:transform .2s}.card-link:hover span{transform:translateX(4px)}.field-results{display:flex;justify-content:space-between;gap:20px;padding-top:16px;color:rgba(245,241,232,.5);font-size:7px;letter-spacing:.1em;font-weight:800}
/* Your place */
.people-section{padding:clamp(80px,10vw,135px) 0}.people-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,8vw,120px);align-items:start}.people-copy .eyebrow,.gather-copy .eyebrow,.faq-intro .eyebrow{color:var(--rust)}.people-copy h2{font-size:clamp(70px,8vw,115px);margin-top:26px}.people-copy h2 em,.gather-copy h2 em,.faq-intro h2 em{color:var(--rust)}.people-copy>p:not(.eyebrow){max-width:390px;color:var(--inksoft);font-size:12px;line-height:1.9;margin:27px 0 25px}.path-selector{border:1px solid rgba(20,20,15,.25)}.path-selector-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 17px;background:var(--paper2);font-size:7px;font-weight:800;letter-spacing:.1em}.path-selector-head span:last-child{color:var(--rust)}.path-options{display:grid;grid-template-columns:1fr 1fr}.path-option{display:grid;grid-template-columns:32px 1fr 15px;align-items:center;gap:8px;background:transparent;border:0;border-bottom:1px solid rgba(20,20,15,.16);padding:17px 15px;text-align:left;cursor:pointer;transition:background .2s,color .2s}.path-option:nth-child(odd){border-right:1px solid rgba(20,20,15,.16)}.path-option:nth-last-child(-n+1){grid-column:1/-1;border-right:0}.path-option>span{font-size:8px;color:var(--rust)}.path-option strong{font:800 17px/.95 var(--display)}.path-option i{font-style:normal;color:var(--rust)}.path-option.active,.path-option:hover{background:var(--green);color:var(--paper)}.path-option.active>span,.path-option.active i,.path-option:hover>span,.path-option:hover i{color:var(--gold)}.path-detail{padding:22px 22px 24px;background:#e9e3d7;min-height:246px}.path-detail-top{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.11em;font-weight:800;color:var(--rust)}.path-spark{font-size:18px}.path-detail h3{font:800 clamp(35px,4.2vw,56px)/.85 var(--display);margin:24px 0 12px}.path-detail p{max-width:590px;font-size:10px;line-height:1.8;color:#57564d;margin:0 0 18px}
/* How */
.practice-section{padding:clamp(80px,10vw,135px) 0}.compact-heading{margin-bottom:54px}.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(245,241,232,.23);border-bottom:1px solid rgba(245,241,232,.23)}.practice-item{padding:22px 20px 24px 0;position:relative;min-height:280px}.practice-item+.practice-item{padding-left:22px;border-left:1px solid rgba(245,241,232,.23)}.practice-num{font-size:8px;letter-spacing:.1em;color:var(--gold)}.practice-icon{font:500 35px/1 var(--display);color:var(--gold);margin:25px 0 24px}.practice-item h3{font:800 35px/.9 var(--display);margin:0 0 13px}.practice-item p{font-size:10px;line-height:1.8;color:rgba(245,241,232,.63);max-width:240px;min-height:72px}.practice-label{display:block;margin-top:15px;font-size:7px;letter-spacing:.09em;color:var(--gold);font-weight:800}.practice-note{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:25px;background:#20211b;border:1px solid rgba(245,241,232,.2);padding:21px 22px;margin-top:24px}.note-mark{font-size:8px;font-weight:800;letter-spacing:.1em;color:var(--gold)}.practice-note p{font-size:10px;line-height:1.7;color:rgba(245,241,232,.7);margin:0}.practice-note p strong{color:var(--paper)}.practice-note .text-action{white-space:nowrap}
/* Gatherings */
.gather-section{padding:clamp(80px,10vw,135px) 0}.gather-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(50px,8vw,115px);align-items:center}.gather-copy h2{font-size:clamp(67px,8vw,113px);margin-top:27px}.gather-copy>p:not(.eyebrow){max-width:425px;font-size:11px;line-height:1.9;color:var(--inksoft);margin:25px 0 12px}.gather-copy .small-note{border-left:2px solid var(--gold);padding-left:13px;font-size:9px!important;color:#6a695e!important;margin:18px 0 24px!important}.gather-board{border:1px solid var(--ink);background:#eee8dc}.board-top{border-bottom:1px solid rgba(20,20,15,.18);font-size:7px;color:#626157}.board-status{color:var(--rust)}.board-status i{background:var(--rust)}.board-feature{display:grid;grid-template-columns:95px 1fr;gap:22px;padding:clamp(24px,4vw,42px)}.board-serial{font:800 clamp(75px,9vw,125px)/.75 var(--display);color:var(--rust);letter-spacing:-.04em}.board-type{font-size:7px;letter-spacing:.12em;font-weight:800;color:var(--rust)}.board-feature h3{font:800 clamp(43px,5.1vw,70px)/.81 var(--display);margin:22px 0 16px;letter-spacing:-.02em}.board-feature p{font-size:10px;line-height:1.8;max-width:360px;color:#56554c}.board-meta{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(20,20,15,.17);border-bottom:1px solid rgba(20,20,15,.17)}.board-meta span{padding:13px 17px;font-size:7px;letter-spacing:.08em;color:#77766a}.board-meta span+span{border-left:1px solid rgba(20,20,15,.17)}.board-meta strong{display:block;color:var(--ink);margin-top:5px;font-size:8px}.board-bottom{font-size:7px;color:#6d6b5e}.board-bottom a{color:var(--rust);font-weight:800;white-space:nowrap}.board-bottom b{margin-left:10px}
/* Origin */
.origin-section{padding:clamp(65px,8vw,105px) 0}.origin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,115px)}.origin-title h2{font-size:clamp(56px,7vw,98px);margin-top:23px;color:var(--paper)}.origin-title h2 em{color:var(--cream)}.origin-content>p{max-width:580px;font-size:11px;line-height:1.85;color:rgba(255,255,255,.81);margin:0 0 24px}.origin-days{border-top:1px solid rgba(245,241,232,.35)}.origin-days a{display:grid;grid-template-columns:80px 1fr 20px;gap:15px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(245,241,232,.35);transition:padding .2s}.origin-days a:hover{padding-left:8px}.origin-days a>span{font-size:7px;letter-spacing:.1em;color:var(--cream)}.origin-days strong{font:800 22px/.9 var(--display);color:#fff}.origin-days i{font-style:normal;color:var(--cream);font-size:15px}.origin-reading span{color:var(--cream)}
/* FAQ */
.faq-section{padding:clamp(80px,10vw,140px) 0}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,9vw,130px)}.faq-intro h2{font-size:clamp(75px,9vw,125px);margin-top:24px}.faq-intro>p:not(.eyebrow){max-width:300px;font-size:11px;line-height:1.8;color:var(--inksoft);margin:26px 0}.faq-list details{border-top:1px solid rgba(20,20,15,.27)}.faq-list details:last-child{border-bottom:1px solid rgba(20,20,15,.27)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:18px;list-style:none;cursor:pointer;padding:19px 0;font:700 22px/1.1 var(--display)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:400 19px var(--mono);color:var(--rust);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:10px;line-height:1.85;color:#5c5b51;max-width:670px;margin:0;padding:0 45px 21px 0}
/* Final CTA + footer */
.final-cta{position:relative;overflow:hidden;padding:clamp(80px,10vw,135px) 0;background:var(--green)}.cta-inner{position:relative;z-index:2}.cta-inner h2{font:900 clamp(85px,13vw,180px)/.75 var(--display);letter-spacing:-.04em;margin:27px 0 25px}.cta-inner h2 em{font-style:normal;color:var(--gold)}.cta-inner>p:not(.eyebrow){max-width:475px;font-size:12px;line-height:1.85;color:rgba(245,241,232,.72);margin:0 0 26px}.cta-orbit{position:absolute;right:7%;top:17%;width:clamp(240px,32vw,450px);aspect-ratio:1;border:1px solid rgba(216,157,78,.3);border-radius:50%;display:grid;place-items:center;opacity:.67}.cta-orbit:before,.cta-orbit:after{content:"";position:absolute;inset:12%;border:1px solid rgba(245,241,232,.2);border-radius:50%;transform:rotate(36deg) scaleX(.58)}.cta-orbit:after{transform:rotate(-36deg) scaleX(.58)}.cta-orbit span{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--gold);top:12%;left:50%;box-shadow:0 0 0 9px rgba(216,157,78,.1)}.cta-orbit span:nth-child(2){top:70%;left:15%;background:var(--signal)}.cta-orbit span:nth-child(3){top:71%;left:80%;background:var(--cream)}.cta-orbit img{width:62px;height:62px;border-radius:50%;position:relative;z-index:1}.cta-signoff{display:flex;justify-content:space-between;gap:15px;max-width:610px;margin-top:68px;padding-top:17px;border-top:1px solid rgba(245,241,232,.28);font-size:8px;font-weight:800;letter-spacing:.11em}.cta-signoff strong{color:var(--gold)}.cta-signoff span{color:rgba(245,241,232,.55)}.site-footer{background:var(--ink);color:var(--paper);padding:43px 0 0}.footer-main{display:grid;grid-template-columns:1fr 1fr 1.1fr auto;gap:26px;align-items:start;padding-bottom:38px}.footer-brand{align-self:start}.footer-main>p{font-size:9px;line-height:1.7;color:rgba(245,241,232,.6);margin:0}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;font-size:8px;letter-spacing:.07em;font-weight:800;color:rgba(245,241,232,.68)}.footer-main nav a:hover,.footer-credit:hover{color:var(--gold)}.footer-credit{font-size:7px;letter-spacing:.05em;color:var(--gold);white-space:nowrap}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid rgba(245,241,232,.18);padding:17px 0;color:rgba(245,241,232,.48);font-size:7px;letter-spacing:.11em;font-weight:800}.footer-bottom span:nth-child(2){color:var(--gold)}.footer-bottom a:hover{color:var(--paper)}
/* Motion / reduced motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes marquee{to{transform:translateX(-100%)}}@keyframes gridDrift{to{background-position:27px 27px}}@keyframes ringRotate{to{transform:rotate(360deg)}}@keyframes dashFlow{to{stroke-dashoffset:-110}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* Responsive */
@media(max-width:1100px){.topbar{padding-inline:28px}.nav-links{gap:15px;font-size:8px}.brand-tag{display:none}.brand-divider{display:none}.hero-layout{grid-template-columns:1fr .9fr;gap:38px}.hero h1{font-size:clamp(78px,9vw,115px)}.map-node{min-width:96px;padding:9px}.map-node strong{font-size:16px}.map-node small{font-size:5.5px}.field-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-note{grid-template-columns:100px 1fr}.practice-note .text-action{grid-column:2;justify-self:start}.footer-main{grid-template-columns:1fr 1fr 1.1fr}.footer-credit{grid-column:3}}
@media(max-width:760px){html{scroll-padding-top:74px}.topbar{height:68px;padding:0 19px}.brand-name{font-size:20px}.brand img{width:33px;height:33px}.menu-toggle{display:block;position:relative;z-index:72}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav-links{position:fixed;top:68px;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:25px 22px 40px;background:var(--ink);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}.nav-links.open{visibility:visible;opacity:1;transform:translateY(0)}.nav-links>a:not(.nav-join){font:700 28px/.9 var(--display);padding:18px 0;border-bottom:1px solid rgba(245,241,232,.15)}.nav-join{margin-top:25px;justify-content:space-between;min-height:50px}.page-wrap{width:min(100% - 38px,600px)}.hero{min-height:0}.hero-layout{grid-template-columns:1fr;gap:44px;padding-top:75px;padding-bottom:78px}.hero h1{font-size:clamp(76px,16vw,116px);margin:28px 0}.hero-lede{font-size:15px}.hero-body{font-size:10px}.hero-footnote{margin-top:43px;font-size:7px}.hero-scroll{display:none}.field-map-art{height:370px}.map-node{min-width:100px;padding:9px 10px}.node-infra,.node-people{left:0}.node-data,.node-action{right:0}.node-nature{top:4%}.node-infra,.node-data{top:30%}.node-people,.node-action{top:60%}.map-orbit-mark{top:49%;width:58px;height:58px}.map-orbit-mark img{width:36px;height:36px}.field-map-head,.map-footer{font-size:7px}.intro{padding:75px 0}.intro-grid{grid-template-columns:1fr;gap:29px}.section-index{flex-direction:row;align-items:center;gap:14px}.index-rule{width:30px}.intro-main h2{font-size:clamp(70px,15vw,110px)}.intro-columns{grid-template-columns:1fr;gap:16px}.intro-columns .intro-strong{font-size:14px}.principle-line{grid-template-columns:1fr;gap:9px;margin-top:30px}.principle-line strong{font-size:25px}.fields-section,.people-section,.practice-section,.gather-section,.faq-section{padding:76px 0}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:clamp(65px,14vw,92px)}.heading-note{margin-top:25px;max-width:400px}.field-toolbar{display:block}.field-toolbar>span{display:block;margin-bottom:12px}.filter-buttons{justify-content:flex-start}.filter-button{padding:8px 9px;font-size:7px}.field-cards{grid-template-columns:1fr}.field-card{min-height:300px;padding:20px}.field-card h3{font-size:36px}.field-card p{font-size:11px}.card-symbol{margin:18px 0 14px}.field-results{font-size:6px}.people-grid,.gather-grid,.origin-grid,.faq-grid{grid-template-columns:1fr;gap:43px}.people-copy h2,.gather-copy h2{font-size:clamp(69px,14vw,95px)}.path-selector-head{font-size:6px}.path-option{grid-template-columns:27px 1fr 12px;padding:15px 10px}.path-option strong{font-size:16px}.path-detail{padding:20px;min-height:0}.path-detail h3{font-size:48px}.practice-grid{grid-template-columns:1fr 1fr}.practice-item{padding:18px 12px 22px 0;min-height:260px}.practice-item+.practice-item{padding-left:14px}.practice-item:nth-child(3){border-left:0;padding-left:0;border-top:1px solid rgba(245,241,232,.23)}.practice-item:nth-child(4){border-top:1px solid rgba(245,241,232,.23)}.practice-item h3{font-size:31px}.practice-item p{font-size:9px;min-height:90px}.practice-label{font-size:6px}.practice-note{grid-template-columns:1fr;gap:12px;padding:18px}.practice-note .text-action{grid-column:1}.board-feature{grid-template-columns:58px 1fr;gap:15px;padding:23px 16px}.board-serial{font-size:75px}.board-feature h3{font-size:47px}.board-meta span{padding:11px;font-size:6px}.board-meta strong{font-size:7px}.board-bottom{align-items:flex-start;flex-direction:column;gap:10px}.origin-title h2{font-size:clamp(57px,12vw,83px)}.origin-days a{grid-template-columns:62px 1fr 16px}.origin-days strong{font-size:21px}.faq-intro h2{font-size:90px}.faq-list summary{font-size:21px}.faq-list details p{padding-right:8px}.final-cta{padding:82px 0}.cta-inner h2{font-size:clamp(78px,15vw,125px)}.cta-inner>p:not(.eyebrow){font-size:11px}.cta-orbit{right:-140px;top:12%;width:340px;opacity:.26}.button-large{font-size:8px;gap:14px;padding-inline:13px}.cta-signoff{flex-direction:column;gap:8px;margin-top:48px}.footer-main{grid-template-columns:1fr 1fr;gap:22px}.footer-main>p{grid-column:2;grid-row:1}.footer-main nav{grid-column:1/-1}.footer-credit{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;font-size:6px}.footer-bottom span:nth-child(2){order:3;width:100%}}
@media(max-width:400px){.hero h1{font-size:70px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.field-map-art{height:330px}.map-node{min-width:88px;padding:8px}.map-node strong{font-size:14px}.map-node small{font-size:5px}.map-node .node-index{font-size:6px}.map-insight{padding:12px}.map-insight p{font-size:9px}.path-options{grid-template-columns:1fr}.path-option:nth-child(odd){border-right:0}.path-option:nth-last-child(-n+1){grid-column:auto}.practice-note{padding:15px}.board-feature h3{font-size:40px}.footer-main{grid-template-columns:1fr}.footer-main>p{grid-column:auto;grid-row:auto}.footer-main nav{grid-template-columns:1fr 1fr}}

/* ==========================================================
   ICX-HERO-NAV-REFINEMENT-20261011
   Targeted homepage refinement. Existing components preserved.
   ========================================================== */

/* HERO TYPOGRAPHY */

.hero-copy > h1 {
  margin-top: 0;
  font-size: clamp(74px, 8.9vw, 136px);
  line-height: 0.79;
  letter-spacing: -0.042em;
  text-wrap: balance;
}

.hero h1 em {
  margin-top: 8px;
  font-size: 0.78em;
  line-height: 0.92;
  letter-spacing: -0.032em;
}

/*
 * Remove only the rectangular field-map enclosure.
 * Keep the map, orbit SVG, node boxes, connectors and copy.
 */

.field-map {
  position: relative;
  min-width: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Retain subtle internal separators without a surrounding frame. */

.field-map-head {
  padding: 13px 0;
  border-bottom: 1px solid rgba(245, 241, 232, 0.2);
}

.map-insight {
  padding: 15px 0 17px;
  border-top: 1px solid rgba(245, 241, 232, 0.16);
}

.map-footer {
  padding: 13px 0;
  border-top: 1px solid rgba(245, 241, 232, 0.16);
}

/* NAVBAR: restrained scroll state and clear link feedback. */

.topbar {
  transition:
    background-color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}

.topbar.is-scrolled {
  background: rgba(20, 20, 15, 0.985);
  border-bottom-color: rgba(245, 241, 232, 0.23);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.nav-links > a:not(.nav-join) {
  position: relative;
  padding-block: 12px;
  transition:
    opacity 180ms ease,
    color 180ms ease;
}

.nav-links > a:not(.nav-join)::after {
  position: absolute;
  right: 0;
  bottom: 5px;
  left: 0;
  height: 1px;
  background: var(--gold);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 200ms ease;
}

.nav-links > a:not(.nav-join):hover,
.nav-links > a.active:not(.nav-join) {
  color: var(--cream);
  opacity: 1;
}

.nav-links > a:not(.nav-join):hover::after,
.nav-links > a.active:not(.nav-join)::after {
  transform: scaleX(1);
}

/* Preserve the existing mobile navigation's spacing and layout. */

@media (max-width: 1100px) {
  .hero-copy > h1 {
    font-size: clamp(78px, 9vw, 115px);
  }
}

@media (max-width: 760px) {
  .hero-copy > h1 {
    font-size: clamp(76px, 16vw, 116px);
    line-height: 0.78;
  }

  .nav-links > a:not(.nav-join) {
    padding: 18px 0;
  }

  .nav-links > a:not(.nav-join)::after {
    display: none;
  }
}

@media (max-width: 400px) {
  .hero-copy > h1 {
    font-size: 70px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .topbar,
  .nav-links > a:not(.nav-join),
  .nav-links > a:not(.nav-join)::after {
    transition: none;
  }
}

/* ==========================================================
   ICX-CENTRAL-SECURITY-NODE
   Positioned on the bottom-centre orbital connection.
   Inherits the exact existing .map-node styling.
   ========================================================== */

.node-security {
  top: 85.3%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.node-security:hover {
  transform: translate(-50%, -50%) translateY(-3px);
}

/* ==========================================================
   ICX-NODE-ALIGNMENT-20261011
   Align field cards with their actual orbital connection points.
   ========================================================== */

/* Consistent box dimensions, padding and typography. */

.map-node {
  box-sizing: border-box;
  width: min(132px, calc(25% - 2px));
  min-width: 0;
  height: 72px;
  padding: 8px 10px;
  align-items: flex-start;
  justify-content: space-between;
  text-align: left;
  border: 1px solid rgba(245, 241, 232, 0.36);
  background: rgba(30, 74, 70, 0.91);
  box-shadow: 0 9px 27px rgba(0, 0, 0, 0.12);
}

.map-node strong {
  margin: 3px 0;
  font-size: clamp(11px, 2.7vw, 15px);
  line-height: 0.96;
  white-space: nowrap;
}

.map-node small {
  white-space: nowrap;
}

/*
  The SVG preserves its aspect ratio. This offset follows
  its connection points as the map changes size.
*/

.field-map-art {
  --node-orbit-offset: clamp(88.6px, 9.43vw, 125.7px);
}

/* Left-side cards terminate at the left connection points. */

.node-infra,
.node-people {
  left: auto;
  right: min(75%, calc(50% + var(--node-orbit-offset)));
}

/* Right-side cards begin at the right connection points. */

.node-data,
.node-action {
  left: min(75%, calc(50% + var(--node-orbit-offset)));
  right: auto;
}

/* Align the upper pair with the upper connection points. */

.node-infra,
.node-data {
  top: calc(39.8% - 36px);
}

/* Align the lower pair with the lower connection points. */

.node-people,
.node-action {
  top: calc(56.7% - 36px);
}

/* Preserve the existing centre alignment of Nature and Security. */

.node-nature {
  left: 50%;
}

.node-security {
  left: 50%;
  top: 85.3%;
  transform: translate(-50%, -50%);
}

/* Intermediate screens where the SVG fits the map width. */

@media (min-width: 761px) and (max-width: 880px) {
  .field-map-art {
    --node-orbit-offset: 25%;
  }
}

/* Mobile map height is fixed at 370px, so recalculate the offset. */

@media (max-width: 760px) {
  .field-map-art {
    --node-orbit-offset: 106px;
  }
}

/* Narrow maps scale the SVG to their width. */

@media (max-width: 460px) {
  .field-map-art {
    --node-orbit-offset: 25%;
  }

  .map-node {
    width: min(132px, calc(25% - 2px));
    padding: 7px 5px;
  }

  .map-node strong {
    font-size: clamp(10px, 2.7vw, 12px);
  }
}

/* ==========================================================
   ICX-NODE-SPACING-TYPE-20261011
   Orbital node refinement — no other page sections changed.
   ========================================================== */

/* Shorter boxes create breathing room between the side pairs. */

.map-node {
  height: 54px;
  padding: 6px 9px;
}

/* Keep side-card centres aligned with the existing connection dots. */

.node-infra,
.node-data {
  top: calc(39.8% - 27px);
}

.node-people,
.node-action {
  top: calc(56.7% - 27px);
}

/* Keep the Nature box's existing lower alignment. */

.node-nature {
  top: calc(6% + 18px);
}

/* Slightly larger, more legible descriptions. */

.map-node small {
  font-size: 7.5px;
  line-height: 1.15;
  letter-spacing: 0.035em;
  white-space: nowrap;
}

/* Preserve readability on tablets and phones. */

@media (max-width: 760px) {
  .map-node {
    height: 54px;
    padding: 6px 8px;
  }

  .map-node small {
    font-size: 6.5px;
  }

  .node-infra,
  .node-data {
    top: calc(30% - 27px);
  }

  .node-people,
  .node-action {
    top: calc(60% - 27px);
  }
}

@media (max-width: 460px) {
  .map-node {
    padding: 6px 5px;
  }

  .map-node strong {
    font-size: clamp(9px, 2.7vw, 12px);
  }

  .map-node small {
    font-size: 6px;
    letter-spacing: 0;
  }
}

/* ==========================================================
   ICX-TYPOGRAPHY-QA-REFINEMENT
   Improve description readability without redesigning sections.
   ========================================================== */

/* HERO */

.hero-lede {
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.7;
}

.hero-body {
  font-size: 13px;
  line-height: 1.85;
}

/* ORBITAL FIELD MAP */

.map-node {
  height: 50px;
  padding: 5px 7px;
  justify-content: center;
  gap: 4px;
}

.map-node strong {
  max-width: 100%;
  font-size: clamp(10px, 1.15vw, 14px);
  line-height: 1;
  letter-spacing: 0;
}

.map-node small {
  max-width: 100%;
  font-size: 8.5px;
  line-height: 1.2;
  letter-spacing: 0;
  white-space: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}

/* Keep box centres aligned with their existing connection points. */

.node-infra,
.node-data {
  top: calc(39.8% - 25px);
}

.node-people,
.node-action {
  top: calc(56.7% - 25px);
}

.node-security {
  top: 85.3%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.node-security:hover {
  transform: translate(-50%, -50%) translateY(-3px);
}

/* Map explanation beneath the orbital diagram. */

.map-insight p {
  font-size: 12px;
  line-height: 1.8;
}

/* FOCUS-AREA CARDS */

.field-card p {
  font-size: 12px;
  line-height: 1.8;
}

.card-tags span {
  font-size: 8px;
  line-height: 1.5;
}

/* EDITORIAL AND AUDIENCE DESCRIPTIONS */

.intro-columns p {
  font-size: 13px;
  line-height: 1.85;
}

.intro-columns .intro-strong {
  font-size: 15px;
}

.people-copy > p:not(.eyebrow) {
  font-size: 13px;
  line-height: 1.85;
}

.path-detail p {
  font-size: 12px;
  line-height: 1.85;
}

/* PARTICIPATION */

.practice-item p {
  font-size: 12px;
  line-height: 1.8;
}

.practice-note p {
  font-size: 12px;
  line-height: 1.8;
}

/* GATHERINGS */

.gather-copy > p:not(.eyebrow) {
  font-size: 12px;
  line-height: 1.85;
}

.gather-copy .small-note {
  font-size: 11px !important;
  line-height: 1.8;
}

.board-feature p {
  font-size: 12px;
  line-height: 1.8;
}

/* CAMPAIGN INTRODUCTION */

.origin-content > p {
  font-size: 12px;
  line-height: 1.85;
}

/* FAQ */

.faq-list details p {
  font-size: 12px;
  line-height: 1.85;
}

/* SUPPORTING EDITORIAL TEXT */

.heading-note {
  font-size: 12px;
  line-height: 1.8;
}

.footer-main > p {
  font-size: 10px;
  line-height: 1.85;
}

/* TABLET AND MOBILE READABILITY */

@media (max-width: 760px) {
  .map-node {
    height: 50px;
    padding: 5px 6px;
  }

  .map-node small {
    font-size: 7.5px;
    line-height: 1.15;
  }

  .node-infra,
  .node-data {
    top: calc(30% - 25px);
  }

  .node-people,
  .node-action {
    top: calc(60% - 25px);
  }

  .hero-body {
    font-size: 12px;
  }

  .field-card p,
  .intro-columns p,
  .people-copy > p:not(.eyebrow),
  .path-detail p,
  .practice-item p,
  .practice-note p,
  .gather-copy > p:not(.eyebrow),
  .board-feature p,
  .origin-content > p,
  .faq-list details p {
    font-size: 12px;
    line-height: 1.8;
  }

  .card-tags span {
    font-size: 8px;
  }

  .heading-note {
    font-size: 12px;
  }
}

@media (max-width: 400px) {
  .map-node {
    padding: 5px;
  }

  .map-node strong {
    font-size: 10px;
  }

  .map-node small {
    font-size: 7px;
  }
}

/* ICX-INTRO-EDITORIAL-ALIGNMENT-20261011 */

/* Bring the editorial introduction up and align it to the page grid. */
.intro {
  padding: clamp(64px, 7vw, 100px) 0 clamp(70px, 8vw, 105px);
}

/* Remove the empty space previously occupied by the section index. */
.intro-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.intro-main {
  width: 100%;
  max-width: 100%;
}

/* Tighten the heading rhythm without changing its display typography. */
.intro-main h2 {
  margin: 18px 0 30px;
}

/* Keep descriptions and the principle row on a shared editorial width. */
.intro-columns {
  width: 100%;
  max-width: 1040px;
  gap: clamp(28px, 4vw, 60px);
}

.principle-line {
  width: 100%;
  max-width: 1040px;
  margin-top: 42px;
}

/* Preserve comfortable spacing on smaller screens. */
@media (max-width: 760px) {
  .intro {
    padding: 68px 0 76px;
  }

  .intro-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .intro-columns {
    max-width: none;
    gap: 16px;
  }

  .principle-line {
    max-width: none;
    margin-top: 30px;
  }
}

/* ICX-COMMUNITY-REGISTRATION-PAGE-20261011 */

/* Editorial layout aligned with the existing ImperialX homepage. */
.join-page {
  background: var(--paper);
  color: var(--ink);
}

.join-hero {
  padding: clamp(66px, 8vw, 112px) 0 clamp(65px, 7vw, 100px);
}

.join-hero > .page-wrap > .eyebrow {
  color: var(--rust);
}

.join-headline-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, .65fr);
  gap: clamp(28px, 5vw, 75px);
  align-items: end;
  margin-top: 24px;
}

.join-hero h1 {
  margin: 0;
  font: 800 clamp(70px, 10.5vw, 142px)/.8 var(--display);
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

.join-hero h1 em {
  color: var(--rust);
  font-style: normal;
}

.join-deck {
  max-width: 370px;
  margin: 0 0 5px;
  color: #55554b;
  font-size: 13px;
  line-height: 1.9;
}

.join-rule {
  height: 1px;
  margin: clamp(35px, 5vw, 65px) 0;
  background: rgba(20, 20, 15, .24);
}

.join-layout {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  align-items: start;
  gap: clamp(32px, 5vw, 76px);
}

.join-context {
  min-width: 0;
  padding-top: 8px;
}

.join-overline,
.join-context-item > span {
  color: var(--rust);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.7;
}

.join-context h2 {
  margin: 23px 0;
  font: 800 clamp(42px, 5.1vw, 70px)/.9 var(--display);
  letter-spacing: -.025em;
}

.join-context h2 em {
  color: var(--rust);
  font-style: normal;
}

.join-context > p:not(.join-overline) {
  max-width: 430px;
  margin: 0;
  color: #55554b;
  font-size: 12px;
  line-height: 1.95;
}

.join-context-list {
  margin-top: 36px;
  border-top: 1px solid rgba(20, 20, 15, .22);
}

.join-context-item {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  padding: 17px 0;
  border-bottom: 1px solid rgba(20, 20, 15, .22);
}

.join-context-item > span {
  font-size: 10px;
}

.join-context-item h3 {
  margin: 0 0 6px;
  font: 700 23px/1 var(--display);
}

.join-context-item p {
  margin: 0;
  color: #55554b;
  font-size: 11px;
  line-height: 1.8;
}

.join-form-panel {
  min-width: 0;
  padding: clamp(20px, 3vw, 38px);
  border: 1px solid rgba(20, 20, 15, .35);
  background: var(--paper-soft);
}

.join-form-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 15px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(20, 20, 15, .25);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: .07em;
}

.join-form-header span:last-child {
  color: var(--rust);
  text-align: right;
}

.join-form-intro {
  margin: 21px 0 24px;
  color: #55554b;
  font-size: 12px;
  line-height: 1.85;
}

.join-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 19px 16px;
}

.join-field {
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-width: 0;
}

.join-field-full {
  grid-column: 1 / -1;
}

.join-field > span,
.join-form-panel legend {
  display: block;
  margin-bottom: 0;
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.7;
  letter-spacing: .07em;
}

.join-field input,
.join-field select,
.join-field textarea {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 12px;
  border: 1px solid rgba(20, 20, 15, .4);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 12px/1.6 "JetBrains Mono", monospace;
}

.join-field textarea {
  min-height: 100px;
  resize: vertical;
}

.join-field input::placeholder,
.join-field textarea::placeholder {
  color: #77766b;
  opacity: 1;
}

.join-field input:focus-visible,
.join-field select:focus-visible,
.join-field textarea:focus-visible,
.join-consent input:focus-visible,
.join-interest-option input:focus-visible {
  outline: 2px solid var(--rust);
  outline-offset: 3px;
}

.join-interests {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.join-interests legend {
  margin-bottom: 12px;
}

.join-interests legend small {
  display: block;
  margin-top: 4px;
  color: #55554b;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0;
}

.join-interest-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(20, 20, 15, .25);
  border-left: 1px solid rgba(20, 20, 15, .25);
}

.join-interest-option {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
  min-height: 48px;
  padding: 12px 10px;
  border-right: 1px solid rgba(20, 20, 15, .25);
  border-bottom: 1px solid rgba(20, 20, 15, .25);
  color: var(--ink);
  font-size: 10px;
  line-height: 1.6;
  cursor: pointer;
}

.join-interest-option input {
  flex: 0 0 auto;
  margin: 2px 0 0;
  accent-color: var(--rust);
}

.join-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 22px;
  color: #55554b;
  font-size: 10px;
  line-height: 1.8;
}

.join-consent input {
  flex: 0 0 auto;
  margin-top: 3px;
  accent-color: var(--rust);
}

.join-preview-note {
  margin: 23px 0 16px;
  padding-top: 15px;
  border-top: 1px solid rgba(20, 20, 15, .22);
  color: #55554b;
  font-size: 10px;
  line-height: 1.8;
}

.join-preview-note strong {
  color: var(--rust);
}

.join-submit {
  width: 100%;
  cursor: pointer;
  font-family: "JetBrains Mono", monospace;
}

.join-form-status {
  margin: 18px 0 0;
  padding: 14px;
  border-left: 3px solid var(--gold);
  background: var(--paper);
  color: var(--ink);
  font-size: 11px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.join-form-status.is-error {
  border-left-color: var(--rust);
}

.join-form-status[hidden] {
  display: none;
}

.join-return {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 34px;
}

.join-return a {
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.8;
  letter-spacing: .04em;
  text-decoration: none;
  border-bottom: 1px solid rgba(20, 20, 15, .5);
  padding-bottom: 4px;
}

.join-return a:hover {
  color: var(--rust);
}

@media (max-width: 900px) {
  .join-headline-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 25px;
  }

  .join-deck {
    max-width: 520px;
  }

  .join-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
  }

  .join-context h2 {
    max-width: 680px;
  }

  .join-context > p:not(.join-overline) {
    max-width: 650px;
  }
}

@media (max-width: 760px) {
  .join-hero {
    padding: 62px 0 75px;
  }

  .join-hero h1 {
    font-size: clamp(63px, 14vw, 105px);
  }

  .join-context h2 {
    font-size: clamp(42px, 10vw, 64px);
  }

  .join-form-panel {
    padding: 20px 16px;
  }

  .join-form-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 17px;
  }

  .join-field-full,
  .join-interests {
    grid-column: auto;
  }

  .join-interest-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .join-form-header {
    font-size: 8px;
  }

  .join-field input,
  .join-field select,
  .join-field textarea {
    font-size: 12px;
  }
}

@media (max-width: 380px) {
  .join-hero h1 {
    font-size: 59px;
  }

  .join-form-panel {
    padding: 17px 12px;
  }

  .join-context-item {
    grid-template-columns: 27px minmax(0, 1fr);
  }
}

/* ICX-ADDITIONAL-PAGES-20261011 */

/* Shared editorial framework: existing ImperialX palette and typography. */

.content-kicker, .content-section-label, .content-card-label, .content-status {
  font-size: 9px;
  font-weight: 800;
  line-height: 1.8;
  letter-spacing: .12em;
}

.content-kicker, .content-section-label {
  color: var(--rust);
}

.skip-link {
  position: absolute;
  z-index: 100;
  top: -100px;
  left: 12px;
  padding: 12px 15px;
  background: var(--ink);
  color: var(--paper);
}

.skip-link:focus {
  top: 12px;
}

.content-page {
  background: var(--paper);
  color: var(--ink);
}

.content-hero {
  padding: clamp(64px, 8vw, 112px) 0 clamp(48px, 6vw, 80px);
}

.content-hero .content-kicker {
  margin: 0 0 20px;
}

.content-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
  gap: clamp(28px, 5vw, 75px);
  align-items: end;
}

.content-title {
  margin: 0;
  font: 800 clamp(68px, 10vw, 132px)/.82 var(--display);
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

.content-title em,
.content-section-title em,
.content-cta h2 em {
  color: var(--rust);
  font-style: normal;
}

.content-lede {
  max-width: 460px;
  margin: 0 0 6px;
  color: #55554b;
  font-size: 13px;
  line-height: 1.9;
}

.content-rule {
  height: 1px;
  margin: clamp(32px, 5vw, 63px) 0 0;
  background: rgba(20, 20, 15, .25);
}

.content-section {
  padding: 0 0 clamp(60px, 8vw, 100px);
}

.content-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 35px;
  margin-bottom: 30px;
}

.content-section-title {
  margin: 12px 0 0;
  font: 800 clamp(42px, 6vw, 76px)/.88 var(--display);
  letter-spacing: -.025em;
}

.content-section-note {
  max-width: 330px;
  margin: 0 0 3px;
  color: #55554b;
  font-size: 11px;
  line-height: 1.9;
}

.content-copy {
  max-width: 900px;
}

.content-copy p {
  color: #55554b;
  font-size: 13px;
  line-height: 1.95;
}

.content-copy p:first-child {
  margin-top: 0;
}

.content-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(20, 20, 15, .25);
  background: rgba(20, 20, 15, .25);
}

.content-card {
  min-width: 0;
  padding: clamp(20px, 2.7vw, 34px);
  background: var(--paper);
}

.content-card-label {
  display: block;
  color: var(--rust);
}

.content-card h2,
.content-card h3 {
  margin: 24px 0 12px;
  font: 700 clamp(24px, 3vw, 36px)/.98 var(--display);
  overflow-wrap: anywhere;
}

.content-card p {
  margin: 0 0 18px;
  color: #55554b;
  font-size: 11px;
  line-height: 1.9;
}

.content-card-link {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  color: var(--ink);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.8;
  text-decoration: none;
  border-bottom: 1px solid rgba(20, 20, 15, .45);
  padding-bottom: 5px;
}

.content-card-link:hover {
  color: var(--rust);
  border-color: var(--rust);
}

.content-split {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(32px, 6vw, 80px);
  align-items: start;
}

.content-split h2 {
  margin: 10px 0 20px;
  font: 800 clamp(43px, 6vw, 76px)/.87 var(--display);
  letter-spacing: -.025em;
}

.content-split h2 em {
  color: var(--rust);
  font-style: normal;
}

.content-split p {
  color: #55554b;
  font-size: 12px;
  line-height: 1.95;
}

.content-list {
  border-top: 1px solid rgba(20, 20, 15, .24);
}

.content-list-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(20, 20, 15, .24);
}

.content-list-number {
  color: var(--rust);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.8;
}

.content-list-item h3 {
  margin: 0 0 7px;
  font: 700 26px/1 var(--display);
}

.content-list-item p {
  margin: 0;
  color: #55554b;
  font-size: 11px;
  line-height: 1.9;
}

.content-note {
  padding: 23px clamp(18px, 3vw, 32px);
  border-left: 3px solid var(--gold);
  background: var(--paper-soft);
  color: #55554b;
  font-size: 11px;
  line-height: 1.9;
}

.content-note strong {
  color: var(--ink);
}

.content-status {
  display: inline-block;
  padding: 4px 8px;
  border: 1px solid rgba(181, 84, 50, .5);
  color: var(--rust);
}

.content-status-row {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 15px;
  margin-bottom: 18px;
}

.community-faq {
  border-top: 1px solid rgba(20, 20, 15, .25);
}

.community-faq details {
  border-bottom: 1px solid rgba(20, 20, 15, .25);
}

.community-faq summary {
  position: relative;
  padding: 19px 32px 19px 0;
  color: var(--ink);
  font: 700 clamp(21px, 3vw, 29px)/1.15 var(--display);
  cursor: pointer;
  list-style: none;
}

.community-faq summary::-webkit-details-marker {
  display: none;
}

.community-faq summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  top: 17px;
  color: var(--rust);
  font: 700 22px/1 "JetBrains Mono", monospace;
}

.community-faq details[open] summary::after {
  content: "−";
}

.community-faq details p {
  max-width: 820px;
  margin: 0;
  padding: 0 35px 22px 0;
  color: #55554b;
  font-size: 12px;
  line-height: 1.95;
}

.content-cta {
  padding: clamp(52px, 7vw, 86px) 0;
  background: var(--ink);
  color: var(--paper);
}

.content-cta .content-kicker {
  color: var(--gold);
}

.content-cta-row {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 28px;
  margin-top: 22px;
}

.content-cta h2 {
  margin: 0;
  font: 800 clamp(48px, 7vw, 88px)/.84 var(--display);
  letter-spacing: -.025em;
}

.content-cta h2 em {
  color: var(--gold);
}

.content-cta .button {
  flex-shrink: 0;
}

@media (max-width: 900px) {
  .content-title-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 25px;
  }

  .content-lede {
    max-width: 650px;
  }

  .content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .content-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .content-cta-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .content-hero {
    padding: 58px 0 46px;
  }

  .content-title {
    font-size: clamp(59px, 14vw, 88px);
  }

  .content-section-heading {
    display: block;
  }

  .content-section-note {
    margin-top: 18px;
  }

  .content-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .content-card {
    padding: 23px;
  }

  .content-card h2,
  .content-card h3 {
    font-size: 31px;
  }

  .content-split h2 {
    font-size: clamp(43px, 11vw, 63px);
  }

  .content-cta h2 {
    font-size: clamp(48px, 12vw, 74px);
  }





  .content-list-item {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 11px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .content-page * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ICX-PREMIUM-FRONTEND-20261011 */

/* Search launcher in existing navigation */
.icx-command-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(245, 241, 232, .32);
  border-radius: 0;
  background: transparent;
  color: var(--paper);
  font: 700 9px/1.4 var(--mono);
  letter-spacing: .06em;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .2s, color .2s, background .2s;
}

.icx-command-trigger:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.icx-command-trigger kbd {
  padding: 3px 5px;
  border: 1px solid rgba(245, 241, 232, .22);
  border-radius: 0;
  color: var(--gold);
  font: 500 8px/1.4 var(--mono);
}

/* Accessible command palette */
.icx-command-dialog {
  width: min(680px, calc(100vw - 32px));
  max-width: none;
  max-height: min(78vh, 680px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--gold);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 24px 90px rgba(0, 0, 0, .35);
}

.icx-command-dialog::backdrop {
  background: rgba(20, 20, 15, .76);
  backdrop-filter: blur(5px);
}

.icx-command-shell {
  display: flex;
  max-height: min(78vh, 680px);
  flex-direction: column;
}

.icx-command-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 17px 20px;
  border-bottom: 1px solid rgba(20, 20, 15, .2);
}

.icx-command-heading strong {
  font: 800 10px/1.6 var(--mono);
  letter-spacing: .1em;
}

.icx-command-heading span {
  color: var(--rust);
  font: 700 8px/1.6 var(--mono);
  letter-spacing: .07em;
}

.icx-command-search-row {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(20, 20, 15, .2);
}

.icx-command-search-icon {
  color: var(--rust);
  font: 700 25px/1 var(--mono);
}

.icx-command-search {
  width: 100%;
  min-width: 0;
  padding: 5px 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
  color: var(--ink);
  font: 400 14px/1.6 var(--mono);
}

.icx-command-search:focus-visible {
  outline: 2px solid var(--rust);
  outline-offset: 5px;
}

.icx-command-search::placeholder {
  color: #77766b;
}

.icx-command-results {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px;
}

.icx-command-result {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 13px 14px;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.icx-command-result + .icx-command-result {
  margin-top: 2px;
}

.icx-command-result:hover,
.icx-command-result[aria-selected="true"] {
  border-color: rgba(181, 84, 50, .4);
  background: var(--paper-soft);
}

.icx-command-result-title {
  display: block;
  font: 700 19px/1.15 var(--display);
}

.icx-command-result-description {
  display: block;
  margin-top: 4px;
  color: #55554b;
  font: 400 10px/1.7 var(--mono);
}

.icx-command-result-type {
  color: var(--rust);
  font: 700 8px/1.5 var(--mono);
  letter-spacing: .07em;
  text-align: right;
}

.icx-command-empty {
  padding: 24px 14px;
  color: #55554b;
  font: 400 11px/1.9 var(--mono);
}

.icx-command-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 9px 18px;
  padding: 12px 20px;
  border-top: 1px solid rgba(20, 20, 15, .2);
  color: #55554b;
  font: 400 8px/1.7 var(--mono);
}

.icx-command-footer kbd {
  padding: 2px 4px;
  border: 1px solid rgba(20, 20, 15, .25);
  border-radius: 0;
  color: var(--ink);
}

/* Back-to-top control */
.icx-back-top {
  position: fixed;
  z-index: 900;
  right: 22px;
  bottom: 22px;
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gold);
  border-radius: 0;
  background: var(--ink);
  color: var(--paper);
  font: 700 19px/1 var(--mono);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition:
    opacity .2s,
    visibility .2s,
    transform .2s,
    background .2s,
    color .2s;
}

.icx-back-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.icx-back-top:hover {
  background: var(--signal);
  color: white;
}

@media (max-width: 760px) {
  .icx-command-trigger {
    width: 100%;
    justify-content: space-between;
    padding: 15px 0;
    border: 0;
    border-bottom: 1px solid rgba(245, 241, 232, .15);
    font: 700 25px/.95 var(--display);
    letter-spacing: 0;
  }

  .icx-command-trigger kbd {
    font: 500 8px/1.5 var(--mono);
  }

  .icx-command-heading,
  .icx-command-footer {
    padding-inline: 14px;
  }

  .icx-command-search-row {
    padding: 14px;
  }

  .icx-command-result {
    padding: 12px 8px;
  }

  .icx-command-result-title {
    font-size: 18px;
  }

  .icx-back-top {
    right: 14px;
    bottom: 14px;
    width: 42px;
    height: 42px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .icx-back-top,
  .icx-command-result,
  .icx-command-trigger {
    transition: none !important;
  }
}

/* ==========================================================
   ICX FRONTEND REFINEMENT / 2026-10-20
   Readability, responsive rhythm, touch targets and form polish.
   Existing editorial identity and square geometry preserved.
   ========================================================== */

:root {
  --icx-copy-max: 68ch;
  --icx-focus: #ff4405;
}

html {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: 14px;
  line-height: 1.75;
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
}

::selection {
  background: var(--gold);
  color: var(--ink);
}

button,
input,
select,
textarea {
  accent-color: var(--signal);
}

button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--icx-focus);
  outline-offset: 3px;
}

.topbar {
  min-height: 78px;
  gap: 22px;
  padding-inline: max(28px, calc((100vw - 1360px) / 2));
}

.brand {
  gap: 12px;
}

.brand img {
  flex-shrink: 0;
}

.nav-links {
  gap: clamp(16px, 2vw, 30px);
  font-size: 10px;
}

.nav-links > a:not(.nav-join) {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
}

.nav-join {
  min-height: 46px;
  padding: 12px 16px;
  white-space: nowrap;
}

.eyebrow,
.content-kicker,
.content-section-label {
  font-size: 10px;
  line-height: 1.7;
}

.hero-lede {
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.65;
}

.hero-body {
  font-size: 12px;
  line-height: 1.9;
}

.hero-footnote {
  font-size: 9px;
}

.field-map-head,
.map-footer {
  font-size: 9px;
  line-height: 1.65;
}

.map-node {
  min-height: 68px;
}

.map-node small {
  font-size: 7px;
  line-height: 1.5;
}

.map-insight span {
  font-size: 9px;
  line-height: 1.6;
}

.map-insight p {
  font-size: 12px;
  line-height: 1.8;
}

.signal-strip {
  font-size: 10px;
  padding-block: 14px;
}

.intro-columns p {
  font-size: 14px;
  line-height: 1.9;
}

.intro-columns .intro-strong {
  font-size: 17px;
  line-height: 1.75;
}

.principle-line span {
  font-size: 9px;
}

.principle-line strong {
  font-size: clamp(25px, 2.2vw, 31px);
  line-height: 1.2;
}

.heading-note {
  max-width: 360px;
  font-size: 13px;
  line-height: 1.8;
}

.field-toolbar > span {
  font-size: 9px;
}

.filter-button {
  min-height: 40px;
  padding: 10px 13px;
  font-size: 9px;
}

.filter-button small {
  font-size: 8px;
}

.field-card {
  min-height: 365px;
  padding: 24px;
}

.card-top {
  font-size: 8px;
  line-height: 1.65;
}

.card-symbol {
  width: 60px;
  height: 60px;
}

.field-card h3 {
  line-height: .98;
}

.field-card p {
  font-size: 12px;
  line-height: 1.85;
}

.card-tags span {
  font-size: 8px;
  line-height: 1.5;
  padding: 5px 7px;
}

.card-link {
  min-height: 36px;
  font-size: 9px;
  line-height: 1.7;
}

.field-results {
  font-size: 8px;
  line-height: 1.8;
}

.people-copy > p:not(.eyebrow),
.gather-copy > p:not(.eyebrow),
.faq-intro > p:not(.eyebrow),
.origin-content > p {
  font-size: 13px;
  line-height: 1.95;
}

.path-selector-head {
  font-size: 8px;
  line-height: 1.7;
}

.path-option {
  min-height: 58px;
}

.path-option > span,
.path-detail-top {
  font-size: 9px;
}

.path-option strong {
  font-size: 18px;
}

.path-detail p {
  font-size: 12px;
  line-height: 1.9;
}

.practice-item p,
.practice-note p,
.board-feature p,
.faq-list details p {
  font-size: 12px;
  line-height: 1.9;
}

.practice-num,
.practice-label,
.board-top,
.board-meta span,
.board-bottom,
.origin-days a > span {
  font-size: 8px;
  line-height: 1.7;
}

.practice-label {
  letter-spacing: .08em;
}

.gather-copy .small-note {
  font-size: 10px !important;
  line-height: 1.8;
}

.board-type {
  font-size: 8px;
}

.board-meta strong {
  font-size: 9px;
}

.origin-days strong {
  font-size: 24px;
}
.faq-list summary {
  padding-block: 22px;
  font-size: clamp(22px, 2vw, 27px);
  line-height: 1.2;
}

.final-cta .eyebrow {
  font-size: 10px;
}

.cta-inner > p:not(.eyebrow) {
  font-size: 14px;
  line-height: 1.9;
}

.cta-signoff {
  font-size: 9px;
  line-height: 1.8;
}

.footer-main > p {
  font-size: 11px;
  line-height: 1.85;
}

.footer-main nav {
  font-size: 9px;
  line-height: 1.8;
}

.footer-credit,
.footer-bottom {
  font-size: 8px;
  line-height: 1.8;
}

/* Secondary pages share the same reading rhythm and card finish. */
.content-lede {
  font-size: 15px;
  line-height: 1.9;
}

.content-copy p,
.content-split p,
.content-note,
.content-list-item p,
.content-card p,
.community-faq details p {
  font-size: 13px;
  line-height: 1.95;
}

.content-grid {
  gap: 1px;
}

.content-card {
  transition: background-color 180ms ease, transform 180ms ease;
}

.content-card:hover {
  background: #fffdf7;
}

.content-card-label, .content-status {
  font-size: 10px;
}

.content-card-link {
  min-height: 32px;
  align-items: center;
  font-size: 10px;
}

.content-section-title {
  text-wrap: balance;
}

/* Registration preview: make the form calmer, clearer and easier to use. */
.join-deck {
  font-size: 15px;
  line-height: 1.9;
}

.join-context > p:not(.join-overline),
.join-context-item p,
.join-form-intro {
  font-size: 13px;
  line-height: 1.9;
}

.join-overline,
.join-context-item > span,
.join-form-header,
.join-field > span,
.join-form-panel legend {
  font-size: 10px;
  line-height: 1.8;
}

.join-context-item h3 {
  font-size: 25px;
  line-height: 1.05;
}

.join-form-panel {
  box-shadow: 8px 8px 0 rgba(20, 20, 15, .06);
}

.join-form-header {
  align-items: center;
  gap: 20px;
}

.join-form-intro {
  max-width: 62ch;
}

.join-field {
  gap: 10px;
}

.join-field input,
.join-field select,
.join-field textarea {
  min-height: 50px;
  padding: 13px 14px;
  font-size: 14px;
  line-height: 1.6;
  transition: border-color 160ms ease, background-color 160ms ease;
}

.join-field textarea {
  min-height: 125px;
}

.join-field input:hover,
.join-field select:hover,
.join-field textarea:hover {
  border-color: rgba(20, 20, 15, .75);
}

.join-field input:focus,
.join-field select:focus,
.join-field textarea:focus {
  border-color: var(--rust);
  background: #fffdf7;
}

.join-interests legend small {
  font-size: 11px;
  line-height: 1.7;
}

.join-interest-option {
  min-height: 56px;
  align-items: center;
  padding: 13px 12px;
  font-size: 12px;
  line-height: 1.7;
  transition: background-color 160ms ease, border-color 160ms ease;
}

.join-interest-option:hover,
.join-interest-option:focus-within {
  background: rgba(216, 157, 78, .12);
}

.join-interest-option:has(input:checked) {
  background: rgba(216, 157, 78, .2);
  box-shadow: inset 3px 0 0 var(--rust);
}

.join-interest-option input,
.join-consent input {
  width: 16px;
  height: 16px;
}

.join-consent {
  font-size: 12px;
  line-height: 1.85;
}

.join-preview-note {
  font-size: 11px;
  line-height: 1.9;
}

.join-submit {
  min-height: 54px;
  font-size: 10px;
}

.join-form-status {
  font-size: 12px;
  line-height: 1.9;
}

.join-return a {
  font-size: 10px;
}

.button,
.filter-button,
.path-option,
.nav-join,
.card-link,
.join-submit {
  -webkit-tap-highlight-color: transparent;
}

.button:focus-visible,
.filter-button:focus-visible,
.path-option:focus-visible,
.nav-join:focus-visible,
.card-link:focus-visible,
.join-submit:focus-visible {
  outline-offset: 4px;
}

@media (max-width: 1100px) {
  .topbar {
    padding-inline: 24px;
  }

  .nav-links {
    gap: 13px;
    font-size: 9px;
  }

  .nav-join {
    gap: 10px;
    padding-inline: 12px;
  }

  .field-card {
    padding: 22px;
  }
}

@media (max-width: 760px) {
  body {
    font-size: 14px;
  }

  .topbar {
    min-height: 68px;
    padding-inline: 18px;
  }

  .nav-links {
    gap: 0;
    padding: 22px 22px 36px;
  }

  .nav-links > a:not(.nav-join) {
    min-height: 58px;
    font-size: 29px;
  }

  .nav-join {
    min-height: 54px;
    font-size: 10px;
  }

  .hero-layout {
    gap: 36px;
    padding-top: 65px;
  }

  .hero-body {
    font-size: 12px;
  }

  .field-map-head,
  .map-footer {
    font-size: 8px;
  }

  .map-node {
    min-height: 64px;
    padding: 8px 7px;
  }

  .map-node strong {
    font-size: 14px;
  }

  .map-node small {
    font-size: 6px;
  }

  .map-insight p {
    font-size: 12px;
  }

  .intro-columns p {
    font-size: 14px;
  }

  .filter-buttons {
    gap: 7px;
  }

  .filter-button {
    min-height: 42px;
    font-size: 9px;
  }

  .field-card {
    min-height: 320px;
    padding: 22px;
  }

  .field-card p {
    font-size: 13px;
  }

  .card-tags span {
    font-size: 8px;
  }

  .field-results {
    font-size: 8px;
    flex-wrap: wrap;
  }

  .practice-item p,
  .practice-note p,
  .board-feature p,
  .faq-list details p {
    font-size: 12px;
  }

  .faq-list summary {
    font-size: 23px;
  }

  .footer-bottom {
    font-size: 8px;
  }

  .content-hero {
    padding-top: 58px;
  }

  .content-title-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  .content-lede {
    font-size: 14px;
  }

  .content-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .content-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .content-card p,
  .content-copy p,
  .content-split p,
  .content-list-item p,
  .community-faq details p {
    font-size: 13px;
  }

  .join-form-panel {
    box-shadow: 5px 5px 0 rgba(20, 20, 15, .06);
  }

  .join-form-header {
    align-items: flex-start;
  }

  .join-form-header span {
    max-width: 62%;
  }

  .join-form-header span:last-child {
    max-width: 38%;
  }

  .join-field input,
  .join-field select,
  .join-field textarea {
    font-size: 16px;
  }

  .join-interest-option {
    min-height: 52px;
    font-size: 13px;
  }

  .join-consent {
    font-size: 12px;
  }

  .join-submit {
    min-height: 54px;
    justify-content: space-between;
    gap: 12px;
    font-size: 9px;
  }
}

@media (max-width: 420px) {
  .brand {
    gap: 8px;
  }

  .brand-name {
    font-size: 19px;
  }

  .hero-footnote {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .field-map-head {
    align-items: flex-start;
  }

  .field-toolbar > span {
    font-size: 8px;
  }

  .filter-button {
    padding-inline: 9px;
    font-size: 8px;
  }

  .join-form-header {
    gap: 10px;
    font-size: 8px;
  }

  .join-interest-option {
    padding-inline: 9px;
  }


}

@media (prefers-reduced-motion: reduce) {
  .content-card,
  .join-field input,
  .join-field select,
  .join-field textarea,
  .join-interest-option {
    transition: none !important;
  }
}

/* ==========================================================
   ICX COMMUNITY / NATURE × TECH WEEK VISUAL ALIGNMENT
   Shared display face: Barlow Condensed 800.
   Supporting interface face: JetBrains Mono.
   ========================================================== */

:root {
  --display: "Barlow Condensed", Impact, sans-serif;
  --mono: "JetBrains Mono", monospace;
}

/* Light paper navigation, including its sticky/scrolled state. */
.topbar,
.topbar.is-scrolled {
  background: var(--paper);
  color: var(--ink);
  border-bottom: 1px solid rgba(20, 20, 15, 0.16);
  box-shadow: 0 5px 22px rgba(20, 20, 15, 0.045);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.brand-name,
.footer-brand .brand-name {
  font-family: "Barlow Condensed", Impact, sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: 0.01em;
  font-stretch: condensed;
}

.brand-divider {
  background: rgba(20, 20, 15, 0.24);
}

.brand-tag {
  color: var(--ink);
}

.brand-tag small {
  color: var(--rust);
}

.nav-links > a:not(.nav-join) {
  color: var(--ink);
  opacity: 0.76;
}

.nav-links > a:not(.nav-join):hover,
.nav-links > a.active:not(.nav-join) {
  color: var(--rust);
  opacity: 1;
}

.nav-links > a:not(.nav-join)::after {
  background: var(--signal);
}

/* The mobile drawer follows the same paper surface, not charcoal. */
@media (max-width: 760px) {
  .nav-links,
  .nav-links.open {
    background: var(--paper);
    color: var(--ink);
    border-top: 1px solid rgba(20, 20, 15, 0.12);
    box-shadow: 0 18px 32px rgba(20, 20, 15, 0.08);
  }

  .nav-links > a:not(.nav-join) {
    color: var(--ink);
    border-bottom-color: rgba(20, 20, 15, 0.15);
  }

  .nav-links > a:not(.nav-join):hover,
  .nav-links > a.active:not(.nav-join) {
    color: var(--rust);
  }
}

/* Match the campaign's Barlow Condensed 800 headline treatment. */
.hero h1,
.intro-main h2,
.section-heading h2,
.people-copy h2,
.gather-copy h2,
.faq-intro h2,
.origin-title h2,
.cta-inner h2,
.join-hero h1,
.content-title {
  font-family: "Barlow Condensed", Impact, sans-serif;
  font-weight: 800;
  font-stretch: condensed;
  letter-spacing: -0.03em;
  text-transform: uppercase;
}

.hero h1,
.cta-inner h2 {
  line-height: 0.82;
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.hero h1 em,
.cta-inner h2 em {
  letter-spacing: -0.03em;
  line-height: 0.82;
}

.hero h1 {
  margin-top: 28px;
  margin-bottom: 32px;
}

.hero h1 em {
  margin-top: 8px;
}

/* Keep section and card headings consistent in weight and rhythm. */
.section-heading h2,
.people-copy h2,
.gather-copy h2,
.faq-intro h2,
.origin-title h2,
.intro-main h2 {
  line-height: 0.84;
  letter-spacing: -0.03em;
}

/* Light nav also needs a high-contrast keyboard search control. */
.icx-command-trigger {
  color: var(--ink);
  border-color: rgba(20, 20, 15, 0.28);
}

.icx-command-trigger:hover {
  color: var(--rust);
  border-color: var(--rust);
}

.icx-command-trigger kbd {
  border-color: rgba(20, 20, 15, 0.2);
  color: var(--rust);
}

/* ==========================================================
   ICX COMMUNITY / FOOTER CTA ORBIT MOTION
   Slow orbital movement; keep the centre mark visually still.
   Reduced-motion visitors are covered by the existing global
   prefers-reduced-motion rules above.
   ========================================================== */
.cta-orbit {
  transform-origin: 50% 50%;
  animation: icx-cta-orbit-clockwise 120s linear infinite;
}

.cta-orbit::before {
  animation: icx-cta-inner-counter-76 76s linear infinite;
}

.cta-orbit::after {
  animation: icx-cta-inner-counter-88 88s linear infinite;
}

.cta-orbit img {
  transform-origin: 50% 50%;
  animation: icx-cta-logo-counterspin 120s linear infinite;
}

@keyframes icx-cta-orbit-clockwise {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes icx-cta-logo-counterspin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}

@keyframes icx-cta-inner-counter-76 {
  from { transform: rotate(36deg) scaleX(.58); }
  to   { transform: rotate(-324deg) scaleX(.58); }
}

@keyframes icx-cta-inner-counter-88 {
  from { transform: rotate(-36deg) scaleX(.58); }
  to   { transform: rotate(-396deg) scaleX(.58); }
}

/* ICX-FIELD-MAP-ORBIT-LOGO-V3
   Exact ImperialX orbit symbol, transparent, centred in the gap between
   the two dashed field-map curves. Footer orbit is intentionally untouched. */
.map-orbit-mark {
  position: absolute;
  left: 50%;
  top: 47.6%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  z-index: 3;
  pointer-events: none;
}
.map-orbit-mark img {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: contain;
  background: transparent;
  border: 0;
  border-radius: 0;
}
@media (max-width: 760px) {
  .map-orbit-mark { width: 46px; height: 46px; }
  .map-orbit-mark img { width: 44px; height: 44px; }
}

@media (max-width: 760px) {

}

/* ==========================================================
   ICX-ORBIT-ALIGNMENT-V12
   Scope: footer orbit dot alignment + exact field-map logo only.
   ========================================================== */

/* The three dot centres follow the centreline of the circular border.
   The existing 120-second rotation carries them around the fixed circle. */
.final-cta .cta-orbit > span {
  position: absolute;
  width: 8px;
  height: 8px;
  transform: translate(-50%, -50%);
}

/* Top point: centre of the dot sits on the 1px outer border's centreline. */
.final-cta .cta-orbit > span:nth-of-type(1) {
  left: 50%;
  top: -0.5px;
}

/* Lower-left point (225 degrees from 12 o'clock). */
.final-cta .cta-orbit > span:nth-of-type(2) {
  left: calc(14.64466094% - 0.3536px);
  top: calc(85.35533906% + 0.3536px);
}

/* Lower-right point (135 degrees from 12 o'clock). */
.final-cta .cta-orbit > span:nth-of-type(3) {
  left: calc(85.35533906% + 0.3536px);
  top: calc(85.35533906% + 0.3536px);
}

/* Exact original footer logo asset in the field map; no transparent variant.
   Circular cream backing and existing agreed position are preserved. */
.field-map-art .map-orbit-mark {
  position: absolute;
  left: 50% !important;
  top: 47.5% !important;
  transform: translate(-50%, -50%) !important;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: #fff9ea;
  border: 1px solid rgba(216, 157, 78, 0.8);
  border-radius: 50%;
  box-shadow: 0 0 0 10px rgba(245, 241, 232, 0.04),
              0 0 0 22px rgba(245, 241, 232, 0.025);
  z-index: 3;
  pointer-events: none;
}

.field-map-art .map-orbit-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

@media (max-width: 760px) {
  .field-map-art .map-orbit-mark {
    width: 48px;
    height: 48px;
    top: 47.5% !important;
  }
  .field-map-art .map-orbit-mark img {
    width: 100%;
    height: 100%;
  }
}

/* ==========================================================
   ICX-HOMEPAGE-PERSPECTIVE-SELECTOR-REFINEMENT-V1
   Refine ONLY the homepage perspective selector.
   Existing HTML, JavaScript, wording and page structure remain.
   ========================================================== */

.people-section .path-selector {
  border: 1px solid rgba(20, 20, 15, .30);
  background: var(--paper);
}

.people-section .path-selector-head {
  min-height: 46px;
  padding: 14px 17px;
  gap: 18px;
  background: var(--paper2);
  border-bottom: 1px solid rgba(20, 20, 15, .18);
  font-size: 8px;
  line-height: 1.55;
  letter-spacing: .11em;
}

.people-section .path-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  background: var(--paper);
}

.people-section .path-options > .path-option {
  position: relative;
  min-width: 0;
  min-height: 62px;
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 9px;
  padding: 17px 15px;
  border: 0;
  border-bottom: 1px solid rgba(20, 20, 15, .16);
  border-radius: 0;
  text-align: left;
  background: var(--paper);
  color: var(--ink);
  transition: background-color .18s ease, color .18s ease;
}

.people-section .path-options > .path-option:nth-child(odd) {
  border-right: 1px solid rgba(20, 20, 15, .16);
}

.people-section .path-options > .path-option:last-child {
  grid-column: 1 / -1;
  border-right: 0;
  border-bottom: 0;
}

.people-section .path-options > .path-option > span {
  font: 700 8px/1.2 var(--mono);
  letter-spacing: .06em;
  color: var(--rust);
}

.people-section .path-options > .path-option strong {
  min-width: 0;
  font: 800 clamp(16px, 1.35vw, 19px)/.98 var(--display);
  letter-spacing: .005em;
  overflow-wrap: anywhere;
}

.people-section .path-options > .path-option > i {
  justify-self: end;
  font-size: 13px;
  line-height: 1;
  font-style: normal;
  color: var(--rust);
  transition: transform .18s ease, color .18s ease;
}

/* Quiet hover state: keep the squared editorial treatment. */
.people-section .path-options > .path-option:not(.active):hover {
  background: var(--paper2);
  color: var(--ink);
}

.people-section .path-options > .path-option:not(.active):hover > i {
  transform: translate(2px, -2px);
  color: var(--signal);
}

/* Clearly identify the selected perspective. */
.people-section .path-options > .path-option.active,
.people-section .path-options > .path-option.active:hover {
  background: var(--green);
  color: var(--paper);
  box-shadow: inset 4px 0 0 var(--signal);
}

.people-section .path-options > .path-option.active > span,
.people-section .path-options > .path-option.active > i {
  color: var(--gold);
}

.people-section .path-options > .path-option:focus-visible {
  z-index: 2;
  outline: 2px solid var(--signal);
  outline-offset: -3px;
}

/* The selected-perspective detail panel. */
.people-section .path-detail {
  min-height: 258px;
  padding: clamp(22px, 2.1vw, 30px);
  background: var(--paper2);
  border-top: 1px solid rgba(20, 20, 15, .18);
}

.people-section .path-detail-top {
  align-items: center;
  gap: 15px;
  font-size: 8px;
  line-height: 1.6;
  letter-spacing: .12em;
}

.people-section .path-spark {
  flex: 0 0 auto;
  color: var(--rust);
  font-size: 18px;
  line-height: 1;
}

.people-section .path-detail h3 {
  max-width: 480px;
  margin: 25px 0 15px;
  font: 800 clamp(36px, 3.4vw, 51px)/.9 var(--display);
  letter-spacing: -.015em;
  text-wrap: balance;
}

.people-section .path-detail p {
  max-width: 560px;
  margin: 0 0 21px;
  color: var(--inksoft);
  font-size: 11px;
  line-height: 1.9;
}

.people-section .path-detail .text-action {
  min-height: 30px;
  align-items: center;
  gap: 17px;
  font-size: 8px;
  line-height: 1.5;
}

.people-section .path-detail .text-action:hover {
  gap: 23px;
}

@media (max-width: 760px) {
  .people-section .path-selector-head {
    padding: 13px 12px;
    gap: 12px;
  }

  .people-section .path-options > .path-option {
    min-height: 58px;
    grid-template-columns: 24px minmax(0, 1fr) 14px;
    gap: 8px;
    padding: 15px 11px;
  }

  .people-section .path-detail {
    min-height: 0;
    padding: 21px 19px 23px;
  }

  .people-section .path-detail h3 {
    font-size: clamp(36px, 8vw, 48px);
  }
}

@media (max-width: 520px) {
  .people-section .path-selector-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .people-section .path-options {
    grid-template-columns: minmax(0, 1fr);
  }

  .people-section .path-options > .path-option,
  .people-section .path-options > .path-option:nth-child(odd),
  .people-section .path-options > .path-option:last-child {
    grid-column: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(20, 20, 15, .16);
  }

  .people-section .path-options > .path-option:last-child {
    border-bottom: 0;
  }

  .people-section .path-options > .path-option strong {
    font-size: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .people-section .path-options > .path-option,
  .people-section .path-options > .path-option > i {
    transition: none;
  }
}

/* ICX-ORBIT-REFINEMENT-V2
   Unified center, balanced orbital geometry and aligned satellites. */

.icx-orbit-stage {
  position: relative !important;
  isolation: isolate;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  width: 100%;
  min-width: 0;
  overflow: visible !important;
  contain: layout style;
}

.icx-orbit-stage--hero {
  max-width: 720px;
  margin-inline: auto;
}

.icx-orbit-stage .icx-orbit-aura {
  position: absolute !important;
  inset: 12% !important;
  border-radius: 50% !important;
  pointer-events: none;
}

.icx-orbit-stage .icx-orbit-track {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  box-sizing: border-box !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  transform-origin: center center !important;
  overflow: visible !important;
  will-change: transform;
}

/* Four distinct orbital planes share exactly the same center. */
.icx-orbit-stage .icx-orbit-track--one {
  width: 94% !important;
  height: 43% !important;
  transform: translate(-50%, -50%) rotate(-26deg) !important;
  animation: icx-orbit-v2-one 44s linear infinite !important;
}

.icx-orbit-stage .icx-orbit-track--two {
  width: 78% !important;
  height: 68% !important;
  transform: translate(-50%, -50%) rotate(37deg) !important;
  animation: icx-orbit-v2-two 57s linear infinite !important;
}

.icx-orbit-stage .icx-orbit-track--three {
  width: 59% !important;
  height: 94% !important;
  transform: translate(-50%, -50%) rotate(71deg) !important;
  animation: icx-orbit-v2-three 39s linear infinite !important;
}

.icx-orbit-stage .icx-orbit-track--four {
  width: 74% !important;
  height: 86% !important;
  transform: translate(-50%, -50%) rotate(-54deg) !important;
  animation: icx-orbit-v2-four 76s linear infinite !important;
}

.icx-orbit-stage .icx-orbit-satellite {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  box-sizing: border-box !important;
  transform: translate(-50%, -50%) !important;
  border-radius: 50% !important;
}

/* The satellite is anchored to the actual orbital perimeter, not a
   percentage that can drift between ellipse sizes. */
.icx-orbit-stage .icx-orbit-track--two .icx-orbit-satellite {
  top: 100% !important;
  left: 50% !important;
  bottom: auto !important;
}

.icx-orbit-stage .icx-orbit-track--three .icx-orbit-satellite {
  top: 0 !important;
  left: 50% !important;
}

.icx-orbit-stage .icx-orbit-track--four .icx-orbit-satellite {
  top: 100% !important;
  left: 50% !important;
  bottom: auto !important;
}

/* A precise, centered brand medallion. */
.icx-orbit-stage .icx-orbit-core {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: clamp(110px, 13vw, 166px) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  overflow: visible !important;
  text-align: center !important;
}

.icx-orbit-stage .icx-orbit-core::before {
  inset: -9px !important;
  border-radius: 50% !important;
  pointer-events: none;
}

.icx-orbit-stage .icx-orbit-core::after {
  inset: -18px !important;
  border-radius: 50% !important;
  pointer-events: none;
}

.icx-orbit-stage .icx-orbit-core img {
  display: block !important;
  flex: 0 0 auto !important;
  width: 42% !important;
  max-width: 76px !important;
  height: auto !important;
  max-height: 46% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.icx-orbit-stage .icx-orbit-core > span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  letter-spacing: .19em !important;
}

/* Keep annotations inside the stage and away from the orbital paths. */
.icx-orbit-stage .icx-orbit-label,
.icx-orbit-stage .icx-orbit-coordinate {
  z-index: 6 !important;
  max-width: 30%;
  white-space: nowrap;
  pointer-events: none;
}

.icx-orbit-stage .icx-orbit-label--north {
  top: 2% !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

.icx-orbit-stage .icx-orbit-label--west {
  top: 50% !important;
  left: 1% !important;
  right: auto !important;
  transform: translateY(-50%) !important;
}

.icx-orbit-stage .icx-orbit-label--east {
  top: 50% !important;
  right: 1% !important;
  left: auto !important;
  transform: translateY(-50%) !important;
}

.icx-orbit-stage .icx-orbit-coordinate--left {
  left: 5% !important;
  bottom: 3% !important;
}

.icx-orbit-stage .icx-orbit-coordinate--right {
  right: 5% !important;
  bottom: 3% !important;
}

@keyframes icx-orbit-v2-one {
  from { transform: translate(-50%, -50%) rotate(-26deg); }
  to   { transform: translate(-50%, -50%) rotate(334deg); }
}

@keyframes icx-orbit-v2-two {
  from { transform: translate(-50%, -50%) rotate(37deg); }
  to   { transform: translate(-50%, -50%) rotate(397deg); }
}

@keyframes icx-orbit-v2-three {
  from { transform: translate(-50%, -50%) rotate(71deg); }
  to   { transform: translate(-50%, -50%) rotate(431deg); }
}

@keyframes icx-orbit-v2-four {
  from { transform: translate(-50%, -50%) rotate(-54deg); }
  to   { transform: translate(-50%, -50%) rotate(306deg); }
}

/* Footer orbit is intentionally larger, quieter and partially cropped. */
.site-footer .icx-orbit-stage--footer {
  position: absolute !important;
  top: -135px !important;
  right: -110px !important;
  bottom: auto !important;
  left: auto !important;
  width: clamp(350px, 42vw, 610px) !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  opacity: .42;
  pointer-events: none;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core {
  width: clamp(78px, 8vw, 112px) !important;
}

@media (max-width: 760px) {
  .icx-orbit-stage--hero {
    width: min(94vw, 560px) !important;
    margin-inline: auto !important;
  }

  .icx-orbit-stage .icx-orbit-core {
    width: clamp(94px, 23vw, 132px) !important;
  }

  .icx-orbit-stage .icx-orbit-label,
  .icx-orbit-stage .icx-orbit-coordinate {
    font-size: 6px !important;
    letter-spacing: .08em !important;
  }

  .icx-orbit-stage .icx-orbit-label--west {
    left: 0 !important;
  }

  .icx-orbit-stage .icx-orbit-label--east {
    right: 0 !important;
  }

  .site-footer .icx-orbit-stage--footer {
    top: -95px !important;
    right: -200px !important;
    width: 410px !important;
    opacity: .28;
  }
}

@media (max-width: 400px) {
  .icx-orbit-stage .icx-orbit-label--west,
  .icx-orbit-stage .icx-orbit-label--east {
    display: none !important;
  }

  .icx-orbit-stage .icx-orbit-coordinate {
    font-size: 5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .icx-orbit-stage .icx-orbit-track {
    animation: none !important;
    will-change: auto !important;
  }

  .icx-orbit-stage .icx-orbit-track--one {
    transform: translate(-50%, -50%) rotate(-26deg) !important;
  }

  .icx-orbit-stage .icx-orbit-track--two {
    transform: translate(-50%, -50%) rotate(37deg) !important;
  }

  .icx-orbit-stage .icx-orbit-track--three {
    transform: translate(-50%, -50%) rotate(71deg) !important;
  }

  .icx-orbit-stage .icx-orbit-track--four {
    transform: translate(-50%, -50%) rotate(-54deg) !important;
  }

  .icx-orbit-stage .icx-orbit-aura {
    animation: none !important;
  }
}

/* END ICX-ORBIT-REFINEMENT-V2 */

/* ICX-ORBIT-MOTION-V4
   Static orbital planes; satellites travel around the paths.
   All rings and the brand core share one geometric center. */

.icx-orbit-stage {
  position: relative !important;
  isolation: isolate !important;
  display: block !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  contain: layout style;
}

.icx-orbit-stage--hero {
  width: 100% !important;
  max-width: 650px !important;
  margin-inline: auto !important;
}

/* Hide the tiny peripheral captions for a cleaner composition. */
.icx-orbit-stage .icx-orbit-label,
.icx-orbit-stage .icx-orbit-coordinate {
  display: none !important;
}

/* Soft depth behind the orbit system. */
.icx-orbit-stage .icx-orbit-aura {
  position: absolute !important;
  inset: 14% !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle,
    rgba(216,157,78,.12) 0%,
    rgba(22,77,72,.08) 42%,
    transparent 73%
  ) !important;
  pointer-events: none !important;
  animation: icx-motion-glow-v4 11s ease-in-out infinite alternate !important;
}

/* The orbit outlines are STATIC. Only their satellites move. */
.icx-orbit-stage .icx-orbit-track {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-radius: 50% !important;
  overflow: visible !important;
  transform-origin: center center !important;
  animation: none !important;
  will-change: auto !important;
  box-shadow: none !important;
}

/* Inner orbit: circular and precise. */
.icx-orbit-stage .icx-orbit-track--one {
  display: block !important;
  width: 64% !important;
  height: 64% !important;
  border: 1px solid rgba(216,157,78,.65) !important;
  border-style: solid !important;
  transform: translate(-50%,-50%) rotate(0deg) !important;
}

/* Middle orbit: subtle inclination. */
.icx-orbit-stage .icx-orbit-track--two {
  display: block !important;
  width: 82% !important;
  height: 56% !important;
  border: 1px solid rgba(245,241,232,.23) !important;
  border-style: solid !important;
  transform: translate(-50%,-50%) rotate(-24deg) !important;
}

/* Outer orbit: larger, warm-toned and slightly inclined the other way. */
.icx-orbit-stage .icx-orbit-track--three {
  display: block !important;
  width: 94% !important;
  height: 72% !important;
  border: 1px solid rgba(255,68,5,.32) !important;
  border-style: solid !important;
  transform: translate(-50%,-50%) rotate(20deg) !important;
}

/* Keep the former fourth orbit out of the composition. */
.icx-orbit-stage .icx-orbit-track--four {
  display: none !important;
  animation: none !important;
}

/* Satellite motion: each dot independently follows its own ellipse.
   The track itself stays still, avoiding the spinning-outline effect. */
.icx-orbit-stage .icx-orbit-satellite {
  position: absolute !important;
  inset: auto !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(20,20,15,.4) !important;
  border-radius: 50% !important;

  offset-anchor: center !important;
  offset-rotate: 0deg !important;
  offset-distance: 0% !important;
  offset-path: ellipse(50% 50% at 50% 50%) !important;
  transform: none !important;
  animation: icx-satellite-one-v4 19s linear infinite !important;
  will-change: offset-distance;
}

/* A visible amber satellite on the inner circular orbit. */
.icx-orbit-stage .icx-orbit-track--one .icx-orbit-satellite {
  width: 8px !important;
  height: 8px !important;
  background: #dfa34e !important;
  box-shadow: 0 0 0 4px rgba(223,163,78,.12) !important;
  animation: icx-satellite-one-v4 19s linear infinite !important;
}

/* A pale satellite follows the middle orbit. */
.icx-orbit-stage .icx-orbit-track--two .icx-orbit-satellite {
  width: 7px !important;
  height: 7px !important;
  background: #f5f1e8 !important;
  box-shadow: 0 0 0 4px rgba(245,241,232,.09) !important;
  animation: icx-satellite-two-v4 27s linear infinite !important;
}

/* Imperial orange marks the outer orbit. */
.icx-orbit-stage .icx-orbit-track--three .icx-orbit-satellite {
  width: 7px !important;
  height: 7px !important;
  background: #ff4405 !important;
  box-shadow: 0 0 0 4px rgba(255,68,5,.10) !important;
  animation: icx-satellite-three-v4 35s linear infinite !important;
}

/* Perfectly centered core. */
.icx-orbit-stage .icx-orbit-core {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: clamp(108px,25%,154px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(223,163,78,.8) !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle at 50% 42%,
    #204b45 0%,
    #173d38 56%,
    #142e2b 100%
  ) !important;
  box-shadow:
    0 0 0 7px rgba(223,163,78,.045),
    0 0 0 14px rgba(245,241,232,.035) !important;
  transform: translate(-50%,-50%) !important;
  text-align: center !important;
  overflow: visible !important;
}

.icx-orbit-stage .icx-orbit-core::before {
  inset: -8px !important;
  border: 1px solid rgba(223,163,78,.24) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

.icx-orbit-stage .icx-orbit-core::after {
  inset: -15px !important;
  border: 1px solid rgba(245,241,232,.10) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

.icx-orbit-stage .icx-orbit-core img {
  display: block !important;
  flex: 0 0 auto !important;
  width: 30% !important;
  max-width: 44px !important;
  max-height: 34% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
}

.icx-orbit-stage .icx-orbit-core > span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f5f1e8 !important;
  font-size: 7px !important;
  line-height: 1.4 !important;
  letter-spacing: .18em !important;
  text-align: center !important;
  white-space: nowrap !important;
}

@keyframes icx-satellite-one-v4 {
  from { offset-distance: 0%; }
  to   { offset-distance: 100%; }
}

@keyframes icx-satellite-two-v4 {
  from { offset-distance: 100%; }
  to   { offset-distance: 0%; }
}

@keyframes icx-satellite-three-v4 {
  from { offset-distance: 17%; }
  to   { offset-distance: 117%; }
}

@keyframes icx-motion-glow-v4 {
  from { opacity: .65; }
  to   { opacity: 1; }
}

/* If CSS motion paths are unavailable, retain orbiting motion by rotating
   each ellipse as a graceful fallback. */
@supports not (offset-path: ellipse(50% 50% at 50% 50%)) {
  .icx-orbit-stage .icx-orbit-track--one {
    animation: icx-fallback-one-v4 44s linear infinite !important;
  }

  .icx-orbit-stage .icx-orbit-track--two {
    animation: icx-fallback-two-v4 58s linear infinite !important;
  }

  .icx-orbit-stage .icx-orbit-track--three {
    animation: icx-fallback-three-v4 72s linear infinite !important;
  }

  .icx-orbit-stage .icx-orbit-satellite {
    animation: none !important;
  }
}

@keyframes icx-fallback-one-v4 {
  from { transform: translate(-50%,-50%) rotate(0deg); }
  to   { transform: translate(-50%,-50%) rotate(360deg); }
}

@keyframes icx-fallback-two-v4 {
  from { transform: translate(-50%,-50%) rotate(-24deg); }
  to   { transform: translate(-50%,-50%) rotate(336deg); }
}

@keyframes icx-fallback-three-v4 {
  from { transform: translate(-50%,-50%) rotate(20deg); }
  to   { transform: translate(-50%,-50%) rotate(380deg); }
}

/* Footer: same orbital language, lower contrast and partly cropped. */
.site-footer .icx-orbit-stage--footer {
  position: absolute !important;
  top: -95px !important;
  right: -150px !important;
  bottom: auto !important;
  left: auto !important;
  width: clamp(330px,38vw,520px) !important;
  max-width: none !important;
  margin: 0 !important;
  opacity: .23 !important;
  pointer-events: none !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core {
  width: clamp(76px,15%,102px) !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core img {
  width: 29% !important;
  max-width: 30px !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core > span {
  font-size: 5px !important;
}

@media (max-width: 760px) {
  .icx-orbit-stage--hero {
    width: min(92vw,560px) !important;
    margin-inline: auto !important;
  }

  .icx-orbit-stage .icx-orbit-core {
    width: clamp(96px,25%,134px) !important;
  }

  .icx-orbit-stage .icx-orbit-track--one {
    width: 65% !important;
    height: 65% !important;
  }

  .icx-orbit-stage .icx-orbit-track--two {
    width: 82% !important;
    height: 57% !important;
  }

  .icx-orbit-stage .icx-orbit-track--three {
    width: 92% !important;
    height: 74% !important;
  }

  .site-footer .icx-orbit-stage--footer {
    top: -72px !important;
    right: -210px !important;
    width: 390px !important;
    opacity: .18 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .icx-orbit-stage .icx-orbit-track,
  .icx-orbit-stage .icx-orbit-satellite,
  .icx-orbit-stage .icx-orbit-aura {
    animation: none !important;
    will-change: auto !important;
  }

  .icx-orbit-stage .icx-orbit-track--one {
    transform: translate(-50%,-50%) rotate(0deg) !important;
  }

  .icx-orbit-stage .icx-orbit-track--two {
    transform: translate(-50%,-50%) rotate(-24deg) !important;
  }

  .icx-orbit-stage .icx-orbit-track--three {
    transform: translate(-50%,-50%) rotate(20deg) !important;
  }
}

/* END ICX-ORBIT-MOTION-V4 */

/* ICX-MASSIVE-ORBITS-LANDING-ONLY-V1 */
.hero::before { content: none !important; }

.hero-layout {
  width: min(100% - 72px, 1450px) !important;
  grid-template-columns: minmax(0, .92fr) minmax(390px, 1.08fr) !important;
  gap: clamp(26px, 4.2vw, 76px) !important;
  align-items: center !important;
  padding-top: clamp(48px, 5.5vw, 86px) !important;
  padding-bottom: clamp(60px, 6.5vw, 100px) !important;
}
.hero-copy { position: relative; z-index: 4; }
.hero h1 { text-wrap: balance; }
.hero-actions { gap: 16px 24px; }
.hero-scroll { z-index: 5; }

.icx-orbit-stage {
  position: relative;
  isolation: isolate;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  min-width: 0;
  overflow: visible;
  pointer-events: none;
}
.icx-orbit-aura {
  position: absolute;
  inset: 13%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(216,157,78,.16) 0%,
    rgba(22,77,72,.12) 34%,
    transparent 72%
  );
  filter: blur(7px);
  animation: icx-orbit-breathe 9s ease-in-out infinite alternate;
}
.icx-orbit-track {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  border: 1px solid rgba(245,241,232,.27);
  border-radius: 50%;
  box-sizing: border-box;
  transform-origin: center;
  will-change: transform;
}
.icx-orbit-track--one {
  width: 100%;
  height: 43%;
  margin: -21.5% 0 0 -50%;
  border-color: rgba(216,157,78,.55);
  animation: icx-orbit-turn-one 43s linear infinite;
}
.icx-orbit-track--two {
  width: 83%;
  height: 68%;
  margin: -34% 0 0 -41.5%;
  border-color: rgba(245,241,232,.25);
  animation: icx-orbit-turn-two 57s linear infinite;
}
.icx-orbit-track--three {
  width: 59%;
  height: 100%;
  margin: -50% 0 0 -29.5%;
  border-color: rgba(255,68,5,.52);
  animation: icx-orbit-turn-three 36s linear infinite;
}
.icx-orbit-track--four {
  width: 74%;
  height: 89%;
  margin: -44.5% 0 0 -37%;
  border-style: dashed;
  border-color: rgba(245,241,232,.16);
  animation: icx-orbit-turn-four 79s linear infinite;
}
.icx-orbit-satellite {
  position: absolute;
  top: -5px;
  left: 50%;
  width: 10px;
  height: 10px;
  border: 2px solid var(--green, #164d48);
  border-radius: 50%;
  background: var(--gold, #d89d4e);
  box-shadow: 0 0 0 7px rgba(216,157,78,.1),
              0 0 22px rgba(216,157,78,.5);
  transform: translateX(-50%);
}
.icx-orbit-track--two .icx-orbit-satellite {
  width: 7px;
  height: 7px;
  top: auto;
  bottom: 8%;
  background: var(--signal, #ff4405);
  box-shadow: 0 0 0 7px rgba(255,68,5,.1),
              0 0 22px rgba(255,68,5,.45);
}
.icx-orbit-track--three .icx-orbit-satellite {
  width: 6px;
  height: 6px;
  top: 18%;
  background: var(--paper, #f5f1e8);
  box-shadow: 0 0 0 6px rgba(245,241,232,.08);
}
.icx-orbit-track--four .icx-orbit-satellite {
  top: auto;
  bottom: 23%;
  width: 5px;
  height: 5px;
  background: #7eb2a1;
  border-color: #7eb2a1;
  box-shadow: 0 0 0 6px rgba(126,178,161,.1);
}
.icx-orbit-core {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: clamp(102px, 10.5vw, 150px);
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(216,157,78,.62);
  border-radius: 50%;
  background: radial-gradient(
    circle at 48% 38%,
    rgba(43,91,82,.98),
    rgba(20,20,15,.98) 72%
  );
  box-shadow: 0 0 0 12px rgba(216,157,78,.035),
              0 0 70px rgba(216,157,78,.12),
              inset 0 0 24px rgba(216,157,78,.1);
  transform: translate(-50%, -50%);
}
.icx-orbit-core::before,
.icx-orbit-core::after {
  content: "";
  position: absolute;
  inset: -10px;
  border: 1px solid rgba(245,241,232,.16);
  border-radius: 50%;
}
.icx-orbit-core::after {
  inset: -20px;
  border-color: rgba(255,68,5,.17);
}
.icx-orbit-core img {
  display: block;
  width: 36%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(216,157,78,.2));
}
.icx-orbit-core > span {
  color: var(--paper, #f5f1e8);
  font: 800 8px/1 var(--mono, "JetBrains Mono", monospace);
  letter-spacing: .19em;
}
.icx-orbit-label,
.icx-orbit-coordinate {
  position: absolute;
  z-index: 4;
  color: rgba(245,241,232,.54);
  font: 700 7px/1.5 var(--mono, "JetBrains Mono", monospace);
  letter-spacing: .13em;
  white-space: nowrap;
}
.icx-orbit-label--north {
  top: 5%;
  left: 50%;
  color: var(--gold, #d89d4e);
  transform: translateX(-50%);
}
.icx-orbit-label--west {
  top: 44%;
  left: -2%;
  transform: rotate(-90deg);
  transform-origin: left center;
}
.icx-orbit-label--east {
  top: 49%;
  right: -3%;
  transform: rotate(90deg);
  transform-origin: right center;
}
.icx-orbit-coordinate--left { left: 15%; bottom: 8%; }
.icx-orbit-coordinate--right {
  right: 11%;
  bottom: 14%;
  color: rgba(216,157,78,.75);
}

@keyframes icx-orbit-turn-one {
  from { transform: rotate(-26deg); }
  to { transform: rotate(334deg); }
}
@keyframes icx-orbit-turn-two {
  from { transform: rotate(37deg); }
  to { transform: rotate(397deg); }
}
@keyframes icx-orbit-turn-three {
  from { transform: rotate(71deg); }
  to { transform: rotate(431deg); }
}
@keyframes icx-orbit-turn-four {
  from { transform: rotate(-54deg); }
  to { transform: rotate(306deg); }
}
@keyframes icx-orbit-breathe {
  from { opacity: .55; transform: scale(.94); }
  to { opacity: 1; transform: scale(1.04); }
}

.site-footer  {
  position: relative;
  z-index: 1;
  isolation: isolate;
  overflow: hidden;
  min-height: 315px;
  padding: 54px 0 0 !important;
  background: var(--ink, #14140f) !important;

}
.site-footer .icx-orbit-stage--footer {
  position: absolute;
  z-index: 0;
  top: -155px;
  right: -40px;
  width: clamp(350px, 43vw, 650px);
  opacity: .38;
  pointer-events: none;
}
.icx-orbit-stage--footer .icx-orbit-track {
  border-color: rgba(216,157,78,.3);
}
.icx-orbit-stage--footer .icx-orbit-track--two {
  border-color: rgba(245,241,232,.2);
}
.icx-orbit-stage--footer .icx-orbit-track--three {
  border-color: rgba(255,68,5,.35);
}
.icx-orbit-stage--footer .icx-orbit-track--four {
  border-color: rgba(245,241,232,.14);
}
.icx-orbit-stage--footer .icx-orbit-core {
  width: clamp(76px, 8vw, 110px);
  background: radial-gradient(
    circle at 48% 38%,
    rgba(43,91,82,.72),
    rgba(20,20,15,.9) 72%
  );
}
.icx-orbit-stage--footer .icx-orbit-core > span { font-size: 6px; }

.footer-main,
.footer-bottom {
  position: relative;
  z-index: 2;
  width: min(100% - 72px, 1360px) !important;
}
.footer-main {
  grid-template-columns:
    minmax(150px,1.1fr)
    minmax(170px,1fr)
    minmax(160px,1fr)
    minmax(170px,auto) !important;
  gap: 24px !important;
  align-items: start !important;
  padding-bottom: 47px !important;
}
.footer-main > p { max-width: 225px; }
.footer-main nav {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px !important;
  line-height: 1.5;
}
.footer-main nav a,
.footer-credit { position: relative; }
.footer-main nav a:hover,
.footer-credit:hover {
  color: var(--signal, #ff4405) !important;
}
.footer-credit {
  white-space: normal !important;
  line-height: 1.7;
}
.footer-bottom {
  gap: 18px !important;
  border-color: rgba(245,241,232,.16) !important;
  padding: 18px 0 20px !important;
}

@media (max-width: 1100px) {
  .hero-layout {
    width: min(100% - 52px, 1000px) !important;
    grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr) !important;
    gap: 24px !important;
  }
  .icx-orbit-label--west { left: 0; }
  .icx-orbit-label--east { right: 0; }
  .footer-main,
  .footer-bottom {
    width: min(100% - 52px, 1000px) !important;
  }
  .footer-main { grid-template-columns: 1fr 1fr !important; }
  .footer-credit { align-self: start; }
}
@media (max-width: 760px) {
  .hero { min-height: 0 !important; }
  .hero-layout {
    width: min(100% - 38px, 620px) !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 23px !important;
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }
  .hero h1 { font-size: clamp(65px, 13.5vw, 100px) !important; }
  .hero-footnote { margin-top: 35px !important; }
  .icx-orbit-stage--hero {
    width: min(92vw, 560px);
    margin: -2px auto 0;
  }
  .icx-orbit-label { font-size: 6px; }
  .icx-orbit-label--west { left: -1%; }
  .icx-orbit-label--east { right: -1%; }
  .icx-orbit-coordinate { font-size: 6px; }
  .hero-scroll { display: none !important; }
  .site-footer { padding-top: 42px !important; }
  .site-footer .icx-orbit-stage--footer {
    width: 430px;
    top: -105px;
    right: -210px;
    opacity: .3;
  }
  .footer-main,
  .footer-bottom {
    width: min(100% - 38px, 620px) !important;
  }
  .footer-main {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 28px 18px !important;
  }
  .footer-main > p { align-self: center; }
  .footer-credit {
    grid-column: 1 / -1;
    max-width: 230px;
  }
  .footer-bottom { flex-wrap: wrap; line-height: 1.6; }
}
@media (max-width: 460px) {
  .hero-actions {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 17px !important;
  }
  .hero-footnote {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .icx-orbit-stage--hero { width: min(94vw, 430px); }
  .icx-orbit-core { width: 92px; }
  .icx-orbit-label--north { top: 1%; }
  .footer-main { grid-template-columns: minmax(0,1fr) !important; }
  .footer-main > p { align-self: auto; }
  .footer-credit { grid-column: auto; }
  .footer-bottom {
    display: grid !important;
    grid-template-columns: 1fr auto;
    gap: 12px !important;
  }
  .footer-bottom span:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}
@media (prefers-reduced-motion: reduce) {
  .icx-orbit-track,
  .icx-orbit-aura,
  .hero-grid {
    animation: none !important;
    will-change: auto !important;
  }
  .icx-orbit-track--one { transform: rotate(-26deg); }
  .icx-orbit-track--two { transform: rotate(37deg); }
  .icx-orbit-track--three { transform: rotate(71deg); }
  .icx-orbit-track--four { transform: rotate(-54deg); }
}
/* END ICX-MASSIVE-ORBITS-LANDING-ONLY-V1 */

/* ICX-FOOTER-ORBIT-RESTORE-V1: hero layout after removing hero orbit. */
.hero-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}

.hero .icx-orbit-stage--hero {
  display: none !important;
}

/* END ICX-FOOTER-ORBIT-RESTORE-V1 */

/* ==========================================================
   ICX-FOOTER-ORBIT-REDESIGN-V2
   High-precision 4-track gyroscopic footer orbit with expanded
   accent palette. Strictly scoped to .site-footer orbit only.
   ========================================================== */

.site-footer {
  position: relative !important;
  overflow: hidden !important;
  min-height: 360px !important;
}

.site-footer .icx-orbit-stage--footer {
  position: absolute !important;
  z-index: 1 !important;
  top: 50% !important;
  right: max(24px, calc((100vw - 1360px) / 2 - 40px)) !important;
  bottom: auto !important;
  left: auto !important;
  width: clamp(340px, 36vw, 490px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  transform: translateY(-48%) !important;
  opacity: 0.88 !important;
  overflow: visible !important;
  pointer-events: none !important;
}

/* Multi-layered ambient aura behind the footer orbit */
.site-footer .icx-orbit-stage--footer .icx-orbit-aura {
  position: absolute !important;
  inset: 8% !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle at 50% 50%,
    rgba(216, 157, 78, 0.18) 0%,
    rgba(46, 196, 146, 0.11) 36%,
    rgba(255, 68, 5, 0.07) 58%,
    transparent 76%
  ) !important;
  filter: blur(14px) !important;
  animation: icx-footer-aura-pulse 8s ease-in-out infinite alternate !important;
}

/* Shared geometry for all 4 orbital planes */
.site-footer .icx-orbit-stage--footer .icx-orbit-track {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  transform-origin: 50% 50% !important;
  overflow: visible !important;
}

/* Track 1: Inner Imperial Gold Plane */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--one {
  display: block !important;
  width: 58% !important;
  height: 58% !important;
  border: 1px solid rgba(216, 157, 78, 0.62) !important;
  box-shadow: inset 0 0 18px rgba(216, 157, 78, 0.08) !important;
  transform: translate(-50%, -50%) rotate(-18deg) !important;
  animation: icx-plane-sway-one 18s ease-in-out infinite alternate !important;
}

/* Track 2: Mid Signal Orange Tilted Ellipse */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--two {
  display: block !important;
  width: 82% !important;
  height: 50% !important;
  border: 1px solid rgba(255, 68, 5, 0.48) !important;
  transform: translate(-50%, -50%) rotate(32deg) !important;
  animation: icx-plane-sway-two 22s ease-in-out infinite alternate !important;
}

/* Track 3: Steep Botanical Emerald Ellipse */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three {
  display: block !important;
  width: 88% !important;
  height: 54% !important;
  border: 1px solid rgba(46, 196, 146, 0.46) !important;
  transform: translate(-50%, -50%) rotate(-54deg) !important;
  animation: icx-plane-sway-three 26s ease-in-out infinite alternate !important;
}

/* Track 4: Outer Dashed Telemetry Ring (Restored) */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--four {
  display: block !important;
  width: 96% !important;
  height: 76% !important;
  border: 1px dashed rgba(108, 212, 200, 0.34) !important;
  transform: translate(-50%, -50%) rotate(68deg) !important;
  animation: icx-plane-sway-four 32s ease-in-out infinite alternate !important;
}

/* Satellites: True perimeter motion along each ellipse */
.site-footer .icx-orbit-stage--footer .icx-orbit-satellite {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  offset-anchor: center !important;
  offset-rotate: 0deg !important;
  offset-path: ellipse(50% 50% at 50% 50%) !important;
  transform: none !important;
  will-change: offset-distance !important;
}

/* Satellite 1: Gold */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--one .icx-orbit-satellite {
  width: 9px !important;
  height: 9px !important;
  background: #f3b659 !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 0 4px rgba(216, 157, 78, 0.22), 0 0 16px rgba(216, 157, 78, 0.85) !important;
  animation: icx-sat-prograde 14s linear infinite !important;
}

/* Satellite 2: Signal Orange */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--two .icx-orbit-satellite {
  width: 8px !important;
  height: 8px !important;
  background: #ff4405 !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 0 4px rgba(255, 68, 5, 0.22), 0 0 18px rgba(255, 68, 5, 0.9) !important;
  animation: icx-sat-retrograde 21s linear infinite !important;
}

/* Satellite 3: Botanical Emerald */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three .icx-orbit-satellite {
  width: 8px !important;
  height: 8px !important;
  background: #2ec492 !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 0 4px rgba(46, 196, 146, 0.2), 0 0 16px rgba(46, 196, 146, 0.8) !important;
  animation: icx-sat-prograde 28s linear infinite !important;
}

/* Satellite 4: Telemetry Cyan-Cream */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--four .icx-orbit-satellite {
  width: 7px !important;
  height: 7px !important;
  background: #8be8dd !important;
  border: 1px solid #14140f !important;
  box-shadow: 0 0 0 4px rgba(139, 232, 221, 0.16), 0 0 14px rgba(139, 232, 221, 0.75) !important;
  animation: icx-sat-retrograde 36s linear infinite !important;
}

/* Center Brand Medallion */
.site-footer .icx-orbit-stage--footer .icx-orbit-core {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;
  left: 50% !important;
  width: clamp(88px, 9vw, 118px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 1px solid rgba(216, 157, 78, 0.88) !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle at 50% 38%,
    #21544d 0%,
    #163834 58%,
    #111816 100%
  ) !important;
  box-shadow:
    0 0 0 7px rgba(216, 157, 78, 0.08),
    0 0 0 15px rgba(46, 196, 146, 0.05),
    0 12px 38px rgba(0, 0, 0, 0.55) !important;
  transform: translate(-50%, -50%) !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core::before {
  content: "" !important;
  position: absolute !important;
  inset: -8px !important;
  border: 1px solid rgba(216, 157, 78, 0.34) !important;
  border-radius: 50% !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core::after {
  content: "" !important;
  position: absolute !important;
  inset: -16px !important;
  border: 1px dashed rgba(255, 68, 5, 0.28) !important;
  border-radius: 50% !important;
  animation: icx-core-ring-spin 40s linear infinite !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core img {
  display: block !important;
  width: 36% !important;
  max-width: 40px !important;
  height: auto !important;
  border-radius: 50% !important;
  filter: drop-shadow(0 0 10px rgba(216, 157, 78, 0.35)) !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core > span {
  color: #f5f1e8 !important;
  font: 800 6.5px/1 var(--mono) !important;
  letter-spacing: 0.2em !important;
}

/* Keyframes */
@keyframes icx-sat-prograde {
  from { offset-distance: 0%; }
  to   { offset-distance: 100%; }
}

@keyframes icx-sat-retrograde {
  from { offset-distance: 100%; }
  to   { offset-distance: 0%; }
}

@keyframes icx-plane-sway-one {
  from { transform: translate(-50%, -50%) rotate(-18deg) scale(0.99); }
  to   { transform: translate(-50%, -50%) rotate(-12deg) scale(1.01); }
}

@keyframes icx-plane-sway-two {
  from { transform: translate(-50%, -50%) rotate(29deg); }
  to   { transform: translate(-50%, -50%) rotate(36deg); }
}

@keyframes icx-plane-sway-three {
  from { transform: translate(-50%, -50%) rotate(-57deg); }
  to   { transform: translate(-50%, -50%) rotate(-50deg); }
}

@keyframes icx-plane-sway-four {
  from { transform: translate(-50%, -50%) rotate(65deg); }
  to   { transform: translate(-50%, -50%) rotate(72deg); }
}

@keyframes icx-core-ring-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes icx-footer-aura-pulse {
  from { opacity: 0.65; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1.05); }
}

@media (max-width: 1100px) {
  .site-footer .icx-orbit-stage--footer {
    right: -60px !important;
    width: 390px !important;
    opacity: 0.52 !important;
  }
}

@media (max-width: 760px) {
  .site-footer .icx-orbit-stage--footer {
    top: auto !important;
    bottom: -90px !important;
    right: -110px !important;
    width: 340px !important;
    transform: none !important;
    opacity: 0.38 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer .icx-orbit-stage--footer .icx-orbit-track,
  .site-footer .icx-orbit-stage--footer .icx-orbit-satellite,
  .site-footer .icx-orbit-stage--footer .icx-orbit-aura,
  .site-footer .icx-orbit-stage--footer .icx-orbit-core::after {
    animation: none !important;
  }
}

/* ==========================================================
   ICX-FOOTER-ORBIT-REDESIGN-V2
   High-precision 4-track gyroscopic footer orbit with expanded
   accent palette. Strictly scoped to .site-footer orbit only.
   ========================================================== */

.site-footer {
  position: relative !important;
  overflow: hidden !important;
  min-height: 360px !important;
}

.site-footer .icx-orbit-stage--footer {
  position: absolute !important;
  z-index: 1 !important;
  top: 50% !important;
  right: max(24px, calc((100vw - 1360px) / 2 - 40px)) !important;
  bottom: auto !important;
  left: auto !important;
  width: clamp(340px, 36vw, 490px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  transform: translateY(-48%) !important;
  opacity: 0.88 !important;
  overflow: visible !important;
  pointer-events: none !important;
}

/* Multi-layered ambient aura behind the footer orbit */
.site-footer .icx-orbit-stage--footer .icx-orbit-aura {
  position: absolute !important;
  inset: 8% !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle at 50% 50%,
    rgba(216, 157, 78, 0.18) 0%,
    rgba(46, 196, 146, 0.11) 36%,
    rgba(255, 68, 5, 0.07) 58%,
    transparent 76%
  ) !important;
  filter: blur(14px) !important;
  animation: icx-footer-aura-pulse 8s ease-in-out infinite alternate !important;
}

/* Shared geometry for all 4 orbital planes */
.site-footer .icx-orbit-stage--footer .icx-orbit-track {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  transform-origin: 50% 50% !important;
  overflow: visible !important;
}

/* Track 1: Inner Imperial Gold Plane */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--one {
  display: block !important;
  width: 58% !important;
  height: 58% !important;
  border: 1px solid rgba(216, 157, 78, 0.62) !important;
  box-shadow: inset 0 0 18px rgba(216, 157, 78, 0.08) !important;
  transform: translate(-50%, -50%) rotate(-18deg) !important;
  animation: icx-plane-sway-one 18s ease-in-out infinite alternate !important;
}

/* Track 2: Mid Signal Orange Tilted Ellipse */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--two {
  display: block !important;
  width: 82% !important;
  height: 50% !important;
  border: 1px solid rgba(255, 68, 5, 0.48) !important;
  transform: translate(-50%, -50%) rotate(32deg) !important;
  animation: icx-plane-sway-two 22s ease-in-out infinite alternate !important;
}

/* Track 3: Steep Botanical Emerald Ellipse */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three {
  display: block !important;
  width: 88% !important;
  height: 54% !important;
  border: 1px solid rgba(46, 196, 146, 0.46) !important;
  transform: translate(-50%, -50%) rotate(-54deg) !important;
  animation: icx-plane-sway-three 26s ease-in-out infinite alternate !important;
}

/* Track 4: Outer Dashed Telemetry Ring (Restored) */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--four {
  display: block !important;
  width: 96% !important;
  height: 76% !important;
  border: 1px dashed rgba(108, 212, 200, 0.34) !important;
  transform: translate(-50%, -50%) rotate(68deg) !important;
  animation: icx-plane-sway-four 32s ease-in-out infinite alternate !important;
}

/* Satellites: True perimeter motion along each ellipse */
.site-footer .icx-orbit-stage--footer .icx-orbit-satellite {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  offset-anchor: center !important;
  offset-rotate: 0deg !important;
  offset-path: ellipse(50% 50% at 50% 50%) !important;
  transform: none !important;
  will-change: offset-distance !important;
}

/* Satellite 1: Gold */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--one .icx-orbit-satellite {
  width: 9px !important;
  height: 9px !important;
  background: #f3b659 !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 0 4px rgba(216, 157, 78, 0.22), 0 0 16px rgba(216, 157, 78, 0.85) !important;
  animation: icx-sat-prograde 14s linear infinite !important;
}

/* Satellite 2: Signal Orange */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--two .icx-orbit-satellite {
  width: 8px !important;
  height: 8px !important;
  background: #ff4405 !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 0 4px rgba(255, 68, 5, 0.22), 0 0 18px rgba(255, 68, 5, 0.9) !important;
  animation: icx-sat-retrograde 21s linear infinite !important;
}

/* Satellite 3: Botanical Emerald */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three .icx-orbit-satellite {
  width: 8px !important;
  height: 8px !important;
  background: #2ec492 !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 0 4px rgba(46, 196, 146, 0.2), 0 0 16px rgba(46, 196, 146, 0.8) !important;
  animation: icx-sat-prograde 28s linear infinite !important;
}

/* Satellite 4: Telemetry Cyan-Cream */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--four .icx-orbit-satellite {
  width: 7px !important;
  height: 7px !important;
  background: #8be8dd !important;
  border: 1px solid #14140f !important;
  box-shadow: 0 0 0 4px rgba(139, 232, 221, 0.16), 0 0 14px rgba(139, 232, 221, 0.75) !important;
  animation: icx-sat-retrograde 36s linear infinite !important;
}

/* Center Brand Medallion */
.site-footer .icx-orbit-stage--footer .icx-orbit-core {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;
  left: 50% !important;
  width: clamp(88px, 9vw, 118px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 1px solid rgba(216, 157, 78, 0.88) !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle at 50% 38%,
    #21544d 0%,
    #163834 58%,
    #111816 100%
  ) !important;
  box-shadow:
    0 0 0 7px rgba(216, 157, 78, 0.08),
    0 0 0 15px rgba(46, 196, 146, 0.05),
    0 12px 38px rgba(0, 0, 0, 0.55) !important;
  transform: translate(-50%, -50%) !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core::before {
  content: "" !important;
  position: absolute !important;
  inset: -8px !important;
  border: 1px solid rgba(216, 157, 78, 0.34) !important;
  border-radius: 50% !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core::after {
  content: "" !important;
  position: absolute !important;
  inset: -16px !important;
  border: 1px dashed rgba(255, 68, 5, 0.28) !important;
  border-radius: 50% !important;
  animation: icx-core-ring-spin 40s linear infinite !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core img {
  display: block !important;
  width: 36% !important;
  max-width: 40px !important;
  height: auto !important;
  border-radius: 50% !important;
  filter: drop-shadow(0 0 10px rgba(216, 157, 78, 0.35)) !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core > span {
  color: #f5f1e8 !important;
  font: 800 6.5px/1 var(--mono) !important;
  letter-spacing: 0.2em !important;
}

/* Keyframes */
@keyframes icx-sat-prograde {
  from { offset-distance: 0%; }
  to   { offset-distance: 100%; }
}

@keyframes icx-sat-retrograde {
  from { offset-distance: 100%; }
  to   { offset-distance: 0%; }
}

@keyframes icx-plane-sway-one {
  from { transform: translate(-50%, -50%) rotate(-18deg) scale(0.99); }
  to   { transform: translate(-50%, -50%) rotate(-12deg) scale(1.01); }
}

@keyframes icx-plane-sway-two {
  from { transform: translate(-50%, -50%) rotate(29deg); }
  to   { transform: translate(-50%, -50%) rotate(36deg); }
}

@keyframes icx-plane-sway-three {
  from { transform: translate(-50%, -50%) rotate(-57deg); }
  to   { transform: translate(-50%, -50%) rotate(-50deg); }
}

@keyframes icx-plane-sway-four {
  from { transform: translate(-50%, -50%) rotate(65deg); }
  to   { transform: translate(-50%, -50%) rotate(72deg); }
}

@keyframes icx-core-ring-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes icx-footer-aura-pulse {
  from { opacity: 0.65; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1.05); }
}

@media (max-width: 1100px) {
  .site-footer .icx-orbit-stage--footer {
    right: -60px !important;
    width: 390px !important;
    opacity: 0.52 !important;
  }
}

@media (max-width: 760px) {
  .site-footer .icx-orbit-stage--footer {
    top: auto !important;
    bottom: -90px !important;
    right: -110px !important;
    width: 340px !important;
    transform: none !important;
    opacity: 0.38 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer .icx-orbit-stage--footer .icx-orbit-track,
  .site-footer .icx-orbit-stage--footer .icx-orbit-satellite,
  .site-footer .icx-orbit-stage--footer .icx-orbit-aura,
  .site-footer .icx-orbit-stage--footer .icx-orbit-core::after {
    animation: none !important;
  }
}

/* ==========================================================
   ICX-SIMPLE-CLEAN-ORBIT-V3
   Minimal concentric circular orbit with clean centered logo
   and zero text overlap in the footer.
   ========================================================== */

.site-footer {
  position: relative !important;
  overflow: hidden !important;
  padding: 64px 0 0 !important;
  background: var(--ink, #14140f) !important;
}

/* Dedicated centered stage above footer links — zero text collision */
.site-footer .icx-orbit-stage--footer {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 260px !important;
  height: 260px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 auto 56px !important;
  transform: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: none !important;
}

/* Subtle ambient glow behind the logo */
.site-footer .icx-orbit-stage--footer .icx-orbit-aura {
  position: absolute !important;
  inset: 15% !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle,
    rgba(216, 157, 78, 0.16) 0%,
    rgba(30, 74, 70, 0.12) 48%,
    transparent 72%
  ) !important;
  filter: blur(10px) !important;
  animation: none !important;
}

/* Concentric circular tracks */
.site-footer .icx-orbit-stage--footer .icx-orbit-track {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  transform-origin: center center !important;
  box-shadow: none !important;
}

/* Ring 1: Inner Gold Circle */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--one {
  display: block !important;
  width: 52% !important;
  height: 52% !important;
  border: 1px solid rgba(216, 157, 78, 0.45) !important;
  animation: icx-clean-spin-cw 18s linear infinite !important;
}

/* Ring 2: Middle Cream Circle */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--two {
  display: block !important;
  width: 76% !important;
  height: 76% !important;
  border: 1px solid rgba(245, 241, 232, 0.22) !important;
  animation: icx-clean-spin-ccw 28s linear infinite !important;
}

/* Ring 3: Outer Dashed Botanical Circle */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 1px dashed rgba(78, 123, 105, 0.55) !important;
  animation: icx-clean-spin-cw 40s linear infinite !important;
}

/* Hide unused 4th ring */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--four {
  display: none !important;
}

/* Satellites locked to the top-center of each circular ring */
.site-footer .icx-orbit-stage--footer .icx-orbit-satellite {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  offset-path: none !important;
  transform: translate(-50%, -50%) !important;
  animation: none !important;
}

/* Dot 1: Gold */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--one .icx-orbit-satellite {
  width: 8px !important;
  height: 8px !important;
  background: var(--gold, #d89d4e) !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 10px rgba(216, 157, 78, 0.8) !important;
}

/* Dot 2: Signal Orange */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--two .icx-orbit-satellite {
  width: 8px !important;
  height: 8px !important;
  background: var(--signal, #ff4405) !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 10px rgba(255, 68, 5, 0.8) !important;
}

/* Dot 3: Cream */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three .icx-orbit-satellite {
  width: 7px !important;
  height: 7px !important;
  background: var(--cream, #f1e0bd) !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 8px rgba(241, 224, 189, 0.65) !important;
}

/* Clean Logo in the Middle — No bloated circle or text */
.site-footer .icx-orbit-stage--footer .icx-orbit-core {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;
  left: 50% !important;
  width: 64px !important;
  height: 64px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: var(--paper, #f5f1e8) !important;
  border: 1.5px solid var(--gold, #d89d4e) !important;
  box-shadow: 0 0 0 8px rgba(216, 157, 78, 0.08), 0 8px 24px rgba(0, 0, 0, 0.45) !important;
  transform: translate(-50%, -50%) !important;
  display: grid !important;
  place-items: center !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core::before,
.site-footer .icx-orbit-stage--footer .icx-orbit-core::after,
.site-footer .icx-orbit-stage--footer .icx-orbit-core > span {
  display: none !important;
  content: none !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  filter: none !important;
}

@keyframes icx-clean-spin-cw {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes icx-clean-spin-ccw {
  from { transform: translate(-50%, -50%) rotate(360deg); }
  to   { transform: translate(-50%, -50%) rotate(0deg); }
}

@media (max-width: 760px) {
  .site-footer .icx-orbit-stage--footer {
    width: 210px !important;
    height: 210px !important;
    margin: 0 auto 42px !important;
  }

  .site-footer .icx-orbit-stage--footer .icx-orbit-core {
    width: 52px !important;
    height: 52px !important;
  }
}

/* ==========================================================
   ICX-SIMPLE-CLEAN-ORBIT-V3
   Minimal concentric circular orbit with clean centered logo
   and zero text overlap in the footer.
   ========================================================== */

.site-footer {
  position: relative !important;
  overflow: hidden !important;
  padding: 64px 0 0 !important;
  background: var(--ink, #14140f) !important;
}

/* Dedicated centered stage above footer links — zero text collision */
.site-footer .icx-orbit-stage--footer {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 260px !important;
  height: 260px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 auto 56px !important;
  transform: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: none !important;
}

/* Subtle ambient glow behind the logo */
.site-footer .icx-orbit-stage--footer .icx-orbit-aura {
  position: absolute !important;
  inset: 15% !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle,
    rgba(216, 157, 78, 0.16) 0%,
    rgba(30, 74, 70, 0.12) 48%,
    transparent 72%
  ) !important;
  filter: blur(10px) !important;
  animation: none !important;
}

/* Concentric circular tracks */
.site-footer .icx-orbit-stage--footer .icx-orbit-track {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  transform-origin: center center !important;
  box-shadow: none !important;
}

/* Ring 1: Inner Gold Circle */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--one {
  display: block !important;
  width: 52% !important;
  height: 52% !important;
  border: 1px solid rgba(216, 157, 78, 0.45) !important;
  animation: icx-clean-spin-cw 18s linear infinite !important;
}

/* Ring 2: Middle Cream Circle */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--two {
  display: block !important;
  width: 76% !important;
  height: 76% !important;
  border: 1px solid rgba(245, 241, 232, 0.22) !important;
  animation: icx-clean-spin-ccw 28s linear infinite !important;
}

/* Ring 3: Outer Dashed Botanical Circle */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 1px dashed rgba(78, 123, 105, 0.55) !important;
  animation: icx-clean-spin-cw 40s linear infinite !important;
}

/* Hide unused 4th ring */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--four {
  display: none !important;
}

/* Satellites locked to the top-center of each circular ring */
.site-footer .icx-orbit-stage--footer .icx-orbit-satellite {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  offset-path: none !important;
  transform: translate(-50%, -50%) !important;
  animation: none !important;
}

/* Dot 1: Gold */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--one .icx-orbit-satellite {
  width: 8px !important;
  height: 8px !important;
  background: var(--gold, #d89d4e) !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 10px rgba(216, 157, 78, 0.8) !important;
}

/* Dot 2: Signal Orange */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--two .icx-orbit-satellite {
  width: 8px !important;
  height: 8px !important;
  background: var(--signal, #ff4405) !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 10px rgba(255, 68, 5, 0.8) !important;
}

/* Dot 3: Cream */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three .icx-orbit-satellite {
  width: 7px !important;
  height: 7px !important;
  background: var(--cream, #f1e0bd) !important;
  border: 1.5px solid #14140f !important;
  box-shadow: 0 0 8px rgba(241, 224, 189, 0.65) !important;
}

/* Clean Logo in the Middle — No bloated circle or text */
.site-footer .icx-orbit-stage--footer .icx-orbit-core {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;
  left: 50% !important;
  width: 64px !important;
  height: 64px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: var(--paper, #f5f1e8) !important;
  border: 1.5px solid var(--gold, #d89d4e) !important;
  box-shadow: 0 0 0 8px rgba(216, 157, 78, 0.08), 0 8px 24px rgba(0, 0, 0, 0.45) !important;
  transform: translate(-50%, -50%) !important;
  display: grid !important;
  place-items: center !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core::before,
.site-footer .icx-orbit-stage--footer .icx-orbit-core::after,
.site-footer .icx-orbit-stage--footer .icx-orbit-core > span {
  display: none !important;
  content: none !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  filter: none !important;
}

@keyframes icx-clean-spin-cw {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes icx-clean-spin-ccw {
  from { transform: translate(-50%, -50%) rotate(360deg); }
  to   { transform: translate(-50%, -50%) rotate(0deg); }
}

@media (max-width: 760px) {
  .site-footer .icx-orbit-stage--footer {
    width: 210px !important;
    height: 210px !important;
    margin: 0 auto 42px !important;
  }

  .site-footer .icx-orbit-stage--footer .icx-orbit-core {
    width: 52px !important;
    height: 52px !important;
  }
}

/* ==========================================================
   ICX-SINGLE-OUTER-RING-ORBIT-V4
   Clean single outer circular orbit track with single satellite
   and centered logo medallion.
   ========================================================== */

.site-footer {
  position: relative !important;
  overflow: hidden !important;
  padding: 64px 0 0 !important;
  background: var(--ink, #14140f) !important;
}

.site-footer .icx-orbit-stage--footer {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 240px !important;
  height: 240px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 auto 52px !important;
  transform: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: none !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-aura {
  position: absolute !important;
  inset: 12% !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle,
    rgba(216, 157, 78, 0.14) 0%,
    rgba(30, 74, 70, 0.1) 45%,
    transparent 70%
  ) !important;
  filter: blur(12px) !important;
  animation: none !important;
}

/* Hide unused inner tracks */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--one,
.site-footer .icx-orbit-stage--footer .icx-orbit-track--two,
.site-footer .icx-orbit-stage--footer .icx-orbit-track--four {
  display: none !important;
}

/* Keep ONLY the outer track as a smooth circular ring */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three {
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 90% !important;
  height: 90% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(216, 157, 78, 0.45) !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  transform-origin: center center !important;
  animation: icx-single-spin-cw 32s linear infinite !important;
}

/* Satellite dot on the outer ring */
.site-footer .icx-orbit-stage--footer .icx-orbit-track--three .icx-orbit-satellite {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--gold, #d89d4e) !important;
  border: 1.5px solid #14140f !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  box-shadow: 0 0 12px rgba(216, 157, 78, 0.85) !important;
}

/* Centered Logo Badge */
.site-footer .icx-orbit-stage--footer .icx-orbit-core {
  position: absolute !important;
  z-index: 5 !important;
  top: 50% !important;
  left: 50% !important;
  width: 64px !important;
  height: 64px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: var(--paper, #f5f1e8) !important;
  border: 1.5px solid var(--gold, #d89d4e) !important;
  box-shadow: 0 0 0 8px rgba(216, 157, 78, 0.08), 0 8px 24px rgba(0, 0, 0, 0.45) !important;
  transform: translate(-50%, -50%) !important;
  display: grid !important;
  place-items: center !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core::before,
.site-footer .icx-orbit-stage--footer .icx-orbit-core::after,
.site-footer .icx-orbit-stage--footer .icx-orbit-core > span {
  display: none !important;
  content: none !important;
}

.site-footer .icx-orbit-stage--footer .icx-orbit-core img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  filter: none !important;
}

@keyframes icx-single-spin-cw {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

@media (max-width: 760px) {
  .site-footer .icx-orbit-stage--footer {
    width: 200px !important;
    height: 200px !important;
    margin: 0 auto 38px !important;
  }

  .site-footer .icx-orbit-stage--footer .icx-orbit-core {
    width: 52px !important;
    height: 52px !important;
  }
}

/* ICX-REFERENCE-CTA-ORBIT-FOOTER-V1:BEGIN */

/* Preserve the original footer position and V1 dimensions.
   Only the orbit's internal visual system is being replaced. */
.site-footer .icx-current-footer-orbit {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 240px !important;
  height: auto !important;
  max-width: calc(100vw - 40px) !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 auto 52px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  border: 1px solid rgba(216, 157, 78, .3) !important;
  border-radius: 50% !important;
  opacity: .67 !important;
  pointer-events: none !important;
  transform-origin: 50% 50% !important;
  animation: icx-cta-orbit-clockwise 120s linear infinite !important;
}

.site-footer .icx-current-footer-orbit::before,
.site-footer .icx-current-footer-orbit::after {
  content: "" !important;
  position: absolute !important;
  inset: 12% !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(245, 241, 232, .2) !important;
  border-radius: 50% !important;
  transform-origin: 50% 50% !important;
}

.site-footer .icx-current-footer-orbit::before {
  animation: icx-cta-inner-counter-76 76s linear infinite !important;
}

.site-footer .icx-current-footer-orbit::after {
  animation: icx-cta-inner-counter-88 88s linear infinite !important;
}

/* Three reference satellites; their centres align with the outer ring. */
.site-footer .icx-current-footer-orbit > span {
  position: absolute !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 50% !important;
  transform: translate(-50%, -50%) !important;
  box-shadow: 0 0 0 9px rgba(216, 157, 78, .1) !important;
}

.site-footer .icx-current-footer-orbit > span:nth-of-type(1) {
  left: 50% !important;
  top: -0.5px !important;
  background: var(--gold, #d89d4e) !important;
}

.site-footer .icx-current-footer-orbit > span:nth-of-type(2) {
  left: calc(14.64466094% - 0.3536px) !important;
  top: calc(85.35533906% + 0.3536px) !important;
  background: var(--signal, #ff4405) !important;
  box-shadow: 0 0 0 9px rgba(255, 68, 5, .1) !important;
}

.site-footer .icx-current-footer-orbit > span:nth-of-type(3) {
  left: calc(85.35533906% + 0.3536px) !important;
  top: calc(85.35533906% + 0.3536px) !important;
  background: var(--cream, #f1e0bd) !important;
  box-shadow: 0 0 0 9px rgba(241, 224, 189, .1) !important;
}

/* Exact original logo asset; counter-rotation keeps the symbol upright. */
.site-footer .icx-current-footer-orbit > img {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  max-width: 62px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  transform-origin: 50% 50% !important;
  animation: icx-cta-logo-counterspin 120s linear infinite !important;
}

/* Reference motion: one outer revolution, two slower inner ellipses. */
@keyframes icx-cta-orbit-clockwise {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes icx-cta-logo-counterspin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}

@keyframes icx-cta-inner-counter-76 {
  from { transform: rotate(36deg) scaleX(.58); }
  to   { transform: rotate(-324deg) scaleX(.58); }
}

@keyframes icx-cta-inner-counter-88 {
  from { transform: rotate(-36deg) scaleX(.58); }
  to   { transform: rotate(-396deg) scaleX(.58); }
}

/* Preserve the existing mobile footer footprint. */
@media (max-width: 760px) {
  .site-footer .icx-current-footer-orbit {
    width: 200px !important;
    max-width: calc(100vw - 40px) !important;
    margin: 0 auto 38px !important;
  }

  .site-footer .icx-current-footer-orbit > img {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
  }
}

/* END ICX-REFERENCE-CTA-ORBIT-FOOTER-V1:END */

/* ICX-ONLY-ORANGE-ORBIT-DOT-V1:BEGIN */

/* Hide the first and third satellites only. */
.site-footer .icx-current-footer-orbit > span:nth-of-type(1),
.site-footer .icx-current-footer-orbit > span:nth-of-type(3) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Keep the existing orange satellite visible and in its current position. */
.site-footer .icx-current-footer-orbit > span:nth-of-type(2) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #ff4405 !important;
}

/* END ICX-ONLY-ORANGE-ORBIT-DOT-V1:END */

/* ICX-ROUND-LOGOS-EVERYWHERE-V1:BEGIN */

/* Apply one consistent circular crop to every displayed ImperialX logo.
   Covers navbar, footer, orbit core and any other use of this logo asset. */
img[src*="orbit-x.png"] {
  display: block;
  border-radius: 50% !important;
  object-fit: cover !important;
  overflow: hidden;
}

/* ICX-ROUND-LOGOS-EVERYWHERE-V1:END */

/* ICX-BUSINESS-HERO-REFINEMENT-V1:BEGIN */

/* Reduce only the existing hero headline; preserve its font and colour. */
.hero-copy h1 {
  font-size: clamp(2.7rem, 5.3vw, 6.1rem) !important;
  max-width: 100%;
}

/* Shared corporate CTA treatment: Swiss blue, soft corners, restrained motion. */
.hero-copy a.icx-service-primary,
.hero-copy a.icx-service-secondary {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 46px;
  padding: 13px 17px !important;
  border: 1px solid #0A5DC2 !important;
  border-radius: 13px !important;
  font-family: var(--mono, "JetBrains Mono", monospace) !important;
  font-size: 8px !important;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .045em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition:
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease,
    transform .22s ease;
}

.hero-copy a.icx-service-primary {
  min-width: 236px;
  background: #0A5DC2 !important;
  color: #fff !important;
}

.hero-copy a.icx-service-secondary {
  min-width: 210px;
  background: transparent !important;
  color: var(--paper, #f5f1e8) !important;
}

.hero-copy .icx-service-cta-label {
  display: inline-block;
}

.hero-copy .icx-service-cta-arrow {
  flex: 0 0 auto;
  margin-left: auto;
  font-size: 12px;
  line-height: 1;
  transition: transform .22s ease;
}

.hero-copy a.icx-service-primary:hover,
.hero-copy a.icx-service-secondary:hover {
  transform: translateY(-2px);
  background: #084da3 !important;
  border-color: #084da3 !important;
  color: #fff !important;
}

.hero-copy a.icx-service-primary:hover .icx-service-cta-arrow,
.hero-copy a.icx-service-secondary:hover .icx-service-cta-arrow {
  transform: translateX(2px);
}

.hero-copy a.icx-service-primary:focus-visible,
.hero-copy a.icx-service-secondary:focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px #0A5DC2 !important;
}

@media (max-width: 760px) {
  .hero-copy h1 {
    font-size: clamp(2.15rem, 7.8vw, 3.6rem) !important;
  }

  .hero-copy a.icx-service-primary,
  .hero-copy a.icx-service-secondary {
    max-width: 100%;
    min-width: 0;
    padding: 12px 14px !important;
    gap: 12px;
  }
}

@media (max-width: 380px) {
  .hero-copy h1 {
    font-size: clamp(1.7rem, 7.7vw, 2.2rem) !important;
  }

  .hero-copy a.icx-service-primary,
  .hero-copy a.icx-service-secondary {
    font-size: 7px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-copy a.icx-service-primary,
  .hero-copy a.icx-service-secondary,
  .hero-copy .icx-service-cta-arrow {
    transition: none !important;
  }

  .hero-copy a.icx-service-primary:hover,
  .hero-copy a.icx-service-secondary:hover {
    transform: none;
  }
}

/* ICX-BUSINESS-HERO-REFINEMENT-V1:END */

/* ICX-CENTERED-HERO-V1:BEGIN */

/* Center the existing hero in the available viewport area. */
.hero-layout.page-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: min(1240px, calc(100% - 72px)) !important;
  min-height: calc(100svh - 78px) !important;
  margin-inline: auto !important;
  padding: 48px 0 64px !important;
  box-sizing: border-box !important;
}

.hero-copy {
  width: 100% !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
  padding: 0 !important;
  text-align: center !important;
}

/* Preserve the chosen headline styling; change alignment only. */
.hero-copy h1 {
  width: 100%;
  text-align: center !important;
  margin-inline: auto !important;
}

.hero-copy .hero-lede,
.hero-copy .hero-body {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.hero-copy .hero-actions {
  justify-content: center !important;
  align-items: center !important;
}

.hero-copy .hero-footnote {
  width: min(100%, 515px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left;
}

/* Keep the composition centered on tablets and phones too. */
@media (max-width: 760px) {
  .hero-layout.page-wrap {
    width: calc(100% - 38px) !important;
    min-height: calc(100svh - 68px) !important;
    padding: 48px 0 56px !important;
  }

  .hero-copy {
    max-width: 100% !important;
  }

  .hero-copy .hero-footnote {
    margin-top: 38px !important;
  }
}

@media (max-width: 400px) {
  .hero-layout.page-wrap {
    width: calc(100% - 32px) !important;
  }
}

/* END ICX-CENTERED-HERO-V1:END */

/* ICX-SINGLE-CENTERED-CTA-V1:BEGIN */

/* Keep the sole hero CTA centred in the existing composition. */
.hero-copy .hero-actions {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

.hero-copy a.icx-service-secondary {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ICX-SINGLE-CENTERED-CTA-V1:END */

/* ICX-HERO-UPWARD-REFINEMENT-V3:BEGIN */

/* Three equal lines, inheriting the existing headline typography. */
.hero-copy h1 .icx-headline-line {
  display: block !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  letter-spacing: inherit !important;
  line-height: .88 !important;
  color: inherit !important;
  text-align: center !important;
}

/* Raise the complete hero copy without moving the orbit or navbar. */
.hero-layout.page-wrap .hero-copy {
  position: relative;
  top: clamp(-108px, -8.5vh, -62px) !important;
}

.hero-copy h1 {
  text-align: center !important;
}

@media (max-width: 760px) {
  .hero-layout.page-wrap .hero-copy {
    top: clamp(-58px, -5vh, -36px) !important;
  }

  .hero-copy h1 .icx-headline-line {
    line-height: .9 !important;
  }
}

/* ICX-HERO-UPWARD-REFINEMENT-V3:END */

/* ICX-COMPACT-HERO-REFINEMENT-V4:BEGIN */

/* Let the hero end naturally instead of occupying the entire viewport. */
.hero {
  min-height: 0 !important;
  height: auto !important;
}

/* Override prior viewport-height centering and reduce vertical padding. */
.hero-layout.page-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 40px 0 42px !important;
}

/* Reset the previous relative lift so the compact layout flows naturally. */
.hero-layout.page-wrap .hero-copy {
  position: relative !important;
  top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}

/* Refine the display size without changing the established typeface or colour. */
.hero .hero-copy h1 {
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto 23px !important;
  font-size: clamp(2.8rem, 5.15vw, 5.45rem) !important;
  line-height: .9 !important;
  letter-spacing: -.036em !important;
  text-align: center !important;
  text-wrap: balance;
}

/* Keep all three lines visually consistent. */
.hero .hero-copy h1 .icx-headline-line {
  display: block !important;
  font-family: inherit !important;
  font-size: 1em !important;
  font-weight: inherit !important;
  font-style: inherit !important;
  letter-spacing: inherit !important;
  line-height: .9 !important;
  color: inherit !important;
  text-align: center !important;
}

.hero-copy .hero-lede,
.hero-copy .hero-body {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.hero-copy .hero-lede {
  max-width: 560px;
  margin-top: 0 !important;
  margin-bottom: 13px !important;
}

.hero-copy .hero-body {
  max-width: 520px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.hero-copy .hero-actions {
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 23px !important;
}

/* Keep the original scroll cue anchored to the shorter hero. */
.hero-scroll {
  bottom: 18px !important;
}

@media (max-width: 760px) {
  .hero-layout.page-wrap {
    width: min(calc(100% - 38px), 620px) !important;
    min-height: 0 !important;
    padding: 34px 0 40px !important;
  }

  .hero .hero-copy h1 {
    font-size: clamp(2rem, 6.3vw, 3.5rem) !important;
    line-height: .92 !important;
    margin-bottom: 21px !important;
  }

  .hero .hero-copy h1 .icx-headline-line {
    line-height: .92 !important;
  }

  .hero-copy .hero-lede {
    font-size: 14px;
  }

  .hero-copy .hero-body {
    font-size: 10px;
  }

  .hero-copy .hero-actions {
    margin-top: 22px !important;
  }
}

@media (max-width: 380px) {
  .hero-layout.page-wrap {
    width: calc(100% - 30px) !important;
    padding-top: 30px !important;
    padding-bottom: 34px !important;
  }

  .hero .hero-copy h1 {
    font-size: clamp(1.85rem, 7vw, 2.2rem) !important;
  }
}

/* ICX-COMPACT-HERO-REFINEMENT-V4:END */

/* ICX-TRANSPARENT-NAVBAR-V1:BEGIN */

/* Float the navbar over the hero instead of showing a separate paper strip. */
header#top.topbar,
.topbar#top {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Maintain legible navigation against the dark-green hero. */
header#top.topbar .nav-links a:not(.nav-join),
.topbar#top .nav-links a:not(.nav-join) {
  color: var(--paper, #f5f1e8) !important;
}

/* Keep the wordmark legible without removing the orange brand accent. */
header#top.topbar .brand-name,
.topbar#top .brand-name,
header#top.topbar .brand-wordmark,
.topbar#top .brand-wordmark {
  color: var(--paper, #f5f1e8) !important;
}

header#top.topbar .brand-name span,
.topbar#top .brand-name span,
header#top.topbar .brand-wordmark span,
.topbar#top .brand-wordmark span {
  color: var(--signal, #ff4405) !important;
}

/* Reserve room for the overlaid navbar so it cannot cover the headline. */
.hero-layout.page-wrap {
  padding-top: 106px !important;
}

@media (max-width: 760px) {
  .hero-layout.page-wrap {
    padding-top: 100px !important;
  }
}

/* ICX-TRANSPARENT-NAVBAR-V1:END */

/* ICX-BUSINESS-SECTIONS-V1:BEGIN */
.cx-section{position:relative;padding:clamp(68px,8vw,112px) 0;scroll-margin-top:88px;overflow:clip}
.cx-section .page-wrap{position:relative;z-index:1}
.cx-kicker{margin:0 0 15px;font:800 8px/1.6 var(--mono);letter-spacing:.14em;color:var(--rust)}
.cx-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(24px,5vw,72px);margin-bottom:36px}
.cx-section-head h2,.cx-about h2,.cx-contact h2{margin:0;font:800 clamp(50px,6.6vw,90px)/.86 var(--display);letter-spacing:-.035em;text-wrap:balance}
.cx-section-head h2 em,.cx-about h2 em,.cx-contact h2 em{display:block;margin-top:7px;color:var(--rust);font-style:normal}
.cx-section-intro{max-width:360px;margin:0 0 3px;color:var(--inksoft);font-size:10px;line-height:1.95}
.cx-services{background:var(--paper);color:var(--ink)}
.cx-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid rgba(20,20,15,.25);background:rgba(20,20,15,.25)}
.cx-service-card{display:flex;min-width:0;min-height:314px;flex-direction:column;padding:clamp(19px,2.25vw,30px);background:var(--paper);color:var(--ink);transition:background-color .22s ease,transform .22s ease}
.cx-service-card:hover{background:var(--paper2);transform:translateY(-3px)}
.cx-card-top,.cx-work-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#77766b;font:800 7px/1.5 var(--mono);letter-spacing:.08em}
.cx-card-symbol{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(20,20,15,.28);color:var(--rust);font:15px var(--mono)}
.cx-card-kicker{margin:22px 0 7px;color:var(--rust);font:800 7px/1.7 var(--mono);letter-spacing:.11em}
.cx-service-card h3,.cx-work-card h3{margin:0 0 12px;font:800 clamp(28px,2.65vw,39px)/.92 var(--display);letter-spacing:-.02em}
.cx-service-card>p:not(.cx-card-kicker),.cx-work-card>p:not(.cx-card-kicker){margin:0;color:var(--inksoft);font-size:9px;line-height:1.95}
.cx-card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px;font:800 7px/1.5 var(--mono);letter-spacing:.055em}
.cx-card-link b,.cx-solution-card a b,.cx-work-card a b{color:var(--signal);font-size:12px}
.cx-section-footnote,.cx-expertise-note{margin:17px 0 0;color:#77766b;font:700 7px/1.8 var(--mono);letter-spacing:.08em}
.cx-solutions{background:var(--ink);color:var(--paper)}
.cx-section-head-dark .cx-kicker{color:var(--gold)}
.cx-section-head-dark h2{color:var(--paper)}
.cx-section-head-dark h2 em{color:var(--gold)}
.cx-section-head-dark .cx-section-intro{color:rgba(245,241,232,.68)}
.cx-solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(245,241,232,.24)}
.cx-solution-card{display:flex;min-width:0;min-height:260px;flex-direction:column;padding:clamp(23px,3.3vw,42px);border-right:1px solid rgba(245,241,232,.24);transition:background-color .22s ease}
.cx-solution-card:last-child{border-right:0}.cx-solution-card:hover{background:rgba(245,241,232,.045)}
.cx-solution-index{display:flex;align-items:center;justify-content:space-between;color:rgba(245,241,232,.53);font:800 8px var(--mono)}
.cx-solution-index span{color:var(--gold);letter-spacing:.14em}
.cx-solution-card h3{margin:31px 0 12px;font:800 clamp(29px,3vw,42px)/.92 var(--display)}
.cx-solution-card p{margin:0 0 24px;color:rgba(245,241,232,.68);font-size:9px;line-height:1.95}
.cx-solution-card a{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid rgba(245,241,232,.23);font:800 7px/1.6 var(--mono);letter-spacing:.06em}
.cx-approach{background:var(--paper2);color:var(--ink)}
.cx-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(20,20,15,.32);border-bottom:1px solid rgba(20,20,15,.32)}
.cx-process-step{position:relative;min-width:0;padding:24px 22px 26px 0;border-right:1px solid rgba(20,20,15,.24)}
.cx-process-step+.cx-process-step{padding-left:22px}.cx-process-step:last-child{border-right:0}
.cx-process-step>span{font:800 7px/1.7 var(--mono);letter-spacing:.09em;color:var(--rust)}
.cx-process-step>b{display:block;margin-top:30px;color:var(--signal);font:22px var(--mono)}
.cx-process-step h3{margin:17px 0 10px;font:800 clamp(25px,2.5vw,34px)/.94 var(--display)}
.cx-process-step p{margin:0;color:var(--inksoft);font-size:9px;line-height:1.95}
.cx-expertise{background:var(--green);color:var(--paper)}
.cx-expertise .cx-section-head h2 em{color:var(--gold)}
.cx-expertise-list{border-top:1px solid rgba(245,241,232,.32)}
.cx-expertise-row{display:grid;grid-template-columns:50px minmax(0,1fr) 24px;gap:18px;align-items:start;padding:21px 0;border-bottom:1px solid rgba(245,241,232,.25);transition:padding .2s ease,background .2s ease}
.cx-expertise-row:hover{padding-left:7px;padding-right:7px;background:rgba(245,241,232,.025)}
.cx-expertise-row>span{padding-top:4px;color:var(--gold);font:800 8px var(--mono)}
.cx-expertise-row h3{margin:0 0 6px;font:800 clamp(25px,3vw,38px)/.95 var(--display)}
.cx-expertise-row p{max-width:700px;margin:0;color:rgba(245,241,232,.72);font-size:9px;line-height:1.9}
.cx-expertise-row>b{padding-top:4px;color:var(--gold);font:15px var(--mono)}
.cx-expertise-note{color:rgba(245,241,232,.56)}
.cx-work{background:var(--paper);color:var(--ink)}
.cx-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cx-work-card{display:flex;min-width:0;min-height:300px;flex-direction:column;padding:clamp(21px,2.6vw,31px);border:1px solid rgba(20,20,15,.31);background:var(--paper);transition:background .22s ease,transform .22s ease}
.cx-work-card:hover{background:var(--paper2);transform:translateY(-3px)}
.cx-work-top{padding-bottom:15px;border-bottom:1px solid rgba(20,20,15,.2)}
.cx-work-card h3{font-size:clamp(30px,3.2vw,43px)}
.cx-work-card>a{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(20,20,15,.2);font:800 7px/1.7 var(--mono);letter-spacing:.05em}
.cx-work-research{background:var(--paper2)}
.cx-about{background:var(--paper2);color:var(--ink)}
.cx-about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(40px,8vw,110px);align-items:start}
.cx-about h2{max-width:650px}.cx-about h2 em{color:var(--rust)}
.cx-about-copy{padding-top:8px}.cx-about-copy>p:first-child{margin:0 0 18px;font:700 clamp(20px,2.3vw,29px)/1.25 var(--display)}
.cx-about-copy>p:nth-child(2){margin:0;color:var(--inksoft);font-size:10px;line-height:2}
.cx-about-signoff{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:32px;padding-top:13px;border-top:1px solid rgba(20,20,15,.28);font:800 7px/1.8 var(--mono);letter-spacing:.08em}
.cx-about-signoff span:last-child{color:var(--rust)}
.cx-contact{background:var(--green);color:var(--paper)}
.cx-contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:clamp(35px,7vw,90px);align-items:center}
.cx-contact .cx-kicker{color:var(--gold)}
.cx-contact h2{max-width:750px;font-size:clamp(58px,7.5vw,100px)}
.cx-contact h2 em{color:var(--gold)}
.cx-contact-copy>p:first-child{margin:0 0 24px;color:rgba(245,241,232,.78);font-size:10px;line-height:2}
.cx-contact-button{display:inline-flex;min-height:47px;align-items:center;justify-content:space-between;gap:25px;padding:13px 17px;border:1px solid #0A5DC2;border-radius:12px;background:#0A5DC2;color:#fff;font:800 8px/1.4 var(--mono);letter-spacing:.05em;transition:background .22s ease,border-color .22s ease,transform .22s ease}
.cx-contact-button:hover{background:#084da3;border-color:#084da3;transform:translateY(-2px)}
.cx-contact-button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.cx-contact-note{margin:13px 0 0;color:rgba(245,241,232,.55);font-size:8px;line-height:1.7}
#primaryNav a[aria-current="location"]:not(.nav-join){color:var(--cream);opacity:1}
#primaryNav a[aria-current="location"]:not(.nav-join)::after{transform:scaleX(1)}
.cx-reveal-ready{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.cx-reveal-ready.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.cx-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-section-head{align-items:flex-start}.cx-process-step{padding-right:15px}.cx-process-step+.cx-process-step{padding-left:15px}}
@media(max-width:760px){.cx-section{padding:62px 0;scroll-margin-top:76px}.cx-section-head{display:block;margin-bottom:27px}.cx-section-head h2,.cx-about h2{font-size:clamp(50px,10.5vw,75px)}.cx-section-intro{max-width:560px;margin-top:20px}.cx-solution-grid{grid-template-columns:1fr}.cx-solution-card{min-height:0;padding:24px;border-right:0;border-bottom:1px solid rgba(245,241,232,.24)}.cx-solution-card:last-child{border-bottom:0}.cx-solution-card h3{margin-top:19px}.cx-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-process-step{min-height:220px;padding:20px 15px 22px 0;border-bottom:1px solid rgba(20,20,15,.24)}.cx-process-step+.cx-process-step{padding-left:15px}.cx-process-step:nth-child(2){border-right:0}.cx-process-step:nth-child(3){padding-left:0}.cx-process-step:nth-child(3),.cx-process-step:nth-child(4){border-bottom:0}.cx-process-step>b{margin-top:20px}.cx-work-grid{grid-template-columns:1fr}.cx-work-card{min-height:250px}.cx-about-grid,.cx-contact-grid{grid-template-columns:1fr;gap:25px}.cx-about-copy{padding-top:0}.cx-contact h2{font-size:clamp(55px,11vw,82px)}}
@media(max-width:540px){.cx-service-grid{grid-template-columns:1fr}.cx-service-card{min-height:255px;padding:23px}.cx-service-card h3{font-size:35px}.cx-process-grid{grid-template-columns:1fr}.cx-process-step,.cx-process-step+.cx-process-step,.cx-process-step:nth-child(3){min-height:0;padding:20px 0 23px;border-right:0;border-bottom:1px solid rgba(20,20,15,.24)}.cx-process-step:last-child{border-bottom:0}.cx-process-step>b{margin-top:15px}.cx-expertise-row{grid-template-columns:27px minmax(0,1fr) 16px;gap:10px}.cx-expertise-row h3{font-size:28px}.cx-contact-button{width:100%}}
@media(prefers-reduced-motion:reduce){.cx-service-card,.cx-work-card,.cx-expertise-row,.cx-contact-button,.cx-reveal-ready{transition:none!important;transform:none!important}.cx-reveal-ready{opacity:1!important}}
/* ICX-BUSINESS-SECTIONS-V1:END */

/* ICX-BENTO-CARD-REFINEMENT-V2:BEGIN */

/* Give every card its own boundary and a consistent amount of breathing room. */
.cx-service-grid,
.cx-solution-grid,
.cx-process-grid {
  gap: 14px !important;
  border: 0 !important;
  background: transparent !important;
}

.cx-service-card {
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid rgba(20, 20, 15, .27) !important;
  background: var(--paper) !important;
}

.cx-service-card:hover {
  background: var(--paper2) !important;
}

.cx-solution-card {
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid rgba(245, 241, 232, .27) !important;
  background: rgba(245, 241, 232, .025) !important;
}

.cx-solution-grid .cx-solution-card:last-child {
  border-right: 1px solid rgba(245, 241, 232, .27) !important;
}

.cx-solution-card:hover {
  background: rgba(245, 241, 232, .065) !important;
}

.cx-process-step,
.cx-process-step + .cx-process-step,
.cx-process-step:last-child {
  box-sizing: border-box;
  min-width: 0;
  min-height: 235px;
  padding: 24px !important;
  border: 1px solid rgba(20, 20, 15, .24) !important;
  background: var(--paper) !important;
}

.cx-expertise-list {
  border: 0 !important;
}

.cx-expertise-list .cx-expertise-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  gap: 18px;
  align-items: start;
  margin: 0 0 12px;
  padding: 21px 23px !important;
  border: 1px solid rgba(245, 241, 232, .25) !important;
  background: rgba(245, 241, 232, .025);
  box-sizing: border-box;
  transition: background-color .2s ease, padding .2s ease;
}

.cx-expertise-list .cx-expertise-row:last-child {
  margin-bottom: 0;
}

.cx-expertise-list .cx-expertise-row:hover {
  padding-left: 27px !important;
  padding-right: 19px !important;
  background: rgba(245, 241, 232, .055);
}

/* Improve description readability inside the individual cards. */

/* Give card copy a little more space from its heading. */
.cx-service-card h3,
.cx-work-card h3,
.cx-solution-card h3,
.cx-process-step h3,
.cx-expertise-row h3 {
  margin-bottom: 13px;
}

/* Maintain clear separation at tablet widths. */
@media (max-width: 1050px) {
  .cx-service-grid,
  .cx-solution-grid,
  .cx-process-grid {
    gap: 12px !important;
  }
}

/* Stack cleanly on mobile and retain comfortable reading sizes. */
@media (max-width: 760px) {
  .cx-service-grid,
  .cx-solution-grid,
  .cx-process-grid {
    gap: 11px !important;
  }

  .cx-process-step,
  .cx-process-step + .cx-process-step,
  .cx-process-step:last-child {
    min-height: 0;
    padding: 21px !important;
  }

  .cx-expertise-list .cx-expertise-row {
    grid-template-columns: minmax(0, 1fr) 18px;
    gap: 12px;
    margin-bottom: 10px;
    padding: 18px 17px !important;
  }

  .cx-expertise-list .cx-expertise-row:hover {
    padding-left: 20px !important;
    padding-right: 14px !important;
  }


}

/* ICX-BENTO-CARD-REFINEMENT-V2:END */

/* ICX-HEADLINE-ONLY-BENTO-V1:BEGIN */

/* Separate each card with comfortable, consistent gaps. */
.cx-service-grid,
.cx-solution-grid,
.cx-process-grid {
  gap: 14px !important;
  border: 0 !important;
  background: transparent !important;
}

.cx-service-card,
.cx-solution-card,
.cx-process-step,
.cx-work-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 156px !important;
  height: auto;
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid rgba(20, 20, 15, .28) !important;
  border-radius: 0 !important;
  background: var(--paper) !important;
  color: var(--ink);
  transition: background-color .2s ease, border-color .2s ease;
}

.cx-service-card:hover,
.cx-work-card:hover {
  background: var(--paper2) !important;
}

.cx-solution-card {
  border-color: rgba(245, 241, 232, .27) !important;
  background: rgba(245, 241, 232, .025) !important;
  color: var(--paper);
}

.cx-solution-card:hover {
  background: rgba(245, 241, 232, .065) !important;
}

.cx-process-step {
  background: var(--paper2) !important;
}

.cx-service-card h3,
.cx-solution-card h3,
.cx-process-step h3,
.cx-work-card h3,
.cx-expertise-row h3 {
  width: 100%;
  margin: 0 !important;
  line-height: 1.02;
}

/* Keep the expertise headlines as individually separated rows. */
.cx-expertise-list {
  border: 0 !important;
}

.cx-expertise-list .cx-expertise-row {
  display: block !important;
  box-sizing: border-box;
  min-width: 0;
  min-height: 82px;
  margin: 0 0 12px !important;
  padding: 23px 25px !important;
  border: 1px solid rgba(245, 241, 232, .26) !important;
  background: rgba(245, 241, 232, .025);
}

.cx-expertise-list .cx-expertise-row:last-child {
  margin-bottom: 0 !important;
}

/* Preserve the previous base description sizes for any remaining copy. */
.cx-service-card > p:not(.cx-card-kicker),
.cx-work-card > p:not(.cx-card-kicker),
.cx-solution-card > p,
.cx-process-step > p,
.cx-expertise-row > div > p {
  font-size: revert !important;
  line-height: revert !important;
}

/* Keep card spacing usable across narrow viewports. */
@media (max-width: 1050px) {
  .cx-service-grid,
  .cx-solution-grid,
  .cx-process-grid {
    gap: 12px !important;
  }
}

@media (max-width: 760px) {
  .cx-service-grid,
  .cx-solution-grid,
  .cx-process-grid {
    gap: 11px !important;
  }

  .cx-service-card,
  .cx-solution-card,
  .cx-process-step,
  .cx-work-card {
    min-height: 130px !important;
    padding: 22px !important;
  }

  .cx-expertise-list .cx-expertise-row {
    min-height: 72px;
    margin-bottom: 10px !important;
    padding: 20px 18px !important;
  }
}

/* ICX-HEADLINE-ONLY-BENTO-V1:END */

/* ICX-CARD-HOVER-STABILITY-V1:BEGIN */

/* Shared baseline: stable geometry and consistent, short transitions. */
.cx-service-card,
.cx-solution-card,
.cx-process-step,
.cx-work-card,
.cx-expertise-list .cx-expertise-row {
  box-sizing: border-box;
  transform-origin: center center;
  transition:
    transform 190ms cubic-bezier(.2, .7, .2, 1),
    background-color 190ms ease,
    border-color 190ms ease !important;
}

/* Remove the expertise-row padding animation that makes content jump. */
.cx-expertise-list .cx-expertise-row:hover {
  padding: 23px 25px !important;
}

/* Desktop pointer hover: subtle movement, never scaling or bouncing. */
@media (hover: hover) and (pointer: fine) {
  .cx-service-card:hover,
  .cx-work-card:hover {
    transform: translate3d(0, -2px, 0) !important;
    border-color: rgba(255, 68, 5, .65) !important;
    background: var(--paper2, #ebe6da) !important;
  }

  .cx-solution-card:hover {
    transform: translate3d(0, -2px, 0) !important;
    border-color: rgba(216, 157, 78, .75) !important;
    background: rgba(245, 241, 232, .065) !important;
  }

  .cx-process-step:hover {
    transform: translate3d(0, -2px, 0) !important;
    border-color: rgba(255, 68, 5, .6) !important;
    background: var(--paper, #f5f1e8) !important;
  }

  .cx-expertise-list .cx-expertise-row:hover {
    transform: translate3d(0, -2px, 0) !important;
    border-color: rgba(255, 68, 5, .65) !important;
    background: rgba(245, 241, 232, .055) !important;
  }
}

/* Keyboard users receive a clear focus state without layout movement. */
.cx-service-card:focus-visible,
.cx-solution-card:focus-visible,
.cx-work-card:focus-visible {
  outline: 2px solid var(--signal, #ff4405) !important;
  outline-offset: 3px;
}

/* Never force movement when reduced motion is preferred. */
@media (prefers-reduced-motion: reduce) {
  .cx-service-card,
  .cx-solution-card,
  .cx-process-step,
  .cx-work-card,
  .cx-expertise-list .cx-expertise-row {
    transition: none !important;
    transform: none !important;
  }

  .cx-service-card:hover,
  .cx-solution-card:hover,
  .cx-process-step:hover,
  .cx-work-card:hover,
  .cx-expertise-list .cx-expertise-row:hover {
    transform: none !important;
  }
}

/* ICX-CARD-HOVER-STABILITY-V1:END */

/* ICX-UNIFORM-PROCESS-CARDS-V1:BEGIN */

/* One identical background for all four How We Work cards.
   Explicitly neutralize earlier hover and active background overrides. */
.cx-process-grid > .cx-process-step,
.cx-process-grid > .cx-process-step:hover,
.cx-process-grid > .cx-process-step:focus,
.cx-process-grid > .cx-process-step:focus-within,
.cx-process-grid > .cx-process-step:active {
  background-color: var(--paper, #f5f1e8) !important;
}

/* Keep the existing border and geometry; hover motion remains unchanged. */
.cx-process-grid > .cx-process-step {
  background-image: none !important;
}

/* ICX-UNIFORM-PROCESS-CARDS-V1:END */

/* ICX-COMPLETED-FOOTER-V1:BEGIN */

/* Four balanced footer columns; preserve the existing orbit and bottom strip. */
.site-footer .footer-main.cx-footer-main {
  display: grid !important;
  grid-template-columns:
    minmax(185px, 1.1fr)
    minmax(135px, .78fr)
    minmax(155px, .88fr)
    minmax(205px, 1fr) !important;
  align-items: start !important;
  gap: clamp(22px, 3vw, 46px) !important;
  padding-bottom: 40px !important;
}

.site-footer .cx-footer-brand,
.site-footer .cx-footer-column,
.site-footer .cx-footer-contact {
  min-width: 0;
}

.site-footer .cx-footer-brand .footer-brand {
  display: inline-flex;
  align-items: center;
}

.site-footer .cx-footer-description {
  max-width: 260px;
  margin: 17px 0 12px !important;
  color: rgba(245, 241, 232, .68) !important;
  font-size: 10px !important;
  line-height: 1.9 !important;
}

.site-footer .cx-footer-brand-note {
  color: var(--gold, #d89d4e);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .11em;
}

.site-footer .cx-footer-label {
  margin: 4px 0 18px !important;
  color: var(--gold, #d89d4e) !important;
  font-size: 7px !important;
  font-weight: 800 !important;
  line-height: 1.6 !important;
  letter-spacing: .13em !important;
}

.site-footer .cx-footer-links {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
  align-items: stretch !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(245, 241, 232, .72) !important;
  font-size: 8px !important;
  line-height: 1.6 !important;
  letter-spacing: .055em !important;
}

.site-footer .cx-footer-links a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  width: 100%;
  color: rgba(245, 241, 232, .72) !important;
  text-decoration: none;
  transition: color .18s ease;
}

.site-footer .cx-footer-links a span {
  color: var(--signal, #ff4405);
  opacity: .8;
}

.site-footer .cx-footer-links a:hover,
.site-footer .cx-footer-links a:focus-visible {
  color: var(--paper, #f5f1e8) !important;
}

.site-footer .cx-footer-contact h3 {
  margin: 0 0 13px;
  color: var(--paper, #f5f1e8);
  font: 800 clamp(31px, 3vw, 43px)/.95 var(--display);
  letter-spacing: -.02em;
}

.site-footer .cx-footer-contact-copy {
  margin: 0 0 19px !important;
  color: rgba(245, 241, 232, .68) !important;
  font-size: 10px !important;
  line-height: 1.9 !important;
}

.site-footer .cx-footer-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  min-height: 43px;
  padding: 12px 14px;
  border: 1px solid #0A5DC2;
  border-radius: 11px;
  background: #0A5DC2;
  color: #fff;
  font: 800 7px/1.5 var(--mono);
  letter-spacing: .04em;
  transition: background-color .2s ease, border-color .2s ease;
}

.site-footer .cx-footer-cta:hover {
  border-color: #084da3;
  background: #084da3;
}

.site-footer .cx-footer-cta:focus-visible {
  outline: 2px solid var(--paper, #f5f1e8);
  outline-offset: 3px;
}

.site-footer .cx-footer-credit-wrap {
  margin-top: 17px;
  padding-top: 12px;
  border-top: 1px solid rgba(245, 241, 232, .16);
}

.site-footer .cx-footer-credit-wrap .footer-credit {
  display: inline-block;
  white-space: normal;
  color: var(--gold, #d89d4e);
  font-size: 7px;
  line-height: 1.8;
  letter-spacing: .06em;
}

@media (max-width: 1050px) {
  .site-footer .footer-main.cx-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px 28px !important;
  }
}

@media (max-width: 760px) {
  .site-footer .footer-main.cx-footer-main {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 29px !important;
    padding-bottom: 30px !important;
  }

  .site-footer .cx-footer-description {
    max-width: 320px;
  }

  .site-footer .cx-footer-contact {
    max-width: 420px;
  }

  .site-footer .cx-footer-links {
    gap: 12px !important;
  }

  .site-footer .cx-footer-label {
    margin-bottom: 13px !important;
  }
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
  .site-footer .cx-footer-links a,
  .site-footer .cx-footer-cta {
    transition: none !important;
  }
}

/* ICX-COMPLETED-FOOTER-V1:END */

/* ICX-DYNAMIC-FOOTER-REFINEMENT-V2:BEGIN */

/* Smooth in-page navigation; disabled for reduced-motion users below. */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 82px;
}

.cx-section[id],
#contact,
#services,
#solutions,
#approach,
#expertise,
#about,
#orbit-stage,
#top {
  scroll-margin-top: 82px;
}

/* Footer copy: a modest increase for comfortable reading. */
.site-footer .cx-footer-description,
.site-footer .footer-main > p:not(.cx-footer-label) {
  font-size: 11px !important;
  line-height: 1.9 !important;
}

.site-footer .cx-footer-label {
  font-size: 8px !important;
  line-height: 1.8 !important;
}

.site-footer .cx-footer-brand-note {
  font-size: 8px !important;
}

.site-footer .cx-footer-links,
.site-footer .cx-footer-links a,
.site-footer .footer-main nav a {
  font-size: 9px !important;
  line-height: 1.8 !important;
}

.site-footer .cx-footer-contact-copy {
  font-size: 11px !important;
  line-height: 1.9 !important;
}

.site-footer .cx-footer-cta {
  font-size: 8px !important;
  line-height: 1.7 !important;
}

.site-footer .footer-credit,
.site-footer .cx-footer-credit-wrap .footer-credit {
  font-size: 8px !important;
  line-height: 1.8 !important;
}

/* Improve the copyright, footer slogan and back-to-top text. */
.site-footer .footer-bottom,
.site-footer .footer-bottom span,
.site-footer .footer-bottom a {
  font-size: 8px !important;
  line-height: 1.8 !important;
}

/* Only elements explicitly prepared by JavaScript receive entrance motion.
   The page remains fully visible if JavaScript is disabled. */
html.cx-dynamic-motion .cx-dynamic-reveal {
  opacity: 0;
  transform: translate3d(0, 12px, 0);
  transition:
    opacity .55s cubic-bezier(.2, .7, .2, 1),
    transform .55s cubic-bezier(.2, .7, .2, 1);
  transition-delay: var(--cx-dynamic-delay, 0ms);
}

html.cx-dynamic-motion .cx-dynamic-reveal.cx-dynamic-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (max-width: 760px) {
  .site-footer .cx-footer-description,
  .site-footer .cx-footer-contact-copy,
  .site-footer .footer-main > p:not(.cx-footer-label) {
    font-size: 11px !important;
  }

  .site-footer .cx-footer-links a,
  .site-footer .footer-main nav a,
  .site-footer .footer-bottom,
  .site-footer .footer-bottom span,
  .site-footer .footer-bottom a {
    font-size: 8.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  html.cx-dynamic-motion .cx-dynamic-reveal,
  html.cx-dynamic-motion .cx-dynamic-reveal.cx-dynamic-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ICX-DYNAMIC-FOOTER-REFINEMENT-V2:END */

/* ICX-STICKY-NAVBAR-V1:BEGIN */

/* Keep the original navbar visible above every section while scrolling. */
header#top.topbar,
.topbar#top {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  box-sizing: border-box !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;

  /* Transparent at the top, matching the existing design. */
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;

  transition:
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    backdrop-filter .22s ease,
    -webkit-backdrop-filter .22s ease;
}

/* Maintain contrast against cream and paper sections while scrolling. */
header#top.topbar.icx-nav-scrolled,
.topbar#top.icx-nav-scrolled {
  background: rgba(12, 48, 44, .96) !important;
  background-color: rgba(12, 48, 44, .96) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(245, 241, 232, .14) !important;
  box-shadow: 0 5px 20px rgba(0, 0, 0, .08) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
}

/* Preserve readable navigation over the transparent hero. */
header#top.topbar .nav-links a:not(.nav-join),
.topbar#top .nav-links a:not(.nav-join) {
  color: var(--paper, #f5f1e8) !important;
}

/* The existing orange Connect button and logo asset are not restyled. */

/* Avoid transitions when the visitor requests reduced motion. */
@media (prefers-reduced-motion: reduce) {
  header#top.topbar,
  .topbar#top {
    transition: none !important;
  }
}

/* ICX-STICKY-NAVBAR-V1:END */

/* ICX-NAVBAR-ADAPTIVE-V3:BEGIN */

/* Stay fixed and transparent over the initial dark-green hero. */
header#top.topbar,
.topbar#top {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  box-sizing: border-box !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;

  transition:
    background-color .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    color .2s ease,
    backdrop-filter .24s ease;
}

/* Scrolled over dark sections: subtle dark-green glass. */
header#top.topbar.icx-nav-scrolled.icx-nav-on-dark,
.topbar#top.icx-nav-scrolled.icx-nav-on-dark {
  background: rgba(12, 48, 44, .78) !important;
  background-color: rgba(12, 48, 44, .78) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(245, 241, 232, .14) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .06) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
}

/* Scrolled over light sections: translucent paper glass. */
header#top.topbar.icx-nav-scrolled.icx-nav-on-light,
.topbar#top.icx-nav-scrolled.icx-nav-on-light {
  background: rgba(245, 241, 232, .91) !important;
  background-color: rgba(245, 241, 232, .91) !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(20, 20, 15, .13) !important;
  box-shadow: 0 4px 18px rgba(20, 20, 15, .055) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  backdrop-filter: blur(12px) !important;
}

/* Default text contrast over the original dark hero. */
header#top.topbar .nav-links a:not(.nav-join),
.topbar#top .nav-links a:not(.nav-join) {
  color: var(--paper, #f5f1e8) !important;
}

/* Automatically switch navigation and wordmark to dark ink on paper. */
header#top.topbar.icx-nav-on-light .nav-links a:not(.nav-join),
.topbar#top.icx-nav-on-light .nav-links a:not(.nav-join),
header#top.topbar.icx-nav-on-light .brand-name,
.topbar#top.icx-nav-on-light .brand-name,
header#top.topbar.icx-nav-on-light .brand-wordmark,
.topbar#top.icx-nav-on-light .brand-wordmark {
  color: var(--ink, #14140f) !important;
}

/* Keep existing orange brand accents and orange CTA untouched. */
header#top.topbar.icx-nav-on-light .brand-name span,
.topbar#top.icx-nav-on-light .brand-name span,
header#top.topbar.icx-nav-on-light .brand-wordmark span,
.topbar#top.icx-nav-on-light .brand-wordmark span {
  color: var(--signal, #ff4405) !important;
}

@media (prefers-reduced-motion: reduce) {
  header#top.topbar,
  .topbar#top {
    transition: none !important;
  }
}

/* ICX-NAVBAR-ADAPTIVE-V3:END */

/* ICX-CAPABILITIES-FOOTER-ARROWS-REMOVED-V1 — scoped exclusively to the four Capabilities footer links */
#siteFooter a[href="#services"]::after,
#siteFooter a[href="#solutions"]::after,
#siteFooter a[href="#approach"]::after,
#siteFooter a[href="#expertise"]::after,
#siteFooter a[href="#services"]::before,
#siteFooter a[href="#solutions"]::before,
#siteFooter a[href="#approach"]::before,
#siteFooter a[href="#expertise"]::before {
  content: none !important;
  display: none !important;
}

/* ICX-ABOUT-FOOTER-ARROW-REMOVAL-V1 — only the About Imperial CyberX footer link */
#siteFooter a[href$="#about"]::before,
#siteFooter a[href$="#about"]::after {
  content: none !important;
  display: none !important;
}

/* ICX-LEGAL-PAGES-STYLE-BEGIN */

/* Footer legal links: isolated from existing footer content. */
#siteFooter .icx-legal-footer-links {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(12px, 2vw, 26px);
  grid-column: 1 / -1;
  flex: 1 0 100%;
  width: 100%;
  margin: 10px 0 0;
  padding: 18px 0;
  border-top: 1px solid rgba(245, 241, 232, 0.22);
}

#siteFooter .icx-legal-footer-label {
  color: #ff4405;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

#siteFooter .icx-legal-footer-links a {
  color: #f5f1e8;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.045em;
  line-height: 1.8;
  text-decoration: none;
  text-underline-offset: 4px;
  transition: color 180ms ease;
}

#siteFooter .icx-legal-footer-links a:hover,
#siteFooter .icx-legal-footer-links a:focus-visible {
  color: #ff4405;
  text-decoration: underline;
}

/* Standalone legal pages use the site's existing design tokens. */
.icx-legal-page {
  background: var(--paper, #f5f1e8);
  color: var(--ink, #14140f);
}

.icx-legal-page .icx-legal-main {
  box-sizing: border-box;
  min-height: 65vh;
  padding: clamp(112px, 13vw, 170px) clamp(20px, 5vw, 76px)
           clamp(72px, 9vw, 120px);
}

.icx-legal-page .icx-legal-shell {
  width: min(100%, 920px);
  margin-inline: auto;
}

.icx-legal-page .icx-legal-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: clamp(28px, 5vw, 60px);
  color: #4a4a40;
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.icx-legal-page .icx-legal-breadcrumb a {
  color: #0a5dc2;
  text-decoration: none;
}

.icx-legal-page .icx-legal-kicker {
  margin: 0 0 18px;
  color: #0a5dc2;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.icx-legal-page .icx-legal-title {
  max-width: 900px;
  margin: 0;
  color: #14140f;
  font-family: "JetBrains Mono", "Arial Narrow", monospace;
  font-size: clamp(35px, 7vw, 76px);
  font-weight: 800;
  letter-spacing: -0.075em;
  line-height: 0.99;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.icx-legal-page .icx-legal-lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: #4a4a40;
  font-size: clamp(15px, 1.7vw, 18px);
  line-height: 1.85;
}

.icx-legal-page .icx-legal-updated {
  margin-top: 22px;
  color: #4a4a40;
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.icx-legal-page .icx-legal-identity {
  margin: clamp(34px, 6vw, 64px) 0;
  padding: clamp(20px, 3vw, 30px);
  border-left: 3px solid #ff4405;
  background: #ebe6da;
}

.icx-legal-page .icx-legal-identity-label {
  display: block;
  margin-bottom: 18px;
  color: #4a4a40;
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.icx-legal-page .icx-legal-identity p {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.icx-legal-page .icx-legal-identity p:last-child {
  margin-bottom: 0;
}

.icx-legal-page .icx-legal-document {
  margin-top: clamp(36px, 7vw, 80px);
}

.icx-legal-page .icx-legal-section {
  padding: clamp(24px, 4vw, 38px) 0;
  border-top: 1px solid rgba(20, 20, 15, 0.2);
}

.icx-legal-page .icx-legal-section h2 {
  margin: 0 0 18px;
  color: #14140f;
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(16px, 2.4vw, 21px);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.5;
  text-transform: uppercase;
}

.icx-legal-page .icx-legal-section p,
.icx-legal-page .icx-legal-section li {
  color: #37372f;
  font-size: 14px;
  line-height: 1.95;
  overflow-wrap: anywhere;
}

.icx-legal-page .icx-legal-section p {
  margin: 0 0 15px;
}

.icx-legal-page .icx-legal-section p:last-child {
  margin-bottom: 0;
}

.icx-legal-page .icx-legal-section ul {
  margin: 10px 0 18px;
  padding-left: 21px;
}

.icx-legal-page .icx-legal-section li {
  margin-bottom: 8px;
  padding-left: 4px;
}

.icx-legal-page .icx-legal-section a {
  color: #0a5dc2;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.icx-legal-page .icx-legal-bottom-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 12px;
  padding: 12px 18px;
  border: 1px solid #14140f;
  color: #14140f;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 180ms ease, background 180ms ease,
              border-color 180ms ease;
}

.icx-legal-page .icx-legal-bottom-link:hover,
.icx-legal-page .icx-legal-bottom-link:focus-visible {
  border-color: #ff4405;
  background: #ff4405;
  color: #14140f;
}

@media (max-width: 600px) {
  #siteFooter .icx-legal-footer-links {
    align-items: flex-start;
    gap: 10px 18px;
    padding: 15px 0;
  }

  .icx-legal-page .icx-legal-main {
    padding-top: 105px;
  }

  .icx-legal-page .icx-legal-title {
    letter-spacing: -0.06em;
  }

  .icx-legal-page .icx-legal-section p,
  .icx-legal-page .icx-legal-section li {
    font-size: 13px;
    line-height: 1.85;
  }
}

@media (prefers-reduced-motion: reduce) {
  #siteFooter .icx-legal-footer-links a,
  .icx-legal-page .icx-legal-bottom-link {
    transition: none;
  }
}

/* ICX-LEGAL-PAGES-STYLE-END */

/* ICX-LEGAL-FOOTER-CENTERED-V3-BEGIN */
/* Center the legal-link group; preserve the existing full-width divider. */
#siteFooter .icx-legal-footer-links {
  box-sizing: border-box;
  display: flex !important;
  flex: 1 0 100%;
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 10px 0 0 !important;
  padding: 18px 24px !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap;
  gap: 12px 28px !important;
  text-align: center;
}

#siteFooter .icx-legal-footer-links .icx-legal-footer-label {
  flex-basis: auto;
  margin: 0;
  text-align: center;
}

#siteFooter .icx-legal-footer-links a {
  margin: 0;
  white-space: nowrap;
}

@media (max-width: 600px) {
  #siteFooter .icx-legal-footer-links {
    padding: 16px 20px !important;
    justify-content: center !important;
    gap: 10px 18px !important;
  }

  #siteFooter .icx-legal-footer-links .icx-legal-footer-label {
    flex-basis: 100%;
    width: 100%;
  }

  #siteFooter .icx-legal-footer-links a {
    white-space: normal;
  }
}
/* ICX-LEGAL-FOOTER-CENTERED-V3-END */

/* ICX-LEGAL-NAVBAR-CONTRAST-V1-BEGIN */
/* Legal pages use cream navigation against an opaque dark brand surface.
   The homepage's adaptive navbar remains unchanged. */
body.icx-legal-page header#top.topbar,
body.icx-legal-page header#top.topbar.icx-nav-scrolled,
body.icx-legal-page header#top.topbar.icx-nav-on-light,
body.icx-legal-page header#top.topbar.icx-nav-on-dark {
  background: rgba(20, 20, 15, 0.97) !important;
  background-color: rgba(20, 20, 15, 0.97) !important;
  background-image: none !important;
  color: #f5f1e8 !important;
  border-bottom: 1px solid rgba(245, 241, 232, 0.18) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  z-index: 1000;
}

/* Brand and standard navigation links remain readable on the dark header. */
body.icx-legal-page header#top.topbar #primaryNav,
body.icx-legal-page header#top.topbar #primaryNav a,
body.icx-legal-page header#top.topbar nav a,
body.icx-legal-page header#top.topbar .brand,
body.icx-legal-page header#top.topbar .brand-name,
body.icx-legal-page header#top.topbar .wordmark,
body.icx-legal-page header#top.topbar .logo-text {
  color: #f5f1e8 !important;
}

body.icx-legal-page header#top.topbar #primaryNav a:hover,
body.icx-legal-page header#top.topbar #primaryNav a:focus-visible,
body.icx-legal-page header#top.topbar nav a:hover,
body.icx-legal-page header#top.topbar nav a:focus-visible {
  color: #ff4405 !important;
}

/* Keep menu controls and their visible icon strokes high-contrast. */
body.icx-legal-page header#top.topbar button,
body.icx-legal-page header#top.topbar .menu-toggle,
body.icx-legal-page header#top.topbar .nav-toggle,
body.icx-legal-page header#top.topbar .menu-btn {
  color: #f5f1e8;
}

body.icx-legal-page header#top.topbar .menu-toggle span,
body.icx-legal-page header#top.topbar .nav-toggle span,
body.icx-legal-page header#top.topbar .menu-btn span {
  background-color: #f5f1e8;
}

body.icx-legal-page header#top.topbar svg {
  color: inherit;
}

/* Preserve the established accent and button surfaces. */
body.icx-legal-page header#top.topbar a[class*="cta"],
body.icx-legal-page header#top.topbar a[class*="button"],
body.icx-legal-page header#top.topbar a.btn,
body.icx-legal-page header#top.topbar a.button {
  color: inherit;
}

@media (max-width: 760px) {
  body.icx-legal-page header#top.topbar,
  body.icx-legal-page header#top.topbar.icx-nav-scrolled,
  body.icx-legal-page header#top.topbar.icx-nav-on-light,
  body.icx-legal-page header#top.topbar.icx-nav-on-dark {
    background: rgba(20, 20, 15, 0.99) !important;
    background-color: rgba(20, 20, 15, 0.99) !important;
  }
}
/* ICX-LEGAL-NAVBAR-CONTRAST-V1-END */

/* ICX-SERVICE-POPUPS-V1-BEGIN */
.cx-service-card {
  cursor: pointer;
}

.cx-service-card--popup-enabled:focus-visible {
  outline: 2px solid #ff4405 !important;
  outline-offset: 5px;
}

.cx-service-card--popup-enabled[aria-expanded="true"] {
  outline: 1px solid rgba(255, 68, 5, 0.72);
  outline-offset: 2px;
}

.icx-service-modal[hidden] {
  display: none !important;
}

.icx-service-modal {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: clamp(14px, 3vw, 36px);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: rgba(20, 20, 15, 0.48);
  -webkit-backdrop-filter: blur(9px) saturate(115%);
  backdrop-filter: blur(9px) saturate(115%);
  animation: icx-service-overlay-in 180ms ease-out both;
}

.icx-service-modal *,
.icx-service-modal *::before,
.icx-service-modal *::after {
  box-sizing: border-box;
}

.icx-service-modal__backdrop {
  position: absolute;
  inset: 0;
}

.icx-service-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 700px);
  max-height: min(84vh, 780px);
  max-height: min(84svh, 780px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: clamp(22px, 4vw, 40px);
  border: 1px solid rgba(245, 241, 232, 0.84);
  background: rgba(245, 241, 232, 0.90);
  color: #14140f;
  box-shadow:
    0 30px 100px rgba(0, 0, 0, 0.29),
    inset 0 1px 0 rgba(255, 255, 255, 0.65);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  backdrop-filter: blur(24px) saturate(145%);
  animation: icx-service-panel-in 230ms cubic-bezier(.2, .7, .25, 1) both;
}

.icx-service-dialog__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(20, 20, 15, 0.18);
}

.icx-service-dialog__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #12382b;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.095em;
  line-height: 1.65;
}

.icx-service-dialog__signal {
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #ff4405;
  box-shadow: 0 0 0 4px rgba(255, 68, 5, 0.12);
}

.icx-service-dialog__close {
  display: inline-flex;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(20, 20, 15, 0.25);
  background: rgba(245, 241, 232, 0.38);
  color: #14140f;
  font-family: Arial, sans-serif;
  font-size: 27px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease,
              border-color 160ms ease;
}

.icx-service-dialog__close:hover,
.icx-service-dialog__close:focus-visible {
  border-color: #ff4405;
  background: #ff4405;
  color: #14140f;
}

.icx-service-dialog__heading {
  padding: clamp(24px, 4vw, 39px) 0 22px;
}

.icx-service-dialog__category {
  margin: 0 0 13px;
  color: #0a5dc2;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.6;
}

.icx-service-dialog__heading h2 {
  margin: 0;
  color: #12382b;
  font-family: "JetBrains Mono", monospace;
  font-size: clamp(26px, 4.5vw, 43px);
  font-weight: 800;
  letter-spacing: -0.075em;
  line-height: 1.12;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.icx-service-dialog__heading > p:last-child {
  max-width: 540px;
  margin: 15px 0 0;
  color: #4a4a40;
  font-size: 13px;
  line-height: 1.8;
}

.icx-service-dialog__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 26px;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(20, 20, 15, 0.21);
  list-style: none;
}

.icx-service-dialog__list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  padding: 15px 0;
  border-bottom: 1px solid rgba(20, 20, 15, 0.13);
  color: #37372f;
  font-size: 12px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.icx-service-dialog__list li::before {
  display: block;
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  margin-top: 7px;
  background: #ff4405;
  content: "";
}

.icx-service-dialog__item-text {
  display: block;
  min-width: 0;
}

.icx-service-dialog__note {
  margin: 18px 0 0;
  padding: 13px 15px;
  border-left: 3px solid #0a5dc2;
  background: rgba(10, 93, 194, 0.07);
  color: #37372f;
  font-size: 11px;
  line-height: 1.8;
}

.icx-service-dialog__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
  padding-top: 19px;
  border-top: 1px solid rgba(20, 20, 15, 0.2);
}

.icx-service-dialog__bottom > span {
  max-width: 260px;
  color: #4a4a40;
  font-family: "JetBrains Mono", monospace;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.8;
}

.icx-service-dialog__contact {
  display: inline-flex;
  min-height: 43px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 12px 15px;
  background: #ff4405;
  color: #14140f;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.5;
  text-decoration: none;
  transition: color 160ms ease, background-color 160ms ease;
}

.icx-service-dialog__contact:hover,
.icx-service-dialog__contact:focus-visible {
  background: #12382b;
  color: #f5f1e8;
}

@keyframes icx-service-overlay-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes icx-service-panel-in {
  from { opacity: 0; transform: translateY(12px) scale(0.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 600px) {
  .icx-service-modal {
    align-items: center;
    padding: 12px;
  }

  .icx-service-dialog {
    width: 100%;
    max-height: 88vh;
    max-height: 88svh;
    padding: 19px;
  }

  .icx-service-dialog__eyebrow {
    font-size: 8px;
    letter-spacing: 0.055em;
  }

  .icx-service-dialog__heading h2 {
    font-size: clamp(25px, 7vw, 35px);
  }

  .icx-service-dialog__heading > p:last-child {
    font-size: 12px;
  }

  .icx-service-dialog__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .icx-service-dialog__list li {
    padding: 12px 0;
  }

  .icx-service-dialog__bottom {
    align-items: stretch;
    flex-direction: column;
  }

  .icx-service-dialog__contact {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .icx-service-modal,
  .icx-service-dialog,
  .icx-service-dialog__close,
  .icx-service-dialog__contact {
    animation: none !important;
    transition: none !important;
  }
}
/* ICX-SERVICE-POPUPS-V1-END */

/* ICX-SERVICE-POPUP-CLEAN-HEADER-V1-BEGIN */
.icx-service-dialog__top {
  justify-content: flex-end;
}
/* ICX-SERVICE-POPUP-CLEAN-HEADER-V1-END */

/* ICX-FOOTER-TOP-RULE-FIX-V2-BEGIN */
#siteFooter {
  border-top: none !important;
}
/* ICX-FOOTER-TOP-RULE-FIX-V2-END */

/* ICX-ACTUAL-FOOTER-DIVIDER-FIX-V1-BEGIN */
#siteFooter .footer-bottom {
  border-top: none !important;
}
/* ICX-ACTUAL-FOOTER-DIVIDER-FIX-V1-END */

/* ICX-REMOVE-FULL-WIDTH-LEGAL-LINE-V1-BEGIN */
#siteFooter .icx-legal-footer-links {
  border-top: none !important;
}
/* ICX-REMOVE-FULL-WIDTH-LEGAL-LINE-V1-END */

/* ICX-RESTORE-SHORT-LEGAL-DIVIDER-V1-BEGIN */
#siteFooter .footer-bottom {
  border-top: 1px solid rgba(245, 241, 232, 0.18) !important;
}
/* ICX-RESTORE-SHORT-LEGAL-DIVIDER-V1-END */

/* ICX-FOOTER-ORBIT-SIGNATURE-COLORS-V1-BEGIN */
#siteFooter .icx-current-footer-orbit {
  border-color: rgba(245, 241, 232, 0.38) !important;
}
#siteFooter .icx-current-footer-orbit::before {
  border-color: rgba(10, 93, 194, 0.82) !important;
}
#siteFooter .icx-current-footer-orbit::after {
  border-color: rgba(255, 68, 5, 0.76) !important;
}
#siteFooter .icx-current-footer-orbit > span:nth-of-type(1) {
  background: #ff4405 !important;
  box-shadow: 0 0 0 9px rgba(255, 68, 5, 0.13),
              0 0 14px rgba(255, 68, 5, 0.38) !important;
}
#siteFooter .icx-current-footer-orbit > span:nth-of-type(2) {
  background: #ff4405 !important;
  box-shadow: 0 0 0 9px rgba(255, 68, 5, 0.13),
              0 0 14px rgba(255, 68, 5, 0.38) !important;
}
#siteFooter .icx-current-footer-orbit > span:nth-of-type(3) {
  background: #0b8457 !important;
  box-shadow: 0 0 0 9px rgba(11, 132, 87, 0.14),
              0 0 14px rgba(11, 132, 87, 0.38) !important;
}
/* ICX-FOOTER-ORBIT-SIGNATURE-COLORS-V1-END */

/* ICX-ORANGE-DOT-INNER-RING-MOTION-V1-BEGIN */
#siteFooter .icx-current-footer-orbit {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  outline: none !important;
  animation: none !important;
}
#siteFooter .icx-current-footer-orbit::before,
#siteFooter .icx-current-footer-orbit::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: 72% !important;
  height: 48% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 50% !important;
  transform-origin: 50% 50% !important;
  pointer-events: none !important;
  animation: none !important;
}
#siteFooter .icx-current-footer-orbit::before {
  --icx-ring-rotation: -55deg;
  border-color: rgba(10, 93, 194, 0.92) !important;
  transform: translate(-50%, -50%) rotate(-55deg);
}
#siteFooter .icx-current-footer-orbit::after {
  --icx-ring-rotation: 55deg;
  border-color: rgba(255, 68, 5, 0.92) !important;
  transform: translate(-50%, -50%) rotate(55deg);
}
#siteFooter .icx-current-footer-orbit > span:nth-of-type(1),
#siteFooter .icx-current-footer-orbit > span:nth-of-type(3) {
  display: none !important;
  animation: none !important;
}
#siteFooter .icx-current-footer-orbit > span:nth-of-type(2) {
  position: absolute !important;
  left: var(--icx-orange-dot-x, 50%) !important;
  top: var(--icx-orange-dot-y, 50%) !important;
  right: auto !important;
  bottom: auto !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #ff4405 !important;
  box-shadow: 0 0 0 4px rgba(255, 68, 5, 0.14),
              0 0 13px rgba(255, 68, 5, 0.45) !important;
  animation: none !important;
  offset-path: none !important;
  z-index: 5 !important;
  will-change: left, top;
}
#siteFooter .icx-current-footer-orbit > .icx-orbit-center-x {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  transform: translate(-50%, -50%) !important;
  color: #f5f1e8 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 27px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.08em !important;
  text-align: center !important;
  text-shadow: 0 0 11px rgba(11, 132, 87, 0.26),
               0 0 14px rgba(10, 93, 194, 0.2) !important;
  z-index: 6 !important;
  pointer-events: none !important;
}
@media (prefers-reduced-motion: reduce) {
  #siteFooter .icx-current-footer-orbit > span:nth-of-type(2) {
    will-change: auto;
  }
}
/* ICX-ORANGE-DOT-INNER-RING-MOTION-V1-END */

/* ICX-ELLIPTICAL-ORBIT-MOTION-V2-BEGIN */

/* Keep the orbit decorative, separate from the actual footer logo. */
#siteFooter {
  position: relative !important;
  isolation: isolate !important;
}

#siteFooter .icx-current-footer-orbit {
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  opacity: .88 !important;
  overflow: visible !important;
  animation: none !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Put footer content above the decorative animation. */
#siteFooter .footer-main {
  position: relative !important;
  z-index: 1 !important;
}

/* Both ellipses use identical dimensions and identical stroke thickness. */
#siteFooter .icx-current-footer-orbit::before,
#siteFooter .icx-current-footer-orbit::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: 78% !important;
  height: 48% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: .98 !important;
  transform-origin: 50% 50%;
  z-index: 0 !important;
}

/* Blue ellipse rotates clockwise. */
#siteFooter .icx-current-footer-orbit::before {
  border-color: #0a5dc2 !important;
  transform: translate(-50%, -50%) rotate(-55deg);
  animation: icxFooterBlueEllipseSpinV2 68s linear infinite !important;
}

/* Orange ellipse rotates in the opposite direction. */
#siteFooter .icx-current-footer-orbit::after {
  border-color: #ff4405 !important;
  transform: translate(-50%, -50%) rotate(55deg);
  animation: icxFooterOrangeEllipseSpinV2 54s linear infinite !important;
}

@keyframes icxFooterBlueEllipseSpinV2 {
  from { transform: translate(-50%, -50%) rotate(-55deg); }
  to   { transform: translate(-50%, -50%) rotate(305deg); }
}

@keyframes icxFooterOrangeEllipseSpinV2 {
  from { transform: translate(-50%, -50%) rotate(55deg); }
  to   { transform: translate(-50%, -50%) rotate(-305deg); }
}

/* Hide the two unused satellite dots. */
#siteFooter .icx-current-footer-orbit > span:nth-of-type(1),
#siteFooter .icx-current-footer-orbit > span:nth-of-type(3) {
  display: none !important;
}

/* Center the remaining orange dot; JavaScript updates its ellipse coordinates. */
#siteFooter .icx-current-footer-orbit > span {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

#siteFooter .icx-current-footer-orbit > span:nth-of-type(2) {
  display: block !important;
  left: calc(50% + var(--icx-orbit-dot-x, 0px)) !important;
  top: calc(50% + var(--icx-orbit-dot-y, 0px)) !important;
  width: 8px !important;
  height: 8px !important;
  background: #ff4405 !important;
  border-radius: 50% !important;
  box-shadow:
    0 0 0 4px rgba(255, 68, 5, .13),
    0 0 12px rgba(255, 68, 5, .68) !important;
  transform: translate(-50%, -50%) !important;
  offset-path: none !important;
  animation: none !important;
  z-index: 4 !important;
}

/* The logo image is replaced by a larger, precisely centered white X. */
#siteFooter .icx-current-footer-orbit > .icx-orbit-center-x {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f5f1e8 !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: clamp(44px, 4vw, 60px) !important;
  font-weight: 800 !important;
  line-height: .9 !important;
  letter-spacing: -.09em !important;
  text-align: center !important;
  text-shadow: 0 0 16px rgba(245, 241, 232, .16) !important;
  transform: translate(-50%, -50%) !important;
  z-index: 3 !important;
  user-select: none !important;
}

/* Respect users who request reduced motion. */
@media (prefers-reduced-motion: reduce) {
  #siteFooter .icx-current-footer-orbit::before,
  #siteFooter .icx-current-footer-orbit::after {
    animation: none !important;
  }
}

/* Compact positioning for mobile layouts. */
@media (max-width: 760px) {
  #siteFooter .icx-current-footer-orbit {
  opacity: .32 !important;
}

  #siteFooter .icx-current-footer-orbit > .icx-orbit-center-x {
    font-size: 44px !important;
  }
}

/* ICX-ELLIPTICAL-ORBIT-MOTION-V2-END */

/* ICX-ORBIT-ANIMATION-ENFORCEMENT-V3-BEGIN */
#siteFooter .icx-current-footer-orbit::before {
  animation: icxFooterBlueEllipseSpinV2 68s linear infinite !important;
}
#siteFooter .icx-current-footer-orbit::after {
  animation: icxFooterOrangeEllipseSpinV2 54s linear infinite !important;
}
/* ICX-ORBIT-ANIMATION-ENFORCEMENT-V3-END */

/* ICX-ORBIT-ANIMATION-REPAIR-V5-BEGIN */

/*
 * Transform declarations on the existing pseudo-elements must not be
 * !important: important static transforms take precedence over CSS keyframes.
 * Geometry, colors, position, stroke widths and center artwork are untouched.
 */
#siteFooter .icx-current-footer-orbit::before {
  animation: icxFooterBlueActualMotionV5 68s linear infinite !important;
}

#siteFooter .icx-current-footer-orbit::after {
  animation: icxFooterOrangeActualMotionV5 54s linear infinite !important;
}

@keyframes icxFooterBlueActualMotionV5 {
  from { transform: translate(-50%, -50%) rotate(-55deg); }
  to   { transform: translate(-50%, -50%) rotate(305deg); }
}

@keyframes icxFooterOrangeActualMotionV5 {
  from { transform: translate(-50%, -50%) rotate(55deg); }
  to   { transform: translate(-50%, -50%) rotate(-305deg); }
}

/* ICX-ORBIT-ANIMATION-REPAIR-V5-END */

/* ICX-SECURE-WORD-ACCENT-BEGIN */
html body .icx-secure-word-accent {
  color: #ff4405 !important;
}
/* ICX-SECURE-WORD-ACCENT-END */

/* ICX-SECURITY-AUDIT-STYLES-BEGIN */

/*
 * Scoped Security Auditing section.
 * Do not apply these rules to existing cards, headings, footer, or orbit.
 */
#icx-security-audit.icx-security-audit {
  position: relative;
  isolation: isolate;
  padding-block: clamp(76px, 9vw, 132px);
  overflow: hidden;
  color: var(--ink, #14140f);
  background: var(--paper, #f5f1e8);
  border-block: 1px solid rgba(20, 20, 15, .12);
}

#icx-security-audit .icx-security-audit__layout {
  display: grid;
  grid-template-columns:
    minmax(225px, .88fr)
    minmax(285px, 1fr)
    minmax(190px, .76fr);
  align-items: center;
  gap: clamp(24px, 3.5vw, 56px);
}

#icx-security-audit .icx-security-audit__intro {
  min-width: 0;
}

#icx-security-audit .icx-security-audit__eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 0 0 25px;
  color: var(--ink-soft, #4a4a40);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#icx-security-audit .icx-security-audit__eyebrow span:first-child {
  color: var(--signal, #ff4405);
}

#icx-security-audit .icx-security-audit__eyebrow span:last-child {
  opacity: .7;
}

#icx-security-audit .icx-security-audit__intro h2 {
  margin: 0;
  color: var(--ink, #14140f);
  font-size: clamp(35px, 4.1vw, 58px);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}

#icx-security-audit .icx-security-audit__intro h2 em {
  color: var(--signal, #ff4405);
  font-style: normal;
}

#icx-security-audit .icx-security-audit__lede {
  max-width: 345px;
  margin: 25px 0 0;
  color: var(--ink, #14140f);
  font-size: clamp(16px, 1.45vw, 19px);
  font-weight: 700;
  line-height: 1.5;
}

#icx-security-audit .icx-security-audit__body {
  max-width: 360px;
  margin: 14px 0 0;
  color: var(--ink-soft, #4a4a40);
  font-size: 14px;
  line-height: 1.85;
}

#icx-security-audit .icx-security-audit__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 48px;
  margin-top: 25px;
  padding: 12px 15px;
  color: var(--paper, #f5f1e8);
  background: var(--ink, #14140f);
  border: 1px solid var(--ink, #14140f);
  text-decoration: none;
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

#icx-security-audit .icx-security-audit__cta span:last-child {
  color: var(--signal, #ff4405);
  font-size: 17px;
  transition: transform .18s ease;
}

#icx-security-audit .icx-security-audit__cta:hover {
  color: var(--ink, #14140f);
  background: var(--signal, #ff4405);
  border-color: var(--signal, #ff4405);
}

#icx-security-audit .icx-security-audit__cta:hover span:last-child {
  color: var(--ink, #14140f);
  transform: translate(2px, -2px);
}

#icx-security-audit .icx-security-audit__cta:focus-visible {
  outline: 3px solid var(--signal, #ff4405);
  outline-offset: 4px;
}

#icx-security-audit .icx-security-audit__notice {
  max-width: 335px;
  margin: 18px 0 0;
  color: var(--ink-soft, #4a4a40);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .035em;
}

#icx-security-audit .icx-security-audit__visual {
  position: relative;
  display: grid;
  width: 100%;
  max-width: 370px;
  aspect-ratio: 1;
  place-items: center;
  justify-self: center;
  min-width: 0;
}

#icx-security-audit .icx-security-audit__orbit {
  position: absolute;
  display: block;
  border: 1px solid rgba(255, 68, 5, .42);
  border-radius: 50%;
  pointer-events: none;
}

#icx-security-audit .icx-security-audit__orbit--outer {
  inset: 2%;
}

#icx-security-audit .icx-security-audit__orbit--inner {
  inset: 10%;
  border-color: rgba(20, 20, 15, .22);
}

#icx-security-audit .icx-security-audit__core {
  position: relative;
  display: flex;
  width: 75%;
  aspect-ratio: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 26px;
  border: 1px solid rgba(255, 68, 5, .78);
  border-radius: 50%;
  background: var(--green, #123e35);
  color: var(--paper, #f5f1e8);
  text-align: center;
  box-shadow: 0 0 0 8px rgba(20, 20, 15, .035);
}

#icx-security-audit .icx-security-audit__core-label {
  margin-bottom: 20px;
  color: var(--signal, #ff4405);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
}

#icx-security-audit .icx-security-audit__core-title {
  font-size: clamp(23px, 2.6vw, 34px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.055em;
}

#icx-security-audit .icx-security-audit__core-rule {
  width: 36px;
  height: 2px;
  margin: 20px 0 15px;
  background: var(--signal, #ff4405);
}

#icx-security-audit .icx-security-audit__core-footer {
  max-width: 175px;
  color: rgba(245, 241, 232, .8);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .025em;
}

#icx-security-audit .icx-security-audit__capabilities {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: clamp(14px, 2vw, 24px);
  min-width: 0;
}

#icx-security-audit .icx-security-audit__card {
  position: relative;
  display: flex;
  width: clamp(175px, 15vw, 205px);
  max-width: 100%;
  aspect-ratio: 1;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 23px 19px;
  border: 1px solid rgba(20, 20, 15, .23);
  border-radius: 50%;
  background: var(--paper-soft, #ebe6da);
  color: var(--ink, #14140f);
  text-align: center;
  transition: transform .2s ease, border-color .2s ease;
}

#icx-security-audit .icx-security-audit__card--harden {
  background: var(--ink, #14140f);
  border-color: var(--ink, #14140f);
  color: var(--paper, #f5f1e8);
}

#icx-security-audit .icx-security-audit__card-index {
  margin-bottom: 10px;
  color: var(--signal, #ff4405);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .07em;
}

#icx-security-audit .icx-security-audit__card h3 {
  margin: 0;
  color: inherit;
  font-size: clamp(20px, 1.9vw, 25px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

#icx-security-audit .icx-security-audit__card p {
  max-width: 155px;
  margin: 10px 0 0;
  color: inherit;
  font-size: 11px;
  line-height: 1.65;
  opacity: .78;
}

#icx-security-audit .icx-security-audit__card-arrow {
  position: absolute;
  right: 25px;
  bottom: 22px;
  color: var(--signal, #ff4405);
  font-size: 14px;
}

@media (hover: hover) and (pointer: fine) {
  #icx-security-audit .icx-security-audit__card--test:hover {
    transform: translateY(-3px);
    border-color: var(--signal, #ff4405);
  }

  #icx-security-audit .icx-security-audit__card--harden:hover {
    transform: translateY(3px);
    border-color: var(--signal, #ff4405);
  }
}

@media (max-width: 1000px) {
  #icx-security-audit .icx-security-audit__layout {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .95fr);
    gap: 30px;
  }

  #icx-security-audit .icx-security-audit__visual {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    max-width: 340px;
  }

  #icx-security-audit .icx-security-audit__intro {
    grid-column: 1;
    grid-row: 1;
  }

  #icx-security-audit .icx-security-audit__capabilities {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 8px;
  }

  #icx-security-audit .icx-security-audit__card {
    width: clamp(175px, 25vw, 205px);
  }
}

@media (max-width: 620px) {
  #icx-security-audit.icx-security-audit {
    padding-block: 68px;
  }

  #icx-security-audit .icx-security-audit__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
  }

  #icx-security-audit .icx-security-audit__intro,
  #icx-security-audit .icx-security-audit__visual,
  #icx-security-audit .icx-security-audit__capabilities {
    grid-column: 1;
  }

  #icx-security-audit .icx-security-audit__intro {
    grid-row: 1;
  }

  #icx-security-audit .icx-security-audit__visual {
    grid-row: 2;
    width: min(100%, 340px);
    margin-inline: auto;
  }

  #icx-security-audit .icx-security-audit__capabilities {
    grid-row: 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: center;
    margin-top: 0;
  }

  #icx-security-audit .icx-security-audit__card {
    width: 100%;
    max-width: 190px;
    padding: 17px 12px;
  }

  #icx-security-audit .icx-security-audit__card-index {
    font-size: 8px;
  }

  #icx-security-audit .icx-security-audit__card h3 {
    font-size: clamp(17px, 5vw, 22px);
  }

  #icx-security-audit .icx-security-audit__card p {
    font-size: 10px;
  }

  #icx-security-audit .icx-security-audit__card-arrow {
    right: 18px;
    bottom: 15px;
  }

  #icx-security-audit .icx-security-audit__core {
    padding: 20px;
  }

  #icx-security-audit .icx-security-audit__core-label {
    margin-bottom: 14px;
    font-size: 9px;
  }

  #icx-security-audit .icx-security-audit__core-title {
    font-size: clamp(23px, 7vw, 30px);
  }

  #icx-security-audit .icx-security-audit__core-rule {
    margin-block: 14px 11px;
  }

  #icx-security-audit .icx-security-audit__core-footer {
    font-size: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #icx-security-audit .icx-security-audit__cta,
  #icx-security-audit .icx-security-audit__cta span:last-child,
  #icx-security-audit .icx-security-audit__card {
    transition: none !important;
  }
}

/* ICX-SECURITY-AUDIT-STYLES-END */

/* ICX-SECURITY-SHAPE-EXPANSION-BEGIN */

/* Left / centre / right composition; only affects the Security Auditing section. */
#icx-security-audit .icx-security-audit__layout {
  grid-template-columns:
    minmax(220px, .82fr)
    minmax(270px, .92fr)
    minmax(300px, 1fr);
  gap: clamp(20px, 2.4vw, 36px);
}

#icx-security-audit .icx-security-audit__capabilities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  align-content: center;
  justify-items: stretch;
  gap: 14px;
  min-width: 0;
}

#icx-security-audit .icx-security-audit__card {
  display: flex;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 19px 15px;
  border-width: 1px;
  border-style: solid;
  text-align: center;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

/* Shape 1 — asymmetrical rounded rectangle. */
#icx-security-audit .icx-security-audit__card--test {
  border-radius: 27px 27px 6px 27px;
  clip-path: none;
  background: var(--paper-soft, #ebe6da);
  border-color: rgba(255, 68, 5, .6);
  color: var(--ink, #14140f);
}

/* Shape 2 — angular, cut-corner tile. */
#icx-security-audit .icx-security-audit__card--harden {
  border-radius: 4px;
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
  background: var(--ink, #14140f);
  border-color: var(--ink, #14140f);
  color: var(--paper, #f5f1e8);
}

/* Shape 3 — hexagonal tile. */
#icx-security-audit .icx-security-audit__card--patch {
  border-radius: 0;
  clip-path: polygon(10% 0, 90% 0, 100% 50%, 90% 100%, 10% 100%, 0 50%);
  background: var(--green, #1e4a46);
  border-color: var(--signal, #ff4405);
  color: var(--paper, #f5f1e8);
}

/* Shape 4 — long asymmetric pill / rounded tile. */
#icx-security-audit .icx-security-audit__card--verify {
  border-radius: 42px 8px 42px 8px;
  clip-path: none;
  background: var(--paper, #f5f1e8);
  border-color: rgba(30, 74, 70, .5);
  color: var(--ink, #14140f);
}

#icx-security-audit .icx-security-audit__card-index {
  display: block;
  margin: 0 0 9px;
  color: var(--signal, #ff4405);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: clamp(8px, .72vw, 10px);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .035em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

#icx-security-audit .icx-security-audit__card h3 {
  margin: 0;
  color: inherit;
  font-size: clamp(17px, 1.55vw, 23px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

#icx-security-audit .icx-security-audit__card p {
  max-width: 190px;
  margin: 9px 0 0;
  color: inherit;
  font-size: clamp(9px, .78vw, 11px);
  line-height: 1.6;
  opacity: .82;
  overflow-wrap: anywhere;
}

/* The existing central circle gains a subtle, isolated hover response. */
#icx-security-audit .icx-security-audit__core {
  transform-origin: center center;
  transition:
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease;
}

@media (hover: hover) and (pointer: fine) {
  #icx-security-audit .icx-security-audit__core:hover {
    transform: translateY(-4px) scale(1.025);
    border-color: var(--signal, #ff4405);
    box-shadow:
      0 0 0 8px rgba(20, 20, 15, .035),
      0 16px 36px rgba(20, 20, 15, .16);
  }

  #icx-security-audit .icx-security-audit__card--test:hover {
    transform: translateY(-3px);
  }

  #icx-security-audit .icx-security-audit__card--harden:hover {
    transform: translateY(-3px);
    border-color: var(--signal, #ff4405);
  }

  #icx-security-audit .icx-security-audit__card--patch:hover {
    transform: translateY(-3px);
  }

  #icx-security-audit .icx-security-audit__card--verify:hover {
    transform: translateY(-3px);
  }
}

@media (max-width: 1000px) {
  #icx-security-audit .icx-security-audit__layout {
    grid-template-columns: minmax(0, 1fr) minmax(250px, .92fr);
    gap: 28px;
  }

  #icx-security-audit .icx-security-audit__intro {
    grid-column: 1;
    grid-row: 1;
  }

  #icx-security-audit .icx-security-audit__visual {
    grid-column: 2;
    grid-row: 1;
  }

  #icx-security-audit .icx-security-audit__capabilities {
    grid-column: 1 / -1;
    grid-row: 2;
    width: min(100%, 620px);
    justify-self: end;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  #icx-security-audit .icx-security-audit__card {
    padding: 16px 10px;
  }
}

@media (max-width: 760px) {
  #icx-security-audit .icx-security-audit__capabilities {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 460px;
    justify-self: center;
    gap: 12px;
  }

  #icx-security-audit .icx-security-audit__card {
    padding: 18px 13px;
  }

  #icx-security-audit .icx-security-audit__card-index {
    font-size: 9px;
  }

  #icx-security-audit .icx-security-audit__card h3 {
    font-size: clamp(18px, 3vw, 22px);
  }

  #icx-security-audit .icx-security-audit__card p {
    font-size: 10px;
  }
}

@media (max-width: 620px) {
  #icx-security-audit .icx-security-audit__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  #icx-security-audit .icx-security-audit__intro {
    grid-column: 1;
    grid-row: 1;
  }

  #icx-security-audit .icx-security-audit__visual {
    grid-column: 1;
    grid-row: 2;
    justify-self: center;
    width: min(100%, 330px);
  }

  #icx-security-audit .icx-security-audit__capabilities {
    grid-column: 1;
    grid-row: 3;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 10px;
  }

  #icx-security-audit .icx-security-audit__card {
    aspect-ratio: 1 / 1;
    padding: 15px 10px;
  }

  #icx-security-audit .icx-security-audit__card-index {
    font-size: 8px;
    letter-spacing: 0;
  }

  #icx-security-audit .icx-security-audit__card h3 {
    font-size: clamp(16px, 5vw, 20px);
  }

  #icx-security-audit .icx-security-audit__card p {
    font-size: 9px;
    line-height: 1.5;
  }
}

@media (prefers-reduced-motion: reduce) {
  #icx-security-audit .icx-security-audit__core,
  #icx-security-audit .icx-security-audit__card {
    transition: none !important;
  }

  #icx-security-audit .icx-security-audit__core:hover,
  #icx-security-audit .icx-security-audit__card--test:hover,
  #icx-security-audit .icx-security-audit__card--harden:hover,
  #icx-security-audit .icx-security-audit__card--patch:hover,
  #icx-security-audit .icx-security-audit__card--verify:hover {
    transform: none !important;
  }
}

/* ICX-SECURITY-SHAPE-EXPANSION-END */

/* ICX-INCIDENT-RESPONSE-STYLES-BEGIN */

/* Independent dark section; no global or existing-component selectors. */
#icx-incident-response.icx-incident-response {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(78px, 9vw, 132px);
  color: var(--paper, #f5f1e8);
  background:
    radial-gradient(circle at 53% 45%, rgba(216, 157, 78, .075), transparent 36%),
    var(--green, #1e4a46);
  border-block: 1px solid rgba(245, 241, 232, .12);
}

#icx-incident-response .icx-ir-layout {
  display: grid;
  grid-template-columns:
    minmax(220px, .84fr)
    minmax(245px, .9fr)
    minmax(285px, 1fr);
  align-items: center;
  gap: clamp(20px, 2.6vw, 40px);
}

#icx-incident-response .icx-ir-intro {
  min-width: 0;
}

#icx-incident-response .icx-ir-eyebrow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 13px;
  align-items: center;
  margin: 0 0 24px;
  color: rgba(245, 241, 232, .7);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: .055em;
  text-transform: uppercase;
}

#icx-incident-response .icx-ir-eyebrow span:first-child {
  color: var(--gold, #d89d4e);
}

#icx-incident-response .icx-ir-intro h2 {
  margin: 0;
  color: var(--paper, #f5f1e8);
  font-size: clamp(34px, 3.7vw, 53px);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}

#icx-incident-response .icx-ir-intro h2 em {
  color: var(--signal, #ff4405);
  font-style: normal;
}

#icx-incident-response .icx-ir-lede {
  max-width: 360px;
  margin: 24px 0 0;
  color: var(--paper, #f5f1e8);
  font-size: clamp(16px, 1.4vw, 19px);
  font-weight: 700;
  line-height: 1.55;
}

#icx-incident-response .icx-ir-body {
  max-width: 365px;
  margin: 14px 0 0;
  color: rgba(245, 241, 232, .76);
  font-size: 13px;
  line-height: 1.9;
}

#icx-incident-response .icx-ir-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 48px;
  margin-top: 26px;
  padding: 12px 15px;
  color: var(--ink, #14140f);
  background: var(--gold, #d89d4e);
  border: 1px solid var(--gold, #d89d4e);
  text-decoration: none;
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  transition: background-color .18s ease, border-color .18s ease;
}

#icx-incident-response .icx-ir-cta span:last-child {
  color: var(--ink, #14140f);
  font-size: 17px;
  transition: transform .18s ease;
}

#icx-incident-response .icx-ir-cta:hover {
  background: var(--signal, #ff4405);
  border-color: var(--signal, #ff4405);
}

#icx-incident-response .icx-ir-cta:hover span:last-child {
  transform: translate(2px, -2px);
}

#icx-incident-response .icx-ir-cta:focus-visible {
  outline: 3px solid var(--paper, #f5f1e8);
  outline-offset: 4px;
}

#icx-incident-response .icx-ir-notice {
  max-width: 330px;
  margin: 18px 0 0;
  color: rgba(245, 241, 232, .55);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .035em;
}

#icx-incident-response .icx-ir-diagram {
  position: relative;
  width: min(100%, 330px);
  aspect-ratio: 1 / 1;
  justify-self: center;
  overflow: hidden;
  border: 1px solid rgba(245, 241, 232, .22);
  border-radius: 18px 3px 18px 3px;
  background:
    linear-gradient(rgba(245, 241, 232, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245, 241, 232, .035) 1px, transparent 1px);
  background-size: 22px 22px;
}

#icx-incident-response .icx-ir-diagram::before,
#icx-incident-response .icx-ir-diagram::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border: 1px solid rgba(216, 157, 78, .23);
}

#icx-incident-response .icx-ir-diagram::before {
  inset: 9%;
  transform: rotate(45deg);
}

#icx-incident-response .icx-ir-diagram::after {
  inset: 18%;
  border-color: rgba(245, 241, 232, .16);
}

#icx-incident-response .icx-ir-link {
  position: absolute;
  z-index: 1;
  display: block;
  height: 1px;
  transform-origin: left center;
  background: rgba(216, 157, 78, .78);
}

#icx-incident-response .icx-ir-link--one {
  width: 31%;
  left: 22%;
  top: 25%;
  transform: rotate(39deg);
}

#icx-incident-response .icx-ir-link--two {
  width: 31%;
  left: 54%;
  top: 48%;
  transform: rotate(-39deg);
}

#icx-incident-response .icx-ir-link--three {
  width: 31%;
  left: 22%;
  top: 69%;
  transform: rotate(-39deg);
}

#icx-incident-response .icx-ir-link--four {
  width: 31%;
  left: 54%;
  top: 48%;
  transform: rotate(39deg);
}

#icx-incident-response .icx-ir-node {
  position: absolute;
  z-index: 2;
  display: grid;
  min-width: 82px;
  min-height: 33px;
  place-items: center;
  padding: 6px 8px;
  color: var(--paper, #f5f1e8);
  background: rgba(20, 20, 15, .84);
  border: 1px solid rgba(245, 241, 232, .35);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .035em;
  text-align: center;
}

#icx-incident-response .icx-ir-node--signal {
  top: 13%;
  left: 7%;
  border-color: var(--gold, #d89d4e);
}

#icx-incident-response .icx-ir-node--investigate {
  top: 13%;
  right: 7%;
  border-radius: 12px 2px 12px 2px;
}

#icx-incident-response .icx-ir-node--contain {
  bottom: 13%;
  left: 7%;
  border-radius: 2px;
  clip-path: polygon(0 0, 88% 0, 100% 25%, 100% 100%, 0 100%);
}

#icx-incident-response .icx-ir-node--recover {
  right: 7%;
  bottom: 13%;
  border-color: var(--signal, #ff4405);
}

#icx-incident-response .icx-ir-core {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: 75px;
  aspect-ratio: 1;
  place-items: center;
  color: var(--ink, #14140f);
  background: var(--signal, #ff4405);
  border: 1px solid var(--paper, #f5f1e8);
  transform: translate(-50%, -50%) rotate(45deg);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 19px;
  font-weight: 800;
}

#icx-incident-response .icx-ir-core::first-letter {
  transform: rotate(-45deg);
}

#icx-incident-response .icx-ir-diagram-caption {
  position: absolute;
  z-index: 4;
  right: 12px;
  bottom: 10px;
  left: 12px;
  color: rgba(245, 241, 232, .58);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .04em;
  text-align: center;
}

#icx-incident-response .icx-ir-capabilities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
  min-width: 0;
}

#icx-incident-response .icx-ir-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 164px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 18px 15px;
  border: 1px solid rgba(245, 241, 232, .28);
  color: var(--paper, #f5f1e8);
  background: rgba(20, 20, 15, .15);
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

#icx-incident-response .icx-ir-card--investigate {
  border-radius: 13px 2px 13px 2px;
  border-top: 2px solid var(--gold, #d89d4e);
}

#icx-incident-response .icx-ir-card--contain {
  border-radius: 2px;
  clip-path: polygon(0 0, calc(100% - 17px) 0, 100% 17px, 100% 100%, 0 100%);
  background: rgba(20, 20, 15, .38);
}

#icx-incident-response .icx-ir-card--recover {
  border-radius: 2px 2px 2px 12px;
  border-left: 3px solid var(--signal, #ff4405);
}

#icx-incident-response .icx-ir-card--learn {
  border-radius: 18px 4px 18px 4px;
  border-color: rgba(216, 157, 78, .48);
  background: rgba(245, 241, 232, .055);
}

#icx-incident-response .icx-ir-card-label {
  margin: 0 0 13px;
  color: var(--gold, #d89d4e);
  font-family: var(--mono, "JetBrains Mono", monospace);
  font-size: 8px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: .025em;
  overflow-wrap: anywhere;
}

#icx-incident-response .icx-ir-card h3 {
  margin: 0;
  color: var(--paper, #f5f1e8);
  font-size: clamp(16px, 1.5vw, 21px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

#icx-incident-response .icx-ir-card p {
  margin: 10px 0 0;
  color: rgba(245, 241, 232, .77);
  font-size: 10px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

@media (hover: hover) and (pointer: fine) {
  #icx-incident-response .icx-ir-card:hover {
    transform: translateY(-3px);
    border-color: var(--gold, #d89d4e);
    background-color: rgba(20, 20, 15, .31);
  }
}

@media (max-width: 1060px) {
  #icx-incident-response .icx-ir-layout {
    grid-template-columns: minmax(0, .95fr) minmax(250px, 1fr);
    gap: 30px;
  }

  #icx-incident-response .icx-ir-intro {
    grid-column: 1;
    grid-row: 1;
  }

  #icx-incident-response .icx-ir-diagram {
    grid-column: 2;
    grid-row: 1;
  }

  #icx-incident-response .icx-ir-capabilities {
    grid-column: 1 / -1;
    grid-row: 2;
    width: min(100%, 650px);
    justify-self: end;
  }

  #icx-incident-response .icx-ir-card {
    min-height: 150px;
  }
}

@media (max-width: 700px) {
  #icx-incident-response.icx-incident-response {
    padding-block: 68px;
  }

  #icx-incident-response .icx-ir-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  #icx-incident-response .icx-ir-intro {
    grid-column: 1;
    grid-row: 1;
  }

  #icx-incident-response .icx-ir-diagram {
    grid-column: 1;
    grid-row: 2;
    width: min(100%, 330px);
    justify-self: center;
  }

  #icx-incident-response .icx-ir-capabilities {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    max-width: 500px;
    justify-self: center;
    gap: 10px;
  }

  #icx-incident-response .icx-ir-card {
    min-height: 148px;
    padding: 17px 13px;
  }

  #icx-incident-response .icx-ir-card-label {
    font-size: 8px;
  }

  #icx-incident-response .icx-ir-card h3 {
    font-size: clamp(16px, 4.7vw, 20px);
  }

  #icx-incident-response .icx-ir-card p {
    font-size: 10px;
  }
}

@media (max-width: 360px) {
  #icx-incident-response .icx-ir-card {
    padding: 14px 10px;
  }

  #icx-incident-response .icx-ir-card-label {
    font-size: 7px;
    letter-spacing: 0;
  }

  #icx-incident-response .icx-ir-card h3 {
    font-size: 15px;
  }

  #icx-incident-response .icx-ir-card p {
    font-size: 9px;
  }

  #icx-incident-response .icx-ir-node {
    min-width: 74px;
    font-size: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #icx-incident-response .icx-ir-cta,
  #icx-incident-response .icx-ir-cta span:last-child,
  #icx-incident-response .icx-ir-card {
    transition: none !important;
  }

  #icx-incident-response .icx-ir-card:hover {
    transform: none !important;
  }
}

/* ICX-INCIDENT-RESPONSE-STYLES-END */

/* ICX-NIST-INCIDENT-DIAGRAM-REDESIGN-BEGIN */

/* Replace the old square/diamond diagram with a clean hexagonal model. */
#icx-incident-response .icx-ir-visual {
  display: grid;
  width: 100%;
  min-width: 0;
  justify-items: center;
  align-content: center;
  gap: 6px;
}

#icx-incident-response .icx-ir-diagram {
  position: relative;
  display: block;
  width: min(100%, 430px);
  min-width: 0;
  aspect-ratio: 520 / 410;
  justify-self: center;
  overflow: visible;
  padding: 0;
  margin: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#icx-incident-response .icx-ir-diagram::before,
#icx-incident-response .icx-ir-diagram::after {
  content: none !important;
  display: none !important;
}

#icx-incident-response .icx-ir-nist-hexagon {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

#icx-incident-response .icx-ir-hex-outline {
  fill: rgba(245, 241, 232, .025);
  stroke: rgba(216, 157, 78, .82);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

#icx-incident-response .icx-ir-hex-inner {
  fill: none;
  stroke: rgba(245, 241, 232, .16);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

#icx-incident-response .icx-ir-hex-link {
  stroke: rgba(216, 157, 78, .25);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

#icx-incident-response .icx-ir-hex-node polygon {
  fill: #1e4a46;
  stroke: #d89d4e;
  stroke-width: 1.3;
  vector-effect: non-scaling-stroke;
}

#icx-incident-response .icx-ir-hex-node--response polygon {
  fill: #20211b;
  stroke: #ff4405;
}

#icx-incident-response .icx-ir-hex-node text {
  fill: #f5f1e8;
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .015em;
  text-anchor: middle;
  dominant-baseline: middle;
}

#icx-incident-response .icx-ir-hex-centre-top {
  fill: #d89d4e;
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-anchor: middle;
  dominant-baseline: middle;
}

#icx-incident-response .icx-ir-hex-centre-main {
  fill: #f5f1e8;
  font-family: "Barlow Condensed", Impact, sans-serif;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -.025em;
  text-anchor: middle;
  dominant-baseline: middle;
}

#icx-incident-response .icx-ir-hex-centre-rule {
  stroke: #ff4405;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

#icx-incident-response .icx-ir-hex-centre-bottom {
  fill: #f5f1e8;
  font-family: "JetBrains Mono", monospace;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .05em;
  text-anchor: middle;
  dominant-baseline: middle;
}

/* Correct explanatory legend: these functions are not presented as six
   sequential incident-response phases. */
#icx-incident-response .icx-ir-model-copy {
  width: min(100%, 410px);
  margin: 0 auto;
  padding: 0 7px;
  box-sizing: border-box;
}

#icx-incident-response .icx-ir-model-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 11px;
  margin: 7px 0;
  color: rgba(245, 241, 232, .82);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.7;
}

#icx-incident-response .icx-ir-model-line > span {
  color: #d89d4e;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .035em;
}

#icx-incident-response .icx-ir-model-line b {
  color: #ff4405;
  font-weight: 800;
}

#icx-incident-response .icx-ir-model-note {
  margin: 9px 0 0;
  color: rgba(245, 241, 232, .64);
  font-size: 10px;
  line-height: 1.7;
}

#icx-incident-response .icx-ir-nist-reference {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 10px;
  color: #d89d4e;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .035em;
  text-decoration: none;
}

#icx-incident-response .icx-ir-nist-reference:hover {
  color: #ff4405;
  text-decoration: underline;
  text-underline-offset: 4px;
}

#icx-incident-response .icx-ir-nist-reference:focus-visible {
  outline: 2px solid #ff4405;
  outline-offset: 4px;
}

/* Every capability card uses the same shape as the previous Learn card:
   asymmetric rounded corners, restrained gold border, translucent surface. */
#icx-incident-response .icx-ir-card,
#icx-incident-response .icx-ir-card--investigate,
#icx-incident-response .icx-ir-card--contain,
#icx-incident-response .icx-ir-card--recover,
#icx-incident-response .icx-ir-card--learn {
  box-sizing: border-box;
  border: 1px solid rgba(216, 157, 78, .48) !important;
  border-radius: 18px 4px 18px 4px !important;
  clip-path: none !important;
  background: rgba(245, 241, 232, .055) !important;
  color: #f5f1e8 !important;
}

#icx-incident-response .icx-ir-card-label {
  color: #d89d4e !important;
}

#icx-incident-response .icx-ir-card h3 {
  color: #f5f1e8 !important;
}

#icx-incident-response .icx-ir-card p {
  color: rgba(245, 241, 232, .78) !important;
}

@media (hover: hover) and (pointer: fine) {
  #icx-incident-response .icx-ir-card:hover {
    border-color: #ff4405 !important;
    background: rgba(245, 241, 232, .085) !important;
  }
}

@media (max-width: 1060px) {
  #icx-incident-response .icx-ir-visual {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 700px) {
  #icx-incident-response .icx-ir-visual {
    grid-column: 1;
    grid-row: 2;
    width: min(100%, 430px);
    justify-self: center;
  }

  #icx-incident-response .icx-ir-diagram {
    width: 100%;
  }

  #icx-incident-response .icx-ir-model-copy {
    padding-inline: 4px;
  }

  #icx-incident-response .icx-ir-model-line {
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #icx-incident-response .icx-ir-card {
    transition: none !important;
  }
}

/* ICX-NIST-INCIDENT-DIAGRAM-REDESIGN-END */

/* ICX-SECURITY-LEARN-SHAPE-ALIGNMENT-BEGIN */

/* Match the existing Incident Response Learn-card silhouette.
   Only shape properties change; card colours, borders, text and spacing stay intact. */
#icx-security-audit .icx-security-audit__card,
#icx-security-audit .icx-security-audit__card--test,
#icx-security-audit .icx-security-audit__card--harden,
#icx-security-audit .icx-security-audit__card--patch,
#icx-security-audit .icx-security-audit__card--verify {
  border-radius: 18px 4px 18px 4px !important;
  clip-path: none !important;
}

/* ICX-SECURITY-LEARN-SHAPE-ALIGNMENT-END */

/* ICX-MOBILE-NAV-PAPER-GLASS-20261024:BEGIN
   Uniform homepage paper-glass header and full-viewport mobile drawer.
*/

/*
 * Important: keep backdrop-filter OFF the header element itself.
 * A filtered header creates a containing block for fixed descendants,
 * which can collapse the mobile drawer to a shallow strip.
 * The pseudo-element supplies the glass effect without constraining the drawer.
 */
body.community-home header#top.topbar,
body.community-home header#top.topbar.is-scrolled,
body.community-home header#top.topbar.is-light,
body.community-home header#top.topbar.is-dark,
body.community-home header#top.topbar[data-nav-theme],
body.community-home header#top.topbar.icx-nav-scrolled,
body.community-home header#top.topbar.icx-nav-on-light,
body.community-home header#top.topbar.icx-nav-on-dark,
body.community-home header#top.topbar.icx-nav-scrolled.icx-nav-on-light,
body.community-home header#top.topbar.icx-nav-scrolled.icx-nav-on-dark {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  isolation: isolate !important;
  overflow: visible !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  transform: none !important;
  perspective: none !important;
  contain: none !important;
  will-change: auto !important;

  color: #14140F !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Paint the glass as a sibling of the navigation, not on its ancestor. */
body.community-home header#top.topbar::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: rgba(245, 241, 232, 0.84) !important;
  border-bottom: 1px solid rgba(20, 20, 15, 0.14) !important;
  box-shadow: 0 8px 26px rgba(20, 20, 15, 0.08) !important;
  -webkit-backdrop-filter: blur(18px) saturate(125%) !important;
  backdrop-filter: blur(18px) saturate(125%) !important;
}

body.community-home header#top.topbar .brand-name,
body.community-home header#top.topbar .brand-tag,
body.community-home header#top.topbar nav#primaryNav.nav-links > a:not(.nav-join),
body.community-home header#top.topbar nav#primaryNav.nav-links > a:not(.nav-join):hover,
body.community-home header#top.topbar nav#primaryNav.nav-links > a:not(.nav-join).active,
body.community-home header#top.topbar nav#primaryNav.nav-links > a:not(.nav-join)[aria-current="location"] {
  color: #14140F !important;
  -webkit-text-fill-color: #14140F !important;
}

body.community-home header#top.topbar .brand-name span {
  color: #FF4405 !important;
  -webkit-text-fill-color: #FF4405 !important;
}

body.community-home header#top.topbar .brand-divider {
  background-color: rgba(20, 20, 15, 0.20) !important;
}

body.community-home header#top.topbar button#menuToggle.menu-toggle span {
  background-color: #14140F !important;
}

body.community-home header#top.topbar nav#primaryNav.nav-links > a:not(.nav-join)::after {
  background-color: #FF4405 !important;
}

body.community-home header#top.topbar nav#primaryNav.nav-links > a.nav-join {
  background: #FF4405 !important;
  background-color: #FF4405 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

/* The drawer must span from below the header to the bottom of the viewport. */
@media (max-width: 760px) {
  body.community-home header#top.topbar {
    height: 68px !important;
    min-height: 68px !important;
  }

  body.community-home header#top.topbar nav#primaryNav.nav-links,
  body.community-home header#top.topbar nav#primaryNav.nav-links.open {
    position: fixed !important;
    top: 68px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    z-index: 1001 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 25px 22px max(40px, env(safe-area-inset-bottom)) !important;

    /* Nearly opaque glass: page text must not bleed through the menu. */
    background: rgba(245, 241, 232, 0.985) !important;
    background-color: rgba(245, 241, 232, 0.985) !important;
    background-image: none !important;
    color: #14140F !important;
    border-top: 1px solid rgba(20, 20, 15, 0.14) !important;
    box-shadow: 0 18px 32px rgba(20, 20, 15, 0.10) !important;
    -webkit-backdrop-filter: blur(22px) saturate(125%) !important;
    backdrop-filter: blur(22px) saturate(125%) !important;

    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
  }

  body.community-home header#top.topbar nav#primaryNav.nav-links.open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  body.community-home header#top.topbar nav#primaryNav.nav-links > a:not(.nav-join) {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 58px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 18px 0 !important;

    background: transparent !important;
    color: #14140F !important;
    -webkit-text-fill-color: #14140F !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    text-shadow: none !important;
    text-indent: 0 !important;
    transform: none !important;
    clip-path: none !important;

    font: 700 clamp(20px, 5vw, 26px)/1.1 var(--display, sans-serif) !important;
    letter-spacing: 0.025em !important;
    border-bottom: 1px solid rgba(20, 20, 15, 0.14) !important;
  }

  body.community-home header#top.topbar nav#primaryNav.nav-links > a.nav-join {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 54px !important;
    margin-top: 25px !important;
    padding: 18px 20px !important;
    background: #FF4405 !important;
    background-color: #FF4405 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.community-home header#top.topbar nav#primaryNav.nav-links > a.nav-join * {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}
/* ICX-MOBILE-NAV-PAPER-GLASS-20261024:END */
