/* Aoutch Motion System. Tokens and data attributes are reusable across projects. */
:root{--aoutch-ease:cubic-bezier(.22,1,.36,1);--aoutch-duration:900ms;--aoutch-delay:0ms}section[id]{scroll-margin-top:28px}.menu-toggle{display:none}.signature h2,.transformation h2{font-size:clamp(40px,6vw,90px);font-weight:400;line-height:1.02;letter-spacing:-4px;margin:0}.signature h2 em{color:var(--acid);font-family:Georgia,serif;font-weight:400}.signature-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}.signature-heading p,.signature-foot p,.transformation-heading p{font-size:17px;line-height:1.7;max-width:470px}.muted{color:var(--muted)}.motion-switch{font-size:13px;min-height:44px;padding:12px 17px;border:1px solid #7b8375;color:var(--text);background:transparent;border-radius:24px}.motion-switch[aria-pressed=true]{background:var(--acid);color:var(--bg);border-color:var(--acid)}.signature-journey{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:65px;padding-top:80px}.journey-thread{position:absolute;width:100%;height:58px;top:0;left:0;overflow:visible}.journey-thread path{stroke:var(--acid);stroke-width:1;fill:none;vector-effect:non-scaling-stroke}.signature-card{min-width:0}.signature-number{color:var(--acid);margin-bottom:20px}.signature-card h3{font-size:27px;letter-spacing:-1px;font-weight:400;margin:26px 0 15px}.signature-card p{font-size:16px;line-height:1.7;color:var(--muted);min-height:108px}.reveal-demo,.flow-demo,.motion-demo{height:245px;overflow:hidden;position:relative;background:#1d211f;border:1px solid var(--line);border-radius:3px}.reveal-art{position:absolute;inset:0;background:#d9ddcf;color:#23332b;overflow:hidden;clip-path:inset(0);transform:scale(1)}.reveal-art-line{position:absolute;width:48%;height:120%;right:5%;top:-10%;background:repeating-linear-gradient(90deg,#435b48 0 15%,#8eaa8d 15% 19%);transform:rotate(-24deg);box-shadow:20px 10px 0 #bbcab1}.reveal-art-circle{position:absolute;width:160px;height:160px;border:1px solid #2e493b;border-radius:50%;left:15px;top:-40px}.reveal-art-caption{position:absolute;left:22px;bottom:24px;font-size:35px;line-height:.96;letter-spacing:-1.5px}.reveal-art-caption i{font-family:Georgia,serif}.demo-corner{position:absolute;left:12px;top:12px;width:22px;height:22px;border-top:1px solid #23332b;border-left:1px solid #23332b}.flow-demo svg{width:100%;height:100%;position:absolute}.flow-demo path{fill:none;stroke:var(--acid);stroke-width:1.5}.flow-demo circle{fill:var(--acid)}.flow-word{position:absolute;font-family:Georgia,serif;font-size:24px;font-style:italic}.flow-word.start{top:25%;left:11%}.flow-word.end{bottom:18%;right:10%}.motion-demo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:18px;text-align:center}.motion-demo>.micro{font-size:10px;letter-spacing:.8px}.motion-sample{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--acid);background:transparent;color:var(--acid);padding:16px 20px;border-radius:50px;display:flex;align-items:center;gap:16px;font-size:14px;min-height:52px}.motion-sample:before{content:'';position:absolute;inset:-1px;background:var(--acid);z-index:-1;transform:translateX(-102%);transition:transform 550ms var(--aoutch-ease)}.motion-sample:is(:hover,:focus-visible,[aria-pressed=true]):before{transform:translateX(0)}.motion-sample:is(:hover,:focus-visible,[aria-pressed=true]){color:#111214}.sample-arrow{transition:transform 450ms var(--aoutch-ease)}.motion-sample:is(:hover,:focus-visible,[aria-pressed=true]) .sample-arrow{transform:translate(3px,-3px)}.motion-feedback{font-size:12px;line-height:1.5;color:var(--muted);min-height:36px}.signature-replay{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;width:100%;background:transparent;border:0;border-bottom:1px solid #5c6259;color:var(--text);padding:12px 0;font-size:14px;text-align:left}.signature-replay span{transition:transform 400ms var(--aoutch-ease);color:var(--acid)}.signature-replay:is(:hover,:focus-visible) span{transform:translate(3px,-3px)}.signature-foot{margin-top:55px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:40px;align-items:baseline}.signature-foot p{margin:0;font-size:15px}.transformation{padding-top:0}.transformation-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:end;margin-bottom:40px}.transformation h2{font-size:clamp(36px,4.5vw,66px);letter-spacing:-2.5px}.transformation-heading p{font-size:16px;margin-bottom:0}.comparison{position:relative;height:470px;border:1px solid #656b62;border-radius:4px;overflow:hidden;background:#d7d9cf;isolation:isolate}.comparison-after,.comparison-before{position:absolute;inset:0;overflow:hidden}.comparison-after{color:#23312a;padding:30px;background:#d7d9cf}.compare-top{display:flex;justify-content:space-between;font-size:13px;position:relative;z-index:2}.compare-building{position:absolute;right:12%;top:12%;width:34%;height:75%;background:repeating-linear-gradient(90deg,#53614d 0 8%,#a0aa92 8% 12%);transform:skewY(-8deg);box-shadow:25px 25px 0 #8b967f}.compare-building:after{content:'';position:absolute;inset:10% 8%;background:repeating-linear-gradient(0deg,transparent 0 18%,#334431 18% 20%)}.compare-title{position:absolute;left:30px;bottom:95px;font-size:clamp(54px,6.5vw,98px);letter-spacing:-4px;line-height:.9}.compare-title i{font-family:Georgia,serif}.compare-cta{position:absolute;bottom:37px;left:30px;border-bottom:1px solid #23312a;font-size:13px;padding-bottom:9px}.compare-tag{position:absolute;bottom:20px;right:22px;font-family:monospace;font-size:11px;background:#111214;color:#f1f0e9;padding:9px 12px;z-index:2}.comparison-before{clip-path:inset(0 calc(100% - var(--compare)) 0 0);background:#f6f6f4;color:#293034}.before-top{background:#eceeea;padding:26px 30px;border-bottom:1px solid #bbc2b9;font-size:16px;font-weight:bold;display:flex;justify-content:space-between}.before-top span{font-size:12px;font-weight:normal}.before-content{text-align:center;max-width:650px;margin:36px auto;padding:0 25px}.before-content h3{font-size:25px;letter-spacing:0;font-weight:normal}.before-picture{width:100%;height:130px;background:repeating-linear-gradient(90deg,#9eaaa0 0 17%,#c5cdc6 17% 20%);border:12px solid #dce0db}.before-content p{font-size:15px;line-height:1.6}.before-content>span{display:inline-block;font-size:13px;background:#586d60;color:white;padding:10px 20px}.comparison-before .compare-tag{left:22px;right:auto;background:#e1e5df;color:#293034}.compare-divider{position:absolute;top:0;bottom:0;left:var(--compare);width:2px;background:var(--acid);transform:translateX(-50%);pointer-events:none}.compare-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--acid);color:#111;display:grid;place-items:center;font-size:22px;border:1px solid #111}.comparison-controls{display:flex;align-items:center;gap:24px;margin-top:20px;font-size:14px}.comparison-controls input{flex:1;accent-color:var(--acid);min-width:0;height:44px}.comparison-controls output{font-family:monospace;width:110px;text-align:right}.compare-description{font-size:13px;line-height:1.7;max-width:800px}.motion-ready [data-aoutch-reveal=text]{opacity:0;transform:translateY(24px);transition:opacity var(--aoutch-duration) var(--aoutch-ease) var(--aoutch-delay),transform var(--aoutch-duration) var(--aoutch-ease) var(--aoutch-delay)}.motion-ready [data-aoutch-reveal=text].aoutch-visible{opacity:1;transform:none}.motion-ready [data-aoutch-reveal=mask]{clip-path:inset(0 12% 0 12%);opacity:.3;transition:clip-path 1100ms var(--aoutch-ease),opacity 850ms var(--aoutch-ease)}.motion-ready [data-aoutch-reveal=mask].aoutch-visible{clip-path:inset(0);opacity:1}.motion-ready .reveal-demo:not(.aoutch-visible) .reveal-art{clip-path:inset(0 100% 0 0);transform:scale(1.05)}.reveal-art{transition:clip-path 1100ms var(--aoutch-ease),transform 1300ms var(--aoutch-ease)}.motion-ready [data-aoutch-flow]{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1600ms var(--aoutch-ease)}.motion-ready [data-aoutch-flow].aoutch-visible{stroke-dashoffset:0}.talk{position:relative;transition:background 300ms,color 300ms,transform 400ms var(--aoutch-ease)}.talk:is(:hover,:focus-visible){transform:translateY(-2px);background:var(--acid)}.project-info button{transition:color 300ms,border-color 300ms}.project-info button:is(:hover,:focus-visible){color:var(--acid);border-color:var(--acid)}.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off [data-aoutch-reveal]{opacity:1!important;transform:none!important;clip-path:inset(0)!important}.motion-off .reveal-art{clip-path:inset(0)!important;transform:none!important}.motion-off [data-aoutch-flow]{stroke-dashoffset:0!important}.motion-off .building{transform:rotateY(-25deg) rotateX(4deg)!important}.motion-off .ring{transform:rotateX(45deg)!important}
@media(max-width:1100px){nav{gap:18px;font-size:12px}.signature-heading,.transformation-heading{gap:40px}.signature-journey{gap:20px}.signature-card h3{font-size:24px}.signature-card p{min-height:140px}.motion-sample{padding:15px 12px;font-size:12px;gap:8px}}
@media(max-width:800px){header{align-items:center}.menu-toggle{display:block;border:1px solid #777;border-radius:25px;min-height:44px;padding:10px 17px;background:#111214;color:var(--text);font-size:14px;z-index:8}.menu-toggle span{color:var(--acid);margin-left:8px}header nav{display:none;position:absolute;top:78px;left:4%;right:4%;background:#1c211b;border:1px solid #5b6554;border-radius:8px;padding:16px;box-shadow:0 20px 60px #0009;align-items:stretch;gap:2px}header nav.is-open{display:flex;flex-direction:column}header nav>a:not(.talk){display:block}header nav>a{padding:15px;font-size:16px;min-height:48px}header nav .talk{margin-top:8px;text-align:center}.signature-heading,.transformation-heading{grid-template-columns:1fr;gap:20px}.signature h2{font-size:clamp(45px,9vw,68px);letter-spacing:-2px}.signature-heading p{font-size:16px}.signature-journey{grid-template-columns:1fr;gap:44px;margin-top:40px;padding-top:30px}.journey-thread{height:20px;top:0}.signature-card{display:grid;grid-template-columns:1fr}.signature-card h3{font-size:29px;margin-top:22px}.signature-card p{min-height:0;margin-top:0}.reveal-demo,.flow-demo,.motion-demo{height:260px}.motion-sample{font-size:15px;padding:16px 24px}.signature-foot{display:block;margin-top:35px}.signature-foot p{margin-top:16px}.transformation-heading{margin-bottom:30px}.transformation h2{letter-spacing:-1.5px;font-size:clamp(34px,7.5vw,55px)}.comparison{height:390px}.comparison-after{padding:20px}.compare-top{font-size:10px}.compare-top span{max-width:100px;text-align:right}.compare-building{right:10%;top:25%;width:45%;height:50%;box-shadow:12px 12px 0 #8b967f}.compare-title{left:20px;bottom:90px;font-size:clamp(47px,11vw,68px);letter-spacing:-2px}.compare-cta{left:20px;bottom:37px;font-size:11px}.before-top{padding:22px 16px;font-size:12px}.before-top span{display:none}.before-content{margin:30px auto;padding:0 20px}.before-content h3{font-size:19px}.before-picture{height:100px}.before-content p{font-size:13px}.comparison-controls{flex-wrap:wrap;gap:8px 18px}.comparison-controls label{width:100%}.comparison-controls output{font-size:12px;width:95px}.signature .section-label .micro:last-child{display:none}.signature-replay{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.motion-ready [data-aoutch-reveal]{opacity:1;transform:none;clip-path:inset(0)}.motion-ready [data-aoutch-flow]{stroke-dashoffset:0}.motion-ready .reveal-demo:not(.aoutch-visible) .reveal-art{clip-path:inset(0);transform:none}.building,.architecture:hover .building{transform:rotateY(-25deg) rotateX(4deg)}.culture:hover .ring{transform:rotateX(45deg)}}
@media(max-width:400px){.footer-brand{font-size:23vw}.architecture h4{font-size:clamp(48px,15vw,60px);letter-spacing:-3px}.wellness h4{font-size:clamp(48px,15vw,60px);letter-spacing:-3px}.culture h4{font-size:clamp(65px,20vw,80px);letter-spacing:-5px}}
.comparison-after{z-index:0}.comparison-before{z-index:1}.compare-divider{z-index:3}
