
:root{--ink:#10232a;--steel:#6d8389;--paper:#f8faf9;--line:rgba(21,49,58,.13);--shadow:0 24px 70px rgba(12,30,38,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit}img{display:block;max-width:100%}.shell{width:min(1220px,92vw);margin:auto}.topnote{background:#08171d;color:#d9e3e5;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.topnote .shell{padding:8px 0;display:flex;justify-content:space-between}.navbar{position:sticky;top:0;z-index:90;background:rgba(248,250,249,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}.brand img{width:54px;height:54px;object-fit:contain}.brand-word b{font:700 1.42rem Georgia,serif}.brand-word small{display:block;font-size:.52rem;letter-spacing:.28em}.navlinks{display:flex;align-items:center;gap:22px}.navlinks a{text-decoration:none;font-size:.9rem;font-weight:750}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 19px;text-decoration:none;font-weight:800;border:1px solid var(--ink);cursor:pointer;transition:.22s}.nav-cta,.btn.primary{background:var(--ink);color:#fff}.btn.secondary{background:#fff;color:var(--ink)}.btn:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,32,39,.13)}.menu{display:none;border:0;background:none;width:42px;height:42px}.menu span{display:block;height:2px;background:var(--ink);margin:7px 0}.mobile{display:none;padding:0 4vw 20px}.mobile a{display:block;padding:11px 0;text-decoration:none;font-weight:750}.hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#f8faf9,#edf2f3);padding:92px 0 82px;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(20,45,54,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(20,45,54,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 88%)}.hero:after{content:"";position:absolute;z-index:-1;width:760px;height:760px;border:1px solid rgba(31,63,74,.12);border-radius:50%;right:-300px;top:-260px;box-shadow:0 0 0 88px rgba(31,63,74,.026),0 0 0 176px rgba(31,63,74,.018);animation:orbit 20s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:66px;align-items:center}.eyebrow{display:inline-block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--steel);margin-bottom:16px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.03;margin:0}h1{font-size:clamp(3.2rem,6vw,6.4rem);letter-spacing:-.048em}h2{font-size:clamp(2.35rem,4.3vw,4.7rem);letter-spacing:-.038em}h3{font-size:clamp(1.45rem,2vw,2.1rem)}.hero p{font-size:1.18rem;color:#344d55;max-width:670px;margin:24px 0 27px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-proof{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;color:#62767d;font-size:.82rem}.hero-proof span{display:flex;align-items:center;gap:7px}.hero-proof i{width:7px;height:7px;background:#5e747b;border-radius:50%}.stage-card{background:#0c1b22;color:#fff;border-radius:34px;padding:24px;box-shadow:0 35px 80px rgba(10,28,36,.22);transform:perspective(1000px) rotateY(-4deg) rotateX(2deg)}.stage-top{display:flex;justify-content:space-between;color:#9fb0b5;font-size:.71rem;letter-spacing:.1em}.stage-main{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-top:24px}.risk,.graphmini{background:#142a33;border-radius:22px;padding:18px}.risk b{font:700 3.5rem Georgia,serif;display:block}.risk span{font-size:.82rem;color:#b7c4c7}.linechart{height:110px;margin-top:18px}.linechart svg{width:100%;height:100%}.graphmini{position:relative;min-height:220px}.dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#dce6e8}.d1{left:25%;top:28%}.d2{left:62%;top:18%}.d3{left:48%;top:62%}.d4{left:75%;top:68%}.d5{left:20%;top:72%}.stage-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.stage-foot div{background:#13272f;border-radius:15px;padding:12px}.stage-foot b{display:block}.stage-foot span{font-size:.7rem;color:#9fb0b5}.section{padding:96px 0}.section.alt{background:#fff}.section.dark{background:#0c1b22;color:#fff}.section-head{display:grid;grid-template-columns:.34fr 1fr;gap:48px;margin-bottom:44px}.section-head p{margin:12px 0 0;color:#64777d;font-size:1.08rem;max-width:760px}.dark .section-head p{color:#afbec2}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.service-card{border-radius:30px;padding:34px;border:1px solid var(--line);background:#fff;min-height:360px}.service-card.darkcard{background:#10242c;color:#fff}.service-card h3{font-size:2.35rem;margin:15px 0}.service-card p{color:#66777d}.service-card.darkcard p{color:#b7c5c8}.label{font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:#92a3a7}.chips{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.chip{border:1px solid currentColor;border-radius:999px;padding:8px 12px;font-size:.81rem;opacity:.72}.why-needed{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.need{padding:27px;background:#f2f6f6;border:1px solid var(--line);border-radius:24px}.need .n{font:700 2rem Georgia,serif;color:#8a9b9f}.need h3{font-size:1.45rem;margin:13px 0 8px}.need p{margin:0;color:#65777c}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.value{padding:25px;border-top:2px solid currentColor;background:#fff;color:#10232a;border-radius:0 0 22px 22px}.value b{display:block;font:700 1.5rem Georgia,serif;margin-bottom:8px}.value p{margin:0;color:#687a7f;font-size:.94rem}.proofband{display:grid;grid-template-columns:1fr 1fr;gap:22px;background:#10242c;color:#fff;border-radius:34px;padding:38px}.proofband p{color:#b6c4c8}.proof-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proof-list div{padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:16px}.proof-list b{display:block}.proof-list span{color:#aebdc1;font-size:.82rem}.demo-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.demo-tabs button{border:1px solid var(--line);background:#fff;color:#4b6269;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer}.demo-tabs button.active{background:#10242c;color:#fff}.carousel-shell{overflow:hidden}.carousel-track{display:flex;transition:transform .55s cubic-bezier(.22,.85,.3,1)}.slide{min-width:100%}.demo-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:22px;box-shadow:var(--shadow)}.demo-head{margin-bottom:18px}.demo-head h3{font-size:2rem}.demo-head p{margin:4px 0;color:#687a7f}.screen-frame{background:#0d1d24;border-radius:24px;padding:14px}.screen-frame img{width:100%;border-radius:14px;aspect-ratio:16/10;object-fit:cover}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.dots{display:flex;gap:7px}.dots button{width:9px;height:9px;border:0;border-radius:50%;background:#c7d1d3;padding:0}.dots button.active{background:#1c343c}.arrowset{display:flex;gap:8px}.arrowset button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer}.faq{max-width:930px;margin:auto}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;font-weight:800;position:relative}.faq summary:after{content:"+";position:absolute;right:0;top:15px;font-size:1.45rem}.faq details[open] summary:after{content:"–"}.faq details p{margin:0;padding:0 34px 22px 0;color:#66777d}.cta{background:#dfe8ea;border-radius:34px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:28px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.form{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:13px;padding:13px;background:#f7f9f9}.field textarea{min-height:150px}.note-card{background:#eef3f4;border:1px solid var(--line);border-radius:20px;padding:20px}.legal{max-width:920px;margin:auto}.legal h1{font-size:clamp(2.6rem,5vw,5rem)}.legal h2{font-size:1.85rem;margin-top:38px}.legal p,.legal li{color:#455b61}.footer{background:#08171d;color:#fff;padding:52px 0 22px;margin-top:50px}.footer-grid{display:grid;grid-template-columns:1.35fr .7fr .7fr .95fr;gap:32px}.footer img{width:88px;margin-bottom:15px}.footer p{color:#aebdc1}.footer h4{margin:0 0 12px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#84999f}.footer a{display:block;text-decoration:none;color:#e9f0f1;margin:8px 0;font-size:.91rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:.78rem;color:#82989e}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}@media(max-width:1050px){.navlinks{display:none}.menu{display:block}.mobile.open{display:block}.hero-grid,.section-head,.split,.proofband,.contact-grid{grid-template-columns:1fr}.stage-card{transform:none}.value-grid{grid-template-columns:1fr 1fr}.why-needed{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:690px){.topnote .shell{justify-content:center}.topnote .shell span:last-child{display:none}.nav{height:72px}.brand img{width:46px;height:46px}.hero{padding:60px 0 56px}.stage-main{grid-template-columns:1fr}.stage-foot{grid-template-columns:1fr}.section{padding:68px 0}.section-head{gap:10px}.value-grid,.why-needed,.proof-list,.form-row{grid-template-columns:1fr}.proofband,.service-card{padding:26px}.cta{display:block;padding:29px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.screen-frame{padding:7px}.demo-card{padding:12px}}

.demo-card.photo-demo{padding:18px;background:#fff}.demo-card.photo-demo .screen-frame{padding:0;background:transparent;border-radius:22px;overflow:hidden}.demo-card.photo-demo .screen-frame img{aspect-ratio:5/3;object-fit:cover;border-radius:22px;border:1px solid var(--line)}.demo-card.photo-demo .demo-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.demo-card.photo-demo .demo-head p{max-width:650px}@media(max-width:690px){.demo-card.photo-demo{padding:9px}.demo-card.photo-demo .demo-head{display:block;padding:4px 4px 9px}.demo-card.photo-demo .demo-head h3{font-size:1.35rem}.demo-card.photo-demo .demo-head p{font-size:.88rem}}

/* ===========================
   FINAL POLISH — TYPOGRAPHY & RHYTHM
   =========================== */
:root{
  --content:1180px;
  --copy:#51676e;
  --section-space:clamp(72px,7vw,104px);
}
html{font-size:16px}
body{font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.shell{width:min(var(--content),calc(100% - 56px))}
p{line-height:1.68}
h1,h2,h3{text-wrap:balance}
h1{font-size:clamp(3rem,5.2vw,5.4rem);line-height:.99;letter-spacing:-.042em;max-width:13ch}
h2{font-size:clamp(2.15rem,3.7vw,3.85rem);line-height:1.04;letter-spacing:-.03em;max-width:18ch}
h3{line-height:1.14;letter-spacing:-.018em}
.eyebrow{font-size:.71rem;line-height:1.2;letter-spacing:.15em;margin-bottom:18px}
.hero{padding:clamp(72px,7vw,104px) 0 clamp(68px,6vw,92px)}
.hero-grid{grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);gap:clamp(44px,5vw,76px);align-items:center}
.hero p{font-size:clamp(1.05rem,1.35vw,1.17rem);line-height:1.72;max-width:610px;margin:24px 0 28px}
.hero .actions{margin-top:2px}
.actions{gap:11px;align-items:center}
.btn,.nav-cta{min-height:46px;padding:11px 20px;line-height:1.2;font-size:.9rem;white-space:nowrap}
.hero-stage{min-width:0}.stage-card{padding:22px;border-radius:30px}.stage-main{gap:12px;margin-top:20px}.stage-foot{gap:9px;margin-top:12px}.stage-foot div{padding:13px 12px}.stage-foot b{font-size:.86rem;line-height:1.25;margin-bottom:4px}.stage-foot span{font-size:.71rem;line-height:1.45}
.section{padding:var(--section-space) 0}
.section-head{grid-template-columns:150px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;margin-bottom:clamp(34px,4vw,52px)}
.section-head h2{max-width:19ch}.section-head p{font-size:1.04rem;line-height:1.72;max-width:720px;margin-top:15px;color:var(--copy)}
.split{gap:22px}.service-card{padding:clamp(28px,3vw,38px);min-height:0;display:flex;flex-direction:column;align-items:flex-start}.service-card h3{font-size:clamp(1.9rem,2.5vw,2.35rem);line-height:1.09;margin:16px 0 14px;max-width:17ch}.service-card p{font-size:1rem;line-height:1.68;margin:0;max-width:590px}.service-card .chips{margin:22px 0 26px}.service-card .btn{margin-top:auto}
.value-grid{gap:16px}.value{padding:26px 24px 28px}.value b{font-size:1.34rem;line-height:1.22;margin-bottom:10px}.value p{font-size:.94rem;line-height:1.62}
.why-needed{gap:18px}.need{padding:28px}.need h3{font-size:1.4rem;line-height:1.16;margin:14px 0 10px}.need p{line-height:1.63}
.proofband{padding:clamp(30px,4vw,46px);gap:clamp(28px,4vw,52px);align-items:center}.proofband h2{max-width:15ch}.proofband p{line-height:1.68;margin-bottom:0}.proof-list{gap:12px}.proof-list div{padding:17px}.proof-list b{font-size:.96rem;margin-bottom:5px}.proof-list span{font-size:.82rem;line-height:1.5}
.demo-tabs{margin-bottom:22px;gap:8px}.demo-tabs button{min-height:42px;padding:9px 15px;font-size:.88rem}.demo-card.photo-demo{padding:16px;border-radius:28px}.demo-card.photo-demo .demo-head{padding:3px 4px 13px;align-items:flex-end}.demo-card.photo-demo .demo-head .eyebrow{margin-bottom:8px}.demo-card.photo-demo .demo-head h3{font-size:clamp(1.55rem,2.1vw,2rem);line-height:1.12}.demo-card.photo-demo .demo-head p{font-size:.92rem;line-height:1.55;margin-top:6px}.pager{margin-top:14px}.arrowset button{display:grid;place-items:center;font-size:1rem;transition:.18s ease}.arrowset button:hover{background:var(--ink);color:#fff}.dots button{cursor:pointer}
.faq{max-width:900px}.faq summary{font-size:1.02rem;line-height:1.45;padding:20px 46px 20px 0}.faq details p{font-size:.96rem;line-height:1.72;padding:0 42px 23px 0;max-width:850px}.faq details[open] summary{padding-bottom:11px}
.cta{padding:clamp(30px,4vw,46px);border-radius:30px}.cta h2{font-size:clamp(2rem,3.2vw,3.4rem);max-width:15ch}.cta p{font-size:1rem;line-height:1.65;margin:12px 0 0}
.contact-grid{gap:clamp(30px,5vw,64px);align-items:start}.form{padding:30px;border-radius:24px}.field{gap:8px;margin-bottom:16px}.field label{font-size:.86rem;font-weight:750}.field input,.field textarea,.field select{min-height:46px;padding:12px 14px;font-size:.96rem;outline:none;transition:border-color .16s,box-shadow .16s}.field textarea{min-height:150px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#6f858c;box-shadow:0 0 0 3px rgba(31,68,80,.09)}
.notice,.form-legal,.consent{line-height:1.55}.note-card{line-height:1.6}
.legal{max-width:860px}.legal h1{font-size:clamp(2.7rem,4.7vw,4.8rem);max-width:none;margin-bottom:18px}.legal h2{font-size:1.65rem;line-height:1.2;margin:38px 0 12px}.legal p,.legal li{font-size:.98rem;line-height:1.72}.legal ul{padding-left:1.3rem}
.footer{padding:58px 0 24px;margin-top:0}.footer-grid{gap:42px}.footer p{font-size:.9rem;line-height:1.62;max-width:350px}.footer h4{margin-bottom:14px}.footer a{font-size:.88rem;line-height:1.4;margin:9px 0}.footer-bottom{margin-top:38px;padding-top:20px}
/* subtle, non-repetitive variation between carousel presentations */
.carousel-track .slide:nth-child(2) .screen-frame{padding:14px;background:#f0f4f4;border-radius:24px}.carousel-track .slide:nth-child(2) .screen-frame img{box-shadow:0 18px 42px rgba(14,38,47,.10)}
.carousel-track .slide:nth-child(3) .screen-frame{padding:10px 22px 16px;background:linear-gradient(145deg,#eef3f4,#fff);border-radius:28px}.carousel-track .slide:nth-child(3) .screen-frame img{box-shadow:0 20px 45px rgba(14,38,47,.11)}
/* keyboard accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(34,79,94,.28);outline-offset:3px}
/* honeypot: visually hidden, still detectable by basic bots */
.website-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:1050px){
 .shell{width:min(var(--content),calc(100% - 44px))}
 .hero-grid{grid-template-columns:1fr;gap:46px}.hero h1{max-width:15ch}.hero p{max-width:700px}.hero-stage{max-width:760px}
 .section-head{grid-template-columns:120px 1fr;gap:34px}.section-head h2{max-width:22ch}
 .value-grid{grid-template-columns:1fr 1fr}.footer-grid{gap:34px}
}
@media(max-width:720px){
 .shell{width:calc(100% - 32px)}
 h1{font-size:clamp(2.55rem,12vw,4rem);line-height:1.01}.hero h1{max-width:12ch}
 h2{font-size:clamp(2rem,9vw,3rem)}
 .hero{padding:56px 0 58px}.hero-grid{gap:34px}.hero p{font-size:1rem;line-height:1.67;margin:20px 0 24px}
 .section{padding:64px 0}.section-head{grid-template-columns:1fr;gap:7px;margin-bottom:30px}.section-head .eyebrow{margin-bottom:4px}.section-head p{font-size:.98rem;margin-top:12px}
 .stage-card{padding:14px;border-radius:22px}.stage-top{font-size:.62rem;gap:10px}.risk,.graphmini{padding:14px;border-radius:16px}.risk b{font-size:3rem}.graphmini{min-height:180px}
 .split{gap:14px}.service-card{padding:24px;border-radius:24px}.service-card h3{font-size:1.85rem}.service-card p{font-size:.96rem}
 .value-grid,.why-needed,.proof-list{grid-template-columns:1fr}.value,.need{padding:22px}.proofband{padding:25px;border-radius:24px}
 .demo-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.demo-tabs::-webkit-scrollbar{display:none}.demo-tabs button{flex:0 0 auto}
 .demo-card.photo-demo{padding:8px;border-radius:20px}.demo-card.photo-demo .screen-frame,.carousel-track .slide:nth-child(2) .screen-frame,.carousel-track .slide:nth-child(3) .screen-frame{padding:0;background:transparent;border-radius:14px}.demo-card.photo-demo .screen-frame img{border-radius:14px;box-shadow:none}.demo-card.photo-demo .demo-head{padding:7px 4px 10px}.demo-card.photo-demo .demo-head p{font-size:.86rem}.pager{padding:0 2px}
 .faq summary{font-size:.98rem;padding:18px 38px 18px 0}.faq details p{font-size:.94rem;padding:0 24px 20px 0}
 .cta{padding:25px}.cta h2{max-width:12ch}.cta .actions{margin-top:20px}
 .form{padding:22px}.footer{padding-top:46px}.footer-grid{gap:24px}.footer-bottom{line-height:1.55}
}
@media(max-width:400px){
 .shell{width:calc(100% - 26px)}.brand-word small{letter-spacing:.22em}.btn{width:100%}.actions{width:100%}.actions .btn{flex:1 1 100%}.stage-top span:last-child{display:none}.topnote{font-size:.65rem}
}

/* Final app-development and demo refinements */
.app-hero .hero-grid{align-items:center}
.app-hero-panel{
  background:#10242c;color:#fff;border-radius:30px;padding:34px;
  box-shadow:0 24px 65px rgba(12,30,38,.13)
}
.app-hero-panel h3{font-size:clamp(1.9rem,3vw,2.8rem);margin:14px 0 12px;max-width:12ch}
.app-hero-panel p{color:#b7c5c8;margin:0;max-width:54ch}
.app-hero-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.app-hero-points span{padding:11px 13px;border:1px solid rgba(255,255,255,.12);border-radius:13px;font-size:.82rem;color:#dbe4e6;background:rgba(255,255,255,.035)}
.app-build-grid .card{min-height:225px}
.niche-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.niche-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;min-height:245px
}
.niche-card>span{font:700 1.8rem Georgia,serif;color:#8a9b9f}
.niche-card h3{font-size:1.35rem;margin:14px 0 9px;line-height:1.12}
.niche-card p{margin:0;color:#66797f;font-size:.94rem;line-height:1.58}
.outside-niches{
  margin-top:20px;padding:24px 26px;background:#10242c;color:#fff;border-radius:22px;
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center
}
.outside-niches strong{font:700 1.15rem Georgia,serif}
.outside-niches p{margin:0;color:#b8c6ca}
.outside-niches a{color:#fff;font-weight:800;text-decoration:none;white-space:nowrap}
.app-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.app-why{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff}
.app-why>b{display:block;color:#8a9b9f;margin-bottom:10px}
.app-why h3{font-size:1.35rem;margin-bottom:8px}
.app-why p{margin:0;color:#66797f}
.demo-context-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}
.demo-context{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.demo-context span{font-size:.72rem;letter-spacing:.12em;color:#89999d}
.demo-context h3{font-size:1.15rem;margin:8px 0 6px}
.demo-context p{font-size:.88rem;color:#6a7c81;margin:0}
.app-development-page .section-head p{max-width:68ch}
@media(max-width:1050px){
 .niche-grid{grid-template-columns:1fr 1fr}
 .demo-context-grid{grid-template-columns:1fr 1fr}
 .outside-niches{grid-template-columns:1fr}
 .outside-niches a{white-space:normal}
}
@media(max-width:690px){
 .app-hero-panel{padding:25px}
 .app-hero-points{grid-template-columns:1fr}
 .niche-grid,.app-why-grid,.demo-context-grid{grid-template-columns:1fr}
 .niche-card{min-height:auto;padding:22px}
 .outside-niches{padding:22px;gap:9px}
 .app-hero-panel h3{max-width:none}
}


/* ===========================
   FINAL MINUTE REFINEMENTS
   No layout/content redesign
   =========================== */
:root{
  --ink:#091a20;
  --steel:#566c72;
  --paper:#e9eeee;
  --copy:#465d63;
  --line:rgba(8,31,39,.16);
  --shadow:0 24px 70px rgba(5,22,29,.14);
}
body{
  background:var(--paper);
  font-family:"Helvetica Neue",Helvetica,Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  font-weight:400;
  letter-spacing:-.006em;
}
h1,h2,h3,
.brand-word b,
.risk b,
.need .n,
.value b,
.niche-card>span,
.outside-niches strong{
  font-family:"Helvetica Neue",Helvetica,Arial,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
h1{font-weight:650;letter-spacing:-.052em}
h2{font-weight:640;letter-spacing:-.042em}
h3{font-weight:650;letter-spacing:-.026em}
.brand-word b{font-weight:720;letter-spacing:-.03em}
.risk b,.need .n,.niche-card>span{font-weight:680}
.value b,.outside-niches strong{font-weight:650}

.navbar{
  background:rgba(232,238,237,.94);
  border-bottom-color:rgba(7,29,36,.14);
}
.nav{gap:18px}
.brand{margin-right:16px;flex:0 0 auto}
.navlinks{gap:18px;justify-content:flex-start}
.navlinks a{font-weight:680}
.nav-cta{margin-left:2px}

.hero{
  background:linear-gradient(180deg,#e3e9e8 0%,#d6dfdf 100%);
}
.hero:before{
  background-image:linear-gradient(rgba(9,32,40,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(9,32,40,.055) 1px,transparent 1px);
}
.hero p{color:#2d474e}
.section.alt{background:#f4f6f5}
.section.dark,.stage-card,.footer{background:#07171d}
.service-card.darkcard,.app-hero-panel,.outside-niches,.proofband,.demo-tabs button.active{background:#0a2028}
.risk,.graphmini{background:#102832}
.stage-foot div{background:#0e252e}
.need{background:#e1e8e7}
.cta{background:#d1dcdd}
.note-card{background:#dde6e5}
.field input,.field textarea,.field select{background:#f0f3f2}

/* Make spacing feel deliberate without changing structure */
.section-head{margin-bottom:clamp(32px,3.5vw,46px)}
.section-head p{max-width:760px}
.cards,.usecases,.process{align-items:stretch}
.card,.usecase,.step{height:100%}
.footer{margin-top:0}

/* Slightly fuller synthetic-data section */
.synthetic-value-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
}
.synthetic-value{
  background:#f4f6f5;
  border:1px solid var(--line);
  border-radius:22px;
  padding:24px;
}
.synthetic-value b{
  display:block;
  font-size:1.08rem;
  line-height:1.25;
  margin-bottom:9px;
}
.synthetic-value p{
  margin:0;
  color:var(--copy);
  font-size:.94rem;
  line-height:1.64;
}
.synthetic-callout{
  margin-top:20px;
  background:#0a2028;
  color:#fff;
  border-radius:24px;
  padding:27px 29px;
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
  gap:30px;
  align-items:center;
}
.synthetic-callout .eyebrow{color:#91a5aa;margin-bottom:8px}
.synthetic-callout h3{font-size:clamp(1.35rem,2vw,1.85rem)}
.synthetic-callout p{margin:0;color:#b9c7ca;line-height:1.66}

/* Preserve comfortable desktop navigation, collapse before it can crowd */
@media(max-width:1180px){
  .navlinks{gap:14px}
  .navlinks a{font-size:.86rem}
  .nav-cta{padding-left:16px;padding-right:16px}
}
@media(max-width:1050px){
  .brand{margin-right:auto}
  .synthetic-value-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  body{letter-spacing:0}
  .synthetic-callout{grid-template-columns:1fr;gap:12px;padding:23px}
  .synthetic-value-grid{grid-template-columns:1fr}
}


/* =========================================
   FINAL VISUAL BALANCE PASS
   Same content / same structure
   ========================================= */
:root{
  --ink:#07171d;
  --steel:#50666c;
  --paper:#e1e8e7;
  --copy:#40585f;
  --line:rgba(6,27,34,.18);
  --shadow:0 24px 70px rgba(4,19,25,.16);
  --section-space:clamp(66px,6vw,88px);
}

/* Navigation: balanced distance from logo, not crowded and not detached */
.nav{gap:22px}
.brand{margin-right:34px}
.navlinks{gap:20px}
.nav-cta{margin-left:4px}
.navbar{
  background:rgba(220,228,227,.95);
  border-bottom-color:rgba(5,26,33,.16);
}

/* Slightly darker, calmer overall surfaces */
body{background:var(--paper)}
.hero{background:linear-gradient(180deg,#d9e1e0 0%,#cad5d4 100%)}
.hero:before{
  background-image:
    linear-gradient(rgba(7,29,36,.064) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,29,36,.064) 1px,transparent 1px)
}
.section.alt{background:#edf1f0}
.section.dark,.stage-card,.footer{background:#05151b}
.service-card,.card,.usecase,.step,.value,.niche-card,.app-why,
.synthetic-value,.demo-context,.form{background:#f3f5f4}
.service-card.darkcard,.app-hero-panel,.outside-niches,.proofband,
.demo-tabs button.active,.synthetic-callout{background:#071d25}
.need{background:#d8e1e0}
.cta{background:#c7d3d3}
.note-card{background:#d3dddd}
.field input,.field textarea,.field select{background:#ebefee}
.demo-tabs button,.arrowset button{background:#f3f5f4}
.screen-frame{background:#08191f}

/* Tighter rhythm: remove the few oversized empty bands without compressing the site */
.hero{padding:clamp(68px,6vw,88px) 0 clamp(62px,5.5vw,80px)}
.section{padding:var(--section-space) 0}
.section-head{margin-bottom:clamp(28px,3vw,40px)}
.section-head p{margin-top:12px}
.service-card{padding:clamp(27px,2.8vw,35px)}
.app-build-grid .card{min-height:205px}
.niche-card{min-height:225px}
.proofband{padding:clamp(28px,3.5vw,40px)}
.cta{padding:clamp(28px,3.5vw,40px)}
.footer{padding-top:50px}

/* Animation is deliberately consistent site-wide */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .62s ease,transform .62s cubic-bezier(.22,.7,.25,1);
}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1180px){
  .brand{margin-right:26px}
  .navlinks{gap:17px}
  .navlinks a{font-size:.87rem}
}
@media(max-width:1050px){
  .brand{margin-right:auto}
}
@media(max-width:720px){
  .hero{padding:54px 0 54px}
  .section{padding:58px 0}
  .section-head{margin-bottom:27px}
  .niche-card,.app-build-grid .card{min-height:auto}
}


/* =========================================
   FINAL MICRO-POLISH
   Preserve layout/content; soften harsh blocks
   ========================================= */
:root{
  --soft-panel:#e9eeee;
  --soft-panel-2:#edf2f1;
}

/* Replace stark white card blocks with softer integrated surfaces */
.service-card,
.card,
.usecase,
.step,
.value,
.niche-card,
.app-why,
.synthetic-value,
.demo-context,
.form,
.demo-tabs button,
.arrowset button,
.note-card{
  background:var(--soft-panel-2);
}

/* Sections that sit on darker backgrounds keep stronger contrast without hard white rectangles */
.section.dark .value,
.section.dark .card,
.section.dark .step{
  background:#dfe7e6;
}

/* FAQ/text containers stay visually open, not boxed */
.faq details{
  background:transparent;
}

/* Smooth borders and spacing so panels feel integrated rather than pasted on */
.service-card,
.card,
.usecase,
.step,
.value,
.niche-card,
.app-why,
.synthetic-value,
.demo-context,
.form,
.note-card{
  border-color:rgba(7,29,36,.13);
  box-shadow:none;
}

.card,
.usecase,
.step,
.value,
.niche-card,
.app-why,
.synthetic-value,
.demo-context{
  padding-top:clamp(20px,2vw,25px);
  padding-bottom:clamp(20px,2vw,25px);
}

.service-card{
  padding-top:clamp(28px,2.8vw,34px);
  padding-bottom:clamp(28px,2.8vw,34px);
}

/* Keep contact form neat with softer input contrast */
.form{
  padding:clamp(24px,2.5vw,29px);
}
.field input,
.field textarea,
.field select{
  background:#f1f4f3;
  border-color:rgba(7,29,36,.14);
}
.field input:focus,
.field textarea:focus,
.field select:focus{
  outline:2px solid rgba(16,55,67,.22);
  outline-offset:1px;
}

/* Optional phone row */
.field .hint{
  font-size:.76rem;
  color:#718388;
  margin-top:1px;
}

@media(max-width:720px){
  .card,
  .usecase,
  .step,
  .value,
  .niche-card,
  .app-why,
  .synthetic-value,
  .demo-context{
    padding:20px;
  }
}


/* =====================================================
   FINAL THREE FIXES — layout grouping + carousel stability
   ===================================================== */

/* 1) Restore the intended independent card layout.
   Previous global overrides kept the children styled as cards but the
   container grid rules had been lost, which made several cards visually
   merge into one large pale rectangle. */
.cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.usecases{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.process{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  align-items:stretch;
}

/* Keep each item visibly separate from the page while staying within the
   existing darker/slate palette — no hard-white slab behind several items. */
.cards > .card,
.usecases > .usecase,
.process > .step{
  background:linear-gradient(145deg,#e8eeee,#e0e8e7);
  border:1px solid rgba(7,29,36,.13);
  border-radius:20px;
  box-shadow:0 8px 24px rgba(7,29,36,.035);
}

.cards > .card{
  min-height:0;
  padding:25px 24px;
}
.usecases > .usecase{
  min-height:0;
  padding:23px 22px;
}
.process > .step{
  min-height:0;
  padding:23px 21px 25px;
  border-top:2px solid rgba(8,37,47,.58);
}

/* App "what we build" needs three distinct balanced modules, not one
   continuous rectangle. */
.app-build-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.app-build-grid .card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:205px;
}
.app-build-grid .card h3{
  margin-bottom:12px;
  line-height:1.13;
}
.app-build-grid .card p{
  margin:0;
  line-height:1.65;
  color:#496168;
}

/* Synthetic use-cases and process gain clearer hierarchy instead of text
   floating on a large empty background. */
.usecase{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
}
.usecase > b{
  font-size:1rem;
  color:#667b80;
  padding-top:3px;
}
.usecase h3{
  font-size:1.28rem;
  margin:0 0 8px;
  line-height:1.15;
}
.usecase p,
.step p{
  line-height:1.6;
  color:#50666c;
}
.step h3{
  margin:10px 0 8px;
  line-height:1.15;
}
.step > b{
  display:block;
  font-size:.77rem;
  letter-spacing:.1em;
  color:#63787e;
}

/* 2) Other short text blocks should feel placed, not stranded. */
.synthetic-value,
.niche-card,
.app-why,
.demo-context{
  background:linear-gradient(145deg,#e8eeee,#e1e8e7);
}
.synthetic-callout{
  margin-top:24px;
}
.section-head + .cards,
.section-head + .usecases,
.section-head + .process{
  margin-top:2px;
}

/* 3) Carousel: each slide is exactly one viewport width.
   Remove the old nth-child frame variation that changed apparent size and
   caused the next/previous presentation to appear layered underneath. */
.carousel-shell{
  width:100%;
  max-width:100%;
  overflow:hidden;
  position:relative;
}
.carousel-track{
  display:flex;
  width:100%;
  max-width:100%;
  align-items:stretch;
  transition:transform .48s cubic-bezier(.22,.78,.24,1);
  will-change:transform;
}
.carousel-track .slide{
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  max-width:100%;
  overflow:hidden;
  padding:0;
}
.carousel-track .slide .demo-card.photo-demo{
  width:100%;
  max-width:100%;
  margin:0;
}
.carousel-track .slide .screen-frame,
.carousel-track .slide:nth-child(2) .screen-frame,
.carousel-track .slide:nth-child(3) .screen-frame{
  width:100%;
  max-width:100%;
  padding:0;
  background:transparent;
  border-radius:20px;
  overflow:hidden;
}
.carousel-track .slide .screen-frame img,
.carousel-track .slide:nth-child(2) .screen-frame img,
.carousel-track .slide:nth-child(3) .screen-frame img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:5/3;
  object-fit:cover;
  border-radius:20px;
  box-shadow:none;
}
.demo-card.photo-demo{
  overflow:hidden;
  box-shadow:0 14px 40px rgba(7,29,36,.07);
}

/* Responsive grouping */
@media(max-width:1050px){
  .cards,
  .app-build-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .process{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .cards,
  .app-build-grid,
  .usecases,
  .process{
    grid-template-columns:1fr;
  }
  .app-build-grid .card{min-height:0}
  .cards > .card,
  .usecases > .usecase,
  .process > .step{
    padding:20px;
  }
  .carousel-track .slide .screen-frame,
  .carousel-track .slide:nth-child(2) .screen-frame,
  .carousel-track .slide:nth-child(3) .screen-frame,
  .carousel-track .slide .screen-frame img,
  .carousel-track .slide:nth-child(2) .screen-frame img,
  .carousel-track .slide:nth-child(3) .screen-frame img{
    border-radius:13px;
  }
}


/* =========================================
   HOSTING FAIL-SAFE
   Content must never disappear if JS fails.
   ========================================= */
.reveal{
  opacity:1 !important;
  transform:none !important;
}

/* JS adds .motion-ready only after script successfully loads */
html.motion-ready .reveal{
  opacity:0 !important;
  transform:translateY(18px) !important;
  transition:
    opacity .62s ease,
    transform .62s cubic-bezier(.22,.7,.25,1) !important;
}
html.motion-ready .reveal.visible{
  opacity:1 !important;
  transform:none !important;
}
@media(prefers-reduced-motion:reduce){
  html.motion-ready .reveal{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}

/* Secure contact form status */
.form-status{
  min-height:1.4em;
  margin:12px 0 0;
  font-size:.88rem;
  color:#52696f;
}
.form-status.success{color:#214e40;font-weight:650}
.form-status.error{color:#7a302c;font-weight:650}
.form button[disabled]{opacity:.62;cursor:wait}
