:root{--ink:#101010;--paper:#f3f1ed;--line:#c9c6c0;--max:1500px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px 4vw;background:rgba(243,241,237,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{color:inherit;text-decoration:none;display:flex;gap:18px;align-items:baseline}.brand strong{font-size:15px;letter-spacing:.04em}.brand span{font-size:11px;letter-spacing:.1em}.top nav{display:flex;gap:24px}.top nav a{color:inherit;text-decoration:none;font-size:12px;letter-spacing:.08em}.hero{max-width:var(--max);margin:auto;position:relative;height:min(72vh,780px);overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.06) 70%)}.hero-copy{position:absolute;z-index:2;left:6%;bottom:10%;width:min(760px,82%);color:white}.hero h1{font-size:clamp(42px,5.6vw,86px);line-height:.95;letter-spacing:-.05em;margin:0 0 26px}.hero p{font-size:clamp(16px,1.5vw,22px);line-height:1.45;max-width:680px}.work,.project,.info,.contact{max-width:var(--max);margin:auto;padding:80px 4vw}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.section-head>p,.eyebrow,.project-label{font-size:11px;letter-spacing:.16em;font-weight:bold}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid var(--ink);background:transparent;padding:8px 12px;border-radius:999px;cursor:pointer}.filters button.active{background:var(--ink);color:white}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{position:relative;display:block;aspect-ratio:1.72/1;overflow:hidden;background:#ddd;color:white}.card img,.card video{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover img,.card:hover video{transform:scale(1.035)}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 48%,rgba(0,0,0,.75))}.card span{position:absolute;z-index:2;left:22px;bottom:20px;font-size:20px;font-weight:bold}.card small{display:block;font-size:11px;font-weight:normal;letter-spacing:.1em;margin-top:7px}.project{border-top:1px solid var(--line);padding-top:100px}.project-title{display:grid;grid-template-columns:1fr 2fr;margin:18px 0 48px}.project-title h2{grid-column:2;font-size:clamp(40px,5vw,76px);line-height:.96;letter-spacing:-.045em;margin:0}.feature{display:block;width:100%;max-height:800px;object-fit:cover;background:white}.feature.contain{object-fit:contain}.story{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin:42px 0 20px;padding-left:33%}.story b{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.story p{font-size:15px;line-height:1.55}.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}.art-grid img{display:block;width:100%;height:auto;background:white}.art-grid.two{grid-template-columns:repeat(2,1fr)}.art-grid.five{grid-template-columns:repeat(2,1fr)}.art-grid.five img:first-child{grid-column:1/-1}.lightboxable{cursor:zoom-in}.video-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.video-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#111}.video-thumb img{width:100%;height:100%;object-fit:cover}.video-thumb:after{content:'▶';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;font-size:22px;padding-left:4px}.video-thumb span{position:absolute;left:14px;bottom:12px;color:#fff;font-size:12px;font-weight:bold;text-shadow:0 1px 4px #000}.fitness-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fitness-grid img{width:100%;height:auto;display:block}.fifty-top{display:grid;grid-template-columns:1fr 1.05fr;gap:28px;align-items:start}.fifty-top img{width:100%;display:block}.fifty-ads{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.fifty-ads img{width:100%;display:block}.fifty-brand{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:28px;align-items:start}.fifty-brand img{width:100%;display:block}.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.logo-row{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:26px;align-items:center}.logo-row img{width:100%}.logo-row p{font-size:18px;line-height:1.45}.info{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:30px}.info .eyebrow{grid-column:1}.info h2,.contact h2{font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.04em;margin:0}.info h2,.info>p:last-child{grid-column:2}.info>p:last-child{font-size:20px;line-height:1.5;max-width:800px}.contact{border-top:1px solid var(--line);padding-bottom:140px}.contact h2{max-width:950px;margin:30px 0}.contact p:last-child{font-size:18px}.note{font-size:13px;opacity:.68;margin-top:16px}footer{border-top:1px solid var(--line);padding:25px 4vw;display:flex;justify-content:space-between;font-size:12px}footer a{color:inherit}.hidden{display:none!important}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.12);color:white;cursor:pointer}.lb-close{right:22px;top:18px;font-size:34px;width:48px;height:48px}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:32px;width:50px;height:70px}.lb-prev{left:18px}.lb-next{right:18px}@media(max-width:900px){.brand span{display:none}.top nav{gap:12px}.top nav a{font-size:10px}.hero{height:68vh}.grid{grid-template-columns:1fr 1fr}.project-title{display:block}.project-title h2{margin-top:20px}.story{padding-left:0;grid-template-columns:1fr}.art-grid,.video-thumbs,.fitness-grid,.fifty-ads{grid-template-columns:1fr 1fr}.fifty-top,.fifty-brand,.logo-row{grid-template-columns:1fr}.info{grid-template-columns:1fr}.info h2,.info>p:last-child{grid-column:1}}@media(max-width:560px){.top{align-items:flex-start}.top nav{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.hero-copy{left:7%;width:86%}.grid,.art-grid,.art-grid.two,.art-grid.five,.video-thumbs,.fitness-grid,.fifty-ads,.package-grid{grid-template-columns:1fr}.art-grid.five img:first-child{grid-column:auto}.section-head{align-items:flex-start;gap:20px;flex-direction:column}.work,.project,.info,.contact{padding-left:6vw;padding-right:6vw}}

/* Homepage thumbnail layout based on HomeThumbnails.pdf */
.thumbnail-grid{grid-template-columns:repeat(3,1fr);gap:20px 16px}
.thumbnail-grid .card{aspect-ratio:1.62/1;background:#d8d6d1}
.thumbnail-grid .card:after{background:linear-gradient(transparent 48%,rgba(0,0,0,.72));opacity:0;transition:opacity .25s ease}
.thumbnail-grid .card span{left:16px;right:12px;bottom:14px;font-size:16px;line-height:1.05;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease}
.thumbnail-grid .card small{font-size:10px;margin-top:5px}
.thumbnail-grid .card:hover:after,.thumbnail-grid .card:focus-visible:after{opacity:1}
.thumbnail-grid .card:hover span,.thumbnail-grid .card:focus-visible span{opacity:1;transform:none}
.thumbnail-grid .card img{transform:scale(1.015)}
.thumbnail-grid .card:hover img,.thumbnail-grid .card:focus-visible img{transform:scale(1.065)}
@media(max-width:900px){.thumbnail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.thumbnail-grid{grid-template-columns:1fr}.thumbnail-grid .card:after{opacity:.72}.thumbnail-grid .card span{opacity:1;transform:none}}
/* v5: homepage thumbnail art direction follows the supplied desired-thumbnails comp exactly. */
.thumbnail-grid .card{aspect-ratio:1.62/1}
.thumbnail-grid .card img{width:100%;height:100%;object-fit:cover}

/* Fitness Science homepage crop: preserve climber figure */
.fitness-home-card img{object-position:center top;}
/* September 24 review revisions */
.project-title{display:block;margin:18px 0 48px}.project-title h2{margin:0;max-width:1200px}.story{padding-left:0}
.art-grid.five.numbered figure{position:relative;margin:0}.art-grid.five.numbered figure:first-child{grid-column:1/-1}.art-grid.five.numbered figure:before{content:attr(data-num);position:absolute;z-index:2;left:18px;top:16px;font-size:24px;font-weight:700;color:#111}.art-grid.five.numbered figure img{width:100%;display:block}
.lupus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:start}.lupus-grid>img{width:100%;display:block}.lupus-grid .video-thumb{width:100%}
.case-split{display:grid;grid-template-columns:1.35fr .75fr;gap:54px;align-items:start}.case-split .video-thumbs{display:block}.case-split .story{display:block;margin:0}.case-split .story>div{margin:0 0 44px}.case-split .story p{margin-bottom:0}
.endorsing-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 44px;align-items:start}.endorsing-grid .v1{grid-column:1;grid-row:1}.endorsing-grid .v2{grid-column:1;grid-row:2}.endorsing-grid .v3{grid-column:2;grid-row:1}.endorsing-grid .story{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:34px;margin:0}.endorsing-grid .story>div:nth-child(2){grid-column:1}.endorsing-grid .story>div:nth-child(3){grid-column:2;grid-row:1}.endorsing-grid .story p{margin-bottom:0}
.fifty-print-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:980px}.fifty-print-row img{width:100%;display:block}.fifty-lower{display:grid;grid-template-columns:1.05fr 1fr;gap:38px;margin-top:34px;align-items:start;max-width:1050px}.fifty-packages{display:grid;grid-template-columns:1fr 1fr;gap:22px}.fifty-packages img,.fifty-logos{width:100%;display:block}.fifty-copy{grid-column:2;padding:0}.fifty-copy b{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.fifty-copy p{font-size:15px;line-height:1.5}.fifty-copy>p:last-child{margin-top:24px}
@media(max-width:900px){.story{gap:18px;margin-top:28px}.story>div{margin-bottom:8px}.case-split{grid-template-columns:1fr}.case-split .story{margin-top:0}.case-split .story>div{margin-bottom:20px}.endorsing-grid{grid-template-columns:1fr 1fr}.endorsing-grid .story{grid-template-columns:1fr;gap:14px}.endorsing-grid .story>div:nth-child(2),.endorsing-grid .story>div:nth-child(3){grid-column:1;grid-row:auto}.fifty-lower{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.lupus-grid,.endorsing-grid,.fifty-print-row,.fifty-lower,.fifty-packages{grid-template-columns:1fr}.endorsing-grid .v1,.endorsing-grid .v2,.endorsing-grid .v3,.endorsing-grid .story,.fifty-copy{grid-column:1;grid-row:auto}.story{gap:8px;margin-top:22px}.story>div{margin-bottom:4px}.story p{margin-top:7px;margin-bottom:10px}.case-split .story>div{margin-bottom:10px}}

/* Final reference-matched corrections */
.art-grid.five.numbered figure:before{font-size:18px}
.endorsing-grid .v1{grid-column:1;grid-row:1}
.endorsing-grid .v2{grid-column:2;grid-row:1}
.endorsing-grid .v3{grid-column:1;grid-row:2}
.endorsing-grid .story{grid-column:2;grid-row:2}
.endorsing-grid .video-thumb span{display:none}
#fifty50 .project-label{display:none}
#fifty50 .project-title{display:block;margin:0 0 30px}
#fifty50 .project-title h2{font-size:clamp(32px,3vw,44px);line-height:1;letter-spacing:-.035em;margin:0}
#fifty50 .fifty-print-row{grid-template-columns:repeat(3,1fr);gap:30px;max-width:980px}
#fifty50 .fifty-lower{display:grid;grid-template-columns:1.05fr 1fr;gap:38px;margin-top:34px;align-items:start;max-width:1050px}
#fifty50 .fifty-packages{grid-column:1;grid-row:1 / span 2;display:grid;grid-template-columns:1fr 1fr;gap:22px}
#fifty50 .fifty-logos{grid-column:2;grid-row:1;width:100%}
#fifty50 .fifty-copy{grid-column:2;grid-row:2;padding:0;border:0;outline:0}
@media(max-width:560px){#fifty50 .fifty-lower,#fifty50 .fifty-packages{grid-template-columns:1fr}#fifty50 .fifty-packages,#fifty50 .fifty-logos,#fifty50 .fifty-copy{grid-column:1;grid-row:auto}}

/* September 27 mobile/video/About refinements */
.video-modal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.96);display:none;align-items:center;justify-content:center;flex-direction:column;padding:64px 4vw 30px}.video-modal.open{display:flex}.video-stage{width:min(1100px,94vw);aspect-ratio:16/9;background:#000;display:flex;align-items:center;justify-content:center}.video-stage video,.video-stage iframe{width:100%;height:100%;border:0;display:none;background:#000}.video-stage video.active,.video-stage iframe.active{display:block}.video-close{position:absolute;right:18px;top:14px;width:52px;height:52px;border:0;background:transparent;color:#fff;font-size:42px;line-height:1;cursor:pointer}.video-back{margin-top:18px;border:1px solid #fff;background:transparent;color:#fff;padding:11px 18px;border-radius:999px;font:700 13px Arial,Helvetica,sans-serif;cursor:pointer}.about-redesign{display:block}.about-redesign>.eyebrow{margin:0 0 32px}.about-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:40px;align-items:end;max-width:1180px}.about-portrait{display:block;width:100%;aspect-ratio: .68/1;object-fit:cover;object-position:center 42%;background:#c6d7da}.about-copy h2{font-size:clamp(34px,3.5vw,54px);line-height:1.02;letter-spacing:-.04em;margin:0 0 28px;max-width:900px}.about-copy p{font-size:clamp(18px,1.55vw,24px);line-height:1.35;margin:0 0 24px;max-width:900px}.about-copy p:last-child{margin-bottom:0}
@media(max-width:900px){.about-layout{grid-template-columns:minmax(220px,280px) 1fr;gap:28px}.about-copy h2{font-size:34px}.about-copy p{font-size:18px}}
@media(max-width:560px){
  .endorsing-grid .v1,.endorsing-grid .v2,.endorsing-grid .v3,.endorsing-grid .story{grid-column:1!important;grid-row:auto!important}
  .endorsing-grid .video-thumb span{display:block}
  .video-thumb{width:100%;min-height:0}
  .video-modal{padding:70px 0 24px}.video-stage{width:100vw;aspect-ratio:16/9}.video-close{right:8px;top:8px}.video-back{margin-top:20px}
  .about-redesign{padding-top:72px}.about-redesign>.eyebrow{margin-bottom:20px}.about-layout{grid-template-columns:1fr;gap:28px;align-items:start}.about-portrait{width:min(72vw,330px);margin-inline:auto;aspect-ratio:.68/1;object-position:center 42%}.about-copy h2{font-size:34px;margin-bottom:24px}.about-copy p{font-size:19px;line-height:1.4;margin-bottom:22px}
  #fifty50{padding-left:3vw;padding-right:3vw}#fifty50 .project-title,#fifty50 .fifty-copy{padding-left:3vw;padding-right:3vw}#fifty50 .fifty-print-row{gap:20px;width:100%}
  .lightbox{padding:2vw}.lightbox img{max-width:98vw;max-height:94vh}
}

/* September 27 v3: full-width Fifty50 mobile print ads */
@media(max-width:560px){#fifty50 .fifty-print-row{display:grid!important;grid-template-columns:1fr!important;max-width:none!important;width:100%!important;gap:24px!important}#fifty50 .fifty-print-row img{width:100%!important;height:auto!important}}

/* September 30: blue navigation header + cross-browser/mobile hero refinements */
.top{
  background:#315f7d;
  color:#fff;
  border-bottom:0;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.top .brand,.top nav a{color:#fff}
.brand strong{letter-spacing:.12em}
.brand span{letter-spacing:.14em;white-space:nowrap}

@media(max-width:900px){
  .brand span{display:inline-block}
  .top{flex-wrap:wrap;justify-content:center;gap:14px 28px;padding:18px 5vw 16px}
  .brand{justify-content:center;flex-wrap:wrap;gap:8px 18px;width:100%}
  .top nav{justify-content:center;width:100%;gap:20px}
  .hero{height:64vh;min-height:520px}
  .hero>img{object-position:58% center}
}

@media(max-width:560px){
  .top{align-items:center;padding:18px 5vw 16px;gap:14px}
  .brand{align-items:baseline;gap:7px 14px}
  .brand strong{font-size:13px;letter-spacing:.15em}
  .brand span{display:inline-block;font-size:10px;letter-spacing:.12em;white-space:nowrap}
  .top nav{display:flex;flex-wrap:nowrap;justify-content:center;gap:16px}
  .top nav a{font-size:9px;letter-spacing:.14em}
  .hero{height:64vh;min-height:600px;max-height:720px}
  .hero>img{object-position:60% center}
  .hero-copy{left:7%;bottom:9%;width:86%}
  .hero h1{font-size:clamp(44px,12vw,58px);line-height:1.02;margin-bottom:24px}
  .hero p{font-size:17px;line-height:1.48;margin-bottom:0}
}

@media(max-width:390px){
  .brand{gap:6px 10px}
  .brand strong{font-size:12px}
  .brand span{font-size:9px;letter-spacing:.1em}
  .top nav{gap:12px}
  .top nav a{font-size:8.5px}
  .hero>img{object-position:62% center}
}
