@font-face{font-family:Heebo;font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/heebo-400.ttf") format("truetype")}
@font-face{font-family:Heebo;font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/heebo-500.ttf") format("truetype")}
@font-face{font-family:Heebo;font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/heebo-600.ttf") format("truetype")}

:root{
  color-scheme:dark;
  --ground:#1a151b;
  --ink:#faf3f3;
  --accent:#a52f59;
  --accent-hover:#bf3e6b;
  --accent-ink:#fff;
  --rose:#2a1c24;
  --gutter:32px;
  --gap:20px;
  --content-width:1320px;
  --font-body:18px;
  --font-small:14px;
  --font-statement:clamp(24px,2.2vw,28px);
  --font-heading:clamp(32px,3.4vw,44px);
  --font-display:clamp(52px,7.4vw,104px);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--ground);color:var(--ink);font-family:Heebo,Arial,sans-serif;font-size:var(--font-body);font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased}
body,p,h1,h2,h3,figure{margin:0}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
button,svg,img{display:block}
button{color:inherit}
img{width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{border:0}
::selection{color:var(--ink);background:var(--rose)}
:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
.frame{width:min(100%,var(--content-width));margin-inline:auto;padding-inline:var(--gutter)}
h1,h2{font-weight:500;line-height:1.15;text-wrap:balance}
h2{font-size:var(--font-heading)}
p{text-wrap:pretty}
.skip-link{position:fixed;inset-block-start:12px;inset-inline-start:20px;padding:12px 20px;background:var(--ground);z-index:5;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site-header{min-height:94px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.header-offer-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:16px;text-decoration:underline;text-underline-offset:5px}
.wordmark{display:inline-flex;align-items:center;min-height:44px;font-size:32px;font-weight:600;line-height:1.2}
.telegram-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:13px 26px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:var(--font-body);font-weight:500;line-height:1.4;text-align:center;transition:background-color .18s,transform .14s;white-space:nowrap}
.telegram-button svg{flex:0 0 22px;width:22px;height:22px}
.telegram-button--compact{min-height:46px;padding:10px 22px;font-size:16px}
.telegram-button:disabled{opacity:1;cursor:default}
.telegram-button:not(:disabled){cursor:pointer}
.telegram-button:not(:disabled):hover{background:var(--accent-hover)}
.telegram-button:not(:disabled):active{transform:scale(.98)}
.telegram-button--secondary{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px currentColor;font-size:16px}
.telegram-button--secondary:not(:disabled):hover{background:var(--rose)}
.purchase-button{width:min(100%,390px);min-height:64px;padding:14px 22px;gap:16px;font-size:18px;font-weight:600;white-space:normal;box-shadow:0 8px 20px -10px color-mix(in srgb,var(--accent) 55%,transparent)}
.purchase-button>span{flex:1}
.purchase-button bdi{flex-shrink:0;padding-inline-end:16px;border-inline-end:1px solid color-mix(in srgb,currentColor 35%,transparent);font-size:22px;font-weight:600;line-height:1;white-space:nowrap}
.content-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.content-actions--centered{align-items:center}
.hero-content-description{grid-area:content;margin:0 0 24px;max-width:530px}
.hero{padding-block-start:24px;padding-block-end:72px}
.hero-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"title portrait" "description portrait" "content portrait" "actions portrait";
  column-gap:clamp(32px,5vw,72px);
  align-content:center;
  text-align:start;
}
.hero-title{grid-area:title;margin-block-end:24px;font-size:clamp(2.25rem,1rem + 3.6vw,4.5rem);line-height:1.15}
.hero-title>span{display:block}
.hero-copy .content-actions{grid-area:actions;align-items:stretch;max-width:420px}
.headline-mask{display:inline-block;overflow:clip;vertical-align:bottom}
.headline-line{display:inline-block;padding-block-end:.08em}
.hero-description{grid-area:description;max-width:530px;margin:0 0 18px;font-size:var(--font-body);line-height:1.75}
.hero-portrait{grid-area:portrait;align-self:center;width:100%;aspect-ratio:4/5;overflow:hidden}
.hero-image{object-position:50% 25%}
.pause-section{background:var(--rose);padding-block:112px}
.pause-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:clamp(44px,6vw,88px)}
.pause-copy h2{margin-block-end:48px}
.pause-statement{font-size:var(--font-statement);line-height:1.65}
.pause-statement span{display:block}
.pause-statement span:nth-child(2){padding-inline-start:3%}
.pause-statement span:nth-child(3){padding-inline-start:6%}
.pause-statement span:nth-child(4){padding-inline-start:9%}
.pause-statement span:nth-child(5){padding-inline-start:12%}
.pause-details{max-width:530px;margin-block-start:24px}
.pause-portrait{aspect-ratio:3/4;overflow:hidden}
.pause-portrait img{object-position:50% 52%}
.questions-section{padding-block:88px 96px}
.service-answers{max-width:760px;margin-block:36px 0}
.service-answers>div+div{margin-block-start:26px}
.service-answers dt{font-weight:500}
.service-answers dd{margin:6px 0 0}
.gallery{padding-block:0 80px}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-block-end:44px}
.gallery-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.gallery-controls[hidden]{display:none}
.gallery-control{display:grid;place-items:center;width:52px;height:52px;padding:0;background:var(--rose);border-radius:50%;cursor:pointer;transition:background-color .18s,transform .14s}
.gallery-control svg{width:24px;height:24px}
.gallery-control:hover:not(:disabled){background:#47303e}
.gallery-control:active:not(:disabled){transform:scale(.94)}
.gallery-control:disabled{background:#332a30;color:#aa99a3;cursor:default}
.gallery-rail{display:grid;grid-auto-flow:column;grid-auto-columns:32%;gap:var(--gap);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;scroll-behavior:smooth}
.gallery-rail::-webkit-scrollbar{display:none}
.gallery-rail[data-dragging]{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}
.gallery-photo{aspect-ratio:3/2;overflow:hidden;scroll-snap-align:start}
.gallery-photo img{object-position:50% 15%;pointer-events:none;user-select:none}
.gallery-photo--work img{object-position:50% 98%}
.invitation-section{background:var(--rose);padding-block:96px}
.invitation-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(44px,8vw,112px)}
.invitation-copy p{max-width:470px;font-size:var(--font-statement);line-height:1.65;margin-block-end:36px}
.invitation-copy h2{max-width:530px;margin-block-end:24px}
.offer-benefits{max-width:530px;margin-block:0 28px;padding-inline-start:24px;font-size:var(--font-statement);line-height:1.65}
.offer-benefits li+li{margin-block-start:14px}
.invitation-copy .offer-summary{font-size:var(--font-body);line-height:1.75}
.after-purchase{max-width:530px;margin-block-start:40px}
.after-purchase h3{margin:0 0 14px;font-size:22px;font-weight:500;line-height:1.4;text-wrap:balance}
.after-purchase p{font-size:var(--font-body);line-height:1.75;margin:0}
.community-section{padding-block:0 80px}
.community-section p,.closing-section p{max-width:760px;margin-block:20px}
.community-section p+p{margin-block-start:0}
.community-section .telegram-button{margin-block-start:8px}
.closing-section{padding-block:80px;background:var(--rose)}
.invitation-portrait{aspect-ratio:6/5;overflow:hidden}
.invitation-portrait img{object-position:50% 12%}
.site-footer{padding-block:30px;font-size:var(--font-small)}

@media(prefers-reduced-motion:no-preference){
  .headline-line{animation:headline-in .85s var(--ease-out) both}
  .headline-mask:nth-child(2) .headline-line{animation-delay:.09s}
  .hero-image{animation:portrait-in 1.1s var(--ease-out) both}
  .is-revealing{animation:section-in .65s var(--ease-out)}
  @keyframes headline-in{from{transform:translateY(105%)}to{transform:translateY(0)}}
  @keyframes portrait-in{from{transform:scale(1.035)}to{transform:scale(1)}}
  @keyframes section-in{from{opacity:.55;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
}

@media(max-width:1024px){
  .pause-layout,.invitation-layout{column-gap:40px}
  .pause-statement span:nth-child(n){padding-inline-start:0}
  .pause-statement span{display:inline}
  .gallery-rail{grid-auto-columns:43%}
}

@media(max-width:760px){
  :root{--gutter:20px;--gap:14px}
  .site-header{min-height:0;padding-block:18px 10px;gap:10px}
  .hero{padding-block-start:4px;padding-block-end:56px}
  .hero-copy{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:clamp(250px,36svh,310px) auto auto auto;
    grid-template-areas:"visual" "description" "content" "actions";
    row-gap:16px;
  }
  .hero-title{
    grid-area:visual;
    align-self:end;
    z-index:1;
    margin:0;
    padding:18px 20px;
    color:var(--accent-ink);
    font-size:clamp(1.75rem,1rem + 3.1vw,2.125rem);
    line-height:1.15;
  }
  .hero-title .headline-mask{display:block}
  .hero-title .headline-line{animation:none}
  .hero-portrait{
    grid-area:visual;
    position:relative;
    align-self:stretch;
    aspect-ratio:auto;
    height:100%;
  }
  .hero-portrait::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(17,12,15,.86),rgba(17,12,15,.24) 42%,transparent 70%);
    pointer-events:none;
  }
  .hero-description,.hero-content-description{max-width:100%;margin:0;font-size:16px;line-height:1.65}
  .hero-copy .content-actions{align-items:stretch}
  .hero-copy .purchase-button{width:100%;max-width:none}
  .pause-section{padding-block:72px}
  .pause-layout,.invitation-layout{grid-template-columns:1fr;row-gap:40px}
  .pause-copy h2{margin-block-end:24px}
  .pause-statement{max-width:590px;font-size:24px;line-height:1.7}
  .pause-portrait{width:100%;max-width:540px;justify-self:center}
  .gallery{padding-block:0 56px}
  .gallery-heading{align-items:flex-end;margin-block-end:30px;gap:16px}
  .gallery-heading h2{max-width:75%}
  .gallery-controls{gap:6px}
  .gallery-control{width:44px;height:44px}
  .gallery-rail{grid-auto-columns:73%}
  .invitation-section{padding-block:64px}
  .invitation-copy p{max-width:530px;font-size:24px;margin-block-end:28px}
  .invitation-copy .after-purchase p{font-size:var(--font-body);margin-block-end:0}
  .community-section{padding-block:0 56px}
  .questions-section{padding-block:56px 64px}
  .closing-section{padding-block:64px}
  .invitation-portrait{width:100%;max-width:540px;justify-self:center}
  .site-footer{padding-block:26px}
}

@media(max-width:480px){
  .wordmark{font-size:24px}
  .site-header{gap:4px;padding-block:12px 8px}
  .header-actions{display:flex;justify-content:space-between;gap:8px;width:100%}
  .header-offer-link{font-size:14px}
  .telegram-button--compact{font-size:14px;min-height:44px;padding-inline:16px;gap:9px}
  .telegram-button--compact svg{width:18px;height:18px;flex-basis:18px}
  .gallery-heading{align-items:center}
  .gallery-heading h2{font-size:32px;max-width:230px}
  .gallery-controls{flex-direction:column;gap:6px}
  .gallery-control{width:44px;height:44px}
  .gallery-control svg{width:22px;height:22px}
  .gallery-rail{grid-auto-columns:82%}
  .invitation-copy>.telegram-button{width:100%;max-width:350px}
  .purchase-button{width:100%;max-width:390px;padding-inline:16px;gap:10px;font-size:clamp(16px,4.5vw,18px)}
  .content-actions{width:100%}
}

@media(prefers-reduced-motion:reduce){
  html,.gallery-rail{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Massage services and contact flow, using the existing page typography. */
.treatments-section{padding-block:88px 80px}
.treatments-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-block:36px}
.treatment{border-block-start:1px solid color-mix(in srgb,var(--ink) 22%,transparent);padding-block-start:24px}
.treatment h3{font-size:26px;font-weight:500;line-height:1.35;margin-block-end:12px}
.treatment p{max-width:530px}
.after-purchase .purchase-note{margin-block-start:18px;font-size:16px}
.closing-community{margin-block-start:40px}
.closing-community h3{font-size:22px;font-weight:500;line-height:1.4;margin-block-end:18px}
@media(max-width:760px){
  .treatments-section{padding-block:56px}
  .treatments-list{grid-template-columns:1fr;gap:26px;margin-block:28px}
  .treatment{padding-block-start:20px}
  .treatment h3{font-size:24px}
  .hero-copy .content-actions{max-width:none}
  .purchase-button{width:100%;max-width:none}
}
@media(max-width:480px){
  .closing-section .telegram-button{width:100%;padding-inline:14px;white-space:normal;font-size:16px}
}

/* The public Telegram community is the main invitation. */
.hero-community{grid-area:content;max-width:530px;margin-block-end:22px}
.hero-community h2{font-size:clamp(1.25rem,1rem + .5vw,1.5rem);line-height:1.35;margin-block-end:8px}
.hero-community p{font-size:16px;line-height:1.65}
.community-cta{white-space:normal;font-size:17px;min-height:56px}
.hero-treatment-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;font-size:16px;text-decoration:underline;text-underline-offset:5px}
.hero-treatment-link svg{width:18px;height:18px}
.treatments-community{display:flex;align-items:center;justify-content:space-between;gap:24px;border-block-start:1px solid color-mix(in srgb,var(--ink) 22%,transparent);margin-block-start:36px;padding-block-start:28px}
.treatments-community>div{max-width:620px}
.treatments-community h3{font-size:22px;font-weight:500;line-height:1.4;margin-block-end:8px}
.treatments-community p{font-size:16px}
.treatments-community .community-cta{flex-shrink:0}
.community-section{padding-block:0 88px}
.community-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:clamp(32px,6vw,80px)}
.community-copy h2{max-width:610px}
.community-copy .community-cta{margin-block-start:10px}
.community-portrait{min-width:0}
.community-portrait img{height:auto}
.closing-community p{margin-block:0 20px;font-size:16px}
@media(max-width:760px){
  .hero-community{margin:0;max-width:none}
  .community-cta{width:100%;padding-inline:18px;font-size:16px}
  .treatments-community{display:block;margin-block-start:30px;padding-block-start:24px}
  .treatments-community .community-cta{margin-block-start:20px}
  .community-section{padding-block:0 64px}
  .community-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  .community-copy h2{font-size:clamp(1.75rem,1.125rem + 3vw,2.25rem)}
  .community-portrait{grid-row:1}
}

/* Responsive image sources retain each photograph's existing framing. */
.hero-portrait picture,.pause-portrait picture,.gallery-photo picture,.invitation-portrait picture{display:block;width:100%;height:100%}
.community-portrait picture{display:block}
