:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{margin:0;width:100%;min-height:100%}body{min-width:320px}:root{font-family:Inter,Helvetica Neue,Arial,sans-serif;color:#111;background:#f5f3ef}*{box-sizing:border-box}body{margin:0;background:#f5f3ef}.app{min-height:100vh;color:#171717;background:#f5f3ef;transition:background .3s ease,color .3s ease}.app.dark{color:#f0efec;background:#111}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5f3efcc;border-bottom:1px solid rgba(0,0,0,.08)}.app.dark .topbar{background:#111c;border-bottom-color:#ffffff1f}.brand{font-weight:600;letter-spacing:.12em}nav{display:flex;gap:20px}nav a{color:inherit;text-decoration:none;font-size:14px;letter-spacing:.06em;text-transform:uppercase}.controls{display:flex;gap:8px}.ghost{border:1px solid currentColor;background:transparent;color:inherit;padding:8px 12px;font-size:12px;text-transform:uppercase;cursor:pointer}.hero{position:relative;height:78vh;min-height:520px;overflow:hidden}.heroVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,#00000094,#00000014)}.heroContent{position:absolute;left:8%;bottom:12%;max-width:640px;color:#fff;z-index:2}.heroContent .label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.9}.heroContent h1{margin:8px 0;font-size:clamp(38px,7vw,72px);font-weight:600;line-height:.98}.heroContent h2{margin:0 0 14px;font-size:clamp(16px,2.2vw,26px);font-weight:400;opacity:.95}.heroContent p{margin:0 0 22px;max-width:560px;line-height:1.6}.cta{display:inline-block;border:1px solid #fff;color:#fff;text-decoration:none;padding:10px 16px;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.section{padding:72px 28px}.narrow{max-width:860px;margin:0 auto}.section h3{margin:0 0 14px;font-size:30px;font-weight:500}.section p{margin:0;line-height:1.7}.muted{opacity:.72;margin-bottom:24px!important}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;margin-top:24px}.card{grid-column:span 6;border:1px solid rgba(0,0,0,.12);background:#ffffff8c;overflow:hidden}.app.dark .card{border-color:#ffffff2e;background:#ffffff0a}.card img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.cardBody{padding:16px}.cardBody span{font-size:11px;letter-spacing:.12em;opacity:.68}.cardBody h4{margin:8px 0 6px;font-size:22px;font-weight:500}.cardBody p{margin:0;opacity:.8}footer{padding:30px 28px 50px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.72}.card.interactive{cursor:pointer;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease}.card.interactive:hover,.card.interactive:focus-visible{transform:scale(1.02);box-shadow:0 8px 24px #00000014;outline:none}.app.dark .card.interactive:hover,.app.dark .card.interactive:focus-visible{box-shadow:0 8px 24px #0006}.modalOverlay{position:fixed;inset:0;z-index:100;background:#f5f3ef66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;opacity:0;animation:fadeIn .3s forwards}.app.dark .modalOverlay{background:#111111e6}@keyframes fadeIn{to{opacity:1}}.modalClose{position:absolute;top:24px;right:28px;background:transparent;border:none;font-size:24px;color:inherit;cursor:pointer;z-index:101;padding:8px;line-height:1;opacity:.6;transition:opacity .2s}.modalClose:hover{opacity:1}.modalContent{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:64px 24px}.carouselImage{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.carouselArrow{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:32px;color:inherit;cursor:pointer;padding:20px;opacity:.6;transition:opacity .2s;z-index:101}.carouselArrow:hover{opacity:1}.carouselArrow.prev{left:16px}.carouselArrow.next{right:16px}.carouselIndicator{position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-size:12px;letter-spacing:.1em;opacity:.6}@media(max-width:900px){nav{display:none}.card{grid-column:span 12}.hero{min-height:480px;height:72vh}.carouselArrow{display:none}.modalContent{padding:48px 0}}
