:root{color-scheme:dark;--background:#090d19;--surface:#121a2d;--primary:#7c5cfc;--accent:#91dcff;--text:#f4f6ff;--muted:#b9c4dc;--line:#303d58;--radius:.55rem;--step:clamp(2.5rem, 5vw, 5rem);background:var(--background);color:var(--text);font:1rem/1.6 system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(54rem 35rem at 88% 6rem,#1c3765b3,#0000 74%),radial-gradient(40rem 33rem at 0 28rem,#29235380,#0000 76%),linear-gradient(133deg,#0000 58%,#86acff1c 58.1%,#6384e612 72%,#0000 72.15%) 100% 0/min(66rem,100%) 42rem no-repeat;min-height:100vh;margin:0}body[data-section=dev]{background:radial-gradient(56rem 37rem at 93% 9rem,#35245ca8,#0000 74%),radial-gradient(36rem 32rem at 0 27rem,#1b386175,#0000 75%)}img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:.24em}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}:target{scroll-margin-top:1rem}p{max-width:66ch}h1,h2,h3{text-wrap:balance;margin:0 0 .85rem;line-height:1.12}h1{letter-spacing:-.065em;font-size:clamp(2.35rem,7vw,5.7rem)}h2{letter-spacing:-.04em;font-size:clamp(1.65rem,3.9vw,3rem)}h3{font-size:1.35rem}.frame{width:min(100% - 2rem,70rem);margin-inline:auto}.header,.footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.2rem;padding-block:1rem;display:flex}.header{border-bottom:1px solid var(--line)}.wordmark{align-items:center;gap:.45rem;font-weight:750;text-decoration:none;display:inline-flex}.main-nav,.languages,.actions{flex-wrap:wrap;gap:.35rem .7rem;display:flex}.main-nav a,.languages a{min-height:2.75rem;color:var(--muted);align-items:center;padding-inline:.3rem;font-size:.93rem;display:inline-flex}a[aria-current]{color:var(--text);text-decoration-color:var(--accent)}.languages a{font-family:ui-monospace,monospace}.hero{gap:var(--step);padding-block:var(--step);grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:center;display:grid}.intro{color:var(--muted);margin-bottom:1.4rem;font-size:clamp(1.15rem,2vw,1.45rem)}.button{color:#0a1527;max-width:100%;min-height:2.85rem;font:inherit;text-align:center;cursor:pointer;background:linear-gradient(120deg,#d4edff,#a1c7ff);border:1px solid #a9d8fc;border-radius:.25rem .8rem .25rem .25rem;justify-content:center;align-items:center;gap:.8rem;padding:.65rem 1rem;font-weight:720;text-decoration:none;transition:box-shadow .18s,border-color .18s,background-color .18s;display:inline-flex;box-shadow:0 .2rem #526d9b,0 .5rem 1.35rem #07101d52}a.button:after{content:"→" / "";font-weight:500}.button.secondary{color:var(--text);background:#142139;border-color:#557097;box-shadow:0 .2rem #080f1d}.button:hover{border-color:#e4f3ff;box-shadow:0 .2rem #6d8abc,0 .35rem 1.15rem #8fbaff45}.button.secondary:hover{border-color:var(--accent);background:#203654;box-shadow:0 .2rem #101d32}.button:active{box-shadow:inset 0 .12rem .3rem #08122450}.band{padding-block:var(--step);border-top:1px solid var(--line)}.split{gap:1.25rem var(--step);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;display:grid}.label,.arrow{color:var(--accent);font-weight:650}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.project-image{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:.65rem;display:block}.stats div,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:clamp(.8rem,2vw,1.3rem)}.stats div{flex-direction:column-reverse;justify-content:start;display:flex}.stats dt{overflow-wrap:anywhere;font-size:.9rem}.stats dd{color:var(--accent);margin:0;font-size:2rem;font-weight:700}.skills{flex-wrap:wrap;gap:.6rem;padding:0;list-style:none;display:flex}.skills li{border:1px solid var(--line);border-radius:.35rem;padding:.15rem .55rem}.pricing{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.panel{flex-direction:column;align-items:flex-start;display:flex}.panel .button{margin-top:auto}.panel ul,.steps{padding-inline-start:1.2rem}.price{color:var(--accent);margin:0;font-weight:680}.price strong{color:var(--text);font-size:1.8rem;display:block}.quiet,.footer{color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:.65rem 0;font-weight:650}fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;min-width:0;margin:0;padding:0;display:grid}label{font-weight:600;display:block}.field-hint{color:var(--muted);margin-top:.25rem;font-weight:400;display:block}.wide{grid-column:1/-1}input,select,textarea{background:var(--surface);border:1px solid var(--line);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:.35rem;margin-top:.25rem;padding:.6rem;font-weight:400;display:block}textarea{resize:vertical}#quote-result .actions{margin-top:.65rem}.quote-payment{border-top:1px solid var(--line);margin-top:1.15rem;padding-top:1.15rem}.quote-payment h3{margin-bottom:.5rem;font-size:1rem}.quote-payment ul{margin-block:.5rem}.quote-payment p{margin:0}.quote-payment>a{color:var(--accent);margin-top:.5rem;display:inline-block}.quote-contact{grid-template-columns:max-content minmax(0,1fr);gap:.45rem .85rem;display:grid}.quote-contact dt{color:var(--muted)}.quote-contact dd{overflow-wrap:anywhere;margin:0}.quote-contact a{color:var(--accent)}.footer{border-top:1px solid var(--line)}.skip{z-index:2;background:var(--surface);padding:.6rem;position:fixed;top:0;left:1rem;transform:translateY(-140%)}.skip:focus{transform:translateY(.4rem)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=720px){.header .main-nav{order:1;width:100%}.hero,.split,.pricing{grid-template-columns:minmax(0,1fr)}.hero{gap:1.4rem}}@media (width<=390px){fieldset{grid-template-columns:minmax(0,1fr)}}.main-nav a{isolation:isolate;padding-inline:.45rem;text-decoration:none;position:relative}.main-nav a:before,.main-nav a:after{content:"";z-index:-1;pointer-events:none;opacity:0;transform-origin:0;transition:opacity .14s ease-out,transform .18s ease-out;position:absolute;transform:scaleX(.65)}.main-nav a:before{clip-path:polygon(0 0,100% 0,calc(100% - .4rem) 100%,0 100%);background:linear-gradient(108deg,#263e65,#18263e);inset:.36rem 0}.main-nav a:after{background:var(--accent);height:2px;inset:auto .46rem .28rem}.main-nav a:is(:hover,:focus-visible,[aria-current]):before,.main-nav a:is(:hover,:focus-visible,[aria-current]):after{opacity:1;transform:scaleX(1)}.main-nav a:is(:hover,:focus-visible,[aria-current]),.languages a:hover{color:var(--text)}.main-nav a[aria-current]:before{background:linear-gradient(108deg,#2d4b77,#223653)}.hero{min-height:min(36rem,72svh)}.home-title{font-size:clamp(2.35rem,6.5vw,5.65rem)}.home-title span{color:#b6c8ff;display:block}.social{color:var(--muted);margin-top:1.65rem}.social-label{margin:0 0 .2rem;font-size:.85rem;font-weight:650}.social ul{flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin:0;padding:0;list-style:none;display:flex}.social a{align-items:center;gap:.35rem;min-height:2rem;display:inline-flex}.social a:hover,.social a span{color:var(--accent)}.social code{color:var(--text);margin-inline-start:.25rem}.emblem{border:1px solid var(--line);border-radius:var(--radius);isolation:isolate;aspect-ratio:1.12;background:radial-gradient(at 70% 35%,#1a3866,#10192f 65%,#0c1325);place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.emblem:before{content:"";z-index:-1;background:linear-gradient(165deg,#688fff40,#5b64db08 78%);border-inline:1px solid #8baaff28;position:absolute;inset:-25% 13% -25% 52%;transform:skew(-27deg)}.emblem:after{content:"";aspect-ratio:1;z-index:-1;border:1px solid #a8caff40;border-radius:50%;width:76%;position:absolute}.emblem img{filter:drop-shadow(0 .7rem 1.8rem #759dff66);width:57%;transition:transform .24s,filter .24s;display:block}@media (hover:hover){.emblem:hover img{filter:drop-shadow(0 .9rem 2rem #82adff99);transform:translateY(-.3rem)}}.section-links{padding-bottom:var(--step);grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.section-links a{border:1px solid var(--line);background:linear-gradient(145deg,#18253f,#111b30);border-top-color:#56729d;align-items:flex-start;gap:.85rem;min-height:6.5rem;padding:1rem;text-decoration:none;transition:background-color .18s,border-color .18s;display:flex}.section-links a:hover,.section-links a:focus-visible{border-color:var(--accent);background:#1a2a49}.section-index{color:var(--accent);padding-top:.3rem;font:.8rem ui-monospace,monospace}.section-text{gap:.25rem;display:grid}.section-text>span{color:var(--muted);font-size:.9rem;line-height:1.45}.section-arrow{color:var(--accent);margin-inline-start:auto}.section-heading{padding-block:clamp(2.5rem,7vw,5.25rem) clamp(1.5rem,4vw,3rem)}.section-heading h1{margin:0}.section-heading .intro{margin-bottom:0}.section-heading h1:after{content:"";background:var(--accent);width:.16em;height:.53em;margin-inline-start:.22em;display:inline-block;transform:skew(-26deg)}.project-feature .project-image{border-color:#45587f}.service-hero{min-height:min(26rem,58svh)}.service-hero .emblem{background:radial-gradient(at 65% 38%,#32245d,#15192f 68%)}.about-hero .skills{margin-bottom:1.75rem}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,4vw,2.5rem);margin-top:1.5rem;display:grid}.detail-grid>div{border-inline-start:2px solid #698fc4;padding-inline-start:1rem}.detail-grid p,.steps p{color:var(--muted);margin:.45rem 0 0}.steps li+li{margin-top:1rem}.steps li::marker{color:var(--accent)}@media (width<=720px){.main-nav{column-gap:.35rem}.hero{min-height:0}.emblem{aspect-ratio:auto;min-height:10rem}.emblem:after{width:8.25rem}.emblem img{width:7rem}.section-links{grid-template-columns:1fr;gap:.5rem}.section-links a{min-height:0}.detail-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition{background:linear-gradient(118deg,#101d42 10%,#24569b 50%,#3e88b8 75%,#193461)}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation-duration:.42s;animation-timing-function:cubic-bezier(.35,.03,.25,1);animation-fill-mode:both}::view-transition-old(root){animation-name:section-sweep-out}::view-transition-new(root){animation-name:section-sweep-in}@keyframes section-sweep-out{0%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}46%{clip-path:polygon(69% 0,100% 0,100% 100%,47% 100%)}to{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}}@keyframes section-sweep-in{0%,8%{clip-path:polygon(0 0,0 0,0 100%,0 100%)}46%{clip-path:polygon(0 0,49% 0,26% 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}}@media (prefers-reduced-motion:reduce){.emblem img,.section-links a,.button,.main-nav a:before,.main-nav a:after{transition:none}.emblem:hover img{transform:none}}
