:root{--paper:#f5f4ee;--ink:#202b26;--muted:#5d6860;--line:#d9ded5;--green:#235d43;--lime:#d8eb9c;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:5px}::selection{background:var(--lime)}.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}.header{height:108px;display:flex;align-items:center;gap:42px;border-bottom:1px solid var(--line)}.brand{font-size:32px;font-weight:800;letter-spacing:-3px;flex:1}.brand span{font-size:22px;color:var(--green);margin-left:5px}.header nav{display:flex;gap:30px;font-size:13px}.header nav a:hover{color:var(--green)}.language{display:flex;border:1px solid var(--line);padding:4px;border-radius:30px;gap:3px}.language button{border:0;background:transparent;border-radius:20px;padding:9px 11px;font-size:11px;font-weight:700;cursor:pointer}.language button[aria-pressed=true]{background:var(--ink);color:white}.skip{position:absolute;left:20px;top:-80px;background:var(--lime);padding:15px;z-index:10}.skip:focus{top:15px}.hero{padding:78px 0 0;display:grid;grid-template-columns:1.6fr 1fr;gap:50px;align-items:center}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin:0 0 25px}.eyebrow .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:10px}.hero h1{font-size:clamp(48px,6.4vw,86px);letter-spacing:-5px;line-height:1.02;font-weight:500;margin:0 0 28px}.hero h1 em{font-family:Georgia,serif;color:var(--green);font-weight:400;letter-spacing:-4px}.intro{font-size:16px;line-height:1.75;color:var(--muted);max-width:475px;margin:0 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 23px;border-radius:5px;background:var(--green);color:#fff;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--ink);transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.button.secondary:hover{background:#e8ebdf}.hero-art{height:380px;border-radius:180px 180px 12px 12px;background:#e2e8dc;position:relative;overflow:hidden;display:grid;place-items:center}.orb{width:248px;height:248px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#91ac7a,#3c6b49 52%,#143c29 90%);box-shadow:25px 40px 45px #26493330;position:relative}.orb:before,.orb:after{content:"";position:absolute;inset:15px -18px;border:1px solid #c3db9966;border-radius:50%;transform:rotate(-35deg)}.orb:after{inset:-20px 40px;transform:rotate(35deg)}.art-label{position:absolute;bottom:26px;left:26px;right:26px;display:flex;justify-content:space-between;font:11px monospace;color:var(--green)}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;padding:30px 0;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.7px;color:var(--muted)}.hero-foot span:last-child{text-align:right}.section{padding:85px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-head .eyebrow{margin-bottom:17px;color:var(--muted)}h2{font-size:clamp(32px,4vw,48px);font-weight:500;letter-spacing:-2px;line-height:1.12;margin:0}h3{font-weight:500;letter-spacing:-.8px;margin:0}.section-note{font-size:13px;line-height:1.6;color:var(--muted);max-width:280px;margin:0}.feature{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff9}.textile{background:#203b2e;min-height:360px;position:relative;padding:35px;display:flex;flex-direction:column;justify-content:space-between;color:var(--lime);overflow:hidden}.textile:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 7px,#b6d39a10 7px 9px),repeating-linear-gradient(90deg,transparent 0 7px,#b6d39a10 7px 9px);transform:rotate(-12deg) scale(1.4)}.textile>*{position:relative}.project-mark{font-size:36px;font-weight:700;letter-spacing:-2px}.textile .small{font-size:10px;letter-spacing:2px}.fabric-rolls{display:flex;gap:12px;align-items:center;transform:rotate(-15deg);margin:25px 0}.fabric-rolls i{display:block;width:70px;height:180px;border-radius:40px;background:linear-gradient(90deg,#547352,#abc095 50%,#6d8f62);box-shadow:10px 10px 15px #0003}.fabric-rolls i:nth-child(2){height:220px;background:linear-gradient(90deg,#81906a,#d1d6a7 50%,#87966d)}.fabric-rolls i:nth-child(3){height:155px}.project-info{padding:40px;display:flex;flex-direction:column;justify-content:center}.pill{font-size:10px;border:1px solid var(--line);padding:7px 10px;border-radius:20px;display:inline-block}.pills{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}.project-info h3{font-size:31px;margin-bottom:17px}.project-info p,.case p{font-size:14px;line-height:1.75;color:var(--muted)}.project-info ul{padding:0;list-style:none;font-size:13px;line-height:1.8;margin:15px 0 25px}.project-info li{border-top:1px solid var(--line);padding:9px 0}.project-info li:before{content:"+";margin-right:12px;color:var(--green)}.text-link{font-size:13px;font-weight:700;display:inline-flex;gap:16px;align-items:center;text-decoration:underline;text-underline-offset:5px}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.case{padding:30px;border:1px solid var(--line);border-radius:10px}.case .case-no{font:11px monospace;color:var(--muted);display:flex;justify-content:space-between;margin-bottom:35px}.case h3{font-size:25px}.metrics{display:flex;gap:40px;margin-top:24px}.metric strong{font-size:28px;font-weight:500;color:var(--green);display:block}.metric span{font-size:11px;color:var(--muted);display:block;margin-top:8px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-copy{font-size:19px;line-height:1.65;color:var(--muted);margin:0}.about-copy strong{color:var(--ink);font-weight:500}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:45px}.service{border-top:2px solid var(--green);padding-top:20px}.service .num{font:11px monospace;color:var(--muted)}.service h3{font-size:20px;margin:22px 0 15px}.service p{font-size:13px;line-height:1.85;color:var(--muted);margin:0}.tools{font-size:12px;color:var(--muted);line-height:1.8;margin-top:30px}.experience-row{display:grid;grid-template-columns:150px 1fr 1fr;gap:35px;padding:26px 0;border-top:1px solid var(--line)}.experience-row time{font:12px monospace;color:var(--muted)}.experience-row h3{font-size:20px;margin-bottom:8px}.experience-row small{font-size:12px;color:var(--green)}.experience-row p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.contact{background:var(--ink);color:var(--paper);margin-top:75px;border-radius:12px;padding:52px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.contact h2{font-size:clamp(35px,4.5vw,58px);margin-bottom:22px}.contact .eyebrow{color:var(--lime)}.contact p{color:#c0c9c1;font-size:14px;line-height:1.7}.contact .button{background:var(--lime);color:var(--ink);margin-top:18px}.contact-list{display:flex;flex-direction:column;justify-content:center}.contact-item{border-bottom:1px solid #ffffff25;padding:17px 0;display:flex;justify-content:space-between;gap:15px;font-size:14px}.contact-item span:first-child{color:#b3c0b6;font-size:11px}.contact-item a:hover{color:var(--lime)}.languages{font-size:11px;color:#b3c0b6;line-height:1.8;margin-top:20px}footer{display:flex;justify-content:space-between;gap:15px;padding-block:30px;font-size:11px;color:var(--muted)}
@media(min-width:1500px){.hero h1{font-size:88px}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.header{height:85px;gap:20px}.header nav{gap:15px;font-size:12px}.hero{gap:25px;padding-top:50px}.hero h1{font-size:58px;letter-spacing:-3px}.hero h1 em{letter-spacing:-2px}.hero-art{height:320px}.orb{width:190px;height:190px}.project-info{padding:28px}.about-grid{gap:35px}.services{grid-template-columns:1fr 1fr}.contact{padding:35px;gap:35px}.experience-row{grid-template-columns:100px 1fr 1fr;gap:20px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.header{height:auto;min-height:80px;flex-wrap:wrap;gap:15px;padding-block:18px}.header nav{order:3;width:100%;justify-content:space-between;padding-top:8px}.brand{font-size:28px}.hero{grid-template-columns:1fr;padding-top:42px;gap:30px}.hero h1{font-size:56px}.hero-art{height:270px;border-radius:140px 140px 10px 10px}.orb{width:180px;height:180px}.hero-foot{font-size:10px;gap:20px;padding-top:0;line-height:1.7}.section{padding:55px 0}.section-head{display:block}.section-note{margin-top:20px;max-width:none}.feature,.case-grid,.about-grid,.contact{grid-template-columns:1fr}.textile{min-height:300px}.project-mark{font-size:32px}.project-info{padding:26px}.case{padding:25px}.about-grid{gap:25px}.about-copy{font-size:17px}.services{gap:24px 20px}.service h3{font-size:18px}.experience-row{grid-template-columns:1fr;gap:12px}.contact{margin-top:50px;padding:28px;gap:30px}.contact-item{font-size:13px}.contact-item a{overflow-wrap:anywhere}.contact h2{font-size:42px}footer{font-size:10px}.metrics{gap:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.arrow{width:16px;height:16px;flex-shrink:0;display:inline-block;vertical-align:middle}.brand .arrow{width:19px;height:19px;margin-left:7px;color:var(--green)}.project-mark .arrow{width:27px;height:27px;margin-left:8px}.case-no .arrow{width:12px;height:12px}.experience-row h3 .arrow{width:13px;height:13px}.metric{min-width:0}

/* Motion follows the existing quiet, tactile visual language. */
.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.reveal-ready.is-revealed{opacity:1;transform:translateY(0)}
.orb{translate:var(--pointer-x,0px) var(--pointer-y,0px);transition:translate .7s cubic-bezier(.22,1,.36,1);animation:orb-float 8s ease-in-out infinite;animation-play-state:paused}
.orb:before{animation:orbit-one 24s linear infinite;animation-play-state:paused}
.orb:after{animation:orbit-two 30s linear infinite;animation-play-state:paused}
.hero-art.is-in-view .orb,.hero-art.is-in-view .orb:before,.hero-art.is-in-view .orb:after{animation-play-state:running}
.fabric-rolls i{animation:fabric-float 7s ease-in-out infinite;animation-play-state:paused}
.fabric-rolls i:nth-child(2){animation-delay:-2.4s}.fabric-rolls i:nth-child(3){animation-delay:-4.8s}
.textile.is-in-view .fabric-rolls i{animation-play-state:running}
.motion-paused .hero-art .orb,.motion-paused .hero-art .orb:before,.motion-paused .hero-art .orb:after,.motion-paused .textile .fabric-rolls i{animation-play-state:paused}
.button .arrow,.text-link .arrow,.brand .arrow,.contact-item .arrow{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.button:hover .arrow,.button:focus-visible .arrow,.text-link:hover .arrow,.text-link:focus-visible .arrow,.brand:hover .arrow,.contact-item a:hover .arrow{transform:translate(2px,-2px)}
.header nav a{position:relative;padding-block:5px}.header nav a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}
.language button{transition:background .25s ease,color .25s ease}
.case,.feature{transition:border-color .3s ease,box-shadow .3s ease,opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.service{transition:border-color .3s ease,opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
@media(hover:hover) and (pointer:fine){.case.is-revealed:hover{transform:translateY(-5px);border-color:#a5b9a6;box-shadow:0 16px 35px #203b2e0a}.feature:hover,.feature:focus-within{border-color:#a5b9a6;box-shadow:0 16px 35px #203b2e0a}.service.is-revealed:hover{transform:translateY(-4px);border-color:#87a354}}
@keyframes orb-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}
@keyframes orbit-one{from{transform:rotate(-35deg)}to{transform:rotate(325deg)}}
@keyframes orbit-two{from{transform:rotate(35deg)}to{transform:rotate(-325deg)}}
@keyframes fabric-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:600px){.reveal-ready{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.orb{translate:none}.case.is-revealed:hover,.service.is-revealed:hover,.button:hover,.arrow{transform:none!important}}
