/* Lightweight, native motion. Every section is visible before JavaScript runs. */
.hero-art{isolation:isolate}
.linden-scene{position:relative}
.linden-scene:before{content:'';position:absolute;inset:8% 3% 7%;border-radius:50%;background:radial-gradient(ellipse,#d9e4bb90,transparent 69%);z-index:-1}
.linden-scene>svg{display:block;width:100%;height:auto;overflow:visible}
.linden-tree{transform-origin:340px 562px}
.linden-crown{transform-origin:337px 408px}
.leaf-motion{transform-box:fill-box;transform-origin:center bottom}
.motion-on .is-inview .linden-tree{animation:linden-sway 8s ease-in-out infinite}
.motion-on .is-inview .linden-crown{animation:crown-sway 6.7s ease-in-out infinite}
.motion-on .is-inview .leaf-motion{animation:leaf-turn 5.5s ease-in-out infinite;animation-delay:var(--leaf-delay,0s)}
.motion-on .is-inview.is-breezy .linden-tree{animation:linden-breeze 1.8s ease-in-out both}
.motion-on .is-inview.is-breezy .leaf-motion{animation:leaf-breeze 1.8s ease-in-out both;animation-delay:0s}
@keyframes linden-sway{0%,100%{transform:rotate(-.6deg)}50%{transform:rotate(.85deg)}}
@keyframes crown-sway{0%,100%{transform:rotate(.2deg)}50%{transform:rotate(-.7deg)}}
@keyframes leaf-turn{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(6deg)}}
@keyframes linden-breeze{0%,100%{transform:rotate(-.6deg)}30%{transform:rotate(2.4deg)}60%{transform:rotate(-1.3deg)}80%{transform:rotate(.6deg)}}
@keyframes leaf-breeze{0%,100%{transform:rotate(0)}35%{transform:rotate(23deg)}70%{transform:rotate(-9deg)}}
.scene-note{position:absolute;display:flex;gap:10px;align-items:center;background:#fffef9eb;border:1px solid #cad7bd;border-radius:13px;padding:11px 15px;box-shadow:0 12px 36px #36512d0d;color:#34543f;font-size:12px;line-height:1.45;backdrop-filter:blur(8px);pointer-events:none}
.scene-note svg{width:20px;height:20px;flex-shrink:0;stroke:#648259;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.scene-note strong{display:block;font-weight:700;font-size:13px}.scene-note-a{left:0;top:30%}.scene-note-b{right:-5px;bottom:17%}
.scene-actions{display:flex;align-items:center;justify-content:center;gap:17px;flex-wrap:wrap;margin-top:16px;min-height:44px}
.scene-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #bdcbb0;border-radius:30px;background:#fffef970;font-size:12px;line-height:1.5;color:#496144;transition:background .2s}
.scene-button:hover:not(:disabled){background:#e5ecd8}.scene-button:disabled{opacity:.65;cursor:default}.scene-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round}
#motion-toggle{background:transparent;border-color:transparent;font-size:11px;text-decoration:underline;text-underline-offset:4px;padding-inline:2px}
.showcase-section{position:relative;overflow:hidden;background:#173e33;color:#f8faed;padding:80px 0 65px}
.showcase-heading{text-align:center;max-width:670px;margin:0 auto 30px}.showcase-heading .eyebrow{color:#c0d1a5}.showcase-heading h2{font-size:clamp(35px,4.1vw,57px);line-height:1.16}.showcase-heading h2 em{color:#c9dbad}.showcase-heading>p:last-child{color:#d8e2d1;font-size:16px;line-height:1.8;max-width:540px;margin:22px auto 0}
.device-controls{display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;max-width:100%;margin:0 auto 27px;padding:6px;background:#ffffff0b;border:1px solid #698572;border-radius:50px}
.device-controls button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:112px;min-height:44px;padding:10px 16px;border:0;border-radius:30px;background:transparent;color:#eef3e5;font-size:13px;line-height:1.4;transition:background .25s,color .25s}
.device-controls button[aria-pressed=true]{background:#e6efcf;color:#234c3f}.device-controls button:disabled{cursor:default}.device-controls svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.device-stage{position:relative;max-width:900px;min-height:440px;margin:auto;display:flex;justify-content:center;align-items:flex-start;padding:12px 0 25px;isolation:isolate}
.device-light{position:absolute;z-index:-1;inset:0 -10% -4%;background:radial-gradient(ellipse at 50% 55%,#bdd99c55,transparent 66%);opacity:.45;pointer-events:none}
.device-frame{position:relative;width:min(100%,780px);height:390px;border:7px solid #e3e8d9;border-radius:16px;background:#f9f8ef;color:#244639;box-shadow:0 30px 55px #071e2440;overflow:hidden;container-type:inline-size;transition:width .7s cubic-bezier(.22,.7,.2,1),border-radius .7s,border-width .7s}
.device-frame[data-view=tablet]{width:min(100%,520px);border-radius:24px;border-width:10px}
.device-frame[data-view=mobile]{width:262px;border-radius:32px;border-width:9px}
.demo-browser{height:25px;background:#e8eddf;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #d4dfc7;font-size:8px;letter-spacing:.06em;color:#5d7154}.demo-browser:before{content:'•••';position:absolute;left:12px;letter-spacing:3px;color:#8b9f7b}
.demo-page{padding:23px 30px}.demo-nav{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;min-height:28px}.demo-brand{font:16px/1.2 var(--serif);display:flex;align-items:center;gap:6px}.demo-brand img{width:22px;height:22px}.demo-links{font-size:9px;word-spacing:12px;color:#556d4c}
.demo-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:20px;margin-top:22px}.demo-kicker{font-size:8px;letter-spacing:.13em;font-weight:700;color:#5a744a}.demo-heading{font:400 29px/1.2 var(--serif);letter-spacing:-.04em;margin:10px 0}.demo-copy>p:last-of-type{font-size:10px;color:#556a4e;line-height:1.7;max-width:260px}.demo-link{display:inline-flex;gap:18px;background:#315d45;color:#fffef3;padding:9px 13px;border-radius:6px;font-size:9px;margin-top:17px}.demo-picture{border-radius:60% 60% 28% 28%;background:#e3e9d5;overflow:hidden;height:206px}.demo-picture img{width:100%;height:100%;object-fit:contain}.demo-facts{display:flex;gap:15px;margin-top:21px;padding-top:13px;border-top:1px solid #d4dfc8;font-size:9px;line-height:1.5;color:#4c6743}.demo-facts span{flex:1}.demo-facts strong{display:block;color:#294d39}.device-caption{text-align:center;min-height:32px;font-size:14px;line-height:1.7;color:#e0e9d5;margin:0 auto 9px;max-width:650px}.demo-disclaimer{text-align:center;font-size:12px;color:#c5d6b8;line-height:1.8}
@container (max-width:550px){.demo-page{padding:20px 23px}.demo-hero{gap:12px}.demo-heading{font-size:25px}.demo-links{word-spacing:6px;font-size:8px}.demo-picture{height:185px}.demo-brand{font-size:14px}.demo-facts{font-size:8px;gap:10px}}
@container (max-width:330px){.demo-page{padding:13px 16px}.demo-nav{min-height:25px}.demo-brand{font-size:13px}.demo-brand img{width:19px;height:19px}.demo-links{font-size:0}.demo-links:after{content:'☰';font-size:16px}.demo-hero{grid-template-columns:1fr;margin-top:17px;gap:13px}.demo-kicker{font-size:7px}.demo-heading{font-size:25px;margin:7px 0}.demo-copy>p:last-of-type{font-size:9px;line-height:1.65}.demo-link{margin-top:12px;padding:8px 12px}.demo-picture{height:106px;display:none}.demo-facts{margin-top:18px;padding-top:12px;gap:12px;font-size:8px;flex-direction:column}.demo-facts span{display:flex;gap:8px}.demo-facts strong{min-width:68px}}
/* A stationary pointer must not make cards lift or tilt while scrolling. */
.portfolio-card,.audience-card{transition:border-color .25s}
@media(hover:hover) and (pointer:fine){.portfolio-card:hover,.audience-card:hover{border-color:#96ad7f}}
.motion-ready .device-stage{height:calc(390px * var(--device-scale,1) + 45px);min-height:0}
.motion-ready .device-frame{width:var(--device-width,780px);flex-shrink:0;transform:scale(var(--device-scale,1));transform-origin:top center;transition:width .65s cubic-bezier(.22,.7,.2,1),transform .65s cubic-bezier(.22,.7,.2,1),border-radius .65s,border-width .65s}
.motion-on .device-stage{transition:height .65s cubic-bezier(.22,.7,.2,1)}
.motion-ready .device-stage.is-scaled,.motion-ready .is-scaled .device-frame{transition:none}
html:not(.motion-on) .linden-scene,html:not(.motion-on) .device-frame,html:not(.motion-on) .device-controls button{transition:none}
@media(max-width:930px){.scene-note{padding:8px 10px;font-size:10px;gap:7px}.scene-note strong{font-size:11px}.scene-note-a{left:0;top:31%}.scene-note-b{right:0;bottom:14%}.scene-note svg{width:16px;height:16px}.scene-actions{gap:5px;margin-top:12px}.scene-button{font-size:11px;padding-inline:10px}.showcase-section{padding-block:65px 50px}.device-stage{min-height:430px}}
@media(max-width:650px){.hero-art{width:min(100%,390px)}.scene-note-a{left:0;top:28%}.scene-note-b{right:-3px;bottom:17%}.showcase-section{padding-block:58px 48px}.showcase-heading h2{font-size:36px}.showcase-heading>p:last-child{font-size:15px;margin-top:20px}.device-controls{gap:2px;padding:4px}.device-controls button{min-width:0;font-size:12px;gap:6px;padding:10px 14px}.device-controls svg{width:17px;height:17px}.device-stage{min-height:428px;padding-top:5px}.device-frame{height:390px;border-width:5px}.device-caption{font-size:13px;min-height:45px}.demo-disclaimer{font-size:11px}.scene-actions{gap:8px}}
@media(max-width:360px){.scene-note{padding:7px 8px;font-size:9px}.scene-note strong{font-size:10px}.scene-note-a{left:-3px}.scene-note-b{right:-3px}.scene-note svg{display:none}.device-controls button{padding:10px;font-size:11px}.showcase-heading h2{font-size:32px}.scene-actions{gap:4px}.scene-button{font-size:10px}#motion-toggle{font-size:10px}}
@media(prefers-reduced-motion:reduce){.linden-tree,.linden-crown,.leaf-motion{animation:none!important}.linden-scene{transform:none!important}.linden-scene,.device-frame,.device-stage{transition:none!important}}
@media print{.scene-actions,.scene-note,.device-controls{display:none!important}.showcase-section{background:#eef2e5;color:#243f34;padding:30px 0}.showcase-heading .eyebrow,.showcase-heading h2 em,.showcase-heading>p:last-child,.device-caption,.demo-disclaimer{color:#243f34}.device-stage{min-height:0}.device-frame{box-shadow:none;break-inside:avoid}.linden-tree,.linden-crown,.leaf-motion{animation:none!important;transform:none!important}}
