
/* Shared navigation and action system. */
:root { --nav-paper:#f5f3ed; --nav-ink:#292721; --nav-accent:#ddff63; }
.site-nav { position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px clamp(20px,4vw,64px);background:var(--nav-paper);color:var(--nav-ink);border-bottom:1px solid #29272130;mix-blend-mode:normal;max-width:none;margin:0; }
.site-brand { display:block;flex-shrink:0;background:#aaa091;padding:10px 14px;border:0!important; }
.site-brand img { display:block;width:142px;height:auto; }
.site-nav nav { display:flex;align-items:center;gap:24px; }
.site-nav a,.site-nav summary { font:600 15px/1.4 "Avenir Next",Avenir,Arial,sans-serif;letter-spacing:0;text-transform:none;text-decoration:none; }
.nav-menu { position:relative; }
.nav-menu summary { display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:12px 0; }
.nav-menu summary::-webkit-details-marker { display:none; }
.nav-menu summary span { font-size:19px;font-weight:400; }
.nav-menu[open] summary span { transform:rotate(45deg); }
.nav-panel { position:absolute;left:-20px;top:100%;min-width:232px;padding:10px;background:var(--nav-paper);border:1px solid #29272135;box-shadow:0 12px 24px #29272112; }
.nav-panel a { display:block;padding:13px 12px;border:0; }
.nav-panel a:hover,.nav-panel a:focus-visible { background:var(--nav-accent); }
.action,.text-link,.arrow-link,.studio-button,.fit-cta,.credit-cta,.credit-secondary,.more a,.watch,.signup-form button { display:inline-flex!important;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:12px 20px!important;border:1px solid currentColor!important;border-radius:0;background:transparent;color:inherit;font:600 15px/1.35 "Avenir Next",Avenir,Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;cursor:pointer;width:fit-content;max-width:100%;transition:background .15s,color .15s; }
.action:hover,.text-link:hover,.arrow-link:hover,.studio-button:hover,.fit-cta:hover,.credit-cta:hover,.credit-secondary:hover,.more a:hover,.watch:hover,.signup-form button:hover { background:var(--nav-accent)!important;color:var(--nav-ink)!important; }
.action:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible { outline:3px solid #778629;outline-offset:4px; }
.studio-button,.nav-project { background:var(--nav-accent)!important;color:var(--nav-ink)!important; }
section,[id] { scroll-margin-top:115px; }
.work-heading { padding:0!important; }
.work-heading h2 { margin:0 0 24px;font-size:clamp(32px,4vw,56px);font-weight:500;line-height:1.08;letter-spacing:-.035em; }
.work-heading .action { margin-bottom:24px; }
.work-tabs { display:none!important; }
.tab-intro { max-width:850px; }
.tab-intro h2 { font-size:clamp(34px,5vw,66px);line-height:1.06;letter-spacing:-.035em;margin:0 0 22px;font-weight:500; }
.tab-intro p { font-size:20px;line-height:1.5; }
.contact-section { min-height:0!important;gap:50px!important;padding:64px clamp(24px,5vw,80px)!important; }
.contact-section h2 { font-size:clamp(36px,6vw,76px)!important;line-height:1.08!important;letter-spacing:-.035em!important;text-transform:none!important; }
.contact-section .eyebrow { max-width:50ch;line-height:1.6; }
.contact-section .email { font-size:20px; }
.aj-story { gap:48px; }
.story-body p { font-size:18px;line-height:1.6; }
@media(max-width:850px){.site-nav { flex-wrap:wrap;gap:12px;padding:14px 20px; }.site-nav nav { width:100%;justify-content:space-between;gap:10px; }.site-brand img { width:116px; }.nav-panel { left:0; }.nav-project { margin-left:auto; }.site-nav .nav-project { font-size:14px!important;padding:10px 12px!important; }.site-nav a,.site-nav summary { font-size:14px; }.nav-menu summary { gap:7px; }}
@media(max-width:460px){.site-nav nav { flex-wrap:wrap;justify-content:flex-start;gap:0 22px; }.nav-project { margin-left:0; }.nav-about { padding:12px 0; }.site-nav .nav-project { min-height:40px; }.nav-panel { min-width:200px; }.nav-menu:nth-child(3) .nav-panel { left:auto;right:0; }}

/* Exact supplied artwork, shown at a restrained size without resampling. */
.site-brand { background:#fff;padding:0; }
.site-brand img { width:180px;height:58px;max-width:none;object-fit:cover;object-position:center 52%; }
.footer-logo { width:260px;height:90px;object-fit:cover;object-position:center 52%;background:#fff; }
@media(max-width:850px){.site-brand img{width:152px;height:50px;}}

.intro-copy .intro-name{font-size:clamp(42px,5.5vw,78px);line-height:1.04;max-width:12ch;margin-bottom:24px}.intro-role{font-size:16px;line-height:1.5}.intro-description{max-width:34ch}.intro .disciplines{letter-spacing:.12em}

/* The studio's three disciplines are both tagline and navigation. */
.site-nav{gap:clamp(24px,4vw,64px)}
.site-nav nav{flex:1;display:grid;grid-template-columns:1fr auto;gap:clamp(28px,4vw,64px);width:auto}
.nav-disciplines{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.5vw,38px)}
.nav-disciplines .nav-menu summary{font-size:clamp(17px,1.7vw,24px);font-weight:500;letter-spacing:.075em;gap:8px;white-space:nowrap;min-height:48px}
.nav-disciplines .nav-chevron{display:block;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.nav-disciplines .nav-menu[open] summary .nav-chevron{transform:translateY(2px) rotate(225deg)}
.nav-utility{display:flex;align-items:center;gap:24px;padding-left:clamp(20px,3vw,44px);border-left:1px solid #29272135}
.site-nav .nav-about{font-size:14px;font-weight:500;white-space:nowrap;padding:12px 0}
.site-nav .nav-project{font-size:14px!important;white-space:nowrap;margin:0;min-height:44px;padding:10px 17px!important}
@media(max-width:1000px){
 .site-nav{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;padding:14px 20px}
 .site-nav nav{display:contents}
 .site-brand{grid-column:1;grid-row:1;justify-self:start}
 .nav-utility{grid-column:2;grid-row:1;justify-self:end;border-left:0;padding-left:0;gap:20px}
 .nav-disciplines{grid-column:1/-1;grid-row:2;justify-content:center;gap:clamp(28px,7vw,72px);border-top:1px solid #29272120;padding-top:4px}
 .nav-disciplines .nav-menu summary{font-size:20px}
 .nav-panel{left:0}
 .nav-disciplines .nav-menu:last-child .nav-panel{left:auto;right:0}
}
@media(max-width:460px){
 .site-nav{padding:10px 16px;gap:8px 12px}
 .site-nav .site-brand img{width:122px;height:42px}
 .nav-utility{gap:13px}
 .site-nav .nav-about{font-size:14px}
 .site-nav .nav-project{padding:9px 12px!important;min-height:42px}
 .nav-disciplines{gap:clamp(22px,7vw,34px)}
 .nav-disciplines .nav-menu summary{font-size:18px;letter-spacing:.065em}
 .nav-panel{min-width:210px}
 .nav-disciplines .nav-menu:nth-child(2) .nav-panel{left:50%;transform:translateX(-50%)}
}
@media(max-width:350px){.site-nav .site-brand img{width:100px}.nav-utility{gap:9px}.site-nav .nav-project{padding:9px!important}}
