:root{--ink:#090c0e;--panel:#101416;--panel-2:#151a1d;--paper:#f2efe9;--muted:#a9aaab;--line:#33383a;--red:#ff341c;--red-dark:#b82011;--max:1440px;--gutter:clamp(1.25rem,4vw,4rem);--display:"Arial Narrow","Roboto Condensed","Helvetica Neue",sans-serif;--body:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:1000;left:1rem;top:-5rem;background:var(--paper);color:var(--ink);padding:.75rem 1rem}.skip-link:focus{top:1rem}.site-header{height:86px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:0 var(--gutter);border-bottom:1px solid var(--line);background:rgba(9,12,14,.96);position:sticky;top:0;z-index:100}.brand{display:inline-flex;align-items:center;gap:.7rem;font-size:1.45rem;font-weight:800;letter-spacing:-.05em}.brand-mark{width:25px;height:25px;border:3px solid var(--red);position:relative}.brand-mark:after{content:"";position:absolute;inset:5px -7px -7px 5px;border-right:2px solid var(--red);border-bottom:2px solid var(--red)}.site-nav{display:flex;justify-content:center;gap:clamp(1.25rem,2.4vw,2.7rem)}.site-nav a,.header-login{font-size:.88rem;color:#d3d3d1;transition:color .2s}.site-nav a:hover,.site-nav a:focus-visible,.header-login:hover{color:var(--red)}.header-actions{display:flex;align-items:center;gap:1.1rem}.language-switcher{display:flex;gap:.45rem;padding-right:.8rem;border-right:1px solid var(--line)}.language-switcher a{font-size:.7rem;color:#777}.language-switcher a.active,.language-switcher a:hover{color:var(--paper)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.4rem;min-height:54px;padding:.8rem 1.35rem;background:var(--red);color:white;border:1px solid var(--red);font-size:.85rem;font-weight:700;letter-spacing:.01em;transition:background .2s,transform .2s}.button:hover,.button:focus-visible{background:#ff4a34;transform:translateY(-2px)}.button-small{min-height:42px;padding:.55rem .9rem;font-size:.75rem}.button-outline{background:transparent;border-color:#777}.button-outline:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px}.menu-toggle>span:not(.sr-only){display:block;height:2px;background:var(--paper);margin:6px 0}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:minmax(420px,46%) 1fr;max-width:1800px;margin:auto;border-bottom:1px solid var(--line)}.hero-copy{padding:clamp(3rem,6vw,7rem) var(--gutter) 2rem;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#a6a8a8;font-size:.68rem;font-weight:700;margin:0 0 1.5rem}.eyebrow span{display:flex;align-items:center;gap:.7rem}.eyebrow span:before{content:"";width:25px;height:2px;background:var(--red)}.hero h1,.section h2,.final-cta h2,.page-hero h1{font-family:var(--display);text-transform:uppercase;letter-spacing:-.065em;line-height:.86;margin:0;font-stretch:condensed}.hero h1{font-size:clamp(4.2rem,7vw,8.4rem);max-width:820px}.hero h1 em{font-style:normal;color:var(--red)}.hero-intro{color:#bbb;max-width:570px;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.55;margin:2.2rem 0}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-meta{margin-top:auto;padding-top:3rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;color:#8d9090;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.hero-meta span{position:relative}.hero-meta span:not(:last-child):after{content:"";position:absolute;right:-1.1rem;top:40%;width:4px;height:4px;background:var(--red)}.hero-visual{min-height:680px;background-image:linear-gradient(90deg,rgba(9,12,14,.05),rgba(9,12,14,.05)),url('/images/dragonexhibit-hero-01.jpg');background-size:auto 100%;background-position:right center;position:relative;overflow:hidden;border-left:6px solid var(--red)}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,12,14,.55),transparent 45%)}.hero-frame{position:absolute;inset:5% 5% 5% auto;width:46%;border-top:1px solid rgba(255,255,255,.35);border-right:1px solid rgba(255,255,255,.35)}.hero-caption{position:absolute;bottom:2rem;right:2rem;text-align:right;text-transform:uppercase;letter-spacing:.16em;font-size:.65rem}.hero-caption span{display:block;color:var(--red);font-size:1.2rem}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);max-width:var(--max);margin:auto}.proof-strip div{padding:1.8rem var(--gutter);border-right:1px solid var(--line)}.proof-strip div:last-child{border-right:0}.proof-strip strong,.proof-strip span{display:block}.proof-strip strong{text-transform:uppercase;font-size:.7rem;letter-spacing:.13em}.proof-strip span{color:#777;font-size:.75rem;margin-top:.25rem}.section{max-width:var(--max);margin:auto;padding:clamp(5rem,10vw,10rem) var(--gutter);border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;margin-bottom:4rem}.section-heading .eyebrow{grid-row:span 2}.section-heading h2{font-size:clamp(3rem,5vw,6.5rem)}.section-heading h2 span,.final-cta h2 span{color:#727575}.section-heading>p:not(.eyebrow){color:var(--muted);max-width:550px}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-card{min-height:270px;padding:2rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:end;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel);transition:background .2s}.service-card:nth-child(even){border-right:0}.service-card:hover{background:var(--panel-2)}.service-card.featured{background:var(--red)}.card-number{align-self:start;color:#8c9090;font-size:.65rem}.featured .card-number{color:white}.service-card h3{font-size:clamp(1.4rem,2vw,2rem);line-height:1.1;margin:0 0 .8rem}.service-card p{color:#9fa1a1;margin:0;max-width:400px;font-size:.9rem}.featured p{color:#fff}.service-card>a{font-size:1.5rem}.agents-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem);align-items:center}.agents-graphic{aspect-ratio:1/1;background:radial-gradient(circle at 50% 50%,#202629 0 1px,transparent 2px),linear-gradient(135deg,transparent 49.8%,var(--red) 50%,var(--red) 50.4%,transparent 50.5%);background-size:24px 24px,100% 100%;border:1px solid var(--line);display:grid;place-items:center;position:relative;font:700 clamp(3rem,9vw,8rem)/1 var(--display);color:#303638}.agents-graphic b{position:absolute;bottom:12%;right:10%;color:var(--red);font-size:.4em}.agents-graphic i{position:absolute;width:52%;height:52%;border:1px solid var(--red);transform:rotate(45deg)}.agents-copy h2{font-family:var(--display);font-size:clamp(3rem,5vw,6rem);line-height:.9;text-transform:uppercase;letter-spacing:-.06em;margin:0 0 2rem}.agents-copy>p:not(.eyebrow){color:var(--muted)}.check-list{list-style:none;padding:1rem 0;margin:1.5rem 0}.check-list li{padding:.8rem 0;border-bottom:1px solid var(--line)}.check-list li:before{content:"+";color:var(--red);margin-right:1rem}.text-link{display:inline-flex;gap:1rem;color:var(--paper);font-weight:700;border-bottom:1px solid var(--red);padding-bottom:.3rem}.compact{display:block}.compact h2{margin-top:1rem}.process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.process-list li{min-height:190px;padding:1.5rem;border-right:1px solid var(--line);display:flex;flex-direction:column}.process-list li:last-child{border-right:0}.process-list span{font-size:.65rem;color:var(--red)}.process-list strong{margin-top:auto;font-size:1rem}.process-list small{color:#777;margin-top:.5rem}.row-heading{grid-template-columns:1fr 1fr}.project-placeholder{min-height:430px;padding:clamp(2rem,5vw,5rem);background:linear-gradient(135deg,#161a1c,#0b0e10 60%,#34110c);border:1px solid var(--line);position:relative;display:flex;flex-direction:column;justify-content:space-between}.project-placeholder:after{content:"";position:absolute;inset:1.5rem;border:1px solid rgba(255,52,28,.35);pointer-events:none}.project-placeholder>span{text-transform:uppercase;letter-spacing:.18em;color:#777;font-size:.65rem}.project-placeholder strong{font:700 clamp(2.5rem,5vw,5rem)/.95 var(--display);text-transform:uppercase;letter-spacing:-.04em;z-index:1}.project-placeholder a{align-self:flex-start;z-index:1}.final-cta{text-align:center;padding:clamp(6rem,12vw,12rem) var(--gutter);background:linear-gradient(rgba(9,12,14,.8),rgba(9,12,14,.97)),linear-gradient(120deg,#3e110b,#0a0d0f 45%)}.final-cta h2{font-size:clamp(3.5rem,7vw,8rem);margin-bottom:3rem}.site-footer{max-width:var(--max);margin:auto;padding:4rem var(--gutter) 1.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:3rem}.site-footer h2{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:#777}.site-footer>div:not(.footer-bottom) a:not(.brand){display:block;color:#aaa;font-size:.85rem;margin:.5rem 0}.footer-brand p{color:#777;max-width:250px;font-size:.8rem}.footer-cta{text-align:right}.footer-cta .text-link{display:inline-flex!important}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.2rem;display:flex;justify-content:space-between;color:#666;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.page-hero{max-width:var(--max);margin:auto;padding:clamp(5rem,10vw,10rem) var(--gutter) 5rem;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(4rem,8vw,9rem);max-width:1100px}.page-hero>p:not(.eyebrow){font-size:1.2rem;color:var(--muted);max-width:700px;margin-top:2rem}.content-grid{max-width:var(--max);margin:auto;padding:5rem var(--gutter);display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.content-card{padding:clamp(2rem,5vw,4rem);background:var(--panel);min-height:260px}.content-card h2{font-size:1.7rem}.content-card p{color:var(--muted)}.proposal-layout{max-width:var(--max);margin:auto;padding:5rem var(--gutter);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem)}.proposal-note h2{font:700 3rem/1 var(--display);text-transform:uppercase}.proposal-note p{color:var(--muted)}.proposal-form{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.field{display:flex;flex-direction:column;gap:.5rem}.field.full{grid-column:1/-1}.field label{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;color:#aaa}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--paper);padding:1rem;min-height:54px}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--red);outline-offset:2px}.field-validation-error,.validation-summary-errors{color:#ff8b7d;font-size:.8rem}.form-success{background:#123b2a;border:1px solid #2c845e;padding:1rem;margin-bottom:2rem;grid-column:1/-1}.form-disclaimer{color:#777;font-size:.72rem;grid-column:1/-1}.proposal-form .button{justify-self:start}.empty-state{max-width:var(--max);margin:auto;padding:6rem var(--gutter);color:var(--muted)}
@media(max-width:1100px){.site-header{grid-template-columns:auto auto 1fr}.menu-toggle{display:block;order:3;justify-self:end}.site-nav{position:fixed;inset:86px 0 0;background:var(--ink);padding:3rem var(--gutter);display:none;flex-direction:column;justify-content:flex-start;gap:0}.site-nav.is-open{display:flex}.site-nav a{font:700 2.5rem/1 var(--display);text-transform:uppercase;padding:1rem 0;border-bottom:1px solid var(--line)}.header-actions{justify-self:end}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(3.8rem,7.5vw,6rem)}.process-list{grid-template-columns:repeat(3,1fr)}.process-list li:nth-child(3){border-right:0}}
@media(max-width:767px){.site-header{height:72px;grid-template-columns:1fr auto}.site-nav{inset:72px 0 0}.header-actions{display:none}.menu-toggle{order:initial}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding-top:4rem}.hero h1{font-size:clamp(3.6rem,16vw,5.5rem)}.hero-intro{font-size:1rem}.hero-actions{width:100%;flex-direction:column}.hero-actions .button{width:100%}.hero-meta{margin-top:2rem}.hero-visual{min-height:65vh;border-left:0;border-top:5px solid var(--red);background-size:auto 100%;background-position:right center}.proof-strip{grid-template-columns:1fr 1fr}.proof-strip div:nth-child(2){border-right:0}.section-heading,.row-heading{display:block}.section-heading .eyebrow{margin-bottom:2rem}.service-grid,.agents-section,.content-grid,.proposal-layout{grid-template-columns:1fr}.service-card,.service-card:nth-child(even){border-right:0}.agents-graphic{order:2}.process-list{grid-template-columns:1fr}.process-list li,.process-list li:nth-child(3){min-height:120px;border-right:0;border-bottom:1px solid var(--line)}.site-footer{grid-template-columns:1fr 1fr}.footer-brand,.footer-cta{grid-column:1/-1}.footer-cta{text-align:left}.proposal-form{grid-template-columns:1fr}.field{grid-column:1/-1}.page-hero{padding-top:5rem}.footer-bottom{flex-direction:column;gap:.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Official Dragon Exhibit logo */
.brand{gap:0;font-size:0;letter-spacing:normal}
.brand img{width:clamp(150px,12vw,190px);height:auto}
.footer-brand .brand img{width:180px}

/* Hero image carousel */
.hero-visual{background:none;isolation:isolate}
.hero-visual:before{z-index:1;pointer-events:none}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;opacity:0;transform:scale(1.025);transition:opacity .8s ease,transform 6s linear}
.hero-slide.is-active{opacity:1;transform:scale(1);z-index:1}
.hero-frame{z-index:2;pointer-events:none}
@media(max-width:1100px){.hero-frame{display:none}}
.hero-slider-controls{position:absolute;z-index:3;left:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2.5rem);display:grid;grid-template-columns:44px 1fr auto 44px;align-items:center;gap:1rem;padding:.65rem;background:rgba(9,12,14,.72);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px)}
.hero-arrow{width:44px;height:44px;border:0;background:transparent;color:var(--paper);font-size:1.1rem;cursor:pointer;transition:background .2s,color .2s}
.hero-arrow:hover,.hero-arrow:focus-visible{background:var(--red);color:white;outline:none}
.hero-dots{display:flex;align-items:center;gap:.55rem}
.hero-dots button{width:clamp(22px,3vw,42px);height:3px;padding:0;border:0;background:rgba(255,255,255,.35);cursor:pointer;position:relative}
.hero-dots button:after{content:"";position:absolute;inset:-10px 0}
.hero-dots button.is-active{background:var(--red)}
.hero-dots button:focus-visible{outline:2px solid white;outline-offset:4px}
.hero-counter{font-size:.68rem;letter-spacing:.14em;color:#aaa;white-space:nowrap}
.hero-counter b{color:var(--paper);font-weight:700}

@media(max-width:767px){.hero-slider-controls{grid-template-columns:44px 1fr auto 44px}.hero-dots button{width:22px}.hero-frame{inset:5%}}
@media(prefers-reduced-motion:reduce){.hero-slide{transform:none;transition:opacity .15s linear}}

/* Local display typeface and minimal carousel controls */
@font-face{font-family:"Bebas Neue";src:url('/fonts/BebasNeue-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--display:"Bebas Neue","Arial Narrow","Roboto Condensed",sans-serif}
.hero-slider-controls{grid-template-columns:44px 1fr 44px;padding:0;background:transparent;border:0;backdrop-filter:none}
.hero-arrow{background:transparent;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.hero-dots{justify-content:center}
@media(max-width:767px){.hero-slider-controls{grid-template-columns:44px 1fr 44px}}

/* Hero typography: preserve the condensed reference without overlapping glyphs */
.hero h1{font-family:"Bebas Neue","Arial Narrow",sans-serif;font-weight:400;letter-spacing:.005em;line-height:.91;font-size:clamp(4rem,6.6vw,7.6rem)}

/* Minimal carousel navigation: side arrows and bottom progress marks only */
.hero-slider-controls{inset:0;display:block;pointer-events:none}
.hero-counter{display:none!important}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;pointer-events:auto;background:rgba(9,12,14,.12);border:1px solid rgba(255,255,255,.18);text-shadow:0 1px 8px rgba(0,0,0,.9)}
.hero-arrow[data-hero-prev]{left:clamp(.75rem,2vw,1.75rem)}
.hero-arrow[data-hero-next]{right:clamp(.75rem,2vw,1.75rem)}
.hero-arrow:hover,.hero-arrow:focus-visible{transform:translateY(-50%);background:rgba(255,52,28,.88);border-color:var(--red)}
.hero-dots{position:absolute;left:50%;bottom:clamp(1rem,2vw,1.75rem);transform:translateX(-50%);display:flex;pointer-events:auto}

@media(max-width:767px){.hero h1{font-size:clamp(3.4rem,15vw,5.1rem);line-height:.92}.hero-arrow{width:42px;height:42px}.hero-arrow[data-hero-prev]{left:.5rem}.hero-arrow[data-hero-next]{right:.5rem}}

/* Unified display typography across the complete public site */
.hero h1,
.section h2,
.final-cta h2,
.page-hero h1,
.agents-copy h2{
  font-family:"Bebas Neue","Arial Narrow",sans-serif;
  font-weight:400;
  letter-spacing:.012em;
  line-height:.94;
}
.project-placeholder strong{
  font-family:"Bebas Neue","Arial Narrow",sans-serif;
  font-weight:400;
  letter-spacing:.018em;
  line-height:1.02;
}
.proposal-note h2{
  font-family:"Bebas Neue","Arial Narrow",sans-serif;
  font-weight:400;
  letter-spacing:.015em;
  line-height:.98;
}
.agents-graphic,
.site-nav a{
  letter-spacing:.02em;
  font-weight:400;
}

/* Identity portal */
.identity-page{min-height:calc(100vh - 86px);padding:clamp(2rem,5vw,5rem) var(--gutter);display:grid;place-items:center;background:radial-gradient(circle at 82% 18%,rgba(255,52,28,.12),transparent 27%),linear-gradient(135deg,#090c0e 0%,#0c1012 58%,#150b09 100%);border-bottom:1px solid var(--line)}
.identity-shell{width:min(1180px,100%);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);border:1px solid var(--line);background:rgba(10,13,15,.9);box-shadow:0 28px 90px rgba(0,0,0,.32)}
.identity-intro{min-height:620px;padding:clamp(2.5rem,5vw,5.5rem);display:flex;flex-direction:column;position:relative;overflow:hidden;border-right:1px solid var(--line)}
.identity-intro:after{content:"";position:absolute;width:310px;height:310px;right:-170px;bottom:-170px;border:1px solid rgba(255,52,28,.5);transform:rotate(45deg);box-shadow:0 0 0 42px rgba(255,52,28,.025),0 0 0 84px rgba(255,52,28,.018)}
.identity-intro h1{font:400 clamp(3.7rem,6vw,6.8rem)/.91 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.012em;margin:0;max-width:720px}
.identity-intro h1 em{font-style:normal;color:var(--red)}
.identity-intro>p:not(.eyebrow){max-width:570px;color:var(--muted);font-size:clamp(.95rem,1.35vw,1.1rem);margin:2rem 0}
.identity-benefits{list-style:none;padding:0;margin:auto 0 0;max-width:560px}
.identity-benefits li{display:grid;grid-template-columns:42px 1fr;align-items:center;padding:.9rem 0;border-top:1px solid var(--line);color:#c9cac8;font-size:.86rem}
.identity-benefits span{color:var(--red);font-size:.65rem;letter-spacing:.14em}
.identity-panel{padding:clamp(2.2rem,4.5vw,4.5rem);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(21,26,29,.96),rgba(12,15,17,.98))}
.identity-panel-heading{margin-bottom:2.2rem}
.identity-panel-heading .eyebrow{margin-bottom:.8rem;color:var(--red)}
.identity-panel-heading h2{font:400 clamp(3rem,4.5vw,4.8rem)/.95 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.02em;margin:0}
.identity-panel-heading>p:not(.eyebrow){color:var(--muted);font-size:.88rem;margin:.7rem 0 0;max-width:400px}
.identity-form{display:grid;gap:1.25rem}
.identity-form .field{gap:.55rem}
.identity-form .field label{color:#d2d2cf;font-size:.66rem}
.identity-form .field input,.identity-form .field select{width:100%;min-height:54px;background:#0b0f11;border:1px solid #3a4043;border-radius:0;padding:1rem 1.05rem;color:var(--paper);transition:border-color .2s,box-shadow .2s}
.identity-form .field input::placeholder{color:#676b6d}
.identity-form .field input:focus,.identity-form .field select:focus{border-color:var(--red);outline:0;box-shadow:0 0 0 3px rgba(255,52,28,.12)}
.identity-label-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.identity-label-row a,.identity-panel-footer a{color:#d5d5d2;font-size:.76rem;border-bottom:1px solid rgba(255,52,28,.8)}
.identity-label-row a:hover,.identity-panel-footer a:hover{color:var(--red)}
.identity-check{display:flex;align-items:flex-start;gap:.7rem;color:#a9aaab;font-size:.8rem;cursor:pointer}
.identity-check input{width:17px;height:17px;margin:.15rem 0 0;accent-color:var(--red)}
.identity-submit{width:100%;border:0;cursor:pointer;margin-top:.35rem}
.identity-panel-footer{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.25rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 1.5rem;color:#8e9192;font-size:.8rem}
.identity-panel-footer p{margin:0}
.identity-secondary-link{border-bottom-color:#4b4f51!important}
.identity-form .field-validation-error{display:block;margin-top:.15rem}
.identity-form .validation-summary-errors{border-left:3px solid var(--red);background:rgba(255,52,28,.08);padding:.75rem 1rem}
.identity-form .validation-summary-errors ul{margin:0;padding-left:1.1rem}
.identity-link-error{border:1px solid rgba(255,52,28,.55);background:rgba(255,52,28,.09);padding:1rem 1.1rem;margin-bottom:1.2rem;color:#f2f0eb}.identity-link-error strong,.identity-link-error span{display:block}.identity-link-error strong{font-size:.9rem}.identity-link-error span{margin-top:.35rem;color:#b9bab8;font-size:.78rem;line-height:1.55}
.identity-message-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr)}
.identity-message-shell .identity-intro{min-height:520px}
.identity-message-mark{width:64px;height:64px;margin:0 0 1.5rem;border:1px solid rgba(255,52,28,.58);background:rgba(255,52,28,.1);color:var(--red);display:grid;place-items:center;font-size:1.55rem;font-weight:800;box-shadow:0 0 0 8px rgba(255,52,28,.025)}

@media(max-width:900px){.identity-page{place-items:start center}.identity-shell{grid-template-columns:1fr}.identity-intro{min-height:auto;border-right:0;border-bottom:1px solid var(--line);padding-bottom:3rem}.identity-intro h1{font-size:clamp(3.4rem,10vw,5.8rem)}.identity-benefits{margin-top:2rem}.identity-panel{padding-top:3rem;padding-bottom:3rem}}
@media(max-width:767px){.identity-page{min-height:calc(100vh - 72px);padding:1.1rem}.identity-shell{border-left:0;border-right:0}.identity-intro{padding:2.5rem 1.4rem 2rem}.identity-intro h1{font-size:clamp(3.2rem,16vw,4.8rem)}.identity-intro>p:not(.eyebrow){margin:1.3rem 0}.identity-benefits{display:none}.identity-panel{padding:2.2rem 1.4rem}.identity-panel-heading{margin-bottom:1.6rem}.identity-panel-heading h2{font-size:3.2rem}.identity-label-row{align-items:flex-end}.identity-panel-footer{display:block}.identity-panel-footer p{margin-bottom:.8rem}.identity-submit{min-height:54px}}

.identity-register-shell{width:min(1380px,100%);grid-template-columns:minmax(330px,.72fr) minmax(600px,1.28fr)}
.identity-register-panel{padding:clamp(2rem,3.5vw,3.5rem)}
.identity-register-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.identity-account-types{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.identity-account-types legend{grid-column:1/-1;text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;color:#d2d2cf;margin-bottom:.15rem}
.identity-account-types>label{cursor:pointer}.identity-account-types>label>input{position:absolute;opacity:0}
.identity-account-types>label>span{min-height:88px;border:1px solid #3a4043;background:#0b0f11;padding:.85rem 1rem;display:flex;flex-direction:column;justify-content:center;transition:.2s}
.identity-account-types>label>input:checked+span{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,52,28,.12)}
.identity-account-types strong,.identity-account-types small{display:block}.identity-account-types strong{font-size:.82rem}.identity-account-types small{color:#7e8385;font-size:.7rem;margin-top:.2rem;line-height:1.4}
.identity-success{border:1px solid #2c845e;background:#102d22;color:#d9f4e7;padding:1rem 1.1rem;margin-bottom:1.4rem}.identity-success strong,.identity-success span{display:block}.identity-success strong{font-size:.86rem}.identity-success span{font-size:.76rem;margin-top:.25rem;color:#a8d8c1}
.proposal-received{min-height:calc(100vh - 86px);padding:clamp(2rem,6vw,6rem) var(--gutter);display:grid;place-items:center;background:radial-gradient(circle at 75% 20%,rgba(255,52,28,.12),transparent 28%),linear-gradient(135deg,#090c0e,#111618)}
.proposal-received-card{width:min(1000px,100%);border:1px solid var(--line);padding:clamp(2rem,6vw,5rem);background:rgba(13,17,19,.95);box-shadow:0 35px 100px rgba(0,0,0,.35);position:relative;overflow:hidden}
.proposal-received-mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-weight:900;margin-bottom:2rem}.proposal-received h1{font:400 clamp(4rem,7vw,7.5rem)/.88 "Bebas Neue",sans-serif;text-transform:uppercase;margin:0}.proposal-received h1 em{font-style:normal;color:var(--red)}.proposal-received-card>p:not(.eyebrow){max-width:700px;color:var(--muted);font-size:1rem;margin:1.6rem 0}.proposal-received dl{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:2rem 0}.proposal-received dl>div{padding:1rem 0}.proposal-received dl>div+div{padding-left:1.5rem;border-left:1px solid var(--line)}.proposal-received dt{color:#777;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.proposal-received dd{margin:.25rem 0 0;font-weight:700}.proposal-received-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.proposal-received-steps span{font-size:.78rem;color:#c5c7c6}.proposal-received-steps b{color:var(--red);margin-right:.6rem}.proposal-received-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.2rem;flex-wrap:wrap}
@media(max-width:900px){.identity-register-shell{grid-template-columns:1fr}.identity-register-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.identity-register-grid,.identity-account-types,.proposal-received dl,.proposal-received-steps{grid-template-columns:1fr}.proposal-received dl>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.proposal-received-actions{display:grid}.proposal-received-actions .button{width:100%}}

/* Desktop hero: keep the complete first screen inside the available viewport */
@media(min-width:768px){
  .hero{
    height:calc(100svh - 86px);
    min-height:0;
    overflow:hidden;
  }
  .hero-copy{
    min-height:0;
    overflow:hidden;
    padding:clamp(1.5rem,4.5vh,4.25rem) var(--gutter) clamp(1rem,2.5vh,2rem);
  }
  .hero-primary{
    width:100%;
    margin:auto 0;
    padding:clamp(.5rem,2vh,1.5rem) 0;
  }
  .hero-primary>.eyebrow{
    margin-bottom:clamp(.65rem,1.8vh,1.5rem);
  }
  .hero h1{
    font-size:clamp(3rem,min(6.7vw,11vh),8.35rem);
    line-height:.9;
  }
  .hero-intro{
    margin:clamp(.8rem,2.3vh,2rem) 0;
    font-size:clamp(.88rem,min(1.2vw,2.15vh),1.15rem);
    line-height:1.45;
  }
  .hero-actions{
    gap:clamp(.6rem,1.2vw,1rem);
  }
  .hero-actions .button{
    min-height:clamp(42px,5.8vh,54px);
    padding:clamp(.55rem,1.2vh,.8rem) clamp(1rem,1.5vw,1.35rem);
  }
  .hero-meta{
    margin-top:0;
    padding-top:clamp(.65rem,2vh,2rem);
  }
  .hero-visual{
    height:100%;
    min-height:0;
  }
}

@media(min-width:1500px) and (min-height:850px){
  .hero{grid-template-columns:minmax(620px,46%) 1fr}
  .hero-copy{padding-left:clamp(4rem,5vw,6.5rem);padding-right:clamp(3rem,4vw,5rem)}
  .hero-intro{max-width:650px}
}

/* Editorial treatment for internal page introductions */
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 84% 25%,rgba(255,52,28,.14),transparent 24%),linear-gradient(125deg,#090c0e 0%,#0d1113 68%,#170b09 100%)}
.page-hero:before{content:"";position:absolute;z-index:-1;width:360px;height:360px;right:7%;top:50%;border:1px solid rgba(255,255,255,.08);transform:translateY(-50%) rotate(45deg);box-shadow:0 0 0 52px rgba(255,52,28,.022),0 0 0 104px rgba(255,255,255,.012)}
.page-hero:after{content:"";position:absolute;left:var(--gutter);bottom:0;width:min(180px,24vw);height:3px;background:var(--red)}

/* Proposal experience */
.proposal-page{background:#0b0e10}
.proposal-hero{min-height:clamp(580px,72vh,760px);max-width:1800px;margin:auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(440px,.88fr);position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.proposal-hero-visual{min-height:580px;background:linear-gradient(90deg,rgba(9,12,14,.04),rgba(9,12,14,.22)),url('/images/dragonexhibit-proposal-hero.jpg') center/cover no-repeat;position:relative}
.proposal-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,12,14,.72),transparent 45%)}
.proposal-hero-copy{padding:clamp(3rem,6vw,7rem) var(--gutter);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 100% 0,rgba(255,52,28,.15),transparent 36%),#0b0e10;border-left:5px solid var(--red)}
.proposal-hero-copy h1{font:400 clamp(4rem,6.2vw,7.5rem)/.91 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.012em;margin:0}
.proposal-hero-copy h1 em{font-style:normal;color:var(--red)}
.proposal-hero-copy>p:not(.eyebrow){color:#b8b9b8;font-size:clamp(.95rem,1.25vw,1.12rem);max-width:560px;margin:2rem 0}
.proposal-promise{margin-top:clamp(1rem,4vh,3rem);border-top:1px solid var(--line);display:grid}
.proposal-promise span{display:grid;grid-template-columns:38px 1fr;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--line);color:#c9cac9;font-size:.78rem;letter-spacing:.02em}
.proposal-promise b{color:var(--red);font-size:.63rem;letter-spacing:.14em}
.proposal-workspace{max-width:var(--max);margin:auto;padding:clamp(4rem,7vw,7rem) var(--gutter);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,7vw,7rem);align-items:start;background:radial-gradient(circle at 10% 15%,rgba(255,52,28,.055),transparent 23%)}
.proposal-note{position:sticky;top:120px;padding-top:1.2rem}
.proposal-note h2,.proposal-form-heading h2{font:400 clamp(3.1rem,4.7vw,5.4rem)/.94 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.015em;margin:0}
.proposal-note>p:not(.eyebrow){color:var(--muted);font-size:.94rem;max-width:480px;margin:1.5rem 0 2.5rem}
.proposal-assurances{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.proposal-assurances li{display:grid;grid-template-columns:44px 1fr;gap:.8rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.proposal-assurances li>span{color:var(--red);font-size:.63rem;letter-spacing:.12em;padding-top:.15rem}
.proposal-assurances strong,.proposal-assurances small{display:block}
.proposal-assurances strong{font-size:.86rem;color:#dededb}
.proposal-assurances small{font-size:.75rem;color:#7f8384;margin-top:.25rem;line-height:1.5}
.proposal-form-card{background:var(--paper);color:var(--ink);padding:clamp(2rem,4.5vw,4.5rem);box-shadow:0 30px 90px rgba(0,0,0,.28);position:relative}
.proposal-form-card:before{content:"";position:absolute;left:0;top:0;width:90px;height:5px;background:var(--red)}
.proposal-form-heading{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid #d3d0ca}
.proposal-form-heading .eyebrow{color:var(--red);margin-bottom:.75rem}
.proposal-form-heading h2{font-size:clamp(3rem,4.2vw,4.8rem)}
.proposal-form-heading>p:not(.eyebrow){color:#6b6d6c;font-size:.75rem;margin:.7rem 0 0}
.proposal-form{gap:1.2rem}
.proposal-form .field label{color:#424546;font-weight:700}
.proposal-form .field input,.proposal-form .field textarea,.proposal-form .field select{background:#fff;color:#111517;border-color:#c8c6c1;transition:border-color .2s,box-shadow .2s,background .2s}
.proposal-form .field input::placeholder,.proposal-form .field textarea::placeholder{color:#919391}
.proposal-form .field input:hover,.proposal-form .field textarea:hover{border-color:#7b7d7b}
.proposal-form .field input:focus,.proposal-form .field textarea:focus,.proposal-form .field select:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(255,52,28,.12);background:#fff}
.proposal-form .field textarea{min-height:180px}.proposal-form .field small{color:#6d706f;font-size:.72rem;line-height:1.4}.proposal-capabilities{gap:.4rem}.proposal-capability-options{padding:1rem;border:1px solid #c8c6c1;background:#fff}.proposal-capability-options>p{margin:.1rem 0 .75rem;color:#6d706f;font-size:.78rem}.proposal-capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.proposal-capability-grid label{display:flex;gap:.55rem;align-items:center;padding:.65rem .75rem;border:1px solid #d8d5cf;color:#242728;font-size:.84rem;cursor:pointer}.proposal-capability-grid input{width:auto;min-height:auto;padding:0;accent-color:var(--red)}
.proposal-form .field-validation-error,.proposal-form .validation-summary-errors{color:#b82011}
.proposal-form .form-disclaimer{color:#6d706f;line-height:1.5;margin:.25rem 0}
.proposal-submit{min-width:min(100%,270px);border:0;cursor:pointer}

/* Compact public application pages: the form is visible beside the context on desktop. */
.proposal-page-compact{min-height:calc(100vh - 86px);display:grid;align-items:center;padding:clamp(1.5rem,3vw,3rem) var(--gutter)}
.proposal-compact-layout{width:min(1540px,100%);margin:auto;display:grid;grid-template-columns:minmax(330px,.78fr) minmax(610px,1.22fr);gap:clamp(1.5rem,3vw,3.5rem);align-items:stretch}
.proposal-compact-side{background:#101416;border:1px solid var(--line);display:grid;grid-template-rows:minmax(190px,30vh) auto;overflow:hidden}
.proposal-compact-image{background:linear-gradient(90deg,rgba(9,12,14,.1),rgba(9,12,14,.34)),url('/images/dragonexhibit-proposal-hero.jpg') center/cover no-repeat;border-bottom:4px solid var(--red)}
.contractor-application-image{background-image:linear-gradient(90deg,rgba(9,12,14,.1),rgba(9,12,14,.34)),url('/images/dragonexhibit-proposal-hero.jpg')}
.agent-application-image{background-image:linear-gradient(90deg,rgba(9,12,14,.12),rgba(9,12,14,.36)),url('/images/dragonexhibit-agents-european-partner.jpg')}
.proposal-compact-copy{padding:clamp(1.5rem,2.6vw,2.8rem);background:radial-gradient(circle at 100% 0,rgba(255,52,28,.14),transparent 40%),#0b0e10}
.proposal-compact-copy .eyebrow{margin-bottom:1rem}.proposal-compact-copy h1{font:400 clamp(3rem,4.6vw,5.5rem)/.9 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.012em;margin:0}.proposal-compact-copy h1 em{font-style:normal;color:var(--red)}
.proposal-compact-copy>p:not(.eyebrow){color:#b8b9b8;font-size:.91rem;line-height:1.55;margin:1.15rem 0}.proposal-compact-copy .proposal-promise{margin-top:1.25rem}.proposal-compact-copy .proposal-promise span{padding:.55rem 0}
.proposal-compact-form{padding:clamp(1.8rem,3.2vw,3.2rem);align-self:stretch}.proposal-compact-form .proposal-form-heading{margin-bottom:1.45rem;padding-bottom:1.15rem}.proposal-compact-form .proposal-form-heading h2{font-size:clamp(2.5rem,3.5vw,4rem)}.proposal-compact-form .proposal-form{gap:.85rem 1rem}.proposal-compact-form .field{gap:.35rem}.proposal-compact-form .field input,.proposal-compact-form .field select{min-height:46px;padding:.68rem .8rem}.proposal-compact-form .field textarea{min-height:100px;padding:.68rem .8rem}.proposal-compact-form .form-disclaimer{font-size:.68rem}.proposal-compact-form .proposal-submit{min-height:48px}
/* Manual event details appear only after selecting Other exhibition. */
.proposal-page [data-manual-exhibition]{display:none}
.proposal-page:has([data-catalogue-exhibition] option:checked[value="0"]) [data-manual-exhibition]{display:flex}
.agent-industry-fieldset{grid-column:1/-1;margin:0;border:0;padding:0;background:transparent}.agent-industry-fieldset legend{display:block;width:100%;padding:0;margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:700;color:#424546}.agent-industry-fieldset legend em{color:var(--red);font-style:normal}.agent-industry-fieldset>p{margin:0;padding:.7rem .85rem 0;border:1px solid #c8c6c1;border-bottom:0;background:#fff;color:#6d706f;font-size:.72rem}.agent-industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem .75rem;padding:.8rem .85rem 1rem;border:1px solid #c8c6c1;border-top:0;background:#fff}.agent-industry-grid label{display:flex;align-items:center;gap:.45rem;min-height:38px;padding:.45rem .5rem;border:1px solid #e0ddd7;background:#fbfbfa;color:#303435;font-size:.72rem;line-height:1.2;text-transform:none!important;letter-spacing:0!important;cursor:pointer}.agent-industry-grid label:hover{border-color:#aaa49b;background:#fff}.agent-industry-grid input{width:15px!important;min-height:15px!important;margin:0;padding:0!important;accent-color:var(--red)}.proposal-form .field small{color:#6d706f;font-size:.67rem}.proposal-page [data-other-industry]{display:none}.proposal-page:has([data-industry-option][value="Other"]:checked) [data-other-industry]{display:flex}

@media(max-width:1000px){.proposal-hero{grid-template-columns:1fr 1fr}.proposal-hero-copy h1{font-size:clamp(3.7rem,7vw,5.5rem)}.proposal-workspace{grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:3rem}}
@media(max-width:767px){.page-hero:before{width:220px;height:220px;right:-100px}.proposal-hero{display:flex;flex-direction:column;min-height:auto}.proposal-hero-visual{min-height:48vh;order:2}.proposal-hero-copy{padding:3.4rem 1.35rem 3rem;border-left:0;border-bottom:5px solid var(--red)}.proposal-hero-copy h1{font-size:clamp(3.8rem,15vw,5.3rem)}.proposal-hero-copy>p:not(.eyebrow){margin:1.4rem 0}.proposal-promise{margin-top:1rem}.proposal-workspace{display:block;padding:3.5rem 1.1rem}.proposal-note{position:static;padding:0 .25rem 3rem}.proposal-note h2{font-size:3.6rem}.proposal-form-card{padding:2.5rem 1.25rem}.proposal-form-heading{margin-bottom:2rem}.proposal-form-heading h2{font-size:3.5rem}.proposal-submit{width:100%}}

@media(max-width:1050px){.proposal-page-compact{display:block}.proposal-compact-layout{grid-template-columns:1fr;max-width:760px}.proposal-compact-side{grid-template-columns:minmax(230px,.75fr) minmax(290px,1fr);grid-template-rows:none}.proposal-compact-image{border-bottom:0;border-right:4px solid var(--red)}}
@media(max-width:767px){.proposal-page-compact{padding:1rem}.proposal-compact-side{display:block}.proposal-compact-image{min-height:210px;border-right:0;border-bottom:4px solid var(--red)}.proposal-compact-copy{padding:1.5rem}.proposal-compact-copy h1{font-size:clamp(3rem,13vw,4.6rem)}.proposal-compact-form{padding:2rem 1.15rem}.proposal-compact-form .proposal-form-heading h2{font-size:3rem}}
@media(max-width:767px){.agent-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Public-site image system */
.services-section .service-card{position:relative;isolation:isolate;overflow:hidden;min-height:360px;background-size:cover;background-position:center;padding:2rem}
.services-section .service-card:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(9,12,14,.24),rgba(9,12,14,.93) 72%)}
.services-section .service-card:nth-child(1){background-image:url('/images/dragonexhibit-services-design-build.jpg')}
.services-section .service-card:nth-child(2){background-image:url('/images/dragonexhibit-services-onsite-support.jpg')}
.services-section .service-card:nth-child(3){background-image:url('/images/dragonexhibit-services-country-pavilion.jpg')}
.services-section .service-card:nth-child(4){background-image:url('/images/dragonexhibit-services-organizer-coordination.jpg')}
.services-section .service-card.featured{background-color:transparent}
.services-section .service-card.featured:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,rgba(255,52,28,.18),transparent 55%)}
.services-section .service-card p,.services-section .featured p{color:#c8c9c7}
.agents-photo,.process-visual{margin:0;overflow:hidden;border:1px solid var(--line);position:relative}
.agents-photo{aspect-ratio:1/1}
.agents-photo:after,.process-visual:after{content:"";position:absolute;inset:1rem;border:1px solid rgba(255,52,28,.32);pointer-events:none}
.agents-photo img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.process-visual{margin-bottom:2.2rem;aspect-ratio:2/1;background:#eee}
.process-visual img{width:100%;height:100%;object-fit:cover}
.final-cta{background:linear-gradient(rgba(9,12,14,.36),rgba(9,12,14,.74)),radial-gradient(ellipse at center,rgba(9,12,14,.94) 0 18%,rgba(9,12,14,.7) 36%,rgba(9,12,14,.16) 68%),url('/images/dragonexhibit-wide-final-cta.jpg') center/cover no-repeat;position:relative;isolation:isolate;text-shadow:0 3px 24px rgba(0,0,0,.8)}
.final-cta:after{content:"";position:absolute;z-index:-1;inset:9% 12%;border:1px solid rgba(255,255,255,.2);pointer-events:none}

.services-visual-grid{max-width:var(--max);margin:auto;padding:clamp(3rem,6vw,6rem) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.service-feature{background:var(--panel);border:1px solid var(--line);overflow:hidden}
.service-feature img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;transition:transform .7s ease;background:#0d1113}
.service-feature:hover img{transform:none;filter:brightness(1.04)}
.service-feature>div{padding:clamp(1.5rem,3vw,2.5rem);position:relative}
.service-feature>div>span{position:absolute;right:2rem;top:2rem;color:var(--red);font-size:.65rem;letter-spacing:.15em}
.service-feature h2{font:400 clamp(2.2rem,3.6vw,4rem)/.95 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.015em;margin:0 3rem .8rem 0}
.service-feature p{color:var(--muted);font-size:.88rem;max-width:570px;margin:0}

.story-visual{max-width:var(--max);margin:auto;padding:clamp(3rem,7vw,7rem) var(--gutter);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(3rem,7vw,7rem);align-items:center;border-bottom:1px solid var(--line)}
.story-visual-reverse{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr)}
.story-image{position:relative;overflow:hidden;border:1px solid var(--line)}
.story-image:after{content:"";position:absolute;inset:1rem;border:1px solid rgba(255,52,28,.38);pointer-events:none}
.story-image img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
.story-copy h2{font:400 clamp(3rem,4.8vw,5.7rem)/.94 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.015em;margin:0}
.story-copy>p:not(.eyebrow){color:var(--muted);font-size:.92rem;margin:1.5rem 0}

.contact-hero{min-height:calc(100vh - 86px);max-width:1800px;margin:auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);border-bottom:1px solid var(--line)}
.contact-hero-image{overflow:hidden;position:relative}
.contact-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(9,12,14,.42))}
.contact-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.contact-hero-copy{padding:clamp(3rem,6vw,7rem) var(--gutter);display:flex;flex-direction:column;justify-content:center;border-left:5px solid var(--red);background:radial-gradient(circle at 100% 0,rgba(255,52,28,.12),transparent 35%),#0b0e10}
.contact-hero-copy h1{font:400 clamp(4rem,6vw,7rem)/.91 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.015em;margin:0}
.contact-hero-copy>p:not(.eyebrow){color:var(--muted);font-size:clamp(.95rem,1.3vw,1.12rem);max-width:570px;margin:1.7rem 0}
.contact-channels{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 2rem}
.contact-channels span{border:1px solid var(--line);padding:.45rem .65rem;color:#c4c6c5;text-transform:uppercase;letter-spacing:.08em;font-size:.58rem}

@media(max-width:767px){.services-section .service-card{min-height:330px}.services-visual-grid{grid-template-columns:1fr;padding:2.5rem 1.1rem}.story-visual,.story-visual-reverse{grid-template-columns:1fr;padding:3rem 1.1rem;gap:2.5rem}.story-copy h2{font-size:3.5rem}.process-visual{aspect-ratio:1.35/1;overflow-x:auto}.process-visual img{width:auto;max-width:none;height:100%;object-position:left center}.contact-hero{display:flex;flex-direction:column;min-height:auto}.contact-hero-image{height:52vh}.contact-hero-copy{padding:3.5rem 1.35rem;border-left:0;border-top:5px solid var(--red)}.contact-hero-copy h1{font-size:4.2rem}.final-cta{background-position:center}.final-cta:after{inset:5%}}

/* Content images preserve their complete composition */
.image-show-complete{align-self:start;background:#0d1113}
.service-intelligence-band{max-width:var(--max);margin:auto;padding:clamp(3.5rem,7vw,7rem) var(--gutter);display:grid;grid-template-columns:.55fr 1.15fr .8fr;gap:clamp(2rem,5vw,5rem);border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 25%,rgba(255,52,28,.08),transparent 24%)}
.service-intelligence-band h2{font:400 clamp(3rem,4.5vw,5rem)/.94 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.015em;margin:0}
.service-intelligence-band div>p{color:var(--muted);font-size:.92rem;line-height:1.75;margin:1.2rem 0 0}
.service-intelligence-band ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.service-intelligence-band li{display:grid;grid-template-columns:36px 1fr;gap:.7rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.78rem;color:#c7c8c6}
.service-intelligence-band li span{color:var(--red);font-size:.6rem;letter-spacing:.12em}
.service-feature p+p{margin-top:.75rem}
.shell-scheme-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:stretch}
.shell-scheme-feature>.shell-scheme-visual{min-height:430px;padding:2.5rem;display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:10px;position:relative;overflow:hidden;background:linear-gradient(180deg,#20272b,#0e1214)}
.shell-scheme-visual:before{content:"";position:absolute;inset:8% 5%;background:repeating-linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.22) 18.2% 18.45%,transparent 18.7% 25%),repeating-linear-gradient(0deg,transparent 0 23%,rgba(255,255,255,.14) 23.2% 23.5%,transparent 23.7% 34%);border:2px solid #aeb6ba;box-shadow:inset 0 0 0 10px #252c30}
.shell-scheme-visual i{height:58%;z-index:1;border:2px solid #aeb6ba;background:linear-gradient(135deg,#f4f2ec 0 70%,#dad7d0 70%);box-shadow:inset 0 -7px 0 var(--red);position:relative}
.shell-scheme-visual i:before{content:"";position:absolute;left:15%;right:15%;top:18%;height:18%;background:#c8cdd0;border:1px solid #969ea3}
.shell-scheme-visual span{position:absolute;z-index:2;left:50%;right:auto;top:auto;bottom:1rem;transform:translateX(-50%);white-space:nowrap;text-transform:uppercase;letter-spacing:.15em;font-size:.58rem;color:#d5d8d9;background:#101416;padding:.5rem .75rem}
.shell-scheme-feature>div:last-child{display:flex;flex-direction:column;justify-content:center}
.process-intro{color:var(--muted);max-width:900px;margin:-1.5rem 0 2.5rem;font-size:.92rem;line-height:1.75}
.intelligence-principles{max-width:var(--max);margin:auto;padding:0 var(--gutter) clamp(4rem,8vw,8rem);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.intelligence-principles article{background:var(--panel);padding:clamp(1.7rem,3vw,3rem)}
.intelligence-principles span{color:var(--red);font-size:.62rem;letter-spacing:.14em}
.intelligence-principles h2{font:400 clamp(2rem,3vw,3.2rem)/.98 "Bebas Neue","Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.015em;margin:2.5rem 0 .9rem}
.intelligence-principles p{color:var(--muted);font-size:.82rem;line-height:1.65;margin:0}
@media(max-width:900px){.service-intelligence-band{grid-template-columns:1fr 1fr}.service-intelligence-band>.eyebrow{grid-column:1/-1}.shell-scheme-feature{grid-template-columns:1fr}.intelligence-principles{grid-template-columns:1fr}}
@media(max-width:767px){.service-intelligence-band{grid-template-columns:1fr;padding:3.5rem 1.1rem}.service-intelligence-band>.eyebrow{grid-column:auto}.shell-scheme-feature>.shell-scheme-visual{min-height:320px;padding:1.2rem}.shell-scheme-visual span{white-space:normal;text-align:center}.process-intro{margin-top:-.5rem}}

/* Readable public typography, including the Chinese public experience. */
:root{--display:"Aptos Display","Segoe UI",Arial,sans-serif;--body:"Aptos","Segoe UI",Arial,sans-serif}
body{font-size:17px;line-height:1.65}
h1,h2,h3{font-family:var(--display)!important;font-stretch:normal!important;text-transform:none!important;letter-spacing:-.025em!important;line-height:1.08!important}
.hero h1{font-size:clamp(3.2rem,6vw,6.4rem)!important}
.page-hero h1,.final-cta h2{font-size:clamp(2.8rem,5.3vw,5.6rem)!important}
.eyebrow,.hero-meta,.proof-strip strong,.footer-bottom,.contact-channels span{letter-spacing:.08em}
html[lang="zh"] body{font-family:"Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC","PingFang SC",sans-serif;line-height:1.8}
html[lang="zh"] h1,html[lang="zh"] h2,html[lang="zh"] h3{font-family:"Microsoft YaHei UI","Microsoft YaHei","Noto Sans SC","PingFang SC",sans-serif!important;font-weight:700;letter-spacing:0!important;line-height:1.35!important}
html[lang="zh"] .eyebrow,html[lang="zh"] .hero-meta,html[lang="zh"] .proof-strip strong,html[lang="zh"] .footer-bottom,html[lang="zh"] .contact-channels span{text-transform:none;letter-spacing:.04em}
html[lang="zh"] .hero-intro,html[lang="zh"] .section-heading>p:not(.eyebrow),html[lang="zh"] .story-copy>p:not(.eyebrow){line-height:1.85}

.contact-details{max-width:var(--max);margin:auto;padding:clamp(4rem,8vw,8rem) var(--gutter);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,8vw,8rem);border-bottom:1px solid var(--line);background:radial-gradient(circle at 14% 20%,rgba(255,52,28,.08),transparent 26%)}
.contact-details h2{font-size:clamp(2.8rem,4.8vw,5.2rem);margin:0}.contact-details-intro>p:not(.eyebrow){max-width:560px;color:var(--muted);margin:1.5rem 0 0}
.contact-detail-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.contact-detail-grid article{padding:1.7rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}
.contact-detail-grid span{color:var(--red);font-size:.66rem;letter-spacing:.12em}.contact-detail-grid h3{font-size:1.5rem;margin:2.7rem 0 .8rem}.contact-detail-grid a{display:block;color:var(--paper);font-weight:700;overflow-wrap:anywhere}.contact-detail-grid p{margin:1rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.65}
#wechat{scroll-margin-top:7rem}.contact-detail-grid .contact-wechat-id{color:var(--paper);overflow-wrap:anywhere}.contact-wechat-id strong{font-weight:700}.contact-detail-grid .contact-wechat-qr{width:100%;max-width:230px;margin-top:1.25rem;padding:10px;background:#fff;border-radius:6px}.contact-wechat-qr img{display:block;width:100%;height:auto}.contact-wechat-qr:focus-visible{outline:3px solid var(--red);outline-offset:5px}
@media(max-width:767px){.contact-details{grid-template-columns:1fr;padding:3.5rem 1.1rem;gap:2.5rem}.contact-detail-grid{grid-template-columns:1fr}.contact-detail-grid article{border-right:0}.contact-detail-grid h3{margin-top:2rem}}

/* Public reading scale: keep strong headings, but give explanatory copy equal weight. */
body{font-size:18px;line-height:1.72}
.site-nav a,.header-login{font-size:.98rem}.language-switcher a{font-size:.78rem}
.button{font-size:.95rem}.button-small{font-size:.84rem}
.eyebrow{font-size:.76rem}.hero-intro{font-size:clamp(1.08rem,1.35vw,1.3rem);line-height:1.7}
.section-heading>p:not(.eyebrow),.agents-copy>p:not(.eyebrow),.page-hero>p:not(.eyebrow),.content-card p{font-size:1.08rem;line-height:1.75}
.service-card p,.services-section .service-card p{font-size:1rem;line-height:1.68}.service-card h3{font-size:clamp(1.55rem,2.1vw,2.15rem)}
.check-list li{font-size:1rem;line-height:1.6}.process-list strong{font-size:1.08rem}.process-list small{font-size:.88rem;line-height:1.45}
.service-intelligence-band div>p,.process-intro,.story-copy>p:not(.eyebrow),.contact-hero-copy>p:not(.eyebrow){font-size:1.08rem;line-height:1.78}
.service-intelligence-band li{font-size:.96rem;line-height:1.55}.intelligence-principles p{font-size:.98rem;line-height:1.72}
.service-feature h2{font-size:clamp(2.35rem,3.25vw,3.65rem);line-height:1.03!important}.service-feature p{font-size:1.05rem;line-height:1.72;max-width:620px}
.story-copy h2{font-size:clamp(2.8rem,4.2vw,4.8rem);line-height:1.08!important}.contact-detail-grid p{font-size:.98rem;line-height:1.72}.contact-detail-grid a{font-size:1.04rem}
.proposal-hero-copy>p:not(.eyebrow),.proposal-note>p:not(.eyebrow){font-size:1.06rem;line-height:1.72}.proposal-promise span{font-size:.94rem}.proposal-assurances strong{font-size:.98rem}.proposal-assurances small{font-size:.9rem;line-height:1.6}.proposal-form-heading>p:not(.eyebrow),.form-disclaimer{font-size:.9rem}.proposal-form .field label,.field label{font-size:.75rem}.proposal-form .field input,.proposal-form .field textarea,.proposal-form .field select{font-size:1rem}
.site-footer>div:not(.footer-bottom) a:not(.brand),.footer-brand p{font-size:.92rem}.footer-bottom{font-size:.78rem}
@media(max-width:767px){body{font-size:17px}.site-nav a{font-size:2rem}.hero-intro,.section-heading>p:not(.eyebrow),.service-feature p,.story-copy>p:not(.eyebrow),.contact-hero-copy>p:not(.eyebrow){font-size:1.02rem}.service-feature h2{font-size:clamp(2.15rem,9vw,3rem)}.service-card p{font-size:.98rem}}

/* Public application validation: every failed submit is visible at the top of the form. */
.proposal-form .validation-summary-errors:not(:empty){grid-column:1/-1;margin:0 0 .5rem;padding:.85rem 1rem;border:1px solid #e8a197;border-left:4px solid var(--red);background:#fff3f1;color:#932719;font-size:.92rem;line-height:1.5}
.proposal-form .validation-summary-errors ul{margin:.4rem 0 0;padding-left:1.2rem}.proposal-form .validation-summary-errors li+li{margin-top:.2rem}
.proposal-form .field .field-validation-error:not(:empty){display:block;margin-top:.45rem;color:#b82011;font-size:.82rem;line-height:1.45}

/* Company identity is rendered consistently across Agent, Contractor and exhibitor records. */
.portal-company-identity,.portal-panel-company-title,.portal-record-title{display:flex;align-items:center;gap:.8rem;min-width:0}.portal-company-identity>div{min-width:0}.portal-company-identity img,.portal-company-monogram{width:42px;height:42px;flex:0 0 42px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.portal-company-monogram{display:grid;place-items:center;color:var(--red);font-weight:800}.portal-panel-company-title{margin:.45rem 0 1.6rem}.portal-panel-company-title h2{margin:0}.portal-panel-company-title .portal-company-logo{width:64px;height:64px;object-fit:contain;margin:0}.portal-record-title{margin:.25rem 0 .8rem}.portal-record-title h1{margin:0}.portal-record-title img{width:72px;height:72px;flex:0 0 72px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff}
@media(max-width:767px){.portal-record-title img{width:52px;height:52px;flex-basis:52px}.portal-record-title{align-items:flex-start}}

/* Contractor overview is a compact working list, not a pair of static counters. */
.portal-overview-records{margin-top:1.5rem;padding:clamp(1.5rem,3vw,2.4rem);border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 18px 48px rgba(16,24,32,.06)}.portal-overview-records-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.portal-overview-records-heading h2{margin:.35rem 0}.portal-overview-records-heading p:not(.portal-kicker){margin:0;color:var(--muted)}.portal-overview-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.85rem}.portal-overview-record{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.portal-overview-record:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,24,32,.08)}.portal-overview-record img{width:46px;height:46px;flex:0 0 46px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.portal-overview-record>span:not(.portal-company-monogram){display:grid;gap:.15rem;min-width:0}.portal-overview-record strong{overflow-wrap:anywhere}.portal-overview-record small{color:var(--muted)}.portal-overview-record>b{margin-left:auto;color:var(--red);font-size:1.25rem}@media(max-width:767px){.portal-overview-records-heading{align-items:stretch;flex-direction:column}.portal-overview-records-heading .portal-secondary-action{text-align:center}}
/* Mobile menu access mirrors the hidden header actions without duplicating them at wider widths. */
.site-nav-login,.site-nav-auth{display:none}
@media(max-width:767px){.site-nav-login,.site-nav-auth{display:flex}.site-nav-auth{width:100%}.site-nav-auth button{width:100%;padding:1rem 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:#d3d3d1;text-align:left;font:700 2.5rem/1 var(--display);text-transform:uppercase;cursor:pointer}.site-nav-auth button:hover,.site-nav-auth button:focus-visible{color:var(--red)}}

/* Batch 6: five public service destinations and direct fragment navigation. */
.services-section .service-card.service-card-custom{background-image:url('/images/dragonexhibit-services-design-build.jpg')}
.services-section .service-card.service-card-shell{background-image:url('/images/dragonexhibit-services-shell-scheme.jpg')}
.services-section .service-card.service-card-hybrid{background-image:url('/images/service-hybrid-booths.jpg')}
.services-section .service-card.service-card-group{background-image:url('/images/dragonexhibit-services-country-pavilion.jpg')}
.services-section .service-card.service-card-equipment{background-image:url('/images/dragonexhibit-services-onsite-support.jpg')}
.services-section .service-card:last-child{grid-column:1/-1;border-right:0}
.services-section .service-card>a{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.42);transition:background .2s,border-color .2s,transform .2s}
.services-section .service-card>a:hover,.services-section .service-card>a:focus-visible{background:var(--red);border-color:var(--red);transform:translate(2px,-2px)}
.services-visual-grid{display:flex;flex-direction:column;gap:clamp(2rem,4vw,4rem)}
.service-detail{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:start;scroll-margin-top:calc(86px + 1rem)}
.service-detail:nth-child(even){grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}
.service-detail:nth-child(even)>img{order:2}
.service-detail>img{width:100%;height:auto!important;aspect-ratio:3/2!important;object-fit:contain!important;background:#0d1113}
.service-detail:target{outline:2px solid var(--red);outline-offset:4px}
.service-feature-copy{padding:clamp(2rem,4vw,4rem)!important}
.service-feature-copy h3{margin:1.7rem 0 .55rem;font-size:1rem;letter-spacing:.03em;color:var(--paper)}
.service-feature-copy ul{margin:.2rem 0 0;padding-left:1.25rem;color:var(--muted);font-size:1rem;line-height:1.65}
.service-feature-copy li+li{margin-top:.35rem}
.service-feature-copy .service-lead{font-size:1.12rem;color:#d2d3d1}
.service-feature-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.25rem 1.75rem;margin-top:2rem}
.service-feature-actions .button span,.service-feature-actions .text-link span{position:static;color:inherit;font-size:inherit;letter-spacing:normal}
.service-feature-actions .text-link{font-size:.92rem}
@media(max-width:767px){.services-section .service-card:last-child{grid-column:auto}.service-detail,.service-detail:nth-child(even){display:flex;flex-direction:column;scroll-margin-top:calc(72px + 1rem)}.service-detail:nth-child(even)>img{order:0}.service-feature-copy{padding:1.6rem 1.25rem 2rem!important}.service-feature-copy ul{font-size:.98rem}.service-feature-actions{align-items:stretch;flex-direction:column}.service-feature-actions .button,.service-feature-actions .text-link{width:100%}.service-feature-actions .text-link{justify-content:space-between}}

/* Batch 4: shared, text-based required and optional field identification. */
.required-marker { color: var(--portal-red, #c0392b); font-weight: 700; white-space: nowrap; }
.field-optional { font-size: .85em; font-weight: 400; color: inherit; }
.required-fields-note { font-size: .875rem; margin: 0 0 1rem; grid-column: 1 / -1; }
.required-choice-group { min-width: 0; border: 0; padding: 0; margin: 0; }
.required-choice-group > legend { font: inherit; font-weight: 600; margin-bottom: .5rem; }

/* Public Projects: the approved exhibition network, without project-gallery claims. */
.page-hero.projects-opening{padding:clamp(3rem,6vw,6rem) var(--gutter) 3rem}
.page-hero.projects-opening>p:not(.eyebrow){max-width:850px}
.projects-network{padding-top:clamp(3rem,5vw,5rem);padding-bottom:clamp(3rem,5vw,5rem)}
.projects-network h2{max-width:900px;font-size:clamp(2.2rem,4vw,4rem)}
.projects-network-description{max-width:850px;margin:1.5rem 0 .75rem;color:var(--muted);font-size:1.08rem;line-height:1.75}
.organiser-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;list-style:none;margin:0;padding:0}
.organiser-logo-grid li{display:flex;align-items:center;justify-content:center;min-width:0;height:104px;padding:.75rem;background:transparent;border:1px solid var(--line);border-radius:0}
.organiser-logo-grid img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.projects-supporting-statement{max-width:850px;margin:2rem 0 0;font-size:1.15rem}
@media(min-width:1400px){.organiser-logo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1100px){.organiser-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.organiser-logo-grid li{height:96px}}
@media(max-width:767px){.organiser-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.organiser-logo-grid li{height:88px}.projects-network-description{font-size:1.02rem}}

/* Batch 8: compact Services introduction, using the existing public design tokens. */
.page-hero.services-opening{padding:clamp(2rem,4vw,3.5rem) var(--gutter) 2rem}
.page-hero.services-opening h1{max-width:1000px;font-size:clamp(2.6rem,4.7vw,4.6rem)!important}
.page-hero.services-opening>p:not(.eyebrow){max-width:850px;margin:1.25rem 0 0;font-size:1.05rem;line-height:1.65}
.services-opening .service-feature-actions{margin-top:1.4rem}
.services-overview{margin-top:2rem}
.services-overview ol{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;padding:0;margin:0}
.services-overview li{min-width:0}
.services-overview a{height:100%;min-height:86px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:1rem;background:var(--panel);border:1px solid var(--line);font-size:.9rem;line-height:1.4;color:var(--paper);text-decoration:none}
.services-overview a>span{color:var(--red);font-size:.7rem}
.services-overview a:hover{border-color:var(--red);background:var(--panel-2)}
.services-overview a:focus-visible,.services-opening .text-link:focus-visible{outline:2px solid var(--paper);outline-offset:4px;border-color:var(--red)}
@media(max-width:1100px){.services-overview ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.page-hero.services-opening{padding:1.75rem var(--gutter) 1.5rem}.page-hero.services-opening h1{font-size:2.3rem!important}.page-hero.services-opening>p:not(.eyebrow){font-size:.98rem;margin-top:1rem}.services-opening .service-feature-actions{gap:.85rem;margin-top:1.1rem}.services-overview{margin-top:1.5rem}.services-overview ol{grid-template-columns:1fr;gap:.45rem}.services-overview a{min-height:48px;padding:.65rem .8rem;grid-template-columns:24px minmax(0,1fr) auto}}

/* Approved exhibition names share the existing compact organiser grid. */
.organiser-logo-grid li{flex-direction:column;gap:.35rem}
.organiser-logo-image{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;width:100%}
.organiser-logo-caption{flex:none;max-width:100%;font-size:.7rem;line-height:1.2;text-align:center;color:var(--muted)}
.exhibition-name-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 2rem;margin:1.5rem 0 0;padding-left:1.4rem;color:var(--muted);font-size:.9rem;line-height:1.55}
.exhibition-name-list li{padding-left:.2rem;overflow-wrap:anywhere}
@media(max-width:767px){.exhibition-name-list{grid-template-columns:1fr}}
