.darm-hero { padding: 68px 0 118px; background: linear-gradient(130deg, #fff 0 54%, #def2ed 54%); }
.breadcrumb { display: inline-block; margin-bottom: 64px; color: var(--ag-blue); font-size: .82rem; font-weight: 700; }
.darm-hero h1 { margin: 0; font-family: var(--font-heading, 'Lora', Georgia, serif); font-size: clamp(4rem, 9vw, 8.4rem); line-height: .82; letter-spacing: -.08em; }
.darm-hero p:not(.ag-kicker) { max-width: 570px; margin: 25px 0 0; font-size: 1.13rem; }
.darm-promise { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; padding: 105px 0; }
.darm-promise h2, .route-detail h2, .route-summary h2 { margin: 0; font-family: var(--font-heading, 'Lora', Georgia, serif); font-size: clamp(2.4rem, 4vw, 4rem); line-height: .96; letter-spacing: -.055em; }
.darm-promise ul { margin: 0; padding: 0; list-style: none; }
.darm-promise li { padding: 13px 0; border-bottom: 1px solid #d9d5ca; font-weight: 600; }
.darm-promise li::before { content: '✦'; margin-right: 12px; color: var(--ag-blue); }
.darm-routes { padding: 100px 0; background: var(--ag-blue); color: #fff; }
.darm-routes .ag-kicker { color: var(--ag-yellow); }
.route-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.route-card { min-height: 220px; display: flex; flex-direction: column; justify-content: space-between; padding: 18px; background: #fff; color: var(--ag-ink); border-bottom: 7px solid var(--ag-yellow); transition: transform .2s; }
.route-card:hover { color: var(--ag-ink); transform: translateY(-5px); }
.route-card img { width: 100%; height: 112px; object-fit: contain; }
.route-card span { color: var(--ag-blue); font-size: .77rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.route-detail { display: grid; grid-template-columns: .65fr 1.35fr; gap: 9vw; padding: 115px 0 90px; }
.route-detail > img { width: 100%; max-width: 420px; align-self: start; position: sticky; top: 25px; }
.route-detail h2 { margin-bottom: 18px; }
.plans { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-top: 35px; }
.plans article { display: flex; flex-direction: column; padding: 24px; background: #edf3eb; border-top: 7px solid var(--ag-mint); }
.plans .plan-complete { background: #fff3b6; border-color: var(--ag-yellow); }
.plans span { color: var(--ag-blue); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.plans strong { display: block; margin: 8px 0 16px; font-family: var(--font-heading, 'Lora', Georgia, serif); font-size: 1.7rem; }
.plans s { color: #687081; font-size: .9rem; font-weight: 400; }
.plans ol { padding-left: 19px; color: #414b5b; font-size: .83rem; }
.plans li + li { margin-top: 6px; }
.plans a { margin-top: auto; padding-top: 20px; color: var(--ag-blue); font-size: .83rem; font-weight: 700; }
.route-summary { display: grid; grid-template-columns: .45fr .55fr; gap: 7vw; padding: 45px 0; border-top: 1px solid #d9d5ca; }
.route-summary p { margin: 0; }
@media (max-width: 820px) { .darm-promise, .route-detail, .route-summary { grid-template-columns: 1fr; } .route-grid { grid-template-columns: repeat(2, 1fr); } .route-detail > img { position: static; } }
@media (max-width: 520px) { .route-grid, .plans { grid-template-columns: 1fr; } .darm-hero { padding-bottom: 80px; } }
