@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#191918;--paper:#f4f2ec;--red:#cc372b;--line:#d5d3cd;--muted:#676760;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:7px}::selection{background:var(--red);color:white}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:15px}.skip:focus{top:5px}.header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.logo{font-family:'Manrope',sans-serif;font-size:32px;letter-spacing:-2px;font-weight:800}.logo span{font-weight:400}.logo i{color:var(--red);font-style:normal}.header nav{display:flex;align-items:center;gap:37px;font-size:13px;font-weight:500}.header nav a:hover{color:var(--red)}.nav-contact{border-bottom:1px solid;padding:12px 0}.nav-contact span{margin-left:30px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:660px}.hero-copy{padding:58px 9% 24px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.6;margin:0 0 35px}.dot{display:inline-block;width:6px;height:6px;background:#e34a3c;border-radius:50%;margin-right:9px}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-2.5px}h1{font-size:clamp(48px,5.4vw,85px);line-height:1.06;margin:0 0 27px}em{font-style:normal;color:#e35143}.hero-copy>div[data-content]{max-width:340px;font-size:14px;line-height:1.8;color:#c5c3bc;margin-bottom:24px}.hero-copy p{margin-top:0}.button{display:inline-flex;gap:38px;justify-content:space-between;align-items:center;padding:18px 22px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px);background:var(--red);color:white}.button span{font-size:21px}.light{background:var(--paper);color:var(--ink)}.dark{background:var(--ink);color:white}.hero-foot{margin-top:auto;padding-top:40px;width:100%;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:#a9a69e}.hero-foot a{border:1px solid #595955;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:18px}.hero-visual{position:relative;overflow:hidden;min-height:640px}.hero-visual img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:53% center}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 40%)}.image-caption{position:absolute;bottom:42px;left:38px;right:38px;z-index:1;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.3px;line-height:1.8}.signature{font-family:Georgia,serif;font-style:italic;font-size:43px;letter-spacing:-3px}.photo-index{position:absolute;top:27px;right:25px;z-index:1;font-size:8px;letter-spacing:2px;color:white}.roles{padding:27px 5%;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);font-size:10px;font-weight:600;letter-spacing:1.4px}.roles i{font-style:normal;color:var(--red);font-size:23px}.section{padding:100px 8%}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;padding-top:112px;padding-bottom:110px}.experience{margin-top:62px;display:flex;flex-direction:column;gap:12px}.experience strong{font-family:'Manrope',sans-serif;font-weight:500;font-size:105px;line-height:1;letter-spacing:-7px}.experience strong span{color:var(--red);font-size:65px;vertical-align:top}.experience>span{font-size:9px;letter-spacing:1.5px;line-height:1.8}h2{font-size:clamp(33px,3.5vw,52px);line-height:1.15;margin:0 0 30px}.body-copy{font-size:14px;line-height:1.9;color:var(--muted)}.body-copy p+p{margin-top:20px}.text-link{display:inline-flex;gap:30px;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:10px;margin-top:18px}.text-link:hover{color:var(--red)}.services{background:#eae8e1}.section-heading{display:grid;grid-template-columns:1fr 2fr;column-gap:7%}.section-heading .eyebrow{grid-column:1}.section-heading h2{grid-column:2;grid-row:1 / span 2}.section-heading>p:last-child{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 40px}.section-heading em{color:var(--muted)}.service-list{border-top:1px solid #c8c5bd;margin-top:25px}details{border-bottom:1px solid #c8c5bd}summary{display:flex;align-items:center;gap:30px;cursor:pointer;list-style:none;padding:26px 0}summary::-webkit-details-marker{display:none}.number{font-size:10px;color:var(--muted);width:35px}h3{font-size:25px;letter-spacing:-.8px;margin:0}.plus{margin-left:auto;font-size:25px;font-weight:400;transition:transform .2s}details[open] .plus{transform:rotate(45deg);color:var(--red)}.service-content{margin:0 0 30px 65px;max-width:660px;font-size:14px;line-height:1.8;color:var(--muted)}.service-label{font-size:9px;letter-spacing:1.5px;color:var(--red)}.service-content .text-link{color:var(--ink);margin-top:5px}.statement{background:var(--red);color:var(--paper);padding:75px 8% 40px}.statement .eyebrow{margin-bottom:45px}.statement-title{font-family:'Manrope',sans-serif;font-size:clamp(48px,7.5vw,115px);letter-spacing:-5px;line-height:1.03;margin:0 0 60px}.statement-title em{color:var(--paper);font-family:Georgia,serif;font-style:italic}.statement-title>span{color:#251d19}.statement-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #e07167;padding-top:23px;font-size:9px;letter-spacing:1.3px}.statement-bottom p{font-size:12px;line-height:1.7;letter-spacing:0;margin:0}.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:10%}.contact h2{font-size:clamp(46px,5vw,74px);max-width:500px}.contact [data-content]{max-width:410px;font-size:14px;color:var(--muted);line-height:1.8}.contact-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.contact-star{font-size:100px;color:var(--red);line-height:1;margin-bottom:30px}.contact-action .button{width:100%;max-width:280px}.email{font-size:12px;margin-top:19px;border-bottom:1px solid var(--line);padding-bottom:5px}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;gap:25px;align-items:center;justify-content:space-between}footer .logo{font-size:26px}footer>span,footer>a:last-child{font-size:10px;color:var(--muted)}
@media(max-width:900px){.header nav{gap:20px}.hero{min-height:590px}.hero-copy{padding:45px 7% 25px 9%}h1{font-size:50px}.hero-visual{min-height:590px}.image-caption{left:20px;right:20px}.roles{font-size:8px;gap:10px;letter-spacing:.6px}.section{padding:70px 6%}.about{gap:5%}h3{font-size:21px}footer>span:first-of-type{display:none}.footer-funding{padding:14px 6% 18px}.footer-funding img{width:min(260px,88vw)}}
@media(max-width:600px){.header{height:76px;padding:0 6%;position:relative;z-index:10}.logo{font-size:29px}.menu-toggle{display:block;background:none;border:0;padding:10px 0;font-size:12px}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:24px}.header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 6% 22px}.eyebrow{margin-bottom:25px;font-size:9px}h1{font-size:clamp(43px,12vw,65px);letter-spacing:-2.8px}.hero-copy>div[data-content]{max-width:350px}.hero-foot{padding-top:30px}.hero-visual{min-height:410px}.hero-visual img{object-position:center 40%}.photo-index{top:16px}.image-caption{bottom:22px}.roles{flex-wrap:wrap;justify-content:center;padding:20px 5%;row-gap:10px}.roles i:last-child{display:none}.section{padding:60px 6%}.about{grid-template-columns:1fr;gap:38px}.experience{margin-top:0;flex-direction:row;align-items:center;gap:25px}.experience strong{font-size:70px;letter-spacing:-4px}.experience strong span{font-size:40px}.section-heading{display:block}.section-heading>p:last-child{margin-bottom:20px}.section-heading h2{font-size:34px}summary{gap:10px;padding:23px 0}.number{width:22px;flex-shrink:0}h3{font-size:19px;letter-spacing:-.5px;max-width:260px}.service-content{margin-left:32px}.statement{padding:55px 6% 30px}.statement-title{font-size:clamp(43px,12vw,65px);letter-spacing:-3px;margin-bottom:40px}.statement-bottom{display:block}.statement-bottom p{margin-top:20px}.contact{grid-template-columns:1fr;gap:20px}.contact-star{display:none}.contact h2{font-size:55px}.contact-action .button{max-width:none}footer{padding:30px 6%;flex-wrap:wrap;gap:20px}footer .logo{width:100%}}
@media(min-width:601px) and (max-width:900px){h1{font-size:5.4vw;letter-spacing:-1.8px}.hero-copy>div[data-content]{font-size:13px}.hero .button{gap:15px;padding:16px}.header nav{gap:18px}}
.header nav{gap:22px;font-size:12px}.header nav [aria-current="page"]{color:var(--red)}.page-heading{padding:55px 8% 70px;background:var(--ink);color:var(--paper)}.breadcrumb{font-size:11px;color:#bab8b0}.page-heading .eyebrow{margin-top:50px;color:#ec776b}.page-heading h1{max-width:950px;margin-bottom:0}.page-article{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:80px 8%}.page-article .body-copy{font-size:18px;line-height:1.85}.page-article aside img{width:100%;height:380px;object-fit:cover}.page-article aside p{font-size:11px;letter-spacing:1px;color:var(--muted)}.page-cta{padding:55px 8%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:#eae8e1}.page-cta h2{margin:0}.inner-page .services .section-heading{display:none}.page-gallery{padding:65px 8%}.page-gallery figure{margin:0}.page-gallery img{width:100%;height:auto;display:block}.page-gallery figcaption{padding:20px 0;font-size:12px;display:flex;justify-content:space-between;gap:20px}.archive-copy{padding:65px 8%;max-width:850px;font-size:18px}.archive-copy .button{margin-top:20px}
@media(max-width:1100px){.header{position:relative;z-index:10}.menu-toggle{display:block;background:none;border:0;padding:12px;font-size:13px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:22px;font-size:15px}.header nav.open{display:flex}}
@media(max-width:600px){.page-heading{padding:30px 6% 45px}.page-heading .eyebrow{margin-top:35px}.page-heading h1{font-size:42px;letter-spacing:-1.8px}.page-article{grid-template-columns:1fr;padding:35px 6%;gap:30px}.page-article .body-copy{font-size:16px}.page-article aside img{height:auto}.page-cta{padding:40px 6%;flex-direction:column;align-items:flex-start}.page-gallery{padding:35px 6%}.page-gallery figcaption{flex-direction:column}.archive-copy{padding:40px 6%}.inner-page .contact h2{font-size:46px}}
/* Readable typography shared by the home and all WordPress-backed pages. */
:root{--muted:#53534d}
body{font-size:18px;line-height:1.65}
.header nav{font-size:16px;gap:22px;line-height:1.5}
.menu-toggle{font-size:17px;min-height:44px}
.eyebrow,.service-label,.roles,.experience>span,.photo-index,.hero-foot,.image-caption,.statement-bottom{font-size:14px;letter-spacing:.8px;line-height:1.65}
.breadcrumb,.number,.page-article aside p,.page-gallery figcaption,footer>span,footer>a:last-child{font-size:15px;letter-spacing:.2px;line-height:1.65}
.body-copy,.service-content,.contact [data-content],.hero-copy>div[data-content],.section-heading>p:last-child,.archive-copy{font-size:19px;line-height:1.8}
.page-article .body-copy{font-size:21px;line-height:1.8}
.hero-copy>div[data-content]{max-width:440px;color:#dedcd5}
.hero-foot{color:#ceccc5;gap:20px}
.hero-foot a{flex-shrink:0;width:44px;height:44px}
.image-caption{gap:20px;text-shadow:0 1px 6px #000}
.photo-index{padding:5px 10px;background:#191918a6;border-radius:3px}
.button,.text-link,.email{font-size:17px;line-height:1.5}
.button{min-height:56px}
.text-link{padding-top:8px;padding-bottom:10px}
.email{overflow-wrap:anywhere}
.statement-bottom p{font-size:17px}
.roles{flex-wrap:wrap;justify-content:center;column-gap:26px}
.service-label{color:#a32b22}
.header nav [aria-current="page"]{color:#ad3026;font-weight:700}
footer{flex-wrap:wrap}
@media(min-width:1101px) and (max-width:1350px){.header{padding-inline:3%}.header nav{gap:14px;font-size:15px}.nav-contact span{margin-left:12px}}
@media(max-width:1100px){.header nav{font-size:18px;gap:12px}.header nav a{padding-block:9px}}
@media(max-width:900px){.about,.page-article{grid-template-columns:1fr;gap:40px}.experience{margin-top:25px}.page-article aside{max-width:650px}.hero .button{gap:14px}}
@media(max-width:600px){
 .body-copy,.service-content,.contact [data-content],.hero-copy>div[data-content],.section-heading>p:last-child,.archive-copy,.page-article .body-copy{font-size:18px;line-height:1.8}
 .eyebrow,.service-label,.roles,.experience>span,.photo-index,.hero-foot,.image-caption{font-size:14px}
 h3{font-size:22px;line-height:1.35}
 .number{width:25px;flex-shrink:0}
 .hero-foot{font-size:13px;letter-spacing:.4px}
 .image-caption{left:20px;right:20px}
 .image-caption .signature{font-size:35px}
 .roles{gap:12px 18px}
 .service-content{margin-left:0}
 .experience>span{font-size:14px}
 .page-gallery figcaption{font-size:15px}
 footer>span,footer>a:last-child{font-size:15px}
}
.gallery-count{margin:0 0 35px;color:var(--muted)}.photo-viewer{border:0;background:#191918;color:#f4f2ec;width:min(1100px,96vw);max-width:96vw;padding:65px 60px 25px;max-height:95vh}.photo-viewer::backdrop{background:#000d}.photo-viewer figure{margin:0;text-align:center}.photo-viewer img{max-width:100%;max-height:72vh;object-fit:contain}.photo-viewer figcaption{font-size:18px;margin-top:16px}.photo-viewer button{background:#f4f2ec;color:#191918;border:0;cursor:pointer;min-width:44px;min-height:44px;font-size:18px}.viewer-close{position:absolute;top:12px;right:15px;padding:8px 15px}.viewer-prev{position:absolute;top:48%;left:8px}.viewer-next{position:absolute;top:48%;right:8px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px;margin-top:30px}.video-card{min-width:0}.video-card video{display:block;width:100%;aspect-ratio:16/9;background:#111;object-fit:cover}.video-card h2{font-size:21px;letter-spacing:-.4px;margin:14px 0 0}.body-copy h2{font-size:32px;letter-spacing:-1px;margin:40px 0 20px}.body-copy a{text-decoration:underline;text-underline-offset:5px}.gallery-preview{padding:70px 8%;background:#eae8e1}.gallery-preview .text-link{margin-top:28px}.capabilities{background:var(--paper)}.capability-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:45px}.capability-grid article{padding:28px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.capability-grid article>span{font-size:14px;color:var(--red)}.capability-grid h3{font-size:25px;margin:28px 0 14px}.capability-grid p{font-size:17px;line-height:1.65;color:var(--muted);margin:0}.event-types{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.event-types span{padding:10px 15px;border:1px solid var(--line);font-size:14px;letter-spacing:.6px}
.statement-link{display:inline-block;margin:-28px 0 52px;padding-bottom:8px;border-bottom:1px solid #ffffffa0;color:#fff;font-size:14px}
.statement-link:hover{color:#251d19;border-color:#251d19}
.page-article .source-kicker{margin:0 0 34px;color:var(--ink);font:500 25px/1.45 'Manrope',sans-serif;letter-spacing:-.5px}
.page-article .body-copy ul{margin:20px 0 30px;padding-left:22px}
.page-article .body-copy li{margin:8px 0}
.page-article .value-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:0;list-style:none;border-top:1px solid var(--line)}
.page-article .value-list li{margin:0;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600}
.page-article .service-facts{padding:0;list-style:none}
.page-article .service-facts li{position:relative;padding:10px 0 10px 28px;border-bottom:1px solid var(--line)}
.page-article .service-facts li:before{content:'✳';position:absolute;left:0;color:var(--red)}
.summary-points{padding:0!important;list-style:none;counter-reset:summary}
.summary-points li{counter-increment:summary;margin:0!important;padding:32px 0 28px;border-top:1px solid var(--line)}
.summary-points h2{position:relative;margin:0 0 12px!important;padding-left:54px;font-size:27px!important}
.summary-points h2:before{content:counter(summary,decimal-leading-zero);position:absolute;left:0;top:5px;color:var(--red);font:600 12px/1 'DM Sans',sans-serif;letter-spacing:1px}
.summary-points p{margin:0;padding-left:54px}
.summary-closing{margin:42px 0!important;color:var(--ink);font:500 28px/1.45 'Manrope',sans-serif}
.service-related{display:grid;gap:10px;margin-top:35px}
.service-related a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line);text-decoration:none!important;color:var(--ink)}
.service-related a:last-child{border-bottom:1px solid var(--line)}
.service-related span{color:var(--red);font-size:14px}
.page-article .profile-aside{position:sticky;top:30px;display:flex;min-height:380px;flex-direction:column;justify-content:flex-end;padding:38px;background:var(--ink);color:#fff}
.page-article .profile-aside .eyebrow{margin:0 auto auto 0;color:#ee7467}
.page-article .profile-aside strong{font:500 38px/1.15 'Manrope',sans-serif;letter-spacing:-1.5px}
.page-article .profile-aside span{margin-top:28px;padding-top:20px;border-top:1px solid #ffffff30;color:#c8c5bd;font-size:13px;line-height:1.7}
.page-article .profile-aside--photo{display:block;min-height:0;aspect-ratio:3/4;padding:0;overflow:hidden;background:#141414}
.page-article .profile-aside--photo:after{content:'';position:absolute;z-index:1;inset:30% 0 0;background:linear-gradient(transparent,#111 96%)}
.page-article .profile-aside--photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}
.profile-aside-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px 36px}
.page-article .profile-aside--photo .eyebrow{margin:0 0 18px;color:#f18478}
.page-article .profile-aside--photo span{display:block}
.next-generation-gallery{padding:90px 8% 105px;background:#e9e6de}
.next-generation-gallery-head{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(340px,1.1fr) minmax(240px,.55fr);gap:5%;align-items:end;margin-bottom:48px}
.next-generation-gallery-head .eyebrow{align-self:start;margin:9px 0 0;color:#a52e25}
.next-generation-gallery-head h2{margin:0;font-size:clamp(38px,4.3vw,64px);letter-spacing:-2.6px}
.next-generation-gallery-head>p:last-child{margin:0 0 8px;color:var(--muted);font-size:18px;line-height:1.7}
.next-generation-grid{columns:3;column-gap:20px}
.next-generation-grid figure{position:relative;break-inside:avoid;margin:0 0 20px;overflow:hidden;background:#d4d1c9}
.next-generation-grid img{display:block;width:100%;height:auto;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.next-generation-grid figcaption{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:48px 18px 16px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:#fff;font-size:15px;font-weight:600;line-height:1.4}
.next-generation-grid figure:hover img{transform:scale(1.025)}
@media(max-width:1050px){.capability-grid{grid-template-columns:repeat(2,1fr)}.capability-grid article:last-child{grid-column:1/-1}}
@media(max-width:900px){.video-grid{grid-template-columns:1fr}.next-generation-gallery-head{grid-template-columns:1fr 1fr}.next-generation-gallery-head .eyebrow{grid-column:1/-1}.next-generation-gallery-head>p:last-child{align-self:end}.next-generation-grid{columns:2}}
@media(max-width:600px){.photo-viewer{padding:65px 44px 20px}.photo-viewer figcaption{font-size:16px}.body-copy h2{font-size:28px}.gallery-preview{padding:50px 6%}.capability-grid{grid-template-columns:1fr}.capability-grid article:last-child{grid-column:auto}.capability-grid article{padding:25px}.event-types span{font-size:13px}.video-card h2{font-size:19px}.page-article .value-list{grid-template-columns:1fr}.summary-points h2,.summary-points p{padding-left:40px}.summary-closing{font-size:24px}.service-related a{flex-direction:column;gap:4px}.profile-aside-copy{padding:28px 24px}.page-article .profile-aside strong{font-size:32px}.next-generation-gallery{padding:60px 6% 70px}.next-generation-gallery-head{display:block;margin-bottom:32px}.next-generation-gallery-head .eyebrow{margin-bottom:20px}.next-generation-gallery-head h2{font-size:39px;letter-spacing:-1.8px}.next-generation-gallery-head>p:last-child{font-size:17px}.next-generation-grid{columns:1}.next-generation-grid figure{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* One spacing value controls the masonry in both directions. */
.gallery-grid{
 --gallery-gap:24px;
 position:relative;
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));
 gap:var(--gallery-gap);
 align-items:start;
}
.gallery-grid[data-masonry]{display:block}
.gallery-grid--uniform{
 position:static;
 grid-template-columns:repeat(6,minmax(0,1fr));
 justify-content:center;
 margin-top:36px;
}
.gallery-grid--uniform .gallery-card{aspect-ratio:2/3}
.gallery-grid--uniform .gallery-open{height:100%}
.gallery-grid--uniform img{width:100%;height:100%;object-fit:cover}
.gallery-grid .gallery-card{display:block;min-width:0;width:100%;margin:0;padding:0}
.gallery-grid[data-masonry] .gallery-card{position:absolute;top:0;left:0}
.gallery-card .gallery-open{position:relative;display:block;width:100%;margin:0;overflow:hidden;background:#e8e5de}
.gallery-card img{display:block;width:100%;max-width:100%;height:auto}
.gallery-card .gallery-open:focus-visible{outline-offset:4px}
.gallery-label{
 position:absolute;z-index:1;left:0;right:0;bottom:0;
 padding:38px 12px 12px;color:#fff;
 background:linear-gradient(transparent,rgba(0,0,0,.84));
 font-size:16px;font-weight:600;line-height:1.35;
 text-align:left;text-shadow:0 1px 4px #000;
 overflow-wrap:break-word;
 opacity:0;
 transform:translateY(9px);
 transition:opacity .22s ease,transform .22s ease;
}
.gallery-card .gallery-open:hover .gallery-label,
.gallery-card .gallery-open:focus-visible .gallery-label{color:#fff;opacity:1;transform:translateY(0)}
@media(hover:none){.gallery-label{opacity:1;transform:none}}
@media(max-width:600px){
 .gallery-grid{--gallery-gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .gallery-grid--uniform{grid-template-columns:repeat(6,minmax(68vw,1fr));justify-content:start;margin-top:28px;padding-bottom:10px;overflow-x:auto;scroll-snap-type:x proximity}
 .gallery-grid--uniform .gallery-card{scroll-snap-align:start}
 .gallery-label{padding:30px 10px 10px;font-size:14px}
}

/* Contact: a personal introduction beside a quiet, generous form. */
.contact-page{max-width:1440px;margin:0 auto;padding:34px 5% 80px}
.contact-breadcrumb{margin:0 0 26px;font-size:15px;color:var(--muted)}
.contact-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.contact-breadcrumb>span{margin:0 12px;color:#939187}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 18px 65px #19191808}
.contact-intro{display:flex;flex-direction:column;position:relative;padding:52px 44px;background:var(--ink);color:var(--paper)}
.contact-intro>.eyebrow{font-size:13px;letter-spacing:1.1px;color:#d9d6cd;margin-bottom:40px}
.contact-intro h1{font-size:clamp(48px,4.7vw,70px);letter-spacing:-3px;line-height:1.08;margin:0 0 30px}
.contact-intro h1 em{color:#f07969}
.contact-jump{display:none}
.contact-form{scroll-margin-top:26px}
.contact-details{font-size:17px;line-height:1.85;color:#cfcdc4}
.contact-details>p:first-child{font-size:19px;line-height:1.75;margin:0 0 38px;max-width:440px}
.contact-details h2{font:600 13px/1.5 'DM Sans',sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:#f4f2ec;border-top:1px solid #ffffff26;padding-top:26px;margin:0 0 16px}
.contact-details p{margin:0 0 16px}
.contact-details strong{font-weight:400;color:#b9b7ae}
.contact-details a{color:#fff;text-decoration:underline;text-decoration-color:#ffffff45;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-details a:hover{color:#f07969;text-decoration-color:currentColor}
.contact-details>p:last-child{font-size:14px;color:#b9b7ae}
.contact-signoff{position:relative;margin-top:auto;padding-top:42px;padding-right:52px}
.contact-signoff .signature{font-size:40px;color:var(--paper)}
.contact-signoff p{margin:9px 0 0;font-size:13px;color:#b9b7ae}
.contact-flower{position:absolute;right:0;bottom:4px;color:#f07969;font-size:58px;line-height:1}
.contact-form-wrap{min-width:0;padding:48px;background:#fffefa}
.form-heading .eyebrow{font-size:12px;letter-spacing:1.2px;color:#a32b22;margin:0 0 14px}
.form-heading h2{font-size:clamp(30px,3vw,42px);letter-spacing:-1.6px;margin:0 0 14px}
.form-heading>p:last-child{font-size:17px;line-height:1.65;color:var(--muted);margin:0;max-width:420px}
.form-required{font-size:13px;color:var(--muted);margin:25px 0 28px}
.form-required>span,.form-row label>span[aria-hidden]{color:#a32b22}
.form-group{min-width:0;border:0;margin:0 0 30px;padding:0}
.form-group legend{float:left;width:100%;display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:0;font-size:16px;font-weight:600}
.form-group legend>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d9d5ca;border-radius:50%;color:#a32b22;font-size:12px;font-weight:500}
.form-group legend+*{clear:both}
.form-fields{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px 16px}
.form-wide{grid-column:1/-1}
.form-row{min-width:0}
.form-row label{display:block;font-size:15px;font-weight:500;margin:0 0 8px}
.field-optional{font-size:12px;font-weight:400;color:var(--muted);margin-left:4px}
.form-row input,.form-row textarea{display:block;width:100%;min-width:0;min-height:54px;margin:0;border:1px solid #d4d0c6;border-radius:6px;background:#f8f7f2;padding:14px 15px;font:400 16px/1.5 'DM Sans',sans-serif;color:var(--ink);transition:border-color .18s,box-shadow .18s,background .18s}
.form-row textarea{min-height:150px;resize:vertical}
.form-row input::placeholder,.form-row textarea::placeholder{color:#76736c;opacity:1}
.form-row input:hover,.form-row textarea:hover{border-color:#a6a196}
.form-row input:focus,.form-row textarea:focus{outline:none;border-color:#a32b22;box-shadow:0 0 0 3px #cc372b15;background:#fff}
.form-row input:user-invalid,.form-row textarea:user-invalid{border-color:#a32b22;background:#fff5f2}
.field-help{font-size:13px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.form-trap{display:none}
.form-footer{border-top:1px solid #e3dfd5;padding-top:24px}
.consent{display:flex;align-items:flex-start;gap:11px;cursor:pointer;font-size:14px;line-height:1.65;color:var(--muted)}
.consent input{width:19px;height:19px;flex:0 0 19px;margin:3px 0 0;accent-color:#b93226;cursor:pointer}
.consent input:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.consent a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.contact-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:62px;margin-top:24px;padding:12px 14px 12px 22px;border:0;border-radius:6px;background:#bd3226;color:white;font:600 17px/1.4 'DM Sans',sans-serif;text-align:left;cursor:pointer;transition:background .2s}
.contact-submit:hover{background:#99261d}
.submit-arrow{display:grid;place-items:center;flex:0 0 36px;height:36px;border:1px solid #ffffff60;border-radius:50%;font-size:24px;font-weight:400;transition:transform .2s}
.contact-submit:hover .submit-arrow{transform:rotate(45deg)}
.contact-submit:disabled{opacity:.7;cursor:wait}
.form-reassurance{margin:12px 0 0;font-size:12px;line-height:1.6;color:var(--muted);text-align:center}
.contact-notice{padding:16px 18px;border:1px solid #9db8a4;border-radius:6px;background:#edf5ee;color:#23442b;font-size:16px;line-height:1.6;margin:0 0 25px}
.contact-notice.error{border-color:#dba69e;background:#fff0ec;color:#922c21}
@media(max-width:1100px){
 .contact-intro{padding:40px 30px}
 .contact-form-wrap{padding:40px 30px}
 .contact-intro h1{font-size:52px}
 .form-fields{grid-template-columns:1fr}
}
@media(max-width:760px){
 .contact-page{padding:24px 6% 48px}
 .contact-layout{grid-template-columns:1fr;border-radius:12px}
 .contact-intro,.contact-form-wrap{padding:32px 26px}
 .contact-intro>.eyebrow{font-size:11px;margin-bottom:26px}
 .contact-intro h1{font-size:52px}
 .contact-details>p:first-child{font-size:18px;margin-bottom:26px}
 .contact-jump{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;margin:0 0 30px;border-bottom:1px solid #ffffff50;font-size:17px}
 .contact-details{font-size:16px}
 .contact-signoff{padding-top:22px}
 .form-heading h2{font-size:34px}
 .form-required{margin-block:22px}
}
@media(max-width:360px){
 .contact-intro,.contact-form-wrap{padding:28px 20px}
 .contact-intro h1{font-size:44px;letter-spacing:-2px}
 .form-group legend{font-size:14px;gap:9px}
 .contact-submit{font-size:15px;padding-left:16px}
}

/* Podcast */
.podcast-hero{min-height:690px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:center;gap:7%;padding:76px 8%;overflow:hidden;background:var(--ink);color:var(--paper)}
.podcast-hero-copy{position:relative;z-index:1}
.podcast-hero .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:42px;color:#dedbd3;font-size:13px;letter-spacing:1.3px}
.podcast-live-dot{width:9px;height:9px;border-radius:50%;background:#ef5b4d;box-shadow:0 0 0 7px #ef5b4d20;animation:podcast-pulse 2s ease-in-out infinite}
@keyframes podcast-pulse{50%{box-shadow:0 0 0 12px #ef5b4d08}}
.podcast-hero h1{font-size:clamp(56px,6.4vw,96px);line-height:1.01;letter-spacing:-4.5px;margin-bottom:30px}
.podcast-hero h1 em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:#ef7669}
.podcast-hero-copy>p:not(.eyebrow){max-width:580px;margin:0;color:#c9c6be;font-size:20px;line-height:1.75}
.podcast-scroll{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-width:260px;margin-top:38px;padding:15px 0;border-bottom:1px solid #ffffff70;font-size:16px}
.podcast-scroll span{font-size:24px;color:#ef7669}
.podcast-art{aspect-ratio:1;position:relative;display:grid;place-items:center;isolation:isolate;border-radius:50%;background:radial-gradient(circle at 40% 35%,#da4b3e 0 12%,#ad2b21 42%,#631b17 70%,#231b1a 71%);box-shadow:0 0 0 1px #ffffff18,0 45px 90px #0006}
.podcast-art:before,.podcast-art:after{content:'';position:absolute;inset:8%;z-index:-1;border:1px solid #ffffff30;border-radius:50%}
.podcast-art:after{inset:20%;border-color:#ffffff24}
.podcast-art-ring{position:absolute;inset:-11%;z-index:-2;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 45px #ffffff05,0 0 0 90px #ffffff03}
.podcast-mic{font-family:'Manrope',sans-serif;font-size:clamp(68px,9vw,132px);font-weight:700;letter-spacing:-9px;color:#f4f2ec}
.podcast-wave{position:absolute;left:18%;right:18%;bottom:25%;height:56px;display:flex;align-items:center;justify-content:center;gap:6px}
.podcast-wave i{display:block;width:4px;height:var(--wave);min-height:8px;border-radius:5px;background:#f6b0a8}
.podcast-art>p{position:absolute;top:21%;margin:0;font-size:12px;font-weight:700;letter-spacing:4px;color:#ffd0ca}
.podcast-library{padding:100px 8% 120px;background:var(--paper)}
.podcast-library-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:9%;align-items:end;margin-bottom:65px}
.podcast-library-head .eyebrow{color:#a52e25;margin-bottom:25px}
.podcast-library-head h2{font-size:clamp(43px,5vw,70px);letter-spacing:-3px;margin:0}
.podcast-library-head h2 em{font-family:Georgia,serif;font-style:italic;color:#817e76}
.podcast-library-head>p{max-width:380px;margin:0 0 8px;font-size:18px;line-height:1.75;color:var(--muted)}
.podcast-feed{border-top:1px solid var(--line)}
.podcast-loading,.podcast-empty{padding:45px 0;margin:0;color:var(--muted);font-size:18px}
.podcast-episode{display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr);gap:5%;padding:42px 0;border-bottom:1px solid var(--line)}
.podcast-cover{position:relative;min-height:235px;overflow:hidden;background:#2a2523}
.podcast-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#00000010,#00000080)}
.podcast-cover img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.75) contrast(1.05);transition:transform .5s ease,filter .5s ease}
.podcast-episode:hover .podcast-cover img,.podcast-episode.is-playing .podcast-cover img{transform:scale(1.035);filter:saturate(1) contrast(1.05)}
.podcast-cover-badge{position:absolute;z-index:1;top:20px;left:20px;font-size:11px;font-weight:600;letter-spacing:1.4px;color:#fff}
.podcast-cover-monogram{position:absolute;z-index:1;left:20px;bottom:12px;font-family:'Manrope',sans-serif;font-size:70px;font-weight:700;letter-spacing:-7px;line-height:1;color:#fff}
.podcast-cover-monogram:after{content:'.';color:#ef5b4d}
.podcast-episode-content{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:10px 0}
.podcast-meta{margin:0 0 17px;color:#a52e25;font-size:12px;font-weight:700;letter-spacing:1.3px}
.podcast-episode h3{font-size:clamp(30px,3.2vw,48px);line-height:1.1;letter-spacing:-1.8px;margin:0 0 18px}
.podcast-description{max-width:720px;margin:0;color:var(--muted);font-size:18px;line-height:1.75}
.podcast-player{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:center;margin-top:30px}
.podcast-play{display:grid;place-items:center;width:58px;height:58px;border:0;border-radius:50%;background:var(--ink);color:#fff;cursor:pointer;transition:background .2s,transform .2s}
.podcast-play:hover{background:var(--red);transform:scale(1.04)}
.podcast-play span{font-size:20px;line-height:1;margin-left:3px}
.is-playing .podcast-play{background:var(--red)}
.is-playing .podcast-play span{margin-left:0;font-size:18px;font-weight:700}
.podcast-timeline{min-width:0}
.podcast-timeline input{display:block;width:100%;height:18px;margin:0;accent-color:var(--red);cursor:pointer}
.podcast-timeline p{display:flex;justify-content:space-between;margin:2px 0 0;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.podcast-audio{display:none}
.podcast-soon{display:inline-flex;align-self:flex-start;margin:28px 0 0;padding:10px 14px;border:1px solid var(--line);font-size:14px;color:var(--muted)}
@media(max-width:1000px){
 .podcast-hero{min-height:620px;grid-template-columns:minmax(0,1fr) 340px;gap:5%;padding-inline:6%}
 .podcast-art-ring{display:none}
 .podcast-episode{grid-template-columns:260px minmax(0,1fr)}
}
@media(max-width:760px){
 .podcast-hero{grid-template-columns:1fr;gap:52px;padding:55px 6% 70px}
 .podcast-hero h1{font-size:clamp(51px,14vw,72px);letter-spacing:-3.5px}
 .podcast-hero-copy>p:not(.eyebrow){font-size:18px}
 .podcast-art{width:min(84vw,420px);justify-self:center}
 .podcast-library{padding:70px 6% 85px}
 .podcast-library-head{grid-template-columns:1fr;gap:25px;margin-bottom:45px}
 .podcast-library-head h2{font-size:43px;letter-spacing:-2px}
 .podcast-episode{grid-template-columns:1fr;gap:26px;padding:30px 0}
 .podcast-cover{min-height:0;aspect-ratio:16/10}
 .podcast-episode-content{padding:0}
 .podcast-description{font-size:17px}
}
@media(max-width:380px){.podcast-player{grid-template-columns:50px minmax(0,1fr);gap:13px}.podcast-play{width:50px;height:50px}.podcast-scroll{min-width:0;width:100%}}

/* Branded loading and restrained entrance motion. */
html.js-loading body{overflow:hidden}
html.js-loading body>:not(.site-loader){visibility:hidden}
.site-loader{position:fixed;z-index:9999;inset:0;visibility:visible!important;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);opacity:1;transition:opacity .55s ease,visibility .55s}
.loader-brand{font-family:'Manrope',sans-serif;font-size:clamp(46px,7vw,82px);font-weight:800;letter-spacing:-5px;line-height:1}
.loader-brand span{font-weight:400}.loader-brand i{font-style:normal;color:#ef5b4d}
.site-loader>p{margin:24px 0 30px;font-size:11px;font-weight:600;letter-spacing:2.1px;color:#b9b6ae}
.loader-line{position:relative;width:min(260px,62vw);height:1px;overflow:hidden;background:#ffffff20}
.loader-line i{position:absolute;inset:0;background:#ef5b4d;transform:translateX(-100%);animation:loader-progress 1.45s cubic-bezier(.65,0,.35,1) forwards}
.is-ready .site-loader{opacity:0;visibility:hidden;pointer-events:none}
@keyframes loader-progress{to{transform:translateX(0)}}
.motion-ready .header{opacity:0;transform:translateY(-12px)}
.motion-ready.is-ready .header{opacity:1;transform:none;transition:opacity .55s ease .08s,transform .55s ease .08s}
.motion-ready [data-reveal]{opacity:0;transform:translateY(26px)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:none;transition:opacity .72s ease var(--reveal-delay,0ms),transform .72s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.motion-ready img[data-image-reveal]:not(.is-loaded){opacity:0}
.motion-ready img[data-image-reveal].is-loaded{animation:image-reveal .65s ease both}
@keyframes image-reveal{from{opacity:0;filter:saturate(.65)}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 html.js-loading body{overflow:auto}
 html.js-loading body>:not(.site-loader){visibility:visible}
 .site-loader{display:none}
 .motion-ready .header,.motion-ready [data-reveal]{opacity:1;transform:none}
 .motion-ready img[data-image-reveal]{opacity:1;animation:none}
}

/* Legal pages and consent controls. */
.footer-funding{width:100%;display:flex;justify-content:center;padding:14px 5% 18px;margin-bottom:4px;border-bottom:1px solid var(--line);overflow:hidden}
.footer-funding img{width:min(240px,78vw);max-width:100%;height:auto;display:block;object-fit:contain}
.footer-legal{display:flex;align-items:center;justify-content:center;gap:10px 18px;flex-wrap:wrap}
.footer-legal a,.footer-legal button{font:inherit;font-size:14px;color:var(--muted)}
.footer-legal a:hover,.footer-legal button:hover{color:var(--red)}
.footer-legal button{border:0;border-bottom:1px solid currentColor;background:none;padding:0;cursor:pointer}
.legal-page{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:9%;align-items:start;padding:85px 8% 110px}
.legal-content{max-width:860px;color:var(--muted);font-size:18px;line-height:1.82}
.legal-content>.legal-updated{margin:0 0 40px;color:#8a877f;font-size:14px}
.legal-content h2{margin:48px 0 18px;color:var(--ink);font-size:31px;letter-spacing:-.8px}
.legal-content h2:first-of-type{margin-top:0}
.legal-content p{margin:0 0 20px}
.legal-content ul{padding-left:23px;margin:0 0 25px}
.legal-content a{color:var(--ink);text-decoration:underline;text-decoration-color:#9e9b93;text-underline-offset:4px}
.legal-content code{padding:2px 5px;border-radius:3px;background:#e9e6dd;color:#2d2c29;font-size:.88em}
.legal-pending{margin:34px 0;padding:22px 24px;border-left:4px solid var(--red);background:#eeeae1;color:#494842;font-size:16px;line-height:1.7}
.legal-index{position:sticky;top:25px;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.legal-index .eyebrow{margin:22px 0 15px;color:#a52e25}
.legal-index a{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
.legal-index a:hover,.legal-index a[aria-current="page"]{color:var(--red)}
.legal-table-wrap{overflow-x:auto;margin:28px 0 38px}
.legal-table{width:100%;min-width:680px;border-collapse:collapse;color:var(--ink);font-size:15px;line-height:1.55}
.legal-table th,.legal-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.legal-table th{background:#e9e6dd;font-size:13px;letter-spacing:.3px}
.legal-cookie-button{min-height:50px;border:0;background:var(--ink);color:#fff;padding:12px 18px;font:600 15px/1.4 'DM Sans',sans-serif;cursor:pointer}
.legal-cookie-button:hover{background:var(--red)}
.cookie-banner[hidden],.cookie-categories[hidden]{display:none}
.cookie-banner{position:fixed;z-index:9500;left:24px;right:24px;bottom:24px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:36px;align-items:end;max-width:1180px;margin:auto;padding:28px 30px;border:1px solid #ffffff2b;border-radius:10px;background:#191918f7;color:#f4f2ec;box-shadow:0 24px 80px #0008;opacity:0;transform:translateY(22px);transition:opacity .34s ease,transform .34s ease;backdrop-filter:blur(14px)}
.cookie-banner.is-open{opacity:1;transform:none}
.cookie-copy .eyebrow{margin:0 0 10px;color:#ee7467;font-size:11px}
.cookie-copy h2{margin:0 0 9px;font-size:30px;letter-spacing:-1px}
.cookie-copy>p:not(.eyebrow){max-width:680px;margin:0;color:#cbc8c0;font-size:15px;line-height:1.65}
.cookie-copy>a{display:inline-block;margin-top:12px;border-bottom:1px solid #ffffff70;color:#fff;font-size:13px}
.cookie-controls{min-width:0}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cookie-actions button,.cookie-save{min-height:48px;border:1px solid #f4f2ec;background:transparent;color:#fff;padding:10px 14px;font:600 14px/1.4 'DM Sans',sans-serif;cursor:pointer}
.cookie-actions button:hover,.cookie-save:hover{background:#f4f2ec;color:var(--ink)}
.cookie-customize{display:block;margin:10px auto 0;border:0;border-bottom:1px solid #ffffff60;background:none;color:#d9d6cf;padding:4px 0;font:500 13px/1.4 'DM Sans',sans-serif;cursor:pointer}
.cookie-categories{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}
.cookie-categories label{display:flex;gap:9px;align-items:flex-start;padding:9px;border:1px solid #ffffff20;cursor:pointer}
.cookie-categories input{margin:3px 0 0;accent-color:#e45649}
.cookie-categories label:first-child{opacity:.7;cursor:default}
.cookie-categories span{display:flex;flex-direction:column;min-width:0}
.cookie-categories strong{font-size:13px}.cookie-categories small{color:#aaa79f;font-size:11px;line-height:1.4}
.cookie-save{grid-column:1/-1;background:var(--red);border-color:var(--red)}
@media(max-width:1000px){footer{justify-content:center}.footer-legal{order:5;width:100%}.legal-page{grid-template-columns:minmax(0,1fr) 210px;gap:6%}.cookie-banner{grid-template-columns:1fr;gap:22px}}
@media(max-width:700px){
 .legal-page{grid-template-columns:1fr;padding:55px 6% 75px}
 .legal-content{font-size:17px}.legal-content h2{font-size:27px;margin-top:40px}
 .legal-index{position:static;order:-1;margin-bottom:15px}
 .cookie-banner{left:10px;right:10px;bottom:10px;padding:22px 20px;max-height:calc(100vh - 20px);overflow:auto}
 .cookie-copy h2{font-size:26px}.cookie-copy>p:not(.eyebrow){font-size:14px}
 .cookie-categories{grid-template-columns:1fr}
}
