@layer reset, base, layout, components, pages, responsive;

@layer reset {
  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body,h1,h2,h3,p{margin:0}
  img{display:block;max-width:100%}
  button,input,textarea{font:inherit}
  a{color:inherit}
}
@layer base {
  :root{--paper:#f3f0e8;--white:#fbfaf6;--ink:#171918;--dark:#171a19;--gold:#8c611f;--light-gold:#d9b878;--sand:#dcd3c0;--line:#c8c0af;--muted:#62655f;--mist:#e9e3d7;--container:1312px;--pad:clamp(20px,4.45vw,64px)}
  body{background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;font-size:17px;line-height:1.52;-webkit-font-smoothing:antialiased}
  ::selection{background:var(--light-gold);color:var(--ink)}
  h1,h2,h3{font-weight:400;line-height:1.02;letter-spacing:-.045em;overflow-wrap:break-word;hyphens:auto}
  p{max-width:68ch}
  a{text-decoration:none}
  a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
  button{cursor:pointer}
  .container{width:min(calc(100% - 2*var(--pad)),var(--container));margin-inline:auto}
  .section{padding-block:clamp(88px,9vw,145px)}
  .section--white{background:var(--white)}
  .skip{position:absolute;z-index:1000;top:8px;left:8px;padding:12px 18px;background:var(--white);color:var(--ink);transform:translateY(-150%)}
  .skip:focus{transform:none}
  .eyebrow{display:flex;align-items:center;gap:13px;color:var(--gold);font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.16em;text-transform:uppercase}
  .eyebrow span:first-child{letter-spacing:.06em}
  .short-rule{display:block;width:47px;height:3px;background:var(--gold)}
  .text-link{display:inline-block;border-bottom:1.5px solid var(--gold);padding-bottom:4px;color:var(--ink);font-size:16px;font-weight:700;transition:padding .25s ease,border-color .25s ease}
  .text-link:hover{padding-bottom:8px;border-color:var(--ink)}
  .button{display:inline-flex;justify-content:center;align-items:center;min-height:56px;max-width:100%;padding:14px 27px;border:1.5px solid var(--dark);border-radius:999px;background:var(--dark);color:var(--white);font-size:15px;font-weight:700;white-space:normal;text-align:center;transition:background .25s ease,color .25s ease,border-color .25s ease}
  .button:hover{background:#363a36;border-color:#363a36}
  .button--light{background:var(--white);border-color:var(--gold);color:var(--ink)}
  .button--light:hover{background:var(--light-gold);border-color:var(--light-gold)}
  .image-reveal{overflow:hidden}
  .image-reveal img{transform:none}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
}
@layer layout {
  .site-header{position:relative;z-index:100;background:var(--dark);color:var(--white)}
  .site-header--hero{position:absolute;inset:0 0 auto;background:transparent}
  .header-inner{width:min(calc(100% - 2*var(--pad)),var(--container));height:92px;margin-inline:auto;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:28px}
  .brand{display:inline-flex;align-items:center;width:max-content;gap:10px;color:#fff;font-size:25px;font-weight:800;letter-spacing:-.045em}
  .brand img{width:37px;height:41px;object-fit:contain;mix-blend-mode:screen}
  .main-nav{display:flex;justify-content:center;align-items:center;gap:clamp(18px,2.45vw,39px)}
  .main-nav a,.lang-switch a{font-size:14px;color:#fff;white-space:nowrap;transition:color .2s ease}
  .main-nav a:hover,.main-nav a[aria-current],.lang-switch a:hover,.lang-switch a[aria-current]{color:var(--light-gold)}
  .header-right{display:flex;align-items:center;gap:20px}
  .lang-switch{display:flex;gap:3px;align-items:center;border-left:1px solid rgba(255,255,255,.55);padding-left:24px}
  .lang-switch span{opacity:.55}
  .menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:7px;width:44px;height:44px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:transparent;color:#fff}
  .menu-toggle span{display:block;width:18px;height:1px;background:currentColor;transition:transform .25s ease}
  .footer{background:var(--dark);color:var(--white);padding:70px 0 25px}
  .footer__top{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:100px}
  .footer__brand{font-size:39px;font-weight:700;letter-spacing:-.055em}
  .footer__top p{max-width:300px;margin-top:17px;color:var(--sand);font-size:15px}
  .footer nav{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:17px 28px}
  .footer nav a{width:max-content;font-size:15px;transition:color .2s ease}
  .footer nav a:hover{color:var(--light-gold)}
  .footer__bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #494b47;padding-top:25px;color:var(--sand);font-size:13px}
}
@layer components {
  .study{display:flex;flex-direction:column;gap:13px;border-top:1px solid currentColor;padding-top:27px}
  .study__label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
  .study a{max-width:44ch;font-size:15px;line-height:1.5;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .2s ease}
  .study a:hover{text-decoration-color:currentColor}
  .join-band{background:var(--dark);color:var(--white);padding:70px 0}
  .join-band__inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}
  .join-band .eyebrow{grid-column:1/-1;color:var(--light-gold)}
  .join-band h2{font-size:clamp(40px,5vw,70px)}
  .join-band p{margin-top:18px;color:var(--sand)}
  .join-band .button{align-self:end}
  .page-hero{min-height:485px;background:var(--dark);color:var(--white)}
  .page-hero__inner{position:relative;padding-top:97px;padding-bottom:105px}
  .page-hero .eyebrow{color:var(--light-gold)}
  .page-hero h1{max-width:1100px;margin-top:55px;font-size:clamp(72px,9.7vw,148px)}
  .page-hero p{max-width:690px;margin-top:30px;color:var(--sand);font-size:clamp(18px,2vw,24px);line-height:1.45}
  .page-hero__rule{position:absolute;right:0;bottom:0;width:40%;height:1px;background:var(--light-gold)}
  .page-hero--404{min-height:calc(100svh - 92px)}
  .number-404{display:block;color:var(--light-gold);font-size:28px}
  .page-hero--404 .button{margin-top:50px}
  .split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:clamp(50px,10vw,180px)}
  .split-section h2{max-width:700px;margin-top:48px;font-size:clamp(46px,5vw,72px)}
  .rich-copy{border-left:1px solid var(--line);padding:54px 0 0 clamp(35px,4vw,70px)}
  .rich-copy p{font-size:20px;line-height:1.63}
  .rich-copy p+p{margin-top:27px}
  .rich-copy .button{margin-top:40px}
  .section-heading{margin-bottom:56px}
  .section-heading h2{margin-top:35px;font-size:clamp(48px,5.6vw,80px)}
  .doc-list{border-top:1px solid var(--line)}
  .doc-row{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:20px;min-height:114px;border-bottom:1px solid var(--line);font-size:23px}
  .doc-row__index{color:var(--gold);font-size:16px;font-weight:700}
  .doc-row a{border-bottom:1px solid var(--gold);padding-bottom:2px;font-size:15px;font-weight:700}
  .doc-row a:hover{color:var(--gold)}
}
@layer pages {
  .hero{position:relative;display:flex;align-items:flex-end;min-height:min(890px,100svh);min-height:clamp(680px,100svh,900px);overflow:hidden;background:#141717 var(--hero-image) center 47%/cover no-repeat;color:var(--white)}
  .hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),transparent 73%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 53%)}
  .hero__content{position:relative;z-index:1;padding-bottom:clamp(88px,10vw,142px)}
  .hero h1{max-width:1000px;font-size:clamp(64px,7.8vw,114px);font-weight:700;line-height:.94;letter-spacing:-.06em;text-wrap:balance}
  .hero h1 span{display:block}
  .hero__corner{position:absolute;z-index:2;width:92px;height:92px;pointer-events:none}
  .hero__corner--top{top:130px;left:32px;border-top:1.5px solid var(--white);border-left:1.5px solid var(--white)}
  .hero__corner--bottom{right:32px;bottom:41px;border-right:1.5px solid var(--white);border-bottom:1.5px solid var(--white)}
  .hero__scroll{position:absolute;right:var(--pad);bottom:31px;color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
  .intro{min-height:830px}
  .intro__grid{display:grid;grid-template-columns:7fr 5fr;column-gap:7%;align-content:start}
  .intro .eyebrow{grid-column:1/-1;margin-bottom:70px}
  .intro__title h2{max-width:700px;font-size:clamp(65px,6vw,86px)}
  .intro__title .short-rule{margin-top:90px}
  .intro__copy{border-left:1px solid var(--line);padding-left:clamp(35px,4.5vw,70px);padding-top:10px}
  .intro__copy p{font-size:20px;line-height:1.62}
  .intro__copy p+p{margin-top:29px}
  .intro__copy .text-link{margin-top:58px}
  .work{display:grid;grid-template-columns:minmax(280px,32%) minmax(0,1fr);padding:0;background:var(--white)}
  .work__title{padding:110px 20px 105px max(var(--pad),calc((100vw - var(--container))/2));background:var(--dark);color:var(--white)}
  .work__title .eyebrow{color:var(--light-gold)}
  .work__title h2{margin-top:65px;font-size:clamp(52px,4.15vw,61px)}
  .work__title p{max-width:260px;margin-top:65px;border-top:2px solid var(--light-gold);padding-top:35px;color:var(--sand);font-size:20px}
  .work__list{padding:44px max(var(--pad),calc((100vw - var(--container))/2)) 44px 50px}
  .work-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;min-height:210px;border-top:1px solid var(--line);padding:38px 0}
  .work-row:last-child{border-bottom:1px solid var(--line)}
  .work-row__number{color:var(--gold);font-size:20px;font-weight:700}
  .work-row h3{font-size:clamp(28px,3vw,43px)}
  .work-row p{max-width:560px;margin-top:14px;color:var(--muted);font-size:17px}
  .projects-home__head{padding-top:110px;padding-bottom:62px}
  .projects-home__head h2{max-width:1000px;margin-top:56px;font-size:clamp(52px,5.5vw,79px)}
  .projects-home__head p{margin-top:24px;color:var(--muted);font-size:20px}
  .feature-project{background:var(--dark);color:var(--white);padding:80px 0}
  .feature-project__grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(60px,7vw,105px);align-items:center}
  .feature-project__image{height:690px}
  .feature-project__image img{width:100%;height:100%;object-fit:cover}
  .feature-project .eyebrow{color:var(--light-gold)}
  .feature-project h3{max-width:660px;margin-top:80px;font-size:clamp(57px,5.6vw,82px)}
  .feature-project__content>p{max-width:500px;margin-top:48px;font-size:21px;line-height:1.58}
  .feature-project .study{max-width:580px;margin-top:76px;border-color:#5a5d55}
  .feature-project .study__label{color:var(--light-gold)}
  .feature-project .button{margin-top:62px}
  .project-secondary__item{border-bottom:1px solid var(--line)}
  .project-secondary__item--type{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:130px 0}
  .project-secondary h3{max-width:600px;margin-top:56px;font-size:clamp(53px,5.4vw,78px)}
  .project-secondary__item--type>div+div{border-left:1px solid var(--line);padding:65px 0 0 65px}
  .project-secondary__item p{max-width:520px;font-size:21px;line-height:1.6}
  .project-secondary .study{max-width:490px;margin-top:45px}
  .project-secondary .text-link{margin-top:35px}
  .project-secondary__item--image{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding:95px 0}
  .project-secondary__photo{position:relative;height:560px}
  .project-secondary__photo::before{content:"";position:absolute;z-index:1;top:50%;left:-16px;width:16px;height:50%;background:var(--gold)}
  .project-secondary__photo img{width:100%;height:100%;object-fit:cover}
  .project-secondary__item--image p{margin-top:35px}
  .projects-home__all{padding:64px 0 110px}
  .people{padding-top:115px;padding-bottom:120px}
  .people__grid{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center}
  .people h2{max-width:690px;margin-top:80px;font-size:clamp(58px,6vw,88px)}
  .people p{max-width:590px;margin-top:70px;font-size:21px;line-height:1.62}
  .people .text-link{margin-top:60px}
  .people__photo{position:relative;margin-left:35px;border:18px solid var(--dark)}
  .people__photo::before{content:"";position:absolute;top:-18px;left:-18px;right:-18px;height:8px;background:var(--gold)}
  .people__photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
  .chairman{display:grid;grid-template-columns:.8fr 1fr;gap:12%;align-items:center}
  .chairman__image{border-top:8px solid var(--gold);background:var(--dark)}
  .chairman__image img{width:100%;aspect-ratio:4/5;object-fit:cover}
  .chairman h2{margin-top:70px;font-size:clamp(53px,5.4vw,78px)}
  .chairman p{max-width:550px;margin-top:50px;font-size:21px;line-height:1.62}
  .timeline{border-top:1px solid var(--line)}
  .timeline article{display:grid;grid-template-columns:140px minmax(0,1fr) minmax(0,1fr);gap:24px 40px;align-items:start;border-bottom:1px solid var(--line);padding:46px 0}
  .timeline article>span,.principles article>span{color:var(--gold);font-size:21px;font-weight:700}
  .timeline h3{font-size:clamp(30px,3vw,44px)}
  .timeline p{color:var(--muted);font-size:18px;line-height:1.6}
  .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
  .principles article{border-top:2px solid var(--gold);padding-top:29px}
  .principles h3{margin-top:54px;font-size:clamp(27px,3vw,43px)}
  .principles p{margin-top:22px;color:var(--muted);font-size:18px;line-height:1.6}
  .projects-index__intro{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;padding-bottom:68px}
  .projects-index__intro h2{font-size:clamp(53px,5.6vw,82px)}
  .projects-index__intro p{font-size:21px;color:var(--muted)}
  .projects-index__row{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(300px,.77fr);gap:40px;border-top:1px solid var(--line);padding:70px 0}
  .projects-index__number{color:var(--gold);font-size:24px;font-weight:700}
  .projects-index__row h3{font-size:clamp(45px,4.4vw,64px)}
  .projects-index__row p{max-width:520px;margin-top:31px;font-size:20px}
  .projects-index__row .study{max-width:490px;margin-top:55px}
  .projects-index__row .text-link{margin-top:30px}
  .projects-index__image{height:510px}
  .projects-index__image img{width:100%;height:100%;object-fit:cover}
  .projects-index__type{display:flex;flex-direction:column;justify-content:center;gap:32px;padding:50px;background:var(--dark);color:var(--white);font-size:29px;letter-spacing:-.04em}
  .projects-index__type span+span{border-top:1px solid #61645d;padding-top:32px}
  .detail-hero{background:var(--dark);color:var(--white);padding:135px 0 125px}
  .detail-hero .eyebrow{color:var(--light-gold)}
  .detail-hero h1{max-width:1050px;margin-top:62px;font-size:clamp(64px,8vw,114px)}
  .detail-hero p{max-width:690px;margin-top:46px;color:var(--sand);font-size:23px}
  .detail-image{height:clamp(400px,58vw,760px);overflow:hidden}
  .detail-image img{width:100%;height:100%;object-fit:cover}
  .focus-list{border-top:1px solid var(--line)}
  .focus-list>div{display:grid;grid-template-columns:170px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:39px 0}
  .focus-list span{color:var(--gold);font-size:21px;font-weight:700}
  .focus-list h3{font-size:clamp(29px,3.4vw,48px)}
  .source-panel{background:var(--dark);color:var(--white);padding:70px}
  .source-panel .eyebrow{color:var(--light-gold)}
  .source-panel h2{max-width:900px;margin-top:53px;font-size:clamp(42px,4.6vw,66px)}
  .source-panel p{margin-top:30px;color:var(--sand);font-size:19px}
  .source-panel .button{margin-top:50px}
  .source-panel--light{background:var(--white);color:var(--ink);border-top:2px solid var(--gold)}
  .source-panel--light p{color:var(--muted)}
  .related{display:grid;grid-template-columns:1fr 1fr;gap:60px}
  .related a{display:flex;gap:45px;align-items:start;border-top:1px solid var(--line);padding:35px 0;font-size:29px;transition:padding .25s ease}
  .related a:hover{padding-left:12px}
  .related span{color:var(--gold);font-size:20px}
  .related strong{font-weight:400}
  .tools-list{background:var(--white)}
  .tools-list__row{border-top:1px solid var(--line)}
  .tools-list__row:nth-child(2){background:var(--dark);color:var(--white)}
  .tools-list__row .container{display:grid;grid-template-columns:130px 1fr 1fr;gap:50px;align-items:start;padding-top:88px;padding-bottom:88px}
  .tools-list__row span{color:var(--gold);font-size:23px;font-weight:700}
  .tools-list__row:nth-child(2) span{color:var(--light-gold)}
  .tools-list__row h2{font-size:clamp(39px,4.3vw,63px)}
  .tools-list__row p{max-width:490px;padding-top:10px;font-size:20px;line-height:1.6;color:var(--muted)}
  .tools-list__row:nth-child(2) p{color:var(--sand)}
  .event-list{border-top:1px solid var(--line)}
  .event-list article{display:grid;grid-template-columns:120px 1fr .8fr;gap:40px;border-bottom:1px solid var(--line);padding:70px 0}
  .event-list span{color:var(--gold);font-weight:700;font-size:23px}
  .event-list h2{font-size:clamp(38px,4vw,59px)}
  .event-list p{padding-top:7px;font-size:20px;color:var(--muted)}
  .enquiry-grid{display:grid;grid-template-columns:1fr .9fr;gap:10%}
  .enquiry-grid h2{margin-top:45px;font-size:clamp(47px,5vw,73px)}
  .enquiry-grid>div>p{max-width:490px;margin-top:45px;color:var(--muted);font-size:20px}
  .enquiry-form{display:grid;gap:19px}
  .enquiry-form label{display:grid;gap:9px;font-size:15px;font-weight:700}
  .enquiry-form input,.enquiry-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--white);padding:15px 17px;color:var(--ink);font-size:18px}
  .enquiry-form input{height:57px}
  .enquiry-form textarea{resize:vertical;min-height:130px}
  .enquiry-form :is(input,textarea):invalid[data-touched]{border-color:#a7473b}
  .enquiry-form .button{justify-self:start;border:0}
  .form-note,.form-status{font-size:14px;color:var(--muted)}
  .form-status:empty{display:none}
  .faq{border-top:1px solid var(--line)}
  .faq details{border-bottom:1px solid var(--line)}
  .faq summary{position:relative;list-style:none;padding:29px 45px 29px 0;cursor:pointer;font-size:25px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";position:absolute;right:0;top:23px;font-size:31px;font-weight:300}
  .faq details[open] summary::after{content:"−"}
  .faq details p{max-width:820px;padding:0 0 32px;font-size:18px;color:var(--muted)}
  .contact-list{border-top:1px solid var(--line)}
  .contact-list>div{display:grid;grid-template-columns:250px 1fr;gap:30px;align-items:start;border-bottom:1px solid var(--line);padding:34px 0}
  .contact-list span{color:var(--gold);font-size:16px;font-weight:700}
  .contact-list a,.contact-list p{font-size:clamp(24px,3vw,42px);line-height:1.15;letter-spacing:-.035em}
  .contact-list a:hover{color:var(--gold)}
}
@layer responsive {
  @media(max-width:1100px){
    .header-inner{grid-template-columns:170px 1fr auto;gap:14px}
    .main-nav{gap:14px}.main-nav a{font-size:12px}.lang-switch{padding-left:14px}.lang-switch a{font-size:12px}
    .work{grid-template-columns:35% 65%}.work__title{padding-right:30px}.work__list{padding-left:35px}.work-row{grid-template-columns:65px 1fr}
    .feature-project__image{height:600px}.feature-project h3{margin-top:50px}.feature-project .study{margin-top:50px}
    .projects-index__row{grid-template-columns:70px 1fr .7fr;gap:25px}
  }
  @media(max-width:800px){
    :root{--pad:32px}
    .header-inner{height:76px;grid-template-columns:1fr auto}
    .main-nav{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:22px var(--pad) 34px;background:var(--dark);box-shadow:0 18px 40px #0005}
    .site-header[data-open] .main-nav{display:flex}
    .main-nav a{border-bottom:1px solid #494b47;padding:15px 0;font-size:21px}
    .menu-toggle{display:flex}
    .site-header[data-open] .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}
    .site-header[data-open] .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
    .brand{font-size:23px}.brand img{width:32px;height:38px}
    .hero{min-height:800px;background-position:57% center}.hero h1{font-size:clamp(63px,9vw,86px)}.hero__corner--top{top:112px}
    .intro{min-height:0}.intro__grid{grid-template-columns:1fr 1fr;column-gap:5%}.intro__title h2{font-size:clamp(52px,6vw,70px)}.intro__copy{padding-left:30px}.intro__copy p{font-size:17px}
    .work{grid-template-columns:1fr}.work__title{padding:75px var(--pad)}.work__title h2{max-width:610px;margin-top:36px}.work__title p{margin-top:35px}.work__list{padding:42px var(--pad)}.work-row{min-height:160px}
    .feature-project__grid{grid-template-columns:1fr 1fr;gap:35px}.feature-project__image{height:530px}.feature-project h3{font-size:52px}.feature-project__content>p{font-size:18px}.feature-project .button{margin-top:35px}
    .project-secondary__item--type,.project-secondary__item--image{gap:40px}.project-secondary__item--type>div+div{padding-left:40px}.project-secondary h3{font-size:50px}.project-secondary__photo{height:430px}
    .people__grid{gap:6%}.people h2{font-size:55px}.people p{font-size:18px}.people__photo{margin-left:0}
    .split-section{gap:45px}.rich-copy{padding-left:35px}.timeline article{grid-template-columns:80px 1fr 1fr;gap:24px}
    .projects-index__row{grid-template-columns:55px 1fr}.projects-index__image,.projects-index__type{grid-column:2}.projects-index__image{height:400px}
    .tools-list__row .container,.event-list article{grid-template-columns:60px 1fr;gap:25px}.tools-list__row p,.event-list p{grid-column:2}
  }
  @media(max-width:600px){
    :root{--pad:20px}
    body{font-size:16px}.section{padding-block:78px}
    .header-inner{height:70px}.main-nav{top:70px}
    .lang-switch{gap:2px;padding-left:0;border:0}.lang-switch a{font-size:13px}.header-right{gap:12px}
    .hero{min-height:100svh;min-height:max(620px,100svh);background-position:60% center}.hero__content{padding-bottom:105px}.hero h1{font-size:clamp(49px,11.9vw,73px);line-height:.98}.hero__corner{width:54px;height:54px}.hero__corner--top{top:96px;left:20px}.hero__corner--bottom{right:20px;bottom:25px}.hero__scroll{display:none}
    .intro__grid{display:block}.intro .eyebrow{margin-bottom:45px}.intro__title h2{font-size:clamp(43px,11vw,62px)}.intro__title .short-rule{margin-top:55px}.intro__copy{margin-top:55px;padding:0;border:0}.intro__copy p{font-size:18px}.intro__copy .text-link{margin-top:38px}
    .work__title{padding:75px var(--pad)}.work__title h2{font-size:56px}.work-row{grid-template-columns:52px 1fr;gap:12px;min-height:0;padding:30px 0}.work-row h3{font-size:31px}.work-row p{font-size:16px}
    .projects-home__head{padding-top:80px;padding-bottom:50px}.projects-home__head h2{margin-top:38px;font-size:54px}.projects-home__head p{font-size:17px}
    .feature-project{padding:0 0 65px}.feature-project__grid{display:block;width:100%}.feature-project__image{display:block;height:500px}.feature-project__content{padding:60px var(--pad) 0}.feature-project h3{margin-top:42px;font-size:58px}.feature-project__content>p{margin-top:30px;font-size:19px}.feature-project .study{margin-top:45px}.feature-project .button{margin-top:35px}
    .project-secondary__item--type,.project-secondary__item--image{display:block;padding:80px 0}.project-secondary h3{font-size:57px;margin-top:37px}.project-secondary__item--type>div+div{margin-top:43px;padding:0;border:0}.project-secondary__item p{font-size:19px}.project-secondary .study{margin-top:30px}.project-secondary__photo{display:block;margin-top:50px;height:350px}.project-secondary__photo::before{left:0;width:8px}.projects-home__all{padding:50px 0 80px}
    .people{padding-top:80px;padding-bottom:90px}.people__grid{display:block}.people h2{margin-top:45px;font-size:55px}.people p{margin-top:37px;font-size:19px}.people .text-link{margin-top:35px}.people__photo{margin:65px 0 0;border-width:12px}.people__photo::before{top:-12px;left:-12px;right:-12px}
    .join-band{padding:62px 0}.join-band__inner{display:block}.join-band h2{margin-top:45px;font-size:48px}.join-band p{font-size:17px}.join-band .button{margin-top:35px}
    .footer{padding-top:60px}.footer__top{grid-template-columns:1fr;gap:50px;padding-bottom:70px}.footer nav{gap:15px}.footer__bottom{font-size:12px}
    .page-hero{min-height:0}.page-hero__inner{padding-top:80px;padding-bottom:90px}.page-hero h1{margin-top:43px;font-size:clamp(52px,14vw,76px)}.page-hero p{font-size:18px}.page-hero--404{min-height:calc(100svh - 70px)}
    .split-section{display:block}.split-section h2{margin-top:40px;font-size:56px}.rich-copy{margin-top:45px;padding:0;border:0}.rich-copy p{font-size:19px}
    .section-heading h2{font-size:46px}.section-heading{margin-bottom:43px}
    .chairman{display:block}.chairman__image{max-width:480px}.chairman>div+div{margin-top:65px}.chairman h2{margin-top:40px;font-size:55px}.chairman p{margin-top:35px;font-size:19px}
    .timeline article{grid-template-columns:58px 1fr;gap:12px;padding:33px 0}.timeline h3{font-size:32px}.timeline p{grid-column:2;font-size:17px}
    .principles{grid-template-columns:1fr;gap:50px}.principles h3{margin-top:24px;font-size:38px}.principles p{margin-top:12px;font-size:17px}
    .doc-row{grid-template-columns:42px 1fr;gap:12px;min-height:100px;font-size:20px}.doc-row a{grid-column:2;justify-self:start;margin-bottom:20px}
    .projects-index__intro{display:block;padding-bottom:50px}.projects-index__intro h2{font-size:55px}.projects-index__intro p{margin-top:24px;font-size:18px}.projects-index__row{grid-template-columns:40px 1fr;gap:13px;padding:55px 0}.projects-index__row h3{font-size:43px}.projects-index__row p{font-size:18px}.projects-index__image,.projects-index__type{grid-column:1/-1}.projects-index__image{height:360px}.projects-index__type{font-size:22px;padding:35px}
    .detail-hero{padding:95px 0 90px}.detail-hero h1{font-size:clamp(58px,12vw,82px)}.detail-hero p{font-size:19px}.detail-image{height:410px}.focus-list>div{grid-template-columns:50px 1fr;gap:12px}.focus-list h3{font-size:31px}.source-panel{padding:40px 26px}.source-panel h2{font-size:38px}.related{grid-template-columns:1fr;gap:0}.related a{font-size:25px}
    .tools-list__row .container,.event-list article{grid-template-columns:38px 1fr;gap:15px;padding-block:55px}.tools-list__row h2,.event-list h2{font-size:35px}.tools-list__row p,.event-list p{font-size:18px}
    .enquiry-grid{display:block}.enquiry-grid h2{font-size:44px}.enquiry-grid>div>p{margin-top:25px;font-size:18px}.enquiry-form{margin-top:50px}.faq summary{font-size:21px}.contact-list>div{grid-template-columns:1fr;gap:12px}.contact-list a,.contact-list p{font-size:28px}
    .split-section .button{max-width:100%;white-space:normal;text-align:center}
  }
}
/* Final spacing and motion system */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.brand img{mix-blend-mode:normal}
.intro__copy>.button,.people__grid>div>.button{margin-top:42px}
.project-secondary__item .button,.projects-index__row .button{margin-top:32px}
.section-heading>p{margin-top:26px;max-width:760px;color:var(--muted);font-size:19px}
.related{row-gap:24px}
.text-link{transition:color .2s ease,border-color .2s ease;min-height:32px}
.text-link:hover{padding-bottom:4px;color:var(--gold)}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .22s var(--ease-out),background .22s ease,border-color .22s ease}
.button:active{transform:scale(.97)}
.main-nav a{position:relative;padding-block:10px}
.main-nav a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--light-gold);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease-out)}
.main-nav a[aria-current]::after{transform:scaleX(1)}
.reading-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:200;background:var(--light-gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
@media(hover:hover) and (pointer:fine){.main-nav a:hover::after{transform:scaleX(1)}}
@media(hover:none){.button:hover{transform:none}.image-reveal:hover img{transform:none}}
@media(max-width:800px){.main-nav{display:flex;visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .22s ease,transform .25s var(--ease-out),visibility .25s}.site-header[data-open] .main-nav{visibility:visible;opacity:1;transform:none;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}.button:hover,.image-reveal:hover img{transform:none!important}}
.related a{transition:color .22s ease,transform .22s var(--ease-out)}
.related a:hover{padding-left:0;color:var(--gold)}
@media(hover:hover) and (pointer:fine){.related a:hover{transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){.related a:hover{transform:none}}
.rich-copy .button{max-width:100%;white-space:normal;text-align:center}

/* Lighting plate uses the photo's dimensions and crop, including mobile. */
.hero__lit,.hero__unlit{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;pointer-events:none;opacity:1}
.motion-line{transform-origin:left}
.work-row,.tools-list__row,.doc-row,.focus-list>div,.contact-list>div{position:relative}
.motion-rule{position:absolute;left:0;right:0;top:0;height:1px;background:var(--gold);opacity:.45;pointer-events:none;transform-origin:left}
.image-reveal{overflow:hidden}
.enquiry-form input,.enquiry-form textarea{transition:border-color .2s ease,box-shadow .2s ease}
.enquiry-form input:focus,.enquiry-form textarea:focus{box-shadow:0 2px 0 var(--gold)}
@media(max-width:800px){.hero__unlit{object-position:60% center}}
@media(prefers-reduced-motion:reduce){.hero__unlit{display:none}}
@media(min-width:801px){.projects-home__all{display:flex;justify-content:flex-end}}

/* Six professional fields, visible within the opening composition. */
.hero__content{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(36px,5vw,80px);align-items:end;padding-top:230px;padding-bottom:64px}
.hero h1{font-size:clamp(54px,5.4vw,80px);line-height:1;letter-spacing:-.055em}
.hero__veil{background:linear-gradient(0deg,rgba(8,11,10,.92),rgba(8,11,10,.45) 57%,rgba(8,11,10,.12)),linear-gradient(90deg,rgba(0,0,0,.25),transparent 50%,rgba(0,0,0,.3))}
.hero-areas{border-left:1px solid rgba(217,184,120,.6);padding-left:30px}
.hero-areas h2{font-size:12px;line-height:1.6;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--light-gold);max-width:36ch;margin-bottom:16px}
.hero-areas ol{list-style:none;padding:0;margin:0}
.hero-areas li{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:12px 0;border-top:1px solid rgba(251,250,246,.2);font-size:16px;line-height:1.4;color:var(--white)}
.hero-areas__number{font-size:11px;line-height:2;color:var(--light-gold);font-variant-numeric:tabular-nums}
@media(max-width:1100px) and (min-width:801px){.hero__content{grid-template-columns:1fr 1fr;gap:32px}.hero h1{font-size:54px}.hero-areas{padding-left:24px}.hero-areas li{font-size:15px}}
@media(max-width:800px){.hero__content{grid-template-columns:1fr;gap:32px;padding-top:165px;padding-bottom:48px}.hero h1{font-size:clamp(40px,7vw,64px)}.hero-areas{border-left:0;padding-left:0}.hero-areas ol{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.hero-areas li{font-size:15px}.hero-areas h2{max-width:none}.hero{min-height:100svh}}
@media(max-width:600px){.hero__content{padding-top:150px;padding-bottom:40px;gap:28px}.hero h1{font-size:clamp(36px,9.8vw,49px)}.hero-areas ol{grid-template-columns:1fr}.hero-areas li{font-size:14px;padding:9px 0;gap:8px;line-height:1.35}.hero-areas h2{font-size:10px;letter-spacing:.12em;margin-bottom:12px;max-width:34ch}.hero__corner--bottom{width:30px;height:30px;bottom:16px}.hero{min-height:max(760px,100svh)}}
.hero-areas h2{max-width:none}
@media(max-width:600px){.work{grid-template-columns:minmax(0,1fr)}.work__title,.work__list,.work-row>div{min-width:0}}

/* Readable content columns and steady controls across both languages. */
:is(.timeline article,.projects-index__row,.principles,.related,.event-list article,.tools-list__row .container,.focus-list>div,.doc-row,.enquiry-grid)>*{min-width:0}
.timeline article>span{font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
.timeline article>p+p,.timeline article>.text-link{grid-column:3}
.timeline article>.text-link{justify-self:start;max-width:100%;margin-top:4px}
.timeline+h3{margin-top:48px;font-size:clamp(27px,3vw,38px);line-height:1.15}
.timeline+h3+p{margin:20px 0 32px;color:var(--muted);font-size:18px;line-height:1.6}
.rich-copy h3{margin:36px 0 16px;font-size:28px;line-height:1.18;letter-spacing:-.025em}
.rich-copy h3:first-child{margin-top:0}
.rich-copy ul{margin:18px 0 28px;padding-left:22px;font-size:18px;line-height:1.6}
.rich-copy li+li{margin-top:12px}
.rich-copy ul+p{margin-top:28px}
.related strong,.contact-list a{min-width:0;overflow-wrap:anywhere}
.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding-inline:3px}
.main-nav a{min-height:44px;display:inline-flex;align-items:center}
.footer nav{row-gap:10px}
.footer nav a{display:inline-flex;align-items:center;min-height:36px;max-width:100%}
.footer__bottom{flex-wrap:wrap}
.footer__bottom a{overflow-wrap:anywhere}
.button:focus-visible{outline-offset:5px}
.source-panel--light .eyebrow{color:var(--gold)}
@media(min-width:801px){
  .timeline article:has(>:nth-child(4))>span,.timeline article:has(>:nth-child(4))>h3{grid-row:1/span 2}
}
@media(max-width:800px){
  .timeline article{grid-template-columns:100px minmax(0,1fr);column-gap:28px}
  .timeline article>h3,.timeline article>p,.timeline article>p+p,.timeline article>.text-link{grid-column:2}
}
@media(max-width:600px){
  .timeline article{grid-template-columns:minmax(0,1fr);gap:16px;padding:32px 0}
  .timeline article>h3,.timeline article>p,.timeline article>p+p,.timeline article>.text-link{grid-column:1}
  .timeline article>span{font-size:14px}
  .timeline h3{font-size:clamp(29px,7.8vw,36px);line-height:1.1}
  .timeline article>p+p{margin-top:0}
  .projects-index__row{grid-template-columns:40px minmax(0,1fr)}
  .projects-index__row h3{font-size:clamp(35px,10vw,43px);line-height:1.08}
  .projects-index__image,.projects-index__type{margin-top:20px}
  .rich-copy h3{font-size:25px;line-height:1.24}
  .rich-copy ul{font-size:17px}
  .footer nav a{min-height:44px}
  .source-panel .button{padding-inline:21px}
}

.calendar-title-link {
  font: inherit;
  color: inherit;
  text-decoration: none;
}
.calendar-title-link:hover { color: var(--gold); }
:is(.principles article, .timeline article:has(> .principle-number)) {
  position: relative;
  isolation: isolate;
}
:is(.principles,.timeline) article > .principle-number {
  position: absolute;
  inset: auto 0.05em 0 auto;
  z-index: -1;
  font-size: clamp(96px, 13vw, 168px);
  line-height: 0.9;
  opacity: 0.12;
  pointer-events: none;
}

.timeline article:has(> .principle-number) > h3 { grid-column: 2; }
@media (max-width: 640px) {
  .timeline article:has(> .principle-number) > h3 { grid-column: 1; }
}

.timeline article > .principle-number {
  inset: 32px auto auto 0.05em;
}
/* Project updates have two content columns, without a separate date rail. */
.timeline article:has(> .project-update){grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px 64px}
.timeline article:has(> .project-update)>h3,.timeline article>.project-update{grid-column:auto}
.timeline .project-update p+p{margin-top:22px}
@media(max-width:800px){
  .timeline article:has(> .project-update){grid-template-columns:minmax(0,1fr);gap:24px}
  .timeline article:has(> .project-update)>h3,.timeline article>.project-update{grid-column:1}
}
@media (min-width: 1024px) {
  .timeline article > .principle-number {
    top: 46px;
    font-size: clamp(64px, 6vw, 88px);
  }
}
