:root { color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #f4f1e9; color: #173936; font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.site-shell {
  --bg: #f4f1e9;
  --surface: #fffdf7;
  --ink: #173936;
  --muted: #62726f;
  --accent: #e8663d;
  --accent-ink: #fff;
  --remote-action-bg: #f4a340;
  --remote-action-ink: #102b55;
  --line: rgba(23,57,54,.15);
  min-height: 100vh;
  overflow: hidden;
  background: var(--bg);
  color: var(--ink);
  transition: background .35s ease, color .35s ease;
}
.site-shell[data-theme="technology"] { --bg:#06131a; --surface:#0c2029; --ink:#effdff; --muted:#8ea7ad; --accent:#47e4d1; --accent-ink:#03211f; --line:rgba(136,226,218,.18); color-scheme:dark; }
.site-shell[data-theme="corporate"] { --bg:#f4f7fb; --surface:#fff; --ink:#102b55; --muted:#60718a; --accent:#246bfe; --accent-ink:#fff; --line:rgba(16,43,85,.14); }

.site-header { min-height:112px; padding:13px max(5vw,32px); display:flex; align-items:center; gap:48px; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--bg) 92%,transparent); }
.brand { display:flex; flex-direction:column; align-items:flex-start; gap:4px; margin-right:auto; }
.brand > span:last-child { display:flex; flex-direction:column; }
.brand strong { font-size:18px; letter-spacing:.06em; }
.brand small { margin-top:2px; color:var(--muted); font-size:10px; }
.company-logo { width:156px; aspect-ratio:785/399; display:block; flex:0 0 auto; }
.company-logo img { width:100%; height:100%; object-fit:contain; display:block; }
[data-theme="technology"] .site-header .company-logo img { filter:brightness(0) invert(1); }
.brand-mark { position:relative; width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:11px; font-size:12px; font-weight:800; }
.brand-mark i { position:absolute; right:-4px; bottom:8px; width:8px; height:8px; border:2px solid var(--bg); border-radius:50%; background:var(--accent); }
.site-header nav { display:flex; align-items:center; gap:10px; color:var(--muted); }
.site-header nav a { padding:13px 17px; border:1px solid var(--line); border-radius:9px; background:var(--surface); font-size:13px; font-weight:700; transition:border-color .2s ease,color .2s ease,transform .2s ease; }
.site-header nav a:hover { border-color:var(--accent); color:var(--accent); transform:translateY(-2px); }
.site-header nav .contact-access { padding-inline:20px; display:flex; align-items:center; gap:16px; border-color:transparent; background:var(--remote-action-bg); color:var(--remote-action-ink); box-shadow:0 8px 20px rgba(16,43,85,.16); }
.site-header nav .contact-access:hover { border-color:transparent; background:#ffb552; color:var(--remote-action-ink); }
.site-header nav a:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.header-socials { display:flex; gap:8px; }
.header-socials a { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); transition:.2s ease; }
.header-socials a:hover { border-color:var(--accent); background:var(--accent); color:var(--accent-ink); transform:translateY(-2px); }
.header-socials svg { width:15px; height:15px; }
.primary-button { display:inline-flex; align-items:center; gap:20px; padding:15px 20px; border-radius:8px; background:var(--accent); color:var(--accent-ink); font-weight:700; font-size:13px; }
.arrow { font-size:18px; line-height:1; transition:transform .2s ease; }
a:hover .arrow { transform:translate(2px,-2px); }
.arrow-down { display:inline-block; transform:rotate(90deg); }

.hero { min-height:650px; padding:78px max(5vw,32px) 65px; display:grid; grid-template-columns:minmax(430px,1fr) minmax(490px,.92fr); align-items:center; gap:8vw; }
.eyebrow { margin:0 0 28px; display:flex; align-items:center; gap:11px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow span { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 16%,transparent); }
.hero h1 { margin:0; max-width:780px; font-size:clamp(45px,5.2vw,82px); line-height:1.02; letter-spacing:-.055em; font-weight:650; }
.hero h1 em { color:var(--accent); font-family:Georgia,serif; font-weight:400; }
[data-theme="technology"] .hero h1 { letter-spacing:-.045em; text-transform:uppercase; font-size:clamp(43px,4.8vw,74px); }
[data-theme="technology"] .hero h1 em { font-family:inherit; font-style:normal; }
.hero-lead { max-width:630px; margin:28px 0 0; color:var(--muted); font-size:17px; line-height:1.7; }
.hero-actions { margin-top:34px; display:flex; gap:14px; align-items:center; }
.primary-button { padding:18px 22px; }
.secondary-button { display:inline-flex; align-items:center; gap:17px; padding:17px 20px; border:1px solid var(--line); border-radius:8px; color:var(--ink); font-size:13px; font-weight:700; }

.hero-visual { min-height:500px; display:grid; place-items:center; }
.hero-illustration { width:min(100%,680px); height:auto; display:block; border-radius:26px; mix-blend-mode:multiply; filter:drop-shadow(0 28px 35px rgba(16,43,85,.1)); }

.trust-strip { min-height:102px; padding:22px max(5vw,32px); display:flex; align-items:center; justify-content:space-between; gap:40px; border-top:1px solid var(--line); background:var(--surface); }
.trust-strip p { margin:0; font-size:13px; color:var(--muted); }.trust-strip p strong { color:var(--ink); }
.trust-strip div { display:flex; align-items:center; gap:18px; color:var(--muted); font-size:9px; letter-spacing:.13em; }.trust-strip i { width:4px; height:4px; border-radius:50%; background:var(--accent); }

.services-section,.contact-section { padding:120px max(5vw,32px); }
.section-heading { display:grid; grid-template-columns:minmax(180px,.42fr) 1fr; gap:50px; align-items:start; }
.section-index { margin:6px 0 0; color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.14em; }
.section-heading h2,.approach-copy h2,.contact-intro h2 { margin:0; font-size:clamp(38px,4.2vw,64px); line-height:1.05; letter-spacing:-.045em; font-weight:600; }
.section-heading h2 em,.approach-copy h2 em,.contact-intro h2 em { color:var(--accent); font-family:Georgia,serif; font-weight:400; }
[data-theme="technology"] :is(.section-heading,.approach-copy,.contact-intro) h2 { text-transform:uppercase; }
[data-theme="technology"] :is(.section-heading,.approach-copy,.contact-intro) h2 em { font-family:inherit; font-style:normal; }
.section-heading > div > p { max-width:600px; margin:25px 0 0; color:var(--muted); line-height:1.7; }
.service-grid { margin-top:72px; display:grid; grid-template-columns:1.15fr repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-card { min-height:355px; padding:24px; display:flex; flex-direction:column; border-right:1px solid var(--line); transition:background .2s ease,box-shadow .2s ease,transform .2s ease; }
.service-card:first-child { border-left:1px solid var(--line); }
.service-number { color:var(--muted); font-size:9px; letter-spacing:.12em; transition:color .2s ease; }.service-glyph { width:54px; height:54px; margin:30px 0 38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:14px; color:var(--accent); font-size:22px; transition:border-color .2s ease,color .2s ease; }
.service-glyph svg { width:22px; height:22px; fill:currentColor; }
[data-theme="technology"] .service-glyph { border-radius:2px; }[data-theme="corporate"] .service-glyph { border-radius:10px; }
.service-card div > p { margin:0 0 9px; color:var(--accent); font-size:10px; line-height:1.35; font-weight:800; letter-spacing:.12em; transition:color .2s ease; }.service-card h3 { margin:0; font-size:25px; line-height:1.12; letter-spacing:-.03em; transition:color .2s ease; }.service-card > p { margin:18px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.service-featured { background:var(--ink); color:var(--bg); }.service-featured .service-number,.service-featured > p { color:color-mix(in srgb,var(--bg) 65%,transparent); }.service-featured .service-glyph { border-color:color-mix(in srgb,var(--bg) 25%,transparent); }.service-featured:hover { background:var(--ink); }
@media (hover:hover) { .service-card:hover { background:color-mix(in srgb,var(--remote-action-bg) 11%,var(--surface)); box-shadow:inset 4px 0 0 var(--remote-action-bg),0 14px 34px rgba(16,43,85,.1); transform:translateY(-4px); }.service-card:hover :is(.service-number,.service-glyph,h3),.service-card:hover div > p { color:var(--remote-action-bg); }.service-card:hover .service-glyph { border-color:color-mix(in srgb,var(--remote-action-bg) 55%,transparent); }.service-featured:hover { background:color-mix(in srgb,var(--ink) 90%,var(--remote-action-bg)); } }

.approach-section { padding:0 max(5vw,32px) 120px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr); gap:22px; }
.approach-panel { min-height:630px; padding:65px; display:grid; grid-template-columns:1fr 1fr; gap:8%; background:var(--ink); color:var(--bg); }
[data-theme="proximity"] .approach-panel { border-radius:34px; }[data-theme="corporate"] .approach-panel { border-radius:14px; }[data-theme="technology"] .approach-panel { border:1px solid var(--line); }
.approach-copy > p:last-child { margin-top:28px; color:color-mix(in srgb,var(--bg) 62%,transparent); line-height:1.7; }.approach-copy h2 { margin-top:25px; }
.approach-steps { margin:0; padding:0; list-style:none; border-top:1px solid color-mix(in srgb,var(--bg) 17%,transparent); }
.approach-steps li { min-height:120px; margin:0 -18px; padding:25px 18px; display:grid; grid-template-columns:45px 1fr; border-bottom:1px solid color-mix(in srgb,var(--bg) 17%,transparent); border-radius:10px; transition:background .2s ease,box-shadow .2s ease,padding-left .2s ease; }.approach-steps li > span { color:var(--accent); font-size:10px; transition:color .2s ease; }.approach-steps strong { font-size:17px; transition:color .2s ease; }.approach-steps p { margin:7px 0 0; color:color-mix(in srgb,var(--bg) 58%,transparent); font-size:12px; line-height:1.5; transition:color .2s ease; }
@media (hover:hover) { .approach-steps li:hover { padding-left:24px; background:color-mix(in srgb,var(--remote-action-bg) 13%,transparent); box-shadow:inset 4px 0 0 var(--remote-action-bg); }.approach-steps li:hover > span,.approach-steps li:hover strong { color:var(--remote-action-bg); }.approach-steps li:hover p { color:color-mix(in srgb,var(--bg) 80%,transparent); } }
.remote-card { min-height:630px; padding:38px; display:flex; flex-direction:column; background:var(--accent); color:var(--accent-ink); }
[data-theme="proximity"] .remote-card { border-radius:34px; }[data-theme="corporate"] .remote-card { border-radius:14px; }
.remote-card .section-index { color:var(--accent-ink); opacity:.7; }.remote-icon { width:100%; aspect-ratio:1/1; margin:35px 0; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--accent-ink) 30%,transparent); border-radius:50%; }.remote-icon span { width:82px; height:82px; display:grid; place-items:center; border-radius:50%; background:var(--accent-ink); color:var(--accent); font-size:35px; }
.remote-card h3 { margin:auto 0 0; font-size:29px; line-height:1.1; letter-spacing:-.03em; }.remote-card > p:not(.section-index) { font-size:13px; line-height:1.6; opacity:.75; }
.remote-card > a { margin-top:18px; padding:17px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:2px solid transparent; border-radius:10px; background:var(--remote-action-bg); color:var(--remote-action-ink); box-shadow:0 9px 24px rgba(16,43,85,.2); font-size:14px; font-weight:800; transition:background .2s ease,box-shadow .2s ease,transform .2s ease; }
.remote-card > a:hover { background:#ffb552; box-shadow:0 12px 30px rgba(16,43,85,.28); transform:translateY(-2px); }
.remote-card > a:focus-visible { outline:3px solid var(--remote-action-ink); outline-offset:3px; }

.contact-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:10%; background:var(--surface); }
.contact-intro > p:not(.section-index) { max-width:440px; margin:28px 0; color:var(--muted); line-height:1.7; }.contact-intro h2 { margin-top:25px; }
.contact-details { margin-top:55px; display:grid; gap:0; }.contact-details > * { padding:20px 0; display:grid; grid-template-columns:100px 1fr; border-bottom:1px solid var(--line); }.contact-details span { color:var(--muted); font-size:8px; letter-spacing:.13em; }.contact-details strong { font-size:14px; line-height:1.5; }
.contact-form { padding:50px; align-self:start; display:grid; gap:24px; border:1px solid var(--line); background:var(--bg); }
[data-theme="proximity"] .contact-form { border-radius:26px; }[data-theme="corporate"] .contact-form { border-radius:12px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.contact-form label { display:grid; gap:9px; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.contact-form input,.contact-form textarea { width:100%; padding:16px 0; border:0; border-bottom:1px solid var(--line); outline:none; resize:vertical; background:transparent; color:var(--ink); font:14px Arial,sans-serif; text-transform:none; letter-spacing:0; }.contact-form :is(input,textarea):focus { border-color:var(--accent); }.contact-form button { margin-top:10px; padding:18px 22px; display:flex; justify-content:space-between; border:0; border-radius:8px; background:var(--accent); color:var(--accent-ink); font-weight:800; cursor:pointer; }.form-notice { margin:0; padding:12px; border:1px solid var(--line); color:var(--muted); font-size:12px; line-height:1.5; }

.contact-form .honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-notice.success { border-color:#2f8f62; background:#edf8f2; color:#195b3d; }
.form-notice.error { border-color:#c94d4d; background:#fff2f2; color:#8a2929; }

.site-footer { padding:60px max(5vw,32px) 25px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:60px; background:#111c1c; color:#fff; }.footer-brand { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }.footer-brand > span { display:flex; flex-direction:column; }.footer-brand small { margin-top:4px; color:#a7b2b1; font-size:10px; }.site-footer .company-logo { width:156px; }.site-footer .company-logo img { filter:brightness(0) invert(1); }.footer-links { display:flex; gap:28px; color:#bdc6c5; font-size:12px; }.footer-bottom { grid-column:1/-1; margin:35px 0 0; padding-top:22px; display:flex; justify-content:space-between; border-top:1px solid #ffffff20; color:#748180; font-size:9px; letter-spacing:.09em; text-transform:uppercase; }

@media (max-width:1000px) {
  .site-header { min-height:96px; gap:18px; }.site-header nav a { padding:12px 14px; font-size:12px; }.site-header nav .contact-access { padding-inline:16px; }
  .hero { grid-template-columns:1fr; padding-top:55px; }.hero-copy { max-width:760px; }.hero-visual { min-height:480px; max-width:650px; width:100%; margin:auto; }
  .trust-strip { align-items:flex-start; flex-direction:column; }.trust-strip div { flex-wrap:wrap; }
  .service-grid { grid-template-columns:1fr 1fr; }.service-card:nth-child(3) { border-left:1px solid var(--line); }.approach-section { grid-template-columns:1fr; }.remote-card { min-height:auto; }.remote-icon { width:220px; }.contact-section { grid-template-columns:1fr; }.site-footer { grid-template-columns:1fr auto; }.footer-links { display:none; }
}
@media (max-width:600px) {
  .site-header,.hero,.trust-strip,.services-section,.approach-section,.contact-section,.site-footer { padding-left:20px; padding-right:20px; }
  .brand { margin-right:auto; }.brand small { margin-top:1px; font-size:8px; }.site-header { min-height:88px; gap:10px; padding-top:10px; padding-bottom:14px; flex-wrap:wrap; }.site-header .company-logo { width:108px; }.header-socials { gap:5px; }.header-socials a { width:31px; height:31px; }.site-header nav { order:3; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:8px; }.site-header nav a { padding:11px 12px; text-align:center; font-size:12px; }.site-header nav .contact-access { grid-column:1/-1; justify-content:space-between; }
  .hero { padding-top:42px; gap:24px; }.hero h1 { font-size:43px; }.hero-lead { font-size:15px; }.hero-actions { align-items:stretch; flex-direction:column; }.hero-actions a { justify-content:space-between; }
  .hero-visual { min-height:auto; margin:5px -10px -10px; }.hero-illustration { width:100%; border-radius:18px; }
  .services-section,.contact-section { padding-top:80px; padding-bottom:80px; }.section-heading { grid-template-columns:1fr; gap:24px; }.section-heading h2,.approach-copy h2,.contact-intro h2 { font-size:39px; }.service-grid { grid-template-columns:1fr; margin-top:50px; }.service-card,.service-card:nth-child(3) { min-height:320px; border-left:1px solid var(--line); }.service-glyph { margin:25px 0 32px; }.approach-panel { padding:36px 25px; grid-template-columns:1fr; }.remote-card { padding:30px 25px; }.contact-form { padding:30px 22px; }.field-row { grid-template-columns:1fr; }.site-footer { grid-template-columns:1fr; gap:30px; }.footer-bottom { flex-direction:column; gap:10px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
