/* Shared phone and compact-tablet layout. Loaded after page-specific styles. */
@media(max-width:1100px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;position:relative;min-height:96px}
 .header-inner>.brand{min-width:0}.brand>span{display:none}
 .header-inner .header-cta{order:2}.header-inner .menu-toggle{order:3;display:flex;align-items:center;justify-content:center;gap:7px;min-width:56px;min-height:44px}
 .header-inner nav,.header-inner nav.open{position:static;inset:auto;order:4;grid-column:1/-1;flex-direction:column;align-items:stretch;gap:0;width:100%;margin:0 0 18px;padding:10px 20px;border:1px solid #526c94;border-radius:18px;box-sizing:border-box}
 .header-inner nav{display:none}.header-inner nav.open{display:flex}
 .header-inner nav a,.header-inner nav.open a{font-size:14px;line-height:1.5;letter-spacing:.7px;padding:15px 0;min-height:48px;white-space:normal}
 .header-inner nav a+a{border-top:1px solid #354b70}
}
@media(max-width:800px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:20px}
 body{font-size:17px;line-height:1.65}
 .wrap{width:calc(100% - 40px)}
 main section,main article,main aside,main form,main fieldset,main label,main .section-top>*,.client-profile-copy,.show-heading{min-width:0}
 main h1,main h2,main h3,main p,main li,main strong,main label,footer h2{overflow-wrap:break-word}
 main p{font-size:17px!important;line-height:1.75!important}
 .eyebrow,.show-heading>.eyebrow,.show-card .eyebrow,.event-copy .eyebrow,.event-facts .eyebrow,.guide-timeline span,.layout-grid .eyebrow{font-size:12px;line-height:1.6;letter-spacing:1px;font-weight:650}
 main .review-note,main .guide-sources p,main .contact-note,main .work-credit,.case-story small,.wide-image>span,.case-disclosure{font-size:14px!important;line-height:1.75!important}
 .page-intro{padding:40px 0 36px}
 .page-intro h1,.clients-intro h1,.portfolio-intro h1,.admin-intro h1,.show-heading h1{font-size:clamp(38px,9.5vw,54px);line-height:1.12;letter-spacing:-1.8px;margin-top:20px}
 .page-intro>p{margin-top:24px;max-width:100%}
 .page-intro>.hero-actions{margin-top:26px}
 .page-intro>.button{margin-top:24px}
 .selected,.expertise,.process,.buyer-guide,.related,.show-focus{padding-top:48px;padding-bottom:48px}
 .section-top{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:28px}
 .section-top h2,.statement h2,.international h2,.service-feature h2,.about-feature h2,.case-story h2,.overseas-brief h2,.planning-bridge h2,.requirements-deep h2,.guide-overview h2,.exhibitor-deep h2,.guide-responsibilities h2{font-size:clamp(29px,7.5vw,38px);line-height:1.16;letter-spacing:-1.2px}
 .section-top h2{margin-top:16px}.section-top>p{max-width:100%}
 .guide-grid h3,.steps h3,.guide-visit-grid h3,.guide-timeline h3,.layout-grid h3,.show-work-card h3,.service-card-copy h3{font-size:25px;line-height:1.25;letter-spacing:-.7px}
 .button{font-size:15px;line-height:1.5;min-height:50px;padding:15px 22px;gap:18px;white-space:normal;text-align:left;max-width:100%}
 .under-link{font-size:15px;line-height:1.6;min-height:44px;align-items:center;padding:8px 0;max-width:100%}
 main p+.button,main p+.under-link{margin-top:20px}
 .hero-actions{gap:12px;flex-wrap:wrap}.hero-actions .button{font-size:15px}
 .guide-intent{gap:10px 20px;margin:24px 0}.guide-intent a,.guide-jump a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:8px 0}
 .guide-jump{gap:4px 20px;padding:18px 0;margin-bottom:8px}
 .mini-list span,.overseas-checklist span,.requirements-deep li,.capability-list li,.planning-layout li,.source-notes li,.buyer-guide li{font-size:17px;line-height:1.75}
 .service-card-photo{height:250px}.service-card-photo>span{font-size:12px;line-height:1.6;inset:auto 14px 14px;padding:10px 12px}
 .service-card-copy{padding:24px}.service-card-copy h3{margin:16px 0}.service-card-copy p{margin-bottom:18px}
 .service-feature,.about-feature{gap:28px;padding-bottom:12px}
 .service-feature>img,.about-feature>img{height:300px}
 .service-feature h2,.about-feature h2{margin-bottom:24px}
 .guide-grid,.steps,.related-grid{gap:28px}
 .project-grid{gap:30px 20px}.project h3{font-size:23px;line-height:1.3;margin-top:16px}
 main .project p{font-size:14px!important;line-height:1.7!important;margin-top:10px}
 .project-image>span{font-size:11px;line-height:1.5;padding:9px 12px}
 .project-facts{gap:22px;padding:24px 0}.project-facts span{font-size:12px;line-height:1.6;margin-bottom:8px}.project-facts strong{font-size:16px;line-height:1.6}
 .case-story{gap:24px;padding:40px 0 20px}.case-story p{margin-bottom:18px}
 .show-hero{padding:36px 0 32px;gap:28px}.show-heading .show-back{margin-bottom:24px;min-height:44px;display:flex;align-items:center}
 .show-heading h1{margin-bottom:24px}.show-heading>p{margin-bottom:24px}
 .hero-event-meta{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:15px!important;line-height:1.6!important}
 .show-hero-photo{height:clamp(240px,65vw,340px)}.show-hero-photo>span{padding:12px 16px;font-size:12px;line-height:1.6;letter-spacing:.5px}
 .event-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:22px;gap:24px 20px}.event-facts strong{font-size:16px;line-height:1.6;display:block;margin-top:8px}
 .guide-overview,.requirements-deep{padding-top:40px;gap:28px}.guide-overview aside{padding:24px}.guide-overview aside p{font-size:16px!important}
 .event-locations{padding-top:40px}.location-grid article>div{padding:24px}.location-grid h3{font-size:26px;line-height:1.25;letter-spacing:-.8px;margin:16px 0}
 .location-grid iframe{width:100%;height:280px;min-height:0;border:0}
 .guide-visit-band,.show-work-band{padding:44px 0}.guide-visit-grid,.guide-timeline{gap:28px}.visitor-essentials{padding:24px;gap:18px}
 .layout-section{padding-top:44px;padding-bottom:28px}.layout-grid{gap:20px}.layout-grid article{padding:22px}.layout-grid h3{margin:16px 0}
 .layout-note{gap:20px}.show-work-card>div,.show-work-grid:has(>:only-child) .show-work-card>div{height:260px;margin-bottom:18px}
 .show-planning{padding:44px 0 28px}.show-faq{padding:24px 0 40px}.show-faq summary{font-size:17px;line-height:1.6;min-height:44px}.show-faq details{padding:18px 0}
 .show-card h3{font-size:29px;line-height:1.2;letter-spacing:-1px}.show-card-copy{padding:24px!important}.show-card-copy .under-link{margin-top:0}
 .show-cards,.show-work-grid{gap:28px}.shows-home,.shows-hub{padding-top:36px;padding-bottom:44px}
 .responsibility-table th,.responsibility-table td{font-size:15px;line-height:1.7;padding:16px 12px;overflow-wrap:break-word}.responsibility-table th{min-width:0;width:33%}
 .planning-bridge{padding-top:40px;padding-bottom:44px;gap:26px}.planning-bridge p{margin-top:20px}
 .guide-sources{padding-top:28px;padding-bottom:40px}.guide-sources p{margin:18px 0}
 .calendar-controls label,.compare-controls label,.month-toolbar label{font-size:15px;line-height:1.6}.calendar-controls{gap:18px}.calendar-controls label{margin:0}
 .calendar-controls input,.calendar-controls select,.month-toolbar input,.compare-controls select{font-size:16px;min-height:50px;padding:12px 14px;max-width:100%;min-width:0}
 .calendar-toolbar{gap:16px;flex-wrap:wrap;margin:28px 0}.calendar-modes button{min-height:46px;font-size:14px;padding:12px 16px}.calendar-key{font-size:14px;line-height:1.7;margin:18px 0}
 .event-row{gap:16px;padding:28px 0;grid-template-columns:54px minmax(0,1fr)}.event-copy .eyebrow{font-size:12px}.event-copy h2{font-size:25px;line-height:1.25;letter-spacing:-.8px;margin:14px 0}
 .event-date{padding-right:10px}.event-date strong{font-size:24px}.event-date .eyebrow{font-size:12px}
 .event-actions{gap:8px}.event-actions a,.calendar-save{font-size:14px;line-height:1.6;min-height:44px;display:flex;align-items:center;max-width:100%;white-space:normal}.calendar-save{padding:12px 15px;justify-content:center}
 .month-toolbar{gap:12px;align-items:end}.month-toolbar>button{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}.month-toolbar label{flex:1;min-width:0;margin:0}.month-toolbar input{width:100%;max-width:100%}
 .calendar-weekdays,.calendar-grid{gap:5px}.calendar-weekdays span{font-size:12px;text-align:center}.calendar-day,.calendar-blank{min-width:0;min-height:54px;padding:8px 5px;font-size:15px}.calendar-day-label{display:none}.calendar-dot{font-size:7px;top:9px;right:6px}
 .brief{padding-bottom:48px;gap:32px}.brief aside{padding:24px}.brief aside h2{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:20px 0}.contact-note{margin-top:28px;padding-top:22px}.contact-note span,.step-caption{font-size:13px;line-height:1.6;letter-spacing:.8px}
 .form-step{margin-bottom:28px;padding-top:24px}.form-step label{font-size:16px;line-height:1.6;margin-bottom:22px}.form-step input,.form-step textarea,.form-step select{font-size:16px;line-height:1.6;min-height:50px;padding:13px 12px;margin-top:8px;border:1px solid #52698e;border-radius:10px;background:#101d34;color:#faf6e9}
 .form-step textarea{min-height:130px}.field-note{font-size:14px;line-height:1.7}.form-row{gap:0}
 .industry-controls .project-type-wrap{font-size:15px;flex-shrink:0;gap:14px}.project-type-wrap>span{white-space:nowrap}.industry-heading{margin-bottom:20px;gap:12px}.industry-heading h2{font-size:24px;line-height:1.3}.industry-heading p{font-size:15px!important}
 .client-industry-filters{gap:10px;margin-bottom:28px}.client-industry-filters button{font-size:14px;line-height:1.5;padding:11px 14px;min-height:46px;text-align:left}.client-industry-filters button span{font-size:12px;flex-shrink:0}
 .portfolio-switch{margin-top:26px;margin-bottom:0}.portfolio-switch a{min-height:46px;font-size:16px;line-height:1.4}
 .clients-tools{gap:16px;margin-bottom:24px}.clients-search{margin:0}.client-profile-copy{padding:24px}main .client-profile .client-sector{font-size:13px!important;line-height:1.6!important;letter-spacing:.7px}main .client-profile h2{font-size:26px;line-height:1.25;margin-bottom:16px}.client-profile-links{gap:10px 20px;padding-top:4px}.client-profile-links a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
 .client-profiles{gap:22px}.clients-directory{padding-bottom:48px}
 .dialog-content{padding:24px}.dialog-content h2{font-size:28px;line-height:1.2;margin:16px 0}.dialog-content p{font-size:16px;line-height:1.75}dialog{width:calc(100% - 28px);max-width:640px;max-height:calc(100dvh - 28px);border-radius:20px}dialog>img{max-height:42dvh}.close{width:44px;height:44px;top:12px;right:12px;z-index:2}
 footer{padding-top:44px}.footer-top{gap:24px;padding-bottom:32px}.footer-top h2{font-size:clamp(34px,9vw,46px);line-height:1.12;letter-spacing:-1.6px}.circle-link{width:64px;height:64px;min-width:64px;flex-shrink:0;font-size:36px}
 .footer-links{padding:32px 0;gap:28px}.footer-links>div{gap:6px 22px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.footer-links a{font-size:16px;line-height:1.6;min-height:44px;display:flex;align-items:center}.footer-links p{font-size:16px;line-height:1.75}.footer-bottom{flex-direction:column;gap:10px;padding:24px 0;font-size:14px;line-height:1.7}.privacy-footer{padding:12px 0 24px;gap:8px 24px;justify-content:flex-start}.privacy-footer a,.privacy-footer button{min-height:44px;font-size:14px;display:inline-flex;align-items:center}
 .privacy-banner{left:12px;right:12px;bottom:12px;padding:22px;gap:18px;max-height:calc(100dvh - 24px);overflow:auto}.privacy-banner h2{font-size:25px;line-height:1.2;margin:12px 0}.privacy-banner p{font-size:14px;line-height:1.7}
 .privacy-dialog{padding:22px;max-height:calc(100dvh - 28px)}.privacy-dialog h2{font-size:32px;line-height:1.15;letter-spacing:-1px}.privacy-dialog-head .eyebrow{font-size:11px;letter-spacing:.6px}.privacy-dialog-head button{width:44px;height:44px;flex-shrink:0}.privacy-option{gap:16px;align-items:flex-start}.privacy-option>div{min-width:0}.privacy-option input{margin-top:4px}.privacy-option strong{font-size:17px}.privacy-option p,.privacy-note,.privacy-dialog>p{font-size:14px;line-height:1.75}.privacy-always{font-size:12px}.privacy-actions button{min-height:48px;font-size:14px;line-height:1.4;padding:12px;white-space:normal}.privacy-status:not(:empty){left:12px;bottom:12px;max-width:calc(100% - 24px);font-size:14px;line-height:1.6;padding:16px 20px}
 .privacy-policy h2{font-size:27px;line-height:1.25;letter-spacing:-.7px;margin:32px 0 16px}.privacy-policy code{font-size:14px}.privacy-policy{padding-bottom:44px}
 .admin-layout{gap:28px;padding-bottom:48px}.admin-sidebar>label,.admin-editor label{font-size:16px}.admin-layout input:not([type=checkbox]),.admin-layout textarea{font-size:16px;line-height:1.6;min-height:50px;color:#faf6e9;background:#101d34;border-color:#52698e}.admin-event-choice{font-size:16px;line-height:1.5;padding:16px}.admin-event-choice small,.admin-editor small{font-size:14px;line-height:1.7}.admin-sidebar #admin-list{max-height:280px}.admin-editor fieldset{padding:20px;min-width:0;margin-bottom:28px}.admin-editor legend{font-size:18px;line-height:1.5;padding:0 8px}.admin-editor h2{font-size:29px;line-height:1.2}.admin-fields{gap:20px}.admin-save{padding:20px;gap:16px}.admin-save .button{width:100%;justify-content:center}.portfolio-choice span{font-size:14px;line-height:1.6}.layout-options label{font-size:15px;min-height:44px}.layout-options input,.visibility-control input{width:22px;height:22px;flex-shrink:0}
}
@media(max-width:600px){
 .header-inner{width:calc(100% - 32px);min-height:84px;gap:8px}.header-inner .brand img{width:84px;height:52px;max-width:100%}.header-inner .header-cta{font-size:12px;line-height:1.4;min-height:44px;padding:10px 12px;gap:8px}.header-cta span{font-size:18px}.header-inner .menu-toggle{font-size:14px;padding:8px 0;min-width:52px;gap:6px}.menu-toggle span{font-size:18px}
 .brand-hero{display:flex;flex-direction:column;justify-content:space-between;height:auto;min-height:0;border-radius:22px}.brand-hero-content{position:relative;padding:36px 22px 28px;max-width:100%}.brand-hero h1{font-size:clamp(40px,11vw,58px);line-height:1.08;letter-spacing:-1.7px;margin:22px 0}.brand-hero p{font-size:17px!important;line-height:1.75!important;max-width:100%}.brand-hero .eyebrow{font-size:12px;letter-spacing:.8px;line-height:1.6}.brand-hero .hero-actions{margin-top:26px}.hero-actions .button{width:100%;justify-content:center}
 .brand-hero-foot{position:relative;inset:auto;padding:0 22px 24px;gap:20px;align-items:flex-end}.brand-hero-foot>span,.brand-hero-foot a{font-size:12px;line-height:1.6;letter-spacing:.5px}.brand-hero-foot a{max-width:105px;min-height:44px;display:flex;align-items:center}
 .statement-inner,.international-copy{padding-top:40px;padding-bottom:40px}.international-copy{padding-left:20px;padding-right:20px}.section-bottom{gap:20px;flex-wrap:wrap}.custom-position{padding-top:40px;padding-bottom:36px}
 .form-row{grid-template-columns:1fr}.calendar-controls{grid-template-columns:1fr}.calendar-controls label:first-child{grid-column:auto}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-modes{display:flex}.calendar-modes button{flex:1;min-width:0}.month-toolbar>h2{font-size:27px;margin:12px 0}
 .layout-grid,.related-grid,.resource-grid{grid-template-columns:1fr}.show-work-grid,.show-work-grid:has(>:last-child:nth-child(2)){grid-template-columns:1fr}
 .footer-top{flex-direction:column;align-items:flex-start}.footer-links{flex-direction:column}.privacy-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.privacy-actions button{min-width:0}.privacy-option{flex-wrap:wrap}.privacy-option>div{flex:1 1 180px}.privacy-always{align-self:flex-start;white-space:normal}.privacy-dialog .privacy-actions{grid-template-columns:1fr}.privacy-dialog .privacy-actions button{width:100%}
 /* Stack the field heading over two clearly labelled event columns. */
 .compare-table{overflow:visible;border:0}.compare-table table{display:block;min-width:0;width:100%;table-layout:auto}.compare-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.compare-table tbody{display:block}.compare-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px;border:1px solid #405a82;border-radius:14px;overflow:hidden}.compare-table th{display:block;grid-column:1/-1;width:auto;min-width:0;background:#142854;border:0;padding:14px 16px;font-size:16px;line-height:1.5}.compare-table td{display:block;width:auto;min-width:0;border:0;padding:16px 12px;font-size:15px;line-height:1.7;overflow-wrap:anywhere}.compare-table td+td{border-left:1px solid #405a82}.compare-table td:before{content:attr(data-event);display:block;font-size:13px;line-height:1.5;font-weight:650;color:#dbf34b;margin-bottom:12px}.compare-table ul{padding-left:16px;margin:0}.compare-table li{font-size:15px;line-height:1.7;margin-bottom:12px}.compare-table .under-link{font-size:14px;line-height:1.6}
}
@media(max-width:359px){
 .wrap{width:calc(100% - 32px)}.header-inner .brand img{width:76px}.header-inner .header-cta{padding:10px;font-size:11px;gap:6px}.header-inner .menu-toggle{font-size:13px;min-width:48px}.page-intro h1,.clients-intro h1,.portfolio-intro h1,.show-heading h1{font-size:36px;letter-spacing:-1.5px}.event-facts{grid-template-columns:1fr;gap:20px}.portfolio-switch a{font-size:15px;padding:10px 15px;gap:10px}.client-industry-filters button{font-size:13px;padding:11px 13px}.client-industry-filters button span{font-size:12px}.privacy-banner{padding:18px}.privacy-actions{grid-template-columns:1fr}.privacy-banner .eyebrow{font-size:11px}.brand-hero-content{padding-left:18px;padding-right:18px}.brand-hero-foot{padding-left:18px;padding-right:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:600px){.compare-table tbody tr>th{width:100%!important;min-width:0!important;grid-column:1/-1}.compare-table tbody tr>td{width:auto!important;min-width:0!important}}
@media(max-width:800px){dialog:not(.privacy-dialog){background:#101c32;color:#f3efd9;border:1px solid #405a82}}
@media(max-width:800px){.admin-event-choice.active{background:#1c355a}.admin-save,.portfolio-choice{background:#132440;border-color:#405a82}.admin-editor-top{margin-top:0}.admin-editor #admin-message{position:static}.admin-editor #admin-message:empty{display:none}}

@media(max-width:800px){.footer-utility{padding:22px 0;gap:8px 22px;font-size:14px}.footer-utility>span{white-space:normal}.footer-utility>span:nth-child(2){flex-basis:100%}.footer-utility a,.footer-utility button{min-height:44px}}
/* Let longer action labels use the available phone width and balanced lines. */
@media(max-width:600px){
 .button{padding-left:14px;padding-right:14px;text-wrap:balance;text-align:center;justify-content:center}
 .hero-actions{align-items:stretch}
 .hero-actions .button{min-height:56px;height:auto}
 .under-link,.event-actions a,.client-profile-links a{white-space:normal;text-wrap:pretty}
 .footer-links>div{gap:12px 22px}
}
@media(max-width:600px){.hero-actions{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;width:100%}.hero-actions .button{height:100%;box-sizing:border-box}}
/* Calendar actions belong to the content column on portrait tablets. */
@media(min-width:601px) and (max-width:800px){
 .event-row .event-actions{grid-column:2;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 24px;min-width:0}
 .event-row .event-actions .under-link{flex-basis:100%}
}
@media(max-width:1100px){
 .header-inner .menu-toggle{background:transparent;border:0;border-radius:10px;color:#faf6e9;font-family:inherit;font-size:14px;font-weight:650;line-height:1.5;cursor:pointer;padding:10px 8px}
 .header-inner .menu-toggle:focus-visible{outline:2px solid #dbf34b;outline-offset:3px}
}
@media(min-width:801px) and (max-width:1100px){
 .button{font-size:15px;line-height:1.5;min-height:50px;text-wrap:balance;white-space:normal;max-width:100%}
 .footer-links a{display:flex;align-items:center;min-height:44px;font-size:16px;line-height:1.6}
 .footer-links>div{gap:8px 26px}
}
