:root { --navy:#071a38; --blue:#0b63e5; --cyan:#69bfd8; --ink:#0b1930; --muted:#607086; --line:#dce5ee; --paper:#f7f9fc; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
.container { width:min(1180px,calc(100% - 48px)); margin:0 auto; }

.site-header { position:sticky; top:0; z-index:50; height:82px; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(7,26,56,.1); backdrop-filter:blur(14px); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:11px; min-width:210px; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; background:var(--blue); color:#fff; font-weight:900; font-size:18px; letter-spacing:-2px; clip-path:polygon(0 0,100% 0,100% 76%,76% 100%,0 100%); }
.brand-copy { display:flex; flex-direction:column; line-height:1.08; }
.brand-copy strong { font-size:17px; letter-spacing:.01em; }
.brand-copy small { margin-top:4px; color:var(--muted); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.desktop-nav { display:flex; align-items:center; gap:33px; margin-left:auto; }
.desktop-nav a { position:relative; color:#34435a; font-size:14px; font-weight:650; }
.desktop-nav a::after { content:""; position:absolute; left:0; bottom:-9px; width:0; height:2px; background:var(--blue); transition:width .2s ease; }
.desktop-nav a:hover::after { width:100%; }
.header-phone { display:inline-flex; align-items:center; gap:13px; min-height:44px; padding:0 18px; border-left:1px solid var(--line); color:var(--blue); font-size:14px; font-weight:800; }
.header-phone span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:var(--blue); color:#fff; }

.hero { position:relative; min-height:720px; overflow:hidden; background:linear-gradient(110deg,#fff 0%,#fff 55%,#f3f7fb 55%); }
.hero-grid { position:absolute; inset:0; opacity:.43; background-image:linear-gradient(rgba(24,71,123,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(24,71,123,.075) 1px,transparent 1px); background-size:36px 36px; mask-image:linear-gradient(to right,transparent,black 48%,black); }
.hero::after { content:""; position:absolute; right:-120px; top:80px; width:520px; height:520px; border:1px solid rgba(11,99,229,.12); border-radius:50%; box-shadow:0 0 0 60px rgba(11,99,229,.028),0 0 0 120px rgba(11,99,229,.02); }
.hero-inner { position:relative; z-index:2; min-height:720px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:70px; padding:72px 0 74px; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 24px; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow span { width:30px; height:2px; background:currentColor; }
.hero h1,.section h2,.contact h2 { margin:0; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:clamp(49px,5.25vw,76px); font-weight:400; line-height:1.035; letter-spacing:-.045em; }
.hero h1 em,.contact h2 em { color:var(--blue); font-weight:400; }
.hero-lead { max-width:650px; margin:30px 0 0; color:var(--muted); font-size:17px; line-height:1.78; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:36px; }
.button { min-height:53px; display:inline-flex; align-items:center; justify-content:space-between; gap:30px; padding:0 21px; font-size:14px; font-weight:800; transition:transform .2s ease,box-shadow .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--blue); color:#fff; box-shadow:0 12px 25px rgba(11,99,229,.18); }
.button-primary:hover { box-shadow:0 16px 30px rgba(11,99,229,.25); }
.button-secondary { background:#fff; border:1px solid var(--line); }
.hero-tags { display:flex; gap:23px; margin-top:42px; color:#6a788c; font-size:11px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.hero-tags span { display:flex; align-items:center; gap:9px; }
.hero-tags span::before { content:""; width:5px; height:5px; background:var(--cyan); border-radius:50%; }

.hero-visual { position:relative; display:grid; place-items:center; min-height:520px; }
.drawing-card { position:relative; z-index:2; width:min(100%,440px); min-height:510px; padding:24px; background:rgba(255,255,255,.94); border:1px solid #cddae7; box-shadow:0 28px 70px rgba(7,26,56,.14); transform:rotate(1.5deg); }
.drawing-card::before,.drawing-card::after { content:""; position:absolute; width:14px; height:14px; border-color:var(--blue); }
.drawing-card::before { left:10px; top:10px; border-left:2px solid var(--blue); border-top:2px solid var(--blue); }
.drawing-card::after { right:10px; bottom:10px; border-right:2px solid var(--blue); border-bottom:2px solid var(--blue); }
.drawing-head { display:flex; justify-content:space-between; padding-bottom:14px; border-bottom:1px solid var(--line); color:#77869a; font:700 9px/1.3 ui-monospace,monospace; letter-spacing:.12em; }
.logo-frame { height:285px; display:grid; place-items:center; padding:16px; overflow:hidden; }
.logo-frame img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.drawing-lines { display:grid; gap:8px; padding:17px 0; border-top:1px solid var(--line); }
.drawing-lines span { display:block; width:100%; height:5px; background:#e8eef4; }
.drawing-lines span:nth-child(2) { width:74%; }.drawing-lines span:nth-child(3) { width:88%; }.drawing-lines span:nth-child(4) { width:48%; }
.drawing-footer { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }
.drawing-footer div { padding:12px; }.drawing-footer div+div { border-left:1px solid var(--line); }
.drawing-footer small { display:block; margin-bottom:5px; color:#8a97a8; font:700 8px ui-monospace,monospace; letter-spacing:.12em; }
.drawing-footer strong { color:var(--navy); font:800 11px ui-monospace,monospace; letter-spacing:.08em; }
.coordinate { position:absolute; z-index:3; padding:8px 11px; background:var(--navy); color:#fff; font:700 9px ui-monospace,monospace; letter-spacing:.12em; }
.coordinate-a { left:4px; top:95px; }.coordinate-b { right:-12px; bottom:95px; background:var(--blue); }

.section { padding:112px 0; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:70px; margin-bottom:58px; }
.section-heading h2,.about-copy h2 { font-size:clamp(42px,4.4vw,62px); }
.section-heading>p { max-width:430px; margin:0 0 7px; color:var(--muted); font-size:16px; line-height:1.75; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.service-card { min-height:330px; position:relative; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .22s ease,transform .22s ease,box-shadow .22s ease; }
.service-card:hover { z-index:2; background:var(--navy); color:#fff; transform:translateY(-4px); box-shadow:0 18px 35px rgba(7,26,56,.16); }
.service-number { color:#94a1b2; font:700 10px ui-monospace,monospace; letter-spacing:.13em; }
.service-icon { position:relative; width:49px; height:49px; margin:36px 0 26px; border:1px solid #b7c9dc; transform:rotate(45deg); }
.service-icon i { position:absolute; background:var(--blue); }.service-icon i:first-child { width:20px; height:2px; left:14px; top:23px; }.service-icon i:last-child { width:2px; height:20px; left:23px; top:14px; }
.service-card:hover .service-icon { border-color:rgba(255,255,255,.45); }.service-card:hover .service-icon i { background:var(--cyan); }
.service-card h3 { max-width:280px; margin:0; color:var(--navy); font-size:19px; line-height:1.32; }.service-card:hover h3 { color:#fff; }
.service-card p { margin:14px 0 0; color:var(--muted); font-size:14px; line-height:1.67; }.service-card:hover p { color:#adbbce; }
.service-card a { position:absolute; left:30px; bottom:27px; color:var(--blue); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }.service-card a span { margin-left:8px; }.service-card:hover a { color:var(--cyan); }

.about { position:relative; overflow:hidden; background:var(--navy); color:#fff; }
.about::after { content:"03"; position:absolute; right:-20px; bottom:-130px; color:rgba(255,255,255,.025); font:700 430px/1 ui-monospace,monospace; }
.about-grid { position:relative; z-index:2; display:grid; grid-template-columns:.9fr 1.1fr; gap:105px; align-items:center; }
.about-panel { position:relative; min-height:510px; border:1px solid rgba(255,255,255,.16); background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:32px 32px; }
.about-blueprint { position:absolute; inset:52px 52px 116px; border:1px solid rgba(105,191,216,.35); display:grid; place-items:center; }
.about-blueprint strong { position:relative; z-index:2; color:#fff; font:900 94px/1 Arial,sans-serif; letter-spacing:-10px; }
.bp-circle { position:absolute; width:205px; height:205px; border:1px solid rgba(105,191,216,.45); border-radius:50%; box-shadow:0 0 0 36px rgba(105,191,216,.045); }
.bp-line { position:absolute; background:rgba(105,191,216,.42); }.bp-one { width:1px; height:100%; }.bp-two { width:100%; height:1px; }
.about-stat { position:absolute; bottom:25px; width:calc(50% - 39px); display:flex; align-items:center; gap:13px; }
.about-stat:nth-last-child(2) { left:27px; }.about-stat:last-child { right:22px; }
.about-stat strong { color:var(--cyan); font:400 35px Georgia,serif; }.about-stat span { max-width:100px; color:#a9b7c9; font-size:10px; line-height:1.45; text-transform:uppercase; letter-spacing:.08em; }
.eyebrow.light { color:var(--cyan); }
.about-copy h2 { color:#fff; }
.about-copy>p:not(.eyebrow) { max-width:600px; margin:26px 0 0; color:#b8c4d4; font-size:16px; line-height:1.85; }
.text-link { display:inline-flex; gap:22px; margin-top:34px; padding-bottom:8px; color:var(--cyan); border-bottom:1px solid rgba(105,191,216,.45); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }

.process { background:var(--paper); }
.section-heading.compact { margin-bottom:48px; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #cfdbe6; }
.process-step { display:grid; grid-template-columns:44px 1fr; gap:20px; padding:36px 35px 14px 0; }
.process-step+.process-step { padding-left:35px; border-left:1px solid #cfdbe6; }
.process-step>span { width:44px; height:44px; display:grid; place-items:center; background:var(--blue); color:#fff; font:800 11px ui-monospace,monospace; }
.process-step h3 { margin:3px 0 10px; font-size:18px; }.process-step p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }

.contact { padding:105px 0; background:var(--blue); color:#fff; }
.contact-grid { display:grid; grid-template-columns:1.05fr .95fr; column-gap:100px; row-gap:70px; }
.contact h2 { color:#fff; font-size:clamp(46px,5vw,68px); }.contact h2 em { color:#bce8f2; }
.contact-intro>p:not(.eyebrow) { max-width:500px; margin:26px 0 0; color:rgba(255,255,255,.75); font-size:16px; line-height:1.75; }
.contact-links { border-top:1px solid rgba(255,255,255,.32); }
.contact-links a { position:relative; display:flex; flex-direction:column; gap:8px; padding:23px 58px 24px 0; border-bottom:1px solid rgba(255,255,255,.32); }
.contact-links small,.contact-details small { color:rgba(255,255,255,.62); font-size:9px; font-weight:800; letter-spacing:.18em; }
.contact-links strong { font:400 clamp(21px,2.2vw,30px) Georgia,serif; overflow-wrap:anywhere; }
.contact-links a>span { position:absolute; right:4px; top:31px; width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.42); border-radius:50%; transition:background .2s ease,color .2s ease; }
.contact-links a:hover>span { background:#fff; color:var(--blue); }
.contact-details { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:40px; margin:0; padding-top:34px; border-top:1px solid rgba(255,255,255,.32); font-style:normal; }
.contact-details div { display:grid; grid-template-columns:120px 1fr; gap:30px; }.contact-details strong { font-size:14px; line-height:1.75; }

footer { background:#050f22; color:#aab5c5; }
.footer-inner { min-height:108px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-brand .brand-mark { width:36px; height:36px; font-size:15px; }.footer-brand .brand-copy strong { color:#fff; font-size:14px; }.footer-brand .brand-copy small { color:#77869b; }
footer p,footer a { font-size:11px; letter-spacing:.06em; } footer a:hover { color:#fff; }

@media (max-width:950px) {
  .desktop-nav { display:none; }.hero { background:linear-gradient(180deg,#fff 0 56%,#f3f7fb 56%); }.hero-inner { grid-template-columns:1fr; gap:35px; padding-top:82px; }.hero-copy { max-width:760px; }.hero-visual { min-height:520px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }.about-grid { grid-template-columns:1fr; gap:65px; }.about-panel { max-width:650px; width:100%; margin:auto; }
  .process-grid { grid-template-columns:1fr; }.process-step+.process-step { padding-left:0; border-left:0; border-top:1px solid #cfdbe6; }
  .contact-grid { grid-template-columns:1fr; gap:55px; }.contact-details { grid-column:auto; }
}
@media (max-width:680px) {
  .container { width:min(100% - 32px,1180px); }.site-header { height:70px; }.brand { min-width:0; }.brand-copy small { display:none; }.brand-mark { width:38px; height:38px; }.header-phone { padding:0; border:0; font-size:0; }.header-phone span { width:38px; height:38px; font-size:16px; }
  .hero-inner { min-height:auto; padding:70px 0 65px; }.hero h1 { font-size:46px; }.hero-lead { font-size:15px; line-height:1.7; }.hero-tags { flex-wrap:wrap; gap:15px; }
  .drawing-card { min-height:440px; padding:18px; }.logo-frame { height:235px; }.hero-visual { min-height:460px; }.coordinate-a { left:-5px; }.coordinate-b { right:-5px; }
  .section { padding:82px 0; }.section-heading { align-items:start; flex-direction:column; gap:25px; }.section-heading h2,.about-copy h2 { font-size:40px; }.services-grid { grid-template-columns:1fr; }.service-card { min-height:315px; }
  .about-panel { min-height:400px; }.about-blueprint { inset:40px 28px 110px; }.about-blueprint strong { font-size:74px; }.bp-circle { width:160px; height:160px; }
  .contact { padding:82px 0; }.contact h2 { font-size:45px; }.contact-details { grid-template-columns:1fr; }.contact-details div { grid-template-columns:92px 1fr; }
  .footer-inner { min-height:150px; flex-direction:column; justify-content:center; align-items:flex-start; gap:15px; }.footer-inner p { order:3; margin:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
