:root {
  --bg:#f8f8f6; --paper:#fff; --ink:#20201f; --muted:#6e6c69; --line:#e7e5e1;
  --accent:#b76442; --accent-soft:#f4e9e2; --dark:#242321; --dark-2:#302e2b;
  --max:1160px; --radius:22px; --shadow:0 20px 60px rgba(32,32,31,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none} button,input,textarea{font:inherit}
.wrap{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(248,248,246,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,229,225,.85)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center}.brand img{display:block;width:178px;height:auto;max-height:62px;object-fit:contain}
.navlinks{display:flex;align-items:center;gap:28px;font-size:13px;color:#55514e}.navlinks a:hover{color:var(--accent)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);border-radius:999px;padding:12px 19px;font-size:13px;font-weight:650;transition:transform .2s,background .2s,color .2s;cursor:pointer}
.nav-cta{background:var(--ink);color:white;padding:11px 17px}.nav-cta:hover,.btn-dark:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
.menu-toggle{display:none;border:1px solid var(--line);border-radius:50%;width:44px;height:44px;background:white;cursor:pointer}
.hero{padding:90px 0 76px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:58px}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:750}
.eyebrow:before{content:"";width:25px;height:1px;background:currentColor}
h1{font-size:clamp(44px,5.6vw,72px);line-height:1.03;letter-spacing:-.067em;font-weight:570;margin:22px 0 24px;max-width:710px}
h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--accent)}
.hero-copy{max-width:560px;color:var(--muted);font-size:16px;line-height:1.85}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn-dark{background:var(--ink);color:white;border-color:var(--ink)}.btn-light{background:transparent;border-color:#d5d1cb}.btn-light:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.hero-note{display:flex;align-items:center;gap:10px;margin-top:34px;color:#817c77;font-size:11px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#6b9471;box-shadow:0 0 0 4px #e6eee5}
.hero-art{min-height:445px;position:relative;display:grid;place-items:center}
.architecture{width:min(100%,440px);aspect-ratio:1.04;position:relative;display:grid;place-items:center}
.arch-ring{position:absolute;inset:7%;border:1px solid #e0dcd5;border-radius:50%;transform:rotate(-18deg)}
.arch-ring:before,.arch-ring:after{content:"";position:absolute;inset:13%;border:1px dashed #ded8d0;border-radius:50%}.arch-ring:after{inset:29%;border-style:solid}
.arch-core{position:relative;z-index:2;width:36%;aspect-ratio:1;border-radius:26px;background:transparent;color:var(--accent);display:grid;place-items:center;box-shadow:none;transform:rotate(-7deg)}
.arch-core svg{width:48%;height:auto}
.node{position:absolute;z-index:3;background:white;border:1px solid #e8e4de;border-radius:15px;padding:13px 15px;box-shadow:var(--shadow);min-width:126px;animation:float 6s ease-in-out infinite}
.node strong{display:block;font-size:12px}.node span{font-size:10px;color:#8b847d}.node .node-top{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.node-icon{width:25px;height:25px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:10px;font-weight:800}
.n1{top:6%;left:7%}.n2{top:17%;right:0;animation-delay:-1.5s}.n3{bottom:15%;left:0;animation-delay:-3s}.n4{bottom:4%;right:7%;animation-delay:-4.5s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.tech-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f1efeb}
.tech-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.tech-label{font-size:10px;color:#8a847e;text-transform:uppercase;letter-spacing:.14em;max-width:130px}
.tech-stack{display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,3vw,34px);flex:1;flex-wrap:wrap}
.tech{font-size:12px;font-weight:700;letter-spacing:-.02em;color:#5b5752}.tech:nth-child(3n+2){color:var(--accent)}
section{padding:104px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:42px}
h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.055em;line-height:1.12;font-weight:560;margin:15px 0 0}
.section-head p{max-width:410px;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.service{min-height:230px;padding:27px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);transition:transform .25s,box-shadow .25s,border-color .25s}
.service:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#d8c5b8}
.service-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--accent-soft);color:var(--accent);margin-bottom:25px}
.service-icon svg{width:22px;height:22px}.service-num{float:right;font-size:10px;color:#b0aaa3;letter-spacing:.12em}
.service h3{font-size:17px;letter-spacing:-.025em;margin:0 0 10px;font-weight:650}.service p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}
.dark-section{background:var(--dark);color:white}
.dark-section .eyebrow{color:#d9a48a}.dark-section .section-head p{color:#b9b4ae}
.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.capability{border:1px solid #484541;border-radius:20px;padding:28px;background:linear-gradient(145deg,#302e2b,#272624)}
.capability .cap-number{color:#d9a48a;font-size:10px;letter-spacing:.16em}
.capability h3{font-size:22px;letter-spacing:-.04em;margin:16px 0 10px}.capability p{color:#c0bbb5;font-size:13px;line-height:1.85;margin:0;max-width:500px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.metric{border:1px solid #484541;border-radius:17px;padding:23px}.metric strong{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400;color:#e2b49b}.metric span{display:block;color:#c0bbb5;font-size:11px;margin-top:5px}
.tech-details{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.tech-details p{color:var(--muted);font-size:14px;line-height:1.9;margin:20px 0}
.tech-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pill{padding:10px 14px;border:1px solid #dfdcd6;background:white;border-radius:999px;font-size:12px;font-weight:650;color:#4d4945}
.pill:hover{border-color:var(--accent);color:var(--accent)}
.approach{background:#eeebe6}
.approach-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.approach-visual{min-height:405px;background:#dcd4cb;border-radius:26px;position:relative;overflow:hidden;padding:30px;display:flex;align-items:end}
.approach-visual:before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(39,37,34,.17);border-radius:50%;top:-100px;left:-90px;box-shadow:0 0 0 35px rgba(39,37,34,.025),0 0 0 70px rgba(39,37,34,.025)}
.terminal{position:absolute;top:15%;right:8%;width:68%;border-radius:13px;overflow:hidden;background:#242321;color:#e7e4df;box-shadow:0 25px 60px rgba(35,31,27,.2);transform:rotate(3deg)}
.terminal-bar{height:30px;background:#393633;display:flex;align-items:center;gap:5px;padding:0 12px}.terminal-bar i{width:6px;height:6px;border-radius:50%;background:#8b8178}
.terminal pre{margin:0;padding:19px 18px 23px;font:11px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;color:#d4d0ca}
.terminal .code-accent{color:#dca68b}.approach-label{position:relative;z-index:2}.approach-label span{font-size:10px;color:#77523e;letter-spacing:.17em;text-transform:uppercase}.approach-label strong{display:block;font-family:Georgia,serif;font-size:29px;line-height:1.2;font-weight:400;margin-top:9px}
.approach-copy p{color:var(--muted);font-size:14px;line-height:1.9;margin:23px 0}
.check-list{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:13px}.check-list li{display:flex;gap:11px;align-items:flex-start;font-size:13px}.check-list svg{width:17px;height:17px;color:var(--accent);flex:none;margin-top:2px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}
.process-step{border-top:1px solid #d8d3cc;padding-top:22px}.process-step .step{color:var(--accent);font-size:11px;letter-spacing:.15em}
.process-step h3{margin:15px 0 9px;font-size:17px}.process-step p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}
.contact{padding-top:20px}.contact-panel{display:grid;grid-template-columns:1fr .9fr;gap:60px;padding:clamp(30px,6vw,68px);border-radius:28px;background:#292725;color:white;overflow:hidden;position:relative}
.contact-panel:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-160px;bottom:-220px;box-shadow:0 0 0 40px rgba(255,255,255,.025),0 0 0 80px rgba(255,255,255,.025);pointer-events:none}
.contact .eyebrow{color:#d6a58c}.contact h2{max-width:500px}.contact-copy{color:#c0bbb5;max-width:400px;font-size:14px;line-height:1.8;margin-top:20px}
.contact-details{display:grid;gap:15px;margin-top:35px}.contact-detail{display:flex;gap:12px;align-items:center;color:#e8e4df;font-size:13px}.contact-detail svg{width:18px;height:18px;color:#d6a58c}
.contact-form{position:relative;z-index:1;display:grid;gap:13px;align-content:center}.field{display:grid;gap:7px}.field label{font-size:11px;color:#c5beb7}
.field input,.field textarea{width:100%;border:1px solid #504c48;background:#35322f;color:white;padding:13px 14px;border-radius:10px;outline:none;font-size:13px}
.field input:focus,.field textarea:focus{border-color:#d6a58c}.field textarea{min-height:105px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#8e8881}
.form-note{color:#a9a39d;font-size:10px;line-height:1.6}.contact-form .btn{background:#d8a68c;border-color:#d8a68c;color:#272320;justify-self:start}.contact-form .btn:hover{background:#efc6af;border-color:#efc6af;transform:translateY(-2px)}
footer{padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#89837d;font-size:11px}
.footer-logo{width:120px;height:auto;opacity:.8}.footer-links{display:flex;gap:20px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:900px){.hero{padding-top:65px}.hero-grid{grid-template-columns:1fr;gap:20px}.hero-art{min-height:390px}.architecture{width:min(76vw,410px)}.tech-inner{padding:22px 0;align-items:flex-start;flex-direction:column}.tech-stack{width:100%}.approach-grid{gap:42px}.contact-panel{gap:35px}}
@media(max-width:680px){.wrap{width:min(var(--max),calc(100% - 34px))}.nav{height:72px}.brand img{width:140px}.menu-toggle{display:grid;place-items:center}.nav-cta{display:none}
  .navlinks{display:none;position:absolute;top:71px;left:0;right:0;padding:20px 24px 24px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px}.navlinks.open{display:flex}
  .hero{padding:56px 0 45px}h1{font-size:clamp(42px,12vw,60px)}.hero-copy{font-size:14px}.hero-art{min-height:330px}.architecture{width:min(90vw,370px)}.node{padding:10px 11px;min-width:112px}.node strong{font-size:11px}.node span{font-size:9px}.n1{left:0}.n2{right:0}
  section{padding:72px 0}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:20px}.services-grid{grid-template-columns:1fr}.service{min-height:auto;padding:24px}.service-icon{margin-bottom:18px}
  .capability-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:span 2}.tech-details{grid-template-columns:1fr;gap:25px}.approach-grid{grid-template-columns:1fr;gap:35px}.approach-visual{min-height:310px}.terminal{width:80%;right:5%;top:10%}.terminal pre{font-size:9px}
  .process-grid{grid-template-columns:1fr;gap:24px}.contact{padding-top:0}.contact-panel{grid-template-columns:1fr;padding:30px 22px;gap:35px}.footer-inner{flex-wrap:wrap}.footer-links{width:100%}}
