/* ---- 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 .story-wrap{max-width:1000px;margin:0 auto;}
.about-intro .story-wrap::after{content:"";display:table;clear:both;}
.about-intro .portrait{float:left;width:360px;margin:6px 40px 20px 0;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-intro .story-wrap p:not(.script-lead){margin-bottom:1.1em;text-indent:2em;line-height:1.75;}
.about-intro .story-wrap p:last-child{margin-bottom:0;}
@media(max-width:640px){.about-intro .portrait{float:none;width:100%;max-width:340px;margin:0 auto 24px;}}
.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:flex;flex-wrap:wrap;justify-content:center;gap:22px;}
.gfx-grid > .gfx{flex:0 1 calc(25% - 17px);}
.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 > .gfx{flex:0 1 calc(50% - 11px);}}
@media(max-width:520px){.gfx-grid > .gfx{flex:0 1 100%;}}

@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;}}


/* ============================================================
   SERVICES v3 — cream "paper card" rate cards (Option C)
   ============================================================ */
.svc3-intro{text-align:center;max-width:760px;margin:0 auto 40px;}
.svc3-tags{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:26px 0 0;}
.svc3-tag{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.16em;
  font-size:.95rem;color:var(--ink);border:1.5px solid var(--rose);border-radius:6px;
  padding:10px 20px;background:var(--white);}

/* the paper card */
.paper{position:relative;max-width:760px;margin:0 auto 46px;background:var(--cream);
  border-radius:4px;padding:52px 56px;
  box-shadow:0 2px 0 var(--blush), 0 4px 0 #f6d5dd, 0 26px 54px rgba(74,42,50,.20);}
.paper::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,var(--coral),var(--rose));border-radius:4px 0 0 4px;}
.paper.feature{background:var(--white);border:1px solid var(--blush);}

.paper-head{text-align:center;margin-bottom:30px;}
.paper-head .script{font-family:var(--f-script);color:var(--rose);font-size:2.6rem;line-height:1;}
.paper-head .caps{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink);font-size:1.75rem;margin-top:4px;}
.paper-head .rule{height:2px;background:linear-gradient(90deg,transparent,var(--coral),transparent);
  width:62%;margin:18px auto 0;}
.paper-head .sub{font-family:var(--f-body);font-style:italic;color:var(--muted);
  font-size:1.05rem;margin-top:14px;}

/* rows */
.paper .rows .row{display:flex;justify-content:space-between;align-items:baseline;gap:22px;
  padding:18px 2px;border-bottom:1px dotted rgba(217,122,142,.6);}
.paper .rows .row:last-child{border-bottom:0;}
.paper .rows .nm{font-family:var(--f-body);color:var(--ink);font-size:1.28rem;line-height:1.35;}
.paper .rows .nm .note{display:block;font-style:italic;color:var(--muted);font-size:1.02rem;margin-top:3px;}
.paper .rows .pr{font-family:var(--f-head);letter-spacing:.03em;color:var(--rose);
  font-size:1.4rem;white-space:nowrap;text-align:right;}
.paper .rows .pr .sub{display:block;font-family:var(--f-body);font-style:italic;
  color:var(--muted);font-size:.98rem;letter-spacing:0;}

@media(max-width:640px){
  .paper{padding:40px 30px;}
  .paper .rows .row{flex-direction:column;gap:4px;}
  .paper .rows .pr{text-align:left;}
}


/* if a card is alone on the last row (odd count), let it span both columns but stay readable */
.paper-grid .paper:last-child:nth-child(odd){grid-column:1 / -1;max-width:480px;margin:0 auto;}
/* feature cards (retainer, websites) stay full width, outside the grid */
@media(max-width:820px){
  .paper-grid{grid-template-columns:1fr;gap:24px;}
  .paper-grid .paper:last-child:nth-child(odd){max-width:none;}
}

/* Services v3 — package pair (full width, side by side) + balanced a la carte columns */
.pkg-pair{max-width:1180px;margin:0 auto 20px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
.pkg-pair .paper{max-width:none;margin:0;}

/* a la carte: two columns, cards stack within each column for height balance */
.alc-cols{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
.alc-col{display:flex;flex-direction:column;gap:30px;}
.alc-col .paper{max-width:none;margin:0;}

@media(max-width:860px){
  .pkg-pair{grid-template-columns:1fr;gap:24px;}
  .alc-cols{grid-template-columns:1fr;gap:24px;}
  .alc-col{gap:24px;}
}

/* ============================================================
   BLOG — index + article
   ============================================================ */
.blog-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.blog-card{background:var(--white);border:1px solid var(--blush);border-radius:16px;overflow:hidden;
  transition:transform .18s,box-shadow .18s;display:flex;flex-direction:column;}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(194,90,110,.14);}
.blog-card .thumb{display:block;width:100%;height:200px;object-fit:cover;object-position:center top;border-bottom:1px solid var(--blush);}
.blog-card .body{padding:30px 28px;display:flex;flex-direction:column;flex:1;}
.blog-card .date{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.14em;
  font-size:.72rem;color:var(--coral);margin-bottom:10px;}
.blog-card h2{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.02em;
  font-size:1.3rem;color:var(--ink);line-height:1.2;margin-bottom:12px;}
.blog-card p{color:var(--muted);font-size:1rem;line-height:1.5;flex:1;}
.blog-card .read{margin-top:16px;font-family:var(--f-head);text-transform:uppercase;
  letter-spacing:.1em;font-size:.74rem;color:var(--rose);}

/* article */
.article{max-width:720px;margin:0 auto;}
.article .meta{text-align:center;margin-bottom:36px;}
.article .meta .date{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.16em;
  font-size:.8rem;color:var(--coral);}
.article .meta .by{font-family:var(--f-body);font-style:italic;color:var(--muted);margin-top:6px;}
.article-body{font-family:var(--f-body);font-size:1.18rem;line-height:1.8;color:var(--ink);}
.article-body p{margin-bottom:22px;}
.article-body h3{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.04em;
  font-size:1.35rem;color:var(--rose);margin:36px 0 14px;}
.article-body ul,.article-body ol{margin:0 0 22px 26px;}
.article-body li{margin-bottom:10px;}
.article-body .pull{font-family:var(--f-script);font-size:1.8rem;color:var(--rose);
  text-align:center;margin:30px 0;line-height:1.3;}
.article-body a{color:var(--rose);}
.article-body .table-wrap{overflow-x:auto;margin:24px 0;border-radius:10px;border:1px solid var(--blush);}
.article-body .pub-table{width:100%;border-collapse:collapse;font-family:var(--f-body);font-size:.95rem;}
.article-body .pub-table th{background:var(--cream);color:var(--ink);text-align:left;padding:12px 16px;font-family:var(--f-head);text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;border-bottom:2px solid var(--rose);}
.article-body .pub-table td{padding:10px 16px;border-bottom:1px solid var(--blush);vertical-align:top;line-height:1.5;}
.article-body .pub-table td:first-child{font-weight:600;color:var(--ink);white-space:nowrap;}
.article-body .pub-table tr:nth-child(even) td{background:rgba(0,0,0,.015);}
.article-body .pub-table td:last-child{color:var(--muted);word-break:break-word;}
.article-body .rom-flag{display:inline-block;font-family:var(--f-head);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--rose);border-radius:10px;padding:2px 8px;margin-left:6px;vertical-align:middle;}
@media(max-width:640px){.article-body .pub-table td:first-child{white-space:normal;}}
.article-figure{margin:30px 0;text-align:center;}
.article-figure img{border-radius:12px;max-width:100%;box-shadow:0 14px 30px rgba(74,42,50,.12);}
.article-figure figcaption{font-size:.85rem;color:var(--muted);font-style:italic;margin-top:8px;}
.article-back{display:inline-block;margin-top:40px;font-family:var(--f-head);text-transform:uppercase;
  letter-spacing:.12em;font-size:.78rem;color:var(--rose);text-decoration:none;}
.article-cta{margin-top:50px;padding-top:34px;border-top:1px solid var(--blush);text-align:center;}
.article-cta p{color:var(--muted);font-style:italic;margin-bottom:18px;}

@media(max-width:760px){
  .blog-grid{grid-template-columns:1fr;}
  .article-body{font-size:1.08rem;}
}

/* Blog — affiliate book feature */
.book-feature{display:flex;gap:26px;align-items:flex-start;margin:30px 0;padding:22px;
  background:var(--white);border:1px solid var(--blush);border-radius:14px;box-shadow:0 10px 26px rgba(74,42,50,.08);}
.book-feature .cover{flex:0 0 160px;}
.book-feature .cover img{width:100%;border-radius:8px;box-shadow:0 8px 20px rgba(74,42,50,.18);display:block;}
.book-feature .info{flex:1;}
.book-feature .info h3{margin-top:0;}
.book-feature .info h3 a{color:var(--rose);text-decoration:none;}
.book-feature .info h3 a:hover{text-decoration:underline;}
.book-feature .info .title{font-family:var(--f-body);font-style:italic;color:var(--muted);
  font-size:1.02rem;margin:-6px 0 12px;}
.book-feature .amz-btn{display:inline-block;margin-top:14px;background:var(--coral);color:var(--white);
  font-family:var(--f-head);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;
  padding:11px 22px;border-radius:8px;text-decoration:none;transition:background .15s;}
.book-feature .amz-btn:hover{background:var(--rose);}
@media(max-width:600px){
  .book-feature{flex-direction:column;}
  .book-feature .cover{flex:0 0 auto;max-width:180px;margin:0 auto;}
}

/* Blog — share links */
.article-share{margin:30px 0 0;padding-top:24px;border-top:1px solid var(--blush);text-align:center;}
.article-share .share-label{font-family:var(--f-head);text-transform:uppercase;letter-spacing:.14em;
  font-size:.78rem;color:var(--muted);margin-bottom:14px;}
.article-share .share-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.article-share .share-btn{display:inline-flex;align-items:center;gap:7px;
  font-family:var(--f-head);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;
  padding:10px 18px;border-radius:8px;text-decoration:none;border:1.5px solid var(--rose);
  color:var(--rose);background:var(--white);transition:all .15s;
  cursor:pointer;line-height:1;-webkit-appearance:none;appearance:none;}
.article-share .share-btn:hover{background:var(--rose);color:var(--white);}
.article-share a.share-btn svg{width:15px;height:15px;fill:currentColor;}

/* Resources page: grouped bookstore table + book-box category rows */
.article-body .pub-table .state-cell{font-family:var(--f-head);font-weight:600;color:var(--rose);text-align:center;vertical-align:middle;font-size:.95rem;border-right:1px solid rgba(194,90,110,.18);background:rgba(253,208,219,.28);}
.article-body .pub-table tr.state-group td{background:rgba(253,208,219,.13);}
.article-body .pub-table tr.state-group td.state-cell{background:rgba(253,208,219,.34);}
.article-body .pub-table tr.cat-row td{background:var(--ink);color:var(--blush);font-family:var(--f-head);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;font-weight:600;}
.res-disclaimer{background:rgba(140,187,225,.14);border:1px solid rgba(140,187,225,.4);border-radius:14px;padding:18px 22px;margin:0 0 28px;}
.res-disclaimer p{margin:0;font-size:.95rem;line-height:1.6;}
.res-jump{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px;}
.res-jump a{display:inline-block;font-family:var(--f-head);font-size:.85rem;letter-spacing:.03em;text-decoration:none;color:var(--rose);border:1px solid rgba(194,90,110,.35);border-radius:20px;padding:7px 16px;transition:all .18s ease;}
.res-jump a:hover{background:var(--rose);color:#fff;}
.res-section-head{scroll-margin-top:90px;}

/* Booking form service picker */
.svc-group{border:1px solid rgba(194,90,110,.25);border-radius:12px;padding:16px 18px;margin:0 0 20px;}
.svc-group legend{font-family:var(--f-head);color:var(--rose);padding:0 8px;font-size:1rem;}
.svc-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(194,90,110,.1);}
.svc-row:last-child{border-bottom:none;}
.svc-check{display:flex;align-items:center;gap:10px;flex:1;min-width:260px;cursor:pointer;margin:0;}
.svc-check input[type=checkbox]{width:20px;height:20px;accent-color:var(--rose);flex-shrink:0;}
.svc-check span{font-family:var(--f-body);color:var(--ink);}
.svc-check em{color:var(--rose);font-style:normal;font-weight:600;margin-left:6px;}
.term-select{max-width:200px;padding:8px 10px;border:1px solid rgba(194,90,110,.35);border-radius:8px;font-family:var(--f-body);color:var(--ink);background:#fff;}

/* Booking form detail text + quantity + group intro */
.svc-row{display:block;padding:10px 0;border-bottom:1px solid rgba(194,90,110,.1);}
.svc-row:last-child{border-bottom:none;}
.svc-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.svc-detail{margin:6px 0 0 30px;font-size:.82rem;color:var(--ink);opacity:.75;font-family:var(--f-body);line-height:1.4;}
.svc-group-intro{margin:0 0 10px;font-size:.85rem;color:var(--rose);font-style:italic;}
.qty-input{max-width:130px;padding:8px 10px;border:1px solid rgba(194,90,110,.35);border-radius:8px;font-family:var(--f-body);color:var(--ink);background:#fff;}

/* Retainer management-service picker */
.mgmt-picker{margin:8px 0 0 30px;padding:10px 12px;background:rgba(253,208,219,.25);border-radius:8px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;}
.mgmt-label{width:100%;font-size:.8rem;font-weight:600;color:var(--rose);font-family:var(--f-head);}
.mgmt-opt{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ink);font-family:var(--f-body);cursor:pointer;margin:0;}
.mgmt-opt input{width:16px;height:16px;accent-color:var(--rose);}

/* Maxed-out (disabled) picker options */
.mgmt-opt.maxed{opacity:.4;}
.mgmt-opt input:disabled{cursor:not-allowed;}

/* Graphics format breakdown field */
.fmt-field{margin:8px 0 0 30px;}
.fmt-label{display:block;font-size:.8rem;font-weight:600;color:var(--rose);font-family:var(--f-head);margin-bottom:4px;}
.fmt-input{width:100%;max-width:480px;padding:9px 12px;border:1px solid rgba(194,90,110,.35);border-radius:8px;font-family:var(--f-body);color:var(--ink);background:#fff;font-size:.9rem;}
.fmt-input::placeholder{color:#b89ba2;font-style:italic;}

/* Booking form: Your Details fields — force stacked, branded, matches contact form */
.svc-group label[for]{display:block;font-family:var(--f-head);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--rose);margin:16px 0 7px;}
.svc-group > input[type=text],
.svc-group > input[type=email],
.svc-group > textarea{display:block;width:100%;padding:13px 15px;border:1px solid var(--blush);border-radius:9px;background:var(--cream,#fdf6f8);font-family:var(--f-body);font-size:1rem;color:var(--ink);box-sizing:border-box;}
.svc-group > input[type=text]:focus,
.svc-group > input[type=email]:focus,
.svc-group > textarea:focus{outline:none;border-color:var(--coral);}
.svc-group > textarea{min-height:120px;resize:vertical;}
/* keep the service-check labels inline (don't let the block rule hit them) */
.svc-group label.svc-check,.svc-group label.mgmt-opt,.svc-group label.fmt-label{display:flex;text-transform:none;letter-spacing:normal;}
.svc-group label.fmt-label{display:block;}

/* Wide portfolio tile — for banners and other wide-format work */
.gfx.gfx-wide{flex:0 0 100%;aspect-ratio:var(--ar, 3/1);}
.gfx.gfx-wide img{object-fit:contain;background:var(--ink);}
@media (max-width:700px){
  .gfx.gfx-wide{aspect-ratio:var(--ar-sm, 2/1);}
}

/* Testimonial Instagram handles */
.tm-card .who .tm-ig{color:var(--coral);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s;}
.tm-card .who .tm-ig:hover{border-bottom-color:var(--coral);}

/* ===== SHOP: Snipcart + Supabase ===== */
.shop-status{text-align:center;padding:40px 20px;font-family:var(--f-body);font-style:italic;color:var(--rose);}

.cover-card .body .buy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap;}
.cover-card .body .price{font-family:var(--f-head);font-size:1.25rem;color:var(--rose);letter-spacing:.04em;}
.cover-card .body .buy-row .btn{padding:9px 16px;font-size:.8rem;}

/* Sold state: greyed out but still visible */
.cover-card.is-sold .shot img{filter:grayscale(1);opacity:.42;}
.cover-card.is-sold{opacity:.85;}
.cover-card .shot{position:relative;}
.sold-badge{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);
  background:var(--ink);color:var(--cream);
  font-family:var(--f-head);letter-spacing:.22em;text-transform:uppercase;
  font-size:1rem;padding:8px 26px;border-radius:4px;
  border:2px solid var(--blush);box-shadow:0 6px 20px rgba(74,42,50,.35);
}
.sold-note{
  font-family:var(--f-body);font-style:italic;color:var(--rose);
  font-size:.9rem;margin:10px 0 0;
}

/* Cart link in the nav */
.nav .cart-link{position:relative;}
.cart-count{
  display:inline-block;min-width:19px;padding:0 5px;margin-left:2px;
  background:var(--coral);color:#fff;border-radius:10px;
  font-size:.72rem;line-height:19px;text-align:center;font-weight:600;
}

/* Snipcart theming to match the brand */
:root{
  --snipcart-theme-primary-color:#d97a8e;
  --snipcart-theme-secondary-color:#4a2a32;
  --snipcart-theme-accent-color:#c25a6e;
  --snipcart-theme-buttons-primary-background:#d97a8e;
  --snipcart-theme-buttons-primary-hover-background:#c25a6e;
  --snipcart-theme-buttons-primary-color:#ffffff;
  --snipcart-theme-info-color:#4a2a32;
  --snipcart-theme-badge-background:#c25a6e;
}

/* Sale pricing on digital products */
.cover-card .body .price s.was{
  color:var(--rose);opacity:.55;font-size:.85em;margin-right:2px;
  text-decoration-thickness:1.5px;
}
.sale-flag{
  position:absolute;top:10px;left:10px;
  background:var(--rose);color:#fff;
  font-family:var(--f-head);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;padding:4px 12px;border-radius:3px;
  box-shadow:0 3px 10px rgba(74,42,50,.28);
}

/* ===== Sneak Peek ===== */
.peek-btn{
  display:block;width:100%;margin-top:8px;padding:7px 0;
  background:transparent;border:1.4px solid var(--rose);border-radius:8px;
  color:var(--rose);font-family:var(--f-head);font-size:.82rem;letter-spacing:.06em;
  text-transform:uppercase;cursor:pointer;transition:all .15s ease;
}
.peek-btn:hover{background:var(--rose);color:#fff;}
.peek-modal{
  display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(74,42,50,.72);backdrop-filter:blur(3px);
  padding:24px;overflow-y:auto;
}
.peek-modal.open{display:flex;align-items:flex-start;justify-content:center;}
.peek-inner{
  background:var(--cream,#fbe4e8);border-radius:14px;max-width:760px;width:100%;
  margin:auto;padding:20px 20px 28px;position:relative;
  box-shadow:0 20px 60px rgba(74,42,50,.4);
}
.peek-close{
  position:absolute;top:10px;right:14px;background:none;border:none;
  font-size:2rem;line-height:1;color:var(--rose);cursor:pointer;
}
.peek-note{
  text-align:center;font-family:var(--f-body);font-size:.9rem;color:var(--ink);
  margin:6px 0 16px;font-style:italic;
}
.peek-imgs{display:flex;flex-direction:column;gap:16px;}
.peek-imgs img{
  width:100%;height:auto;border:1px solid var(--blush);border-radius:6px;
  box-shadow:0 4px 14px rgba(74,42,50,.15);
}
@media(min-width:600px){.peek-imgs{flex-direction:row;}.peek-imgs img{width:50%;}}
