/* Shared spacing and type hierarchy for the public-site mockup. */
:root{
  --section-space:52px;
  --card-space:32px;
  --type-section:clamp(32px,3.5vw,40px);
  --type-card:clamp(28px,3vw,34px);
  --type-product:23px;
}

/* Keep the image attribution legible over the title photograph on every page. */
section.hero,.intro{position:relative}
.photo-credit{position:absolute;right:max(17px,calc((100vw - 1160px)/2));bottom:12px;z-index:3;padding:4px 0;text-align:right;font-size:10px;line-height:1.35;color:#fff;background:transparent;border-radius:0;text-shadow:0 1px 4px rgba(16,33,59,.9)}
.photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
section.hero>.photo-credit{position:absolute;right:max(17px,calc((100vw - 1160px)/2));bottom:12px;z-index:3}

/* Page sections and their headings */
main>.editorial{padding:48px 0}
main>#coverage{padding:52px 0 18px}
main>.about,main>.faq,main>.sources,main>.signup,main>.purchase{padding:var(--section-space) 0 64px}
main>.close{padding:52px 0}
.section-head{margin-bottom:24px}
.section-head h2{font-size:var(--type-section)}
.editorial-banner h2,.subscribe-card h2,.close h2{font-size:var(--type-card);line-height:1.18}

/* Home cards */
.editorial-banner,.subscribe-card{padding:var(--card-space)}
.coverage-card{padding:var(--card-space)}
.coverage-card h3{font-size:var(--type-product);line-height:1.2}
.coverage-card p{font-size:14px;line-height:1.5;margin-top:7px}
.coverage-card .sectors{margin-top:18px}
.coverage-product+.coverage-product{margin-top:28px;padding-top:28px}
.sectors{gap:9px}
main>.subscribe-section{padding:12px 0 52px}

/* Hero product preview */
.brief{padding:24px}
.brief h3{font-size:var(--type-product);margin:12px 0 8px}
.brief-row{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:16px;padding:14px 0}
.brief-row .tag{display:inline-block;justify-self:start;width:auto;max-width:100%;white-space:normal;font-size:11px;line-height:1.35;padding:6px 9px}
.brief-row>div{min-width:0}
.brief-row .row-source{font-size:12px;line-height:1.5;margin-top:0}
.brief-foot{padding-top:12px}

/* Forms, product cards, FAQ and text pages */
.form-card,.order{padding:var(--card-space)}
.form-card h2,.order h2,.step legend{font-size:30px;line-height:1.2}
.step{margin-bottom:36px}
.choice-body{padding:20px 22px 22px}
.choice-title{font-size:var(--type-product)}
.term{padding:22px}
.about-copy p,.sources-copy p{line-height:1.65}
.group{margin-bottom:32px}
.group h2{font-size:26px;line-height:1.2}

@media(max-width:600px){
  :root{--section-space:40px;--card-space:22px;--type-section:32px;--type-card:29px;--type-product:22px}
  main>.editorial{padding:40px 0}
  main>#coverage{padding:40px 0 14px}
  main>.about,main>.faq,main>.sources,main>.signup,main>.purchase{padding:40px 0 52px}
  main>.subscribe-section{padding:12px 0 42px}
  main>.close{padding:44px 0}
  .coverage-product+.coverage-product{margin-top:24px;padding-top:24px}
  .brief{padding:20px}
  .brief-row{display:block}
  .brief-row .tag{display:inline-block;max-width:100%;margin-bottom:8px}
  .form-card h2,.order h2,.step legend{font-size:27px}
  .step{margin-bottom:32px}
}
