:root {
  --cream: #f4ecdf;
  --cream-2: #e8dbc8;
  --wine: #5b1832;
  --wine-deep: #36101f;
  --gold: #bd8d47;
  --ink: #2c2023;
  --muted: #786b69;
  --line: rgba(91, 24, 50, .18);
  --shell: min(1180px, calc(100% - 42px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.7; -webkit-font-smoothing: antialiased; }
body::before { position: fixed; inset: 0; z-index: -1; content: ""; opacity: .18; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E"); }
img { display: block; max-width: 100%; } a { color: inherit; } :focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }.skip-link { position: fixed; top: 12px; left: 12px; z-index: 100; padding: .7rem 1rem; color: white; background: var(--wine); transform: translateY(-160%); }.skip-link:focus { transform: translateY(0); }
.shell { width: var(--shell); margin-inline: auto; }.section-pad { padding-block: clamp(5.5rem, 11vw, 9.5rem); }
.site-header { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; width: min(1260px, calc(100% - 24px)); min-height: 82px; margin: 0 auto; padding: 0 20px; background: rgba(244,236,223,.76); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); }.site-header.is-scrolled { border-color: var(--line); }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }.brand__monogram { display: grid; place-items: center; width: 42px; aspect-ratio: 1; color: var(--cream); background: var(--wine); border-radius: 50%; font-family: Georgia, serif; font-size: .8rem; }.brand__name { font-family: Georgia, serif; font-size: .85rem; line-height: 1.03; }
.nav { display: flex; align-items: center; gap: 30px; }.nav a { color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }.nav a:hover { color: var(--wine); }
.nav-toggle { display: none; width: 42px; height: 42px; background: transparent; border: 1px solid var(--line); }.nav-toggle i { display: block; width: 18px; height: 1px; margin: 5px auto; background: var(--wine); }
h1,h2,h3,p { margin-top: 0; } h1,h2,h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.05; letter-spacing: -.04em; } h2 { font-size: clamp(2.55rem, 5vw, 5rem); }
.hero { position: relative; display: grid; grid-template-columns: 1.08fr .7fr; align-items: center; min-height: calc(100svh - 82px); gap: clamp(3rem, 8vw, 7rem); padding-block: clamp(3rem, 7vw, 6rem); }
.folio { color: var(--wine); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }.folio span { color: var(--gold); }
h1 { margin: 20px 0 34px; color: var(--wine); font-size: clamp(4rem, 9vw, 9rem); }.hero h1 span { color: transparent; -webkit-text-stroke: 1px var(--wine); font-style: italic; }
.hero__intro { display: grid; grid-template-columns: .45fr 1fr; gap: 40px; max-width: 760px; padding-top: 28px; border-top: 1px solid var(--line); }.hero__intro p { color: var(--muted); }.hero__role { color: var(--ink) !important; font-family: Georgia, serif; font-size: 1.04rem; }.hero__role strong { color: var(--wine); }
.round-link { display: inline-flex; align-items: center; justify-content: space-between; width: 178px; min-height: 54px; margin-top: 22px; padding: 0 8px 0 21px; color: white; background: var(--wine); border-radius: 999px; font-size: .76rem; font-weight: 750; text-decoration: none; }.round-link i { display: grid; place-items: center; width: 40px; aspect-ratio: 1; color: var(--wine); background: var(--cream); border-radius: 50%; font-style: normal; transition: transform .2s; }.round-link:hover i { transform: rotate(8deg); }
.hero__image { position: relative; }.hero__image::before { position: absolute; inset: -12px 14px 22px -14px; z-index: -1; content: ""; border: 1px solid var(--gold); border-radius: 220px 220px 8px 8px; }.hero__image img { width: 100%; border-radius: 220px 220px 6px 6px; }.hero__image p { position: absolute; right: -56px; bottom: 110px; margin: 0; color: var(--wine); font-size: .64rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; transform: rotate(90deg); }
.hero__number { position: absolute; right: -1rem; bottom: 1rem; z-index: -1; color: rgba(91,24,50,.05); font-family: Georgia, serif; font-size: 15rem; line-height: 1; }
.chapter { display: flex; align-items: center; gap: 14px; color: var(--wine); }.chapter span { padding: 7px 11px; border: 1px solid currentColor; border-radius: 999px; font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.chapter p { margin: 0; font-family: Georgia, serif; font-size: .9rem; font-style: italic; }.chapter--dark { color: #e4c8a0; }
.story { background: var(--cream-2); border-block: 1px solid rgba(91,24,50,.1); }.story__grid { display: grid; grid-template-columns: .28fr .72fr; gap: 40px; }.story__copy h2 { max-width: 820px; margin-bottom: 50px; }.story__columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 6rem); color: var(--muted); }.story__columns .lead { color: var(--wine); font-family: Georgia, serif; font-size: clamp(1.3rem, 2.1vw, 1.75rem); line-height: 1.55; }
.journey { color: var(--cream); background: var(--wine-deep); width: 100%; padding-inline: max(calc((100vw - 1180px)/2), 21px); }.journey__intro { display: grid; grid-template-columns: 1fr .45fr; align-items: end; gap: 50px; margin: 48px 0 70px; }.journey__intro p { color: #c8abb4; }.timeline { max-width: 980px; margin-left: auto; }.timeline article { display: grid; grid-template-columns: 130px 24px 1fr; gap: 28px; padding: 34px 0; border-top: 1px solid rgba(244,236,223,.15); }.timeline__year { color: #c8abb4; font-size: .74rem; font-weight: 700; }.timeline__line { display: flex; justify-content: center; }.timeline__line span { width: 9px; height: 9px; margin-top: 7px; background: var(--gold); border-radius: 50%; box-shadow: 0 0 0 7px rgba(189,141,71,.12); }.label { margin-bottom: 9px; color: var(--gold); font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.timeline h3 { margin-bottom: 6px; font-size: 2.1rem; }.organization { color: var(--cream); font-weight: 750; }.timeline__content p:last-child { max-width: 650px; color: #c8abb4; }
.education { background: #eadfce; }.education__layout { display: grid; grid-template-columns: .65fr 1fr; align-items: center; gap: clamp(3rem, 9vw, 8rem); }.education__quote { max-width: 430px; margin-top: 70px; color: var(--wine); font-family: Georgia, serif; font-size: clamp(1.5rem, 2.7vw, 2.25rem); font-style: italic; line-height: 1.35; }.education__card { position: relative; padding: clamp(36px, 6vw, 70px); background: var(--cream); border: 1px solid rgba(91,24,50,.12); box-shadow: 0 25px 70px rgba(74,37,43,.1); }.education__mark { display: grid; place-items: center; width: 86px; aspect-ratio: 1; margin-bottom: 50px; color: var(--cream); background: var(--wine); border-radius: 50%; font-family: Georgia, serif; font-size: .82rem; }.education__card h2 { margin-bottom: 22px; font-size: clamp(2.2rem, 4vw, 3.8rem); }.education__card p:last-child { color: var(--muted); }
.perspective > h2 { max-width: 800px; margin: 46px 0 60px; }.perspective__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.perspective__grid article { min-height: 310px; padding: 30px; background: #eee2d1; border: 1px solid transparent; border-radius: 50% 50% 10px 10px; text-align: center; transition: transform .25s, border-color .25s; }.perspective__grid article:hover { border-color: var(--gold); transform: translateY(-6px); }.perspective__grid article > span { display: grid; place-items: center; width: 38px; aspect-ratio: 1; margin: 30px auto 55px; color: var(--wine); border: 1px solid var(--gold); border-radius: 50%; font-size: .65rem; }.perspective__grid h3 { margin-bottom: 14px; color: var(--wine); font-size: 1.75rem; }.perspective__grid p { color: var(--muted); font-size: .9rem; }
.highlights { background: var(--cream-2); }.highlights__grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 50px; border-block: 1px solid var(--line); }.highlights__grid article { padding: 34px; border-right: 1px solid var(--line); }.highlights__grid article:last-child { border-right: 0; }.highlights__grid strong,.highlights__grid span { display: block; }.highlights__grid strong { margin-bottom: 7px; color: var(--wine); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 500; }.highlights__grid span { color: var(--muted); font-size: .75rem; }
.connect { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 50px; overflow: hidden; margin-block: 48px; padding: clamp(42px, 8vw, 88px); color: var(--cream); background: var(--wine); border-radius: 3px; }.connect h2 { margin: 18px 0; font-size: clamp(3rem, 6vw, 6rem); }.connect p:not(.folio) { max-width: 560px; color: #d8bcc6; }.connect .folio { color: #e4c8a0; }.connect__ornament { position: absolute; right: 10%; top: -45%; color: rgba(244,236,223,.04); font-family: Georgia, serif; font-size: 24rem; }.round-link--cream { position: relative; z-index: 1; color: var(--wine); background: var(--cream); }.round-link--cream i { color: white; background: var(--gold); }
.site-footer { display: flex; justify-content: space-between; gap: 20px; padding-block: 28px 38px; color: var(--muted); border-top: 1px solid var(--line); font-size: .72rem; }.site-footer p { margin: 0; }.site-footer a { text-decoration: none; }
.not-found { display: grid; place-items: center; min-height: 100svh; text-align: center; }.not-found h1 { font-size: clamp(3rem, 9vw, 6rem); }.not-found .round-link { margin-inline: auto; }
.js [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }.js [data-reveal].is-visible { opacity: 1; transform: none; }
@media (max-width: 900px) {
  .nav-toggle { display: block; }.nav { position: absolute; top: 70px; right: 12px; left: 12px; display: none; flex-direction: column; align-items: stretch; gap: 4px; padding: 14px; background: var(--cream); border: 1px solid var(--line); box-shadow: 0 20px 60px rgba(74,37,43,.12); }.nav.is-open { display: flex; }.nav a { padding: 11px; }
  .hero { grid-template-columns: 1fr; }.hero__image { width: min(520px, 86%); margin-inline: auto; }.hero__number { display: none; }.story__grid,.education__layout { grid-template-columns: 1fr; }.story__columns { grid-template-columns: 1fr; gap: 1.5rem; }.journey__intro { grid-template-columns: 1fr; gap: 10px; }.perspective__grid { grid-template-columns: 1fr; }.perspective__grid article { min-height: 250px; border-radius: 150px 150px 10px 10px; }.perspective__grid article > span { margin-bottom: 30px; }.education__quote { margin-top: 35px; }
}
@media (max-width: 620px) {
  :root { --shell: min(100% - 28px, 1180px); }.site-header { width: calc(100% - 14px); min-height: 70px; padding: 0 13px; }.brand__name { display: none; }
  .hero__intro { grid-template-columns: 1fr; gap: 8px; }.hero__image p { display: none; }.timeline article { grid-template-columns: 1fr; gap: 9px; }.timeline__line { display: none; }.highlights__grid { grid-template-columns: 1fr; }.highlights__grid article { border-right: 0; border-bottom: 1px solid var(--line); }.connect { grid-template-columns: 1fr; }.connect__ornament { display: none; }.site-footer { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
