@charset "UTF-8";
:root{--green:#06c755;--ink:#17251b;--dark:#17221b;--paper:#f3f5ef;--mist:#e3e9df;--sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;--latin:"Arial Black",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font:15px/1.85 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:800;line-height:1.3}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;height:auto}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:5px}::selection{background:var(--green);color:var(--ink)}
.fa-icon{display:inline-block;width:1em;height:1em;fill:currentColor;vertical-align:-.125em;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;padding:0;margin:-1px;border:0}.skip{position:fixed;z-index:100;top:-100px;left:12px;background:#fff;padding:10px 20px}.skip:focus{top:12px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.09em;line-height:1.6}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:58px;padding:13px 30px;border:1px solid transparent;border-radius:999px;font-size:13px;font-weight:800;line-height:1.4;white-space:nowrap;text-align:center;transition:transform .25s ease,background .25s,color .25s,border-color .25s}.pill:hover{transform:translateY(-3px)}.pill .fa-icon{font-size:16px}.pill--dark{background:var(--dark);color:#fff}.pill--dark:hover{background:#344439}.pill--green{background:var(--green);color:var(--dark)}.pill--green:hover{background:#3bd974}.pill--light{background:#fff;color:var(--dark)}.pill--light:hover{background:#eaf5ec}.pill--outline{border-color:rgba(255,255,255,.65);color:#fff}.pill--outline:hover{background:#fff;color:var(--dark)}
/* Navigation stays plain text until the individual pages exist. */
.site-header{position:absolute;z-index:60;top:0;left:0;right:0}.header-frame{width:min(1360px,90%);min-height:110px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;width:122px;flex-shrink:0}.brand picture,.brand img{display:block;width:100%}.site-header .brand img{filter:brightness(0) saturate(100%) sepia(35%) saturate(500%) hue-rotate(80deg) brightness(35%)}.nav{display:flex;align-items:center;gap:clamp(21px,3.2vw,54px)}.nav-label{font-size:13px;font-weight:800;min-height:44px;display:flex;align-items:center;cursor:default}.menu-toggle{display:none}
/* One continuous opening spread. */
.hero{position:relative;min-height:920px;background:var(--paper);isolation:isolate}
.hero::before{content:"TRIGGER";position:absolute;z-index:-1;top:16%;right:-7%;font:900 clamp(170px,23vw,350px)/1 var(--latin);letter-spacing:-.095em;color:#e5eae3;white-space:nowrap;transform:rotate(-10deg);pointer-events:none}
.hero-inner{width:min(1360px,88%);margin:auto;padding:175px 0 150px}
.hero-eyebrow{margin-bottom:44px}.hero-eyebrow span{color:var(--green)}
.hero h1{font-size:clamp(72px,9.15vw,139px);letter-spacing:-.085em;line-height:1.21;white-space:nowrap}
.hero-line{display:block;width:max-content;max-width:100%;animation:rise-in .9s both cubic-bezier(.22,1,.36,1)}.hero-line:nth-child(2){animation-delay:.13s}.hero-line:nth-child(3){animation-delay:.26s}
.hero-line--green{color:var(--green);margin-left:8%}.hero-line--last{margin-left:35%}
.hero-bottom{display:flex;justify-content:space-between;align-items:end;width:53%;margin-top:42px;font-size:16px;font-weight:700;line-height:1.8}.hero-bottom>span{font:700 10px/1.5 Arial,sans-serif;letter-spacing:.1em;color:#637269;white-space:nowrap}
.hero-callout{position:absolute;z-index:4;right:5%;bottom:-96px;width:min(43vw,510px);min-height:344px;padding:57px 63px 50px;background:var(--green);border-radius:140px 140px 0 140px}.hero-callout .eyebrow{font:800 11px/1.5 Arial,sans-serif;letter-spacing:.12em}.hero-callout-title{margin:24px 0 27px;font-size:clamp(29px,3.1vw,43px);font-weight:800;letter-spacing:-.055em;line-height:1.45}
.mission{position:relative;background:var(--paper)}.mission-inner{width:min(1360px,88%);margin:auto;padding:255px 0 90px;display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:end}.mission-heading .eyebrow{margin-bottom:34px}.mission h2{font-size:clamp(55px,6.1vw,91px);line-height:1.38;letter-spacing:-.07em}.mission h2 span{margin-left:.8em}.mission-copy{max-width:420px;padding-bottom:8px}.mission-copy p:first-child{font-size:clamp(21px,2.1vw,30px);font-weight:800;line-height:1.6;letter-spacing:-.045em}.mission-copy p:last-child{margin-top:30px;font-size:15px;font-weight:600;line-height:2.05}
.values{width:min(1360px,88%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:75px 0 220px}.value{min-height:210px;border-top:1px solid #8e9d90;padding:19px 5px 0}.value:nth-child(2){margin-top:75px}.value:nth-child(3){margin-top:150px}.value>span{font:900 clamp(53px,5.8vw,84px)/1 var(--latin);letter-spacing:-.09em;color:var(--green)}.value h3{margin-top:24px;font-size:clamp(23px,2.3vw,34px);letter-spacing:-.05em}.value p{margin-top:12px;font-size:13px;font-weight:700}
/* The three services and the consultation flow share one dark canvas. */
.services{position:relative;z-index:2;margin-top:-92px;padding:185px 0 210px;background:var(--dark);color:#f8fbf6;border-radius:50% 50% 0 0/92px 92px 0 0;overflow:hidden}.services-inner{width:min(1360px,88%);margin:auto}.services-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:10%;align-items:end;padding-bottom:125px}.services-intro .eyebrow{grid-column:1/-1;color:var(--green)}.services-intro h2{font-size:clamp(65px,7.3vw,108px);letter-spacing:-.075em;line-height:1.28}.services-intro h2 span{color:var(--green)}.services-intro>p:last-child{max-width:340px;margin-bottom:14px;font-size:16px;font-weight:700;line-height:2}
.service-main{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:10%;min-height:590px;padding:92px 7.2% 78px;background:var(--green);color:var(--dark);border-radius:116px 14px 116px 14px;overflow:hidden}.service-main::after{content:"01";position:absolute;right:-.03em;bottom:-.38em;font:900 clamp(260px,30vw,450px)/1 var(--latin);letter-spacing:-.12em;color:rgba(0,93,42,.11);pointer-events:none}.service-main>*{position:relative;z-index:1}.service-index{font:900 37px/1 var(--latin);letter-spacing:-.09em}.service-main-head>p{margin-top:45px;font-size:13px;font-weight:800;letter-spacing:.04em}.service-main h3{margin-top:17px;font-size:clamp(42px,4.45vw,67px);letter-spacing:-.065em;line-height:1.39}.service-main-body{align-self:end;max-width:360px}.service-main-body>p:first-child{font-size:15px;font-weight:700;line-height:2}.service-fact{margin:28px 0 27px;font-size:13px;font-weight:800;line-height:1.75}.service-fact small{font-size:11px;font-weight:700}
.service-other{margin-top:85px}.service-line{display:grid;grid-template-columns:13% 48% 39%;align-items:start;gap:0;padding:65px 0 76px;border-top:1px solid rgba(255,255,255,.46);transition:padding-left .35s}.service-line:last-child{border-bottom:1px solid rgba(255,255,255,.46)}.service-line:hover{padding-left:12px}.service-line .service-index{color:var(--green)}.service-line .eyebrow{margin:1px 0 16px;color:var(--green)}.service-line h3{font-size:clamp(45px,5vw,73px);letter-spacing:-.065em;line-height:1.32}.service-line>p{max-width:360px;padding:46px 0 0 18px;font-size:15px;line-height:2;color:#d5e2d7}
.process{display:grid;grid-template-columns:36% 64%;gap:0;margin-top:100px;padding-top:80px;border-top:1px solid rgba(255,255,255,.46)}.process-heading .eyebrow{margin-bottom:26px;color:var(--green)}.process h2{font-size:clamp(38px,3.7vw,56px);letter-spacing:-.055em;line-height:1.43}.process-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.process-list>div{padding:0 4px 0 0}.process-list span{display:block;margin-bottom:50px;font:900 clamp(65px,7vw,102px)/1 var(--latin);letter-spacing:-.09em;color:var(--green)}.process-list h3{font-size:clamp(18px,1.7vw,25px);letter-spacing:-.035em}.process-list p{max-width:180px;margin-top:15px;color:#d6e4d7;font-size:12px;line-height:1.9}
/* Recruitment uses a controlled typographic reel; real photos can replace the panels later. */
.recruit{position:relative;z-index:3;margin-top:-100px;padding:170px 0 135px;background:var(--green);color:var(--dark);border-radius:50% 50% 0 0/100px 100px 0 0;overflow:hidden}.recruit-inner{width:100%;margin:auto}.recruit-top,.recruit-copy{width:min(1360px,88%);margin:auto}.recruit-top{display:flex;align-items:start;justify-content:space-between;gap:40px}.recruit-top .eyebrow{margin-top:15px}.recruit-top>span{font:900 clamp(65px,10vw,155px)/.9 var(--latin);letter-spacing:-.09em;white-space:nowrap;color:rgba(14,68,31,.28)}.recruit-copy{position:relative;z-index:1;margin-top:3px}.recruit h2{font-size:clamp(62px,7.7vw,116px);line-height:1.28;letter-spacing:-.075em}.recruit-copy>p{margin:26px 0 34px;font-size:17px;font-weight:700;line-height:2}.recruit-reel{width:100%;margin:110px 0 24px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.reel-track{display:flex;width:max-content;animation:reel-move 36s linear infinite}.reel-group{display:flex;gap:22px;padding-right:22px}.reel-item{display:flex;align-items:center;justify-content:center;width:clamp(250px,24vw,350px);height:220px;flex:0 0 auto;background:var(--dark);color:#fff;border-radius:120px 120px 22px 22px;text-align:center;font-size:clamp(22px,2.15vw,31px);font-weight:800;letter-spacing:-.06em}.reel-item:nth-child(even){background:#f5f6f0;color:var(--dark);border-radius:22px 120px 22px 120px}.reel-item:nth-child(3n){border-radius:120px 22px 120px 22px}.reel-item:nth-child(2){transform:translateY(14px)}.reel-item:nth-child(4){transform:translateY(-8px)}.motion-toggle{display:flex;align-items:center;gap:9px;margin:0 max(6%,calc((100% - 1360px)/2)) 0 auto;padding:8px 0;border:0;background:transparent;font-size:12px;font-weight:800}.motion-toggle .fa-icon{font-size:13px}.recruit-reel.is-paused .reel-track{animation-play-state:paused}
/* The access and contact sheets curl over the previous color, rather than ending on a straight cut. */
.access{position:relative;z-index:4;margin-top:-100px;padding:175px 0 205px;background:var(--paper);border-radius:50% 50% 0 0/100px 100px 0 0}.access-inner{width:min(1360px,88%);margin:auto;display:grid;grid-template-columns:46% 54%;gap:0}.access-heading .eyebrow{margin-bottom:40px;color:#0d783b}.access h2{font-size:clamp(67px,7.1vw,105px);letter-spacing:-.075em;line-height:1.28}.access-heading>p:last-child{margin-top:45px;font-size:14px;font-weight:700;line-height:2.1}.access-details{padding:100px 0 0 9%}.access-primary>p:first-child{font-size:13px;font-weight:800}.access-primary h3{margin-top:12px;font-size:clamp(35px,3.3vw,50px);letter-spacing:-.055em;line-height:1.4;white-space:nowrap}.access-primary h3 strong{color:#069e46;font:900 1.4em/1 var(--latin)}.access-time{margin-top:5px;font-size:19px;font-weight:800}.access-time span{display:inline-block;margin:0 8px;color:#06a849;font:900 clamp(85px,10vw,150px)/1 var(--latin);letter-spacing:-.08em;vertical-align:-.13em}.access-secondary{display:flex;gap:35px;margin-top:66px;padding-top:30px;border-top:1px solid #9ea99e}.access-secondary p{font-size:13px;font-weight:700;line-height:1.9}.access-secondary small{font-size:10px;font-weight:600;color:#566458}.map-actions{display:flex;align-items:center;gap:27px;margin-top:35px}.map-actions>a{font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.map-actions>a:hover{color:#078f44}.map-holder{height:390px;margin-top:35px;background:#dce4dc}.map-holder[hidden]{display:none}.map-holder iframe{display:block;width:100%;height:100%;border:0}.no-js .map-load{display:none}
.contact{position:relative;z-index:5;margin-top:-105px;padding:175px 0 65px;background:var(--dark);color:#fff;border-radius:50% 50% 0 0/105px 105px 0 0}.contact-inner{width:min(1360px,88%);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:end}.contact .eyebrow{color:var(--green)}.contact h2{margin-top:35px;font-size:clamp(56px,6.2vw,92px);line-height:1.36;letter-spacing:-.07em}.contact-intro>p:last-child{margin-top:25px;font-size:15px;font-weight:700;line-height:1.9}.contact-details{padding:0 0 6px}.contact-details>p{font-size:12px;font-weight:800;color:#b9d0bd}.contact-details>div:nth-child(2){display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.contact-details>div:nth-child(2) span{padding:5px 12px;border:1px solid #75927a;border-radius:99px;font-size:12px;font-weight:700}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:38px}.contact-actions .pill{min-width:0;padding:12px 14px;font-size:12px}
.site-footer{background:var(--dark);color:#fff}.footer-inner{width:min(1360px,88%);margin:auto;padding:100px 0 35px}.footer-main{display:grid;grid-template-columns:1.7fr .7fr .7fr;gap:50px;padding-bottom:105px}.footer-brand{width:122px}.footer-brand img{filter:brightness(0) invert(1)}.footer-identity>p{margin-top:21px;font-size:17px;font-weight:800}.footer-heading{margin-bottom:21px;font-size:11px;font-weight:800;color:var(--green)}.footer-column ul{list-style:none;margin:0;padding:0}.footer-column li{margin-bottom:12px;font-size:12px;font-weight:600;color:#c7d6c9}.footer-bottom{display:flex;align-items:end;justify-content:space-between;gap:25px;padding-top:25px;border-top:1px solid #516356}.footer-bottom small{font-size:11px;color:#acbdaf}.footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px}.footer-legal a{font-size:10px;color:#c7d6c9;text-decoration:underline;text-underline-offset:3px}.footer-legal a:hover{color:#fff}
.motion-ready [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .8s cubic-bezier(.22,1,.36,1)}.motion-ready [data-reveal].is-inview{opacity:1;transform:translateY(0)}
@keyframes rise-in{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@keyframes reel-move{to{transform:translateX(-50%)}}
@media(max-width:1100px){.hero{min-height:800px}.hero h1{font-size:clamp(66px,8.7vw,105px)}.hero-bottom{width:50%;font-size:13px}.hero-bottom>span{display:none}.hero-callout{width:43vw;padding:45px 38px;min-height:300px}.mission-inner{gap:7%}.services-intro{gap:5%}.service-main{gap:5%;padding:75px 6%}.service-main h3{font-size:clamp(38px,4.6vw,52px)}.service-line{grid-template-columns:12% 48% 40%}.process{grid-template-columns:32% 68%}.process-list{gap:15px}.access-inner{grid-template-columns:44% 56%}.access-details{padding-left:5%}.access-primary h3{font-size:36px}.contact-inner{gap:5%}.contact-actions{grid-template-columns:1fr}.contact-actions .pill{width:100%}}
@media(max-width:800px){.header-frame{min-height:86px}.brand{width:108px}.menu-toggle{display:flex;align-items:center;gap:8px;min-height:44px;border:0;background:transparent;font-size:12px;font-weight:800}.menu-toggle .fa-icon{font-size:18px}.nav{display:none;position:absolute;top:78px;left:5%;right:5%;padding:15px 25px 25px;background:var(--dark);color:#fff;border-radius:19px;box-shadow:0 20px 55px rgba(0,0,0,.12)}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-label{min-height:53px;border-bottom:1px solid #637365}.no-js .site-header{position:relative}.no-js .header-frame{height:auto;flex-wrap:wrap;padding:20px 0}.no-js .menu-toggle{display:none}.no-js .nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:0 17px;width:100%;padding:0;border-radius:0;box-shadow:none;background:transparent;color:var(--ink)}.no-js .nav-label{border:0;font-size:10px}.hero{min-height:790px}.hero-inner{padding:150px 0 210px}.hero h1{font-size:clamp(58px,8.3vw,75px)}.hero-callout{right:6%;width:45vw;min-height:275px;bottom:-70px;padding:44px 35px}.hero-callout-title{font-size:30px}.mission-inner{padding-top:220px}.mission h2{font-size:clamp(46px,6.5vw,66px)}.mission-copy p:first-child{font-size:20px}.values{gap:18px;padding-bottom:190px}.value h3{font-size:23px}.services{padding-top:160px}.services-intro h2{font-size:clamp(54px,7vw,76px)}.service-main{min-height:520px}.service-main h3{font-size:40px}.service-main-body>p:first-child{font-size:13px}.service-line h3{font-size:clamp(38px,5vw,52px)}.service-line>p{font-size:13px}.process{display:block}.process-heading{margin-bottom:48px}.process-list p{max-width:220px}.recruit h2{font-size:clamp(55px,8vw,80px)}.recruit-top>span{font-size:10vw}.access{padding-top:155px}.access h2{font-size:clamp(56px,7.4vw,78px)}.access-details{padding-top:75px}.access-primary h3{font-size:29px}.access-secondary{display:block}.access-secondary p+p{margin-top:16px}.map-actions{align-items:flex-start;flex-direction:column;gap:15px}.contact h2{font-size:clamp(50px,6.5vw,72px)}.footer-main{gap:30px}}
@media(max-width:600px){body{font-size:13px}.eyebrow{font-size:10px}.pill{min-height:52px;padding:10px 20px;font-size:11px;gap:9px}.pill .fa-icon{font-size:14px}.header-frame{width:86%;min-height:74px}.brand{width:102px}.nav{top:68px;left:7%;right:7%}.hero{min-height:780px}.hero::before{top:24%;right:-40%;font-size:52vw}.hero-inner{width:86%;padding:150px 0 310px}.hero-eyebrow{margin-bottom:35px;font-size:9px}.hero h1{font-size:clamp(41px,10.4vw,61px);line-height:1.33;letter-spacing:-.075em}.hero-line--green{margin-left:0}.hero-line--last{margin-left:31%}.hero-bottom{width:100%;margin-top:28px;font-size:12px}.hero-callout{right:0;bottom:-100px;width:86%;min-height:260px;padding:39px 11% 40px 9%;border-radius:92px 0 0 92px}.hero-callout-title{margin:16px 0 19px;font-size:30px}.hero-callout .eyebrow{font-size:9px}.mission-inner{width:86%;display:block;padding:250px 0 55px}.mission-heading .eyebrow{margin-bottom:25px}.mission h2{font-size:clamp(40px,10vw,60px)}.mission h2 span{margin-left:.5em}.mission-copy{margin:43px 0 0 18%;padding:0}.mission-copy p:first-child{font-size:20px}.mission-copy p:last-child{font-size:12px;margin-top:18px}.values{width:86%;display:block;padding:30px 0 172px}.value,.value:nth-child(2),.value:nth-child(3){display:grid;grid-template-columns:70px 1fr;gap:0 12px;min-height:0;margin:0;padding:20px 0 24px}.value>span{grid-row:1/3;font-size:47px}.value h3{margin:2px 0 0;font-size:22px}.value p{grid-column:2;margin-top:4px;font-size:11px}.services{margin-top:-75px;padding:145px 0 180px;border-radius:50% 50% 0 0/75px 75px 0 0}.services-inner{width:86%}.services-intro{display:block;padding-bottom:72px}.services-intro h2{margin-top:25px;font-size:clamp(49px,12vw,72px)}.services-intro>p:last-child{margin:25px 0 0;max-width:300px;font-size:12px}.service-main{display:block;min-height:0;width:116%;margin-left:-8%;padding:57px 8% 66px;border-radius:74px 8px 74px 8px}.service-main::after{font-size:290px;right:-.1em;bottom:-.4em}.service-main .service-index{font-size:34px}.service-main-head>p{margin-top:36px;font-size:10px}.service-main h3{margin-top:13px;font-size:clamp(38px,10vw,55px)}.service-main-body{margin-top:36px}.service-main-body>p:first-child{font-size:12px}.service-fact{margin:18px 0 22px;font-size:11px}.service-fact small{font-size:10px}.service-other{margin-top:65px}.service-line{display:grid;grid-template-columns:57px 1fr;padding:42px 0 49px}.service-line .service-index{font-size:31px}.service-line .eyebrow{margin:0 0 10px}.service-line h3{font-size:clamp(39px,10vw,51px)}.service-line>p{grid-column:2;max-width:300px;padding:16px 0 0;font-size:12px}.service-line:hover{padding-left:0}.process{margin-top:77px;padding-top:54px}.process-heading{margin-bottom:37px}.process h2{font-size:clamp(35px,8.5vw,48px)}.process-list{display:block}.process-list>div{display:grid;grid-template-columns:57px 1fr;gap:0 9px;padding:19px 0;border-top:1px solid #68806d}.process-list>div:last-child{border-bottom:1px solid #68806d}.process-list span{grid-row:1/3;margin:0;font-size:37px}.process-list h3{font-size:19px}.process-list p{margin-top:4px;font-size:11px}.recruit{margin-top:-75px;padding:120px 0 100px;border-radius:50% 50% 0 0/75px 75px 0 0}.recruit-top,.recruit-copy{width:86%}.recruit-top .eyebrow{margin-top:0}.recruit-top>span{font-size:14vw}.recruit-copy{margin-top:49px}.recruit h2{font-size:clamp(48px,11vw,66px)}.recruit-copy>p{margin:19px 0 26px;font-size:12px}.recruit-copy br{display:none}.recruit-reel{margin:80px 0 14px}.reel-group{gap:12px;padding-right:12px}.reel-item{width:215px;height:146px;font-size:21px}.motion-toggle{margin-right:7%;font-size:10px}.access{margin-top:-75px;padding:135px 0 180px;border-radius:50% 50% 0 0/75px 75px 0 0}.access-inner{width:86%;display:block}.access-heading .eyebrow{margin-bottom:24px}.access h2{font-size:clamp(58px,13vw,78px)}.access-heading>p:last-child{margin-top:28px;font-size:12px}.access-details{padding:61px 0 0}.access-primary h3{font-size:clamp(27px,6.7vw,36px)}.access-primary h3 strong{font-size:1.3em}.access-time{font-size:15px}.access-time span{font-size:100px}.access-secondary{margin-top:42px;padding-top:21px}.access-secondary p{font-size:12px}.map-actions{margin-top:29px}.map-actions>a{font-size:11px}.map-holder{height:300px}.contact{margin-top:-76px;padding:135px 0 35px;border-radius:50% 50% 0 0/76px 76px 0 0}.contact-inner{width:86%;display:block}.contact h2{margin-top:27px;font-size:clamp(45px,10vw,65px)}.contact-intro>p:last-child{margin-top:20px;font-size:12px}.contact-details{margin-top:51px}.contact-details>div:nth-child(2) span{font-size:11px}.contact-actions{grid-template-columns:1fr;gap:13px;margin-top:27px}.contact-actions .pill{min-height:57px;justify-content:flex-start;padding:12px 22px;font-size:12px}.footer-inner{width:86%;padding:75px 0 29px}.footer-main{grid-template-columns:1fr 1fr;gap:48px 20px;padding-bottom:70px}.footer-identity{grid-column:1/-1}.footer-brand{width:110px}.footer-identity>p{font-size:14px}.footer-column li{font-size:10px}.footer-bottom{display:block}.footer-bottom small{font-size:10px}.footer-legal{justify-content:flex-start;margin-top:22px;gap:9px 16px}.footer-legal a{font-size:10px}}
@media(max-width:380px){.hero{min-height:750px}.hero h1{font-size:39px}.hero-callout-title{font-size:27px}.mission h2{font-size:38px}.value h3{font-size:20px}.services-intro h2{font-size:45px}.service-main h3{font-size:37px}.service-line h3{font-size:37px}.recruit h2{font-size:44px}.access h2{font-size:55px}.access-primary h3{font-size:26px}.contact h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready [data-reveal]{opacity:1!important;transform:none!important}}
@media print{.site-header{position:relative}.hero{min-height:0}.hero-callout{position:static}.services,.recruit,.contact,.site-footer{print-color-adjust:exact;-webkit-print-color-adjust:exact}.reel-track{animation:none}.reel-group:nth-child(2){display:none}}
.motion-toggle[hidden],.no-js .motion-toggle{display:none}.no-js .reel-track{animation:none}
/* Refinements from the first full-page review. */
.hero::before{display:none}.hero-line--green,.value>span{color:#00863a}.recruit-top>span{color:#13502d}.access-heading .eyebrow{color:#0a7135}.service-main h3{font-size:clamp(40px,4vw,57px)}.contact h2{font-size:clamp(54px,5.2vw,78px)}
.motion-ready [data-reveal]{opacity:1;transform:translateY(24px);transition:transform .8s cubic-bezier(.22,1,.36,1)}.motion-ready [data-reveal].is-inview{transform:translateY(0)}
@media(max-width:600px){.hero-line--green{margin-left:0}.service-main h3{font-size:clamp(37px,9.5vw,51px)}.contact h2{font-size:clamp(35px,9vw,47px)}}
@media(max-width:380px){.service-main h3{font-size:36px}.contact h2{font-size:34px}}
.hero{z-index:2}.mission{z-index:1}
.motion-toggle [data-fa="play"],.motion-toggle[data-state="paused"] [data-fa="pause"]{display:none}.motion-toggle[data-state="paused"] [data-fa="play"]{display:inline-block}
/* v24: the curved sheets drift past one another, while type carries the service identity. */
.services{border-radius:58% 42% 0 0/112px 68px 0 0}.recruit{border-radius:34% 66% 0 0/60px 118px 0 0}.access{border-radius:64% 36% 0 0/118px 68px 0 0}.contact{border-radius:38% 62% 0 0/68px 112px 0 0}
.services-intro{position:relative;z-index:1}
.service-main::after{content:"MOWA";right:.02em;bottom:-.14em;font-size:clamp(130px,17vw,250px);letter-spacing:-.1em;color:rgba(0,93,42,.1)}
.reel-item:nth-child(1){width:clamp(245px,23vw,330px);clip-path:polygon(16% 0,100% 0,82% 100%,0 100%);border-radius:0}.reel-item:nth-child(2){width:clamp(255px,25vw,360px);border-radius:48% 48% 42% 42%/35% 35% 31% 31%;transform:translateY(17px)}.reel-item:nth-child(3){width:clamp(250px,24vw,345px);border-radius:25px 130px 25px 130px}.reel-item:nth-child(4){width:clamp(245px,23vw,330px);clip-path:polygon(0 0,86% 0,100% 100%,14% 100%);border-radius:0;transform:translateY(-10px)}.reel-item:nth-child(5){width:clamp(255px,25vw,355px);border-radius:44% 44% 44% 44%/38% 38% 38% 38%}.reel-item:nth-child(6){width:clamp(250px,24vw,345px);border-radius:120px 25px 120px 25px}
@media(max-width:600px){.services{border-radius:58% 42% 0 0/75px 44px 0 0}.recruit{border-radius:34% 66% 0 0/42px 78px 0 0}.access{border-radius:64% 36% 0 0/78px 46px 0 0}.contact{border-radius:38% 62% 0 0/45px 76px 0 0}.service-main::after{font-size:170px;bottom:-.12em}.reel-item:nth-child(n){width:215px}}
.service-brand{margin-top:25px;font:900 clamp(34px,3.6vw,54px)/1.2 var(--latin);letter-spacing:-.065em;overflow-wrap:anywhere}
@media(max-width:600px){.service-brand{margin-top:18px;font-size:clamp(31px,8vw,42px)}}
.service-main-head>.service-brand{margin-top:25px;font:900 clamp(34px,3.6vw,54px)/1.2 var(--latin);letter-spacing:-.065em;overflow-wrap:anywhere}
@media(max-width:600px){.service-main-head>.service-brand{margin-top:18px;font-size:clamp(31px,8vw,42px)}}
.hero-line--green,.service-main-head>.service-brand,.recruit-top>span{translate:var(--drift,0px) 0;will-change:translate}.recruit-reel:hover .reel-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero-line--green,.service-main-head>.service-brand,.recruit-top>span{translate:0 0}}
@media(max-width:600px){.recruit-copy h2 br{display:revert}.recruit h2{font-size:clamp(38px,10.5vw,58px)}}

/* v25 — images and typography connect the sections; no boundary is a standalone arch. */
.eyebrow{font-size:14px;letter-spacing:.055em;line-height:1.55}
.hero-eyebrow,.hero-callout .eyebrow{font-size:13px}
.pill:hover{transform:none}
.recruit-reel:hover .reel-track{animation-play-state:running}
.recruit-reel.is-paused .reel-track,.recruit-reel.is-paused:hover .reel-track{animation-play-state:paused}

.hero{min-height:1040px}
.hero-inner{position:relative;z-index:2}
.hero-photo{position:absolute;z-index:3;left:0;bottom:-126px;width:59%;height:316px;overflow:hidden;clip-path:polygon(0 0,100% 0,90% 100%,0 100%);animation:photo-appear 1.15s .45s both cubic-bezier(.22,1,.36,1)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% 47%}
.hero-callout{z-index:5;bottom:-96px}
.mission-inner{padding-top:310px}
.values{padding-bottom:235px}
@keyframes photo-appear{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}

.services{margin-top:0;padding:235px 0 205px;border-radius:0;overflow:visible}
.services::before{content:"SERVICE";position:absolute;top:-.48em;left:2%;color:var(--dark);font:900 clamp(105px,18vw,260px)/1 var(--latin);letter-spacing:-.09em;white-space:nowrap;pointer-events:none}
.services-bridge{position:absolute;z-index:4;right:6%;top:-176px;width:min(34%,520px);height:318px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 100%,15% 100%)}
.services-bridge img{width:100%;height:110%;object-fit:cover;object-position:61% 50%;translate:0 var(--drift,0px)}
.services-inner{position:relative;z-index:1}
.services-intro{padding:30px 0 105px}
.services-intro .eyebrow{font-size:14px}
.service-stack{overflow:hidden;background:var(--green);color:var(--dark);border-radius:124px 14px 124px 14px}
.service-card{position:relative;display:grid;grid-template-columns:47% 53%;grid-template-rows:auto 1fr;min-height:690px;padding:82px 0 82px 6.5%;isolation:isolate}
.service-card:not(:last-child)::after{content:"";position:absolute;bottom:0;left:6.5%;right:6.5%;height:1px;background:rgba(18,74,36,.32)}
.service-card::before{content:attr(data-service);position:absolute;z-index:-1;right:4%;top:8%;font:900 clamp(215px,26vw,390px)/1 var(--latin);letter-spacing:-.12em;color:rgba(11,114,51,.1);pointer-events:none}
.service-card-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;grid-column:1;grid-row:1/-1;padding-right:8%;min-width:0}
.service-card-meta{display:flex;align-items:center;gap:27px}
.service-card-meta .service-index{font-size:45px}
.service-card-meta p{font-size:14px;font-weight:800;letter-spacing:.02em}
.service-card h3{margin-top:45px;font-size:clamp(43px,4.2vw,64px);line-height:1.32;letter-spacing:-.07em}
.service-keyword{margin-top:16px;font:900 clamp(25px,2.5vw,38px)/1.15 var(--latin);letter-spacing:-.07em;overflow-wrap:anywhere}
.service-description{max-width:480px;margin-top:44px;font-size:15px;font-weight:700;line-height:1.9}
.service-detail{margin:21px 0 27px;font-size:13px;font-weight:800;line-height:1.75}
.service-detail small{font-size:11px;font-weight:700}
.service-card .pill{margin-top:auto}
.service-card-photo{grid-column:2;grid-row:1/-1;align-self:stretch;margin:0 0 0 0;min-width:0;min-height:0;overflow:hidden;clip-path:polygon(13% 0,100% 0,100% 87%,85% 100%,0 100%,0 14%)}
.service-card-photo img{width:100%;height:100%;min-height:526px;object-fit:cover;object-position:center;filter:saturate(.85)}
.service-card[data-service="01"] .service-card-photo img{object-position:55% center}
.service-card[data-service="02"] .service-card-photo img{object-position:55% center}
.service-card[data-service="03"] .service-card-photo img{object-position:48% center}
.motion-ready .service-card-photo{clip-path:polygon(20% 0,100% 0,100% 87%,85% 100%,7% 100%,7% 14%);transition:clip-path 1.05s cubic-bezier(.22,1,.36,1)}
.motion-ready .service-card.is-inview .service-card-photo{clip-path:polygon(13% 0,100% 0,100% 87%,85% 100%,0 100%,0 14%)}
.process{margin-top:130px}

.recruit{margin-top:0;padding:0 0 135px;border-radius:0;overflow:visible}
.recruit-reel{position:relative;z-index:4;top:-120px;margin:0 0 -12px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.reel-track{animation-duration:46s}
.reel-item{width:clamp(270px,26vw,370px)!important;height:230px;border-radius:0!important;transform:none!important;clip-path:none!important;overflow:hidden}
.reel-item--photo{clip-path:polygon(13% 0,100% 0,87% 100%,0 100%)!important;background:#d6dfd5}
.reel-item--photo img{width:100%;height:100%;object-fit:cover}
.reel-item--text{clip-path:polygon(0 0,88% 0,100% 100%,12% 100%)!important}
.reel-item--text:nth-child(4n){background:var(--paper);color:var(--dark)}
.recruit-top,.recruit-copy{position:relative;z-index:2}
.recruit-copy{margin-top:30px}
.motion-toggle{margin-top:55px}

.access{margin-top:0;padding:235px 0 220px;border-radius:0;overflow:visible}
.access-bridge{position:absolute;z-index:5;top:-105px;right:7%;width:min(30%,450px);height:300px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 80%,80% 100%,0 100%)}
.access-bridge img{width:100%;height:110%;object-fit:cover;object-position:center 55%;translate:0 var(--drift,0px)}
.contact{margin-top:0;padding:210px 0 70px;border-radius:0;overflow:visible}
.contact-running{position:absolute;z-index:4;top:-57px;left:-2%;width:104%;height:114px;display:flex;align-items:center;overflow:hidden;background:var(--green);color:var(--dark);transform:rotate(-2deg);pointer-events:none}
.contact-running span{display:block;width:max-content;white-space:nowrap;font:900 clamp(49px,7vw,104px)/1 var(--sans);letter-spacing:-.08em;animation:contact-roll 24s linear infinite}
@keyframes contact-roll{to{transform:translateX(-28%)}}

@media(max-width:1100px){.hero{min-height:900px}.hero-photo{height:270px;bottom:-110px}.mission-inner{padding-top:260px}.service-card{min-height:630px}.service-card h3{font-size:clamp(40px,4.2vw,54px)}.service-card-photo img{min-height:470px}.services-bridge{height:270px;top:-140px}.services{padding-top:210px}}
@media(max-width:800px){.hero{min-height:840px}.hero-photo{width:61%;height:230px;bottom:-75px}.mission-inner{padding-top:230px}.services-bridge{width:40%;height:230px;top:-115px}.services{padding-top:190px}.service-stack{border-radius:90px 10px 90px 10px}.service-card{grid-template-columns:49% 51%;min-height:570px;padding:60px 0 60px 6%}.service-card h3{font-size:clamp(35px,4.7vw,47px)}.service-keyword{font-size:clamp(24px,3vw,32px)}.service-description{margin-top:30px;font-size:13px}.service-detail{font-size:11px}.service-card-photo img{min-height:450px}.recruit-reel{top:-100px}.reel-item{height:190px}.access{padding-top:200px}.access-bridge{height:250px;top:-85px}}
@media(max-width:600px){
  .eyebrow,.services-intro .eyebrow{font-size:12px}.hero-eyebrow,.hero-callout .eyebrow{font-size:11.5px}
  .hero{min-height:835px}.hero-inner{padding-top:145px}.hero-photo{left:0;bottom:-19px;width:73%;height:188px;clip-path:polygon(0 0,100% 0,84% 100%,0 100%)}.hero-photo img{object-position:65% center}.hero-callout{bottom:-155px;width:81%;min-height:245px;padding:35px 8% 35px 10%;border-radius:80px 0 0 80px}.hero-callout-title{font-size:27px}
  .mission-inner{padding-top:295px}.values{padding-bottom:158px}
  .services{margin-top:0;padding:165px 0 150px;border-radius:0}.services::before{font-size:23vw;top:-.44em}.services-bridge{top:-89px;right:0;width:66%;height:169px;clip-path:polygon(0 0,100% 0,100% 100%,18% 100%)}.services-intro{padding:28px 0 66px}.services-intro h2{font-size:clamp(47px,11vw,67px)}
  .service-stack{width:116%;margin-left:-8%;border-radius:72px 8px 72px 8px}
  .service-card{display:flex;flex-direction:column;min-height:0;padding:54px 7% 62px}
  .service-card:not(:last-child)::after{left:7%;right:7%}
  .service-card::before{top:15%;font-size:58vw}
  .service-card-copy{display:contents}
  .service-card-meta{order:0;gap:15px}.service-card-meta .service-index{font-size:38px}.service-card-meta p{font-size:12px}
  .service-card h3{order:1;margin-top:25px;font-size:clamp(38px,9.4vw,52px)}
  .service-keyword{order:2;margin-top:13px;font-size:clamp(26px,7vw,35px)}
  .service-card-photo{order:3;width:115%;height:230px;min-height:0;margin:32px -7% 0 0;align-self:flex-end;clip-path:polygon(12% 0,100% 0,100% 88%,85% 100%,0 100%,0 15%)}
  .service-card-photo img{min-height:0;height:100%}
  .service-description{order:4;margin-top:28px;font-size:12px;line-height:1.9}
  .service-detail{order:5;margin:15px 0 19px;font-size:11px}
  .service-card .pill{order:6;align-self:flex-start;margin-top:0}
  .process{margin-top:85px}
  .recruit{padding:0 0 110px;border-radius:0}.recruit-reel{top:-72px;margin-bottom:-8px}.reel-group{gap:12px}.reel-item{width:230px!important;height:150px}.recruit-copy{margin-top:25px}.motion-toggle{margin-top:38px}
  .access{padding:198px 0 170px;border-radius:0}.access-bridge{top:-74px;right:0;width:58%;height:170px}.access-heading{position:relative;z-index:6}
  .contact{padding:155px 0 48px;border-radius:0}.contact-running{top:-35px;height:70px}.contact-running span{font-size:44px}
}
@media(max-width:380px){.hero{min-height:815px}.hero-photo{height:170px}.hero-callout{bottom:-148px}.service-card h3{font-size:37px}.service-keyword{font-size:25px}.service-card-photo{height:205px}}
@media(prefers-reduced-motion:reduce){.hero-photo,.contact-running span{animation:none!important}.services-bridge img,.access-bridge img{translate:0 0!important}}
@media print{.contact-running span{animation:none}.reel-track{animation:none}}
/* Review fixes: a diagonal ribbon stays within the viewport; the hero photograph remains visible on phones. */
.contact-running{left:0;width:100%;transform:none;clip-path:polygon(0 0,100% 16%,100% 100%,0 84%)}
@media(max-width:600px){.hero-photo{bottom:95px;width:85%;height:240px}.hero-photo img{object-position:67% 43%}}
@media(max-width:380px){.hero-photo{bottom:95px;height:220px}}
@media(max-width:600px){.hero-line--green,.recruit-top>span{translate:0 0!important}}
/* Each service image opens from the edge as its story enters view. */
.motion-ready .service-card-photo{clip-path:polygon(98% 0,100% 0,100% 87%,99% 100%,98% 100%,98% 14%);transition:clip-path 1.25s cubic-bezier(.22,1,.36,1)}

/* v26 — one rounded visual language and a complete first-screen hero. */
:root{--curve:38px;--curve-small:26px}
.hero{height:100svh;min-height:780px;overflow:hidden}
.hero-inner{width:min(1360px,88%);padding:clamp(148px,18vh,192px) 0 0}
.hero-eyebrow{margin-bottom:32px}
.hero h1{font-size:clamp(72px,6.7vw,104px);line-height:1.15}
.hero-line--green{margin-left:0}
.hero-line--last{margin-left:22%}
.hero-bottom{display:block;width:49%;margin-top:29px;font-size:15px}
.hero-bottom>span{display:block;margin-top:14px}
.hero-photo{left:auto;right:5%;top:16%;bottom:auto;width:39%;height:61%;border-radius:var(--curve);clip-path:none;animation:photo-appear 1s .4s both cubic-bezier(.22,1,.36,1)}
.hero-photo img{width:110%;height:110%;object-position:55% center;animation:photo-drift 17s 1.4s ease-in-out infinite alternate}
.hero-callout{left:auto;right:3.5%;bottom:4.5%;width:min(38vw,525px);min-height:0;padding:34px 41px 36px;border-radius:var(--curve);box-shadow:0 18px 55px rgba(11,56,29,.14)}
.hero-callout-title{margin:13px 0 18px;font-size:clamp(27px,2.5vw,36px);line-height:1.32}
.hero-callout .pill{min-height:54px}
@keyframes photo-drift{from{transform:scale(1.07) translateX(-2%)}to{transform:scale(1.07) translateX(2%)}}

.services-bridge{border-radius:var(--curve);clip-path:none}
.services-bridge img{height:115%;object-position:center}
.service-stack{border-radius:var(--curve);overflow:hidden}
.service-card-photo{border-radius:var(--curve-small);clip-path:none!important}
.motion-ready .service-card-photo,.motion-ready .service-card.is-inview .service-card-photo{clip-path:none!important;transition:none}
.service-card-photo img{width:110%;height:110%;max-width:none;min-height:0;animation:photo-drift 13s ease-in-out infinite alternate}
.service-card:nth-child(2) .service-card-photo img{animation-delay:-4s}
.service-card:nth-child(3) .service-card-photo img{animation-delay:-8s}
.reel-item,.reel-item--photo,.reel-item--text{clip-path:none!important;border-radius:var(--curve-small)!important}
.reel-item--photo img{width:110%;height:110%;max-width:none;animation:photo-drift 12s ease-in-out infinite alternate}
.recruit{padding-bottom:175px}
.motion-toggle{display:none!important}

.contact{position:relative;margin-top:0;padding:185px 0 135px;background:#e9f4e9;color:var(--ink);overflow:visible}
.contact-running{top:-47px;left:0;width:100%;height:94px;background:var(--dark);color:var(--green);border-radius:999px;clip-path:none;transform:none}
.contact-running span{font-size:clamp(43px,5.7vw,80px);letter-spacing:-.075em}
.contact .eyebrow{color:#08783a}
.contact-details>p{color:#334d38}
.contact-details>div:nth-child(2) span{border-color:#91ad98}
.contact-actions .pill--green{background:var(--dark);color:#fff}
.contact-actions .pill--green:hover{background:#334b38}
.contact-actions .pill--outline{border-color:var(--dark);color:var(--dark)}
.contact-actions .pill--outline:hover{background:var(--dark);color:#fff}
.site-footer{background:#15231a}
.footer-inner{padding-top:82px}

@media(max-width:1100px){
 .hero{height:100svh;min-height:780px}.hero h1{font-size:clamp(65px,7vw,81px)}.hero-photo{right:4%;width:42%;height:57%}.hero-callout{right:4%;width:42%;padding:30px 34px}.hero-bottom{width:52%}
 .service-card-photo img{height:110%;min-height:0}
}
@media(max-width:800px){
 .hero{height:100svh;min-height:760px}.hero-inner{padding-top:145px}.hero h1{font-size:clamp(56px,7.7vw,66px)}.hero-photo{top:20%;width:43%;height:49%}.hero-callout{right:3%;bottom:4%;width:44%;padding:28px}.hero-callout-title{font-size:27px}.hero-bottom{font-size:13px}
}
@media(max-width:600px){
 .hero{height:100svh;min-height:770px}.hero-inner{width:86%;padding:113px 0 0}.hero-eyebrow{margin-bottom:26px}.hero h1{font-size:clamp(39px,10.6vw,51px);line-height:1.18}.hero-line--last{margin-left:28%}.hero-bottom{width:100%;margin-top:21px;font-size:12px}.hero-bottom>span{display:block;margin-top:5px;font-size:9px}
 .hero-photo{top:auto;right:7%;bottom:190px;left:7%;width:86%;height:clamp(170px,25svh,215px);border-radius:28px}.hero-photo img{width:110%;height:110%;object-position:67% 43%}
 .hero-callout{left:16%;right:0;bottom:0;width:84%;min-height:0;padding:23px 8% 24px 9%;border-radius:30px 0 0 0;box-shadow:none}.hero-callout-title{margin:8px 0 13px;font-size:clamp(23px,6.5vw,27px);line-height:1.3}.hero-callout .pill{min-height:48px}
 .mission-inner{padding-top:150px}.values{padding-bottom:160px}
 .services-bridge{border-radius:28px}.service-stack{border-radius:30px}.service-card-photo{border-radius:22px}
 .reel-item,.reel-item--photo,.reel-item--text{border-radius:22px!important}
 .recruit{padding-bottom:115px}
 .contact{padding:150px 0 95px}.contact-running{top:-35px;height:70px}.contact-running span{font-size:43px}.contact h2{font-size:clamp(37px,9vw,52px)}.contact-actions .pill{justify-content:center}
 .footer-inner{padding-top:70px}
}
@media(max-width:380px){
 .hero{min-height:750px}.hero-inner{padding-top:112px}.hero h1{font-size:38px}.hero-photo{bottom:184px;height:165px}.hero-callout{padding-top:20px;padding-bottom:21px}.hero-callout-title{font-size:22px}.hero-bottom{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){.hero-photo img,.service-card-photo img,.reel-item--photo img{animation:none!important;transform:none!important}}
@media(max-width:600px) and (max-height:740px){
 .hero{height:100svh;min-height:100svh}
 .hero-inner{padding-top:87px}.hero-eyebrow{margin-bottom:16px}.hero h1{font-size:clamp(35px,9.7vw,39px);line-height:1.13}.hero-bottom{margin-top:12px;font-size:11px}.hero-bottom>span{margin-top:3px}
 .hero-photo{bottom:143px;height:clamp(126px,21svh,155px)}
 .hero-callout{padding-top:17px;padding-bottom:16px}.hero-callout-title{margin:6px 0 9px;font-size:21px}.hero-callout .pill{min-height:43px}
}
@media(max-width:600px){.hero-callout{left:11%;right:3%;bottom:12px;width:86%;border-radius:30px}}
@media(max-width:600px) and (min-height:741px){.hero-photo{height:clamp(190px,28svh,245px)}}

/* v27 — photograph-led mission and a vertically composed consultation scene. */
.mission-stage{position:relative;width:min(1360px,88%);height:700px;margin:0 auto 155px}
.mission-image{position:absolute;margin:0;overflow:hidden;border-radius:var(--curve);translate:0 var(--drift,0px)}
.mission-image img{width:100%;height:100%;object-fit:cover}
.mission-image--walk{left:0;top:0;width:41%;height:85%}
.mission-image--walk img{object-position:center 48%}
.mission-image--create{right:0;top:13%;width:46%;height:78%}
.mission-image--create img{object-position:center 48%}
.mission-words{position:absolute;z-index:2;left:32%;top:36%;width:43%;padding:30px 42px;background:var(--green);border-radius:32px;box-shadow:0 20px 55px rgba(18,47,25,.13)}
.mission-words p{display:flex;align-items:center;gap:19px;padding:11px 0;font-size:clamp(20px,2.1vw,30px);font-weight:800;line-height:1.35;letter-spacing:-.045em;white-space:nowrap}
.mission-words p+p{border-top:1px solid rgba(12,75,33,.25)}
.mission-words span{min-width:37px;font:900 25px/1 var(--latin);letter-spacing:-.07em}
.mission-words span::after{content:"";display:inline-block;width:4px}

.contact{padding:125px 0 130px;background:var(--paper);color:var(--ink);overflow:hidden}
.contact-inner{position:relative;display:block;width:min(1360px,88%);height:1050px;margin:auto}
.contact-intro{position:absolute;z-index:3;left:0;top:112px;width:48%}
.contact h2{margin-top:28px;font-size:clamp(51px,5.5vw,78px);line-height:1.3;letter-spacing:-.065em}
.contact-visual{position:absolute;top:0;right:0;width:58%;height:805px;margin:0;overflow:hidden;border-radius:var(--curve)}
.contact-visual img{width:100%;height:112%;object-fit:cover;object-position:center 40%;translate:0 var(--drift,0px)}
.contact-panel{position:absolute;z-index:4;top:645px;left:0;width:67%;min-height:340px;padding:47px 54px 48px;background:var(--green);border-radius:var(--curve);box-shadow:0 22px 60px rgba(20,63,33,.11)}
.contact-panel>p{font-size:clamp(21px,2.15vw,29px);font-weight:800;line-height:1.5;letter-spacing:-.045em}
.contact-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.contact-topics span{padding:5px 13px;border:1px solid rgba(12,72,30,.48);border-radius:99px;font-size:12px;font-weight:800}
.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:37px}
.contact-actions .pill{min-height:60px;width:100%;padding:12px 18px;font-size:13px}
.contact-panel .pill--light{background:#fff;color:var(--dark)}
.contact-panel .pill--light:hover{background:#eaf5ec}
.contact-running{display:none}
.site-footer{background:#15231a}

@media(max-width:1100px){
 .mission-stage{height:610px}.mission-words{left:28%;width:48%;padding:24px 30px}.mission-words p{font-size:clamp(18px,2vw,24px)}
 .contact-inner{height:985px}.contact-intro{top:105px}.contact h2{font-size:clamp(48px,5.3vw,60px)}.contact-visual{height:740px}.contact-panel{top:590px;width:72%}
}
@media(max-width:800px){
 .mission-stage{height:570px;margin-bottom:125px}.mission-words{top:37%;left:23%;width:59%}.mission-words p{font-size:19px}
 .contact{padding-top:100px}.contact-inner{height:900px}.contact-intro{top:70px;width:52%}.contact h2{font-size:48px}.contact-visual{height:690px;width:57%}.contact-panel{top:540px;width:75%;padding:38px}
 .contact-actions{grid-template-columns:1fr 1fr}.contact-actions .pill{font-size:11px}
}
@media(max-width:600px){
 .mission-inner{padding-bottom:70px}
 .mission-stage{width:100%;height:675px;margin:0 0 120px}
 .mission-image{border-radius:28px}
 .mission-image--walk{left:7%;top:0;width:68%;height:390px}
 .mission-image--create{right:0;top:315px;width:69%;height:350px}
 .mission-words{left:7%;top:251px;width:86%;padding:17px 22px;border-radius:25px}
 .mission-words p{gap:10px;padding:9px 0;font-size:clamp(16px,4.9vw,20px)}
 .mission-words span{min-width:30px;font-size:19px}
 .contact{padding:100px 0 94px}
 .contact-inner{display:flex;flex-direction:column;width:86%;height:auto}
 .contact-intro{position:relative;top:auto;left:auto;width:100%}
 .contact h2{margin-top:22px;font-size:clamp(39px,10vw,52px);line-height:1.32}
 .contact-visual{position:relative;top:auto;right:auto;width:100%;height:440px;margin-top:33px;border-radius:28px}
 .contact-visual img{object-position:center 39%}
 .contact-panel{position:relative;top:auto;left:auto;align-self:flex-end;width:94%;min-height:0;margin-top:-78px;padding:31px 8% 34px;border-radius:27px}
 .contact-panel>p{font-size:21px}
 .contact-topics{margin-top:19px}.contact-topics span{font-size:11px}
 .contact-actions{grid-template-columns:1fr;gap:11px;margin-top:26px}
 .contact-actions .pill{min-height:54px;font-size:12px}
}
@media(max-width:380px){
 .mission-stage{height:630px}.mission-image--walk{height:355px}.mission-image--create{top:298px;height:320px}.mission-words{top:237px;padding:15px 17px}.mission-words p{font-size:15px}
 .contact h2{font-size:37px}.contact-visual{height:405px}.contact-panel{padding:27px 8% 30px}.contact-panel>p{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.mission-image,.contact-visual img{translate:0 0!important}}
/* Keep scroll-linked photographs covered at both travel extremes. */
.services-bridge img{height:125%;transform:translateY(-10%)}

/* v28 — rectangular editorial language, full-bleed opening and directional type wipes. */
*,*::before,*::after{border-radius:0!important}
.pill{min-height:58px;padding:12px 26px;border:1px solid currentColor;font-size:13px;gap:15px;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.pill:hover{transform:translateY(-2px)}
.pill--dark{border-color:var(--dark)}
.pill--light{border-color:#fff}
.site-header{top:18px;left:auto;right:3.5%;width:auto}
.header-frame{width:auto;min-height:0;justify-content:flex-end;gap:5px}
.site-header .nav{gap:0;min-height:68px;padding:0 14px;background:#fff;color:#121916;box-shadow:0 7px 28px rgba(0,0,0,.13)}
.site-header .nav-label{min-height:68px;padding:0 clamp(13px,1.7vw,26px);font-size:12px;white-space:nowrap}
.site-header .brand{display:flex;align-items:center;justify-content:center;width:128px;height:68px;padding:0 15px;background:#fff;box-shadow:0 7px 28px rgba(0,0,0,.13)}
.site-header .brand img{filter:brightness(0)}
.hero{height:100svh;min-height:720px;background:#111b16;color:#fff;overflow:hidden}
.hero::before{display:none}
.hero-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;clip-path:none;animation:none}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%;animation:hero-pan 22s ease-in-out infinite alternate}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,17,13,.81) 0%,rgba(9,17,13,.53) 43%,rgba(9,17,13,.14) 75%),linear-gradient(0deg,rgba(5,12,8,.86),transparent 49%)}
.hero-inner{position:absolute;z-index:2;left:6%;bottom:11%;width:72%;margin:0;padding:0}
.hero-eyebrow{margin-bottom:25px;color:#fff;font:800 12px/1.4 Arial,sans-serif;letter-spacing:.11em}
.hero-eyebrow span{color:var(--green)}
.hero h1{font-size:clamp(60px,6.7vw,106px);line-height:1.18;letter-spacing:-.075em;white-space:normal}
.hero-bottom{display:flex;align-items:end;justify-content:space-between;width:min(750px,84%);margin-top:35px;font-size:17px;line-height:1.65}
.hero-bottom>span{display:block;margin:0;color:#d9e3dd;font-size:10px}
.hero-callout{position:absolute;z-index:4;right:3.5%;bottom:6%;width:300px;min-height:0;padding:0;background:transparent;color:#fff;box-shadow:none}
.hero-callout .eyebrow{color:var(--green);font-size:11px}
.hero-callout-title{margin:12px 0 22px;font-size:27px;line-height:1.35}
.hero-callout .pill{width:100%;min-height:58px;background:#fff;color:var(--dark);font-size:13px}
.hero-callout .pill:hover{background:var(--green);border-color:var(--green)}
@keyframes hero-pan{from{transform:scale(1.025) translateX(-.5%)}to{transform:scale(1.06) translateX(1.5%)}}

.wipe-line{position:relative;display:block;width:max-content;max-width:100%;overflow:hidden}
.wipe-text{display:block;opacity:1}
.motion-ready [data-wipe] .wipe-text{opacity:0}
.motion-ready [data-wipe].is-inview .wipe-text{animation:wipe-type .55s both cubic-bezier(.22,1,.36,1)}
.motion-ready [data-wipe].is-inview .wipe-line::after{content:"";position:absolute;z-index:2;inset:0;background:var(--green);transform-origin:left center;animation:wipe-block 1.05s both cubic-bezier(.75,0,.18,1)}
.motion-ready [data-wipe].is-inview .wipe-line:nth-child(2)::after,.motion-ready [data-wipe].is-inview .wipe-line:nth-child(2) .wipe-text{animation-delay:.17s}
.motion-ready [data-wipe].is-inview .wipe-line:nth-child(3)::after,.motion-ready [data-wipe].is-inview .wipe-line:nth-child(3) .wipe-text{animation-delay:.34s}
@keyframes wipe-block{0%{transform:scaleX(0);transform-origin:left}43%{transform:scaleX(1);transform-origin:left}44%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
@keyframes wipe-type{0%,39%{opacity:0;transform:translateY(14%)}40%,100%{opacity:1;transform:translateY(0)}}

.mission{background:var(--paper)}
.mission-inner{display:block;width:min(1360px,88%);padding:165px 0 85px}
.mission-heading .eyebrow{margin-bottom:32px;font-size:13px}
.mission-heading .eyebrow span{color:var(--green)}
.mission h2{font-size:clamp(73px,8.4vw,126px);line-height:1.12;letter-spacing:-.08em}
.mission h2 span{margin-left:0}
.mission-copy{display:grid;grid-template-columns:1fr 1fr;gap:7%;max-width:650px;margin:44px 0 0 auto;padding:0}
.mission-copy p:first-child{font-size:21px;line-height:1.55}
.mission-copy p:last-child{margin:0;font-size:14px;line-height:1.95}
.mission-stage{width:min(1360px,88%);height:735px;margin-bottom:175px}
.mission-image{translate:0 var(--drift,0px)}
.mission-image--walk{left:0;top:0;width:53%;height:580px}
.mission-image--create{right:0;top:85px;width:41%;height:500px}
.mission-words{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;left:0;top:auto;bottom:0;width:100%;padding:24px 0 0;background:transparent;box-shadow:none;border-top:2px solid var(--dark)}
.mission-words p{display:block;padding:0;font-size:clamp(19px,2vw,27px);white-space:normal}
.mission-words p+p{border:0}
.mission-words span{display:block;margin-bottom:11px;color:#057b35;font-size:24px}
.mission-words span::after{display:none}

.services{position:relative;z-index:2;margin-top:0;padding:235px 0 190px;overflow:visible}
.services::before{z-index:5;top:-.51em;left:3%;color:transparent;background:linear-gradient(to bottom,var(--dark) 0%,var(--dark) 49.5%,#fff 50%,#fff 100%);background-clip:text;-webkit-background-clip:text;font-size:clamp(105px,18vw,260px);line-height:1;letter-spacing:-.09em}
.services-intro{padding-top:5px}
.services-intro h2 span{color:inherit}
.service-stack{background:var(--green)}
.service-card-photo,.reel-item,.mission-image,.contact-visual{overflow:hidden}
.recruit{padding-bottom:150px}
.recruit-reel{mask-image:none}
.contact-panel{box-shadow:none}
.contact-topics span{padding:7px 12px;border-color:rgba(12,72,30,.52)}

@media(max-width:1100px){
 .site-header .nav-label{padding:0 14px;font-size:11px}
 .hero h1{font-size:clamp(58px,6.7vw,82px)}
 .hero-inner{width:70%}.hero-callout{width:255px}
 .mission-stage{height:655px}.mission-image--walk{height:510px}.mission-image--create{height:450px}
}
@media(max-width:800px){
 .site-header{top:14px;right:5%}.header-frame{min-height:0;gap:5px}
 .site-header .brand{width:112px;height:58px}
 .menu-toggle{display:flex;align-items:center;justify-content:center;gap:9px;order:2;height:58px;min-width:100px;padding:0 14px;background:#fff;border:0;color:#111;box-shadow:0 7px 28px rgba(0,0,0,.13)}
 .site-header .nav{display:none;position:absolute;top:63px;left:auto;right:0;width:270px;min-height:0;padding:10px 17px;background:#fff;color:#111}
 .site-header .nav.open{display:flex;flex-direction:column;align-items:stretch}
 .site-header .nav-label{min-height:52px;padding:0 10px;border-bottom:1px solid #d7ddd8;font-size:12px}
 .no-js .site-header{position:absolute}.no-js .header-frame{height:auto;padding:0}.no-js .nav{position:absolute;top:63px;right:0;display:flex;width:270px;padding:10px 17px;background:#fff;color:#111}
 .hero-inner{left:6%;bottom:13%;width:68%}.hero h1{font-size:clamp(52px,7vw,64px)}.hero-bottom{width:100%;font-size:14px}.hero-callout{right:5%;width:235px}
 .mission-inner{padding:130px 0 75px}.mission h2{font-size:clamp(68px,9vw,86px)}
 .mission-stage{height:575px;margin-bottom:140px}.mission-image--walk{height:425px}.mission-image--create{height:390px}.mission-words{gap:14px}
 .services{padding-top:180px}.services::before{font-size:18vw}
}
@media(max-width:600px){
 .site-header{top:10px;right:5%}.site-header .brand{width:103px;height:52px;padding:0 12px}.menu-toggle{height:52px;min-width:86px;font-size:11px}.menu-toggle .fa-icon{font-size:15px}.site-header .nav,.no-js .nav{top:57px;right:0;width:min(270px,90vw)}
 .hero{height:100svh;min-height:100svh}.hero-photo{inset:0;width:100%;height:100%}.hero-photo img{width:100%;height:100%;object-position:62% center}.hero-photo::after{background:linear-gradient(0deg,rgba(5,12,8,.93) 0%,rgba(5,12,8,.67) 47%,rgba(5,12,8,.06) 93%)}
 .hero-inner{left:7%;bottom:192px;width:86%;padding:0}.hero-eyebrow{margin-bottom:16px;font-size:9px}.hero h1{font-size:clamp(38px,10.1vw,53px);line-height:1.17;letter-spacing:-.085em}.hero-bottom{width:100%;margin-top:18px;font-size:11px;line-height:1.55}.hero-bottom>span{display:none}
 .hero-callout{left:7%;right:7%;bottom:18px;width:86%;padding:0}.hero-callout .eyebrow{font-size:9px}.hero-callout-title{margin:6px 0 11px;font-size:20px;line-height:1.3}.hero-callout .pill{width:100%;min-height:47px;font-size:11px}
 .mission-inner{width:86%;padding:110px 0 52px}.mission-heading .eyebrow{margin-bottom:22px;font-size:10px}.mission h2{font-size:clamp(43px,11.6vw,61px);line-height:1.18}.mission-copy{display:block;margin:30px 0 0 13%}.mission-copy p:first-child{font-size:18px}.mission-copy p:last-child{margin-top:12px;font-size:12px}
 .mission-stage{width:100%;height:665px;margin-bottom:110px}.mission-image--walk{left:0;top:0;width:69%;height:330px}.mission-image--create{right:0;top:105px;width:58%;height:305px}.mission-words{display:block;left:7%;bottom:0;width:86%;padding-top:13px;border-top:2px solid var(--dark)}.mission-words p{display:flex;align-items:baseline;gap:17px;padding:7px 0;font-size:18px}.mission-words span{min-width:27px;margin:0;font-size:18px}
 .services{padding:135px 0 145px}.services::before{top:-.49em;left:3%;font-size:22vw}.services-intro{padding-top:15px}
 .service-stack{width:116%;margin-left:-8%}.service-card-photo{clip-path:none!important}.motion-ready .service-card-photo{clip-path:none!important}
 .reel-item{width:230px!important}
 .contact{padding-top:100px}.contact-panel{width:100%;margin-top:-40px}.contact-visual{width:100%}
}
@media(max-width:380px){
 .hero-inner{bottom:181px}.hero h1{font-size:37px}.hero-callout-title{font-size:18px}.hero-callout .pill{min-height:44px}
 .mission-stage{height:620px}.mission-image--walk{height:295px}.mission-image--create{height:275px}.mission-words p{font-size:16px}
}
@media(max-width:600px) and (max-height:740px){.hero-inner{bottom:174px}.hero-eyebrow{margin-bottom:10px}.hero-bottom{margin-top:11px}.hero-callout{bottom:10px}.hero-callout-title{font-size:18px;margin:4px 0 8px}.hero-callout .pill{min-height:42px}}
@media(prefers-reduced-motion:reduce){.hero-photo img{animation:none!important}.motion-ready [data-wipe] .wipe-text{opacity:1!important;animation:none!important}.motion-ready [data-wipe] .wipe-line::after{display:none!important}}
.contact-visual img{height:122%;transform:translateY(-10%)}

/* v29 — framed service photography and image motion beyond the recruitment reel. */
.service-card-photo{margin-right:12%}
.motion-ready .service-card-photo{clip-path:inset(0 100% 0 0)!important;transition:clip-path 1.15s cubic-bezier(.22,1,.36,1)}
.motion-ready .service-card.is-inview .service-card-photo{clip-path:inset(0 0 0 0)!important}
.mission-image img{width:110%;height:110%;max-width:none;animation:mission-image-pan 16s ease-in-out infinite alternate}
.mission-image--create img{animation-direction:alternate-reverse;animation-duration:13s}
@keyframes mission-image-pan{from{transform:translate(-5%,-3%) scale(1.01)}to{transform:translate(0,0) scale(1.035)}}

.news{position:relative;z-index:1;padding:135px 0 120px;background:var(--paper);overflow:hidden}
.news-inner{display:grid;grid-template-columns:47% 53%;align-items:center;width:min(1360px,88%);min-height:520px;margin:auto}
.news-copy{position:relative;z-index:2;align-self:center;padding:25px 0}
.news-copy .eyebrow{margin-bottom:27px;font-size:13px}
.news h2{font:900 clamp(105px,13vw,190px)/.95 var(--latin);letter-spacing:-.105em;color:var(--dark)}
.news-empty{max-width:420px;margin-top:52px;padding-top:21px;border-top:2px solid var(--dark);font-size:18px;font-weight:800;line-height:1.6}
.news-motion{position:relative;height:520px;overflow:visible}
.news-photo{position:absolute;display:block;margin:0;overflow:hidden;background:var(--mist)}
.news-photo--one{top:3%;left:4%;width:81%;height:45%;animation:news-float-one 7s ease-in-out infinite alternate}
.news-photo--two{right:0;bottom:0;width:78%;height:43%;animation:news-float-two 8s ease-in-out infinite alternate}
.news-photo img{width:100%;height:100%;object-fit:cover}
.news-photo--one img{object-position:69% 44%}
.news-photo--two img{object-position:68% 54%}
@keyframes news-float-one{from{transform:translateY(14px)}to{transform:translateY(-15px)}}
@keyframes news-float-two{from{transform:translateY(-13px)}to{transform:translateY(18px)}}
.contact{padding-top:105px}

@media(max-width:800px){
 .news{padding:105px 0 90px}.news-inner{min-height:420px}.news h2{font-size:clamp(78px,13vw,112px)}.news-motion{height:420px}.news-empty{margin-top:36px;font-size:15px}
}
@media(max-width:600px){
 .service-card-photo{width:100%;height:230px;margin:30px 0 0;align-self:stretch}
 .news{padding:85px 0 90px}.news-inner{display:block;width:86%;min-height:0}.news-copy{padding:0}.news-copy .eyebrow{margin-bottom:18px;font-size:11px}.news h2{font-size:clamp(85px,24vw,112px)}.news-empty{margin-top:28px;padding-top:16px;font-size:14px}
 .news-motion{height:365px;margin-top:38px}.news-photo--one{left:0;top:0;width:83%;height:48%}.news-photo--two{right:0;bottom:0;width:78%;height:47%}
 .contact{padding-top:90px}
}
@media(max-width:380px){.service-card-photo{height:205px}.news-motion{height:330px}}
@media(prefers-reduced-motion:reduce){.mission-image img,.news-photo{animation:none!important}.motion-ready .service-card-photo{clip-path:none!important;transition:none!important}}

/* v30 — HARE's section rhythm, Trigger's own content and visual language. */
.hero{height:100svh;min-height:720px;background:#111915}
.hero-carousel{position:absolute;inset:0;overflow:hidden}
.hero-slides{display:flex;width:100%;height:100%;transition:transform .9s cubic-bezier(.76,0,.24,1);will-change:transform}
.hero-slide{position:relative;flex:0 0 100%;height:100%;margin:0;overflow:hidden}
.hero-slide img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block}
.hero-slide:nth-child(1) img{object-position:57% center}
.hero-slide:nth-child(2) img{object-position:52% center}
.hero-slide:nth-child(3) img{object-position:50% center}
.hero-slide:nth-child(4) img{object-position:63% center}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(5,13,8,.68),transparent 33%),linear-gradient(90deg,rgba(5,13,8,.14),transparent 40%)}
.hero-bottom-bar{position:absolute;z-index:4;right:4%;bottom:40px;left:4%;display:flex;align-items:end;justify-content:space-between;gap:36px}
.hero-slide-nav{display:flex;align-items:center;gap:25px;color:#fff}
.hero-slide-number{min-width:56px;font:800 12px/1 Arial,sans-serif;letter-spacing:.12em}
.hero-indicators{display:flex;gap:9px}
.hero-indicator{position:relative;display:block;width:clamp(47px,5.8vw,85px);height:28px;padding:0;border:0;background:transparent}
.hero-indicator span{display:block;width:100%;height:3px;background:rgba(255,255,255,.65);transition:background .25s ease,transform .25s ease}
.hero-indicator.is-active span{background:var(--green);transform:scaleY(1.7)}
.hero-cta{min-width:278px;background:var(--green);border-color:var(--green);color:var(--dark);box-shadow:0 8px 30px rgba(0,0,0,.16)}
.hero-cta:hover{background:#fff;border-color:#fff}
.no-js .hero-indicators{display:none}

.mission-inner{padding-top:150px;padding-bottom:78px}
.mission-kicker{font-size:13px;letter-spacing:.11em}
.mission-kicker span{color:var(--green)}
.mission-principles{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:920px;margin:70px 0 110px auto}
.mission-principles>div{min-height:220px;padding:30px 32px;border:1px solid #a5b3a8;background:#fff}
.mission-principles span{display:block;margin-bottom:31px;color:#067e38;font:900 16px/1.2 var(--latin);letter-spacing:.03em}
.mission-principles p{font-size:clamp(22px,2.25vw,32px);font-weight:800;line-height:1.55;letter-spacing:-.055em}
.mission h1{font-size:clamp(70px,8.1vw,116px);line-height:1.15;letter-spacing:-.08em}
.mission-heading>p{max-width:550px;margin:34px 0 0 auto;font-size:16px;font-weight:700;line-height:2}
.mission-stage{margin-top:0}

.services{padding-bottom:180px}
.services-inner>.service-stack{margin-bottom:0}

.facts{position:relative;background:#e8ede6;color:var(--dark);padding:145px 0 165px;overflow:hidden}
.facts::after{content:"TRIGGER";position:absolute;bottom:-.22em;left:0;color:rgba(18,37,25,.045);font:900 clamp(140px,20vw,310px)/1 var(--latin);letter-spacing:-.09em;white-space:nowrap;pointer-events:none}
.facts-inner{position:relative;z-index:1;width:min(1360px,88%);margin:auto}
.facts-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:5%;margin-bottom:67px}
.facts-heading .eyebrow{grid-column:1/-1;color:#056f31;font-size:13px}
.facts h2{font-size:clamp(54px,6vw,83px);line-height:1.2;letter-spacing:-.075em}
.facts-heading>p:last-child{align-self:end;padding-bottom:9px;font-size:16px;font-weight:700}
.facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0}
.fact{min-height:228px;padding:27px 25px;background:#fff}
.fact dt{font-size:12px;font-weight:800;letter-spacing:.02em}
.fact dd{display:flex;align-items:baseline;gap:7px;margin:44px 0 0;white-space:nowrap}
.fact strong{font:900 clamp(45px,5vw,71px)/1 var(--latin);letter-spacing:-.09em;color:#067e38}
.fact dd span{font-size:15px;font-weight:800}
.fact--license dd{margin-top:55px}
.fact--license strong{font:900 clamp(19px,2vw,28px)/1.2 var(--latin);letter-spacing:-.055em}

.matching{background:var(--paper);padding:155px 0 145px}
.matching-inner{width:min(1360px,88%);margin:auto}
.matching-heading{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:end;margin-bottom:70px}
.matching-heading .eyebrow{grid-column:1/-1;color:#067e38;font-size:13px}
.matching h2{font-size:clamp(58px,6vw,88px);line-height:1.22;letter-spacing:-.075em}
.matching-heading>p:last-child{max-width:350px;padding-bottom:12px;font-size:16px;font-weight:700;line-height:1.85}
.matching-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.matching-card{display:flex;flex-direction:column;min-height:655px;background:#fff;overflow:hidden}
.matching-card-copy{padding:44px 48px 34px}
.matching-card-copy>span{font:900 12px/1 var(--latin);color:#067e38;letter-spacing:.1em}
.matching-card h3{margin-top:25px;font-size:clamp(35px,3.6vw,51px);line-height:1.35;letter-spacing:-.065em}
.matching-card p{max-width:400px;margin-top:21px;font-size:14px;font-weight:700;line-height:1.9}
.matching-card figure{height:300px;margin:auto 0 0;overflow:hidden}
.matching-card img{width:100%;height:110%;max-width:none;object-fit:cover;animation:matching-pan 14s ease-in-out infinite alternate}
.matching-card:nth-child(2) img{object-position:center 40%;animation-direction:alternate-reverse}
@keyframes matching-pan{from{transform:translateY(-3%) scale(1.03)}to{transform:translateY(0) scale(1.08)}}
.matching-cta{display:flex;width:max-content;margin:34px 0 0 auto}
.news{padding-top:115px}

@media(max-width:1100px){
 .facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fact{min-height:205px}.fact dd{margin-top:34px}
 .matching-card{min-height:610px}.matching-card-copy{padding:35px}.matching-card figure{height:270px}
}
@media(max-width:800px){
 .mission-principles{margin-top:55px;margin-bottom:80px}.mission-principles>div{min-height:200px;padding:25px}.mission-principles p{font-size:22px}.mission h1{font-size:clamp(58px,8vw,73px)}
 .facts,.matching{padding-top:120px;padding-bottom:120px}.fact strong{font-size:60px}.fact--license strong{font-size:27px}
 .matching-card{min-height:560px}.matching-card h3{font-size:34px}.matching-card-copy{padding:30px}.matching-card figure{height:240px}
}
@media(max-width:600px){
 .hero{height:100svh;min-height:100svh}.hero-slide:nth-child(1) img{object-position:72% center}.hero-slide:nth-child(2) img{object-position:84% center}.hero-slide:nth-child(3) img{object-position:36% center}.hero-slide:nth-child(4) img{object-position:70% center}
 .hero-bottom-bar{right:7%;bottom:22px;left:7%;display:block}.hero-slide-nav{gap:13px;margin-bottom:19px}.hero-slide-number{min-width:47px;font-size:10px}.hero-indicator{width:clamp(37px,10vw,53px);height:20px}.hero-indicator span{height:2px}.hero-cta{display:flex;width:100%;min-width:0;min-height:52px;justify-content:center;font-size:12px}
 .mission-inner{padding-top:100px;padding-bottom:55px}.mission-kicker{font-size:10px}.mission-principles{grid-template-columns:1fr 1fr;gap:8px;margin:35px 0 72px}.mission-principles>div{min-height:170px;padding:17px 13px}.mission-principles span{margin-bottom:28px;font-size:10px}.mission-principles p{font-size:clamp(14px,4vw,17px);line-height:1.55}
 .mission h1{font-size:clamp(39px,10vw,52px);line-height:1.2}.mission-heading>p{margin-top:23px;font-size:12px;line-height:1.85}.mission-heading>p br{display:none}
 .facts{padding:95px 0 105px}.facts-inner{width:86%}.facts-heading{display:block;margin-bottom:35px}.facts-heading .eyebrow{font-size:11px}.facts h2{margin-top:17px;font-size:clamp(42px,11vw,55px)}.facts-heading>p:last-child{margin-top:15px;font-size:12px}.facts-grid{gap:9px}.fact{min-height:156px;padding:18px 15px}.fact dt{font-size:10px}.fact dd{display:block;margin-top:31px}.fact strong{font-size:clamp(31px,9vw,43px)}.fact dd span{display:block;margin-top:5px;font-size:11px}.fact--license dd{margin-top:28px}.fact--license strong{font-size:clamp(15px,4.5vw,19px)}
 .matching{padding:100px 0 105px}.matching-inner{width:86%}.matching-heading{display:block;margin-bottom:39px}.matching-heading .eyebrow{font-size:11px}.matching h2{margin-top:19px;font-size:clamp(43px,11vw,58px)}.matching-heading>p:last-child{margin-top:18px;font-size:12px}.matching-pair{display:block}.matching-card{min-height:0}.matching-card+.matching-card{margin-top:14px}.matching-card-copy{padding:27px 25px 25px}.matching-card-copy>span{font-size:10px}.matching-card h3{margin-top:15px;font-size:clamp(29px,7.5vw,37px)}.matching-card p{margin-top:13px;font-size:11px}.matching-card figure{height:195px;margin:0}.matching-cta{width:100%;margin-top:20px}
 .news{padding-top:85px}
}
@media(max-width:380px){.mission-principles>div{min-height:156px}.mission-principles p{font-size:13px}.mission h1{font-size:37px}.fact{padding:15px 12px}.fact--license strong{font-size:14px}.matching-card figure{height:165px}}
@media(prefers-reduced-motion:reduce){.hero-slides{transition:none!important}.matching-card img{animation:none!important}}

/* v31 — the green plate crosses an empty line, then uncovers its copy. */
.js-ready [data-wipe] .wipe-text{opacity:0}
.motion-ready [data-wipe].is-inview .wipe-text{animation:copy-after-plate 1.08s both linear}
.motion-ready [data-wipe].is-inview .wipe-line::after{transform:translateX(-102%);animation:green-plate-sweep 1.08s both cubic-bezier(.72,0,.22,1)}
@keyframes green-plate-sweep{0%{transform:translateX(-102%)}44%,56%{transform:translateX(0)}100%{transform:translateX(102%)}}
@keyframes copy-after-plate{0%,50%{opacity:0;transform:none}51%,100%{opacity:1;transform:none}}
.motion-off [data-wipe] .wipe-text{opacity:1!important;animation:none!important}
.motion-off [data-wipe] .wipe-line::after{display:none!important}
@media(prefers-reduced-motion:reduce){.js-ready [data-wipe] .wipe-text{opacity:1!important;animation:none!important}.motion-ready [data-wipe] .wipe-line::after{display:none!important}}

/* v32 — one rounded vocabulary and clearly labeled News examples. */
:root{--radius-panel:28px;--radius-card:20px;--radius-control:12px}
.site-header .nav,.site-header .brand,.menu-toggle{border-radius:var(--radius-control)!important}
.site-header .nav{overflow:hidden}
.pill,.hero-cta{border-radius:var(--radius-control)!important}
.hero-indicator span{border-radius:999px!important}
.mission-principles>div,.fact,.matching-card,.news-item{border-radius:var(--radius-card)!important}
.mission-image,.service-card-photo,.news-photo,.contact-visual,.reel-item{border-radius:var(--radius-panel)!important}
.service-stack,.contact-panel{border-radius:var(--radius-panel)!important}
.contact-topics span{border-radius:999px!important}
.reel-item--photo,.reel-item--text{clip-path:none!important}
.motion-ready .service-card-photo{clip-path:inset(0 100% 0 0 round var(--radius-panel))!important}
.motion-ready .service-card.is-inview .service-card-photo{clip-path:inset(0 0 0 0 round var(--radius-panel))!important}
.news-demo-label{display:inline-block;margin:29px 0 13px;color:#44624c;font-size:12px;font-weight:800;letter-spacing:.08em}
.news-list{display:grid;gap:10px;max-width:520px}
.news-item{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:11px;row-gap:10px;min-height:111px;padding:20px 23px;background:#fff;border:1px solid #dce5dc}
.news-demo-badge{display:inline-block;width:max-content;padding:5px 8px;border:1px solid #137b39;border-radius:5px!important;color:#08682f;font:800 10px/1 Arial,sans-serif;letter-spacing:.08em}
.news-item-category{font-size:11px;font-weight:800;color:#506c58}
.news-item p{grid-column:1/-1;font-size:15px;font-weight:800;line-height:1.55;letter-spacing:-.03em}
@media(max-width:800px){
 :root{--radius-panel:24px;--radius-card:18px}
 .news-item{min-height:100px;padding:17px 18px}.news-item p{font-size:13px}
}
@media(max-width:600px){
 :root{--radius-panel:20px;--radius-card:16px;--radius-control:10px}
 .news-demo-label{margin-top:22px;font-size:11px}.news-list{gap:8px}.news-item{min-height:92px;padding:15px 17px}.news-item p{font-size:12px}
 .motion-ready .service-card-photo,.motion-ready .service-card.is-inview .service-card-photo{clip-path:none!important}
}

/* v33 — editorial purpose, an actual hero consultation card, and a photographic recruit reel. */
:root{--latin:"Helvetica Neue",Arial,sans-serif}
.mission h1,.services-intro h2,.facts h2,.matching h2,.recruit h2,.contact h2{font-family:var(--sans);font-feature-settings:"palt" 1;letter-spacing:-.045em}
.mission h1,.services-intro h2,.matching h2,.recruit h2,.contact h2{font-weight:700}
.site-header .nav{min-height:60px}.site-header .nav-label{min-height:60px}
.site-header .brand{width:106px;height:60px;padding:0 13px}
.hero-bottom-bar{right:auto;bottom:43px;left:4%;width:auto}
.hero-consult{position:absolute;z-index:5;right:4%;bottom:36px;width:350px;padding:24px 24px 22px;background:#fff;color:var(--dark);border-radius:var(--radius-card)!important;box-shadow:0 16px 42px rgba(0,0,0,.18)}
.hero-consult-label{color:#188347;font:800 10px/1.2 var(--latin);letter-spacing:.12em}
.hero-consult-title{margin:10px 0 18px;font-size:24px;font-weight:800;line-height:1.35;letter-spacing:-.05em}
.hero-consult .hero-cta{display:flex;width:100%;min-width:0;min-height:52px;box-shadow:none;font-size:12px}
.hero-consult .hero-cta .fa-icon{font-size:15px}
.mission-principles{display:flex;flex-direction:column;gap:70px;max-width:none;min-height:0;margin:50px 0 145px}
.mission-principles>div{display:grid;grid-template-columns:38% 62%;align-items:center;width:100%;min-height:0;padding:0;border:0;background:transparent}
.mission-principles>div:nth-child(2){grid-template-columns:56% 44%}
.mission-principles span{margin:0;color:#079941;font:800 clamp(45px,6.2vw,91px)/1 var(--latin);letter-spacing:-.09em}
.mission-principles p{font-size:clamp(30px,3.5vw,52px);font-weight:700;line-height:1.45;letter-spacing:-.055em}
.mission-principles>div:nth-child(2) span{grid-column:2;grid-row:1;text-align:right}
.mission-principles>div:nth-child(2) p{grid-column:1;grid-row:1;padding-left:11%;text-align:right}
.facts h2{line-height:1.05}
.facts h2 span{display:block;font-size:clamp(29px,2.6vw,38px);font-weight:700;letter-spacing:-.055em}
.facts h2 strong{display:block;margin-top:8px;font:800 clamp(67px,8vw,116px)/1 var(--latin);letter-spacing:-.085em}
.fact dd{flex-wrap:wrap}
.fact small{display:block;flex-basis:100%;margin-top:9px;color:#566d5d;font-size:11px;font-weight:700}
.recruit{padding-top:105px}
.recruit-reel{top:0;margin:0 0 70px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.reel-group{gap:20px;padding-right:20px}
.reel-item,.reel-item--photo{position:relative;display:block;width:clamp(295px,31vw,445px)!important;height:clamp(210px,22vw,300px);background:#1c3322;text-align:left}
.reel-item--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,21,11,.76),transparent 55%)}
.reel-item--photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;filter:saturate(.88)}
.reel-item-number,.reel-item-label{position:absolute;z-index:2;left:25px;color:#fff}
.reel-item-number{top:22px;font:800 11px/1 var(--latin);letter-spacing:.08em}
.reel-item-label{right:15px;bottom:22px;font-size:clamp(24px,2.25vw,34px);font-weight:800;line-height:1.25;letter-spacing:-.06em}
@media(max-width:800px){
 .site-header .brand{width:98px;height:55px}.menu-toggle{height:55px;min-width:96px}.site-header .nav,.no-js .nav{top:60px}
 .hero-consult{right:5%;width:305px;padding:20px}.hero-consult-title{font-size:21px}
 .mission-principles{gap:55px;margin:38px 0 100px}.mission-principles p{font-size:clamp(27px,3.6vw,35px)}
 .recruit{padding-top:85px}.recruit-reel{margin-bottom:60px}
}
@media(max-width:600px){
 .site-header .brand{width:86px;height:48px;padding:0 10px}.menu-toggle{height:48px;min-width:84px}.site-header .nav,.no-js .nav{top:53px}
 .hero-bottom-bar{right:7%;bottom:190px;left:7%;display:block}.hero-slide-nav{margin-bottom:0}
 .hero-consult{right:7%;bottom:18px;left:7%;width:86%;padding:16px 17px 17px}
 .hero-consult-label{font-size:9px}.hero-consult-title{margin:6px 0 12px;font-size:20px;line-height:1.25}
 .hero-consult .hero-cta{min-height:48px;font-size:11px}
 .mission-principles{gap:52px;margin:37px 0 75px}
 .mission-principles>div,.mission-principles>div:nth-child(2){display:block}
 .mission-principles span{font-size:clamp(40px,13vw,54px)}
 .mission-principles p{margin-top:10px;font-size:clamp(22px,6vw,28px);line-height:1.46}
 .mission-principles>div:nth-child(2){padding-left:11%;text-align:right}
 .mission-principles>div:nth-child(2) p{padding-left:0}
 .facts h2 span{font-size:24px}.facts h2 strong{font-size:clamp(59px,16vw,78px)}
 .fact small{margin-top:5px;font-size:9px}
 .recruit{padding-top:60px}.recruit-reel{margin-bottom:43px}
 .reel-item,.reel-item--photo{width:clamp(240px,69vw,290px)!important;height:190px}
 .reel-item-number,.reel-item-label{left:17px}.reel-item-number{top:16px;font-size:9px}.reel-item-label{bottom:17px;font-size:23px}
}
@media(max-width:600px) and (max-height:740px){.hero-bottom-bar{bottom:170px}.hero-consult{bottom:10px;padding:13px 15px}.hero-consult-title{font-size:18px;margin:5px 0 9px}.hero-consult .hero-cta{min-height:43px}}
@media(prefers-reduced-motion:reduce){.reel-item--photo img{animation:none!important}}

/* v34 — an image-led, brand-forward opening with a distinct business CTA. */
.site-header .header-frame{gap:16px}
.hero::after{background:linear-gradient(90deg,rgba(4,13,8,.72) 0%,rgba(4,13,8,.38) 43%,transparent 76%),linear-gradient(0deg,rgba(4,13,8,.48),transparent 37%)}
.hero-identity{position:absolute;z-index:3;top:32%;left:4%;width:65%;max-width:950px;color:#fff;pointer-events:none}
.hero-identity-top{color:var(--green);font:800 12px/1.3 var(--latin);letter-spacing:.18em}
.hero-identity-name{margin:13px 0 19px;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.94);font:800 clamp(94px,12.4vw,184px)/.94 var(--latin);letter-spacing:-.095em;white-space:nowrap;animation:hero-brand-enter 1.1s .12s both cubic-bezier(.22,1,.36,1)}
.hero-identity-bottom{color:#e8efe9;font:700 11px/1.5 var(--latin);letter-spacing:.14em}
@keyframes hero-brand-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.hero-consult{width:380px;padding:26px 27px 25px;background:var(--green);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.hero-consult-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hero-consult-label{color:#075f2a;font-size:10px;white-space:nowrap}
.hero-consult-top>span{color:#075f2a;font-size:10px;font-weight:800;white-space:nowrap}
.hero-consult-title{margin:16px 0 21px;font-size:28px;line-height:1.34}
.hero-consult .hero-cta{min-height:56px;background:var(--dark);border:1px solid var(--dark);color:#fff;font-size:13px;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}
.hero-consult .hero-cta:hover,.hero-consult .hero-cta:focus-visible{background:#fff;border-color:var(--dark);color:var(--dark)}
.hero-consult .hero-cta:focus-visible{outline:3px solid var(--dark);outline-offset:3px}
.hero-indicator span{position:relative;overflow:hidden;background:rgba(255,255,255,.7);transform:none!important}
.hero-indicator.is-active span{background:rgba(255,255,255,.7)}
.hero-indicator span::after{content:"";position:absolute;inset:0;background:var(--green);transform:scaleX(0);transform-origin:left}
.hero-indicator.is-active span::after{animation:hero-progress 5.2s linear both}
@keyframes hero-progress{to{transform:scaleX(1)}}
@media(max-width:800px){
 .site-header .header-frame{gap:11px}
 .hero-identity{top:30%;left:5%;width:71%}.hero-identity-name{font-size:clamp(82px,12vw,118px)}
 .hero-consult{right:5%;width:320px;padding:22px}.hero-consult-title{font-size:23px}
}
@media(max-width:600px){
 .site-header .header-frame{gap:11px}
 .hero::after{background:linear-gradient(0deg,rgba(4,13,8,.67),transparent 46%),linear-gradient(90deg,rgba(4,13,8,.36),transparent 65%)}
 .hero-identity{top:91px;left:7%;width:86%}.hero-identity-top{font-size:9px;letter-spacing:.12em}
 .hero-identity-name{margin:9px 0 10px;color:transparent;-webkit-text-stroke:1.3px rgba(255,255,255,.96);filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));font-size:clamp(58px,15vw,76px);letter-spacing:-.1em}
 .hero-identity-bottom{max-width:290px;font-size:8px;letter-spacing:.04em}
 .hero-bottom-bar{bottom:223px}
 .hero-consult{right:7%;bottom:17px;left:7%;width:86%;padding:17px 18px 18px}
 .hero-consult-label,.hero-consult-top>span{font-size:8px}.hero-consult-title{margin:10px 0 13px;font-size:22px}
 .hero-consult .hero-cta{min-height:48px;font-size:11px}
}
@media(max-width:600px) and (max-height:740px){
 .hero-identity{top:76px}.hero-bottom-bar{bottom:200px}
 .hero-consult{bottom:10px;padding:13px 15px}.hero-consult-title{margin:7px 0 9px;font-size:19px}.hero-consult .hero-cta{min-height:43px}
}
@media(prefers-reduced-motion:reduce){.hero-identity-name,.hero-indicator.is-active span::after{animation:none!important}.hero-indicator.is-active span::after{transform:scaleX(1)}}

/* v35 — a two-plane hero: editorial type crosses the boundary into moving photography. */
.hero{background:var(--paper)}
.hero::after{background:linear-gradient(0deg,rgba(4,13,8,.54),transparent 52%),linear-gradient(90deg,transparent 42%,rgba(4,13,8,.16) 100%)}
.hero-split{position:absolute;z-index:2;inset:0;background:var(--paper);clip-path:polygon(0 0,52% 0,37% 100%,0 100%);pointer-events:none;animation:hero-plane-enter 1.05s both cubic-bezier(.22,1,.36,1)}
@keyframes hero-plane-enter{from{clip-path:polygon(0 0,44% 0,29% 100%,0 100%)}to{clip-path:polygon(0 0,52% 0,37% 100%,0 100%)}}
.hero-identity{top:30%;width:86%;max-width:none}
.hero-identity-top{color:#147c3b}
.hero-identity-name{width:max-content;max-width:100%;margin:20px 0 22px;background:linear-gradient(90deg,var(--dark) 0 72.8%,#fff 73.2% 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:0;filter:drop-shadow(0 2px 5px rgba(0,0,0,.28));font-size:clamp(125px,14.8vw,228px);letter-spacing:-.11em}
.hero-identity-bottom{color:#35453a}
.hero-slide-nav{color:var(--dark)}
.hero-indicator span{background:rgba(23,34,27,.4)}
.hero-indicator.is-active span{background:rgba(23,34,27,.4)}
.hero-consult{bottom:34px}
.site-header .header-frame{gap:25px}
.site-header .brand{border:1px solid #e0e7df}
@media(max-width:800px){
 .hero-identity{top:29%;width:89%}
 .hero-identity-name{font-size:clamp(105px,14.8vw,160px)}
 .hero-identity-bottom{max-width:290px;line-height:1.8}
 .site-header .header-frame{gap:17px}
}
@media(max-width:600px){
 .hero-carousel{top:177px;bottom:0;height:auto}
 .hero::after{background:linear-gradient(0deg,rgba(4,13,8,.65),transparent 50%)}
 .hero-split{clip-path:polygon(0 0,100% 0,100% 181px,0 209px);animation:none}
 .hero-identity{top:90px;left:7%;width:86%}
 .hero-identity-name{max-width:100%;margin:8px 0 9px;background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:var(--dark);filter:none;font-size:clamp(56px,15vw,73px);letter-spacing:-.1em}
 .hero-identity-bottom{max-width:none;color:#35453a}
 .hero-slide-nav{color:#fff}
 .hero-indicator span,.hero-indicator.is-active span{background:rgba(255,255,255,.72)}
 .site-header .header-frame{gap:14px}
 .menu-toggle{border:1px solid #e0e7df}
}
@media(max-width:600px) and (max-height:740px){.hero-identity{top:76px}.hero-carousel{top:163px}.hero-split{clip-path:polygon(0 0,100% 0,100% 167px,0 195px)}}
@media(prefers-reduced-motion:reduce){.hero-split{animation:none!important}}

/* v36 — a photographic opening that flows into the purpose section. */
.site-header{top:18px;left:4.5%;right:4.5%;width:auto}
.site-header .header-frame{display:flex;width:100%;min-height:66px;justify-content:space-between;gap:40px}
.site-header .brand{order:0;width:105px;height:auto;min-height:52px;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0!important}
.site-header .brand img{filter:brightness(0)}
.site-header .nav{order:1;min-height:52px;margin-left:auto;padding:0;background:transparent;box-shadow:none;border-radius:0!important;overflow:visible}
.site-header .nav-label{min-height:52px;padding:0 clamp(10px,1.5vw,22px);font-size:12px}
.hero{z-index:3;height:100svh;min-height:720px;overflow:visible;background:var(--paper);color:var(--dark);isolation:auto}
.hero::before{content:"";display:block;position:absolute;z-index:3;inset:0 0 auto;height:180px;background:linear-gradient(var(--paper) 0%,rgba(243,245,239,.93) 33%,rgba(243,245,239,0) 100%);transform:none;pointer-events:none}
.hero::after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(243,245,239,.99) 22%,rgba(243,245,239,.78) 36%,rgba(243,245,239,.08) 63%,rgba(243,245,239,0) 100%);pointer-events:none}
.hero-wall{position:absolute;z-index:1;top:80px;right:0;bottom:-115px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:65%;overflow:hidden;mask-image:linear-gradient(0deg,transparent 0%,#000 12%,#000 90%,transparent 100%)}
.hero-wall-column{display:flex;flex-direction:column;gap:12px;min-width:0;height:110%;animation:hero-wall-drift 19s ease-in-out infinite alternate}
.hero-wall-column:nth-child(2){transform:translateY(-8%);animation-name:hero-wall-drift-alt;animation-duration:23s}
.hero-wall-column:nth-child(3){transform:translateY(-3%);animation-duration:21s}
.hero-wall-tile{flex:1;min-height:0;margin:0;overflow:hidden;border-radius:14px!important;background:#d6e1d6}
.hero-wall-tile img{width:100%;height:100%;max-width:none;object-fit:cover;filter:saturate(.92)}
.hero-wall-column:first-child .hero-wall-tile:nth-child(2) img{object-position:center 32%}
.hero-wall-column:nth-child(2) .hero-wall-tile:nth-child(3) img{object-position:center 30%}
@keyframes hero-wall-drift{from{translate:0 -1.5%}to{translate:0 3%}}
@keyframes hero-wall-drift-alt{from{translate:0 2%}to{translate:0 -3%}}
.hero-copy{position:absolute;z-index:4;top:29%;left:5.5%;width:min(900px,82%);pointer-events:none}
.hero-copy-top{color:#146d38;font:800 12px/1.3 var(--latin);letter-spacing:.16em}
.hero h1{margin:26px 0 24px;font-family:var(--sans);font-size:clamp(66px,7.5vw,115px);font-weight:800;line-height:1.15;letter-spacing:-.075em;white-space:normal}
.hero-copy-bottom{max-width:510px;font-size:clamp(14px,1.25vw,18px);font-weight:800;line-height:1.7;letter-spacing:-.02em}
.hero-consult{z-index:5;right:4.5%;bottom:34px;width:355px}
.mission{z-index:1;background:var(--paper)}
.mission-inner{padding-top:185px;padding-bottom:60px}
.mission-kicker{color:#146d38;font-size:13px}
.mission-kicker span{color:var(--green)}
.mission-principles{margin-top:70px;margin-bottom:140px}
@media(max-width:1100px){
 .hero-wall{width:68%}.hero-copy{top:30%;width:85%}.hero h1{font-size:clamp(62px,7.5vw,85px)}
 .site-header .nav-label{padding:0 11px}
}
@media(max-width:800px){
 .site-header{top:12px;left:5%;right:5%}.site-header .header-frame{min-height:54px;gap:12px}
 .site-header .brand{width:92px;min-height:54px}
 .menu-toggle{order:2;min-width:90px;height:54px;padding:0 8px;background:transparent;border:0;box-shadow:none;color:var(--dark);border-radius:0!important}
 .site-header .nav,.no-js .nav{top:60px;right:0;width:270px;padding:10px 17px;background:#fff;box-shadow:0 12px 32px rgba(10,34,17,.15);border-radius:10px!important}
 .site-header .nav-label{min-height:52px;padding:0 10px}
 .hero-wall{width:75%;top:90px;bottom:-85px;gap:9px}.hero-wall-column{gap:9px}
 .hero-copy{top:27%;left:6%;width:87%}.hero h1{font-size:clamp(62px,9vw,78px)}
 .hero-consult{right:5%;bottom:27px;width:320px}
 .mission-inner{padding-top:145px}
}
@media(max-width:600px){
 .site-header{top:9px;left:6%;right:6%}.site-header .brand{width:86px;min-height:48px;padding:0}.menu-toggle{min-width:86px;height:48px}
 .site-header .nav,.no-js .nav{top:53px;right:0;width:min(270px,90vw)}
 .hero{height:100svh;min-height:100svh}
 .hero::before{height:125px;background:linear-gradient(var(--paper),rgba(243,245,239,.88) 58%,transparent)}
 .hero::after{background:linear-gradient(90deg,var(--paper) 0%,rgba(243,245,239,.96) 20%,rgba(243,245,239,.75) 42%,rgba(243,245,239,.08) 84%),linear-gradient(0deg,var(--paper) 0%,transparent 20%)}
 .hero-wall{top:75px;right:0;bottom:-70px;width:82%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;mask-image:linear-gradient(0deg,transparent 0%,#000 12%,#000 94%,transparent)}
 .hero-wall-column{gap:8px}.hero-wall-column:nth-child(3){display:none}.hero-wall-tile{border-radius:9px!important}
 .hero-copy{top:25%;left:7%;width:86%}.hero-copy-top{font-size:9px;letter-spacing:.12em}
 .hero h1{margin:16px 0 15px;font-size:clamp(43px,11vw,62px);line-height:1.2;letter-spacing:-.085em}
 .hero-copy-bottom{max-width:290px;font-size:11px;line-height:1.6}
 .hero-consult{right:7%;bottom:16px;left:7%;width:86%;padding:16px 18px 18px}
 .mission-inner{padding-top:115px;padding-bottom:35px}.mission-kicker{font-size:11px}.mission-principles{margin-top:45px;margin-bottom:75px}
}
@media(max-width:600px) and (max-height:740px){
 .hero-copy{top:21%}.hero h1{font-size:clamp(40px,10.7vw,51px)}
 .hero-consult{bottom:10px;padding:12px 15px}.hero-consult-title{margin:7px 0 9px;font-size:19px}.hero-consult .hero-cta{min-height:43px}
}
@media(prefers-reduced-motion:reduce){.hero-wall-column{animation:none!important}}

/* v37 — stronger hero subline and image-led mission / vision. */
.hero-copy-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:690px;font-size:clamp(17px,1.65vw,23px);font-weight:700;line-height:1.45;letter-spacing:-.05em}
.hero-copy-bottom strong{display:block;margin-left:1.4em;color:#078b3c;font-size:clamp(23px,2.45vw,35px);font-weight:800;line-height:1.3;letter-spacing:-.07em}
.hero-consult{right:2%}
.mission-inner{padding-top:180px;padding-bottom:145px}
.mission-principles{display:block;margin:58px 0 45px;max-width:none}
.mission-principles>div,.mission-principles>div:nth-child(2){position:relative;display:block;min-height:0;height:560px;padding:0;background:transparent;border:0}
.mission-principles>div:nth-child(2){height:520px;margin-top:-64px}
.mission-statement .mission-image{position:absolute;z-index:1;top:0;right:0;left:auto;width:42%;height:520px;overflow:hidden;border-radius:22px!important}
.mission-statement--second .mission-image{top:10px;right:auto;left:0;width:43%;height:500px}
.mission-statement .mission-image img{height:110%;max-width:none;object-fit:cover}
.mission-statement-copy{position:absolute;z-index:2;top:65px;left:0;width:65%}
.mission-statement--second .mission-statement-copy{top:120px;right:0;left:auto;width:62%;text-align:right}
.mission-statement-copy span,.mission-principles>div:nth-child(2) .mission-statement-copy span{display:block;margin:0;color:#078f3f;font:800 clamp(75px,8.5vw,125px)/.92 var(--latin);letter-spacing:-.105em;text-align:inherit}
.mission-statement-copy p,.mission-principles>div:nth-child(2) .mission-statement-copy p{margin:48px 0 0;padding:0;font-size:clamp(37px,3.9vw,57px);font-weight:800;line-height:1.48;letter-spacing:-.068em;text-align:inherit}
.mission-statement--second .mission-statement-copy p{font-size:clamp(34px,3.65vw,53px)}
.mission-words{position:relative;z-index:3;top:auto;right:auto;bottom:auto;left:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;margin:12px 0 0;padding:28px 0 0;background:transparent;box-shadow:none;border-top:1px solid #95a99a;border-radius:0!important}
.mission-words p{display:block;padding:0;font-size:clamp(17px,1.85vw,25px);font-weight:800;white-space:normal}
.mission-words p+p{border:0}
.mission-words span{display:block;margin:0 0 13px;color:#006c2f;font:900 20px/1 var(--latin)}
@media(max-width:1100px){
 .mission-statement-copy p,.mission-principles>div:nth-child(2) .mission-statement-copy p{font-size:clamp(31px,3.9vw,45px)}
 .mission-statement--second .mission-statement-copy p{font-size:clamp(30px,3.65vw,43px)}
}
@media(max-width:800px){
 .mission-inner{padding-top:150px;padding-bottom:115px}
 .mission-principles>div{height:465px}.mission-principles>div:nth-child(2){height:440px;margin-top:-25px}
 .mission-statement .mission-image{width:45%;height:425px}.mission-statement--second .mission-image{width:46%;height:400px}
 .mission-statement-copy{top:55px;width:65%}.mission-statement--second .mission-statement-copy{top:105px;width:62%}
 .mission-statement-copy span,.mission-principles>div:nth-child(2) .mission-statement-copy span{font-size:clamp(62px,8vw,80px)}
 .mission-statement-copy p,.mission-principles>div:nth-child(2) .mission-statement-copy p{margin-top:34px;font-size:clamp(26px,4vw,34px)}
 .mission-statement--second .mission-statement-copy p{font-size:clamp(25px,3.75vw,32px)}
}
@media(max-width:600px){
 .hero-copy-bottom{gap:3px;max-width:none;font-size:clamp(12px,3.3vw,14px);line-height:1.5}
 .hero-copy-bottom strong{margin-left:.9em;font-size:clamp(20px,5.5vw,25px)}
 .hero-consult{right:5%;left:auto;width:86%}
 .mission-inner{padding-top:115px;padding-bottom:95px}
 .mission-principles{margin:38px 0 20px}
 .mission-principles>div,.mission-principles>div:nth-child(2){height:455px;margin-top:0}
 .mission-principles>div:nth-child(2){margin-top:-22px}
 .mission-statement .mission-image{top:172px;right:0;left:auto;width:79%;height:270px;border-radius:18px!important}
 .mission-statement--second .mission-image{top:166px;left:0;right:auto;width:77%;height:270px}
 .mission-statement-copy{top:0;left:0;width:100%;text-align:left}
 .mission-statement--second .mission-statement-copy{top:0;right:0;width:100%;text-align:right}
 .mission-statement-copy span,.mission-principles>div:nth-child(2) .mission-statement-copy span{font-size:clamp(53px,15vw,68px)}
 .mission-statement-copy p,.mission-principles>div:nth-child(2) .mission-statement-copy p{margin-top:17px;font-size:clamp(23px,6.2vw,28px);line-height:1.45}
 .mission-statement--second .mission-statement-copy p{font-size:clamp(21px,5.85vw,27px)}
 .mission-words{gap:9px;margin-top:0;padding-top:18px}
 .mission-words p{font-size:clamp(11px,3vw,14px);line-height:1.45}
 .mission-words span{margin-bottom:8px;font-size:16px}
}
@media(max-width:380px){
 .hero-copy-bottom{font-size:11px}.hero-copy-bottom strong{font-size:19px}
 .mission-statement-copy p,.mission-principles>div:nth-child(2) .mission-statement-copy p{font-size:22px}
 .mission-statement--second .mission-statement-copy p{font-size:20px}
}

/* v38 — editorial portraits and a typographic values sequence. */
.hero-wall-tile img{filter:saturate(.76) contrast(1.07)}
.mission-statement .mission-image img{filter:saturate(.72) contrast(1.06)}
.mission-words{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin:70px 0 0;padding:0;border:0;box-shadow:none}
.mission-words p{display:flex;align-items:baseline;gap:20px;align-self:flex-start;width:max-content;max-width:100%;margin:0;padding:0;font-size:clamp(38px,4vw,61px);font-weight:800;line-height:1.35;letter-spacing:-.075em;white-space:nowrap}
.mission-words p:nth-child(2){align-self:center}
.mission-words p:nth-child(3){align-self:flex-end}
.mission-words span{display:inline-block;min-width:0;margin:0;color:#006c2f;font:800 16px/1 var(--latin);letter-spacing:0;transform:translateY(-.35em)}
@media(max-width:800px){
 .mission-words{gap:20px;margin-top:50px}.mission-words p{font-size:clamp(30px,4.6vw,43px)}
}
@media(max-width:600px){
 .mission-words{gap:28px;margin-top:43px}
 .mission-words p{gap:10px;font-size:clamp(25px,6.5vw,29px);line-height:1.35}
 .mission-words span{font-size:13px}
}

/* v39 — a single editorial purpose composition; keep the hero veil continuous. */
.hero::after{inset:0 0 -115px}
.mission{position:relative;z-index:1;overflow:visible;background:var(--paper)}
.purpose-canvas{position:relative;width:min(1360px,88%);height:1430px;margin:auto;padding-top:175px}
.purpose-canvas .mission-kicker{font-size:13px}
.purpose-statement{position:absolute;z-index:3}
.purpose-statement--mission{top:282px;left:0;width:73%}
.purpose-statement--vision{top:1105px;right:0;width:74%;text-align:right}
.purpose-index{display:flex;align-items:baseline;gap:16px;color:#006f32;font:800 14px/1.2 var(--latin);letter-spacing:.15em}
.purpose-index span{color:#4d6551;font-size:11px;letter-spacing:.06em}
.purpose-statement--vision .purpose-index{justify-content:flex-end}
.purpose-statement h2,.purpose-statement--vision>p:last-child{margin:27px 0 0;font-family:var(--sans);font-size:clamp(48px,4.65vw,68px);font-weight:800;line-height:1.36;letter-spacing:-.075em}
.purpose-statement--vision>p:last-child{font-size:clamp(44px,4.2vw,61px)}
.purpose-statement--vision>p:last-child span:first-child{display:block}
.purpose-image{position:absolute;z-index:2;margin:0;overflow:hidden;background:#c6d3cb;border-radius:22px!important;translate:0 var(--drift,0px)}
.purpose-image--walk{top:330px;right:0;width:32%;height:500px}
.purpose-image--create{top:785px;left:0;width:77%;height:295px}
.purpose-image img{width:110%;height:110%;max-width:none;object-fit:cover;filter:saturate(.72) contrast(1.07);animation:mission-image-pan 17s ease-in-out infinite alternate}
.purpose-image--create img{object-position:center 45%;animation-direction:alternate-reverse}
@media(max-width:1100px){
 .purpose-canvas{height:1260px;padding-top:145px}
 .purpose-statement--mission{top:250px}.purpose-statement--vision{top:970px}
 .purpose-statement h2{font-size:clamp(40px,4.6vw,54px)}.purpose-statement--vision>p:last-child{font-size:clamp(37px,4.1vw,48px)}
 .purpose-image--walk{top:305px;height:435px}.purpose-image--create{top:715px;width:77%;height:235px}
}
@media(max-width:800px){
 .purpose-canvas{width:86%;height:1190px;padding-top:135px}
 .purpose-statement--mission{top:240px;width:74%}.purpose-statement--vision{top:920px;width:72%}
 .purpose-statement h2{font-size:clamp(34px,4.6vw,42px)}.purpose-statement--vision>p:last-child{font-size:clamp(32px,4.1vw,38px)}
 .purpose-image--walk{top:290px;width:33%;height:395px}.purpose-image--create{top:665px;width:77%;height:235px}
}
@media(max-width:600px){
 .hero::after{inset:0 0 -70px}
 .purpose-canvas{width:86%;height:auto;min-height:0;padding:115px 0 110px}
 .purpose-canvas .mission-kicker{font-size:11px}
 .purpose-statement,.purpose-statement--mission,.purpose-statement--vision{position:relative;top:auto;right:auto;left:auto;width:100%}
 .purpose-statement--mission{margin-top:63px}
 .purpose-statement h2{margin-top:22px;font-size:clamp(32px,8.65vw,43px);line-height:1.38;letter-spacing:-.075em}
 .purpose-statement--mission br{display:none}.purpose-statement--mission h2 span{display:block}
 .purpose-index{gap:10px;font-size:12px}.purpose-index span{font-size:10px}
 .purpose-image,.purpose-image--walk,.purpose-image--create{position:relative;top:auto;right:auto;left:auto}
 .purpose-image--walk{width:77%;height:340px;margin:42px 0 0 auto;border-radius:18px!important}
 .purpose-image--create{width:96%;height:205px;margin:-44px auto 0 0;border-radius:18px!important}
 .purpose-statement--vision{z-index:4;margin-top:48px;text-align:right}
 .purpose-statement--vision>p:last-child{margin-top:18px;font-size:clamp(30px,7.7vw,38px);line-height:1.42}
 .purpose-statement--vision>p:last-child span{display:block}
}
@media(max-width:380px){
 .purpose-statement h2{font-size:30px}.purpose-statement--vision>p:last-child{font-size:27px}
 .purpose-image--walk{height:295px}.purpose-image--create{height:175px}
}
@media(prefers-reduced-motion:reduce){.purpose-image img{animation:none!important}}

/* v40 — unmistakable Mission/Vision labels and a calm handoff to Service. */
.purpose-canvas{height:1600px}
.purpose-index{gap:22px;align-items:baseline;letter-spacing:0}
.purpose-index strong{color:#006f32;font:900 clamp(35px,3.75vw,54px)/1 var(--latin);letter-spacing:-.075em}
.purpose-index span{color:#36543d;font:800 15px/1.3 var(--sans);letter-spacing:.02em}
.purpose-statement h2,.purpose-statement--vision>p:last-child{margin-top:22px}
@media(max-width:1100px){.purpose-canvas{height:1450px}}
@media(max-width:800px){
 .purpose-canvas{height:1340px}
 .purpose-index{gap:14px}.purpose-index strong{font-size:clamp(31px,4.3vw,39px)}.purpose-index span{font-size:13px}
}
@media(max-width:600px){
 .purpose-canvas{height:auto;padding-bottom:185px}
 .purpose-index{gap:11px}.purpose-index strong{font-size:clamp(31px,9vw,39px)}.purpose-index span{font-size:12px}
 .purpose-statement h2{margin-top:20px}.purpose-statement--vision>p:last-child{margin-top:17px}
}

/* v41 — let the Japanese Service headline lead, and give News an editorial rhythm. */
.services::before{content:none!important}
.services{padding-top:145px}
.services-intro{padding-top:0;padding-bottom:92px}
.services-intro .eyebrow{font-size:14px;letter-spacing:.07em}
.news{background:linear-gradient(118deg,#f3f5ef 0%,#e8eee8 58%,#f3f5ef 100%)}
.news-inner{grid-template-columns:minmax(0,55%) minmax(0,45%);gap:1%;align-items:start;min-height:690px}
.news-copy{align-self:start}
.news-list{gap:0;max-width:680px}
.news-item{display:grid;grid-template-columns:30px 50px 78px minmax(0,1fr);align-items:center;column-gap:13px;min-height:87px;padding:16px 0;background:transparent;border:0;border-bottom:1px solid #aab9ab;border-radius:0!important}
.news-item:first-child{border-top:1px solid #aab9ab}
.news-index{font:800 14px/1 var(--latin);color:#508260}
.news-item-category{font-size:12px}
.news-item p{grid-column:4;grid-row:1;font-size:14px;line-height:1.65;letter-spacing:-.025em}
.news-demo-label{font-size:12px}
.news-motion{height:690px}
.news-photo--one{top:4%;left:6%;width:83%;height:40%}
.news-photo--two{right:-4%;bottom:2%;width:81%;height:43%}
@media(max-width:800px){
 .services{padding-top:120px}.services-intro{padding-bottom:72px}
 .news-inner{grid-template-columns:minmax(0,58%) minmax(0,42%);min-height:610px}
 .news-motion{height:610px}.news-item{grid-template-columns:22px 47px 1fr;min-height:91px;column-gap:10px}
 .news-item p{grid-column:2/-1;grid-row:2;font-size:13px}.news-item-category{grid-column:3;grid-row:1}
}
@media(max-width:600px){
 .services{padding-top:96px}.services-intro{padding-top:0;padding-bottom:62px}
 .news{padding:105px 0 95px}.news-inner{display:block;min-height:0}
 .news-item{grid-template-columns:23px 48px 1fr;min-height:83px;padding:13px 0;column-gap:8px;row-gap:4px}
 .news-item p{grid-column:2/-1;grid-row:2;font-size:13px}
 .news-motion{height:345px;margin-top:48px}.news-photo--one{left:0;width:83%;height:48%}.news-photo--two{right:0;bottom:0;width:78%;height:47%}
}
