/* A continuous, naturalistic Lake Zug-inspired landscape behind every page. */
body.has-alpine{--ink:#f3f2ec;--muted:#c7d2d2;--line:#cfdddd33;background:#10232d;color:var(--ink);isolation:isolate}
.alpine-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#122b36 url('/assets/zug-winter-panorama.webp') center/cover no-repeat}
#alpine-canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease}
#alpine-canvas.is-ready{opacity:1}
.alpine-shade{position:absolute;inset:0;background:linear-gradient(180deg,#08182065 0%,#08182054 32%,#06182061 62%,#06172088 100%)}
.has-alpine .hero{background:linear-gradient(180deg,#07182105 35%,#071c2429 65%,#071b2480);min-height:max(840px,100svh)}
.has-alpine .hero-content{padding-top:250px;padding-bottom:100px;isolation:isolate}
.has-alpine .hero-content:after{content:"";position:absolute;inset:16% -8% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,#06172042,transparent 72%)}
.has-alpine .hero h1{text-shadow:0 3px 40px #07182088}
.has-alpine .hero h1 em{color:#e9e2d2}
.has-alpine .hero-eyebrow,.has-alpine .hero-bottom>p,.has-alpine .hero-foot{color:#edf0ec;text-shadow:0 2px 14px #061720}
.has-alpine .office.section,.has-alpine .principles.section{width:100%;max-width:none;padding-inline:max(4rem,calc((100% - 1440px)/2));background:#081e29b8}
.has-alpine .approach{background:#081e29b8}
.has-alpine .site-footer{background:#081e29b8}
.has-alpine h2 em{color:#c7b799}
.has-alpine .section-label>span,.has-alpine .principle-index,.has-alpine .legal-copy h2>span,.has-alpine .legal-contents li::marker{color:#c7b18d}
.has-alpine .principle-caption{color:#c4cec8}
.has-alpine .site-header{background:linear-gradient(#0a1e2980,#0a1e2910)}
.has-alpine .site-header.is-scrolled{background:#0a202bdf;color:#f3f2ec;border-bottom-color:#d2dfd32c;box-shadow:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.has-alpine .navigation-dialog{background:#0b202ce8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.has-alpine .navigation-dialog::backdrop{background:#06172055}
.has-alpine .local-time{border-color:#cfdddd24}
.has-alpine .office-notes,.has-alpine .principle,.has-alpine .method-list,.has-alpine .method{border-color:#cfdddd24}
.has-alpine .footer-bottom{padding-bottom:max(2rem,env(safe-area-inset-bottom))}
.has-alpine .contact-email{border-bottom-color:#c5b89577}
.has-alpine .contact-email:hover{border-bottom-color:#c5b895}
.has-alpine .footer-links a{ text-decoration-color:#c5b89577}
.has-alpine .skip-link{color:#122c34}

.has-alpine.legal-page .alpine-shade{background:#081e29db}
.has-alpine .legal-contents a:hover,.has-alpine .legal-back:hover{color:#f3e4c6}
.has-alpine .legal-contents{scrollbar-color:#c1b09255 transparent;scrollbar-width:thin}
.has-alpine .legal-copy a{ text-decoration-color:#c7b79999}
@media(min-width:1800px){.has-alpine .hero{min-height:100svh}}
@media(max-width:1150px){.has-alpine .office.section,.has-alpine .principles.section{padding-inline:2.5rem}}
@media(max-width:960px){.has-alpine .office.section,.has-alpine .principles.section{padding-inline:1.75rem}.has-alpine .hero-content{padding-top:205px;padding-bottom:75px}}
@media(max-width:680px){
 .has-alpine .hero{min-height:100vh;min-height:100svh;padding-top:5rem;justify-content:flex-start}
 .has-alpine .hero-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(2rem,7svh,4rem);padding-bottom:2rem}
 .has-alpine .hero h1{font-size:clamp(1.85rem,9.8vw,3.25rem);line-height:1.14;letter-spacing:-.045em}
 .has-alpine .hero-eyebrow{margin-bottom:1.5rem;line-height:1.7;letter-spacing:.055em;text-wrap:balance}
 .has-alpine .hero-bottom{margin-top:1.75rem;gap:1.5rem}
 .has-alpine .hero-bottom>p{line-height:1.7;letter-spacing:0}
 .has-alpine .hero-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 0 1.25rem;font-size:.75rem;line-height:1.6}
 .has-alpine .hero-foot span{max-width:55%}
 .has-alpine .hero-foot span:last-child{text-align:right;margin:0}
 .has-alpine .office.section,.has-alpine .principles.section{padding-inline:1.25rem;background:#081e29c4}
 .has-alpine .approach,.has-alpine .site-footer{background:#081e29c4}
}
@media(max-width:960px) and (max-height:520px) and (orientation:landscape){
 .has-alpine .hero{min-height:100svh;padding-top:6rem;justify-content:flex-start}
 .has-alpine .hero-content{padding-top:1.5rem;padding-bottom:1.5rem}
 .has-alpine .hero h1{font-size:clamp(2rem,5.5vw,3rem)}
 .has-alpine .hero-eyebrow{margin-bottom:1rem}
 .has-alpine .hero-bottom{margin-top:1rem;gap:1rem}
 .has-alpine .hero-foot{padding-block:1rem}
}
@media(max-width:360px){.has-alpine .office.section,.has-alpine .principles.section{padding-inline:1rem}}
@media(prefers-reduced-motion:reduce){#alpine-canvas{transition:none}}
@media print{
 .alpine-background,.alpine-shade{display:none!important}
 body.has-alpine{--ink:#122c34;--muted:#5a6b6d;--line:#cdd4cf;color:#122c34;background:#fff}
 .has-alpine .hero,.has-alpine .office.section,.has-alpine .principles.section,.has-alpine .approach,.has-alpine .site-footer{background:#fff;color:#122c34}
 .has-alpine .hero h1,.has-alpine .hero h1 em,.has-alpine .hero-eyebrow,.has-alpine .hero-bottom>p,.has-alpine .hero-foot{color:#122c34;text-shadow:none}
}
