/* Visual Refinement v2 — strict live-render polish for homepage. Presentation layer only. */

.p2-home .p2-hero{padding:clamp(3.4rem,5.7vw,5.2rem) 0 clamp(2.8rem,4.6vw,4rem);background:radial-gradient(circle at 83% 20%,rgba(183,131,61,.095),transparent 28%),linear-gradient(145deg,#f8f5ef 0%,#fcfbf8 58%,#eee6d8 100%)}
.p2-hero__grid--editorial{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:clamp(2.8rem,5vw,4.8rem);align-items:center}
.p2-home .p2-hero__copy{max-width:690px}
.p2-home .p2-hero__copy h1{max-width:14.4ch;margin:.25rem 0 1.15rem;font-size:clamp(3.55rem,5vw,4.95rem);line-height:1.01;letter-spacing:-.032em}
.p2-home .p2-hero__copy .p2-lead{max-width:59ch;font-size:clamp(1.03rem,1.3vw,1.18rem);line-height:1.62}
.p2-home .p2-hero__copy .p2-actions{margin-top:1.45rem}
.p2-home .p2-hero__copy .p2-microcopy{max-width:61ch;margin-top:.85rem;font-size:.84rem;line-height:1.55}
.p2-hero__visual{position:relative;display:block;max-width:440px;justify-self:end}
.p2-hero-portrait{position:relative;margin:0;overflow:hidden;border-radius:24px 24px 10px 10px;background:#132129;box-shadow:0 22px 58px rgba(16,28,33,.14)}
.p2-hero-portrait::after{content:"";position:absolute;inset:auto 0 0;height:27%;background:linear-gradient(180deg,transparent,rgba(8,17,21,.74));pointer-events:none}
.p2-hero-portrait img{display:block;width:100%;height:clamp(410px,34vw,520px);object-fit:cover;object-position:50% 34%}
.p2-hero-portrait figcaption{position:absolute;z-index:1;left:1.15rem;bottom:1rem;display:grid;gap:.12rem;color:#fff}
.p2-hero-portrait figcaption strong{font:600 1.08rem/1.1 var(--ac-font-display,"Fraunces",serif)}
.p2-hero-portrait figcaption span{font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:#e7c793}
.p2-hero-practice{position:static;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .95rem;margin:.85rem 0 0;padding:.8rem .15rem 0;border:0;border-top:1px solid rgba(16,28,33,.16);background:transparent;box-shadow:none;backdrop-filter:none}
.p2-hero-practice .p2-kicker{flex:0 0 100%;margin:0 0 .1rem;padding:0;border:0;font-size:.67rem}
.p2-hero-practice a{padding:0;color:var(--p2-ink);font-size:.75rem;font-weight:700;text-decoration:none;border:0!important}
.p2-hero-practice a:hover{text-decoration:underline;text-decoration-color:rgba(183,131,61,.75);background:transparent;color:#5f401b}

.p2-home .p2-trust{background:#fff;border-block:1px solid rgba(16,28,33,.11)}
.p2-home .p2-trust__grid{gap:clamp(.5rem,1.5vw,1.3rem)}
.p2-home .p2-trust__grid>div{position:relative;padding:1.15rem .4rem 1.1rem;border:0}
.p2-home .p2-trust__grid>div::before{content:"";position:absolute;left:.4rem;top:0;width:28px;height:1px;background:rgba(183,131,61,.72)}
.p2-home .p2-trust strong{font-size:1.02rem}
.p2-home .p2-trust span{font-size:.78rem;line-height:1.35}

.p2-home .p2-section{padding:clamp(3.5rem,5.7vw,5.25rem) 0}
.p2-home .p2-section-head{margin-bottom:1.8rem}

.p2-section--companies .p2-split{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(2.5rem,6vw,5.6rem)}
.p2-section--companies h2{max-width:14.2ch;font-size:clamp(2.45rem,4.2vw,3.65rem);line-height:1.04}
.p2-section--companies .p2-prose{max-width:650px}
.p2-section--companies .p2-text-link{display:inline-flex;align-items:baseline;gap:.35rem}
.p2-section--companies .p2-text-link span{flex:0 0 auto}

.p2-services-section .p2-section-head--services{max-width:850px;margin-bottom:2rem}
.p2-practice-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.p2-practice-route{display:flex;flex-direction:column;min-width:0;padding:clamp(1.35rem,2.4vw,1.85rem);border:1px solid rgba(16,28,33,.14);border-radius:20px;background:rgba(255,255,255,.8);box-shadow:0 14px 38px rgba(16,28,33,.035)}
.p2-practice-route:first-child{border-color:rgba(183,131,61,.38);background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(248,244,236,.92))}
.p2-practice-route--reaction{background:rgba(246,247,245,.76)}
.p2-practice-route__head{min-height:205px;padding-bottom:1.2rem}
.p2-practice-route__head .p2-kicker{display:block;margin-bottom:.55rem}
.p2-practice-route__head h3{max-width:17ch;margin:0 0 .75rem;font-size:clamp(1.65rem,2.2vw,2.05rem);line-height:1.08}
.p2-practice-route__head p{max-width:55ch;margin:0;color:var(--p2-muted);line-height:1.6}
.p2-practice-route__links{display:grid;border-top:1px solid rgba(16,28,33,.14)}
.p2-practice-route__links a{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:1rem;align-items:baseline;padding:.9rem 0;border-bottom:1px solid rgba(16,28,33,.11);color:var(--p2-ink);text-decoration:none}
.p2-practice-route__links a:hover strong{text-decoration:underline;text-decoration-color:rgba(183,131,61,.75)}
.p2-practice-route__links strong{font-size:.95rem}
.p2-practice-route__links span{color:var(--p2-muted);font-size:.8rem;line-height:1.45}
.p2-route-cta{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;min-height:44px;margin-top:.75rem;padding:.45rem 0;color:var(--p2-ink);font-size:.88rem;font-weight:800;line-height:1.4;text-decoration:none}
.p2-route-cta:hover{text-decoration:underline;text-decoration-color:rgba(183,131,61,.75)}
.p2-route-cta span{flex:0 0 auto;color:var(--p2-gold-dark)}
.p2-practice-secondary{margin:1.15rem 0 0;color:var(--p2-muted);font-size:.86rem}
.p2-practice-secondary a{color:var(--p2-ink);font-weight:700;text-underline-offset:.15em}

.p2-profile-section{position:relative;overflow:hidden;background:#e9e1d4}
.p2-profile-section::before{content:"AC";position:absolute;right:-.02em;top:-.28em;font:600 clamp(11rem,25vw,24rem)/1 var(--ac-font-display,"Fraunces",serif);color:rgba(16,28,33,.035);pointer-events:none}
.p2-profile-section .p2-profile{display:block;max-width:900px;margin-inline:auto}
.p2-profile-section .p2-profile__copy{position:relative;z-index:1;max-width:820px}
.p2-profile-section .p2-profile__copy h2{font-size:clamp(2.5rem,4.2vw,3.8rem);margin-bottom:.8rem}
.p2-profile-section .p2-profile__role{max-width:62ch;margin:.1rem 0 1rem;padding-bottom:1rem;border-bottom:1px solid rgba(16,28,33,.15)}
.p2-profile-section .p2-profile__copy>p:not(.p2-eyebrow):not(.p2-profile__role){max-width:68ch}

.p2-tools-section .p2-section-head--row{margin-bottom:1.65rem}
.p2-tool-grid--compact{grid-template-columns:1.05fr .95fr;grid-template-rows:repeat(3,minmax(0,auto));gap:.75rem}
.p2-tool-grid--compact .p2-tool-card--featured{grid-column:1;grid-row:1/4;min-height:0;padding:1.55rem;border-radius:22px;justify-content:flex-start}
.p2-tool-grid--compact .p2-tool-card--featured p{max-width:46ch;margin-bottom:0}
.p2-tool-grid--compact .p2-tool-card--featured a{margin-top:1.65rem}
.p2-tool-grid--compact .p2-tool-card:not(.p2-tool-card--featured){grid-column:2;min-height:0;padding:1rem 1.15rem;border-radius:13px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"kicker link" "title link" "copy link";align-items:center;column-gap:1rem}
.p2-tool-grid--compact .p2-tool-card:not(.p2-tool-card--featured) .p2-kicker{grid-area:kicker;margin-bottom:.28rem}
.p2-tool-grid--compact .p2-tool-card:not(.p2-tool-card--featured) h3{grid-area:title;margin:0;font-size:1.2rem}
.p2-tool-grid--compact .p2-tool-card:not(.p2-tool-card--featured) p{grid-area:copy;margin:.25rem 0 0;font-size:.81rem;line-height:1.42}
.p2-tool-grid--compact .p2-tool-card:not(.p2-tool-card--featured) a{grid-area:link;margin:0;max-width:8.6rem;text-align:right;font-size:.79rem}

.p2-education-band--compact{padding:clamp(2.8rem,4.6vw,4rem) 0}
.p2-education-band--compact .p2-education-band__grid{grid-template-columns:1.2fr .8fr;gap:clamp(2.5rem,5vw,4.5rem)}
.p2-education-band--compact h2{max-width:17ch;font-size:clamp(2.1rem,3.25vw,3.05rem)}
.p2-education-band--compact p{margin-bottom:1.1rem}
.p2-education-band--compact .p2-levels div{padding:1.15rem .7rem}
.p2-education-band--compact .p2-levels strong{font-size:1.8rem}

.p2-process--editorial{display:grid;grid-template-columns:1fr 1fr;margin-top:1.65rem;border:0}
.p2-process--editorial li{position:relative;grid-template-columns:50px 1fr;padding:1.25rem 1.35rem 1.25rem 0;border-top:1px solid var(--p2-line);border-bottom:0}
.p2-process--editorial li:nth-child(odd){padding-right:1.8rem;border-right:1px solid var(--p2-line)}
.p2-process--editorial li:nth-child(even){padding-left:1.8rem}
.p2-process--editorial>li>span{font-family:var(--ac-font-display,"Fraunces",serif);font-size:1.05rem;color:var(--p2-gold-dark)}
.p2-process--editorial p{font-size:.89rem;line-height:1.5}

.p2-publications-section .p2-section-head--row{margin-bottom:1.25rem}
.p2-publication-grid--compact a{min-height:120px;padding:1.1rem 1.2rem;border-radius:13px}
.p2-publication-grid--compact strong{font-size:1.08rem;max-width:24ch}

.p2-final-cta--framed{padding:2.15rem 0 3rem;background:var(--p2-ivory)}
.p2-final-cta--framed .p2-final-cta__inner{width:min(100%,1000px);margin-inline:auto;padding:1.85rem 2rem;border-radius:24px;background:var(--p2-ink);color:#dfe8e4;box-shadow:0 20px 52px rgba(16,28,33,.11)}
.p2-final-cta--framed .p2-eyebrow,.p2-final-cta--framed h2{color:#fff}
.p2-final-cta--framed h2{max-width:19ch;font-size:clamp(2rem,3.25vw,3rem)}
.p2-final-cta--framed p{color:#c5cfca}

@media(max-width:1000px){
  .p2-hero__grid--editorial{grid-template-columns:1fr .72fr;gap:2rem}
  .p2-home .p2-hero__copy h1{font-size:clamp(3rem,5.8vw,4.25rem)}
  .p2-hero-portrait img{height:440px}
  .p2-section--companies .p2-split{grid-template-columns:1fr 1fr;gap:2.5rem}
  .p2-tool-grid--compact{grid-template-columns:1fr;grid-template-rows:auto}
  .p2-tool-grid--compact .p2-tool-card--featured,.p2-tool-grid--compact .p2-tool-card:not(.p2-tool-card--featured){grid-column:1;grid-row:auto}
  .p2-education-band--compact .p2-education-band__grid{grid-template-columns:1fr}
}

@media(max-width:760px){
  .p2-home .p2-hero{padding:2.45rem 0 2.05rem}
  .p2-hero__grid--editorial{grid-template-columns:1fr;gap:1.65rem}
  .p2-home .p2-hero__copy h1{max-width:12.8ch;font-size:clamp(2.75rem,11.2vw,3.35rem);line-height:1.01;margin-bottom:1.05rem}
  .p2-home .p2-hero__copy .p2-lead{font-size:1rem;line-height:1.68}
  .p2-home .p2-hero__copy .p2-actions{margin-top:1.3rem;gap:.65rem}
  .p2-home .p2-hero__copy .p2-microcopy{font-size:.82rem;margin-top:.8rem}
  .p2-hero__visual{justify-self:stretch;max-width:100%}
  .p2-hero-portrait{max-width:430px;width:100%;margin-inline:auto;border-radius:20px 20px 9px 9px}
  .p2-hero-portrait img{height:340px;object-position:50% 27%}
  .p2-hero-practice{display:none}
  .p2-home .p2-trust__grid{grid-template-columns:1fr 1fr;gap:0}
  .p2-home .p2-trust__grid>div{padding:.9rem .75rem!important;border-right:1px solid var(--p2-line);border-bottom:1px solid var(--p2-line)}
  .p2-home .p2-trust__grid>div:nth-child(2n){border-right:0}
  .p2-home .p2-trust__grid>div:nth-last-child(-n+2){border-bottom:0}
  .p2-home .p2-trust__grid>div::before{display:none}
  .p2-home .p2-trust strong{font-size:.96rem}
  .p2-home .p2-trust span{font-size:.72rem}
  .p2-home .p2-section{padding:2.85rem 0}
  .p2-section--companies .p2-split{grid-template-columns:1fr;gap:1.7rem}
  .p2-section--companies h2{max-width:15.5ch;font-size:2.2rem;line-height:1.04}
  .p2-section--companies .p2-prose{font-size:.98rem}
  .p2-section--companies .p2-text-link{font-size:.95rem;line-height:1.35}
  .p2-practice-routes{grid-template-columns:1fr;gap:.85rem}
  .p2-practice-route{padding:1.15rem;border-radius:16px}
  .p2-practice-route__head{min-height:0;padding-bottom:1rem}
  .p2-practice-route__head h3{font-size:1.7rem}
  .p2-practice-route__links a{grid-template-columns:1fr;gap:.12rem;padding:.8rem 0}
  .p2-practice-route__links span{font-size:.78rem}
  .p2-route-cta{font-size:.84rem;line-height:1.45}
  .p2-profile-section::before{top:-.08em;right:-.08em;font-size:11rem}
  .p2-profile-section .p2-profile__copy h2{font-size:2.35rem}
  .p2-tools-section .p2-section-head--row{gap:.65rem;margin-bottom:1.25rem}
  .p2-tool-grid--compact .p2-tool-card--featured{min-height:0;padding:1.3rem}
  .p2-tool-grid--compact .p2-tool-card--featured a{margin-top:1.2rem}
  .p2-tool-grid--compact .p2-tool-card:not(.p2-tool-card--featured){grid-template-columns:1fr;grid-template-areas:"kicker" "title" "copy" "link";min-height:0;padding:.95rem 1rem}
  .p2-tool-grid--compact .p2-tool-card:not(.p2-tool-card--featured) a{margin-top:.5rem;max-width:none;text-align:left}
  .p2-education-band--compact{padding:2.55rem 0!important}
  .p2-education-band--compact h2{max-width:14.2ch;font-size:2.38rem;line-height:1.03}
  .p2-education-band--compact .p2-levels{grid-template-columns:repeat(3,1fr)!important}
  .p2-education-band--compact .p2-levels div{padding:.8rem .3rem;border-right:1px solid rgba(255,255,255,.15)!important;border-bottom:0!important}
  .p2-education-band--compact .p2-levels div:last-child{border-right:0!important}
  .p2-education-band--compact .p2-levels strong{font-size:1.5rem}
  .p2-process--editorial{grid-template-columns:1fr}
  .p2-process--editorial li,.p2-process--editorial li:nth-child(odd),.p2-process--editorial li:nth-child(even){padding:.92rem 0;border-right:0;border-top:1px solid var(--p2-line)}
  .p2-process--editorial p{font-size:.86rem}
  .p2-publications-section .p2-section-head--row{gap:.55rem;margin-bottom:1rem}
  .p2-publication-grid--compact{gap:.75rem}
  .p2-publication-grid--compact a{min-height:102px;padding:.95rem 1rem}
  .p2-final-cta--framed{padding:1.45rem 0 2.1rem}
  .p2-final-cta--framed .p2-final-cta__inner{padding:1.45rem;border-radius:18px;gap:1rem}
}

@media(max-width:390px){
  .p2-home .p2-hero__copy h1{font-size:2.72rem}
  .p2-hero-portrait img{height:320px}
  .p2-section--companies h2{font-size:2.08rem}
  .p2-education-band--compact h2{font-size:2.22rem}
  .p2-home .p2-trust__grid{grid-template-columns:1fr 1fr}
}
