/**
 * Dogology Private Training landing v2 — [dogology_private_v2] shortcode.
 * Converted from templates/mockup-private-v2.html. All rules scoped under
 * .dgv2 so nothing leaks into the theme; brand values are declared as local
 * custom properties on the wrapper (self-contained by design — this page's
 * palette is its own, not the --dgl-* token set).
 *
 * WP Rocket notes: contains ::before/::after pseudo-elements (.dgv2, .ice,
 * fit/plist checks), <details>[open] states, and SVG descendant selectors —
 * safelist .dgv2 in RUCSS if selectors get stripped in production.
 */
.dgv2{
  --teal:#00AB8E; --teal-deep:#0F766E; --blue:#0076BA;
  --ink:#0F172A; --body:#475569; --muted:#64748B;
  --border:#EEF0F4; --warm:#FAFAFA; --white:#FFFFFF;
  --grad:linear-gradient(135deg,#00AB8E,#0076BA);
  --grad-dark:linear-gradient(135deg,#5EEAD4,#7DD3FC);
  --font:'Kanit','Noto Sans Thai',sans-serif;
  font-family:var(--font);color:var(--body);background:var(--white);
  line-height:1.7;-webkit-font-smoothing:antialiased;font-size:16px;
}
.dgv2 *{margin:0;padding:0;box-sizing:border-box;}
.dgv2 img,.dgv2 svg{max-width:100%;}
.dgv2 a{text-decoration:none;}
.dgv2 .wrap{max-width:1040px;margin:0 auto;padding:0 24px;}
.dgv2 .wrap--read{max-width:840px;}
.dgv2 .sec{padding:88px 0;}
.dgv2 .sec--warm{background:var(--warm);}
.dgv2 .sec--dark{background:var(--ink);}
.dgv2 .eyebrow{display:block;font-size:.74rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal);margin-bottom:16px;text-align:center;}
.dgv2 .eyebrow::after{content:" ──";color:var(--border);}
.dgv2 h2.sec-title{font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:800;letter-spacing:-.015em;color:var(--ink);line-height:1.3;margin-bottom:14px;text-align:center;}
.dgv2 .sec-lead{font-size:1.05rem;color:var(--body);max-width:640px;margin:0 auto 40px;text-align:center;}
.dgv2 .sublabel{display:block;font-size:.74rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0 0 18px;text-align:center;}
.dgv2 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

.dgv2 .btn{display:inline-block;padding:15px 36px;border-radius:9999px;background:var(--grad);color:#fff;font-family:var(--font);font-size:1rem;font-weight:700;text-decoration:none;border:none;cursor:pointer;}
.dgv2 .btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--border);}

/* illustrated icons (masked, single brand color) */
.dgv2 .icn{display:block;width:56px;height:56px;background:var(--teal);
  -webkit-mask-image:var(--i);mask-image:var(--i);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;}
.dgv2 .icn--teal{background:var(--teal);}

/* coin: normalizes icon shapes/weights into one consistent unit */
.dgv2 .coin{width:72px;height:72px;border-radius:50%;background:#E6F7F3;display:flex;align-items:center;justify-content:center;flex:none;}
.dgv2 .coin .icn{width:38px;height:38px;}
.dgv2 .coin--warm{background:#F1F5F9;}
.dgv2 .coin--white{background:var(--white);}
.dgv2 .coin--sm{width:56px;height:56px;}
.dgv2 .coin--sm .icn{width:30px;height:30px;}
.dgv2 .coin--center{margin:0 auto 20px;}

/* standard line icons (functional items) */
.dgv2 .lic{width:30px;height:30px;stroke:var(--teal);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.dgv2 .coin--sm .lic{width:25px;height:25px;}

/* ===== HERO ===== */
.dgv2 .hero{padding:110px 0 90px;text-align:center;}
.dgv2 .hero .eyebrow{margin-bottom:22px;}
.dgv2 .hero .eyebrow::after{content:"";}
.dgv2 .hero h1{font-size:clamp(1.9rem,5vw,3.1rem);font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.25;margin-bottom:26px;}
.dgv2 .hero__deliberate{font-size:clamp(1.05rem,2.2vw,1.35rem);color:var(--body);max-width:600px;margin:0 auto 40px;}
.dgv2 .hero__deliberate .grad{font-weight:700;}
.dgv2 .hero__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center;}
.dgv2 .hero__hint{display:block;margin-top:18px;font-size:.85rem;color:var(--muted);text-decoration:none;}

/* ===== FIT ===== */
.dgv2 .fit{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:760px){.dgv2 .fit{grid-template-columns:1fr 1fr;}}
.dgv2 .fit__col{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:34px 34px;}
.dgv2 .fit__col h3{font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:18px;}
.dgv2 .fit__col ul{list-style:none;}
.dgv2 .fit__col li{font-size:.95rem;padding:8px 0 8px 30px;position:relative;line-height:1.6;}
.dgv2 .fit__col--yes li::before{content:"";position:absolute;left:2px;top:16px;width:7px;height:4px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg);}
.dgv2 .fit__col--yes li::after{content:"";position:absolute;left:-3px;top:11px;width:16px;height:16px;border-radius:50%;background:#E6F7F3;z-index:-1;}
.dgv2 .fit__col--no{background:var(--warm);}
.dgv2 .fit__col--no li{color:var(--muted);}
.dgv2 .fit__col--no li::before{content:"";position:absolute;left:2px;top:19px;width:12px;height:2px;background:#CBD5E1;border-radius:2px;}
.dgv2 .fit__referral{margin:22px auto 0;font-size:.9rem;color:var(--muted);max-width:640px;text-align:center;}

/* ===== PROGRAM PANELS ===== */
.dgv2 .panel{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:46px 46px;max-width:920px;margin:0 auto;}
@media(max-width:600px){.dgv2 .panel{padding:32px 24px;}}
.dgv2 .panel__head{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start;margin-bottom:34px;}
.dgv2 .panel__name{font-size:clamp(1.4rem,3vw,1.85rem);font-weight:800;color:var(--ink);letter-spacing:-.01em;line-height:1.3;}
.dgv2 .panel__who{font-size:.92rem;color:var(--muted);margin-top:4px;}
.dgv2 .panel__price{text-align:right;}
.dgv2 .panel__price .total{font-size:1.5rem;font-weight:800;color:var(--ink);}
.dgv2 .panel__price .today{font-size:.9rem;color:var(--teal);font-weight:600;margin-top:2px;}
.dgv2 .panel__price .today b{font-size:1.05rem;}
.dgv2 .panel__price .mid{font-size:.8rem;font-weight:400;color:#94A3B8;margin-top:2px;}

.dgv2 .panel h4{font-size:.74rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0 0 18px;}

/* lesson arc */
.dgv2 .arc{margin-bottom:38px;}
.dgv2 .arc__item{display:grid;grid-template-columns:44px 1fr;gap:16px;position:relative;padding-bottom:22px;}
.dgv2 .arc__item:last-child{padding-bottom:0;}
.dgv2 .arc__item::before{content:"";position:absolute;left:21px;top:46px;bottom:-2px;width:2px;background:var(--border);}
.dgv2 .arc__item:last-child::before{display:none;}
.dgv2 .arc__dot{width:44px;height:44px;border-radius:50%;background:var(--white);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--muted);z-index:1;}
.dgv2 .arc__item--start .arc__dot{border-color:transparent;background:var(--grad);color:#fff;}
.dgv2 .arc__head{font-size:1rem;font-weight:700;color:var(--ink);line-height:1.4;padding-top:8px;}
.dgv2 .arc__item--start .arc__head{padding-top:0;}
.dgv2 .arc__badge{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;background:var(--grad);padding:3px 10px;border-radius:9999px;margin-left:8px;vertical-align:2px;}
.dgv2 .arc__badge--home{background:#E2E8F0;color:#475569;}
.dgv2 .arc__note{font-size:.88rem;color:var(--body);line-height:1.6;}

/* why online */
.dgv2 .why{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:34px;}
@media(min-width:760px){.dgv2 .why{grid-template-columns:1fr 1fr 1fr;}}
.dgv2 .why__item{background:var(--warm);border-radius:16px;padding:24px 22px;}
.dgv2 .why__item .coin{margin-bottom:16px;}
.dgv2 .why__item b{display:block;font-size:.95rem;font-weight:700;color:var(--ink);margin-bottom:6px;}
.dgv2 .why__item p{font-size:.86rem;color:var(--body);line-height:1.6;}
.dgv2 .panel__early{padding:18px 22px;background:#E6F7F3;border-radius:14px;font-size:.95rem;color:var(--teal-deep);font-weight:500;line-height:1.6;margin-bottom:34px;display:flex;gap:16px;align-items:center;}
.dgv2 .panel__early .icn{flex:none;}
.dgv2 .panel__cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.dgv2 .panel__cta .note{font-size:.84rem;color:var(--muted);}
/* mobile: center the whole program panel (header, section labels, CTA, note,
   behavioral upsell). Desktop keeps the name-left / price-right header. */
@media(max-width:759px){
  .dgv2 .panel__head{flex-direction:column;align-items:center;text-align:center;}
  .dgv2 .panel__price{text-align:center;}
  .dgv2 .panel h4{text-align:center;}
  .dgv2 .panel__cta{flex-direction:column;align-items:center;text-align:center;gap:12px;}
  .dgv2 .panel__after{text-align:center;margin-left:auto;margin-right:auto;}
}

/* behavioral panel list */
.dgv2 .plist{list-style:none;margin-bottom:30px;}
.dgv2 .plist li{font-size:.96rem;padding:6px 0 6px 32px;position:relative;line-height:1.55;}
.dgv2 .plist li::before{content:"";position:absolute;left:0;top:9px;width:18px;height:18px;border-radius:50%;background:#E6F7F3;}
.dgv2 .plist li::after{content:"";position:absolute;left:5px;top:14px;width:7px;height:4px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg);}
.dgv2 .panel__after{font-size:.86rem;color:var(--muted);margin:22px 0 30px;max-width:680px;}

/* ===== MANIFESTO ===== */
.dgv2 .manifesto{max-width:720px;margin:0 auto;text-align:center;}
.dgv2 .manifesto h2{font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:800;letter-spacing:-.015em;color:var(--ink);line-height:1.35;margin-bottom:24px;}
.dgv2 .manifesto p{font-size:1.02rem;color:var(--body);margin-bottom:14px;}
.dgv2 .manifesto p strong{color:var(--ink);font-weight:700;}
.dgv2 .mscene{position:relative;width:min(460px,88vw);aspect-ratio:2/1;margin:0 auto 4px;}
.dgv2 .ms-el{position:absolute;}
.dgv2 .ms-el svg{width:100%;height:auto;display:block;}
.dgv2 .ms-el svg path{fill:currentColor;}
.dgv2 .ms-shadow{position:absolute;border-radius:50%;background:rgba(15,23,42,.10);filter:blur(2px);}

/* ===== ICEBERG ===== */
.dgv2 .ice{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;max-width:840px;margin:10px auto 0;}
.dgv2 .icard summary{list-style:none;cursor:default;display:block;position:relative;}
.dgv2 .icard summary::-webkit-details-marker{display:none;}
.dgv2 .icard summary::marker{display:none;}
.dgv2 .icard>p{margin-top:6px;}
@media(max-width:767px){
  /* vertical metaphor: 10% card above water, iceberg straddling the line, 90% card submerged */
  /* The water band bleeds -50vw each side; clip it at the shortcode root so
     it can't cause horizontal scroll inside the theme's page container. */
  .dgv2{overflow-x:hidden;overflow-x:clip;}
  .dgv2 .ice{display:flex;flex-direction:column;gap:20px;position:relative;}
  .dgv2 .ice::before{content:'';position:absolute;top:var(--ice-water,55%);bottom:-24px;left:-50vw;right:-50vw;background:linear-gradient(to bottom,rgba(0,118,186,.05),rgba(0,118,186,.14));z-index:0;pointer-events:none;}
  .dgv2 .ice .ice__cards{display:contents;}
  .dgv2 .ice__art{order:2;max-width:230px !important;width:100%;margin:4px auto;z-index:1;}
  .dgv2 .ice__cards>.icard:nth-of-type(1){order:1;}
  .dgv2 .ice__cards>.icard:nth-of-type(2){order:3;}
  .dgv2 .ice__cards>.icard{position:relative;z-index:1;box-shadow:0 8px 22px rgba(15,23,42,.06);}
}
.dgv2 .ice__art{position:relative;width:100%;max-width:300px;}
.dgv2 .ice__water{position:absolute;left:-8%;right:-8%;top:43.1%;border-top:2px dashed rgba(0,118,186,.35);}
.dgv2 .ice__cards{display:flex;flex-direction:column;gap:16px;width:100%;}
.dgv2 .icard{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:22px 26px;}
.dgv2 .icard--under{background:#E6F7F3;border-color:transparent;}
.dgv2 .icard__head{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;}
.dgv2 .icard__pct{font-size:1.4rem;font-weight:800;color:var(--muted);}
.dgv2 .icard--under .icard__pct{color:var(--teal-deep);}
.dgv2 .icard__label{font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);}
.dgv2 .icard--under .icard__label{color:var(--teal-deep);}
.dgv2 .icard__title{font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:6px;}
.dgv2 .icard p{font-size:.9rem;color:var(--body);line-height:1.65;}
.dgv2 .icard--under p{color:var(--teal-deep);}
.dgv2 .ice__cta{max-width:680px;margin:48px auto 64px;text-align:center;font-size:1.12rem;color:var(--body);line-height:1.8;}
.dgv2 .ice__cta b{color:var(--ink);font-weight:700;}
.dgv2 .ice__cta b.t{color:var(--teal);}

/* ===== PILLARS / SKILLS / SUPPORT ===== */
.dgv2 .pillars{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:56px;}
@media(min-width:760px){.dgv2 .pillars{grid-template-columns:1fr 1fr;}}
.dgv2 .pillar{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:28px 30px;}
.dgv2 .pillar__top{display:flex;gap:18px;align-items:center;margin-bottom:14px;}
.dgv2 .pillar__en{font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin-bottom:2px;}
.dgv2 .pillar__title{font-size:1.15rem;font-weight:800;color:var(--ink);}
.dgv2 .pillar p{font-size:.9rem;color:var(--body);line-height:1.65;}
.dgv2 .skills{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:44px;}
@media(min-width:640px){.dgv2 .skills{grid-template-columns:1fr 1fr;}}
@media(min-width:920px){.dgv2 .skills{grid-template-columns:1fr 1fr 1fr;}}
.dgv2 .skill{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:24px 24px;display:flex;gap:18px;align-items:flex-start;}
.dgv2 .skill b{display:block;font-size:1rem;font-weight:700;color:var(--ink);margin:4px 0 6px;}
.dgv2 .skill p{font-size:.88rem;color:var(--body);line-height:1.6;}
.dgv2 .support{background:var(--white);border:1px solid var(--border);border-radius:20px;padding:34px 38px;}
.dgv2 .support h3{font-size:1.15rem;font-weight:800;color:var(--ink);margin-bottom:6px;}
.dgv2 .support>p{font-size:.92rem;color:var(--muted);margin-bottom:22px;}
.dgv2 .support__row{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:760px){.dgv2 .support__row{grid-template-columns:1fr 1fr 1fr;}}
.dgv2 .support__item{display:flex;gap:14px;align-items:flex-start;}
.dgv2 .support__item b{display:block;font-size:.95rem;font-weight:700;color:var(--ink);margin:2px 0 4px;}
.dgv2 .support__item p{font-size:.85rem;color:var(--body);line-height:1.6;}
.dgv2 .support__tag{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--teal-deep);background:#E6F7F3;padding:2px 8px;border-radius:9999px;margin-left:6px;vertical-align:1px;}

/* ===== CAPACITY ===== */
.dgv2 .cap{max-width:760px;margin:0 auto;}
.dgv2 .cap__list{display:grid;gap:14px;}
.dgv2 .cap__item{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:22px 26px;display:flex;gap:18px;align-items:flex-start;}
.dgv2 .cap__num{flex:none;width:34px;height:34px;border-radius:50%;background:#E6F7F3;color:var(--teal-deep);font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.dgv2 .cap__item b{display:block;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:4px;}
.dgv2 .cap__item p{font-size:.9rem;color:var(--body);line-height:1.7;}
.dgv2 .cap__note{text-align:center;font-size:.92rem;color:var(--muted);margin-top:26px;}
.dgv2 .cap__note b{color:var(--ink);font-weight:700;}

/* ===== TRUST ===== */
.dgv2 .trainer{display:grid;grid-template-columns:1fr;gap:36px;margin-bottom:40px;}
.dgv2 .beliefs{margin-top:24px;border-top:1px solid var(--border);padding-top:20px;}
.dgv2 .beliefs__heading{font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--teal);margin-bottom:14px;}
.dgv2 .beliefs__row{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;}
.dgv2 .beliefs__row:last-child{margin-bottom:0;}
.dgv2 .beliefs__coin{flex:none;width:42px;height:42px;border-radius:50%;background:#E6F7F3;display:flex;align-items:center;justify-content:center;}
.dgv2 .beliefs__coin svg{width:21px;height:21px;fill:none;stroke:var(--teal);}
.dgv2 .beliefs__copy{flex:1;}
.dgv2 .beliefs__label{display:block;font-size:.98rem;font-weight:700;color:var(--ink);margin-bottom:2px;}
.dgv2 .beliefs__text{font-size:.9rem;font-weight:300;color:var(--body);line-height:1.6;}
.dgv2 .certs{margin-bottom:64px;text-align:center;}
.dgv2 .certs__eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.dgv2 .certs__logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;}
.dgv2 .certs__item img{height:90px;width:auto;display:block;transition:transform .18s ease;}
.dgv2 .certs__item:hover img{transform:scale(1.05);}
@media(max-width:600px){.dgv2 .certs__logos{gap:20px;}.dgv2 .certs__item img{height:68px;}}
@media(min-width:760px){.dgv2 .trainer{grid-template-columns:280px 1fr;align-items:center;}}
.dgv2 .trainer__photo{display:flex;align-items:center;justify-content:center;}
.dgv2 .trainer__photo img{width:min(260px,70vw);height:auto;display:block;}
.dgv2 .trainer__body h3{font-size:1.4rem;font-weight:800;color:var(--ink);margin-bottom:12px;letter-spacing:-.01em;}
.dgv2 .trainer__body p{font-size:.98rem;color:var(--body);margin-bottom:12px;}
/* mobile: photo centers above, so center the heading + bio to match (beliefs
   rows below keep their left-aligned icon layout) */
@media(max-width:759px){
  .dgv2 .trainer__body > h3,
  .dgv2 .trainer__body > p{text-align:center;}
}
.dgv2 .case{background:var(--white);border:1px solid var(--border);border-radius:24px;padding:44px 46px;}
@media(max-width:600px){.dgv2 .case{padding:30px 24px;}}
.dgv2 .case__tag{display:block;text-align:center;font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin-bottom:12px;}
.dgv2 .case__title{font-size:1.35rem;font-weight:800;color:var(--ink);letter-spacing:-.01em;margin-bottom:8px;text-align:center;}
.dgv2 .case__intro{font-size:.95rem;color:var(--body);max-width:640px;margin:0 auto 30px;text-align:center;}
.dgv2 .case__context{font-size:1rem;color:var(--body);line-height:1.75;max-width:700px;margin:0 auto 36px;padding:20px 24px;background:var(--warm);border-radius:14px;text-align:center;}
.dgv2 .case__context .grad{font-weight:700;}
.dgv2 .case__review{display:block;margin-top:36px;padding:26px 30px;background:var(--warm);border:1px solid var(--border);border-radius:16px;text-decoration:none;transition:box-shadow .18s ease,transform .18s ease;}
.dgv2 .case__review:hover{box-shadow:0 8px 24px rgba(15,23,42,.08);transform:translateY(-2px);}
.dgv2 .case__review-badge{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.dgv2 .case__stars{color:#FBB800;font-size:.9rem;letter-spacing:2px;}
.dgv2 .case__review-src{font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#B57F00;}
.dgv2 .case__review-photos{display:flex;gap:10px;margin-bottom:16px;}
.dgv2 .case__review-photos img{width:calc(50% - 5px);height:210px;object-fit:cover;border-radius:12px;display:block;}
.dgv2 .case__review p{font-size:1.02rem;color:var(--ink);line-height:1.75;margin-bottom:14px;}
.dgv2 .case__review-cite{display:flex;align-items:center;gap:12px;}
.dgv2 .case__review-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.dgv2 .case__review-cite-text{display:flex;flex-direction:column;gap:2px;}
.dgv2 .case__review-name{font-size:.84rem;font-weight:700;color:var(--body);}
.dgv2 .case__review-more{font-size:.82rem;font-weight:600;color:#B57F00;}
.dgv2 .case__review:hover .case__review-more{text-decoration:underline;}
.dgv2 .case__review .grad{background:linear-gradient(180deg,transparent 58%,rgba(251,184,0,.40) 58%);-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:var(--ink);font-weight:700;padding:0 1px;}
.dgv2 .tl__en{display:block;font-size:.66rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin-bottom:2px;}
.dgv2 .tl__item{display:grid;grid-template-columns:92px 1fr;gap:18px;position:relative;padding-bottom:24px;}
.dgv2 .tl__item:last-child{padding-bottom:0;}
.dgv2 .tl__item::before{content:"";position:absolute;left:104px;top:8px;bottom:0;width:2px;background:var(--border);}
.dgv2 .tl__item:last-child::before{display:none;}
.dgv2 .tl__week{font-size:.8rem;font-weight:700;color:var(--teal);text-align:right;padding-top:1px;}
.dgv2 .tl__body{padding-left:26px;position:relative;}
.dgv2 .tl__body::before{content:"";position:absolute;left:-5px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--teal);}
.dgv2 .tl__body b{display:block;font-size:.95rem;font-weight:700;color:var(--ink);margin-bottom:2px;}
.dgv2 .tl__body p{font-size:.88rem;color:var(--body);line-height:1.6;}

/* ===== TESTIMONIALS ===== */
.dgv2 .review-featured{margin-top:20px;background:var(--white);border:1px solid var(--border);border-radius:20px;padding:36px 40px;position:relative;}
.dgv2 .review-featured::before{content:"\201C";position:absolute;top:2px;left:22px;font-size:4rem;line-height:1;color:var(--teal);opacity:.14;font-family:Georgia,serif;}
.dgv2 .review-featured__quote{font-size:1.12rem;font-weight:600;color:var(--ink);line-height:1.7;margin-bottom:16px;position:relative;}
.dgv2 .review-featured__body{font-size:1rem;color:var(--body);line-height:1.75;margin-bottom:22px;}
.dgv2 .review-featured__who{display:flex;align-items:center;gap:12px;font-size:.84rem;color:var(--muted);}
.dgv2 .review-featured__avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.dgv2 .review-featured__who-text{display:flex;flex-direction:column;}
.dgv2 .review-featured__who b{display:block;font-size:.95rem;color:var(--ink);font-weight:700;margin-bottom:1px;}
@media(max-width:600px){.dgv2 .review-featured{padding:28px 24px;}}
.dgv2 .testi{display:grid;grid-template-columns:1fr;gap:16px;margin-top:26px;align-items:stretch;}
@media(min-width:640px){.dgv2 .testi{grid-template-columns:1fr 1fr;}}
@media(min-width:920px){.dgv2 .testi{grid-template-columns:1fr 1fr 1fr;}}
.dgv2 .testi__card{background:var(--warm);border-radius:18px;padding:26px 26px;display:flex;flex-direction:column;gap:14px;}
.dgv2 .testi__card p{font-size:.92rem;color:var(--body);line-height:1.7;flex:1;}
.dgv2 .testi__who{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--muted);}
.dgv2 .testi__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.dgv2 .testi__who-text{display:flex;flex-direction:column;}
.dgv2 .testi__who b{display:block;font-size:.88rem;color:var(--ink);font-weight:700;}

/* ===== FAQ ===== */

.dgv2 .faq{max-width:760px;margin:0 auto;}
.dgv2 .faq details{border-bottom:1px solid var(--border);}
.dgv2 .faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-size:1rem;font-weight:600;color:var(--ink);position:relative;}
.dgv2 .faq summary::-webkit-details-marker{display:none;}
.dgv2 .faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.3rem;font-weight:300;color:var(--muted);}
.dgv2 .faq details[open] summary::after{content:"−";}
.dgv2 .faq .a{padding:0 0 24px;font-size:.94rem;color:var(--body);max-width:660px;}

/* ===== CLOSER ===== */
.dgv2 .closer{text-align:center;}
.dgv2 .closer h2{font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:800;letter-spacing:-.015em;color:#fff;line-height:1.35;margin-bottom:14px;}
.dgv2 .closer h2 span{background:var(--grad-dark);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.dgv2 .closer p{font-size:1rem;color:#94A3B8;max-width:520px;margin:0 auto 36px;}
.dgv2 .closer__cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.dgv2 .btn--dark-ghost{background:transparent;color:#E2E8F0;border:1px solid #334155;}

/* ===== STICKY MOBILE CTA BAR ===== */
/* JS (.is-visible) shows it once the hero scrolls out; hidden again over the
   closer. LINE UA adds .stickybar--noline (chat is one tap away in-app). */
.dgv2 .stickybar{position:fixed;left:0;right:0;bottom:0;z-index:2147483000;display:none;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 -4px 20px rgba(15,23,42,.12);transform:translateY(110%);transition:transform .28s ease;}
.dgv2 .stickybar.is-visible{transform:translateY(0);}
.dgv2 .stickybar__book{flex:1;text-align:center;padding:13px 18px;font-size:.95rem;white-space:nowrap;}
.dgv2 .stickybar__line{flex:none;display:inline-flex;align-items:center;gap:7px;padding:12px 16px;border-radius:9999px;border:1.5px solid #06C755;color:#06C755;font-weight:700;font-size:.88rem;text-decoration:none;white-space:nowrap;background:#fff;}
.dgv2 .stickybar__line svg{width:18px;height:18px;fill:#06C755;flex:none;}
.dgv2 .stickybar--noline .stickybar__line{display:none;}
@media(max-width:759px){.dgv2 .stickybar{display:flex;}}

/* ===== BILINGUAL (TH default / EN via .dgv2.en) =====
   Both languages render in markup (.l-th / .l-en); CSS shows one.
   Cache-safe: a single cached HTML serves both languages. */
.dgv2:not(.en) .l-en{display:none!important;}
.dgv2.en .l-th{display:none!important;}

/* Language switcher — minimal pill, top-right (mirrors old .dgp-lang) */
.dgv2{position:relative;}
.dgv2 .dgv2-lang{position:absolute;top:14px;right:14px;z-index:60;display:inline-flex;align-items:center;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #EEF0F4;border-radius:9999px;padding:3px;font-size:.72rem;}
.dgv2 .dgv2-lang button,.dgv2 .dgv2-lang a{padding:.3rem .65rem;border:none;background:none;border-radius:9999px;font-family:var(--font);font-size:.72rem;font-weight:700;letter-spacing:.04em;color:#64748B;cursor:pointer;line-height:1;transition:color .2s ease,background .2s ease;}
.dgv2 .dgv2-lang button:hover,.dgv2 .dgv2-lang a:hover{color:#0F172A;}
.dgv2 .dgv2-lang button.is-active,.dgv2 .dgv2-lang a.is-active{background:#0F172A;color:#fff;}
.dgv2 .dgv2-lang button.is-active:hover,.dgv2 .dgv2-lang a.is-active:hover{color:#fff;}
.dgv2 .dgv2-lang a{text-decoration:none;}

/* ===== MOBILE HERO: fill the first screen =====
   svh = small viewport height (stable under mobile URL-bar collapse);
   ~64px allowance for the theme's sticky header. Content centers in the
   remaining space so the fold shows only the hero. */
@media(max-width:759px){
  .dgv2 .hero{min-height:calc(100vh - 64px);min-height:calc(100svh - 64px);display:flex;align-items:center;justify-content:center;padding:40px 0;}
}

/* ===== v3: HERO ROUTER + PROGRAM TOGGLE + DEAL BANDS ===== */
.dgv2 .hero__cap{color:var(--ink);font-weight:700;}
.dgv2 .rbtn{display:inline-block;padding:16px 34px;border-radius:9999px;font-family:var(--font);font-size:1.02rem;font-weight:700;cursor:pointer;border:none;transition:transform .15s ease;}
.dgv2 .rbtn:active{transform:scale(.98);}
.dgv2 .rbtn--puppy{background:var(--grad);color:#fff;box-shadow:0 6px 22px rgba(0,171,142,.35);}
.dgv2 .rbtn--behav{background:#fff;color:var(--ink);border:1.5px solid #CBD5E1;}
.dgv2 .rbtn--behav:hover{border-color:var(--teal);color:var(--teal-deep);}
.dgv2 .ptoggle-wrap{background:var(--warm);padding:34px 0 0;}
.dgv2 .ptoggle{display:flex;justify-content:center;}
.dgv2 .ptoggle__group{display:inline-flex;background:#E9EEF3;border-radius:9999px;padding:4px;gap:2px;}
.dgv2 .ptoggle button{padding:10px 22px;border:none;background:none;border-radius:9999px;font-family:var(--font);font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s ease;}
.dgv2 .ptoggle button.on{background:var(--ink);color:#fff;}
.dgv2 [data-panel-sec].sec-hidden{display:none;}
/* split pricing card: white body + dark deal band */
.dgv2 [data-panel-sec] .panel{box-shadow:0 18px 48px rgba(15,23,42,.14);border:none;padding-bottom:0;overflow:hidden;}
.dgv2 .panel__deal{background:var(--ink);margin:38px -46px 0;padding:30px 46px 32px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;}
@media(max-width:600px){.dgv2 .panel__deal{margin:30px -24px 0;padding:26px 24px 28px;flex-direction:column;align-items:stretch;text-align:center;}}
.dgv2 .panel__deal-price .d1{display:block;font-size:.9rem;color:#5EEAD4;font-weight:600;}
.dgv2 .panel__deal-price .d1 b{font-size:1.7rem;color:#fff;font-weight:800;margin-left:8px;}
.dgv2 .panel__deal-price .d2{display:block;font-size:.8rem;color:#94A3B8;margin-top:4px;}
.dgv2 .panel__deal-cta{flex:1;max-width:420px;}
@media(max-width:600px){.dgv2 .panel__deal-cta{max-width:none;}}
.dgv2 .panel__deal-cta .btn{display:block;width:100%;text-align:center;padding:16px 32px;font-size:1.02rem;box-shadow:0 8px 26px rgba(0,171,142,.45);}
.dgv2 .panel__deal-cta .note{display:block;margin-top:10px;font-size:.76rem;color:#94A3B8;line-height:1.5;}
/* hero router + closer buttons: equal width */
.dgv2 .hero__cta .rbtn,.dgv2 .closer__cta .btn{width:340px;max-width:100%;text-align:center;padding-left:20px;padding-right:20px;}
