:root { --deep:#06152b; --panel:#0c2946; --cyan:#8fe8f0; --gold:#edd298; --text:#f3f7fa; --muted:#bed2dc; --display:Georgia,'Times New Roman',serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--deep); color:var(--text); font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif; }
a { color:inherit; }
a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.skip { position:absolute; left:-9999px; top:8px; z-index:100; background:white; color:#06152b; padding:8px; }.skip:focus { left:8px; }
.wrap { width:min(1180px,calc(100% - 48px)); margin:auto; }
.site-header { background:#06152bf2; border-bottom:1px solid #3b6e86; position:sticky; top:0; z-index:20; backdrop-filter:blur(16px); }
.header-inner { min-height:76px; display:flex; align-items:center; gap:30px; }
.brand { text-decoration:none; color:var(--gold); font-size:12px; line-height:1.1; letter-spacing:.17em; font-weight:700; white-space:nowrap; }.brand strong { display:block; font-size:17px; }
.brand-mark { display:inline-grid; place-items:center; width:42px; height:42px; border:1px solid var(--gold); border-radius:50%; margin-right:9px; letter-spacing:-.1em; }
.subnav { margin-left:auto; display:flex; gap:20px; align-items:center; }.subnav a { text-decoration:none; font-size:12px; font-weight:720; color:#d9eaf0; white-space:nowrap; }.subnav a:hover,.subnav a[aria-current=page] { color:var(--gold); }
.back { display:inline-flex; align-items:center; gap:8px; margin:26px 0 8px; text-decoration:none; color:var(--cyan); font-size:13px; font-weight:700; }.back:hover { color:white; }
.subhero { padding:70px 0 66px; background:radial-gradient(circle at 80% 20%,#123e5c,#071b33 54%,#06152b); border-bottom:1px solid #376178; }
.kicker { color:var(--cyan); font-size:11px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; margin:0 0 18px; }
h1,h2,h3,p { margin-top:0; }h1,h2,h3 { font-family:var(--display); font-weight:400; line-height:1.08; }h1 { font-size:clamp(2.8rem,6vw,5.8rem); max-width:900px; letter-spacing:-.04em; margin-bottom:22px; }h1 em,h2 em { color:var(--gold); font-style:normal; }.lead { max-width:700px; color:#d2e1e9; font-size:clamp(16px,1.8vw,20px); margin-bottom:0; }
.section { padding:74px 0; }.section:nth-of-type(even) { background:#0a2039; }.section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:30px; }.section h2 { font-size:clamp(2.1rem,4vw,3.8rem); margin:0; }.section-head p { color:var(--muted); max-width:420px; margin:0; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 18px; text-decoration:none; border-radius:4px; border:1px solid var(--gold); background:var(--gold); color:#0a1b2a; font-weight:800; font-size:13px; }.button:hover { background:#f7e0ac; }.button.secondary { background:transparent; color:var(--gold); }.button-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.mini-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.work-card { border:1px solid #42647e; background:#0c2946; border-radius:9px; overflow:hidden; transition:transform .25s,border-color .25s,box-shadow .25s; }.work-card:hover { transform:translateY(-5px); border-color:#81dcea; box-shadow:0 20px 35px #0004; }
.work-thumb { aspect-ratio:1.4; padding:24px; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 80% 15%,var(--accent),var(--art) 70%); }
.mini-site { width:86%; height:78%; background:var(--paper); color:var(--ink); border-radius:4px; box-shadow:0 17px 30px #0007; overflow:hidden; transform:rotate(-2deg); transition:transform .3s; }.work-card:hover .mini-site { transform:rotate(0) scale(1.04); }
.mini-site .site-top { display:flex; align-items:center; justify-content:space-between; height:16%; padding:0 7%; font-size:8px; font-weight:800; border-bottom:1px solid #0002; }.mini-site .site-top span:last-child { display:block; width:28%; height:3px; background:var(--ink); opacity:.35; }
.mini-site .site-body { padding:12% 9%; }.mini-site small { font-size:9px; text-transform:uppercase; letter-spacing:.1em; }.mini-site strong { display:block; max-width:90%; font:clamp(17px,2vw,32px)/1.05 var(--display); margin-top:8%; }.mini-site i { display:block; width:40%; height:7px; background:var(--accent); margin-top:13%; }
.work-meta { padding:20px; }.work-meta small { color:var(--cyan); font-size:10px; letter-spacing:.1em; font-weight:800; text-transform:uppercase; }.work-meta h2 { font:400 27px var(--display); margin:6px 0 8px; }.work-meta p { color:var(--muted); font-size:13px; margin-bottom:12px; }.work-meta details { border-top:1px solid #48657b; padding-top:11px; }.work-meta summary { cursor:pointer; color:var(--gold); font-size:13px; font-weight:760; }.work-meta details p { margin:10px 0; }.work-meta .mini-link { display:inline-block; color:var(--gold); font-size:12px; margin-top:10px; }
.demo-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.demo-strip a { display:block; border:1px solid #497894; padding:20px; border-radius:7px; text-decoration:none; background:#0c2946; transition:transform .2s,background .2s; }.demo-strip a:hover { transform:translateY(-4px); background:#123958; }.demo-strip strong,.demo-strip span { display:block; }.demo-strip strong { font:26px var(--display); }.demo-strip span { color:var(--cyan); font-size:12px; margin-top:7px; }
.content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.content-card { background:#0d2a46; border:1px solid #486981; border-radius:8px; padding:26px; }.content-card .num { color:var(--cyan); font-size:11px; letter-spacing:.16em; }.content-card h2 { font-size:29px; margin:25px 0 14px; }.content-card p,.content-card li { color:var(--muted); font-size:14px; }.content-card ul { padding-left:20px; }.content-card li+li { margin-top:6px; }
.callout { border-left:3px solid var(--gold); background:linear-gradient(90deg,#123c58,#0b2a46); padding:26px; margin-top:20px; }.callout h2 { font-size:29px; margin:0 0 10px; }.callout p { color:#d4e3e9; margin:0; }
.price-tag { font:33px var(--display); color:var(--gold)!important; margin-bottom:10px; }.note { color:var(--muted); font-size:13px; }
form { max-width:760px; padding:28px; border:1px solid #5b8296; border-radius:8px; background:#0d2a46; }.field { display:block; font-size:13px; font-weight:750; margin:17px 0 7px; }.field:first-child { margin-top:0; }input,select,textarea { display:block; width:100%; padding:12px; border:1px solid #7192a3; border-radius:4px; color:#fff; background:#123752; font:inherit; }textarea { resize:vertical; }option { background:#123752; }button.button { cursor:pointer; margin-top:20px; }#form-status { color:var(--cyan); font-size:13px; margin:15px 0 0; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }.contact-item { padding:30px; border:1px solid #56788d; border-radius:7px; background:#0d2a46; }.contact-item small { display:block; color:var(--cyan); text-transform:uppercase; letter-spacing:.13em; margin-bottom:13px; }.contact-item a { color:var(--gold); overflow-wrap:anywhere; font:clamp(20px,2.3vw,31px) var(--display); text-decoration:none; }
.site-footer { padding:28px 0; border-top:1px solid #31536d; background:#040e1b; color:#a7bdca; font-size:12px; }.footer-inner { display:flex; justify-content:space-between; gap:20px; }.footer-inner p { margin:0; }
@media(max-width:900px) { .mini-grid,.content-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.subnav { gap:10px; overflow:auto; }.subnav a { font-size:11px; } }
@media(max-width:650px) { .wrap { width:calc(100% - 32px); }.header-inner { display:block; padding:12px 0; }.subnav { margin:12px 0 0; padding-bottom:4px; }.subhero { padding:43px 0; }.section { padding:48px 0; }.section-head { display:block; }.section-head p { margin-top:14px; }.mini-grid,.content-grid,.demo-strip,.contact-grid { grid-template-columns:1fr; }.work-thumb { aspect-ratio:1.5; }.footer-inner { display:block; }.footer-inner p+p { margin-top:8px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
