:root{--ink:#092a2b;--forest:#0b4a3a;--jade:#3f7d6b;--abyss:#020a0e;--cream:#fdf8ef;--parchment:#f8f0e0;--sand:#e3d0a0;--gold:#e1cf9f;--gold-deep:#b69558;--bronze:#684f31;--slate:#20252d;--mist:#ececec;--font-display:"Tenor Sans", "Helvetica Neue", sans-serif;--font-body:"Montserrat", system-ui, sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--font-smallcaps:"Cormorant SC", Georgia, serif;--font-table:"Marcellus", Georgia, serif;--nav-h:56px;--gutter:clamp(16px, 3.3vw, 45px);--max:1366px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-text-size-adjust:100%}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}a{color:inherit}.container{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--cream);color:var(--ink);padding:8px 14px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:8px}:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-size:clamp(2.1rem,4.4vw,3.75rem);font-weight:400;line-height:1.23}.display--shadow{text-shadow:2px 3px 4px #092a2b59}.display--gradient{background:linear-gradient(90deg, var(--jade) 0%, var(--forest) 45%, var(--abyss) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;width:fit-content}.smallcaps{font-family:var(--font-smallcaps);font-variant:small-caps;font-size:clamp(1.25rem,2.4vw,2.05rem);font-weight:500;line-height:1.3}.reveal{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0s);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.hero__orbits{animation:none!important}}.nav{z-index:50;height:var(--nav-h);background:linear-gradient(90deg, var(--jade) 0%, #1c4a43 45%, var(--abyss) 100%);position:fixed;inset:0 0 auto;box-shadow:0 2px 12px #020a0e40}.nav__inner{height:100%;max-width:var(--max);align-items:center;margin-inline:auto;padding-inline:16px;display:flex}.nav__links{gap:clamp(12px,1.8vw,25px);margin:0;padding:0;list-style:none;display:flex}.nav__links a{font-family:var(--font-display);color:#fdf8ef9e;white-space:nowrap;font-size:clamp(.95rem,1.6vw,1.4rem);text-decoration:none;transition:color .2s}.nav__links a:hover,.nav__links a.is-active{color:var(--cream)}.nav__brand{opacity:.8;order:2;margin-left:auto;transition:opacity .2s}.nav__brand:hover{opacity:1}.nav__toggle{display:none}@media (width<=1100px){.nav__brand{order:0;margin-left:0}.nav__toggle{cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;margin-left:auto;padding:0;display:grid}.nav__toggle span[aria-hidden],.nav__toggle span[aria-hidden]:before,.nav__toggle span[aria-hidden]:after{background:var(--gold);width:24px;height:2px;transition:transform .25s,opacity .25s;display:block}.nav__toggle span[aria-hidden]{position:relative}.nav__toggle span[aria-hidden]:before,.nav__toggle span[aria-hidden]:after{content:"";position:absolute;left:0}.nav__toggle span[aria-hidden]:before{top:-7px}.nav__toggle span[aria-hidden]:after{top:7px}.nav--open .nav__toggle span[aria-hidden]{background:0 0}.nav--open .nav__toggle span[aria-hidden]:before{transform:translateY(7px)rotate(45deg)}.nav--open .nav__toggle span[aria-hidden]:after{transform:translateY(-7px)rotate(-45deg)}.nav__links{top:var(--nav-h);background:linear-gradient(180deg, #123b38, var(--abyss));opacity:0;visibility:hidden;flex-direction:column;gap:0;padding:8px 0 16px;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;left:0;right:0;transform:translateY(-8px)}.nav--open .nav__links{opacity:1;visibility:visible;transform:none}.nav__links a{padding:12px 24px;font-size:1.15rem;display:block}}.hero{min-height:min(100svh, 56.2vw + var(--nav-h));min-height:max(520px, min(100svh, 56.2vw + var(--nav-h)));padding:calc(var(--nav-h) + 24px) 16px 32px;background:var(--ink) url(/images/hero-marble.jpg) center / cover no-repeat;isolation:isolate;place-items:center;display:grid;position:relative;overflow:hidden}.hero__orbits{inset:var(--nav-h) 0 0;width:100%;height:calc(100% - var(--nav-h));object-fit:cover;z-index:-1;animation:24s ease-in-out infinite alternate drift;position:absolute}@keyframes drift{to{transform:scale(1.04)rotate(.6deg)}}.hero__content{flex-direction:column;align-items:center;gap:clamp(32px,6vw,86px);width:100%;display:flex}.hero__logo{width:min(80.4vw,1099px);margin-left:-1.5%;animation:1.4s cubic-bezier(.2,.7,.2,1) both rise}.hero__tagline{font-family:var(--font-display);color:var(--gold);text-align:center;text-transform:uppercase;text-shadow:2px 3px 4px #020a0ed9;font-size:clamp(.95rem,2.07vw,1.77rem);line-height:1.35;animation:1.4s cubic-bezier(.2,.7,.2,1) .35s both rise}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.architecture{background:var(--parchment) url(/images/architecture-bg.jpg) center / cover no-repeat;color:var(--forest);padding-block:50px clamp(32px,4vw,60px)}.architecture__panel{background:#fdf8ef8c;max-width:1290px;margin-inline:auto;padding-block:16px 28px}.architecture__subtitle{font-family:var(--font-display);margin:8px 0 clamp(24px,4vw,52px) clamp(0px,1.7vw,24px);font-size:clamp(1.15rem,2.05vw,1.75rem)}.architecture__body{max-width:1120px;font-family:var(--font-display);text-align:center;margin-inline:auto;font-size:clamp(1.05rem,1.85vw,1.58rem);line-height:1.5}.pillars{padding-block:clamp(48px,5vw,70px) clamp(56px,7vw,120px);position:relative;overflow:hidden}.pillars__compass{opacity:.12;pointer-events:none;width:min(75vw,1030px);position:absolute;top:0;right:0}.pillars .display{color:var(--ink);position:relative}.pillars__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3.3vw,52px);margin-top:clamp(32px,5vw,70px);display:grid;position:relative}.pillar{background:linear-gradient(180deg, var(--jade) 0%, var(--abyss) 100%);min-height:397px;color:var(--cream);text-align:center;padding:58px clamp(16px,1.7vw,24px) 40px;transition:transform .35s,box-shadow .35s,opacity .8s;box-shadow:0 18px 40px -24px #020a0eb3}.pillar:hover{transform:translateY(-6px);box-shadow:0 28px 50px -24px #020a0ecc}.pillar__title{font-family:var(--font-serif);margin-bottom:26px;font-size:clamp(1.75rem,2.45vw,2.1rem);font-weight:400;line-height:1.2}.pillar p{font-size:1rem;line-height:1.5}.portfolio{padding-block:clamp(40px,6vw,80px) clamp(32px,2vw,40px)}.portfolio__table{border-collapse:collapse;border:2px solid var(--forest);width:calc(100% + -2*clamp(0px,2.6vw,35px));font-family:var(--font-table);text-align:center;margin:clamp(20px,2.4vw,32px) auto 0}.portfolio__table thead th{border:2px solid var(--forest);height:100px;font-family:var(--font-serif);color:var(--cream);padding:12px;font-size:clamp(1.4rem,2.1vw,1.8rem);font-weight:400}.portfolio__table thead th:first-child{background:linear-gradient(90deg, var(--abyss) 0%, #0d2622 40%, var(--jade) 100%);width:25.4%}.portfolio__table thead th:last-child{background:linear-gradient(90deg, var(--jade) 0%, #1d3a33 55%, var(--abyss) 100%)}.portfolio__table tbody th,.portfolio__table tbody td{border:2px solid var(--forest);color:#000;background:#ffffff59;padding:14px clamp(12px,2vw,28px);font-weight:400;transition:background .2s}.portfolio__table tbody tr:hover>*{background:#3f7d6b14}.portfolio__table tbody th{font-size:clamp(1.4rem,2.4vw,2.05rem)}.portfolio__table tbody td{font-size:clamp(1rem,1.72vw,1.47rem);line-height:1.4}.portfolio__link{text-underline-offset:.2em;-webkit-text-decoration:underline #3f7d6b59;text-decoration:underline #3f7d6b59;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}.portfolio__link:hover{color:var(--jade);text-decoration-color:currentColor}.portfolio__arrow{vertical-align:super;opacity:.55;margin-left:.25em;font-size:.55em;transition:transform .2s,opacity .2s;display:inline-block}.portfolio__link:hover .portfolio__arrow{opacity:1;transform:translate(2px,-2px)}@media (width<=680px){.portfolio__table,.portfolio__table tbody,.portfolio__table tr,.portfolio__table th,.portfolio__table td{width:100%;display:block}.portfolio__table{border:0}.portfolio__table thead{display:none}.portfolio__table tbody tr{border:2px solid var(--forest);margin-bottom:16px}.portfolio__table tbody th,.portfolio__table tbody td{border:0}.portfolio__table tbody th,.portfolio__table tbody tr:hover>th{background:linear-gradient(90deg, var(--jade), var(--abyss));color:var(--cream)}.portfolio__link{text-decoration-color:#e1cf9f73}.portfolio__link:hover{color:var(--gold)}}.stewardship__banner{background:var(--ink) url(/images/stewardship-bg.jpg) center / cover no-repeat;text-align:center;place-items:center;min-height:clamp(220px,32vw,439px);margin-top:10px;padding-block:48px;display:grid}.stewardship__banner .display{color:var(--mist)}.stewardship__banner .smallcaps{color:var(--cream)}.stewardship__body{text-align:center;max-width:1140px;padding-block:clamp(56px,7.8vw,100px);font-size:clamp(1.2rem,2.3vw,1.97rem);font-weight:300;line-height:1.5}.governance{background:linear-gradient(90deg, var(--cream) 0%, var(--sand) 100%);color:var(--forest);padding-block:clamp(48px,5.8vw,76px) clamp(64px,11vw,160px)}.governance__subtitle{margin:4px 0 0 clamp(0px,1.2vw,16px)}.governance__intro{text-align:center;max-width:1120px;margin:clamp(32px,4vw,60px) auto 0;font-size:clamp(1.05rem,1.56vw,1.33rem);font-weight:300}.governance__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.9vw,40px);max-width:1212px;margin:clamp(48px,6.3vw,86px) auto 0;display:grid}.principle__title{font-family:var(--font-serif);text-align:center;margin-bottom:18px;font-size:clamp(1.6rem,2.3vw,1.96rem);font-weight:400;line-height:1.25}.principle__box{border:1px solid #0000;border-image:linear-gradient(180deg, var(--jade), var(--abyss)) 1;min-height:318px;padding:52px 30px 30px;transition:background .3s}.principle__box:hover{background:#fdf8ef73}.principle__box p{font-size:clamp(1.05rem,1.56vw,1.33rem);font-weight:300;line-height:1.5}.reach{background:linear-gradient(90deg, var(--gold) 0%, var(--bronze) 100%);padding-block:clamp(48px,5vw,70px) clamp(56px,7vw,96px)}.reach .display{color:var(--ink)}.reach .container{max-width:1366px;padding-inline:clamp(16px,1.9vw,26px)}.reach .display,.reach__intro{margin-left:clamp(0px,1.4vw,19px)}.reach__intro{color:#000;max-width:1050px;margin-top:20px;font-size:clamp(1.05rem,1.56vw,1.33rem)}.reach__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.4vw,19px);margin-top:clamp(32px,3.6vw,50px);display:grid}.reach-card{min-height:497px;color:var(--slate);text-align:center;border:1px solid #8f8989;flex-direction:column;transition:transform .35s,box-shadow .35s,opacity .8s;display:flex}.reach-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px #20252d99}.reach-card__media{aspect-ratio:314/265;overflow:hidden}.reach-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.reach-card:hover .reach-card__media img{transform:scale(1.06)}.reach-card__title{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.01em;margin:24px 12px 14px;font-size:clamp(1.25rem,1.56vw,1.33rem);font-weight:400;line-height:1.05}.reach-card p{padding:0 14px 28px;font-size:1rem}.relationship{background:var(--ink);color:var(--cream);position:relative;overflow:hidden}.relationship__banner{text-align:center;background:url(/images/relationship-bg.jpg) 50%/cover no-repeat;place-items:center;min-height:clamp(180px,21.5vw,293px);padding:48px 16px;display:grid}.relationship__content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:clamp(40px,5vw,64px);padding-top:clamp(40px,4.5vw,64px);padding-bottom:clamp(72px,9vw,120px);display:flex;position:relative}.relationship__heading{font-family:var(--font-serif);font-size:clamp(1.75rem,2.55vw,2.17rem);font-weight:400;line-height:1.5}.relationship__intro,.contact{width:100%;max-width:1060px}.relationship__body{margin-top:18px;font-size:clamp(1.05rem,1.56vw,1.33rem)}.relationship__body p+p{margin-top:.6em}.relationship__rule{background:linear-gradient(90deg, transparent, var(--gold) 20%, var(--bronze) 80%, transparent);border:0;width:min(100%,880px);height:1px;margin:0}.contact{max-width:760px}.contact__intro{color:#fdf8efcc;max-width:560px;margin:10px auto 0;font-size:clamp(1rem,1.3vw,1.1rem);font-weight:300}.contact-form{text-align:left;margin-top:32px}.contact-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;display:grid}.contact-form__grid .field:last-child{grid-column:1/-1}.field{flex-direction:column;gap:8px;display:flex}.field label{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-size:.78rem;font-weight:500}.field__optional{letter-spacing:.04em;text-transform:none;color:#e1cf9f99;font-weight:400}.field input,.field select,.field textarea{width:100%;color:var(--cream);font:inherit;background:#fdf8ef0a;border:1px solid #e1cf9f4d;border-radius:2px;padding:13px 14px;font-size:1rem;transition:border-color .2s,background .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:160px}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(135deg, var(--gold) 50%, transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:40px}.field select option{background:var(--ink);color:var(--cream)}.field input:hover,.field select:hover,.field textarea:hover{border-color:#e1cf9f8c}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);background-color:#fdf8ef12;outline:none;box-shadow:0 0 0 3px #e1cf9f2e}.field--error input,.field--error select,.field--error textarea{border-color:#e8a48f}.field__error,.contact-form__status{color:#f0b8a6;font-size:.9rem}.field__count{color:#fdf8ef8c;align-self:flex-end;font-size:.8rem}.contact-form__trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form__actions{flex-direction:column;align-items:center;gap:12px;margin-top:30px;display:flex}.contact-form__status:empty{display:none}.button{border:1px solid var(--gold);background:linear-gradient(90deg, var(--gold), #c9ae74);min-width:220px;color:var(--ink);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:2px;padding:15px 34px;font-size:1rem;transition:transform .2s,box-shadow .2s,opacity .2s}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 24px -12px #e1cf9fb3}.button:disabled{opacity:.6;cursor:progress}.button--ghost{color:var(--gold);background:0 0}.contact-success{background:#fdf8ef0a;border:1px solid #e1cf9f59;flex-direction:column;align-items:center;gap:10px;margin-top:28px;padding:40px 24px;display:flex}.contact-success__title{font-family:var(--font-serif);color:var(--gold);font-size:clamp(1.5rem,2.2vw,1.9rem)}.contact-success .button{margin-top:14px}.linkedin{max-width:480px}.linkedin a{align-items:flex-end;gap:18px;text-decoration:none;display:inline-flex}.linkedin a img{width:53px;transition:transform .3s}.linkedin a:hover img{transform:translateY(-3px)rotate(-4deg)}.linkedin a:hover{color:var(--gold)}.linkedin p{margin-top:6px;font-size:clamp(1.05rem,1.56vw,1.33rem)}.relationship__orbit{pointer-events:none;width:min(55vw,450px);position:absolute;bottom:0;right:0}.site-footer{z-index:1;padding:18px var(--gutter);color:#fdf8ef8c;text-align:center;border-top:1px solid #e1cf9f26;font-size:.8rem;position:relative}@media (width<=1024px){.reach__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reach-card{min-height:0}}@media (width<=860px){.pillars__grid,.governance__grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto}.pillar,.principle__box{min-height:0}.pillar{padding-top:40px}.principle__box{padding:28px 24px}.relationship__content{padding-bottom:160px}.relationship__orbit{bottom:56px}}@media (width<=560px){.reach__grid,.contact-form__grid{grid-template-columns:1fr}.button{width:100%}.hero__tagline{max-width:22ch}}
