/* Quiet editorial layout; keep the existing mint identity and all project assets. */
[hidden]{display:none!important}
.persistent-contact{position:fixed;right:20px;bottom:max(16px,env(safe-area-inset-bottom));z-index:5;background:var(--mint);color:var(--ink);padding:12px 20px;border:1px solid #090909;border-radius:4px;font-weight:600;min-height:44px}
footer{padding-bottom:100px!important}
.collection[open]>summary{position:sticky;top:0;background:var(--ink);z-index:1}
.photo-section .collection[open]>summary{background:var(--paper)}
.faq-section .collection[open]>summary{position:static;background:var(--paper)}
.collapse-work{display:block;margin:16px auto 24px;padding:10px 24px;background:none;color:inherit;border:1px solid currentColor;font:inherit;min-height:44px;cursor:pointer}
.photo-viewer{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;background:#101010;color:#fff;border:1px solid #555;padding:16px;overflow:auto}
.photo-viewer::backdrop{background:rgba(0,0,0,.88)}
.photo-toolbar,.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.photo-viewer button,.photo-toolbar a{font:inherit;color:inherit;min-height:44px;padding:8px 12px;background:transparent;border:1px solid #777;cursor:pointer}
.photo-viewer figure{margin:12px 0}
.viewer-frame{position:relative;width:fit-content;max-width:100%;margin:auto;line-height:0}
.viewer-frame img{display:block;max-width:100%;max-height:65dvh;width:auto;height:auto;object-fit:contain}
.viewer-credit{position:absolute;right:2%;bottom:2.5%;font:12px Arial,sans-serif;color:white;line-height:1;pointer-events:none}
.photo-viewer figcaption{padding-top:12px;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:480px){.photo-viewer{padding:10px}.photo-viewer button,.photo-toolbar a{font-size:.875rem}.viewer-frame img{max-height:60dvh}.persistent-contact{right:12px}}
body{line-height:1.65}
.nav{background:var(--ink);color:var(--paper);border-bottom:1px solid var(--line);padding:18px clamp(20px,5vw,76px);gap:16px;min-height:72px}
.brand{font-size:1.55rem;letter-spacing:-.035em}
.compact-menu{margin-left:auto}
.compact-menu>summary,.compact-languages>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-size:.875rem;list-style:none}
.compact-menu>summary::-webkit-details-marker,.compact-languages>summary::-webkit-details-marker{display:none}
.compact-menu>summary::after,.compact-languages>summary::after{content:'+';color:var(--mint)}
.compact-menu[open]>summary::after,.compact-languages[open]>summary::after{content:'−'}
.compact-menu .nav-links,.compact-languages .language-menu{position:absolute;left:0;right:0;top:100%;margin:0;padding:20px clamp(20px,5vw,76px);background:#151515;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 24px;width:auto}
.compact-menu .nav-links a{padding:8px 0;min-height:44px}
.hero{min-height:0;grid-template-columns:1.15fr 1fr;max-width:1600px;margin:auto}
.hero-copy{padding:clamp(40px,6vw,84px) clamp(24px,5vw,76px);gap:28px;justify-content:center;min-height:0}
html #hero-title{font-family:inherit;font-weight:500;font-size:clamp(2rem,3.5vw,3.65rem);line-height:1.4;letter-spacing:-.035em;margin:20px 0 24px}
#hero-title em{font-style:normal}
.eyebrow{font-size:.875rem;letter-spacing:.025em;line-height:1.5}
.eyebrow:before{display:none}
.lead{font-size:1rem;line-height:1.85;max-width:42em}
.portrait{min-height:0;max-height:620px}
.portrait img{height:100%;object-fit:cover;filter:none}
.portrait:after{display:none}
.portrait-label{font-size:.75rem;letter-spacing:.02em}
.contact-row{gap:10px 20px}
.youtube-primary.youtube-primary{background:none;color:var(--paper);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 0;font-size:.875rem;flex:1 1 180px;width:auto;font-weight:500}
.youtube-primary:hover{color:var(--mint)}
.youtube-icon{width:24px;height:18px;flex-basis:24px}
.hero-emails{display:none} /* Both addresses remain in Contact and FAQ. */
.hero-cta{padding:10px 0;font-weight:500}
.section-no,.card-no{display:none}
.about,.work,.portfolio-section{padding:64px clamp(24px,6vw,90px)}
.section-grid{grid-template-columns:1fr;gap:0}
.about-copy{max-width:880px}
.about h2,.work h2,.categories h2,footer h2{font-family:inherit;font-size:clamp(1.6rem,2.6vw,2.6rem);line-height:1.4;font-weight:500;letter-spacing:-.025em}
.about h2{margin-bottom:24px}
.work-head,.portfolio-head{margin-bottom:28px;align-items:start}
.portfolio-head h2{font-size:clamp(1.6rem,2.6vw,2.6rem);font-weight:500;line-height:1.4}
.portfolio-head .section-kicker{font-size:.875rem;letter-spacing:.06em;margin-bottom:6px}
.card{grid-template-columns:minmax(180px,1fr) 2fr;padding:24px 0;gap:24px}
.card:hover{padding-left:0;background:none}
.card h3{font-size:1.125rem}.card p{font-size:1rem}
.experience-fold{margin-top:24px;border-top:1px solid #0003;padding:16px 0}
.experience-fold>summary{cursor:pointer;font-weight:500;min-height:44px;line-height:44px}
.experience-fold .experience{margin-top:8px;padding-top:0;border:0}
.collection summary{padding:18px 0;min-height:68px}
.collection summary strong{font-size:1.125rem;line-height:1.5}
.collection-body{padding-bottom:24px}
.media-grid{gap:24px 20px}
.media-card>span{font-size:1rem}
.more-work{display:block;margin:24px auto 0;padding:12px 24px;min-height:44px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.more-work:focus-visible,summary:focus-visible{outline:2px solid #5089e8;outline-offset:4px}
.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.team-card img{max-width:160px;aspect-ratio:1;object-fit:contain}
.team-card img.team-brand-logo{background:#fff;padding:10px;box-sizing:border-box;object-fit:contain;aspect-ratio:1}
.brand-art img{max-height:360px}
.brand-story h2{font-size:1.8rem;margin:12px 0 20px}
.channel-grid{gap:12px 28px}.channel{padding:16px 0}.channel h3{font-size:1.125rem;margin:8px 0}.channel p{font-size:1rem}
.inquiry-note{margin-top:28px}
footer{padding:48px clamp(24px,6vw,90px)}
.footer-links{font-size:1rem;gap:8px}.copyright{margin-top:32px}
@media(max-width:820px){
 .nav{gap:16px;padding:12px 20px;min-height:68px}
 .brand{font-size:1.35rem}.compact-menu{margin-left:auto}
 .hero{grid-template-columns:1fr}.hero-copy{padding:32px 24px;gap:24px}
 html #hero-title{font-size:clamp(1.8rem,7.8vw,2.75rem);line-height:1.4;margin:18px 0}
 .portrait{height:280px;max-height:40svh;margin:0 24px 32px}
 .portrait img{height:100%;max-height:none;object-position:center 30%}
 .portrait-label{right:16px;bottom:14px}
 .about,.work,.portfolio-section{padding:40px 24px}
 .portfolio-head{margin-bottom:20px}.portfolio-head>p{margin-top:12px;font-size:.9375rem}
 .work-head p{margin-top:12px}.about-copy p{font-size:1rem}
 .card{grid-template-columns:1fr;gap:10px;padding:20px 0}.card p{grid-column:auto}
 .collection summary{flex-wrap:nowrap;gap:12px}.collection summary>span:first-child,.collection summary>strong{min-width:0}
 .count{white-space:nowrap;font-size:.875rem;flex-shrink:0;gap:8px}
 .media-grid{grid-template-columns:1fr;gap:24px}
 .team-grid{grid-template-columns:1fr;gap:0}
 .team-card{position:relative;min-height:100px;padding:18px 0 18px 90px;border-top:1px solid var(--line)}
 .team-card img{position:absolute;left:0;top:18px;width:70px;height:70px}
 .team-card h3{margin:0 0 6px;font-size:1rem}.team-card p{font-size:.875rem}
 .brand-layout{grid-template-columns:1fr;gap:24px}.brand-art img{max-height:240px}
 .brand-story h2{font-size:1.5rem}.channel-grid{grid-template-columns:1fr}
 .footer-inner{gap:28px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 20px}
 .source-link{margin-left:0!important;margin-right:18px;overflow-wrap:anywhere}
 .inquiry-note{padding-left:16px}section[id],footer[id]{scroll-margin-top:16px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep navigation available without covering anchored sections or gallery headings. */
:root{--nav-height:76px}
body>.nav{position:sticky;top:0;z-index:20;height:auto;min-height:68px;flex-wrap:nowrap}
section[id],footer[id],.collection{scroll-margin-top:calc(var(--nav-height) + 16px)}
.collection[open]>summary{top:var(--nav-height)}
.compact-menu .nav-links,.compact-languages .language-menu{max-height:calc(100dvh - var(--nav-height));overflow-y:auto;overscroll-behavior:contain}
@media(max-width:480px){body>.nav{padding:8px 12px;gap:10px}.nav .brand{font-size:1.05rem;white-space:nowrap}.compact-menu>summary,.compact-languages>summary{font-size:.875rem;white-space:nowrap}}
