/* ---- Shared page styles (About, Services, Portfolio, etc.) ---- */
.page-hero{background:transparent;padding:70px 0 60px;text-align:center;}
.page-hero .eyebrow{color:var(--ink);}
.page-hero h1{font-size:3rem;color:var(--white);margin:10px 0;text-shadow:0 2px 12px rgba(74,42,50,.2);}
.page-hero p{max-width:620px;margin:0 auto;color:var(--ink);font-style:italic;font-size:1.1rem;}

/* About */
.about-intro{background:transparent;}
.about-intro .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center;}
.about-intro .portrait{background:var(--blush);border-radius:20px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;font-family:var(--f-script);color:var(--rose);font-size:1.4rem;}
.about-intro h2{font-size:2rem;color:var(--ink);margin-bottom:8px;}
.about-intro .script-lead{font-family:var(--f-script);font-size:1.8rem;color:var(--coral);margin-bottom:16px;}
.about-cols{background:transparent;color:var(--ink);}
.about-cols .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.about-cols h3{color:var(--rose);font-size:1.1rem;margin-bottom:10px;}
.about-cols p{font-size:.98rem;}

/* Services */
.svc-block{padding:70px 0;}
.svc-block:nth-child(even){background:transparent;}
.svc-block .head{text-align:center;margin-bottom:36px;}
.svc-block .script-label{font-family:var(--f-script);font-size:2rem;color:var(--coral);}
.svc-block h2{font-size:2.2rem;color:var(--ink);margin:4px 0;}
.svc-block .price{font-family:var(--f-head);letter-spacing:.1em;color:var(--rose);font-size:.9rem;margin-top:6px;}
.svc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;max-width:900px;margin:0 auto;}
.svc-list .item{background:var(--white);border:1px solid var(--blush);border-radius:10px;padding:16px 20px;text-align:center;font-size:1rem;color:var(--ink);}
.svc-block.dark{background:transparent;color:var(--ink);}
.svc-block.dark h2{color:var(--ink);}
.svc-block.dark .svc-list .item{background:rgba(255,255,255,.55);border-color:var(--blush);color:var(--ink);}

/* Portfolio */
.pf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;}
.pf-card{background:var(--white);border-radius:16px;overflow:hidden;border:1px solid var(--blush);transition:transform .18s,box-shadow .18s;}
.pf-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(194,90,110,.16);}
.pf-card .thumb{aspect-ratio:16/10;overflow:hidden;background:var(--ink);}
.pf-card .thumb img{width:100%;height:100%;object-fit:cover;}
.pf-card .body{padding:22px 24px;}
.pf-card .tag{font-family:var(--f-head);letter-spacing:.14em;font-size:.72rem;color:var(--coral);}
.pf-card h3{font-size:1.3rem;color:var(--ink);margin:6px 0 8px;}
.pf-card p{color:var(--muted);font-size:.95rem;margin-bottom:14px;}
.pf-feature{background:var(--ink);color:var(--cream);border-radius:20px;overflow:hidden;margin-bottom:40px;display:grid;grid-template-columns:1.3fr 1fr;}
.pf-feature .img{background:var(--rose);min-height:340px;overflow:hidden;}
.pf-feature .img img{width:100%;height:100%;object-fit:cover;}
.pf-feature .info{padding:44px 40px;}
.pf-feature .tag{font-family:var(--f-head);letter-spacing:.2em;font-size:.75rem;color:var(--coral);}
.pf-feature h2{font-size:2rem;color:var(--cream);margin:8px 0 14px;}
.pf-feature p{color:var(--blush);margin-bottom:20px;}

/* Testimonials */
.tm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:26px;}
.tm-card{background:var(--white);border-radius:16px;padding:32px 30px;border:1px solid var(--blush);position:relative;}
.tm-card .mark{font-family:var(--f-logo);font-size:3rem;color:var(--coral);line-height:.5;opacity:.4;}
.tm-card p{font-style:italic;color:var(--ink);margin:10px 0 16px;}
.tm-card .who{font-family:var(--f-head);letter-spacing:.1em;font-size:.78rem;color:var(--rose);}

/* Shop */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;}
.shop-card{background:var(--white);border-radius:16px;overflow:hidden;border:1px solid var(--blush);}
.shop-card .cover{aspect-ratio:1/1;background:var(--ink);overflow:hidden;}
.shop-card .cover img{width:100%;height:100%;object-fit:cover;}
.shop-card .body{padding:20px 22px;text-align:center;}
.shop-card h3{font-size:1.1rem;color:var(--ink);}
.shop-card .genre{font-family:var(--f-head);letter-spacing:.12em;font-size:.7rem;color:var(--coral);margin:4px 0;}
.shop-card .price{color:var(--rose);font-size:.95rem;margin-bottom:12px;}
.printify-band{background:transparent;text-align:center;}
.printify-band h2{color:var(--rose);font-size:2.2rem;}
.printify-band p{max-width:520px;margin:12px auto 24px;color:var(--ink);font-style:italic;}
.shop-terms{background:transparent;}
.shop-terms .box{max-width:820px;margin:0 auto;background:var(--white);border-radius:14px;padding:32px 36px;border:1px solid var(--coral);}
.shop-terms h3{color:var(--rose);text-align:center;margin-bottom:14px;}
.shop-terms p{font-size:.92rem;color:var(--ink);margin-bottom:12px;}

/* Contact */
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;}
.contact-info h2{font-size:2rem;color:var(--ink);margin-bottom:10px;}
.contact-info .script-lead{font-family:var(--f-script);font-size:1.8rem;color:var(--coral);margin-bottom:18px;}
.contact-info p{color:var(--muted);margin-bottom:20px;}
.contact-info .detail{margin-bottom:14px;}
.contact-info .detail .k{font-family:var(--f-head);letter-spacing:.14em;font-size:.72rem;color:var(--rose);}
.contact-info .detail a{color:var(--ink);text-decoration:none;font-size:1.05rem;}
.contact-info .detail a:hover{color:var(--coral);}
.contact-form{background:var(--white);border-radius:18px;padding:36px 34px;border:1px solid var(--blush);}
.contact-form label{display:block;font-family:var(--f-head);letter-spacing:.1em;font-size:.72rem;color:var(--rose);margin:14px 0 6px;}
.contact-form input,.contact-form textarea{width:100%;padding:13px 15px;border:1px solid var(--blush);border-radius:9px;background:var(--cream);font-family:var(--f-body);font-size:1rem;color:var(--ink);}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--coral);}
.contact-form textarea{min-height:130px;resize:vertical;}
.contact-form button{margin-top:22px;width:100%;}

@media(max-width:860px){
  .about-intro .grid,.contact-wrap{grid-template-columns:1fr;}
  .about-cols .grid{grid-template-columns:1fr;}
  .pf-feature{grid-template-columns:1fr;}
  .pf-feature .img{min-height:220px;}
}

/* ============================================================
   REBUILD ADDITIONS — real graphics, native case studies
   ============================================================ */

/* Cover gallery cards (shop + portfolio) use wide mockups */
.cover-card{background:var(--white);border-radius:16px;overflow:hidden;border:1px solid var(--blush);transition:transform .18s,box-shadow .18s;}
.cover-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(194,90,110,.16);}
.cover-card .shot{background:transparent;overflow:hidden;padding:12px 16px 0;}
.cover-card .shot img{width:100%;height:100%;object-fit:contain;display:block;}
.cover-card .body{padding:20px 22px;text-align:center;}
.cover-card .genre{font-family:var(--f-head);letter-spacing:.12em;font-size:.7rem;color:var(--coral);margin-bottom:4px;text-transform:uppercase;}
.cover-card h3{font-size:1.15rem;color:var(--ink);margin-bottom:4px;}
.cover-card .price{color:var(--rose);font-size:.9rem;margin-bottom:14px;}
.cover-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;}

/* Native, expandable case study inside portfolio */
.case{background:var(--white);border:1px solid var(--blush);border-radius:20px;overflow:hidden;margin-bottom:40px;}
.case .case-top{display:grid;grid-template-columns:1.15fr 1fr;gap:0;align-items:stretch;}
.case .case-shot{background:var(--ink);overflow:hidden;min-height:300px;}
.case .case-shot img{width:100%;height:100%;object-fit:cover;object-position:top;}
.case .case-intro{padding:40px 40px;}
.case .case-intro .tag{font-family:var(--f-head);letter-spacing:.2em;font-size:.72rem;color:var(--coral);text-transform:uppercase;}
.case .case-intro h2{font-size:2rem;color:var(--ink);margin:8px 0 6px;}
.case .case-intro .sub{font-family:var(--f-script);font-size:1.5rem;color:var(--coral);margin-bottom:14px;}
.case .case-intro p{color:var(--muted);font-size:.98rem;margin-bottom:14px;}
.case .meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.case .meta span{font-family:var(--f-head);letter-spacing:.1em;font-size:.66rem;text-transform:uppercase;color:var(--rose);background:var(--cream);border:1px solid var(--blush);border-radius:20px;padding:6px 12px;}

/* Before / After comparison — strictly symmetrical */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:0 40px 34px;align-items:start;}
.ba-col figure{margin:0;}
.ba-col .frame{border-radius:12px;overflow:hidden;border:1px solid var(--blush);background:var(--ink);aspect-ratio:16/10;}
.ba-col .frame img{width:100%;height:100%;object-fit:cover;object-position:top center;}
.ba-col figcaption{font-family:var(--f-head);letter-spacing:.14em;font-size:.74rem;text-transform:uppercase;margin-top:12px;color:var(--muted);text-align:center;}
.ba-col.after figcaption{color:var(--rose);}

/* Highlighted intro-audio feature strip */
.case-feature{margin:0 40px 34px;background:var(--cream);border:1px solid var(--blush);border-radius:16px;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:0;}
.case-feature .cf-img{background:var(--ink);aspect-ratio:16/11;overflow:hidden;}
.case-feature .cf-img img{width:100%;height:100%;object-fit:cover;object-position:center;}
.case-feature .cf-copy{padding:28px 32px;}
.case-feature .cf-copy .tag{font-family:var(--f-head);letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;color:var(--coral);margin-bottom:6px;}
.case-feature .cf-copy h3{font-size:1.4rem;color:var(--ink);margin-bottom:8px;}
.case-feature .cf-copy p{color:var(--muted);font-size:.98rem;margin:0;}
@media(max-width:860px){.case-feature{grid-template-columns:1fr;}}


.case-detail{padding:0 40px 40px;}
.case-detail h3{font-size:1.15rem;color:var(--ink);margin:22px 0 8px;letter-spacing:.03em;}
.case-detail p{color:var(--muted);margin-bottom:12px;font-size:.98rem;}
.case-detail ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;margin:6px 0 6px;}
.case-detail ul li{position:relative;padding-left:22px;color:var(--ink);font-size:.96rem;}
.case-detail ul li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--coral);}

/* collapsible */
.case details{border-top:1px solid var(--blush);}
.case details summary{list-style:none;cursor:pointer;padding:18px 40px;font-family:var(--f-head);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--rose);display:flex;align-items:center;justify-content:space-between;}
.case details summary::-webkit-details-marker{display:none;}
.case details summary .chev{transition:transform .2s;}
.case details[open] summary .chev{transform:rotate(180deg);}

/* Reader-graphics gallery */
.gfx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.gfx{border-radius:16px;overflow:hidden;border:1px solid var(--blush);background:var(--ink);position:relative;aspect-ratio:4/5;}
.gfx img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.gfx:hover img{transform:scale(1.03);}
.gfx .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 18px 14px;background:linear-gradient(180deg,transparent,rgba(28,16,20,.85));color:var(--cream);}
.gfx .cap .t{font-family:var(--f-head);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;}
.gfx .cap .s{font-size:.8rem;color:var(--blush);}
@media(max-width:900px){.gfx-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.gfx-grid{grid-template-columns:1fr;}}

@media(max-width:860px){
  .case .case-top{grid-template-columns:1fr;}
  .case .case-shot{min-height:220px;}
  .case .case-intro{padding:30px 24px;}
  .ba-grid{grid-template-columns:1fr;padding:0 24px 26px;}
  .case-detail{padding:0 24px 30px;}
  .case-detail ul{grid-template-columns:1fr;}
  .case details summary{padding:16px 24px;}
}

/* ---- Shop pricing banner (formats + bundles) ---- */
.price-banner{max-width:960px;margin:0 auto 44px;background:var(--white);border:1px solid var(--blush);border-radius:20px;padding:32px 34px;}
.price-banner .pb-head{text-align:center;margin-bottom:22px;}
.price-banner .pb-head .script-label{font-family:var(--f-script);font-size:1.8rem;color:var(--coral);line-height:1;}
.price-banner .pb-head p{color:var(--muted);font-size:.92rem;margin-top:6px;font-style:italic;}
.price-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
.price-tiers .tier{background:var(--cream);border:1px solid var(--blush);border-radius:12px;padding:16px 12px;text-align:center;text-decoration:none;color:inherit;display:block;transition:transform .15s,box-shadow .15s,border-color .15s;}
.price-tiers a.tier:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(194,90,110,.16);border-color:var(--coral);}
.price-tiers .tier .fmt{font-family:var(--f-head);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;color:var(--rose);}
.price-tiers .tier .amt{font-family:var(--f-head);font-size:1.5rem;color:var(--ink);margin-top:4px;}
.price-tiers .tier .note{font-size:.72rem;color:var(--muted);margin-top:2px;}
.price-tiers .tier .buy{font-family:var(--f-head);letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;color:var(--coral);margin-top:8px;}
.price-bundles{display:flex;justify-content:center;}
.price-bundles .bundle{border:1.5px solid var(--coral);border-radius:14px;padding:20px 30px;text-align:center;background:var(--blush);text-decoration:none;color:inherit;display:block;max-width:520px;width:100%;transition:transform .15s,box-shadow .15s;}
.price-bundles a.bundle:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(194,90,110,.22);}
.price-bundles .bundle.best{background:linear-gradient(135deg,var(--coral),var(--rose));color:var(--white);border-color:var(--rose);}
.price-bundles .bundle .b-label{font-family:var(--f-head);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--rose);}
.price-bundles .bundle.best .b-label{color:var(--blush);}
.price-bundles .bundle .b-amt{font-family:var(--f-head);font-size:2rem;color:var(--ink);margin:4px 0 2px;}
.price-bundles .bundle.best .b-amt{color:var(--white);}
.price-bundles .bundle .b-note{font-size:.76rem;color:var(--muted);}
.price-bundles .bundle.best .b-note{color:var(--blush);}
.price-bundles .bundle .buy{font-family:var(--f-head);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;margin-top:10px;color:var(--white);border:1px solid rgba(255,255,255,.6);border-radius:8px;display:inline-block;padding:7px 18px;}
.price-banner .pb-foot{text-align:center;margin-top:20px;font-size:.82rem;color:var(--muted);}
@media(max-width:720px){
  .price-tiers{grid-template-columns:1fr 1fr;}
}

/* ============================================================
   APPS PAGE — describe (not embed) PageTurner PA + ContentSync
   ============================================================ */
.app{border-radius:24px;overflow:hidden;margin-bottom:48px;border:1px solid var(--blush);}
.app .app-head{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.app .app-copy{padding:48px 46px;}
.app .app-copy .kicker{font-family:var(--f-head);letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;}
.app .app-copy h2{font-size:2.4rem;margin:8px 0 4px;line-height:1;}
.app .app-copy .tagline{font-family:var(--f-script);font-size:1.7rem;margin-bottom:16px;}
.app .app-copy p{font-size:1rem;margin-bottom:16px;}
.app .app-copy .feat{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin:0 0 22px;}
.app .app-copy .feat li{position:relative;padding-left:20px;font-size:.94rem;}
.app .app-copy .feat li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;}
.app .app-copy .btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px;}
.app .app-shot{overflow:hidden;min-height:340px;display:flex;align-items:center;justify-content:center;}
.app .app-shot img{width:100%;height:100%;object-fit:cover;object-position:top left;}

/* PageTurner PA — blush/rose identity (its real look) */
.app.ptpa{background:var(--white);}
.app.ptpa .app-copy .kicker{color:var(--coral);}
.app.ptpa .app-copy h2{color:var(--ink);}
.app.ptpa .app-copy .tagline{color:var(--coral);}
.app.ptpa .app-copy p{color:var(--muted);}
.app.ptpa .app-copy .feat li{color:var(--ink);}
.app.ptpa .app-copy .feat li::before{background:var(--coral);}
.app.ptpa .app-shot{background:#fce4ef;}

/* ContentSync — its own navy + gold identity */
.app.cs{background:#0D1821;border-color:#22303a;}
.app.cs .app-copy .kicker{color:#c9a24b;}
.app.cs .app-copy h2{color:#f4f1e6;}
.app.cs .app-copy .tagline{color:#c9a24b;font-family:var(--f-script);}
.app.cs .app-copy p{color:#a9b4bc;}
.app.cs .app-copy .feat li{color:#dfe5ea;}
.app.cs .app-copy .feat li::before{background:#c9a24b;}
.app.cs .app-shot{background:#0b131b;padding:34px;}
.app.cs .tabwall{display:flex;flex-wrap:wrap;gap:8px;align-content:center;margin-bottom:24px;}
.app.cs .tabwall span{font-family:var(--f-head);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;color:#0D1821;background:#c9a24b;border-radius:20px;padding:7px 13px;}
.app.cs .tabwall span.alt{background:transparent;color:#c9a24b;border:1px solid #c9a24b;}
.app.cs .btn-gold{background:#c9a24b;color:#0D1821;}
.app.cs .btn-gold:hover{background:#dab662;}
.app.cs .btn-ghost{background:transparent;color:#f4f1e6;border:1.5px solid #46525c;}
.app.cs .btn-ghost:hover{border-color:#c9a24b;color:#c9a24b;}

/* screenshot strip under PageTurner */
.app-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 0 8px;}
.app-strip.four{grid-template-columns:repeat(4,1fr);}
.app-strip figure{margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--blush);background:#fce4ef;display:flex;flex-direction:column;}
.app-strip figure img{width:100%;height:150px;object-fit:cover;object-position:top;display:block;}
.app-strip figcaption{font-family:var(--f-head);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;color:var(--rose);padding:10px 12px;text-align:center;}

.app-note{text-align:center;max-width:680px;margin:0 auto 10px;color:var(--muted);font-style:italic;font-size:.95rem;}

@media(max-width:860px){
  .app .app-head{grid-template-columns:1fr;}
  .app .app-copy{padding:34px 26px;}
  .app .app-copy .feat{grid-template-columns:1fr;}
  .app .app-shot{min-height:220px;}
  .app-strip,.app-strip.four{grid-template-columns:1fr 1fr;}
}

/* ContentSync export-preview card (right side) */
.cs-export{width:100%;max-width:420px;background:#101d27;border:1px solid #26333d;border-radius:16px;padding:22px 22px 18px;box-shadow:0 20px 44px rgba(0,0,0,.35);}
.cs-export-top{display:flex;align-items:center;gap:7px;margin-bottom:16px;}
.cs-export-top .dot{width:9px;height:9px;border-radius:50%;background:#3a4a55;}
.cs-export-top .dot:nth-child(1){background:#c9a24b;}
.cs-export-title{margin-left:8px;font-family:var(--f-head);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;color:#8ea0ac;}
.cs-line{height:8px;border-radius:6px;background:#2b3945;flex:1;}
.cs-line.lg{height:12px;margin-bottom:16px;background:#c9a24b;opacity:.85;width:62%;}
.cs-line.short{max-width:60%;}
.cs-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.cs-tag{font-family:var(--f-head);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;color:#c9a24b;min-width:66px;}
.cs-tag.gold{color:#0D1821;background:#c9a24b;border-radius:12px;padding:3px 8px;min-width:0;}
.cs-export-foot{margin-top:18px;padding-top:14px;border-top:1px solid #26333d;font-family:var(--f-head);letter-spacing:.12em;text-transform:uppercase;font-size:.64rem;color:#c9a24b;text-align:center;}

/* ============================================================
   AUTHOR WEBSITE PACKAGES (public, "starting from" only)
   ============================================================ */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px;}
.pkg{border:1px solid var(--blush);border-radius:18px;padding:28px 26px;background:var(--white);position:relative;display:flex;flex-direction:column;}
.pkg.feature{border:2px solid var(--coral);background:linear-gradient(180deg,var(--cream),var(--white));}
.pkg .badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--coral);color:var(--white);font-family:var(--f-head);letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;padding:5px 14px;border-radius:20px;white-space:nowrap;}
.pkg h3{font-size:1.5rem;color:var(--ink);margin-bottom:2px;}
.pkg .who{font-family:var(--f-script);color:var(--coral);font-size:1.15rem;margin-bottom:12px;line-height:1.15;}
.pkg .from{font-family:var(--f-head);letter-spacing:.06em;color:var(--rose);font-size:1.05rem;margin-bottom:16px;}
.pkg .from small{display:block;font-family:var(--f-body);letter-spacing:0;color:var(--muted);font-size:.72rem;font-style:italic;margin-top:2px;}
.pkg ul{list-style:none;margin-bottom:20px;}
.pkg li{position:relative;padding-left:18px;margin-bottom:7px;font-size:.9rem;color:var(--ink);line-height:1.4;}
.pkg li::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--coral);}
.pkg .foot-note{margin-top:auto;font-size:.8rem;color:var(--muted);font-style:italic;}
.pkg-care{margin-top:22px;background:var(--blue);border-radius:18px;padding:26px 30px;color:#12303f;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.pkg-care h3{color:var(--white);font-size:1.4rem;}
.pkg-care .who{color:var(--white);font-family:var(--f-script);font-size:1.1rem;}
.pkg-care .from{color:var(--white);font-family:var(--f-head);letter-spacing:.06em;}

.consult-band{background:linear-gradient(120deg,var(--coral),var(--rose));color:#fff;text-align:center;padding:70px 0;}
.consult-band h2{color:#fff;font-size:2.1rem;margin-bottom:10px;}
.consult-band p{max-width:600px;margin:0 auto 8px;color:#fff;}
.consult-band .terms{font-size:.85rem;opacity:.9;font-style:italic;max-width:560px;margin:0 auto 26px;}
.consult-band .btn{background:#fff;color:var(--rose);}

/* ============================================================
   BOOKING / SCOPING FORM
   ============================================================ */
.book-form{max-width:760px;margin:0 auto;background:var(--white);border:1px solid var(--blush);border-radius:20px;padding:40px 40px;}
.book-form .fgroup{margin-bottom:20px;}
.book-form label{display:block;font-family:var(--f-head);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--rose);margin-bottom:7px;}
.book-form label .opt{color:var(--muted);font-family:var(--f-body);letter-spacing:0;text-transform:none;font-style:italic;font-size:.8rem;}
.book-form input[type=text],.book-form input[type=email],.book-form input[type=url],.book-form select,.book-form textarea{
  width:100%;padding:12px 14px;border:1px solid var(--blush);border-radius:10px;background:var(--cream);font-family:var(--f-body);font-size:.95rem;color:var(--ink);}
.book-form textarea{min-height:110px;resize:vertical;}
.book-form input:focus,.book-form select:focus,.book-form textarea:focus{outline:none;border-color:var(--coral);}
.book-form .two{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.book-form fieldset{border:1px solid var(--blush);border-radius:12px;padding:16px 18px;margin:0;}
.book-form legend{font-family:var(--f-head);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--rose);padding:0 8px;}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;}
.check-grid label{display:flex;align-items:flex-start;gap:8px;font-family:var(--f-body);letter-spacing:0;text-transform:none;color:var(--ink);font-size:.9rem;margin:0;cursor:pointer;}
.check-grid input{margin-top:3px;accent-color:var(--coral);}
.pay-step{max-width:760px;margin:26px auto 0;background:var(--cream);border:1.5px solid var(--coral);border-radius:20px;padding:32px 36px;text-align:center;}
.pay-step h3{font-size:1.5rem;color:var(--ink);margin-bottom:6px;}
.pay-step .fee{font-family:var(--f-head);font-size:2.4rem;color:var(--rose);margin:6px 0;}
.pay-step .terms{font-size:.86rem;color:var(--muted);font-style:italic;max-width:540px;margin:0 auto 20px;line-height:1.6;}
.pay-step .steps-inline{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin:0 0 22px;}
.pay-step .steps-inline .s{font-size:.82rem;color:var(--ink);}
.pay-step .steps-inline .s b{display:block;font-family:var(--f-head);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;color:var(--coral);margin-bottom:2px;}

/* ============================================================
   PASSWORD-GATED GUIDE PAGE
   ============================================================ */
.gate{max-width:460px;margin:0 auto;background:var(--white);border:1px solid var(--blush);border-radius:20px;padding:40px 38px;text-align:center;}
.gate .lock{font-size:2rem;margin-bottom:6px;}
.gate h2{font-size:1.6rem;color:var(--ink);margin-bottom:8px;}
.gate p{color:var(--muted);margin-bottom:20px;font-size:.94rem;}
.gate input{width:100%;padding:13px 15px;border:1px solid var(--blush);border-radius:10px;background:var(--cream);font-size:1rem;text-align:center;letter-spacing:.05em;margin-bottom:12px;}
.gate input:focus{outline:none;border-color:var(--coral);}
.gate .err{color:var(--rust);font-size:.85rem;min-height:18px;margin-bottom:8px;}
.gate .hint{font-size:.8rem;color:var(--muted);margin-top:14px;font-style:italic;}
#guide-content{display:none;}

@media(max-width:860px){
  .pkg-grid{grid-template-columns:1fr;}
  .book-form,.pay-step{padding:28px 22px;}
  .book-form .two{grid-template-columns:1fr;}
  .check-grid{grid-template-columns:1fr;}
}

/* ============================================================
   COLLAB PAGE — partnership invite for service providers
   ============================================================ */
.collab-hero{position:relative;overflow:hidden;background:transparent;}
.collab-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:center;min-height:460px;padding-top:40px;padding-bottom:40px;}
.collab-hero .c-copy{position:relative;z-index:3;}
.collab-hero .flag{display:inline-block;font-family:var(--f-head);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:#fff;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.55);border-radius:26px;padding:8px 16px;margin-bottom:18px;}
.collab-hero h1{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.02em;font-size:3.4rem;line-height:.98;color:var(--ink);margin-bottom:10px;}
.collab-hero .script{font-family:var(--f-script);color:var(--coral);font-size:1.9rem;line-height:1;margin-bottom:18px;}
.collab-hero .lead{font-size:1.05rem;color:var(--ink);max-width:34rem;}
.collab-hero .c-art{position:relative;text-align:center;align-self:end;}
.collab-hero .c-art img{width:100%;max-width:340px;margin:0 auto;display:block;filter:drop-shadow(0 12px 26px rgba(74,42,50,.28));}

.collab-focus{background:var(--white);}
.collab-focus .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px;}
.collab-focus .card{border:1px solid var(--blush);border-radius:18px;padding:28px 26px;background:var(--white);}
.collab-focus .card.feature{border:2px solid var(--coral);background:linear-gradient(180deg,var(--cream),var(--white));}
.collab-focus .card .ico{font-family:var(--f-head);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;color:var(--coral);margin-bottom:8px;}
.collab-focus .card h3{font-size:1.3rem;color:var(--ink);margin-bottom:8px;}
.collab-focus .card p{color:var(--muted);font-size:.94rem;}

.collab-how{background:var(--blush);}
.collab-how .two{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:10px;}
.collab-how .box{background:var(--white);border-radius:18px;padding:28px 30px;border:1px solid rgba(194,90,110,.15);}
.collab-how .box .t{font-family:var(--f-head);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;color:var(--rose);margin-bottom:10px;}
.collab-how .box p{color:var(--ink);font-size:1rem;line-height:1.5;}
.collab-how .box p b{color:var(--rose);}

.collab-cta{background:linear-gradient(120deg,var(--coral),var(--rose));color:#fff;text-align:center;padding:70px 0;}
.collab-cta h2{color:#fff;font-size:2.1rem;margin-bottom:10px;}
.collab-cta p{max-width:600px;margin:0 auto 26px;color:#fff;}
.collab-cta .btn{background:#fff;color:var(--rose);}

@media(max-width:860px){
  .collab-hero .wrap{grid-template-columns:1fr;text-align:center;}
  .collab-hero h1{font-size:2.6rem;}
  .collab-hero .lead{margin-left:auto;margin-right:auto;}
  .collab-hero .c-art{margin-top:10px;}
  .collab-hero .c-art img{max-width:260px;}
  .collab-focus .grid{grid-template-columns:1fr;}
  .collab-how .two{grid-template-columns:1fr;}
}

/* ============================================================
   BEFORE / AFTER SLIDER (drag to compare)
   ============================================================ */
.ba-slider{position:relative;width:100%;aspect-ratio:16/10;border-radius:14px;overflow:hidden;border:1px solid var(--blush);background:var(--ink);cursor:ew-resize;user-select:none;touch-action:none;}
.ba-slider img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block;pointer-events:none;}
.ba-slider .after-img{clip-path:inset(0 0 0 42%);}
.ba-slider .ba-line{position:absolute;top:0;bottom:0;left:42%;width:3px;background:var(--white);transform:translateX(-50%);pointer-events:none;box-shadow:0 0 12px rgba(0,0,0,.4);}
.ba-slider .ba-handle{position:absolute;top:50%;left:42%;width:46px;height:46px;border-radius:50%;background:var(--white);transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 4px 14px rgba(74,42,50,.35);display:flex;align-items:center;justify-content:center;}
.ba-slider .ba-handle::before{content:"‹ ›";font-family:var(--f-head);letter-spacing:.05em;color:var(--rose);font-size:1.1rem;}
.ba-slider .ba-tag{position:absolute;top:14px;font-family:var(--f-head);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;color:#fff;background:rgba(28,16,20,.6);padding:6px 12px;border-radius:20px;pointer-events:none;}
.ba-slider .ba-tag.before{left:14px;}
.ba-slider .ba-tag.after{right:14px;}
.ba-slider-label{font-family:var(--f-head);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;color:var(--rose);text-align:center;margin-top:12px;}
.slider-hint{text-align:center;color:var(--muted);font-size:.9rem;font-style:italic;margin:0 40px 22px;}
.sliders-more{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:0 40px 20px;}
@media(max-width:860px){.sliders-more{grid-template-columns:1fr;}}
