.detail-hero { background: var(--navy-deep); color: white; column-gap: clamp(28px, 4vw, 70px); display: grid; grid-template-columns: minmax(300px, .9fr) 1.1fr; min-height: 560px; overflow: hidden; padding: clamp(55px, 8vw, 115px) clamp(22px, 7vw, 124px); position: relative; }
.detail-hero::before { background-image: linear-gradient(rgba(157,195,218,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(157,195,218,.08) 1px, transparent 1px); background-size: 44px 44px; content: ""; inset: 0; position: absolute; }
.detail-copy, .detail-hero img, .detail-number { position: relative; z-index: 1; }.detail-copy { align-self: center; max-width: 520px; }.detail-copy h1 { font-family: "Barlow Condensed", sans-serif; font-size: clamp(54px, 6vw, 90px); font-weight: 600; line-height: .88; }.detail-copy > p:not(.eyebrow) { color: #c5d2dc; font-size: 16px; line-height: 1.55; margin: 27px 0 31px; max-width: 420px; }.detail-hero img { align-self: center; box-shadow: -24px 24px 0 rgba(32,193,179,.72); justify-self: end; max-height: 385px; object-fit: cover; width: min(100%, 620px); }.detail-hero-national img { background: #d8e2e0; object-fit: contain; padding: 25px; }.detail-number { bottom: 20px; color: var(--aqua); font-family: "Barlow Condensed", sans-serif; font-size: 18px; font-weight: 700; position: absolute; right: clamp(22px, 7vw, 124px); }
.detail-content { padding: clamp(75px, 9vw, 130px) clamp(22px, 7vw, 124px); }.intro { display: grid; gap: 32px; grid-template-columns: 1fr 2fr; margin-bottom: 58px; }.intro .eyebrow { margin-top: 8px; }.intro h2, .detail-method h2 { font-family: "Barlow Condensed", sans-serif; font-size: clamp(43px, 4.5vw, 68px); font-weight: 600; line-height: .92; max-width: 650px; }.capability-grid { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); }.capability-grid article { border-right: 1px solid var(--line); min-height: 230px; padding: 25px 23px; }.capability-grid article:first-child { border-left: 1px solid var(--line); }.capability-grid span { color: var(--aqua); font-size: 11px; font-weight: 700; }.capability-grid h3 { font-family: "Barlow Condensed", sans-serif; font-size: 28px; font-weight: 600; line-height: 1; margin: 44px 0 12px; }.capability-grid p { color: #53697c; font-size: 13px; line-height: 1.5; margin: 0; }.detail-method { background: #dce8e5; padding: clamp(72px, 9vw, 130px) clamp(22px, 22vw, 330px); text-align: center; }.detail-method h2 { margin: 0 auto 24px; }.detail-method > p:last-child { color: #466172; font-size: 14px; line-height: 1.5; margin: 0 auto; max-width: 500px; }.detail-contact { align-items: center; background: var(--ink); color: #c5d2dc; display: flex; font-size: 11px; font-weight: 700; justify-content: space-between; letter-spacing: .8px; padding: 30px clamp(22px, 7vw, 124px); }.detail-contact p { margin: 0; }.detail-contact a { border-bottom: 1px solid #a8bdcb; color: white; padding-bottom: 4px; }.detail-contact a span { margin-left: 8px; }
@media (max-width: 800px) { .detail-hero { display: block; min-height: auto; }.detail-copy { padding-bottom: 50px; }.detail-hero img { display: block; max-height: 260px; width: calc(100% - 20px); }.detail-number { bottom: 15px; }.intro { display: block; }.intro h2 { margin-top: 22px; }.capability-grid { grid-template-columns: repeat(2, 1fr); }.capability-grid article:nth-child(3) { border-left: 1px solid var(--line); }.detail-contact { display: block; }.detail-contact a { display: inline-block; margin-top: 16px; } }
@media (max-width: 400px) { .capability-grid { grid-template-columns: 1fr; }.capability-grid article { border-left: 1px solid var(--line); min-height: 185px; }.detail-copy h1 { font-size: 51px; } }

.ppt-page { display: grid; gap: 0; grid-template-columns: minmax(0, 2fr) minmax(260px, .9fr); margin: 0 auto; max-width: 1440px; min-height: calc(100vh - 74px); padding: clamp(30px, 5vw, 70px) clamp(22px, 7vw, 124px); position: relative; }
.ppt-intro { background: var(--navy-deep); border-bottom: 1px solid rgba(184, 211, 224, .28); color: white; display: grid; gap: 38px; grid-column: 1 / -1; grid-template-columns: 1.12fr .88fr; margin: calc(clamp(30px, 5vw, 70px) * -1) calc(clamp(22px, 7vw, 124px) * -1) 0; padding: clamp(40px, 5vw, 68px) clamp(22px, 7vw, 124px) 30px; position: relative; }.ppt-intro::before { background-image: linear-gradient(rgba(157,195,218,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(157,195,218,.08) 1px, transparent 1px); background-size: 44px 44px; content: ""; inset: 0; position: absolute; }.ppt-intro > div, .ppt-intro img { position: relative; z-index: 1; }.ppt-intro h1 { font-family: "Barlow Condensed", sans-serif; font-size: clamp(44px, 4.6vw, 70px); font-weight: 600; line-height: .9; margin: 0; max-width: 610px; }.ppt-intro > div > p:not(.eyebrow) { color: #c5d2dc; font-size: 14px; line-height: 1.45; margin: 16px 0 0; max-width: 550px; }.ppt-intro img { align-self: center; box-shadow: -13px 13px 0 rgba(32,193,179,.7); height: 155px; object-fit: cover; width: 100%; }.ppt-service { border-bottom: 1px solid var(--line); padding: 28px 42px 28px 0; }.ppt-service .eyebrow { margin-bottom: 8px; }.ppt-service h2 { font-family: "Barlow Condensed", sans-serif; font-size: clamp(29px, 2.9vw, 43px); font-weight: 600; line-height: .96; margin: 0; }.ppt-grid { display: grid; grid-template-columns: 1fr 1fr; }.ppt-grid article { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); min-height: 125px; padding: 21px 36px 20px 0; }.ppt-grid article:nth-child(even) { border-right: 0; padding-left: 25px; }.ppt-grid h3 { font-family: "Barlow Condensed", sans-serif; font-size: clamp(21px, 2vw, 28px); font-weight: 600; line-height: 1; margin: 0 0 7px; }.ppt-grid p { color: #5b6f80; font-size: 12px; line-height: 1.35; margin: 0; }.ppt-aside { border-left: 1px solid var(--line); display: flex; flex-direction: column; grid-column: 2; grid-row: 2 / span 2; justify-content: space-between; margin: 0 0 0 36px; padding: 28px 0 20px 34px; }.ppt-aside .button { align-self: stretch; justify-content: space-between; }.ppt-aside h2 { font-family: "Barlow Condensed", sans-serif; font-size: clamp(25px, 2.4vw, 37px); font-weight: 600; line-height: .96; margin: 0; }.ppt-aside .eyebrow { margin-bottom: 11px; }.return-link { border-bottom: 1px solid var(--ink); font-size: 12px; font-weight: 700; padding-bottom: 5px; width: fit-content; }.return-link span { margin-left: 7px; }
.service-description { display: grid; gap: 17px; }.service-description section { border-top: 1px solid var(--line); padding-top: 11px; }.service-description h3 { font-size: 11px; font-weight: 700; letter-spacing: .65px; line-height: 1.2; margin: 0 0 6px; text-transform: uppercase; }.service-description p { color: #516779; font-size: 11px; line-height: 1.4; margin: 0; }
.detail-trigger { background: transparent; border: 0; border-bottom: 1px solid var(--ink); color: var(--ink); cursor: pointer; font: inherit; font-size: 11px; font-weight: 700; margin-top: 12px; padding: 0 0 4px; }.detail-trigger span { margin-left: 6px; }.detail-dialog { background: var(--paper); border: 0; box-shadow: 0 22px 70px rgba(3,20,38,.35); color: var(--ink); max-width: 680px; padding: clamp(28px, 5vw, 58px); width: min(92vw, 680px); }.detail-dialog::backdrop { background: rgba(3,20,38,.76); }.dialog-header { align-items: flex-start; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin-bottom: 31px; }.dialog-close { background: var(--ink); border: 0; color: white; cursor: pointer; font-size: 25px; height: 34px; line-height: 30px; width: 34px; }.detail-dialog h2 { font-family: "Barlow Condensed", sans-serif; font-size: clamp(42px, 5vw, 61px); font-weight: 600; line-height: .9; margin: 0 0 29px; }.detail-dialog ul { display: grid; gap: 19px; list-style: none; margin: 0; padding: 0; }.detail-dialog li { border-left: 3px solid var(--aqua); color: #40586c; font-size: 15px; line-height: 1.5; padding-left: 17px; }.detail-dialog .dialog-emphasis { border-left-color: var(--lime); color: var(--ink); font-weight: 700; }
@media (max-width: 800px) { .ppt-page { display: block; padding: 38px 22px; }.ppt-intro { display: block; margin: -38px -22px 0; padding: 40px 22px 30px; }.ppt-intro img { display: block; height: 180px; margin-top: 30px; }.ppt-service { padding-right: 0; }.ppt-grid { margin: 0; }.ppt-grid article { min-height: 160px; padding: 20px 14px 20px 0; }.ppt-grid article:nth-child(even) { padding-left: 16px; }.ppt-aside { border-left: 0; border-top: 1px solid var(--line); gap: 42px; margin: 0; padding: 34px 0 0; }.ppt-aside .button { align-self: flex-start; } }

.macro-page { background: var(--paper); }.macro-hero { background: var(--navy-deep); color: white; padding: clamp(30px, 3.4vw, 48px) clamp(22px, 11vw, 190px); position: relative; }.macro-hero::before { background-image: linear-gradient(rgba(157,195,218,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(157,195,218,.08) 1px, transparent 1px); background-size: 44px 44px; content: ""; inset: 0; position: absolute; }.macro-hero > * { position: relative; }.macro-hero h1, .macro-intro h2, .macro-case h2, .macro-method h2 { font-family: "Barlow Condensed", sans-serif; font-weight: 600; letter-spacing: 0; }.macro-hero h1 { font-size: clamp(42px, 5.1vw, 72px); line-height: .88; margin: 0; }.macro-hero > p:last-child { color: #c5d2dc; font-size: 14px; line-height: 1.45; margin: 15px 0 0; max-width: 510px; }.macro-intro { align-items: start; display: grid; gap: 28px; grid-template-columns: .75fr 1.5fr; padding: clamp(24px, 2.5vw, 36px) clamp(22px, 11vw, 190px) 18px; }.macro-intro .eyebrow { margin-top: 7px; }.macro-intro h2 { font-size: clamp(28px, 2.8vw, 42px); line-height: .92; margin: 0; max-width: 670px; }.macro-columns { display: grid; grid-template-columns: 1fr 1fr; padding: 0 clamp(22px, 11vw, 190px) clamp(76px, 9vw, 130px); }.macro-case { border-top: 1px solid var(--line); padding: 14px 0 0; }.macro-case + .macro-case { border-left: 1px solid var(--line); padding-left: clamp(22px, 4vw, 62px); }.macro-case:first-child { padding-right: clamp(22px, 4vw, 62px); }.macro-case img { height: 112px; object-fit: cover; width: 100%; }.macro-case-heading { border-bottom: 1px solid var(--line); padding: 17px 0; }.macro-case-heading span { color: var(--aqua); font-size: 10px; font-weight: 700; letter-spacing: .85px; }.macro-case h2 { font-size: clamp(30px, 3vw, 44px); line-height: .92; margin: 8px 0; }.macro-case-heading p { color: #50677a; font-size: 13px; line-height: 1.45; margin: 0; }.macro-items { display: grid; }.macro-items section { border-bottom: 1px solid var(--line); padding: 19px 0; }.macro-items h3 { font-family: "Barlow Condensed", sans-serif; font-size: 24px; font-weight: 600; line-height: 1; margin: 0 0 7px; }.macro-items p { color: #526a7d; font-size: 12px; line-height: 1.45; margin: 0; }.macro-method { background: #dce8e5; padding: clamp(65px, 8vw, 115px) 22px; text-align: center; }.macro-method h2 { font-size: clamp(44px, 5vw, 72px); line-height: .92; margin: 0 auto 31px; max-width: 760px; }
@media (max-width: 800px) { .macro-intro { display: block; }.macro-intro h2 { margin-top: 20px; }.macro-columns { display: block; }.macro-case + .macro-case { border-left: 0; margin-top: 52px; padding-left: 0; }.macro-case:first-child { padding-right: 0; }.macro-case img { height: 175px; } }

@media (min-width: 801px) and (max-height: 700px) { .macro-hero { padding-bottom: 22px; padding-top: 22px; }.macro-hero .eyebrow, .macro-hero > p:last-child, .macro-intro .eyebrow { display: none; }.macro-hero h1 { font-size: 50px; }.macro-intro { gap: 20px; padding-bottom: 10px; padding-top: 16px; }.macro-intro h2 { font-size: 32px; }.macro-case { padding-top: 8px; }.macro-case img { height: 58px; }.macro-case-heading { padding: 8px 0; }.macro-case h2 { font-size: 32px; margin: 4px 0; } }