/* =========================================================
   Personal Chew Toy — Design tokens
   Direction: Vibrant Warmth (light background, coral/plum/gold
   accents, blob logo marks, dashed rotated status stickers,
   pill CTAs, Plus Jakarta Sans / DM Sans type)

   Note: --bg is #EFEFEF per requested change — the original
   Vibrant Warmth direction used #FFF3EA (warm cream). Every
   other token is unchanged from that original direction.
   ========================================================= */
:root{
  --bg:#EFEFEF;
  --white:#FFFFFF;
  --ink:#3A1B12;
  --muted:#8C6A5C;
  --coral:#FF6B4A;
  --plum:#6B2545;
  --gold:#FFB238;
  --line:rgba(58,27,18,0.1);
  --display:'Plus Jakarta Sans','Avenir Next',Arial,sans-serif;
  --body:'DM Sans','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg); color:var(--ink); font-family:var(--body); line-height:1.55; -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
h1,h2,h3{font-family:var(--display); letter-spacing:-0.01em;}
button{font-family:var(--body);}

/* NAV */
.pct-nav{position:sticky; top:0; z-index:50; background:rgba(239,239,239,0.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.pct-nav-inner{display:flex; align-items:center; justify-content:space-between; padding:20px 32px; max-width:1200px; margin:0 auto;}
.pct-logo{font-family:var(--display); font-weight:800; font-size:1.15rem; display:flex; align-items:center; gap:10px; color:var(--ink);}
.pct-logo-mark{width:28px; height:28px; border-radius:50% 50% 50% 6px; background:var(--coral); flex-shrink:0;}
.pct-nav-links{display:flex; gap:32px; font-size:0.92rem; color:var(--muted); font-weight:500; list-style:none;}
.pct-nav-links a:hover{color:var(--coral);}
.pct-nav-cta{background:var(--ink); color:#fff; font-weight:700; font-size:0.88rem; padding:11px 22px; border-radius:100px;}
.pct-nav-cta:hover{background:var(--coral);}
.pct-nav-toggle{display:none; background:none; border:none; color:var(--ink); font-size:1.6rem; cursor:pointer;}
@media(max-width:860px){
  .pct-nav-links{
    display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    background:var(--white); padding:24px 32px; gap:20px; border-bottom:1px solid var(--line);
  }
  .pct-nav-links.is-open{display:flex;}
  .pct-nav-toggle{display:block;}
}

/* HERO */
.pct-hero{padding:120px 32px 100px; text-align:center;}
.pct-eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase;
  color:#fff; font-weight:800; margin-bottom:28px; background:var(--coral);
  padding:9px 18px; border-radius:100px; transform:rotate(-2deg);
}
.pct-hero h1{font-size:clamp(2.5rem,5.6vw,4.8rem); font-weight:800; max-width:900px; margin:0 auto 26px; line-height:1.08;}
.pct-hero h1 .hl{color:var(--coral);}
.pct-hero p.sub, .pct-hero div.sub{font-size:clamp(1.05rem,1.5vw,1.28rem); color:var(--muted); max-width:620px; margin:0 auto 42px;}
.pct-hero-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.btn-primary{background:var(--coral); color:#fff; font-weight:800; padding:16px 32px; border-radius:100px; font-size:0.98rem; display:inline-block; border:none; cursor:pointer;}
.btn-primary:hover{background:var(--plum);}
.btn-secondary{border:1.5px solid var(--ink); color:var(--ink); font-weight:700; padding:16px 32px; border-radius:100px; font-size:0.98rem; display:inline-block;}
.btn-secondary:hover{border-color:var(--coral); color:var(--coral);}

/* SECTION HEADS */
.pct-section{padding:96px 32px;}
.pct-section-head{max-width:640px; margin:0 auto 56px; text-align:center;}
.pct-section-head .tag{color:var(--coral); font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; font-weight:700; display:block; margin-bottom:14px;}
.pct-section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem); font-weight:800;}
.pct-section-head p{color:var(--muted); margin-top:16px; font-size:1.05rem;}

/* VENTURES GRID */
.pct-ventures-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:900px){ .pct-ventures-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .pct-ventures-grid{grid-template-columns:1fr;} }
.pct-v-card{
  background:var(--white); border:1px solid var(--line); border-radius:20px; padding:28px;
  display:flex; flex-direction:column; gap:16px; transition:transform .2s, box-shadow .2s;
}
.pct-v-card:hover{transform:translateY(-4px) rotate(-0.5deg); box-shadow:0 16px 40px rgba(58,27,18,0.1);}
.pct-v-top{display:flex; align-items:center; justify-content:space-between;}
.pct-v-logo{
  width:44px; height:44px; border-radius:50% 50% 50% 8px; display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:800; font-size:1.05rem; color:#fff; overflow:hidden;
}
.pct-v-logo img{width:100%; height:100%; object-fit:cover; border-radius:inherit;}
/* sticker-style rotated status badge — signature detail */
.pct-status{
  font-size:0.68rem; font-weight:800; padding:6px 13px; border-radius:100px; letter-spacing:0.03em; text-transform:uppercase;
  border:1.5px dashed currentColor; transform:rotate(3deg); display:inline-block;
}
.pct-status.is-live{background:#FFF0EC; color:var(--coral);}
.pct-status.is-beta{background:#FFF7E6; color:#B8791F;}
.pct-status.is-stealth{background:#F7EEF1; color:var(--plum);}
.pct-v-card h3{font-size:1.22rem; font-weight:800;}
.pct-v-card p.pitch{color:var(--muted); font-size:0.95rem; flex-grow:1;}
.pct-v-link{font-size:0.9rem; font-weight:700; color:var(--coral);}
.pct-v-link.is-disabled{color:var(--muted);}

/* METRICS — dark ink band for contrast against the light page */
.pct-metrics{background:var(--ink);}
.pct-metrics-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
@media(max-width:760px){ .pct-metrics-grid{grid-template-columns:repeat(2,1fr);} }
.pct-metric .num{font-family:var(--display); font-size:clamp(2rem,4vw,2.8rem); font-weight:800; color:var(--gold);}
.pct-metric .label{color:#D9BFAF; font-size:0.88rem; margin-top:8px;}

/* PRESS */
.pct-press-row{display:flex; justify-content:center; gap:56px; flex-wrap:wrap; opacity:0.55; font-family:var(--display); font-weight:800; font-size:1.15rem;}

/* LAB NOTES */
.pct-notes-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:900px){ .pct-notes-grid{grid-template-columns:1fr;} }
.pct-note-card{border:1px solid var(--line); border-radius:20px; padding:28px; background:var(--white); display:block;}
.pct-note-card .meta{font-size:0.78rem; color:var(--coral); font-weight:700; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:14px;}
.pct-note-card h3{font-size:1.15rem; margin-bottom:12px; font-weight:800;}
.pct-note-card p{color:var(--muted); font-size:0.92rem;}

/* NEWSLETTER — bold solid gradient band, matches the original direction */
.pct-newsletter{
  background:linear-gradient(135deg, var(--coral), var(--plum));
  border-radius:28px; max-width:1200px; margin:0 auto; padding:72px 40px; text-align:center; color:#fff;
}
.pct-newsletter h2{font-size:clamp(1.7rem,3vw,2.3rem); margin-bottom:16px; font-weight:800;}
.pct-newsletter p{color:#FCE3DA; margin-bottom:32px;}
.pct-nl-form{display:flex; gap:12px; justify-content:center; max-width:460px; margin:0 auto; flex-wrap:wrap;}
.pct-nl-form input{flex:1; min-width:220px; padding:16px 20px; border-radius:100px; border:none; font-size:0.95rem; color:var(--ink);}
.pct-nl-form input:focus{outline:2px solid #fff; outline-offset:2px;}
/* Inside the coral/plum gradient band, the shared coral .btn-primary would blend in — swap to a dark ink button here only, matching the original direction's contrast choice */
.pct-newsletter .btn-primary{background:var(--ink); color:#fff;}
.pct-newsletter .btn-primary:hover{background:#000;}

/* FOOTER */
.pct-footer{border-top:1px solid var(--line); padding:64px 32px 32px; background:var(--white);}
.pct-footer-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:56px;}
@media(max-width:760px){ .pct-footer-grid{grid-template-columns:1fr 1fr;} }
.pct-footer-grid h4{font-size:0.85rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:18px; font-weight:700;}
.pct-footer-grid a,.pct-footer-grid p{display:block; color:var(--ink); font-size:0.95rem; margin-bottom:12px;}
.pct-footer-grid a:hover{color:var(--coral);}
.pct-footer-bottom{max-width:1200px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding-top:32px; border-top:1px solid var(--line); color:var(--muted); font-size:0.85rem; flex-wrap:wrap; gap:12px;}

/* GENERIC PAGE CONTENT (page.php / single.php fallback for non-Pagelayer content) */
.pct-basic-content{max-width:760px; margin:0 auto; padding:120px 32px 100px;}
.pct-basic-content h1{font-size:clamp(2rem,4vw,2.8rem); font-weight:800; margin-bottom:24px;}
.pct-basic-content p{color:var(--muted); margin-bottom:20px; font-size:1.05rem;}
.pct-basic-content a{color:var(--coral); text-decoration:underline;}

/* TEAM GRID */
.pct-team-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding:0 32px;}
@media(max-width:900px){ .pct-team-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .pct-team-grid{grid-template-columns:1fr;} }
.pct-team-card{background:var(--white); border:1px solid var(--line); border-radius:20px; padding:24px; text-align:center;}
.pct-team-photo{width:96px; height:96px; border-radius:50% 50% 50% 12px; object-fit:cover; margin:0 auto 18px; background:var(--bg); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:800; font-size:1.3rem; color:#fff;}
.pct-team-card h3{font-size:1.1rem; font-weight:800; margin-bottom:4px;}
.pct-team-card .role{color:var(--coral); font-size:0.85rem; font-weight:700; margin-bottom:12px;}
.pct-team-card p.bio{color:var(--muted); font-size:0.9rem;}

/* CONTACT / PITCH FORMS */
.pct-form{max-width:640px; margin:0 auto; display:flex; flex-direction:column; gap:20px;}
.pct-form-row{display:flex; flex-direction:column; gap:8px;}
.pct-form-row.is-split{flex-direction:row; gap:16px;}
.pct-form-row.is-split > *{flex:1; min-width:0;}
.pct-form label{font-size:0.88rem; font-weight:700; color:var(--ink);}
.pct-form input[type="text"],
.pct-form input[type="email"],
.pct-form input[type="url"],
.pct-form select,
.pct-form textarea{
  width:100%; padding:14px 18px; border-radius:14px; border:1px solid var(--line);
  background:var(--white); color:var(--ink); font-size:0.95rem; font-family:var(--body);
}
.pct-form textarea{resize:vertical; min-height:120px;}
.pct-form input:focus, .pct-form select:focus, .pct-form textarea:focus{outline:2px solid var(--coral); outline-offset:1px;}
.pct-form-submit{align-self:flex-start;}
.pct-form-submit button{border:none; cursor:pointer;}
/* honeypot — hidden from real visitors, left in the tab order for bots */
.pct-hp-field{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

.pct-alert{max-width:640px; margin:0 auto 28px; padding:16px 20px; border-radius:14px; font-size:0.92rem; font-weight:600;}
.pct-alert-success{background:#FFF0EC; color:var(--coral); border:1px solid rgba(255,107,74,0.3);}
.pct-alert-error{background:#F7EEF1; color:var(--plum); border:1px solid rgba(107,37,69,0.3);}

/* ABOUT — principle cards */
.pct-principles-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media(max-width:900px){ .pct-principles-grid{grid-template-columns:1fr;} }
.pct-principle-card{background:var(--white); border:1px solid var(--line); border-radius:20px; padding:32px; text-align:center;}
.pct-principle-card .num{
  display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
  border-radius:50% 50% 50% 8px; background:var(--coral); color:#fff; font-family:var(--display);
  font-weight:800; margin-bottom:20px; transform:rotate(-3deg);
}
.pct-principle-card h3{font-size:1.15rem; font-weight:800; margin-bottom:12px;}
.pct-principle-card p{color:var(--muted); font-size:0.92rem;}
.pct-prose{max-width:720px; margin:0 auto; color:var(--muted); font-size:1.05rem; display:flex; flex-direction:column; gap:20px;}
.pct-prose strong{color:var(--ink);}
