/* Phase 2 production polish */
::selection{background:#d9c49b;color:#151515}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a:focus-visible,button:focus-visible{outline:2px solid #9a7740;outline-offset:4px}

.hero-panel{overflow:hidden}
.hero-panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#9a7740,#c7aa74)}
.hero-panel-quote{max-width:29ch}

.project-card,.world-card,.thought-row{will-change:transform}
.project-card:focus-visible{outline:2px solid #9a7740;outline-offset:4px}

.speaking-layout{grid-template-columns:.92fr 1.08fr;gap:88px}
.speaking-copy{max-width:560px}
.speaking-proof{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px;padding:0;list-style:none}
.speaking-proof li{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 12px;color:#d6cec2;font-size:.76rem;letter-spacing:.04em}
.speaking-media{position:relative;min-height:590px}
.portrait-frame{position:absolute;inset:0 0 0 10%;border-radius:32px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#2a2723;box-shadow:0 36px 100px rgba(0,0,0,.34)}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 17%}
.portrait-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.46) 0,rgba(0,0,0,.08) 38%,transparent 64%);pointer-events:none}
.portrait-caption{position:absolute;z-index:2;left:34px;right:34px;bottom:30px;display:flex;align-items:end;justify-content:space-between;gap:20px;color:#fff}
.portrait-caption strong{display:block;font-size:1.35rem;letter-spacing:-.025em}
.portrait-caption span{display:block;margin-top:3px;color:#ded6ca;font-size:.82rem}
.portrait-badge{position:absolute;z-index:3;right:-14px;top:34px;background:#f4efe6;color:#151515;border-radius:18px;padding:14px 16px;box-shadow:0 18px 50px rgba(0,0,0,.22);font-size:.73rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}

.journey-intro .journey-signoff{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-size:.86rem;color:#7a7369}

.connect-card{position:relative;overflow:hidden}
.connect-card::after{content:"AF";position:absolute;right:-10px;bottom:-56px;font-size:11rem;font-weight:900;letter-spacing:-.09em;color:rgba(154,119,64,.07);pointer-events:none}
.connect-copy{position:relative;z-index:2}
.connect-copy .button-dark{max-width:100%;text-align:center}
.social-block{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.social-label{margin:0 0 12px!important;color:#857c70!important;font-size:.72rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.social-links{display:flex;flex-wrap:wrap;gap:9px}
.social-links a{display:inline-flex;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:#544e46;font-size:.79rem;font-weight:700;background:rgba(255,255,255,.52);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.social-links a:hover{transform:translateY(-2px);border-color:rgba(21,21,21,.32);background:#fffdf8}

.site-footer{border-top:1px solid rgba(255,255,255,.04)}
.footer-all-links{color:#d8c7aa!important}

@media(max-width:980px){
  .speaking-layout{grid-template-columns:1fr;gap:54px}
  .speaking-media{min-height:620px}
  .portrait-frame{inset:0 8% 0 8%}
  .portrait-badge{right:4%}
}

@media(max-width:760px){
  .speaking-media{min-height:510px}
  .portrait-frame{inset:0}
  .portrait-badge{right:14px;top:16px}
  .portrait-caption{left:22px;right:22px;bottom:22px}
  .connect-card::after{font-size:7rem;bottom:-34px}
  .social-links{gap:8px}
  .social-links a{font-size:.76rem}
}

@media(max-width:480px){
  .speaking-media{min-height:430px}
  .portrait-caption{display:block}
  .portrait-caption .portrait-meta{margin-top:8px}
  .connect-copy .button-dark{width:100%}
  .social-links{display:grid;grid-template-columns:1fr 1fr}
  .social-links a{justify-content:center;text-align:center}
}
