:root{
  --bg:#faf7f1;
  --surface:#fff;
  --ink:#201d1a;
  --muted:#6e6659;
  --line:#e6e0d3;
  --accent:#1f4b3f;
  --accent-warm:#a9793b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:500;color:var(--ink)}
.container{width:min(1040px,90%);margin:auto}

.header{position:sticky;top:0;z-index:10;background:rgba(250,247,241,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{height:74px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:"Fraunces",Georgia,serif;font-size:20px;font-weight:600;color:var(--ink);text-decoration:none}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{color:var(--muted);text-decoration:none;font-size:14px}
.nav-links a:hover{color:var(--ink)}
.nav-cta{border:1px solid var(--ink);padding:8px 16px;border-radius:2px;color:var(--ink)}
.nav-cta:hover{background:var(--ink);color:var(--bg)}
.menu-toggle{display:none;background:none;border:0;color:var(--ink);font-size:22px}

.hero{padding:96px 0 88px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(40px,6vw,68px);line-height:1.05;letter-spacing:-1px;margin:0 0 22px}
.hero-text{color:var(--muted);max-width:480px;font-size:17px}
.hero-buttons{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.btn{padding:13px 22px;text-decoration:none;font-weight:500;font-size:14px;border-radius:2px;display:inline-block}
.primary{background:var(--ink);color:var(--bg)}
.primary:hover{background:var(--accent)}
.secondary{border:1px solid var(--ink);color:var(--ink)}
.secondary:hover{border-color:var(--accent);color:var(--accent)}
.hero-card{display:grid;place-items:center}
.profile-photo{height:400px;width:min(320px,80%);object-fit:cover;border-radius:2px}

.section{padding:88px 0}
.section h2{font-size:clamp(30px,3.6vw,42px);letter-spacing:-.5px;margin:0 0 40px}
.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
.two-col p{color:var(--muted);font-size:16px;max-width:520px}
.text-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-weight:500}

.dark-section{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.list-block{border-top:1px solid var(--line)}
.list-item{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}
.list-item h3{margin:0;font-size:19px}
.list-item p{margin:0;color:var(--muted);font-size:15px;max-width:460px}

.service-list{border-top:1px solid var(--line)}
.service{padding:26px 0;border-bottom:1px solid var(--line)}
.service h3{margin:0 0 6px;font-size:19px}
.service p{margin:0;color:var(--muted);font-size:15px}

.projects-section{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}
.section-heading h2{margin:0}
.section-heading p{margin:0;color:var(--muted);font-size:14px;max-width:260px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.project{background:var(--bg);padding:30px;display:flex;flex-direction:column;min-height:220px}
.project h3{font-size:21px;margin:0 0 10px}
.project p{color:var(--muted);font-size:14px;margin:0 0 auto}
.project span{font-size:12px;color:var(--accent-warm);margin-top:20px}

.contact-section{background:var(--ink);color:var(--bg)}
.contact-section h2{color:var(--bg)}
.contact-section p{color:#cfc9bd}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.contact-box{border-top:1px solid #3a3730}
.contact-box a{display:flex;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid #3a3730;color:var(--bg);text-decoration:none}
.contact-icon{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid #4a463d;display:grid;place-items:center;transition:border-color .2s,background .2s}
.contact-icon svg{width:20px;height:20px;color:var(--bg)}
.contact-box a:hover .contact-icon{border-color:var(--accent-warm);background:rgba(169,121,59,.12)}
.contact-text{display:flex;flex-direction:column;gap:2px}
.contact-text strong{font-weight:500;font-size:16px}
.contact-text small{font-size:13px;color:#a39c8e}
.contact-box a:hover .contact-text strong{color:var(--accent-warm)}

footer{border-top:1px solid var(--line);padding:32px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}
.footer-inner p{margin:4px 0}
.footer-inner .logo{margin-bottom:2px;display:inline-block}

@media(max-width:850px){
  .nav-links{display:none;position:absolute;top:74px;left:0;right:0;background:var(--bg);padding:20px 5%;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);gap:16px}
  .nav-links.open{display:flex}
  .menu-toggle{display:block}
  .hero-grid,.two-col,.contact-grid{grid-template-columns:1fr;gap:40px}
  .hero{padding-top:56px}
  .hero-card{order:-1}
  .profile-photo{height:320px}
  .list-item{grid-template-columns:1fr}
  .project-grid{grid-template-columns:1fr}
  .section-heading{display:block}
  .section-heading p{max-width:none;margin-top:10px}
  .footer-inner{display:block}
}
