.inner-page { background: #050708; }
.inner-page .site-header { color: var(--white); }
.inner-main { min-height: 100vh; }
.inner-hero { position: relative; min-height: 72vh; display: flex; align-items: end; padding: 160px max(6vw, 28px) 80px; overflow: hidden; isolation: isolate; }
.inner-hero-media, .inner-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.inner-hero-media { z-index: -2; object-fit: cover; }
.inner-hero-shade { z-index: -1; background: linear-gradient(90deg, rgba(2,7,9,.95), rgba(2,7,9,.52) 50%, rgba(2,7,9,.24)), linear-gradient(0deg, rgba(2,7,9,.82), transparent 55%); }
.inner-hero-copy { width: min(850px, 88vw); }
.inner-hero h1 { margin: 0; font: 400 clamp(68px, 9vw, 132px)/.86 Outfit, sans-serif; letter-spacing: -.07em; }
.inner-hero h1 em { color: var(--cyan); font-style: normal; font-weight: 600; }
.inner-hero-copy > p:not(.section-kicker) { max-width: 620px; margin: 28px 0 0; color: rgba(255,255,255,.7); font-size: 18px; line-height: 1.65; }
.inner-section { width: var(--shell); margin-inline: auto; padding: 130px 0; }
.inner-section + .inner-section { border-top: 1px solid var(--line); }
.inner-section h2 { font-size: clamp(52px, 6.5vw, 94px); }
.inner-section h3 { font-family: Outfit, sans-serif; }
.lead-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 90px; align-items: end; }
.lead-grid p, .prose p, .legal-prose p, .legal-prose li { color: var(--muted); font-size: 17px; line-height: 1.75; }
.lead-grid p { margin: 0; }
.service-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; padding: 90px 0; scroll-margin-top: 100px; }
.service-detail + .service-detail { border-top: 1px solid var(--line); }
.service-detail:nth-child(even) .service-detail-media { order: 2; }
.service-detail-media { position: relative; height: 620px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 30px; background: var(--glass-bg); box-shadow: var(--glass-shadow); }
.service-detail-media img { width: 100%; height: 100%; object-fit: cover; }
.service-detail-copy > span { color: var(--cyan); font-size: 11px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.service-detail-copy h2 { margin: 18px 0 24px; font-size: clamp(46px, 5.5vw, 78px); }
.service-detail-copy p { max-width: 520px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.feature-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 34px; }
.feature-chips span { padding: 10px 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.05); color: rgba(255,255,255,.76); font-size: 11px; }
.package-grid, .value-grid, .contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 55px; }
.package-card, .value-card, .contact-card { position: relative; overflow: hidden; min-height: 240px; padding: 28px; border: 1px solid rgba(255,255,255,.2); border-radius: 24px; background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.025)); -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%); box-shadow: inset 0 1px 0 rgba(255,255,255,.15); }
.package-card::before, .value-card::before, .contact-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 12% 0%, rgba(12,199,225,.17), transparent 42%); pointer-events: none; }
.package-card small, .value-card small { color: var(--cyan); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; }
.package-card h3, .value-card h3, .contact-card h3 { margin: 58px 0 12px; font-size: 26px; font-weight: 500; }
.package-card p, .value-card p, .contact-card p { margin: 0; color: var(--muted); line-height: 1.6; }
.stats-band { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.stats-band div { padding: 50px 30px; text-align: center; }
.stats-band div + div { border-left: 1px solid var(--line); }
.stats-band strong { display: block; color: var(--cyan); font: 600 clamp(48px, 6vw, 82px)/1 Outfit, sans-serif; letter-spacing: -.06em; }
.stats-band span { color: var(--muted); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.story-copy { columns: 2; column-gap: 70px; margin-top: 55px; }
.story-copy p { break-inside: avoid; margin: 0 0 24px; color: var(--muted); font-size: 17px; line-height: 1.75; }
.area-cloud { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 44px; }
.area-cloud span { padding: 13px 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.05); }
.faq-list { display: grid; gap: 10px; max-width: 920px; margin: 60px auto 0; }
.faq-list details { border: 1px solid rgba(255,255,255,.17); border-radius: 20px; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.02)); overflow: hidden; }
.faq-list summary { display: flex; justify-content: space-between; gap: 30px; padding: 24px 26px; cursor: pointer; font: 500 19px Outfit, sans-serif; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; color: var(--cyan); font-size: 24px; font-weight: 300; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 26px 26px; color: var(--muted); line-height: 1.7; }
.inquiry-layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(55px, 8vw, 110px); align-items: start; }
.inquiry-intro { position: sticky; top: 120px; }
.inquiry-intro h2 { margin-bottom: 26px; font-size: clamp(52px, 6vw, 86px); }
.inquiry-intro > p:not(.section-kicker) { max-width: 470px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.contact-lines { display: grid; gap: 10px; margin-top: 34px; }
.contact-line { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 58px; padding: 13px 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 16px; background: rgba(255,255,255,.045); color: rgba(255,255,255,.9); transition: background .2s, box-shadow .2s, transform .2s; }
.contact-line:hover { background: rgba(255,255,255,.085); box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 15px 34px rgba(0,0,0,.16); transform: translateY(-2px); }
.contact-line span { color: var(--muted); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.contact-line strong { font-size: 13px; font-weight: 500; text-align: right; }
.inquiry-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: clamp(24px, 4vw, 42px); border: 1px solid rgba(255,255,255,.23); border-radius: 30px; background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.025)); -webkit-backdrop-filter: blur(24px) saturate(145%); backdrop-filter: blur(24px) saturate(145%); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 30px 80px rgba(0,0,0,.2); }
.form-field { display: grid; gap: 9px; }
.form-field-wide, .form-consent, .form-actions, .form-status { grid-column: 1 / -1; }
.form-field label { color: rgba(255,255,255,.74); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 54px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; outline: 0; background: rgba(3,9,12,.64); color: white; font: 400 15px/1.45 Inter, sans-serif; transition: border-color .2s, background .2s, box-shadow .2s; }
.form-field select { color-scheme: dark; }
.form-field textarea { min-height: 142px; resize: vertical; }
.form-field input::placeholder, .form-field textarea::placeholder { color: rgba(255,255,255,.33); }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: rgba(12,199,225,.75); background: rgba(3,9,12,.86); box-shadow: 0 0 0 3px rgba(12,199,225,.12); }
.form-consent { display: grid; grid-template-columns: 18px 1fr; gap: 10px; align-items: start; margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.form-consent input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--cyan); }
.form-consent a { color: rgba(255,255,255,.88); text-decoration: underline; text-underline-offset: 3px; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 4px; }
.form-actions .button { min-width: 190px; border: 1px solid rgba(255,255,255,.4); cursor: pointer; }
.form-actions .button strong { font: inherit; }
.form-actions .button:disabled { cursor: wait; opacity: .65; transform: none; }
.form-note { margin: 0; color: rgba(255,255,255,.4); font-size: 10px; line-height: 1.5; text-align: right; }
.form-status { display: none; margin: 0; padding: 13px 15px; border-radius: 13px; font-size: 13px; line-height: 1.5; }
.form-status.visible { display: block; }
.form-status.success { border: 1px solid rgba(12,199,225,.35); background: rgba(12,199,225,.1); color: #bff7ff; }
.form-status.error { border: 1px solid rgba(255,133,133,.32); background: rgba(255,90,90,.09); color: #ffd0d0; }
.form-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.download-layout { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 90px; }
.download-phone { position: relative; display: grid; place-items: center; min-height: 680px; }
.download-phone::before { content: ""; position: absolute; left: 50%; width: min(520px, 100vw); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(12,199,225,.28), transparent 65%); transform: translateX(-50%); }
.download-phone img { position: relative; width: 310px; height: 620px; object-fit: cover; border: 10px solid #091015; border-radius: 48px; box-shadow: 0 35px 90px rgba(0,0,0,.45); }
.download-copy h2 { margin-bottom: 28px; }
.download-copy > p { color: var(--muted); font-size: 18px; line-height: 1.7; }
.download-copy .app-legal { font-size: 9px; line-height: 1.45; }
.offer-pill { display: inline-block; margin-bottom: 22px; padding: 10px 15px; border: 1px solid rgba(12,199,225,.5); border-radius: 999px; background: rgba(12,199,225,.1); color: var(--cyan); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.legal-hero { min-height: 48vh; }
.legal-shell { width: min(860px, calc(100vw - 40px)); margin: auto; padding: 90px 0 140px; }
.legal-note { margin-bottom: 42px; padding: 18px 20px; border: 1px solid rgba(12,199,225,.28); border-radius: 16px; background: rgba(12,199,225,.06); color: var(--muted); font-size: 13px; line-height: 1.6; }
.legal-prose h2 { margin: 55px 0 14px; font-size: 34px; letter-spacing: -.04em; }
.legal-prose h3 { margin: 36px 0 10px; font-size: 22px; }
.legal-prose ul { padding-left: 22px; }
.legal-prose a { color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; }
.inner-footer { margin-top: 0; }
.back-link { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 25px; color: var(--cyan); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 900px) {
  .inner-hero { min-height: 650px; padding: 130px 20px 60px; }
  .inner-hero h1 { font-size: clamp(58px, 17vw, 88px); }
  .lead-grid, .service-detail, .download-layout, .inquiry-layout { grid-template-columns: 1fr; gap: 45px; }
  .inquiry-intro { position: static; }
  .service-detail:nth-child(even) .service-detail-media { order: initial; }
  .service-detail-media { height: 500px; }
  .package-grid, .value-grid, .contact-grid { grid-template-columns: 1fr; }
  .package-card, .value-card, .contact-card { min-height: 210px; }
  .story-copy { columns: 1; }
  .stats-band { grid-template-columns: 1fr; }
  .stats-band div + div { border-left: 0; border-top: 1px solid var(--line); }
  .download-phone { min-height: 580px; }
  .download-phone img { width: 260px; height: 530px; }
}

@media (max-width: 520px) {
  .inner-hero { min-height: 600px; padding: 124px 20px 52px; }
  .inner-hero h1, .inner-section h2 { font-size: clamp(44px, 13.2vw, 52px); }
  .inner-hero-copy > p:not(.section-kicker) { margin-top: 22px; font-size: 16px; }
  .inner-section { padding: 82px 0; }
  .service-detail { gap: 34px; padding: 56px 0; }
  .service-detail-media { height: 360px; border-radius: 22px; }
  .service-detail-copy h2 { margin-block: 15px 18px; }
  .service-detail-copy p, .lead-grid p, .prose p, .legal-prose p, .legal-prose li { font-size: 16px; }
  .feature-chips { margin-block: 24px 28px; }
  .package-grid, .value-grid, .contact-grid { margin-top: 38px; }
  .package-card, .value-card, .contact-card { min-height: 190px; padding: 24px; border-radius: 20px; }
  .package-card h3, .value-card h3, .contact-card h3 { margin-top: 44px; }
  .download-phone { min-height: 520px; }
  .download-phone img { width: 238px; height: 480px; border-radius: 42px; }
  .faq-list summary { padding: 20px; font-size: 17px; }
  .faq-list details p { padding: 0 20px 22px; }
  .inquiry-form { grid-template-columns: 1fr; gap: 16px; padding: 22px; border-radius: 22px; }
  .form-field-wide, .form-consent, .form-actions, .form-status { grid-column: auto; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .form-actions .button { width: 100%; }
  .form-note { text-align: left; }
  .legal-shell { width: calc(100vw - 40px); padding-block: 70px 100px; }
}
