@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Inter:wght@300;400;500;600&display=swap');
:root{--bg-color:#F9F8F6;--text-main:#121212;--text-muted:#6E6A66;--border-color:rgba(18,18,18,.10);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',system-ui,-apple-system,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg-color);color:var(--text-main);font-family:var(--sans);font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;transition:color .25s}
a:hover{color:var(--text-muted)}
button{font:inherit;cursor:pointer}
a:focus-visible,button:focus-visible{outline:2px solid var(--text-muted);outline-offset:4px}
body[data-lang="en"] .lang-it,body[data-lang="it"] .lang-en{display:none!important}
.skip{position:absolute;top:-100px;left:12px;background:var(--bg-color);padding:10px 14px;z-index:1000}.skip:focus{top:12px}
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(249,248,246,.86);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.header-inner{height:88px;width:min(1300px,calc(100% - 88px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-brand{display:flex;flex-direction:column;min-width:0;line-height:1.1}
.brand-name{font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:.09em;white-space:nowrap}
.brand-subtitle{font-size:9px;color:var(--text-muted);letter-spacing:.19em;text-transform:uppercase;margin-top:7px}
.header-actions{display:flex;align-items:center;gap:26px}
.main-nav{display:flex;align-items:center;gap:27px}
.main-nav>a{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:500}
.main-nav .nav-contact{border:1px solid var(--border-color);padding:11px 14px}
.lang-switch{display:flex;align-items:center;gap:8px;color:var(--text-muted)}
.lang-switch button{font-size:10px;letter-spacing:.13em;color:var(--text-muted);border:0;background:none;padding:7px 3px}
.lang-switch button.active{color:var(--text-main);font-weight:600;border-bottom:1px solid var(--text-main)}
.menu-toggle{display:none;border:1px solid var(--border-color);background:transparent;padding:8px 11px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.container{width:min(1300px,calc(100% - 88px));margin-inline:auto}
section{padding:115px 0;border-bottom:1px solid var(--border-color)}
.section-eyebrow,.tag,.pill-label{display:block;color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:500;letter-spacing:.16em}
.section-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(55px,7vw,110px)}
.section-intro{font-family:var(--serif);font-weight:300;letter-spacing:-.022em;line-height:1.12;font-size:clamp(39px,4.2vw,64px);margin:0 0 27px}
.section-title h2{font-family:var(--serif);font-size:clamp(39px,3.5vw,58px);font-weight:300;line-height:1.03;margin:16px 0 0;letter-spacing:-.02em}
.section-body p{font-size:15px;line-height:1.95;margin:0 0 19px;max-width:790px;color:#383634;font-weight:300}
.section-body p:last-child{margin-bottom:0}
.hero{padding-top:164px;min-height:90vh}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.82fr);gap:clamp(50px,7vw,105px);align-items:center}
.hero-copy h1{font-family:var(--serif);font-size:clamp(78px,8.1vw,135px);line-height:.79;font-weight:300;letter-spacing:-.055em;margin:42px 0 34px}
.hero-copy h1 span,.hero-copy h1 em{display:block}
.hero-copy h1 em{font-style:italic;font-weight:300}
.hero-role{color:var(--text-muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin:0 0 55px}
.hero-baseline{display:grid;grid-template-columns:1.03fr 1fr;gap:28px;border-top:1px solid var(--border-color);padding-top:27px}
.hero-baseline h3{font-family:var(--serif);font-weight:300;font-size:clamp(31px,2.9vw,44px);line-height:1.02;letter-spacing:-.025em;margin:10px 0 0}
.hero-baseline h3 em{color:var(--text-muted)}
.hero-baseline p{font-size:13px;line-height:1.85;color:#4e4a47;margin:0 0 14px}
.text-link{display:inline-block;padding:0 0 6px;border-bottom:1px solid var(--border-color);text-transform:uppercase;font-size:10px;letter-spacing:.13em;font-weight:500}
.hero-figure{margin:0;position:relative}
.hero-figure img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 26%;border:1px solid var(--border-color);filter:saturate(.77) sepia(.05) contrast(.97);display:block}
.hero-figure figcaption{font-size:9px;color:var(--text-muted);text-align:right;margin-top:9px}
.appointments{border-top:1px solid var(--border-color);margin-top:32px}
.appointment{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.1fr);gap:26px;padding:25px 0;border-bottom:1px solid var(--border-color)}
.appointment h3{font-family:var(--serif);font-size:clamp(27px,2.8vw,37px);font-weight:400;line-height:1.07;letter-spacing:-.015em;margin:0 0 5px}
.appointment small{font-size:11px;line-height:1.6;display:block;color:var(--text-muted)}
.appointment p{font-size:13px;line-height:1.85;margin:0}
.earlier{font-size:12px!important;color:var(--text-muted)!important;margin-top:23px!important}
.capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--border-color);padding-top:29px;margin-top:34px}
.capability h3{font-family:var(--serif);font-weight:400;font-size:29px;line-height:1.05;margin:0 0 14px}
.capability p{font-size:13px;line-height:1.8}
.press-list{border-top:1px solid var(--border-color);margin-top:28px}
.press-item{display:grid;grid-template-columns:66px minmax(0,1fr) 190px 20px;align-items:center;gap:22px;padding:24px 0;border-bottom:1px solid var(--border-color)}
.press-item time,.press-item small{font-size:10px;color:var(--text-muted);letter-spacing:.07em}
.press-item strong{font-family:var(--serif);font-size:clamp(27px,2.8vw,37px);font-weight:400;line-height:1.07}
.press-arrow{text-align:right}
.quote{border-left:2px solid var(--border-color);padding-left:27px;margin-top:38px}
.quote blockquote{font-family:var(--serif);font-size:clamp(31px,3.1vw,45px);font-style:italic;line-height:1.15;font-weight:300;margin:0 0 12px}
.quote cite{font-size:11px;color:var(--text-muted);font-style:normal}
.site-footer{padding:110px 0 40px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.contact-grid h2{font-family:var(--serif);font-size:clamp(52px,5vw,78px);font-weight:300;line-height:1.02;margin:16px 0 0}
.contact-links{display:grid;gap:14px}
.contact-links a,.contact-links div{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-bottom:1px solid var(--border-color);padding-bottom:11px;font-size:14px;overflow-wrap:anywhere}
.contact-links span{color:var(--text-muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.footer-bottom{border-top:1px solid var(--border-color);margin-top:100px;padding-top:28px;display:flex;justify-content:space-between;gap:24px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
@media(max-width:1100px){.header-inner,.container{width:calc(100% - 64px)}.main-nav{gap:15px}.main-nav>a{font-size:9px}.hero-grid{gap:38px}.hero-copy h1{font-size:clamp(73px,8vw,112px)}.hero-role{letter-spacing:.11em}.section-grid{grid-template-columns:215px 1fr;gap:45px}}
@media(max-width:850px){.header-inner,.container{width:calc(100% - 42px)}.header-inner{height:72px}.menu-toggle{display:block}.header-actions{gap:15px}.main-nav{position:absolute;left:0;right:0;top:72px;background:rgba(249,248,246,.98);border-bottom:1px solid var(--border-color);display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 21px 22px;backdrop-filter:blur(18px)}.main-nav.open{display:flex}.main-nav>a{font-size:12px;padding:12px 0}.main-nav .nav-contact{width:max-content;margin-top:10px}.hero{padding-top:118px}.hero-grid{grid-template-columns:1fr;gap:45px}.hero-figure{max-width:480px}.hero-copy h1{font-size:clamp(74px,13vw,116px)}.section-grid{grid-template-columns:1fr;gap:28px}.section-title h2{margin-top:11px}section{padding:82px 0}.capabilities{grid-template-columns:1fr;gap:16px}.capability{border-bottom:1px solid var(--border-color);padding-bottom:13px}.appointment{grid-template-columns:1fr;gap:10px}.contact-grid{grid-template-columns:1fr;gap:32px}.site-footer{padding-top:85px}.press-item{grid-template-columns:44px minmax(0,1fr) 17px;gap:13px}.press-item small{grid-column:2}.press-arrow{grid-column:3;grid-row:1/3}}
@media(max-width:480px){.brand-name{font-size:19px}.brand-subtitle{font-size:8px}.hero-copy h1{font-size:clamp(71px,17vw,95px)}.hero-role{font-size:10px;margin-bottom:32px}.hero-baseline{grid-template-columns:1fr;gap:24px}.hero-figure{width:100%}.footer-bottom{display:grid;gap:8px;margin-top:70px}.contact-links a,.contact-links div{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none}}

/* Footer: discreet bilingual controls and direct downloadable dossier. */
.footer-bottom { align-items:center; flex-wrap:wrap; }
.footer-meta { display:flex; align-items:center; justify-content:flex-end; gap:25px; flex-wrap:wrap; }
.footer-lang { display:inline-flex; gap:6px; flex-shrink:0; }
.footer-lang button { font-size:10px; line-height:1.3; letter-spacing:.12em; padding:7px 3px; }
.footer-meta a { color:var(--text-main); text-underline-offset:5px; white-space:nowrap; }
.footer-meta a:hover { color:var(--text-muted); }
.footer-region { white-space:nowrap; }
@media (max-width:850px) { .footer-meta { justify-content:flex-start; gap:13px 22px; } }
@media (max-width:480px) { .footer-bottom { display:flex; flex-direction:column; align-items:flex-start; gap:15px; margin-top:70px; } .footer-meta { gap:14px 20px; } .footer-region { flex-basis:100%; } }


/* Executive portrait-first cover, October 2026.
   First viewport prioritises the real site headline and selected portrait.
   Site remains an accessible document, not a decorative background image. */
.hero {
  width:100vw; max-width:none;
  margin-left:calc(50% - 50vw);
  padding:88px 0 0;
  min-height:100svh;
  overflow:hidden;
  background:var(--bg-color);
}
.hero-grid {
  width:100%; min-height:calc(100svh - 88px);
  display:grid;
  grid-template-columns:minmax(0,44%) minmax(0,56%);
  gap:0; align-items:stretch;
}
.hero-copy {
  min-width:0;
  padding:clamp(42px,5.2vw,92px) clamp(36px,4.8vw,90px);
  display:flex; flex-direction:column;
  justify-content:space-between;
}
.hero-copy .tag {font-size:10px;line-height:1.7;letter-spacing:.18em}
.hero-copy h1 {
  margin:auto 0 20px;
  font-size:clamp(73px,7.3vw,133px);
  line-height:.82;
  letter-spacing:-.055em;
}
.hero-role {
  margin:0 auto auto 0;
  line-height:1.65; letter-spacing:.17em;
}
.hero-baseline {
  display:block; margin-top:42px;
  padding-top:21px;
  border-top:1px solid var(--border-color);
}
.hero-baseline h3 {font-size:clamp(29px,2.65vw,40px);margin:8px 0 18px}
.hero-baseline p {max-width:485px;line-height:1.75}
.hero-figure {
  margin:0; position:relative; width:100%;
  min-height:calc(100svh - 88px);
  max-width:none; overflow:hidden;
  background:#bcb5ae;
}
.hero-figure img {
  position:absolute; inset:0;
  width:100%;height:100%;object-fit:cover;
  object-position:center 23%;
  border:0;filter:saturate(.92) contrast(1.01);
}
.hero-figure figcaption {display:none}
@media (max-width:1100px) and (min-width:851px) {
  .hero-grid{grid-template-columns:minmax(0,48%) minmax(0,52%)}
  .hero-copy{padding:46px 32px}
  .hero-copy h1{font-size:clamp(71px,8vw,112px)}
  .hero-baseline h3{font-size:31px}
}
@media(max-width:850px) {
  .hero {
    width:100vw;margin-left:calc(50% - 50vw);
    padding:72px 0 0;
    min-height:0;overflow:visible;
  }
  .hero-grid {display:flex;flex-direction:column;gap:0;min-height:0}
  .hero-figure {
    order:0;width:100%;max-width:none;
    height:min(65svh,560px);min-height:340px;
  }
  .hero-figure img {width:100%;height:100%;object-position:center 21%}
  .hero-copy {order:1;width:100%;display:block;padding:28px 22px 66px}
  .hero-copy .tag {font-size:9px;letter-spacing:.15em}
  .hero-copy h1 {
    font-size:clamp(72px,14.5vw,112px);
    line-height:.80;margin:26px 0 23px;
  }
  .hero-role {font-size:10px;letter-spacing:.125em;margin:0 0 37px}
  .hero-baseline {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:0;padding-top:24px}
  .hero-baseline h3 {font-size:clamp(26px,4.4vw,39px);margin:9px 0 0}
  .hero-baseline p {font-size:12px}
}
@media(max-width:550px) {
  .hero-figure {height:min(65svh,550px)}
  .hero-copy h1 {font-size:clamp(69px,16.5vw,95px)}
  .hero-baseline {grid-template-columns:1fr;gap:16px}
  .hero-baseline h3 {font-size:32px}
  .hero-role {font-size:9px}
}
@media(max-width:365px) {
  .hero-copy h1 {font-size:62px}
  .hero-copy {padding-inline:18px}
}


/* Independent published work — editorial treatment, visually distinct from press coverage. */
.publication-feature {
  border-top:1px solid var(--border-color);
  padding:36px 0 8px;
  max-width:830px;
}
.publication-meta {
  display:block;
  color:var(--text-muted);
  font-size:10px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.15em;
  margin-bottom:24px;
}
.publication-title {
  font-family:var(--serif);
  font-size:clamp(53px,5.2vw,86px);
  font-weight:300;
  line-height:1;
  letter-spacing:-.035em;
  margin:0 0 30px;
}
.publication-title em {
  display:block;
  margin-top:8px;
  font-weight:300;
  font-size:.61em;
  line-height:1.05;
  color:var(--text-muted);
}
.publication-feature p {
  max-width:740px;
  line-height:1.9;
}
.publication-cta {margin-top:14px}
@media(max-width:850px) {
  .publication-feature{padding-top:26px}
  .publication-title{font-size:clamp(49px,9vw,75px)}
}
@media(max-width:480px) {
  .publication-title{font-size:58px}
  .publication-title em{font-size:.52em}
}


/* National leadership spotlight — generous typography, no cards or shadows. */
.appointment--featured {
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  gap:clamp(22px,4vw,65px);
  padding:40px 0 48px;
  border-bottom:1px solid rgba(18,18,18,.22);
}
.appointment--featured h3 {
  font-size:clamp(38px,3.9vw,57px);
  line-height:1.02;
  letter-spacing:-.03em;
  font-weight:300;
  margin:14px 0 13px;
}
.appointment--featured small {font-size:12px;color:var(--text-main);font-weight:500}
.appointment-kicker {
  display:block;
  font-size:10px;
  line-height:1.5;
  font-weight:600;
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:.15em;
}
.appointment--featured .appointment-cities {
  font-family:var(--sans);
  font-size:11px;
  line-height:1.7;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin:26px 0 0;
}
.appointment-cities span {margin:0 5px;color:rgba(18,18,18,.3)}
.appointment--featured > div:last-child {align-self:end}
.appointment--featured > div:last-child p {font-size:14px;line-height:1.86}
@media(max-width:850px) {
  .appointment--featured {grid-template-columns:1fr;gap:24px;padding:31px 0 38px}
  .appointment--featured h3 {font-size:clamp(37px,7.2vw,49px)}
  .appointment--featured .appointment-cities {font-size:10px;margin-top:17px}
  .appointment--featured > div:last-child p {font-size:13px}
}
@media(max-width:390px) {
  .appointment--featured h3 {font-size:37px}
  .appointment--featured .appointment-cities {letter-spacing:.08em}
}


/* National responsibility breakdown — open editorial rhythm, no cards. */
.appointment--featured .appointment-detail {
  margin:0;
  font-size:13px;
  line-height:1.82;
  color:#383634;
}
.appointment--featured .appointment-detail + .appointment-detail {
  margin-top:17px;
  padding-top:16px;
  border-top:1px solid var(--border-color);
}
.appointment--featured .appointment-detail strong {
  display:block;
  margin-bottom:5px;
  color:var(--text-main);
  font-size:10px;
  line-height:1.6;
  letter-spacing:.135em;
  font-weight:600;
  text-transform:uppercase;
}
@media(max-width:850px) {
  .appointment--featured .appointment-detail {font-size:13px;line-height:1.76}
  .appointment--featured .appointment-detail + .appointment-detail {margin-top:14px;padding-top:14px}
}


/* Mobile executive redesign v2: a deliberate editorial composition, not stacked text. */
.expertise-panel {
  background:#1b1b1a;
  color:#f7f4ee;
  padding:clamp(30px,3.7vw,56px);
  margin-top:clamp(35px,4vw,52px);
}
.expertise-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
  padding-bottom:26px;
}
.expertise-eyebrow {
  display:block;
  color:#c6b9aa;
  font-size:10px;
  font-weight:500;
  letter-spacing:.16em;
  line-height:1.5;
  text-transform:uppercase;
  padding-top:10px;
}
.expertise-heading h3 {
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(43px,4vw,64px);
  line-height:.98;
  letter-spacing:-.025em;
  margin:0;
  max-width:390px;
}
.expertise-heading h3 em {font-weight:300;color:#d7c7b8}
.expertise-panel .capabilities {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(26px,3.5vw,55px);
  row-gap:0;
  border-top:1px solid rgba(255,255,255,.28);
  margin:0;
  padding:0;
}
.expertise-panel .capability {
  display:grid;
  grid-template-columns:31px minmax(0,1fr);
  gap:15px;
  align-items:start;
  border-bottom:1px solid rgba(255,255,255,.17);
  min-width:0;
  padding:24px 0 27px;
}
.expertise-panel .capability-number {
  color:#c6b9aa;
  font-size:11px;
  font-weight:500;
  line-height:2;
  letter-spacing:.08em;
}
.expertise-panel .capability h4 {
  font-family:var(--serif);
  font-size:clamp(25px,2.6vw,35px);
  line-height:1.05;
  font-weight:400;
  letter-spacing:-.014em;
  margin:0 0 9px;
  color:#f7f4ee;
}
#experience .expertise-panel .capability p {
  font-size:12px;
  line-height:1.75;
  font-weight:400;
  color:#bcb6ad;
  margin:0;
}
@media (max-width:850px) {
  #experience {padding-bottom:0}
  #wine {padding-top:52px}
  .expertise-panel {padding:31px 29px 34px;margin-top:31px}
  .expertise-heading {display:block;padding-bottom:25px}
  .expertise-eyebrow {font-size:9px;padding:0 0 14px}
  .expertise-heading h3 {font-size:clamp(38px,7vw,51px)}
  .expertise-panel .capabilities {grid-template-columns:1fr}
  .expertise-panel .capability {grid-template-columns:27px minmax(0,1fr);gap:15px;padding:17px 0 19px}
  .expertise-panel .capability h4 {font-size:27px;margin-bottom:5px}
  #experience .expertise-panel .capability p {font-size:12px;line-height:1.65}
}
@media (max-width:550px) {
  .header-inner {height:66px;width:calc(100% - 34px);gap:8px}
  .site-brand {flex:0 1 auto}
  .brand-name {font-size:clamp(15px,4vw,18px);letter-spacing:.055em}
  .brand-subtitle {font-size:7px;letter-spacing:.12em;margin-top:4px;white-space:nowrap}
  .header-actions {gap:10px;flex-shrink:0}
  .lang-switch {gap:3px}
  .lang-switch button {font-size:9px;padding:5px 2px}
  .menu-toggle {white-space:nowrap;padding:8px 9px;font-size:10px}
  .main-nav {top:66px}
  .hero {padding-top:66px}
  #experience {padding-bottom:0}
  #wine {padding-top:45px}
  .expertise-panel {
    width:calc(100% + 42px);
    margin-left:-21px;
    margin-right:-21px;
    padding:34px 27px 39px;
  }
  .expertise-heading h3 {font-size:44px}
  .expertise-panel .capability h4 {font-size:28px}
}
@media (max-width:375px) {
  .header-inner {width:calc(100% - 26px)}
  .brand-name {font-size:15px;letter-spacing:.025em}
  .brand-subtitle {font-size:7px;letter-spacing:.065em}
  .header-actions {gap:7px}
  .menu-toggle {font-size:9px;padding:7px 8px}
  .expertise-panel {padding-left:24px;padding-right:24px}
  .expertise-heading h3 {font-size:40px}
}
