/* Mad Systems publication release 13. Progressive enhancement, system typography. */
:root{--publication-muted:#bec6d3;--publication-line:#39414e}
html{scroll-padding-top:100px}body{overflow-wrap:break-word}img,svg,video{max-width:100%}img{height:auto}
[hidden]{display:none!important}:focus-visible{outline:3px solid #ff9299;outline-offset:5px}
button,input,select,textarea{font:inherit}input,select,textarea{max-width:100%;color:inherit}
a{touch-action:manipulation}main a:not(.button):not(.project-card){text-underline-offset:4px}
#nav .nav-search{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;gap:10px}
#nav .nav-search svg{flex:none;max-width:none}#nav .nav-search-text{display:none}
#nav .brand-menu{gap:18px}#nav .brand-nav-inner{gap:22px}
.footer-directory{border-top:1px solid var(--publication-line);padding-top:22px;padding-bottom:26px;display:flex;flex-wrap:wrap;gap:16px 30px;font-size:14px}
.footer-directory a{color:#d9dfe8}.home-hero h1{font-family:system-ui,sans-serif;letter-spacing:-.045em;max-width:12ch}
.home-hero .button::after{display:none}.av-entry .section-head{max-width:930px}.av-entry .section-head p{max-width:76ch}
.service-paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:32px}.service-paths>a{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:26px 23px;border:1px solid var(--publication-line);border-top:3px solid #ed1c24;border-radius:8px;background:#171c25;color:inherit;text-decoration:none;transition:border-color .2s,transform .2s}
.service-paths>a:hover{border-color:#cf5d6c;transform:translateY(-3px)}.service-paths .eyebrow{font-size:10px;letter-spacing:.08em;line-height:1.6;margin:0;color:#ffb0b7}.service-paths h3{font-size:24px;line-height:1.18;margin:0;letter-spacing:-.03em}.service-paths p{font-size:15px;line-height:1.65;color:#c6cedb;margin:0}.service-paths .text-link{font-size:13px;margin-top:auto;padding-top:10px}
.faq-list{min-width:0}.faq-list details{border-top:1px solid var(--publication-line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--publication-line)}.faq-list summary{font-weight:650;line-height:1.5;cursor:pointer;padding-right:12px}.faq-list p{font-size:16px;line-height:1.75;color:#c7cfdb;padding:18px 0 0;margin:0}
.publication-case .portfolio-project-header h1{font-size:clamp(34px,4.5vw,62px);line-height:1.08;letter-spacing:-.04em;max-width:20ch;margin-bottom:24px}.publication-case .lede{font-size:clamp(19px,2vw,23px);line-height:1.6;color:#d4dbe5;max-width:65ch}.portfolio-project-meta,.archive-location{color:#bbc4d1;font-size:15px;margin:20px 0 28px}
.publication-case .proof-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;margin:30px 0 0}.proof-strip dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#b4bdcb;margin-bottom:8px}.proof-strip dd{margin:0;font-size:15px;line-height:1.5;color:#f0f2f6}
.case-gallery-section{padding-top:28px!important}.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}.case-gallery figure{margin:0;min-width:0;text-align:left}.case-gallery figure:only-child{grid-column:1/-1;max-width:var(--source-width,960px);width:100%;margin:auto}.case-gallery img{display:block;width:100%;max-height:570px;object-fit:contain;object-position:left top;border-radius:8px;background:#0e1117}.case-gallery figcaption,.archive-photo figcaption{font-size:13px;line-height:1.55;color:#bcc5d2;margin-top:12px;max-width:65ch}.case-gallery figure:first-child:nth-last-child(4){grid-column:1/-1;max-width:var(--source-width,960px);width:100%;margin:auto}
.archive-intro{font-size:16px;line-height:1.75;color:#bec8d6;max-width:85ch;margin-top:22px}.archive-photo{margin:26px 0 0}.archive-photo img{display:block;width:100%;max-height:520px;object-fit:contain;object-position:left top;border-radius:8px}.archive-record{scroll-margin-top:90px}
.directory-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 0}.directory-jumps a{padding:9px 14px;border:1px solid #626d7e;border-radius:6px;color:#e6eaf1!important;line-height:1.35;font-size:14px;min-height:42px;display:flex;align-items:center}.directory-jumps a:hover{background:#28303d;border-color:#ff9299}.directory-callout,.collection-note{font-size:16px;line-height:1.7;margin-top:22px;max-width:75ch;color:#c2ccd9}
.work-selects{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px}.work-selects label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#d9dfea}.work-selects select{min-height:46px;padding:8px 38px 8px 13px;border:1px solid #657083;border-radius:6px;background:#171d27;color:#f1f4f8}.portfolio-card-media img{display:block;width:100%;height:100%;object-fit:cover}.portfolio-card-media .archive-cover{height:100%}.archive-cover{min-height:230px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#1a2535,#111720);border-top:4px solid #ed1c24}.archive-cover span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#c6d0df;line-height:1.5}.archive-cover strong{font-size:22px;line-height:1.3;font-weight:550;color:#f3f6fb;max-width:18ch}.portfolio-card-copy h2{font-size:clamp(21px,2vw,26px);line-height:1.2;letter-spacing:-.025em;margin:10px 0 14px}.portfolio-card-copy .project-link{display:block;margin-top:20px;font-size:14px;color:#ff9da5}
.technology-register{margin-top:26px}.technology-register>div{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2fr);gap:40px;border-top:1px solid #374250;padding:28px 0}.technology-register dt a{font-size:23px;line-height:1.2;font-weight:700;color:#f1f4f9}.technology-register dt span{display:block;font-size:12px;color:#b5c2d4;margin-top:9px}.technology-register dd{margin:0;font-size:17px;line-height:1.7;color:#cdd5e1}.reference-group h2{font-size:42px;color:#ff9299}.reference-group{padding-top:25px!important;padding-bottom:25px!important}
#site-search-form{margin:30px 0 18px;max-width:880px}#site-search-form>label{display:block;font-size:14px;font-weight:650;margin-bottom:10px}.search-bar{display:flex;gap:12px}.search-bar input{flex:1;min-width:0;min-height:54px;padding:14px 17px;border:1px solid #667487;border-radius:6px;background:#171e29;color:white}#site-search-status{font-size:14px;color:#c4cede}.search-result-section{padding-top:12px!important}#site-search-results{list-style:none;padding:0;margin:0;max-width:980px}#site-search-results li{padding:28px 0;border-bottom:1px solid #3b4657}#site-search-results h2{font-size:26px;margin:7px 0 12px}#site-search-results h2 a{color:#f2f5fa}#site-search-results p{color:#c4cedb;line-height:1.7;margin:0}#site-search-results small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#ffb0b7}
.page-directory{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 46px}.page-directory li{border-top:1px solid #3e4858;padding-top:18px}.page-directory a{font-size:19px;line-height:1.35;font-weight:650;color:#eef2f8}.page-directory p{font-size:14px;line-height:1.65;color:#bcc7d5;margin:10px 0 0}
@media(min-width:861px) and (max-width:1150px){#nav .brand-menu{gap:8px;font-size:13px}#nav .brand-nav-inner{gap:14px}#nav .brand-logo{max-width:110px}#nav .nav-search{min-width:36px;padding:5px}}
@media(max-width:960px){.service-paths{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero h1{max-width:14ch}.technology-register>div{gap:25px;grid-template-columns:1fr 1.5fr}}
@media(max-width:860px){#nav .nav-search{justify-content:flex-start}#nav .nav-search-text{display:inline}#nav .brand-menu{gap:0}.publication-case .proof-strip{grid-template-columns:1fr}.case-gallery figure:first-child:nth-last-child(4){grid-column:auto}.home-hero h1{max-width:15ch}.portfolio-project-header{overflow-wrap:break-word}}
@media(max-width:640px){.service-paths{grid-template-columns:1fr}.service-paths>a{padding:23px}.case-gallery{grid-template-columns:1fr;gap:25px}.case-gallery img{max-height:550px}.technology-register>div{grid-template-columns:1fr;gap:14px}.search-bar{flex-direction:column}.page-directory{grid-template-columns:1fr}.directory-jumps{gap:8px}.directory-jumps a{font-size:12px;padding:9px 11px}.work-selects{flex-direction:column}.work-selects select{width:100%}.publication-case .portfolio-project-header h1{font-size:34px;letter-spacing:-.035em}.archive-cover{min-height:210px}.footer-directory{gap:16px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.service-paths>a:hover{transform:none}}
@media print{#nav,footer,.reading-controls,.menu-toggle,.no-print{display:none!important}body{background:white!important;color:black!important}.page-hero,.portfolio-breadcrumb{padding-top:20px!important}main p,main h1,main h2,main a,main dd,main dt{color:#111!important}a{text-decoration:underline}section{break-inside:auto}h2,h3{break-after:avoid}.case-gallery img{max-height:360px}.faq-list details>p{display:block!important}}
.home-hero h1{max-width:none!important;font-size:clamp(38px,4.9vw,68px)!important;line-height:1.07!important}
.home-hero a[href="five-monkeys.html"]{box-shadow:none!important;animation:none!important;background:transparent!important;border-color:#657083!important;color:#eef1f7!important}
/* Keep decorative and entering frames inside their own stage, not the page width. */
.motion-story-stage{overflow:hidden}.family-connections{overflow:clip}
.work-reset{margin-top:18px;border:1px solid #69768a;border-radius:6px;background:transparent;color:#eef3fa;padding:11px 17px;min-height:44px;cursor:pointer;font-weight:600}.work-reset:hover{border-color:#ff9299;background:#232b37}
.intent-line{white-space:normal!important;max-width:100%}
@media(max-width:1100px){.motion-shift{transform:none!important;max-width:100%;min-width:0}}
/* Project evidence stays aligned and readable while the visitor scans the grid. */
#work-grid .portfolio-card-copy h2,#work-grid .portfolio-card-copy h3{transform:none!important;opacity:1!important;margin:0 0 16px!important;max-width:100%}
