
:root{--navy:#081426;--deep:#123563;--blue:#3478F6;--cyan:#58D5F5;--amber:#FFB454;--ice:#EEF5FF;--slate:#8290A5;--dk:#070D18;--a:#3478F6;font-size:100%}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:400 1.0625rem/1.65 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1c2a40;background:#fff}
h1,h2,h3,.logo,.btn{font-family:Manrope,Inter,system-ui,sans-serif}h1{font-size:clamp(2.6rem,7vw,5.6rem);line-height:1;letter-spacing:-.035em;font-weight:800;margin:0 0 1.2rem}h2{font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 1rem}h3{margin:.3rem 0}
a{color:inherit}.w{width:min(1180px,100% - 2.5rem);margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.hd{position:sticky;top:0;z-index:50;background:rgba(7,13,24,.92);backdrop-filter:blur(8px);color:#fff}.hd-in{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:inline-flex;gap:.6rem;align-items:center;font-weight:800;font-size:1.3rem;text-decoration:none}.nav{display:flex;gap:1.6rem;align-items:center}.nav a{text-decoration:none;font-size:.95rem;color:#c9d6ea}.nav a:hover,.nav a[aria-current]{color:#fff}
.btn{display:inline-block;background:var(--blue);color:#fff!important;padding:.9rem 1.6rem;border-radius:6px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem;transition:transform .2s,background .2s}.btn:hover{background:#2a64d6;transform:translateY(-2px)}.btn.sm{padding:.55rem 1.1rem;font-size:.9rem}.btn.ghost{background:transparent;box-shadow:inset 0 0 0 1.5px #5b7090}.btn.amber{background:var(--amber);color:var(--navy)!important}
.mb{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}.mb span{display:block;height:2px;background:#fff;margin:6px 10px;transition:.25s}.mb[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.mb[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.hero{background:radial-gradient(900px 500px at 80% 100%,#123563 0,transparent 70%),var(--dk);color:#fff;overflow:hidden;padding:clamp(3rem,8vw,6rem) 0 0}.hero-g{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:end}.hero-t{padding-bottom:clamp(2rem,6vw,5rem)}.lead{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.4;color:#dce8fb;max-width:34ch}.sub{color:#9fb1cc;max-width:52ch}.acts{display:flex;gap:1rem;flex-wrap:wrap;margin:1.8rem 0}.sl{color:var(--cyan);font-family:Manrope,sans-serif;font-weight:700}
.sky{width:100%;height:auto;display:block}.hero-t h1{animation:up .8s both}.sky rect{transform-origin:bottom;transform-box:fill-box;animation:grow 1.2s cubic-bezier(.2,.7,.2,1) both}.sky rect:nth-of-type(2n){animation-delay:.12s}.sky rect:nth-of-type(3n){animation-delay:.24s}
@keyframes grow{from{transform:scaleY(.1);opacity:0}}@keyframes up{from{transform:translateY(24px);opacity:0}}
.sv .big{color:var(--a);display:block;margin-bottom:1rem}.sv h1{font-size:clamp(2.2rem,5vw,4rem)}.sv .sky path[stroke="#58D5F5"]{stroke:var(--a)}
.sec{padding:clamp(3.5rem,8vw,6.5rem) 0}.light{background:var(--ice)}.dark{background:var(--navy);color:#fff}.dark p{color:#b4c3dc}.sh{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}.lnk{font-weight:600;color:var(--blue)}.dark .lnk{color:var(--cyan)}
.ph{background:var(--dk);color:#fff;padding:clamp(3rem,7vw,5.5rem) 0}.ph h1{font-size:clamp(2.2rem,5.5vw,4.4rem);max-width:18ch}
.idx{list-style:none;margin:0;padding:0;border-top:1px solid #c5d4ea}.idx li{border-bottom:1px solid #c5d4ea}.idx a{display:flex;gap:1.2rem;align-items:center;padding:1.2rem .4rem;text-decoration:none;transition:background .2s,padding .2s}.idx a:hover{background:#fff;padding-left:1rem}
.ri{color:var(--blue);flex:none;width:44px}.rt{flex:1;display:grid}.rt b{font-family:Manrope,sans-serif;font-size:1.2rem}.rt em{font-style:normal;color:#51627d;font-size:.96rem}.ra{color:var(--blue);font-size:1.3rem}
.pg{display:grid;grid-template-columns:repeat(6,1fr);gap:1.4rem}.pj{grid-column:span 2;text-decoration:none;color:#fff}.pj:nth-child(4n+1),.pj:nth-child(4n+2){grid-column:span 3}.pj svg{width:100%;height:auto;display:block;border-radius:4px}.pj h3{margin:.8rem 0 0;font-size:1.2rem}.pj span{color:var(--slate);font-size:.9rem}.pj:hover svg{box-shadow:0 0 0 2px var(--cyan)}
.flt{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.flt button{background:none;border:1px solid #2a4468;color:#c9d6ea;padding:.5rem 1rem;border-radius:99px;cursor:pointer;font:inherit}.flt button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
.why{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.proc{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:0;margin:2rem 0 0}.proc li{border-top:2px solid var(--blue);padding-top:1rem}.proc span{font:800 2.2rem Manrope,sans-serif;color:var(--cyan)}.proc.four h3{margin-bottom:0}
.dl{padding:0;list-style:none;margin:0}.dl li{padding:.7rem 0 .7rem 1.6rem;border-bottom:1px solid #c5d4ea;position:relative}.dl li:before{content:"";position:absolute;left:0;top:1.2rem;width:.7rem;height:2px;background:var(--blue)}
.note{border-left:4px solid var(--amber);background:#fff;padding:1rem 1.3rem;margin-top:1.6rem}.note h2{font-size:1.1rem}.note p{margin:0;font-size:.97rem}
details{border-bottom:1px solid #c5d4ea;padding:.9rem 0}summary{cursor:pointer;font-weight:600}
.cta{background:linear-gradient(120deg,var(--deep),var(--navy));color:#fff;padding:clamp(3.5rem,8vw,6rem) 0;text-align:left}.cta h2{font-size:clamp(2rem,5vw,3.6rem)}.cta p{max-width:46ch;color:#c9d6ea;margin-bottom:1.8rem}
.f{margin-bottom:1.1rem}.f label{display:block;font-weight:600;margin-bottom:.3rem}input,select,textarea{width:100%;font:inherit;padding:.8rem 1rem;border:1px solid #9db0cc;border-radius:6px;background:#fff}input.bad,select.bad,textarea.bad{border-color:#c0392b}.hp{position:absolute;left:-9999px}.fine{font-size:.9rem;color:#51627d}#st{font-weight:600}#st.err{color:#b3261e}#st.ok{color:#14733a}
.socials{list-style:none;display:flex;gap:.7rem;flex-wrap:wrap;padding:0}.socials a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #2a4468;color:#c9d6ea;transition:.2s}.socials a:hover{background:var(--blue);color:#fff;transform:translateY(-3px)}.socials.dk a{border-color:#9db0cc;color:var(--deep)}
.ft{background:var(--dk);color:#b4c3dc;padding-top:4rem}.ft-g{display:grid;grid-template-columns:1.3fr 1fr 1.4fr 1fr;gap:2rem}.ft h2{font-size:1rem;color:#fff}.ft ul:not(.socials){list-style:none;padding:0;margin:0}.ft li{margin:.35rem 0}.ft a{text-decoration:none}.ft a:hover{color:#fff}.ft-b{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid #1a2a44;margin-top:3rem;padding:1.4rem 0;font-size:.9rem}.ft-b a{margin-left:1.2rem}
.top{position:fixed;right:1rem;bottom:1rem;width:44px;height:44px;border-radius:50%;border:0;background:var(--blue);color:#fff;font-size:1.2rem;cursor:pointer}.prose{max-width:70ch}
.js .rv{opacity:0;transform:translateY(18px);transition:.7s}.js .rv.in{opacity:1;transform:none}
.cs-hero svg{width:100%;height:auto;display:block}.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin:2rem 0}.gal svg{width:100%;height:auto}.gal svg:first-child{grid-column:1/-1}
@media(max-width:900px){.hero-g,.two,.why{grid-template-columns:1fr}.proc{grid-template-columns:1fr 1fr}.ft-g{grid-template-columns:1fr 1fr}.pg{grid-template-columns:1fr}.pj,.pj:nth-child(n){grid-column:auto}.mb{display:block}.nav{position:fixed;inset:68px 0 auto 0;background:var(--dk);flex-direction:column;align-items:stretch;padding:1rem 1.5rem 2rem;gap:1rem;transform:translateY(-130%);transition:transform .3s}.nav.open{transform:none}.nav a{font-size:1.15rem}}
@media(max-width:560px){.proc,.ft-g{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}.js .rv{opacity:1;transform:none}}

/* Ormix refinement pass: editorial portfolio, depth, and responsive polish */
:root{--line:#d8e2f0;--ink:#0b1425;--muted:#66758e;--surface:#f4f7fb;--radius:14px}
::selection{background:rgba(52,120,246,.24);color:var(--ink)}
body{letter-spacing:-.008em;-webkit-font-smoothing:antialiased}
.w{width:min(1220px,100% - 3rem)}
.hd{background:rgba(7,13,24,.94);border-bottom:1px solid rgba(173,197,232,.12)}
.hd-in{height:76px}
.logo{font-size:1.45rem;letter-spacing:-.045em}
.nav{gap:clamp(.8rem,1.8vw,1.6rem)}
.nav a{transition:color .2s ease}
.btn{border-radius:7px;box-shadow:0 8px 24px rgba(52,120,246,.12)}
.btn.ghost{box-shadow:inset 0 0 0 1px rgba(190,211,244,.45)}
.hero{position:relative;padding-top:clamp(4.2rem,9vw,7.4rem);background:radial-gradient(700px 460px at 82% 54%,rgba(52,120,246,.22),transparent 70%),radial-gradient(600px 350px at 8% 100%,rgba(88,213,245,.08),transparent 70%),var(--dk)}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.hero .w{position:relative;z-index:1}
.hero-g{grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.hero-t h1{max-width:10ch;font-size:clamp(3.2rem,7.5vw,6.5rem);line-height:.98;letter-spacing:-.065em}
.hero-t .lead{max-width:31ch;font-size:clamp(1.2rem,2.2vw,1.55rem)}
.hero-v{position:relative;isolation:isolate}
.hero-v:before{content:"";position:absolute;inset:12% 0 4% 10%;z-index:-1;background:radial-gradient(ellipse,rgba(52,120,246,.2),transparent 68%);filter:blur(18px)}
.sky{filter:drop-shadow(0 24px 34px rgba(0,0,0,.12))}
.sec{padding:clamp(4rem,8vw,7rem) 0}
.sh{margin-bottom:2.6rem}
.sh h2{max-width:18ch}
.light{background:linear-gradient(180deg,#f5f8fc 0%,#edf3fb 100%)}
.dark{background:linear-gradient(145deg,#0a172a 0%,#07101e 100%)}
.idx{border-color:#cbd8e9}
.idx li{border-color:#d7e1ef}
.idx a{padding:1.25rem .55rem;transition:background .25s,padding .25s,border-color .25s}
.idx a:hover{background:rgba(255,255,255,.78);padding-left:1rem}
.ri{width:48px}
.rt b{font-size:1.22rem;letter-spacing:-.025em}
.rt em{max-width:65ch}
.pg{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(1rem,2vw,1.6rem);align-items:start}
.pj{display:block;grid-column:span 3;min-width:0;padding-bottom:.5rem;color:#fff;overflow:hidden}
.pj:nth-child(4n+1),.pj:nth-child(4n+2){grid-column:span 3}
.pj-art{position:relative;display:block;overflow:hidden;background:#101c31;border-radius:10px;isolation:isolate;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.project-art{display:block;width:100%;height:auto;aspect-ratio:8/5;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s}
.pj:hover .project-art{transform:scale(1.025);filter:saturate(1.06)}
.pj-arrow{position:absolute;right:1rem;top:1rem;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(7,13,24,.82);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:1.2rem;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
.pj:hover .pj-arrow,.pj:focus-visible .pj-arrow{opacity:1;transform:none}
.pj-meta{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-top:1rem;color:#9db1d0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.pj-meta span:last-child{color:#70c9f0;letter-spacing:0;text-transform:none}
.pj h3{margin:.5rem 0 .4rem;font-size:clamp(1.2rem,2vw,1.55rem);letter-spacing:-.035em;line-height:1.25}
.pj-summary{margin:0;max-width:55ch;color:#aebed5;font-size:.95rem;line-height:1.6}
.flt{gap:.55rem;margin-bottom:2.6rem}
.flt button{border-color:#314967;color:#c5d3e8;padding:.55rem 1rem;font-size:.9rem;transition:background .2s,border-color .2s,color .2s}
.flt button:hover{border-color:#72bff2;color:#fff}
.case-head{background:radial-gradient(600px 320px at 82% 25%,rgba(52,120,246,.22),transparent 70%),var(--dk);padding-top:clamp(4rem,8vw,6.5rem)}
.eyebrow{font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 .85rem}
.case-head .eyebrow{color:var(--cyan)}
.case-note{margin:1.4rem 0 0;color:#aebed5;font-size:.88rem}
.cs-hero{border-radius:12px;overflow:hidden;box-shadow:0 24px 70px rgba(10,25,49,.14)}
.cs-hero .project-art{width:100%}
.case-copy h2{margin-top:1.7rem;font-size:1.55rem}
.case-copy h2:first-of-type{margin-top:0}
.case-copy p:not(.eyebrow){color:#4c5e77}
.case-cta{padding:1.4rem;margin-top:2rem;border-radius:10px;background:#e2ecfa}
.case-cta p{margin:0 0 1rem!important;font-weight:600;color:#102342!important}
.gal{gap:1.2rem;margin-top:3rem}
.gal .project-art{border-radius:8px;overflow:hidden}
.cta{background:radial-gradient(600px 320px at 90% 20%,rgba(52,120,246,.24),transparent 70%),linear-gradient(120deg,#123563,#081426);position:relative;overflow:hidden}
.cta .w{position:relative;z-index:1}
.ft{border-top:1px solid rgba(151,178,217,.14)}
.ft-g{grid-template-columns:1.35fr .8fr 1.5fr .9fr;gap:clamp(1rem,3vw,2.5rem)}
.ft p{max-width:31ch}
.ft h2{letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;color:#8fa9cc}
.ft-b{border-color:#1c2b43}
.socials a{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.025)}
.socials a:hover{background:var(--blue);border-color:var(--blue)}
input,select,textarea{border-radius:8px;border-color:#c2cede;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(52,120,246,.12);outline:0}
@media(max-width:900px){.w{width:min(100% - 2rem,720px)}.hd-in{height:68px}.hero-g{grid-template-columns:1fr;gap:1.4rem}.hero-t h1{max-width:11ch}.hero-v{max-width:650px;margin:auto}.pg{grid-template-columns:repeat(2,minmax(0,1fr))}.pj,.pj:nth-child(n){grid-column:span 1}.ft-g{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{inset:68px 0 auto 0}.pj-arrow{opacity:1;transform:none}}
@media(max-width:560px){.w{width:calc(100% - 2rem)}.hero{padding-top:3.4rem}.hero-t h1{font-size:clamp(2.8rem,14vw,4.2rem)}.hero-t .lead{font-size:1.15rem}.acts{gap:.65rem}.acts .btn{padding:.8rem 1rem}.pg{grid-template-columns:1fr;gap:2rem}.pj,.pj:nth-child(n){grid-column:auto}.pj-meta{font-size:.7rem}.pj h3{font-size:1.28rem}.ft-g{grid-template-columns:1fr}.ft-b{align-items:flex-start;flex-direction:column}.ft-b span:last-child{display:flex;gap:.9rem;flex-wrap:wrap}.ft-b a{margin-left:0}.gal{grid-template-columns:1fr}.gal svg:first-child{grid-column:auto}.case-head h1{font-size:clamp(2.3rem,12vw,3.5rem)}.flt{gap:.45rem}.flt button{font-size:.82rem;padding:.48rem .78rem}}
@media(prefers-reduced-motion:reduce){.project-art,.pj-arrow{transition:none!important}}
