    :root{
      --paper:#f3efe8;
      --paper-rgb:243,239,232;
      --ink:#2c1b10;
      --gold:#f4c430;
      --container-x-pad:20px;
    }

    *,
    *::before,
    *::after{
      box-sizing:border-box;
    }

    body{
      margin:0;
      font-family:"Cormorant Garamond","Klee One",serif;
      color:var(--ink);
      background:
        radial-gradient(circle at 30% 20%, rgba(0,0,0,0.03), transparent 40%),
        radial-gradient(circle at 70% 80%, rgba(0,0,0,0.03), transparent 40%),
        linear-gradient(#f7f4ee,#ece7df);
      min-height:100vh;
    }

    .page-container{
      width:min(92vw,780px);
      margin:auto;
      padding:60px var(--container-x-pad);
    }

    .header-container{
      width:min(92vw,780px);
      margin:auto;
      padding:18px var(--container-x-pad) 6px;
    }

    .site-header-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
    }

    .site-logo img{
      display:block;
      width:auto;
      max-height:150px;
      object-fit:contain;
    }

    .site-header-image img{
      display:block;
      width:auto;
      max-height:150px;
      object-fit:contain;
    }

    .site-header-inner.is-right-hidden{
      justify-content:flex-start;
    }

    .site-header-inner.is-right-hidden .site-header-image{
      display:none;
    }


    .catch-copy {
      line-height: 1.8;
    }

    .brand-signature {
      display: block;
      text-align: right;
      margin-top: 0.5rem;
    }

    .hero{
      position:relative;
      margin-bottom:50px;
      --hero-top-tile-height:192px;
      --hero-tile-height:150px;
    }

    .hero .page-container{
      position:relative;
      background-image:
        url("/static/tile11.png"),
        url("/static/tile15.png");
      background-repeat:no-repeat,no-repeat;
      background-position:
        left var(--container-x-pad) top 0,
        left var(--container-x-pad) bottom 0;
      background-size:
        auto var(--hero-top-tile-height),
        auto var(--hero-tile-height);
    }

    .tile-decor-section{
      --corner-top-tile-height:178px;
      --corner-tile-height:150px;
    }

    .tile-decor-section .page-container{
      position:relative;
      background-image:
        url("/static/tile13.png"),
        url("/static/tile15.png"),
        url("/static/tile16.png");
      background-repeat:no-repeat,no-repeat,no-repeat;
      background-position:
        right var(--container-x-pad) top 0,
        left var(--container-x-pad) bottom 0,
        right var(--container-x-pad) bottom 0;
      background-size:
        auto var(--corner-top-tile-height),
        auto var(--corner-tile-height),
        auto var(--corner-tile-height);
      padding-bottom:calc(60px + (var(--corner-tile-height) * 0.50));
    }

    .hero-feature-bg{
      position:relative;
      border-radius:16px;
      aspect-ratio:2/3;
      overflow:hidden;
      background:url("/horoscope_images/tarot/18_moon.jpg") center/contain no-repeat;
    }

    .hero .row{
      position:relative;
      z-index:1;
    }

    .hero h2,
    .hero h3,
    .hero p,
    .hero li,
    .hero summary{
      -webkit-text-stroke:0;
      text-shadow:
        0 0 2px rgba(var(--paper-rgb),0.92),
        0 0 7px rgba(var(--paper-rgb),0.74),
        0 0 16px rgba(var(--paper-rgb),0.52),
        0 0 28px rgba(var(--paper-rgb),0.38);
    }

    h1{
      font-family:"Cinzel Decorative","Klee One",serif;
    }

    h2{
      font-family:"Cormorant Garamond","Klee One",serif;
      font-weight:700;
    }

    h3{
      font-family:"Cormorant Garamond","Klee One",serif;
    }

    h1{
      font-size:clamp(30px,4vw,48px);
      margin:0 0 14px;
      color:var(--gold);
      -webkit-text-stroke:1.5px #2f2f2f;
      paint-order:stroke fill;
      text-shadow:
        0 1px 0 rgba(0,0,0,0.28),
        0 2px 3px rgba(0,0,0,0.18);
    }

    .hero-copy h1{
      text-align:center;
    }

    .sub{
      opacity:.85;
      line-height:1.8;
      margin-bottom:24px;
      font-size:1.05rem;
    }

    .hero-copy{
      margin-bottom:10px;
    }

    .feature-card{
      padding:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      height:auto;
    }

    .feature-card h2{
      margin:0 0 10px;
      font-size:1.15rem;
      font-weight:700;
    }

    .feature-kicker{
      margin:0;
      line-height:1.8;
      opacity:.88;
    }

    .btn-line{
      display:inline-block;
      padding:14px 24px;
      border-radius:999px;
      text-decoration:none;
      background:linear-gradient(#f2d7b3,#d5a46c);
      color:#1a1008;
      font-weight:600;
      border:none;
      box-shadow:0 10px 30px rgba(0,0,0,0.15);
      transition:transform .2s ease, box-shadow .2s ease;
    }

    .btn-line:hover{
      transform:translateY(-1px);
      box-shadow:0 14px 34px rgba(0,0,0,0.18);
      color:#1a1008;
    }

    .section{
      margin-top:70px;
    }

    .section h2{
      margin-bottom:18px;
    }

    .tarot-image-hr{
      width:min(86vw,680px);
      height:36px;
      margin:72px auto;
      border:0;
      position:relative;
      overflow:hidden;
      opacity:1;
      background:#000;
      box-shadow:0 6px 18px rgba(0,0,0,0.12);
    }

    .tarot-image-hr-img{
      position:absolute;
      top:0;
      left:50%;
      width:min(380px, 92vw);
      aspect-ratio:2/3;
      display:block;
      transform:translateX(-50%);
      object-fit:cover;
      border-radius:16px;
      filter:brightness(0.5);
      pointer-events:none;
      user-select:none;
      will-change:top;
    }

    .carousel-wrap{
      width:min(100%,380px);
      margin:auto;
    }

    .tarot-carousel-wrap{
      width:min(100%, 472px);
    }

    .tarot-stage{
      width:100%;
      display:grid;
      grid-template-columns:54px minmax(0, 380px) 54px;
      align-items:center;
      justify-content:center;
      gap:14px;
    }

    .tarot-stage .carousel-inner{
      width:100%;
    }

    .carousel-inner{
      border-radius:16px;
      overflow:hidden;
      box-shadow:0 25px 60px rgba(0,0,0,0.35);
      background:black;
      aspect-ratio:2/3;
    }

    .carousel-item,
    .carousel-item img{
      height:100%;
    }

    .carousel-item img{
      width:100%;
      object-fit:cover;
      display:block;
    }

    .screenshot-carousel-wrap{
      width:min(100%, 472px);
    }

    .screenshot-carousel-wrap .carousel-inner{
      aspect-ratio:auto;
      border-radius:0;
      overflow:hidden;
      box-shadow:none;
      background:transparent;
    }

    .screenshot-card{
      display:block;
    }

    .screenshot-stage{
      width:min(100%, 472px);
      display:grid;
      grid-template-columns:54px minmax(0, 380px) 54px;
      align-items:center;
      justify-content:center;
      gap:14px;
      margin:0 auto;
    }

    .screenshot-stage .carousel-inner{
      width:100%;
    }

    .screenshot-frame{
      width:220px;
      max-width:220px;
      aspect-ratio:9/19;
      border-radius:18px;
      overflow:hidden;
      background:rgba(10, 12, 20, 0.96);
      box-shadow:0 18px 42px rgba(0,0,0,0.24);
      padding:10px;
      margin:0 auto;
    }

    .screenshot-zoom-trigger{
      width:100%;
      height:100%;
      border:0;
      padding:0;
      display:block;
      background:transparent;
      cursor:zoom-in;
    }

    .screenshot-carousel-wrap .carousel-item img{
      height:100%;
      object-fit:contain;
      background:rgba(10, 12, 20, 0.96);
      border-radius:12px;
    }

    .screenshot-caption{
      margin:14px auto 0;
      text-align:left;
      line-height:1.8;
      font-size:0.98rem;
      opacity:.92;
      width:min(100%, 420px);
      max-width:420px;
    }

    .screenshot-nav{
      position:relative;
      border:1px solid rgba(118,76,19,0.24);
      border-radius:999px;
      background:rgba(255, 250, 242, 0.58);
      backdrop-filter:blur(6px);
      -webkit-backdrop-filter:blur(6px);
      color:rgba(106, 67, 18, 0.78);
      min-width:44px;
      width:44px;
      height:44px;
      padding:0;
      line-height:1;
      font-weight:600;
      font-family:"Cormorant Garamond", "Times New Roman", serif;
      font-size:1.75rem;
      box-shadow:0 6px 18px rgba(68,42,17,0.08);
      display:flex;
      align-items:center;
      justify-content:center;
      justify-self:center;
      transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
    }

    .screenshot-nav::before{
      content:"";
      position:absolute;
      inset:4px;
      border-radius:999px;
      border:1px solid rgba(132,84,21,0.12);
      pointer-events:none;
    }

    .screenshot-nav:hover{
      transform:translateY(-1px);
      background:rgba(255, 250, 242, 0.72);
      border-color:rgba(118,76,19,0.32);
      color:rgba(106, 67, 18, 0.9);
    }

    .screenshot-nav:active{
      transform:translateY(1px);
      background:rgba(255, 250, 242, 0.64);
    }

    .screenshot-nav:focus-visible{
      outline:2px solid rgba(185,126,34,0.85);
      outline-offset:3px;
    }

    .screenshot-modal-content{
      background:rgba(9, 12, 20, 0.96);
      color:#f8f2ea;
      border:1px solid rgba(255,255,255,0.08);
      border-radius:18px;
      box-shadow:0 24px 60px rgba(0,0,0,0.42);
    }

    .screenshot-modal-image{
      width:100%;
      max-height:75vh;
      object-fit:contain;
      border-radius:14px;
      background:rgba(255,255,255,0.03);
    }

    .screenshot-modal-caption{
      margin-top:14px;
      line-height:1.8;
      opacity:.92;
    }

    .message-sample{
      text-align:left;
    }

    .message-sample h2{
      margin-bottom:18px;
    }

    .message-sample > .page-container > p{
      max-width:720px;
    }

    .sample-card{
      max-width:720px;
      margin:18px auto 28px;
      padding:22px 24px;
      border-radius:18px;
      background:rgba(255, 250, 242, 0.7);
      border:1px solid rgba(130, 92, 39, 0.18);
      box-shadow:0 16px 38px rgba(68, 42, 17, 0.08);
      backdrop-filter:blur(6px);
      -webkit-backdrop-filter:blur(6px);
    }

    .sample-card p{
      margin:0;
      line-height:1.95;
      font-size:1.02rem;
    }

    .message-sample .note{
      max-width:720px;
      margin:10px auto 0;
      line-height:1.9;
      font-size:0.92rem;
      opacity:.8;
    }

    .grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
    }

    .features-detail{
      margin-top:24px;
      display:grid;
      gap:14px;
    }

    .feature-section .features-detail{
      width:100%;
      max-width:calc(100% - (var(--corner-tile-height) * 1.05));
      margin-left:auto;
      margin-right:auto;
    }

    .section-body-limit{
      width:100%;
      max-width:calc(100% - (var(--corner-tile-height) * 1.05));
      margin-left:auto;
      margin-right:auto;
    }

    .features-item{
      width:100%;
      padding:16px 18px;
      border-radius:12px;
      border:1px solid rgba(44,27,16,0.14);
      background:rgba(255,255,255,0.42);
    }

    .features-title{
      margin:0 0 8px;
      font-size:1.18rem;
      font-weight:700;
      line-height:1.35;
    }

    .features-text{
      margin:0;
      line-height:1.85;
      opacity:.92;
    }

    #pricing .pricing-card{
      height:100%;
      padding:22px 20px;
      border:1px solid rgba(44,27,16,0.18);
      border-radius:14px;
      background:rgba(255,255,255,0.44);
      box-shadow:0 8px 22px rgba(0,0,0,0.08);
    }

    #pricing .pricing-card.pricing-wide-slot{
      min-height:0;
      display:block;
    }

    #pricing .pricing-card.pricing-wide-slot h2{
      margin:0 0 10px;
    }

    #pricing .pricing-card.pricing-wide-slot .pricing-list:last-child{
      margin-bottom:0;
    }

    .pricing-slot-text{
      margin:0;
      width:100%;
      line-height:1.8;
      opacity:.92;
    }

    .pricing-title{
      margin:0 0 12px;
      font-size:1.18rem;
      line-height:1.4;
      font-weight:700;
    }

    .pricing-note{
      margin:0 0 12px;
      line-height:1.8;
      opacity:.92;
    }

    .pricing-list{
      margin:0 0 12px;
      padding-left:1.2rem;
      line-height:1.8;
    }

    #info .info-card{
      height:100%;
      padding:22px 20px;
      border:1px solid rgba(44,27,16,0.18);
      border-radius:14px;
      background:rgba(255,255,255,0.44);
      box-shadow:0 8px 22px rgba(0,0,0,0.08);
    }

    .info-card-title{
      margin:0 0 12px;
      font-size:1.25rem;
      line-height:1.4;
      font-weight:700;
    }

    .info-card-text{
      margin:0 0 14px;
      line-height:1.8;
      opacity:.92;
    }

    .info-subgrid{
      display:grid;
      gap:12px;
      margin-top:8px;
    }

    .info-subcard{
      border:1px solid rgba(44,27,16,0.18);
      border-radius:10px;
      padding:14px;
      background:rgba(255,255,255,0.52);
    }

    .info-subcard-title{
      margin:0 0 8px;
      font-size:1rem;
      line-height:1.4;
      font-weight:700;
    }

    .info-subcard-text{
      margin:0;
      line-height:1.75;
      opacity:.92;
    }

    .info-cta{
      margin-top:16px;
    }

    #hero4 .row{
      position:relative;
      z-index:1;
    }

    #hero4 .hero-feature-bg{
      background:url("/horoscope_images/tarot/06_lovers.jpg") center/contain no-repeat;
    }

    #hero4 .row > .col-6.text-center{
      padding-top:28px;
    }

    #hero4 .page-container{
      background-image:
        url("/static/tile13.png"),
        url("/static/tile16.png");
      background-repeat:no-repeat,no-repeat;
      background-position:
        right var(--container-x-pad) top 0,
        right var(--container-x-pad) bottom 0;
      background-size:
        auto var(--corner-top-tile-height),
        auto var(--corner-tile-height);
    }

    .box{
      background:white;
      border-radius:12px;
      padding:30px;
      text-align:center;
      box-shadow:0 6px 20px rgba(0,0,0,0.1);
    }

    details{
      background:white;
      border-radius:10px;
      padding:14px;
      margin-top:10px;
      box-shadow:0 6px 20px rgba(0,0,0,0.08);
    }

    .faq-list{
      display:grid;
      gap:12px;
      margin-bottom:1rem;
    }

    @media(max-width:700px){
      :root{
        --container-x-pad:18px;
      }

      .hero{
        --hero-top-tile-height:128px;
        --hero-tile-height:100px;
      }

      .tile-decor-section{
        --corner-top-tile-height:119px;
        --corner-tile-height:100px;
      }

      .header-container{
        padding:14px var(--container-x-pad) 4px;
      }

      .site-logo img{
        height:100px;
        max-height:none;
        max-width:none;
        width:auto;
      }

      .site-header-image img{
        height:34px;
      }

      .site-header-image,
      .site-header-image img{
        display:none !important;
      }

      .site-header-inner{
        justify-content:flex-start;
      }

      .grid{
        grid-template-columns:1fr;
      }

      .page-container{
        padding:40px var(--container-x-pad);
      }

      .hero > .page-container,
      #hero4 .page-container{
        min-height:620px;
      }

      #hero4 .row > .col-6.text-center{
        padding-top:36px;
      }

      .tarot-image-hr{
        height:26px;
        margin:72px auto;
      }

      .tarot-image-hr-img{
        width:min(80vw, calc(80svh * 0.6667));
        max-width:80vw;
      }

      .feature-section .features-detail{
        max-width:100%;
      }

      .section-body-limit{
        max-width:100%;
      }

      .tile-decor-section .page-container{
        padding-bottom:calc(40px + (var(--corner-tile-height) * 0.35));
      }

      .hero .text-lg-start{
        text-align:center !important;
      }

    }
