/* One card component. Modifiers describe layout, never content categories.
 * Shared surface, hover and reflection are supplied by liquid-glass.css/.js. */
#page .mto-card {box-sizing:border-box;min-width:0;height:100%;padding:28px;overflow:hidden;}
#page .mto-card h3 {font-size:24px;line-height:1.25;margin:10px 0 14px;}
#page .mto-card p {font-size:15px;line-height:1.65;color:var(--mto-color-muted);}
#page .mto-card-logo {display:block;object-fit:contain;object-position:left center;width:auto;max-width:100%;height:84px;margin:0 0 28px;}
#page .mto-card-actions {display:grid;gap:10px;margin-top:24px;}
#page .mto-card-actions > a {margin:0;justify-content:flex-start;}
/* Full-width illustration; copy uses the same body as editorial cards. */
#page .mto-card--media {padding:0;}
#page .mto-card-media {position:relative;aspect-ratio:900/580;overflow:hidden;}
#page .mto-card-media > img {display:block;width:100%;height:100%;object-fit:cover;border-radius:0;margin:0;}
/* Entire card is one editorial link; padding belongs to its body. */
#page .mto-card--feed {padding:0;}
#page .mto-card-link {display:block;height:100%;color:inherit;}
#page .mto-card-link:focus-visible {outline:2px solid var(--mto-color-focus);outline-offset:-4px;border-radius:var(--mto-radius-panel);}
#page .mto-card-image {display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;}
#page .mto-card-body {padding:28px;}
#page .mto-card .mto-feed-meta {font-size:12px;color:var(--mto-color-link);}
/* Empty content is explicitly different from a populated project or news card. */
#page .mto-card--empty {border:1px dashed var(--mto-placeholder-edge);background:var(--mto-placeholder-surface);box-shadow:none;backdrop-filter:none;}
#page .mto-card--empty:hover {box-shadow:none;}
#page .mto-card-placeholder {display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;font-size:50px;font-weight:300;color:var(--mto-placeholder-ink);}
#page .mto-card--empty p {font-size:14px;margin:20px 0 0;}
@media(min-width:768px) and (max-width:1100px){
 #page .mto-card--media {display:grid;grid-template-columns:40% minmax(0,1fr);margin-bottom:24px;}
 #page .mto-card-media {aspect-ratio:auto;}
 #page .mto-card-media > img {position:absolute;inset:0;}
}
@media(max-width:767px){
 #page .mto-card {padding:24px;}
 #page .mto-card--media {padding:0;}
 #page .mto-card--feed {padding:0;}
 #page .mto-card-body {padding:24px;}
 #page .mto-card--empty {display:flex;align-items:center;gap:22px;}
 #page .mto-card-placeholder {font-size:32px;aspect-ratio:auto;}
 #page .mto-card--empty p {margin:0;}
}
@media(max-width:380px){#page .mto-card-body {padding:20px;}}

/* One reusable horizontal card layout for native child-page collections. */
#page .mto-page-list {display:grid;gap:32px;margin:0;padding:0;list-style:none;}
#page .mto-page-list > li {min-width:0;margin:0;padding:0;}
#page .mto-card--horizontal {height:auto;padding:0;}
#page .mto-card--horizontal .mto-card-link {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;}
#page .mto-card--horizontal .mto-card-image {width:calc(100% - 24px);height:auto;aspect-ratio:16/10;object-fit:contain;margin:24px 0 24px 24px;border-radius:0;}
#page .mto-card--horizontal .mto-card-body {min-width:0;padding:32px;}
#page .mto-card--horizontal:not(:has(.mto-card-image)) .mto-card-body {grid-column:1/-1;}
@media(max-width:767px){
 #page .mto-page-list {gap:24px;}
 #page .mto-card--horizontal .mto-card-link {grid-template-columns:minmax(0,1fr);}
 #page .mto-card--horizontal .mto-card-image {width:calc(100% - 48px);margin:24px 24px 0;}
 #page .mto-card--horizontal .mto-card-body {padding:24px;}
}

/* Portfolio filters and pagination work as ordinary links without JavaScript. */
#page .mto-project-filters ul {display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:28px 0;}
#page .mto-project-filters li {margin:0;}
#page .mto-project-filters a,#page .mto-project-pagination a,#page .mto-project-pagination .current {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--mto-color-muted);border-radius:12px;font-size:14px;line-height:1.4;color:var(--mto-color-ink);}
#page .mto-project-filters a[aria-current],#page .mto-project-pagination .current {border-color:var(--mto-color-link);background:var(--mto-color-brand);font-weight:700;}
#page .mto-project-filters a:focus-visible,#page .mto-project-pagination a:focus-visible {outline:2px solid var(--mto-color-focus);outline-offset:4px;}
#page .mto-project-pagination {display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 0;}
#page .mto-feed-count {font-size:14px;color:var(--mto-color-muted);}
#page .mto-project-heading {padding-top:40px;padding-bottom:0;}
#page .mto-project-heading h1 {max-width:1050px;font-size:clamp(32px,4vw,58px);line-height:1.14;overflow-wrap:anywhere;margin:20px 0 0;}
#page .mto-project-content .entry-content > .mto-page-section:first-child {padding-top:32px;}
#page .mto-project-content .entry-content .vc_single_image-wrapper {max-width:100%;}
#page .mto-project-content .entry-content img {height:auto;max-width:100%;}
#page .mto-project-back {padding-bottom:56px;}
#page .mto-project-content .mto-page-section:last-child {margin-bottom:0;}
@media(max-width:767px){
 #page .mto-project-heading {padding-top:28px;}
 #page .mto-project-filters a {font-size:13px;padding:10px 12px;}
 #page .mto-project-content .mto-lead {font-size:18px;line-height:1.6;}
}

/* Native tag vocabulary: noninteractive chips on cards, linked chips on case pages. */
#page .mto-project-tags {display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:20px 0 0;}
#page .mto-project-tags li {margin:0;max-width:100%;}
#page .mto-project-tags :is(a,span) {display:inline-flex;align-items:center;padding:7px 11px;border:1px solid var(--mto-divider);border-radius:12px;color:var(--mto-color-link);font-size:12px;line-height:1.45;overflow-wrap:anywhere;max-width:100%;}
#page .mto-project-tags a {min-height:44px;font-size:14px;border-color:var(--mto-color-soft);}
#page .mto-project-tags a:focus-visible {outline:2px solid var(--mto-color-focus);outline-offset:4px;}
#page .mto-tag-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
#page .mto-tag-grid > .mto-feed-grid {display:block;margin:0;}
#page .mto-tag-grid .mto-card h2 {font-size:24px;line-height:1.25;letter-spacing:normal;margin:10px 0 14px;}
@media(max-width:1100px){#page .mto-tag-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){#page .mto-tag-grid {grid-template-columns:minmax(0,1fr);gap:18px;}}
#page #main {scroll-margin-top:160px;}
/* This tag template already provides linked tags; Ohio's blog filter/author panel
   targets its separate blog layout and would expose unrelated author navigation. */
body.tag #page .ordering-filters-holder {display:none;}
