:root{--bg:#101714;--paper:#e9ebe2;--muted:#a9b2a8;--acid:#d5f49c;--line:#364039}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--paper);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--acid);outline-offset:6px}::selection{background:var(--acid);color:var(--bg)}header{height:105px;margin:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;font-size:39px;line-height:.9;letter-spacing:-3px;font-weight:700}.brand-small{display:block;font-size:8px;line-height:2;letter-spacing:2.7px;font-weight:400;margin-top:8px}.brand-symbol{font-size:46px;font-weight:400;transform:rotate(-40deg);color:var(--acid)}nav{display:flex;gap:36px;font-size:13px}nav a:hover,.header-contact:hover{color:var(--acid)}.header-contact{font-size:13px;border-bottom:1px solid #899483;padding:8px 0}.header-contact span{margin-left:30px}.hero{padding:76px 5% 0;display:grid;grid-template-columns:1.06fr 1fr;position:relative}.eyebrow,.section-label,.hero-foot,.visual-top,.visual-bottom,.tags,.steps article>span,.belief>span{font-family:monospace;font-size:10px;letter-spacing:1.5px}.eyebrow{margin:0 0 30px;color:var(--acid);display:flex;align-items:center;gap:10px}.eyebrow i,.dot{width:6px;height:6px;display:inline-block;border-radius:100%;background:var(--acid)}h1{font-size:clamp(52px,5.7vw,88px);line-height:1.04;font-weight:400;letter-spacing:-4px;margin:0 0 27px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--acid)}.intro{max-width:390px;color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--acid);color:var(--bg);padding:14px 21px;font-size:12px;transition:background .2s}.button:hover{background:#e8ffc3}.visual{position:relative;min-width:0;min-height:540px;margin-top:16px;background:radial-gradient(ellipse at center,#253b29 0%,#152019 46%,#101714 72%);overflow:hidden}canvas{width:100%;height:100%;position:absolute;inset:0}.visual-top,.visual-bottom{display:flex;justify-content:space-between;position:absolute;left:24px;right:24px;color:#a9b99e;font-size:8px;letter-spacing:1px}.visual-top{top:8px}.visual-bottom{bottom:20px}.cross{position:absolute;font:24px monospace;color:#879879}.cross-one{left:20px;top:70px}.cross-two{right:20px;bottom:70px}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);margin-top:75px;padding:23px 0;color:var(--muted);font-size:9px}.section{padding:90px 5%}.section-label{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:55px}.thesis-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px}h2{font-size:clamp(34px,3.6vw,54px);font-weight:400;line-height:1.16;letter-spacing:-1.8px;margin:0}p{color:var(--muted)}.thesis-grid p{font-size:14px;margin:0 0 20px}.thesis-grid .large-copy{color:var(--paper);font-size:21px;line-height:1.5}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--line)}.principles>div{padding:27px 35px 0 0}.principles>div+div{border-left:1px solid var(--line);padding-left:35px}.principles span{font:10px monospace;color:var(--acid)}h3{font-weight:400;font-size:20px;letter-spacing:-.5px;line-height:1.3}.principles p{font-size:13px;max-width:280px}.focus{background:var(--paper);color:var(--bg)}.focus em{color:#4f6748}.focus .section-label,.focus p{color:#586254}.focus-heading,.approach-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.focus-heading>p,.approach-heading>p{max-width:355px;font-size:14px;margin:0}.focus-list article{border-top:1px solid #bbc2b3;padding:33px 0;display:grid;grid-template-columns:40px 140px 1fr 35px;gap:30px;align-items:center}.index{font:11px monospace;align-self:start;padding-top:10px;color:#627159}.focus-list h3{font-size:27px;margin:0 0 12px}.focus-list p{max-width:640px;font-size:14px;margin:0 0 20px}.tags{display:flex;gap:18px;font-size:8px;letter-spacing:1px}.arrow{align-self:start;font-size:27px}.mini-art{height:110px;width:110px;position:relative;display:grid;place-items:center;color:#687f55}.vision i{position:absolute;width:80px;height:80px;border:1px solid #6d805b;border-radius:50%}.vision i:nth-child(2){width:50px;height:50px}.vision i:nth-child(3){width:16px;height:16px;background:#6d805b}.vision:after{content:'';height:100%;width:1px;background:#a0ad94;transform:rotate(45deg)}.neural{font:100px Georgia;line-height:1}.layers i{position:absolute;width:70px;height:70px;border:1px solid #6d805b;transform:rotate(-30deg) skew(15deg,15deg)}.layers i:nth-child(2){top:5px}.layers i:nth-child(3){bottom:5px}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.steps article{padding:28px 30px 0 0}.steps article+article{padding-left:25px;border-left:1px solid var(--line)}.steps article>span{color:var(--acid);font-size:9px}.steps h3{margin-top:35px}.steps p{font-size:13px}.belief{text-align:center;padding-top:75px;padding-bottom:85px;background:#19241b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.belief .eyebrow{justify-content:center}.belief-quote{font-size:clamp(34px,4.3vw,64px);line-height:1.2;letter-spacing:-2px;color:var(--paper);margin:30px auto}.belief>span{color:var(--muted);font-size:9px}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;padding-top:100px;padding-bottom:100px}.contact-copy{align-self:center}.contact-copy>p{font-size:15px;max-width:400px}.email{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #6e8065;padding:20px 0;font-size:clamp(17px,2vw,27px);letter-spacing:-.7px;color:var(--acid)}.contact-copy .contact-note{font-size:11px;margin-top:20px}footer{margin:0 5%;padding:28px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--muted);font-size:10px}footer .brand{display:block;color:var(--paper);font-size:30px}footer .brand-small{font-size:6px;letter-spacing:2px}footer button{background:none;border:0;color:var(--muted);font-size:10px;cursor:pointer}dialog{max-width:550px;width:calc(100% - 40px);background:var(--bg);color:var(--paper);border:1px solid var(--line);padding:40px}dialog::backdrop{background:#000a}dialog h2{font-size:32px}dialog p{font-size:14px}dialog a{text-decoration:underline}#privacy-close{float:right;background:none;border:0;color:var(--paper);font-size:28px;cursor:pointer}.skip{position:fixed;top:-100px;left:15px;z-index:20;padding:10px;background:var(--acid);color:var(--bg)}.skip:focus{top:10px}@media(min-width:1600px){body{max-width:1600px;margin:auto}}@media(max-width:900px){header{height:90px}nav{gap:20px}.hero{padding-top:50px}h1{letter-spacing:-2.5px}.visual{min-height:470px}.visual-top{font-size:6px}.thesis-grid,.contact{gap:35px}.focus-list article{grid-template-columns:20px 100px 1fr 20px;gap:20px}.mini-art{width:90px}.steps{grid-template-columns:repeat(2,1fr);gap:30px}.steps article:nth-child(3){border-left:0;padding-left:0}}@media(max-width:600px){header{margin:0 6%;height:85px}.brand{font-size:32px}.brand-symbol{font-size:35px}.brand-small{font-size:6px}nav{display:none}.hero{padding:42px 6% 0;grid-template-columns:1fr}.eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:59px;letter-spacing:-3px}.intro{font-size:14px;max-width:320px}.visual{min-height:350px;margin-top:40px}.hero-foot{margin-top:20px;font-size:7px;gap:20px}.hero-foot span:last-child{display:none}.section{padding:60px 6%}.section-label{font-size:8px;margin-bottom:36px;gap:25px}.section-label span:last-child{text-align:right;font-size:7px}.thesis-grid,.contact{grid-template-columns:1fr;gap:30px}.thesis-grid .large-copy{font-size:19px}h2{font-size:37px}.principles{grid-template-columns:1fr;margin-top:35px}.principles>div,.principles>div+div{border-left:0;border-bottom:1px solid var(--line);padding:22px 0}.principles h3{margin:12px 0}.principles p{max-width:none}.focus-heading,.approach-heading{display:block;margin-bottom:35px}.focus-heading>p,.approach-heading>p{margin-top:25px}.focus-list article{grid-template-columns:20px 1fr;gap:15px}.mini-art,.arrow{display:none}.focus-list h3{font-size:23px}.tags{font-size:7px;gap:12px;flex-wrap:wrap}.steps{gap:25px 0}.steps article{padding-right:16px}.steps article+article{padding-left:16px}.steps h3{font-size:19px;margin-top:24px}.steps p{font-size:12px}.belief-quote{font-size:38px;letter-spacing:-1.5px}.contact-copy>p{margin-top:0}footer{margin:0 6%;flex-wrap:wrap;gap:25px}footer>span:first-of-type{width:55%;text-align:right}footer>span:nth-of-type(2){flex:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Original CEAQ logo, extracted unchanged from company letterhead. */
.brand,footer .brand{display:block;background:#f1f4f0;padding:9px 13px;line-height:0;border-radius:2px}.brand img{width:132px;height:auto;display:block}footer .brand img{width:105px}address{font-style:normal;font-size:13px;color:var(--muted);line-height:1.8;margin-top:28px}address strong{color:var(--paper);font-weight:400}@media(max-width:600px){.brand img{width:110px}.brand{padding:7px 10px}h1{font-size:53px}footer .brand img{width:95px}}
/* White brand theme requested by owner. */
:root{--bg:#fff;--paper:#10365b;--muted:#596a78;--acid:#087f8c;--line:#dce4e8}
::selection{background:#c2ecee;color:#10365b}
.brand,footer .brand{background:transparent;padding-left:0}
.visual{background:radial-gradient(ellipse at center,#e2f3f3 0%,#f4fafa 48%,#fff 75%)}
.visual-top,.visual-bottom,.cross{color:#526e7b}
.button{background:#10365b;color:#fff}.button:hover{background:#087f8c}
.focus{background:#f4f7f8;color:#10365b}.focus em{color:#087f8c}.focus .section-label,.focus p{color:#596a78}.focus-list article{border-color:#d5e0e5}.index{color:#526e7b}.mini-art{color:#168a96}.vision i,.layers i{border-color:#168a96}.vision i:nth-child(3){background:#168a96}.vision:after{background:#afcbd0}
.belief{background:#f5f9fa}.email{border-color:#9bbdc4}.header-contact{border-color:#a9bcc5}.skip{background:#10365b;color:#fff}a:focus-visible,button:focus-visible{outline-color:#087f8c}
/* Keep navigation visible while scrolling. */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);margin:0;padding:0 5%;backdrop-filter:blur(12px)}
html{scroll-padding-top:125px}
@media(max-width:600px){header{height:auto;min-height:100px;padding:12px 6%;flex-wrap:wrap;gap:10px}header .brand{order:1}header .header-contact{order:2}header nav{order:3;display:flex;width:100%;justify-content:space-between;gap:16px;font-size:12px;padding-top:6px}html{scroll-padding-top:135px}}
/* Refined navigation and scroll choreography. */
header{height:96px;transition:height .35s ease,box-shadow .35s ease;border-bottom:1px solid #e4ebee;box-shadow:0 3px 25px #10365b04}
header.scrolled{height:80px;box-shadow:0 8px 32px #10365b09}
header nav{gap:4px;padding:5px;border:1px solid #e0e9ed;background:#f4f8f9;border-radius:50px;align-items:center}
header nav a{position:relative;padding:10px 19px;border-radius:30px;font-size:12px;color:#536777;transition:background .3s,color .3s,box-shadow .3s}
header nav a:hover{background:#e4f1f2;color:#087f8c}
header nav a.active{background:#fff;color:#10365b;box-shadow:0 2px 10px #10365b0c}
.header-contact{border:1px solid #10365b;border-radius:30px;padding:11px 19px;transition:background .25s,color .25s}
.header-contact:hover{background:#10365b;color:white}.header-contact span{margin-left:20px}
.scroll-progress{position:absolute;height:2px;bottom:-1px;left:0;width:100%;background:linear-gradient(90deg,#10365b,#16a1ac);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}
.button{border-radius:30px;padding:15px 23px;box-shadow:0 6px 16px #10365b10;transition:transform .3s,background .3s,box-shadow .3s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #10365b20}.button span,.header-contact span,.email span{display:inline-block;transition:transform .3s}.button:hover span{transform:translate(3px,3px)}.header-contact:hover span,.email:hover span{transform:translate(3px,-3px)}
.focus-list article{position:relative;transition:background .4s,padding .4s}.focus-list article:hover{background:#eaf2f4;padding-left:18px;padding-right:18px}.focus-list .mini-art{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.focus-list article:hover .mini-art{transform:rotate(12deg) scale(1.07)}
.steps article{transition:background .35s}.steps article:hover{background:#f5f9fa}
.motion-ready .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.65,.2,1),transform .9s cubic-bezier(.2,.65,.2,1);transition-delay:var(--delay,0ms)}
.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}
.hero-copy h1{animation:hero-in 1.1s cubic-bezier(.2,.65,.2,1) both}.hero-copy .intro{animation:hero-in 1.1s .12s both}.hero-copy .button{animation:hero-in 1.1s .22s both}.visual{animation:visual-in 1.5s .15s both}
@keyframes hero-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes visual-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){header nav a{padding:9px 12px}.header-contact{padding:10px 14px}.header-contact span{margin-left:10px}}
@media(max-width:600px){header,header.scrolled{height:auto;min-height:121px;padding:12px 6%;gap:12px}.brand img{width:102px}header nav{width:100%;display:flex;justify-content:space-between;padding:4px;gap:0}header nav a{font-size:11px;padding:8px 14px;text-align:center;flex:1}.header-contact{font-size:11px;padding:9px 14px}.focus-list article:hover{padding-left:0;padding-right:0}html{scroll-padding-top:150px}}
@media(prefers-reduced-motion:reduce){.hero-copy h1,.hero-copy .intro,.hero-copy .button,.visual{animation:none}.motion-ready .reveal{opacity:1;transform:none}.button:hover,.focus-list article:hover .mini-art{transform:none}}

.focus-list article{grid-template-columns:140px 1fr 35px}@media(max-width:900px){.focus-list article{grid-template-columns:100px 1fr 20px}}@media(max-width:600px){.focus-list article{grid-template-columns:1fr}}

.spatial i{position:absolute;width:72px;height:46px;border:1px solid #168a96;border-radius:15px;transform:rotate(-15deg)}.spatial i+ i{transform:rotate(15deg);width:48px;height:72px}

/* Comfortable touch targets and short-screen navigation. */
.skip{z-index:100}
header nav a,.header-contact{min-height:44px;display:flex;align-items:center;justify-content:center}
#privacy-open,#privacy-close{min-width:44px;min-height:44px}
@media(max-width:600px){html{scroll-padding-top:170px}header nav a{padding:10px 8px}.email{font-size:clamp(16px,4.7vw,22px)}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){header,header.scrolled{height:72px;min-height:72px;padding:8px 4%;flex-wrap:nowrap;gap:10px}header .brand img{width:86px}header nav{order:2;width:auto;flex:1}header nav a{font-size:11px;padding:8px}header .header-contact{order:3;white-space:nowrap}html{scroll-padding-top:95px}}
@media(hover:none){.focus-list article:hover{padding-left:0;padding-right:0}.button:hover,.focus-list article:hover .mini-art{transform:none}}

/* Navigation blends into the white header. */
header nav{background:transparent;border:0;border-radius:0;padding:0;gap:12px}
header nav a{border-radius:0;background:transparent;padding:10px 12px;box-shadow:none}
header nav a::after{content:'';position:absolute;bottom:3px;left:12px;right:12px;height:2px;background:var(--acid);transform:scaleX(0);transition:transform .25s}
header nav a.active,header nav a:hover{background:transparent;box-shadow:none;color:var(--acid)}
header nav a.active::after,header nav a:hover::after{transform:scaleX(1)}
@media(max-width:600px){header nav{gap:0}header nav a{font-size:10px;padding:10px 4px;white-space:nowrap}header nav a::after{left:5px;right:5px}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){header nav{flex:0 1 auto;gap:8px}}

@media(max-width:600px){header nav a{font-size:11px;padding:10px 8px}}

/* Subtle navigation surface with a clear hover response. */
header nav{background:#f3f7f9;border:1px solid #e7eef1;border-radius:14px;padding:4px;gap:4px}
header nav a{border-radius:10px;transition:background .22s,color .22s,box-shadow .22s}
header nav a::after{display:none}
header nav a.active{background:#dfedef;color:#086b77;box-shadow:inset 0 0 0 1px #cce1e5}
@media(hover:hover){header nav a:hover{background:#10365b;color:#fff;box-shadow:0 4px 12px #10365b24}}
@media(max-width:600px){header nav{gap:2px}header nav a{padding:10px 7px}}

@media(max-width:600px){footer{padding-bottom:140px}}

.header-contact.active{background:#10365b;color:#fff;border-color:#10365b;box-shadow:0 4px 16px #10365b22}
