:root{--bg-color: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f5;--text-primary: #0a0a0a;--text-secondary: #555555;--text-muted: #888888;--accent-color: #000000;--accent-light: #333333;--border-color: #e8e8e8;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Playfair Display", Georgia, serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-out-soft: cubic-bezier(.2, .8, .2, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--bg-color)}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page{min-height:100vh;opacity:0;animation:pageFade .8s var(--ease-out) forwards}@keyframes pageFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::selection{background:var(--accent-color);color:var(--bg-color)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em;color:#000}img{max-width:100%;display:block}a{text-decoration:none;color:inherit;transition:all .4s var(--ease-out)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#bbb}.container{max-width:1600px;margin:0 auto;padding:0 clamp(20px,5vw,60px)}.section{padding:clamp(100px,15vh,180px) 0}.link-hover{position:relative;display:inline-block}.link-hover:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width .4s var(--ease-out)}.link-hover:hover:after{width:100%}.showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px}.showcase-card{position:relative;min-height:280px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.25);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;color:#fff;text-decoration:none;transition:transform .6s var(--ease-out),border-color .3s ease}.showcase-card:hover{transform:translateY(-6px);border-color:#ffffff80}.showcase-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000 30%,#000000a6)}.showcase-card__content{position:relative;z-index:1;color:#fff}.showcase-card__content p{font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;color:#fff}.showcase-card__content h3{font-size:clamp(1.8rem,3vw,2.4rem);margin:0;color:#fff}.showcase-card__arrow{position:absolute;top:20px;right:28px;font-size:1.5rem;z-index:1;color:#fff}.showcase-card--wide{grid-column:span 2}.showcase-card--tall{grid-row:span 2;min-height:100%}@media(max-width:768px){.showcase-card--wide,.showcase-card--tall{grid-column:span 1;grid-row:span 1}}.section-label{font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem}.img-hover{overflow:hidden}.img-hover img{transition:transform .8s var(--ease-out),filter .6s var(--ease-out)}.img-hover:hover img{transform:scale(1.03)}.card-hover{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 40px #00000014}.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--accent-color);background:transparent;color:var(--accent-color);transition:all .4s var(--ease-out);cursor:pointer}.btn:hover{background:var(--accent-color);color:var(--bg-color)}@keyframes fadeUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes blurIn{0%{opacity:0;filter:blur(20px);transform:translateY(20px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes clipReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes clipRevealUp{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-5deg) translateY(30px)}to{opacity:1;transform:rotate(0) translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scrollDown{0%{opacity:1;transform:translateY(0)}50%{opacity:.4}to{opacity:0;transform:translateY(15px)}}@keyframes drawLine{0%{width:0}to{width:100%}}@keyframes letterExpand{0%{letter-spacing:-.1em;opacity:0}to{letter-spacing:.2em;opacity:1}}@keyframes glowPulse{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 30px #0000001a}}.animate-fade-up{animation:fadeUp 1s var(--ease-out) forwards;opacity:0}.animate-fade-in{animation:fadeIn .8s var(--ease-out) forwards;opacity:0}.animate-scale-in{animation:scaleIn 1.2s var(--ease-out) forwards;opacity:0}.animate-scale-up{animation:scaleUp .8s var(--ease-spring) forwards;opacity:0}.animate-slide-up{animation:slideUp .8s var(--ease-out) forwards;opacity:0}.animate-slide-left{animation:slideInLeft 1s var(--ease-out) forwards;opacity:0}.animate-slide-right{animation:slideInRight 1s var(--ease-out) forwards;opacity:0}.animate-blur-in{animation:blurIn 1.2s var(--ease-out) forwards;opacity:0}.animate-clip-reveal{animation:clipReveal 1s var(--ease-out) forwards}.animate-clip-reveal-up{animation:clipRevealUp 1s var(--ease-out) forwards}.animate-rotate-in{animation:rotateIn 1s var(--ease-out) forwards;opacity:0}.animate-bounce-in{animation:bounceIn .8s var(--ease-out) forwards;opacity:0}.animate-float{animation:float 5s ease-in-out infinite}.animate-pulse{animation:pulse 3s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,#000 25%,#333,#000 75%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s linear infinite}.animate-letter-expand{animation:letterExpand 1s var(--ease-out) forwards;opacity:0}.animate-glow{animation:glowPulse 3s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.delay-900{animation-delay:.9s}.delay-1000{animation-delay:1s}.delay-1200{animation-delay:1.2s}.hover-lift{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 25px 50px #0000001a}.hover-scale{transition:transform .4s var(--ease-out)}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .6s var(--ease-out)}.hover-rotate:hover{transform:rotate(3deg)}.line-grow{position:relative;overflow:hidden}.line-grow:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:currentColor;transition:width .6s var(--ease-out)}.line-grow:hover:after{width:100%}.fade-in{opacity:1;transform:translateY(0);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}.animate-on-scroll{opacity:0;transform:translateY(30px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.divider{width:40px;height:1px;background:var(--accent-color)}@media(max-width:768px){.section{padding:80px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
