:root{--zen:cubic-bezier(.22,1,.36,1)}
.brand img{display:block;width:clamp(150px,15vw,210px);height:auto;object-fit:contain}
.element-list>div{grid-template-columns:48px 1fr 1fr;align-items:center;gap:18px}
.element-list img{width:40px;height:40px;object-fit:contain;opacity:.9}
.button,.card-link,.nav a,.text-button,.contact-options a,.contact-options button{transition:opacity .7s var(--zen),transform .7s var(--zen),background-color .7s var(--zen)}
.button:hover,.card-link:hover{transform:translateY(-3px)}.nav a:hover,.text-button:hover{opacity:.65}
.solution-card{transition:transform 1s var(--zen),filter 1s var(--zen)}.solution-card:hover{transform:translateY(-7px)}
.reveal-ready .section-pad .shell{opacity:0;transform:translateY(42px);transition:opacity 1.4s var(--zen),transform 1.4s var(--zen)}
.reveal-ready .section-pad.in-view .shell{opacity:1;transform:none}
.hero-content{animation:zen-arrive 1.8s var(--zen) both}.hero-shade{animation:zen-breathe 8s ease-in-out infinite alternate}
@keyframes zen-arrive{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes zen-breathe{from{opacity:.88}to{opacity:1}}
.sound-dock{position:fixed;right:22px;bottom:22px;z-index:30;font-family:var(--sans)}
.sound-toggle{border:1px solid #ffffff38;background:#101210e8;color:#fff;padding:11px 15px;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;cursor:pointer;backdrop-filter:blur(10px)}
.sound-toggle span{display:inline-block;margin-right:8px;transition:transform 1.2s var(--zen)}.sound-dock.active .sound-toggle span{transform:rotate(180deg)}
.sound-menu{position:absolute;right:0;bottom:48px;width:215px;background:#f3f1ebf2;border:1px solid var(--line);padding:16px;box-shadow:0 18px 50px #0003;opacity:0;transform:translateY(12px) scale(.98);pointer-events:none;transition:.6s var(--zen);backdrop-filter:blur(14px)}
.sound-dock.open .sound-menu{opacity:1;transform:none;pointer-events:auto}.sound-menu p{margin:0 0 10px;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:var(--moss)}
.sound-menu button{display:flex;justify-content:space-between;width:100%;border:0;border-top:1px solid var(--line);background:none;padding:10px 0;text-align:left;cursor:pointer}.sound-menu button.active{font-weight:700}.sound-menu small{color:#747a74}
dialog[open]{animation:dialog-enter .75s var(--zen)}dialog::backdrop{animation:veil-enter .75s ease both}@keyframes dialog-enter{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}@keyframes veil-enter{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.brand img{width:145px}.element-list>div{grid-template-columns:38px 1fr}.element-list span{grid-column:2}.element-list img{width:32px;height:32px}.sound-dock{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.hero-content,.hero-shade,dialog[open],dialog::backdrop{animation:none}.reveal-ready .section-pad .shell{opacity:1;transform:none}.solution-card,.button,.card-link{transition:none}}
