:root{--paper:#f3f2ee;--ink:#1c252c;--muted:#687078;--line:#d4d5d1}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}
.card{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(1.5rem,3.5vw,3.5rem) clamp(1.5rem,4.5vw,5rem);background:linear-gradient(115deg,rgba(255,255,255,.48),transparent 43%),var(--paper)}
.card::before{content:"";position:absolute;inset:-30%;z-index:-2;pointer-events:none;background:radial-gradient(circle at 50% 44%,rgba(0,114,198,.055),transparent 36%)}
.spotlightCover{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.atmosphere{position:absolute;z-index:0;width:min(74vw,74rem);aspect-ratio:1.85;right:-13vw;bottom:-5vh;border-radius:50%;background:radial-gradient(ellipse at 48% 48%,rgba(65,71,76,.24) 0%,rgba(65,71,76,.14) 42%,transparent 72%);filter:blur(42px);transform:rotate(-8deg);animation:shadowSettle 1400ms cubic-bezier(.22,1,.36,1) both}
.topline,.identity,.contact{position:relative;z-index:1}
.topline{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--line);color:var(--muted);font-size:.66rem;font-weight:500;letter-spacing:.17em;line-height:1;text-transform:uppercase}.topline p,.place{margin:0}
.identity{align-self:center;min-width:0;padding:8vh 0 6vh}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.logoPlate{width:min(64vw,46rem);overflow:visible;background:transparent;filter:drop-shadow(0 1.8rem 2.8rem rgba(65,70,74,.12))}.brandLogo{display:block;width:100%;height:auto}
.contact{display:grid;grid-template-columns:1.1fr 1fr auto;align-items:end;gap:2rem;padding-top:1.1rem;border-top:1px solid var(--line);font-size:clamp(.74rem,.86vw,.88rem);letter-spacing:.025em;line-height:1.55}.contact address,.links{display:flex;flex-direction:column;font-style:normal}.links a{width:fit-content;transition:opacity 180ms ease,transform 180ms ease}.links a:hover,.links a:focus-visible{opacity:.72;transform:translateX(.18rem)}.links a:focus-visible{outline:1px solid currentColor;outline-offset:.25rem}.place{justify-self:end;color:var(--muted);font-size:.64rem;letter-spacing:.15em;text-transform:uppercase}
.contactPopupLayer{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:1.5rem;background:rgba(243,242,238,.62);backdrop-filter:blur(12px);animation:popupFade 260ms ease both}.contactPopupLayer[hidden]{display:none}.contactPopup{position:relative;width:min(31rem,100%);padding:clamp(2rem,5vw,3.5rem);border:1px solid rgba(104,112,120,.28);background:rgba(249,249,247,.96);box-shadow:0 2rem 5rem rgba(42,48,53,.18);animation:popupEnter 420ms cubic-bezier(.22,1,.36,1) both}.popupClose{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;padding:0;border:0;background:transparent;color:var(--muted);font:300 1.55rem/1 Arial,sans-serif;cursor:pointer}.popupClose:focus-visible{outline:1px solid currentColor;outline-offset:.15rem}.popupLabel{margin:0 0 1.2rem;color:var(--muted);font-size:.62rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase}.contactPopup h2{margin:0;font-size:clamp(2rem,5vw,3.4rem);font-weight:400;letter-spacing:-.045em;line-height:.98}.popupContacts{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:clamp(2.5rem,7vw,4rem);font-size:clamp(.92rem,1.2vw,1.05rem)}.popupContacts a{border-bottom:1px solid rgba(28,37,44,.28);transition:border-color 180ms ease,opacity 180ms ease}.popupContacts a:hover,.popupContacts a:focus-visible{border-color:currentColor;opacity:.72}
.reveal{opacity:0;animation:enter 850ms cubic-bezier(.22,1,.36,1) forwards}.revealOne{animation-delay:70ms}.revealThree{animation-delay:250ms}.revealFour{animation-delay:420ms}@keyframes enter{from{opacity:0;transform:translateY(.8rem);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes shadowSettle{from{opacity:0;transform:translate(2rem,1.5rem) rotate(-8deg) scale(.96)}to{opacity:1;transform:translate(0,0) rotate(-8deg) scale(1)}}
@keyframes popupFade{from{opacity:0}to{opacity:1}}@keyframes popupEnter{from{opacity:0;transform:translateY(1.5rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:720px){.topline p:last-child{display:none}.identity{padding:10vh 0 8vh}.logoPlate{width:min(88vw,38rem)}.contact{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}.place{grid-column:1/-1;justify-self:start}.atmosphere{width:110vw;right:-55vw}}
@media(pointer:coarse){.spotlightCover{display:none}}
@media(max-width:430px){.card{padding:1.35rem}.logoPlate{width:100%}.contact{grid-template-columns:1fr;gap:1rem}.place{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none}.atmosphere{animation:none}.contactPopupLayer,.contactPopup{animation:none}}
