/* Seitenlinde's living visual language: a botanical opening and deliberate transitions. */
.hero-chapter{position:relative;overflow:hidden;background:radial-gradient(ellipse at 85% 35%,#e8eedb99,transparent 52%),var(--paper)}
.hero{grid-template-columns:1.12fr 1fr;gap:24px;position:relative;padding-top:52px;padding-bottom:32px}
.hero h1{font-size:clamp(46px,4.7vw,67px);line-height:1.13;letter-spacing:-.058em}
.hero-description{max-width:505px;font-size:17px;line-height:1.85}
.hero-art{margin:0 -12px 0 0;align-self:center}
.linden-scene{margin-top:8px;perspective:800px}
.linden-scene:before{inset:5% -8% 0;background:radial-gradient(ellipse at 60% 38%,#e5ddab4d,transparent 64%)}
.linden-art{filter:drop-shadow(0 20px 30px #35563b0b)}
.scene-orbit{position:absolute;inset:7% 2% 4%;border:1px solid #9aaf7b42;border-radius:50%;transform:rotate(-24deg) scaleX(.94);pointer-events:none;z-index:-1}
.orbit-two{inset:0 7% 12%;transform:rotate(26deg) scaleX(.94);border-style:dashed;border-color:#a4b78b40}
.art-kicker{letter-spacing:.13em;font-size:9px;gap:8px}
.scene-note{border-radius:12px;background:#fffef9f0;border-color:#b8cba7;box-shadow:0 14px 36px #2d503119;padding:13px 16px;backdrop-filter:blur(8px);z-index:2}
.scene-note-a{left:-4%;top:34%}.scene-note-b{right:-1%;bottom:14%}
.scene-note strong{font-size:13px}.scene-note svg{width:22px;height:22px}
.scene-actions{margin-top:12px;gap:10px}
#tree-gust{background:#284c3a;color:#fffef4;border-color:#284c3a;padding:10px 15px;font-size:11px;box-shadow:0 5px 15px #284c3a13}
#tree-gust:hover:not(:disabled){background:#436443}
#motion-toggle{font-size:10px}
.hero-art figcaption{font-size:11px;color:#607451}
.hero-scroll{grid-column:1/-1;display:flex;align-items:center;gap:13px;max-width:100%;margin-top:12px;font-size:11px;letter-spacing:.03em;color:#617153}
.scroll-orbit{display:grid;place-items:center;width:32px;height:40px;border:1px solid #b7c4a7;border-radius:22px;font-size:17px}
.scroll-line{height:1px;background:linear-gradient(90deg,#b7c4a7,transparent);flex:1;margin-left:15px}
.reading-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;pointer-events:none;overflow:hidden}
.reading-progress span{display:block;background:#91aa6d;width:100%;height:100%;transform:scaleX(var(--read-progress,0));transform-origin:left}
.site-header nav a:not(.nav-contact){position:relative}.site-header nav a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:#587b50;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.site-header nav a[aria-current=location]:after,.site-header nav a:not(.nav-contact):hover:after{transform:scaleX(1)}

/* The trunk and crown move together; independent foliage gives depth. */
.motion-on .is-inview .linden-tree{animation:linden-sway 6.4s cubic-bezier(.45,0,.55,1) infinite}
.motion-on .is-inview .linden-crown{animation:crown-sway 4.8s ease-in-out infinite}
.motion-on .is-inview .leaf-motion{animation:leaf-turn 3.7s ease-in-out infinite;animation-delay:var(--leaf-delay,0s)}
@keyframes linden-sway{0%,100%{transform:rotate(-2.6deg)}50%{transform:rotate(3.2deg)}}
@keyframes crown-sway{0%,100%{transform:rotate(-.6deg)}50%{transform:rotate(1.1deg)}}
@keyframes leaf-turn{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(15deg)}}
.scene-wind path{opacity:0;stroke-dasharray:24 76;stroke-dashoffset:110}
.motion-on .is-inview .scene-wind path{animation:wind-flow 6.4s ease-in-out infinite}
.motion-on .is-inview .scene-wind path:nth-child(2){animation-delay:-3.2s}
.motion-on .is-inview .scene-wind path:nth-child(3){animation-delay:-4.6s}
@keyframes wind-flow{0%,15%{opacity:0;stroke-dashoffset:110}30%,65%{opacity:.65}85%,100%{opacity:0;stroke-dashoffset:-95}}
.drift-leaf{opacity:0;transform-box:fill-box;transform-origin:center}
.motion-on .is-inview .drift-leaf{animation:leaf-drift 7s linear infinite}
.motion-on .is-inview .drift-two{animation-delay:-2.4s;--drift-direction:-1}
.motion-on .is-inview .drift-three{animation-delay:-4.7s}
@keyframes leaf-drift{0%{opacity:0;transform:translate(0,-25px) rotate(-20deg)}12%{opacity:.85}45%{transform:translate(calc(28px * var(--drift-direction,1)),47px) rotate(70deg)}70%{opacity:.8;transform:translate(calc(12px * var(--drift-direction,1)),100px) rotate(130deg)}100%{opacity:0;transform:translate(calc(50px * var(--drift-direction,1)),155px) rotate(210deg)}}
.motion-on .is-inview.is-breezy .linden-tree{animation:linden-breeze 2.5s ease-in-out both}
.motion-on .is-inview.is-breezy .leaf-motion{animation:leaf-breeze 2.5s ease-in-out both;animation-delay:0s}
.motion-on .is-inview.is-breezy .scene-wind path{animation:wind-flow 1.25s ease-in-out 2}
@keyframes linden-breeze{0%{transform:rotate(-2.6deg)}25%{transform:rotate(7deg)}51%{transform:rotate(-4.2deg)}75%{transform:rotate(2.7deg)}100%{transform:rotate(-2.6deg)}}
@keyframes leaf-breeze{0%,100%{transform:rotate(-9deg)}35%{transform:rotate(38deg)}70%{transform:rotate(-23deg)}}
.hero-scroll:hover .scroll-orbit{background:#e7eddb}

/* Distinct chapters, with space for the real work to speak. */
.section-heading h2,.showcase-heading h2{letter-spacing:-.05em}
.section-heading .eyebrow:before,.showcase-heading .eyebrow:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#869b60;margin-right:10px;vertical-align:2px}
.audience-section{padding-block:88px 100px}.audience-card{border-radius:18px;background:linear-gradient(135deg,#fffefb,#f4f4e9);border-color:#cad5bd;position:relative;overflow:hidden}
.audience-card.care-card{background:linear-gradient(135deg,#e9eedf,#dce5cf)}
.audience-number{font:400 65px/1 var(--serif);opacity:.13;top:27px;right:28px}
.case-section:before{content:'';position:absolute;width:700px;height:700px;border:1px solid #aac58d12;border-radius:50%;top:-370px;right:-260px;pointer-events:none}
.case-section .wrap{position:relative}.case-section .section-heading{margin-bottom:52px}
.case-section .featured-project{grid-template-columns:1.45fr 1fr}
.project-visual{transform:rotate(-1deg);border:1px solid #f1f3df38}
.kita-tile{position:relative;min-width:0}.kita-card{height:100%;border-radius:12px}
.project-peek{position:absolute;right:10px;top:10px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffffd9;background:#fffef9eb;color:#264e3b;box-shadow:0 4px 14px #163f3026;z-index:2;transition:background .25s}
.project-peek svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.project-peek{width:auto;min-height:40px;padding:0 12px;display:flex;gap:7px;font-size:10px;font-weight:700}.project-peek span{line-height:1}
.project-peek:hover{background:#e3edcb}
.portfolio-window{position:relative;overflow:hidden;min-width:0}.portfolio-card:first-child .portfolio-window{border-right:1px solid #d6ddce}
.portfolio-card:first-child .portfolio-screen{border-right:0}
.portfolio-window .project-peek{top:45px;right:14px}
.showcase-section{padding:85px 0 68px;background:radial-gradient(ellipse at 50% 75%,#f9faf1,transparent 55%),#e4ebda}
.device-stage{margin-top:28px}.device-frame{box-shadow:0 45px 60px -30px #274a4066,0 0 0 1px #7f987449}
.device-controls{padding:7px;background:#fbfcf280;box-shadow:0 8px 25px #38513a0b}
.featured-price{box-shadow:0 25px 50px #234c3f1c;position:relative}
.package-combination{padding:28px;border:1px solid #cad5bd;border-radius:14px;background:#eef2e5}
.package-combination label{transition:background .2s,border-color .2s}.package-combination label:has(input:checked){background:#dce7c9;border-color:#79955e}
.workflow .step-number{background:#294f3e;color:#fffef2;box-shadow:0 0 0 6px #dfe7d2}
.about-portrait{transform:rotate(-2deg);box-shadow:0 25px 45px #36513410}
.contact-section{position:relative;overflow:hidden}.contact-section:before{content:'';position:absolute;right:-170px;top:-300px;width:720px;height:720px;border-radius:50%;border:1px solid #adbf9040;box-shadow:0 0 0 75px #dce7ca13,0 0 0 155px #dce7ca0d;pointer-events:none}.contact-grid{position:relative}
.contact-section{background:#1b3e32;color:#f9f8ed;border-color:#294e3d}.contact-copy h2{font-size:54px}.contact-copy h2 em{color:#c8dba7}.contact-copy>.eyebrow,.contact-copy .contact-direct>.eyebrow{color:#c1d4a8}.contact-copy>p:not(.eyebrow),.contact-copy .person span{color:#cedccc}.contact-copy .person{margin-block:32px}.contact-copy .person img{width:88px;height:88px;border-color:#c2d2aa}.contact-copy .contact-direct{padding-block:25px 0;border:0;border-top:1px solid #658269;margin-bottom:0}.contact-copy .contact-direct>p:last-child{color:#cedccc}.contact-copy .contact-email{color:#e8efd9;border-color:#a3b58d}.contact-copy .contact-note{font-size:13px!important;max-width:410px!important;color:#b6c9b7!important}.contact-form-panel{color:var(--ink);border:0;box-shadow:0 25px 50px #061e2530}.contact-form-intro{margin-bottom:25px}.contact-form-intro .eyebrow{font-size:10px;margin-bottom:10px}.contact-form-intro h3{font:400 28px/1.3 var(--serif);letter-spacing:-.03em}
#project-viewer{width:min(1180px,calc(100% - 48px));max-width:1180px;padding:0;border:1px solid #8aa17a;border-radius:18px;background:#f7f6ef;overflow:hidden}
#project-viewer::backdrop{background:#102b24d9;backdrop-filter:blur(10px)}
.viewer-header{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid #ced8c3;gap:20px}
.viewer-header .eyebrow{font-size:9px;line-height:1.2;margin:0 0 7px}.viewer-header h2{font-size:26px;margin:0}
.viewer-close{flex-shrink:0;border:1px solid #b4c4a4;border-radius:50%;width:44px;height:44px;background:transparent;font-size:28px;line-height:1}
.viewer-screen{height:min(62vh,700px);overflow:auto;background:#e5eadb;overscroll-behavior:contain;scrollbar-width:thin}.viewer-screen img{width:100%;height:auto;display:block;max-width:none}
#project-viewer .viewer-footer{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:17px 25px}
.viewer-paging{display:flex;align-items:center;gap:15px}.viewer-paging button{width:44px;height:44px;border:1px solid #b9c6aa;background:transparent;border-radius:50%;font-size:20px}.viewer-paging button:hover,.viewer-close:hover{background:#e1e9d2}
#viewer-count{min-width:44px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.viewer-footer p{font-size:11px;margin:0}.viewer-footer .button{font-size:12px;min-height:44px;margin:0;padding:11px 16px}
body:has(#project-viewer[open]){overflow:hidden}
@media(min-width:1101px){.hero-art{width:calc(100% + 14px)}.hero-copy{padding-bottom:12px}}
@media(max-width:1100px){.hero{gap:10px}.scene-note-a{left:-1%}.scene-note-b{right:0}.scene-note{padding:10px 12px}.scene-note strong{font-size:11px}.scene-note{font-size:10px}.scene-actions{gap:6px}#tree-gust{font-size:10px;padding:9px 11px}.hero h1{font-size:clamp(43px,5vw,57px)}}
@media(max-width:930px){.hero{padding-top:36px;gap:10px}.hero h1{font-size:43px}.hero-description{font-size:16px}.hero-art{margin-right:0}.art-kicker{font-size:7px;letter-spacing:.07em}.scene-note{padding:8px 10px}.scene-note svg{width:16px;height:16px}.scene-note strong{font-size:10px}.scene-note{font-size:9px}.hero-art figcaption{font-size:10px}.hero-scroll{margin-top:10px}.case-section .featured-project{grid-template-columns:1.1fr 1fr}.portfolio-card:first-child .portfolio-window{border-right:0}.package-combination{padding:23px}.viewer-footer p{display:none}}
@media(max-width:650px){.hero{display:grid;grid-template-columns:1fr;padding:35px 0 25px;gap:25px}.hero h1{font-size:clamp(38px,9.7vw,57px)}.hero-copy{grid-column:1}.hero-art{width:min(100%,420px);margin:auto;grid-column:1}.linden-scene{margin-top:0}.scene-note-a{left:-1%;top:32%}.scene-note-b{right:-1%;bottom:16%}.scene-note{padding:10px 12px;font-size:10px}.scene-note strong{font-size:11px}.scene-note svg{width:17px;height:17px}.hero-art figcaption{font-size:11px}.scene-actions{gap:12px}#tree-gust{font-size:11px;padding:11px 14px}.hero-scroll{margin-top:0}.scroll-orbit{height:35px;width:28px}.hero .button-row{gap:15px}.audience-section{padding-block:64px}.audience-number{font-size:56px;top:24px;right:22px}.audience-card .eyebrow{max-width:230px}.case-section .featured-project{grid-template-columns:1fr}.case-section .section-heading{margin-bottom:34px}.project-visual{transform:none}.project-peek{width:35px;height:35px;top:6px;right:6px}.project-peek svg{width:15px;height:15px}.showcase-section{padding-block:60px 48px}.showcase-heading h2{font-size:36px}.package-combination{padding:22px 18px}.combination-result{gap:8px}.combination-result strong{font-size:29px}.combination-result p{min-width:0}.about-portrait{max-width:245px}.about-section{padding-top:72px}#project-viewer{width:calc(100% - 20px);max-height:calc(100% - 32px);border-radius:12px}.viewer-header{padding:18px}.viewer-header h2{font-size:23px}.viewer-screen{height:58vh}.viewer-screen img{width:800px}.viewer-footer .button{font-size:11px;padding:10px;gap:10px}#project-viewer .viewer-footer{padding:12px;gap:12px}.viewer-paging{gap:7px}.viewer-paging button{width:38px;height:38px}#viewer-count{min-width:35px;font-size:11px}}
@media(max-width:360px){.hero h1{font-size:35px}.scene-note{padding:8px;font-size:9px}.scene-note strong{font-size:10px}.scene-note svg{display:none}.hero-art figcaption{font-size:10px}.scene-actions{gap:6px}#tree-gust{font-size:10px;padding:9px 11px}.viewer-header h2{font-size:21px}}
@media(max-width:650px){.hero{gap:17px}.hero-copy{display:contents}.hero-copy>.eyebrow{order:1;margin-bottom:0}.hero h1{order:2}.hero .button-row{order:3;margin-top:5px}.hero-art{order:4;width:min(100%,360px);margin-top:4px}.hero-description{order:5;margin-top:4px;max-width:none}.hero-person{order:6;margin-top:2px}.hero-scroll{order:7;margin-top:5px}}
@media(max-width:650px){.viewer-screen{height:auto;max-height:62vh}.viewer-screen img{width:100%}.project-peek{width:auto;height:36px;min-height:36px;padding:0 9px;gap:5px;font-size:9px}}
@media(max-width:930px){.contact-copy h2{font-size:41px}.contact-form-intro h3{font-size:25px}}
@media(max-width:650px){.contact-copy h2{font-size:40px}.contact-copy .person img{width:75px;height:75px}.contact-copy .contact-direct{padding-top:22px}.contact-form-intro h3{font-size:27px}}
html:not(.motion-on) .linden-tree,html:not(.motion-on) .linden-crown,html:not(.motion-on) .leaf-motion,html:not(.motion-on) .scene-note,html:not(.motion-on) .scene-wind path,html:not(.motion-on) .drift-leaf{animation:none!important}
html:not(.motion-on) .project-visual{transform:none}
html:not(.motion-on) .project-peek,html:not(.motion-on) .workflow .step-number,html:not(.motion-on) .package-combination label,html:not(.motion-on) .site-header nav a:after{transition:none}
html:not(.motion-on) .project-peek:hover{transform:none}
html.motion-ready:not(.motion-on) *,html.motion-ready:not(.motion-on) *::before,html.motion-ready:not(.motion-on) *::after{animation:none!important;transition:none!important}
html.motion-ready:not(.motion-on){scroll-behavior:auto}
html:not(.motion-on) .button:hover{transform:none}
@media(prefers-reduced-motion:reduce){.linden-scene,.project-visual,.about-portrait{transform:none!important}.scene-wind,.loose-leaves{display:none}.reading-progress span{transition:none}}
@media print{.hero-chapter{background:white}.hero-scroll,.project-peek,.reading-progress,.scene-orbit,.scene-wind,.loose-leaves,#project-viewer{display:none!important}.project-visual,.about-portrait{transform:none;box-shadow:none}.package-combination{display:none}}
