/* Homepage navigation, address entry and paired brand photographs. */
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 20; transform: translateY(-180%); padding: 8px 16px; background: #fff; color: #171717; }
.skip-link:focus { transform: translateY(0); }
.main-nav { display: flex; flex: 1; align-items: center; justify-content: space-around; margin-left: 65px; font-size: 13px; }
.main-nav a { padding: 8px 15px; text-decoration: none; }
.main-nav a:hover { color: var(--accent); }
.hero { padding: 56px 0 17px; background: linear-gradient(110deg, #151515, #292929); text-align: center; }
.hero h1 { margin-bottom: 36px; }
.hero-actions { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.button-secondary { background: #1c1c1c; color: var(--accent); }
.button-secondary:hover { background: #333; }
.hero-address { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 25px; }
.article-section { padding: 53px 0 59px; }
.article-section h2 { margin-bottom: 62px; text-align: center; }
.article-block, .article-block h3 { margin-bottom: 63px; }
.article-copy ul { margin: 0; padding-left: 23px; }
.article-copy kbd { font: inherit; }
.article-copy .domain { margin-bottom: 10px; }
.image-intro { margin-bottom: 32px; text-align: center; }
.image-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 409px)); justify-content: space-between; gap: 30px; }
.image-pair img { width: 100%; }
.image-single > img { grid-column: 2; }
.section-tinted { background: linear-gradient(110deg, #101010, #202020); }
.service-section { padding-top: 41px; }
.service-section h2 { margin-bottom: 61px; }
.service-section .article-block, .service-section .article-block h3 { margin-bottom: 61px; }
.faq-section { padding-top: 47px; }

/* Article cards point to the corresponding sections in this guide. */
.stories-section { padding: 71px 0 80px; }
.stories-section h2 { margin-bottom: 56px; text-align: center; }
.story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-inline: 20px; }
.story-card { min-height: 520px; border: 1px solid #484848; background: #181818; }
.story-link { display: flex; flex-direction: column; height: 100%; text-decoration: none; }
.story-link > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.story-copy { display: flex; flex: 1; flex-direction: column; padding: 28px 24px 25px; }
.story-copy h3 { margin-bottom: 11px; line-height: 1.6; }
.story-copy p { line-height: 1.7; }
.story-more { margin-top: auto; padding-top: 18px; color: var(--muted); font-size: 12px; }
.story-link:hover h3, .story-link:hover .story-more { color: var(--accent); }
.site-footer { padding: 64px 0 24px; background: #000; }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; }
.footer-grid .brand { margin-bottom: 30px; }
.footer-grid p { margin-bottom: 24px; }
.footer-address h2 { margin-bottom: 22px; font-size: 15px; }
.footer-address .domain { margin-bottom: 14px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; }
.copyright { margin-top: 52px; text-align: right; }
