*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #fafcfc;--text: #1a1a1a;--primary: #1a7a8a;--primary-light: #2a9aac;--accent: #5a6a6e;--muted: #8a9a9e;--subtle: #e8f0f0}html,body{height:100%;overflow:hidden}body{font-family:Outfit,sans-serif;background:var(--bg);color:var(--text);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.5rem,4vw,3rem);position:relative}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 70% 50% at 80% 20%,rgba(26,122,138,.06),transparent),radial-gradient(ellipse 50% 40% at 10% 80%,rgba(26,122,138,.04),transparent);pointer-events:none}#app{display:contents}header{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.logo img{height:clamp(28px,4vw,38px);width:auto}main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;max-width:700px}h1{font-size:clamp(2.8rem,9vw,5.5rem);font-weight:300;line-height:1.05;letter-spacing:-.03em;margin-bottom:1.5rem;color:var(--text)}h1 .line{display:block;opacity:0;transform:translateY(25px);animation:fadeUp .7s ease forwards}h1 .line:nth-child(2){animation-delay:.12s}h1 .highlight{color:var(--primary);font-weight:500}.tagline{font-size:clamp(1rem,1.8vw,1.15rem);color:var(--accent);max-width:420px;line-height:1.7;font-weight:400;opacity:0;animation:fadeIn .8s ease .4s forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}footer{position:relative;z-index:1}.contact{display:flex;gap:2rem}.contact a{color:var(--text);text-decoration:none;font-size:.95rem;font-weight:500;transition:color .3s ease;display:flex;align-items:center;gap:.5rem}.contact a:hover{color:var(--primary)}.contact svg{width:18px;height:18px;stroke:var(--primary)}.location{color:var(--muted);font-size:.85rem;font-weight:400}.location span{display:inline}.location span:first-child:after{content:" · "}.deco-icon{position:fixed;right:8%;top:50%;transform:translateY(-50%);width:clamp(200px,26vw,350px);height:auto;opacity:0;animation:iconIn 1s ease .2s forwards}@keyframes iconIn{0%{opacity:0;transform:translateY(-50%) scale(.85)}to{opacity:.12;transform:translateY(-50%) scale(1)}}@media(max-width:768px){header{flex-direction:column;align-items:flex-start;gap:1rem}h1{font-size:2rem!important}.contact{flex-direction:column;gap:.5rem}}
