@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root {
  --paper: #f8f6f2; --paper-2: #efebe4; --ink: #22251f; --dim: #777a74;
  --line: #d8d5cd; --sage: #a8a498; --charcoal: #242925;
  --serif: 'Libre Caslon Display', Georgia, 'Times New Roman', serif;
  --sans: 'DM Sans', Arial, Helvetica, sans-serif;
  --pad: clamp(22px, 3.2vw, 60px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
figure,blockquote,h1,h2,h3,p,ul,dl{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:2px solid #bd7655;outline-offset:4px}
::selection{background:#a8a394;color:#fff}
.skip{position:absolute;left:16px;top:-100px;z-index:300;background:#fff;color:#000;padding:10px 14px}
.skip:focus{top:12px}
.detail-label,.footer-kicker,.section-marker,.page-kicker,.detail-kicker,.detail-back,.filter-count{font:600 11px/1.5 var(--sans);letter-spacing:.115em;text-transform:uppercase}
.detail-label{color:var(--dim)}
.dot{color:#a59b87}
.under-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:0 0 10px;border-bottom:1px solid currentColor;font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;transition:opacity .25s}
.under-link:hover{opacity:.52}
/* Institutional signature. A white version is used against the cover video. */
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;padding:clamp(25px,3vw,43px) var(--pad);color:white}
.site-header.inner{position:relative;color:var(--ink);background:var(--paper)}
.institutional-sign{display:inline-block;font-size:clamp(9.5px,.76vw,12px);font-weight:700;line-height:1.48;letter-spacing:.11em;text-transform:uppercase;max-width:330px;transition:opacity .2s}
.institutional-sign:hover{opacity:.65}
.site-header .institutional-sign{max-width:330px}
.site-header .institutional-sign span{display:inline-block}
.header-right{display:flex;align-items:center;gap:30px;flex-shrink:0}
.language-link{font:600 11px var(--sans);letter-spacing:.1em;transition:opacity .2s}
.language-link:hover{opacity:.5}
.nav-action{display:inline-flex;align-items:center;gap:9px;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.09em}
.nav-action span{font:400 21px/1 var(--sans)}
.nav-action:hover{opacity:.56}
/* Full-screen menu */
.menu-screen{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;background:#eeebe4;color:var(--ink);overflow-y:auto;visibility:hidden;transform:translateY(-105%);transition:transform .65s cubic-bezier(.72,0,.2,1),visibility .65s}
.menu-screen.open{visibility:visible;transform:translateY(0)}
.menu-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:clamp(25px,3vw,43px) var(--pad)}
.menu-links{display:flex;flex-direction:column;justify-content:center;flex:1;align-items:flex-start;padding:45px var(--pad);gap:3px}
.menu-links a{font:clamp(58px,6.6vw,105px)/.95 var(--serif);letter-spacing:-.05em;transition:color .28s,transform .28s}
.menu-links a:hover{color:#a59b87;transform:translateX(12px)}
.menu-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d2cec3;padding:21px var(--pad) 27px;font-size:11px;letter-spacing:.10em;text-transform:uppercase;font-weight:600}
/* Hero cover */
.hero{position:relative;width:100%;height:100svh;min-height:660px;isolation:isolate;overflow:hidden;background:#212829;color:white}
.hero-picture,.hero-video{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:grayscale(1) brightness(.75)}
.hero-video{object-fit:cover;object-position:center 48%;filter:grayscale(1) contrast(1.025) brightness(.76);opacity:0;transition:opacity .45s ease;pointer-events:none}
.hero-video.is-playing{opacity:1}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.11) 24%,rgba(0,0,0,.16) 66%,rgba(0,0,0,.69) 100%);z-index:-1}
.hero-content{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:100px var(--pad) 135px}
.hero-brand-wrap{width:min(80vw,1430px);display:flex;flex-direction:column;align-items:center;transform:translateY(-5vh);animation:soft-enter 1.35s ease both}
.hero-brand{width:100%;line-height:0}
.hero-brand img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 2px 15px rgba(0,0,0,.12))}
.hero-subtitle{margin-top:clamp(10px,1.9vw,30px);font:italic clamp(20px,2.1vw,32px)/1.15 var(--serif);letter-spacing:.005em;text-align:center;text-shadow:0 1px 14px rgba(0,0,0,.45)}
@keyframes soft-enter{from{opacity:0;transform:translateY(calc(-5vh + 30px))}to{opacity:1;transform:translateY(-5vh)}}
.hero-bottom{position:absolute;bottom:clamp(26px,2.7vw,46px);left:var(--pad);right:var(--pad);display:flex;align-items:flex-end;justify-content:space-between;z-index:3}
.hero-local{font:600 10px/1.35 var(--sans);letter-spacing:.095em;text-transform:uppercase}
.hero-actions{display:flex;align-items:center;gap:12px}
.hero-video-toggle,.down{width:48px;height:48px;border:1px solid rgba(255,255,255,.6);border-radius:100%;background:rgba(0,0,0,.07);color:white;display:grid;place-items:center;cursor:pointer;transition:background .25s,border-color .25s}
.hero-video-toggle:hover,.down:hover{background:rgba(0,0,0,.4);border-color:#fff}
.hero-toggle-icon{font:400 17px Arial,sans-serif;line-height:1}
.down{font-size:22px}
/* Sections home */
.home-section{padding:clamp(95px,11vw,180px) var(--pad)}
.section-marker{display:flex;align-items:center;justify-content:space-between;gap:28px;letter-spacing:.095em}
.section-marker span:last-child{color:#99968c;font-weight:500;text-align:right}
.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:5vw;margin:55px 0 80px}
.section-intro h2,.training-display h2{font:clamp(80px,10.2vw,176px)/.91 var(--serif);letter-spacing:-.065em;font-weight:400}
.section-intro p{max-width:365px;font-size:clamp(15px,1.2vw,18px);line-height:1.7;color:#62655e;padding-bottom:10px}
.featured-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:65px clamp(25px,3.3vw,60px)}
.featured-grid .work-card:nth-child(even){transform:translateY(105px)}
.featured-grid .work-card:nth-child(even).visible{transform:translateY(80px)}
.featured-grid .work-card:nth-child(odd) .work-visual{aspect-ratio:1.26}
.section-action{display:flex;justify-content:flex-end;margin:155px 0 0}
/* work cards */
.work-card{min-width:0}
.work-card-link{display:block}
.work-visual{aspect-ratio:1.22;position:relative;overflow:hidden;isolation:isolate;transition:filter .3s}
.work-visual.has-image{background:#74807c}
.work-visual.has-image img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.15,.6,.16,1);filter:saturate(.72)}
.work-card:hover .work-visual.has-image img{transform:scale(1.06)}
.visual-note{position:absolute;left:15px;bottom:14px;background:rgba(20,25,22,.78);color:#f3f2ed;padding:7px 9px;font-size:9px;letter-spacing:.025em}
.typography-cover{background:var(--cover-bg,#d4d1c8);padding:clamp(21px,2.8vw,48px);display:flex;flex-direction:column;justify-content:space-between;color:#292d29}
.cover-top{display:flex;justify-content:space-between;gap:18px;font:600 10px/1.3 var(--sans);letter-spacing:.13em;text-transform:uppercase;opacity:.7}
.typography-cover strong{font:clamp(45px,5vw,83px)/.94 var(--serif);letter-spacing:-.065em;font-weight:400;max-width:95%;overflow-wrap:anywhere;align-self:flex-start;transition:transform .7s}
.work-card:hover .typography-cover strong{transform:translateY(-5px)}
.cover-note{align-self:flex-end;font:500 10px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;opacity:.68}
.work-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:20px}
.work-caption h3{font:clamp(29px,3.2vw,56px)/1.05 var(--serif);letter-spacing:-.045em;font-weight:400}
.work-caption p{margin-top:9px;color:#767971;font-size:11px;letter-spacing:.07em;text-transform:uppercase;line-height:1.7}
.work-status{display:block;color:#909087;letter-spacing:.08em}
.card-arrow{font-size:30px;font-weight:300;line-height:1.1}
/* Formation on home */
.training-home{background:#e8e5dd;padding-bottom:clamp(110px,13vw,220px)}
.training-display{display:grid;grid-template-columns:1fr 1.05fr;column-gap:6vw;margin-top:74px;align-items:start}
.training-display h2{max-width:740px}
.training-copy{max-width:660px;padding-top:115px}
.training-quote{font:clamp(43px,5vw,78px)/1.09 var(--serif);letter-spacing:-.042em}
.training-summary{font-size:17px;line-height:1.7;color:#64645f;max-width:420px;margin:33px 0 25px}
.training-years{font-size:11px;text-transform:uppercase;letter-spacing:.11em;margin-bottom:55px;color:#7a776d}
.training-years span{margin:0 8px}
/* contact unified */
.contact-home{padding-bottom:clamp(100px,12vw,175px)}
.contact-headline{font:clamp(96px,14vw,230px)/.94 var(--serif);letter-spacing:-.068em;font-weight:400;margin:70px 0 95px}
.contact-information{display:grid;grid-template-columns:1.18fr 1fr;gap:80px 8vw;border-top:1px solid var(--line);padding-top:34px}
.contact-detail{min-width:0}
.contact-detail .detail-label{display:block;margin-bottom:17px}
.contact-value{font:clamp(28px,3.25vw,50px)/1.07 var(--serif);letter-spacing:-.03em;overflow-wrap:anywhere}
.contact-value:not(p):hover{opacity:.57}
.detail-note{display:block;margin-top:13px;color:#8c897f;font-size:12px;line-height:1.55}
.contact-place{grid-column:1 / -1;padding-top:18px}
.contact-place .contact-value{font-size:clamp(25px,2.5vw,39px)}
/* footer: new illustrated logo */
.site-footer{background:#e8e5dd;text-align:center;padding:clamp(78px,9vw,145px) var(--pad) 24px}
.footer-kicker{color:#76776f;font-size:11px;font-weight:600;letter-spacing:.12em}
.footer-illustration{display:block;width:clamp(215px,28vw,410px);max-width:70vw;margin:clamp(50px,6vw,95px) auto clamp(75px,8vw,120px);transition:transform .4s ease}
.footer-illustration:hover{transform:translateY(-4px)}
.footer-illustration img{width:100%;height:auto}
.footer-line{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c3bfb5;padding-top:22px;font-size:10px;letter-spacing:.10em;text-transform:uppercase;color:#777870;font-weight:600}
/* Generic page header */
.page-head{padding:clamp(95px,11vw,180px) var(--pad) clamp(65px,7vw,110px)}
.page-kicker{display:flex;gap:20px;align-items:center;color:#777870}
.page-head h1{font:clamp(95px,14vw,230px)/.93 var(--serif);letter-spacing:-.065em;font-weight:400;margin-top:55px;overflow-wrap:anywhere}
.page-head>p{max-width:800px;color:#595e58;font:clamp(17px,1.4vw,21px)/1.7 var(--sans);margin:45px 0 0 auto}
/* Works archive */
.archive-shell{border-top:1px solid var(--line);padding:40px var(--pad) 150px}
.archive-tools{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:62px}
.work-filters{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.filter-button{font-size:11px;letter-spacing:.055em;background:transparent;color:var(--ink);border:1px solid #c8c5bb;border-radius:40px;padding:10px 16px;cursor:pointer;transition:all .24s}
.filter-button:hover{border-color:#393c37}
.filter-button.active{background:#292d29;color:#f7f5ee;border-color:#292d29}
.filter-count{flex-shrink:0;color:#85867f;padding-top:12px}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:80px clamp(22px,3vw,50px)}
.archive-grid .work-card[hidden]{display:none!important}
.archive-grid .work-card:nth-child(even){padding-top:50px}
.archive-footnote{max-width:770px;font-size:13px;line-height:1.75;color:#86867d;margin:110px auto 0;text-align:center;border-top:1px solid var(--line);padding-top:35px}
/* Work details */
.detail-header{padding:clamp(80px,9vw,140px) var(--pad) 75px}
.detail-back{color:#8b887e}
.detail-kicker{display:block;color:#8b887e;margin:58px 0 19px}
.detail-header h1{font:clamp(76px,10vw,184px)/.98 var(--serif);letter-spacing:-.06em;font-weight:400;max-width:1350px;overflow-wrap:anywhere}
.detail-tags{display:flex;gap:15px 28px;flex-wrap:wrap;margin-top:35px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#7a7a72}
.detail-image,.detail-type-art{height:clamp(350px,60vw,810px);position:relative;overflow:hidden}
.detail-image img{display:block;width:100%;height:100%;object-fit:cover}
.detail-image figcaption{position:absolute;bottom:18px;left:var(--pad);font-size:11px;background:#272e2bc2;color:white;padding:9px 13px}
.detail-type-art .work-visual{aspect-ratio:auto;width:100%;height:100%}
.detail-type-art .typography-cover{padding:clamp(35px,5vw,85px)}
.detail-type-art .typography-cover strong{font:clamp(67px,10vw,175px)/.95 var(--serif);max-width:85%}
.detail-content{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(45px,8vw,140px);padding:clamp(95px,11vw,170px) var(--pad)}
.detail-synopsis{margin-top:30px;font:clamp(34px,4.6vw,73px)/1.13 var(--serif);letter-spacing:-.038em;max-width:990px}
.detail-facts dl{margin-top:30px}
.detail-facts dl>div{display:grid;grid-template-columns:125px 1fr;gap:22px;padding:17px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.6}
.detail-facts dt{color:#767b76}.detail-facts dd{margin:0}
.detail-smallnote{font-size:12px;line-height:1.7;color:#808179;margin-top:25px}
.detail-actions{display:flex;gap:25px;flex-wrap:wrap;margin-top:47px}
.detail-next{background:var(--paper-2);padding:95px var(--pad) 115px}
.detail-next a{display:flex;align-items:center;justify-content:space-between;gap:40px;font:clamp(52px,6vw,110px)/1.05 var(--serif);letter-spacing:-.04em;margin-top:22px}
.detail-next a span{font-size:.6em;transition:transform .25s}.detail-next a:hover span{transform:translate(5px,-5px)}
/* About: one combined editorial section */
.about-unified{border-top:1px solid var(--line);padding:70px var(--pad) 165px}
.about-leadline{display:flex;align-items:start;justify-content:space-between;gap:20px;color:#88887d;font-size:11px;letter-spacing:.11em}
.about-unified-inner{display:grid;grid-template-columns:35% 1fr;gap:8vw;margin-top:95px}
.about-unified-inner h2{font:clamp(64px,7.4vw,125px)/1.02 var(--serif);letter-spacing:-.05em}
.about-prose{max-width:650px;margin-left:auto;padding-top:35px}
.about-prose p{font-size:clamp(17px,1.35vw,21px);line-height:1.72;margin-bottom:25px;color:#50554f}
.about-prose .under-link{margin-top:25px}
.about-quote{font:clamp(59px,8vw,135px)/1.03 var(--serif);letter-spacing:-.048em;color:#f9f6f0;background:#515751;padding:clamp(75px,9vw,155px) clamp(25px,6vw,110px);margin:135px calc(-1*var(--pad)) 55px}
.about-caption{display:flex;justify-content:space-between;align-items:center;gap:40px}
.about-caption p{color:#6b6c67;font-size:16px;line-height:1.7;max-width:420px}
/* Formation page */
.formation-body{border-top:1px solid var(--line)}
.formation-statement{padding:110px var(--pad) 125px;display:grid;grid-template-columns:1fr 1.5fr;gap:7vw}
.formation-statement h2{font:clamp(65px,7.8vw,120px)/1.03 var(--serif);letter-spacing:-.06em}
.formation-statement p{grid-column:2;color:#777770;font-size:18px;line-height:1.7;max-width:580px}
.formation-history{padding:100px var(--pad) 135px;background:var(--paper-2)}
.formation-history-header{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:70px}
.formation-history-header h2{font:clamp(48px,5vw,85px)/1.1 var(--serif);letter-spacing:-.04em}
.formation-history-header span{color:#99958c;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.training-item{border-top:1px solid #c9c5ba;padding:35px 0 45px;display:grid;grid-template-columns:18% 1fr 170px;gap:35px}
.training-year{font:clamp(34px,4vw,63px)/1.1 var(--serif)}
.training-item h3{font:clamp(34px,4vw,65px)/1.1 var(--serif);letter-spacing:-.04em}
.training-item p{margin-top:18px;font-size:15px;line-height:1.75;color:#666860;max-width:650px}
.training-item-duration{text-align:right;font-size:11px;color:#777971;text-transform:uppercase;letter-spacing:.1em;padding-top:10px}
.formation-contact{padding:110px var(--pad) 130px;display:flex;justify-content:space-between;align-items:flex-end;gap:70px}
.formation-contact h2{font:clamp(50px,6vw,90px)/1.04 var(--serif);letter-spacing:-.045em;max-width:910px;margin:27px 0}
.formation-contact p{font-size:15px;line-height:1.7;color:#777871}
/* Contact page: one integrated block */
.contact-page{padding:clamp(115px,14vw,210px) var(--pad) 150px}
.contact-page .contact-headline{margin:85px 0 35px}
.contact-lead{color:#636660;font-size:19px;line-height:1.65;max-width:740px;margin:0 0 100px auto}
/* on-scroll reveals */
.reveal{opacity:0;transform:translateY(23px);transition:opacity .65s ease,transform .75s cubic-bezier(.2,.72,.22,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
/* tablet */
@media(max-width:1100px){
  .section-intro{display:block}.section-intro p{margin:28px 0 0 auto}
  .training-display{grid-template-columns:1fr 1fr;gap:35px}.training-copy{padding-top:80px}
  .contact-information{gap:70px 35px}
  .about-unified-inner{grid-template-columns:1fr 1.3fr;gap:5vw}
}
@media(max-width:800px){
  .hero{min-height:620px}.hero-brand-wrap{width:90vw}
  .section-intro h2,.training-display h2{font-size:clamp(67px,12vw,108px)}
  .featured-grid{gap:80px 25px}
  .training-display{grid-template-columns:1fr;gap:20px}.training-copy{padding:25px 0 0;max-width:560px;margin-left:auto}
  .contact-headline{font-size:clamp(75px,16vw,140px)}
  .archive-tools{flex-direction:column}.filter-count{padding-top:0}
  .archive-grid{gap:65px 23px}
  .detail-content{grid-template-columns:1fr;gap:70px}
  .about-unified-inner{grid-template-columns:1fr;gap:30px}
  .about-prose{margin-left:0;padding-top:0}
  .formation-statement{grid-template-columns:1fr}.formation-statement p{grid-column:1}
  .training-item{grid-template-columns:115px 1fr;gap:28px}.training-item-duration{text-align:left;grid-column:2;padding:0}
}
@media(max-width:620px){
  :root{--pad:21px}
  .site-header{padding-top:23px}.site-header.inner{padding-bottom:20px}
  .institutional-sign{max-width:235px!important;font-size:9.6px;line-height:1.55;letter-spacing:.055em}
  .header-right{gap:15px;padding-top:2px}.language-link,.nav-action{font-size:10px}
  .menu-top{padding-top:25px}.menu-links{padding:45px var(--pad);gap:7px}.menu-links a{font-size:clamp(58px,13vw,83px)}
  .menu-bottom{flex-direction:column;gap:8px;font-size:9px}
  .hero{height:100svh;min-height:600px}
  .hero-picture img,.hero-video{object-position:42% 50%}
  .hero-content{padding:125px 13px 160px;align-items:center}
  .hero-brand-wrap{width:98vw;transform:translateY(-3vh)}
  .hero-subtitle{font-size:clamp(19px,5.3vw,25px);line-height:1.2;margin-top:19px;width:94%}
  .hero-local{font-size:9px;max-width:195px}
  .hero-video-toggle,.down{width:42px;height:42px}
  .hero-actions{gap:8px}
  .home-section{padding:95px var(--pad)}
  .section-marker{font-size:9px;align-items:flex-start}.section-marker span:last-child{max-width:48%;text-align:right}
  .section-intro{margin:46px 0 55px}.section-intro h2,.training-display h2{font-size:clamp(59px,13vw,85px)}
  .section-intro p{font-size:16px;margin:25px 0 0 0}
  .featured-grid{display:grid;grid-template-columns:1fr;gap:47px}
  .featured-grid .work-card:nth-child(even),.featured-grid .work-card:nth-child(even).visible{transform:none}
  .work-visual{aspect-ratio:1.2}
  .featured-grid .work-card:nth-child(odd) .work-visual{aspect-ratio:1.18}
  .typography-cover{padding:22px}
  .typography-cover strong{font-size:clamp(42px,10vw,65px)}
  .cover-top,.cover-note{font-size:9px}
  .work-caption{margin-top:15px}
  .work-caption h3{font-size:clamp(29px,9vw,44px)}
  .work-caption p{font-size:10px}
  .section-action{justify-content:flex-start;margin-top:60px}
  .training-copy{padding:20px 0 0}.training-quote{font-size:clamp(47px,11vw,69px)}.training-summary{font-size:16px}
  .contact-headline{font-size:clamp(50px,17vw,74px);margin:55px 0 55px}
  .contact-information{display:block;padding-top:30px}.contact-detail{margin-bottom:44px}.contact-place{padding-top:12px}
  .contact-value{font-size:clamp(27px,8.2vw,39px)}.contact-place .contact-value{font-size:32px}
  .site-footer{padding:88px var(--pad) 25px}.footer-kicker{font-size:9px}
  .footer-illustration{width:min(68vw,300px);margin:45px auto 78px}
  .footer-line{flex-direction:column;align-items:center;gap:7px;font-size:9px}
  .page-head{padding:90px var(--pad) 70px}.page-head h1{font-size:clamp(74px,17vw,126px);margin-top:35px}
  .page-head>p{font-size:16px;margin-top:35px}
  .archive-shell{padding:30px var(--pad) 90px}.archive-grid{grid-template-columns:1fr;gap:50px}.archive-grid .work-card:nth-child(even){padding-top:0}
  .work-filters{gap:7px}.filter-button{padding:9px 12px;font-size:10px}.archive-tools{margin-bottom:48px}
  .archive-footnote{margin:65px auto 0}
  .detail-header{padding:70px var(--pad) 55px}.detail-kicker{margin-top:40px}
  .detail-header h1{font-size:clamp(64px,13vw,95px)}.detail-tags{margin-top:25px;font-size:10px}
  .detail-image,.detail-type-art{height:clamp(350px,85vw,550px)}
  .detail-type-art .typography-cover strong{font-size:clamp(60px,14vw,100px)}
  .detail-content{padding:80px var(--pad);gap:55px}.detail-synopsis{font-size:clamp(36px,9vw,56px)}
  .detail-next{padding:65px var(--pad) 75px}.detail-next a{font-size:clamp(44px,10vw,66px)}
  .about-unified{padding:60px var(--pad) 105px}.about-leadline{font-size:9px}.about-unified-inner{margin-top:70px}
  .about-unified-inner h2{font-size:clamp(64px,13vw,90px)}.about-prose p{font-size:16px}
  .about-quote{font-size:clamp(50px,11vw,75px);margin:85px calc(-1*var(--pad)) 48px;padding:85px 25px}
  .about-caption{display:block}.about-caption .under-link{margin-top:30px}
  .formation-statement{padding:80px var(--pad);gap:25px}.formation-statement h2{font-size:clamp(61px,12vw,88px)}
  .formation-statement p{font-size:16px}.formation-history{padding:80px var(--pad)}
  .formation-history-header h2{font-size:clamp(47px,10vw,65px)}
  .training-item{grid-template-columns:1fr;gap:12px}.training-item h3{font-size:clamp(35px,9vw,53px)}.training-item-duration{grid-column:1}
  .formation-contact{display:block;padding:85px var(--pad)}.formation-contact h2{font-size:clamp(48px,11vw,77px)}.formation-contact .under-link{margin-top:35px}
  .contact-page{padding:95px var(--pad) 105px}.contact-page .contact-headline{margin-top:65px}
  .contact-lead{font-size:16px;margin:0 0 72px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
 .reveal{opacity:1!important;transform:none!important}
}

/* ================================================================
   MUCHA SIESTA V5 · user-approved editorial direction
   One-page filmography + current learning opportunities
   ================================================================ */
.site-header .institutional-sign,
.menu-top .institutional-sign{
  display:block;
  flex:1 1 auto;
  max-width:none!important;
  white-space:nowrap;
  font-size:clamp(9.5px,.85vw,13px);
  letter-spacing:.055em;
  line-height:1.35;
}
.menu-top .institutional-sign{color:var(--ink)}
.site-header .institutional-sign span{display:inline}
.full-filmography{
  gap:clamp(80px,8vw,150px) clamp(25px,3.3vw,60px);
}
.full-filmography .work-card:nth-child(even),
.full-filmography .work-card:nth-child(even).visible{transform:none}
.full-filmography .work-card:nth-child(even){padding-top:clamp(70px,8vw,125px)}
.full-filmography .work-card:nth-child(odd) .work-visual{aspect-ratio:1.29}
.full-filmography .work-card:nth-child(even) .work-visual{aspect-ratio:1.15}
.work-visual.fit-contain{background:#dfdcd4}
.work-visual.fit-contain img{object-fit:contain;filter:none}
.full-filmography .work-visual.has-image:not(.fit-contain) img{filter:saturate(.91)}
.archive-quiet-note{
  max-width:800px;
  color:#888982;
  font-size:12px;
  line-height:1.75;
  padding-top:38px;
  border-top:1px solid var(--line);
  margin:clamp(90px,10vw,170px) auto 0;
  text-align:center;
}
/* Training: one recurring offer, not an archive of editions. */
.training-copy{padding-top:clamp(45px,7vw,110px)}
.training-offerings{margin-top:clamp(85px,9vw,150px);border-top:1px solid #c6c2b6}
.training-offer{display:grid;grid-template-columns:1.05fr 1fr;gap:50px 7vw;padding:55px 0 0}
.training-offer-info h3{font:clamp(55px,6.4vw,105px)/1.03 var(--serif);letter-spacing:-.055em;margin:28px 0 20px}
.training-offer-status{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#858174}
.training-offer-body{padding-top:15px}
.training-offer-body>p{font-size:clamp(18px,1.55vw,23px);line-height:1.65;max-width:640px}
.training-offer-body dl{margin:48px 0 45px;border-top:1px solid #c6c2b6}
.training-offer-body dl>div{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:17px 0;border-bottom:1px solid #c6c2b6;font-size:13px;line-height:1.7}
.training-offer-body dt{color:#838076}.training-offer-body dd{margin:0}
/* Contact: left = planned email, right = social. Location only in small upper-right label. */
.contact-information{grid-template-columns:1fr 1.04fr;gap:clamp(40px,8vw,160px)}
.contact-information .contact-value{font-size:clamp(29px,3vw,49px)}
/* New illustrated tree at the very end of the page and exact legal name above it. */
.footer-kicker{white-space:normal}
/* True artwork image rather than a placeholder whenever source assets exist. */
.detail-image{background:#e5e0d7}
.detail-image.contain-poster img{object-fit:contain;background:#e5e0d7}
.detail-credits-pending{border-top:1px solid var(--line);margin-top:18px;padding:19px 0;color:#696c67;font-size:12px;line-height:1.6}
.detail-credits-pending summary{cursor:pointer;letter-spacing:.02em}
.detail-credits-pending p{margin-top:14px}
@media(max-width:1050px){
  .site-header .institutional-sign,.menu-top .institutional-sign{font-size:clamp(9px,.85vw,11px);letter-spacing:.025em}
  .full-filmography{gap:80px 30px}
  .training-offer{grid-template-columns:1fr 1fr;gap:35px}
}
@media(max-width:620px){
  /* Keep the legal name on exactly one line without colliding with menu controls. */
  .site-header{display:grid;grid-template-columns:1fr;row-gap:12px;align-items:start}
  .site-header .institutional-sign{width:100%;white-space:nowrap;max-width:none!important;font-size:clamp(7px,2.37vw,9.4px);letter-spacing:.009em;line-height:1.2}
  .site-header .header-right{justify-self:end}
  .site-header.inner{padding-bottom:18px}
  .menu-top{display:grid;grid-template-columns:1fr;row-gap:20px}
  .menu-top .institutional-sign{font-size:clamp(7px,2.34vw,9.4px);letter-spacing:.008em;white-space:nowrap}
  .menu-top .nav-action{justify-self:end}
  .hero-content{padding-top:135px}
  .full-filmography{grid-template-columns:1fr;gap:62px}
  .full-filmography .work-card:nth-child(even){padding-top:0}
  .full-filmography .work-card:nth-child(odd) .work-visual,.full-filmography .work-card:nth-child(even) .work-visual{aspect-ratio:1.22}
  .training-display{margin-top:46px}
  .training-copy{padding-top:18px}
  .training-offerings{margin-top:70px}
  .training-offer{display:block;padding-top:38px}
  .training-offer-info h3{font-size:clamp(58px,13vw,79px)}
  .training-offer-body{padding-top:33px}
  .training-offer-body>p{font-size:18px}
  .training-offer-body dl{margin:34px 0}
  .training-offer-body dl>div{grid-template-columns:1fr;gap:3px}
  .contact-information{display:block}
  .contact-information .contact-value{font-size:clamp(26px,7vw,36px)}
  .footer-kicker{letter-spacing:.085em}
  .detail-image.contain-poster img{object-fit:contain}
}

/* V7: home-only About, with original editorial composition. */
.about-home{background:var(--paper);scroll-margin-top:0;padding-top:clamp(105px,11vw,170px)}
.about-home .about-unified-inner{margin-top:clamp(65px,8vw,120px)}
.about-home .about-quote{margin-top:clamp(75px,9vw,145px)}
/* Works intentionally remain visual rather than links while pages are prepared. */
.work-card-static{display:block;cursor:default}
.work-card-static .work-visual.has-image img{transition:none}
.work-card-static .typography-cover strong{transition:none}
.work-card:hover .work-card-static .work-visual.has-image img{transform:none}
.work-card:hover .work-card-static .typography-cover strong{transform:none}
@media(max-width:620px){.about-home{padding-top:95px}}

/* V8: Braulio video as a non-clickable work image. */
.work-visual.has-video{background:#171211}
.work-visual.has-video .work-video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:50% 48%;pointer-events:none}


/* ================================================================
   MUCHA SIESTA V10: NUNCA RECORTAR VIDEOS
   Mantener encuadre original de portada y de las tarjetas de obra.
   Si la proporción de la pantalla difiere, mostramos márgenes oscuros
   (letterboxing/pillarboxing) en lugar de perder imagen.
   ================================================================ */
.hero.hero-video-cover { background-color:#080b0b; }
.hero.hero-video-cover .hero-picture { background-color:#080b0b; }
.hero.hero-video-cover .hero-picture img,
.hero.hero-video-cover .hero-video {
  object-fit:contain;
  object-position:50% 50%;
}
/* Como los clips de Braulio y Animalia son 1920 x 1080,
   la tarjeta conserva esa misma relación 16:9 en escritorio y móvil. */
.full-filmography .work-card:nth-child(odd) .work-visual.has-video,
.full-filmography .work-card:nth-child(even) .work-visual.has-video {
  aspect-ratio:16/9;
  background-color:#080b0b;
}
.work-visual.has-video .work-video {
  object-fit:contain;
  object-position:center center;
}
/* On portrait phones, frame the full film image between two intentional matte
   bands: wordmark above, strapline below. The film frame stays unobstructed. */
@media (max-width:620px) and (orientation:portrait) {
  .hero.hero-video-cover .hero-content {
    display:block;
    padding:0;
  }
  .hero.hero-video-cover .hero-brand-wrap {
    display:contents;
    transform:none;
    animation:none;
  }
  .hero.hero-video-cover .hero-brand {
    position:absolute;
    top:clamp(88px,calc((100svh - 56.25vw) / 4),175px);
    left:50%;
    width:76vw;
    transform:translateX(-50%);
  }
  .hero.hero-video-cover .hero-subtitle {
    position:absolute;
    top:calc(50% + 28.125vw + 3.2vh);
    left:50%;
    width:90vw;
    transform:translateX(-50%);
    margin:0;
    font-size:clamp(18px,4.9vw,22px);
  }
}


/* Versión 12 — El amanecer. Video original 4:3, sin recorte ni deformación.
   El resto de los clips mantiene 16:9 y la portada conserva su propio encuadre. */
.full-filmography .work-card[data-work="al-amanecer-el-mal-entro-por-el-oeste"] .work-visual.has-video {
  aspect-ratio:4/3;
  background-color:#090a0a;
}
.full-filmography .work-card[data-work="al-amanecer-el-mal-entro-por-el-oeste"] .work-video {
  object-fit:contain;
  object-position:center center;
}
