/* Only /approach/. Shared pages, controls and form behaviour are unchanged. */
.approach-page .ap-hero { padding: 52px 0 62px; background: linear-gradient(120deg,#f5fbff,#eaf7fd); }
.approach-page .ap-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:center; gap:48px; }
.approach-page h1 { max-width:760px; font-size:clamp(2.15rem,3.65vw,3.45rem); line-height:1.08; letter-spacing:-.045em; margin:0 0 24px; }
.approach-page h2 { font-size:clamp(1.8rem,2.7vw,2.65rem); line-height:1.12; letter-spacing:-.035em; }
.approach-page h3 { font-size:1.2rem; line-height:1.3; letter-spacing:-.02em; }
.approach-page .hero-lead { max-width:650px; font-size:1.1rem; line-height:1.65; margin-bottom:26px; }
.approach-page .hero-actions { gap:20px; flex-wrap:wrap; }
.approach-page .hero-actions .button { min-width:0; white-space:normal; text-align:center; }
.approach-page .ap-hero-note { color:#4d6879; font-size:.9rem; margin:20px 0 0; }
.approach-page .ap-start { padding:28px; border:1px solid #cfe3ed; border-radius:24px; background:rgba(255,255,255,.94); box-shadow:0 18px 50px #26667c0d; }
.approach-page .ap-start-heading { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.approach-page .ap-start-heading>div { min-width:0; }
.approach-page .ap-start h2 { font-size:1.6rem; margin:0; }
.approach-page .ap-start img { width:105px; height:105px; flex:none; object-fit:contain; }
.approach-page .ap-start ol { list-style:none; padding:0; margin:0; display:grid; }
.approach-page .ap-start li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:14px; padding:17px 0; border-top:1px solid #e2edf2; }
.approach-page .ap-start li>span { color:#25739b; font-size:.8rem; font-weight:750; padding-top:2px; }
.approach-page .ap-start strong { font-size:1rem; }
.approach-page .ap-start li p { font-size:.92rem; line-height:1.55; color:#4d6574; margin:6px 0 0; }
.approach-page .section { padding-top:72px; padding-bottom:72px; }
.approach-page .section-head { align-items:end; margin-bottom:32px; }
.approach-page .section-head h2 { max-width:820px; }
.approach-page .section-head>p { max-width:370px; }
.approach-page .ap-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.approach-page .ap-benefit { min-width:0; padding-right:20px; }
.approach-page .ap-benefit+.ap-benefit { border-left:1px solid #d6e6ef; padding-left:32px; }
.approach-page .ap-icon { display:inline-flex; align-items:center; justify-content:center; flex:none; width:46px; height:46px; color:#14729d; border-radius:14px; background:#e9f6fc; }
.approach-page .ap-benefit h3 { margin:20px 0 12px; }
.approach-page .ap-benefit p { color:#4d6574; font-size:1rem; line-height:1.65; margin:0; }
.approach-page .ap-example { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); border:1px solid #cce1ed; border-radius:24px; overflow:hidden; background:white; }
.approach-page .ap-example>div { padding:32px; min-width:0; }
.approach-page .ap-example-after { background:#e8f5fd; border-left:1px solid #cce1ed; }
.approach-page .ap-label { font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:#266887; font-weight:750; margin:0 0 14px; }
.approach-page .ap-example h3 { margin:0 0 22px; font-size:1.45rem; }
.approach-page .ap-example ul { margin:0; padding-left:20px; display:grid; gap:14px; color:#4b6171; }
.approach-page .ap-example ol { margin:0; padding:0; list-style:none; display:grid; gap:14px; }
.approach-page .ap-example ol li { display:grid; grid-template-columns:29px minmax(0,1fr); gap:12px; }
.approach-page .ap-example ol span { color:#237396; font-size:.78rem; font-weight:750; padding-top:3px; }
.approach-page .ap-example-result { display:flex; align-items:center; gap:18px; padding:24px 4px 0; }
.approach-page .ap-example-result p { margin:0; line-height:1.65; }
.approach-page .ap-demo-note { color:#526b7b; font-size:.82rem; margin:18px 0 0; max-width:850px; }
.approach-page .ap-stages { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.approach-page .ap-stage { display:flex; flex-direction:column; padding:30px; border:1px solid #d5e4ed; border-radius:22px; min-width:0; }
.approach-page .ap-number { color:#1a739c; background:#edf8fd; border-radius:10px; width:42px; height:36px; display:flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:750; }
.approach-page .ap-stage h3 { font-size:1.35rem; margin:20px 0 12px; }
.approach-page .ap-stage>p { color:#4d6574; line-height:1.65; margin:0 0 24px; }
.approach-page .ap-deliverable { border-top:1px solid #dce8ee; padding-top:18px; margin-top:auto; }
.approach-page .ap-deliverable>span { color:#196a8a; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; font-weight:750; }
.approach-page .ap-deliverable p { font-size:.97rem; line-height:1.6; margin:7px 0 0; }
.approach-page .ap-materials { margin-top:30px; border:1px solid #d5e4ed; border-radius:18px; }
.approach-page .ap-materials>summary { padding:20px 24px; font-weight:650; color:#1c5f85; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:18px; list-style:none; min-height:60px; touch-action:manipulation; }
.approach-page .ap-materials>summary::-webkit-details-marker { display:none; }
.approach-page .ap-materials>summary>span { flex:none; font-size:1.4rem; }
.approach-page .ap-materials[open]>summary>span { transform:rotate(45deg); }
.approach-page .ap-materials-body { border-top:1px solid #d5e4ed; padding:24px; }
.approach-page .ap-materials-body>.section { padding:0; background:none; }
.approach-page .ap-materials-body .container { width:100%; padding:0; }
.approach-page .ap-materials-body .section-head { display:block; margin-bottom:24px; }
.approach-page .ap-materials-body .section-head h2 { font-size:1.5rem; }
.approach-page .ap-materials-body .section-head>p { max-width:700px; }
.approach-page .ap-materials-body .approach-artifact { padding:18px; }
.approach-page .ap-materials-body .approach-artifact h3 { font-size:1.15rem; }
.approach-page .ap-measure-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.approach-page .ap-measure-grid h2 { margin:0 0 24px; }
.approach-page .ap-measure-grid p { color:#455e70; line-height:1.7; }
.approach-page .ap-measure-note { border-left:3px solid #8ac5e3; padding-left:20px; margin-top:24px; font-size:.95rem; }
.approach-page .ap-metrics { margin:0; }
.approach-page .ap-metrics>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:24px; padding:22px 0; border-top:1px solid #cce0ec; }
.approach-page .ap-metrics dt { font-weight:750; color:#1b5779; }
.approach-page .ap-metrics dd { margin:0; color:#455e70; line-height:1.6; }
.approach-page .contact-grid>div>p { max-width:540px; }
.approach-page .ap-prepare { margin-top:30px; }
.approach-page .ap-prepare h3 { margin-bottom:14px; }
.approach-page .ap-prepare ul { display:grid; gap:10px; padding-left:20px; color:#455e70; }
.approach-page :is(.ap-start,.ap-example,.ap-stage,.ap-metrics,.ap-materials) { overflow-wrap:anywhere; }
@media(max-width:1024px) {
 .approach-page .ap-hero-grid { gap:28px; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
 .approach-page .ap-start { padding:22px; }
 .approach-page .ap-start img { width:75px; height:75px; }
 .approach-page .ap-start h2 { font-size:1.4rem; }
 .approach-page .ap-three { gap:22px; }
 .approach-page .ap-benefit+.ap-benefit { padding-left:22px; }
 .approach-page .ap-measure-grid { gap:32px; }
}
@media(max-width:768px) {
 .approach-page .ap-hero { padding:32px 0 44px; }
 .approach-page .ap-hero-grid { grid-template-columns:1fr; gap:32px; }
 .approach-page h1 { font-size:clamp(2.05rem,5.7vw,2.9rem); line-height:1.12; letter-spacing:-.035em; }
 .approach-page .hero-actions { gap:18px; }
 .approach-page .hero-actions .button { width:100%; }
 .approach-page .hero-actions .text-link { justify-content:center; width:100%; }
 .approach-page .hero-lead { font-size:1.05rem; line-height:1.65; }
 .approach-page .ap-start-heading { justify-content:space-between; }
 .approach-page .ap-start img { width:100px; height:100px; }
 .approach-page .ap-start h2 { font-size:1.6rem; }
 .approach-page .section { padding-top:48px; padding-bottom:48px; }
 .approach-page .section-head { gap:18px; margin-bottom:26px; }
 .approach-page .section-head>p { max-width:none; }
 .approach-page .ap-three,.approach-page .ap-stages,.approach-page .ap-example,.approach-page .ap-measure-grid { grid-template-columns:1fr; }
 .approach-page .ap-benefit,.approach-page .ap-benefit+.ap-benefit { padding:0 0 24px; border-left:0; }
 .approach-page .ap-benefit+.ap-benefit { border-top:1px solid #d6e6ef; padding-top:24px; }
 .approach-page .ap-benefit:last-child { padding-bottom:0; }
 .approach-page .ap-three { gap:0; }
 .approach-page .ap-benefit h3 { margin-top:14px; }
 .approach-page .ap-example>div,.approach-page .ap-stage { padding:24px; }
 .approach-page .ap-example-after { border-left:0; border-top:1px solid #cce1ed; }
 .approach-page .ap-example-result { align-items:start; gap:12px; }
 .approach-page .ap-example-result .ap-icon { width:34px; height:34px; border-radius:10px; }
 .approach-page .ap-materials>summary { padding:18px; font-size:.95rem; }
 .approach-page .ap-materials-body { padding:18px; }
 .approach-page .ap-materials-body>.section { padding:0; }
 .approach-page .ap-metrics>div { grid-template-columns:80px minmax(0,1fr); gap:16px; }
 .approach-page .ap-measure-grid { gap:24px; }
}
