/* ============================================================
   ROBERTLANGAN.COM — Golden Field / Window Light Theme
   Color system: warm white → golden field → terracotta → sage
   ============================================================ */

:root {
  /* Backgrounds */
  --sky:          #fdfaf3;        /* warm window light — main bg */
  --sky-mid:      #f9f2e3;        /* soft gold tint */
  --sky-deep:     #f2e8d0;        /* golden field mid */
  --field:        #e8d9b8;        /* wheat field */
  --field-dk:     #d9c89a;        /* deeper field */

  /* Accents */
  --terra:        #c4622a;        /* terracotta — primary accent */
  --terra-lt:     #d97840;        /* light terracotta */
  --terra-pale:   #f5e0d0;        /* blush background */
  --gold:         #b88a10;        /* warm gold */
  --gold-lt:      #d4a820;        /* bright gold */
  --sage:         #6a8c5a;        /* sage green */
  --sage-lt:      #8aac72;        /* light sage */

  /* Text */
  --ink:          #1c1208;        /* deep warm black */
  --ink-mid:      #3d2a10;        /* warm brown text */
  --ink-light:    #6b4e28;        /* medium brown */
  --ink-faint:    #9c7c52;        /* muted brown */

  /* Rules / borders */
  --rule:         rgba(180,138,60,.2);
  --rule-lt:      rgba(180,138,60,.1);
  --shadow:       rgba(28,18,8,.1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: var(--sky);
  color: var(--ink);
  font-family: 'Libre Baskerville', Georgia, serif;
  line-height: 1.75;
  overflow-x: hidden;
}

/* Subtle warm paper texture */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.022'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 9999;
}

/* NAV */
nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: rgba(253,250,243,.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  height: 62px;
  box-shadow: 0 2px 16px var(--shadow);
}

.nav-brand {
  font-family: 'Playfair Display', serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--ink);
  text-decoration: none;
  letter-spacing: .02em;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* small bee in nav brand */
.nav-brand::before {
  content: '𓆝';
  font-size: .9rem;
  opacity: 0;
}

.nav-links { display: flex; gap: 0; list-style: none; }
.nav-links a {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 400;
  font-size: .82rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-light);
  text-decoration: none;
  padding: 0 22px;
  height: 62px;
  display: flex;
  align-items: center;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s, background .2s;
}
.nav-links a:hover,
.nav-links a.active {
  color: var(--terra);
  border-bottom-color: var(--terra);
  background: rgba(196,98,42,.04);
}

/* HERO */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 120px 48px 100px;
  max-width: 1060px;
  margin: 0 auto;
  overflow: hidden;
}

/* Golden field gradient glow behind hero */
.hero::after {
  content: '';
  position: absolute;
  right: -80px; top: 10%;
  width: 560px; height: 560px;
  background: radial-gradient(ellipse at center,
    rgba(212,168,32,.18) 0%,
    rgba(196,98,42,.08) 50%,
    transparent 75%);
  pointer-events: none;
  border-radius: 50%;
}

.hero-eyebrow {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .65rem;
  letter-spacing: .42em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 26px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.hero-eyebrow::after {
  content: '';
  display: block;
  width: 48px; height: 1px;
  background: var(--terra);
  opacity: .5;
}

.hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 6vw, 5rem);
  font-weight: 400;
  line-height: 1.12;
  color: var(--ink);
  margin-bottom: 32px;
  max-width: 800px;
  position: relative;
  z-index: 1;
}
.hero h1 em { font-style: italic; color: var(--terra); }

.hero-rule {
  width: 64px; height: 2px;
  background: linear-gradient(to right, var(--terra), var(--gold));
  margin-bottom: 32px;
  opacity: .7;
}

.hero-body {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.26rem;
  font-weight: 300;
  color: var(--ink-mid);
  max-width: 580px;
  margin-bottom: 48px;
  line-height: 1.95;
  position: relative;
  z-index: 1;
}

.hero-tags { display: flex; gap: 22px; flex-wrap: wrap; position: relative; z-index: 1; }
.hero-tag {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .6rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-faint);
  display: flex;
  align-items: center;
  gap: 7px;
}
.hero-tag::before {
  content: '';
  display: block;
  width: 4px; height: 4px;
  background: var(--terra);
  opacity: .55;
  border-radius: 50%;
}

/* NATURE DIVIDER */
.nature-divider {
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 48px;
  display: flex;
  align-items: center;
  gap: 20px;
  height: 48px;
  opacity: .55;
}
.nature-divider::before,
.nature-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--rule), transparent);
}

/* SECTIONS */
.section {
  max-width: 1060px;
  margin: 0 auto;
  padding: 88px 48px;
}

.section-label {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .62rem;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.section-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, var(--rule), transparent);
  max-width: 100px;
}

.section-header { margin-bottom: 52px; }
.section-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.6rem, 3.2vw, 2.6rem);
  font-weight: 400;
  color: var(--ink);
  line-height: 1.22;
}

/* WORK GRID */
.work-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  background: var(--rule);
  box-shadow: 0 4px 28px var(--shadow);
  border-radius: 4px;
  overflow: hidden;
}

.work-card {
  background: var(--sky-mid);
  padding: 40px 36px 36px;
  text-decoration: none;
  color: inherit;
  display: block;
  position: relative;
  transition: background .25s;
  overflow: hidden;
}
.work-card::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--terra), var(--gold));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
.work-card:hover { background: var(--sky-deep); }
.work-card:hover::after { transform: scaleX(1); }

.card-number {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 300;
  font-size: .58rem;
  letter-spacing: .32em;
  color: var(--terra);
  margin-bottom: 16px;
  opacity: .75;
}
.card-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.38rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 5px;
  line-height: 1.2;
}
.card-subtitle {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .58rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 18px;
}
.card-wip {
  display: inline-block;
  font-family: 'Josefin Sans', sans-serif;
  font-size: .54rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--terra);
  border: 1px solid rgba(196,98,42,.28);
  background: var(--terra-pale);
  padding: 3px 9px;
  margin-bottom: 16px;
  border-radius: 2px;
}
.card-body {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.18rem;
  font-weight: 300;
  color: var(--ink-mid);
  line-height: 1.82;
  margin-bottom: 24px;
}
.card-cta {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 600;
  font-size: .62rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--terra);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  transition: gap .2s, color .2s;
}
.work-card:hover .card-cta { gap: 14px; color: var(--terra-lt); }
.card-cta::after { content: '→'; font-size: .82rem; }

/* ABOUT PREVIEW */
.intro-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}
.intro-primary h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.4rem, 2.8vw, 2.2rem);
  font-weight: 400;
  color: var(--ink);
  line-height: 1.25;
  margin-bottom: 26px;
}
.intro-primary p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.24rem;
  font-weight: 300;
  color: var(--ink-mid);
  line-height: 1.9;
  margin-bottom: 18px;
}
.intro-secondary {
  background: var(--sky-deep);
  border: 1px solid var(--rule);
  padding: 40px 36px;
  position: relative;
  box-shadow: 5px 5px 0 var(--field);
}
.intro-secondary::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--terra), var(--gold));
}
.pull-quote {
  font-family: 'Playfair Display', serif;
  font-size: 1.35rem;
  font-style: italic;
  color: var(--ink-mid);
  line-height: 1.6;
  margin-bottom: 24px;
  padding-left: 18px;
  border-left: 3px solid var(--terra);
}
.intro-secondary p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.18rem;
  font-weight: 300;
  color: var(--ink-mid);
  line-height: 1.88;
  margin-bottom: 14px;
}

/* LINKS */
.about-link, .back-link, .card-cta-link {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 600;
  font-size: .62rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--terra);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 8px;
  transition: gap .2s, color .2s;
}
.about-link:hover, .back-link:hover { gap: 14px; color: var(--terra-lt); }
.about-link::after { content: '→'; font-size: .82rem; }
.back-link::before { content: '←'; font-size: .82rem; }

/* SIGNUP BLOCK */
.signup-block {
  background: linear-gradient(135deg, var(--ink) 0%, #2d1a08 100%);
  padding: 60px;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}
.signup-block::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--terra), var(--gold), var(--sage));
}
.signup-block::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(196,98,42,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(196,98,42,.04) 1px, transparent 1px);
  background-size: 44px 44px;
  pointer-events: none;
}
.signup-inner { position: relative; z-index: 1; }
.signup-block h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.75rem;
  font-weight: 400;
  color: var(--sky);
  margin-bottom: 10px;
}
.signup-block > .signup-inner > p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.08rem;
  font-weight: 300;
  color: var(--field);
  margin-bottom: 32px;
  max-width: 460px;
}
.signup-btn {
  background: var(--terra);
  color: var(--sky);
  border: none;
  border-radius: 2px;
  padding: 14px 34px;
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 600;
  font-size: .66rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s, transform .1s;
  white-space: nowrap;
  display: inline-block;
  text-decoration: none;
}
.signup-btn:hover { background: var(--terra-lt); transform: translateY(-1px); }
.signup-note {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .56rem;
  letter-spacing: .18em;
  color: rgba(242,232,208,.3);
  margin-top: 14px;
  text-transform: uppercase;
}

/* FOOTER */
footer {
  background: var(--sky-deep);
  border-top: 1px solid var(--rule);
  padding: 44px 48px;
}
.footer-inner {
  max-width: 1060px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
}
.footer-brand {
  font-family: 'Playfair Display', serif;
  font-size: 1.05rem;
  color: var(--ink-mid);
}
.footer-links { display: flex; gap: 26px; list-style: none; flex-wrap: wrap; }
.footer-links a {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .6rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-faint);
  text-decoration: none;
  transition: color .2s;
}
.footer-links a:hover { color: var(--terra); }
.footer-copy {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .56rem;
  letter-spacing: .16em;
  color: var(--ink-faint);
  text-transform: uppercase;
  width: 100%;
}
.footer-copy a { color: var(--terra); text-decoration: none; }
.footer-copy a:hover { color: var(--terra-lt); }

/* ABOUT PAGE SPECIFIC */
.page-header {
  padding: 140px 48px 68px;
  max-width: 1060px;
  margin: 0 auto;
  border-bottom: 1px solid var(--rule-lt);
  position: relative;
}
.page-eyebrow {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .62rem;
  letter-spacing: .4em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.page-eyebrow::after {
  content: '';
  display: block;
  width: 44px; height: 1px;
  background: var(--terra);
  opacity: .5;
}
.page-header h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.9rem, 4.8vw, 3.6rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--ink);
  max-width: 680px;
}
.page-header h1 em { font-style: italic; color: var(--terra); }

.content-wrap {
  max-width: 1060px;
  margin: 0 auto;
  padding: 72px 48px 108px;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 72px;
  align-items: start;
}

.prose-section {
  margin-bottom: 56px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--rule-lt);
}
.prose-section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.prose-label {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .58rem;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 26px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.prose-label::after {
  content: '';
  display: block;
  width: 28px; height: 1px;
  background: var(--terra);
  opacity: .45;
}
.prose-section p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.16rem;
  font-weight: 300;
  color: var(--ink-mid);
  line-height: 1.92;
  margin-bottom: 20px;
}
.prose-section p:last-child { margin-bottom: 0; }
.prose-section p strong {
  font-family: 'Libre Baskerville', serif;
  font-weight: 700;
  color: var(--ink);
  font-size: .96rem;
}
.prose-lede {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.28rem !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  line-height: 1.72 !important;
}

.aside-card {
  background: var(--sky-deep);
  border: 1px solid var(--rule);
  padding: 26px;
  margin-bottom: 14px;
  position: relative;
}
.aside-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--terra), var(--gold));
}
.aside-card-label {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .56rem;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 10px;
}
.aside-card-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: .98rem;
  font-weight: 300;
  color: var(--ink-mid);
  line-height: 1.7;
}
.aside-card-text strong {
  font-family: 'Libre Baskerville', serif;
  font-weight: 700;
  color: var(--ink);
  font-size: .86rem;
  display: block;
  margin-bottom: 3px;
}
.content-aside { position: sticky; top: 84px; }

/* CONTACT SPECIFIC */
.form-intro {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem;
  font-weight: 300;
  color: var(--ink-mid);
  line-height: 1.9;
  margin-bottom: 36px;
  max-width: 520px;
}
.contact-form { display: flex; flex-direction: column; gap: 18px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-label {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .62rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--ink-light);
}
.form-label span { color: var(--ink-faint); font-size: .58rem; text-transform: none; letter-spacing: .12em; }
.form-input {
  background: var(--sky-mid);
  border: 1px solid var(--rule);
  border-radius: 2px;
  padding: 13px 15px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.08rem;
  color: var(--ink);
  outline: none;
  transition: border-color .2s, background .2s, box-shadow .2s;
  width: 100%;
}
.form-input::placeholder { color: var(--ink-faint); font-style: italic; }
.form-input:focus {
  border-color: var(--terra);
  background: var(--sky);
  box-shadow: 0 0 0 3px rgba(196,98,42,.08);
}
textarea.form-input { min-height: 170px; resize: vertical; line-height: 1.7; }
.recaptcha-notice {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .56rem;
  letter-spacing: .14em;
  color: var(--ink-faint);
  line-height: 1.6;
}
.recaptcha-notice a { color: var(--terra); text-decoration: none; }
.submit-btn {
  background: var(--ink);
  color: var(--sky);
  border: none;
  border-radius: 2px;
  padding: 15px 38px;
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 600;
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s, transform .1s;
  align-self: flex-start;
  position: relative;
  overflow: hidden;
}
.submit-btn::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--terra);
}
.submit-btn:hover { background: var(--ink-mid); transform: translateY(-1px); }
.form-success {
  display: none;
  background: var(--terra-pale);
  border: 1px solid rgba(196,98,42,.25);
  border-left: 4px solid var(--terra);
  padding: 22px 26px;
  border-radius: 2px;
}
.form-success h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.18rem;
  color: var(--ink);
  margin-bottom: 6px;
}
.form-success p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  color: var(--ink-mid);
}
.aside-sticky { position: sticky; top: 82px; }
.contact-card {
  background: var(--sky-deep);
  border: 1px solid var(--rule);
  padding: 28px 26px;
  margin-bottom: 14px;
  position: relative;
  box-shadow: 3px 3px 0 var(--field);
}
.contact-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--terra), var(--gold));
}
.contact-card-label {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .58rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--terra);
  margin-bottom: 16px;
}
.contact-method {
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rule-lt);
}
.contact-method:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.contact-method-type {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .58rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 5px;
}
.contact-method-value {
  font-family: 'Libre Baskerville', serif;
  font-size: .98rem;
  font-weight: 700;
  color: var(--ink);
}
.contact-method-value a { color: var(--ink); text-decoration: none; transition: color .2s; }
.contact-method-value a:hover { color: var(--terra); }
.contact-method-note {
  font-family: 'Cormorant Garamond', serif;
  font-size: .98rem;
  font-weight: 300;
  color: var(--ink-faint);
  margin-top: 4px;
  font-style: italic;
}
.response-card {
  background: var(--sky-mid);
  border: 1px solid var(--rule);
  padding: 26px;
  position: relative;
}
.response-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--sage), transparent);
}
.response-card-label {
  font-family: 'Josefin Sans', sans-serif;
  font-size: .58rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 10px;
}
.response-card p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.02rem;
  font-weight: 300;
  color: var(--ink-mid);
  line-height: 1.78;
}

/* ANIMATIONS */
.fade-in { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

/* SCROLL CUE */
.scroll-cue {
  position: absolute;
  bottom: 40px; left: 48px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Josefin Sans', sans-serif;
  font-size: .6rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--ink-faint);
  animation: pulse 2.4s ease-in-out infinite;
}
.scroll-cue::before {
  content: '';
  display: block;
  width: 1px; height: 32px;
  background: linear-gradient(to bottom, transparent, var(--terra));
}
@keyframes pulse {
  0%, 100% { opacity: .3; }
  50% { opacity: .8; }
}

/* RESPONSIVE */
@media (max-width: 820px) {
  nav { padding: 0 20px; }
  .nav-links a { padding: 0 12px; font-size: .72rem; }
  .hero { padding: 108px 20px 80px; }
  .section { padding: 64px 20px; }
  .work-grid { grid-template-columns: 1fr; }
  .intro-block { grid-template-columns: 1fr; gap: 36px; }
  .signup-block { padding: 40px 24px; }
  footer { padding: 36px 20px; }
  .page-header { padding: 116px 20px 56px; }
  .content-wrap { grid-template-columns: 1fr; padding: 52px 20px 80px; gap: 44px; }
  .content-aside, .aside-sticky { position: static; }
  .form-row { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .nav-links { display: none; }
}
