:root {
      --ink: #0E0E12;
      --ink-2: #111827;
      --blue: #2D6BFF;
      --blue-2: #A9C0FF;
      --pale: #E8EEFF;
      --paper: #FFFFFF;
      --muted: #667085;
      --line: rgba(14, 14, 18, .14);
      --max: 1120px;
      --hero-max: 1360px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
      line-height: 1.8;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    img { max-width: 100%; display: block; }
    a { color: inherit; }
    h1, h2, h3, .lead, .btn, summary {
      word-break: auto-phrase;
      text-wrap: balance;
      letter-spacing: 0;
    }
    h1, h2, h3, p { margin-top: 0; }
    .mono {
      font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
      font-variant-numeric: tabular-nums;
    }
    .wrap {
      width: min(var(--max), calc(100% - 48px));
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }
    .section {
      position: relative;
      padding: 104px 0;
      overflow: hidden;
    }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      color: var(--blue);
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .12em;
    }
    .eyebrow::before {
      content: "";
      width: 34px;
      height: 2px;
      background: var(--blue);
    }
    .lead {
      color: var(--muted);
      font-size: 18px;
      max-width: 680px;
    }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 13px 22px;
      border: 1px solid var(--blue);
      background: var(--blue);
      color: #fff;
      text-decoration: none;
      font-weight: 800;
      border-radius: 6px;
      box-shadow: 0 18px 42px rgba(45, 107, 255, .25);
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    }
    .btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 24px 52px rgba(45, 107, 255, .32);
      background: #1f5eff;
    }
    .btn.secondary {
      color: #fff;
      border-color: rgba(255,255,255,.3);
      background: rgba(255,255,255,.08);
      box-shadow: none;
    }
    .rule-index {
      display: grid;
      gap: 0;
      border-top: 1px solid currentColor;
    }
    .rule-row {
      display: grid;
      grid-template-columns: 110px 1fr;
      gap: 28px;
      padding: 28px 0;
      border-bottom: 1px solid rgba(14,14,18,.13);
    }
    .rule-row .no {
      color: transparent;
      -webkit-text-stroke: 1.2px var(--blue);
      font-size: clamp(48px, 8vw, 92px);
      font-weight: 900;
      line-height: .85;
    }
    .site-header {
      position: fixed;
      inset: 0 0 auto 0;
      z-index: 40;
      background: rgba(14,14,18,.82);
      color: #fff;
      border-bottom: 1px solid rgba(255,255,255,.1);
      backdrop-filter: blur(14px);
    }
    .site-header .inner {
      width: min(var(--hero-max), calc(100% - 44px));
      min-height: 72px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      font-weight: 900;
    }
    .brand img {
      width: 34px;
      height: 34px;
      object-fit: contain;
    }
    .site-nav {
      display: flex;
      align-items: center;
      gap: 22px;
      font-size: 14px;
      color: rgba(255,255,255,.78);
    }
    .site-nav a {
      text-decoration: none;
    }
    .site-nav .nav-cta {
      color: #fff;
      border: 1px solid rgba(255,255,255,.28);
      padding: 8px 12px;
      border-radius: 6px;
    }
    .hero {
      width: 100%;
      min-height: 760px;
      color: #fff;
      background: var(--ink);
      position: relative;
      overflow: hidden;
      padding-top: 72px;
    }
    .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(14,14,18,.98) 0%, rgba(14,14,18,.82) 42%, rgba(14,14,18,.18) 100%),
        radial-gradient(circle at 76% 35%, rgba(45,107,255,.45), transparent 34%);
      z-index: 1;
      pointer-events: none;
    }
    .hero-bg {
      position: absolute;
      inset: 0;
      background-image: url("src/fv.jpg");
      background-size: cover;
      background-position: center right;
      transform: scale(1.03);
      opacity: .88;
    }
    #warpCanvas {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      z-index: 2;
      opacity: .7;
      mix-blend-mode: screen;
    }
    .hero-inner {
      width: min(var(--hero-max), calc(100% - 48px));
      min-height: 688px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: .45fr .55fr;
      align-items: center;
      position: relative;
      z-index: 3;
    }
    .hero-copy {
      max-width: 610px;
      padding: 80px 0 72px;
    }
    .hero h1 {
      font-size: clamp(40px, 5.2vw, 64px);
      line-height: 1.14;
      margin: 14px 0 22px;
      font-weight: 900;
    }
    .hero .lead {
      color: rgba(255,255,255,.82);
      font-size: 20px;
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin-top: 34px;
    }
    .hero-proof {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 34px;
      color: rgba(255,255,255,.74);
      font-size: 13px;
    }
    .hero-proof span {
      border: 1px solid rgba(255,255,255,.16);
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(255,255,255,.06);
    }
    .hero-visual {
      min-height: 520px;
      position: relative;
    }
    .hero-card {
      position: absolute;
      right: 6%;
      bottom: 13%;
      width: min(390px, 80%);
      border: 1px solid rgba(255,255,255,.16);
      background: rgba(14,14,18,.62);
      backdrop-filter: blur(14px);
      padding: 22px;
      border-radius: 8px;
      box-shadow: 0 28px 90px rgba(0,0,0,.4);
    }
    .hero-card .big {
      font-size: 54px;
      line-height: 1;
      color: var(--blue);
      font-weight: 900;
    }
    .pain {
      background: var(--paper);
    }
    .auto-intro {
      position: relative;
      padding: 94px 0 102px;
      overflow: hidden;
      background:
        linear-gradient(180deg, #F7F9FF 0%, #FFFFFF 100%),
        url("src/texture-2.jpg") center / 520px repeat;
      border-bottom: 1px solid var(--line);
    }
    .auto-intro .topbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid rgba(14,14,18,.8);
      padding-bottom: 16px;
      gap: 20px;
    }
    .auto-intro .k {
      color: var(--blue);
      font-size: 11px;
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .22em;
    }
    .auto-intro .n {
      color: var(--muted);
      font-size: 11px;
      letter-spacing: .12em;
    }
    .marquee {
      width: 100%;
      margin: 34px 0 38px;
      overflow: hidden;
    }
    .mrow {
      display: flex;
      width: max-content;
      white-space: nowrap;
      font-weight: 900;
      font-size: clamp(48px, 10vw, 136px);
      line-height: 1.04;
    }
    .mrow span {
      padding-right: .42em;
    }
    .mrow.r1 {
      color: var(--ink);
      animation: marquee-left 24s linear infinite;
    }
    .mrow.r2 {
      color: transparent;
      -webkit-text-stroke: 1.35px rgba(14,14,18,.72);
      animation: marquee-right 30s linear infinite;
    }
    .mrow .mk {
      color: var(--blue);
      -webkit-text-stroke: 0;
    }
    .intro-foot {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 28px;
      align-items: end;
      border-top: 1px solid rgba(14,14,18,.8);
      padding-top: 24px;
    }
    .intro-foot p {
      max-width: 680px;
      color: var(--muted);
      font-size: 17px;
      margin: 0;
    }
    .scrollhint {
      color: var(--blue);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .24em;
      white-space: nowrap;
    }
    @keyframes marquee-left {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    @keyframes marquee-right {
      from { transform: translateX(-50%); }
      to { transform: translateX(0); }
    }
    .pain-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 64px;
      align-items: start;
    }
    .pain h2, .section-title {
      font-size: clamp(30px, 4vw, 44px);
      line-height: 1.28;
      margin: 14px 0 20px;
      font-weight: 900;
    }
    .quote-box {
      border-left: 6px solid var(--blue);
      padding: 30px 0 30px 28px;
      margin-top: 22px;
      font-size: clamp(26px, 4vw, 44px);
      font-weight: 900;
      line-height: 1.3;
    }
    .worry-list {
      display: grid;
      gap: 18px;
    }
    .worry-item {
      border-top: 1px solid var(--line);
      padding-top: 18px;
    }
    .worry-item h3 {
      font-size: 22px;
      margin-bottom: 6px;
    }
    .dark-band {
      background: var(--ink);
      color: #fff;
    }
    .dark-band .lead, .dark-band p { color: rgba(255,255,255,.72); }
    .reasons-grid {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: 70px;
      align-items: start;
    }
    .sticky-side {
      position: sticky;
      top: 110px;
    }
    .service-zig {
      display: grid;
      gap: 70px;
      margin-top: 56px;
    }
    .service-block {
      display: grid;
      grid-template-columns: 1fr .9fr;
      align-items: center;
      position: relative;
    }
    .service-block:nth-child(even) {
      grid-template-columns: .9fr 1fr;
    }
    .service-block:nth-child(even) .service-img {
      order: 2;
    }
    .service-img {
      aspect-ratio: 16 / 10;
      overflow: hidden;
      border-radius: 8px;
      background: var(--ink);
    }
    .service-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .service-card {
      position: relative;
      z-index: 2;
      background: #fff;
      border: 1px solid var(--line);
      padding: 34px;
      margin-left: -58px;
      border-radius: 8px;
    }
    .service-block:nth-child(even) .service-card {
      margin-left: 0;
      margin-right: -58px;
    }
    .service-card .tag {
      color: var(--blue);
      font-weight: 900;
      font-size: 12px;
    }
    .pull {
      padding: 110px 0;
      color: #fff;
      background: linear-gradient(rgba(14,14,18,.7), rgba(14,14,18,.84)), url("src/section-bg-2.jpg") center / cover;
    }
    .pull .word {
      font-size: clamp(82px, 15vw, 190px);
      line-height: .9;
      font-weight: 900;
      color: transparent;
      -webkit-text-stroke: 1.5px rgba(255,255,255,.82);
    }
    .pull p {
      max-width: 650px;
      color: rgba(255,255,255,.82);
      font-size: 20px;
    }
    .proof-grid {
      display: grid;
      grid-template-columns: .95fr 1.05fr;
      gap: 54px;
      align-items: start;
    }
    .metrics-rich {
      position: relative;
      color: #fff;
      background:
        linear-gradient(135deg, rgba(14,14,18,.96), rgba(14,14,18,.8)),
        url("src/texture-1.jpg") center / 520px repeat;
      overflow: hidden;
    }
    .metrics-rich::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(45,107,255,.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(45,107,255,.14) 1px, transparent 1px);
      background-size: 72px 72px;
      opacity: .42;
      pointer-events: none;
    }
    .metrics-head {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 44px;
      align-items: end;
      position: relative;
      z-index: 1;
    }
    .metrics-head p {
      color: rgba(255,255,255,.7);
      margin-bottom: 0;
    }
    .metric-field {
      position: relative;
      z-index: 1;
      min-height: 510px;
      margin-top: 34px;
      border-top: 1px solid rgba(255,255,255,.22);
    }
    .metric {
      position: absolute;
    }
    .metric .value {
      display: flex;
      align-items: flex-start;
      color: #fff;
      font-size: clamp(72px, 14vw, 190px);
      font-weight: 900;
      line-height: .85;
    }
    .metric-symbol {
      font-size: .86em;
    }
    .metric .unit {
      color: var(--blue-2);
      font-size: .22em;
      margin: .46em 0 0 .1em;
    }
    .metric .label {
      color: rgba(255,255,255,.66);
      font-size: 13px;
      letter-spacing: .08em;
      margin-top: 10px;
    }
    .metric .label::before {
      content: "— ";
      color: var(--blue);
    }
    .metric.m1 { left: 0; top: 34px; }
    .metric.m2 { right: 4%; top: 96px; text-align: right; }
    .metric.m2 .value { color: var(--blue); justify-content: flex-end; }
    .metric.m3 { left: 26%; top: 304px; }
    .metric.m4 { right: 10%; top: 356px; }
    .metric.m4 .value {
      color: transparent;
      -webkit-text-stroke: 1.4px rgba(255,255,255,.88);
    }
    .badges {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 26px;
    }
    .badge {
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.05);
      border-radius: 8px;
      padding: 16px;
      text-align: center;
    }
    .badge img {
      width: 86px;
      height: 86px;
      object-fit: contain;
      margin: 0 auto 8px;
    }
    .case-stack {
      display: grid;
      gap: 18px;
    }
    .case-card {
      display: grid;
      grid-template-columns: 160px 1fr;
      gap: 18px;
      align-items: center;
      border-bottom: 1px solid rgba(255,255,255,.12);
      padding-bottom: 18px;
    }
    .case-card img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border-radius: 8px;
    }
    .voice-strip {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 46px;
    }
    .voice-editorial {
      background: #F4F6FB;
    }
    .voice-top {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 50px;
      align-items: stretch;
    }
    .voice-heroimg {
      position: relative;
      min-height: 430px;
      overflow: hidden;
      border-radius: 8px;
      background: var(--ink);
    }
    .voice-heroimg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .voice-heroimg::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent, rgba(14,14,18,.42));
    }
    .voice-heroimg .frame {
      position: absolute;
      left: -12px;
      top: -12px;
      width: 108px;
      height: 108px;
      border-left: 3px solid var(--blue);
      border-top: 3px solid var(--blue);
      z-index: 1;
    }
    .voice-heroimg .credit {
      position: absolute;
      left: 18px;
      bottom: 16px;
      z-index: 1;
      color: #fff;
      font-size: 11px;
      letter-spacing: .12em;
      text-shadow: 0 1px 8px rgba(0,0,0,.45);
    }
    .voice-text {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .voice-meta {
      color: var(--muted);
      border-top: 1px solid var(--line);
      padding-top: 16px;
      margin: 0 0 24px;
      font-size: 12px;
      letter-spacing: .08em;
    }
    .voice-meta b {
      color: var(--blue);
      font-size: 16px;
    }
    .voice-feature {
      font-size: clamp(24px, 3vw, 38px);
      font-weight: 900;
      line-height: 1.45;
      margin: 0;
      max-width: 15em;
    }
    .voice-feature .qm {
      color: var(--blue);
    }
    .voice-index {
      list-style: none;
      margin: 60px 0 0;
      padding: 0;
      border-top: 1px solid var(--ink);
    }
    .voice-row {
      display: grid;
      grid-template-columns: 58px 1fr 150px 92px;
      gap: 18px;
      align-items: baseline;
      border-bottom: 1px solid var(--line);
      padding: 22px 8px 22px 4px;
      transition: background .2s ease, padding .2s ease;
    }
    .voice-row:hover {
      background: rgba(45,107,255,.06);
      padding-left: 14px;
    }
    .voice-row .no {
      color: var(--blue);
      font-size: 13px;
      letter-spacing: .08em;
      font-weight: 900;
    }
    .voice-row p {
      margin: 0;
      font-size: clamp(16px, 1.8vw, 21px);
      font-weight: 800;
      line-height: 1.55;
    }
    .voice-row .name,
    .voice-row .type {
      color: var(--muted);
      font-size: 13px;
    }
    .voice {
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 24px;
      background: #fff;
    }
    .voice img {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      object-fit: cover;
      margin-bottom: 16px;
    }
    .pricing-layout {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 64px;
      align-items: start;
    }
    .price-box {
      background: var(--ink);
      color: #fff;
      border-radius: 8px;
      padding: 38px;
      position: relative;
      overflow: hidden;
    }
    .price-box::after {
      content: "";
      position: absolute;
      inset: auto -30px -70px auto;
      width: 230px;
      height: 230px;
      background: url("src/decor-1.png") center / contain no-repeat;
      opacity: .34;
      mix-blend-mode: screen;
    }
    .faq-list {
      display: grid;
      gap: 0;
      border-top: 1px solid var(--line);
    }
    details {
      border-bottom: 1px solid var(--line);
      padding: 18px 0;
    }
    summary {
      cursor: pointer;
      font-weight: 900;
      list-style: none;
    }
    summary::-webkit-details-marker { display: none; }
    details p {
      color: var(--muted);
      margin: 10px 0 0;
    }
    .process {
      background: #F7F9FF;
    }
    .process-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1px;
      background: var(--line);
      margin-top: 44px;
    }
    .step {
      background: #fff;
      padding: 26px;
      min-height: 230px;
    }
    .step .num {
      color: var(--blue);
      font-size: 34px;
      font-weight: 900;
      line-height: 1;
      margin-bottom: 30px;
    }
    .company-grid {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: 64px;
      align-items: start;
    }
    .info-table {
      border-top: 1px solid var(--line);
    }
    .info-row {
      display: grid;
      grid-template-columns: 150px 1fr;
      gap: 20px;
      padding: 16px 0;
      border-bottom: 1px solid var(--line);
    }
    .final-cta {
      color: #fff;
      background:
        linear-gradient(90deg, rgba(14,14,18,.94), rgba(14,14,18,.66)),
        url("src/section-bg-2.jpg") center / cover;
      padding: 96px 0;
    }
    .final-cta .cta-layout {
      display: grid;
      grid-template-columns: 1fr 420px;
      gap: 50px;
      align-items: center;
    }
    .final-cta h2 {
      font-size: clamp(32px, 5vw, 54px);
      line-height: 1.22;
      margin: 0 0 18px;
    }
    .final-cta p {
      color: rgba(255,255,255,.78);
      max-width: 680px;
    }
    .cta-dashboard {
      position: relative;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 8px;
      background: rgba(14,14,18,.58);
      backdrop-filter: blur(16px);
      padding: 22px;
      box-shadow: 0 28px 70px rgba(0,0,0,.34);
    }
    .dash-row {
      display: grid;
      grid-template-columns: 86px 1fr auto;
      gap: 12px;
      align-items: center;
      padding: 13px 0;
      border-bottom: 1px solid rgba(255,255,255,.1);
      color: rgba(255,255,255,.72);
      font-size: 13px;
    }
    .dash-row:last-child {
      border-bottom: 0;
    }
    .dash-row strong {
      color: #fff;
    }
    .dash-bar {
      height: 5px;
      background: rgba(255,255,255,.12);
      overflow: hidden;
      border-radius: 999px;
    }
    .dash-bar span {
      display: block;
      height: 100%;
      background: var(--blue);
      border-radius: inherit;
    }
    .site-footer {
      background: var(--ink);
      color: rgba(255,255,255,.78);
      padding: 54px 0 34px;
      border-top: 1px solid rgba(255,255,255,.12);
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 34px;
      align-items: start;
    }
    .footer-nav {
      display: flex;
      flex-wrap: wrap;
      gap: 18px;
      font-size: 14px;
    }
    .footer-nav a {
      text-decoration: none;
    }
    .copyright {
      color: rgba(255,255,255,.46);
      font-size: 12px;
      margin-top: 34px;
    }
    .reveal {
      transform: translateY(22px);
      opacity: 0;
    }
    .j .reveal.is-in {
      transform: translateY(0);
      opacity: 1;
      transition: transform .8s ease, opacity .8s ease;
    }
    @media (prefers-reduced-motion: reduce) {
      * { animation-duration: .01ms !important; scroll-behavior: auto !important; }
      .reveal { transform: none; opacity: 1; }
      #warpCanvas { display: none; }
    }
    @media (max-width: 900px) {
      .site-nav { display: none; }
      .hero { min-height: auto; }
      .hero-inner, .pain-grid, .reasons-grid, .proof-grid, .pricing-layout, .company-grid, .footer-grid {
        grid-template-columns: 1fr;
      }
      .intro-foot, .metrics-head, .voice-top, .final-cta .cta-layout {
        grid-template-columns: 1fr;
      }
      .metric-field {
        min-height: 0;
        display: grid;
        gap: 28px;
        padding-top: 28px;
      }
      .metric, .metric.m1, .metric.m2, .metric.m3, .metric.m4 {
        position: static;
        text-align: left;
      }
      .metric.m2 .value {
        justify-content: flex-start;
      }
      .voice-row {
        grid-template-columns: 44px 1fr;
      }
      .voice-row .name,
      .voice-row .type {
        grid-column: 2;
      }
      .hero-inner { min-height: auto; }
      .hero-copy { padding: 80px 0 40px; }
      .hero-visual { min-height: 260px; }
      .hero-card { position: relative; right: auto; bottom: auto; width: 100%; margin: 0 0 50px; }
      .section { padding: 72px 0; }
      .sticky-side { position: static; }
      .service-block, .service-block:nth-child(even) { grid-template-columns: 1fr; }
      .service-block:nth-child(even) .service-img { order: 0; }
      .service-card, .service-block:nth-child(even) .service-card { margin: -34px 18px 0; }
      .voice-strip, .badges { grid-template-columns: 1fr; }
      .case-card { grid-template-columns: 1fr; }
      .process-grid { grid-template-columns: 1fr; }
      .rule-row, .info-row { grid-template-columns: 1fr; gap: 8px; }
    }
    @media (max-width: 768px) {
      .hero-inner,
      .pain-grid,
      .reasons-grid,
      .proof-grid,
      .pricing-layout,
      .company-grid {
        grid-template-columns: 1fr;
      }
    }
    @media (max-width: 560px) {
      .wrap, .hero-inner, .site-header .inner { width: min(100% - 28px, var(--max)); }
      .hero h1 { font-size: 38px; }
      .hero-actions { display: grid; }
      .quote-box { font-size: 28px; }
      .pull .word { font-size: 76px; }
      .mrow { font-size: 52px; }
      .voice-heroimg { min-height: 300px; }
      .dash-row { grid-template-columns: 1fr; }
    }
  
/* ZOROYA fixed pages / WordPress migration support */
.zoroya-sub-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.zoroya-sub-nav a,.wp-page-links a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line,rgba(0,0,0,.14));border-radius:999px;padding:.55em 1em;font-weight:700;font-size:13px;background:rgba(255,255,255,.72)}
.zoroya-sub-nav a[aria-current="page"]{background:var(--ink,#222);color:#fff;border-color:var(--ink,#222)}
.wp-page-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.page-main{background:var(--bg,#f7f3ed);color:var(--body,#333);min-height:60vh}
.page-hero{padding:clamp(76px,10vw,132px) 0 clamp(44px,7vw,82px);border-bottom:1px solid var(--line,rgba(0,0,0,.12));background:linear-gradient(135deg,rgba(255,255,255,.75),rgba(255,255,255,.28))}
.page-hero .section-inner,.page-section .section-inner,.zoroya-final .section-inner{width:min(1120px,calc(100% - 44px));margin:0 auto}
.page-hero h1{font-size:clamp(32px,5vw,56px);margin:.18em 0 .28em}
.page-hero p{max-width:42em;color:var(--muted,var(--body,#555));font-size:clamp(15px,1.8vw,18px)}
.page-section{padding:clamp(58px,8vw,100px) 0;border-bottom:1px solid var(--line-soft,var(--line,rgba(0,0,0,.08)))}
.page-section h2{font-size:clamp(25px,3.4vw,40px);margin-bottom:24px}
.zoroya-sub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.zoroya-sub-card{background:var(--paper,#fff);border:1px solid var(--line,rgba(0,0,0,.12));border-radius:12px;padding:24px;box-shadow:0 18px 44px -34px rgba(0,0,0,.34)}
.zoroya-sub-card h3{font-size:clamp(19px,2vw,24px);margin-bottom:10px}
.zoroya-sub-card p,.zoroya-sub-card li{color:var(--muted,var(--body,#555));font-size:15px}
.zoroya-sub-card ul{margin:12px 0 0;padding-left:1.25em}
.zoroya-flow{display:grid;gap:14px;counter-reset:flow}
.zoroya-flow li{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:rgba(255,255,255,.58);border:1px solid var(--line,rgba(0,0,0,.12));padding:18px;border-radius:10px}
.zoroya-flow li::before{counter-increment:flow;content:counter(flow,decimal-leading-zero);font-weight:800;color:var(--accent,#9a6a33);font-family:inherit}
.zoroya-info{display:grid;grid-template-columns:180px 1fr;gap:0;border-top:1px solid var(--line,rgba(0,0,0,.12));background:rgba(255,255,255,.5)}
.zoroya-info dt,.zoroya-info dd{margin:0;padding:14px 16px;border-bottom:1px solid var(--line,rgba(0,0,0,.12))}
.zoroya-info dt{font-weight:800;color:var(--ink,#222)}
.zoroya-faq{display:grid;gap:14px}
.zoroya-faq details{background:var(--paper,#fff);border:1px solid var(--line,rgba(0,0,0,.12));border-radius:10px;padding:18px 20px}
.zoroya-faq summary{cursor:pointer;font-weight:800;color:var(--ink,#222)}
.zoroya-faq p{margin-top:12px;color:var(--muted,var(--body,#555))}
.zoroya-form-slot{background:var(--paper,#fff);border:1px dashed var(--accent,#9a6a33);border-radius:12px;padding:26px}
.zoroya-final{padding:clamp(56px,8vw,94px) 0;background:var(--ink,#222);color:#fff}
.zoroya-final h2{color:#fff}
.zoroya-final p{color:rgba(255,255,255,.78);max-width:40em}
.zoroya-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
@media (max-width:768px){
  .zoroya-sub-grid,.zoroya-info{grid-template-columns:1fr}
  .zoroya-info dt{padding-bottom:4px;border-bottom:0}
  .zoroya-info dd{padding-top:4px}
  .page-hero .section-inner,.page-section .section-inner,.zoroya-final .section-inner{width:min(100% - 28px,1120px)}
}
