  :root{
    --bg:#faf9f6;
    --ink:#20241f;
    --muted:#5b6158;
    --accent:#3f6e52;
    --accent-soft:#e4ebe2;
    --line: rgba(32,36,31,0.12);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;background:var(--bg);color:var(--ink);
    font-family:'Inter', sans-serif;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{font-family:'Space Grotesk', sans-serif;font-weight:600;margin:0;letter-spacing:-0.01em;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1040px;margin:0 auto;padding:0 28px;}
  ::selection{background:var(--accent-soft);color:var(--ink);}
  :focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
  @media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}}

  header{
    position:sticky;top:0;z-index:50;
    background:rgba(250,249,246,0.9);backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .navbar{
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 28px;max-width:1040px;margin:0 auto;
  }
  .logo{font-family:'Space Grotesk', sans-serif;font-weight:600;font-size:16px;}
  nav.links{display:flex;gap:30px;align-items:center;}
  nav.links a{
    font-size:14px;text-decoration:none;color:var(--ink);opacity:.68;
    transition:opacity .2s;
  }
  nav.links a:hover{opacity:1;}

  /* hero */
  .hero{padding:76px 0 80px;}
  .hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
  .eyebrow{
    font-size:13px;font-weight:500;color:var(--accent);
    margin-bottom:18px;letter-spacing:.02em;
  }
  .hero h1{font-size:clamp(34px, 4.4vw, 52px);line-height:1.12;}
  .hero p.lede{margin-top:22px;font-size:17px;line-height:1.65;max-width:480px;color:var(--muted);}
  .hero-cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}
  .hero-photo{
    border-radius:16px;overflow:hidden;border:1px solid var(--line);
    aspect-ratio:4/5;
  }
  .hero-photo img{width:100%;height:100%;object-fit:cover;}

  .btn{
    display:inline-block;text-decoration:none;font-family:'Space Grotesk', sans-serif;
    font-weight:600;font-size:14.5px;padding:13px 24px;border-radius:8px;
    background:var(--accent);color:#fff;transition:opacity .2s, transform .15s;
  }
  .btn:hover{opacity:.88;transform:translateY(-1px);}
  .btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);}
  .btn.ghost:hover{background:var(--accent-soft);opacity:1;}

  section{padding:80px 0;border-top:1px solid var(--line);}
  .section-head{
    display:flex;justify-content:space-between;align-items:flex-end;
    gap:24px;margin-bottom:44px;flex-wrap:wrap;
  }
  .section-head h2{font-size:clamp(24px,3vw,32px);}
  .section-head p{font-size:14px;color:var(--muted);max-width:320px;margin:0;}

  /* services */
  .services-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;}
  .service{background:var(--bg);padding:30px;}
  .service .num{font-family:'Space Grotesk', sans-serif;font-size:13px;color:var(--accent);font-weight:600;margin-bottom:14px;display:block;}
  .service h3{font-size:18px;margin-bottom:8px;}
  .service p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;}

  /* work */
  .work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .work-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:transform .15s, box-shadow .15s;}
  .work-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(32,36,31,0.08);}
  .work-thumb{aspect-ratio:4/3;overflow:hidden;background:var(--accent-soft);}
  .work-thumb img{width:100%;height:100%;object-fit:cover;}
  .work-body{padding:20px;}
  .work-tag{font-size:12px;color:var(--accent);font-weight:500;}
  .work-card h3{font-size:17px;margin:8px 0 8px;}
  .work-card p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0;}

  /* about */
  .about-grid{display:grid;grid-template-columns:220px 1fr 1fr;gap:44px;align-items:start;}
  .about-photo{border-radius:14px;overflow:hidden;border:1px solid var(--line);aspect-ratio:3/4;}
  .about-photo img{width:100%;height:100%;object-fit:cover;}
  .about-grid p{font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 16px;}
  .chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
  .chip{
    font-size:12.5px;font-weight:500;background:var(--accent-soft);color:var(--accent);
    padding:6px 12px;border-radius:6px;
  }
  .creds{list-style:none;padding:0;margin:0;}
  .creds li{
    display:flex;justify-content:space-between;gap:12px;
    padding:13px 0;border-top:1px solid var(--line);font-size:14px;
  }
  .creds li:first-child{border-top:none;}
  .creds .yr{color:var(--muted);font-size:13px;white-space:nowrap;}

  /* contact */
  .contact-box{
    background:var(--accent-soft);border-radius:16px;padding:48px;
    display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;
  }
  .contact-box h2{font-size:clamp(22px,2.8vw,30px);max-width:420px;}
  .contact-sub{font-size:14px;color:var(--muted);margin-top:10px;max-width:420px;}

  footer{padding:32px 0;border-top:1px solid var(--line);font-size:13px;color:var(--muted);}
  footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
  footer .foot-links{display:flex;gap:18px;}
  footer .foot-links a{text-decoration:none;color:var(--muted);transition:color .2s;}
  footer .foot-links a:hover{color:var(--accent);}

  @media (max-width: 760px){
    nav.links{display:none;}
    .hero-grid{grid-template-columns:1fr;}
    .hero-photo{order:-1;aspect-ratio:16/10;}
    .services-grid{grid-template-columns:1fr;}
    .work-grid{grid-template-columns:1fr;}
    .about-grid{grid-template-columns:1fr;}
    .about-photo{width:140px;}
    .contact-box{grid-template-columns:1fr;text-align:left;}
  }
