@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:#10281c;--navy:#082d20;--blue:#185c32;--lime:#dfff78;--paper:#fff;--muted:#526357;--line:#d9e3da}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #438c48;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,6.6vw,6.8rem);font-weight:500}h2{font-size:clamp(2.4rem,4.4vw,4.5rem);font-weight:500}h3{font-size:1.55rem;font-weight:600}p{max-width:65ch}.wrap{max-width:1440px;margin:auto;padding:0 6%}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:20px;background:white;padding:15px;z-index:10}.header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:1.7rem;letter-spacing:-.07em;line-height:1}.brand small{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:.66rem;text-transform:uppercase;letter-spacing:.19em;margin-top:9px;font-weight:500}.nav{display:flex;align-items:center;gap:36px;font-size:.9rem}.nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 23px;background:var(--blue);color:white!important;font-size:.95rem;font-weight:600;border:1px solid transparent;cursor:pointer;border-radius:3px;transition:transform .2s,background .2s}.button:hover{background:#104423;transform:translateY(-2px)}.button.lime{background:var(--lime);color:var(--ink)!important}.button.lime:hover{background:#edffb9}.button.outline{border-color:var(--line);background:transparent;color:var(--ink)!important}.eyebrow{display:block;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;margin-bottom:26px}.hero{background:var(--navy);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;min-height:665px;align-items:center;gap:30px;padding-top:72px;padding-bottom:72px}.hero h1{position:relative;z-index:1}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{color:#c7dbcc;font-size:1.12rem;max-width:440px;margin:28px 0 32px;line-height:1.75}.hero-art{position:relative;min-width:0}.hero-art img{width:100%;aspect-ratio:1.02;object-fit:cover;border-radius:2px}.art-caption{display:flex;justify-content:space-between;gap:12px;color:#c7dbcc;border-top:1px solid #446552;margin-top:18px;padding-top:14px;font-size:.8rem;letter-spacing:.05em}.strip{background:var(--lime);padding:19px 0}.strip-inner{display:flex;justify-content:space-between;gap:16px;font-size:.84rem;font-weight:600}.section{padding-top:105px;padding-bottom:110px}.section-head{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:end;margin-bottom:60px}.section-head p{color:var(--muted);max-width:460px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.card{border-top:1px solid var(--ink);padding:26px 0 0;display:flex;flex-direction:column;align-items:start}.number{color:var(--blue);font-size:.85rem;font-weight:600;margin-bottom:46px}.card h3{margin-bottom:20px}.card p{color:var(--muted);margin-bottom:26px}.text-link{margin-top:auto;display:inline-block;font-weight:600;font-size:.95rem;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link:hover{color:var(--blue);border-color:var(--blue)}.approach{background:#f0f5ef}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.approach h2{margin-bottom:30px}.approach p{color:var(--muted)}.steps{border-top:1px solid #bdcfbf}.step{display:grid;grid-template-columns:35px 1fr;gap:15px;padding:25px 0;border-bottom:1px solid #bdcfbf}.step span{color:var(--blue);font-size:.85rem}.step h3{font-size:1.35rem;margin-bottom:10px}.step p{font-size:1rem}.cta{background:var(--blue);color:white;padding:80px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{max-width:750px}.footer{padding:55px 0 28px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:42px}.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:55px;font-size:.9rem}.footer-contact a{display:block}.footer-contact a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:var(--muted)}.page-intro{background:var(--navy);color:white;padding:80px 0 90px}.page-intro h1{max-width:1000px}.page-intro p{margin-top:30px;color:#c7dbcc;max-width:650px;font-size:1.15rem}.service-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:55px 0;border-top:1px solid var(--line)}.service-row h2{font-size:2.6rem;margin-top:12px}.service-row p{color:var(--muted);margin-bottom:20px}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.tags span{border:1px solid var(--line);border-radius:30px;padding:8px 14px;font-size:.85rem}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-grid h2{font-size:2.5rem;margin-bottom:25px}.contact-details{margin-top:35px}.contact-details a{display:block;font-size:1.1rem;margin-bottom:12px}.contact-details address{font-style:normal;color:var(--muted);margin-top:25px}.contact-form{padding:35px;background:#f0f5ef}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:22px}.field label{display:block;margin-bottom:8px;font-size:.9rem;font-weight:600}input,textarea{width:100%;border:1px solid #a6bda9;background:white;border-radius:3px;padding:12px;color:var(--ink)}textarea{min-height:140px;resize:vertical}.note{font-size:.85rem;color:var(--muted);margin:18px 0}.menu-toggle{display:none} @media(min-width:1600px){.hero-grid{min-height:740px}}@media(max-width:900px){.wrap{padding-left:6%;padding-right:6%}.nav{gap:18px}.hero-grid{min-height:auto;gap:20px}.hero h1{font-size:4rem}.hero-art img{aspect-ratio:.85}.section-head{gap:35px}.cards{gap:24px}.approach-grid{gap:45px}.footer-contact{gap:25px}.contact-grid{gap:35px}}@media(max-width:650px){.header{height:88px;flex-wrap:wrap;position:relative}.brand{font-size:1.5rem}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:7px 12px;border-radius:3px;color:var(--ink)}.nav{display:none;position:absolute;left:0;right:0;top:88px;padding:24px 6%;background:white;z-index:5;box-shadow:0 10px 15px #0001;align-items:stretch}.nav.open{display:flex;flex-direction:column}.hero-grid{grid-template-columns:1fr;padding-top:50px;padding-bottom:30px}.hero h1{font-size:clamp(3.2rem,12vw,4.8rem)}.hero p{font-size:1.05rem}.hero-art{margin-top:20px}.hero-art img{aspect-ratio:1.5;max-height:330px}.strip-inner{flex-wrap:wrap;justify-content:center;column-gap:24px;row-gap:6px;font-size:.75rem}.section{padding-top:65px;padding-bottom:70px}.section-head,.approach-grid,.contact-grid,.service-row{grid-template-columns:1fr;gap:28px}.section-head{margin-bottom:40px}.cards{grid-template-columns:1fr;gap:40px}.number{margin-bottom:24px}.card h3{margin-bottom:15px}.cta{padding:60px 0}.cta-inner,.footer-top{align-items:flex-start;flex-direction:column}.footer-contact{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-direction:column;gap:8px}.page-intro{padding:55px 0 65px}.service-row{padding:35px 0}.fields{grid-template-columns:1fr;gap:0}.contact-form{padding:24px}.eyebrow{font-size:.75rem;margin-bottom:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied FMA brand artwork */
.header{height:144px}.brand-logo{display:inline-flex;flex-shrink:0;line-height:0}.brand-logo img{display:block;width:120px;height:120px;object-fit:contain}.footer .brand-logo img{width:156px;height:156px}.footer-top{align-items:center}@media(max-width:650px){.header{height:124px}.header .brand-logo img{width:104px;height:104px}.nav{top:124px}.footer-top{align-items:flex-start}.footer .brand-logo img{width:140px;height:140px}}

.about-story{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy p{color:var(--muted);font-size:1.1rem;margin-bottom:24px}.about-belief{background:var(--lime)}.about-quote{padding-top:75px;padding-bottom:75px}.about-quote blockquote{font-family:Manrope,Arial,sans-serif;font-size:clamp(1.8rem,3.8vw,3.7rem);font-weight:500;line-height:1.25;letter-spacing:-.035em;max-width:1100px;margin:0}.quote-credit{margin-top:30px;font-weight:600}.nav a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:6px}@media(max-width:900px){.about-story{gap:40px}.nav{gap:16px;font-size:.85rem}}@media(max-width:650px){.about-story{grid-template-columns:1fr;gap:28px}.about-quote{padding-top:55px;padding-bottom:55px}.nav{font-size:1rem}}

.team-section{background:#f0f5ef}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.team-profile{padding:36px;background:white;border-top:3px solid var(--blue)}.team-initials{display:block;font-family:Manrope,Arial,sans-serif;font-size:3.5rem;font-weight:500;line-height:1.1;color:var(--blue);margin-bottom:40px}.team-profile h3{font-size:1.9rem}.team-company{font-size:.875rem;color:var(--muted);margin:12px 0 25px}.team-profile>p:not(.team-company){color:var(--muted);margin-bottom:25px}.team-profile blockquote{font-family:Manrope,Arial,sans-serif;font-size:1.45rem;line-height:1.5;margin:0}@media(max-width:650px){.team-grid{grid-template-columns:1fr}.team-profile{padding:28px}.team-profile h3{font-size:1.65rem}}

.team-portrait{display:block;width:100%;max-width:320px;height:auto;aspect-ratio:1;object-fit:contain;margin:0 0 30px;border-radius:3px}

/* Motion and connected services */
.depth-scene{position:relative;isolation:isolate;transform-style:preserve-3d;will-change:transform;transition:transform .5s ease-out}.hero-art{perspective:1100px}.depth-scene img{display:block}.network-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:.75}.orbit-label{position:absolute;z-index:3;background:#082d20e6;border:1px solid #7aa184;padding:8px 12px;font-size:.7rem;letter-spacing:.1em;border-radius:3px;box-shadow:0 10px 28px #0003}.orbit-one{top:14%;left:2%;transform:translateZ(35px)}.orbit-two{top:42%;right:-2%;transform:translateZ(60px)}.orbit-three{bottom:9%;left:8%;transform:translateZ(45px)}.motion-toggle{border:1px solid #839787;border-radius:3px;padding:6px 12px;background:transparent;color:var(--ink);font-size:.8rem;cursor:pointer}.motion-toggle:hover{background:#edf5eb}.capabilities-section{background:#f0f5ef}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.capability-card{position:relative;display:block;padding:30px;background:white;border:1px solid var(--line);border-radius:4px;transition:transform .25s,box-shadow .25s,border-color .25s}.capability-card:hover{transform:translateY(-7px);box-shadow:0 16px 35px #082d2012;border-color:var(--blue)}.capability-card .number{display:block;margin-bottom:28px}.capability-card h3{font-size:1.35rem;margin-bottom:15px}.capability-card p{color:var(--muted);padding-bottom:25px}.capability-arrow{position:absolute;bottom:20px;right:24px;color:var(--blue);font-size:1.4rem}.service-jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:50px}.service-jump a{padding:10px 16px;border:1px solid #a6bda9;border-radius:30px;font-size:.9rem;background:white}.service-jump a:hover{background:var(--blue);color:white;border-color:var(--blue)}.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal-ready.revealed{opacity:1;transform:translateY(0)}.motion-off .reveal-ready{opacity:1;transform:none}.motion-off .depth-scene{transform:none!important}.motion-off *{animation:none!important;transition:none!important}.motion-off{scroll-behavior:auto}@media(max-width:900px){.capability-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.capability-grid{grid-template-columns:1fr}.orbit-label{font-size:.65rem;padding:6px 9px}.orbit-two{right:0}.capability-card{padding:25px}.service-jump{margin-bottom:30px}}@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.depth-scene{transform:none!important}.capability-card:hover{transform:none}}

.hero-motion{color:#fff;border-color:#63836d}.hero-motion:hover{background:#214c32}.motion-toggle:disabled{cursor:default;opacity:.8}

/* Client relationships and selected work */
.clients-section{padding-top:70px;padding-bottom:20px}.clients-section h2{font-size:2.5rem;margin-bottom:35px}.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.client-logo{height:150px;background:#fff;border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;padding:22px;overflow:hidden}.client-logo img{width:100%;height:100%;object-fit:contain}.client-chamber img,.client-american-college img{height:200px;max-width:240px}.client-home-depot img,.client-lottery img{max-width:110px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.work-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:white;transition:transform .25s,box-shadow .25s}.work-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #082d2012}.work-logo{height:200px;padding:35px;display:flex;align-items:center;justify-content:center;background:#f0f5ef}.work-logo img{max-width:100%;max-height:100%;object-fit:contain}.work-logo.seasonal img{width:130px}.work-card-copy{padding:28px;display:flex;flex-direction:column;flex:1}.work-card-copy .eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.08em}.work-card h3{font-size:1.55rem;line-height:1.3;margin-bottom:20px}.work-card p{color:var(--muted);margin-bottom:25px}.work-card .text-link{align-self:flex-start}.back-link{display:inline-block;color:#c7dbcc;margin-bottom:38px}.case-intro h1{font-size:clamp(2.8rem,5.5vw,5.6rem);max-width:1100px}.case-overview{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.case-client-logo{height:210px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);padding:20px}.case-client-logo img{max-width:100%;max-height:170px;object-fit:contain}.case-copy p{color:var(--muted);margin-bottom:28px}.case-copy .case-lead{color:var(--ink);font-size:1.25rem}.case-copy h2{font-size:1.8rem;margin:35px 0 20px}.case-proof{background:#f0f5ef;border-left:4px solid var(--blue);padding:28px;margin-top:35px}.case-proof strong{font-family:Manrope,Arial,sans-serif;font-size:2.8rem;color:var(--blue)}.case-proof p{margin:8px 0 15px}.case-proof small{display:block;font-size:.85rem;color:var(--muted)}@media(max-width:1000px){.nav{gap:12px}.header .button{padding:12px 15px}.work-grid{gap:16px}.work-card-copy{padding:20px}.case-overview{gap:45px}}@media(max-width:760px){.client-grid{grid-template-columns:repeat(2,1fr)}.work-grid,.case-overview{grid-template-columns:1fr}.work-logo{height:180px}.work-card h3{font-size:1.65rem}.client-logo{height:135px;padding:16px}.client-chamber img,.client-american-college img{height:180px}.case-overview{gap:35px}.clients-section{padding-top:55px}.case-client-logo{max-width:440px}.nav{gap:10px;font-size:.8rem}}@media(max-width:650px){.nav{font-size:1rem;gap:18px}}

/* Forest palette and clear interactive states */
.nav{gap:10px}.nav>a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 16px;border:1px solid transparent;border-radius:6px;transform-origin:center;transition:background .2s,color .2s,transform .2s,box-shadow .2s,border-color .2s;white-space:nowrap}.nav>a:not(.button):hover,.nav>a:not(.button):focus-visible{background:var(--lime);color:#103620;border-color:#8cad66;transform:translateY(-2px) scale(1.045);box-shadow:0 6px 0 #185c3219;text-decoration:none}.nav>a[aria-current],.nav>a.nav-selected{background:var(--blue);color:white!important;border-color:var(--blue);box-shadow:0 4px 0 #0d3e2226;text-decoration:none}.nav>a:active{transform:translateY(1px) scale(.98)!important;box-shadow:none}.button{border-radius:6px;box-shadow:0 4px 0 #082d201f;transition:transform .2s,box-shadow .2s,background .2s}.button:hover,.button:focus-visible{transform:translateY(-3px) scale(1.025);box-shadow:0 9px 18px #082d2020}.button:active{transform:translateY(1px) scale(.98)}.capability-card,.work-card{transform-style:preserve-3d;transition:transform .25s ease-out,box-shadow .25s,border-color .25s;will-change:auto}.capability-card:hover,.work-card:hover,.capability-card:focus-visible,.work-card:focus-visible{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-6px) scale(1.015);border-color:var(--blue);box-shadow:0 20px 38px #082d2020}.capability-card:hover{background:#f9fff1}.capability-card:active,.work-card:active{transform:scale(.985);background:#eff8e7}.work-card .work-logo img{transition:transform .35s}.work-card:hover .work-logo img{transform:scale(1.055)}.capability-arrow{transition:transform .2s}.capability-card:hover .capability-arrow{transform:translate(3px,-3px)}.service-jump a{transition:transform .2s,background .2s,box-shadow .2s}.service-jump a:hover,.service-jump a:focus-visible{transform:translateY(-2px) scale(1.035);box-shadow:0 5px 0 #185c3219}.service-jump a[aria-current]{background:var(--blue);color:white;border-color:var(--blue)}.service-row:target{background:#eaf4df;box-shadow:0 0 0 18px #eaf4df;border-radius:3px}.reveal-ready{transform:translate3d(-26px,20px,0);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}.reveal-ready:nth-child(even){transform:translate3d(26px,20px,0)}.reveal-ready.revealed{transform:translate3d(0,0,0)}.orbit-label{transition:transform .3s;box-shadow:0 12px 24px #00170e55}.depth-scene:hover .orbit-one{transform:translateZ(65px) translateX(-4px)}.depth-scene:hover .orbit-two{transform:translateZ(85px) translateX(4px)}.depth-scene:hover .orbit-three{transform:translateZ(70px) translateY(4px)}
@view-transition{navigation:auto}::view-transition-old(root){animation:fma-exit .18s ease both}::view-transition-new(root){animation:fma-enter .28s ease both}@keyframes fma-exit{to{opacity:0;transform:translateY(-6px)}}@keyframes fma-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.motion-off::view-transition-old(root),.motion-off::view-transition-new(root){animation:none!important}.motion-off .nav>a,.motion-off .button,.motion-off .capability-card,.motion-off .work-card,.motion-off .service-jump a,.motion-off .orbit-label,.motion-off .work-logo img{transform:none!important}.motion-off .reveal-ready{transform:none!important;opacity:1}
@media(min-width:651px) and (max-width:1050px){.header{gap:12px}.header .brand-logo img{width:100px;height:100px}.nav{gap:5px}.nav>a{padding:10px 9px;font-size:.8rem}.nav .button{padding:10px 12px}.header{padding-left:4%;padding-right:4%}}@media(max-width:650px){.nav{gap:10px}.nav>a{justify-content:flex-start;padding:14px 18px;min-height:50px}.nav>a:hover,.nav>a:focus-visible{transform:none}.nav.open{animation:menu-enter .22s ease-out}@keyframes menu-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.service-row:target{box-shadow:0 0 0 10px #eaf4df}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.nav>a,.button,.capability-card,.work-card,.service-jump a,.orbit-label,.work-logo img{transform:none!important}.reveal-ready{transform:none!important;opacity:1}}

.nav>a[aria-current]:hover,.nav>a[aria-current]:focus-visible{background:#104423;color:white!important;border-color:#104423}

.production-photo{margin:0}.production-frame{overflow:hidden;border-radius:6px;background:#082d20}.production-frame img{display:block;width:100%;height:auto;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.production-photo:hover .production-frame img{transform:scale(1.025)}.production-photo figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:18px;font-size:.85rem;color:var(--muted)}.production-photo figcaption span:first-child{color:var(--ink);font-weight:600}.production-photo.reveal-ready{transform:translate3d(0,34px,0)}.production-photo.reveal-ready img{transform:scale(1.045)}.production-photo.revealed{transform:none}.production-photo.revealed img{transform:scale(1)}.production-photo.revealed:hover img{transform:scale(1.025)}.client-lottery img{max-width:130px}.work-logo.seasonal img{width:155px}.motion-off .production-photo,.motion-off .production-photo img{transform:none!important}@media(max-width:650px){.production-photo figcaption{flex-direction:column;gap:6px}}@media(prefers-reduced-motion:reduce){.production-photo,.production-photo img{transform:none!important;transition:none!important}}
