/* partytranslator.com — USA build CSS */
/* Design: Dark editorial bento-grid — Midnight ink / Emerald / Sand */
/* Typography: DM Serif Display (headings) + IBM Plex Sans (body) */
/* Prefix: pt- */

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap');

/* ── DESIGN TOKENS ──────────────────────────────────────── */
:root {
  --pt-night:   #0D1117;
  --pt-ink:     #1A2332;
  --pt-slate:   #242D3B;
  --pt-steel:   #2E3A4C;
  --pt-leaf:    #1A6B5A;
  --pt-leaf2:   #145549;
  --pt-mint:    #2DD4BF;
  --pt-sand:    #D4B896;
  --pt-cream:   #F5EDE0;
  --pt-muted:   #6B7A8F;
  --pt-border:  rgba(255,255,255,.08);
  --pt-border2: rgba(255,255,255,.12);
  --pt-white:   #FFFFFF;
  --pt-red:     #E5534B;

  --pt-h-font: 'DM Serif Display', Georgia, serif;
  --pt-b-font: 'IBM Plex Sans', system-ui, sans-serif;

  --pt-r-sm: 6px;
  --pt-r:    12px;
  --pt-r-lg: 20px;
  --pt-r-xl: 28px;

  --pt-shadow: 0 2px 24px rgba(0,0,0,.35);
  --pt-glow:   0 0 40px rgba(26,107,90,.2);

  --pt-max: 1280px;
  --pt-pad: 1.5rem;
  --pt-ease: 0.28s cubic-bezier(0.4,0,0.2,1);
}

/* ── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;color-scheme:dark}
body{
  font-family: var(--pt-b-font);
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(255,255,255,.8);
  background: var(--pt-night);
  overflow-x: hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
input,textarea,select{font-family:inherit;font-size:1rem;outline:none;border:none;background:none}

/* ── LAYOUT CONTAINER ───────────────────────────────────── */
.pt-shell{
  max-width: var(--pt-max);
  margin: 0 auto;
  padding: 0 var(--pt-pad);
}

/* ── TYPOGRAPHY ─────────────────────────────────────────── */
h1,h2,h3,h4,h5{
  font-family: var(--pt-h-font);
  color: var(--pt-white);
  line-height: 1.15;
  letter-spacing: -0.01em;
}
h1{font-size: clamp(2.8rem,6vw,5.2rem)}
h2{font-size: clamp(2rem,3.5vw,3rem)}
h3{font-size: clamp(1.3rem,2vw,1.75rem)}
h4{font-size: 1.15rem}

.pt-tag{
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pt-mint);
  padding: 0.3rem 0.75rem;
  border: 1px solid rgba(45,212,191,.25);
  border-radius: 50px;
  margin-bottom: 1.25rem;
}

/* ── BUTTONS ────────────────────────────────────────────── */
.pt-cta{
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 2rem;
  border-radius: var(--pt-r);
  font-family: var(--pt-b-font);
  font-size: 0.95rem;
  font-weight: 600;
  transition: var(--pt-ease);
  white-space: nowrap;
}
.pt-cta--leaf{
  background: var(--pt-leaf);
  color: var(--pt-white);
}
.pt-cta--leaf:hover{
  background: var(--pt-leaf2);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(26,107,90,.4);
}
.pt-cta--outline{
  border: 1.5px solid var(--pt-border2);
  color: rgba(255,255,255,.8);
}
.pt-cta--outline:hover{
  border-color: var(--pt-mint);
  color: var(--pt-mint);
  background: rgba(45,212,191,.05);
}
.pt-cta--sand{
  background: var(--pt-sand);
  color: var(--pt-night);
}
.pt-cta--sand:hover{
  background: var(--pt-cream);
  transform: translateY(-2px);
}
.pt-cta svg{width:15px;height:15px}

/* ── NAVIGATION — Floating pill bar ──────────────────────── */
.pt-topbar{
  position: fixed;
  top: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 900;
  width: calc(100% - 3rem);
  max-width: 1080px;
  background: rgba(13,17,23,.8);
  backdrop-filter: blur(16px);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  height: 60px;
  gap: 1.5rem;
  transition: box-shadow var(--pt-ease);
}
.pt-topbar.is-stuck{
  box-shadow: 0 4px 32px rgba(0,0,0,.5);
}
.pt-bar-brand{
  font-family: var(--pt-h-font);
  font-size: 1.3rem;
  color: var(--pt-white);
  letter-spacing: -0.02em;
  flex-shrink: 0;
}
.pt-bar-brand em{color: var(--pt-mint); font-style: normal;}
.pt-bar-nav{
  display: flex;
  align-items: center;
  gap: 0.15rem;
  flex: 1;
  justify-content: center;
}
.pt-bar-link{
  font-size: 1rem;
  font-weight: 500;
  color: rgba(255,255,255,.6);
  padding: 0.4rem 0.9rem;
  border-radius: var(--pt-r);
  transition: color var(--pt-ease), background var(--pt-ease);
  position: relative;
}
.pt-bar-link:hover{
  color: var(--pt-white);
  background: rgba(255,255,255,.06);
}
.pt-bar-link.is-cur{color: var(--pt-mint);}
.pt-bar-right{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

/* Dropdown */
.pt-bar-drop{position:relative;}
.pt-bar-drop:hover .pt-drop-panel{opacity:1;visibility:visible;transform:translateY(0)}
.pt-drop-panel{
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  min-width: 260px;
  background: var(--pt-slate);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-lg);
  padding: 0.5rem;
  box-shadow: var(--pt-shadow);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
  z-index: 10;
}
.pt-drop-link{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 0.9rem;
  border-radius: var(--pt-r);
  font-size: 0.88rem;
  font-weight: 500;
  color: rgba(255,255,255,.7);
  transition: background var(--pt-ease), color var(--pt-ease);
}
.pt-drop-link:hover{
  background: rgba(255,255,255,.06);
  color: var(--pt-mint);
}
.pt-drop-link-dot{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pt-bar-burger{
  display: none;
  flex-direction: column;
  gap: 4px;
  padding: 0.5rem;
  border-radius: var(--pt-r-sm);
}
.pt-bar-burger span{
  display: block;
  width: 22px;
  height: 2px;
  background: rgba(255,255,255,.7);
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.25s;
}
.pt-bar-burger.is-open span:nth-child(1){transform: translateY(6px) rotate(45deg);}
.pt-bar-burger.is-open span:nth-child(2){opacity:0;}
.pt-bar-burger.is-open span:nth-child(3){transform: translateY(-6px) rotate(-45deg);}

/* Mobile drawer */
.pt-drawer{
  position: fixed;
  inset: 0;
  background: var(--pt-night);
  z-index: 800;
  padding: 5rem var(--pt-pad) 2rem;
  overflow-y: auto;
  transform: translateY(-100%);
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
.pt-drawer.is-open{transform: translateY(0);}
.pt-drawer a{
  display: block;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--pt-border);
  font-size: 1.25rem;
  color: rgba(255,255,255,.85);
  font-family: var(--pt-h-font);
}
.pt-drawer a:hover{color: var(--pt-mint);}
.pt-drawer-cta{margin-top:1.5rem;}

/* ── HERO — Bento-grid layout ────────────────────────────── */
.pt-hero-zone{
  padding: 8rem 0 5rem;
  background: var(--pt-night);
}
.pt-hero-top{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 3rem;
  align-items: center;
  margin-bottom: 2.5rem;
}
.pt-hero-copy{}
.pt-hero-h1{
  font-size: clamp(3rem,6.5vw,5.5rem);
  line-height: 1.06;
  margin-bottom: 1.5rem;
  color: var(--pt-white);
}
.pt-hero-h1 em{
  color: var(--pt-mint);
  font-style: italic;
}
.pt-hero-sub{
  font-size: 1.05rem;
  color: var(--pt-muted);
  line-height: 1.72;
  max-width: 44ch;
  margin-bottom: 2.5rem;
}
.pt-hero-actions{
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.pt-hero-right{}
.pt-hero-img{
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--pt-r-xl);
  border: 1px solid var(--pt-border);
}

/* Bento grid under hero */
.pt-bento{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto;
  gap: 1rem;
}
.pt-bento-cell{
  background: var(--pt-slate);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-lg);
  padding: 1.75rem;
  position: relative;
  overflow: hidden;
  transition: border-color var(--pt-ease), transform var(--pt-ease);
}
.pt-bento-cell:hover{
  border-color: var(--pt-border2);
  transform: translateY(-2px);
}
.pt-bento-cell--wide{ grid-column: span 2; }
.pt-bento-cell--tall{ grid-row: span 2; }
.pt-bento-cell--leaf{
  background: var(--pt-leaf);
  border-color: transparent;
}
.pt-bento-cell--leaf:hover{ border-color: rgba(45,212,191,.3); }
.pt-bento-num{
  font-family: var(--pt-h-font);
  font-size: 3.5rem;
  color: var(--pt-white);
  line-height: 1;
  margin-bottom: 0.4rem;
}
.pt-bento-label{
  font-size: 0.82rem;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.pt-bento-quote{
  font-family: var(--pt-h-font);
  font-size: 1.25rem;
  font-style: italic;
  color: var(--pt-white);
  line-height: 1.4;
}
.pt-bento-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  border-radius: var(--pt-r-lg);
  opacity: 0.6;
}

/* ── SECTION WRAPPERS ───────────────────────────────────── */
.pt-section{padding: 7rem 0;}
.pt-section--sm{padding: 4rem 0;}
.pt-section--alt{
  background: var(--pt-ink);
  padding: 7rem 0;
}

/* ── SERVICE CARDS ──────────────────────────────────────── */
.pt-svc-list{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--pt-border);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  overflow: hidden;
  margin-top: 4rem;
}
.pt-svc-entry{
  background: var(--pt-night);
  padding: 2.5rem;
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  transition: background var(--pt-ease);
  text-decoration: none;
  position: relative;
}
.pt-svc-entry:hover{background: var(--pt-ink);}
.pt-svc-entry:hover .pt-svc-arrow-icon{transform: translate(3px,-3px); opacity:1;}
.pt-svc-entry-dot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.45rem;
}
.pt-svc-entry-body{flex:1}
.pt-svc-entry-name{
  font-family: var(--pt-h-font);
  font-size: 1.4rem;
  color: var(--pt-white);
  margin-bottom: 0.5rem;
}
.pt-svc-entry-desc{
  font-size: 0.88rem;
  color: var(--pt-muted);
  line-height: 1.62;
  margin-bottom: 0.75rem;
}
.pt-svc-entry-price{
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--pt-mint);
  letter-spacing: 0.03em;
}
.pt-svc-arrow-icon{
  position: absolute;
  top: 1.75rem;
  right: 1.75rem;
  opacity: 0.25;
  transition: transform var(--pt-ease), opacity var(--pt-ease);
  color: var(--pt-mint);
}
.pt-svc-arrow-icon svg{width:18px;height:18px;}

/* ── ABOUT STRIP ────────────────────────────────────────── */
.pt-about-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
  align-items: center;
}
.pt-about-img-stack{
  position: relative;
}
.pt-about-img-main{
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: var(--pt-r-xl);
  border: 1px solid var(--pt-border);
}
.pt-about-img-accent{
  position: absolute;
  bottom: -2rem;
  right: -2rem;
  width: 55%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--pt-r-lg);
  border: 4px solid var(--pt-night);
}
.pt-about-badge{
  position: absolute;
  top: 2rem;
  left: -2rem;
  background: var(--pt-leaf);
  border-radius: var(--pt-r-lg);
  padding: 1.25rem 1.5rem;
  border: 1px solid rgba(45,212,191,.2);
  box-shadow: var(--pt-shadow);
}
.pt-about-badge-num{
  font-family: var(--pt-h-font);
  font-size: 2.8rem;
  color: var(--pt-white);
  line-height: 1;
}
.pt-about-badge-txt{
  font-size: 0.78rem;
  font-weight: 600;
  color: rgba(255,255,255,.65);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 0.25rem;
}
.pt-about-body h2{margin-bottom:1.25rem;}
.pt-about-body p{color: var(--pt-muted); margin-bottom:1rem; line-height:1.72;}
.pt-about-stats{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 2.5rem;
}
.pt-stat-block{
  padding: 1.25rem;
  background: var(--pt-slate);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-lg);
}
.pt-stat-num{
  font-family: var(--pt-h-font);
  font-size: 2.2rem;
  color: var(--pt-white);
  line-height: 1;
}
.pt-stat-lbl{
  font-size: 0.8rem;
  color: var(--pt-muted);
  margin-top: 0.3rem;
}

/* ── PROCESS ────────────────────────────────────────────── */
.pt-proc-wrap{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1.5rem;
  margin-top: 4rem;
}
.pt-proc-step{
  padding: 2rem;
  background: var(--pt-slate);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  position: relative;
}
.pt-proc-step::before{
  content: '';
  position: absolute;
  top: 2rem;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--pt-leaf), transparent);
  border-radius: 2px;
  transform-origin: left;
}
.pt-proc-num{
  font-family: var(--pt-h-font);
  font-size: 2.5rem;
  color: var(--pt-leaf);
  opacity: 0.4;
  line-height: 1;
  margin-bottom: 1rem;
}
.pt-proc-h{
  font-family: var(--pt-h-font);
  font-size: 1.15rem;
  color: var(--pt-white);
  margin-bottom: 0.6rem;
}
.pt-proc-p{font-size:0.88rem; color: var(--pt-muted); line-height:1.65;}

/* ── TESTIMONIALS ───────────────────────────────────────── */
.pt-testi-grid{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1rem;
  margin-top: 4rem;
}
.pt-testi-block{
  background: var(--pt-slate);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  padding: 2rem;
}
.pt-testi-block.is-featured{
  background: var(--pt-leaf);
  border-color: rgba(45,212,191,.25);
}
.pt-testi-stars{
  display: flex;
  gap: 3px;
  margin-bottom: 1rem;
}
.pt-testi-star{
  width: 14px;
  height: 14px;
  color: var(--pt-sand);
}
.pt-testi-quote{
  font-size: 0.95rem;
  line-height: 1.72;
  color: rgba(255,255,255,.75);
  margin-bottom: 1.5rem;
  font-style: italic;
  font-family: var(--pt-h-font);
  font-size: 1.05rem;
}
.pt-testi-block.is-featured .pt-testi-quote{color: rgba(255,255,255,.88);}
.pt-testi-author{
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-top: 1px solid var(--pt-border);
  padding-top: 1rem;
}
.pt-testi-avatar{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--pt-leaf);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pt-h-font);
  font-size: 1rem;
  color: var(--pt-white);
  flex-shrink: 0;
}
.pt-testi-block.is-featured .pt-testi-avatar{background: rgba(0,0,0,.2);}
.pt-testi-name{font-weight:600; font-size:0.88rem; color: var(--pt-white);}
.pt-testi-meta{font-size:0.78rem; color: var(--pt-muted); margin-top:0.1rem;}

/* ── CASE STUDIES ───────────────────────────────────────── */
.pt-cases-row{
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 1rem;
  margin-top: 4rem;
}
.pt-case-block{
  background: var(--pt-slate);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  overflow: hidden;
  transition: transform var(--pt-ease), border-color var(--pt-ease);
  display: flex;
  flex-direction: column;
}
.pt-case-block:hover{
  transform: translateY(-3px);
  border-color: var(--pt-border2);
}
.pt-case-thumb{
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.pt-case-info{
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.pt-case-tag{
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pt-mint);
  margin-bottom: 0.6rem;
}
.pt-case-title{
  font-family: var(--pt-h-font);
  font-size: 1.15rem;
  color: var(--pt-white);
  margin-bottom: 0.6rem;
}
.pt-case-desc{
  font-size: 0.85rem;
  color: var(--pt-muted);
  line-height: 1.62;
  flex: 1;
  margin-bottom: 1rem;
}
.pt-case-pills{
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.pt-case-pill{
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.25rem 0.65rem;
  background: rgba(255,255,255,.06);
  border-radius: 50px;
  color: rgba(255,255,255,.55);
}

/* ── PRICING ────────────────────────────────────────────── */
.pt-plans-grid{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1rem;
  margin-top: 4rem;
  align-items: start;
}
.pt-plan-card{
  background: var(--pt-slate);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  overflow: hidden;
  transition: border-color var(--pt-ease), box-shadow var(--pt-ease);
}
.pt-plan-card:hover{
  border-color: var(--pt-border2);
  box-shadow: var(--pt-shadow);
}
.pt-plan-card.is-pop{
  background: var(--pt-leaf);
  border-color: rgba(45,212,191,.25);
}
.pt-plan-head{
  padding: 2.25rem 2rem;
  border-bottom: 1px solid var(--pt-border);
}
.pt-plan-card.is-pop .pt-plan-head{border-bottom-color: rgba(255,255,255,.12);}
.pt-plan-badge{
  display: inline-block;
  background: var(--pt-mint);
  color: var(--pt-night);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.25rem 0.65rem;
  border-radius: 50px;
  margin-bottom: 1rem;
}
.pt-plan-name{
  font-family: var(--pt-h-font);
  font-size: 1.4rem;
  color: var(--pt-white);
  margin-bottom: 0.75rem;
}
.pt-plan-price{
  font-family: var(--pt-h-font);
  font-size: 3rem;
  color: var(--pt-white);
  line-height: 1;
}
.pt-plan-body{padding: 2rem;}
.pt-plan-feats{
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-bottom: 2rem;
}
.pt-plan-feat{
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.88rem;
  color: rgba(255,255,255,.65);
}
.pt-plan-card.is-pop .pt-plan-feat{color: rgba(255,255,255,.82);}
.pt-plan-feat-chk{
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(45,212,191,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.pt-plan-feat-chk svg{width:9px;height:9px;color:var(--pt-mint);}
.pt-plan-btn{display:block;width:100%;text-align:center;}

/* ── FAQ ────────────────────────────────────────────────── */
.pt-faq-wrap{
  max-width:840px;
  margin: 4rem auto 0;
}
.pt-faq-row{border-top: 1px solid var(--pt-border);}
.pt-faq-row:last-child{border-bottom: 1px solid var(--pt-border);}
.pt-faq-trigger{
  width:100%;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.35rem 0;
  font-family: var(--pt-h-font);
  font-size:1.1rem;
  color: var(--pt-white);
  background:none;
  cursor:pointer;
}
.pt-faq-trigger svg{
  width:20px;height:20px;
  color: var(--pt-mint);
  flex-shrink:0;
  transition: transform var(--pt-ease);
}
.pt-faq-row.open .pt-faq-trigger svg{transform: rotate(45deg);}
.pt-faq-answer{
  display:none;
  padding-bottom:1.35rem;
  padding-right:2.5rem;
  font-size:0.93rem;
  color: var(--pt-muted);
  line-height:1.72;
}
.pt-faq-row.open .pt-faq-answer{display:block;}

/* ── CTA BAND ───────────────────────────────────────────── */
.pt-callout{
  background: linear-gradient(135deg, var(--pt-leaf) 0%, var(--pt-leaf2) 100%);
  padding: 6rem 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.pt-callout::before{
  content: '';
  position: absolute;
  top: -50%;
  left: -20%;
  width: 60%;
  height: 200%;
  background: radial-gradient(ellipse, rgba(45,212,191,.12) 0%, transparent 70%);
}
.pt-callout h2{color: var(--pt-white); margin-bottom:0.75rem;}
.pt-callout p{color: rgba(255,255,255,.7); max-width:50ch; margin:0 auto 2.5rem;}
.pt-callout-btns{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}

/* ── FORM ───────────────────────────────────────────────── */
.pt-field{margin-bottom:1.15rem;}
.pt-field-label{
  display:block;
  font-size:0.8rem;
  font-weight:600;
  color: rgba(255,255,255,.55);
  letter-spacing:0.04em;
  text-transform:uppercase;
  margin-bottom:0.4rem;
}
.pt-field-input{
  width:100%;
  padding:0.85rem 1.1rem;
  background: rgba(255,255,255,.05);
  border: 1.5px solid var(--pt-border);
  border-radius: var(--pt-r);
  color: var(--pt-white);
  font-family: var(--pt-b-font);
  font-size:0.95rem;
  transition: border-color var(--pt-ease), background var(--pt-ease);
}
.pt-field-input:focus{
  border-color: var(--pt-mint);
  background: rgba(45,212,191,.04);
  outline: none;
}
.pt-field-input::placeholder{color: var(--pt-muted);}
.pt-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.pt-field-check{
  display:flex;
  align-items:flex-start;
  gap:0.75rem;
  margin-top:1rem;
}
.pt-field-check input[type="checkbox"]{
  width:17px;height:17px;
  flex-shrink:0;
  margin-top:2px;
  accent-color: var(--pt-mint);
  cursor:pointer;
}
.pt-field-check label{
  font-size:0.86rem;
  color: var(--pt-muted);
  cursor:pointer;
  line-height:1.5;
}
.pt-field-check label a{color: var(--pt-mint); text-decoration:underline; text-underline-offset:3px;}
.pt-field-submit{
  width:100%;
  padding:1rem;
  margin-top:1.75rem;
  background: var(--pt-leaf);
  color: var(--pt-white);
  border:none;
  border-radius: var(--pt-r);
  font-family: var(--pt-b-font);
  font-size:1rem;
  font-weight:600;
  cursor:pointer;
  transition: background var(--pt-ease), transform var(--pt-ease);
}
.pt-field-submit:hover{
  background: var(--pt-leaf2);
  transform: translateY(-1px);
}

/* ── BUILDER ────────────────────────────────────────────── */
.pt-builder-layout{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap:2rem;
  align-items:start;
}
.pt-builder-panel{
  background: var(--pt-slate);
  border: 1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  padding:1.75rem;
  margin-bottom:1.25rem;
}
.pt-builder-panel-head{
  font-family: var(--pt-h-font);
  font-size:1.1rem;
  color: var(--pt-white);
  margin-bottom:1.25rem;
  padding-bottom:0.85rem;
  border-bottom:1px solid var(--pt-border);
  display:flex;
  align-items:center;
  gap:0.75rem;
}
.pt-builder-panel-num{
  width:28px;height:28px;
  border-radius:50%;
  background: var(--pt-leaf);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.85rem;
  font-weight:700;
  color: var(--pt-white);
  flex-shrink:0;
}
.pt-pkg-row{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1rem;
  border:1.5px solid var(--pt-border);
  border-radius: var(--pt-r-lg);
  cursor:pointer;
  margin-bottom:0.65rem;
  transition: border-color var(--pt-ease), background var(--pt-ease);
}
.pt-pkg-row:hover{border-color: var(--pt-mint); background: rgba(45,212,191,.04);}
.pt-pkg-row.sel{border-color: var(--pt-mint); background: rgba(45,212,191,.06);}
.pt-pkg-row input{accent-color: var(--pt-mint); cursor:pointer;}
.pt-pkg-row-body{flex:1;}
.pt-pkg-row-name{font-weight:600;color: var(--pt-white);}
.pt-pkg-row-hint{font-size:0.8rem;color: var(--pt-muted);margin-top:0.15rem;}
.pt-pkg-row-p{font-weight:700;color: var(--pt-mint);white-space:nowrap;font-size:0.92rem;}
.pt-addon-rows{display:flex;flex-direction:column;gap:0.6rem;}
.pt-addon-row{
  display:flex;
  align-items:center;
  gap:0.85rem;
  padding:0.85rem 1rem;
  border:1.5px solid var(--pt-border);
  border-radius: var(--pt-r);
  cursor:pointer;
  transition: border-color var(--pt-ease), background var(--pt-ease);
}
.pt-addon-row:hover{border-color: var(--pt-mint);}
.pt-addon-row.sel{border-color: var(--pt-mint); background: rgba(45,212,191,.04);}
.pt-addon-row input{accent-color: var(--pt-mint); cursor:pointer;}
.pt-addon-lbl{flex:1;font-size:0.88rem;font-weight:500;color: rgba(255,255,255,.8);}
.pt-addon-p{font-size:0.82rem;font-weight:700;color: var(--pt-mint);white-space:nowrap;}
.pt-hrs-row{display:flex;align-items:center;gap:1.5rem;}
.pt-hrs-range{flex:1; accent-color: var(--pt-mint); height:5px;}
.pt-hrs-val{font-weight:700;color: var(--pt-white);font-size:1rem;min-width:90px;text-align:right;}
.pt-summary-box{
  position:sticky;
  top:90px;
  background: var(--pt-ink);
  border:1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  padding:1.75rem;
}
.pt-summary-head{
  font-family: var(--pt-h-font);
  font-size:1.15rem;
  color: var(--pt-white);
  margin-bottom:1.25rem;
  padding-bottom:0.85rem;
  border-bottom:1px solid var(--pt-border);
}
.pt-summary-items{
  display:flex;
  flex-direction:column;
  gap:0.65rem;
  min-height:60px;
  margin-bottom:1rem;
}
.pt-sum-item{
  display:flex;
  justify-content:space-between;
  font-size:0.86rem;
  gap:1rem;
}
.pt-sum-item-key{color: var(--pt-muted);}
.pt-sum-item-val{font-weight:600;color: rgba(255,255,255,.9);text-align:right;}
.pt-summary-sep{height:1px;background: var(--pt-border);margin:0.75rem 0;}
.pt-summary-total{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
}
.pt-sum-total-lbl{font-size:0.8rem;color: var(--pt-muted);text-transform:uppercase;letter-spacing:0.06em;}
.pt-sum-total-val{
  font-family: var(--pt-h-font);
  font-size:2.4rem;
  color: var(--pt-white);
}
.pt-sum-proceed{
  display:block;width:100%;text-align:center;
  margin-top:1.5rem;
  padding:1rem;
  background: var(--pt-leaf);
  color: var(--pt-white);
  border:none;border-radius: var(--pt-r);
  font-family: var(--pt-b-font);font-size:1rem;font-weight:600;
  cursor:pointer;
  transition: background var(--pt-ease);
}
.pt-sum-proceed:hover{background: var(--pt-leaf2);}
.pt-sum-proceed:disabled{opacity:.35;cursor:not-allowed;}
.pt-sum-note{font-size:0.75rem;color: var(--pt-muted);text-align:center;margin-top:0.75rem;}

/* ── MASTHEAD (inner pages) ──────────────────────────────── */
.pt-mast{
  background: var(--pt-ink);
  padding: 9rem 0 5rem;
  border-bottom: 1px solid var(--pt-border);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.pt-mast::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:1px;
  background: linear-gradient(to right, transparent, var(--pt-mint), transparent);
}
.pt-mast-inner{position:relative;z-index:1;}
.pt-mast h1{text-align:center;margin-bottom:0.75rem;}
.pt-mast-sub{
  font-size:1.05rem;
  color: var(--pt-muted);
  max-width:52ch;
  margin:0 auto;
  text-align:center;
}
.pt-breadcrumb{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  font-size:0.8rem;
  color: var(--pt-muted);
  margin-bottom:1.5rem;
}
.pt-breadcrumb a{color: var(--pt-muted); transition:color var(--pt-ease);}
.pt-breadcrumb a:hover{color: var(--pt-mint);}
.pt-breadcrumb svg{width:12px;height:12px;}

/* ── SERVICE SINGLE ──────────────────────────────────────── */
.pt-svc-page-grid{
  display:grid;
  grid-template-columns:1fr 340px;
  gap:4rem;
  align-items:start;
  margin-top:4rem;
}
.pt-svc-page-body h2{
  font-size:1.7rem;
  margin:2.25rem 0 0.75rem;
}
.pt-svc-page-body p{
  color: var(--pt-muted);
  margin-bottom:1rem;
  line-height:1.72;
}
.pt-svc-page-body ul{
  margin-bottom:1rem;
  display:flex;
  flex-direction:column;
  gap:0.55rem;
}
.pt-svc-page-body li{
  display:flex;
  align-items:flex-start;
  gap:0.6rem;
  font-size:0.92rem;
  color: var(--pt-muted);
}
.pt-svc-page-body li::before{
  content:'';
  width:5px;height:5px;
  border-radius:50%;
  background: var(--pt-mint);
  flex-shrink:0;
  margin-top:0.55rem;
}
.pt-svc-aside{
  position:sticky;
  top:90px;
  background: var(--pt-slate);
  border:1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  overflow:hidden;
}
.pt-aside-head{
  background: linear-gradient(135deg, var(--pt-leaf), var(--pt-leaf2));
  padding:1.75rem;
}
.pt-aside-from{
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom:0.2rem;
}
.pt-aside-price{
  font-family: var(--pt-h-font);
  font-size:2.8rem;
  color: var(--pt-white);
  line-height:1;
}
.pt-aside-unit{font-size:0.82rem;color: rgba(255,255,255,.5);margin-top:0.25rem;}
.pt-aside-body{padding:1.75rem;}
.pt-aside-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0.65rem 0;
  border-bottom:1px solid var(--pt-border);
  font-size:0.86rem;
}
.pt-aside-row:last-child{border-bottom:none;}
.pt-aside-key{color: var(--pt-muted);}
.pt-aside-val{font-weight:600;color: var(--pt-white);text-align:right;}
.pt-aside-cta{
  display:block;
  margin:1.5rem;
  text-align:center;
  padding:0.9rem;
  background: var(--pt-leaf);
  color: var(--pt-white);
  border-radius: var(--pt-r);
  font-weight:600;
  transition: background var(--pt-ease);
}
.pt-aside-cta:hover{background: var(--pt-leaf2);}
.pt-aside-link{
  display:block;text-align:center;
  font-size:0.82rem;color: var(--pt-muted);
  margin-bottom:1.5rem;
  transition: color var(--pt-ease);
}
.pt-aside-link:hover{color: var(--pt-mint);}

/* ── CHECKOUT ────────────────────────────────────────────── */
.pt-chk-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:3rem;
  align-items:start;
  margin-top:3rem;
}
.pt-chk-form-wrap{
  background: var(--pt-slate);
  border:1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  padding:2.5rem;
}
.pt-chk-order{
  position:sticky;
  top:90px;
  background: var(--pt-ink);
  border:1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  padding:2rem;
}
.pt-chk-order h3{
  font-family: var(--pt-h-font);
  font-size:1.25rem;
  color: var(--pt-white);
  margin-bottom:1.5rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--pt-border);
}
.pt-chk-line{display:flex;justify-content:space-between;font-size:0.86rem;margin-bottom:0.7rem;}
.pt-chk-key{color: var(--pt-muted);}
.pt-chk-val{font-weight:600;color: rgba(255,255,255,.9);}
.pt-chk-total-row{
  border-top:1px solid var(--pt-border);
  padding-top:1rem;
  margin-top:1rem;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
}
.pt-chk-total-lbl{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.06em;color: var(--pt-muted);}
.pt-chk-total-val{
  font-family: var(--pt-h-font);
  font-size:2.4rem;
  color: var(--pt-white);
}

/* ── LEGAL ───────────────────────────────────────────────── */
.pt-legal-body{max-width:820px;margin:4rem auto;}
.pt-legal-body h2{font-size:1.6rem;margin:2.5rem 0 0.75rem;color: var(--pt-white);}
.pt-legal-body h3{font-size:1.15rem;margin:1.75rem 0 0.5rem;color: rgba(255,255,255,.8);}
.pt-legal-body p{font-size:0.93rem;color: var(--pt-muted);margin-bottom:1rem;line-height:1.78;}
.pt-legal-body ul,
.pt-legal-body ol{padding-left:1.5rem;margin-bottom:1rem;}
.pt-legal-body li{font-size:0.93rem;color: var(--pt-muted);line-height:1.72;margin-bottom:0.5rem;}
.pt-legal-body a{color: var(--pt-mint);text-decoration:underline;text-underline-offset:3px;}
.pt-legal-updated{
  display:inline-block;
  font-size:0.8rem;
  color: var(--pt-muted);
  background: var(--pt-slate);
  padding:0.35rem 0.9rem;
  border-radius:50px;
  margin-bottom:2rem;
  border:1px solid var(--pt-border);
}
.pt-legal-box{
  background: var(--pt-slate);
  border:1px solid var(--pt-border);
  border-left:4px solid var(--pt-mint);
  border-radius: var(--pt-r-lg);
  padding:1.5rem;
  margin-top:2.5rem;
}
.pt-legal-box p{margin-bottom:0.35rem;font-size:0.88rem;}

/* ── CONTACT ─────────────────────────────────────────────── */
.pt-contact-grid{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:5rem;
  align-items:start;
  margin-top:4rem;
}
.pt-contact-info h3{color: var(--pt-white);margin-bottom:1rem;}
.pt-contact-info p{color: var(--pt-muted);margin-bottom:1.5rem;}
.pt-contact-details{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;}
.pt-contact-row{
  display:flex;
  align-items:flex-start;
  gap:0.85rem;
  font-size:0.9rem;
  color: var(--pt-muted);
}
.pt-contact-ico{
  width:34px;height:34px;
  border-radius: var(--pt-r-sm);
  background: var(--pt-slate);
  border:1px solid var(--pt-border);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.pt-contact-ico svg{width:15px;height:15px;color: var(--pt-mint);}
.pt-contact-form-box{
  background: var(--pt-slate);
  border:1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  padding:2.5rem;
}

/* ── RESULT PAGES ────────────────────────────────────────── */
.pt-result-wrap{
  min-height:80vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6rem var(--pt-pad);
}
.pt-result-card{
  max-width:520px;width:100%;
  text-align:center;
  background: var(--pt-slate);
  border:1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  padding:3rem;
}
.pt-result-icon{
  width:68px;height:68px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;
}
.pt-result-icon--ok{background: rgba(26,107,90,.2);}
.pt-result-icon--no{background: rgba(229,83,75,.15);}
.pt-result-icon svg{width:32px;height:32px;}

/* ── FOOTER ──────────────────────────────────────────────── */
.pt-foot{
  background: var(--pt-ink);
  border-top:1px solid var(--pt-border);
  padding:5rem 0 2rem;
}
.pt-foot-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid var(--pt-border);
}
.pt-foot-brand{
  font-family: var(--pt-h-font);
  font-size:1.5rem;
  color: var(--pt-white);
  letter-spacing:-0.02em;
  margin-bottom:0.85rem;
}
.pt-foot-brand em{color: var(--pt-mint);font-style:normal;}
.pt-foot-tagline{
  font-size:0.86rem;
  color: var(--pt-muted);
  line-height:1.65;
  margin-bottom:1.25rem;
}
.pt-foot-contact{
  font-size:0.83rem;
  color: rgba(255,255,255,.4);
  line-height:1.8;
}
.pt-foot-contact a{color: rgba(255,255,255,.4);transition:color var(--pt-ease);}
.pt-foot-contact a:hover{color: var(--pt-sand);}
.pt-foot-col h4{
  font-family: var(--pt-h-font);
  font-size:0.9rem;
  color: rgba(255,255,255,.7);
  margin-bottom:0.85rem;
  letter-spacing:0.02em;
}
.pt-foot-col ul{display:flex;flex-direction:column;gap:0.55rem;}
.pt-foot-col li a{
  font-size:0.83rem;
  color: rgba(255,255,255,.35);
  transition: color var(--pt-ease);
}
.pt-foot-col li a:hover{color: rgba(255,255,255,.7);}
.pt-foot-bottom{
  padding-top:1.75rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
}
.pt-foot-copy{font-size:0.78rem;color: rgba(255,255,255,.2);}
.pt-foot-legal{display:flex;gap:1.5rem;flex-wrap:wrap;}
.pt-foot-legal a{font-size:0.78rem;color: rgba(255,255,255,.2);transition:color var(--pt-ease);}
.pt-foot-legal a:hover{color: rgba(255,255,255,.5);}
.pt-foot-digital{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  font-size:0.76rem;
  color: rgba(255,255,255,.2);
  margin-top:0.5rem;
}
.pt-foot-digital svg{width:12px;height:12px;color: var(--pt-mint);opacity:.5;}

/* ── COOKIE BANNER ───────────────────────────────────────── */
.pt-cookie-bar{
  position:fixed;
  bottom:1.25rem;
  left:50%;
  transform:translateX(-50%);
  width:calc(100% - 3rem);
  max-width:640px;
  background: var(--pt-slate);
  border:1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  padding:1.25rem 1.75rem;
  display:flex;
  align-items:center;
  gap:1.5rem;
  flex-wrap:wrap;
  box-shadow: var(--pt-shadow);
  z-index:9999;
}
.pt-cookie-bar.gone{display:none;}
.pt-cookie-txt{font-size:0.86rem;color: var(--pt-muted);flex:1;min-width:180px;}
.pt-cookie-btns{display:flex;gap:0.65rem;flex-shrink:0;}
.pt-cookie-yes{
  padding:0.5rem 1.25rem;
  background: var(--pt-leaf);
  color: var(--pt-white);
  border:none;border-radius:50px;
  font-size:0.83rem;font-weight:600;
  cursor:pointer;font-family:inherit;
  transition: background var(--pt-ease);
}
.pt-cookie-yes:hover{background: var(--pt-leaf2);}
.pt-cookie-no{
  padding:0.5rem 1.25rem;
  border:1px solid var(--pt-border);
  color: var(--pt-muted);
  background:none;border-radius:50px;
  font-size:0.83rem;cursor:pointer;
  font-family:inherit;
  transition: border-color var(--pt-ease), color var(--pt-ease);
}
.pt-cookie-no:hover{border-color: var(--pt-mint);color: var(--pt-mint);}

/* ── CHAT ────────────────────────────────────────────────── */
.pt-chat-btn{
  position:fixed;
  bottom:1.5rem;
  right:1.5rem;
  width:52px;height:52px;
  border-radius:50%;
  background: var(--pt-leaf);
  color: var(--pt-white);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow:0 4px 20px rgba(26,107,90,.45);
  z-index:8000;
  border:none;
  transition: transform var(--pt-ease), box-shadow var(--pt-ease);
}
.pt-chat-btn:hover{transform:scale(1.07);box-shadow:0 8px 32px rgba(26,107,90,.55);}
.pt-chat-btn svg{width:22px;height:22px;}
.pt-chat-box{
  position:fixed;
  bottom:calc(1.5rem + 52px + 0.75rem);
  right:1.5rem;
  width:320px;
  background: var(--pt-slate);
  border:1px solid var(--pt-border);
  border-radius: var(--pt-r-xl);
  box-shadow: var(--pt-shadow);
  z-index:8000;
  overflow:hidden;
  transform: translateY(10px) scale(0.97);
  opacity:0;
  pointer-events:none;
  transition: transform 0.25s, opacity 0.25s;
}
.pt-chat-box.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto;}
.pt-chat-head{
  background: var(--pt-leaf);
  padding:1.1rem 1.25rem;
  display:flex;
  align-items:center;
  gap:0.75rem;
}
.pt-chat-head-av{
  width:34px;height:34px;border-radius:50%;
  background: rgba(0,0,0,.2);
  display:flex;align-items:center;justify-content:center;
  font-family: var(--pt-h-font);font-size:0.95rem;color: var(--pt-white);
}
.pt-chat-head-info h4{font-size:0.88rem;font-weight:600;color: var(--pt-white);}
.pt-chat-head-info span{font-size:0.72rem;color: rgba(255,255,255,.6);}
.pt-chat-body{padding:1.25rem;}
.pt-chat-intro{font-size:0.85rem;color: var(--pt-muted);margin-bottom:0.85rem;line-height:1.62;}
.pt-chat-inp{
  width:100%;
  padding:0.65rem 0.9rem;
  background: rgba(255,255,255,.05);
  border:1.5px solid var(--pt-border);
  border-radius: var(--pt-r);
  color: var(--pt-white);
  font-family: var(--pt-b-font);font-size:0.85rem;
  margin-bottom:0.65rem;
  transition: border-color var(--pt-ease);
}
.pt-chat-inp:focus{border-color: var(--pt-mint);}
.pt-chat-ta{
  width:100%;
  padding:0.65rem 0.9rem;
  background: rgba(255,255,255,.05);
  border:1.5px solid var(--pt-border);
  border-radius: var(--pt-r);
  color: var(--pt-white);
  font-family: var(--pt-b-font);font-size:0.85rem;
  resize:none;height:72px;
  margin-bottom:0.65rem;
  transition: border-color var(--pt-ease);
}
.pt-chat-ta:focus{border-color: var(--pt-mint);}
.pt-chat-send-btn{
  width:100%;padding:0.65rem;
  background: var(--pt-leaf);color: var(--pt-white);
  border:none;border-radius: var(--pt-r);
  font-family: var(--pt-b-font);font-size:0.85rem;font-weight:600;
  cursor:pointer;transition: background var(--pt-ease);
}
.pt-chat-send-btn:hover{background: var(--pt-leaf2);}
.pt-chat-ok{display:none;text-align:center;padding:0.85rem;font-size:0.88rem;color: var(--pt-mint);font-weight:600;}

/* ── REVEAL ANIMATIONS ───────────────────────────────────── */
.pt-reveal{opacity:0;transform:translateY(20px);transition:opacity 0.55s ease,transform 0.55s ease;}
.pt-reveal.show{opacity:1;transform:none;}
.pt-d1{transition-delay:0.08s;}
.pt-d2{transition-delay:0.16s;}
.pt-d3{transition-delay:0.24s;}
.pt-d4{transition-delay:0.32s;}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1100px){
  .pt-hero-top{grid-template-columns:1fr;}
  .pt-hero-right{display:none;}
  .pt-bento{grid-template-columns:repeat(2,1fr);}
  .pt-about-grid{grid-template-columns:1fr;gap:3rem;}
  .pt-about-badge{display:none;}
  .pt-cases-row{grid-template-columns:1fr;}
  .pt-foot-grid{grid-template-columns:1fr 1fr;}
  .pt-proc-wrap{grid-template-columns:1fr 1fr;}
  .pt-svc-page-grid{grid-template-columns:1fr;}
  .pt-svc-aside{position:static;}
  .pt-contact-grid{grid-template-columns:1fr;gap:3rem;}
  .pt-chk-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  :root{--pt-pad:1.25rem;}
  .pt-topbar{width:calc(100% - 2.5rem);}
  .pt-bar-nav{display:none;}
  .pt-bar-right .pt-cta{display:none;}
  .pt-bar-burger{display:flex;}
  .pt-bento{grid-template-columns:1fr;}
  .pt-bento-cell--wide,.pt-bento-cell--tall{grid-column:auto;grid-row:auto;}
  .pt-svc-list{grid-template-columns:1fr;}
  .pt-plans-grid{grid-template-columns:1fr;}
  .pt-testi-grid{grid-template-columns:1fr;}
  .pt-builder-layout{grid-template-columns:1fr;}
  .pt-summary-box{position:static;}
  .pt-foot-grid{grid-template-columns:1fr;}
  .pt-foot-bottom{flex-direction:column;align-items:flex-start;}
  .pt-field-row{grid-template-columns:1fr;}
  .pt-proc-wrap{grid-template-columns:1fr;}
  .pt-cookie-bar{flex-direction:column;align-items:flex-start;}
  .pt-chat-box{width:calc(100vw - 3rem);}
}
@media(max-width:480px){
  .pt-hero-actions{flex-direction:column;align-items:flex-start;}
  .pt-callout-btns{flex-direction:column;align-items:center;}
  .pt-about-img-accent{display:none;}
  .pt-about-stats{grid-template-columns:1fr;}
}
