.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--clay);font-weight:600;}

.wrap{max-width:1180px;margin:0 auto;padding:0 48px;}

/* TICKER */
  .ticker-bar{position:fixed;top:0;left:0;right:0;z-index:201;height:28px;overflow:hidden;background:var(--night);border-bottom:1px solid rgba(200,149,90,0.2);}

/* SCROLL PROGRESS */
  .scroll-progress{position:fixed;top:28px;left:0;height:2px;background:var(--gold);z-index:202;width:0%;transition:width .1s linear;}

/* NAV */
  nav{position:fixed;top:28px;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;
      padding:22px 48px;background:rgba(21,18,14,0.0);transition:all .4s ease;}

/* PROJECTS DROPDOWN (desktop) */
  .nav-drop{position:relative;display:flex;align-items:center;height:100%;}

.nav-drop:hover .nav-drop-panel,.nav-drop:focus-within .nav-drop-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}

/* MOBILE HAMBURGER */
  .nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;background:none;border:none;cursor:pointer;z-index:210;}

/* HERO — blueprint-to-built */
  .hero{height:100vh;min-height:720px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--night);}

.hero-photos{position:absolute;inset:0;z-index:0;}

.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;animation:heroCycle 16s infinite, heroZoom 16s infinite;transform-origin:center;will-change:opacity,transform;}

.hero{cursor:grab;}

.hero.is-dragging{cursor:grabbing;}

/* Once the user swipes/drags, the auto-cycling CSS animation hands off to
   direct JS control — only the .active photo shows, at a settled zoom
   level rather than mid-animation, so control feels immediate and stable. */
  .hero.hero-manual .hero-photo{animation:none;opacity:0;transform:scale(1.1);transition:opacity .6s ease;}

.hero.hero-manual .hero-photo.active{opacity:1;}

.hero-photo:nth-child(1){animation-delay:0s;}

.hero-photo:nth-child(2){animation-delay:4s;}

.hero-photo:nth-child(3){animation-delay:8s;}

.hero-photo:nth-child(4){animation-delay:12s;}

.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(12,10,7,0.25) 0%, rgba(12,10,7,0.4) 45%, rgba(10,8,6,0.92) 100%);}

.blueprint-overlay{position:absolute;top:0;right:0;width:52%;height:100%;pointer-events:none;opacity:0.9;z-index:2;}

.bp-line{fill:none;stroke:rgba(200,149,90,0.55);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1;
    animation:draw 2.6s ease forwards;}

.bp-line.win{stroke:rgba(240,233,219,0.28);stroke-width:1;}

.bp-label{font-family:'Space Mono',monospace;font-size:9px;fill:rgba(200,149,90,0.65);letter-spacing:1px;
    opacity:0;animation:fadein 1s ease forwards;animation-delay:2.4s;}

.hero-inner{position:relative;padding:0 56px 90px;max-width:640px;z-index:2;}

.hero .rule{width:44px;height:1px;background:var(--gold);margin-bottom:22px;}

.hero .eyebrow{color:var(--gold);margin-bottom:20px;display:block;}

.hero h1{font-size:clamp(38px,5.6vw,64px);line-height:1.06;color:#fff;font-weight:500;margin-bottom:24px;letter-spacing:-0.4px;}

.hero p{font-size:15.5px;line-height:1.8;color:rgba(255,255,255,0.78);max-width:440px;margin-bottom:32px;}

/* STAMP */
  .stamp{
    position:absolute; right:56px; bottom:70px; width:118px; height:118px; z-index:3;
  }

.stamp svg{width:100%;height:100%;animation:spin 48s linear infinite;}

.stamp-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;}

.stamp-center .yr{font-family:'Fraunces',serif;font-size:20px;color:var(--night-soft);}

.stamp-center .est{font-family:'Space Mono',monospace;font-size:7px;letter-spacing:1px;color:var(--gold);margin-top:2px;}

/* STATEMENT */
  .statement{padding:130px 48px 0;text-align:center;}

  .statement.wrap{padding:130px 48px 0;}

.statement blockquote{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:clamp(22px,3vw,30px);line-height:1.6;color:var(--ink-soft);max-width:720px;margin:0 auto;}

/* COMPANY OVERVIEW — drafting table texture */
  .overview{
    padding:80px 48px;background-image:
      linear-gradient(var(--paper-warm) 0%, var(--paper-warm) 100%),
      repeating-linear-gradient(0deg, rgba(181,98,44,0.06) 0, rgba(181,98,44,0.06) 1px, transparent 1px, transparent 40px),
      repeating-linear-gradient(90deg, rgba(181,98,44,0.06) 0, rgba(181,98,44,0.06) 1px, transparent 1px, transparent 40px);
    margin-bottom:130px;
  }

.overview-inner{max-width:1180px;margin:0 auto;display:flex;gap:64px;}

.overview-text{flex:1.3;}

.overview-text h2{font-family:'Fraunces',serif;font-size:clamp(28px,3.4vw,38px);font-weight:500;margin:14px 0 22px;}

.overview-text p{font-size:14.5px;line-height:1.85;color:var(--ink-soft);max-width:480px;}

.overview-facts{flex:1;border-left:1px solid var(--line);padding-left:40px;}

.fact{padding:18px 0;border-bottom:1px solid var(--line);}

.fact:first-child{padding-top:0;}

.fact .k{font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:1.5px;color:#8a8271;text-transform:uppercase;margin-bottom:4px;}

.fact .v{font-size:15px;font-family:'Fraunces',serif;color:var(--ink);}

/* STATS — dimension line style */
  .stats-band{display:flex;max-width:820px;margin:0 auto;position:relative;padding-top:14px;}

.stat{flex:1;text-align:center;padding:8px 12px 0;position:relative;}

.stat::before{content:'';position:absolute;top:-14px;left:0;right:0;height:1px;background:var(--line);}

.stat::after{content:'';position:absolute;top:-18px;left:0;width:1px;height:9px;background:var(--line);}

.stat:last-child .tick-r{position:absolute;top:-18px;right:0;width:1px;height:9px;background:var(--line);}

.stat .num{font-family:'Fraunces',serif;font-size:36px;color:var(--clay);}

.stat .label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:1.5px;color:#8a8271;text-transform:uppercase;margin-top:6px;}

/* SECTION HEAD */
  .section-head{padding:0 48px;margin-bottom:56px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;}

.section-head .eyebrow{display:block;margin-bottom:14px;}

.section-head h2{font-family:'Fraunces',serif;font-size:clamp(30px,4vw,44px);font-weight:500;}

.section-head .sub{font-size:13px;color:#8a8271;max-width:280px;text-align:right;}

/* CASE STUDIES */
  .case{position:relative;height:560px;margin:0 48px 24px;border-radius:3px;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:flex-end;}

.case::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(10,8,6,0.92) 0%, rgba(10,8,6,0.15) 60%, transparent 100%);}

.case-content{position:relative;padding:48px;color:#fff;width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:32px;}

.case-text{flex:1;min-width:0;max-width:460px;}

.case-index{font-family:'Space Mono',monospace;font-size:12px;color:var(--gold);margin-bottom:10px;letter-spacing:1px;}

.case h3{font-family:'Fraunces',serif;font-size:clamp(26px,3vw,38px);margin-bottom:14px;font-weight:500;}

.case p{font-size:13.5px;color:rgba(255,255,255,0.78);line-height:1.7;margin-bottom:20px;}

.case-link{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.55);padding-bottom:4px;}

.case-row{display:flex;gap:24px;margin:0 48px 24px;}

.case-row .case{flex:1;height:340px;margin:0;}

/* PER-PROJECT DELIVERY TIMELINE — vertical, right-aligned */
  .case-timeline-v{position:relative;display:flex;flex-direction:column;gap:16px;padding-left:20px;flex-shrink:0;}

.case-timeline-v::before{content:'';position:absolute;top:4px;bottom:4px;left:3px;width:1px;background:rgba(255,255,255,0.25);}

.ctv-step{position:relative;}

.ctv-dot{position:absolute;left:-20px;top:3px;width:7px;height:7px;border-radius:50%;background:var(--gold);border:1px solid rgba(0,0,0,0.2);}

.ctv-label{display:block;font-family:'Space Mono',monospace;letter-spacing:0.5px;color:rgba(255,255,255,0.75);text-transform:uppercase;line-height:1.4;white-space:nowrap;}

.ctv-date{display:block;color:var(--gold);margin-bottom:1px;}

.case-timeline-v--lg{gap:18px;}

.case-timeline-v--lg .ctv-label{font-size:9.5px;}

.case-timeline-v--lg .ctv-date{font-size:9px;}

.case-timeline-v--sm{gap:11px;padding-left:16px;}

.case-timeline-v--sm .ctv-dot{left:-16px;width:6px;height:6px;}

.case-timeline-v--sm .ctv-label{font-size:8px;}

.case-timeline-v--sm .ctv-date{font-size:7.5px;}

/* CURRENT PROJECTS */
  .current-wrap{padding:60px 48px 130px;}

@media(max-width:760px){.current-wrap{padding:48px 24px 90px;}}

.current-grid{display:flex;gap:24px;}

.current-card{flex:1;background:var(--paper-warm);border:1px solid var(--line);position:relative;}

.current-img{height:220px;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden;}

.status-tag{position:absolute;top:16px;left:16px;background:var(--night);color:var(--night-soft);font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 12px;}

.current-body{padding:24px;}

.current-body h4{font-family:'Fraunces',serif;font-size:19px;margin-bottom:8px;}

.current-body p{font-size:12.5px;color:#8a8271;line-height:1.6;}

.current-link{display:inline-block;margin-top:16px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--clay);text-decoration:none;border-bottom:1px solid var(--clay);padding-bottom:3px;}

.current-link:hover{color:var(--clay-deep);border-color:var(--clay-deep);}

/* QUOTE / TRUST */
  .trust-quote{background:var(--night);color:var(--night-soft);padding:120px 48px;text-align:center;}

.trust-quote .rule{width:44px;height:1px;background:var(--gold);margin:0 auto 28px;}

.trust-quote blockquote{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(20px,3vw,28px);line-height:1.7;max-width:640px;margin:0 auto 22px;font-weight:400;}

.trust-quote cite{font-style:normal;font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:#a89f8d;}

/* PARTNERS */
  .partners{padding:100px 48px;text-align:center;}

.partners .eyebrow{display:block;margin-bottom:44px;}

.partner-row{display:flex;justify-content:center;align-items:center;gap:52px;flex-wrap:wrap;}

.partner-row img{opacity:0.8;transition:opacity .3s;filter:grayscale(15%);}

.partner-row img:hover{opacity:1;}

.partner-badge{display:flex;align-items:center;gap:10px;opacity:0.75;transition:opacity .3s;}

.partner-badge:hover{opacity:1;}

.partner-badge .mark{min-width:34px;height:34px;padding:0 6px;border-radius:17px;border:1px solid #C9C1AE;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:13px;color:var(--ink-soft);}

.partner-badge .name{font-size:12.5px;letter-spacing:0.5px;color:var(--ink-soft);font-weight:500;}

/* CTA */
  .cta-band{background:var(--night);color:var(--night-soft);}

.cta-hero{position:relative;overflow:hidden;padding:110px 48px 0;}

.cta-photo-wrap{position:absolute;inset:0;z-index:0;overflow:hidden;}

.cta-photo{position:absolute;inset:-18% 0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;
    filter:grayscale(35%) brightness(0.42) contrast(1.05);will-change:transform;}

.cta-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
    background:
      linear-gradient(180deg, var(--night) 0%, rgba(21,18,14,0.55) 22%, rgba(21,18,14,0.55) 78%, var(--night) 100%),
      linear-gradient(90deg, var(--night) 0%, transparent 18%, transparent 82%, var(--night) 100%);}

.cta-parallax{position:absolute;inset:-15% -5%;z-index:2;pointer-events:none;
    background-image:
      radial-gradient(circle at 25% 30%, rgba(200,149,90,0.18), transparent 55%),
      repeating-linear-gradient(0deg, rgba(240,233,219,0.05) 0, rgba(240,233,219,0.05) 1px, transparent 1px, transparent 44px),
      repeating-linear-gradient(90deg, rgba(240,233,219,0.05) 0, rgba(240,233,219,0.05) 1px, transparent 1px, transparent 44px);
    will-change:transform;}

.cta-inner{position:relative;z-index:3;text-align:center;max-width:520px;margin:0 auto 70px;}

.cta-inner h2{font-family:'Fraunces',serif;font-size:clamp(28px,3.4vw,38px);margin-bottom:16px;}

.cta-inner p{font-size:14px;color:#B9AF98;line-height:1.7;margin-bottom:32px;}

.cta-buttons{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}

.btn-primary{position:relative;overflow:hidden;background:var(--clay);color:#fff;padding:15px 28px;border-radius:2px;text-decoration:none;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;transition:background .3s,letter-spacing .3s;display:inline-block;}

.btn-primary::before{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(120deg, transparent, rgba(255,255,255,0.35), transparent);transform:skewX(-20deg);transition:left .6s ease;}

.btn-primary:hover::before{left:140%;}

.btn-primary:hover{letter-spacing:2.2px;}

.btn-primary:hover{background:var(--clay-deep);}

.btn-ghost{border:1px solid rgba(240,233,219,0.35);color:var(--night-soft);padding:15px 28px;border-radius:2px;text-decoration:none;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;transition:border-color .3s;}

.btn-ghost:hover{border-color:var(--night-soft);}

/* FOOTER */
  footer{position:relative;z-index:4;background:var(--night-2);color:var(--night-soft);}

.newsletter p{font-size:12px;color:#8f8672;line-height:1.7;margin-bottom:14px;}

.newsletter-input{display:flex;border-bottom:1px solid rgba(240,233,219,0.3);padding-bottom:10px;}

.newsletter-input input{background:transparent;border:none;outline:none;color:#fff;font-size:13px;flex:1;font-family:'Inter',sans-serif;}

.newsletter-input input::placeholder{color:#6f6858;}

.newsletter-input button{background:none;border:none;color:var(--gold);cursor:pointer;font-size:15px;}

/* ORNAMENTAL DIVIDER */
  .ornament{display:flex;align-items:center;justify-content:center;gap:14px;padding:0 48px;margin:90px 0;}

.ornament .ln{width:70px;height:1px;background:linear-gradient(90deg, transparent, var(--line));}

.ornament .ln.r{background:linear-gradient(90deg, var(--line), transparent);}

.ornament .dot{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);}

/* PHOTO SLIDER — a small horizontal image carousel with prev/next arrows,
   dots, and drag/swipe support (see attachSwipe + the slider init in
   main.js). position:relative + overflow:hidden are structural — without
   them the prev/next buttons and dots (which are absolutely positioned)
   would anchor to whatever positioned ancestor happens to exist elsewhere
   on the page instead of this component, and the slide track (3x width for
   3 slides) would spill out uncontained instead of being masked to one
   slide at a time — so they're set here, unscoped, rather than left for
   each page to remember. Sizing/context (height, background, border) is
   still left to whichever page uses it — .tl-stage .tl-photo-slider sets
   that for the timeline, .vision-media .tl-photo-slider for the upcoming-
   projects renderings, and so on. */
  .tl-photo-slider{position:relative;overflow:hidden;}

.tl-slides{display:flex;width:100%;height:100%;transition:transform .5s ease;}

.tl-slide{flex:0 0 100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;}

.tl-slide-btn{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;
    -webkit-appearance:none;appearance:none;
    background:rgba(255,255,255,0.28);border:1px solid rgba(255,255,255,0.5);color:#fff;
    display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;transition:background .25s ease,transform .25s ease;}

.tl-slide-btn svg{width:14px;height:14px;}

.tl-slide-btn:hover{background:rgba(255,255,255,0.42);transform:translateY(-50%) scale(1.08);}

.tl-slide-prev{left:12px;}

.tl-slide-next{right:12px;}

.tl-slide-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:3;}

.tl-slide-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.5);cursor:pointer;transition:background .25s ease,transform .25s ease;display:block;padding:0;border:none;}

.tl-slide-dot.active{background:#fff;transform:scale(1.4);}

/* Default browser focus outlines are square/rectangular regardless of an
   element's own border-radius — on a round button (tapped on mobile, or
   focused via keyboard) that shows up as a square ring around a circle.
   box-shadow, unlike outline, always follows the element's actual rounded
   shape, so it's used here instead of just suppressing focus entirely. */
  .tl-slide-btn:focus,.tl-slide-dot:focus{outline:none;box-shadow:0 0 0 2px rgba(255,255,255,0.5);}

/* BACK TO TOP */
  .back-to-top{position:fixed;bottom:16px;right:32px;z-index:150;width:46px;height:46px;border-radius:50%;
    -webkit-appearance:none;appearance:none;
    background:var(--night);border:1px solid rgba(200,149,90,0.4);color:var(--gold);
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    opacity:0;pointer-events:none;transform:translateY(12px);
    transition:opacity .35s ease, transform .35s ease, border-color .3s, bottom .35s ease;
    box-shadow:0 14px 34px rgba(0,0,0,0.28);}

.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0);}

.back-to-top.above-nav-bar{bottom:112px;}

.back-to-top:hover{border-color:var(--gold);background:var(--gold);color:var(--night);}

.back-to-top:focus{outline:none;box-shadow:0 0 0 2px rgba(200,149,90,0.5);}

/* VIEW-ALL BUTTONS (light background variant) */
  .view-all-wrap{text-align:center;padding:36px 48px 0;}

.btn-ghost-light{border:1px solid var(--ink-soft);color:var(--ink-soft);padding:14px 26px;border-radius:2px;
    text-decoration:none;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;transition:all .3s;display:inline-block;}

.btn-ghost-light:hover{background:var(--ink);border-color:var(--ink);color:#fff;}

/* INNER PAGE HEADER */
  .inner-page nav{background:rgba(21,18,14,0.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(200,149,90,0.25);padding:14px 48px;}

.page-header{
    position:relative;padding:168px 48px 70px;background-image:
      linear-gradient(var(--paper-warm) 0%, var(--paper-warm) 100%),
      repeating-linear-gradient(0deg, rgba(181,98,44,0.06) 0, rgba(181,98,44,0.06) 1px, transparent 1px, transparent 40px),
      repeating-linear-gradient(90deg, rgba(181,98,44,0.06) 0, rgba(181,98,44,0.06) 1px, transparent 1px, transparent 40px);
    border-bottom:1px solid var(--line);overflow:hidden;
  }

.page-header-inner{max-width:1180px;margin:0 auto;position:relative;z-index:1;}

.page-header .ph-num{position:absolute;top:-40px;right:48px;font-family:'Fraunces',serif;font-size:clamp(160px,20vw,280px);font-weight:500;color:rgba(181,98,44,0.05);line-height:1;pointer-events:none;z-index:0;}

.page-header h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(40px,6vw,66px);line-height:1.05;margin:16px 0 22px;max-width:680px;color:var(--ink);}

.page-header p{font-size:15px;line-height:1.85;color:var(--ink-soft);max-width:540px;}

/* PROJECT SUBNAV — Completed / Current / Upcoming tabs on all project listing
     pages. Mirrors .section-jump (the sticky nav on detail pages) — same gold
     bar, same blur — and stays visible while scrolling the listing, the same
     way section-jump stays visible while scrolling a detail page. */
  .project-subnav{position:sticky;top:100px;z-index:150;background:var(--gold);backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(21,18,14,0.15);
    box-shadow:0 10px 28px rgba(10,8,6,0.14);padding:18px 48px;display:flex;justify-content:center;
    gap:56px;margin-bottom:44px;}

.psn-tab{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
    color:rgba(21,18,14,0.6);text-decoration:none;padding-bottom:4px;border-bottom:1px solid transparent;
    transition:color .25s ease, border-color .25s ease;}

.psn-tab:hover{color:var(--night);}

.psn-tab.active{color:var(--night);border-bottom-color:var(--night);font-weight:700;}

@media(max-width:700px){.project-subnav{gap:22px;padding:14px 18px;overflow-x:auto;justify-content:center;-webkit-overflow-scrolling:touch;}.psn-tab{white-space:nowrap;}.psn-full{display:none;}}

.list-head{max-width:1180px;margin:0 auto;padding:0 48px;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;gap:20px;flex-wrap:wrap;}

.list-head .n{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;color:#8a8271;text-transform:uppercase;}

.list-head a.n{color:var(--clay);text-decoration:none;border-bottom:1px solid rgba(181,98,44,0.4);padding-bottom:2px;}

.list-head a.n:hover{color:var(--clay-deep);border-color:var(--clay-deep);}

/* CLOSING CTA STRIP */
  .list-close{max-width:1180px;margin:64px auto 0;padding:44px 48px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;}

.list-close p{font-size:13.5px;color:var(--ink-soft);max-width:440px;}

.list-close a{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:var(--clay);padding:14px 26px;border-radius:2px;text-decoration:none;white-space:nowrap;transition:background .3s;}

.list-close a:hover{background:var(--clay-deep);}

.nav-drop:hover .nav-drop-panel,.nav-drop:focus-within .nav-drop-panel,.nav-drop.open .nav-drop-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}

.nav-drop.open .nav-drop-trigger .chev{transform:rotate(180deg);}

.nav-drop.open .nav-drop-trigger .chev path{stroke:var(--gold);}

/* STATS — dimension line style */
  .stats-band{display:flex;max-width:900px;margin:0 auto;position:relative;padding-top:14px;}

.case-photo{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;z-index:0;}

.case::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg, rgba(10,8,6,0.92) 0%, rgba(10,8,6,0.15) 60%, transparent 100%);}

.case-content{position:relative;z-index:2;padding:48px;color:#fff;width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:"text timeline" "link timeline";align-items:end;gap:8px 32px;}
.case-text{grid-area:text;}
.case-link{grid-area:link;align-self:start;justify-self:start;}
.case-timeline-v{grid-area:timeline;}

.inner-page nav{background:rgba(21,18,14,0.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(200,149,90,0.25);padding:14px 48px;}

@media(max-width:768px){.wrap{padding:0 24px;}}

@media(max-width:920px){.nav-links{display:none;}}

@media(max-width:920px){.nav-toggle{display:flex;}}

@media(max-width:900px){.blueprint-overlay{width:100%;opacity:0.45;} .stamp{right:24px;bottom:24px;width:90px;height:90px;} .hero-inner{padding:0 24px 60px;}}

@media(max-width:768px){.overview{padding-top:56px;padding-bottom:56px;}}

@media(max-width:800px){.overview-inner{flex-direction:column;gap:40px;}.overview-facts{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:30px;}}

@media(max-width:700px){.stats-band{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;row-gap:26px;max-width:420px;}.stat{padding:0;}}

@media(hover:hover) and (pointer:fine){
    .case{transition:background-size 1.2s ease;}
    .case:hover{background-size:112%;}
  }

@media(max-width:900px){.case-row{flex-direction:column;}.case-row .case{height:400px;}}

/* On narrow viewports, stack text above timeline; keep the timeline vertical
     (a squeezed horizontal row was crowding the longer Fulton Greene labels) */
  

@media(hover:hover) and (pointer:fine){
    .current-img{transition:background-size 1s ease;}
    .current-card:hover .current-img{background-size:114%;}
  }

@media(max-width:800px){.current-grid{flex-direction:column;}}

@media(max-width:700px){
    .partner-row{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px;justify-items:center;align-items:center;}
    .partner-row > div{justify-content:center;}
    .partner-row img{height:26px !important;max-height:26px;width:auto;}
  }

@media(max-width:420px){
    .partner-row{grid-template-columns:1fr;gap:24px;}
  }

@media(max-width:768px){.ornament{padding:0 24px;margin:64px 0;gap:10px;}.ornament .ln{width:44px;}}

@media(max-width:768px){.page-header{padding:140px 24px 48px;}.page-header .ph-num{display:none;}}

@media(max-width:700px){
    .section-head{padding:0 24px;flex-direction:column;align-items:flex-start;gap:10px;}
    .section-head .sub{text-align:left;max-width:100%;}
    .view-all-wrap{padding:32px 24px 0;}
    .btn-ghost-light{padding:14px 20px;line-height:1.6;white-space:normal;}
  }

@media(max-width:768px){.list-head{padding:0 24px;}}

@media(max-width:768px){.list-close{padding:36px 24px;}}

@media(hover:hover) and (pointer:fine){
    .current-img{transition:transform 1s ease;}
    .current-card:hover .current-img{transform:scale(1.14);}
  }

@media(hover:hover) and (pointer:fine){
    .case-photo{transition:transform 1.2s ease;}
    .case:hover .case-photo{transform:scale(1.12);}
  }

@media(hover:hover) and (pointer:fine){
    .case{transition:background-size 1.2s ease;}
    .case:hover{transform:scale(1.005);}
  }
