:root { --ink:#141b22; --paper:#f2f0e9; --blue:#356ae6; --soft:#e6e4dc; --muted:#5d6367; --line:rgba(20,27,34,.18); --blue-1:#1f5fe0; --blue-2:#2c6ae8; --blue-3:#3975eb; --blue-4:#467fec; --blue-5:#5689ed; --blue-6:#6593ee; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; padding-top:90px; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
section[id] { scroll-margin-top:90px; }
.page-width,.header-inner { width:min(1600px,calc(100% - 96px)); margin-inline:auto; }
.site-header { position:fixed; z-index:100; inset:0 0 auto; height:90px; border-bottom:1px solid var(--line); background:rgba(242,240,233,.88); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; }
.wordmark { font-size:31px; font-weight:700; letter-spacing:-2px; }
.wordmark span { font-weight:400; }.wordmark i { color:var(--blue); font-style:normal; }
nav { display:flex; align-items:center; gap:32px; font-size:13px; }
.nav-cta { border:1px solid var(--ink); border-radius:999px; padding:12px 17px; transition:.2s; }
.nav-cta:hover { color:var(--paper); background:var(--ink); }.nav-cta span { color:var(--blue); margin-left:18px; }
.eyebrow,.section-label { font-size:11px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:10px; }.eyebrow span { width:7px; height:7px; border-radius:50%; background:var(--blue); }
.hero { min-height:min(850px,calc(100svh - 90px)); display:grid; grid-template-columns:1fr 1fr; }
.hero-copy { min-width:0; padding:70px 48px 46px max(48px,calc((100vw - 1600px)/2)); display:flex; flex-direction:column; justify-content:space-between; }
.hero-image { min-height:650px; margin:24px 24px 24px 0; position:relative; overflow:hidden; border:1px solid var(--blue); border-radius:38px; background:var(--blue); }
.hero-photo { position:absolute; inset:0; background:url('images/hero.jpg') center 38%/cover no-repeat; clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 56%,3% 50%,0 44%); transition:transform .8s cubic-bezier(.2,.75,.2,1); }
.hero-image::after { content:""; position:absolute; z-index:2; left:-1px; top:44%; width:4.2%; height:12%; background:var(--blue); clip-path:polygon(0 0,100% 50%,0 100%); pointer-events:none; }
.hero-image:hover .hero-photo { transform:scale(1.025); }
.hero-message { margin-block:auto; padding-block:42px; }
.hero h1 { margin:0 0 40px; font-size:clamp(72px,7.2vw,118px); line-height:.84; letter-spacing:-.072em; font-weight:600; white-space:nowrap; }
.hero h1 em { color:var(--blue); font-style:normal; font-weight:400; }
.hero-message p { max-width:500px; margin:0; font-size:17px; line-height:1.6; }
.circle-link { width:58px; height:58px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; font-size:20px; transition:.2s; }
.circle-link:hover { transform:translateY(4px); background:var(--ink); color:var(--paper); }
.section-label { margin:0 0 42px; }
.about { padding:150px 0; border-top:1px solid var(--line); background:#faf9f5; }
.about-grid { display:block; }
.about-grid>div { max-width:1220px; }
.about h2 { max-width:1040px; margin:0 0 72px; font-size:clamp(46px,5vw,78px); line-height:1.02; letter-spacing:-.055em; font-weight:500; }
.body-columns { display:grid; grid-template-columns:1fr 1fr; gap:64px; max-width:980px; }
.body-columns p { margin:0; color:var(--muted); font-size:16px; line-height:1.75; }
.services { padding:130px 0 150px; background:var(--soft); }
.section-head { border-bottom:1px solid var(--line); padding-bottom:42px; }
.section-head p { margin:0; }.section-head>p:last-child { font-size:clamp(30px,3vw,46px); line-height:1.08; letter-spacing:-.04em; }
.section-head .section-label { margin-bottom:22px; }
.service-list article { min-height:190px; display:grid; grid-template-columns:9% 32% minmax(280px,520px) 1fr; align-items:center; gap:24px; border-bottom:1px solid var(--line); }
.service-number,.benefit-grid article>span { font:11px var(--font-geist-mono),monospace; }
.service-list h3 { margin:0; font-size:clamp(25px,2.4vw,38px); letter-spacing:-.045em; font-weight:500; }
.service-list article>p { margin:0; color:var(--muted); font-size:15px; line-height:1.65; }
.service-arrow { justify-self:end; width:42px; height:42px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; color:var(--blue); }
.value-panel { padding:140px 0; color:#f4f2eb; background:var(--ink); }
.value-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:9vw; align-items:end; }
.light { color:#92989d; }.value-panel h2 { max-width:850px; margin:0; font-size:clamp(52px,6vw,90px); line-height:.98; letter-spacing:-.06em; font-weight:500; }
.value-copy>p:last-child { max-width:700px; margin:48px 0 0; color:#bec2c5; font-size:17px; line-height:1.7; }
.value-points ul { margin:0; padding:0; list-style:none; }.value-points li { padding:20px 0; border-top:1px solid rgba(255,255,255,.22); font-size:18px; }
.why { padding:150px 0; }
.why-intro { display:grid; grid-template-columns:1fr 29%; gap:70px; align-items:end; margin-bottom:90px; }
.why-intro .section-label { margin-bottom:24px; }.why-intro h2 { margin:0; font-size:clamp(42px,4.4vw,70px); line-height:1; letter-spacing:-.055em; font-weight:500; white-space:nowrap; }
.why-intro h2 span { color:#858a8d; }.why-intro>p:last-child { margin:0; color:var(--muted); font-size:15px; line-height:1.65; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.benefit-grid article { min-height:420px; padding:12px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:24px; overflow:hidden; background:rgba(255,255,255,.22); transition:transform .45s cubic-bezier(.2,.75,.2,1),background-color .45s ease; }
.benefit-image { position:relative; height:205px; overflow:hidden; border-radius:16px; }
.benefit-image i { position:absolute; z-index:2; inset:0 auto 0 0; width:11px; background:var(--stripe); }
.benefit-grid img { width:100%; height:100%; object-fit:cover; filter:saturate(.72); transform-origin:center; transition:transform .7s cubic-bezier(.2,.75,.2,1),filter .5s ease; }
.benefit-grid article:hover { transform:translateY(-5px); background:#faf9f5; }
.benefit-grid article:hover img { transform:scaleX(1.075) scaleY(1.035); filter:saturate(.95); }
.benefit-copy { flex:1; padding:16px 12px 12px; display:flex; flex-direction:column; }
.benefit-copy>span { color:var(--stripe); font:11px var(--font-geist-mono),monospace; }.benefit-grid h3 { margin:26px 0 12px; font-size:22px; letter-spacing:-.03em; font-weight:500; }
.benefit-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.contact { padding:145px 0 90px; background:var(--blue); color:white; }
.contact h2 { margin:0 0 100px; font-size:clamp(72px,9vw,142px); line-height:.86; letter-spacing:-.072em; font-weight:500; }
.contact-row { border-top:1px solid rgba(255,255,255,.4); padding-top:34px; display:flex; justify-content:space-between; align-items:start; }
.contact-row p { max-width:430px; margin:0; color:rgba(255,255,255,.78); line-height:1.65; }
.contact-details { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.contact-row .email-link { font-size:clamp(20px,2vw,29px); border-bottom:1px solid white; padding-bottom:8px; }.contact-row .email-link span { margin-left:20px; }
.contact-row .phone-link { display:flex; align-items:center; gap:11px; color:rgba(255,255,255,.82); font-size:clamp(20px,2vw,29px); letter-spacing:.02em; }
.phone-link svg { width:18px; height:18px; fill:currentColor; }
footer { background:var(--blue); color:white; }.footer-inner { padding:32px 0 45px; border-top:1px solid rgba(255,255,255,.4); display:grid; grid-template-columns:1fr auto 1fr; align-items:end; }
.footer-inner>p:nth-child(2) { justify-self:center; text-align:center; }
.footer-inner>p:last-child { justify-self:end; }
footer p { margin:0; font-size:11px; text-transform:uppercase; letter-spacing:.09em; }

@media (min-width:1600px) {
  .hero h1 { font-size:118px; }.about,.why { padding-block:180px; }.contact h2 { font-size:142px; }
}
@media (max-width:1050px) {
  .page-width,.header-inner { width:calc(100% - 56px); }
  nav a:not(.nav-cta) { display:none; }.hero h1 { font-size:clamp(66px,9.5vw,96px); }
  .about-grid,.why-intro { grid-template-columns:1fr; }.about-grid { gap:40px; }.about h2 { margin-bottom:52px; }
  .service-list article { grid-template-columns:60px 1fr 1.2fr auto; }.value-grid { grid-template-columns:1fr; gap:80px; }.value-copy { max-width:650px; }
  .why-intro { grid-template-columns:1fr; gap:28px; }.why-intro h2 { white-space:normal; }.why-intro>p:last-child { max-width:600px; }.benefit-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px) {
  body { padding-top:72px; } section[id] { scroll-margin-top:72px; }.page-width,.header-inner { width:calc(100% - 32px); }.site-header { height:72px; }.nav-cta { padding:10px 13px; }.nav-cta span { margin-left:8px; }
  .hero { min-height:0; display:flex; flex-direction:column; }.hero-copy { min-height:calc(82svh - 72px); padding:46px 16px 28px; }.hero-image { min-height:52svh; margin:0 16px 28px; order:2; border-radius:26px; }.hero h1 { margin:44px 0 32px; font-size:19vw; line-height:.82; }
  .hero-message p { font-size:15px; }.circle-link { width:48px; height:48px; }
  .section-label { margin-bottom:28px; }.about,.why { padding:95px 0; }.about h2 { font-size:42px; margin-bottom:44px; }.body-columns { grid-template-columns:1fr; gap:24px; }
  .services { padding:90px 0 100px; }.section-head { grid-template-columns:1fr; gap:38px; }.service-list article { grid-template-columns:42px 1fr auto; gap:14px; padding:30px 0; min-height:0; }
  .service-list article>p { grid-column:2/4; }.service-arrow { grid-column:3; grid-row:1; width:36px; height:36px; }
  .value-panel { padding:95px 0; }.value-panel h2 { font-size:48px; }.value-grid { gap:60px; }.value-copy>p { margin-bottom:50px; font-size:16px; }
  .wordmark { font-size:27px; }.benefit-grid { grid-template-columns:1fr; }.benefit-grid article { min-height:0; }.benefit-image { height:220px; }.contact { padding:95px 0 70px; }.contact h2 { font-size:19vw; margin-bottom:70px; }
  .contact-row { display:block; }.contact-details { margin-top:42px; gap:16px; }.contact-row .email-link { display:inline-block; font-size:19px; }.contact-row .phone-link { font-size:19px; }.footer-inner { grid-template-columns:1fr; justify-items:center; gap:18px; text-align:center; }.footer-inner>p:nth-child(2) { display:block; }.footer-inner>p:last-child { justify-self:center; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .hero-photo,.benefit-grid article,.benefit-grid img { transition:none; }
  .hero-image:hover .hero-photo,.benefit-grid article:hover,.benefit-grid article:hover img { transform:none; }
}
