/* Material/editorial trial. The baseline is preserved at ui-baseline-v3. */
:root{
  --paper:#e9e3d7;--paper-muted:#5c5d56;--ink:#18221f;--paper-line:#b9b6a9;
  --panel:#101a20;--panel-edge:#536169;--etched:#28363d;--charcoal:#0b1217;
  --warm-accent:#e46c5d;--grain:url('assets/paper-grain.svg');--registration:url('assets/registration-grid.svg');
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;
  --text-xs:11px;--text-sm:13px;--text-md:14px;--text-lg:16px;--control:52px;--edge:2px;--radius:3px;
  --pressed-shadow:0 3px 0 #05090c;--paper-shadow:0 5px 0 #c2bcaf;
  --fast:180ms;--medium:320ms;--entrance:700ms;
}
body{background-image:var(--grain)}
.site-header{background-color:var(--charcoal);background-image:var(--grain);border-bottom:1px solid var(--etched)}
.site-header .nav-shell{height:80px}
.nav-shell nav a{position:relative;font-size:var(--text-sm)}
.nav-shell nav a::after{content:'';position:absolute;left:0;right:0;bottom:var(--space-3);height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--medium) var(--ease)}
.nav-shell nav a:hover::after{transform:scaleX(1)}
.language-switch{border:1px solid var(--line);padding:var(--space-1);border-radius:var(--radius)}
.language-switch>span{display:none}
.language-switch button[aria-pressed=true]{background:var(--paper);color:var(--ink);text-decoration:none}
.button{position:relative;isolation:isolate;min-height:var(--control);padding:0 0 0 var(--space-5);gap:var(--space-5);border:1px solid var(--panel-edge);border-radius:var(--radius);background-color:var(--panel);background-image:var(--grain);box-shadow:var(--pressed-shadow);font-size:var(--text-sm);font-weight:500;transition:transform var(--fast) var(--ease),background-color var(--fast),box-shadow var(--fast)}
.button>span:last-child:not(:first-child){display:grid;place-items:center;align-self:stretch;width:var(--control);flex-shrink:0;border-left:1px dashed currentColor;font-size:22px;opacity:.9;transition:background var(--fast)}
.button:hover{background-color:var(--paper);border-color:var(--paper);color:var(--ink);transform:translateY(-2px);box-shadow:0 5px 0 #05090c}
.button:active{transform:translateY(2px);box-shadow:0 1px 0 #05090c}
.button-coral{background-color:var(--accent);border-color:var(--accent);color:var(--ink)}
.button-coral:hover{background-color:var(--paper);border-color:var(--paper)}
.nav-contact{min-height:44px;font-size:var(--text-xs);color:var(--text);padding-left:var(--space-4);gap:var(--space-4)}
.nav-contact>span:last-child{width:44px}
.text-link{font-size:var(--text-sm);text-decoration:none;position:relative;gap:var(--space-3)}
.text-link::after{content:'';position:absolute;left:0;right:0;bottom:var(--space-2);height:1px;background:currentColor;opacity:.35;transform-origin:left;transition:transform var(--medium) var(--ease)}
.text-link:hover::after{transform:scaleX(.55)}
.hero{border-bottom:1px solid var(--etched);height:min(820px,calc(100svh - 80px))}
.hero::after{content:'';position:absolute;pointer-events:none;inset:var(--space-6);border:1px solid #b9ccda18;z-index:-1}
.hero h1{font-size:clamp(54px,5.3vw,80px);line-height:1.03}
.hero-copy{animation:hero-in var(--entrance) var(--ease) both}
.hero .eyebrow{display:inline-block;font-size:var(--text-xs);padding:var(--space-2) var(--space-3);background:var(--charcoal);border-left:var(--edge) solid var(--accent);letter-spacing:.16em}
.hero-description{font-size:var(--text-lg);line-height:1.8}
.hero-actions{gap:var(--space-6);align-items:center}
.hero-actions .text-link{max-width:18ch;line-height:1.7}
.hero-bottom{border-bottom:0;padding-bottom:var(--space-6)}
.hero-bottom::before{content:'';width:var(--space-8);height:var(--edge);position:absolute;left:0;top:0;background:var(--accent)}
.hero-note{font-size:var(--text-xs)}
.hero-image{animation:hero-light 10s ease-in-out infinite alternate}
@keyframes hero-in{from{opacity:.1;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-light{from{filter:brightness(.92)}to{filter:brightness(1.04)}}
.section-heading .eyebrow{display:flex;align-items:center;gap:var(--space-3)}
.section-heading .eyebrow::before{content:'+';font-size:var(--text-lg);line-height:1;color:var(--muted)}
.section-heading h2{font-size:clamp(42px,4.7vw,68px)}
#work{padding-top:var(--space-10);background-image:var(--registration)}
.featured-projects{gap:var(--space-6)}
.featured-case{background:var(--panel) var(--grain);border-top:1px solid var(--panel-edge);border-bottom:1px solid var(--etched);min-width:0}
.featured-case .project-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);height:100%;padding:var(--space-6);transition:background-color var(--medium)}
.featured-case .project-link:hover{background-color:#1a272c}
.featured-case .case-poster{align-self:center;position:relative;padding:var(--space-2);border:1px solid var(--panel-edge);background:var(--charcoal)}
.featured-case .case-poster::before,.featured-case .case-poster::after{content:'';position:absolute;width:var(--space-3);height:var(--space-3);border-color:var(--paper);border-style:solid;pointer-events:none}
.featured-case .case-poster::before{left:-1px;top:-1px;border-width:var(--edge) 0 0 var(--edge)}
.featured-case .case-poster::after{right:-1px;bottom:-1px;border-width:0 var(--edge) var(--edge) 0}
.featured-projects .project-art{aspect-ratio:2/3;max-height:540px}
.featured-projects .project-art img{object-fit:contain;transform:none}
.featured-case .project-caption{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0;gap:0}
.featured-case .project-caption .case-index{font-family:var(--display);font-size:28px;color:var(--accent);margin:0 0 var(--space-6);display:flex;align-items:center;gap:var(--space-2)}
.case-index span{font:400 9px/1.5 var(--body);letter-spacing:.06em;color:var(--muted)}
.featured-case .project-caption h3{font-size:clamp(34px,3.4vw,52px)}
.featured-case .project-caption .case-year{font-size:var(--text-xs);margin-top:var(--space-2)}
.featured-case .project-caption .case-story{font-size:var(--text-sm);color:var(--text);margin-top:var(--space-5);line-height:1.8}
.case-credit{border-top:1px solid var(--line);padding-top:var(--space-4);margin-top:var(--space-5);width:100%}
.case-credit>span{font-size:var(--text-xs);color:var(--muted)}
.featured-case .case-credit p{font-size:var(--text-sm);color:var(--text);margin-top:var(--space-1)}
.featured-case .project-caption .case-action{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding-top:var(--space-5);margin-top:auto;font-size:var(--text-xs);line-height:1.7;color:var(--accent)}
.case-action>span{font-size:24px}
.film-library{position:relative;margin-top:var(--space-10);padding:var(--space-8);background-color:var(--paper);background-image:var(--grain);color:var(--ink);border-top:var(--space-2) solid var(--paper-line)}
.film-library>.eyebrow{font-size:var(--text-xs);letter-spacing:.2em;border-bottom:1px solid var(--paper-line);padding-bottom:var(--space-4);margin-bottom:var(--space-6)}
.film-library::before{content:'';position:absolute;top:calc(-1 * var(--space-2));left:var(--space-8);width:var(--space-10);height:var(--space-2);background:var(--warm-accent)}
.library-heading h3{font-size:40px}
.library-heading p{font-size:var(--text-sm);color:var(--paper-muted)}
.filters{gap:var(--space-2);border-bottom:1px solid var(--paper-line);padding-bottom:var(--space-5);margin-block:var(--space-6) var(--space-7)}
.filters button{font-size:var(--text-xs);color:var(--ink);border:1px solid transparent;padding:var(--space-2) var(--space-3);min-height:44px;border-radius:var(--radius);transition:background var(--fast),color var(--fast)}
.filters button:hover{background:#d9d3c7;color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 3px 0 var(--paper-line)}
.film-library :focus-visible{outline-color:var(--ink)}
.project-grid{gap:var(--space-7) var(--space-6)}
.project-grid .project-art{background:#d1cabc;padding:var(--space-2);box-shadow:var(--paper-shadow)}
.project-grid .project-link:hover .project-art img{transform:none}
.project-grid .project-caption{padding-top:var(--space-4);border-bottom:1px solid var(--paper-line);padding-bottom:var(--space-4)}
.project-grid .project-caption h3{font-size:26px}
.project-grid .project-caption p{font-size:var(--text-xs);color:var(--paper-muted)}
.project-grid .project-caption>span{color:var(--ink)}
.project-grid .art-open{background:var(--ink);color:var(--paper);border-radius:var(--radius);right:var(--space-4);bottom:var(--space-4)}
.awards-section{padding-block:var(--space-7) var(--space-10)}
#honors-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6);align-items:start}
.honor-group{min-width:0;border-top:1px solid var(--line)}
.honor-group-label{padding-block:var(--space-5);min-height:110px;display:flex;flex-direction:column;gap:var(--space-2)}
.honor-group-label>a{font-family:var(--display);font-size:28px;line-height:1.2;min-height:44px;display:flex;align-items:center}
.honor-group-label>span{font-size:var(--text-xs);color:var(--muted)}
.honor-group>.honor-card{padding:var(--space-4) var(--space-2) var(--space-6);background:var(--grain)}
.honor-group .honor-film{display:none}
.honor-group .honor-lettering h3{font-size:22px}
.honor-group .honor-status{font-size:9px}
.honor-group .honor-lettering{gap:var(--space-2);inset:10% 23% 15%}
.honor-group .honor-categories{font-size:var(--text-xs)}
.honor-more{border-block:1px solid var(--line)}
.honor-more>summary{min-height:var(--control);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--text-xs);cursor:pointer;list-style:none}
.honor-more>summary::-webkit-details-marker{display:none}
.honor-more>summary>span:last-child{font-size:22px;transition:transform var(--fast)}
.honor-more[open]>summary>span:last-child{transform:rotate(45deg)}
.honor-more-list{padding-bottom:var(--space-4)}
.honor-more .honor-card{padding-block:var(--space-5);border-top:1px solid var(--line);text-align:left}
.honor-more .honor-emblem{aspect-ratio:auto;max-width:none}
.honor-more .laurel-branches{display:none}
.honor-more .honor-lettering{position:static;display:flex;align-items:start;gap:var(--space-2)}
.honor-more .honor-lettering h3{text-align:left;font-size:24px}
.honor-more .honor-status{font-size:var(--text-xs)}
.honor-more .honor-details summary{text-align:left}
.honors-note{font-size:var(--text-xs);border-left:1px solid var(--line);padding-left:var(--space-4)}
.craft-section{background:var(--charcoal) var(--registration);border-block:1px solid var(--line)}
.craft-monitor{background:var(--panel);padding:var(--space-4);border:1px solid var(--panel-edge)}
.monitor-label{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-xs);letter-spacing:.1em;padding:var(--space-2) 0 var(--space-5);color:var(--muted)}
.comparison{border:1px solid var(--line)}
.comparison-line>span{border-radius:var(--radius);box-shadow:0 0 0 5px #070d1366}
.comparison-controls label,.comparison-controls output{font-size:var(--text-sm)}
.section-description{font-size:var(--text-md)}
.craft-section figcaption{font-size:var(--text-xs)}
.services-section{background-image:var(--grain)}
.service-list details{padding-inline:var(--space-4);border-left:var(--edge) solid transparent;transition:background var(--medium),border-color var(--medium)}
.service-list details[open]{background:var(--panel);border-left-color:var(--accent)}
.service-list h3{font-size:var(--text-lg)}
.service-content{font-size:var(--text-md);line-height:1.9}
.service-number{font:500 20px/1 var(--display)}
.services-visual img{outline:1px solid var(--line);outline-offset:var(--space-2)}
.services-visual figcaption{font-size:var(--text-xs);margin-top:var(--space-5)}
.studio-section{background:var(--panel) var(--grain);border-top:var(--space-2) solid var(--etched)}
.studio-top p:not(.eyebrow){font-size:var(--text-lg);line-height:1.85}
.contact-section{background:var(--registration);position:relative}
.contact-heading>span{width:clamp(80px,12vw,160px);height:clamp(80px,12vw,160px);display:grid;place-items:center;border:1px solid var(--line);background:var(--panel) var(--grain);font-size:clamp(54px,7vw,100px);flex-shrink:0;box-shadow:6px 6px 0 var(--etched)}
.contact-bottom>p{font-size:var(--text-md)}
.contact-actions .button{padding-right:var(--space-5)}
.site-footer{background:var(--charcoal) var(--grain)}
dialog{background:var(--charcoal) var(--grain);border-radius:var(--radius);border-top:var(--edge) solid var(--panel-edge);scroll-padding-top:100px}
dialog[open]{animation:dialog-in var(--medium) var(--ease)}
@keyframes dialog-in{from{opacity:.3;transform:translateY(16px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
.dialog-top{position:sticky;top:-32px;z-index:4;background:var(--charcoal) var(--grain);margin:-32px -32px var(--space-7);padding:var(--space-4) var(--space-7);border-bottom:1px solid var(--line)}
.dialog-language,.close-dialog{border-radius:var(--radius);background:var(--panel);box-shadow:var(--pressed-shadow)}
.dossier-poster{background:var(--panel);padding:var(--space-2);border:1px solid var(--line)}
.dossier .synopsis{font-size:var(--text-md);line-height:1.9}
.dossier dd{font-size:var(--text-md)}
.dossier dt,.dossier .role-note,.trailer-note{font-size:var(--text-xs)}
.dossier dl{padding:var(--space-5);background:var(--panel);border-left:var(--edge) solid var(--accent)}
.trailer-play{border-radius:var(--radius);box-shadow:var(--pressed-shadow);font-size:var(--text-md)}
.brief-intro{font-size:var(--text-md)}
form label{font-size:var(--text-sm)}
input,textarea,select{background:var(--panel);font-size:var(--text-md);border-color:var(--panel-edge);border-radius:var(--radius)}
input::placeholder,textarea::placeholder{font-size:var(--text-sm)}
.form-status:not(:empty){padding:var(--space-3) var(--space-4);border-left:var(--edge) solid var(--blue);background:var(--panel);font-size:var(--text-sm)}
.brief-result-actions .button{padding-right:var(--space-5)}
@media(max-width:1200px){
  .featured-projects{grid-template-columns:1fr}
  .featured-case .project-link{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--space-8);padding:var(--space-7)}
  .featured-case .case-poster{width:100%;max-width:340px;justify-self:center}
  .featured-case .project-caption h3{font-size:52px}
  #honors-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8)}
  .honor-group-label{min-height:0}
  .honor-group .honor-emblem{max-width:280px}
  .honor-more .honor-emblem{max-width:none}
}
@media(max-width:800px){
  .site-header .nav-shell{height:76px}
  .hero{height:740px}
  .hero::after{inset:var(--space-4)}
  .hero h1{font-size:60px}
  .film-library{padding:var(--space-6);margin-inline:calc(-1 * var(--gutter))}
  .film-library::before{left:var(--space-6)}
  .featured-case .project-link{padding:var(--space-6);gap:var(--space-6)}
  .featured-case .project-caption .case-index{margin-bottom:var(--space-4)}
  .featured-case .project-caption h3{font-size:42px}
  .hero-description{font-size:var(--text-md)}
}
@media(max-width:540px){
  .hero{height:auto;min-height:860px}
  .hero-inner{min-height:860px}
  .hero h1{font-size:clamp(43px,11vw,58px)}
  .hero .eyebrow{font-size:9px}
  .hero-copy{padding-top:var(--space-8)}
  .hero-actions{gap:var(--space-4);align-items:start}
  .hero-actions .button{font-size:var(--text-xs);padding-left:var(--space-3);padding-right:0;gap:var(--space-3)}
  .hero-actions .button>span:last-child{width:40px}
  .hero-actions .text-link{font-size:var(--text-xs);max-width:13ch;line-height:1.7;min-height:var(--control)}
  .hero::after{inset:var(--space-2);border-color:#b9ccda10}
  .hero-image{bottom:var(--space-9)}
  .featured-case .project-link{display:flex;flex-direction:column;padding:var(--space-6);gap:var(--space-3)}
  .featured-case .case-poster{width:76%;max-width:230px;order:3;margin-block:var(--space-2)}
  .featured-case .project-caption{display:contents}
  .featured-case .project-caption .case-index{margin:0;order:0}
  .featured-case .project-caption h3{font-size:44px;order:1}
  .featured-case .project-caption .case-year{margin:0;order:2}
  .featured-case .project-caption .case-story{order:4;margin-top:var(--space-2)}
  .featured-case .case-credit{order:5;margin-top:var(--space-2)}
  .featured-case .case-action{order:6}
  .case-story{max-width:35ch}
  .featured-case .project-caption .case-action{padding-top:var(--space-5)}
  .film-library{padding:var(--space-7) var(--space-5)}
  .library-heading h3{font-size:36px}
  .filters{gap:var(--space-1);margin-block:var(--space-5) var(--space-6)}
  .filters button{font-size:10px;padding-inline:var(--space-2)}
  .project-grid{gap:var(--space-6) var(--space-4)}
  .project-grid .project-art{padding:var(--space-1)}
  .project-grid .project-caption h3{font-size:23px}
  .project-grid .project-caption p{font-size:10px}
  #honors-grid{grid-template-columns:1fr;gap:var(--space-7)}
  .honor-group-label{flex-direction:row;justify-content:space-between;align-items:center;gap:var(--space-4)}
  .honor-group-label>a{font-size:26px}
  .honor-group-label>span{white-space:nowrap;font-size:10px}
  .honor-group .honor-emblem{max-width:260px}
  .honor-more .honor-emblem{max-width:none}
  .craft-monitor{padding:var(--space-2);margin-inline:calc(-1 * var(--space-3))}
  .monitor-label{font-size:8px;letter-spacing:.05em;padding-bottom:var(--space-3)}
  .comparison-controls{padding-inline:var(--space-2)}
  .comparison-controls label{font-size:var(--text-xs)}
  .craft-section figcaption{font-size:10px;padding-inline:var(--space-2)}
  .services-copy h2{font-size:44px}
  .service-list details{padding-inline:var(--space-3)}
  .service-list h3{font-size:var(--text-md)}
  .service-content{padding-left:0;font-size:var(--text-sm)}
  .studio-top p:not(.eyebrow){font-size:var(--text-md)}
  .contact-heading h2{font-size:50px}
  .contact-heading{gap:var(--space-4)}
  .contact-heading>span{width:64px;height:80px;font-size:48px;box-shadow:3px 3px 0 var(--etched)}
  .dialog-top{top:-20px;margin:-20px -20px var(--space-6);padding:var(--space-3) var(--space-5)}
  .dossier-poster{width:66%}
  .dossier dl{padding:var(--space-4)}
  .brief-intro{font-size:var(--text-sm)}
}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-image,dialog[open]{animation:none}*{scroll-behavior:auto}}
.mascot-intro-link{position:absolute;right:var(--gutter);bottom:110px;display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 20px;border:1px solid var(--panel-edge);background:var(--charcoal);font-size:var(--text-sm);box-shadow:var(--pressed-shadow)}.mascot-intro-link>span:first-child{color:var(--accent);font-size:24px}.mascot-intro-link:hover{background:var(--paper);color:var(--ink)}@media(max-width:540px){.mascot-intro-link{right:22px;bottom:92px;font-size:11px;padding:8px 12px;min-height:44px}}
