:root{
  --ink:#1a1a18;--muted:#6e6a63;--paper:#f5f1e8;--paper-2:#fbf9f4;
  --bronze:#a98252;--bronze-soft:#d5c19e;--line:rgba(26,26,24,.12);
  --ease-out:cubic-bezier(.23,1,.32,1);--page:min(1200px,calc(100% - 3rem));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper-2);color:var(--ink);font:400 16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
:focus-visible{outline:3px solid var(--bronze);outline-offset:3px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.86);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);border-bottom:1px solid rgba(26,26,24,.06)}
.nav-shell{width:var(--page);min-height:84px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center}
.brand img{width:210px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:1.8rem}
.desktop-nav a{font-size:.84rem;font-weight:650;color:#393731;letter-spacing:.04em;text-transform:uppercase;position:relative;padding:.5rem 0}
.desktop-nav a::after{content:"";position:absolute;left:0;bottom:.15rem;width:100%;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform 180ms var(--ease-out)}
.desktop-nav a:hover::after{transform:scaleX(1)}
.language-link{min-width:44px;text-align:center;border:1px solid var(--line);border-radius:999px;padding:.45rem .7rem!important}
.language-link::after{display:none}
.menu-toggle{display:none;width:46px;height:46px;border:0;border-radius:50%;background:transparent;align-items:center;justify-content:center;cursor:pointer;transition:background 160ms ease,transform 120ms var(--ease-out)}
.menu-toggle:hover{background:rgba(26,26,24,.05)}
.pressable:active{transform:scale(.97)}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;position:relative;width:20px;height:1.5px;background:var(--ink);transition:transform 180ms var(--ease-out),opacity 160ms ease}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0}
.menu-icon::before{top:-6px}.menu-icon::after{top:6px}
.menu-toggle[aria-expanded="true"] .menu-icon{background:transparent}
.menu-toggle[aria-expanded="true"] .menu-icon::before{top:0;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon::after{top:0;transform:rotate(-45deg)}
.mobile-menu{display:none;position:fixed;inset:84px 0 auto 0;background:rgba(251,249,244,.98);padding:1rem 1.4rem 1.6rem;border-bottom:1px solid var(--line);box-shadow:0 18px 50px rgba(26,26,24,.08)}
.mobile-menu[aria-hidden="false"]{display:grid}
.mobile-menu a{min-height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-weight:650;letter-spacing:.04em;text-transform:uppercase}
.mobile-menu a:last-child{border-bottom:0}
main{min-height:60vh}
.eyebrow{margin:0 0 1rem;color:var(--bronze);font-size:.68rem;line-height:1.2;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.eyebrow-light{color:#d8c5a5}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:1.2rem;padding:.85rem 1.1rem;border-radius:14px;font-size:.88rem;font-weight:700;transition:transform 140ms var(--ease-out),background 180ms ease,border-color 180ms ease}
.button-dark{background:var(--ink);color:#fff;border:1px solid var(--ink)}
.button-outline{background:transparent;border:1px solid rgba(26,26,24,.18)}
.button-outline:hover{background:rgba(26,26,24,.04)}
.hero{width:var(--page);min-height:calc(100svh - 84px);margin:auto;padding:clamp(4rem,8vw,8rem) 0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center;gap:clamp(3rem,7vw,8rem)}
.hero-copy h1,.page-hero h1,.contact-copy h1{margin:0;font-size:clamp(4rem,7.5vw,7.4rem);line-height:.91;letter-spacing:-.068em;font-weight:640;max-width:10ch}
.hero-intro{max-width:680px;margin:1.8rem 0 0;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.22rem)}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}
.hero-art{position:relative;min-height:540px;display:grid;place-items:center}
.hero-art img{width:min(250px,55%);position:relative;z-index:2}
.orbit{position:absolute;border:1px solid rgba(169,130,82,.3);border-radius:50%}
.orbit-a{width:88%;height:58%;transform:rotate(17deg)}
.orbit-b{width:66%;height:90%;transform:rotate(-24deg);border-color:rgba(26,26,24,.1)}
.section{width:var(--page);margin:auto;padding:clamp(5rem,9vw,9rem) 0}
.philosophy{max-width:930px;text-align:center}
.philosophy h2,.investment-copy h2,.final-cta h2,.story h2,.horizon h2,.location-band h2{margin:0;font-size:clamp(2.8rem,5vw,5.2rem);line-height:.96;letter-spacing:-.055em;font-weight:620}
.section-copy{max-width:740px;margin:1.5rem auto 0;color:var(--muted);font-size:1.08rem}
.principles-grid,.values-grid,.criteria-grid{width:var(--page);margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-bottom:clamp(5rem,9vw,8rem)}
.principle,.value-card,.criterion{border:1px solid var(--line);border-radius:22px;padding:1.45rem;background:rgba(255,255,255,.4)}
.principle span,.value-card span,.criterion>span{color:var(--bronze);font-size:.68rem;font-weight:750;letter-spacing:.14em}
.principle h3,.value-card h3,.criterion h2{margin:2.5rem 0 .6rem;font-size:1.3rem;line-height:1.05;letter-spacing:-.03em}
.principle p,.value-card p,.criterion p{margin:0;color:var(--muted);font-size:.9rem}
.investment-band,.location-band,.quote-band{width:min(1320px,calc(100% - 2rem));margin:0 auto;border-radius:30px;background:var(--ink);color:#fff}
.investment-band{min-height:650px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.investment-copy{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center}
.investment-copy p:not(.eyebrow){color:rgba(255,255,255,.66);max-width:560px}
.text-link{display:inline-flex;gap:.45rem;align-items:center;width:fit-content;font-weight:680}
.text-link-light{color:#fff;margin-top:1.3rem}
.investment-graphic{position:relative;display:grid;place-items:center;overflow:hidden;background:#23231f}
.investment-graphic span{position:absolute;border:1px solid rgba(213,193,158,.28);border-radius:50%}
.investment-graphic span:nth-child(1){width:65%;aspect-ratio:1}
.investment-graphic span:nth-child(2){width:95%;aspect-ratio:1;transform:translate(20%,20%)}
.investment-graphic span:nth-child(3){width:35%;aspect-ratio:1;background:rgba(169,130,82,.08)}
.statement{width:var(--page);margin:auto;padding:clamp(7rem,12vw,12rem) 0;text-align:center}
.statement p{margin:0 auto;max-width:1000px;font-size:clamp(3rem,6vw,6.2rem);line-height:.95;letter-spacing:-.06em;font-weight:600}
.final-cta{text-align:center;max-width:900px}
.final-cta .button{margin-top:2rem}
.page-hero{width:var(--page);margin:auto;padding:clamp(5rem,10vw,9rem) 0;display:grid;grid-template-columns:1fr .5fr;gap:5rem;align-items:center}
.page-hero.centered{display:block;text-align:center;max-width:980px}
.page-hero.centered h1{max-width:13ch;margin-inline:auto}
.page-hero-copy>p:last-child{max-width:720px;color:var(--muted);font-size:1.1rem;margin:1.5rem 0 0}
.centered .page-hero-copy>p:last-child{margin-inline:auto}
.page-mark{display:grid;place-items:center}
.page-mark img{width:230px}
.story{border-top:1px solid var(--line)}
.story h2{max-width:12ch}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;max-width:900px;margin-left:auto}
.story-grid p{margin:0;color:var(--muted);font-size:1.05rem}
.values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.location-band{padding:clamp(4rem,7vw,7rem);text-align:center;margin-bottom:2rem}
.location-band p:last-child{color:rgba(255,255,255,.65)}
.criteria-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1050px}
.criterion{min-height:300px;padding:2rem}
.criterion h2{font-size:clamp(1.7rem,2.5vw,2.5rem);margin-top:4rem}
.criterion p{font-size:1rem}
.horizon{max-width:900px;text-align:center;border-top:1px solid var(--line)}
.horizon p:last-child{max-width:720px;margin:1.4rem auto 0;color:var(--muted)}
.approach-list{width:var(--page);margin:auto;padding-bottom:clamp(5rem,8vw,8rem)}
.approach-row{display:grid;grid-template-columns:80px minmax(220px,.75fr) 1.25fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line);align-items:start}
.approach-row:last-child{border-bottom:1px solid var(--line)}
.approach-row span{color:var(--bronze);font-size:.7rem;font-weight:700}
.approach-row h2{margin:0;font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.05;letter-spacing:-.035em}
.approach-row p{margin:0;color:var(--muted);max-width:620px}
.quote-band{padding:clamp(4rem,8vw,8rem);margin-bottom:2rem}
.quote-band blockquote{margin:0 auto;max-width:980px;text-align:center;font-size:clamp(2.5rem,5vw,5rem);line-height:.98;letter-spacing:-.05em;font-weight:550}
.contact-page{width:var(--page);margin:auto;padding:clamp(5rem,10vw,9rem) 0;display:grid;grid-template-columns:1fr .8fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.contact-copy>p:last-child{color:var(--muted);max-width:600px}
.contact-card{min-height:430px;border:1px solid var(--line);border-radius:26px;padding:2rem;background:rgba(255,255,255,.45);display:flex;flex-direction:column;justify-content:flex-end}
.contact-card img{width:90px;margin-bottom:auto}
.contact-card strong{font-size:1.12rem;margin-bottom:1rem}
.contact-card address{font-style:normal;color:var(--muted)}
.contact-email{display:inline-block;margin-top:1rem;color:var(--ink);text-decoration:none;font-weight:600}
.contact-email:hover{text-decoration:underline}
.site-footer{margin-top:2rem;background:var(--ink);color:#fff;padding:4.5rem 0 2rem}
.footer-shell{width:var(--page);margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem}
.footer-brand img{width:210px;filter:brightness(0) invert(1);opacity:.9}
.footer-brand p{max-width:450px;color:rgba(255,255,255,.58);font-size:.9rem}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;align-content:start}
.footer-nav a{color:rgba(255,255,255,.72);font-size:.88rem}
.footer-bottom{width:var(--page);margin:3rem auto 0;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:1rem;color:rgba(255,255,255,.42);font-size:.76rem}
.reveal{opacity:0;transform:translateY(20px);transition:opacity 520ms var(--ease-out),transform 520ms var(--ease-out);transition-delay:calc(var(--delay,0)*70ms)}
.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){
  :root{--page:min(100% - 2rem,1200px)}
  .nav-shell{min-height:78px;position:relative;justify-content:flex-end}
  .desktop-nav{display:none}.menu-toggle{display:inline-flex}
  .brand{position:absolute;left:50%;transform:translateX(-50%)}.brand img{width:180px}
  .mobile-menu{inset:78px 0 auto 0}
  .hero{min-height:auto;grid-template-columns:1fr;padding-top:4rem;text-align:center}
  .hero-copy h1{margin-inline:auto}.hero-intro{margin-inline:auto}.hero-actions{justify-content:center}
  .hero-art{min-height:420px}.hero-art img{width:190px}
  .principles-grid{grid-template-columns:1fr 1fr}
  .investment-band{grid-template-columns:1fr}.investment-graphic{min-height:420px}
  .page-hero{grid-template-columns:1fr;text-align:center}.page-hero h1{margin-inline:auto}.page-hero-copy>p:last-child{margin-inline:auto}.page-mark{display:none}
  .values-grid{grid-template-columns:1fr 1fr}.criteria-grid{grid-template-columns:1fr 1fr}
  .approach-row{grid-template-columns:60px 1fr}.approach-row p{grid-column:2}
  .contact-page{grid-template-columns:1fr;text-align:center}.contact-copy h1{margin-inline:auto}.contact-copy>p:last-child{margin-inline:auto}
  .footer-shell{grid-template-columns:1fr}.footer-brand,.footer-nav{text-align:center;justify-items:center}.footer-brand img{margin-inline:auto}.footer-brand p{margin-inline:auto}
}
@media(max-width:620px){
  :root{--page:min(100% - 1.5rem,1200px)}
  .brand img{width:165px}
  .hero-copy h1,.page-hero h1,.contact-copy h1{font-size:clamp(3rem,14vw,4.5rem)}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero-actions .button{padding:.8rem .55rem}
  .hero-art{min-height:330px}.hero-art img{width:150px}
  .principles-grid,.values-grid,.criteria-grid{grid-template-columns:1fr}
  .principle,.value-card,.criterion{min-height:0}
  .story-grid{grid-template-columns:1fr;margin-top:2rem}
  .approach-row{grid-template-columns:44px 1fr;gap:1rem}.approach-row p{grid-column:2}
  .investment-band,.location-band,.quote-band{width:calc(100% - 1rem);border-radius:24px}
  .investment-copy{padding:3.5rem 1.2rem;text-align:center;align-items:center}
  .statement{padding:6rem 0}
  .contact-card{text-align:left;min-height:340px}
  .footer-nav{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:center;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
  *{animation-duration:.01ms!important;animation-iteration-count:1!important}
}
