
:root{
  --bg:#090709;
  --bg-soft:#120d11;
  --panel:#151015;
  --panel-2:#1b1319;
  --ink:#fff9f6;
  --muted:#b9adb5;
  --pink:#ff63c5;
  --pink-2:#e847aa;
  --line:rgba(255,255,255,.12);
  --line-pink:rgba(255,99,197,.34);
  --shadow:0 28px 80px rgba(0,0,0,.38);
  --shell:1180px;
  --radius:26px;
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;color:var(--ink);background:
  radial-gradient(circle at 80% 0%,rgba(255,64,177,.09),transparent 30rem),
  radial-gradient(circle at 0% 45%,rgba(255,97,197,.05),transparent 28rem),
  var(--bg);
  font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
.shell{width:min(calc(100% - 40px),var(--shell));margin-inline:auto}
.section{padding:108px 0}
.section-tight{padding:70px 0}
.eyebrow{margin:0 0 14px;color:var(--pink);font-size:.77rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:-.035em}
h1{font-size:clamp(3rem,7vw,6.7rem);line-height:.93;margin-bottom:24px}
h2{font-size:clamp(2.2rem,4.6vw,4.25rem);line-height:1.02;margin-bottom:18px}
h3{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.1}
em{font-style:italic;color:var(--pink)}
.muted,.lede{color:var(--muted)}
.lede{font-size:clamp(1.05rem,2vw,1.3rem);max-width:690px}
.kicker{display:flex;gap:10px;align-items:center;color:#d9cfd5;font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.kicker span{color:var(--pink)}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:50px;padding:0 24px;border-radius:999px;border:1px solid var(--line);
  font-weight:800;transition:.22s ease;cursor:pointer
}
.button:hover{transform:translateY(-2px)}
.button.primary{background:var(--pink);border-color:var(--pink);color:#180812;box-shadow:0 14px 36px rgba(255,99,197,.2)}
.button.primary:hover{background:#ff83d1}
.button.secondary{background:rgba(255,255,255,.03)}
.button.secondary:hover{border-color:var(--line-pink);background:rgba(255,99,197,.06)}
.button.quiet{color:var(--muted)}
.text-link{display:inline-flex;gap:8px;align-items:center;color:#ff90d7;font-weight:800}
.text-link:hover{text-decoration:underline}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}

/* header */
.site-header{
  position:sticky;top:0;z-index:40;background:rgba(9,7,9,.86);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.nav-shell{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:700;font-size:1.35rem;white-space:nowrap}
.brand strong{color:var(--pink)}
.brand .mark{width:11px;height:11px;border-radius:50%;background:var(--pink);box-shadow:0 0 18px rgba(255,99,197,.5)}
.main-nav{display:flex;align-items:center;gap:24px;font-size:.9rem;color:#ded5da}
.main-nav a{transition:.2s}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:#fff}
.nav-cta{border:1px solid var(--line-pink);padding:10px 17px;border-radius:999px;color:#fff!important;background:rgba(255,99,197,.07)}
.menu-button{display:none;background:none;color:white;border:1px solid var(--line);border-radius:999px;padding:9px 14px}

/* age gate */
.age-gate{
  position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;
  background:rgba(5,4,5,.9);backdrop-filter:blur(14px)
}
.age-gate.is-open{display:flex}
.age-panel{width:min(520px,100%);padding:34px;border:1px solid var(--line);border-radius:28px;background:#120d11;box-shadow:var(--shadow)}
.age-mark{display:inline-grid;place-items:center;width:58px;height:58px;border:1px solid var(--line-pink);border-radius:50%;color:var(--pink);font-family:var(--serif);font-weight:800}
.age-panel h2{font-size:2.45rem;margin:12px 0}
.age-panel small{display:block;color:#91868d;margin-top:15px}
.age-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}

/* hero */
.hero{padding:52px 0 54px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:48px;align-items:center}
.hero-copy{padding:20px 0}
.hero-copy h1{max-width:760px}
.hero-copy .lede{font-size:1.2rem}
.hero-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:32px}
.proof{padding:16px 18px;border-right:1px solid var(--line)}
.proof:last-child{border-right:0}
.proof strong{display:block;font-size:.9rem}
.proof span{font-size:.76rem;color:var(--muted)}
.hero-media{position:relative;min-height:650px}
.hero-photo{height:650px;border-radius:32px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.phone{
  position:absolute;right:-12px;bottom:-28px;width:min(45%,340px);padding:10px;border-radius:34px;
  background:#050505;border:1px solid rgba(255,255,255,.22);box-shadow:0 30px 70px rgba(0,0,0,.55);
  transform:rotate(2deg)
}
.phone img{width:100%;border-radius:25px}
.phone-badge{
  position:absolute;left:-22px;bottom:34px;padding:14px 18px;border-radius:16px;background:#130d12;
  border:1px solid var(--line-pink);box-shadow:var(--shadow);font-weight:800
}
.phone-badge span{display:block;color:var(--muted);font-size:.75rem;font-weight:500}

/* strips */
.trust-strip{border-bottom:1px solid var(--line);background:#0e0a0d}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:24px 22px;border-right:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}
.trust-item:last-child{border-right:0}
.icon-ring{width:42px;height:42px;flex:0 0 auto;border:1px solid var(--line-pink);border-radius:50%;display:grid;place-items:center;color:var(--pink);font-weight:900}
.trust-item strong{display:block;font-size:.92rem}
.trust-item span{display:block;color:var(--muted);font-size:.77rem;margin-top:2px}

/* editorial sections */
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.intro-grid .big-copy{font-family:var(--serif);font-size:clamp(2rem,4vw,4rem);line-height:1.08}
.intro-grid .body-copy{font-size:1.14rem;color:#d2c7ce;max-width:700px}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature-card{
  min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;
  padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--panel);transition:.25s ease
}
.feature-card:hover{transform:translateY(-4px);border-color:var(--line-pink)}
.feature-card .card-image{position:absolute;inset:0}
.feature-card .card-image img{width:100%;height:100%;object-fit:cover}
.feature-card .card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,6,8,.98),rgba(8,6,8,.1) 70%)}
.feature-card .card-content{position:relative;z-index:1}
.feature-card h3{margin-bottom:10px}
.feature-card p{margin-bottom:0;color:#d4cbd0;font-size:.92rem}
.card-tag{display:inline-flex;margin-bottom:12px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}

.split-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.split-feature.reverse{grid-template-columns:.95fr 1.05fr}
.split-feature.reverse .feature-visual{order:2}
.feature-visual{position:relative}
.feature-visual>img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:28px;border:1px solid var(--line)}
.float-screen{
  position:absolute;right:-22px;bottom:-38px;width:210px;padding:8px;border-radius:28px;background:#050505;
  border:1px solid rgba(255,255,255,.22);box-shadow:0 24px 60px rgba(0,0,0,.52)
}
.float-screen img{border-radius:21px}
.feature-copy p{font-size:1.08rem;color:#cbbfc7}
.bullet-list{display:grid;gap:12px;margin:24px 0}
.bullet{display:flex;gap:11px}
.bullet:before{content:"";width:8px;height:8px;margin-top:.6em;background:var(--pink);border-radius:50%;flex:0 0 auto}

/* steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.step{padding:24px;border-top:1px solid var(--line-pink);background:linear-gradient(180deg,rgba(255,99,197,.06),transparent)}
.step-number{font-family:var(--serif);font-size:2rem;color:var(--pink);margin-bottom:30px}
.step h3{font-size:1.45rem;margin-bottom:10px}
.step p{font-size:.9rem;color:var(--muted);margin:0}

/* app gallery */
.app-gallery{background:#0e0a0d;border-block:1px solid var(--line)}
.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:36px}
.screen-row{display:grid;grid-template-columns:.76fr 1.35fr .76fr;gap:22px;align-items:end}
.screen-card{border-radius:28px;overflow:hidden;border:1px solid var(--line);background:#050405;padding:10px;box-shadow:0 22px 60px rgba(0,0,0,.34)}
.screen-card img{width:100%;border-radius:20px}
.screen-card.wide{padding:12px}
.screen-caption{margin-top:14px;color:var(--muted);font-size:.9rem}

/* lifestyle rail */
.photo-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.photo-card{position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--line);aspect-ratio:4/3}
.photo-card img{width:100%;height:100%;object-fit:cover;transition:.35s ease}
.photo-card:hover img{transform:scale(1.02)}
.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),transparent 55%)}
.photo-label{position:absolute;z-index:1;left:22px;bottom:18px;font-family:var(--serif);font-size:1.45rem}

/* quote/cta */
.quote-panel{padding:70px;border:1px solid var(--line);border-radius:32px;background:
  linear-gradient(120deg,rgba(255,99,197,.09),transparent 42%),
  var(--panel)}
.quote-panel blockquote{font-family:var(--serif);font-size:clamp(2.4rem,5vw,5rem);line-height:1.02;margin:0;max-width:900px}
.quote-panel p{margin:22px 0 0;color:var(--muted);max-width:700px}
.final-cta{padding:90px 0}
.cta-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:44px;border:1px solid var(--line-pink);border-radius:28px;background:#130c11}
.cta-card h2{font-size:clamp(2.3rem,4vw,4rem);margin:0}

/* page headers */
.page-hero{padding:82px 0 70px;border-bottom:1px solid var(--line)}
.page-hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center}
.page-hero h1{font-size:clamp(3.3rem,6.5vw,6rem)}
.page-hero .visual img{width:100%;border-radius:28px;border:1px solid var(--line);box-shadow:var(--shadow)}
.page-hero.simple .shell{max-width:880px;text-align:center}
.page-hero.simple .lede{margin-inline:auto}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.info-card{padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}
.info-card h3{margin-bottom:10px}.info-card p{color:var(--muted);margin:0}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.prose{max-width:800px;color:#d1c6cc}
.prose h2,.prose h3{color:#fff}
.prose p,.prose li{color:#c8bcc4}
.prose ul{padding-left:1.3em}
.faq{display:grid;gap:12px}
.faq details{border:1px solid var(--line);border-radius:18px;padding:0 20px;background:var(--panel)}
.faq summary{cursor:pointer;padding:18px 0;font-weight:800}
.faq details p{color:var(--muted);padding-bottom:18px;margin:0}
.legal{max-width:900px;margin-inline:auto}
.legal h1{font-size:clamp(3rem,6vw,5rem)}
.legal h2{font-size:2rem;margin-top:45px}
.legal p,.legal li{color:#c6bbc2}
.notice{padding:20px;border:1px solid var(--line-pink);border-radius:18px;background:rgba(255,99,197,.05)}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:60px 0 28px;background:#070507}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);gap:40px}
.footer-brand{margin-bottom:14px}.footer-grid p{color:var(--muted);max-width:360px;font-size:.9rem}
.footer-grid h4{font-family:var(--sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.13em;color:#81767d;margin-bottom:14px}
.footer-grid a:not(.brand){display:block;color:#d6ccd2;font-size:.9rem;margin:9px 0}
.footer-grid a:hover{color:var(--pink)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:42px;padding-top:20px;border-top:1px solid var(--line);font-size:.75rem;color:#82777e}
.mobile-cta{display:none}

/* responsive */
@media (max-width:1050px){
  .main-nav{gap:16px;font-size:.84rem}
  .hero-grid{grid-template-columns:1fr .95fr;gap:32px}
  .hero-media,.hero-photo{min-height:560px;height:560px}
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr}
  .footer-grid>div:nth-child(4){grid-column:2}
}
@media (max-width:820px){
  .shell{width:min(calc(100% - 28px),var(--shell))}
  .section{padding:76px 0}
  .menu-button{display:inline-flex}
  .main-nav{
    display:none;position:absolute;left:14px;right:14px;top:67px;flex-direction:column;align-items:stretch;gap:0;
    padding:12px;border:1px solid var(--line);border-radius:20px;background:#100c0f;box-shadow:var(--shadow)
  }
  .main-nav.is-open{display:flex}
  .main-nav a{padding:13px 12px;border-radius:12px}
  .nav-cta{text-align:center;margin-top:6px}
  .hero{padding-top:34px}
  .hero-grid,.page-hero-grid,.split-feature,.split-feature.reverse,.intro-grid,.two-col{grid-template-columns:1fr}
  .hero-copy{padding:0}
  .hero-copy h1{font-size:clamp(3.4rem,14vw,5.7rem)}
  .hero-media{min-height:auto;padding-bottom:28px}
  .hero-photo{height:500px}
  .phone{width:44%;right:10px;bottom:0}
  .phone-badge{left:14px;bottom:20px}
  .hero-proof{grid-template-columns:repeat(2,1fr)}
  .proof:nth-child(2){border-right:0}.proof:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .split-feature.reverse .feature-visual{order:0}
  .float-screen{right:14px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .screen-row{grid-template-columns:1fr 1fr}
  .screen-card.wide{grid-column:1/-1;grid-row:2}
  .photo-rail{grid-template-columns:1fr 1fr}
  .quote-panel{padding:40px 26px}
  .cta-card{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
  .footer-grid>div:nth-child(4){grid-column:auto}
  .mobile-cta{
    display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:35;justify-content:center;
    min-height:52px;background:var(--pink);color:#170910;border-radius:999px;font-weight:900;align-items:center;
    box-shadow:0 12px 38px rgba(0,0,0,.44)
  }
  .site-footer{padding-bottom:92px}
}
@media (max-width:560px){
  .nav-shell{height:66px}
  .brand{font-size:1.14rem}
  h1{font-size:clamp(3rem,15vw,4.6rem)}
  h2{font-size:clamp(2.2rem,12vw,3.5rem)}
  .hero-photo{height:430px;border-radius:24px}
  .phone{width:49%;border-radius:26px;padding:7px}.phone img{border-radius:20px}
  .phone-badge{font-size:.8rem;padding:10px 12px}
  .card-grid,.steps,.screen-row,.photo-rail,.info-grid{grid-template-columns:1fr}
  .screen-card.wide{grid-column:auto;grid-row:auto}
  .feature-card{min-height:330px}
  .trust-grid{grid-template-columns:1fr}
  .trust-item{border-right:0;border-bottom:1px solid var(--line)}
  .trust-item:last-child{border-bottom:0}
  .hero-proof{grid-template-columns:1fr}
  .proof{border-right:0;border-bottom:1px solid var(--line)!important}
  .proof:last-child{border-bottom:0!important}
  .gallery-head{align-items:flex-start;flex-direction:column}
  .float-screen{width:150px;bottom:-24px}
  .page-hero{padding:55px 0}
  .page-hero h1{font-size:clamp(3rem,14vw,4.7rem)}
  .quote-panel{border-radius:24px}
  .cta-card{padding:28px}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>div:first-child{grid-column:auto}
  .footer-bottom{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}

/* Brand asset refresh */
.brand{gap:10px}
.brand-logo{width:40px;height:40px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 6px 16px rgba(255,99,197,.18))}
.footer-brand .brand-logo{width:44px;height:44px}

/* Better photographic scaling */
.hero-media{min-height:0}
.hero-photo{height:auto;aspect-ratio:4/3}
.hero-photo img{object-position:center 38%}
.feature-card .card-image img{object-position:center 36%}
.feature-visual>img{aspect-ratio:4/3;object-position:center 38%}
.page-hero .visual img{aspect-ratio:4/3;object-fit:cover;object-position:center 38%}
.photo-card img{object-position:center 38%}

/* Photo-rich editorial mosaic */
.lifestyle-section{border-top:1px solid var(--line)}
.lifestyle-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.lifestyle-tile{position:relative;overflow:hidden;margin:0;aspect-ratio:4/3;border:1px solid var(--line);border-radius:22px;background:#120d11}
.lifestyle-tile.wide{grid-column:span 2;aspect-ratio:2/1}
.lifestyle-tile img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .45s ease,filter .45s ease}
.lifestyle-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,4,7,.76),transparent 58%);pointer-events:none}
.lifestyle-tile figcaption{position:absolute;z-index:2;left:20px;bottom:16px;font-family:var(--serif);font-size:1.3rem;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.lifestyle-tile:hover img{transform:scale(1.025);filter:saturate(1.04)}

@media (max-width:1050px){
  .hero-grid{align-items:center}
  .hero-photo{aspect-ratio:4/3}
  .lifestyle-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lifestyle-tile.wide{grid-column:span 1;aspect-ratio:4/3}
}
@media (max-width:820px){
  .brand-logo{width:36px;height:36px}
  .hero-photo{height:auto;aspect-ratio:4/3}
  .hero-media{padding-bottom:42px}
  .phone{width:42%;right:8px;bottom:0}
  .phone-badge{bottom:14px}
  .page-hero .visual img{aspect-ratio:4/3}
}
@media (max-width:560px){
  .brand-logo{width:33px;height:33px}
  .hero-photo{height:auto;aspect-ratio:4/3;border-radius:22px}
  .hero-photo img{object-position:center 40%}
  .phone{width:47%;right:4px}
  .phone-badge{left:8px;max-width:48%}
  .lifestyle-gallery{grid-template-columns:1fr;gap:12px}
  .lifestyle-tile,.lifestyle-tile.wide{grid-column:auto;aspect-ratio:4/3;border-radius:18px}
  .lifestyle-tile figcaption{font-size:1.18rem;left:16px;bottom:13px}
  .page-hero .visual img{border-radius:22px;aspect-ratio:4/3;object-position:center 38%}
}

/* Canonical 2026-09-30 Intensive Desires logo */
.brand-logo{
  width:46px;
  height:46px;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
  filter:drop-shadow(0 6px 16px rgba(190,31,52,.22));
}
.footer-brand .brand-logo{width:50px;height:50px}
@media (max-width:760px){.brand-logo{width:40px;height:40px}.footer-brand .brand-logo{width:44px;height:44px}}
@media (max-width:420px){.brand-logo{width:36px;height:36px}}
