/* Branding and the root-to-growth motion direction. */
.service-art img{height:100%;width:100%;object-fit:contain;padding:10px;transform:none;animation:service-float 10s ease-in-out infinite;filter:saturate(.9)}.art-two.service-art img{animation-delay:-3s}.art-three.service-art img{animation-delay:-6s}.service-art.art-three{background:linear-gradient(140deg,#65806a,#364e3f)}.service-art.art-one img{padding:15px}.project:hover .service-art img{animation-play-state:paused}.service-art .project-hover{z-index:2}@keyframes service-float{0%,100%{transform:translateY(5px) rotate(-.4deg)}50%{transform:translateY(-7px) rotate(.4deg)}}
.brand-logo{width:125px;height:58px;object-fit:contain}.header{gap:20px}.header nav{gap:24px}.tree-object{width:min(78%,1100px);right:-2%;bottom:25px}.tree-object img{filter:saturate(.85);width:100%}.tree-reveal{clip-path:inset(0 0 var(--root-cut,42%) 0);will-change:clip-path}.tree-caption{position:absolute;right:12%;bottom:8%;color:var(--cream);font-size:11px;letter-spacing:.5px;opacity:var(--root-progress,0);transition:opacity .2s}.hero-bottom{pointer-events:none}.hero-bottom a{pointer-events:auto}.portrait{height:230px}.portrait img{object-position:50% 22%}.about-bottom{grid-template-columns:170px 1fr}.nature-panel{overflow:visible}.nature-panel img{width:130%;margin-left:-15%;filter:saturate(.85)}.photo-art img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:none;filter:saturate(.85)}.project:hover .photo-art img{transform:scale(1.035)}.art-one img{height:100%;transform:translateY(10px);padding:15px}.art-one{background:linear-gradient(135deg,#718770,#2d443b)}.transformation-object{width:88%;right:-5%;top:195px}.transformation-object img{filter:saturate(.85)}.process{background:linear-gradient(180deg,#5e7565,#344b43)}.process .section-heading>p{max-width:310px}.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;margin-top:20px}.process-photo{position:relative;margin:0;height:540px;overflow:hidden;border-radius:14px}.process-photo>img{height:100%;width:100%;object-fit:cover;object-position:center 30%;transition:transform 1.2s}.process-photo:hover>img{transform:scale(1.025)}.process-photo figcaption{position:absolute;bottom:20px;left:20px;right:20px;padding:18px;font-size:12px;background:#344b4380}.process-step{display:flex;gap:25px;border-top:1px solid var(--line);padding:25px 0}.process-step>span{font-size:12px;color:var(--accent);padding-top:5px}.process-step h3{font-size:25px;font-weight:400;letter-spacing:-.8px;margin:0 0 15px}.process-step p{font-size:14px;color:var(--muted);margin:0;line-height:1.7}.process-steps>.button{margin-top:10px}.contact-visual>img{width:135%;left:-20%;top:10px}.contact-note{background:#344b4370}.footer-signature{margin-top:65px;padding:30px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-signature>img{width:290px;max-width:60%;height:auto}.footer-signature>span{font-size:30px;letter-spacing:-1px;color:var(--cream)}.service-dialog{color:var(--text);width:min(590px,calc(100% - 32px));max-height:calc(100svh - 50px);padding:40px;background:#344b43f5;overflow:auto;border:1px solid #eadbaa3f}.service-dialog::backdrop{background:#13251eb8;backdrop-filter:blur(10px)}.service-dialog h2{font-size:38px;line-height:1.1;letter-spacing:-1.4px;font-weight:400;margin:0 0 24px}.service-dialog p,.service-dialog li{font-size:14px;line-height:1.7;color:var(--muted)}.service-dialog ul{padding-left:20px;margin:25px 0 30px}.service-dialog li{margin-bottom:10px}.service-dialog .micro{font-size:10px;margin-top:20px}.dialog-close{position:absolute;right:15px;top:12px;background:transparent;border:0;color:var(--cream);font-size:30px;width:40px;height:40px}.dialog-open{overflow:hidden}.js .split .char{animation:none;opacity:0;transform:translateY(25px)}.js .split.in-view .char{animation:char-in .8s both;animation-delay:calc(var(--i)*.018s)}.pause-motion .split .char{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}.pause-motion .tree-reveal{clip-path:none}.pause-motion .tree-caption{opacity:1}.nature-motion{animation:nature-breathe 9s ease-in-out infinite}.nature-motion:nth-child(even){animation-delay:-4s}@keyframes nature-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.055)}}@media(min-width:1600px){.tree-object{right:calc((100vw - 1500px)/2)}}@media(max-width:1000px){.tree-object{width:91%;right:-10%;bottom:20px}.header nav{gap:16px}.process-layout{gap:30px}.process-photo{height:500px}.transformation-object{width:95%;top:205px}}@media(max-width:700px){.brand-logo{width:98px;height:49px}.header{gap:10px}.header nav{gap:22px}.tree-object{width:135%;right:-19%;bottom:55px}.tree-caption{font-size:10px;right:22%;bottom:3%}.hero{height:870px}.hero-copy{max-width:290px}.about-bottom{grid-template-columns:115px 1fr;gap:20px}.portrait{height:170px}.process-layout{grid-template-columns:1fr;gap:30px}.process-photo{height:400px}.process-step h3{font-size:24px}.process-step p{font-size:13px}.process .section-heading>p{max-width:none}.transformation-object{width:132%;right:-17%;top:130px}.pricing-glass{margin-top:215px}.contact-visual{min-height:405px}.contact-visual>img{width:130%;left:-15%;top:20px}.footer-signature{margin-top:35px;flex-direction:column;align-items:start;gap:20px}.footer-signature>img{width:220px;max-width:80%}.footer-signature>span{font-size:24px}.service-dialog{padding:35px 25px}.service-dialog h2{font-size:32px}.project-art.photo-art{height:400px}.photo-art img{object-position:center 35%}}@media(max-width:380px){.hero{height:825px}.tree-object{bottom:50px}.project-art.photo-art{height:350px}}@media(prefers-reduced-motion:reduce){.js .split .char{opacity:1!important;transform:none!important;filter:none!important}.tree-reveal{clip-path:none}.tree-caption{opacity:1}}

/* Separate columns keep the complete headline clear of the moving tree. */
.hero{height:auto;min-height:min(900px,100svh);max-height:none;padding-top:150px;padding-bottom:110px}
.hero .hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;padding-top:0;min-height:580px}
.hero-text{position:relative;z-index:4;min-width:0}
.hero h1{font-size:clamp(64px,7.3vw,104px);line-height:1.02;letter-spacing:-.06em;max-width:100%;white-space:nowrap}
.hero-copy{max-width:350px;margin-top:32px}
.hero .tree-object{position:relative;width:100%;right:auto;bottom:auto;min-width:0;align-self:center;z-index:3}
.hero .tree-object img{width:100%;max-width:100%}
.hero .tree-caption{right:5%;bottom:3%;max-width:90%;text-align:right}
@media(max-width:1000px) and (min-width:701px){.hero{min-height:760px;padding-top:140px}.hero .hero-layout{gap:20px;min-height:480px}.hero h1{font-size:7.1vw}.hero-copy{max-width:310px}}
@media(max-width:700px){.hero{height:auto;min-height:0;padding-top:125px;padding-bottom:95px}.hero .hero-layout{grid-template-columns:1fr;gap:10px;min-height:0}.hero h1{font-size:clamp(44px,10.8vw,75px);line-height:1.04}.hero-copy{max-width:340px;margin-top:26px}.hero .tree-object{width:100%;right:auto;bottom:auto;margin:5px auto 0}.hero .tree-caption{right:5%;bottom:2%;font-size:10px}.hero-bottom{bottom:20px}}
/* A broader, higher tree balances the headline on laptop and tablet. */
.hero{padding-top:118px;padding-bottom:85px;min-height:min(780px,100svh)}
.hero .hero-layout{width:min(1280px,calc(100% - 80px));grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:20px;align-items:start;min-height:540px}
.hero-text{padding-top:12px}
.hero h1{font-size:clamp(70px,8.1vw,116px);line-height:1.01;letter-spacing:-.065em}
.hero-copy{margin-top:26px;max-width:350px}
.hero .tree-object{width:118%;max-width:none;margin-top:-28px;margin-left:-4%;align-self:start}
.hero .tree-object img{height:auto;aspect-ratio:3/2;object-fit:contain}
.hero .tree-caption{right:9%;bottom:3%}
@media(min-width:1600px){.hero .hero-layout{min-height:585px}.hero{padding-top:135px}}
@media(max-width:1000px) and (min-width:701px){.hero{padding-top:115px;min-height:700px}.hero .hero-layout{width:calc(100% - 56px);grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:16px;min-height:495px}.hero h1{font-size:7.5vw}.hero-text{padding-top:0}.hero .tree-object{width:120%;margin-left:-4%;margin-top:-10px}.hero-copy{max-width:290px}}
@media(max-width:700px){.hero{padding-top:110px;padding-bottom:80px;min-height:0}.hero .hero-layout{width:calc(100% - 40px);grid-template-columns:1fr;gap:0;min-height:0}.hero-text{padding-top:0}.hero h1{font-size:clamp(46px,12.2vw,84px);line-height:1.04}.hero-copy{max-width:360px;margin-top:22px}.hero .tree-object{width:112%;margin:0 0 0 -6%;align-self:start}.hero .tree-caption{right:9%;font-size:10px}.hero-bottom span{max-width:230px}}
