/* Cormorant Garamond is the selected typeface for navigation, metadata and body copy. */
:root{--sans:'Cormorant Garamond',serif;--serif:'EB Garamond',Georgia,serif}
body{font-size:19px;font-weight:500}
.nav-item>a{font-size:19px;font-weight:500;letter-spacing:normal;text-transform:none}
.nav-item>button{font-size:17px;font-weight:500}
.mega-links a{font:24px/1.35 var(--sans)}
.mega-menu .menu-caption{font-size:19px;font-weight:500}
.eyebrow,.event-detail .event-tag{font-size:17px;font-weight:500;letter-spacing:normal;text-transform:none}
.text-link,.filter,.footer-links,.breadcrumb{font-size:19px;font-weight:500}
.strip-caption,.marquee-toggle,.album-meta,.photo-tile .photo-info,.gallery-footnote,.sample-note{font-size:17px;font-weight:500}
.event-date,.event-type,.credit-row p,.contact-item h2{font-size:17px;font-weight:500}
.footer-bottom{font-size:17px;font-weight:500}
@media(max-width:700px){
  body{font-size:19px}
  .mobile-nav>a{font:34px/1.9 var(--sans)}
  .intro-bottom .intro-side{font-size:19px}
  .footer-bottom{font-size:17px}
}

/* Sponsorship: three fluid type levels, bounded for phones and wide screens. */
.sponsorship-page,.page-heading:has(+ .sponsorship-page){
  --sponsor-large:clamp(2.75rem,1.9rem + 3.4vw,5rem);
  --sponsor-medium:clamp(1.875rem,1.6rem + 1.1vw,2.5rem);
  --sponsor-small:clamp(1.1875rem,1.08rem + .4vw,1.375rem);
}
.page-heading:has(+ .sponsorship-page){grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);padding-top:clamp(3rem,5vw,5rem);padding-bottom:clamp(2.5rem,4vw,4rem)}
.page-heading:has(+ .sponsorship-page) h1{font-size:var(--sponsor-large);line-height:1.08;letter-spacing:-.035em}
.page-heading:has(+ .sponsorship-page) .eyebrow,.page-heading:has(+ .sponsorship-page) .page-description{font-size:var(--sponsor-small);line-height:1.55}
.page-heading:has(+ .sponsorship-page) .page-description{max-width:38ch;justify-self:start}
.sponsorship-page .sponsorship-lead{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);padding:1.5rem 0 clamp(3rem,5vw,5rem)}
.sponsorship-page .sponsorship-lead h2,.sponsorship-page .partnerships>.eyebrow{font:400 var(--sponsor-medium)/1.2 var(--serif);letter-spacing:-.02em}
.sponsorship-page .sponsorship-lead .eyebrow{font-size:var(--sponsor-small);line-height:1.5;margin-bottom:1rem}
.sponsorship-page .sponsorship-lead>div:last-child{max-width:48ch;align-self:start}
.sponsorship-page .sponsorship-lead>div:last-child p,.sponsorship-page .text-link{font-size:var(--sponsor-small);line-height:1.6}
.sponsorship-page .partner-name{font-size:var(--sponsor-small);line-height:1.4;letter-spacing:.035em}
@media(max-width:56rem){
  .page-heading:has(+ .sponsorship-page),.sponsorship-page .sponsorship-lead{grid-template-columns:minmax(0,1fr);gap:1.75rem}
}

/* Present the supplied partner artwork in the same warm monochrome palette. */
.sponsorship-page .partner-card{align-items:center;text-align:center;justify-content:flex-start;gap:1.75rem;padding:2rem 0}
.sponsorship-page .partner-logo{width:min(235px,85%);height:130px;margin:0 auto;justify-content:center;overflow:hidden}
.sponsorship-page .partner-logo img{max-width:none;flex:none;object-fit:contain}
.sponsorship-page .partner-logo--cambridge img{width:210px;height:210px;filter:grayscale(1) invert(1) contrast(3) brightness(.7) sepia(1) saturate(.8) brightness(1.03);mix-blend-mode:lighten}
.sponsorship-page .partner-logo--imperial img{width:235px;height:235px;filter:grayscale(1) contrast(3) brightness(.7) sepia(1) saturate(.8) brightness(1.03);mix-blend-mode:lighten}
.sponsorship-page .partner-name{width:100%;margin:0;text-align:center;font-weight:600;text-transform:none;letter-spacing:0}

/* Navigation hierarchy and independent landing pages. */
.desktop-nav{gap:clamp(18px,2vw,32px)}
.nav-item>a[href='/work-with-cups/']{color:var(--accent);font-weight:600}
.nav-item:has(>a[href='/work-with-cups/'])::after{transform:scaleX(1);height:1px;opacity:.65}
.nav-item>a[href='/work-with-cups/']:hover{color:#ffe4bc}
.mobile-nav-group{border-bottom:1px solid var(--line)}
.mobile-nav-group summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;gap:16px;padding:12px 0;font:30px/1.35 var(--sans)}
.mobile-nav-group summary::-webkit-details-marker{display:none}
.mobile-nav-expand{width:44px;min-height:44px;display:grid;place-items:center;font:24px var(--sans)}
.mobile-nav-group[open] .mobile-nav-expand{transform:rotate(45deg)}
.mobile-subnav{display:grid;gap:4px;padding:0 0 18px 18px}
.mobile-subnav a{font:20px/1.4 var(--sans);padding:9px 0;color:var(--muted)}
.mobile-nav-group summary a[href='/work-with-cups/']{color:var(--accent);font-weight:600;border-bottom:1px solid var(--accent)}
.navigation-landing{padding-bottom:clamp(40px,6vw,90px)}
.landing-links{border-top:1px solid var(--line)}
.landing-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline}
.landing-link h2,.photographer-intro h2,.competition-archive>h2{font:400 clamp(28px,2.6vw,40px)/1.2 var(--serif);letter-spacing:-.02em}
.landing-link p,.landing-copy,.photographer-intro p{font-size:clamp(19px,1.1rem + .35vw,22px);line-height:1.6;color:var(--muted);max-width:48ch}
.landing-copy .text-link{font-size:inherit;white-space:normal;margin-left:.25em}
.competition-archive{margin-top:48px}.competition-archive>h2{margin-bottom:28px}
.photographer-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;border-top:1px solid var(--line);padding-top:32px}
.photographer-intro p{margin-bottom:22px}.photographer-intro .text-link{font-size:22px;white-space:normal;overflow-wrap:anywhere}
.page-heading:has(+.navigation-landing) h1{font-size:clamp(44px,2rem + 3vw,80px);letter-spacing:-.035em;line-height:1.08}
@media(max-width:900px){.desktop-nav{gap:16px}.header-note{display:none}}
@media(max-width:700px){.landing-link,.photographer-intro{grid-template-columns:minmax(0,1fr);gap:16px}.landing-link{padding:24px 0}.photographer-intro{gap:26px}.mobile-nav-group summary{font-size:28px}.footer-links{gap:12px 16px}}

/* Quiet gold emphasis, open full-width menus, and space below the photographs. */
.nav-item>a[href='/work-with-cups/'],.mobile-nav-group summary a[href='/work-with-cups/']{color:#e6c69e;text-decoration:underline;text-decoration-color:#c6a47a;text-decoration-thickness:1px;text-underline-offset:.4em}
.nav-item>a[href='/work-with-cups/']:hover,.mobile-nav-group summary a[href='/work-with-cups/']:hover{color:#f2d8b7;text-decoration-color:currentColor}
.nav-item:has(>a[href='/work-with-cups/'])::after{display:none}
.mobile-nav-group summary a[href='/work-with-cups/']{border-bottom:0}
.mega-menu{grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:clamp(40px,6vw,100px);min-height:300px;padding-top:48px;padding-bottom:48px}
.mega-links{padding-top:2px;gap:16px}.mega-links a{font-size:clamp(24px,2.2vw,32px)}
.strip-caption{align-items:center;padding-top:clamp(34px,3.8vw,56px);padding-bottom:clamp(26px,2.5vw,40px)}
.strip-caption .home-join-link{min-height:56px;padding-bottom:6px;color:var(--text);font-family:var(--serif);font-size:clamp(36px,2.8vw,44px);line-height:1.15}
.strip-caption .home-join-link:hover{color:var(--accent)}
.strip-caption .marquee-toggle{min-height:44px;line-height:1.4}
.strip-caption>span{line-height:1.4}

/* Map only the red lion fill to cream; retain original linework as dark negative space. */
.sponsorship-page .partner-logo--cambridge img{filter:url(#cups-lion-tone);mix-blend-mode:normal}

/* Contain decorative overflow so iOS cannot widen the document viewport. */
html,body{max-width:100%;overflow-x:hidden}
.home-intro{overflow:hidden}
main,.page-body,.intro-statement>div{min-width:0;max-width:100%}
.photo-strip.photo-strip--marquee{width:100%;max-width:100%;overflow:hidden}
.photo-strip.photo-strip--marquee.marquee-static{overflow-x:auto}
.icon-arrow{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;overflow:visible}
.marquee-toggle{gap:.4em}.marquee-toggle .icon-arrow{width:.85em;height:.85em}
@media(max-width:700px){
  .home-intro h1{max-width:100%;font-size:clamp(44px,12.7vw,56px)}
  .intro-statement h2{font-size:clamp(28px,7.8vw,34px);overflow-wrap:break-word}
  .intro-statement h2 br{display:none}
  .statement-copy{max-width:100%;overflow-wrap:break-word}
  .strip-caption{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 18px}
  .strip-caption .home-join-link{grid-column:1;grid-row:1/3;justify-self:start;min-height:52px;font-size:34px}
  .strip-caption>span{grid-column:2;grid-row:1;justify-self:end;max-width:100%;text-align:right}
  .strip-caption .marquee-toggle{grid-column:2;grid-row:2;justify-self:end;margin:0}
  .strip-caption:not(:has(.marquee-toggle:not([hidden]))) .home-join-link{grid-row:1}
}


/* Selected small type: Cormorant Garamond 19px / 500. */
.page-description,.statement-copy,.profile-bio,.event-notify>p:not(.eyebrow),.email-signup input,.email-signup button{font-size:19px;font-weight:500}

/* Archive is an editorial destination with its own warm terracotta accent. */
:root{--archive-accent:#c98663}
.landing-link[href='/archive/'] h2,.landing-link[href='/archive/'] p,.mega-links a[href='/archive/'],.mobile-subnav a[href='/archive/']{color:var(--archive-accent)}
.landing-link[href='/archive/']:hover h2,.landing-link[href='/archive/']:focus-visible h2,.mega-links a[href='/archive/']:hover,.mega-links a[href='/archive/']:focus-visible,.mobile-subnav a[href='/archive/']:hover,.mobile-subnav a[href='/archive/']:focus-visible{color:#e0aa88}

/* A distinct, restrained cue for the always-on featured-photography page. */
.mega-links a[href='/featured/'],.mobile-subnav a[href='/featured/']{color:#b8c9ac}
.mega-links a[href='/featured/']:hover,.mega-links a[href='/featured/']:focus-visible,.mobile-subnav a[href='/featured/']:hover,.mobile-subnav a[href='/featured/']:focus-visible{color:#d8e2cf}
