/* Presentation rhythm: a separate, spacious canvas for each main idea. */
:root { --header-height: 94px; --page-space: clamp(88px, 12svh, 160px); }
html { scroll-padding-top: var(--header-height); }
.container { width: min(1280px, calc(100% - 128px)); }
.presentation-page {
  min-height: calc(100vh - var(--header-height));
  min-height: calc(100svh - var(--header-height));
  padding-block: var(--page-space);
  display: flex;
  align-items: center;
}
.presentation-page > .container { min-width: 0; }
.presentation-page .eyebrow,
.presentation-page .eyebrow > span:not(.status-dot) { font-size: .875rem; }
.hero .hero-grid { display: block; padding: 0; }
.hero .hero-copy { max-width: 1150px; }
.hero h1 { font-size: clamp(76px, 9.5vw, 140px); margin-top: 40px; line-height: 1.01; }
.hero-description { max-width: 620px; font-size: 1.375rem; margin-top: 42px; }
.hero-actions { margin-top: 40px; gap: 36px; }
.hero-actions .button, .hero-actions .text-link { font-size: 1rem; }
.hero-note { font-size: .875rem; margin-top: 18px; }
.page-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 22px; margin-top: 64px; color: var(--muted-light); font-size: .875rem; }
.page-footer a { display: inline-flex; align-items: center; gap: 14px; }
.page-footer a:hover { color: var(--lime); }
.page-footer .icon { width: 18px; height: 18px; }
.section h2 { font-size: clamp(54px, 5.4vw, 78px); margin-top: 32px; }
.story-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(64px, 8vw, 128px); align-items: center; }
.story-description, .statement-description { font-size: 1.375rem; line-height: 1.65; max-width: 620px; margin-top: 40px; color: var(--muted); }
.story-takeaway { font-size: 1rem; font-weight: 600; margin-top: 40px; }
.story-section .hero-visual { max-width: 460px; }
.story-section .workbench { box-shadow: 13px 14px 0 #d8dacf; border: 1px solid var(--line); }
.story-section .workflow-heading { gap: 20px; }
.story-section .workflow-heading h2 { font-size: 1.875rem; margin: 0; }
.workbench-top { font-size: .75rem; }
.workflow-tab, .workflow-tab span { font-size: .75rem; }
.workflow-description, .workflow-list li { font-size: .875rem; }
.workflow-description { min-height: 42px; }
.workflow-panel { min-height: 284px; }
.workbench-bottom, .bench-signature { font-size: .75rem; }
.workbench-bottom { border-top: 0; }
.statement-section h2, .clients-section h2 { font-size: clamp(64px, 8vw, 116px); max-width: 1150px; line-height: 1.025; }
.statement-section em { color: var(--lime); }
.statement-section .statement-description { max-width: 680px; margin-top: 48px; }
.statement-section.dark-section .statement-description { color: var(--muted-light); }
.launch-section { background: var(--lime); }
.launch-section .eyebrow { color: var(--ink); }
.launch-section .statement-description { color: #354024; }
.services-layout { grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); gap: clamp(64px, 9vw, 144px); align-items: center; }
.services-intro { font-size: 1.25rem; margin-top: 38px; }
.services-section { border-block: 0; }
.service-details, .service-detail { border: 0; }
.short-rule { display: none; }
.service-detail > summary { padding-block: 32px; gap: 20px; grid-template-columns: 26px minmax(0, 1fr) 24px; }
.service-detail h3 { font-size: 1.5rem; line-height: 1.3; }
.detail-number { font-size: .75rem; }
.detail-body { padding-bottom: 32px; }
.detail-body p { font-size: 1rem; line-height: 1.7; }
.format-section .service-facts { margin-top: 72px; margin-bottom: 0; padding: 0; border: 0; gap: 64px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.format-section .service-fact { padding-top: 36px; }
.format-section .service-fact strong { font-size: clamp(84px, 9vw, 132px); min-height: 132px; }
.format-section .service-fact strong > span { font-size: 2.5rem; }
.format-section .service-fact-chat strong { font-size: clamp(32px, 3.5vw, 50px); letter-spacing: -.05em; display: flex; align-items: center; padding: 0; }
.format-section .service-fact > p { font-size: 1.125rem; margin-top: 24px; line-height: 1.6; }
.pricing-heading { margin-bottom: 64px; }
.pricing-grid { gap: 30px; }
.price-card { padding: 38px 30px; }
.plan-label, .featured-plan .plan-label { font-size: .75rem; }
.price-card h3 { font-size: 2rem; }
.price-description { font-size: 1.125rem; }
.price-period, .refund-note { font-size: .875rem; }
.plan-includes li { font-size: .875rem; line-height: 1.5; }
.plan-includes { border-top: 0; }
.featured-plan .button { font-size: .875rem; min-height: 58px; }
.price-card-footer { font-size: .75rem; }
.about-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 100px; }
.experience-number { font-size: clamp(168px, 17vw, 240px); margin-top: 42px; }
.experience-caption { font-size: 1rem; }
.about-copy { padding-top: 0; }
.about-copy h2 { font-size: clamp(44px, 4.4vw, 64px); margin-top: 0; margin-bottom: 44px; }
.about-detail { margin-top: 30px; }
.about-detail h3 { font-size: 1.25rem; }
.about-detail p { font-size: 1rem; }
.expertise-tags { margin-top: 36px; gap: 10px; }
.expertise-tags li { font-size: .875rem; padding: 9px 14px; }
.clients-section .client-strip { grid-template-columns: 1fr 1.4fr 1fr; margin-top: 88px; padding: 44px 0; gap: 48px; border: 0; }
.clients-section .client-strip a { font-size: clamp(30px, 3.3vw, 46px); }
.clients-section .client-strip a .icon { opacity: 1; transform: none; width: 24px; height: 24px; }
.contact-section { background: var(--ink); color: var(--paper); }
.contact-panel { padding: 0; border-radius: 0; overflow: visible; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 100px; }
.contact-copy h2 { font-size: clamp(64px, 7vw, 100px); margin-top: 36px; }
.contact-copy > p:not(.eyebrow) { font-size: 1.25rem; margin-top: 40px; }
.contact-copy .button { margin-top: 40px; font-size: 1rem; }
.contact-invitation { font-size: 1rem; margin-bottom: 14px; }
.contact-email { font-size: clamp(20px, 1.8vw, 26px); white-space: normal; overflow-wrap: anywhere; }
.copy-email { font-size: .875rem; margin-top: 18px; }
.contact-person .portrait { width: 132px; height: 132px; margin-bottom: 36px; }
.contact-person { border-top: 0; }
.site-footer { padding-top: 32px; }
.footer-inner { border-top: 0; }
.footer-inner > p, .footer-download, .copyright { font-size: .875rem; }
.site-footer .pricing-disclaimer { margin-top: 32px; font-size: .875rem; line-height: 1.6; color: var(--muted-light); }

@media (max-width: 1100px) {
  .container { width: calc(100% - 80px); }
  .story-grid, .services-layout { gap: 56px; }
  .story-description, .statement-description { font-size: 1.25rem; }
  .story-section .workflow-heading { gap: 12px; }
  .story-section .workflow-heading h2 { font-size: 1.625rem; }
  .workflow-tab span { display: none; }
  .pricing-grid { gap: 18px; }
  .price-card { padding: 30px 22px; }
  .about-grid, .contact-panel { gap: 56px; }
  .clients-section .client-strip { gap: 30px; }
}
@media (max-width: 1000px) {
  :root { --header-height: 80px; }
  .hero-actions { flex-direction: row; align-items: center; }
  .format-section .service-facts { gap: 36px; }
  .format-section .service-fact strong { min-height: 110px; }
  .clients-section .client-strip a { font-size: 1.875rem; }
  .clients-section .client-strip a .icon { width: 18px; height: 18px; }
}
@media (min-width: 761px) and (max-height: 900px) {
  .hero { padding-block: 48px; }
  .hero h1 { font-size: clamp(72px, 11svh, 100px); margin-top: 28px; }
  .hero-description { font-size: 1.25rem; margin-top: 28px; }
  .hero-actions { margin-top: 28px; }
  .hero-note { margin-top: 14px; }
  .page-footer { margin-top: 36px; }
}
@media (min-width: 761px) and (max-width: 900px) {
  .story-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
  .story-copy h2 { font-size: 3rem; }
  .story-description { font-size: 1.125rem; }
  .workflow-tab { font-size: .75rem; white-space: normal; }
  .contact-copy h2 { font-size: 3.5rem; }
}
@media (max-width: 760px) {
  :root { --header-height: 76px; --page-space: 88px; }
  .container, .contact-section > .container { width: calc(100% - 48px); }
  .presentation-page { min-height: calc(100svh - var(--header-height)); }
  .hero h1 { font-size: clamp(44px, 10.6vw, 80px); margin-top: 34px; white-space: normal; }
  .hero-description { font-size: 1.125rem; margin-top: 34px; }
  .hero .eyebrow { font-size: .75rem; }
  .hero-actions { gap: 24px; margin-top: 34px; }
  .hero-actions .button, .hero-actions .text-link { font-size: .875rem; }
  .hero-note { font-size: .75rem; }
  .page-footer { margin-top: 64px; font-size: .75rem; }
  .section h2 { font-size: clamp(44px, 9vw, 64px); margin-top: 28px; }
  .presentation-page .eyebrow, .presentation-page .eyebrow > span:not(.status-dot) { font-size: .75rem; }
  .story-grid, .services-layout, .about-grid, .contact-panel { grid-template-columns: minmax(0, 1fr); gap: 64px; }
  .story-description, .statement-description { font-size: 1.125rem; margin-top: 32px; }
  .story-takeaway { font-size: 1rem; margin-top: 32px; }
  .story-section .hero-visual { width: min(400px, calc(100% - 16px)); }
  .story-section .workflow-heading h2 { font-size: 1.75rem; }
  .workflow-tab { white-space: normal; }
  .workflow-panel { min-height: 284px; }
  .workflow-list li, .workflow-description { font-size: .875rem; }
  .statement-section h2, .clients-section h2 { font-size: clamp(46px, 10vw, 76px); }
  .statement-section .statement-description { margin-top: 40px; }
  .service-detail > summary { padding-block: 30px; gap: 12px; grid-template-columns: 20px minmax(0, 1fr) 22px; }
  .service-detail h3 { font-size: 1.25rem; padding-right: 0; }
  .detail-body { padding: 0 32px 30px; }
  .detail-body p { font-size: 1rem; }
  .services-aside h2 br:nth-child(2) { display: none; }
  .services-intro { font-size: 1.125rem; margin-top: 28px; }
  .format-section .service-facts { margin-top: 56px; gap: 32px; grid-template-columns: minmax(0, 1fr); }
  .format-section .service-fact { display: grid; grid-template-columns: minmax(100px, .8fr) minmax(0, 1fr); gap: 24px; align-items: center; padding-top: 28px; }
  .format-section .service-fact strong { font-size: 84px; min-height: 0; }
  .format-section .service-fact-chat strong { font-size: 2rem; }
  .format-section .service-fact > p { font-size: 1rem; margin: 0; }
  .pricing-heading { margin-bottom: 48px; }
  .pricing-grid { gap: 28px; }
  .price-card { padding: 36px 28px; }
  .price-card h3 { margin-top: 18px; }
  .featured-plan .price { font-size: 59px; }
  .plan-includes li, .price-period, .refund-note { font-size: .875rem; }
  .price-description { font-size: 1.125rem; }
  .plan-label, .featured-plan .plan-label, .price-card-footer { font-size: .75rem; }
  .featured-plan .button { font-size: .875rem; }
  .experience-number { font-size: 176px; }
  .experience-caption { font-size: 1rem; }
  .about-copy h2 { margin-top: 0; margin-bottom: 36px; }
  .about-detail p { font-size: 1rem; }
  .expertise-tags li { font-size: .875rem; }
  .clients-section .client-strip { grid-template-columns: minmax(0, 1fr); margin-top: 56px; padding: 0; gap: 0; }
  .clients-section .client-strip a { padding-block: 30px; font-size: 2rem; }
  .clients-section .client-strip a .icon { display: block; width: 24px; height: 24px; }
  .contact-panel { padding: 0; gap: 64px; }
  .contact-copy h2 { font-size: clamp(44px, 10vw, 72px); }
  .contact-copy > p:not(.eyebrow) { font-size: 1.125rem; margin-top: 32px; }
  .contact-copy .button { margin-top: 32px; font-size: 1rem; }
  .contact-person { grid-template-columns: 80px minmax(0, 1fr); gap: 4px 20px; padding-top: 32px; }
  .contact-person .portrait { width: 80px; height: 80px; margin: 0; }
  .contact-invitation { font-size: .875rem; margin-bottom: 5px; }
  .contact-email { font-size: 1rem; }
  .copy-email { font-size: .75rem; margin-top: 4px; text-align: left; }
  .footer-inner > p, .footer-download, .copyright { font-size: .75rem; }
}
@media (max-width: 380px) {
  .container, .contact-section > .container { width: calc(100% - 40px); }
  .hero h1 { font-size: 11vw; }
  .statement-section h2, .section h2 { font-size: 2.625rem; }
  .story-section .workflow-heading h2 { font-size: 1.5rem; }
  .price-card { padding: 32px 22px; }
  .price { font-size: 2.5rem; }
  .featured-plan .price { font-size: 3.25rem; }
  .contact-copy h2 { font-size: 2.625rem; }
  .contact-person { grid-template-columns: 68px minmax(0, 1fr); column-gap: 16px; }
  .contact-person .portrait { width: 68px; height: 68px; }
}
@media print {
  .presentation-page { min-height: auto; padding: 42px 0; display: block; break-before: page; }
  .presentation-page:first-child { break-before: auto; }
  .page-footer { display: none; }
  .container, .contact-section > .container { width: 100%; }
  .hero h1 { font-size: 64px; }
  .statement-section h2, .section h2, .contact-copy h2 { font-size: 44px; }
  .contact-section, .launch-section { background: white; color: black; }
}
