/* The Sanctuary Project — Founding Partners page
   Review-only design extension, matching the published v2.2 brand.
   Isolated to .fp-main: no changes to existing pages. */
.fp-main{--fp-deep:#0b1d16;--fp-pine:#163224;--fp-ink:#172e21;--fp-paper:#f6f3e9;--fp-cream:#ebe9dc;--fp-gold:#d4bb88;--fp-muted:#617264;background:var(--fp-paper);color:var(--fp-ink);overflow:clip}
.fp-main .shell{width:min(1180px,calc(100% - 84px));position:relative}
.fp-main h1,.fp-main h2,.fp-main h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.037em;line-height:1.02}
.fp-main h2{font-size:clamp(3.3rem,5.4vw,6.2rem);margin:0}
.fp-main h2 em,.fp-main h1 em{font-weight:400;font-style:italic;color:#a6bca4}
.fp-main p{line-height:1.8}
.fp-pad{padding:clamp(80px,8vw,120px) 0}
.fp-eyebrow{display:inline-flex;gap:12px;align-items:center;font:800 10px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.20em;text-transform:uppercase}
.fp-eyebrow i{display:inline-block;width:27px;height:1px;background:currentColor;flex:none}
.fp-eyebrow-light{color:#dac491}
.fp-eyebrow-dark{color:#52745a}
.fp-slash{opacity:.55;margin:0 4px}
.fp-hero{min-height:710px;min-height:min(90svh,840px);background:var(--fp-deep);color:#f7f4eb;position:relative;display:flex;align-items:center;overflow:hidden}
.fp-hero-image{position:absolute;inset:0;background:url('assets/mist-woodland.jpg') center 53%/cover no-repeat;transform:scale(1.02)}
.fp-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,16,.94) 0%,rgba(8,26,19,.84) 35%,rgba(8,22,16,.42) 78%,rgba(6,22,16,.47) 100%),linear-gradient(0deg,rgba(10,27,19,.88),transparent 36%)}
.fp-hero-inner{z-index:1;padding:170px 0 142px}
.fp-hero h1{font-size:clamp(4.8rem,7.6vw,9.6rem);line-height:.9;letter-spacing:-.051em;max-width:1020px;margin:30px 0 27px;text-wrap:balance}
.fp-hero h1 em{color:#dfca9f}
.fp-hero-intro{max-width:580px;color:#e2e6df;font-size:clamp(1rem,1.4vw,1.13rem);margin:0 0 28px}
.fp-link{display:inline-flex;align-items:center;gap:18px;padding:10px 0 8px;border-bottom:1px solid rgba(218,196,145,.63);font:800 11px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}
.fp-link-light{color:#e4d2a7}
.fp-link svg,.fp-visit svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fp-hero-edge{position:absolute;right:25px;top:48%;z-index:1;writing-mode:vertical-rl;font:700 9px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.22em;color:rgba(233,224,193,.56)}
.fp-hero-bottom{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:19px max(44px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(228,215,178,.21);font:700 10px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.17em;color:#c3bea8}
.fp-axiom{background:#142a1d;color:#dac899}
.fp-axiom .shell{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:20px;padding-bottom:20px;font:800 10px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.fp-intro{background:#f7f5ed}
.fp-intro-grid{display:grid;grid-template-columns:1fr .77fr;gap:8vw;align-items:start}
.fp-intro h2{margin-top:23px}
.fp-intro h2 em{color:#7e9b80}
.fp-intro-copy{padding-top:14px}
.fp-intro-copy p{font-size:15px;color:#4b5b4e;margin-bottom:1.15em}
.fp-intro-copy .fp-intro-lead{font:500 clamp(1.6rem,2.1vw,2.25rem)/1.33 'Cormorant Garamond',Georgia,serif;color:#244431;margin-bottom:18px}
.fp-feature-wrap{background:#eaece3}
.fp-section-heading{margin-bottom:45px}
.fp-title-row{display:flex;align-items:end;justify-content:space-between;gap:36px}
.fp-title-row h2{margin-top:22px;max-width:870px}
.fp-title-row h2 em{color:#6e9172}
.fp-count{font:800 10px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.16em;white-space:nowrap;padding-bottom:12px;color:#65796a}
.fp-section-heading>p{max-width:630px;color:#536758;margin:23px 0 0;font-size:14px}
.fp-partner-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);min-height:565px;background:#fff;border:1px solid rgba(31,63,42,.14);box-shadow:0 18px 50px rgba(21,42,29,.07)}
.fp-brand-panel{background:radial-gradient(ellipse at 50% 47%,#27362b,#0a1713 75%);color:#dfc78e;position:relative;display:flex;align-items:center;justify-content:center;min-height:555px;padding:70px 50px}
.fp-brand-panel::after{content:'';position:absolute;inset:18px;border:1px solid rgba(217,190,126,.22);pointer-events:none}
.fp-logo-link{display:block;position:relative;z-index:1;width:min(100%,340px);transition:transform .22s ease}
.fp-logo-link:hover{transform:scale(1.035)}
.fp-logo-link img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 27px rgba(0,0,0,.26))}
.fp-panel-corner{position:absolute;left:44px;z-index:1;font:700 9px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.15em}
.fp-panel-top{top:43px}
.fp-panel-bottom{bottom:42px;color:#baa877;max-width:calc(100% - 85px)}
.fp-partner-copy{padding:clamp(38px,5vw,75px) clamp(32px,4.9vw,72px) 39px}
.fp-partner-kicker{display:flex;gap:10px;align-items:center;color:#738776;font:800 10px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.fp-mini-square{height:7px;width:7px;background:#c7ad76}
.fp-partner-index{margin-left:auto;opacity:.7}
.fp-partner-copy h3{font-size:clamp(4.1rem,5.2vw,6.2rem);line-height:.85;margin:42px 0 28px;letter-spacing:-.035em}
.fp-brand-subtitle{display:block;font:800 11px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.24em;color:#8d947f;margin-top:18px}
.fp-partner-copy .fp-partner-lead{font:500 clamp(1.65rem,2vw,2.08rem)/1.2 'Cormorant Garamond',Georgia,serif;color:#25432f;margin-bottom:18px}
.fp-partner-copy>p:not(.fp-partner-lead):not(.fp-affiliation){font-size:14px;color:#506253;margin-bottom:18px}
.fp-service-tags{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0 24px}
.fp-service-tags span{font:700 10px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.06em;color:#46604b;background:#eaf0e7;padding:9px 11px}
.fp-visit{display:inline-flex;gap:15px;align-items:center;border-bottom:1px solid #537e5b;padding:9px 0;color:#31563b;font:800 10px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.14em;transition:gap .2s ease}
.fp-visit:hover{gap:22px}
.fp-partner-copy .fp-affiliation{font-size:11px;line-height:1.55;color:#758175;margin-top:35px;margin-bottom:0;padding-top:16px;border-top:1px solid #e2e6dd}
.fp-affiliation strong{color:#415449}
.fp-next{background:#142a1e;color:#f4f0e6}
.fp-next-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end;margin-bottom:38px}
.fp-next-heading h2{margin-top:24px;font-size:clamp(3.5rem,5.4vw,6.3rem)}
.fp-next-heading h2 em{color:#d9c18e}
.fp-next-heading>p{font-size:15px;color:#bbcabe;max-width:340px;margin:0 0 7px}
.fp-contrib-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(212,197,161,.25);border-left:1px solid rgba(212,197,161,.18)}
.fp-contrib{padding:30px 25px 27px;border-right:1px solid rgba(212,197,161,.18);border-bottom:1px solid rgba(212,197,161,.18);min-height:270px;display:flex;flex-direction:column;transition:background .2s ease}
.fp-contrib:hover{background:#203c2a}
.fp-contrib .fp-no{font:700 10px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.13em;color:#bcac83}
.fp-contrib h3{font-size:clamp(2.2rem,2.7vw,3.1rem);margin:35px 0 13px;color:#f4f0e5}
.fp-contrib p{font-size:13px;line-height:1.62;color:#bdcabe;margin:0 0 25px}
.fp-contrib-cta{display:flex;justify-content:space-between;gap:8px;margin-top:auto;color:#dfcb99;font:800 10px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.06em}
.fp-contrib-cta span{font-size:18px;line-height:.8}
.fp-recognition{background:#f6f3e9}
.fp-recognition-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.fp-recognition h2{margin-top:24px;font-size:clamp(3.3rem,4.9vw,5.8rem)}
.fp-recognition h2 em{color:#7f9b80}
.fp-choice{display:grid;grid-template-columns:38px minmax(0,1fr);gap:22px;border-bottom:1px solid #cbd4ca;padding:22px 0 25px}
.fp-choice:first-child{padding-top:0}
.fp-choice:last-child{border:0}
.fp-choice-symbol{width:37px;height:37px;border:1px solid #a6bca6;color:#466e50;display:flex;align-items:center;justify-content:center;font-size:19px}
.fp-choice h3{font-family:'DM Sans',Arial,sans-serif;font-size:16px;letter-spacing:-.015em;font-weight:750;margin:0 0 7px}
.fp-choice p{font-size:13px;color:#5d6e61;margin:0;line-height:1.68}
.fp-cta{min-height:520px;display:flex;align-items:center;position:relative;background:#071711;color:#f5f1e6;overflow:hidden}
.fp-cta-image{position:absolute;inset:0;background:url('assets/field-landscape.jpg') center 51%/cover no-repeat}
.fp-cta-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,17,.95),rgba(8,28,18,.75) 55%,rgba(8,28,18,.45)),linear-gradient(0deg,rgba(5,17,10,.85),transparent)}
.fp-cta-inner{z-index:1;padding:90px 0 85px}
.fp-cta h2{font-size:clamp(4.4rem,7vw,8rem);margin:22px 0 20px;line-height:.92}
.fp-cta h2 em{color:#e2ca99}
.fp-cta p{max-width:550px;color:#d4ded4;font-size:16px}
.fp-actions{display:flex;flex-wrap:wrap;gap:13px;margin:30px 0 27px}
.fp-button{min-height:53px;padding:16px 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;font:800 10px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.10em;transition:transform .2s ease;text-transform:uppercase}
.fp-button:hover{transform:translateY(-3px)}
.fp-button-gold{background:#ddc38d;color:#142c1b}
.fp-button-outline{border:1px solid rgba(238,234,216,.64);color:#f0ede5}
.fp-button span{font-size:18px}
.fp-cta .fp-smallprint{font-size:11px;color:#a5b7a8;line-height:1.5;max-width:630px;margin-bottom:0}
@media(max-width:1020px){
 .fp-main .shell{width:min(100% - 60px,1180px)}
 .fp-partner-card{grid-template-columns:minmax(0,.82fr) minmax(0,1fr)}
 .fp-brand-panel{padding:65px 28px;min-height:500px}
 .fp-partner-copy{padding:46px 35px}
 .fp-contrib-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:750px){
 .fp-main .shell{width:calc(100% - 38px)}
 .fp-hero{min-height:730px;min-height:85svh}
 .fp-hero-inner{padding:154px 0 124px}
 .fp-hero h1{font-size:clamp(3.8rem,11vw,6.6rem);max-width:660px;margin:25px 0}
 .fp-hero-image{background-position:59% center}
 .fp-hero-edge{display:none}
 .fp-hero-bottom{padding:17px 19px;font-size:9px}
 .fp-hero-bottom span:last-child{display:none}
 .fp-axiom .shell{flex-wrap:wrap;gap:10px;font-size:9px;padding-top:19px;padding-bottom:19px}
 .fp-intro-grid,.fp-recognition-grid,.fp-next-heading{grid-template-columns:1fr;gap:26px}
 .fp-intro-copy{padding-top:0}
 .fp-partner-card{grid-template-columns:1fr}
 .fp-brand-panel{min-height:390px;padding:74px 50px}
 .fp-logo-link{max-width:300px}
 .fp-title-row{display:block}
 .fp-count{display:block;margin-top:14px}
 .fp-partner-copy h3{font-size:clamp(4rem,11vw,6rem);margin-top:28px}
 .fp-next-heading h2{font-size:clamp(3.4rem,9vw,5rem)}
 .fp-next-heading>p{max-width:620px}
 .fp-cta{min-height:590px}
}
@media(max-width:480px){
 .fp-pad{padding:67px 0}
 .fp-hero{min-height:680px;min-height:90svh}
 .fp-hero-inner{padding-top:137px}
 .fp-hero h1{font-size:clamp(3.35rem,13vw,4.6rem)}
 .fp-hero-intro{font-size:14px}
 .fp-eyebrow{font-size:9px;letter-spacing:.14em;gap:8px;flex-wrap:wrap}
 .fp-slash{display:none}
 .fp-axiom .shell span:last-child{display:none}
 .fp-intro h2,.fp-title-row h2,.fp-recognition h2{font-size:clamp(3.2rem,12vw,4.2rem)}
 .fp-section-heading{margin-bottom:30px}
 .fp-brand-panel{min-height:350px;padding:70px 40px}
 .fp-brand-panel::after{inset:13px}
 .fp-logo-link{max-width:245px}
 .fp-panel-corner{left:32px}
 .fp-panel-top{top:30px}
 .fp-panel-bottom{bottom:26px}
 .fp-partner-copy{padding:33px 25px 37px}
 .fp-partner-kicker{font-size:9px;letter-spacing:.09em}
 .fp-partner-copy h3{font-size:4.6rem;overflow-wrap:normal}
 .fp-brand-subtitle{font-size:9px}
 .fp-contrib-grid{grid-template-columns:1fr}
 .fp-contrib{min-height:215px;padding:24px}
 .fp-contrib h3{margin:19px 0 10px}
 .fp-cta-inner{padding:76px 0}
 .fp-cta h2{font-size:clamp(3.8rem,13vw,5.2rem)}
 .fp-actions{flex-direction:column;align-items:stretch}
}
@media(prefers-reduced-motion:reduce){.fp-logo-link,.fp-contrib,.fp-button{transition:none}}
