
    :root{
      --canvas:#1E1333;
      --surface:#2B1C47;
      --card:#2B1C47;
      --lavender:#9D85C6;
      --plum:#7A3F67;
      --terracotta:#8F5A5A;
      --sand:#E8D19E;
      --blue:#A5C4DC;
      --sage:#98A78A;
      --white:#fff;
      --ink:#1E1333;
      --spring:cubic-bezier(.34,1.56,.64,1);
      --shadow:0 24px 58px -22px rgba(0,0,0,.78);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      color:var(--white);
      font-family:Inter,system-ui,sans-serif;
      background:
        radial-gradient(circle at 88% 4%,rgba(157,133,198,.14),transparent 24%),
        radial-gradient(circle at 8% 96%,rgba(143,90,90,.10),transparent 24%),
        var(--canvas);
    }
    button,a{font:inherit}
    a{color:inherit;text-decoration:none}
    button{color:inherit}
    :focus-visible{outline:3px solid var(--blue);outline-offset:4px}

    .shell{width:min(1180px,calc(100% - 32px));margin:auto;padding:22px 0 30px}

    .intro{
      position:relative;
      margin-top:0;
      padding:30px 34px 28px;
      border:1px solid rgba(157,133,198,.18);
      border-radius:32px;
      background:rgba(24,14,45,.42);
      overflow:hidden;
    }
    .intro::after{
      content:"";position:absolute;right:-46px;top:-72px;width:210px;height:210px;border-radius:46% 54% 61% 39%/42% 46% 54% 58%;
      background:rgba(122,63,103,.34);filter:blur(1px);transform:rotate(18deg)
    }
    h1,h2,h3{font-family:Outfit,system-ui,sans-serif;margin:0}
    h1{font-size:clamp(40px,5.6vw,68px);line-height:.92;letter-spacing:-.055em;font-weight:900;max-width:850px;position:relative;z-index:1}
    .accent{position:relative;display:inline-block;z-index:0}
    .accent::before{content:"";position:absolute;z-index:-1;left:-2%;right:-2%;bottom:5%;height:34%;background:var(--plum);border-radius:10px;transform:rotate(-.7deg)}
    .intro p{position:relative;z-index:1;margin:15px 0 0;max-width:760px;color:rgba(255,255,255,.78);font-size:clamp(15px,1.35vw,18px);line-height:1.55}

    .chooser{margin-top:16px}
    .chooser-label{margin:0 0 10px 4px;color:var(--blue);font:800 12px/1 Outfit,sans-serif;text-transform:uppercase;letter-spacing:.12em}
    .service-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .service-tab{
      position:relative;min-height:184px;padding:22px 22px 58px;border:2px solid rgba(255,255,255,.16);border-radius:28px;text-align:left;cursor:pointer;
      box-shadow:0 8px 0 rgba(13,8,24,.44),var(--shadow);
      transition:transform .36s var(--spring),filter .24s ease,box-shadow .24s ease,border-color .24s ease;
      overflow:hidden;
    }
    .service-tab:hover{
      transform:translateY(-9px) rotate(0deg) scale(1.012);filter:saturate(1.06) brightness(1.025);
      box-shadow:0 12px 0 rgba(13,8,24,.38),0 32px 64px -22px rgba(0,0,0,.88);
      border-color:rgba(255,255,255,.42);
    }
    .service-tab:active{
      transform:translateY(1px) rotate(0deg);
      box-shadow:0 3px 0 rgba(13,8,24,.42),0 18px 38px -24px rgba(0,0,0,.8);
      transition-duration:.08s;
    }
    .service-tab[aria-selected="true"]{
      transform:translateY(-8px) rotate(0deg) scale(1.018);
      box-shadow:0 9px 0 rgba(13,8,24,.4),0 30px 60px -22px rgba(0,0,0,.88);
      border-color:var(--sand);
    }
    .service-tab:nth-child(1){background:var(--blue);color:var(--canvas);transform:rotate(-1deg)}
    .service-tab:nth-child(2){background:var(--plum);color:#fff;transform:rotate(.35deg)}
    .service-tab:nth-child(3){background:var(--sage);color:var(--canvas);transform:rotate(.9deg)}
    .service-tab[aria-selected="true"]:nth-child(1),
    .service-tab[aria-selected="true"]:nth-child(2),
    .service-tab[aria-selected="true"]:nth-child(3){transform:translateY(-8px) rotate(0deg) scale(1.018)}
    .tab-kicker{display:block;font:800 11px/1 Outfit,sans-serif;text-transform:uppercase;letter-spacing:.11em;opacity:.68;margin-bottom:10px}
    .service-tab h2{font-size:clamp(22px,2.2vw,29px);line-height:1.02;letter-spacing:-.035em}
    .service-tab p{margin:9px 0 0;font-size:13.5px;line-height:1.42;color:inherit;opacity:.74;max-width:310px}
    .price-chip{
      position:absolute;right:15px;bottom:14px;padding:8px 11px;border-radius:999px;
      background:rgba(30,19,51,.12);border:1px solid rgba(30,19,51,.12);
      font:900 12px Outfit,sans-serif;white-space:nowrap
    }
    .service-tab:nth-child(2) .price-chip{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14)}
    .tab-action{
      position:absolute;left:18px;bottom:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
      min-width:126px;height:38px;padding:0 14px;border-radius:999px;
      background:var(--sand);color:var(--ink);
      font:900 11.5px Outfit,sans-serif;letter-spacing:.005em;
      box-shadow:0 7px 0 rgba(30,19,51,.30),0 13px 20px rgba(0,0,0,.18);
      transition:transform .22s var(--spring),box-shadow .22s ease,filter .2s ease;
    }
    .tab-arrow{display:inline-block;font-size:15px;line-height:1;transition:transform .25s var(--spring)}
    .service-tab:hover .tab-action{
      transform:translateY(-3px);
      box-shadow:0 10px 0 rgba(30,19,51,.24),0 18px 24px rgba(0,0,0,.21);
      filter:brightness(1.03);
    }
    .service-tab:active .tab-action{transform:translateY(2px);box-shadow:0 2px 0 rgba(30,19,51,.30),0 6px 10px rgba(0,0,0,.16)}
    .service-tab:hover .tab-arrow{transform:translateX(3px)}
    .service-tab[aria-selected="true"] .tab-arrow{transform:rotate(90deg)}

    .details-wrap{
      position:relative;
      margin-top:12px;
      border:1px solid rgba(157,133,198,.2);
      border-radius:30px;
      background:rgba(43,28,71,.78);
      height:560px;
      box-shadow:0 20px 50px -32px rgba(0,0,0,.8);
      overflow:hidden;
    }
    .detail-panel{
      position:absolute;
      inset:0;
      display:grid;
      padding:24px 24px 168px;
      grid-template-columns:minmax(0,1.16fr) minmax(365px,.84fr);
      grid-template-areas:"copy price";
      gap:26px;
      align-items:stretch;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
    }
    .detail-panel.is-active{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      z-index:2;
    }
    .detail-copy{grid-area:copy;padding:6px 4px 0 4px}
    .detail-panel .detail-copy{opacity:0;transform:translateY(10px)}
    .detail-panel .price-box{opacity:0;transform:translateX(14px) scale(.99)}
    .detail-panel.is-active .detail-copy{animation:copyIn .34s ease .04s both}
    .detail-panel.is-active .price-box{animation:priceIn .42s var(--spring) .10s both}
    @keyframes copyIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
    @keyframes priceIn{from{opacity:0;transform:translateX(14px) scale(.99)}to{opacity:1;transform:none}}
    .detail-copy h3{font-size:24px;color:var(--sand);letter-spacing:-.025em}
    .detail-copy>p{margin:8px 0 0;color:rgba(255,255,255,.78);line-height:1.53;font-size:14px;max-width:670px}
    .compact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin:18px 0 0;padding:0;list-style:none}
    .compact-list li{position:relative;padding-left:18px;font-size:13.4px;line-height:1.4;color:rgba(255,255,255,.82)}
    .compact-list li::before{content:"•";position:absolute;left:2px;top:-1px;color:var(--blue);font-weight:900}

    .extras-note{
      position:absolute;
      z-index:5;
      left:78px;
      bottom:24px;
      width:270px;
      min-height:132px;
      padding:24px 24px 20px;
      border-radius:16px;
      background:linear-gradient(135deg,var(--sand),rgba(232,209,158,.92));
      color:var(--ink);
      box-shadow:0 18px 38px -10px rgba(0,0,0,.56),0 0 0 1px rgba(0,0,0,.08);
      transform:rotate(-1.2deg);
    }
    .extras-note::before{
      content:"";position:absolute;top:-8px;left:52%;width:72px;height:19px;transform:translateX(-50%) rotate(.7deg);
      border-radius:4px;background:rgba(255,255,255,.58);box-shadow:0 2px 6px rgba(0,0,0,.08)
    }
    .extras-note strong{display:block;max-width:210px;font:700 30px/.98 Caveat,"Segoe Print",cursive;color:var(--ink)}
    .extras-note span{display:block;margin-top:10px;max-width:220px;font-size:12.6px;line-height:1.5;color:rgba(30,19,51,.76)}

    .price-box{
      grid-area:price;
      position:relative;
      padding:22px 22px 20px;
      border-radius:22px;
      background:rgba(30,19,51,.58);
      color:var(--white);
      border:1px solid rgba(157,133,198,.25);
      min-height:330px;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 14px 34px -24px rgba(0,0,0,.72);
      display:flex;
      flex-direction:column;
    }
    .price-box strong{display:block;font:900 31px/1 Outfit,sans-serif;color:var(--sand);letter-spacing:-.04em}
    .price-box small{display:block;margin-top:8px;color:rgba(255,255,255,.64);font-size:12px;line-height:1.5}
    .mini-prices{display:grid;gap:9px;margin-top:15px}
    .mini-price{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.04)}
    .mini-price span{display:block;font:800 13.5px/1.25 Outfit,sans-serif;color:rgba(255,255,255,.92)}
    .mini-price em{display:block;margin-top:4px;font-style:normal;font-size:11.6px;line-height:1.42;color:rgba(255,255,255,.62)}
    .mini-price b{font-family:Outfit,sans-serif;color:var(--blue);font-size:18.5px;line-height:1.05;align-self:center;white-space:nowrap}
    .note{margin-top:12px;font-size:11.6px;line-height:1.425;color:rgba(255,255,255,.56)}
    .price-actions{margin-top:auto;padding-top:18px;display:flex;justify-content:flex-end}

    /* Shared button primitives live in /assets/buttons.css. */
    .price-actions .btn{min-width:184px}

    .detail-sparkles{position:absolute;pointer-events:none;width:58px;height:42px;left:47%;bottom:34px;opacity:.72}
    .detail-sparkles i{
      position:absolute;display:block;background:var(--blue);border-radius:50%;
      animation:twinkle 2.2s ease-in-out infinite,diasproAmbientFloat 5.5s ease-in-out infinite;
      --ambient-float-x:2px;--ambient-float-y:-4px;
      will-change:transform,translate,opacity;
    }
    .detail-sparkles i:nth-child(1){width:7px;height:7px;left:2px;top:20px;animation-delay:0s,-1.2s}
    .detail-sparkles i:nth-child(2){width:5px;height:5px;left:25px;top:2px;--ambient-float-x:-2px;--ambient-float-y:-3px;animation-delay:-.8s,-2.6s}
    .detail-sparkles i:nth-child(3){width:9px;height:9px;right:2px;bottom:3px;--ambient-float-x:1px;--ambient-float-y:-5px;animation-delay:-1.35s,-.7s}
    @keyframes twinkle{0%,100%{opacity:.35;transform:scale(.78)}50%{opacity:1;transform:scale(1.18)}}

    @media(max-width:980px){
      .service-tabs{
        display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
        padding:10px 4px 18px;scrollbar-width:none;overscroll-behavior-x:contain;
      }
      .service-tabs::-webkit-scrollbar{display:none}
      .service-tab{flex:0 0 min(86%,420px);min-height:172px;scroll-snap-align:center;transform:none!important}
      .service-tab[aria-selected="true"]{transform:translateY(-5px)!important}
      .details-wrap{height:auto;min-height:760px;overflow:hidden}
      .detail-panel{
        position:absolute;
        grid-template-columns:1fr;
        grid-template-areas:"copy" "price";
        padding:20px 20px 180px;
      }
      .compact-list{grid-template-columns:1fr 1fr}
      .price-box{min-height:0}
      .extras-note{left:34px;bottom:24px;width:min(280px,calc(100% - 68px))}
      .detail-sparkles{display:none}
    }
    @media(max-width:560px){
      .shell{width:min(100% - 20px,1180px);padding-top:10px}
      .intro{padding:24px 20px;border-radius:24px}
      h1{font-size:42px}
      .service-tab{padding:18px;border-radius:21px}
      .details-wrap{min-height:920px}
      .detail-panel{padding:18px 18px 178px}
      .compact-list{grid-template-columns:1fr}
      .price-box strong{font-size:27px}
      .mini-price{grid-template-columns:1fr}
      .mini-price b{justify-self:flex-start}
      .extras-note{left:26px;bottom:24px;width:min(270px,calc(100% - 52px));transform:rotate(-1deg)}
      .price-actions{justify-content:flex-start}
    }
    @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
  


/* Service detail layout normalization. */
.inner-page .details-wrap{height:auto;min-height:560px;display:grid}
.inner-page .detail-panel{position:relative;inset:auto;grid-area:1/1;display:none;min-width:0;padding-bottom:190px}
.inner-page .detail-panel.is-active{display:grid}
.inner-page .detail-panel[hidden]{display:none}
.inner-page .price-box,.inner-page .detail-copy{min-width:0}
.inner-page .price-box .price-actions{margin-top:auto}
.inner-page .extras-note{z-index:3}
.inner-page .detail-panel .detail-copy,.inner-page .detail-panel .price-box{opacity:1;transform:none}

@media(max-width:980px){
  .inner-page .details-wrap{min-height:0}
  .inner-page .detail-panel{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "price";gap:24px}
  .inner-page .service-tabs{scroll-padding-inline:4px}
  .inner-page .price-box{min-height:0}
}
@media(min-width:981px){
  .inner-page .detail-panel{padding-bottom:24px}
  .inner-page .detail-copy{padding-bottom:200px}
}
@media(prefers-reduced-motion:reduce){
  .inner-page .detail-panel .detail-copy,.inner-page .detail-panel .price-box{opacity:1!important;transform:none!important}
}


/* Service tab interaction and responsive detail placement. */
@keyframes serviceBounce{0%{translate:0 0}35%{translate:0 -13px}65%{translate:0 3px}83%{translate:0 -4px}100%{translate:0 0}}
.service-tab.is-bouncing{animation:serviceBounce .62s cubic-bezier(.22,.8,.36,1)}
.service-tab:active{translate:0 2px}
.service-tab:focus-visible{outline:3px solid var(--sand);outline-offset:6px}
@media(max-width:980px){
  .inner-page .details-wrap{display:grid;grid-template-columns:minmax(0,1fr)}
  .inner-page .detail-panel{padding-bottom:24px}
  .inner-page .extras-note{position:relative;left:auto;bottom:auto;grid-row:2;justify-self:start;margin:12px 26px 30px;width:min(270px,calc(100% - 52px))}
}
@media(prefers-reduced-motion:reduce){.service-tab.is-bouncing{animation:none}}
