/* Shared privacy, legal-page, and accessibility refinements. */
body{overflow-wrap:break-word}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #292824!important;outline-offset:4px!important;box-shadow:0 0 0 7px #fdfbf7!important}
:where(a,button,summary,input,textarea,select){scroll-margin-top:180px}
.nav[aria-label],.nav{isolation:isolate}
.nav a,.nav summary{min-height:44px;display:inline-flex;align-items:center}
.nav .work-menu-panel a{display:flex}
.policy-links{display:flex;flex-wrap:wrap;gap:10px 24px;padding:24px var(--portfolio-gutter) 32px;background:#f9f6ed;color:#292824;font:400 13px/1.6 'DM Sans',Arial,sans-serif}
.policy-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.policy-links a:hover{color:#504b42}
.legal-page{background:#f9f6ed;color:#292824;font:400 17px/1.8 'DM Sans',Arial,sans-serif}
.legal-main{width:min(840px,100%);margin:0 auto;padding:clamp(36px,6vw,80px) 24px}
.legal-main header{padding-bottom:36px;border-bottom:1px solid #b5aea1;margin-bottom:40px}
.legal-main h1{font:400 clamp(48px,7vw,80px)/1.05 var(--portfolio-display);letter-spacing:-.015em;margin:20px 0 24px}
.legal-main h2{font:400 clamp(30px,4vw,40px)/1.2 var(--portfolio-display);margin:0 0 20px}
.legal-main section{margin:0 0 44px;scroll-margin-top:130px}
.legal-main p{margin:0 0 20px;max-width:70ch}
.legal-main .policy-date{font-size:14px;color:#59564e}
.legal-main a:not(.button){text-decoration:underline;text-underline-offset:4px}
.legal-main .button{margin:12px 0;max-width:100%;white-space:normal;text-align:center}
.legal-main video{display:block;width:100%;margin:28px 0;border-radius:16px;background:#292824}
.legal-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:28px var(--portfolio-gutter);background:#fdfbf7;color:#292824;font-size:14px}
.legal-footer a{display:inline-flex;align-items:center;min-height:44px}
.contact-address{overflow-wrap:anywhere}
.media-alternative{display:block!important;margin:16px 0!important;font:500 14px/1.7 'DM Sans',Arial,sans-serif!important;text-decoration:underline!important;text-underline-offset:4px;max-width:60ch}
.hero-media-alternative{position:relative;z-index:6;margin:0 auto 24px;max-width:100%;font:400 12px/1.6 'DM Sans',Arial,sans-serif;color:#504b42}
.portfolio-home .hero-media-alternative a{text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.external-film-link{display:flex!important;flex-direction:column;justify-content:center;gap:16px;height:100%;padding:24px;background:#142f40;color:#fffaf2!important;text-align:center;text-decoration:underline!important;text-underline-offset:5px;font:500 clamp(16px,2.5vw,24px)/1.5 'DM Sans',Arial,sans-serif}
.external-film-link small{display:block;font-size:12px;font-weight:400;line-height:1.7;text-decoration:none}
.study-camp .camp-film-player:has(.external-film-link){display:grid}
/* Keep headings over a solid brand surface rather than a variable image. */
.surface-orange,.camp-film-heading{background-image:none!important}
.podcast-wave span{animation-iteration-count:2!important}
.portfolio-home .about{margin-top:80px}
.portfolio-home .skills{grid-template-columns:1fr}
.portfolio-home .premiere-credentials strong{font-size:clamp(20px,2.6vw,28px)}
@media(max-width:400px){.nav,.study-page .nav{height:auto;min-height:100px;grid-template-columns:1fr;gap:0;padding-block:8px}.nav .monogram{justify-self:center}.nav .nav-right{justify-self:center;gap:24px}.nav .work-menu-panel{top:112px}.legal-main{padding-inline:20px}.policy-links{gap:8px 18px}.external-film-link{padding:12px;gap:8px}.external-film-link small{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important}.project-preview-controls button[aria-pressed="true"]{border:2px solid ButtonText}.button{border:1px solid ButtonText}}

.external-film-notice{color:#fffaf2!important;text-align:center;max-width:56ch;margin:24px auto 0!important;font:400 14px/1.7 'DM Sans',Arial,sans-serif}
