@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:#183a34;--cream:#f4f3ec;--muted:#63716a;--line:#d5d9ce;--lime:#dce6b5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9eaf66;outline-offset:5px}header{height:100px;padding:20px 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{width:180px;display:block}.brand img{width:100%;mix-blend-mode:multiply}nav{display:flex;gap:30px;align-items:center;font-size:13px}nav a{padding:12px 0}nav a[aria-current]{border-bottom:1px solid}.nav-contact{border:1px solid var(--ink);padding:13px 22px;min-width:130px;display:flex;justify-content:space-between}.menu-toggle{display:none}.hero{position:relative;background:var(--ink);color:var(--cream);overflow:hidden}.home-hero{min-height:700px;height:calc(100svh - 100px);max-height:1000px;padding:7% 4.5% 90px;display:flex;align-items:center;perspective:1400px}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:90px 90px;pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:64%}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.8}.dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:100%;margin-right:9px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500}h1{font-size:clamp(54px,6.1vw,100px);letter-spacing:-5px;line-height:1.08;margin:28px 0}p{line-height:1.8;color:var(--muted);font-size:15px}.hero p{max-width:380px;color:#c4d0c6;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:18px 23px;font-size:12px;border:0;min-width:200px;margin-top:30px}.button span{font-size:20px}.light{background:var(--lime);color:var(--ink)}.dark{background:var(--ink);color:var(--cream)}.button:hover{background:#bdcd93;color:var(--ink)}.hero-photo{position:absolute;width:46%;height:72%;right:4.5%;top:11%;transform:rotateY(-9deg) rotateZ(2deg);transform-origin:center;box-shadow:0 30px 70px #0005;overflow:hidden}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c241de6,transparent 55%)}.hero-photo img{width:200%;max-width:none;height:100%;object-fit:cover;object-position:left;display:block;filter:brightness(.83);transform:translateX(0)}.photo-label{position:absolute;bottom:28px;left:30px;z-index:1;display:grid;gap:8px}.photo-label span{font-size:8px;letter-spacing:1.8px}.photo-label strong{font-size:25px;font-weight:500}.hero-bottom{position:absolute;bottom:26px;left:4.5%;right:4.5%;display:flex;align-items:end;justify-content:space-between;font-size:8px;letter-spacing:1.6px;line-height:1.8;color:#bdcabe}.inner-hero{padding:85px 6%;min-height:380px}.inner-hero .hero-copy{max-width:100%}.inner-hero h1{font-size:clamp(45px,5vw,76px)}.capability-strip{padding:27px 4.5%;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:2px;align-items:center}.capability-strip i{font-style:normal;color:#98a776;font-size:24px}.section{padding:95px 6%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:25px 55px;padding-bottom:30px}.intro h2{grid-column:2}.intro>.eyebrow{grid-row:1 / 3;padding-top:10px}.intro p{grid-column:2;max-width:640px}h2{font-size:clamp(34px,3.7vw,57px);letter-spacing:-2px;line-height:1.14}h3{font-size:23px;line-height:1.35;letter-spacing:-.7px}.section-link{padding:0 6% 40px 38%}.text-link{font-size:12px;border:0;background:none;border-bottom:1px solid var(--ink);padding:10px 0;display:inline-block}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:20px}.section-head .eyebrow{margin-bottom:18px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.service{position:relative;border-top:1px solid var(--line);padding:25px 25px 45px 0;margin-right:25px}.number{font-size:10px;color:var(--muted)}.service h3{margin:40px 0 20px;font-size:21px}.service p{font-size:13px}.card-arrow{display:block;margin-top:30px;font-size:23px}.projects-section{background:#e9ece1}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 30px}.project{border:0;padding:0;background:none;text-align:left;color:var(--ink);min-width:0}.project-image{position:relative;overflow:hidden;height:370px;background:#d7d9cd;perspective:1000px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.project:hover img{transform:scale(1.045)}.tag{position:absolute;top:18px;left:18px;background:var(--cream);font-size:9px;padding:8px 12px;text-transform:uppercase;letter-spacing:1px}.project-open{position:absolute;bottom:18px;right:18px;display:grid;place-items:center;width:42px;height:42px;background:var(--cream);border-radius:50%;font-size:23px}.project-caption{padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.project-caption h3{font-size:23px}.project-caption>span{font-size:10px;color:var(--muted)}.statement{background:var(--ink);color:var(--cream);position:relative;overflow:hidden;min-height:550px;perspective:1000px}.statement h2{font-size:clamp(45px,5.5vw,80px);margin:30px 0;position:relative;z-index:1}.statement em{font-style:normal;color:var(--lime)}.statement p{max-width:420px;color:#bdcabe;position:relative;z-index:1}.statement .button{position:relative;z-index:1}.wireframe{position:absolute;width:340px;height:340px;right:12%;top:100px;border:1px solid #b8c79a70;transform:rotateX(55deg) rotateZ(-30deg);transform-style:preserve-3d}.wireframe div{position:absolute;inset:0;border:1px solid #b8c79a70;transform:translateZ(70px)}.wireframe div:nth-child(2){transform:translateZ(140px)}.wireframe div:nth-child(3){transform:translateZ(210px)}.cta{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;background:var(--lime)}.cta .eyebrow{grid-column:1 / -1}.cta h2{font-size:clamp(45px,5vw,76px)}.cta .button{justify-self:end}footer{background:#102e28;color:var(--cream);padding:55px 6% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:50px}.footer-brand{font-size:49px;font-weight:700;letter-spacing:-3px;line-height:1}.footer-brand span{display:block;font-size:8px;letter-spacing:2px;margin-top:10px}.footer-top p{color:#afc1b6;font-size:13px}.footer-top>a:last-child{font-size:13px}.footer-bottom{border-top:1px solid #ffffff25;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#afc1b6}.whatsapp{position:fixed;bottom:20px;right:20px;border:1px solid #ffffff55;border-radius:30px;padding:13px 20px;background:var(--ink);color:white;font-size:11px;z-index:15;box-shadow:0 5px 20px #0002}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.editorial-image{width:100%;height:440px;object-fit:cover}.split h2{margin:25px 0}.process{background:#e9ece1}.process>h2{margin:20px 0 45px}.process-row{display:grid;grid-template-columns:60px 1fr 1fr;align-items:center;gap:25px;padding:28px 0;border-top:1px solid #c7cebf}.process-row>span{font-size:11px}.process-row p{font-size:13px}.filters{display:flex;gap:12px;margin-bottom:40px}.filter{padding:10px 22px;background:none;border:1px solid var(--line);border-radius:30px;font-size:12px;color:var(--ink)}.filter.active{background:var(--ink);color:white}.project[hidden]{display:none}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-grid h2{margin:25px 0}.contact-grid p{margin:20px 0}.contact-line{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:16px}form label{display:block;font-size:12px;margin-bottom:25px}input,textarea,select{width:100%;background:transparent;border:0;border-bottom:1px solid #a7b2a2;border-radius:0;padding:15px 0;color:var(--ink);font-size:14px}textarea{resize:vertical}.check{display:flex;align-items:center;gap:8px;font-size:11px}.check input{width:16px}.check a{text-decoration:underline}.form-note{font-size:11px}.legal{max-width:900px;margin:auto}.legal h2{margin:30px 0}.legal h3{margin:35px 0 15px}.consent{position:fixed;bottom:20px;left:20px;z-index:50;background:var(--cream);border:1px solid var(--line);padding:20px;max-width:360px;box-shadow:0 10px 50px #0003}.consent p{font-size:12px;margin-bottom:15px}.consent button{background:var(--ink);color:white;border:0;padding:9px 17px;margin-right:8px}.consent[hidden]{display:none}dialog{border:0;padding:40px;max-width:800px;width:90%;max-height:90svh;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#102e28bc;backdrop-filter:blur(7px)}dialog img{width:100%;max-height:420px;object-fit:contain;margin:20px 0}dialog h2{font-size:35px}.dialog-close{display:block;margin-left:auto;background:none;border:0;padding:8px;color:var(--ink);font-size:22px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}
@media(min-width:1600px){.hero-copy{max-width:65%}.hero-photo{width:43%}}@media(max-width:1050px){nav{gap:18px}.services-grid{grid-template-columns:repeat(2,1fr)}h1{letter-spacing:-3px}.project-caption{display:block}.project-caption>span{display:block;margin-top:10px}.hero-photo{width:45%;right:3%}.hero-copy{max-width:70%}.hero-bottom>span:last-child{display:none}.project-image{height:300px}}@media(max-width:760px){header{height:80px;padding:14px 6%}.brand{width:145px}.menu-toggle{display:flex;gap:20px;background:none;border:1px solid var(--line);padding:10px 15px;color:var(--ink);font-size:12px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:25px 6%;flex-direction:column;align-items:stretch;gap:8px;border-bottom:1px solid var(--line)}nav.open{display:flex}.home-hero{min-height:850px;max-height:none;height:auto;display:block;padding:55px 6% 85px}.hero-copy{max-width:100%}h1{font-size:clamp(46px,10vw,70px);letter-spacing:-2.7px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero p{font-size:13px;max-width:330px}.hero-photo{position:relative;top:auto;right:auto;width:100%;height:310px;margin:40px 0 0;transform:rotateY(-5deg) rotateZ(1deg)}.hero-bottom{left:6%;right:6%;bottom:22px}.hero-bottom>span{font-size:7px}.hero-bottom a{font-size:8px}.button{margin-top:24px;padding:15px 20px}.capability-strip{gap:16px;overflow:hidden;white-space:nowrap;font-size:10px;padding:22px 6%}.capability-strip span:last-child,.capability-strip i:last-of-type{display:none}.section{padding:65px 6%}.intro{display:block;padding-bottom:20px}.intro h2{margin:25px 0}.section-link{padding:0 6% 25px}h2{font-size:36px;letter-spacing:-1.5px}.section-head{align-items:start;flex-direction:column;gap:20px}.services-grid{gap:10px 18px}.service{margin:0;padding-right:0}.service h3{font-size:19px;margin-top:25px}.service p{font-size:12px}.projects-grid{grid-template-columns:1fr;gap:35px}.project-image{height:320px}.project-caption{display:flex;align-items:start}.project-caption h3{font-size:22px}.project-caption>span{font-size:9px;margin-top:4px;text-align:right}.statement{min-height:620px}.statement h2{font-size:45px}.statement p{max-width:300px}.wireframe{width:170px;height:170px;right:-40px;top:400px}.cta{display:block}.cta h2{margin:25px 0}.footer-top{align-items:start;flex-direction:column;gap:25px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;line-height:1.8;padding-bottom:40px}.footer-bottom>span:first-child{grid-column:1 / -1}.inner-hero{min-height:330px;padding:60px 6%}.inner-hero h1{font-size:45px}.split,.contact-grid{grid-template-columns:1fr;gap:40px}.editorial-image{height:320px}.process-row{grid-template-columns:30px 1fr;gap:15px}.process-row p{grid-column:2}.process-row h3{font-size:20px}.filters{gap:8px}.filter{padding:10px 17px}.contact-line{font-size:14px}.consent{left:12px;right:12px;bottom:75px;max-width:none}dialog{padding:20px}.whatsapp{bottom:14px;right:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Interactive selected-project deck */
.hero-photo.card-deck{overflow:visible;box-shadow:none;isolation:isolate}
.hero-photo.card-deck:after{display:none}
.deck-stack{position:absolute;inset:0;cursor:pointer;touch-action:pan-y;perspective:1200px}
.deck-card{position:absolute;inset:0;overflow:hidden;background:#385149;box-shadow:0 22px 55px #0004;transform-origin:50% 85%;will-change:transform,opacity;border:1px solid #ffffff2b}
.deck-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c241df0,transparent 60%);pointer-events:none}
.deck-card .photo-label{bottom:36px;right:25px}
.deck-card img{pointer-events:none;user-select:none}
.deck-controls{position:absolute;bottom:-58px;left:0;right:0;display:flex;align-items:center;gap:10px;z-index:10}
.deck-status{margin-right:auto;font-size:10px;letter-spacing:2px;color:#dce6b5}
.deck-controls button{width:36px;height:36px;border:1px solid #ffffff45;background:#183a34;color:#f4f3ec;border-radius:50%;font-size:18px;display:grid;place-items:center}
.deck-controls button:hover{background:#dce6b5;color:#183a34}
.deck-controls .deck-pause{width:auto;border-radius:30px;padding:0 16px;font-size:10px;letter-spacing:.7px}
@media(max-width:760px){.hero-photo.card-deck{width:calc(100% - 18px);margin-bottom:58px}.home-hero{padding-bottom:100px}.deck-controls{bottom:-54px}.deck-card .photo-label{bottom:24px}.deck-card .photo-label strong{font-size:23px}}
.hero-photo.card-deck .deck-controls{bottom:18px;left:28px;right:28px}
.hero-photo.card-deck .deck-card .photo-label{bottom:80px}
@media(max-width:760px){.hero-photo.card-deck{margin-bottom:10px}.hero-photo.card-deck .deck-controls{bottom:15px;left:20px;right:20px}.hero-photo.card-deck .deck-card .photo-label{bottom:72px}}
/* Quiet vector architecture particles behind the opening section. */
.property-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:paint}
.property-particle{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);color:#dce6b5;opacity:.09;animation:property-drift var(--duration) ease-in-out var(--delay) infinite;will-change:transform}
.property-particle svg{display:block;width:100%;height:100%}
@keyframes property-drift{0%,100%{transform:translate3d(0,10px,0) rotate(0deg);opacity:.065}50%{transform:translate3d(14px,-20px,0) rotate(var(--turn));opacity:.13}}
@media(max-width:760px){.property-particle{width:calc(var(--size)*.8);height:calc(var(--size)*.8)}.property-particle:nth-child(n+19){display:none}}
@media(prefers-reduced-motion:reduce){.property-particle{animation:none;will-change:auto;opacity:.08}}
/* More visible architectural outlines travelling across the hero. */
.property-particle{left:-90px;top:var(--y);width:calc(var(--size)*1.2);height:calc(var(--size)*1.2);opacity:.24;animation:property-travel var(--duration) cubic-bezier(.45,0,.55,1) var(--delay) infinite}
@keyframes property-travel{0%{transform:translate3d(-20px,16px,0) rotate(0deg);opacity:0}8%{opacity:.26}50%{transform:translate3d(52vw,-18px,0) rotate(var(--turn));opacity:.32}92%{opacity:.26}100%{transform:translate3d(calc(100vw + 110px),16px,0) rotate(0deg);opacity:0}}
@media(max-width:760px){.property-particle{width:var(--size);height:var(--size)}}
@media(prefers-reduced-motion:reduce){.property-particle{left:var(--x);animation:none;transform:none;opacity:.22}}
/* A single annular field carries the property outlines in a gentle orbit. */
.hero .property-particles{inset:auto;left:19%;top:50%;width:clamp(600px,70vw,1120px);height:auto;aspect-ratio:1;transform:translate(-50%,-50%);overflow:hidden;border-radius:50%;mask-image:radial-gradient(circle,transparent 0 30%,#000 34% 59%,transparent 65%);-webkit-mask-image:radial-gradient(circle,transparent 0 30%,#000 34% 59%,transparent 65%);animation:property-donut-orbit 38s cubic-bezier(.45,0,.55,1) infinite alternate;transform-origin:center}
.hero .property-particle{left:var(--x);top:var(--y);width:var(--size);height:var(--size);transform:translate(-50%,-50%);opacity:.28;animation:none;will-change:auto}
@keyframes property-donut-orbit{from{transform:translate(-50%,-50%) rotate(-18deg)}to{transform:translate(-50%,-50%) rotate(24deg)}}
@media(max-width:760px){.hero .property-particles{left:40%;top:35%;width:700px}.hero .property-particle:nth-child(n+19){display:block}.hero .property-particle{opacity:.23}}
@media(prefers-reduced-motion:reduce){.hero .property-particles{animation:none;transform:translate(-50%,-50%)}.hero .property-particle{animation:none}}
/* Donut-element placement in the shorter inner-page title bars. */
.inner-hero .Donut-element{left:78%;top:50%;width:clamp(620px,60vw,900px)}
@media(max-width:760px){.inner-hero .Donut-element{left:75%;top:50%;width:580px}.inner-hero .Donut-element .property-particle{opacity:.23}}
/* Tactile 3D rollover for the header conversation button. */
.nav-contact{background:#dce6b5;color:#183a34;border:1px solid #b5c58c;box-shadow:0 4px 0 #a1b477,0 7px 12px #183a3415;transform:perspective(700px) rotateX(0) translateY(0);transform-origin:center;transition:transform .35s cubic-bezier(.2,.7,.25,1),background-color .3s,color .3s,box-shadow .35s,border-color .3s;will-change:transform}
.nav-contact span{display:inline-block;transition:transform .35s cubic-bezier(.2,.7,.25,1)}
@media(hover:hover){.nav-contact:hover{background:#244c40;color:#e6edc9;border-color:#244c40;transform:perspective(700px) rotateX(10deg) rotateY(-5deg) translateY(-3px);box-shadow:2px 7px 0 #102e28,0 13px 20px #183a3428}.nav-contact:hover span{transform:translate(3px,-3px)}}
.nav-contact:focus-visible{background:#244c40;color:#e6edc9;border-color:#244c40;box-shadow:0 5px 0 #102e28}
.nav-contact:active{transform:perspective(700px) rotateX(0) translateY(3px);box-shadow:0 1px 0 #102e28}
@media(prefers-reduced-motion:reduce){.nav-contact,.nav-contact:hover,.nav-contact:active,.nav-contact:hover span{transform:none;will-change:auto}}
/* Original BHF artwork rendered in white against the footer. */
.footer-brand{display:block;flex-shrink:0;width:220px;line-height:0}
.footer-brand img{display:block;width:100%;height:auto}
@media(max-width:760px){.footer-brand{width:190px}}
/* Light green capability strip. */
.capability-strip{background:var(--lime);border-bottom-color:#c1ce9e}
/* Clearer navigation with restrained separators. */
header nav{font-size:15px;gap:0}
header nav>a{position:relative;margin-right:22px}
header nav>a:not(:first-child):before{content:'';position:absolute;left:-12px;top:50%;height:14px;width:1px;background:#bdc8b3;transform:translateY(-50%)}
header nav>.nav-contact{margin-right:0;margin-left:10px;font-size:14px}
header nav>.nav-contact:before{left:-18px}
@media(max-width:1050px) and (min-width:761px){header nav{font-size:14px}header nav>a{margin-right:16px}header nav>a:not(:first-child):before{left:-9px}header nav>.nav-contact{margin-left:4px;min-width:115px;padding:13px 16px}}
@media(max-width:760px){header nav{font-size:16px;gap:0}header nav>a{margin:0;padding:15px 0}header nav>a:not(:first-child):before{display:none}header nav>a:not(.nav-contact){border-bottom:1px solid var(--line)}header nav>.nav-contact{margin:18px 0 4px;padding:15px 20px;font-size:15px}}
/* About and Services: concept imagery and repeating geometric zoom depth. */
.image-title-hero{isolation:isolate}
.title-atmosphere{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#183a34}
.title-hero-image{width:100%;height:100%;object-fit:cover;object-position:center 54%;opacity:.42;filter:saturate(.55);animation:about-image-breathe 24s ease-in-out infinite alternate}
.title-atmosphere:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#183a34e8 0%,#183a34b0 38%,#183a3438 100%);z-index:2}
.image-title-hero .hero-grid{z-index:1;opacity:.45}
.image-title-hero .Donut-element{z-index:1;opacity:.55}
.image-title-hero .hero-copy{z-index:3}
.fractal-depth{position:absolute;right:-4%;top:50%;width:64%;aspect-ratio:1.4;transform:translateY(-50%) perspective(1000px) rotateY(-14deg) rotateZ(-4deg);z-index:1}
.fractal-frame{position:absolute;inset:12%;border:1px solid #e6edc980;box-shadow:inset 0 0 30px #dce6b508,0 0 24px #dce6b508;animation:about-fractal-zoom 20s cubic-bezier(.45,0,.55,1) infinite;animation-delay:calc(var(--frame)*-2.5s);will-change:transform,opacity}
.fractal-frame:before{content:'';position:absolute;inset:8%;border:1px solid #dce6b526}
@keyframes about-fractal-zoom{0%{transform:scale(.13) rotate(-6deg);opacity:0}20%{opacity:.3}70%{opacity:.22}100%{transform:scale(2.6) rotate(6deg);opacity:0}}
@keyframes about-image-breathe{from{transform:scale(1)}to{transform:scale(1.07)}}
@media(max-width:760px){.title-hero-image{object-position:63% center;opacity:.36}.title-atmosphere:after{background:linear-gradient(90deg,#183a34dd,#183a3470)}.fractal-depth{width:105%;right:-35%;opacity:.65}}
@media(prefers-reduced-motion:reduce){.title-hero-image{animation:none;transform:none}.fractal-frame{animation:none;transform:scale(calc(.25 + var(--frame)*.22));opacity:.15;will-change:auto}}
/* Inner-page Donut-element stays legible above present and future imagery. */
.inner-hero .Donut-element{z-index:2;opacity:1}
.inner-hero .Donut-element .property-particle{color:#edf4cf;opacity:.48}
.inner-hero .Donut-element svg{stroke-width:1.4;filter:drop-shadow(0 1px 3px #102e2870)}
.inner-hero .hero-copy{z-index:3}
@media(max-width:760px){.inner-hero .Donut-element .property-particle{opacity:.38}}
/* Magnetic halo cursor: visible across both cream and deep-green surfaces. */
.cursor-halo,.cursor-dot{position:fixed;top:0;left:0;pointer-events:none;z-index:1000;opacity:0;mix-blend-mode:difference;transition:opacity .18s;will-change:transform}
.cursor-halo:before{content:'';position:absolute;width:34px;height:34px;left:-17px;top:-17px;border:1px solid #edf4cf;border-radius:50%;transition:width .28s,height .28s,left .28s,top .28s,background-color .25s,border-color .25s;box-sizing:border-box}
.cursor-dot:before{content:'';position:absolute;left:-2.5px;top:-2.5px;width:5px;height:5px;border-radius:50%;background:#f4f3ec}
.cursor-halo.visible,.cursor-dot.visible{opacity:1}
.cursor-halo.is-link:before{width:56px;height:56px;left:-28px;top:-28px;background:#edf4cf18}
.cursor-halo.is-project:before{width:78px;height:78px;left:-39px;top:-39px;background:#edf4cf;border-color:#edf4cf}
.cursor-halo>span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#183a34;opacity:0;transition:opacity .2s}
.cursor-halo.is-project>span{opacity:1}
.cursor-halo.is-pressed:before{width:26px;height:26px;left:-13px;top:-13px}
.cursor-halo.is-pressed>span{opacity:0}
@media(hover:hover) and (pointer:fine){html.magnetic-cursor-active,html.magnetic-cursor-active a,html.magnetic-cursor-active button,html.magnetic-cursor-active .deck-stack{cursor:none}}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-halo,.cursor-dot{display:none}html.magnetic-cursor-active,html.magnetic-cursor-active a,html.magnetic-cursor-active button,html.magnetic-cursor-active .deck-stack{cursor:auto}}
/* Two clipped semicircles form one Donut-element across the home-page seam. */
.paired-donut-section{position:relative;isolation:isolate;overflow:hidden;--paired-donut-size:760px;--paired-donut-x:25%}
.paired-donut-section>.Donut-element{inset:auto;left:var(--paired-donut-x);width:var(--paired-donut-size);height:var(--paired-donut-size);aspect-ratio:1;border-radius:50%;z-index:0;transform:translate(-50%,-50%);mask-image:radial-gradient(circle,transparent 0 30%,#000 34% 59%,transparent 65%);-webkit-mask-image:radial-gradient(circle,transparent 0 30%,#000 34% 59%,transparent 65%);animation:paired-donut-orbit 38s cubic-bezier(.45,0,.55,1) infinite alternate;transform-origin:center}
.donut-upper>.Donut-element{top:100%;--paired-turn:0deg}
.donut-lower>.Donut-element{top:0;--paired-turn:180deg}
.paired-donut-section .property-particle{display:block;left:var(--x);top:var(--y);width:var(--size);height:var(--size);transform:translate(-50%,-50%);animation:none;will-change:auto;opacity:.33;color:#dce6b5}
.donut-lower .property-particle{color:#244c40;opacity:.45}
.paired-donut-section>.eyebrow,.paired-donut-section>h2,.paired-donut-section>p,.paired-donut-section>.button{position:relative;z-index:1}
@keyframes paired-donut-orbit{from{transform:translate(-50%,-50%) rotate(calc(var(--paired-turn) - 18deg))}to{transform:translate(-50%,-50%) rotate(calc(var(--paired-turn) + 24deg))}}
@media(max-width:760px){.paired-donut-section{--paired-donut-size:540px;--paired-donut-x:32%}.paired-donut-section .property-particle{opacity:.25;width:calc(var(--size)*.8);height:calc(var(--size)*.8)}.donut-lower .property-particle{opacity:.36}}
@media(prefers-reduced-motion:reduce){.paired-donut-section>.Donut-element{animation:none;transform:translate(-50%,-50%) rotate(var(--paired-turn))}}
/* Larger paired donut, aligned on the right across both home sections. */
.paired-donut-section{--paired-donut-size:980px;--paired-donut-x:77%}
@media(max-width:1050px) and (min-width:761px){.paired-donut-section{--paired-donut-size:850px;--paired-donut-x:80%}}
@media(max-width:760px){.paired-donut-section{--paired-donut-size:650px;--paired-donut-x:82%}}
/* Home CTA: lasting-value concept artwork beneath the sage-green wash. */
.chapter-value-image{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,#dce6b5f5 0%,#dce6b5e6 40%,#dce6b5c7 100%),url('assets/home-lasting-value.webp');background-size:cover;background-position:center 56%;filter:saturate(.65)}
.chapter-value-background>.Donut-element{z-index:0}
@media(max-width:760px){.chapter-value-image{background-position:62% center;background-image:linear-gradient(90deg,#dce6b5f0,#dce6b5d9),url('assets/home-lasting-value.webp')}}
.chapter-value-image{top:0;left:0;right:auto;bottom:auto;width:100%;height:100%;align-self:start;justify-self:start;transform:translateZ(0)}
.chapter-value-background{background-image:linear-gradient(90deg,#dce6b5f5 0%,#dce6b5e6 40%,#dce6b5c7 100%),url('assets/home-lasting-value.webp');background-size:cover;background-position:center 56%}
@media(max-width:760px){.chapter-value-background{background-position:62% center;background-image:linear-gradient(90deg,#dce6b5f0,#dce6b5d9),url('assets/home-lasting-value.webp')}}
/* Slightly larger header logo and 15% more navigation spacing. */
header .brand{width:198px}
header nav>a{margin-right:25.3px}
header nav>a:not(:first-child):before{left:-13.8px}
header nav>.nav-contact{margin-right:0;margin-left:11.5px}
header nav>.nav-contact:before{left:-20.7px}
@media(max-width:1050px) and (min-width:761px){header .brand{width:180px}header nav>a{margin-right:18.4px}header nav>a:not(:first-child):before{left:-10.35px}header nav>.nav-contact{margin-right:0;margin-left:4.6px}}
@media(max-width:760px){header .brand{width:160px}header nav>a{margin-right:0;padding-top:17.25px;padding-bottom:17.25px}header nav>.nav-contact{margin:20.7px 0 4.6px;padding:17.25px 20px}}
/* The BHF Perspective: approved architectural editorial direction. */
.perspective-editorial{padding-top:90px;padding-bottom:65px}
.perspective-kicker{display:flex;align-items:center;gap:12px;margin-bottom:40px}
.perspective-kicker:before{content:'';width:6px;height:6px;flex-shrink:0;background:#74824d;border-radius:50%}
.perspective-layout{display:grid;grid-template-columns:.95fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.perspective-photo{position:relative;isolation:isolate;margin:0 16px 16px 0}
.perspective-photo:before{content:'';position:absolute;inset:20px -16px -16px 20px;border:1px solid #aab89a;z-index:-1}
.perspective-image-crop{height:460px;overflow:hidden;background:#d5d9ce}
.perspective-image-crop img{display:block;width:200%;max-width:none;height:100%;object-fit:cover;object-position:left;filter:saturate(.7)}
.perspective-photo figcaption{background:var(--ink);color:var(--cream)}
.perspective-photo figcaption a{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 24px;font-size:11px;letter-spacing:.5px}
.perspective-photo figcaption a:hover{color:var(--lime)}
.perspective-copy h2{font-size:clamp(38px,4.2vw,64px);line-height:1.13;letter-spacing:-2.5px;margin-bottom:28px}
.perspective-copy h2 em{font-style:normal;color:#74824d}
.perspective-copy p{max-width:480px;line-height:1.9}
.perspective-link{display:flex;justify-content:space-between;align-items:center;width:200px;margin-top:30px;padding:15px 0}
.perspective-link span{font-size:19px;transition:transform .25s}
.perspective-link:hover span{transform:translate(3px,-3px)}
.perspective-values{display:flex;justify-content:space-between;gap:24px;margin-top:60px;padding-top:28px;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.5px}
@media(max-width:1050px){.perspective-layout{gap:40px}.perspective-image-crop{height:390px}.perspective-copy h2{letter-spacing:-1.8px}.perspective-photo figcaption a{padding:18px;font-size:10px}}
@media(max-width:760px){.perspective-editorial{padding-top:60px;padding-bottom:40px}.perspective-kicker{margin-bottom:30px}.perspective-layout{grid-template-columns:1fr;gap:45px}.perspective-photo{margin-right:14px}.perspective-image-crop{height:350px}.perspective-copy h2{font-size:42px;letter-spacing:-2px}.perspective-copy p{font-size:14px}.perspective-values{flex-wrap:wrap;gap:18px 24px;margin-top:40px;padding-top:25px;font-size:9px;letter-spacing:1.2px}}
@media(prefers-reduced-motion:reduce){.perspective-link:hover span{transform:none}}
/* Motion Blur Trails for the editorial project photo. */
.perspective-image-crop{position:relative;isolation:isolate}
.perspective-image-crop .perspective-main-image{position:relative;z-index:1;transform-origin:25% 50%}
.perspective-image-crop .perspective-trail{position:absolute;top:0;left:0;z-index:2;opacity:0;pointer-events:none;filter:blur(var(--trail-blur)) saturate(.65);transform-origin:25% 50%;mix-blend-mode:screen}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.perspective-image-crop .perspective-trail{display:none}}
/* Architectural elevation linework, fading from right to left. */
.perspective-editorial{position:relative;isolation:isolate;overflow:hidden}
.perspective-editorial:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 700' fill='none' stroke='%2374824d' stroke-width='1'%3E%3Cg opacity='.55'%3E%3Cpath d='M80 580H980M140 540H940V240L710 110 480 240V540M480 240H940M710 110V540M480 300H940M480 360H940M480 420H940M480 480H940M540 210V540M600 176V540M660 142V540M760 138V540M820 172V540M880 206V540M250 540V330L480 200M250 330H480M250 390H480M250 450H480M310 296V540M370 262V540M430 228V540M200 560H970M200 600H970M230 75V630M970 75V630M205 90H985M220 80L240 100M960 80L980 100M180 130V560M170 140L190 120M170 570L190 550'/%3E%3Cpath stroke-dasharray='5 8' d='M710 65V635M160 240H990M160 540H990'/%3E%3C/g%3E%3C/svg%3E");background-size:auto 90%;background-repeat:no-repeat;background-position:right center;opacity:.28;mask-image:linear-gradient(90deg,transparent 12%,#000 85%);-webkit-mask-image:linear-gradient(90deg,transparent 12%,#000 85%)}
@media(max-width:760px){.perspective-editorial:before{background-size:auto 65%;background-position:70% bottom;opacity:.2}}
/* What We Do — approved Service dossiers direction. */
.service-dossiers{padding-top:75px;padding-bottom:95px;background:#eef0e6;overflow:hidden}
.service-dossiers .section-head{margin-bottom:45px}
.dossier-stage{display:grid;gap:25px;perspective:1400px;touch-action:pan-y}
.service-dossier{position:relative;display:grid;grid-template-columns:1.25fr .7fr;gap:60px;align-items:center;background:var(--ink);color:var(--cream);padding:50px 55px;min-height:365px;transform-origin:50% 100%;box-shadow:0 22px 40px #183a341c;overflow:hidden}
.service-dossier:nth-child(2){background:#375a49}
.service-dossier:nth-child(3){background:#8c9e70;color:var(--ink)}
.service-dossier:nth-child(4){background:var(--lime);color:var(--ink)}
.dossier-number{display:block;font-size:11px;letter-spacing:2px;margin-bottom:28px}
.service-dossier h3{font-size:clamp(28px,3vw,43px);line-height:1.16;letter-spacing:-1.3px;max-width:650px;margin-bottom:24px}
.service-dossier p{color:inherit;opacity:.8;font-size:14px;max-width:570px}
.dossier-link{display:inline-flex;align-items:center;gap:35px;font-size:12px;margin-top:28px;padding:10px 0;border-bottom:1px solid currentColor}
.dossier-link span{font-size:23px;transition:transform .25s}.dossier-link:hover span{transform:translate(3px,-3px)}
.dossier-art{aspect-ratio:1;border:1px solid currentColor;opacity:.55;display:grid;place-items:center;transform:perspective(900px) rotateY(-20deg) rotateZ(5deg);max-width:240px;width:100%;justify-self:center}
.dossier-art svg{width:62%;height:62%}
.dossiers-ready .dossier-stage{position:relative;display:block;height:390px;margin:0 20px 0 0}
.dossiers-ready .service-dossier{position:absolute;inset:0;min-height:0;will-change:transform,opacity}
.dossier-controls{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:55px}
.dossier-controls[hidden]{display:none}
.dossier-status{font-size:11px;letter-spacing:.5px;line-height:1.7;max-width:70%}
.dossier-buttons{display:flex;gap:12px;flex-shrink:0}
.dossier-buttons button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #9bac8a;border-radius:50%;background:transparent;color:var(--ink);font-size:22px;transition:background .25s,color .25s}
.dossier-buttons button:hover{background:var(--ink);color:var(--lime)}
@media(max-width:1050px){.service-dossier{padding:35px;gap:35px}.dossier-art{max-width:180px}.service-dossier h3{font-size:34px}}
@media(max-width:760px){.service-dossiers{padding-top:55px;padding-bottom:65px}.service-dossiers .section-head{margin-bottom:30px}.dossiers-ready .dossier-stage{height:540px;margin-right:12px}.service-dossier{padding:28px;grid-template-columns:1fr;gap:22px;align-content:start}.service-dossier h3{font-size:29px;letter-spacing:-1px;margin-bottom:18px}.service-dossier p{font-size:13px;line-height:1.8}.dossier-number{margin-bottom:22px;font-size:10px}.dossier-art{width:105px;justify-self:end;position:absolute;bottom:28px;right:28px}.dossier-content{padding-bottom:115px}.dossier-link{margin-top:20px}.dossier-controls{margin-top:50px;gap:14px}.dossier-status{max-width:65%;font-size:10px}.dossier-buttons{gap:8px}.dossier-buttons button{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.dossiers-ready .service-dossier{will-change:auto}.dossier-link:hover span{transform:none}}
/* Real BHF portfolio imagery replaces the service dossier line icons. */
.dossier-art.dossier-photograph{height:270px;aspect-ratio:auto;max-width:340px;opacity:1;overflow:hidden;border:1px solid #ffffff3d;transform:perspective(1000px) rotateY(-9deg) rotateZ(2deg);box-shadow:0 15px 35px #102e2830;background:#bac5b4}
.dossier-photograph img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.8)}
.service-dossier:nth-child(1) .dossier-photograph img,.service-dossier:nth-child(2) .dossier-photograph img{width:200%;max-width:none;object-position:left}
@media(max-width:1050px){.dossier-art.dossier-photograph{height:245px;max-width:280px}}
@media(max-width:760px){.dossiers-ready .dossier-stage{height:600px}.dossier-art.dossier-photograph{height:125px;width:180px;max-width:calc(100% - 56px);bottom:28px;right:28px}.dossier-content{padding-bottom:155px}}
/* Purpose-made service images use the full composition. */
.service-dossier:nth-child(1) .dossier-photograph img,.service-dossier:nth-child(2) .dossier-photograph img{width:100%;object-position:center}

/* About: approved centered WebGL company introduction. */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500&family=Manrope:wght@400;500&display=swap');
#bhf-centered-company{--center-ink:#183a34;--center-paper:#eff0e1;--center-sage:#dce6b5;--center-olive:#74824d;font-family:'DM Sans',sans-serif}
#bhf-centered-company .company-center{background:var(--center-paper);color:var(--center-ink);padding:45px 32px 35px;text-align:center;overflow:hidden;position:relative;isolation:isolate}
#bhf-centered-company .company-center *{box-sizing:border-box}
#bhf-centered-company .center-label{font-size:11px;letter-spacing:2.3px;text-transform:uppercase;margin:0 0 23px}
#bhf-centered-company h2{font:500 47px/1.13 Manrope,sans-serif;letter-spacing:-2.3px;margin:0 auto;max-width:620px;position:relative;z-index:1}
#bhf-centered-company h2 em{font-style:normal;color:var(--center-olive)}
#bhf-centered-company .sculpture{position:relative;width:100%;height:340px;margin:0 auto;max-width:650px;touch-action:pan-y}
#bhf-centered-company canvas{display:block;width:100%;height:100%;position:relative;z-index:1}
#bhf-centered-company .sculpture:after{content:'';position:absolute;width:40%;height:30px;left:30%;bottom:37px;border-radius:50%;background:#183a341c;filter:blur(18px);z-index:0}
#bhf-centered-company .center-copy{max-width:560px;margin:0 auto;font-size:14px;line-height:1.9;color:#60736a}
#bhf-centered-company .center-relationship{font-size:11px;line-height:1.8;color:#74816d;margin:22px auto 30px;max-width:450px}
#bhf-centered-company .center-relationship strong{color:var(--center-ink);font-weight:500}
#bhf-centered-company .center-capabilities{display:flex;justify-content:center;gap:30px;padding-top:24px;border-top:1px solid #d3dac9;max-width:560px;margin:0 auto;font-size:11px;letter-spacing:.3px}
#bhf-centered-company .center-capabilities span{display:flex;gap:8px;align-items:center}
#bhf-centered-company .center-capabilities svg{width:15px;height:15px;stroke-width:1.2}
#bhf-centered-company .orbit-word{position:absolute;font-size:9px;letter-spacing:1.8px;color:#7b8a69;text-transform:uppercase;z-index:2;pointer-events:none}
#bhf-centered-company .orbit-word.left{left:7%;top:46%}
#bhf-centered-company .orbit-word.right{right:4%;top:58%}
#bhf-centered-company .fallback-building{position:absolute;inset:0;display:grid;place-items:center;perspective:800px}
#bhf-centered-company .fallback-building[hidden]{display:none}
#bhf-centered-company .fallback-tower{width:130px;height:155px;background:repeating-linear-gradient(0deg,transparent 0 22px,#f4f3ec 22px 30px),repeating-linear-gradient(90deg,#375a49 0 20px,#e3dcc7 20px 30px);border:8px solid #e3dcc7;box-shadow:25px -18px 0 #b6c39c;transform:rotateY(-22deg) rotateX(8deg)}
#bhf-centered-company .fallback-ring{position:absolute;width:300px;height:125px;border:1px solid #9bab7f;border-radius:50%;transform:rotate(-14deg)}
@media(max-width:600px){#bhf-centered-company .company-center{padding:35px 24px}#bhf-centered-company h2{font-size:38px;letter-spacing:-1.8px}#bhf-centered-company .sculpture{height:300px}#bhf-centered-company .orbit-word{font-size:8px;letter-spacing:1px}#bhf-centered-company .orbit-word.left{left:0;top:38%}#bhf-centered-company .orbit-word.right{right:0;top:68%}#bhf-centered-company .center-capabilities{flex-wrap:wrap;gap:18px 24px}#bhf-centered-company .center-copy{font-size:13px}}

#bhf-centered-company .center-capabilities span:before{content:"";width:5px;height:5px;border-radius:50%;background:#74824d}
/* About company: headline, architecture and complete company profile. */
#bhf-centered-company .company-center{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,3fr);align-items:center;gap:clamp(24px,3vw,50px);padding:80px max(32px,6vw);text-align:left}
#bhf-centered-company .company-heading,#bhf-centered-company .company-details{min-width:0;position:relative;z-index:2}
#bhf-centered-company h2{font-size:clamp(32px,3.2vw,49px);line-height:1.16;letter-spacing:-1.8px;margin:0;max-width:360px}
#bhf-centered-company h2 em{color:#566638}
#bhf-centered-company .center-label{margin-bottom:26px}
#bhf-centered-company .sculpture{height:390px;max-width:none;min-width:0}
#bhf-centered-company .orbit-word{font-size:8px;letter-spacing:1px;color:#536440}
#bhf-centered-company .orbit-word.left{left:0;top:15%}
#bhf-centered-company .orbit-word.right{right:0;top:88%}
#bhf-centered-company .center-copy{font-size:15px;line-height:1.85;color:#374e40;max-width:none;margin:0}
#bhf-centered-company .center-relationship{font-size:12px;line-height:1.8;color:#4c6046;margin:25px 0;max-width:none}
#bhf-centered-company .center-capabilities{justify-content:flex-start;flex-wrap:wrap;gap:12px 18px;font-size:11px;line-height:1.6;margin:0;padding-top:20px;border-color:#183a342b}
#company-center-title{scroll-margin-top:130px}
@media(min-width:761px) and (max-width:1050px){#bhf-centered-company .company-center{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);gap:22px;padding:65px 32px}#bhf-centered-company h2{font-size:33px}#bhf-centered-company .sculpture{height:350px}#bhf-centered-company .center-copy{font-size:14px}}
@media(max-width:760px){#bhf-centered-company .company-center{grid-template-columns:1fr;gap:12px;padding:48px 24px}#bhf-centered-company .company-heading{max-width:470px}#bhf-centered-company h2{font-size:40px;max-width:420px}#bhf-centered-company .center-label{margin-bottom:20px}#bhf-centered-company .sculpture{height:320px;max-width:460px}#bhf-centered-company .company-details{max-width:560px;width:100%;margin:auto}#bhf-centered-company .center-copy{font-size:15px}#bhf-centered-company .orbit-word.left{left:3%;top:16%}#bhf-centered-company .orbit-word.right{right:3%;top:87%}}
/* Balance the headline and profile around the architectural visual. */
@media(min-width:761px){#bhf-centered-company .company-center{grid-template-columns:repeat(3,minmax(0,1fr))}#bhf-centered-company h2{font-size:clamp(26px,2.4vw,40px);letter-spacing:-1.3px}#bhf-centered-company h2 em{white-space:nowrap}}
/* Center the visible architecture between the actual text edges. */
#bhf-centered-company canvas,#bhf-centered-company .fallback-building,#bhf-centered-company .sculpture:after{transform:translateX(var(--visual-offset,0px))}
#bhf-centered-company[data-visual] .center-capabilities{margin-top:26px}
@media(max-width:760px){#bhf-centered-company[data-visual] h2{font-size:clamp(30px,7.5vw,40px);letter-spacing:-1.2px}#bhf-centered-company[data-visual] h2 em{white-space:normal}}
/* About: interactive principles cards. */
.purpose-section{padding-top:20px;padding-bottom:100px}
.purpose-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;perspective:1200px}
.purpose-card{--rx:0deg;--ry:0deg;position:relative;isolation:isolate;display:flex;flex-direction:column;padding:28px 25px 22px;min-height:390px;background:#e9eddf;border:1px solid #b9c5a66b;border-radius:4px;overflow:hidden;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:background .35s,color .35s,box-shadow .35s,transform .3s;outline-offset:5px;color:var(--ink)}
.purpose-card:nth-child(2){background:#e1e8d2}.purpose-card:nth-child(3){background:#d8e2c7}.purpose-card:nth-child(4){background:#cedbbd}
.purpose-card:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,20%),#e3edbc35,transparent 65%);opacity:0;transition:opacity .4s}
.purpose-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}
.purpose-index{font-size:10px;letter-spacing:1.5px;opacity:.65}
.purpose-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid #183a3430;border-radius:50%;transition:transform .5s,background .4s,border-color .4s}
.purpose-icon svg{width:34px;height:34px}
.purpose-card h3{font-size:25px;margin-bottom:18px;letter-spacing:-1px}
.purpose-card p{font-size:13px;line-height:1.85;color:#425b4b;margin-bottom:30px;transition:color .35s}
.purpose-baseline{margin-top:auto;border-top:1px solid #183a3426;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1.4px}
.purpose-arrow{font-size:23px;transition:transform .4s}
.purpose-card:is(:hover,:focus-visible){background:#183a34;color:#f4f3ec;box-shadow:0 18px 35px #183a3424}
.purpose-card:is(:hover,:focus-visible):before{opacity:1}
.purpose-card:is(:hover,:focus-visible) p{color:#d5dfcd}
.purpose-card:is(:hover,:focus-visible) .purpose-icon{transform:translateY(-5px) rotate(-7deg);background:#dce6b51a;border-color:#dce6b55c}
.purpose-card:is(:hover,:focus-visible) .purpose-baseline{border-color:#dce6b53b}
.purpose-card:is(:hover,:focus-visible) .purpose-arrow{transform:translate(3px,-3px)}
@media(max-width:1100px){.purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.purpose-card{min-height:340px;padding:30px}.purpose-top{margin-bottom:25px}.purpose-card p{font-size:14px}}
@media(max-width:600px){.purpose-section{padding-top:5px;padding-bottom:60px}.purpose-grid{grid-template-columns:1fr;gap:18px}.purpose-card{min-height:320px;padding:26px}.purpose-icon{width:60px;height:60px}}
@media(prefers-reduced-motion:reduce){.purpose-card,.purpose-icon,.purpose-arrow{transition:none!important;transform:none!important}}
/* Services share the About principles interaction, with room for longer titles. */
.service-feature-section{padding-top:75px}
.service-feature-section .purpose-grid{row-gap:24px}
.service-feature-section .purpose-card{min-height:440px}
.service-feature-section .purpose-card h3{font-size:22px;line-height:1.35}
.service-feature-section .purpose-card:nth-child(4n+1){background:#e9eddf}.service-feature-section .purpose-card:nth-child(4n+2){background:#e1e8d2}.service-feature-section .purpose-card:nth-child(4n+3){background:#d8e2c7}.service-feature-section .purpose-card:nth-child(4n+4){background:#cedbbd}
.service-feature-section .purpose-card:is(:hover,:focus-visible){background:#183a34}
@media(max-width:1100px){.service-feature-section .purpose-card{min-height:390px}}
@media(max-width:600px){.service-feature-section{padding-top:50px}.service-feature-section .purpose-card{min-height:350px}}
/* Six BHF differences in a balanced three-by-two card layout. */
.reason-feature-section .purpose-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.reason-feature-section .purpose-card{min-height:390px}
@media(max-width:1100px){.reason-feature-section .purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reason-feature-section .purpose-grid{grid-template-columns:1fr}.reason-feature-section .purpose-card{min-height:350px}}
#contact-form button:disabled{opacity:.65;cursor:wait}
#form-status:not(:empty){padding:16px 18px;margin-top:20px;border-left:3px solid #74824d;background:#e9eddf;font-size:13px;line-height:1.7}
#form-status[data-state="error"]{background:#f2e5dd;border-color:#9d583d;color:#713f2b}
#form-status[data-state="success"]{background:#e1e8d2;color:#183a34}
#contact-form .field-error{display:block;color:#91482e;font-size:12px;line-height:1.6;margin-top:8px;letter-spacing:0}
#contact-form .field-error[hidden]{display:none}
#contact-form [aria-invalid="true"]{border-color:#a35338;outline-color:#a35338}
#contact-form .check{flex-wrap:wrap}#contact-form .check .field-error{flex-basis:100%}
