/* TROKIT's own Haas typography, black/white base and blue enquiry accent. */
:root { --seo-ink:#141414; --seo-paper:#fff; --seo-muted:#555; --seo-accent:#304de2; --seo-line:#d8d8d8; }
.skip-link { position:fixed; top:8px; left:8px; z-index:99999; padding:14px 20px; background:white; color:black; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible { outline:3px solid #304de2; outline-offset:5px; }
header .menu-button { background:none; border:0; padding:12px; cursor:pointer; color:inherit; }
header .menu-overlay .overlay-hovered .menu-preview { font:inherit; font-size:clamp(48px,9vw,160px); }
.seo-page { padding:150px 5vw 80px; background:var(--seo-paper); color:var(--seo-ink); }
.seo-page h1 { font-family:trokit-bold,sans-serif; font-size:clamp(42px,6.5vw,100px); line-height:1.05; max-width:1000px; margin:40px 0 28px; }
.seo-page h2,.seo-intro h1,.seo-intro h2,.seo-project-links h2 { font-size:clamp(30px,4vw,58px); line-height:1.12; margin:0 0 24px; }
.seo-page h3 { font-size:26px; line-height:1.2; }
.seo-page p,.seo-page li,.seo-intro p,.seo-project-links p { font-size:20px; line-height:1.6; max-width:70ch; }
.seo-page .seo-lead { font-size:clamp(23px,2.5vw,34px); max-width:42ch; }
.seo-breadcrumbs { font-size:16px; padding:16px 0; }
.single-project>.seo-breadcrumbs { padding:110px 5vw 20px; }
.seo-breadcrumbs a,.seo-text-link { text-decoration:underline; text-underline-offset:5px; }
.seo-section { margin:80px 0; }
.seo-split { display:grid; grid-template-columns:1.25fr 1fr; gap:8vw; }
.seo-split ul { padding-left:24px; }
.seo-cases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.seo-case { color:inherit; }
.seo-case img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; opacity:1; }
.seo-case h3 { margin:18px 0 8px; }
.seo-case p { font-size:17px; }
.seo-cta { display:inline-block; padding:16px 26px; background:var(--seo-accent); color:white; font-size:18px; margin:20px 0; }
.seo-cta:hover { background:#2137a7; color:white; }
.seo-service-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin:26px 0; }
.seo-service-links a { font-size:20px; padding:12px 0; border-bottom:1px solid currentColor; }
.seo-intro,.seo-project-links { padding:70px 5vw; }
.home .seo-intro { background:#fff; color:#141414; }
.seo-archive-intro { padding:120px 0 30px; }
.seo-archive-intro h1 { font-size:clamp(40px,6vw,80px); }
.seo-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 7vw; }
.seo-directory article { padding:32px 0; border-top:1px solid var(--seo-line); }
.seo-page details { border-top:1px solid var(--seo-line); padding:24px 0; max-width:850px; }
.seo-page summary { font-size:22px; cursor:pointer; }
main.single-project .project-presentation .presentation-image:has(>img) { padding-bottom:0; }
main.single-project .project-presentation .presentation-image>img { width:100%; height:auto; display:block; opacity:1; }
@media(max-width:767px) { .seo-page { padding-top:110px; } .seo-split,.seo-directory { grid-template-columns:1fr; gap:24px; } .seo-cases { grid-template-columns:1fr; } .seo-section { margin:50px 0; } .seo-page p,.seo-page li { font-size:18px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } [data-aos] { opacity:1!important; transform:none!important; } }
.seo-form-label { display:block; font-size:16px; margin-bottom:8px; }
.seo-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.seo-case-context { padding:30px 5vw; max-width:1100px; }
.seo-case-context h2 { font-size:36px; }
.seo-case-context p { font-size:20px; line-height:1.6; }
.seo-page,.seo-page p,.seo-page li { font-family:trokit-medium,sans-serif; font-weight:400; }
.seo-page h1,.seo-page h2,.seo-page h3 { font-family:trokit-bold,sans-serif; font-weight:700; }
.projects-wrapper .projects-container .project-item .project-image { position:relative; overflow:hidden; }
.projects-wrapper .projects-container .project-item .project-image>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:1; }

body img { opacity:1; }
/* Keep navigation usable on touch screens and on either header colour. */
header .menu-button,header .close-button>button { min-width:44px; min-height:44px; }
header .contact-button a { min-height:44px; display:inline-flex; align-items:center; }
header .menu-overlay .overlay-social { display:flex; flex-wrap:wrap; gap:12px; }
header .menu-overlay .overlay-social a { color:inherit; opacity:1; display:inline-flex; align-items:center; min-height:44px; }
.seo-page a:not(.seo-cta) { color:var(--seo-ink); }
.seo-page h1,.seo-page h2,.seo-page h3,.seo-breadcrumbs { overflow-wrap:break-word; }
.single-project>.seo-breadcrumbs { background:#141414; color:#fff; }
.single-project>.seo-breadcrumbs a { color:#fff; }
.contact .checkboxes-container .list label { min-height:44px; gap:10px; }
.contact .checkboxes-container .list label svg { display:none; }
.contact .checkboxes-container .list label input[type=checkbox] { display:block; width:20px; height:20px; min-width:20px; margin:0; padding:0; order:-1; accent-color:var(--seo-accent); }
.contact .checkboxes-container .list label:has(input:focus-visible) { outline:3px solid var(--seo-accent); outline-offset:3px; }
.contact .checkboxes-container .list label:has(input:checked) { background:#edf0ff; color:#141414; }
.contact .message-form .input-field>h2,.contact .message-form .input-field>h3 { font-size:20px; margin:0 0 20px; }
main.contact .message-form .form-container form .input-field>h2,
main.contact .message-form .form-container form .input-field>h3 { font-size:20px; line-height:1.4; margin:0 0 20px; }
@media(max-width:767px) {
    main.contact .message-form .form-container form .checkboxes-list .list { grid-template-columns:1fr; padding:0 15px; }
}
/* A direct introduction paired with TROKIT's own project work. */
main.home .trokit-hero { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:6vw; padding:145px 5vw 70px; background:#000; color:#fff; }
main.home .trokit-hero h1 { font-family:trokit-bold,sans-serif; font-size:clamp(42px,5.2vw,86px); line-height:1.04; letter-spacing:-.035em; margin:0 0 30px; }
.trokit-hero-copy p { font-size:clamp(19px,1.6vw,24px); line-height:1.5; max-width:40ch; }
.trokit-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:20px; }
.trokit-hero-actions .seo-text-link { color:#fff; }
.trokit-hero-project { display:block; color:#fff; }
.trokit-hero-project img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; display:block; }
.trokit-hero-project>span { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-top:18px; font-size:19px; }
.trokit-hero-project>span>span { font-size:16px; color:#ccc; }
main.home .trokit-discover { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding:80px 5vw; color:#141414; background:#fff; }
.trokit-discover h2 { font-size:clamp(32px,4vw,54px); line-height:1.1; margin-bottom:24px; }
.trokit-discover p { font-size:20px; line-height:1.5; max-width:45ch; }
.seo-planning { background:#f2f3f5; padding:40px; }
.seo-planning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.seo-planning-grid p { font-size:18px; }
.seo-case { display:block; text-decoration:none; }
.seo-case:hover h3,.seo-directory a:hover { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:767px) {
 main.home .trokit-hero { grid-template-columns:1fr; padding:120px 5vw 40px; gap:30px; }
 main.home .trokit-discover,.seo-planning-grid { grid-template-columns:1fr; gap:35px; }
 .seo-planning { padding:24px; }
}
.trokit-hero-copy p,.trokit-hero-actions,.trokit-hero-project>span,.trokit-discover p { font-family:trokit-medium,sans-serif; font-weight:400; }
main.single-project .slider-wrapper button.arrow-left,
main.single-project .slider-wrapper button.arrow-right,
main.single-project .slider-wrapper button.close-btn { background:transparent; border:0; min-width:44px; min-height:44px; cursor:pointer; }
/* Homepage portfolio: precise frames, quiet technical metadata, original artwork. */
main.home .projects { background:#080a10; color:#fff; padding:72px 0; }
main.home .portfolio-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding:0 0 38px; margin-bottom:32px; border-bottom:1px solid #343944; }
main.home .portfolio-heading h2 { font-size:clamp(34px,4.3vw,68px); line-height:1.06; letter-spacing:-.035em; max-width:12ch; margin:0; }
main.home .portfolio-heading p { font:18px/1.5 trokit-medium,sans-serif; color:#b7becc; max-width:30ch; margin:0; }
main.home .projects-wrapper .projects-container.grid-container { gap:24px; margin-bottom:32px; }
main.home .projects-wrapper .project-item { height:auto; background:#10141d; border:1px solid #303744; }
main.home .projects-wrapper .project-item>a { display:flex; flex-direction:column; height:100%; color:#fff; text-decoration:none; }
main.home .projects-wrapper .project-item .project-image { padding-bottom:64%; height:0; flex:none; }
main.home .projects-wrapper .project-item .video-thumb-container { flex:none; }
main.home .projects-wrapper .project-item .project-image>img { transition:transform .35s ease; }
main.home .projects-wrapper .project-item:hover { border-color:#6586ff; }
main.home .projects-wrapper .project-item:hover .project-image>img { transform:scale(1.025); }
main.home .project-name-home { padding:22px 24px 26px; border-top:1px solid #303744; flex:1; }
main.home .project-context { font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; color:#a6b9ed; margin-bottom:12px; }
main.home .project-name-home h3 { display:flex; justify-content:space-between; gap:16px; font:26px/1.15 trokit-bold,sans-serif; letter-spacing:-.02em; margin:0 0 14px; }
main.home .project-open { color:#91abff; font-size:25px; flex:none; }
main.home .project-name-home p { font:16px/1.5 trokit-medium,sans-serif; color:#c3c9d5; margin:0; max-width:60ch; }
main.home .projects-all-button { padding-top:24px; }
@media(min-width:768px) {
 main.home .projects-container.left-aligned .project-item:first-child .project-image,
 main.home .projects-container.right-aligned .project-item:last-child .project-image { height:auto; min-height:300px; flex:1; }
}
@media(max-width:767px) {
 main.home .portfolio-heading { display:block; }
 main.home .portfolio-heading p { margin-top:20px; }
 main.home .projects-wrapper .projects-container.grid-container { grid-template-columns:1fr; gap:20px; }
 main.home .projects-wrapper .projects-container .project-item { grid-area:auto; }
 main.home .project-name-home { padding:20px; }
}
/* Exhibition homepage: typography above a continuous body of original work. */
main.home .trokit-exhibition { padding:145px 5vw 64px; background:#000; color:#fff; }
.exhibition-title h1 { font:clamp(44px,7.3vw,96px)/1.03 trokit-bold,sans-serif; letter-spacing:-.035em; margin:0; text-wrap:balance; }
.exhibition-intro { display:flex; justify-content:space-between; align-items:center; gap:48px; border-top:1px solid #303744; padding:28px 0 34px; margin-top:40px; }
.exhibition-intro p { font:20px/1.5 trokit-medium,sans-serif; max-width:53ch; margin:0; color:#c3c9d5; }
.exhibition-intro .trokit-hero-actions { flex:none; margin:0; gap:24px; }
.exhibition-work { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:16px; }
.exhibition-project { display:block; color:#fff; text-decoration:none; min-width:0; }
.exhibition-project img { width:100%; height:330px; display:block; object-fit:cover; }
.exhibition-project>span { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; font:18px/1.4 trokit-medium,sans-serif; }
.exhibition-project svg { flex:none; }
.exhibition-project:hover>span { color:#a6b9ff; }
.home .seo-intro p,.home .seo-intro .seo-service-links { font-family:trokit-medium,sans-serif; font-weight:400; }
.home .project-context { font-family:trokit-medium,sans-serif; }
.home ::selection { background:#304de2; color:#fff; }
@media(max-width:1000px) { .exhibition-intro { display:block; } .exhibition-intro .trokit-hero-actions { margin-top:20px; } }
@media(max-width:767px) {
 main.home .trokit-exhibition { padding:115px 5vw 35px; }
 .exhibition-title h1 { font-size:clamp(40px,10.4vw,60px); }
 .exhibition-intro { margin-top:28px; padding-top:22px; }
 .exhibition-intro p { font-size:18px; }
 .exhibition-work { grid-template-columns:1fr; gap:20px; }
 .exhibition-project img { height:auto; aspect-ratio:4/3; }
}
main.home .trokit-discovery { padding:80px 5vw; background:#fff; color:#141414; }
.discovery-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:36px; }
.discovery-heading h2,.discovery-brief h2 { font:clamp(34px,4.3vw,60px)/1.08 trokit-bold,sans-serif; letter-spacing:-.025em; margin:0; }
.discovery-heading p { font:20px/1.5 trokit-medium,sans-serif; max-width:30ch; margin:0; }
.discovery-industries { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.discovery-industry { display:block; color:#141414; text-decoration:none; }
.discovery-industry img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.discovery-industry>span { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; border-bottom:1px solid #c6c6c6; font:26px/1.2 trokit-medium,sans-serif; }
.discovery-industry:hover>span { color:#304de2; }
.discovery-market { display:inline-block; color:#141414; margin:26px 0 52px; font:18px/1.5 trokit-medium,sans-serif; text-decoration:underline; text-underline-offset:5px; }
.discovery-brief { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; padding:48px; background:#304de2; color:white; }
.discovery-brief p { font:18px/1.5 trokit-medium,sans-serif; margin:22px 0 0; max-width:35ch; }
.discovery-guides a { display:flex; align-items:center; justify-content:space-between; gap:20px; color:#fff; font:22px/1.4 trokit-medium,sans-serif; padding:24px 0; border-bottom:1px solid #9baaff; text-decoration:none; }
.discovery-guides svg { flex:none; }
.discovery-guides a:hover { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:767px) {
 main.home .trokit-discovery { padding:50px 5vw; }
 .discovery-heading { display:block; }
 .discovery-heading p { margin-top:22px; }
 .discovery-industries,.discovery-brief { grid-template-columns:1fr; }
 .discovery-brief { padding:28px; gap:20px; }
 .discovery-guides a { font-size:20px; }
}
/* About: studio editorial, with the people and work as the visual evidence. */
.trokit-about { background:#000; color:#fff; font:20px/1.55 trokit-medium,sans-serif; }
.trokit-about h1,.trokit-about h2,.trokit-about h3 { font-family:trokit-bold,sans-serif; letter-spacing:-.03em; font-weight:700; }
.trokit-about h2 { font-size:clamp(36px,4.6vw,64px); line-height:1.08; margin:0; text-wrap:balance; }
.trokit-about p { font:20px/1.55 trokit-medium,sans-serif; margin:0 0 24px; }
.trokit-about a { color:inherit; text-underline-offset:6px; }
.trokit-about ::selection { background:#304de2; color:#fff; }
.trokit-about a:focus-visible,.trokit-about summary:focus-visible { outline:3px solid #93a6ff; outline-offset:6px; }
.trokit-about section[id] { scroll-margin-top:110px; }
.studio-opening { padding:155px 5vw 0; }
.studio-heading { display:grid; grid-template-columns:1.6fr 1fr; gap:8vw; align-items:end; padding-bottom:42px; }
.trokit-about h1 { font-size:clamp(48px,6.8vw,96px); line-height:1.02; margin:0; }
.trokit-about h1>span { display:block; color:#a6b9ff; }
.studio-opening-copy p { max-width:28ch; }
.studio-action { display:inline-flex; align-items:center; justify-content:space-between; gap:28px; padding:16px 0; min-height:48px; border-bottom:1px solid currentColor; text-decoration:none; }
.studio-action svg { flex:none; transition:transform .25s ease-out; }
.studio-action:hover svg { transform:translate(3px,-3px); }
.studio-cover { margin:0; }
.studio-cover img,.studio-cover video { width:100%; height:clamp(320px,40vw,590px); display:block; object-fit:cover; object-position:center 45%; }
.studio-cover figcaption { font-size:16px; color:#c3c9d5; padding:16px 0; }
.studio-jump { display:flex; flex-wrap:wrap; gap:16px 44px; padding:22px 0; border-top:1px solid #303744; border-bottom:1px solid #303744; }
.studio-jump a { font-size:18px; padding:8px 0; text-decoration:none; }
.studio-jump a:hover { color:#a6b9ff; text-decoration:underline; }
.studio-section { padding:90px 5vw; }
.studio-story { display:grid; grid-template-columns:1fr 1.2fr; gap:8vw; }
.studio-story-body { max-width:68ch; color:#c3c9d5; }
.studio-story-body>div+div { margin-top:32px; padding-top:32px; border-top:1px solid #303744; }
.studio-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:start; margin-bottom:48px; }
.studio-section-heading p { max-width:52ch; margin:0; }
.studio-services { background:#304de2; color:#fff; }
.studio-disciplines { display:grid; grid-template-columns:1fr 1fr; gap:8vw; margin-bottom:32px; }
.studio-discipline h3 { font-size:clamp(32px,3.4vw,48px); line-height:1.15; margin:0 0 26px; }
.studio-discipline ul { padding:0; margin:0; list-style:none; }
.studio-discipline li { border-top:1px solid #9baaff; }
.studio-discipline li:last-child { border-bottom:1px solid #9baaff; }
.studio-discipline a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 0; font-size:20px; text-decoration:none; }
.studio-discipline a:hover { text-decoration:underline; }
.studio-discipline svg { width:18px; height:18px; flex:none; }
.studio-clients { background:#fff; color:#141414; }
.studio-client-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #d4d4d4; border-left:1px solid #d4d4d4; }
.studio-client-mark { min-height:160px; padding:24px; display:flex; align-items:center; justify-content:center; border-bottom:1px solid #d4d4d4; border-right:1px solid #d4d4d4; overflow:hidden; }
.studio-client-mark svg { width:100%; max-width:180px; height:112px; }
.studio-people .studio-section-heading p { color:#c3c9d5; }
.studio-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.studio-photo-grid figure { margin:0; }
.studio-photo-grid figure:first-child { grid-column:span 2; }
.studio-photo-grid img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.studio-photo-grid figure:first-child img { aspect-ratio:2/1; }
.studio-photo-grid figure:not(:first-child) img { height:auto; }
.studio-photo-grid figcaption { padding:16px 0; }
.studio-photo-grid figcaption span { display:block; color:#c3c9d5; font-size:16px; }
.studio-film { margin-top:40px; border-top:1px solid #303744; border-bottom:1px solid #303744; }
.studio-film summary { cursor:pointer; padding:22px 0; }
.studio-film video { width:100%; max-height:70vh; display:block; margin-bottom:24px; }
.studio-invitation { display:flex; align-items:end; justify-content:space-between; gap:50px; padding:70px 5vw; background:#304de2; }
.studio-invitation h2 { font-size:clamp(40px,6vw,80px); }
.page-template-about header .logo-side svg path,.page-template-about header .menu-side .menu-button svg rect { fill:#fff !important; }
@media(max-width:767px) {
 .studio-opening { padding-top:120px; }
 .studio-heading,.studio-story,.studio-section-heading,.studio-disciplines { grid-template-columns:1fr; gap:30px; }
 .trokit-about h1 { font-size:clamp(42px,11vw,70px); }
 .trokit-about p { font-size:18px; }
 .studio-opening-copy p { max-width:36ch; }
 .studio-section { padding:56px 5vw; }
 .studio-cover img,.studio-cover video { height:340px; }
 .studio-jump { gap:8px 24px; }
 .studio-client-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .studio-client-mark { min-height:130px; padding:20px; }
 .studio-photo-grid { grid-template-columns:1fr 1fr; gap:12px; }
 .studio-photo-grid figure:first-child { grid-column:span 2; grid-row:auto; }
 .studio-photo-grid figure:last-child { grid-column:span 2; }
 .studio-invitation { display:block; padding:50px 5vw; }
 .studio-invitation .studio-action { margin-top:24px; }
}
@media(prefers-reduced-motion:reduce) { .studio-action svg { transition:none; } }

/* Override the legacy mobile archive-link debug colours on this surface. */
.trokit-about .studio-discipline a[href] { color:#fff !important; background:transparent !important; }

/* Footer photo and headline remain visible without hover/animation timing. */
footer.main-footer .contact-part .contact-image { padding:0; min-height:420px; display:flex; align-items:flex-end; background-position:center; }
footer.main-footer .contact-part .contact-image .contact-image-title { width:100%; padding:34px 50px; }
footer.main-footer .contact-part .contact-image h2 { font-size:clamp(38px,6vw,82px); line-height:1.15; height:auto; margin:0; overflow:visible; }
footer.main-footer .contact-part .contact-image h2 span.first { transform:none; opacity:1; visibility:visible; }
footer.main-footer .contact-part .contact-image h2 span.second { display:none; }
footer.main-footer .contact-part>a { display:block; }
.footer-booking { background:#171717; color:#fff; padding:24px; border-radius:12px; }
.footer-booking h4 { font:24px/1.3 trokit-bold,sans-serif; margin:0 0 20px; }
.footer-booking p { font:16px/1.5 trokit-medium,sans-serif; margin:0 0 20px; }
.footer-booking a { display:inline-flex; align-items:center; min-height:44px; padding:12px 16px; background:#fff; color:#141414; text-decoration:none; border-radius:6px; }
.footer-booking a:focus-visible { outline:3px solid #93a6ff; outline-offset:4px; }
@media(max-width:767px) { footer.main-footer .contact-part .contact-image { min-height:280px; } footer.main-footer .contact-part .contact-image .contact-image-title { padding:24px; } }
footer.main-footer .footer-booking a { color:#141414 !important; font:16px/1.4 trokit-medium,sans-serif; }
footer.main-footer .contact-part>a::after { display:none; }
footer.main-footer .footer-bottom { padding-top:40px; }
/* Privacy: a quiet reading surface with direct section navigation. */
.privacy-document { background:#fff; color:#141414; padding:60px 5vw 90px; }
.privacy-document .privacy-heading { position:static; margin-bottom:48px; }
.privacy-document h1 { font:clamp(42px,5.5vw,76px)/1.08 trokit-bold,sans-serif; letter-spacing:-.03em; margin:0; }
.privacy-layout { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,3fr); gap:7vw; align-items:start; }
.privacy-contents { position:sticky; top:110px; }
.privacy-contents h2 { font:20px/1.3 trokit-bold,sans-serif; margin:0 0 20px; }
.privacy-contents a { display:block; color:#141414; font:16px/1.45 trokit-medium,sans-serif; padding:9px 0; text-decoration:none; border-bottom:1px solid #ddd; }
.privacy-contents a:hover { color:#304de2; text-decoration:underline; text-underline-offset:4px; }
.privacy-copy { max-width:70ch; font:18px/1.7 trokit-medium,sans-serif; overflow-wrap:break-word; }
.privacy-copy h2 { font:clamp(26px,2.5vw,34px)/1.2 trokit-bold,sans-serif; letter-spacing:-.02em; margin:48px 0 20px; scroll-margin-top:110px; }
.privacy-copy h2:first-child { margin-top:0; }
.privacy-copy p,.privacy-copy li { font:18px/1.7 trokit-medium,sans-serif; margin-bottom:22px; }
.privacy-copy a { color:#243bb2; text-decoration:underline; text-underline-offset:4px; }
.privacy-document a:focus-visible { outline:3px solid #304de2; outline-offset:4px; }
.privacy-document ::selection { background:#304de2; color:#fff; }
@media(max-width:767px) { .privacy-document { padding:36px 5vw 60px; } .privacy-heading { margin-bottom:30px; } .privacy-layout { grid-template-columns:1fr; gap:40px; } .privacy-contents { position:static; } .privacy-copy,.privacy-copy p,.privacy-copy li { font-size:17px; } }
/* Social links stay legible against the black navigation overlay. */
header .menu-overlay .overlay-social a { color:#bfc3ca !important; opacity:1 !important; font:18px/1.5 trokit-medium,sans-serif; text-decoration:underline; text-underline-offset:5px; }
header .menu-overlay .overlay-social a:hover { color:#fff !important; }
header .menu-overlay .overlay-social a:focus-visible { outline:2px solid #bfc3ca; outline-offset:5px; }
/* Rollover duplicates the actual menu label at the same baseline. */
header .menu-overlay .overlay-items .overlay-menu a span.hovered { top:0; line-height:inherit; pointer-events:none; }
/* Contact: a short, accessible project enquiry in the TROKIT visual system. */
.enquiry-page { background:#fff; color:#111; padding:150px 5vw 0; font-family:trokit-medium,sans-serif; }
.enquiry-layout { max-width:1440px; margin:auto; display:grid; grid-template-columns:1fr 1.1fr; gap:7vw; padding-bottom:100px; }
.enquiry-intro h1 { font:clamp(42px,4.8vw,72px)/1.04 trokit-bold,sans-serif; letter-spacing:-.03em; margin:0 0 30px; text-wrap:balance; }
.enquiry-intro > p { font-size:20px; line-height:1.55; max-width:38ch; }
.enquiry-direct { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin:42px 0 28px; }
.enquiry-page a { color:#203dcc; text-decoration:underline; text-underline-offset:5px; }
.enquiry-direct a { font-size:clamp(20px,2vw,28px); }
.enquiry-meeting { display:inline-block; font-size:17px; line-height:1.5; }
.enquiry-intro .enquiry-location { margin-top:40px; font-size:16px; color:#555; }
.enquiry-form { border-top:3px solid #304de2; padding-top:28px; }
.enquiry-form h2 { font:32px/1.15 trokit-bold,sans-serif; letter-spacing:-.02em; margin:0 0 12px; }
.enquiry-hint { font-size:16px; line-height:1.5; color:#555; margin:0 0 28px; }
.enquiry-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px 20px; }
.enquiry-fields label,.enquiry-services legend { font-size:16px; line-height:1.4; margin:0; }
.enquiry-fields label > span,.enquiry-services legend > span { color:#555; font-size:14px; }
.enquiry-wide { grid-column:1/-1; }
.enquiry-fields input:not([type=checkbox]),.enquiry-fields select,.enquiry-fields textarea { display:block; width:100%; margin-top:8px; border:1px solid #999; border-radius:4px; background:#fff; color:#111; padding:14px 15px; font:18px/1.4 trokit-medium,sans-serif; min-height:54px; caret-color:#304de2; box-sizing:border-box; }
.enquiry-fields textarea { resize:vertical; min-height:150px; }
.enquiry-fields textarea::placeholder { color:#626262; opacity:1; }
.enquiry-services { padding:0; border:0; margin:0; min-width:0; }
.enquiry-services legend { margin-bottom:12px; }
.enquiry-services label { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin:0 16px 6px 0; cursor:pointer; }
.enquiry-services input { width:18px; height:18px; accent-color:#304de2; }
.enquiry-services label > span { font-size:16px; color:#111; }
.enquiry-privacy { font-size:14px; line-height:1.6; color:#555; margin:24px 0 20px; }
.enquiry-submit { width:100%; min-height:58px; padding:16px 24px; border:0; border-radius:4px; color:#fff; background:#304de2; font:18px/1.4 trokit-bold,sans-serif; cursor:pointer; }
.enquiry-submit:hover { background:#2038b7; }
.enquiry-submit:disabled { opacity:.65; cursor:wait; }
.enquiry-page :focus-visible { outline:3px solid #304de2; outline-offset:3px; }
.enquiry-page ::selection { color:#fff; background:#304de2; }
.enquiry-career { max-width:1440px; margin:auto; border-top:1px solid #ccc; padding:36px 0 50px; display:flex; align-items:baseline; justify-content:space-between; gap:24px; }
.enquiry-career h2 { font:24px/1.3 trokit-bold,sans-serif; margin:0; }
.enquiry-career p { font-size:16px; line-height:1.6; max-width:60ch; margin:0; }
@media(max-width:767px) { .enquiry-page {padding:115px 6vw 0;} .enquiry-layout {grid-template-columns:1fr; gap:44px; padding-bottom:55px;} .enquiry-intro h1 {font-size:44px;} .enquiry-intro > p {font-size:18px;} .enquiry-direct {margin:28px 0 20px;} .enquiry-intro .enquiry-location {margin-top:24px;} .enquiry-fields {grid-template-columns:1fr; gap:22px;} .enquiry-form h2 {font-size:28px;} .enquiry-career {display:block;} .enquiry-career h2 {margin-bottom:14px;} }
.enquiry-intro h1,.enquiry-form h2,.enquiry-career h2 { font-weight:700; }
/* Footer keeps contact details and booking; enquiries live on the contact page. */
footer.main-footer .footer-bottom > .row { justify-content:space-between; }
footer.main-footer .footer-bottom > .row > .col-md-4 { flex:0 0 46%; max-width:46%; }
footer.main-footer .footer-bottom .footer3 { width:100%; max-width:380px; margin-left:auto; }
@media(max-width:767px) {
    footer.main-footer .footer-bottom > .row > .col-md-4 { flex:0 0 100%; max-width:100%; }
    footer.main-footer .footer-bottom .footer3 { margin:32px 0 0; max-width:none; }
}
/* Keep project navigation legible on the dark opening and aligned to the case study. */
.single-work header .header-top .logo-side svg path,
.single-work header .header-top .menu-button svg rect { fill:#fff !important; }
.single-work .single-project > .seo-breadcrumbs { padding-left:92px; padding-right:92px; }
@media(max-width:767px) {
    .single-work .single-project > .seo-breadcrumbs { padding-left:30px; padding-right:30px; }
}

@media(min-width:1999px) { .single-work .single-project > .seo-breadcrumbs { padding-left:calc(15% + 92px); padding-right:calc(15% + 92px); } }
/* The sticky project header has a light surface. */
.single-work header .header-top.sticky .logo-side svg path,
.single-work header .header-top.sticky .menu-button svg rect { fill:#111 !important; }
.single-work header .header-top.sticky .logo-side .back-arrow svg path { stroke:#111 !important; }
/* Case-study close: service discovery, related work and one clear enquiry. */
.single-project .seo-project-links { background:#111; color:#fff; padding:64px 92px; }
.project-links-inner { display:grid; grid-template-columns:1fr 1fr; gap:48px 64px; }
.single-project .seo-project-links h2 { color:#fff; font:700 clamp(26px,2.8vw,38px)/1.15 trokit-bold,sans-serif; letter-spacing:-.025em; margin:0 0 24px; max-width:24ch; }
.single-project .seo-project-links .seo-service-links { display:flex; flex-direction:column; gap:0; margin:0; }
.single-project .seo-project-links .seo-service-links a { color:#fff; font:18px/1.4 trokit-medium,sans-serif; padding:17px 0; border-bottom:1px solid #555; text-decoration:none; transition:color .18s ease; }
.single-project .seo-project-links .seo-service-links a:hover { color:#b8c4ff; }
.single-project .seo-project-links a:focus-visible { outline:2px solid #b8c4ff; outline-offset:5px; }
.project-links-contact { grid-column:1/-1; border-top:1px solid #555; padding-top:32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.single-project .project-links-contact p { color:#fff; font:24px/1.3 trokit-medium,sans-serif; margin:0; }
.single-project .project-links-contact a { display:inline-block; background:#304de2; color:#fff; font:18px/1.4 trokit-medium,sans-serif; text-decoration:none; padding:18px 24px; }
.single-project .project-links-contact a:hover { background:#2038b7; }
@media(min-width:1999px) { .single-project .seo-project-links { padding-left:calc(15% + 92px); padding-right:calc(15% + 92px); } }
@media(max-width:767px) { .single-project .seo-project-links {padding:44px 30px;} .project-links-inner {grid-template-columns:1fr; gap:36px;} .project-links-contact {align-items:flex-start; flex-direction:column;} .single-project .project-links-contact a {width:100%; box-sizing:border-box;} }
@media(min-width:768px) { .single-project .project-links-group h2 { min-height:88px; } }
/* A clear editorial title over the related-project artwork. */
.single-work .next-project a { padding:0; display:flex; align-items:flex-end; min-height:440px; }
.single-work .next-project a > .extra-container { padding:40px 48px; width:100%; }
.single-work .next-project .project-name { display:block; max-width:750px; }
.single-work .next-project .project-preview-label { color:#fff; font:18px/1.4 trokit-medium,sans-serif; margin:0 0 16px; }
.single-work .next-project .project-name h2 { color:#fff; font:700 clamp(32px,4vw,54px)/1.08 trokit-bold,sans-serif; letter-spacing:-.025em; margin:0; text-wrap:balance; }
.single-work .next-project .project-name h2::after { display:none; }
.single-work .next-project .project-preview-action { display:inline-block; color:#fff; font:17px/1.5 trokit-medium,sans-serif; margin-top:24px; border-bottom:1px solid #fff; padding-bottom:4px; }
.single-work .next-project a::before { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.35) 70%,rgba(0,0,0,.12)); z-index:1; pointer-events:none; }
.single-work .next-project .next-project-image { opacity:1 !important; }
.single-work .next-project a:focus-visible { outline:3px solid #304de2; outline-offset:5px; }
@media(max-width:767px) { .single-work .next-project a {min-height:380px;} .single-work .next-project a > .extra-container {padding:28px 24px;} .single-work .next-project .project-name h2 {font-size:34px;} }
.single-work .next-project .next-project-image::after { display:none; }
@media(prefers-reduced-motion:reduce) { .single-work .next-project a:hover .next-project-image { transform:none; } }
.single-work .next-project { height:auto; }
.single-work .next-project .next-project-container { height:auto; }
/* Portfolio archives: clear topic, readable introduction and useful service paths. */
main.projects .seo-archive-intro { padding:145px 50px 48px; color:#fff; background:#000; }
main.projects .seo-archive-intro h1 { color:#fff; font:700 clamp(40px,5.5vw,76px)/1.06 trokit-bold,sans-serif; letter-spacing:-.03em; max-width:20ch; margin:0 0 28px; text-wrap:balance; }
main.projects .seo-archive-intro p { color:#c3c9d5; font:20px/1.55 trokit-medium,sans-serif; max-width:65ch; margin:0; }
main.projects .seo-archive-intro a { color:#fff; font:17px/1.5 trokit-medium,sans-serif; text-underline-offset:6px; }
.archive-service-links { display:flex; flex-wrap:wrap; gap:16px 28px; margin-top:28px; }
main.projects .seo-archive-intro a:hover { color:#b8c4ff; }
main.projects .seo-archive-intro a:focus-visible { outline:2px solid #b8c4ff; outline-offset:5px; }
@media(min-width:1999px) {main.projects .seo-archive-intro {padding-left:calc(15% + 50px); padding-right:calc(15% + 50px);}}
@media(max-width:767px) {main.projects .seo-archive-intro {padding:115px 15px 36px;} main.projects .seo-archive-intro h1 {font-size:42px;} main.projects .seo-archive-intro p {font-size:18px;} .archive-service-links {flex-direction:column; gap:14px;} }
main.projects .seo-archive-intro { padding-top:36px; }
.archive-service-links a { text-decoration:underline; }
@media(max-width:767px) { main.projects .seo-archive-intro {padding-top:24px;} }
/* Portfolio cards mirror the homepage project treatment. */
main.projects .projects-container.grid-container { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
main.projects .projects-container .project-item { grid-area:auto !important; height:auto; min-width:0; background:#10141d; border:1px solid #303744; }
main.projects .projects-container .project-item > a { display:flex; flex-direction:column; height:100%; color:#fff; text-decoration:none; }
main.projects .projects-container .project-image,main.projects .projects-container .video-thumb-container { height:auto !important; min-height:0 !important; padding:0 !important; aspect-ratio:25/16; flex:none; position:relative; overflow:hidden; }
main.projects .projects-container .project-image img,main.projects .projects-container .video-thumb-container video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
main.projects .project-name1 { padding:22px 24px 26px; border-top:1px solid #303744; flex:1; }
main.projects .project-context { font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; color:#a6b9ed; margin-bottom:12px; }
main.projects .project-name1 h2 { display:flex; justify-content:space-between; gap:16px; color:#fff; font:700 26px/1.15 trokit-bold,sans-serif; letter-spacing:-.02em; margin:0 0 14px; }
main.projects .project-name1 p { color:#c3c9d5; font:16px/1.5 trokit-medium,sans-serif; margin:0; }
main.projects .project-open { color:#91abff; flex:none; }
main.projects .projects-container .project-item:hover { border-color:#6586ff; }
main.projects .projects-container .project-item > a:focus-visible {outline:3px solid #91abff; outline-offset:4px;}
@media(max-width:1000px) {main.projects .projects-container.grid-container {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px) {main.projects .projects-container.grid-container {grid-template-columns:1fr; gap:20px;} main.projects .project-name1 {padding:20px;}}
main.projects .projects-container .project-name1 h2 { font-size:26px !important; line-height:1.15 !important; }
/* Case-study narrative: aligned headings and readable content on a dark surface. */
.single-project .seo-case-context { background:#111; color:#fff; max-width:none; padding:38px 92px; display:grid; grid-template-columns:minmax(200px,.65fr) minmax(0,1.35fr); gap:48px; border-bottom:1px solid #444; }
.single-project .seo-case-context h2 { color:#fff; font:700 clamp(26px,2.6vw,34px)/1.15 trokit-bold,sans-serif; letter-spacing:-.02em; margin:0; }
.single-project .seo-case-context p { color:#c3c9d5; font:20px/1.6 trokit-medium,sans-serif; margin:0; max-width:65ch; }
@media(min-width:1999px) {.single-project .seo-case-context {padding-left:calc(15% + 92px); padding-right:calc(15% + 92px);}}
@media(max-width:767px) {.single-project .seo-case-context {padding:30px; grid-template-columns:1fr; gap:16px;} .single-project .seo-case-context p {font-size:18px;}}
/* Flow visible batches together while preserving pagination's hidden batches. */
main.projects .projects-wrapper { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
main.projects .projects-wrapper > .projects-container-big:not([style*="display: none"]) { display:contents !important; }
main.projects .projects-wrapper > .small-container { grid-column:1/-1; }
@media(max-width:1000px) {main.projects .projects-wrapper {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px) {main.projects .projects-wrapper {grid-template-columns:1fr; gap:20px;}}
/* Always-visible portfolio navigation, using real service and sector categories. */
main.projects .portfolio-filters {padding:24px 0 32px; margin:0 0 24px; border-top:1px solid #777;}
.portfolio-filter-row {display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px; margin:0 0 18px;}
.portfolio-filter-row:last-child {margin-bottom:0;}
main.projects .portfolio-filter-row a {color:inherit; font:16px/1.45 trokit-medium,sans-serif; text-transform:uppercase; padding:8px 0; text-decoration:none; border-bottom:2px solid transparent;}
main.projects .portfolio-filter-row a[aria-current="page"] {font-family:trokit-bold,sans-serif; font-weight:700; border-color:currentColor;}
main.projects .portfolio-filter-row a:hover {border-color:currentColor;}
main.projects .portfolio-filter-row a:focus-visible {outline:2px solid #6586ff; outline-offset:4px;}
@media(max-width:767px) {.portfolio-filter-row {gap:6px 20px;} main.projects .portfolio-filter-row a {font-size:14px;}}
/* Override the legacy two-column flex shell: filters are two full-width rows. */
main.projects .projects-options-top.portfolio-filters { display:block; width:100%; box-sizing:border-box; padding:24px 0 28px; border-top:1px solid #b9b9b9; }
main.projects .portfolio-filters .portfolio-filter-row { width:100%; align-items:baseline; gap:6px 26px; margin:0; padding:12px 0; }
main.projects .portfolio-filters .portfolio-filter-row + .portfolio-filter-row { border-top:1px solid #b9b9b9; margin-top:12px; padding-top:22px; }
main.projects .portfolio-filter-row a { font-size:14px; line-height:1.5; padding:8px 0; opacity:.75; }
main.projects .portfolio-filter-row a[aria-current="page"],main.projects .portfolio-filter-row a:hover {opacity:1;}
main.projects .portfolio-filter-row a:first-child { margin-right:12px; }
@media(max-width:767px) { main.projects .portfolio-filters .portfolio-filter-row {gap:6px 20px;} main.projects .portfolio-filter-row a {font-size:13px; min-height:28px;} }
/* Swiss portfolio uses a paper surface with dark, readable navigation and cards. */
body.portfolio-light, .portfolio-light main.projects, .portfolio-light main.projects .seo-archive-intro { background:#fff; color:#111; }
.portfolio-light main.projects .seo-archive-intro h1 {color:#111;}
.portfolio-light main.projects .seo-archive-intro p {color:#555;}
.portfolio-light main.projects .seo-archive-intro a,.portfolio-light main.projects .portfolio-filter-row a {color:#111;}
.portfolio-light header .header-top {background:#fff; color:#111;}
.portfolio-light header .header-top .logo-side svg path,.portfolio-light header .header-top .menu-button svg rect {fill:#111 !important;}
.portfolio-light header .header-top .contact-button {color:#111; border-color:#111;}
.portfolio-light main.projects .projects-container .project-item {background:#fff; border-color:#d5d5d5;}
.portfolio-light main.projects .project-name1 {border-color:#d5d5d5;}
.portfolio-light main.projects .project-name1 h2 {color:#111;}
.portfolio-light main.projects .project-name1 p {color:#555;}
.portfolio-light main.projects .project-context {color:#3a4e80;}
.portfolio-light main.projects .project-open {color:#304de2;}
/* One shared homepage content edge at every viewport size. */
body.home,body.page-template-home { --home-gutter:50px; }
body.home header .header-top > .container-fluid,
body.page-template-home header .header-top > .container-fluid,
main.home .trokit-exhibition,
main.home .projects-list.container-fluid,
main.home .trokit-discovery,
main.home > .seo-intro,
body.home footer.main-footer > .container-fluid,
body.page-template-home footer.main-footer > .container-fluid { max-width:none; width:100%; box-sizing:border-box; margin-left:0; margin-right:0; padding-left:var(--home-gutter,50px); padding-right:var(--home-gutter,50px); }
@media(min-width:1999px) { body.home,body.page-template-home {--home-gutter:calc(15vw + 50px);} }
@media(max-width:767px) { body.home,body.page-template-home {--home-gutter:20px;} }
.similar-projects { background:#fff; color:#111; padding:56px 92px 64px; }
.similar-projects > h2 {font:700 34px/1.15 trokit-bold,sans-serif; margin:0 0 28px; letter-spacing:-.02em;}
.similar-projects-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;}
.similar-project-card {display:flex; flex-direction:column; color:#111; text-decoration:none; border:1px solid #d5d5d5; min-width:0;}
.similar-project-card > img {display:block; width:100%; height:auto; aspect-ratio:25/16; object-fit:cover;}
.similar-project-card > div {padding:22px;}
.similar-project-card h3 {font:700 24px/1.2 trokit-bold,sans-serif; color:#111; margin:0 0 12px;}
.similar-project-card p {font:16px/1.5 trokit-medium,sans-serif; color:#555; margin:0 0 20px;}
.similar-project-card span {font:16px/1.5 trokit-medium,sans-serif; color:#203dcc; text-decoration:underline; text-underline-offset:5px;}
.similar-project-card:hover {border-color:#304de2;}
.similar-project-card:focus-visible {outline:3px solid #304de2; outline-offset:4px;}
@media(min-width:1999px) {.similar-projects {padding-left:calc(15% + 92px); padding-right:calc(15% + 92px);}}
@media(max-width:767px) {.similar-projects {padding:40px 30px;} .similar-projects-grid {grid-template-columns:1fr;} .similar-projects > h2 {font-size:28px;}}
/* Compact swipeable filter rows on desktop and mobile, without scrollbar chrome. */
main.projects .portfolio-filters .portfolio-filter-row { flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -ms-overflow-style:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; padding-top:12px; padding-bottom:12px; }
main.projects .portfolio-filters .portfolio-filter-row::-webkit-scrollbar { display:none; }
main.projects .portfolio-filters .portfolio-filter-row a { flex:0 0 auto; white-space:nowrap; }
main.projects .portfolio-filter-row a:focus-visible { outline-offset:-2px; }
/* Homepage services: editorial introduction and three clear service paths. */
main.home .home-services {display:grid; grid-template-columns:1fr 1.1fr; gap:72px; background:#fff; color:#111; padding-top:72px; padding-bottom:72px;}
main.home .home-services h2 {font:700 clamp(32px,3.5vw,48px)/1.1 trokit-bold,sans-serif; letter-spacing:-.025em; margin:0 0 24px; text-wrap:balance;}
main.home .home-services-heading > p {font:18px/1.55 trokit-medium,sans-serif; max-width:38ch; color:#555; margin:0 0 28px;}
main.home .home-services-heading > a {color:#203dcc; font:17px/1.5 trokit-medium,sans-serif; text-decoration:underline; text-underline-offset:6px;}
.home-services-list {border-top:1px solid #bbb;}
main.home .home-services-list > a {display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:26px 0; border-bottom:1px solid #bbb; color:#111; text-decoration:none;}
main.home .home-services-list h3 {font:700 clamp(22px,2vw,28px)/1.2 trokit-bold,sans-serif; color:#111; margin:0 0 12px;}
main.home .home-services-list p {font:17px/1.5 trokit-medium,sans-serif; color:#555; max-width:48ch; margin:0;}
.home-services-list svg {flex:none; color:#304de2; margin-top:3px;}
main.home .home-services-list > a:hover h3 {color:#203dcc;}
.home-services a:focus-visible {outline:3px solid #304de2; outline-offset:5px;}
@media(max-width:767px) {main.home .home-services {grid-template-columns:1fr; gap:32px; padding-top:44px; padding-bottom:44px;} main.home .home-services-list > a {padding:24px 0;}}
/* Footer details start on the same content edge as the navigation above. */
footer.main-footer .footer-bottom > .row { margin-left:0; margin-right:0; }
footer.main-footer .footer-bottom > .row > .col-ds,
footer.main-footer .footer-bottom > .row > .col-mb { padding-left:0 !important; }
footer.main-footer .footer-bottom .footer1 { padding-left:0 !important; margin-left:0 !important; }
/* Shared site content edges: page backgrounds remain full bleed. */
:root { --site-gutter:50px; }
@media(min-width:1999px) { :root { --site-gutter:calc(15vw + 50px); } }
@media(max-width:767px) { :root { --site-gutter:20px; } }
body.home,body.page-template-home { --home-gutter:var(--site-gutter); }
header .header-top > .container-fluid,
header .menu-overlay > .container-fluid,
footer.main-footer > .container-fluid,
main.projects > .container-fluid,
main.single-project > .container-fluid,
main.single-project > .extra-container {
    max-width:none !important; width:100%; margin-left:0; margin-right:0; box-sizing:border-box;
    padding-left:var(--site-gutter) !important; padding-right:var(--site-gutter) !important;
}
.seo-page,.enquiry-page,.privacy-document,
main.projects .seo-archive-intro,
main.single-project > .seo-breadcrumbs,
main.single-project .seo-case-context,
main.single-project .seo-project-links,
.similar-projects,
.trokit-about .studio-opening,
.trokit-about .studio-section,
.trokit-about .studio-invitation {
    padding-left:var(--site-gutter) !important; padding-right:var(--site-gutter) !important; box-sizing:border-box;
}
main.single-project > .extra-container > .row { margin-left:0; margin-right:0; }
main.single-project > .extra-container > .row > .text {padding-left:0;}
.enquiry-layout,.enquiry-career {max-width:none;}
footer.main-footer .footer-business {display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:0 0 36px; margin:0 0 32px; border-bottom:1px solid #555; color:#fff;}
footer.main-footer .footer-business h3 {font:18px/1.5 trokit-medium,sans-serif; margin:0; color:#fff;}
.footer-business dl {margin:0; font:18px/1.5 trokit-medium,sans-serif;}
.footer-business dl > div {display:grid; grid-template-columns:minmax(100px,.65fr) 1fr; gap:24px; margin-bottom:6px;}
.footer-business dt,.footer-business dd {margin:0;}
footer.main-footer .footer-business a {color:#fff; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere;}
@media(max-width:767px) {footer.main-footer .footer-business {grid-template-columns:1fr; gap:20px;} .footer-business dl > div {gap:16px;} .footer-business dl {font-size:16px;}}
/* Original contact button, with a black and white rollover. */
header .header-top .header-top-container .menu-side .contact-button a:hover,
header .menu-overlay .close-button .contact-button a:hover {background:#000 !important; color:#fff !important; border-color:#000 !important;}
/* Center the original contact label without asymmetric padding. */
header .header-top .header-top-container .menu-side .contact-button a,
header .menu-overlay .close-button .contact-button a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    min-height:44px;
    padding:10px 14px;
    margin-top:0;
    line-height:1.25;
    text-align:center;
}
/* Optical centering for the Haas font's high-set visible letterforms. */
header .contact-button a .contact-label {display:block; position:relative; top:3px; line-height:1;}
header .header-top .header-top-container .menu-side .contact-button a,
header .menu-overlay .close-button .contact-button a {height:44px; padding-top:0; padding-bottom:0;}

/* Business enquiries sit between the studio details and booking. */
footer.main-footer .footer-bottom > .row > .col-md-4 {flex:0 0 31%; max-width:31%;}
footer.main-footer .footer-business-column {padding-left:0; padding-right:0;}
footer.main-footer .footer-business {display:block; padding:0; margin:0; border:0;}
footer.main-footer .footer-business h3 {margin:0 0 24px;}
.footer-business dl > div {grid-template-columns:minmax(75px,.65fr) 1fr; gap:16px; margin-bottom:12px;}
.footer-business dl {font-size:16px;}
@media(max-width:767px) {
 footer.main-footer .footer-bottom > .row > .col-md-4 {flex:0 0 100%; max-width:100%;}
 footer.main-footer .footer-business-column {margin-top:32px;}
}

/* Matching footer contact cards. */
footer.main-footer .footer-business,
footer.main-footer .footer-bottom .footer3 {
 background:#171717; border-radius:12px; padding:28px;
 box-sizing:border-box; min-height:340px; width:100%; max-width:none;
 margin:0; color:#fff;
}
footer.main-footer .footer-business h3,
footer.main-footer .footer-bottom .footer3 > h3 {
 font:20px/1.3 trokit-bold,sans-serif; color:#fff; margin:0 0 28px;
}
footer.main-footer .footer3 .footer-booking {
 background:transparent; border-radius:0; padding:0;
}
footer.main-footer .footer-bottom > .row > .col-md-4:not(.col-ds):not(.col-mb) {
 padding-left:0; padding-right:0;
}
@media(max-width:767px) {
 footer.main-footer .footer-business,
 footer.main-footer .footer-bottom .footer3 {min-height:0; padding:24px;}
 footer.main-footer .footer-bottom .footer3 {margin-top:24px;}
}

/* News inherits TROKIT's paper, Haas typography and shared page edges. */
body.news-surface {background:#fff; color:#111;}
.news-surface header .header-top {background:#fff;}
.news-surface header .header-top .logo-side svg path,
.news-surface header .header-top .menu-button svg rect {fill:#111 !important;}
.news-surface header .header-top .contact-button a {color:#111 !important; border-color:#111 !important;}
.news-surface header .header-top .contact-button a:hover {color:#fff !important;}
.news-index,.news-article {padding:160px var(--site-gutter) 80px; background:#fff; color:#111;}
.news-opening {padding-bottom:52px;}
.news-opening h1,.news-article-opening h1 {font:clamp(40px,4.5vw,76px)/1.05 trokit-bold,sans-serif; letter-spacing:-.03em; margin:0 0 28px; max-width:20ch; text-wrap:balance; color:#111;}
.news-introduction {max-width:72ch; font:20px/1.6 trokit-medium,sans-serif; color:#444;}
.news-introduction p {margin:0;}
.news-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px;}
.news-card {min-width:0; border-bottom:1px solid #ccc;}
.news-card > a {display:block; height:100%; color:#111; text-decoration:none;}
.news-card img {display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover;}
.news-card-copy {padding:22px 0 26px;}
.news-card time {display:block; font:14px/1.5 trokit-medium,sans-serif; color:#555; margin-bottom:12px;}
.news-card h2 {font:clamp(24px,2vw,30px)/1.15 trokit-bold,sans-serif; letter-spacing:-.02em; color:#111; margin:0 0 12px; text-wrap:balance;}
.news-card p {font:16px/1.55 trokit-medium,sans-serif; color:#555; margin:0 0 18px; max-width:65ch;}
.news-read {display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:16px;}
.news-card a:hover h2,.news-body a:hover,.news-connections a:hover {color:#304de2;}
.news-index a:focus-visible,.news-article a:focus-visible,.news-connected a:focus-visible {outline:3px solid #304de2; outline-offset:4px;}
.news-pagination {margin-top:48px;}
.news-pagination ul {display:flex; flex-wrap:wrap; gap:12px; padding:0; list-style:none;}
.news-pagination .page-numbers a,.news-pagination .page-numbers span {display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 12px; color:#111;}
.news-pagination .current {background:#111; color:#fff !important;}
.news-empty {border-top:1px solid #ccc; padding:40px 0;}
.news-empty h2 {font:28px/1.3 trokit-bold,sans-serif; color:#111;}
.news-empty p {font-size:18px; max-width:65ch;}
.news-empty a,.news-back,.news-connections a {display:inline-block; padding:10px 0; color:#111; text-decoration:underline; text-underline-offset:5px;}
.news-breadcrumbs {font-size:14px; margin:0 0 40px;}
.news-breadcrumbs a {color:#555; display:inline-block; padding:10px 0; text-underline-offset:4px;}
.news-article-opening {max-width:1000px; margin:0 auto 40px;}
.news-meta {display:flex; flex-wrap:wrap; gap:12px 28px; color:#555; font:15px/1.5 trokit-medium,sans-serif; margin-bottom:24px;}
.news-standfirst {font:24px/1.5 trokit-medium,sans-serif; color:#444; max-width:65ch; margin:0;}
.news-featured {margin:0 0 52px;}
.news-featured img {display:block; width:100%; max-height:640px; object-fit:contain; height:auto;}
.news-featured figcaption {font-size:14px; line-height:1.5; color:#555; margin-top:12px;}
.news-body {max-width:70ch; margin:0 auto 60px; font:20px/1.65 trokit-medium,sans-serif; overflow-wrap:anywhere;}
.news-body p {margin:0 0 24px;}
.news-body h2 {font:36px/1.2 trokit-bold,sans-serif; letter-spacing:-.02em; margin:48px 0 20px; color:#111;}
.news-body h3 {font:26px/1.3 trokit-bold,sans-serif; margin:36px 0 16px; color:#111;}
.news-body a {color:#111; text-decoration:underline; text-underline-offset:4px;}
.news-body img,.news-body video,.news-body iframe {max-width:100%;}
.news-body img {height:auto;}
.news-body blockquote {margin:36px 0; padding:24px 0; border-block:1px solid #ccc; font-size:26px;}
.news-body figure {margin-inline:0;}
.news-body table {display:block; max-width:100%; overflow-x:auto;}
.news-connections {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; border-top:1px solid #ccc; padding:36px 0;}
.news-connections h2,.news-more > h2,.news-connected > h2 {font:32px/1.2 trokit-bold,sans-serif; color:#111; margin:0 0 24px;}
.news-connections ul {list-style:none; margin:0; padding:0;}
.news-more {margin:40px 0;}
.news-connected {background:#fff; color:#111; padding:60px var(--site-gutter);}
.seo-page .news-connected {padding:48px 0;}
.news-surface ::selection {background:#304de2; color:#fff;}
@media(max-width:1000px) {.news-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px) {
 .news-index,.news-article {padding-top:120px; padding-bottom:48px;}
 .news-opening {padding-bottom:32px;}
 .news-grid,.news-connections {grid-template-columns:1fr; gap:28px;}
 .news-introduction,.news-body {font-size:18px;}
 .news-standfirst {font-size:21px;}
 .news-body h2 {font-size:30px;}
 .news-breadcrumbs {margin-bottom:24px;}
 .news-featured {margin-bottom:32px;}
}

/* Selected projects accompany the article in editorial order. */
.news-article-layout.has-related-projects {
 display:grid; grid-template-columns:minmax(0,1fr) 280px;
 align-items:start; gap:56px; max-width:1320px; margin-inline:auto;
}
.news-article-layout > article {min-width:0;}
.news-project-sidebar h2 {font:24px/1.3 trokit-bold,sans-serif; color:#111; margin:0 0 24px;}
.news-project-stack {display:flex; flex-direction:column; gap:28px;}
.news-project-card {display:block; color:#111; text-decoration:none; border-bottom:1px solid #ccc; padding-bottom:16px;}
.news-project-card img {display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; margin-bottom:14px;}
.news-project-card h3 {font:22px/1.2 trokit-bold,sans-serif; color:#111; margin:0 0 8px; overflow-wrap:anywhere;}
.news-project-card span {display:inline-flex; align-items:center; min-height:44px; font:16px/1.5 trokit-medium,sans-serif; text-decoration:underline; text-underline-offset:4px;}
.news-project-card:hover h3 {color:#304de2;}
@media(max-width:1000px) {
 .news-article-layout.has-related-projects {grid-template-columns:1fr; gap:0;}
 .news-project-sidebar {border-top:1px solid #ccc; padding:32px 0;}
 .news-project-card {max-width:400px;}
}

/* Size menu highlights from the complete label rather than the viewport. */
body > header .menu-overlay {overflow-y:auto;}
body > header .menu-overlay .overlay-items .overlay-menu a {
 display:grid; width:fit-content; max-width:100%; box-sizing:border-box;
 font-size:clamp(30px,3vw,56px); line-height:1.2; min-height:44px;
 padding:2px 8px; margin-left:-8px; margin-bottom:16px;
}
body > header .menu-overlay .overlay-items .overlay-menu a span.first,
body > header .menu-overlay .overlay-items .overlay-menu a span.hovered {
 grid-area:1 / 1; position:static; white-space:normal; overflow-wrap:anywhere;
}
body > header .menu-overlay .overlay-items .overlay-menu a::after,
body > header .menu-overlay .overlay-items .overlay-menu a:hover::after {
 width:100%; top:0; height:100%;
}
body > header .menu-overlay .overlay-items .overlay-menu a:focus-visible {
 outline:2px solid var(--second-color); outline-offset:4px;
}
body > header .menu-overlay .overlay-items .overlay-menu a:focus-visible::after {transform:scaleX(1);}
body > header .menu-overlay .overlay-items .overlay-menu a:focus-visible span.first {opacity:0;}
body > header .menu-overlay .overlay-items .overlay-menu a:focus-visible span.hovered {opacity:1;}

/* Email signup follows the booking card, with no name fields. */
footer.main-footer .footer-action-cards {display:flex; flex-direction:column; gap:24px;}
footer.main-footer .footer-action-cards > .footer3,
footer.main-footer .footer-action-cards > .footer-newsletter {flex:none; height:auto; margin:0; border-radius:12px;}
footer.main-footer .footer-newsletter {padding:28px; background:#171717; border-radius:12px; margin-top:24px; color:#fff;}
footer.main-footer .footer-newsletter h3 {font:22px/1.25 trokit-bold,sans-serif; margin:0 0 12px; color:#fff;}
footer.main-footer .footer-newsletter p {font:16px/1.5 trokit-medium,sans-serif; margin:0 0 20px; color:#fff;}
footer.main-footer .footer-newsletter .tnp {max-width:none; margin:0;}
footer.main-footer .footer-newsletter .tnp-field label {font:16px/1.5 trokit-medium,sans-serif; color:#fff;}
footer.main-footer .footer-newsletter .tnp-email {width:100%; min-height:48px; box-sizing:border-box; background:#fff; color:#111; border:1px solid #888; border-radius:6px; padding:12px; font:16px/1.4 trokit-medium,sans-serif;}
footer.main-footer .footer-newsletter .tnp-submit {width:100%; min-height:48px; border:0; border-radius:6px; background:#fff; color:#111; cursor:pointer; font:16px/1.4 trokit-bold,sans-serif;}
footer.main-footer .footer-newsletter .tnp-submit:hover {background:#ddd;}
footer.main-footer .footer-newsletter .tnp-field-privacy {display:grid; grid-template-columns:20px minmax(0,1fr); gap:10px; align-items:start; margin-top:16px;}
footer.main-footer .footer-newsletter .tnp-field-privacy input {width:18px; height:18px; margin-top:4px; accent-color:#304de2;}
footer.main-footer .footer-newsletter .tnp-field-privacy label {font-size:14px;}
footer.main-footer .footer-newsletter .tnp-field-privacy a {text-decoration:none; color:#fff;}
footer.main-footer .footer-newsletter .newsletter-note {font-size:14px; margin:20px 0 0;}
footer.main-footer .footer-newsletter .newsletter-note a {color:#fff; text-decoration:underline; text-underline-offset:4px;}
.footer-newsletter input:focus-visible,.footer-newsletter button:focus-visible,.footer-newsletter a:focus-visible {outline:3px solid #93a6ff; outline-offset:3px;}
.newsletter-page .tnp {margin-left:0; max-width:600px;}
