.as-page .sp-hero-photo {
    height: clamp(330px, 33vw, 460px);
    border-radius: 16px;
}
.as-page .as-subtitle {
    max-width: 32ch;
    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 650;
    line-height: 1.15;
    letter-spacing: -.02em;
}
.as-page .sp-lead { font-size: 17px; }
.as-page .as-steps, .as-page .as-fees {
    display: grid;
    gap: 14px;
}
.as-page .as-steps {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    counter-reset: step;
    list-style: none;
    padding: 0;
    margin: 0;
}
.as-page .as-steps li, .as-page .as-fees article, .as-page .as-enquiry .sp-contact {
    border-radius: 14px;
    background: #f6f6f3;
    padding: clamp(18px, 1.8vw, 30px);
}
.as-page .as-steps li { counter-increment: step; }
.as-page .as-steps li::before {
    content: counter(step, decimal-leading-zero);
    display: block;
    color: #926b08;
    font-size: 28px;
    font-weight: 650;
    line-height: 1.1;
    margin-bottom: 12px;
}
.as-page .as-steps i, .as-page .as-fees i {
    font-size: 27px;
    color: var(--sp-gold);
}
.as-page .as-steps h3, .as-page .as-fees h3 {
    font-size: 21px;
    margin: 12px 0;
    overflow-wrap: break-word;
}
.as-page .as-steps p, .as-page .as-fees p, .as-page .as-note {
    color: #4a504e;
    font-size: 15px;
    line-height: 1.5;
}
.as-page .as-fees { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.as-page .as-fees article { display: flex; gap: 20px; }
.as-page .as-fees h3 { margin: 0; }
.as-page .as-fees strong {
    display: block;
    color: #876608;
    font-size: clamp(32px, 3.3vw, 46px);
    line-height: 1.2;
    margin: 8px 0;
}
.as-page .as-note { display: flex; gap: 10px; align-items: baseline; margin-top: 16px; }
.as-page .as-note i { color: #876608; }
.as-page .as-enquiry {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 18px;
    margin: 48px 0 64px;
    padding: 0;
    scroll-margin-top: 20px;
}
.as-page .as-enquiry > img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    border-radius: 14px;
}
.as-page .as-enquiry h2 { font-size: clamp(28px, 3vw, 38px); }
.as-page .sp-contact form { padding: 0; border: 0; }
@media (min-width: 768px) and (max-width: 1100px) {
    .as-page .as-steps { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .as-page .sp-hero-photo { height: auto; aspect-ratio: 16 / 10; }
    .as-page .as-steps, .as-page .as-fees, .as-page .as-enquiry { grid-template-columns: 1fr; }
    .as-page .as-steps li { display: grid; grid-template-columns: 34px 1fr; column-gap: 14px; align-content: start; }
    .as-page .as-steps li::before { grid-column: 1; grid-row: 1; font-size: 24px; }
    .as-page .as-steps li i { grid-column: 1; grid-row: 2; font-size: 22px; }
    .as-page .as-steps li h3 { grid-column: 2; grid-row: 1; margin: 0 0 8px; }
    .as-page .as-steps li p { grid-column: 2; grid-row: 2; }
    .as-page .as-enquiry { gap: 12px; margin: 32px 0 40px; }
    .as-page .as-enquiry > img { height: 145px; }
}

