/* Fi2T / editorial motion direction */

:root{--deep:#062e29;--paper:#f5f5ef;--gold:#d2bd95}header{height:110px;background:transparent;border:0;padding:0 4%;gap:30px}header .brand{width:135px;justify-content:flex-start;border:0}.brand img{width:125px;height:90px}.header-join{height:auto;padding:13px 21px;background:var(--gold);border:0;border-radius:40px;color:var(--deep);gap:20px}.header-actions{height:auto;margin-left:15px;gap:25px}nav{gap:28px}.hero{background:var(--deep);height:100svh;min-height:850px;max-height:1200px;text-align:left;justify-content:flex-start;overflow:hidden}.hero-photo{inset:125px 4% 82px auto;width:52%;height:calc(100% - 207px);object-position:48% center;border-radius:260px 260px 6px 6px;transform:scale(1);will-change:transform,filter}.hero-overlay{display:none}.hero-content{padding:0;margin:0 4%;max-width:none;width:92%;z-index:2}.hero-content>.eyebrow{font-size:12px;letter-spacing:.12em;margin:0 0 38px;color:var(--gold)}h1{font-size:clamp(80px,10.5vw,164px);line-height:.94;letter-spacing:-.065em;font-weight:500;text-shadow:0 2px 28px #052c2920}.title-line{display:block;overflow:hidden;padding:0 .05em .14em 0;margin-bottom:-.14em}.title-line>span{display:block;transform-origin:0 100%;will-change:transform,opacity}.title-line em{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.13em;letter-spacing:-.035em;color:var(--gold)}.hero-description{font-size:17px;line-height:1.6;max-width:330px;margin:35px 0 25px}.hero .button{background:var(--gold);padding:18px 25px}.hero-caption{padding:22px 4%;font-size:11px;border:0;color:#a7c4b7}.hero-caption>a{color:var(--gold);font-size:30px}.photo-seal{position:absolute;right:5%;top:145px;width:105px;height:105px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;transform:rotate(9deg);box-shadow:0 4px 20px #003c2820}.photo-seal strong{font:500 38px/1 Manrope,sans-serif;letter-spacing:-.05em}.photo-seal span{font-size:10px;margin-top:8px;text-transform:uppercase;letter-spacing:.06em}.intro{padding-top:130px;padding-bottom:110px}.intro h2{font-size:clamp(40px,4.8vw,73px);line-height:1.13}.intro h2 .word{display:inline-block;transition:opacity .22s ease}.intro h2 .word.dim{opacity:.18}.intro .stats{margin-top:65px}.stats strong{font-size:76px;font-weight:400}.missions{padding-bottom:125px}.mission{transition:transform .4s}.mission:hover{transform:translateY(-7px)}.mission svg{width:42px;height:42px}.sectors{background:#d7e5dc;color:var(--ink);border-radius:40px 40px 0 0;position:relative}.sectors .eyebrow{color:var(--muted)}.section-top h2{font-size:clamp(42px,5.5vw,82px);max-width:760px}.section-top>p{color:var(--muted)}.sector-grid{grid-template-columns:repeat(3,1fr);border:0;gap:12px;margin-top:55px}.sector{position:relative;min-height:170px;border:1px solid #073e3825;border-radius:12px;padding:25px 26px;transition:background .35s,color .35s,transform .4s,border-color .35s;overflow:hidden;isolation:isolate}.sector::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--px,50%) var(--py,50%),#d2bd9544,transparent 70%);opacity:0;transition:opacity .3s;z-index:-1}.sector:hover{background:var(--deep);color:#fff;border-color:var(--deep);transform:translateY(-4px)}.sector:hover::before{opacity:1}.sector svg{color:#008c77;width:35px;height:35px;transition:transform .45s,color .35s}.sector:hover svg{color:var(--gold);transform:rotate(-8deg) scale(1.12)}.sector span{font-size:19px;max-width:85%}.sector .sector-number{position:absolute;right:22px;top:23px;font:400 11px Manrope;opacity:.5}.sectors details,.sectors .directory li{border-color:#073e3825}.sectors summary{padding:25px 0}.vision{background:var(--deep);color:white;min-height:760px}.vision-image{margin:60px 0 60px 60px;border-radius:7px;min-height:600px}.vision-image img{object-position:18% center;will-change:filter,transform}.vision-copy{padding:80px 60px}.vision-copy .eyebrow{color:var(--gold)}.vision-copy h2{font-size:clamp(39px,4.3vw,65px);line-height:1.1}.vision-copy p:not(.eyebrow){color:#bacfc5}.vision-copy .button{background:var(--gold)}.membership{padding-top:120px;padding-bottom:100px}.membership h2,.network h2{font-size:clamp(40px,4.7vw,70px)}.benefit-list article{padding:30px 0}.news{background:var(--gold);padding-top:90px;padding-bottom:90px}.news h2{font-size:clamp(40px,4.8vw,72px)}.partners{background:var(--paper)}footer{padding-top:85px}.footer-top h2{font-size:clamp(40px,5.5vw,84px)}.footer-bottom>span{font-size:70px}.button{position:relative;overflow:hidden}.button svg{transition:transform .3s}.button:hover svg{transform:translateX(5px)}.round-link:hover{background:var(--gold);border-color:var(--gold)}.progress-line{position:fixed;bottom:0;left:0;width:100%;height:3px;background:var(--teal);transform:scaleX(0);transform-origin:left;z-index:30;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
 .motion-ready .hero-photo{animation:photoEntrance 1.75s cubic-bezier(.2,.7,.15,1) both}
 .motion-ready .title-line>span{animation:typeEntrance 1.15s cubic-bezier(.18,.75,.16,1) both;animation-delay:.18s}
 .motion-ready .title-line:nth-child(2)>span{animation-delay:.36s}
 .motion-ready .hero-content>.eyebrow{animation:fadeEntrance .8s .1s both}
 .motion-ready .hero-description,.motion-ready .hero-content>.button{animation:fadeEntrance 1s .75s both}
 .motion-ready .photo-seal{animation:sealEntrance 1.2s .7s both}
 .motion-ready [data-reveal]{opacity:0;transform:translateY(35px);filter:blur(5px);transition:opacity .85s var(--delay,0s),transform .85s cubic-bezier(.16,.7,.2,1) var(--delay,0s),filter .85s var(--delay,0s)}
 .motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
 .motion-ready .vision-image img{filter:blur(14px);transform:scale(1.1);transition:filter 1.5s,transform 2s cubic-bezier(.15,.7,.15,1)}
 .motion-ready .vision-image.is-visible img{filter:blur(0);transform:scale(1)}
 @keyframes typeEntrance{from{opacity:0;transform:translateY(115%) rotate(4deg);filter:blur(8px)}to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}
 @keyframes photoEntrance{from{opacity:.1;filter:blur(20px);transform:translateY(40px) scale(.92)}to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}
 @keyframes fadeEntrance{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
 @keyframes sealEntrance{from{opacity:0;transform:scale(.6) rotate(-40deg)}to{opacity:1;transform:scale(1) rotate(9deg)}}
}
@media(max-width:1050px){header{padding:0 30px;gap:15px}nav{gap:18px}.header-actions{gap:18px;margin-left:5px}.header-join{padding:12px 16px}.hero{min-height:800px}.hero-photo{width:56%;right:3%}.hero-content{margin:0 4%}h1{font-size:11vw}.photo-seal{width:88px;height:88px;right:4%}.vision-image{margin:40px 0 40px 35px;min-height:550px}.vision-copy{padding:60px 35px}.stats strong{font-size:58px}}
@media(max-width:760px){header{height:130px;padding:0 22px;gap:0}.brand img{width:100px;height:68px}header .brand{width:110px}.header-actions{gap:15px}.header-join{padding:10px 13px;font-size:11px;gap:9px}nav{border-color:#ffffff20;height:46px;padding:0;font-size:12px}.hero{min-height:850px;height:100svh;max-height:1000px;align-items:flex-start}.hero-photo{top:230px;right:6%;width:73%;height:450px;border-radius:160px 160px 5px 5px;object-position:52% center}.hero-content{margin:0 6%;width:88%;padding:176px 0 0}.hero-content>.eyebrow{font-size:10px;max-width:250px;margin:0 0 54px}.hero h1,html[lang=en] .hero h1{font-size:clamp(55px,13.8vw,95px);line-height:1.05;letter-spacing:-.06em}.title-line em{font-size:1.08em}.hero-description{margin-top:205px;margin-bottom:18px;font-size:14px;max-width:280px;background:none}.hero-description br{display:none}.hero .button{padding:14px 20px;font-size:13px}.photo-seal{top:188px;right:6%;width:74px;height:74px}.photo-seal strong{font-size:29px}.photo-seal span{font-size:8px;margin-top:4px}.hero-caption{padding:18px 6%;font-size:10px}.hero-caption span{max-width:240px}.hero-caption>a{font-size:24px}.intro{padding-top:70px;padding-bottom:60px}.intro h2{font-size:40px}.intro-bottom{gap:15px}.intro .stats{margin-top:35px}.stats strong{font-size:45px}.missions{padding-bottom:65px}.sector-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:32px}.sector{min-height:149px;padding:20px 15px;gap:25px}.sector span{font-size:15px;max-width:100%}.sector svg{width:29px;height:29px}.sector .sector-number{right:13px;top:19px;font-size:10px}.sectors{border-radius:24px 24px 0 0}.section-top h2{font-size:44px}.vision{min-height:0}.vision-image{margin:25px 24px 0;height:390px;min-height:0;border-radius:140px 140px 6px 6px}.vision-copy{padding:50px 24px}.membership{padding-top:65px;padding-bottom:55px}.membership h2,.network h2{font-size:42px}.news{padding-top:60px;padding-bottom:60px}.news h2{font-size:44px}.footer-top h2{font-size:40px}.footer-bottom>span{font-size:48px}.footer-top p{font-size:13px}.hero-description,.hero-content>.button{position:relative;z-index:3}.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:210px;background:linear-gradient(transparent,var(--deep) 55%);pointer-events:none}.hero-caption{z-index:4}}
@media(prefers-reduced-motion:reduce){.intro h2 .word.dim{opacity:1}.progress-line{display:none}*{animation:none!important;transition:none!important}.hero-photo,.vision-image img{filter:none!important}}

@media(max-width:760px){.hero::after{top:500px;bottom:auto;height:245px;background:linear-gradient(transparent,var(--deep) 65%)}.hero-description{text-shadow:0 1px 8px #062e29}}
/* Scroll typography, independent parallax layers and tactile controls. */
.reveal-word{display:inline-block;opacity:calc(.16 + var(--read,1)*.84);transition:opacity .12s linear}
.hero-photo,h1,.vision-image img{will-change:translate}.vision-image{overflow:hidden}.vision-image img{height:calc(100% + 110px);top:-55px;max-height:none}
.button,.header-join,.round-link{isolation:isolate;position:relative;overflow:hidden;transition:color .35s,box-shadow .4s,transform .4s cubic-bezier(.2,.8,.2,1)}
.button::before,.header-join::before,.round-link::before{content:'';position:absolute;inset:-1px;background:var(--teal);z-index:-1;clip-path:circle(0% at var(--px,50%) var(--py,100%));transition:clip-path .65s cubic-bezier(.2,.8,.2,1)}
.button:hover::before,.button:focus-visible::before,.header-join:hover::before,.header-join:focus-visible::before,.round-link:hover::before,.round-link:focus-visible::before{clip-path:circle(150% at var(--px,50%) var(--py,100%))}
.button:hover,.header-join:hover,.round-link:hover{transform:translateY(-3px);box-shadow:0 12px 28px #001e2524;color:white}
.button:hover svg,.header-join:hover svg,.round-link:hover svg{animation:arrowLoop .5s cubic-bezier(.2,.8,.2,1)}
@keyframes arrowLoop{0%{transform:translateX(0);opacity:1}45%{transform:translateX(22px);opacity:0}46%{transform:translateX(-22px);opacity:0}100%{transform:translateX(0);opacity:1}}
.stats strong{font-variant-numeric:tabular-nums;min-width:4ch}.network details{box-sizing:content-box}.network summary span{transition:transform .45s}.network summary[aria-expanded=true] span{transform:rotate(45deg)}.network summary[aria-expanded=false] span{transform:rotate(0)}
.footer-info{display:grid;grid-template-columns:1.15fr 1fr;gap:12%;padding:55px 0}.footer-info p{font-size:16px;line-height:1.8;max-width:590px;color:#c1d7cd}.footer-info address{font-style:normal;display:grid;gap:22px}.contact-row{display:flex;gap:18px;align-items:flex-start}.contact-icon{width:45px;height:45px;border:1px solid #8aa99b;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:var(--gold)}.contact-row strong{display:block;color:var(--gold);font-size:13px;margin-bottom:4px}.contact-row a:hover{color:var(--gold)}.footer-social{display:inline-flex;margin-top:24px;border-bottom:1px solid var(--gold);font-size:14px}.copyright{padding:22px 0;border-top:1px solid #ffffff25;font-size:13px;color:#b7cfc3}
.partners{overflow:hidden;position:relative}.partner-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.partner-heading .eyebrow{margin:0}.marquee-toggle{border:1px solid var(--line);border-radius:30px;padding:8px 18px;background:transparent;color:var(--ink);cursor:pointer}.partner-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.partner-track{display:flex;width:max-content;will-change:transform}.partner-set{display:flex;align-items:center;gap:65px;padding-right:65px;flex-shrink:0}.partner-set img{width:145px;height:88px;object-fit:contain;mix-blend-mode:multiply}.partner-set figure{margin:0;display:grid;place-items:center;width:155px;min-height:105px}
@media(max-width:760px){.footer-info{grid-template-columns:1fr;gap:40px;padding:35px 0}.contact-row{font-size:14px}.partner-set{gap:35px;padding-right:35px}.partner-set img{width:115px;height:75px}.partner-set figure{width:125px}.vision-image img{height:calc(100% + 110px)}}
@media(prefers-reduced-motion:reduce){.reveal-word{opacity:1}.hero-photo,h1,.vision-image img{translate:none!important}.partner-track{transform:none!important;width:auto}.partner-set{flex-wrap:wrap;justify-content:center;padding:0;gap:25px}.partner-set[aria-hidden=true],.marquee-toggle{display:none}.partner-window{mask-image:none}.button:hover,.header-join:hover,.round-link:hover{transform:none}}

/* Keep the mobile fade opaque through the full remaining hero height. */
@media(max-width:760px){.hero::after{top:500px;bottom:0;height:auto;background:linear-gradient(to bottom,transparent 0,var(--deep) 160px,var(--deep) 100%)}}
@media(orientation:landscape){.hero-photo{border-top-left-radius:6px;border-top-right-radius:6px}}
@media(orientation:landscape) and (max-width:760px){.hero-photo{border-top-left-radius:5px;border-top-right-radius:5px}}
nav a,.languages a{transition:color .25s,opacity .25s}nav a:hover,nav a:focus-visible,.languages a:hover,.languages a:focus-visible{color:var(--gold);opacity:1}
#specialties{box-sizing:content-box}#specialties summary span{transition:transform .45s}#specialties summary[aria-expanded=true] span{transform:rotate(45deg)}#specialties summary[aria-expanded=false] span{transform:rotate(0)}

.copyright{display:flex;justify-content:space-between;align-items:center;gap:20px}.copyright a:hover,.copyright a:focus-visible{color:var(--gold)}.hero-caption>a.caption-credit{font-size:inherit;color:inherit;line-height:inherit}.caption-credit:hover{text-decoration:underline}@media(max-width:480px){.copyright{font-size:11px;gap:12px}}
