:root { --bronze:#bd9065; --rollover:#b08961; --cyan:#29aae1; --white:#fff; }
* { box-sizing:border-box; }
html, body { width:100%; min-height:100%; }
html { background:#050607; }
body { margin:0; overflow:hidden; color:#fff; font-family:Arial,Helvetica,sans-serif; }
body.menu-open { overflow:hidden; }
button, a { font:inherit; }
img { display:block; max-width:100%; }
a:focus-visible, button:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
.landing { position:relative; isolation:isolate; width:100%; min-height:100vh; min-height:100svh; overflow:hidden; background:#050607; }
.slideshow, .slide { position:absolute; inset:0; width:100%; height:100%; }
.slideshow { z-index:-1; }
.slide { object-fit:cover; object-position:center; opacity:0; transform:scale(1.018); transition:opacity 1.25s ease-in-out,transform 6s ease-out; }
.slide.is-active { opacity:1; transform:scale(1); }
.hero-content { position:absolute; top:50%; left:clamp(34px,5.7vw,94px); width:min(520px,45vw); transform:translateY(-49%); }
.wordmark { display:block; width:clamp(270px,28vw,360px); height:auto; margin:0 0 30px; }
h1 { margin:0; color:#fff; font-size:clamp(2.25rem,3.2vw,3.15rem); font-weight:800; line-height:.98; letter-spacing:-.035em; text-transform:uppercase; }
h1 span { color:var(--bronze); }
.intro-copy { width:min(450px,100%); margin:18px 0 0; color:rgba(255,255,255,.84); font-size:clamp(.78rem,1.05vw,.93rem); line-height:1.32; letter-spacing:.06em; }
.hero-actions { display:grid; gap:15px; width:152px; margin-top:22px; }
.action { display:inline-flex; align-items:center; justify-content:center; width:152px; min-height:42px; padding:9px 12px; border:0; border-radius:2px; color:#fff; font-size:.69rem; line-height:1.1; text-align:center; text-decoration:none; cursor:pointer; transition:filter 180ms ease,transform 180ms ease; }
.action:hover, .action:focus-visible { filter:brightness(1.1); transform:translateY(-1px); }
.action-primary { background:var(--cyan); }
.action-secondary { background:var(--bronze); }
.menu-toggle { position:fixed; z-index:32; top:max(26px,env(safe-area-inset-top)); right:max(32px,env(safe-area-inset-right)); display:block; width:auto; height:auto; padding:7px 0; border:0; background:transparent; color:var(--white); cursor:pointer; }
.menu-toggle-label { display:block; font-family:Arial,Helvetica,sans-serif; font-size:1.12rem; font-weight:400; line-height:1; letter-spacing:-.015em; transition:color 220ms ease,transform 220ms ease; }
.menu-toggle-icon { display:none; }
.menu-toggle:hover .menu-toggle-label { color:var(--cyan); transform:translateY(-1px); }
.menu-toggle.is-open { color:#111; }
.menu-panel { position:fixed; z-index:31; inset:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:clamp(6px,1.3vh,18px); width:100%; height:100vh; height:100dvh; padding:clamp(126px,17vh,190px) max(32px,6.2vw) clamp(70px,10vh,110px); overflow:auto; background:var(--rollover); opacity:0; transform:translateY(-4%) scale(1.015); visibility:hidden; transition:opacity 480ms ease,transform 680ms cubic-bezier(.16,1,.3,1),visibility 680ms; }
.menu-panel.is-open { opacity:1; transform:translateY(0) scale(1); visibility:visible; }
.menu-panel > a:not(.menu-brand) { display:flex; align-items:center; min-height:0; padding:0; border:0; background:transparent; color:#111; font-size:clamp(3.15rem,5.6vw,6.9rem); font-weight:800; line-height:.88; letter-spacing:-.065em; text-align:left; text-decoration:none; cursor:pointer; transition:color 220ms ease,transform 380ms cubic-bezier(.16,1,.3,1); }
.menu-panel > a:not(.menu-brand):hover { color:var(--cyan); transform:translateX(12px); }
.menu-brand { position:absolute; top:max(25px,env(safe-area-inset-top)); left:max(32px,6.2vw); display:block; width:clamp(210px,22vw,290px); min-height:0; }
.menu-brand img { width:100%; height:auto; }
.menu-meta { position:absolute; right:max(32px,6.2vw); bottom:max(28px,env(safe-area-inset-bottom)); margin:0; color:#111; font-size:clamp(.75rem,1vw,.9rem); font-weight:700; line-height:1.45; text-align:right; text-transform:uppercase; letter-spacing:.08em; }
.slider-next { position:absolute; z-index:3; top:50%; right:clamp(16px,2.2vw,36px); display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid rgba(255,255,255,.38); border-radius:50%; background:rgba(5,6,7,.34); color:var(--white); cursor:pointer; -webkit-backdrop-filter:blur(12px) saturate(135%); backdrop-filter:blur(12px) saturate(135%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 10px 30px rgba(0,0,0,.22); transform:translateY(-50%); transition:background 220ms ease,border-color 220ms ease,box-shadow 220ms ease,transform 320ms cubic-bezier(.16,1,.3,1); }
.slider-next span { position:relative; display:block; width:20px; height:12px; overflow:visible; color:transparent; font-size:0; transform:translateX(-1px); transition:transform 320ms cubic-bezier(.16,1,.3,1); }
.slider-next span::before { content:""; position:absolute; top:5px; left:1px; width:17px; height:2px; border-radius:999px; background:var(--white); }
.slider-next span::after { content:""; position:absolute; top:1px; right:1px; width:8px; height:8px; border-top:2px solid var(--white); border-right:2px solid var(--white); transform:rotate(45deg); }
.slider-next:hover, .slider-next:focus-visible { border-color:var(--cyan); background:rgba(41,170,225,.88); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 12px 34px rgba(0,0,0,.3); transform:translateY(-50%) scale(1.06); }
.slider-next:hover span, .slider-next:focus-visible span { transform:translateX(2px); }
.project-label { position:absolute; right:20px; bottom:28px; width:min(330px,32vw); min-height:2.5em; color:#fff; font-size:clamp(1rem,1.75vw,1.38rem); line-height:1.18; text-align:right; text-transform:uppercase; }
.project-label p { position:absolute; right:0; bottom:0; width:100%; margin:0; opacity:0; transition:opacity 1.25s ease-in-out; }
.project-label p.is-active { opacity:1; }
@media (max-width:760px) {
  .slide:nth-child(1), .slide:nth-child(3), .slide:nth-child(5) { object-position:72% center; }
  .slide:nth-child(2) { object-position:68% center; }
  .slide:nth-child(4) { object-position:74% center; }
  .hero-content { top:auto; right:max(22px,env(safe-area-inset-right)); bottom:max(28px,env(safe-area-inset-bottom)); left:max(22px,env(safe-area-inset-left)); width:auto; transform:none; }
  .wordmark { width:min(260px,72vw); margin-bottom:24px; }
  h1 { font-size:clamp(2rem,9.5vw,3rem); }
  .intro-copy { max-width:440px; font-size:.78rem; }
  .hero-actions { grid-template-columns:1fr 1fr; gap:10px; width:min(320px,100%); margin-top:20px; }
  .action { width:100%; min-height:46px; }
  .project-label { top:76px; right:18px; bottom:auto; width:min(240px,58vw); font-size:.9rem; }
  .project-label p { top:0; bottom:auto; }
  .slider-next { right:max(12px,env(safe-area-inset-right)); width:44px; height:44px; }
}
@media (min-width:761px) and (max-width:1100px) {
  .hero-content { left:clamp(34px,5vw,64px); width:min(560px,54vw); }
  .wordmark { width:clamp(255px,27vw,320px); margin-bottom:24px; }
  h1 { font-size:clamp(2.15rem,4vw,2.75rem); }
  .intro-copy { font-size:.82rem; }
  .project-label { width:min(260px,29vw); }
}
@media (max-width:480px) {
  .hero-content { right:max(17px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); left:max(17px,env(safe-area-inset-left)); }
  .wordmark { width:min(225px,68vw); margin-bottom:18px; }
  h1 { font-size:clamp(1.9rem,9vw,2.55rem); line-height:.96; }
  .intro-copy { margin-top:14px; font-size:.76rem; line-height:1.4; letter-spacing:.035em; }
  .hero-actions { gap:8px; width:100%; margin-top:16px; }
  .project-label { top:max(70px,calc(54px + env(safe-area-inset-top))); right:14px; font-size:.78rem; }
  .menu-toggle { top:max(18px,env(safe-area-inset-top)); right:max(20px,env(safe-area-inset-right)); }
  .menu-toggle-label { display:none; }
  .menu-toggle-icon { position:relative; display:block; width:28px; height:22px; }
  .menu-toggle-icon > span { position:absolute; left:0; display:block; width:28px; height:2px; border-radius:999px; background:currentColor; transform-origin:center; transition:top 240ms cubic-bezier(.16,1,.3,1),transform 300ms cubic-bezier(.16,1,.3,1),opacity 180ms ease; }
  .menu-toggle-icon > span:nth-child(1) { top:2px; }
  .menu-toggle-icon > span:nth-child(2) { top:10px; }
  .menu-toggle-icon > span:nth-child(3) { top:18px; }
  .menu-toggle.is-open .menu-toggle-icon > span:nth-child(1) { top:10px; transform:rotate(45deg); }
  .menu-toggle.is-open .menu-toggle-icon > span:nth-child(2) { opacity:0; }
  .menu-toggle.is-open .menu-toggle-icon > span:nth-child(3) { top:10px; transform:rotate(-45deg); }
  .menu-panel { justify-content:flex-start; gap:14px; padding:max(122px,calc(100px + env(safe-area-inset-top))) max(20px,env(safe-area-inset-right)) max(96px,calc(70px + env(safe-area-inset-bottom))) max(20px,env(safe-area-inset-left)); }
  .menu-panel > a:not(.menu-brand) { font-size:clamp(2.65rem,12.6vw,4.2rem); line-height:.92; }
  .menu-brand { top:max(18px,env(safe-area-inset-top)); left:max(20px,env(safe-area-inset-left)); width:min(210px,56vw); }
  .menu-meta { right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); font-size:.68rem; }
  .slider-next { right:max(10px,env(safe-area-inset-right)); width:44px; height:44px; }
}
@media (max-width:760px) and (max-height:650px) {
  .wordmark { width:min(205px,55vw); margin-bottom:14px; }
  h1 { font-size:clamp(1.75rem,7.5vw,2.25rem); }
  .intro-copy { margin-top:11px; line-height:1.3; }
  .hero-actions { margin-top:12px; }
  .project-label { font-size:.72rem; }
}
@media (max-height:650px) and (min-width:761px) { .hero-content { transform:translateY(-46%) scale(.88); transform-origin:left center; } }
@media (prefers-reduced-motion:reduce) { .slide,.action,.menu-panel,.menu-toggle-label,.menu-toggle-icon > span,.menu-panel > a,.project-label p,.slider-next { transition:none; } }
