:root{--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Sora", "DM Sans", -apple-system, sans-serif;--font-accent: "EB Garamond", Georgia, serif;--sand: #f7f7f5;--stone-gray: #e5e7eb;--sage-mist: #f5f6f8;--bone-white: #ffffff;--clay: #0b0f1a;--ink: #0b0f1a;--deep-earth: #0b0f1a;--accent: #0b0f1a;--terracotta: #0b0f1a;--text-primary: #0b0f1a;--text-secondary: rgba(11, 15, 26, .65);--text-tertiary: rgba(11, 15, 26, .4);--background: #ffffff;--surface: #ffffff;--border: rgba(12, 18, 32, .12);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .06), 0 16px 40px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .05), 0 12px 32px rgba(0, 0, 0, .08), 0 24px 64px rgba(0, 0, 0, .08);--transition-fast: .2s;--transition-base: .4s;--transition-slow: .8s;--transition-organic: cubic-bezier(.4, 0, .2, 1);--transition-elastic: cubic-bezier(.68, -.55, .265, 1.55)}@media (prefers-color-scheme: dark){:root{--text-primary: var(--bone-white);--text-secondary: rgba(250, 248, 245, .65);--text-tertiary: rgba(250, 248, 245, .45);--background: var(--deep-earth);--surface: var(--clay);--border: rgba(212, 163, 115, .15)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-weight:300;line-height:1.7;color:var(--text-primary);background:var(--background);overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;opacity:.03;pointer-events:none;z-index:9999;background-image:url('data:image/svg+xml,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noise"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="4" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noise)"/%3E%3C/svg%3E')}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:300;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary)}h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:300;margin-bottom:1.5rem}h2{font-size:clamp(2rem,4vw,3rem);font-weight:300;margin-bottom:1.25rem}h3{font-family:var(--font-sans);font-size:clamp(1.125rem,2vw,1.5rem);font-weight:500;letter-spacing:.03em;margin-bottom:1rem}p{margin-bottom:1.5rem;font-size:clamp(1rem,1.5vw,1.125rem);max-width:65ch}.caption,.meta{font-family:var(--font-accent);font-style:italic;font-size:clamp(.75rem,1vw,.875rem);color:var(--text-tertiary);letter-spacing:.01em}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}.section{padding:clamp(4rem,10vh,8rem) 0;position:relative}.light-section{--text-primary: #0f172a;--text-secondary: rgba(15, 23, 42, .65);--text-tertiary: rgba(15, 23, 42, .45);color:var(--text-primary)}.nav-container{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform var(--transition-base) var(--transition-organic)}.nav-container.hidden{transform:translateY(-100%)}nav{-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);background:#0009;border-bottom:1px solid rgba(255,255,255,.15);padding:1rem 0;transition:all var(--transition-base) var(--transition-organic)}.nav-content{display:flex;justify-content:space-between;align-items:center}.nav-logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;text-decoration:none;color:#f8f8f6;transition:opacity var(--transition-fast);display:block}.nav-logo:hover{opacity:.7}.nav-menu{display:flex;gap:1.5rem;flex-wrap:nowrap;justify-content:flex-end;list-style:none}.nav-menu a{font-family:var(--font-sans);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:#f2f2f0;transition:color var(--transition-fast);position:relative;padding-bottom:.25rem}.nav-menu a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:#f2f2f0;transition:width var(--transition-base) var(--transition-organic)}.nav-menu a:hover,.nav-menu a[aria-current=page]{color:var(--text-primary)}.nav-menu a:hover:after,.nav-menu a[aria-current=page]:after{width:100%}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}@media (max-width: 768px){.nav-content{flex-direction:column;align-items:flex-start;gap:.5rem}.nav-menu{justify-content:flex-start;flex-wrap:wrap;gap:.6rem 1rem;width:100%}.nav-menu a{font-size:.8rem;letter-spacing:.06em}}.btn{font-family:var(--font-sans);font-size:.95rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:1rem 2rem;border-radius:50px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base) var(--transition-organic);display:inline-flex;align-items:center;gap:.5rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--terracotta);opacity:.1;transform:translate(-50%,-50%);transition:width var(--transition-slow) var(--transition-organic),height var(--transition-slow) var(--transition-organic)}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--terracotta)}.btn:hover:before{width:300px;height:300px}.btn:active{transform:translateY(0)}.card{background:var(--surface);border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-base) var(--transition-organic);position:relative}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.card img{width:100%;height:auto;display:block;transition:transform var(--transition-slow) var(--transition-organic)}.card:hover img{transform:scale(1.05)}.card-content{padding:1.5rem}img{max-width:100%;height:auto;display:block}.image-wrapper{position:relative;overflow:hidden;background:var(--stone-gray)}.image-wrapper img{opacity:0;transition:opacity var(--transition-slow) var(--transition-organic)}.image-wrapper img.loaded{opacity:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all var(--transition-slow) var(--transition-organic)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
