/*
Theme Name: Andrea Diaz
Theme URI: https://andreadiaz.ceo
Author: Andrea Diaz
Author URI: https://andreadiaz.ceo
Description: Custom personal-brand theme for Andrea Diaz — Entrepreneur, Risk Advisor & Speaker. Home, Speaking, and Connect page templates with native on-page SEO (meta tags, Open Graph, Twitter Cards, and Schema.org structured data) built in.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: andrea-diaz
*/

/* ============================================================
   Andrea Diaz — Site Stylesheet
   Brand system: warm ivory, signal magenta, hard ink.
   Fonts: Poppins (display) / Montserrat (headings) / DM Sans (body).
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --bg:#FFFDFA; --bg-alt:#F7F3EE; --bg-wash:#F2EDE7; --ink:#111114;
  --magenta:#E00074; --magenta-h:#B0005C;
  --charcoal:#4A4650; --slate:#6B6570;
  --text-light:#F8F4EF; --text-muted:#8A8598;
  --border:rgba(17,17,20,0.10); --border-s:rgba(17,17,20,0.18);
  --font-display:'Poppins',sans-serif; --font-head:'Montserrat',sans-serif; --font-body:'DM Sans',sans-serif;
  --max:1200px;
}

html{background:var(--bg);}
body{
  font-family:var(--font-body); background:var(--bg); color:var(--charcoal);
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font:inherit; cursor:pointer;}
:focus-visible{outline:3px solid rgba(224,0,116,0.35); outline-offset:2px;}

.wrap{max-width:var(--max); margin:0 auto;}

/* ---------- nav ---------- */
.site-nav{
  position:sticky; top:0; z-index:100; background:var(--bg);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.1rem clamp(1.25rem,4vw,3rem); border-bottom:1px solid var(--ink);
}
.nav-word{font-family:var(--font-head); font-weight:300; letter-spacing:0.24em; font-size:13px; color:var(--ink); text-transform:uppercase;}
.nav-links{display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap;}
.nav-links a{font-size:11px; color:var(--slate); text-transform:uppercase; letter-spacing:0.09em;}
.nav-links a:hover{color:var(--ink);}
.nav-links a[aria-current="page"]{color:var(--ink); border-bottom:1.5px solid var(--ink); padding-bottom:2px;}

.nav-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:32px; height:32px; background:none; border:none; padding:0;
}
.nav-toggle span{display:block; width:100%; height:1.5px; background:var(--ink); transition:transform 150ms ease, opacity 150ms ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

@media (max-width:720px){
  .nav-toggle{display:flex;}
  .nav-links{
    position:fixed; inset:64px 0 0 0; background:var(--bg); z-index:99;
    flex-direction:column; align-items:flex-start; gap:0; padding:1rem clamp(1.25rem,4vw,3rem);
    transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity 180ms ease, transform 180ms ease;
  }
  .nav-links.is-open{opacity:1; transform:translateY(0); pointer-events:auto;}
  .nav-links a{font-size:14px; padding:0.9rem 0; width:100%; border-bottom:0.5px solid var(--border);}
}

/* ---------- generic section paddings ---------- */
.sec{padding:clamp(1.5rem,4vw,3rem) clamp(1.25rem,4vw,3rem);}
#booking, #newsletter{scroll-margin-top:80px;}
.sec-alt{background:var(--bg-alt);}
.sec-wash{background:var(--bg-wash);}
.sec-dark{background:var(--ink); color:var(--text-light);}
.sec-magenta{background:var(--magenta); color:#fff;}
.sec-magenta .h2{color:#fff;}
.sec-magenta .format-note{color:rgba(255,255,255,0.85);}

.eyebrow-row{display:flex; align-items:center; gap:8px; margin-top:0.75rem; margin-bottom:1.1rem;}
.eyebrow-dot{width:6px; height:6px; border-radius:50%; background:var(--magenta); flex-shrink:0; display:inline-block;}
.kicker{font-size:10px; color:var(--slate); letter-spacing:0.14em; text-transform:uppercase;}
.sec-dark .kicker{color:var(--text-muted);}

/* ---------- hero ---------- */
.hero{max-width:760px;}
.hero-copy .headline{font-family:var(--font-display); font-weight:900; font-size:clamp(2rem,4.2vw,3.4rem); color:var(--ink); letter-spacing:-0.02em; line-height:1.1; margin-bottom:1.5rem; max-width:20ch; text-wrap:balance;}
.hero-copy .headline em{font-style:normal; color:var(--magenta);}
.cta-row{display:flex; gap:10px; flex-wrap:wrap;}
.btn-primary{background:var(--magenta); color:#fff; font-size:10px; font-weight:500; letter-spacing:0.09em; text-transform:uppercase; padding:12px 22px; border-radius:2px; border:none; display:inline-block; transition:background 200ms ease, transform 200ms ease, box-shadow 200ms ease;}
.btn-primary:hover{background:var(--magenta-h); transform:translateY(-2px); box-shadow:0 16px 28px -12px rgba(224,0,116,0.5), 0 4px 10px -4px rgba(17,17,20,0.2);}
.btn-primary:active{transform:translateY(0); box-shadow:none; transition-duration:80ms;}
.btn-ghost{border:0.5px solid var(--border-s); color:var(--ink); font-size:10px; font-weight:500; letter-spacing:0.09em; text-transform:uppercase; padding:12px 22px; border-radius:2px; display:inline-block; background:transparent; transition:border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease, background 200ms ease;}
.btn-ghost:hover{border-color:var(--ink); background:rgba(17,17,20,0.035); transform:translateY(-2px); box-shadow:0 14px 26px -14px rgba(17,17,20,0.3);}
.btn-ghost:active{transform:translateY(0); box-shadow:none; transition-duration:80ms;}
.sec-dark .btn-ghost{border-color:rgba(255,255,255,0.28); color:var(--text-light);}
.sec-dark .btn-ghost:hover{border-color:var(--text-light); background:rgba(255,255,255,0.07); box-shadow:0 14px 26px -14px rgba(0,0,0,0.45);}
@media (prefers-reduced-motion: reduce){
  .btn-primary, .btn-ghost{transition:background 200ms ease, border-color 200ms ease;}
  .btn-primary:hover, .btn-ghost:hover{transform:none;}
}

/* ---------- split (photo + text pairings) ---------- */
.split{display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(2rem,5vw,4rem); align-items:start;}
.split.intro-split{align-items:stretch;}
.intro-split .h2{margin-top:0;}
.split > *, .speaking-hero > *, .currently > *, .split-cta > *{min-width:0;}
.split-img{border-radius:10px; overflow:hidden;}
.split-img img{width:100%; height:100%; object-fit:cover; display:block;}

.h2{font-family:var(--font-head); font-weight:700; font-size:clamp(1.5rem,3vw,1.9rem); color:var(--ink); letter-spacing:-0.01em; margin-top:2.5rem; margin-bottom:1.5rem; line-height:1.25; text-wrap:balance;}
.h2 em, .headline em{font-style:normal; color:var(--magenta);}
.sec-dark .h2{color:var(--text-light);}
.body-copy p{font-size:14.5px; color:var(--charcoal); line-height:1.8; max-width:540px; margin-bottom:1rem;}
.sec-dark .body-copy p{color:var(--text-muted);}
.body-copy p:last-child{margin-bottom:0;}
.body-copy .q{margin:1.1rem 0; padding-left:1rem; border-left:2px solid var(--border-s);}
.body-copy .q p{margin-bottom:0.35rem;}

/* ---------- currently / editorial break ---------- */
.currently{position:relative; background:var(--ink); overflow:hidden; display:grid; grid-template-columns:1fr 1fr; align-items:stretch;}
.currently-copy{
  padding-top:clamp(1.5rem,4vw,3rem); padding-bottom:clamp(3rem,7vw,5.5rem); padding-right:clamp(1.5rem,4vw,3.5rem);
  padding-left:max(clamp(1.25rem,4vw,3rem), calc((100vw - var(--max)) / 2));
  display:flex; flex-direction:column; justify-content:center;
}
.currently-copy .h2{color:var(--text-light); margin-top:0;}
.currently-copy .body-copy p{color:var(--text-muted);}
.currently-figure{position:relative;}
.currently-figure img{width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block;}

.seam-guard{height:60px; margin:-30px 0; position:relative; z-index:1;}

/* ---------- speaking preview ---------- */
.preview-center{max-width:680px; margin:0 auto; text-align:center;}
.preview-center .h2{margin-top:0.75rem;}
.preview-center .h2, .preview-center .body-copy p{margin-left:auto; margin-right:auto;}
.preview-center .tag-row, .preview-center .cta-row{justify-content:center;}
.tag-row{display:flex; flex-wrap:wrap; gap:8px; margin:1.5rem 0 2rem;}
.tag-chip{font-size:10px; padding:6px 12px; border-radius:3px; border:0.5px solid var(--border-s); color:var(--ink); background:#fff; letter-spacing:0.03em;}

/* ---------- domenica + other ways to connect ---------- */
.split-cta{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
.split-cta-right{border-left:0.5px solid rgba(255,255,255,0.14); padding-left:clamp(2rem,5vw,4rem);}

/* ---------- footer ---------- */
.site-footer{background:var(--ink); color:var(--text-light); padding:2.5rem clamp(1.25rem,4vw,3rem) 1.5rem;}
.footer-top{display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-bottom:1.75rem;}
.footer-word{font-family:var(--font-head); font-weight:300; letter-spacing:0.22em; font-size:14px; text-transform:uppercase; margin-bottom:8px;}
.footer-tag{font-size:11px; color:var(--text-muted); max-width:300px; line-height:1.6;}
.footer-cols{display:flex; gap:3rem; flex-wrap:wrap;}
.footer-col{display:flex; flex-direction:column; gap:7px;}
.footer-col a{font-size:11px; color:var(--text-muted); letter-spacing:0.03em;}
.footer-col a:hover{color:var(--text-light);}
.footer-bottom{border-top:0.5px solid rgba(255,255,255,0.1); padding-top:1.1rem; font-size:10px; color:var(--text-muted); display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;}

/* ---------- speaking hero ---------- */
.speaking-hero{display:grid; grid-template-columns:1fr 0.85fr; gap:clamp(1.5rem,4vw,3rem); align-items:stretch;}
.speaking-hero-img{border-radius:10px; overflow:hidden;}
.speaking-hero-img img{width:100%; height:100%; object-fit:cover; display:block;}

/* ---------- topics editorial list ---------- */
.topic{display:grid; grid-template-columns:64px 1fr; gap:clamp(1rem,3vw,2rem); padding:1.75rem 0; border-bottom:0.5px solid var(--border-s); align-items:start;}
.topic:first-child{padding-top:0;}
.topic:last-child{border-bottom:none;}
.topic-num{font-family:var(--font-head); font-size:13px; color:var(--magenta); font-weight:700; letter-spacing:0.05em; padding-top:6px;}
.topic-title{font-family:var(--font-display); font-weight:700; font-size:clamp(1.15rem,2.4vw,1.5rem); color:var(--ink); margin-bottom:0.5rem; letter-spacing:-0.01em; line-height:1.2;}
.topic-desc{font-size:13.5px; color:var(--charcoal); line-height:1.75; max-width:600px;}

.breaker-img{border-radius:10px; overflow:hidden; margin:2.5rem 0;}
.breaker-img img{width:100%; height:auto; display:block; aspect-ratio:706/376; object-fit:cover;}
.split.formats-split{align-items:stretch;}
.formats-split .breaker-img{margin:0; height:100%;}
.formats-split .breaker-img img{height:100%; max-height:none; object-fit:cover;}

/* ---------- formats ---------- */
.formats-list{display:flex; flex-wrap:wrap; gap:10px; margin:1.5rem 0;}
.format-chip{font-family:var(--font-head); font-weight:500; font-size:13px; color:var(--ink); background:#fff; border:0.5px solid var(--border-s); border-radius:3px; padding:10px 16px;}
.format-note{font-size:12.5px; color:var(--slate); font-style:italic; max-width:520px;}

/* ---------- forms ---------- */
.form-card{
  background:#fff; border:0.5px solid var(--border-s); border-top:3px solid var(--magenta);
  border-radius:14px; padding:clamp(1.75rem,4vw,2.75rem); max-width:640px;
  box-shadow:0 32px 56px -20px rgba(17,17,20,0.16), 0 8px 20px -10px rgba(224,0,116,0.08);
}
.form-eyebrow{display:flex; align-items:center; gap:8px; margin-bottom:1.25rem;}
.form-card-wide{max-width:900px;}
.form-card-dark{background:var(--ink); border-color:rgba(255,255,255,0.14); border-top-color:var(--magenta); color-scheme:dark;}
.form-card-dark .field label{color:#fff;}
.form-card-dark .field input, .form-card-dark .field select, .form-card-dark .field textarea{
  background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.18); color:#fff;
}
.form-card-dark .field input::placeholder, .form-card-dark .field textarea::placeholder{color:rgba(255,255,255,0.45);}
.form-card-dark .field input:focus, .form-card-dark .field select:focus, .form-card-dark .field textarea:focus{
  background:rgba(255,255,255,0.13); border-color:var(--magenta);
}
.form-card-dark .form-note{color:rgba(255,255,255,0.65);}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:1.4rem;}
@media (min-width:901px){
  .form-grid-3{grid-template-columns:repeat(3,1fr);}
}
.field{display:flex; flex-direction:column; gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-size:10px; color:var(--slate); letter-spacing:0.08em; text-transform:uppercase;}
.field input, .field select, .field textarea{
  border:0.5px solid var(--border-s); border-radius:4px; padding:9px 11px; font-size:12.5px;
  color:var(--ink); background:var(--bg-alt); font-family:var(--font-body); width:100%;
}
.field textarea{min-height:64px; resize:vertical;}
.field input::placeholder, .field textarea::placeholder{color:var(--text-muted);}
.field input:focus, .field select:focus, .field textarea:focus{outline:none; border-color:var(--magenta); background:#fff;}
.form-note{font-size:11.5px; color:var(--slate); margin-top:1rem; line-height:1.6;}
.form-success{
  display:none; align-items:flex-start; gap:10px; font-size:13px; color:var(--charcoal);
  background:var(--bg-wash); border-radius:8px; padding:1rem 1.2rem; max-width:640px;
}
.form-success.is-visible{display:flex;}
.form-success b{color:var(--ink);}
.form-error{font-size:12px; color:#B3261E; margin-top:0.9rem; line-height:1.5;}
.form-card-dark .form-error{color:#FF9B90;}

/* ---------- connect page ---------- */
.center-col{max-width:640px; margin:0 auto;}
.connect-hero-stack{display:flex; flex-direction:column; align-items:center; gap:clamp(1.5rem,4vw,2.25rem);}
.contact-pair-row{display:flex; align-items:flex-start; justify-content:center; gap:3rem; margin-top:1.75rem; flex-wrap:wrap;}
.contact-pair-item{display:flex; flex-direction:column; align-items:center; gap:6px;}
.contact-label{font-size:9px; letter-spacing:0.12em; text-transform:uppercase; color:var(--slate);}
.contact-value{font-size:14px; font-weight:600; color:var(--ink); text-decoration:none;}
.contact-value:hover{text-decoration:underline; text-decoration-color:var(--border-s);}
.connect-hero-photo{width:100%; max-width:380px; border-radius:10px; overflow:hidden;}
.connect-hero-photo img{width:100%; height:auto; display:block; aspect-ratio:3/4; object-fit:cover;}
.linkedin-row{display:flex; align-items:flex-start; gap:1.5rem; flex-wrap:wrap;}
.li-badge{width:52px; height:52px; border-radius:8px; background:var(--ink); color:var(--text-light); display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:20px; flex-shrink:0;}

/* ---------- newsletter entries ---------- */
.ff-articles{display:flex; gap:2rem;}
.ff-entry{flex:1; min-width:0; text-align:left;}
.ff-date{display:block; font-size:9px; letter-spacing:0.12em; text-transform:uppercase; color:var(--magenta); margin-bottom:8px; font-weight:600;}
.ff-title{font-family:var(--font-head); font-weight:700; font-size:15px; line-height:1.35; color:var(--ink); margin-bottom:6px;}
.ff-excerpt{font-size:12.5px; line-height:1.6; color:var(--charcoal);}

/* ---------- featured-in marquee ---------- */
.marquee{background:var(--charcoal); overflow:hidden; padding:0.85rem 0; white-space:nowrap;}
.marquee-track{display:inline-flex; width:max-content; animation:marquee-scroll 32s linear infinite;}
.marquee-copy{color:#fff; font-size:12px; letter-spacing:0.02em; padding-right:3rem; white-space:nowrap;}
@keyframes marquee-scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none;}
  .marquee{overflow-x:auto;}
}

@media (max-width:900px){
  .split,.speaking-hero,.split-cta{grid-template-columns:1fr !important;}
  .split-cta-right{border-left:none; padding-left:0; border-top:0.5px solid rgba(255,255,255,0.14); padding-top:2rem; margin-top:0.5rem;}
  .split-img{aspect-ratio:4/5;}
  .speaking-hero-img{aspect-ratio:16/9;}
  .currently{grid-template-columns:1fr;}
  .currently-figure{order:-1; width:100%; aspect-ratio:16/9;}
  .formats-split .breaker-img{height:auto; aspect-ratio:16/9;}
  .form-grid{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .footer-cols{gap:1.75rem;}
  .topic{grid-template-columns:1fr;}
  .topic-num{padding-top:0;}
  .ff-articles{flex-direction:column; gap:1.5rem;}
}
