/* A viewport-sized application shell. Content changes through tabs and detail sheets. */
html, body { width: 100%; height: 100%; overflow: hidden; }
body { height: 100vh; height: 100svh; height: 100dvh; min-height: 0; display: grid; grid-template-rows: 74px minmax(0, 1fr) 26px 90px; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
.site-header { width: 100%; height: 100%; padding: 16px 40px 0; }
main { width: 100%; min-height: 0; margin: 0 auto; padding: 18px 32px 12px; }
.screen { height: 100%; min-height: 0; }
footer { width: 100%; height: 100%; margin: 0 auto; padding: 0 32px; }
.main-nav { grid-row: 4; position: relative; left: auto; bottom: auto; transform: none; align-self: center; justify-self: center; margin: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#overview { display: grid; grid-template-rows: minmax(0, 1fr) auto auto; gap: 15px; }
.hero { min-height: 0; padding: 0; gap: 42px; }
h1 { font-size: clamp(43px, 4.3vw, 62px); }
.hero-copy > p { margin-top: 20px; font-size: 15px; }
.hero-actions { margin-top: 24px; }
.hero-footnote { margin-top: 17px; }
.system-scene { min-height: 0; padding: 8px 12px 15px; }
.scene-caption { margin-bottom: 16px; }
.window-body { padding: 21px 24px 18px; }
.system-summary { margin-top: 20px; }
.system-summary > div { padding: 12px 0; }
.scene-bottom { margin-top: 26px; margin-bottom: 0; }
.scene-notification { bottom: 23px; }
.section-heading { margin: 0; }
.section-heading h2 { font-size: 23px; margin-top: 6px; }
.home-services .content-card { padding: 20px 23px 20px 80px; min-height: 115px; }
.home-services .app-icon { position: absolute; top: 20px; left: 22px; }
.home-services h3 { margin-top: 0; font-size: 17px; }
.home-services p { font-size: 11px; margin-top: 9px; }
.card-arrow { top: 19px; right: 19px; font-size: 17px; }
#services { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 17px; }
.page-heading { padding: 0; margin: 0; }
.page-heading h1 { font-size: clamp(34px, 3.5vw, 48px); line-height: 1.08; margin-top: 12px; }
.page-heading > p { margin-top: 12px; font-size: 13px; line-height: 1.6; }
#services .page-heading { display: grid; grid-template-columns: 1fr 1fr; column-gap: 35px; align-items: end; }
#services .page-heading > .eyebrow { grid-column: 1 / -1; }
#services .page-heading > p { max-width: 340px; justify-self: end; }
.service-grid { gap: 17px; min-height: 0; grid-template-rows: repeat(2, minmax(0, 1fr)); }
.service-card { padding: 22px 25px; display: flex; flex-direction: column; min-height: 0; }
.service-card .app-icon { width: 36px; height: 36px; border-radius: 11px; }
.service-number { top: 25px; right: 26px; }
.service-card h2 { font-size: 23px; margin-top: 14px; }
.service-card > p { font-size: 12px; margin-top: 10px; line-height: 1.6; }
.service-card > ul { display: none; }
.service-actions { margin-top: auto; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.service-details { display: inline-flex; align-items: center; justify-content: space-between; gap: 13px; min-height: 40px; padding: 9px 13px; color: #285b79; border: 1px solid #c7dbe9; border-radius: 20px; background: #eaf4fb; font-size: 11px; }
.service-details:hover { background: #dceffa; }
.service-link { border: 0; padding: 0; font-size: 11px; gap: 10px; }
.page-end { font-size: 11px; margin: 0; }
#process { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto auto; gap: 16px; }
#process .page-heading { display: grid; grid-template-columns: 1.3fr 1fr; column-gap: 30px; align-items: end; }
#process .page-heading > .eyebrow { grid-column: 1 / -1; }
#process .page-heading > p { max-width: 320px; justify-self: end; }
.stage-picker { width: 100%; margin: 0 auto; }
.stage-picker button { padding: 10px 15px; }
.process-sheet { min-height: 0; padding: 27px 35px; gap: 30px; }
.process-illustration { height: 220px; }
.ring-one { width: 205px; height: 205px; }
.ring-two { width: 150px; height: 150px; }
.ring-three { width: 95px; height: 95px; }
.process-copy h2 { font-size: 33px; margin-top: 13px; }
.process-copy > p { font-size: 13px; line-height: 1.7; margin-top: 17px; }
.process-deliverable { margin-top: 19px; padding-top: 16px; font-size: 11px; }
.principles { margin: 0; }
.contact-grid { height: 100%; min-height: 0; padding: 0; gap: 65px; }
.contact-copy h1 { font-size: 60px; }
.contact-copy .desktop-contact-title { color: var(--ink); }
.desktop-contact-title > span { color: #0074ed; }
.compact-contact-title { display: none; }
.contact-copy > p { font-size: 14px; margin-top: 21px; }
.contact-email { font-size: 19px; margin-top: 23px; }
.contact-location { padding: 18px 0; margin-top: 25px; }
.contact-expectation { margin-top: 22px; }
.project-form { width: 100%; padding: 29px 32px; }
.form-progress { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
#form-step-count { font-size: 10px; white-space: nowrap; color: #456373; }
.project-form h2 { font-size: 27px; margin-top: 18px; }
.project-form > p:not(.form-status) { margin: 11px 0 20px; max-width: none; }
.form-step { min-width: 0; padding: 0; margin: 0; border: 0; }
.project-form label { margin-top: 16px; }
.project-form label:first-of-type { margin-top: 0; }
.project-form input, .project-form select { min-height: 45px; }
.project-form textarea { height: 160px; min-height: 80px; resize: none; }
.project-context { font-size: 11px; padding: 10px 12px; background: #edf6fc; border-radius: 9px; color: #38647d; margin-bottom: 16px; }
.form-actions { display: flex; align-items: center; gap: 14px; margin-top: 22px; }
.form-actions .primary-action { width: auto; flex: 1; margin: 0; }
.form-back { background: none; border: 0; font-size: 12px; color: #386079; padding: 12px 3px; min-height: 44px; }
.form-note { margin-top: 14px; }
.form-status { margin-top: 12px; padding: 8px; font-size: 10px; }
.service-dialog { width: min(470px, calc(100% - 40px)); max-height: none; padding: 29px; border: 1px solid #fff; border-radius: 28px; background: #f6fbff; color: var(--ink); box-shadow: 0 30px 90px #142f5966; }
.service-dialog::backdrop { background: #18384d3a; backdrop-filter: blur(8px); }
.dialog-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.dialog-close { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; font-size: 26px; line-height: 1; border: 1px solid #c8dce9; border-radius: 50%; background: #e6f1f8; color: #2d4f66; }
.service-dialog h2 { font-size: 27px; letter-spacing: -.7px; line-height: 1.15; margin-top: 20px; }
.dialog-description { font-size: 13px; line-height: 1.7; color: #486677; margin-top: 15px; }
.dialog-examples { font-size: 12px; line-height: 1.9; padding-left: 18px; color: #3a5b6d; margin: 19px 0 24px; }
.dialog-action { width: 100%; }
@media (min-width: 1600px) {
  body { grid-template-rows: 85px minmax(0, 1fr) 30px 100px; }
  main { padding-block: 30px 20px; }
  #overview { gap: 22px; }
  .hero { min-height: 0; }
}
@media (max-height: 850px) and (min-width: 801px) {
  body { grid-template-rows: 65px minmax(0, 1fr) 24px 82px; }
  main { padding-top: 12px; }
  .hero-copy h1 { font-size: 49px; }
  .hero-copy > p { font-size: 13px; margin-top: 15px; }
  .hero-actions { margin-top: 18px; }
  .system-scene { max-width: 435px; width: 100%; justify-self: center; }
  .window-header { padding: 12px 19px; }
  .window-body { padding: 17px 21px 15px; }
  .system-summary { margin-top: 15px; }
  .system-summary > div { padding: 9px 0; }
  .system-summary .app-icon { width: 35px; height: 35px; border-radius: 11px; }
  .window-bottom { padding-top: 11px; }
  .scene-caption { margin-bottom: 11px; }
  .scene-bottom { margin-top: 20px; margin-bottom: 0; }
  .scene-notification { padding: 12px 15px; bottom: 18px; }
  .section-heading h2 { font-size: 21px; }
  .home-services .content-card { min-height: 98px; padding: 17px 21px 17px 73px; }
  .home-services h3 { font-size: 15px; }
  .home-services p { font-size: 10px; margin-top: 6px; }
  .home-services .app-icon { width: 33px; height: 33px; left: 20px; top: 17px; }
  #services .page-heading h1, #process .page-heading h1 { font-size: 37px; }
  .service-card { padding: 17px 22px; }
  .service-card h2 { font-size: 21px; margin-top: 10px; }
  .service-card > p { font-size: 11px; margin-top: 8px; }
  .service-actions { padding-top: 10px; }
  .service-card .app-icon { width: 30px; height: 30px; border-radius: 9px; }
  .service-card .app-icon svg { width: 19px; height: 19px; }
  .service-number { top: 19px; right: 22px; }
  .process-illustration { height: 182px; }
  .ring-one { width: 173px; height: 173px; }
  .ring-two { width: 125px; height: 125px; }
  .ring-three { width: 78px; height: 78px; }
  .process-sheet { padding: 23px 30px; }
  .process-copy h2 { font-size: 29px; }
  .process-copy > p { font-size: 12px; margin-top: 12px; }
  .process-deliverable { padding-top: 13px; margin-top: 15px; }
  .contact-copy h1 { font-size: 50px; }
  .contact-copy > p { font-size: 13px; }
  .contact-expectation { margin-top: 17px; }
  .project-form { padding: 25px 29px; }
}
@media (max-width: 800px) {
  body { grid-template-rows: 64px minmax(0, 1fr) 22px 82px; }
  .site-header { padding: 13px 24px 0; }
  main { padding: 18px 23px 10px; }
  footer { padding-inline: 23px; }
  footer > span:nth-child(2) { display: none; }
  .hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; gap: 18px; justify-items: center; align-content: center; }
  .hero-copy { width: 100%; max-width: 520px; }
  .hero-copy h1 { font-size: 47px; margin-top: 17px; }
  .hero-copy > p { font-size: 13px; margin-top: 17px; }
  .hero-copy h1 br:nth-child(2) { display: initial; }
  .hero-actions { margin-top: 20px; gap: 18px; }
  .hero-footnote { font-size: 9px; margin-top: 15px; }
  .system-scene { max-width: 520px; width: 100%; padding: 0; }
  .scene-caption, .scene-notification, .scene-bottom, .window-header, .window-bottom, .window-greeting > span, .system-summary small, .connected { display: none; }
  .system-window { transform: none; border-radius: 20px; }
  .window-body { padding: 15px 17px; }
  .window-greeting h2 { font-size: 15px; margin: 0; }
  .system-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 13px; gap: 12px; }
  .system-summary > div { padding: 0; border: 0; display: flex; gap: 8px; align-items: center; }
  .system-summary .app-icon { width: 29px; height: 29px; border-radius: 9px; flex-shrink: 0; }
  .system-summary .app-icon svg { width: 17px; height: 17px; }
  .system-summary strong { font-size: 9px; line-height: 1.4; }
  #overview { gap: 17px; grid-template-rows: minmax(0, 1fr) auto; }
  .section-heading { display: none; }
  .home-services { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
  .home-services .content-card { min-height: 103px; padding: 15px 12px; border-radius: 18px; }
  .home-services .app-icon { position: static; width: 30px; height: 30px; border-radius: 10px; }
  .home-services .app-icon svg { width: 18px; height: 18px; }
  .home-services h3 { margin-top: 10px; font-size: 11px; line-height: 1.3; }
  .home-services p, .card-arrow { display: none; }
  #services, #process { gap: 15px; }
  #services .page-heading, #process .page-heading { display: block; }
  .page-heading h1 { font-size: 36px; margin-top: 12px; }
  .page-heading > p { font-size: 11px; margin-top: 12px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .service-card { padding: 18px 17px; border-radius: 20px; }
  .service-card h2 { font-size: 18px; line-height: 1.15; margin-top: 12px; }
  .service-card > p { font-size: 10px; margin-top: 10px; line-height: 1.6; }
  .service-card .app-icon { width: 33px; height: 33px; border-radius: 10px; }
  .service-card .app-icon svg { width: 20px; height: 20px; }
  .service-number { top: 20px; right: 18px; font-size: 9px; }
  .service-link { display: none; }
  .service-actions { padding-top: 12px; }
  .service-details { width: 100%; min-height: 38px; padding: 8px 11px; font-size: 10px; }
  .page-end { font-size: 10px; padding: 0; line-height: 1.7; }
  #process { grid-template-rows: auto auto minmax(0, 1fr) auto; }
  .process-sheet { grid-template-columns: minmax(0, 1fr); padding: 25px; align-content: center; gap: 0; }
  .process-illustration, .principles { display: none; }
  .process-copy h2 { font-size: 29px; line-height: 1.15; margin-top: 13px; }
  .process-copy > p { font-size: 12px; line-height: 1.7; margin-top: 16px; }
  .process-deliverable { font-size: 11px; padding-top: 16px; margin-top: 18px; }
  .stage-picker { border-radius: 25px; }
  .stage-picker button { padding: 10px 6px; }
  .stage-picker button span { margin-left: 5px; }
  .contact-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 17px; align-items: center; }
  .contact-copy { width: 100%; max-width: 580px; justify-self: center; }
  .contact-copy h1 { margin-top: 10px; font-size: 43px; }
  .desktop-contact-title { display: none; }
  .compact-contact-title { display: inline; }
  .contact-copy > p, .contact-location, .contact-expectation { display: none; }
  .contact-email { font-size: 15px; margin-top: 13px; }
  .contact-email svg { width: 17px; height: 17px; }
  .project-form { padding: 25px; max-width: 580px; justify-self: center; }
  .project-form h2 { font-size: 26px; margin-top: 15px; }
  .project-form > p:not(.form-status) { margin: 10px 0 20px; font-size: 11px; }
  .project-form label { margin-top: 14px; font-size: 10px; }
  .project-form input, .project-form select { font-size: 16px; min-height: 44px; padding: 11px; margin-top: 7px; }
  .project-form textarea { font-size: 16px; height: 135px; padding: 11px; }
  .form-actions { margin-top: 20px; }
  .form-actions .primary-action { min-height: 46px; }
  .form-note { font-size: 9px; }
  .form-kicker { font-size: 7px; letter-spacing: .7px; }
}
@media (max-width: 520px) {
  body { grid-template-rows: 64px minmax(0, 1fr) 21px 80px; }
  .site-header { padding-inline: 21px; }
  main { padding: 17px 21px 10px; }
  .hero-copy h1 { font-size: clamp(35px, 10.5vw, 45px); }
  .hero-copy > p { margin-top: 16px; }
  .hero-actions { gap: 16px; flex-wrap: wrap; }
  .hero-actions .primary-action { min-height: 45px; padding: 12px 17px; gap: 18px; }
  .quiet-action { font-size: 10px; }
  .system-summary { gap: 8px; }
  .system-summary > div { flex-direction: column; align-items: flex-start; gap: 6px; }
  .window-body { padding: 14px 16px; }
  .system-summary strong { font-size: 9px; }
  .home-services { gap: 8px; }
  .home-services .content-card { padding: 13px 12px; min-height: 100px; }
  .main-nav { align-self: center; width: calc(100% - 36px); bottom: auto; }
  .main-nav > a { font-size: 9px; }
  footer { padding: 0 21px; flex-wrap: nowrap; margin: 0; }
  .page-heading h1 { font-size: 34px; }
  .service-card { padding: 16px 14px; }
  .service-card h2 { font-size: 17px; }
  .service-card > p { font-size: 10px; }
  .service-number { top: 18px; right: 16px; }
  .stage-picker button { min-height: 47px; }
  .process-sheet { padding: 23px; }
  .process-copy h2 { font-size: 27px; }
  .process-copy > p { font-size: 11px; }
  .process-deliverable { font-size: 10px; }
  .project-form { padding: 24px; }
  .project-form h2 { font-size: 24px; }
  .project-form > p:not(.form-status) { margin-bottom: 18px; }
  .contact-copy h1 { font-size: 42px; }
  .project-context { font-size: 10px; margin-bottom: 14px; }
  .service-dialog { padding: 25px; }
}
@media (max-height: 700px) and (max-width: 800px) {
  body { grid-template-rows: 56px minmax(0, 1fr) 20px 74px; }
  .site-header { padding-top: 8px; }
  main { padding-block: 12px 8px; }
  .system-scene, .hero-footnote { display: none; }
  .hero { grid-template-rows: auto; align-content: center; }
  .hero-copy h1 { font-size: 38px; margin-top: 13px; }
  .hero-copy > p { font-size: 12px; margin-top: 13px; }
  .hero-actions { margin-top: 19px; }
  .home-services .content-card { min-height: 83px; padding: 11px; }
  .home-services .app-icon { width: 25px; height: 25px; border-radius: 8px; }
  .home-services h3 { font-size: 10px; margin-top: 8px; }
  .page-heading h1 { font-size: 29px; margin-top: 10px; }
  .page-heading > p { display: none; }
  .service-card > p, .page-end { display: none; }
  #services { grid-template-rows: auto minmax(0, 1fr); gap: 13px; }
  .service-card h2 { font-size: 16px; margin-top: 9px; }
  .service-card .app-icon { width: 27px; height: 27px; border-radius: 8px; }
  .service-card .app-icon svg { width: 17px; height: 17px; }
  .service-details { min-height: 35px; padding-block: 7px; }
  .service-actions { padding-top: 8px; }
  #process { grid-template-rows: auto auto minmax(0, 1fr); gap: 12px; }
  .process-copy h2 { font-size: 25px; margin-top: 10px; }
  .process-copy > p { margin-top: 13px; }
  .process-deliverable { margin-top: 14px; padding-top: 12px; }
  .contact-copy > .eyebrow { display: none; }
  .contact-copy h1 { font-size: 33px; margin: 0; }
  .contact-email { font-size: 13px; margin-top: 8px; }
  .contact-grid { gap: 12px; }
  .project-form { padding: 18px 21px; }
  .project-form h2 { font-size: 21px; margin-top: 12px; }
  .project-form > p:not(.form-status) { margin: 7px 0 14px; font-size: 10px; }
  .project-form label { margin-top: 11px; }
  .project-form input, .project-form select { min-height: 40px; padding: 9px 10px; margin-top: 5px; }
  .project-form textarea { height: 90px; margin-top: 5px; }
  .form-actions { margin-top: 15px; }
  .form-actions .primary-action { min-height: 41px; padding-block: 11px; }
  .form-note { font-size: 8px; margin-top: 10px; }
  .project-context { padding: 7px 10px; margin-bottom: 12px; }
  .service-dialog h2 { font-size: 24px; }
}
/* Wide, short screens use a horizontal composition instead of a compressed column. */
@media (max-height: 520px) and (orientation: landscape) {
  body { grid-template-rows: 49px minmax(0, 1fr) 0 67px; }
  .site-header { padding: 5px 22px 0; }
  .brand { font-size: 18px; }
  .brand img { width: 25px; height: 25px; }
  .header-action { min-height: 35px; padding: 8px 14px; font-size: 10px; }
  main { padding: 8px 24px; }
  footer { display: none; }
  .main-nav { min-height: 55px; width: min(420px, calc(100% - 36px)); padding: 5px; }
  .main-nav > a { min-height: 43px; font-size: 8px; gap: 3px; }
  .main-nav > a svg { width: 18px; height: 18px; }
  .nav-selection { inset: 5px auto 5px 5px; width: calc((100% - 10px) / 4); }
  #overview { display: grid; grid-template-columns: 1.2fr 1fr; grid-template-rows: minmax(0, 1fr); gap: 28px; align-items: center; }
  .hero { display: block; }
  .system-scene, .section-heading, .hero-footnote, .hero-copy > .eyebrow { display: none; }
  .hero-copy h1 { font-size: 33px; margin: 0; line-height: 1.05; }
  .hero-copy > p { font-size: 11px; margin-top: 11px; line-height: 1.5; }
  .hero-actions { margin-top: 13px; gap: 13px; }
  .hero-actions .primary-action { min-height: 36px; padding: 9px 13px; font-size: 10px; gap: 15px; }
  .quiet-action { font-size: 10px; }
  .home-services { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  .home-services .content-card { min-height: 53px; padding: 16px 18px 16px 58px; border-radius: 15px; }
  .home-services .app-icon { position: absolute; left: 15px; top: 12px; width: 28px; height: 28px; border-radius: 9px; }
  .home-services h3 { font-size: 11px; margin: 0; }
  .home-services p { display: none; }
  .page-heading > .eyebrow, .page-heading > p { display: none; }
  .page-heading h1 { font-size: 25px; margin: 0; }
  .page-heading h1 br { display: none; }
  .page-heading h1 > span::before { content: ' '; }
  #services { grid-template-rows: auto minmax(0, 1fr); gap: 12px; }
  #services .page-heading, #process .page-heading { display: block; }
  .service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: minmax(0, 1fr); gap: 10px; }
  .service-card { padding: 15px; border-radius: 18px; }
  .service-card h2 { font-size: 16px; margin-top: 10px; }
  .service-card > p { display: none; }
  .service-link { display: none; }
  .service-details { width: 100%; min-height: 34px; font-size: 10px; }
  .service-number { top: 17px; right: 17px; }
  .page-end, .principles { display: none; }
  #process { grid-template-rows: auto minmax(0, 1fr); grid-template-columns: 190px minmax(0, 1fr); gap: 10px 20px; }
  #process .page-heading { grid-column: 1 / -1; }
  .stage-picker { grid-template-columns: 1fr 1fr; align-self: center; border-radius: 23px; padding: 5px; }
  .stage-picker button { min-height: 43px; padding: 8px 5px; font-size: 9px; }
  .stage-picker button span { font-size: 10px; }
  .process-sheet { grid-template-columns: minmax(0, 1fr); padding: 18px 23px; }
  .process-illustration, .process-copy > .eyebrow { display: none; }
  .process-copy h2 { font-size: 24px; margin: 0; }
  .process-copy > p { font-size: 11px; margin-top: 11px; }
  .process-deliverable { font-size: 10px; padding-top: 10px; margin-top: 12px; }
  .contact-grid { grid-template-columns: .8fr 1.2fr; grid-template-rows: minmax(0, 1fr); gap: 28px; }
  .contact-copy > .eyebrow, .contact-copy > p, .contact-location, .contact-expectation { display: none; }
  .desktop-contact-title { display: none; }
  .compact-contact-title { display: inline; }
  .contact-copy h1 { font-size: 37px; margin: 0; }
  .contact-email { font-size: 13px; margin-top: 14px; }
  .project-form { padding: 15px 20px; }
  .form-progress { display: none; }
  .project-form h2 { font-size: 20px; margin: 0; }
  .project-form > p:not(.form-status) { display: none; }
  #form-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 12px; margin-top: 11px; }
  #form-about label { margin: 0; font-size: 9px; }
  #form-about label:last-of-type { grid-column: 1 / -1; }
  .project-form input, .project-form select { min-height: 33px; padding: 7px 9px; margin-top: 4px; font-size: 12px; }
  .form-actions { margin-top: 12px; }
  .form-actions .primary-action { min-height: 33px; padding-block: 8px; font-size: 10px; }
  .form-note { display: none; }
  #form-project { margin-top: 10px; }
  .project-context { display: none; }
  .project-form textarea { height: 84px; min-height: 60px; font-size: 12px; margin-top: 5px; }
  .service-dialog { width: min(550px, calc(100% - 45px)); padding: 19px 25px; }
  .dialog-top { margin-bottom: 5px; }
  .dialog-icon { display: none; }
  .service-dialog h2 { margin-top: 4px; font-size: 22px; }
  .dialog-description { margin-top: 9px; font-size: 11px; }
  .dialog-examples { margin: 11px 0 15px; font-size: 11px; }
  .dialog-action { min-height: 35px; padding-block: 9px; font-size: 11px; }
}
@media (max-height: 700px) and (max-width: 520px) {
  .process-sheet { padding: 19px; }
  .process-copy > p { margin-top: 11px; }
  .project-form { padding: 16px 20px; }
  .project-form > p:not(.form-status) { display: none; }
  .project-form h2 { margin-top: 10px; margin-bottom: 15px; }
  .project-context { margin-bottom: 10px; }
}
@media (max-height: 700px) and (max-width: 520px) {
  #process .page-heading > .eyebrow { display: none; }
  #process .page-heading h1 { font-size: 26px; margin-top: 0; }
  .stage-picker button { min-height: 38px; padding-block: 8px; }
  .process-sheet { padding: 18px; }
}
@media (max-height: 700px) and (max-width: 360px) {
  .project-form { padding-block: 14px; }
  .form-progress { display: none; }
  .project-form h2 { margin-top: 0; margin-bottom: 10px; }
  .project-form label { margin-top: 7px; }
  .form-actions { margin-top: 12px; }
}
