
:root{--navy:#0a0a0a;--paper:#ffffff;--gold:#525252;--muted:#5b5b5b;--line:#dedede}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.75 Arial,sans-serif}a{color:inherit;text-underline-offset:6px}a:hover{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:clamp(42px,5.5vw,76px);letter-spacing:-2px}h2{font-size:44px;letter-spacing:-1px}h3{font-size:27px}p{color:var(--muted)}.wrap{max-width:1240px;margin:auto;padding:0 48px}.skip{position:fixed;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:0}header{border-bottom:1px solid var(--line)}.header{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;gap:16px;align-items:center}.monogram{font:30px Georgia;border-right:1px solid var(--line);padding-right:18px;color:var(--gold)}.brand-name{font:19px Georgia}.brand small{display:block;font:10px/2 Arial;letter-spacing:2px;text-transform:uppercase;margin-top:5px}nav{display:flex;gap:22px;align-items:center}nav a{text-decoration:none;font-size:12px;padding:10px 0;white-space:nowrap}nav a[aria-current]{border-bottom:1px solid var(--gold)}.menu-toggle{display:none}.eyebrow,.tag{text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:2px;color:var(--gold)}.eyebrow{margin-bottom:25px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding-top:48px;padding-bottom:48px}.hero h1{margin-bottom:24px}.intro{max-width:460px;font-size:18px}.role{font-size:13px;color:var(--navy)}.portrait{margin:0}.portrait img{width:100%;height:550px;object-fit:cover;object-position:center 45%;display:block}.portrait figcaption{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding-top:14px;color:var(--muted)}.button{display:inline-block;background:var(--navy);color:#fff;padding:13px 23px;text-decoration:none;font-size:12px;border:1px solid var(--navy);cursor:pointer}.button:hover{background:#303030;color:white}.text-link{font-size:12px;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}.actions{display:flex;gap:26px;align-items:center;margin-top:32px}.band{background:var(--navy);color:#fff;padding:27px 0}.band .wrap{display:flex;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase}.band span{color:#c8c8c8}.section{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.section-head h2{margin:0;max-width:660px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.area{border-top:1px solid var(--line);padding-top:24px}.number{font:13px Georgia;color:var(--gold);margin-bottom:28px}.area p{font-size:14px}.soft{background:#f3f3f3}.publication{padding:30px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:160px 1fr 30px;gap:24px}.publication h3{font-size:27px;margin-bottom:14px}.publication h3 a{text-decoration:none}.publication p{font-size:13px;margin-bottom:8px}.arrow{font-size:25px;text-decoration:none}.cta{padding:60px 0;background:var(--navy);color:white}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta p{color:#c9c9c9;margin:0}.cta h2{margin-bottom:15px}.cta .button{border-color:#777777}footer{padding:38px 0;font-size:11px}footer .wrap{display:flex;justify-content:space-between;gap:30px}footer p{margin-bottom:7px}.page-intro{padding:65px 0 40px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:62px;max-width:900px}.page-intro p{max-width:680px;font-size:18px}.two-col{display:grid;grid-template-columns:1fr 1.6fr;gap:70px}.two-col .portrait img{height:470px}.prose{max-width:760px}.prose h2{font-size:32px;margin-top:40px}.prose h2:first-child{margin-top:0}.note{border-left:2px solid var(--gold);padding:8px 0 8px 22px;font-size:14px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;margin-bottom:15px}label{display:block;font-size:12px}input,select,textarea{display:block;width:100%;border:1px solid #a8a8a8;background:transparent;padding:13px;margin-top:8px;border-radius:0;font:15px Arial;color:var(--navy)}textarea{min-height:150px;resize:vertical}form label{margin-bottom:20px}button{font:inherit}#results,#form-result{font-size:13px}.empty{padding:45px 0;max-width:600px}.engagement{padding:32px 0;border-top:1px solid var(--line)}.engagement h2{font-size:31px;margin:12px 0}.contact-aside{padding:30px;background:#f3f3f3;align-self:start}.contact-aside h2{font-size:30px}.check{display:flex;gap:10px;align-items:start}.check input{width:auto;margin-top:6px}.privacy{font-size:13px}[hidden]{display:none!important}:focus-visible{outline:3px solid #727272;outline-offset:5px}@media(max-width:1050px){.header{flex-wrap:wrap;justify-content:center;padding:20px 0 15px}.hero{gap:35px}.hero h1{font-size:58px}.wrap{padding-left:30px;padding-right:30px}.portrait img{height:520px}}@media(max-width:700px){.wrap{padding-left:23px;padding-right:23px}.header{min-height:88px;justify-content:space-between}.brand-name{font-size:16px}.brand small{font-size:8px}.monogram{font-size:25px;padding-right:12px}.menu-toggle{display:block;border:1px solid var(--line);background:none;padding:9px;font-size:12px}nav{display:none;width:100%;flex-direction:column;align-items:start;gap:4px;padding:12px 0}nav.open{display:flex}nav a{font-size:15px;width:100%}.hero{grid-template-columns:1fr;padding-top:40px;gap:35px}.hero h1{font-size:52px}.intro{font-size:16px}.portrait img{height:490px}.band .wrap{flex-direction:column;gap:8px;font-size:10px}.grid,.two-col,.filters{grid-template-columns:1fr;gap:25px}.section{padding:55px 0}.section-head{display:block}.section-head .text-link{display:inline-block;margin-top:20px}.publication{grid-template-columns:1fr 25px;gap:12px}.publication>div:first-child{grid-column:1/-1}.publication h3{font-size:24px}.cta .wrap,footer .wrap{display:block}.cta .button{margin-top:25px}footer .wrap>div{margin-bottom:20px}.page-intro{padding-top:45px}.page-intro h1{font-size:44px;letter-spacing:-1px}h2{font-size:34px}}

/* Monochrome editorial system, informed by the FJC Chambers review. */
:root{--serif:"Iowan Old Style","Palatino Linotype",Baskerville,Georgia,"Times New Roman",serif}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
h1,h2,h3{font-family:var(--serif)}header{background:#0a0a0a;color:#fff;border-bottom:1px solid #333}
.header{min-height:98px}.brand-name{font-family:var(--serif);letter-spacing:.02em}.brand small{opacity:.65}
.monogram{border:1px solid #aaa;width:45px;height:45px;display:grid;place-items:center;font:21px var(--serif);padding:0;color:#fff;position:relative}
.monogram:before,.monogram:after{content:"";position:absolute;height:1px;width:10px;background:#aaa;top:50%}
.monogram:before{left:-6px}.monogram:after{right:-6px}
nav{gap:20px}nav a{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#d3d3d3}nav a:hover,nav a[aria-current]{color:white;border-color:white}
nav a:last-child{border:1px solid #777;padding:10px 13px}
.home-hero{background:#0a0a0a;color:#fff}.home-hero .hero{padding-top:0;padding-bottom:0;min-height:650px;grid-template-columns:1.08fr 1fr;gap:45px}
.home-hero h1{font-size:clamp(58px,5.9vw,85px);line-height:1.02;letter-spacing:-3px}
.home-hero .eyebrow{display:flex;align-items:center;gap:14px;color:#bcbcbc;font-weight:500}
.home-hero .eyebrow:before{content:"";width:36px;height:1px;background:#aaa;flex:none}
.home-hero .intro{color:#bcbcbc;font-size:17px;max-width:470px}.home-hero .role{color:#e2e2e2}
.home-hero .button{background:#fff;color:#111;border-color:#fff;text-transform:uppercase;letter-spacing:1px;font-size:10px}
.home-hero .text-link{color:#fff;border-color:#777}.home-hero .portrait{height:650px;position:relative}
.home-hero .portrait img{height:100%;object-position:50% 43%;filter:none}
.home-hero .portrait figcaption{position:absolute;bottom:0;left:0;right:0;background:#0a0a0a;padding:15px 0;color:#aaa;font-size:9px}
.band{border-top:1px solid #303030;background:#0a0a0a}.band .wrap{font-size:10px;letter-spacing:1.4px;color:#c8c8c8}
.band span{color:#888}.portrait img{filter:none}
.section-head h2{font-size:clamp(34px,4vw,55px)}.eyebrow{font-size:10px;letter-spacing:2px}.tag{letter-spacing:1.2px}
.cta .eyebrow{color:#aaa}.cta .button{color:white}.page-intro{padding-top:75px;padding-bottom:50px}
.event-filters{grid-template-columns:2fr 1fr 1fr auto;align-items:end}.filter-reset{background:none;border:1px solid #aaa;min-height:47px;padding:10px 18px;cursor:pointer;font-size:12px}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.event-card{border-bottom:1px solid var(--line);padding-bottom:25px;min-width:0}
.event-media{aspect-ratio:4/3;display:grid;place-items:center;background:#ededed;color:#777;text-decoration:none;overflow:hidden;position:relative}
.event-media img{width:100%;height:100%;object-fit:cover;filter:none;transition:filter .25s}.event-media:hover img{filter:grayscale(0)}
.photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-transform:uppercase;letter-spacing:2px;font-size:9px;min-height:150px}
.photo-empty:before{content:"";width:35px;height:26px;border:1px solid #b6b6b6}
.event-card .tag{margin:22px 0 12px}.event-card h3{font-size:27px}.event-card h3 a{text-decoration:none}
.event-card p{font-size:14px}.event-meta{font-size:11px!important;letter-spacing:.2px}.event-badge{font-size:10px;display:inline-block;border:1px solid #ccc;padding:3px 9px;margin:0 0 10px;text-transform:uppercase;letter-spacing:1px}
.events-intro h1{max-width:1020px}.archive-label{border-top:1px solid #ccc;padding-top:25px;margin:35px 0 25px;font-size:12px;letter-spacing:2px;text-transform:uppercase}
.category-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.category-directory h3{font-size:23px}.category-directory article{border-top:1px solid #ccc;padding-top:20px}.category-directory p{font-size:13px}
.event-detail-layout{display:grid;grid-template-columns:1fr 2fr;gap:65px}.event-facts{border-top:1px solid #ccc;margin:0}.event-facts div{padding:17px 0;border-bottom:1px solid #ddd}
.event-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#666}.event-facts dd{margin:7px 0 0;font-size:15px}
.event-feature{margin-bottom:35px;aspect-ratio:16/9}.event-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px}.event-gallery figure{margin:0}.event-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.event-gallery figcaption{font-size:12px;color:#666}
.gallery-open{padding:0;border:0;background:none;width:100%;cursor:zoom-in}.gallery-open img{display:block}.gallery-dialog{border:0;padding:20px;max-width:min(95vw,1100px);max-height:95vh;background:#fff}.gallery-dialog::backdrop{background:#000d}.gallery-dialog img{max-width:100%;max-height:70vh;object-fit:contain;display:block;margin:20px auto}.gallery-controls{display:flex;gap:10px;justify-content:space-between;align-items:center}.gallery-controls button{padding:10px 16px;border:1px solid #aaa;background:#fff;cursor:pointer}.gallery-caption{font-size:13px}
@media(max-width:1100px){nav{gap:14px}.header{padding-top:20px;padding-bottom:18px}.home-hero h1{font-size:64px}}
@media(max-width:850px){.event-grid,.category-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.event-detail-layout{grid-template-columns:1fr;gap:35px}.event-filters{grid-template-columns:1fr 1fr}.home-hero .hero{gap:25px}.home-hero h1{font-size:54px}}
@media(max-width:700px){.header{min-height:88px;padding-top:17px;padding-bottom:17px}.menu-toggle{color:white;border-color:#777}.home-hero .hero{grid-template-columns:1fr;padding-top:45px;gap:40px;min-height:0}.home-hero h1{font-size:57px;letter-spacing:-2px}.home-hero .portrait{height:540px}.home-hero .intro{font-size:16px}.home-hero .eyebrow{font-size:8px;letter-spacing:1.4px}.home-hero .eyebrow:before{width:22px}.band{padding:25px 0}.event-grid,.category-directory,.event-filters{grid-template-columns:1fr}.event-gallery{grid-template-columns:1fr 1fr}.page-intro h1{font-size:43px}.event-feature{aspect-ratio:4/3}.event-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Brand palette stays monochrome; photographs retain their original colour. */
.monogram:before,.monogram:after{display:none}.monogram{flex:none;width:42px;height:42px;border:1px solid #d4d4d4}

.legal-lead{max-width:760px;margin-bottom:42px}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 52px}.legal-record{padding:35px 0;border-top:1px solid #ccc}.legal-record h2{font-size:30px}.legal-court{font-weight:600}.legal-record .note{font-size:13px;line-height:1.65}.legal-record .text-link{font-size:13px}.legal-record[hidden]{display:none}@media(max-width:760px){.legal-grid{grid-template-columns:1fr}}

.venture-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.venture{padding:30px 0;border-top:1px solid var(--line)}.venture h2{font-size:36px}.venture-role{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--navy)}.venture p{max-width:520px}nav{gap:16px}@media(min-width:701px) and (max-width:1200px){.header{flex-wrap:wrap;justify-content:center;padding-top:20px;padding-bottom:18px}}@media(max-width:700px){.venture-grid{grid-template-columns:1fr;gap:20px}.venture h2{font-size:30px}}

/* Restrained warm-metal accents, with natural-colour photography. */
:root{--gold:#805b2f;--gold-light:#c6a372}.monogram{display:flex;align-items:center;justify-content:center;padding:0;font:17px Georgia,serif;letter-spacing:1px;color:var(--gold-light);border-color:var(--gold-light)}.band{border-top:1px solid #755b38;border-bottom:1px solid #755b38}.band span,.home-hero .eyebrow,.cta .eyebrow{color:var(--gold-light)}.home-hero .eyebrow:before{background:var(--gold-light)}.home-hero .text-link{border-color:var(--gold-light)}nav a[aria-current]{border-color:var(--gold-light)}.surname{font-size:.79em;letter-spacing:.035em}.framed-photo{position:relative;overflow:hidden}.event-media.framed-photo img{display:block}.event-feature.framed-photo{max-width:850px;margin:25px auto 45px}.event-gallery img{object-fit:contain!important;height:320px!important;background:#f5f3ef}.contact-codes{display:grid;grid-template-columns:repeat(2,minmax(0,320px));gap:40px}.contact-codes figure{margin:0}.contact-codes img{width:100%;display:block}.contact-codes figcaption{font-family:Georgia,serif;font-size:24px;margin-top:16px}.publication{border-top-color:#cbbba5}.publication h3{font-size:30px}.pub-summary{max-width:760px}.publication-actions{display:flex;gap:24px;flex-wrap:wrap;margin-top:22px}.pub-detail-title{font-size:clamp(32px,4vw,58px)!important;max-width:1050px!important}.pub-facts{display:grid;grid-template-columns:1fr 2fr;gap:45px}.pub-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);margin-top:20px}.pub-facts dd{margin:7px 0 0}.pub-facts .prose{max-width:none}@media(max-width:700px){.contact-codes,.pub-facts{grid-template-columns:1fr}.surname{font-size:.69em;letter-spacing:0}.contact-codes{max-width:320px}.publication h3{font-size:25px}}

.contact-codes figure{position:relative;overflow:hidden}.contact-codes figure img{object-fit:contain}.contact-codes figure:first-child img{margin-top:-65%;margin-bottom:-60%}.contact-codes figure:last-child img{margin-top:-20%;margin-bottom:-45%}

.event-gallery figcaption:empty{display:none}.event-feature:not(.framed-photo){height:auto;aspect-ratio:auto;max-width:1000px;margin:25px auto 45px}.event-feature:not(.framed-photo) img{width:100%;height:auto;object-fit:contain}

/* Exact display crops preserve the supplied QR pixels and quiet zones. */
.contact-codes{grid-template-columns:repeat(2,minmax(0,300px));gap:48px}.contact-codes figure{overflow:visible}.qr-frame{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:white;border:1px solid #dedede}.contact-codes .qr-frame img{position:absolute;max-width:none;object-fit:fill;display:block;margin:0!important}.contact-codes .qr-whatsapp img{width:218.3432%;height:473.3728%;left:-59.1716%;top:-215.9763%}.contact-codes .qr-wechat img{width:171.5116%;height:371.5116%;left:-35.7558%;top:-120.0581%}.contact-codes .contact-number{margin-top:8px;font-size:18px;color:#0a0a0a}.contact-codes figcaption{margin-top:20px}@media(max-width:700px){.contact-codes{grid-template-columns:minmax(0,300px);gap:35px}}

.event-rotator{position:relative}.rotation-toggle{position:absolute;right:10px;bottom:10px;background:#0a0a0ae6;color:white;border:1px solid #c6a372;padding:6px 10px;cursor:pointer;font-size:11px}.event-rotator .event-media img{object-fit:contain;background:#f1efeb}
