.service-page { color: #1c2c46; --service-air: #fbfdff; }
.service-postory { --service-color: #446bb7; --service-glow: rgb(202 225 255 / 31%); }
.service-tatemiru { --service-color: #3e7dc4; --service-glow: rgb(207 234 255 / 32%); }
.service-venture-box { --service-color: #7465bd; --service-glow: rgb(224 217 251 / 30%); }
.service-page main { overflow: clip; }
.service-page .service-hero { position: relative; min-height: 620px; display: grid; align-items: center; background: #fff; }
.service-page .service-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 79% 42%,var(--service-glow),transparent 37%); }
.service-hero-layout { position: relative; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(30px,6vw,90px); padding-block: 65px; }
.service-kicker { color: var(--service-color,#496ec0); }
.service-hero h1,.service-section h2 { margin-top: 22px; font-family: var(--luqra-voice); font-weight: 500; letter-spacing: .045em; }
.service-hero h1 { font-size: clamp(2.75rem,4.15vw,4.65rem); line-height: 1.43; }
.service-hero h1 em { color: var(--service-color,#496ec0); font-style: normal; }
.service-hero-copy > p:not(.eyebrow) { max-width: 32em; margin-top: 24px; color: #586d8b; font-size: 1.05rem; line-height: 2; }
.service-points { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 27px 0 0; list-style: none; }
.service-points li { padding: 2px 13px 2px 11px; border-left: 1px solid #a7bfdc; color: #4f6586; font-size: .8rem; font-weight: 550; }
.service-hero .hero-actions { margin-top: 28px; }
.service-visual { position: relative; min-height: 420px; display: grid; place-items: center; }
.service-visual img { width: min(100%,590px); max-height: 500px; object-fit: contain; border-radius: 0; filter: drop-shadow(0 20px 30px rgb(65 91 141 / 9%)); }
.service-postory .service-visual img { filter: none; -webkit-mask-image: none; mask-image: none; }
.service-tatemiru .service-visual img { object-fit: contain; border-radius: 0; filter: none; box-shadow: none; }
.service-visual .service-mark { width: min(78%,390px); height: auto; object-fit: contain; filter: drop-shadow(0 20px 30px rgb(71 81 118 / 14%)); }
.service-postory .service-visual img,.service-venture-box .service-mark { animation: service-glass-float 11s ease-in-out infinite alternate; }
.service-orbit { display: none; }
.service-hero-line { position: relative; display: flex; justify-content: space-between; gap: 20px; padding: 17px 0 26px; border-top: 1px solid #d5e0ee; color: #7185a3; font-size: .72rem; letter-spacing: .11em; }
.service-section { padding: clamp(72px,10vw,128px) 0; }
.service-section h2 { font-size: clamp(2.15rem,3.7vw,4rem); line-height: 1.45; }
.service-intro { display: grid; grid-template-columns: .84fr 1.16fr; align-items: end; gap: 70px; }
.service-intro > p { color: #5c6f89; line-height: 2; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(24px,5vw,70px); margin-top: 68px; }
.service-card { min-width: 0; padding: 25px 8px 18px 0; border-top: 1px solid #aebfd6; background: transparent; }
.service-card > span { color: var(--service-color,#496ec0); font-size: .75rem; letter-spacing: .1em; }
.service-card h3 { margin-top: 18px; font-size: 1.3rem; font-weight: 650; }
.service-card p { margin-top: 13px; color: #5d7190; font-size: .94rem; line-height: 1.85; }
.service-feature { background: #f8fbff; border-block: 1px solid #e3eaf4; }
.service-feature-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,8vw,130px); align-items: center; }
.service-feature-media { position: relative; }
.service-feature-media img { width: 100%; aspect-ratio: 3 / 2; object-fit: contain; border-radius: 0; box-shadow: none; }
.service-feature-copy > p:not(.eyebrow) { margin-top: 24px; color: #5b6f8d; line-height: 2; }
.service-feature-list { padding: 0; margin: 28px 0 0; list-style: none; border-top: 1px solid #bfcee2; }
.service-feature-list li { padding: 13px 0; border-bottom: 1px solid #bfcee2; color: #48638c; font-size: .92rem; }
.service-cta { background: #fff; text-align: center; }
.service-cta h2 { margin-inline: auto; }
.service-cta p { margin: 20px auto 0; color: #5d708c; }
.service-cta .button { margin-top: 30px; }
@keyframes service-glass-float { from { transform: translateY(0); } to { transform: translateY(-5px); } }
@media (prefers-reduced-motion: reduce) { .service-postory .service-visual img,.service-venture-box .service-mark { animation: none; } }
@media (max-width: 900px) { .service-hero-layout,.service-feature-layout { grid-template-columns: 1fr; } .service-hero-layout { gap: 8px; } .service-visual { min-height: 300px; order: -1; } .service-visual img { max-height: 350px; } .service-intro { grid-template-columns: 1fr; gap: 22px; } .service-grid { grid-template-columns: 1fr; gap: 15px; } }
@media (max-width: 520px) { .service-page .service-hero { min-height: 0; } .service-hero-layout { padding-block: 38px 30px; } .service-hero h1 { font-size: clamp(2.15rem,9vw,3rem); } .service-visual { min-height: 240px; } .service-visual img { max-height: 280px; } .service-section { padding-block: 68px; } .service-hero-line { font-size: .6rem; } .service-hero-line span:last-child { display: none; } }
