@font-face{font-family:Lastoria;src:url(/LastoriaBoldRegular.otf)format("opentype");font-weight:400 700;font-display:swap;font-style:normal}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Variable.woff2)format("woff2");font-weight:200 700;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Variable.woff2)format("woff2");font-weight:300 900;font-display:swap;font-style:normal}:root{--color-primary:#172408;--color-secondary:#37481a;--color-accent:#37481a;--color-accent-light:#759d42;--color-gold:#92d68a;--color-cream:#f0efea;--color-white:#fff;--color-off-white:#f5f3ef;--color-gray-100:#f1f3f5;--color-gray-200:#e9ecef;--color-gray-300:#dee2e6;--color-gray-400:#ced4da;--color-gray-500:#adb5bd;--color-gray-600:#868e96;--color-gray-700:#495057;--color-gray-800:#343a40;--color-gray-900:#212529;--color-black:#172408;--gradient-hero:linear-gradient(135deg, #172408 0%, #37481a 50%, #759d42 100%);--gradient-accent:linear-gradient(135deg, #172408 0%, #759d42 100%);--gradient-dark:linear-gradient(180deg, #0a0a0a 0%, #1a1a2e 100%);--gradient-glass:linear-gradient(135deg, #ffffff0d 0%, #ffffff05 100%);--font-heading:"Clash Display", "Inter", system-ui, -apple-system, sans-serif;--font-body:"Satoshi", "Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-accent:"Playfair Display", "Georgia", serif;--text-xs:clamp(.7rem, .65rem + .25vw, .8rem);--text-sm:clamp(.8rem, .75rem + .3vw, .9rem);--text-base:clamp(.95rem, .9rem + .3vw, 1.1rem);--text-lg:clamp(1.1rem, 1rem + .5vw, 1.35rem);--text-xl:clamp(1.25rem, 1.1rem + .7vw, 1.6rem);--text-2xl:clamp(1.5rem, 1.2rem + 1.5vw, 2.2rem);--text-3xl:clamp(2rem, 1.5rem + 2.5vw, 3.2rem);--text-4xl:clamp(2.5rem, 1.8rem + 3.5vw, 4.5rem);--text-5xl:clamp(3rem, 2rem + 5vw, 6.5rem);--text-hero:clamp(3.5rem, 2.5rem + 6vw, 8rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-section:clamp(4rem, 3rem + 5vw, 8rem);--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 14px #0000001a;--shadow-lg:0 10px 40px #00000026;--shadow-xl:0 20px 60px #0003;--shadow-glow:0 0 40px #e945604d;--shadow-glow-gold:0 0 40px #f0a5004d;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-in-out-circ:cubic-bezier(.85, 0, .15, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-fast:.15s var(--ease-out-expo);--transition-base:.3s var(--ease-out-expo);--transition-slow:.5s var(--ease-out-expo);--transition-slower:.8s var(--ease-out-expo);--max-width:1400px;--content-width:1200px;--narrow-width:800px;--nav-height:5rem;--z-behind:-1;--z-base:0;--z-above:10;--z-nav:100;--z-modal:200;--z-overlay:300;--z-cursor:500;--z-toast:1000}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;max-width:100vw;font-size:16px;overflow-x:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-white);background-color:var(--color-black);width:100%;max-width:100vw;min-height:100vh;line-height:1.7;position:relative;overflow-x:hidden}html,body{scrollbar-width:thin;scrollbar-color:#37481a #f0efea}html::-webkit-scrollbar,body::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:#f0efea}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#37481a}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:#172408}:not(html):not(body){scrollbar-width:none!important;-ms-overflow-style:none!important}:not(html):not(body)::-webkit-scrollbar,:not(html):not(body)::-webkit-scrollbar-thumb,:not(html):not(body)::-webkit-scrollbar-track,:not(html):not(body)::-webkit-scrollbar-corner,:not(html):not(body)::-webkit-scrollbar-button{background:0 0!important;width:0!important;height:0!important;display:none!important}::selection{color:#f0efea!important;background:#37481a!important}::selection{color:#f0efea!important;background:#37481a!important}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700;line-height:1.15}h1{font-size:var(--text-hero)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{font-size:var(--text-base);color:var(--color-gray-400);line-height:1.8}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}img,video{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none}ul,ol{list-style:none}.container{width:100%;max-width:var(--max-width);padding-inline:var(--space-6);margin:0 auto}.container--narrow{max-width:var(--narrow-width)}.container--content{max-width:var(--content-width)}.section{padding-block:var(--space-section);position:relative}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-gradient{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-accent{color:var(--color-accent)}.text-gold{color:var(--color-gold)}.text-muted{color:var(--color-gray-500)}.text-center{text-align:center}.text-uppercase{text-transform:uppercase;letter-spacing:.1em}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (width>=769px) and (width<=1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.glass-card{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:var(--space-8);transition:all var(--transition-base);background:#ffffff08;border:1px solid #ffffff0f}.glass-card:hover{box-shadow:var(--shadow-glow);background:#ffffff0f;border-color:#e9456033;transform:translateY(-4px)}[data-animate]{opacity:0;will-change:transform, opacity}[data-animate=fade-up]{transform:translateY(60px)}[data-animate=fade-down]{transform:translateY(-60px)}[data-animate=fade-left]{transform:translate(-60px)}[data-animate=fade-right]{transform:translate(60px)}[data-animate=scale-up]{transform:scale(.85)}[data-animate=reveal]{clip-path:inset(100% 0 0)}.magnetic{transition:transform var(--transition-fast)}.draw-line{stroke-dasharray:1000;stroke-dashoffset:1000px}.draw-line.is-visible{animation:drawLine 2s var(--ease-out-expo) forwards}@keyframes drawLine{to{stroke-dashoffset:0}}.noise:before{content:"";opacity:.03;pointer-events:none;width:100%;height:100%;z-index:var(--z-overlay);background-image:url(/noise.svg);position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}main{animation:fadeIn .6s var(--ease-out-expo) both}.wavy-underline{display:inline-block;position:relative}.wavy-underline:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='6'%3E%3Cpath d='M0 3 Q10 0 20 3 T40 3' fill='none' stroke='%23e94560' stroke-width='1.5'/%3E%3C/svg%3E") 0 0/40px 6px repeat-x;width:100%;height:6px;position:absolute;bottom:-4px;left:0}@media (width<=480px){:root{--nav-height:4rem}.container{padding-inline:var(--space-4)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-animate]{opacity:1;clip-path:none;transform:none}}@media print{body{color:#000;background:#fff}.noise:before,nav,.cursor-follower{display:none!important}}.btn{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);font-family:var(--font-body);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-full);transition:all var(--transition-base);cursor:pointer;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";border-radius:inherit;transition:opacity var(--transition-base);opacity:0;position:absolute;inset:0}.btn:hover:before{opacity:1}.btn-primary{background:var(--gradient-accent);color:var(--color-white);border:none}.btn-primary:before{background:linear-gradient(135deg,#f0a500 0%,#e94560 100%)}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-outline{color:var(--color-white);background:0 0;border:1px solid #fff3}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.btn-ghost{color:var(--color-accent);padding:var(--space-2) var(--space-4);background:0 0}.btn-ghost:hover{background:#e945601a}.btn-icon{border-radius:var(--radius-full);justify-content:center;align-items:center;width:3rem;height:3rem;padding:0;display:inline-flex}.tag{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-full);color:var(--color-accent);background:#e945601a;border:1px solid #e9456033;align-items:center;font-weight:500;display:inline-flex}.tag--gold{color:var(--color-gold);background:#f0a5001a;border-color:#f0a50033}.section-header{margin-bottom:var(--space-16)}.section-label{align-items:center;gap:var(--space-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-bottom:var(--space-4);font-weight:600;display:inline-flex}.section-label:before{content:"";background:var(--color-accent);width:2rem;height:1px}.section-title{font-size:var(--text-4xl);color:var(--color-white);margin-bottom:var(--space-4)}.section-subtitle{font-size:var(--text-lg);color:var(--color-gray-500);max-width:600px}.project-card{border-radius:var(--radius-xl);cursor:pointer;aspect-ratio:4/3;position:relative;overflow:hidden}.project-card__image{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out-expo)}.project-card:hover .project-card__image{transform:scale(1.08)}.project-card__overlay{padding:var(--space-6);transition:opacity var(--transition-base);background:linear-gradient(#0000 40%,#0a0a0ae6 100%);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.project-card__title{font-size:var(--text-xl);color:var(--color-white);margin-bottom:var(--space-2);font-weight:700}.project-card__category{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent)}.divider{width:100%;height:1px;margin-block:var(--space-section);background:linear-gradient(90deg,#0000,#ffffff1a,#0000)}.dot-accent{border-radius:var(--radius-full);background:var(--color-accent);width:8px;height:8px;display:inline-block}:root{--dock-bg:#000;--dock-panel-w:660px;--dock-panel-h:265px;--dock-radius-collapsed:20px;--dock-radius-open:28px;--chip-bg:#242424;--chip-text:#e6e6e6;--chip-count:#7a7a7a;--chip-active-bg:#fff;--chip-active-text:#000;--chip-active-count:#8a8a8a;--card-w:200px;--card-h:130px;--card-radius:16px;--marquee-duration:75s;--ease-spring:cubic-bezier(.22, 1, .36, 1);--dur-open:.45s;--dur-close:.3s}.dock-container{z-index:100;padding-bottom:env(safe-area-inset-bottom,0);filter:drop-shadow(0 -12px 40px #0000002e);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.dock{background-color:var(--dock-bg);border-radius:var(--dock-radius-collapsed) var(--dock-radius-collapsed) 0 0;width:520px;height:60px;transition:width var(--dur-close) var(--ease-spring), height var(--dur-close) var(--ease-spring), border-radius var(--dur-close) var(--ease-spring);box-sizing:border-box;flex-direction:column;display:flex;position:relative;overflow:hidden}.dock:before,.dock:after{content:"";pointer-events:none;background-color:#0000;width:16px;height:16px;position:absolute;bottom:0}.dock:before{box-shadow:8px 8px 0 8px var(--dock-bg);border-bottom-right-radius:16px;left:-16px}.dock:after{box-shadow:-8px 8px 0 8px var(--dock-bg);border-bottom-left-radius:16px;right:-16px}.dock.is-expanded{width:var(--dock-panel-w);height:var(--dock-panel-h);border-radius:var(--dock-radius-open) var(--dock-radius-open) 0 0;transition-duration:var(--dur-open)}.dock__bar{flex-shrink:0;align-items:center;width:100%;height:60px;padding:0 16px;display:flex}.dock__brand{color:#fff;font-family:var(--font-ui);align-items:center;gap:8px;margin-right:auto;font-size:15px;font-weight:600;text-decoration:none;display:flex}.dock__mark{background-image:url(/assets/hero/logo-mark.jpg);background-position:50%;background-size:cover;border-radius:8px;width:28px;height:28px;display:block}.dock__links{align-items:center;gap:20px;margin:0;padding:0;list-style:none;display:flex}.dock__links a{color:#9a9a9a;font-family:var(--font-ui);border-radius:999px;padding:4px 8px;font-size:14px;text-decoration:none;transition:color .15s;position:relative}.dock__links a:hover,.dock__links a:focus-visible,.dock__links a[aria-current=page]{color:#fff}.dock__links a[aria-current=page]:after{content:"";background-color:#fff;border-radius:50%;width:4px;height:4px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.dock__cta{color:#000;height:34px;font-family:var(--font-ui);background-color:#fff;border-radius:10px;justify-content:center;align-items:center;margin-left:20px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .15s,background-color .15s;display:inline-flex}.dock__cta:hover,.dock__cta:focus-visible{background-color:#f2f2f2;transform:translateY(-1px)}.dock__toggle{display:none}.dock__panel{opacity:0;transition:opacity var(--dur-close) ease, transform var(--dur-close) ease;pointer-events:none;flex-direction:column;flex-grow:1;gap:16px;padding:0 16px 16px;display:flex;transform:translateY(12px)}.dock.is-expanded .dock__panel{opacity:1;pointer-events:auto;transition:opacity .35s .1s,transform .35s .1s;transform:translateY(0)}.chips{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:8px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{background-color:var(--chip-bg);height:36px;color:var(--chip-text);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-family:Instrument Sans,sans-serif;font-size:14px;font-weight:500;transition:background-color .2s,color .2s;display:inline-flex}.chip span{color:var(--chip-count);font-size:12px}.chip:hover,.chip:focus-visible{background-color:#333}.chip.is-active{background-color:var(--chip-active-bg);color:var(--chip-active-text)}.chip.is-active span{color:var(--chip-active-count)}.carousel{border-radius:var(--card-radius);will-change:transform;cursor:grab;user-select:none;touch-action:pan-x;flex-grow:1;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000)}.carousel:active{cursor:grabbing}.carousel__track{width:max-content;animation:scroll var(--marquee-duration) linear infinite;will-change:transform;gap:12px;margin:0;padding:0;list-style:none;transition:opacity .2s;display:flex}.carousel:hover .carousel__track{animation-play-state:paused}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.card{width:var(--card-w);height:var(--card-h);border-radius:var(--card-radius);background-color:#1a1a1a;border:1px solid #ffffff1f;flex-shrink:0;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s;position:relative;overflow:hidden;box-shadow:0 4px 14px #00000059}.card:hover,.card:focus-within{border-color:#92d68a73;transform:translateY(-3px)scale(1.02);box-shadow:0 10px 24px #00000080,0 0 12px #92d68a26}.card a{color:#fff;width:100%;height:100%;text-decoration:none;display:block;position:relative}.card img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:block}.card:hover img{transform:scale(1.06)}.card__meta{width:100%;font-family:var(--font-ui,system-ui, sans-serif);pointer-events:none;box-sizing:border-box;background:linear-gradient(#0000 0%,#0009 35%,#000000f0 100%);flex-direction:column;gap:2px;padding:28px 10px 8px;display:flex;position:absolute;bottom:0;left:0;right:0}.card__meta strong,.card__title{color:#fff;font-family:var(--font-ui,system-ui, sans-serif);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;font-size:11.5px;font-weight:600;line-height:1.25;overflow:hidden}.card__category{color:#92d68a;font-family:var(--font-ui,system-ui, sans-serif);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-weight:600;overflow:hidden}.dock :focus-visible{outline-offset:2px;outline:2px solid #fff}.dock__links a:focus-visible,.dock__brand:focus-visible{outline-offset:2px;outline:2px solid #9a9a9a}@media (width<=1439px){:root{--dock-panel-w:600px;--card-w:180px;--card-h:118px}}@media (width<=1023px){:root{--dock-panel-w:560px;--card-w:170px;--card-h:112px}.dock{max-width:480px}.dock__toggle{cursor:pointer;background-color:#4a4a4a;border:none;border-radius:2px;width:32px;height:4px;display:block;position:absolute;top:8px;left:50%;transform:translate(-50%)}}@media (width<=767px){:root{--dock-panel-w:calc(100vw - 24px);--dock-panel-h:clamp(340px, 65dvh, 480px);--card-w:140px;--card-h:92px}.dock-container{width:calc(100vw - 24px);max-width:420px;left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));filter:drop-shadow(0 10px 30px #0006);padding-bottom:0;transform:translate(-50%)}.dock{-webkit-backdrop-filter:blur(20px);box-sizing:border-box;background-color:#0c0c0cf2;border:1px solid #ffffff26;border-radius:20px;width:100%;max-width:100%;overflow:hidden}.dock:before,.dock:after{display:none}.dock.is-expanded{width:100%;max-width:100%;height:var(--dock-panel-h);border-radius:24px}.dock__bar{box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;width:100%;height:56px;padding:0 12px;display:flex;position:relative}.dock.is-expanded .dock__bar{border-bottom:1px solid #ffffff14;display:flex}.dock__brand{flex-shrink:0;gap:6px;margin-right:0;font-size:14px;font-weight:600}.dock__mark{border-radius:7px;flex-shrink:0;width:26px;height:26px}.dock__brand-text{color:#fff;font-size:14px}.dock__links{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.dock__links a{color:#a0a0a0;white-space:nowrap;padding:4px 6px;font-size:12px;text-decoration:none}.dock__cta{white-space:nowrap;border-radius:8px;flex-shrink:0;height:32px;margin-left:0;padding:0 12px;font-size:13px;font-weight:600}.dock.is-expanded .dock__cta{width:auto;height:32px;margin-left:0}.dock__toggle{cursor:pointer;background-color:#fff6;border:none;border-radius:2px;width:28px;height:4px;padding:0;transition:background-color .2s;display:block;position:absolute;top:6px;left:50%;transform:translate(-50%)}.dock.is-expanded .dock__toggle{background-color:#fffc}.dock__panel{gap:12px;padding:12px;overflow-y:auto}.chips{gap:6px;padding-bottom:4px}.chip{height:32px;padding:0 12px;font-size:12px}}@media (width<=480px){.dock-container{width:calc(100vw - 20px);max-width:390px;bottom:calc(10px + env(safe-area-inset-bottom,0px))}.dock__bar{gap:6px;height:52px;padding:0 10px}.dock__links{gap:2px}.dock__links a{padding:3px 4px;font-size:11px}.dock__cta{height:30px;padding:0 10px;font-size:12px}}@media (width<=360px){.dock__brand-text{display:none}.dock__links a{padding:2px 3px;font-size:10px}}@media (prefers-reduced-motion:reduce){.dock{transition:opacity .15s}.dock.is-expanded{transition-duration:.15s}.carousel__track{scroll-snap-type:x mandatory;width:100%;animation:none;overflow-x:auto}.card{scroll-snap-align:start}.card a:hover,.card a:focus-visible{transform:none}}
