/* Editorial visual layer: atmosphere, illustration, framed product imagery and motion. */
:root { --design-accent:#b0a5ff; }
body { background-image:radial-gradient(ellipse 65% 600px at 90% 0%,#30255e38,transparent); }
.nav { border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(24px); }
.launch-hero { position:relative;grid-template-columns:1.05fr 1fr;gap:42px;min-height:760px;padding-block:80px 90px; }
.launch-hero::before { content:'';position:absolute;inset:0 -3vw;z-index:-1;opacity:.22;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(#000,transparent); }
.launch-hero h1 { font-size:clamp(3.7rem,6.7vw,6.6rem);line-height:.98;letter-spacing:-.065em;margin-block:30px; }
.launch-hero .lede { max-width:460px;font-size:1.1rem; }
.launch-hero .hl { background:linear-gradient(110deg,var(--text) -30%,var(--brand-pale) 45%,var(--brand-lift));background-clip:text;-webkit-background-clip:text;color:transparent; }
.hero-note { padding-top:25px;border-top:1px solid var(--border);max-width:420px; }
.btn { border-radius:8px;transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }
.btn:hover { transform:translateY(-3px); }
.btn--primary { box-shadow:0 5px 25px #6755ff24; }
.workflow-art { position:relative;min-width:0;border:1px solid var(--border-brand);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 96%,var(--brand)),var(--surface-solid));box-shadow:0 35px 90px #0003;perspective:1000px; }
.workflow-art__top { display:flex;justify-content:space-between;gap:15px;padding:23px 26px;align-items:center; }
.art-caption { font-size:.47rem;color:var(--text-2);letter-spacing:.12em; }
.flow-scene { position:relative;padding:25px 26px 30px;isolation:isolate;transform-style:preserve-3d; }
.flow-scene::before { content:'';position:absolute;inset:14% 16%;border-radius:50%;background:#6953f52b;filter:blur(45px);z-index:-1; }
.flow-steps { list-style:none;margin:0;padding:0;display:flex;flex-direction:column; }
.flow-step { display:grid;grid-template-columns:58px 26px 1fr;align-items:center;--rail:var(--border-strong); }
.flow-lane { padding-right:10px;text-align:right;font-family:var(--font-mono);font-size:.5rem;letter-spacing:.11em;text-transform:uppercase;line-height:1.3;color:var(--text-2); }
.flow-step--machine { --rail:var(--brand); }
.flow-step--human { --rail:#2f9e7a; }
.flow-step--machine .flow-lane { color:var(--brand); }
.flow-step--human .flow-lane { color:#2f9e7a; }
.flow-spine { position:relative;align-self:stretch;display:block; }
.flow-spine::before { content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--rail);opacity:.42; }
.flow-step:first-child .flow-spine::before { top:50%; }
.flow-step:last-child .flow-spine::before { bottom:50%; }
.flow-dot { position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--rail);box-shadow:0 0 0 4px color-mix(in srgb,var(--rail) 18%,transparent);animation:flow-pulse 4.8s ease-in-out infinite; }
.flow-step:nth-child(2) .flow-dot { animation-delay:.4s; }
.flow-step:nth-child(3) .flow-dot { animation-delay:.8s; }
.flow-step:nth-child(4) .flow-dot { animation-delay:1.2s; }
@keyframes flow-pulse { 0%,74%,100% { transform:scale(1);opacity:.8 } 10% { transform:scale(1.45);opacity:1 } }
.flow-body { min-width:0;margin-block:9px;padding:12px 15px;background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 12px 34px #0002; }
.flow-step--human .flow-body { border-color:color-mix(in srgb,#2f9e7a 50%,var(--border-strong));background:linear-gradient(115deg,color-mix(in srgb,#2f9e7a 8%,var(--surface-solid)),var(--surface-solid)); }
.flow-body small { display:block;font-size:.45rem;letter-spacing:.09em;color:var(--text-2);margin-bottom:4px; }
.flow-body b { display:block;font-size:clamp(.66rem,.86vw,.88rem);font-weight:500; }
.workflow-art__foot { border-top:1px solid var(--border);padding:21px 26px;display:flex;justify-content:space-between;gap:15px;font-size:.68rem;color:var(--text-2); }
.workflow-art__foot a { color:var(--brand-pale); }
.section-heading { margin-bottom:45px; }
.section-heading h2 { font-size:clamp(2.6rem,4.4vw,4.6rem);letter-spacing:-.055em; }
.service-grid { gap:18px;border:0; }
.service-card { border:1px solid var(--border);border-radius:15px;overflow:hidden;padding:0 27px 36px;background:var(--surface-solid);transition:border-color .3s,box-shadow .3s,background .3s; }
.service-card:hover { border-color:var(--border-brand);box-shadow:0 16px 55px #0002;background:var(--surface-solid); }
.service-art { height:125px;position:relative;display:grid;place-items:center;margin:0 -27px 24px;overflow:hidden;background:radial-gradient(ellipse at 50% 110%,#6755ff23,transparent 70%);border-bottom:1px solid var(--border); }
.service-art svg { width:48px;height:48px;stroke:var(--brand-pale);stroke-width:1.25;fill:none;position:relative;z-index:1;transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.service-card:hover svg { transform:translateY(-5px) rotate(-5deg); }
.service-art__orbit { width:150px;height:150px;border:1px solid var(--border-brand);border-radius:50%;position:absolute;top:32px;opacity:.45; }
.service-art__orbit::after { content:'';position:absolute;inset:-20px;border:1px dashed var(--border-brand);border-radius:50%; }
.service-art--automation .service-art__orbit { border-radius:24px;rotate:45deg; }
.service-art--websites .service-art__orbit { border-radius:10px;width:200px; }
.service-art--systems .service-art__orbit { rotate:30deg;border-radius:15px; }
.service-card h3 { margin:17px 0 11px;font-size:1.35rem; }
.service-card p { font-size:.88rem;max-width:30ch; }
.service-number { font-size:.65rem; }
.launch-section--tint { background:linear-gradient(180deg,var(--bg-2),var(--bg)); }
.project-pair { gap:35px; }
/* Flat project previews: the real High Function black / warm-white palette. */
.project-visual { overflow:hidden;border:1px solid #d6d6d0;border-radius:14px;padding:clamp(12px,1.8vw,24px);background:#f5f5f0;color:#111; }
.project-visual__label { display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.65rem;letter-spacing:.12em;font-weight:600;margin-bottom:18px; }
.project-visual__label>span:last-child { color:#575750;font-size:.6rem; }
.browser-frame { width:100%;margin:0;border:1px solid #d6d6d0;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 6px 18px #0000000a; }
.browser-frame__bar { min-height:30px;background:#fff;border-bottom:1px solid #deded8;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 12px;color:#52524c; }
.browser-frame__bar span { font-size:.58rem;line-height:1.4; }
.browser-frame img { display:block;width:100%;height:auto; }
.project-open { display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--border);border-radius:50%;transition:background .3s; }
.owned-project:hover .project-open { background:var(--brand);color:white; }
.project-archive-note { color:var(--text-2);font-size:.7rem;margin-top:15px; }
.founder-grid:has(.founder-visual) { grid-template-columns:.8fr 1fr 1.15fr;gap:35px;align-items:center; }
.founder-grid:has(.founder-visual) h2 { font-size:clamp(2rem,3vw,3rem); }
.founder-visual { background:var(--surface-solid);border:1px solid var(--border);border-radius:14px;aspect-ratio:.86;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden; }
.founder-visual > span { font-size:6rem;letter-spacing:-.1em;position:relative; }
.founder-visual > span > span { color:var(--brand-lift); }
.founder-visual small { position:absolute;bottom:25px;left:25px;font-size:.5rem;line-height:1.8;letter-spacing:.13em;color:var(--text-2); }
.founder-visual__rings { width:260px;height:260px;border:1px solid var(--border-brand);border-radius:50%;position:absolute;right:-40px;top:-50px; }
.founder-visual__rings::after { content:'';position:absolute;inset:25px;border:1px solid var(--border-brand);border-radius:50%; }
.launch-cta { padding:65px;border:1px solid var(--border-brand);border-radius:20px;background:radial-gradient(ellipse at 100% 20%,#6755ff2b,transparent 65%),var(--surface-solid);position:relative;overflow:hidden; }
.launch-cta::after { content:'↗';position:absolute;right:50px;top:40px;font-size:15rem;color:var(--brand-lift);opacity:.1;line-height:1;pointer-events:none; }
.page-intro { position:relative; }

.service-detail { align-items:center; }
.academy-feature { background:radial-gradient(circle at 100% 0%,#6755ff33,transparent 55%),var(--surface-solid);position:relative;overflow:hidden; }
.academy-feature::after { content:'✳';position:absolute;right:5%;top:5%;font-size:14rem;color:var(--brand-lift);opacity:.16;pointer-events:none; }
.assistant-launcher { box-shadow:0 10px 40px #0005;animation:launcher-enter .7s ease both; }
.assistant-launcher > span { transition:rotate .5s ease; }
.assistant-launcher:hover > span { rotate:90deg; }
.ap-chat-dialog { position:fixed;inset:auto 24px 24px auto;margin:0;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid var(--border-brand);border-radius:20px;padding:0;background:var(--surface-solid);color:var(--text);box-shadow:0 35px 100px #0007;overflow:auto; }
.ap-chat-dialog::backdrop { background:#03050d70;backdrop-filter:blur(4px); }
.ap-chat-dialog[open] { animation:chat-enter .28s cubic-bezier(.16,1,.3,1); }
.chat-dialog-bar { display:flex;justify-content:space-between;align-items:center;padding:10px 17px 10px 22px;background:color-mix(in srgb,var(--brand) 12%,var(--surface-solid));border-bottom:1px solid var(--border); }
.chat-dialog-bar > span { font-size:.57rem;letter-spacing:.1em;color:var(--text-2); }
.chat-dialog-bar button { border:1px solid var(--border);border-radius:50%;width:34px;height:34px;font-size:1.5rem;background:var(--surface);color:var(--text);cursor:pointer; }
.ap-chat-dialog .chat-shell { border:0;border-radius:0; }
.ap-chat-dialog .chat-header { padding:15px 20px; }
.ap-chat-dialog .chat-log { min-height:120px;max-height:clamp(140px,30dvh,290px); }
.ap-chat-dialog .chat-message { font-size:.81rem; }
.ap-chat-dialog .chat-options { gap:6px;padding-bottom:10px; }
.ap-chat-dialog .chat-options button { padding:7px 10px;font-size:.68rem; }
.ap-chat-dialog .chat-disclosure { font-size:.65rem;padding-block:12px 17px; }
.chat-is-open { overflow:hidden; }
@keyframes flow-rise { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }
@keyframes chat-enter { from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes launcher-enter { from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)} }
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:page-away .22s ease both; }
::view-transition-new(root) { animation:page-arrive .35s ease both; }
@keyframes page-away { to{opacity:0;transform:translateY(-8px)} }
@keyframes page-arrive { from{opacity:0;transform:translateY(10px)} }
[data-theme=light] .workflow-art { box-shadow:0 25px 70px #20204510; }
[data-theme=light] .flow-step--human { --rail:#1f7d5f; }
@media(max-width:1100px){ .launch-hero { gap:25px;min-height:650px; }.flow-scene{padding:20px 20px 25px}.workflow-art__top,.workflow-art__foot{padding-inline:18px}.art-caption{display:none}.founder-grid:has(.founder-visual){grid-template-columns:.8fr 1fr}.founder-grid:has(.founder-visual)>div:last-child{grid-column:1/-1}.project-visual{padding:22px}.launch-cta{padding:45px} }
@media(max-width:800px){ .launch-hero { grid-template-columns:1fr;padding-block:50px;gap:45px; }.launch-hero h1{font-size:clamp(3.6rem,11vw,6rem)}.workflow-art{max-width:600px;width:100%;margin-inline:auto}.flow-body b{font-size:.8rem}.flow-body small{font-size:.5rem}.founder-grid:has(.founder-visual){grid-template-columns:.8fr 1fr}.service-art{height:110px}.project-visual__label{font-size:.5rem} }
@media(max-width:650px){ .launch-hero h1 { font-size:clamp(3.15rem,12.4vw,5rem); }.launch-hero .lede{font-size:1rem}.workflow-art__top{padding:20px 17px}.workflow-art__top .eyebrow{font-size:.58rem}.workflow-art__foot{font-size:.6rem;gap:8px}.flow-scene{padding:18px 16px 22px}.flow-step{grid-template-columns:50px 22px 1fr}.flow-lane{font-size:.44rem;letter-spacing:.08em}.flow-body{padding:10px 12px;margin-block:7px}.flow-body small{font-size:.4rem}.flow-body b{font-size:.68rem}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card{padding:0 17px 33px}.service-art{margin-inline:-17px;height:100px;margin-bottom:18px}.service-art svg{width:37px;height:37px}.service-card h3{font-size:1.05rem}.service-card p{font-size:.77rem;line-height:1.6}.service-number{font-size:.58rem}.service-arrow{right:15px;bottom:10px}.project-visual{padding:12px}.project-visual__label{font-size:.6rem;margin-bottom:12px}.founder-grid:has(.founder-visual){gap:25px}.founder-grid:has(.founder-visual) h2{font-size:1.8rem}.founder-visual>span{font-size:4.5rem}.founder-visual small{left:15px;bottom:15px;font-size:.4rem}.launch-cta{padding:30px 25px}.launch-cta::after{right:0;font-size:10rem}.launch-cta h2{font-size:2.5rem}.ap-chat-dialog{inset:auto 10px 10px 10px;width:auto;max-height:calc(100dvh - 20px)}.ap-chat-dialog .chat-log{max-height:25dvh}.academy-feature::after{font-size:9rem;right:0} }
@media(max-width:350px){.service-grid{grid-template-columns:1fr}.flow-lane{display:none}.flow-step{grid-template-columns:22px 1fr}}
@media(prefers-reduced-motion:reduce){ *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }::view-transition-old(root),::view-transition-new(root){animation:none!important} }

/* Editorial imagery adds people to the offer without depicting a fictional team. */
.human-photo { min-width:0;margin:0; }
.human-photo img { display:block;width:100%;height:auto;aspect-ratio:3/2;border-radius:16px;border:1px solid var(--border); }
.human-photo figcaption { margin-top:10px;font-size:.65rem;color:var(--text-2);line-height:1.5; }
.page-intro--image { display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,72px);align-items:center; }
.page-intro--image h1 { font-size:clamp(2.6rem,4.2vw,4.3rem); }
.page-intro--image .lede { font-size:1rem; }
.section-heading-pair { display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,85px);align-items:center;margin-bottom:45px; }
.section-heading-pair .section-heading { margin-bottom:0; }
@media(max-width:800px) { .page-intro--image,.section-heading-pair { grid-template-columns:1fr;gap:28px; }.page-intro--image h1 { font-size:clamp(2.5rem,7.4vw,3.8rem); }.human-photo { width:100%;max-width:640px; }.section-heading-pair { margin-bottom:30px; } }
