html:not(.js) .reveal { opacity: 1; transform: none; }

.website-types { background: #f7f3eb; }
.type-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.type-card { padding: 30px; border: 1px solid #d9d0bf; background: #fbf8f1; }
.type-card h3, .pricing-factors h3 { font: 700 23px var(--display); margin: 0 0 11px; }
.type-card p, .pricing-factors p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }

.pricing-guide { background: #e7d6bd; }
.pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: start; }
.pricing-factors { list-style: none; margin: 0; padding: 0; border-top: 1px solid #c4b49e; }
.pricing-factors li { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding: 22px 0; border-bottom: 1px solid #c4b49e; }
.pricing-factors li > span { color: var(--coral); font-size: 12px; font-weight: 700; }
.pricing-factors h3 { font-size: 20px; margin-bottom: 5px; }

.faq { background: #eef0dc; }
.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; }
.faq-list { border-top: 1px solid #bdc6a7; }
.faq details { border-bottom: 1px solid #bdc6a7; padding: 0; }
.faq summary { padding: 21px 38px 21px 0; cursor: pointer; position: relative; font: 700 19px var(--display); list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 8px; top: 17px; color: var(--coral); font: 400 28px var(--font); }
.faq details[open] summary::after { content: "−"; }
.faq details p { margin: 0; padding: 0 45px 22px 0; color: var(--muted); font-size: 14px; line-height: 1.7; }

@media (max-width: 800px) {
  .type-grid, .pricing-grid, .faq-grid { grid-template-columns: 1fr; }
  .pricing-grid, .faq-grid { gap: 40px; }
  .type-card { padding: 23px; }
  .faq summary { font-size: 18px; }
}
