*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--base);color:var(--ink);font:400 17px/1.65 var(--fb);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.wrap{width:min(var(--w),92vw);margin:0 auto}
h1,h2,h3{font-family:var(--fd);line-height:1.08;letter-spacing:-.02em;margin:0 0 .4em}
h1{font-size:clamp(2.4rem,5.4vw,4.6rem);font-weight:700}h2{font-size:clamp(1.8rem,3.2vw,2.7rem)}h3{font-size:1.25rem;line-height:1.25}
.eyebrow{display:inline-flex;gap:.5em;align-items:center;font:600 .78rem/1 var(--fb);letter-spacing:.14em;text-transform:uppercase;color:var(--pt)}
.eyebrow:before{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--p),var(--a))}
.btn{display:inline-flex;align-items:center;gap:.55em;padding:.95em 1.5em;border-radius:999px;font:600 .98rem/1 var(--fb);transition:transform .25s,box-shadow .25s,background-position .6s}
.btn-p{background:linear-gradient(110deg,var(--p),var(--a),var(--p));background-size:220% 100%;color:var(--onp);box-shadow:0 10px 30px -10px var(--p)}
.btn-p:hover{background-position:100% 0;transform:translateY(-2px);box-shadow:0 18px 40px -12px var(--p)}
.btn-g{border:1.5px solid color-mix(in srgb,var(--ink) 22%,transparent)}.btn-g:hover{border-color:var(--p);color:var(--pt)}
/* header */
.hd{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.4) blur(14px);background:color-mix(in srgb,var(--base) 78%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}
.hd .wrap{display:flex;align-items:center;gap:28px;height:76px}.hd .logo svg{height:44px;width:auto}
.nav{display:flex;gap:22px;margin-left:auto;font:500 .95rem var(--fb)}.nav a{opacity:.82;position:relative}.nav a:hover{opacity:1}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--a);transition:right .3s}.nav a:hover:after{right:0}
/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(56px,9vw,120px) 0 clamp(56px,8vw,110px)}
.hero:before{content:"";position:absolute;inset:-20%;background-image:var(--motif);opacity:.9;animation:drift 60s linear infinite}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 85% 10%,color-mix(in srgb,var(--a) 28%,transparent),transparent 60%),radial-gradient(50% 60% at 0% 100%,color-mix(in srgb,var(--p) 30%,transparent),transparent 60%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero p.lead{font-size:1.22rem;max-width:34ch;color:color-mix(in srgb,var(--ink) 78%,transparent)}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.collage{position:relative;height:460px}.collage .ph{position:absolute;border-radius:calc(var(--r) + 6px);overflow:hidden;box-shadow:0 30px 60px -25px rgba(0,0,0,.45);background:var(--soft)}
.collage .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.collage .ph:hover img{transform:scale(1.06)}
.collage .p1{inset:0 22% 18% 0}.collage .p2{width:46%;height:52%;right:0;top:12%}.collage .p3{width:42%;height:40%;left:30%;bottom:0}
.badge{position:absolute;z-index:3;background:var(--surf);color:var(--ink);border-radius:14px;padding:12px 16px;font:600 .88rem var(--fb);box-shadow:0 18px 40px -18px rgba(0,0,0,.35);display:flex;gap:10px;align-items:center;animation:float 6s ease-in-out infinite}
.badge i{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--p),var(--a));display:grid;place-items:center;color:#fff;font-style:normal}
.b1{left:-18px;bottom:22%}.b2{right:-6px;top:-4%;animation-delay:-3s}
.hero.immersive{background:radial-gradient(120% 90% at 50% -10%,color-mix(in srgb,var(--p) 55%,var(--base)),var(--base) 70%);color:#f6f1e7}
.hero.immersive .wrap{grid-template-columns:1fr;text-align:center;justify-items:center}.hero.immersive p.lead{margin:0 auto;color:#e9e2d4cc}
.hero.immersive .ctas{justify-content:center}.hero.immersive .feature{margin-top:56px;width:min(980px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}
.glass{background:color-mix(in srgb,#fff 6%,transparent);border:1px solid #ffffff1f;border-radius:var(--r);overflow:hidden;backdrop-filter:blur(6px);transition:transform .35s,border-color .35s}
.glass:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--a) 70%,transparent)}.glass img{aspect-ratio:16/10;object-fit:cover;width:100%}.glass div{padding:16px 18px}
.glass small{color:var(--a);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.glass h3{font-size:1.08rem;margin:.35em 0 0}
.search{margin-top:28px;display:flex;background:var(--surf);border-radius:999px;padding:8px;box-shadow:0 20px 50px -25px rgba(0,0,0,.3);width:min(640px,100%)}
.search input{flex:1;border:0;background:transparent;font:1.05rem var(--fb);padding:0 18px;outline:0;color:var(--ink)}
/* value strip */
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:-34px auto 0;position:relative;z-index:5}
.val{background:var(--surf);border-radius:var(--r);padding:22px;box-shadow:0 20px 40px -30px rgba(0,0,0,.45);border:1px solid color-mix(in srgb,var(--ink) 7%,transparent)}
.val b{display:block;font:700 1.02rem var(--fd);margin:10px 0 4px}.val span{font-size:.92rem;color:var(--mut)}
.val i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--soft);color:var(--pt);font-style:normal;font-weight:700}
/* sections */
section.s{padding:clamp(64px,8vw,104px) 0}.s-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}
.s-head p{margin:0;color:var(--mut);max-width:46ch}
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat{position:relative;padding:26px 22px 22px;border-radius:var(--r);background:var(--surf);border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden;transition:transform .3s,box-shadow .3s}
.cat:before{content:"";position:absolute;inset:auto -30% -60% auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--a) 35%,transparent),transparent 70%);transition:transform .5s}
.cat:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px var(--p)}.cat:hover:before{transform:scale(1.6)}
.cat h3{margin:0 0 6px}.cat em{font-style:normal;color:var(--mut);font-size:.88rem}.cat .arr{position:absolute;right:20px;top:22px;color:var(--pt);transition:transform .3s}.cat:hover .arr{transform:translateX(4px)}
.mag{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:auto auto;gap:22px}
.card{background:var(--surf);border-radius:var(--r);overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.card:hover{transform:translateY(-5px);box-shadow:0 28px 60px -34px rgba(0,0,0,.5)}.card .im{overflow:hidden;background:var(--soft)}.card img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .8s}
.card:hover img{transform:scale(1.05)}.card .bd{padding:20px 22px 24px}.card small{color:var(--pt);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}
.card h3{margin:.45em 0 .35em}.card p{margin:0;color:var(--mut);font-size:.95rem}
.mag .card:first-child{grid-row:span 2}.mag .card:first-child img{aspect-ratio:4/3.1}.mag .card:first-child h3{font-size:1.65rem}
.lead-band{border-radius:calc(var(--r) + 10px);padding:clamp(36px,6vw,64px);background:linear-gradient(120deg,var(--p),color-mix(in srgb,var(--p) 55%,var(--a)));color:var(--onp);position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center}
.lead-band:before{content:"";position:absolute;inset:0;background-image:var(--motif);opacity:.5;mix-blend-mode:overlay}.lead-band>*{position:relative}
.lead-band form{display:flex;gap:10px;background:#ffffff26;border:1px solid #ffffff40;padding:8px;border-radius:999px}
.lead-band input{flex:1;border:0;background:transparent;color:inherit;font:1rem var(--fb);padding:0 16px;outline:0}.lead-band input::placeholder{color:inherit;opacity:.75}
.lead-band .btn{background:var(--surf);color:var(--ink)}
.ft{background:var(--ftbg);color:#e9e6df;padding:72px 0 34px;margin-top:40px}
.ft .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.ft h4{font:600 .8rem var(--fb);letter-spacing:.14em;text-transform:uppercase;color:#ffffff99;margin:0 0 14px}
.ft a{display:block;padding:4px 0;opacity:.85}.ft a:hover{opacity:1;color:var(--a)}.ft .legal{grid-column:1/-1;border-top:1px solid #ffffff1a;margin-top:30px;padding-top:22px;font-size:.84rem;opacity:.7;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
@keyframes drift{to{transform:translate(80px,80px)}}@keyframes float{50%{transform:translateY(-10px)}}
@media (max-width:900px){.hero .wrap,.lead-band,.ft .wrap{grid-template-columns:1fr}.collage{height:340px}.vals,.cats{grid-template-columns:1fr 1fr}.mag{grid-template-columns:1fr}.mag .card:first-child{grid-row:auto}.nav{display:none}.hero.immersive .feature{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.wp-site-blocks{padding:0}.af-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.4) blur(14px);background:color-mix(in srgb,var(--base) 80%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 8%,transparent)}
.af-header .wp-block-navigation a{font-weight:500;opacity:.85}.af-header .wp-block-navigation a:hover{opacity:1;color:var(--pt)}
.af-header .wp-block-site-logo img{height:44px;width:auto}
html:not(.js-reveal) .reveal{opacity:1!important;transform:none!important}
.ft ul{list-style:none;padding:0;margin:0}.ft .cat-item-1{display:none}
.wp-block-query.alignwide .wp-block-post-template.is-layout-grid{gap:28px}
.af-brand{display:inline-flex;align-items:center}.af-brand img{height:44px;width:auto;display:block}.ft .af-brand img{height:40px}
.af-nav{display:flex;gap:22px;flex-wrap:wrap;font:500 .95rem var(--fb)}.af-nav a{opacity:.85;text-decoration:none;color:inherit}.af-nav a:hover{opacity:1;color:var(--pt)}
.af-header .wp-block-button__link{white-space:nowrap}.af-nav{flex-wrap:nowrap}.af-nav a{white-space:nowrap;flex:0 0 auto}@media (min-width:821px){.af-nav{contain:none!important;overflow-x:auto;scrollbar-width:none;min-width:0;flex:0 1 auto;max-width:62vw}}
.wp-block-search__inside-wrapper{max-width:100%;min-width:0}.wp-block-search__input{min-width:0}
.wp-block-search,.wp-block-search__inside-wrapper{width:100%!important;max-width:100%!important;box-sizing:border-box}.wp-block-search__input{flex:1 1 auto;width:auto!important;min-width:0!important}.wp-block-search__button{flex:0 0 auto}
.wp-site-blocks>*{min-width:0;max-width:100%}main.wp-block-group>*{min-width:0}
body{margin:0}.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{clip-path:none;height:auto;width:auto;margin:0;padding:8px 12px;z-index:100000;background:#fff;color:#000;left:8px;top:8px}.wp-site-blocks{min-width:0;max-width:100%;width:100%;box-sizing:border-box}.wp-site-blocks>*:not(header):not(footer),.af-header,.ft{padding-left:clamp(16px,4vw,40px)!important;padding-right:clamp(16px,4vw,40px)!important;box-sizing:border-box}.wp-block-post-template>li,.is-layout-grid>*,.is-layout-flex>*{min-width:0}.wp-block-post-terms,.wp-block-post-terms a{overflow-wrap:anywhere}.af-header .alignwide{max-width:100%}.af-nav{max-width:100%;contain:inline-size}
@media (max-width:600px){.wp-block-query-title,.wp-block-post-title.has-text-align-left,main h1{font-size:clamp(1.7rem,8.5vw,2.6rem)!important;line-height:1.12}.wp-block-search__button{padding-inline:1em}}
main,.wp-block-group,.wp-block-query,.wp-block-post-template{min-width:0;max-width:100%}.wp-block-post-title,.wp-block-query-title,.wp-block-post-excerpt,h1,h2,h3{overflow-wrap:anywhere}
.af-form{display:flex;flex-wrap:wrap;gap:10px;max-width:560px}.af-form input{flex:1 1 220px;min-width:0;padding:.85em 1.1em;border-radius:999px;border:1px solid #ffffff55;background:#ffffff1f;color:inherit;font:1rem var(--fb)}.af-form input::placeholder{color:inherit;opacity:.75}.af-form button{border:0;border-radius:999px;padding:.85em 1.4em;font:600 1rem var(--fb);cursor:pointer;background:var(--ink);color:var(--base)}.af-fine{flex-basis:100%;margin:2px 0 0;font-size:.82rem;opacity:.8}
@media (max-width:820px){.af-header .is-layout-flex{flex-wrap:wrap!important;row-gap:10px}.af-header .is-layout-flex>*{min-width:0}.af-nav{order:3;width:100%;min-width:0;max-width:100%;flex-wrap:nowrap;overflow-x:auto;gap:18px;padding-bottom:4px;scrollbar-width:none}.af-header .wp-block-button__link{padding:.55em 1.1em;font-size:.88rem}}
.hero.is-layout-constrained>*{max-width:var(--wp--style--global--wide-size,1200px)!important;margin-left:auto!important;margin-right:auto!important}
.hero .eyebrow{display:flex}.hero .lead{box-sizing:border-box;padding-right:max(0px,calc(100% - 60ch))}
.wp-block-button__link{border-radius:999px!important;background:linear-gradient(110deg,var(--p),var(--a),var(--p));background-size:220% 100%;color:var(--onp)!important;transition:background-position .6s,transform .25s}
.wp-block-button__link:hover{background-position:100% 0;transform:translateY(-2px)}.is-style-outline .wp-block-button__link{background:none;color:var(--ink)!important;border:1.5px solid color-mix(in srgb,var(--ink) 22%,transparent)}
.wp-block-post-template.is-layout-grid .wp-block-post{background:var(--surf);border-radius:var(--r);overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 7%,transparent);transition:transform .35s,box-shadow .35s}
.wp-block-post-template .wp-block-post:hover{transform:translateY(-5px);box-shadow:0 28px 60px -34px rgba(0,0,0,.5)}
.wp-block-post-featured-image img{aspect-ratio:16/10;object-fit:cover}.wp-block-post-template .wp-block-post>*:not(.wp-block-post-featured-image){padding-inline:20px}
.single .wp-block-post-content{font-size:1.08rem}.single .wp-block-post-content h2{margin-top:2.2em}
.single .wp-block-post-content img{border-radius:var(--r)}.single .wp-block-post-content a{color:var(--pt);text-decoration:underline;text-underline-offset:3px}
