:root { --ink:#101112; --paper:#f6f4ef; --muted:#5f6264; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; color:var(--ink); background:#d7d7d4 url("assets/eagle-background.png") center 18% / cover fixed no-repeat; font-family:"DM Sans",sans-serif; }
body::before { content:""; position:fixed; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(248,247,243,.96) 0%,rgba(248,247,243,.86) 43%,rgba(248,247,243,.2) 76%,rgba(248,247,243,.1)); }
.page-shell { width:min(1480px,100%); min-height:100vh; margin:auto; padding:28px clamp(24px,5vw,76px) 22px; display:flex; flex-direction:column; }
.site-header { display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; font-family:"Space Grotesk",sans-serif; font-weight:700; letter-spacing:-.04em; }
.brand > span:last-child span { font-weight:500; color:#696b6d; }
.brand-mark { display:grid; place-items:center; width:38px; height:38px; border:1px solid #1c1d1e; border-radius:50%; font-size:11px; letter-spacing:-.08em; }
.contact-link { color:inherit; text-decoration:none; font-size:13px; font-weight:600; border-bottom:1px solid #999; padding-bottom:4px; }
.contact-link span { margin-left:5px; }
main { flex:1; display:flex; align-items:center; padding:64px 0 38px; }
.hero { width:min(740px,100%); }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 18px; color:#626466; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow span { width:20px; height:1px; background:#777; }
h1 { margin:0; font:600 clamp(55px,7.3vw,104px)/.86 "Space Grotesk",sans-serif; letter-spacing:-.075em; }
h1 em { color:transparent; -webkit-text-stroke:1.5px #202122; font-style:normal; }
.lede { max-width:480px; margin:26px 0 34px; color:#55585a; font-size:16px; line-height:1.6; }
.services { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.service-card { position:relative; isolation:isolate; min-height:285px; padding:19px; overflow:hidden; border:1px solid rgba(255,255,255,.7); border-radius:18px; box-shadow:0 18px 45px rgba(20,22,23,.12),inset 0 1px rgba(255,255,255,.65); display:flex; flex-direction:column; justify-content:space-between; backdrop-filter:blur(18px); transition:transform .25s ease,box-shadow .25s ease; }
.service-card::before,.service-card::after { content:""; position:absolute; z-index:-1; border-radius:50%; filter:blur(3px); }
.service-card::before { width:170px; height:170px; right:-55px; top:-55px; opacity:.58; }
.service-card::after { width:120px; height:120px; left:-50px; bottom:-45px; opacity:.35; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 24px 55px rgba(20,22,23,.17),inset 0 1px rgba(255,255,255,.75); }
.apps-card { background:linear-gradient(145deg,rgba(224,248,231,.92),rgba(246,250,244,.76)); }
.apps-card::before { background:repeating-radial-gradient(circle,#46b66b 0 2px,transparent 2px 9px); }
.apps-card::after { background:#4ecb77; }
.ai-card { background:linear-gradient(145deg,rgba(222,237,255,.92),rgba(244,248,253,.76)); }
.ai-card::before { background:repeating-linear-gradient(45deg,#478fe2 0 2px,transparent 2px 11px); }
.ai-card::after { background:#478fe2; }
.websites-card { background:linear-gradient(145deg,rgba(255,226,241,.92),rgba(252,246,249,.78)); }
.websites-card::before { background:radial-gradient(circle at 30% 30%,#ec6da8 0 3px,transparent 4px),radial-gradient(circle at 70% 70%,#ec6da8 0 3px,transparent 4px); background-size:22px 22px; }
.websites-card::after { background:#ef76ad; }
.card-top { display:flex; justify-content:space-between; align-items:flex-start; }
.service-number { color:#666; font-size:10px; font-weight:700; letter-spacing:.12em; }
.service-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:rgba(255,255,255,.6); box-shadow:inset 0 0 0 1px rgba(255,255,255,.8); }
.service-icon svg { width:22px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.service-card h2 { margin:0 0 9px; font:600 25px/1 "Space Grotesk",sans-serif; letter-spacing:-.05em; }
.service-card p { margin:0; color:#4f5355; font-size:12px; line-height:1.5; }
.pay-button { margin-top:20px; padding-top:12px; border-top:1px solid rgba(20,20,20,.14); display:flex; justify-content:space-between; color:inherit; text-decoration:none; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.pay-button span { transition:transform .2s; }.pay-button:hover span { transform:translateX(4px); }
.payment-notice { width:max-content; max-width:100%; margin:14px 0 0; padding:10px 14px; border-radius:8px; background:rgba(17,18,19,.9); color:white; font-size:12px; opacity:0; transform:translateY(-4px); transition:.2s; pointer-events:none; }
.payment-notice:target,.payment-notice.show { opacity:1; transform:none; }
footer { display:flex; justify-content:space-between; color:#626466; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
@media (max-width:760px) { body { background-position:58% center; background-attachment:scroll; } body::before { background:rgba(248,247,243,.84); } .page-shell{padding:20px;} main{padding:70px 0 45px;align-items:flex-start}.contact-link{font-size:0}.contact-link span{font-size:18px}.services{grid-template-columns:1fr}.service-card{min-height:230px}.hero{width:100%}h1{font-size:clamp(55px,18vw,82px)}.lede{font-size:15px}footer{gap:15px}.brand-mark{width:34px;height:34px} }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
