:root {
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  color: #202929;
  background: #f5f4ef;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body { margin: 0; }
.page { max-width: 1440px; min-height: 100svh; padding: 42px 6vw 28px; margin: auto; display: flex; flex-direction: column; }
.header, .footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { color: inherit; text-decoration: none; font-size: 19px; font-weight: 750; letter-spacing: .15em; display: inline-flex; gap: 12px; align-items: center; }
.brand-mark { width: 34px; height: 34px; border: 2px solid #38635b; border-radius: 8px; display: grid; place-items: center; color: #38635b; font-size: 25px; font-family: Georgia, serif; line-height: 1; }
.header-caption { font-size: 13px; color: #626b66; }
.main { flex: 1; display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 40px; padding: 88px 0 104px; }
.eyebrow { margin: 0 0 28px; font-size: 12px; text-transform: uppercase; letter-spacing: .16em; display: flex; align-items: center; gap: 9px; color: #38635b; font-weight: 650; }
.dot { width: 7px; height: 7px; background: #38635b; border-radius: 50%; }
h1 { font-weight: 550; font-size: clamp(58px, 7.5vw, 104px); line-height: 1.02; letter-spacing: -.065em; margin: 0 0 32px; }
.description { max-width: 360px; color: #48564f; font-size: 18px; line-height: 1.6; margin: 0 0 12px; }
.note { max-width: 360px; color: #68736c; font-size: 14px; line-height: 1.65; margin: 0; }
.illustration { position: relative; width: 100%; max-width: 450px; height: 390px; justify-self: end; }
.shape { position: absolute; border-radius: 24px; }
.shape-back { width: 64%; height: 78%; background: #dbe2d5; top: 4%; right: 4%; transform: rotate(12deg); }
.shape-front { width: 65%; height: 78%; background: #38635b; left: 10%; bottom: 3%; transform: rotate(-11deg); box-shadow: 0 22px 36px #20292912; }
.shape-small { width: 31%; height: 35%; background: #d5ae74; right: 0; bottom: 0; transform: rotate(8deg); }
.illustration-label { position: absolute; left: 24%; top: 49%; color: #f4f4e9; font-size: 15px; font-weight: 600; letter-spacing: .24em; transform: rotate(-11deg); }
.footer { border-top: 1px solid #d8dcd3; padding-top: 22px; font-size: 12px; color: #68736c; }
a:focus-visible { outline: 3px solid #38635b; outline-offset: 6px; border-radius: 4px; }
@media (min-width: 1600px) { .page { padding-left: 80px; padding-right: 80px; } }
@media (max-width: 760px) {
  .page { padding: 26px 24px 22px; }
  .header-caption { max-width: 120px; font-size: 11px; text-align: right; line-height: 1.5; }
  .brand { font-size: 15px; gap: 9px; }
  .brand-mark { width: 29px; height: 29px; font-size: 21px; }
  .main { grid-template-columns: 1fr; gap: 42px; padding: 72px 0 50px; }
  h1 { font-size: clamp(56px, 13vw, 88px); }
  .description { font-size: 16px; }
  .illustration { width: 78%; max-width: 320px; height: 250px; justify-self: center; }
  .footer { align-items: flex-start; font-size: 11px; }
}
@media (max-width: 380px) { .page { padding-left: 18px; padding-right: 18px; } .header-caption { max-width: 95px; } }
