:root{
  --bg:#fbfdf7;
  --fg:#33403a;
  --head:#26352b;
  --muted:#6a786d;
  --line:#e4ece1;
  --accent:#2f7d4f;
  --maxw:1080px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,ui-serif,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--fg);background:var(--bg);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent)}
img{max-width:100%;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 32px}

.site-header{border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{font-family:var(--serif);font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--head)}
.nav-links{display:flex;gap:26px}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.93rem;font-weight:500;transition:color .15s}
.nav-links a:hover{color:var(--head)}

.hero{padding:80px 0 18px}
.hero h1{font-family:var(--serif);color:var(--head);font-weight:700;letter-spacing:-.015em;line-height:1.1;font-size:clamp(2.4rem,6vw,4.1rem);max-width:16ch}

.main-grid{display:grid;grid-template-columns:340px 1fr;gap:64px;align-items:start;padding:48px 0 64px}
.visual .icon{width:188px;height:188px;border-radius:42px;box-shadow:0 14px 38px -16px rgba(38,53,43,.5)}
.visual .cap{margin-top:24px;font-size:1.05rem;color:var(--fg);max-width:24ch}
.visual .cap a{font-weight:600;text-decoration:underline;text-underline-offset:3px}

.body h2{font-family:var(--serif);color:var(--head);font-weight:700;font-size:1.5rem;line-height:1.3;margin-bottom:20px}
.body p{color:var(--fg);margin-bottom:22px;max-width:62ch}
.body p:last-child{margin-bottom:0}
.body .strong{font-weight:700;color:var(--head)}
.body a{font-weight:600;text-decoration:underline;text-underline-offset:3px}

footer{border-top:1px solid var(--line);padding:38px 0 56px}
footer .addr{font-size:.84rem;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
footer .copy{margin-top:12px;font-size:.86rem;color:var(--muted)}
footer a{color:inherit}

a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (max-width:820px){
  .main-grid{grid-template-columns:1fr;gap:36px;padding:36px 0 48px}
  .nav-links{display:none}
  .hero{padding:56px 0 8px}
  .visual .icon{width:148px;height:148px;border-radius:34px}
}
