:root{
  --bg:#f3f0ea;
  --paper:#fbfaf7;
  --ink:#171715;
  --muted:#6c6a63;
  --line:#d9d5cc;
  --accent:#9b6f52;
  --soft:#e7dfd4;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.wrap{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.site-header{padding:28px 0 0}
.header-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}
.brand{font-size:18px;letter-spacing:.18em;font-weight:700}
.header-meta{font-size:14px;color:var(--muted);letter-spacing:.06em}
.hero{min-height:72vh;display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;padding:90px 0 78px}
.eyebrow{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(70px,11vw,150px);line-height:.88;letter-spacing:-.055em;margin:0 0 34px;font-weight:500}
.tagline{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,4vw,52px);line-height:1.05;max-width:760px;margin:0 0 26px;font-weight:400}
.intro{font-size:19px;line-height:1.72;color:#4f4d48;max-width:700px;margin:0}
.art{position:relative;min-height:420px}
.shape-a,.shape-b,.shape-c{position:absolute;border-radius:50%}
.shape-a{width:310px;height:310px;right:4%;top:10%;background:var(--soft)}
.shape-b{width:190px;height:190px;left:4%;bottom:4%;border:1px solid var(--accent)}
.shape-c{width:115px;height:115px;right:24%;bottom:5%;background:var(--accent);opacity:.88}
.line-a,.line-b{position:absolute;height:1px;background:var(--ink);transform-origin:left center}
.line-a{width:260px;left:18%;top:39%;transform:rotate(-24deg)}
.line-b{width:190px;left:36%;top:57%;transform:rotate(42deg);opacity:.5}
.info{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:0 0 84px}
.card{border-top:1px solid var(--line);padding-top:22px}
.card h2{font-size:16px;margin:0 0 10px;letter-spacing:.08em;text-transform:uppercase}
.card p{margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.footer{border-top:1px solid var(--line);padding:24px 0 34px}
.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:14px;color:var(--muted)}
.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.legal{padding:64px 0 90px;max-width:820px}
.legal h1{font-size:clamp(48px,7vw,82px);margin-bottom:24px}
.legal h2{font-size:22px;margin:32px 0 10px}
.legal p{font-size:18px;line-height:1.72;color:#4f4d48}
@media(max-width:860px){
  .wrap{width:min(calc(100% - 32px),var(--max))}
  .hero{grid-template-columns:1fr;gap:28px;padding:72px 0 54px}
  .art{min-height:300px;order:-1}
  .shape-a{width:220px;height:220px}
  .shape-b{width:150px;height:150px}
  .shape-c{width:88px;height:88px}
  .info{grid-template-columns:1fr;padding-bottom:58px}
  .footer-row{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .site-header{padding-top:20px}
  .header-meta{font-size:12px}
  h1{font-size:72px}
  .tagline{font-size:31px}
  .intro,.card p,.legal p{font-size:17px}
}
