: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-color:#e4e4e1; background-image:url("assets/eagle-background.png"); background-position:right center; background-size:auto 100vh; background-attachment:fixed; background-repeat: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 { appearance:none; padding:0 0 4px; color:inherit; background:none; border:0; border-bottom:1px solid #999; font:600 13px "DM Sans",sans-serif; cursor:pointer; }
.contact-button { padding:10px 14px; border:1px solid #171819; border-radius:999px; box-shadow:0 6px 18px rgba(20,22,23,.12); }
.contact-link span { margin-left:5px; }
main { flex:1; display:flex; align-items:center; padding:64px 0 38px; }
.hero { width:min(780px,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 22px; color:#55585a; font-size:16px; line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; margin-bottom:34px; }
.primary-contact { display:flex; align-items:center; gap:34px; padding:14px 17px; color:#fff; background:#111314; border:0; border-radius:10px; box-shadow:0 10px 22px rgba(20,22,23,.22); font:700 12px "DM Sans",sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.primary-contact:hover { transform:translateY(-2px); box-shadow:0 14px 26px rgba(20,22,23,.28); }
.demo-contact { display:flex; align-items:center; gap:26px; padding:13px 16px; color:#18223b; background:rgba(222,237,255,.78); border:1px solid rgba(72,143,226,.35); border-radius:10px; box-shadow:0 10px 22px rgba(52,93,145,.12),inset 0 1px rgba(255,255,255,.75); font:700 12px "DM Sans",sans-serif; letter-spacing:.03em; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.demo-contact:hover { transform:translateY(-2px); box-shadow:0 14px 26px rgba(52,93,145,.18),inset 0 1px rgba(255,255,255,.75); }
.demo-contact u { text-underline-offset:3px; }
.services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:stretch; }
.service-card { position:relative; isolation:isolate; min-width:0; 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; }
.payment-notice button { appearance:none; padding:0; color:#fff; background:none; border:0; font:700 12px "DM Sans",sans-serif; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
footer { display:flex; justify-content:space-between; color:#626466; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.contact-dialog { width:min(520px,calc(100% - 32px)); padding:34px; color:var(--ink); background:rgba(248,247,243,.98); border:1px solid rgba(255,255,255,.8); border-radius:20px; box-shadow:0 30px 90px rgba(10,12,13,.3); }
.contact-dialog::backdrop { background:rgba(15,16,17,.55); backdrop-filter:blur(8px); }
.contact-dialog h2 { margin:0 0 26px; font:600 38px/1 "Space Grotesk",sans-serif; letter-spacing:-.055em; }
.dialog-close { position:absolute; top:17px; right:20px; width:34px; height:34px; padding:0; color:#303234; background:rgba(0,0,0,.05); border:0; border-radius:50%; font-size:25px; cursor:pointer; }
.form-row { display:grid; gap:7px; margin-bottom:15px; }
.form-row label { color:#55585a; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.form-row input,.form-row select,.form-row textarea { width:100%; padding:12px 13px; color:var(--ink); background:#fff; border:1px solid #d0d1ce; border-radius:9px; font:14px "DM Sans",sans-serif; }
.form-row textarea { resize:vertical; }
.form-row input:focus,.form-row select:focus,.form-row textarea:focus { outline:2px solid #478fe2; outline-offset:1px; }
.form-submit { width:100%; display:flex; justify-content:space-between; padding:14px 16px; color:#fff; background:#111314; border:0; border-radius:9px; font:700 12px "DM Sans",sans-serif; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.form-submit:disabled { opacity:.55; cursor:wait; }
.form-status { min-height:20px; margin:12px 0 0; color:#55585a; font-size:12px; line-height:1.5; }
.honeypot { position:absolute!important; left:-9999px!important; }
@media (max-width:760px) { body { background-position:center top; background-size:100% auto; 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-button{padding:8px 10px}.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}.hero-actions{margin-bottom:30px}.demo-contact{gap:16px;font-size:12px}footer{gap:15px}.brand-mark{width:34px;height:34px} }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
