/* EFG Today 039: home, About, Contact and Privacy. Builds on pages/style.css (038 v2 tokens, masthead, footer, buttons). */
::selection{background:var(--efg-pale);color:var(--ink)}
.lede,.tm-bio,.sx-desc{text-wrap:pretty}
.ic{flex:none;transition:transform var(--dur-fast) var(--ease)}
a:hover > .ic,.col-link:hover .ic{transform:translateX(3px)}

/* Sector shapes: shape plus name, never colour alone (same shapes as the Atlas) */
.sym,.sym-lg{display:inline-block;flex:none;background:var(--acc,#8d8b83)}
.sym{width:11px;height:11px}
.sym-lg{display:block;width:min(42%,150px);aspect-ratio:1;opacity:.9}
.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}
.square{clip-path:inset(8%)}
.diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.hexagon{clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%)}
.circle{border-radius:50%}
.cross{clip-path:polygon(35% 0,65% 0,65% 35%,100% 35%,100% 65%,65% 65%,65% 100%,35% 100%,35% 65%,0 65%,0 35%,35% 35%)}
.bar{clip-path:inset(28% 0)}

/* ================= Home: statement and expanding sector columns ================= */
.hero{background:var(--night)}
.hero-head{border-bottom:1px solid var(--rule)}
.hero-head-row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4) var(--sp-7);padding-top:clamp(20px,2.6vw,36px);padding-bottom:clamp(18px,2.2vw,28px)}
.hero h1{font-size:clamp(1.75rem,.9rem + 2.5vw,3.25rem);line-height:1.02;letter-spacing:-.035em;max-width:24ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:560px){.hero-actions .btn-mail{display:none}}
.cols{list-style:none;display:flex;height:max(440px,calc(100vh - var(--mast-h) - var(--hh,150px)));height:max(440px,calc(100svh - var(--mast-h) - var(--hh,150px)));max-height:960px;background:#0f100e}
.col{position:relative;flex:1 1 0;min-width:0;border-left:1px solid rgba(0,0,0,.4);transition:flex-grow .52s cubic-bezier(.16,1,.3,1)}
.col:first-child{border-left:0}
.col.is-open{flex-grow:5}
.col-link{position:absolute;inset:0;display:block;overflow:hidden;color:var(--bone);text-decoration:none}
.col-link:focus-visible{outline-offset:-5px}
.col-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;filter:saturate(.6) brightness(.7);transform:scale(1.03);transition:filter .5s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.col.is-open .col-img{filter:none;transform:none}
.col-field{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 20%,#161714)}
.col-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,15,13,0) 42%,rgba(14,15,13,.86) 100%)}
.col-tab{position:absolute;left:50%;bottom:26px;display:flex;align-items:center;gap:10px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:.01em;white-space:nowrap;transition:opacity .25s ease}
.col-tab .sym{transform:rotate(180deg)}
.col.is-open .col-tab{opacity:0}
.col-body{position:absolute;left:0;bottom:0;width:max(100%,320px);display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:clamp(18px,2.2vw,32px);opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .45s cubic-bezier(.16,1,.3,1)}
.col.is-open .col-body{opacity:1;transform:none;transition-delay:.14s}
.col-sector{display:flex;align-items:center;gap:10px;font-size:var(--fs-small);font-weight:700;letter-spacing:.02em}
.col-project{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,.9rem + 1.6vw,2.625rem);line-height:1.02;letter-spacing:-.03em;max-width:17ch;text-wrap:balance}
.col-meta{font-size:var(--fs-small);color:#ebe8de}
.col-kind{margin-left:8px;padding-left:10px;border-left:1px solid rgba(243,239,230,.55)}
.col-note{font-size:var(--fs-label);color:var(--mist)}
.col-go{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:var(--fs-small);font-weight:700;text-decoration:underline;text-underline-offset:.22em}

/* Phone, and any narrow window: stacked full-width bands, every label visible, each band a plain link */
@media (max-width:759px){
  .hero h1{max-width:none}
  .cols{flex-direction:column;height:auto;max-height:none}
  .col{flex:none;min-height:168px;border-left:0;border-top:1px solid rgba(0,0,0,.4)}
  .col:first-child{min-height:min(58vh,420px);min-height:min(58svh,420px);border-top:0}
  .col-link{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:inherit}
  .col:not(.is-field){min-height:270px}
  .col-img{filter:none;transform:none}
  .col-shade{background:linear-gradient(180deg,rgba(14,15,13,0) 8%,rgba(14,15,13,.9) 56%)}
  .col-tab,.col-field .sym-lg{display:none}
  .col-body{position:relative;width:100%;opacity:1;transform:none;padding:56px var(--gutter) 18px}
  .col-project{font-size:1.375rem;max-width:none}
  .col:first-child .col-project{font-size:2rem}
  }

/* ================= Home: sections ================= */
.sx-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px);border-top:1px solid var(--rule-ink)}
.sx{display:grid;grid-template-columns:14px minmax(0,1fr) auto;grid-template-areas:"s n c" ". d d";column-gap:14px;row-gap:2px;min-height:var(--target-lg);padding:16px 0;border-bottom:1px solid var(--rule-ink);color:var(--ink);text-decoration:none}
.sx .sym{grid-area:s;align-self:center}
.sx-name{grid-area:n;font-family:var(--display);font-weight:700;font-size:1.25rem;line-height:1.2;letter-spacing:-.015em}
.sx-n{grid-area:c;align-self:center;font-variant-numeric:tabular-nums;color:var(--ink-2)}
.sx-desc{grid-area:d;font-size:var(--fs-small);color:var(--ink-2)}
.sx:hover .sx-name{text-decoration:underline;text-underline-offset:.2em}
.sx-foot{margin:var(--sp-5) 0 0;font-size:var(--fs-small);color:var(--ink-2);max-width:72ch}
@media (max-width:760px){.sx-list{grid-template-columns:1fr}}

.work-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(18px,2vw,28px);align-items:start}
.wk-lead{grid-row:span 2}
.wk{display:block;color:var(--ink);text-decoration:none}
.wk img{width:100%;aspect-ratio:1800/1012;object-fit:cover;background:var(--bone-2)}
.wk-cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;padding-top:8px;border-top:1px solid var(--ink)}
.wk-name{font-family:var(--serif);font-size:1.375rem;line-height:1.2;letter-spacing:-.01em}
.wk-lead .wk-name{font-size:1.875rem}
.wk-meta{font-size:var(--fs-small);color:var(--ink-2);text-align:right}
.wk:hover .wk-name{text-decoration:underline;text-underline-offset:.18em}
@media (max-width:760px){.work-grid{grid-template-columns:1fr}.wk-lead{grid-row:auto}}

.paper .lede{color:var(--ink-2)}
.projects-band{background:var(--night-2)}
.pj{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-6) clamp(28px,5vw,80px);align-items:end}
.pj-copy .lede{margin:var(--sp-4) 0 var(--sp-5);max-width:46ch}
.pj-cap{margin:0 0 var(--sp-2);font-size:var(--fs-small);color:var(--mist)}
.pj-places{list-style:none;border-top:1px solid var(--rule)}
.pj-places li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-small);color:#e1ded3}
.pj-n{font-variant-numeric:tabular-nums;color:var(--bone)}
@media (max-width:900px){.pj{grid-template-columns:1fr}}

.pp-list{list-style:none;border-top:1px solid var(--rule-ink)}
.pp-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule-ink)}
.pp-name{font-family:var(--display);font-weight:700;font-size:1.125rem}
.pp-role{font-size:var(--fs-small);color:var(--ink-2);text-align:right}
.split > div > .btn{margin-top:var(--sp-2)}

.contact-band{background:var(--night)}
.ct{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-5) clamp(28px,5vw,80px);align-items:start}
.ct .lede{margin:0 0 var(--sp-5)}
.ct-addr{margin:var(--sp-4) 0 0;font-size:var(--fs-small);color:var(--mist)}
@media (max-width:900px){.ct{grid-template-columns:1fr}}

/* ================= About and Contact ================= */
.page-head{padding:clamp(48px,7vw,104px) 0 clamp(40px,5vw,72px)}
.page-head h1{font-size:var(--fs-h1-compact)}
.page-head .lede{margin:0 0 var(--sp-4)}
.pg-note{font-size:var(--fs-small);color:var(--mist);max-width:58ch}
.tm-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:clamp(28px,3vw,44px) clamp(20px,2.5vw,32px)}
.tm-photo{aspect-ratio:4/5;margin-bottom:var(--sp-3);overflow:hidden;background:var(--bone-2)}
.tm-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04)}
.tm-pending{display:grid;place-items:center;height:100%;font-size:var(--fs-small);color:var(--ink-3);border:1px dashed var(--rule-ink-strong)}
.tm-name{font-size:1.375rem}
.tm-role{margin:4px 0 8px;font-size:var(--fs-small);font-weight:700;color:var(--ink-2)}
.tm-bio{margin:0;font-size:.9375rem;color:var(--ink-2);max-width:60ch}
.ct-list dd a{overflow-wrap:anywhere}

/* Footer additions */
.foot-jg,.foot-private{margin:var(--sp-2) 0 0;font-size:var(--fs-small);color:var(--mist)}
.foot-note a,.foot-jg a{color:var(--bone)}

@media (prefers-reduced-motion:reduce){.col,.col-img,.col-body,.col-tab,.ic{transition:none!important}}

/* ================= v2 additions (coordinator corrections) ================= */
/* Roy Eigner: no labelled portrait yet, so a quiet initials field instead of a guessed face */
.tm-initials{display:grid;place-items:center;height:100%;background:var(--bone-2);color:var(--ink-3);font-family:var(--display);font-weight:700;font-size:clamp(3rem,2rem + 3vw,4.5rem);letter-spacing:-.03em}
.pg-note,.ct .lede,.pj-copy .lede{text-wrap:pretty}

/* 043: privacy notice. Same split bands as Contact; prose kept to a readable measure. */
.pv-body{display:grid;gap:var(--sp-3);max-width:62ch;font-size:1.0625rem;line-height:1.6}
.pv-body p{margin:0;text-wrap:pretty}
.pv-band{padding-block:var(--sp-6)}
.pv-band h2{font-size:clamp(1.375rem,1.1rem + .9vw,1.875rem);line-height:1.15;letter-spacing:-.01em;max-width:16ch}
.pv-band + .pv-band{border-top:1px solid var(--rule-ink)}
