@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#f7f3eb;--paper-warm:#eee8de;--ink:#242720;--pine:#212b28;--forest:#182622;--brass:#bba177;--brass-light:#e2c99c;--mute:#68685e;--rule:#d5cdc0;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--header:86px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 12px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.72;-webkit-font-smoothing:antialiased}img{display:block;width:100%}button,input,a{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--brass);outline-offset:5px}::selection{background:#bba177;color:#161a18}em{font-style:italic;font-weight:400}.wrap{width:min(1410px,calc(100% - 112px));margin-inline:auto}.section-pad{padding:clamp(88px,9vw,156px) 0}.section-num,.eyebrow,.campaign-number{display:block;letter-spacing:.24em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.5}.section-num{color:#8a7654;margin-bottom:35px}.section-num--light{color:var(--brass-light)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.032em;line-height:.97}h2{font-size:clamp(46px,5.1vw,83px)}h3{font-size:32px}p{margin-bottom:18px}.lead{font-size:clamp(17px,1.55vw,22px);line-height:1.68;font-weight:500}.skip-link{position:fixed;top:-70px;left:10px;background:white;color:black;padding:12px;z-index:99}.skip-link:focus{top:10px}.reading-progress{position:fixed;z-index:60;height:2px;top:0;left:0;width:0%;background:var(--brass-light);pointer-events:none}
/* Password gate — HTML content is encrypted until the correct password is entered. */
body.locked{overflow:hidden;background:#181e1c}.gate{position:fixed;inset:0;min-height:100svh;z-index:200;display:grid;place-items:center;padding:28px;overflow:auto;background:#16211d}.gate::before{content:"";position:absolute;inset:0;background:url('../assets/dining-room.webp') center center/cover;filter:brightness(.53) saturate(.8)}.gate::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,20,17,.82),rgba(12,20,17,.33) 56%,rgba(12,20,17,.72))}.gate-card{position:relative;z-index:2;width:min(100%,540px);padding:clamp(32px,5vw,62px);background:rgba(26,33,29,.93);border:1px solid rgba(231,221,201,.28);text-align:center;box-shadow:0 22px 90px rgba(0,0,0,.25);color:var(--paper)}.gate-overline{color:var(--brass-light);text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.28em}.gate-logo{font-family:var(--serif);font-size:clamp(34px,5vw,48px);font-weight:500;letter-spacing:.03em;margin:22px 0 0}.gate-rule{width:38px;height:1px;background:var(--brass);margin:18px auto}.gate-title{font-family:var(--serif);font-size:clamp(24px,4vw,36px);font-style:italic;font-weight:400;margin-bottom:24px;line-height:1.12}.gate-desc{font-size:13px;line-height:1.75;color:#d2cfc3;margin-bottom:26px}.gate-form{display:flex;gap:7px;align-items:stretch}.gate-form input{width:100%;min-width:0;color:#fff;border:1px solid rgba(255,255,255,.48);border-radius:0;background:rgba(0,0,0,.16);padding:14px 13px;outline:none}.gate-form input::placeholder{color:#c2c0b7}.gate-form button{border:0;border-radius:0;background:var(--brass-light);color:#1e261f;text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:10px;padding:0 19px}.gate-error{font-size:12px;color:#ffc7bd;min-height:20px;margin:12px 0 0}.gate-small{font-size:10px;color:#bbb5a5;margin:26px 0 0;letter-spacing:.14em;text-transform:uppercase}.site-shell[hidden],.gate[hidden]{display:none!important}
/* Navigation */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header);z-index:50;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 max(56px,calc((100vw - 1410px)/2));color:var(--paper);border-bottom:1px solid rgba(250,250,250,.21);transition:background .35s,border-color .35s}.site-header.scrolled{background:rgba(26,35,31,.95);backdrop-filter:blur(16px);border-bottom-color:rgba(255,255,255,.11)}.brand{display:flex;flex-direction:column;align-items:start;justify-content:center;gap:3px;min-width:210px}.brand-name{font-family:var(--serif);font-size:27px;line-height:1;font-weight:600;letter-spacing:.045em}.brand-sub{font-size:8px;line-height:1.4;font-weight:700;letter-spacing:.32em}.brand-rule{height:1px;width:42px;background:var(--brass-light);margin:2px 0}.primary-nav{display:flex;align-items:center;gap:clamp(16px,2.55vw,42px)}.primary-nav a{font-size:10px;letter-spacing:.11em;font-weight:700;white-space:nowrap;text-transform:uppercase;opacity:.87;transition:opacity .2s,color .2s}.primary-nav a:hover{opacity:1;color:var(--brass-light)}.nav-toggle{display:none}
/* Hero */
.hero{position:relative;isolation:isolate;min-height:780px;height:min(940px,100svh);color:#fff;display:flex;align-items:center;background:#1b231f;overflow:hidden}.hero-picture{position:absolute;inset:0;z-index:-3;background:url('../assets/dining-room.webp') center 49%/cover no-repeat;transform:scale(1.018)}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(14,23,19,.81) 0%,rgba(14,23,19,.59) 39%,rgba(14,23,19,.08) 80%),linear-gradient(0deg,rgba(14,23,19,.48),transparent 29%,rgba(0,0,0,.2))}.hero-content{position:relative;z-index:2;padding-top:calc(var(--header) + 25px);padding-bottom:65px}.eyebrow--light{color:var(--brass-light)}.eyebrow-line{display:inline-block;width:34px;height:1px;background:var(--brass-light);vertical-align:middle;margin:0 15px}.hero h1{font-size:clamp(70px,9.4vw,151px);line-height:.81;margin:45px 0 44px;letter-spacing:-.045em;font-weight:500;max-width:1150px}.hero h1 em{color:#ead8b9}.hero-lower{display:flex;align-items:center;gap:clamp(25px,9vw,160px)}.hero-lower p{font-family:var(--serif);font-size:clamp(20px,2.45vw,33px);font-style:italic;margin:0;max-width:430px;line-height:1.2}.inline-arrow{display:inline-flex;align-items:center;gap:20px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:10px;transition:gap .25s}.inline-arrow:hover{gap:30px}.inline-arrow--light{color:var(--paper)}.inline-arrow .arrow-icon{display:block;width:20px;height:20px;flex:none;stroke:currentColor;overflow:visible}.hero-index{position:absolute;right:max(58px,calc((100vw - 1410px)/2));bottom:52px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.15em;color:#eee2cf}.hero-index-line{height:1px;width:84px;background:#ddd5c2;opacity:.6}.scroll-indicator{position:absolute;left:max(58px,calc((100vw - 1410px)/2));bottom:48px;display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.24em;font-weight:700;color:#e6dccb}.scroll-indicator-line{height:1px;width:34px;background:var(--brass-light)}
/* Letter */
.letter{background:var(--paper)}.letter-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,10vw,170px)}.letter-left h2{max-width:570px}.letter-right{max-width:620px;padding-top:48px;color:#54564e}.letter-right .lead{color:var(--ink)}.letter-emphasis{border-left:2px solid var(--brass);padding:8px 0 8px 24px;margin-top:32px;color:var(--ink);font-family:var(--serif);font-size:clamp(24px,2.4vw,35px);line-height:1.19}
/* Foundation */
.foundation{display:grid;grid-template-columns:47% 53%;min-height:740px;background:var(--paper-warm)}.foundation-photo{position:relative;min-height:630px;overflow:hidden;background:#5d4434}.foundation-photo picture,.foundation-photo img{position:absolute;inset:0;height:100%;width:100%}.foundation-photo picture{display:block}.foundation-photo img{object-fit:cover;object-position:50% center;filter:brightness(.83)}.photo-caption{position:absolute;left:42px;bottom:38px;color:#fff;font-size:10px;letter-spacing:.24em;font-weight:700}.foundation-copy{display:flex;flex-direction:column;justify-content:space-between}.foundation-inner{padding:clamp(75px,7.5vw,125px) clamp(48px,8.5vw,150px) 55px clamp(48px,6.2vw,108px)}.foundation-inner h2{max-width:720px}.foundation-inner p{color:#54564c;max-width:600px}.foundation-inner .pull-line{font-size:clamp(24px,2.5vw,38px);line-height:1.16;color:var(--ink);font-family:var(--serif);margin:33px 0 0}.foundation-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);margin-left:clamp(48px,6.2vw,108px)}.foundation-stats div{padding:25px 12px 30px 0;min-width:0}.foundation-stats div+div{border-left:1px solid var(--rule);padding-left:21px}.foundation-stats strong{display:block;font-family:var(--serif);font-size:clamp(24px,2.2vw,38px);line-height:1.05;white-space:nowrap;font-weight:500}.foundation-stats span{display:block;color:#6b665b;font-size:10px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;margin-top:8px}
/* Opportunity */
.opportunity{background:var(--forest);color:var(--paper);position:relative;overflow:hidden}.opportunity::after{content:"";position:absolute;right:-160px;top:-270px;width:760px;height:760px;border:1px solid rgba(218,200,160,.09);border-radius:50%;pointer-events:none}.opportunity-top{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;padding-bottom:75px;border-bottom:1px solid rgba(255,255,255,.26)}.opportunity-top h2{margin-bottom:0}.opportunity-top p{font-size:16px;color:#d1d6cf;max-width:465px;margin:75px 0 0}.opportunity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.op-card{padding:55px 50px 0 0}.op-card+.op-card{border-left:1px solid rgba(255,255,255,.25);padding-left:50px}.op-icon{font-family:var(--serif);font-size:50px;color:var(--brass);display:block;line-height:.9;margin-bottom:37px}.op-card h3{font-size:clamp(29px,3vw,44px);margin-bottom:15px}.op-card p{color:#cbd0c6;max-width:380px}
/* Marketing campaign showcase */
.campaigns{background:var(--paper);padding-bottom:100px}.campaigns-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end;padding-bottom:65px}.campaigns-intro h2{margin:0}.campaigns-intro-right{max-width:470px;padding-bottom:9px}.campaigns-intro-right p{font-size:16px;color:#565a50}.gold-rule{display:block;height:2px;width:75px;background:var(--brass)}.campaign{position:relative;isolation:isolate;overflow:hidden;height:clamp(520px,54vw,765px);color:#fff;background:#443a2d}.campaign-image,.campaign-image img{position:absolute;inset:0;width:100%;height:100%}.campaign-image{z-index:-3}.campaign-image img{object-fit:cover;object-position:50% 48%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.campaign:hover .campaign-image img{transform:scale(1.035)}.campaign-overlay{position:absolute;inset:0;z-index:-2}.campaign--one .campaign-overlay{background:linear-gradient(90deg,rgba(14,21,17,.84),rgba(14,21,17,.39) 44%,rgba(14,21,17,0) 77%)}.campaign--two .campaign-overlay{background:linear-gradient(90deg,rgba(14,21,17,.07) 8%,rgba(14,21,17,.1) 40%,rgba(14,21,17,.84) 100%)}.campaign-text{position:absolute;top:50%;transform:translateY(-48%);max-width:655px;width:calc(100% - 100px)}.campaign-text--left{left:max(55px,calc((100vw - 1410px)/2))}.campaign-text--right{right:max(55px,calc((100vw - 1410px)/2));width:min(590px,calc(100% - 105px))}.campaign-number{color:#f1d7a3;margin-bottom:34px}.campaign-text h3{font-size:clamp(53px,6.8vw,110px);line-height:.86;font-weight:400;letter-spacing:-.04em;margin-bottom:29px;text-wrap:balance}.campaign-text h3 em{color:#ebd5b2}.campaign-copy{max-width:460px;border-top:1px solid rgba(255,255,255,.48);padding-top:19px}.campaign-copy p{font-family:var(--serif);font-size:clamp(18px,2.05vw,28px);font-style:italic;line-height:1.18;margin-bottom:12px}.campaign-signoff{margin-top:36px;display:flex;flex-direction:column;gap:4px}.campaign-signoff span{font-family:var(--serif);font-size:clamp(25px,3vw,41px);line-height:1;letter-spacing:.11em}.campaign-signoff small{font-size:9px;letter-spacing:.21em;font-weight:700}.campaign-corner{position:absolute;right:39px;bottom:34px;font-size:9px;letter-spacing:.2em;color:#fff}.campaign--two .campaign-corner{left:39px;right:auto}.campaign-note{display:flex;gap:45px;align-items:center;padding-top:24px;padding-bottom:44px}.campaign-note span{font-size:10px;letter-spacing:.2em;font-weight:700;color:#a08660;white-space:nowrap}.campaign-note p{color:#575950;font-size:13px;line-height:1.5;margin:0}.campaign-disclaimer{font-size:11px;color:#858176;margin:0;line-height:1.6}
/* Contribution */
.contribution{background:#25322d;color:var(--paper);position:relative}.contribution-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,10vw,170px)}.contribution-intro h2{margin-bottom:35px}.contribution-intro>p{max-width:525px;color:#d3d7ce}.contribution-intro .inline-arrow{margin-top:26px}.contribution-list{padding-top:13px}.contribution-row{display:grid;grid-template-columns:55px 1fr;gap:17px;padding:29px 0;border-bottom:1px solid rgba(255,255,255,.23)}.contribution-row:first-child{border-top:1px solid rgba(255,255,255,.23)}.contribution-row>span{font-family:var(--serif);font-size:30px;color:var(--brass-light);line-height:1.2}.contribution-row h3{font-size:clamp(28px,2.8vw,39px);margin:0 0 10px}.contribution-row p{color:#cbd0c6;line-height:1.6;font-size:13px;margin:0}
/* Future */
.future{background:#ebe5da}.future-layout{display:grid;grid-template-columns:.43fr 1fr;gap:6vw}.future-label{display:flex;flex-direction:column;justify-content:space-between;align-items:start}.mini-mark{font-size:65px;font-family:var(--serif);color:var(--brass);font-weight:400}.future-main{max-width:920px}.future h2{margin-bottom:40px}.future p{max-width:790px;color:#53584f}.future-lead{font-family:var(--serif);font-size:clamp(26px,2.8vw,40px);color:var(--ink)!important;line-height:1.15;margin-bottom:30px}.future-bottom{border-left:2px solid var(--brass);padding:6px 0 6px 22px;margin-top:35px;font-size:15px;color:var(--ink)!important}
/* Closing */
.closing{position:relative;isolation:isolate;color:#fff;min-height:650px;display:flex;align-items:center;overflow:hidden;background:#27251f}.closing-photo{position:absolute;inset:0;z-index:-3;background:url('../assets/dining-room.webp') 50% 55%/cover no-repeat;filter:saturate(.74) brightness(.73)}.closing-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(12,23,17,.9) 0,rgba(12,23,17,.76) 51%,rgba(12,23,17,.18) 100%)}.closing-content{padding-top:110px;padding-bottom:110px}.closing h2{margin-bottom:28px;font-size:clamp(62px,7vw,104px)}.closing p{max-width:620px;color:#e5e8dd;font-size:16px}.signature{margin-top:45px;display:flex;flex-direction:column;gap:5px}.signature span{font-family:var(--serif);font-style:italic;font-size:38px;line-height:1.3}.signature a{font-size:11px;letter-spacing:.1em;color:var(--brass-light)}
/* Footer */
.footer{background:#131c18;color:#b1bcb1;padding:38px 0 25px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:9px;font-weight:700;letter-spacing:.15em}.footer-inner a{color:var(--brass-light)}.disclaimer{color:#889189;font-size:10px;line-height:1.5;margin-top:19px}
/* Reveal and interaction */
.js-reveals .fade-up{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.js-reveals .fade-up.visible{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.wrap{width:calc(100% - 76px)}.site-header{padding-inline:38px}.primary-nav{gap:19px}.primary-nav a{font-size:9px}.foundation-inner{padding:75px 55px 35px}.foundation-stats{margin-left:55px}.foundation-stats strong{font-size:26px}.foundation{grid-template-columns:45% 55%}.op-card{padding-right:27px}.op-card+.op-card{padding-left:27px}.hero-index{right:39px}.scroll-indicator{left:39px}.campaign-text--left{left:39px}.campaign-text--right{right:39px}}
@media(max-width:780px){:root{--header:74px}.wrap{width:calc(100% - 44px)}.site-header{padding-inline:22px}.brand{min-width:unset}.brand-name{font-size:24px}.brand-sub{font-size:7px}.nav-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.52);width:44px;height:44px;z-index:52}.nav-toggle span{width:20px;height:1px;background:#fff;transition:transform .2s}.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.primary-nav{position:fixed;left:0;right:0;top:var(--header);display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(26,35,31,.98);padding:18px 22px 25px;border-top:1px solid rgba(255,255,255,.15)}.primary-nav.open{display:flex}.primary-nav a{padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.14);font-size:12px}.hero{min-height:650px;height:88svh}.hero-picture{background-position:58% 50%}.hero-shade{background:linear-gradient(90deg,rgba(14,23,19,.82),rgba(14,23,19,.36) 85%),linear-gradient(0deg,rgba(14,23,19,.5),transparent 45%)}.hero-content{padding-top:70px}.hero h1{font-size:clamp(58px,11.7vw,94px);margin:37px 0}.hero-lower{flex-direction:column;align-items:start;gap:23px}.hero-index{right:22px;bottom:35px}.scroll-indicator{left:22px;bottom:35px}.letter-grid{grid-template-columns:1fr;gap:10px}.letter-right{padding-top:0;max-width:680px}.foundation{grid-template-columns:1fr}.foundation-photo{min-height:500px;max-height:630px}.foundation-inner{padding:70px 38px 55px}.foundation-stats{margin-left:38px}.opportunity-top,.campaigns-intro,.contribution-layout{grid-template-columns:1fr;gap:30px}.opportunity-top p{margin:5px 0 0}.opportunity-top{padding-bottom:40px}.op-card{padding:35px 0}.op-card+.op-card{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.25)}.op-card h3{margin-top:0}.op-icon{margin-bottom:14px}.opportunity-grid{grid-template-columns:1fr}.campaigns-intro{padding-bottom:45px}.campaign{height:680px}.campaign-text--right,.campaign-text--left{left:32px;right:auto;width:calc(100% - 64px)}.campaign--two .campaign-overlay{background:linear-gradient(90deg,rgba(14,21,17,.73),rgba(14,21,17,.33) 100%)}.campaign-text h3{font-size:clamp(58px,9vw,93px)}.campaign--two .campaign-image img{object-position:45% center}.contribution-layout{gap:55px}.future-layout{grid-template-columns:1fr;gap:28px}.future-label .mini-mark{display:none}.closing{min-height:610px}.footer-inner{flex-wrap:wrap;justify-content:start}.footer-inner span:nth-child(2){display:none}}
@media(max-width:540px){body{font-size:14px}.section-pad{padding:75px 0}.hero{min-height:620px;height:88svh;max-height:850px}.hero h1{font-size:clamp(52px,12.4vw,72px);line-height:.91}.hero-content{padding-top:70px;padding-bottom:35px}.hero-lower p{font-size:23px}.hero .eyebrow{font-size:8px;letter-spacing:.14em}.eyebrow-line{width:16px;margin:0 7px}.scroll-indicator{display:none}.hero-index{bottom:23px}.letter h2,.foundation h2,.opportunity h2,.campaigns-intro h2,.contribution h2,.future h2{font-size:clamp(46px,11.5vw,62px)}.letter-grid{gap:8px}.letter-right .lead{font-size:18px}.letter-emphasis{font-size:28px}.foundation-photo{min-height:370px;height:370px}.foundation-inner{padding:63px 23px 35px}.foundation-stats{margin-left:23px;grid-template-columns:1fr 1fr}.foundation-stats div:nth-child(3){grid-column:span 2;border-left:0;border-top:1px solid var(--rule);padding-left:0}.foundation-stats strong{font-size:30px}.foundation-stats span{font-size:8px}.opportunity-top p{font-size:14px}.op-card h3{font-size:38px}.campaign{height:650px}.campaign-text{transform:translateY(-48%)}.campaign-text--left,.campaign-text--right{left:24px;width:calc(100% - 48px)}.campaign-text h3{font-size:clamp(51px,11.9vw,70px);margin-bottom:24px}.campaign-number{font-size:9px;margin-bottom:35px}.campaign-copy p{font-size:20px}.campaign-signoff{margin-top:32px}.campaign-signoff span{font-size:30px}.campaign-corner{display:none}.campaign--one .campaign-image img{object-position:63% center}.campaign--one .campaign-overlay{background:linear-gradient(90deg,rgba(14,21,17,.74),rgba(14,21,17,.37))}.campaign-note{gap:12px;align-items:start}.campaign-note span{font-size:9px}.campaign-note p{font-size:12px}.contribution-row{grid-template-columns:42px 1fr;gap:10px}.contribution-row h3{font-size:29px}.future-lead{font-size:30px}.closing{min-height:610px}.closing h2{font-size:60px}.closing p{font-size:14px}.gate-form{flex-direction:column}.gate-form button{padding:15px}.gate-card{padding:36px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-reveals .fade-up{opacity:1;transform:none}}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Keep arrows as vectors across Safari/iOS without emoji substitution. */
.gate-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.gate-form button .arrow-icon{width:15px;height:15px;display:block;flex:none}
