/* ═══════════════════════════════════════════════════════════
   Let's Talk page — page-specific styles only.
   Global resets, :root, nav, footer, reveal (.r/.rl/.rr),
   @keyframes fadeUp, and spin live in style.css.
═══════════════════════════════════════════════════════════ */

/* ══ HERO — split layout ══ */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh;padding-top:0;overflow:hidden}

.hero-img-side{position:relative;overflow:hidden;background:var(--warm)}
.hero-img-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block;opacity:0;transition:opacity 1.8s cubic-bezier(.4,0,.2,1)}
.hero-img-side img.in{opacity:1}
.hero-img-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--warm)}
.hero-img-ph-label{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:14px;color:var(--brown-mid);opacity:.4;text-align:center;line-height:1.7}
.hero-img-ph-path{font-size:10px;letter-spacing:.1em;color:var(--muted2);font-family:monospace;opacity:.5}

.hero-copy-side{display:flex;flex-direction:column;justify-content:center;padding:100px 64px 80px;background:var(--cream)}
.hero-eyebrow{font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.hero-eyebrow::before{content:"";width:18px;height:1px;background:var(--gold)}
.hero-h{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(44px,5.5vw,76px);line-height:.97;letter-spacing:-.03em;color:var(--text);margin-bottom:26px}
.hero-h em{font-style:italic;color:var(--brown-mid)}
.hero-sub{font-size:clamp(14px,1.4vw,17px);line-height:1.9;color:var(--muted);font-weight:300;max-width:420px;margin-bottom:40px}

.hero-wa-btn{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:var(--brown);padding:14px 32px;text-decoration:none;font-weight:500;border:1.5px solid var(--brown);transition:background .35s cubic-bezier(.4,0,.2,1),border-color .35s,transform .25s;align-self:flex-start}
.hero-wa-btn:hover{background:#1a7a3a;border-color:#1a7a3a;transform:translateY(-1px)}
.hero-wa-btn:active{transform:none}
.hero-wa-icon{width:18px;height:18px;flex-shrink:0}

/* ══ CONTACT CARDS ══ */
.s-cards{background:var(--warm);padding:0}
.cards-inner{max-width:1100px;margin:0 auto;padding:80px 56px}
.cards-eyebrow{font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.cards-eyebrow::before{content:"";width:16px;height:1px;background:var(--gold)}
.cards-h{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(28px,3.2vw,44px);line-height:1.04;letter-spacing:-.025em;color:var(--text);margin-bottom:48px}
.cards-h em{font-style:italic;color:var(--brown-mid)}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-mid);border:1px solid var(--border-mid)}

.contact-card{background:var(--cream);padding:40px 36px;display:flex;flex-direction:column;gap:0;text-decoration:none;transition:background .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}
.contact-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.contact-card:hover{background:var(--warm);transform:translateY(-2px)}
.contact-card:hover::after{transform:scaleX(1)}

.contact-card.primary{background:var(--brown)}
.contact-card.primary:hover{background:#4d3520}
.contact-card.primary .card-label{color:var(--gold)}
.contact-card.primary .card-name{color:var(--white)}
.contact-card.primary .card-desc{color:rgba(247,242,234,.55)}
.contact-card.primary .card-link-text{color:rgba(247,242,234,.4)}
.contact-card.primary .card-link-text:hover{color:var(--gold)}
.contact-card.primary::after{background:var(--gold)}

.card-icon{width:36px;height:36px;margin-bottom:22px;flex-shrink:0}
.card-icon svg{width:36px;height:36px}
.contact-card.primary .card-icon svg{color:var(--gold)}
.contact-card:not(.primary) .card-icon svg{color:var(--muted2)}

.card-label{font-size:8px;letter-spacing:.3em;text-transform:uppercase;font-weight:500;color:var(--gold-deep);margin-bottom:8px}
.card-name{font-family:"Cormorant Garamond",serif;font-size:clamp(20px,2.2vw,26px);font-weight:400;letter-spacing:-.01em;color:var(--text);margin-bottom:12px}
.card-desc{font-size:13px;line-height:1.8;color:var(--muted);font-weight:300;margin-bottom:24px;flex:1}
.card-link-text{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);font-weight:400;text-decoration:none;display:flex;align-items:center;gap:8px;transition:color .25s}
.card-link-text::after{content:"→";font-family:"Cormorant Garamond",serif;font-size:14px;transition:transform .3s}
.contact-card:hover .card-link-text::after{transform:translateX(4px)}
.contact-card:not(.primary) .card-link-text:hover{color:var(--brown-mid)}

/* ══ FORM + QUICK HELP ══ */
.s-form{background:var(--cream);padding:100px 0}
.form-inner{max-width:1100px;margin:0 auto;padding:0 56px;display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:start}

.form-eyebrow{font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.form-eyebrow::before{content:"";width:16px;height:1px;background:var(--gold)}
.form-h{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(28px,3.2vw,42px);line-height:1.04;letter-spacing:-.025em;color:var(--text);margin-bottom:36px}
.form-h em{font-style:italic;color:var(--brown-mid)}

.field{position:relative;margin-bottom:16px}
.field-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);font-weight:400;margin-bottom:7px;display:block}
.field-label .opt{font-size:9px;letter-spacing:0;text-transform:none;color:var(--muted2);font-weight:300;opacity:.7}
.field-input,.field-select,.field-textarea{width:100%;background:var(--white);border:1px solid var(--border-mid);padding:13px 16px;font-size:14px;color:var(--text);font-family:"DM Sans",sans-serif;font-weight:300;letter-spacing:.02em;outline:none;border-radius:0;appearance:none;transition:border-color .25s,box-shadow .25s}
.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--brown-mid);box-shadow:0 0 0 3px rgba(61,43,26,.05)}
.field-input::placeholder,.field-textarea::placeholder{color:var(--muted2);font-size:13px}
.field-select{background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238a7060' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:40px;cursor:pointer}
.field-textarea{resize:vertical;min-height:140px;line-height:1.7}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.form-submit{width:100%;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--white);background:var(--brown);padding:17px 32px;border:1.5px solid var(--brown);cursor:pointer;font-family:"DM Sans",sans-serif;font-weight:500;margin-top:4px;transition:background .35s cubic-bezier(.4,0,.2,1),border-color .35s,transform .25s,box-shadow .35s;display:flex;align-items:center;justify-content:center;gap:10px}
.form-submit:hover{background:var(--red);border-color:var(--red);transform:translateY(-1px);box-shadow:0 8px 24px rgba(138,20,20,.22)}
.form-submit:active{transform:none;box-shadow:none}
.form-submit .spinner{display:none;width:14px;height:14px;border:1.5px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}
.form-submit.loading{opacity:.7;pointer-events:none}
.form-submit.loading .spinner{display:block}
.form-submit.loading .btn-txt{opacity:.5}

.form-success{display:none;padding:48px 40px;background:var(--warm);border:1px solid var(--border);text-align:center}
.form-success.visible{display:block}
.success-icon{font-size:32px;margin-bottom:16px;color:var(--gold)}
.success-h{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:26px;font-weight:300;color:var(--text);margin-bottom:10px}
.success-sub{font-size:14px;color:var(--muted);font-weight:300;line-height:1.75}

/* Quick help sidebar */
.quick-help{position:sticky;top:100px}
.qh-title{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted2);font-weight:400;margin-bottom:16px}
.qh-links{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-mid);margin-bottom:36px}
.qh-link{display:flex;align-items:center;gap:14px;padding:18px 20px;text-decoration:none;border-bottom:1px solid var(--border);background:var(--white);transition:background .25s,padding-left .3s}
.qh-link:last-child{border-bottom:none}
.qh-link:hover{background:var(--warm);padding-left:26px}
.qh-link-icon{width:16px;height:16px;flex-shrink:0;opacity:.4}
.qh-link-text{font-size:13px;color:var(--text);font-weight:300;letter-spacing:.01em}
.qh-link-arrow{margin-left:auto;font-size:13px;color:var(--muted2);font-family:"Cormorant Garamond",serif;transition:transform .3s}
.qh-link:hover .qh-link-arrow{transform:translateX(4px)}

.hours-card{background:var(--warm);border:1px solid var(--border);padding:28px 24px}
.hours-title{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted2);font-weight:400;margin-bottom:16px}
.hours-rows{display:flex;flex-direction:column;gap:0}
.hours-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border)}
.hours-row:last-child{border-bottom:none}
.hours-day{font-size:12px;color:var(--muted);font-weight:300;letter-spacing:.04em}
.hours-time{font-size:12px;color:var(--text);font-weight:400;letter-spacing:.04em}
.hours-time.closed{color:var(--muted2);font-weight:300}
.hours-note{font-size:11px;color:var(--muted2);font-weight:300;line-height:1.7;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}

/* ══ SOCIAL SECTION ══ */
.s-social{background:var(--brown);padding:88px 0;text-align:center}
.social-inner{max-width:660px;margin:0 auto;padding:0 52px}
.social-eyebrow{font-size:9px;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:18px;display:flex;align-items:center;justify-content:center;gap:14px}
.social-eyebrow::before,.social-eyebrow::after{content:"";width:22px;height:1px;background:var(--gold);opacity:.5}
.social-h{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(28px,3.5vw,46px);line-height:1.04;letter-spacing:-.025em;color:var(--white);margin-bottom:18px}
.social-h em{font-style:italic;color:rgba(200,169,110,.8)}
.social-sub{font-size:14px;line-height:1.9;color:rgba(247,242,234,.5);font-weight:300;max-width:460px;margin:0 auto 44px}
.social-links{display:flex;align-items:center;justify-content:center;gap:1px;background:rgba(247,242,234,.06);border:1px solid rgba(247,242,234,.06)}
.social-link{flex:1;padding:28px 24px;text-decoration:none;text-align:center;background:var(--brown);transition:background .3s}
.social-link:hover{background:#4d3520}
.social-link-icon{display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.social-link-icon svg{color:var(--gold);opacity:.7;transition:opacity .25s}
.social-link:hover .social-link-icon svg{opacity:1}
.social-link-name{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,242,234,.45);font-weight:400;margin-bottom:4px;transition:color .25s}
.social-link:hover .social-link-name{color:rgba(247,242,234,.8)}
.social-link-handle{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:14px;color:rgba(247,242,234,.3);transition:color .25s}
.social-link:hover .social-link-handle{color:var(--gold)}
.social-note{font-size:11px;color:rgba(247,242,234,.28);letter-spacing:.06em;margin-top:24px;font-weight:300}

@keyframes spin{to{transform:rotate(360deg)}}

/* ══ RESPONSIVE ══ */
@media(max-width:767px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-img-side{aspect-ratio:4/3;position:relative}
  .hero-img-side img{position:absolute}
  .hero-copy-side{padding:52px 24px 60px}
  .cards-inner,.form-inner,.social-inner{padding-left:24px;padding-right:24px}
  .cards-grid{grid-template-columns:1fr}
  .form-inner{grid-template-columns:1fr;gap:48px}
  .quick-help{position:static}
  .field-row{grid-template-columns:1fr}
  .social-links{flex-direction:column}
}
@media(min-width:768px) and (max-width:1100px){
  .hero-copy-side{padding:80px 44px}
  .cards-inner,.form-inner,.social-inner{padding-left:40px;padding-right:40px}
  .cards-grid{grid-template-columns:1fr 1fr}
  .form-inner{grid-template-columns:1fr 360px;gap:52px}
}

.cards-sub{max-width:620px;font-size:14px;line-height:1.8;color:var(--muted);font-weight:300;margin:-14px 0 32px}
