:root{
  --paper:#f5f1e9;
  --paper-light:#fbfaf6;
  --ink:#171715;
  --muted:#66615a;
  --blue:#50627b;
  --line:rgba(23,23,21,.16);
  --serif:Baskerville,"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
::selection{background:#d9d2c6;color:#111}

/* Header */
.site-header{height:86px;max-width:var(--max);margin:auto;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:30;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600;white-space:nowrap}
.brand-mark{width:43px;height:48px;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:31px;font-size:10px;text-transform:uppercase;letter-spacing:.17em}
.site-nav a{padding:11px 0;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a.active{border-color:currentColor}
.menu-toggle{display:none;background:none;border:0;padding:12px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink);margin:7px 0}

/* Home hero */
.hero{max-width:var(--max);margin:auto;display:grid;grid-template-columns:48% 52%;min-height:650px;border-bottom:1px solid var(--line);background:var(--paper-light)}
.hero-copy{padding:clamp(58px,7vw,104px) clamp(28px,5vw,76px);display:flex;flex-direction:column;justify-content:center}
.eyebrow{margin:0;color:var(--blue);font-size:10px;line-height:1.65;text-transform:uppercase;letter-spacing:.34em;font-weight:600}
.eyebrow.single{letter-spacing:.26em;line-height:1.2}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,7.2vw,108px);line-height:.86;letter-spacing:-.045em;margin:34px 0 23px}
.role{font-family:var(--serif);font-size:clamp(20px,1.65vw,27px);line-height:1.25;margin:0 0 25px;white-space:nowrap}
.role span{color:#99938c;padding:0 .28em}
.hero-note{font-family:var(--serif);font-size:clamp(18px,1.45vw,23px);line-height:1.45;margin:0;color:#34312d}
.hero-actions{display:flex;gap:15px;margin-top:35px}
.button{height:51px;min-width:166px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--ink);text-transform:uppercase;letter-spacing:.19em;font-size:9px;font-weight:600}
.button.dark{background:var(--ink);color:#fff}.button.light{background:transparent}.button:hover{opacity:.75}
.hero-portrait{margin:0;position:relative;overflow:hidden;background:#e9e3da;min-height:650px}
.hero-portrait picture,.hero-portrait img{width:100%;height:100%}
.hero-portrait img{object-fit:cover;object-position:center center}
.hero-portrait figcaption{position:absolute;right:5.5%;bottom:7%;max-width:400px;text-align:right;color:#fff;font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.55vw,25px);line-height:1.25;text-shadow:0 2px 18px rgba(0,0,0,.7)}
.hero-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 45%,rgba(0,0,0,.03) 62%,rgba(0,0,0,.22) 100%);pointer-events:none}
.hero-portrait figcaption{z-index:2}

/* Home sections */
.section{max-width:var(--max);margin:auto;padding:64px clamp(28px,5vw,76px);border-bottom:1px solid var(--line)}
.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:40px}
.section h2{font-family:var(--serif);font-weight:400;font-size:clamp(43px,4.2vw,64px);line-height:1;letter-spacing:-.03em;margin:0}
.quiet-link{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--blue);white-space:nowrap}
.quiet-link span{margin-left:14px}
.bio-columns{display:grid;grid-template-columns:repeat(3,1fr)}
.bio-columns p{font-family:var(--serif);font-size:17px;line-height:1.55;margin:0;padding:4px 35px 4px 0;color:#393530}
.bio-columns p+p{padding-left:35px;border-left:1px solid var(--line)}
.pillars{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);padding:23px clamp(28px,5vw,76px);border-bottom:1px solid var(--line);background:#f8f5ee}
.pillar{text-align:center;padding:25px 35px}
.pillar+.pillar{border-left:1px solid var(--line)}
.pillar svg{width:43px;height:43px;margin:0 auto 13px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pillar h3{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.18;margin:0 0 6px}.pillar p{font-family:var(--serif);font-size:14px;color:#625d56;margin:0}

/* Logos: never crop/distort */
.logo-strip{display:grid;grid-template-columns:1.35fr 1.35fr 1.1fr .82fr 1.25fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.19)}
.logo-cell{min-height:112px;padding:18px 24px;display:flex;align-items:center;justify-content:center;overflow:visible}
.logo-cell+.logo-cell{border-left:1px solid var(--line)}
.logo-cell img{display:block;width:auto;height:auto;object-fit:contain;object-position:center;max-width:100%;max-height:68px}
.logo-council img{max-height:60px;max-width:220px}.logo-region img{max-height:58px;max-width:245px}.logo-aoup img{max-height:62px;max-width:210px}.logo-cnsas img{max-height:78px;max-width:78px}
.wordmark{flex-direction:column;gap:6px;text-align:center}.wordmark strong{font-family:var(--sans);font-size:18px;letter-spacing:-.03em}.wordmark span{font-family:var(--serif);font-size:12px;color:#5d5852}

/* Contact */
.contact{display:grid;grid-template-columns:.65fr 1.45fr;gap:7vw;padding-bottom:78px}
.contact-side h2{margin-bottom:20px}.contact-kicker{font-family:var(--serif);font-size:18px;color:#57514b;margin:0}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form label:not(.privacy-check){display:flex;flex-direction:column;gap:7px}.contact-form label span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#68625d}.contact-form small{text-transform:none;letter-spacing:0}.contact-form input,.contact-form textarea{border:1px solid var(--line);background:rgba(255,255,255,.32);border-radius:0;padding:12px 13px;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#5d6470}.full{grid-column:1/-1}.privacy-check{display:flex;align-items:flex-start;gap:9px}.privacy-check input{width:auto;margin-top:3px}.privacy-check span{text-transform:none!important;letter-spacing:0!important;font-size:11px!important}.privacy-check a{text-decoration:underline;text-underline-offset:3px}.form-actions{display:flex;align-items:center;gap:34px}.form-actions button{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:14px 22px;text-transform:uppercase;letter-spacing:.18em;font-size:9px;cursor:pointer}.form-actions button span{margin-left:17px}.linkedin{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-size:15px}.linkedin-badge{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:#0a66c2;color:#fff;font-family:Arial,sans-serif;font-size:13px;font-weight:700;border-radius:2px}.form-status{font-family:var(--serif);font-size:17px}.success{color:#315f41}.error{color:#8b3030}.hp{position:absolute!important;left:-9999px!important;opacity:0!important;width:1px!important;height:1px!important}

/* Footer */
.site-footer{max-width:var(--max);margin:auto;min-height:92px;padding:22px clamp(28px,5vw,76px);display:grid;grid-template-columns:1fr auto auto auto;gap:26px;align-items:center;border-top:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.14em;background:#f3efe7}
.footer-brand{display:flex;align-items:center;gap:11px}.footer-brand img{width:28px;height:31px;object-fit:contain}.footer-role{color:#655f58}.footer-links{display:flex;gap:18px}.footer-links a{text-decoration:underline;text-underline-offset:3px}.copyright{white-space:nowrap;color:#655f58}

/* Generic internal hero */
.page-hero{max-width:var(--max);margin:auto;display:grid;grid-template-columns:46% 54%;min-height:600px;border-bottom:1px solid var(--line);background:var(--paper-light)}
.page-hero-copy{padding:clamp(60px,7vw,105px) clamp(28px,5vw,76px);display:flex;flex-direction:column;justify-content:center}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(70px,7.8vw,112px);line-height:.86;letter-spacing:-.05em;margin:28px 0 30px}.page-lead{font-family:var(--serif);font-size:20px;line-height:1.55;color:#46413b;max-width:600px;margin:0}.page-hero-copy blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,29px);line-height:1.45;color:#302d29;margin:0;max-width:620px}.signature{font-size:9px;text-transform:uppercase;letter-spacing:.23em;color:var(--blue);margin-top:28px}.page-hero-photo{margin:0;overflow:hidden;min-height:600px}.page-hero-photo img{width:100%;height:100%;object-fit:cover}.vision-hero .page-hero-photo img{object-position:center 40%}.experience-hero .page-hero-photo img{object-position:center center}

/* Visione */
.manifesto-text{max-width:1100px;margin:auto;padding:90px clamp(28px,7vw,90px);columns:2;column-gap:80px}.manifesto-text>p{font-family:var(--serif);font-size:19px;line-height:1.67;color:#34312e;margin:0 0 1.25em;break-inside:avoid}.manifesto-final{column-span:all;margin-top:65px;padding:55px 0 10px;border-top:1px solid var(--line);text-align:center}.manifesto-final p{font-family:var(--serif);font-size:clamp(29px,3.8vw,53px);line-height:1.18;font-style:italic;margin:0 auto 25px;max-width:950px}.manifesto-final span{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--blue)}
.vision-link-panel{max-width:var(--max);margin:auto;padding:75px clamp(28px,5vw,76px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:.35fr 1fr auto;gap:35px;align-items:center}.vision-link-panel h2{font-family:var(--serif);font-size:clamp(32px,3vw,48px);font-weight:400;line-height:1.05;margin:0}

/* Experiences */
.profile-intro{max-width:var(--max);margin:auto;padding:80px clamp(28px,5vw,76px);border-bottom:1px solid var(--line)}.profile-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:36px}.profile-intro-grid p{font-family:var(--serif);font-size:21px;line-height:1.6;margin:0;color:#383430}
.cv-section{max-width:var(--max);margin:auto;padding:82px clamp(28px,5vw,76px);display:grid;grid-template-columns:.48fr 1fr;gap:8vw;border-bottom:1px solid var(--line)}.cv-title h2,.cv-grid-blocks h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,4.5vw,68px);line-height:.98;letter-spacing:-.035em;margin:23px 0 0}.cv-list{border-top:1px solid var(--line)}.cv-list article{padding:23px 0;border-bottom:1px solid var(--line)}.cv-list h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:0 0 4px}.cv-list p{font-family:var(--serif);font-size:16px;color:#5c5650;margin:0;line-height:1.45}.cv-prose p{font-family:var(--serif);font-size:23px;line-height:1.6;margin:0;max-width:780px}.cv-grid-blocks{max-width:var(--max);margin:auto;padding:82px clamp(28px,5vw,76px);display:grid;grid-template-columns:1.35fr .8fr .85fr;border-bottom:1px solid var(--line)}.cv-grid-blocks article{padding-right:45px}.cv-grid-blocks article+article{border-left:1px solid var(--line);padding-left:45px}.cv-grid-blocks h2{font-size:40px;margin:18px 0 24px}.cv-grid-blocks p,.cv-grid-blocks li{font-family:var(--serif);font-size:17px;line-height:1.55;color:#45403a}.cv-grid-blocks ul{padding-left:20px;margin:0}.cv-grid-blocks li+li{margin-top:9px}.experience-logos{max-width:var(--max);margin:auto;padding:70px clamp(28px,5vw,76px) 90px}.experience-logos>.eyebrow{margin-bottom:30px}.logo-strip.large .logo-cell{min-height:130px}

/* Privacy */
.legal{max-width:850px;margin:auto;padding:80px 28px 120px}.legal h1{font-family:var(--serif);font-size:clamp(54px,7vw,90px);font-weight:400;line-height:1;margin:28px 0 50px}.legal h2{font-family:var(--serif);font-weight:400;font-size:27px;margin-top:42px}.legal p{font-family:var(--serif);font-size:18px;line-height:1.6}.legal-footnote{margin-top:55px;padding-top:25px;border-top:1px solid var(--line);font-size:14px!important;color:#635e58}

@media(max-width:1100px){
  .role{white-space:normal}.site-nav{gap:20px}.logo-cell{padding:16px}.logo-council img{max-width:190px}.logo-region img{max-width:205px}
  .site-footer{grid-template-columns:1fr auto}.footer-role{display:none}.copyright{text-align:right}
}

@media(max-width:900px){
  .site-header{height:76px;padding:0 20px;position:sticky;top:0;border-bottom:1px solid var(--line)}.brand{font-size:10px;letter-spacing:.14em}.brand-mark{width:37px;height:41px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:26px 22px 32px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:14px;box-shadow:0 12px 24px rgba(0,0,0,.05)}.site-nav.open{display:flex}.site-nav a{font-size:11px}
  .hero{grid-template-columns:1fr;min-height:auto}.hero-portrait{order:1;min-height:54svh;height:54svh}.hero-portrait img{object-position:center center}.hero-copy{order:2;padding:44px 22px 58px}.hero h1{font-size:clamp(55px,13vw,82px);margin:20px 0 16px}.role{font-size:19px}.hero-note{font-size:18px}.hero-portrait figcaption{font-size:18px;right:5%;bottom:5%;max-width:340px}.hero-actions{margin-top:27px}
  .section{padding:58px 22px}.bio-columns{grid-template-columns:1fr}.bio-columns p{padding:22px 0;font-size:18px}.bio-columns p+p{border-left:0;border-top:1px solid var(--line);padding-left:0}.pillars{grid-template-columns:1fr;padding:8px 22px}.pillar{padding:30px 8px}.pillar+.pillar{border-left:0;border-top:1px solid var(--line)}
  .logo-strip{grid-template-columns:1fr 1fr}.logo-cell{min-height:104px}.logo-cell:nth-child(odd){border-left:0}.logo-cell:nth-child(n+3){border-top:1px solid var(--line)}.logo-cell:last-child{grid-column:1/-1;border-left:0}
  .contact{grid-template-columns:1fr;gap:30px}.contact-form{grid-template-columns:1fr}.contact-form>*{grid-column:1/-1}
  .site-footer{grid-template-columns:1fr;gap:12px;align-items:flex-start;padding:26px 22px 38px}.copyright{text-align:left}.footer-links{flex-wrap:wrap}
  .page-hero{grid-template-columns:1fr;min-height:auto}.page-hero-photo{order:1;min-height:55svh;height:55svh}.page-hero-copy{order:2;padding:52px 22px 64px}.page-hero h1{font-size:clamp(57px,14vw,88px);margin-top:22px}.page-hero-copy blockquote{font-size:21px}.manifesto-text{padding:70px 22px;columns:1}.manifesto-text>p{font-size:18px}.manifesto-final{margin-top:45px;padding-top:45px}.vision-link-panel{grid-template-columns:1fr;gap:22px;padding:58px 22px}.vision-link-panel .button{justify-self:start}
  .profile-intro{padding:64px 22px}.profile-intro-grid{grid-template-columns:1fr;gap:28px}.profile-intro-grid p{font-size:19px}.cv-section{grid-template-columns:1fr;gap:42px;padding:68px 22px}.cv-grid-blocks{grid-template-columns:1fr;padding:68px 22px}.cv-grid-blocks article{padding:35px 0}.cv-grid-blocks article:first-child{padding-top:0}.cv-grid-blocks article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.experience-logos{padding:58px 22px 75px}
}

@media(max-width:560px){
  .brand span{white-space:normal;max-width:172px;line-height:1.35}.hero-portrait{min-height:48svh;height:48svh}.hero-portrait img{object-position:48% center}.hero-portrait figcaption{font-size:15px;line-height:1.24;max-width:250px;right:4%;bottom:4%}.hero-copy{padding-top:34px}.eyebrow{font-size:9px}.hero h1{font-size:53px}.role{font-size:17px}.hero-note{font-size:17px}.hero-note br{display:none}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.button{min-width:0;padding:0 12px;height:49px}
  .section-heading-row{display:block;margin-bottom:28px}.section h2{font-size:40px}.quiet-link{display:inline-block;margin-top:16px}.bio-columns p{font-size:17px}.pillar h3{font-size:19px}
  .experience h2{font-size:38px}.logo-cell{height:92px;min-height:92px;padding:12px}.logo-council img{max-height:43px;max-width:150px}.logo-region img{max-height:40px;max-width:160px}.logo-aoup img{max-height:48px;max-width:150px}.logo-cnsas img{max-height:58px;max-width:58px}.wordmark strong{font-size:16px}.wordmark span{font-size:10px}
  .form-actions{flex-direction:column;align-items:flex-start}.form-actions button{width:100%}.contact{padding-bottom:55px}.contact-side h2{font-size:42px}
  .page-hero-photo{min-height:48svh;height:48svh}.page-hero h1{font-size:55px}.page-lead{font-size:18px}.manifesto-text>p{font-size:17px}.manifesto-final p{font-size:31px}.cv-title h2{font-size:44px}.cv-list h3{font-size:21px}.cv-list p{font-size:15px}.cv-prose p{font-size:19px}.cv-grid-blocks h2{font-size:35px}.cv-grid-blocks p,.cv-grid-blocks li{font-size:16px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V3.1 — Home hero: composition preserved exactly as approved image */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media (min-width: 901px){
  .hero{
    grid-template-columns:46% 54%;
    min-height:0;
    align-items:stretch;
  }
  .hero-copy{
    padding:44px clamp(28px,4.6vw,68px);
    justify-content:center;
  }
  .hero h1{
    font-size:clamp(68px,6.25vw,92px);
    line-height:.88;
    margin:22px 0 18px;
  }
  .role{
    font-size:clamp(18px,1.45vw,23px);
    margin-bottom:19px;
  }
  .hero-note{
    font-size:clamp(17px,1.3vw,21px);
  }
  .hero-actions{margin-top:27px}
  .hero-portrait-exact{
    min-height:0;
    height:auto;
    aspect-ratio:4 / 3;
    align-self:center;
    background:#ece8df;
  }
  .hero-portrait-exact .hero-image-exact{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
  }
  .hero-portrait-exact figcaption{display:none!important}
}

@media (max-width: 900px){
  .hero-portrait-exact{
    order:1;
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:4 / 3;
    background:#ece8df;
  }
  .hero-portrait-exact .hero-image-exact{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
  }
  .hero-portrait-exact figcaption{display:none!important}
}

@media (max-width:560px){
  .hero-portrait-exact{
    height:auto;
    min-height:0;
    aspect-ratio:4 / 3;
  }
}
