:root{
  --bg:#fbfaf8; --surface:#ffffff; --fg:#1a1815; --muted:#6d675f;
  --line:#e6e1da; --accent:#8a5a2b; --accent-soft:#f4ede3;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#15140f; --surface:#1e1c18; --fg:#f2efe9; --muted:#9d968c;
    --line:#2c2924; --accent:#d9a468; --accent-soft:#26221c;
  }
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:400 16px/1.65 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  padding:clamp(1.5rem,5vw,4rem) 1.25rem;
}
.wrap{max-width:44rem; margin:0 auto;}
header{margin-bottom:clamp(2rem,6vw,3.5rem);}
h1{
  font-size:clamp(2.1rem,7vw,3.2rem); font-weight:600;
  letter-spacing:-.03em; line-height:1.1; margin:0 0 .6rem;
}
.tagline{color:var(--muted); font-size:clamp(1rem,2.6vw,1.15rem); margin:0; max-width:32rem;}
h2{
  font-size:.78rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted); margin:0 0 1rem;
}
section{margin-bottom:clamp(2rem,6vw,3rem);}
.cards{display:grid; gap:1rem;}
@media(min-width:34rem){.cards{grid-template-columns:1fr 1fr;}}
.card{
  display:block; padding:1.4rem 1.5rem; border:1px solid var(--line);
  border-radius:14px; background:var(--surface); text-decoration:none; color:inherit;
  transition:border-color .15s ease, transform .15s ease;
}
.card:hover,.card:focus-visible{border-color:var(--accent); transform:translateY(-2px);}
.card strong{display:block; font-size:1.1rem; font-weight:600; margin-bottom:.35rem;}
.card span{display:block; color:var(--muted); font-size:.92rem; line-height:1.5;}
.card em{
  display:inline-block; margin-top:.9rem; font-style:normal; font-size:.85rem;
  color:var(--accent); font-weight:500;
}
.contact{
  padding:1.3rem 1.5rem; border-left:3px solid var(--accent);
  background:var(--accent-soft); border-radius:0 10px 10px 0;
}
.contact p{margin:0; color:var(--muted);}
.contact a{color:var(--fg); font-weight:500;}
a{color:var(--accent);}
footer{border-top:1px solid var(--line); padding-top:1.25rem; font-size:.875rem; color:var(--muted);}
footer nav{display:flex; gap:1.25rem; flex-wrap:wrap;}
.todo{
  background:#ffe9e0; color:#7a2d09; border:1px dashed #d1653a;
  padding:.15rem .45rem; border-radius:4px; font-size:.85em; font-weight:600;
}
article h3{font-size:1.05rem; margin:1.75rem 0 .5rem;}
article p{margin:0 0 .9rem; color:var(--muted);}
article p strong{color:var(--fg);}
.back{display:inline-block; margin-bottom:2rem; font-size:.9rem;}
