/* 道向建設 / Editorial design system / 2026-09-27
   Common hierarchy, natural photography, restrained navy and clear actions.
   The approved homepage hero and global header are intentionally isolated. */
body.mkk-photo-update {
  --ds-ink:#183c51; --ds-body:#384d59; --ds-muted:#62737e;
  --ds-blue:#007da9; --ds-navy:#0a3554; --ds-paper:#f2f5f5; --ds-line:#dbe3e6;
  font-family:"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;
  -webkit-font-smoothing:antialiased; color:var(--ds-body);
}
body.mkk-photo-update .mkk-page { font-size:15px; }
body.mkk-photo-update :is(.mkk-page,.shoot-work-capability) h2,
body.mkk-photo-update.home :is(.mkk-about,.mkk-services,.top25-strength,.top25-works,.top25-recruit,.mkk-news) h2 {
  font-size:clamp(28px,2.6vw,38px); line-height:1.6; letter-spacing:.035em;
  font-weight:700; color:var(--ds-ink); padding:0; border:0; background:none;
  margin:0 0 28px; text-wrap:pretty;
}
body.mkk-photo-update :is(.mkk-page,.shoot-work-capability) h2::before,
body.mkk-photo-update :is(.mkk-page,.shoot-work-capability) h2::after { display:none; }
body.mkk-photo-update .mkk-page h3 {font-size:20px;line-height:1.65;letter-spacing:.02em;color:var(--ds-ink)}
body.mkk-photo-update .mkk-page p {color:var(--ds-body);font-size:15px;line-height:2;letter-spacing:.025em}
body.mkk-photo-update :is(.mkk-eyebrow,.rev-kicker,.shoot-kicker,.top25-kicker,.mkk-editorial-label) {
 font:600 11px/1.5 Arial,sans-serif!important;letter-spacing:.17em!important;
 color:var(--ds-blue)!important;-webkit-text-stroke:0!important;text-shadow:none!important;
 margin:0 0 16px!important;
}
body.mkk-photo-update .mkk-page>p.mkk-lead {max-width:850px;margin:0 0 40px;font-size:18px;line-height:1.95;font-weight:500;color:var(--ds-ink)}
body.mkk-photo-update :is(.mkk-page,.shoot-work-capability) img {border-radius:0;filter:none}
body.mkk-photo-update :is(.mkk-page,.shoot-work-capability) figcaption {font-size:12px;line-height:1.75;letter-spacing:.025em;color:var(--ds-muted);padding-top:12px}
body.mkk-photo-update .mkk-page [id] {scroll-margin-top:100px}
/* Page mastheads are distinct from content headings. */
body.mkk-photo-update:not(.home) .c-entry__header {
 margin:0 auto 42px;padding:22px 0 32px;border-bottom:1px solid var(--ds-line);
}
body.mkk-photo-update:not(.home) .c-entry__title {
 font-size:clamp(32px,3.2vw,46px)!important;line-height:1.5!important;letter-spacing:.045em!important;
 color:var(--ds-ink)!important;font-weight:700;padding:0!important;margin:0;
}
body.mkk-photo-update:not(.home) .c-entry__title::after {display:none!important}
body.mkk-photo-update:not(.home) .c-entry__title::before {
 display:block;content:var(--ds-page-label);font:600 12px/1.5 Arial,sans-serif;letter-spacing:.2em;
 color:var(--ds-blue);margin-bottom:14px;position:static;background:none;width:auto;height:auto;
}
body.page-id-40 {--ds-page-label:'COMPANY'}
body.rev-03_service {--ds-page-label:'BUSINESS'}
body.page-id-42 {--ds-page-label:'RECRUIT'}
body.page-id-43 {--ds-page-label:'CONTACT'}
body.post-type-archive-works,body.single-works {--ds-page-label:'WORKS'}
body.post-type-archive-news,body.single-news {--ds-page-label:'NEWS'}
body.page-id-3 {--ds-page-label:'PRIVACY POLICY'}
body.page-id-125 {--ds-page-label:'SITE MAP'}
body.mkk-photo-update .c-breadcrumbs {font-size:11px;color:#71818b}
body.mkk-photo-update .mkk-page-nav {display:flex;flex-wrap:wrap;gap:0;margin:36px 0 80px;border-block:1px solid var(--ds-line)}
body.mkk-photo-update .mkk-page-nav a {display:flex;flex:1;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:16px 24px;color:var(--ds-ink);font-size:13px;font-weight:600;letter-spacing:.03em;text-decoration:none;border-right:1px solid var(--ds-line)}
body.mkk-photo-update .mkk-page-nav a:first-child {padding-left:0}
body.mkk-photo-update .mkk-page-nav a:last-child {border-right:0}
body.mkk-photo-update .mkk-page-nav a span {color:var(--ds-blue);font-size:17px;font-weight:400}
body.mkk-photo-update .mkk-page-nav a:hover {background:var(--ds-paper)}
/* Sections: a deliberate separation between label/title and the reading column. */
body.mkk-photo-update .mkk-section {margin:80px 0;padding:0}
body.mkk-photo-update .mkk-section>* {margin-inline:0!important;max-width:none;width:100%;justify-self:stretch}
body.mkk-photo-update .mkk-section-head>* {margin-inline:0!important;max-width:none}
body.mkk-photo-update .mkk-section-body>:is(p,figure,ul,.wp-block-columns,.wp-block-group) {margin-inline:0!important;width:100%;max-width:none}
body.mkk-photo-update .mkk-section-body>.wp-block-table {width:100%}
body.mkk-photo-update .mkk-section-body .shoot-service-detail {width:min(780px,100%);margin-left:auto!important}
body.mkk-photo-update .mkk-section-head {margin:0 0 32px;min-width:0}
body.mkk-photo-update .mkk-section-head h2 {margin:0}
body.mkk-photo-update .mkk-section-body {margin:0;min-width:0}
body.mkk-photo-update .mkk-section-body>:first-child {margin-top:0}
body.mkk-photo-update .mkk-section-body>p {max-width:760px;margin:0 0 22px}
body.mkk-photo-update .mkk-info-section {display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;border-top:1px solid var(--ds-line);padding-top:44px}
body.mkk-photo-update .mkk-info-section h2 {font-size:28px;line-height:1.6}
body.mkk-photo-update .mkk-page .wp-block-table {margin:0;overflow:visible}
body.mkk-photo-update .mkk-page .wp-block-table table {border:0;border-collapse:collapse;table-layout:auto;font-size:14px}
body.mkk-photo-update .mkk-page .wp-block-table th,
body.mkk-photo-update .mkk-page .wp-block-table td,
body.mkk-photo-update .mkk-page .wp-block-table tr:nth-child(even) td {
 background:transparent;color:var(--ds-body);border:0;border-bottom:1px solid var(--ds-line);
 padding:20px 0;line-height:1.9;font-size:14px;letter-spacing:.02em;vertical-align:top;
}
body.mkk-photo-update .mkk-page .wp-block-table th {width:25%;padding-right:26px;color:var(--ds-ink);font-size:13px;font-weight:600}
body.mkk-photo-update .mkk-page ul.mkk-chips {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:20px 0}
body.mkk-photo-update .mkk-page ul.mkk-chips>li {border:0;border-bottom:1px solid var(--ds-line);padding:16px 0;font-size:14px;font-weight:500;color:var(--ds-body);border-radius:0;background:none}
body.mkk-photo-update .mkk-page ul.mkk-points>li {border-bottom:1px solid var(--ds-line);padding:16px 0 16px 20px;color:var(--ds-body)}
body.mkk-photo-update .mkk-page ul.mkk-points>li::before {left:0;color:var(--ds-blue)}
/* A common button shape. Hero actions retain the approved hero treatment. */
body.mkk-photo-update :is(.mkk-btn,.top25-button) .wp-block-button__link,
body.mkk-photo-update .mkk-shared-contact__button,
body.mkk-photo-update .mkk-form input[type=submit],
body.mkk-photo-update .mkk-capability-link {
 display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;
 padding:14px 24px;border:1px solid #7c9aab;border-radius:2px;background:transparent;
 color:var(--ds-ink);font-size:13px;font-weight:600;line-height:1.6;letter-spacing:.04em;
 text-decoration:none;box-shadow:none;transition:background .2s,color .2s,border-color .2s;
}
body.mkk-photo-update :is(.mkk-btn,.top25-button) .wp-block-button__link:hover,
body.mkk-photo-update .mkk-shared-contact__button:hover,
body.mkk-photo-update .mkk-capability-link:hover {background:var(--ds-navy);border-color:var(--ds-navy);color:white;transform:none}
body.mkk-photo-update .mkk-btn-light .wp-block-button__link {color:white;border-color:#a8bfce}
body.mkk-photo-update .mkk-btn-light .wp-block-button__link:hover {color:var(--ds-navy);background:white;border-color:white}
body.mkk-photo-update .mkk-page a:not(.wp-block-button__link):not(.mkk-page-nav a):not(.mkk-capability-link) {text-underline-offset:4px}
body.mkk-photo-update a:focus-visible,body.mkk-photo-update button:focus-visible {outline:2px solid #0086b2;outline-offset:5px}
/* Homepage: a clear rhythm of white / navy / soft gray, using the same hierarchy. */
body.mkk-photo-update.home .shoot-about {background:white;padding:100px 0}
body.mkk-photo-update.home .mkk-about-cols {align-items:center;gap:80px}
body.mkk-photo-update.home .mkk-about-copy {flex-basis:58%!important}
body.mkk-photo-update.home .mkk-about-copy p:not(.mkk-editorial-label) {font-size:15px;line-height:2.1;letter-spacing:.04em;color:var(--ds-body);margin:0 0 30px}
body.mkk-photo-update.home .mkk-about-art {flex-basis:42%!important;padding:40px 20px;min-height:0}
body.mkk-photo-update.home .mkk-about-logo {width:240px;max-width:80%;margin:auto}
body.mkk-photo-update.home .mkk-about-logo img {width:100%;height:auto}
body.mkk-photo-update.home .mkk-services {background:var(--ds-navy)!important;padding:0;color:white}
body.mkk-photo-update.home .mkk-service-layout {max-width:1440px;margin:0 auto!important;align-items:stretch;gap:0}
body.mkk-photo-update.home .mkk-service-visual {flex-basis:50%!important;clip-path:none;padding:0}
body.mkk-photo-update.home .mkk-service-cover {min-height:100%!important;height:100%;clip-path:none}
body.mkk-photo-update.home .mkk-service-content {flex-basis:50%!important;padding:64px 6% 56px}
body.mkk-photo-update.home .mkk-services h2 {color:white;font-size:36px;margin:0 0 24px}
body.mkk-photo-update.home .mkk-services .mkk-editorial-label {color:#8ec4d6!important}
body.mkk-photo-update.home .mkk-service-intro {color:#dce7ed;font-size:14px;line-height:2;margin-bottom:28px}
body.mkk-photo-update.home .mkk-service-item {gap:20px;margin:24px 0 0;align-items:center;padding-top:24px;border-top:1px solid #ffffff24}
body.mkk-photo-update.home .mkk-service-item h3 {font-size:18px;letter-spacing:.025em;line-height:1.6;margin-bottom:8px;color:white}
body.mkk-photo-update.home .mkk-service-item p {font-size:12px;line-height:1.9;letter-spacing:.02em;color:#dce7ed}
body.mkk-photo-update.home .mkk-service-thumb img {clip-path:none;filter:none;border:0;aspect-ratio:3/2;height:auto}
body.mkk-photo-update.home .mkk-service-item>.wp-block-column:first-child {flex-basis:34%!important}
body.mkk-photo-update.home .mkk-service-icons {padding:30px 0;margin:0 auto}
body.mkk-photo-update.home .mkk-process {padding-bottom:64px}
body.mkk-photo-update.home :is(.top25-strength,.top25-works,.top25-recruit) {padding:96px 0}
body.mkk-photo-update.home .top25-strength {background:var(--ds-paper)}
body.mkk-photo-update.home .top25-heading-row {margin-bottom:40px;gap:60px;align-items:end}
body.mkk-photo-update.home .top25-heading-row h2 {margin:0}
body.mkk-photo-update.home .top25-lead {color:var(--ds-muted);font-size:14px;line-height:2}
body.mkk-photo-update.home .top25-strength-grid {gap:64px;align-items:center}
body.mkk-photo-update.home .top25-fleet img {aspect-ratio:1.3;filter:none;flex:none}
body.mkk-photo-update.home .top25-points .top25-point {padding:24px 0;gap:22px;border-color:var(--ds-line)}
body.mkk-photo-update.home .top25-points h3 {font-size:19px;line-height:1.6;letter-spacing:.02em;color:var(--ds-ink)}
body.mkk-photo-update.home .top25-points p {font-size:14px;line-height:1.9;color:var(--ds-body)}
body.mkk-photo-update.home .top25-points .top25-number {font-size:28px;line-height:1.4;color:var(--ds-blue);font-weight:400}
body.mkk-photo-update.home .top25-work-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
body.mkk-photo-update.home .top25-work-card {border:0;border-radius:0;background:white;box-shadow:none}
body.mkk-photo-update.home .top25-work-card figure {aspect-ratio:1.85}
body.mkk-photo-update.home .top25-work-card img {filter:none;transition:transform .3s}
body.mkk-photo-update.home .top25-work-card:hover img {transform:scale(1.025)}
body.mkk-photo-update.home .top25-work-body {padding:20px 0 0}
body.mkk-photo-update.home .top25-work-body h3 {min-height:0;font-size:21px;line-height:1.7;margin:0 0 10px;color:var(--ds-ink)}
body.mkk-photo-update.home .top25-work-body h3 br {display:none}
body.mkk-photo-update.home .top25-work-body p {min-height:0;font-size:14px;line-height:1.85;color:var(--ds-muted);margin-bottom:20px}
body.mkk-photo-update.home .top25-work-figure figcaption {font-size:11px;background:white;color:var(--ds-ink);padding:8px 16px;letter-spacing:.02em}
body.mkk-photo-update.home .top25-work-more {border-color:var(--ds-line);color:var(--ds-ink);padding-top:14px;font-size:12px}
body.mkk-photo-update.home .top25-recruit {background:var(--ds-paper);color:var(--ds-ink)}
body.mkk-photo-update.home .top25-recruit-grid {grid-template-columns:1.16fr 1fr;gap:64px}
body.mkk-photo-update.home .top25-recruit-visual {padding:0}
body.mkk-photo-update.home .top25-recruit-visual figure {aspect-ratio:1.25;clip-path:none}
body.mkk-photo-update.home .top25-recruit-visual img {filter:none;mask-image:none;-webkit-mask-image:none;object-position:52% 40%}
body.mkk-photo-update.home .top25-recruit-visual::after {display:none}
body.mkk-photo-update.home .top25-recruit-copy {padding:0}
body.mkk-photo-update.home :is(.top25-recruit-text,.top25-motto) {color:var(--ds-body);font-size:15px;line-height:2;letter-spacing:.025em;border:0;padding:0}
body.mkk-photo-update.home .top25-recruit .top25-button .wp-block-button__link {color:white;background:var(--ds-navy);border-color:var(--ds-navy)}
body.mkk-photo-update.home .top25-recruit .top25-button .wp-block-button__link:hover {background:#155271}
body.mkk-photo-update.home .top25-recruit-bottom {border-color:var(--ds-line);margin-top:44px;padding-top:32px}
body.mkk-photo-update.home .top25-recruit-bottom h3 {color:var(--ds-ink)}
body.mkk-photo-update.home .top25-job-facts>div {border-color:var(--ds-line)}
body.mkk-photo-update.home .top25-job-facts :is(dt,.top25-job-label) {color:var(--ds-muted)}
body.mkk-photo-update.home .top25-job-facts :is(dd,.top25-job-value) {color:var(--ds-ink)}
body.mkk-photo-update.home .mkk-news {padding:88px 0}
body.mkk-photo-update.home .mkk-news-list .wp-block-post {padding:24px 0;border-color:var(--ds-line)}
body.mkk-photo-update.home .mkk-news-list .wp-block-post-title {font-size:15px;color:var(--ds-body)}
/* Company: portrait and message, then a concise reference layout. */
body.mkk-photo-update .rev-company-cover img {height:auto;aspect-ratio:2.45;object-position:50% 70%!important}
body.mkk-photo-update .shoot-greeting {grid-template-columns:minmax(0,32%) minmax(0,1fr);gap:80px;align-items:start;margin:80px 0}
body.mkk-photo-update .shoot-president {padding:0}
body.mkk-photo-update .shoot-president-photo {background:none}
body.mkk-photo-update .shoot-president-photo img {height:auto;aspect-ratio:3/4;object-position:59% 43%}
body.mkk-photo-update .shoot-president-photo figcaption {background:none;padding:18px 0;justify-content:space-between;border-bottom:1px solid var(--ds-line);color:var(--ds-ink)}
body.mkk-photo-update .shoot-president-photo figcaption strong {font-size:22px;letter-spacing:.15em}
body.mkk-photo-update .shoot-greeting .rev-greeting-copy p {font-size:15px;line-height:2.05;color:var(--ds-body)}
body.mkk-photo-update .shoot-greeting .rev-greeting-copy .mkk-sign {margin-top:30px;font-size:14px;color:var(--ds-ink)}
body.mkk-photo-update .shoot-company-team {border:0;padding:0;margin:80px 0;background:none}
body.mkk-photo-update .shoot-section-heading {align-items:end;gap:48px;margin-bottom:32px}
body.mkk-photo-update .shoot-section-heading h2 {padding:0;margin:0}
body.mkk-photo-update .shoot-company-pair {grid-template-columns:1fr 1fr;gap:24px}
body.mkk-photo-update .shoot-company-pair .shoot-photo img {height:auto;aspect-ratio:1.65}
body.mkk-photo-update .mkk-info-section#access {display:block}
body.mkk-photo-update .mkk-info-section#access .mkk-section-head {margin-bottom:32px}
body.mkk-photo-update .v2-office-grid {gap:24px;margin:0 0 24px}
body.mkk-photo-update .mkk-map {margin-top:28px}
/* Services: three spacious photo stories; equipment and capability as factual lists. */
body.mkk-photo-update .mkk-service-story {padding-top:44px;border-top:1px solid var(--ds-line)}
body.mkk-photo-update .mkk-service-story .mkk-section-head {display:block}
body.mkk-photo-update .mkk-service-story .mkk-section-head .mkk-eyebrow {min-width:0}
body.mkk-photo-update .mkk-service-story .mkk-media-row {display:grid;grid-template-columns:1.14fr 1fr;gap:56px;align-items:center;margin:0}
body.mkk-photo-update .mkk-service-story .mkk-media-row>.wp-block-column {min-width:0}
body.mkk-photo-update .mkk-service-story .mkk-media-row img {height:auto;aspect-ratio:1.5;clip-path:none}
body.mkk-photo-update .mkk-service-story .mkk-media-row p {font-size:15px;line-height:2.1;color:var(--ds-body)}
body.mkk-photo-update #road .mkk-media-row>.wp-block-column:first-child {order:2}
body.mkk-photo-update #road .mkk-media-row {grid-template-columns:1fr 1.14fr}
body.mkk-photo-update .shoot-service-detail {max-width:780px;margin:36px 0 0 auto;padding:0;border:0}
body.mkk-photo-update .shoot-detail-label {font-size:12px;font-weight:600;color:var(--ds-muted);margin-bottom:14px}
body.mkk-photo-update .shoot-detail-pair {gap:20px}
body.mkk-photo-update .shoot-detail-pair img {height:auto;aspect-ratio:1.8}
body.mkk-photo-update .mkk-service-section:is(#work-types,#qualification) {padding:36px 40px;background:var(--ds-paper);margin:40px 0}
body.mkk-photo-update .mkk-service-section:is(#work-types,#qualification) h2 {font-size:28px}
body.mkk-photo-update .rev-equipment {margin:0 0 32px}
body.mkk-photo-update .rev-fleet img {height:auto;aspect-ratio:2.6}
body.mkk-photo-update .rev-equipment-pair {gap:24px}
body.mkk-photo-update .rev-equipment-pair img {height:auto;aspect-ratio:1.8}
/* Recruiting: natural faces, a readable message and plain job information. */
body.mkk-photo-update .rev-recruit-cover img {height:auto;aspect-ratio:2.4;object-position:50% 43%!important}
body.mkk-photo-update .shoot-recruit-message {margin:0;gap:64px;align-items:center}
body.mkk-photo-update .shoot-recruit-message .mkk-message {padding:0;border:0;background:none;box-shadow:none}
body.mkk-photo-update .shoot-recruit-message .mkk-message p {font-size:17px;line-height:2.1;color:var(--ds-ink)}
body.mkk-photo-update .shoot-recruit-message>.shoot-photo {height:auto;aspect-ratio:1.45}
body.mkk-photo-update .rev-people-section {margin:88px 0}
body.mkk-photo-update .rev-section-lead {font-size:15px;line-height:2;color:var(--ds-muted)}
body.mkk-photo-update .rev-people-grid {gap:24px;margin-top:32px}
body.mkk-photo-update .rev-people-card {background:transparent;border-radius:0}
body.mkk-photo-update .rev-people-card img {height:auto;aspect-ratio:4/5;object-fit:cover}
body.mkk-photo-update .rev-people-card figcaption {background:none;color:var(--ds-ink);padding:18px 0;font-size:18px;font-weight:600;border-bottom:1px solid var(--ds-line)}
body.mkk-photo-update .rev-safety {background:var(--ds-paper);grid-template-columns:1.15fr 1fr;margin:88px 0}
body.mkk-photo-update .rev-safety>div>.rev-photo {height:390px}
body.mkk-photo-update .rev-safety-copy {padding:40px}
body.mkk-photo-update .rev-safety-copy h2 {font-size:30px;margin-bottom:24px}
body.mkk-photo-update .shoot-recruit-life {margin:88px 0}
body.mkk-photo-update .shoot-life-mosaic {grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:24px}
body.mkk-photo-update .shoot-life-mosaic img {height:auto;aspect-ratio:1.5}
body.mkk-photo-update .shoot-life-mosaic figcaption {position:static;padding:12px 0;background:none;color:var(--ds-muted);font-size:12px}
body.mkk-photo-update .mkk-section#entry {border-top:1px solid var(--ds-line);padding-top:40px;display:grid;grid-template-columns:240px 1fr;gap:64px}
body.mkk-photo-update .mkk-telbox {background:none;padding:22px 0;text-align:left;border-radius:0;border-top:1px solid var(--ds-line);margin-top:24px}
body.mkk-photo-update .mkk-telbox p {font-size:13px;color:var(--ds-muted)}
body.mkk-photo-update .mkk-telbox strong {font:500 32px/1.5 Arial,sans-serif}
body.mkk-photo-update .shoot-recruit-entry {background:var(--ds-navy);margin:0;grid-template-columns:1fr 1fr}
body.mkk-photo-update .shoot-entry-photo {height:350px}
body.mkk-photo-update .shoot-entry-photo img {mask-image:none;-webkit-mask-image:none;filter:none}
body.mkk-photo-update .shoot-recruit-entry .rev-cta-copy {padding:48px 10%;color:white}
body.mkk-photo-update .shoot-recruit-entry .rev-kicker {color:#9dccde!important}
body.mkk-photo-update .shoot-recruit-entry h2 {font-size:30px;color:white}
/* Works: a portfolio grid and compact related-service section. */
body.mkk-photo-update.post-type-archive-works .c-entries {display:grid;grid-template-columns:1fr 1fr;gap:48px 32px;margin:0;padding:0}
body.mkk-photo-update.post-type-archive-works .c-entries__item {width:auto;max-width:none;margin:0;padding:0}
body.mkk-photo-update.post-type-archive-works .c-entry-summary__figure {aspect-ratio:1.6;position:relative;overflow:hidden}
body.mkk-photo-update.post-type-archive-works .c-entry-summary__figure::before {display:none}
body.mkk-photo-update.post-type-archive-works .c-entry-summary__figure img {position:static;width:100%;height:100%;object-fit:cover;transition:transform .3s}
body.mkk-photo-update.post-type-archive-works .c-entry-summary__body {padding:20px 0 0}
body.mkk-photo-update.post-type-archive-works .c-entry-summary__title {font-size:20px;line-height:1.7;color:var(--ds-ink)}
body.mkk-photo-update.post-type-archive-works .c-entry-summary__body::after {display:block;content:'施工内容を見る　 →';border-top:1px solid var(--ds-line);padding-top:16px;margin-top:20px;font-size:12px;color:var(--ds-blue)}
body.mkk-photo-update.post-type-archive-works .c-entries__item a:hover img {transform:scale(1.025)}
body.mkk-photo-update .shoot-work-capability {display:grid;grid-template-columns:1fr 1.7fr;gap:0 48px;padding:48px 0;margin:80px 0 0;border-block:1px solid var(--ds-line);background:none}
body.mkk-photo-update .mkk-capability-heading {display:block;grid-column:1;grid-row:1;margin:0}
body.mkk-photo-update .mkk-capability-heading h2 {font-size:28px;margin:0 0 20px}
body.mkk-photo-update .mkk-capability-intro {font-size:13px;line-height:1.9;color:var(--ds-muted)}
body.mkk-photo-update .mkk-capability-gallery {grid-column:2;grid-row:1/3;grid-template-columns:1fr 1fr;gap:20px;align-self:center}
body.mkk-photo-update .mkk-capability-gallery .shoot-photo img {height:auto;aspect-ratio:3/2;object-fit:cover}
body.mkk-photo-update .mkk-capability-gallery figcaption {display:block;font-size:12px}
body.mkk-photo-update .mkk-capability-gallery figcaption span {display:block;margin-bottom:4px}
body.mkk-photo-update .mkk-capability-action {grid-column:1;grid-row:2;justify-content:start;margin:24px 0 0;padding:0;border:0}
body.mkk-photo-update .mkk-capability-link {font-size:12px;padding:12px 16px;gap:16px}
body.mkk-photo-update .mkk-capability-link svg {width:22px;height:22px;padding:0;border:0;border-radius:0;flex-shrink:0}
body.mkk-photo-update .mkk-capability-link:hover svg {background:none}
body.mkk-photo-update.single-works .c-entry__title {font-size:clamp(28px,2.6vw,38px)!important;max-width:980px}
body.mkk-photo-update.single-works .mkk-works-cover img {height:auto;max-height:520px;width:100%;object-fit:cover;aspect-ratio:2.2}
body.mkk-photo-update.single-works .mkk-info-section {grid-template-columns:200px 1fr;gap:56px}
body.mkk-photo-update .mkk-process-step {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:48px;border-top:1px solid var(--ds-line);padding:32px 0;margin:0}
body.mkk-photo-update .mkk-process-step>h3 {grid-column:1;grid-row:1;align-self:end;margin:0 0 16px;padding:0;background:none;font-size:20px;counter-increment:none}
body.mkk-photo-update .mkk-process-step>h3::before {display:none}
body.mkk-photo-update .mkk-process-step>p {grid-column:1;grid-row:2;margin:0;align-self:start;font-size:14px;line-height:1.95}
body.mkk-photo-update .mkk-process-step>.wp-block-gallery {grid-column:2;grid-row:1/3;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;margin:0!important}
body.mkk-photo-update .mkk-process-step>.columns-1 {grid-template-columns:1fr}
body.mkk-photo-update .mkk-process-step .wp-block-gallery figure.wp-block-image {width:auto!important;max-width:100%;margin:0!important;display:block}
body.mkk-photo-update .mkk-process-step .wp-block-gallery figure.wp-block-image img {width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f2f5f5}
body.mkk-photo-update .mkk-process-step .wp-block-gallery figcaption {position:static!important;max-height:none!important;background:none!important;color:var(--ds-muted)!important;padding:10px 0!important;font-size:11px;text-align:left}
body.mkk-photo-update .mkk-works-back {margin-top:40px}
/* News and utility pages. */
body.mkk-photo-update .rev-archive-lead {font-size:16px;line-height:2;color:var(--ds-body);margin-bottom:44px}
body.mkk-photo-update .rev-news-row {padding:28px 0;grid-template-columns:115px 90px 1fr 24px;gap:24px}
body.mkk-photo-update .rev-news-row .rev-news-tag {border:0;background:var(--ds-paper);color:#516572;padding:5px 12px;font-size:11px}
body.mkk-photo-update .rev-news-row strong {color:var(--ds-ink);font-size:16px}
body.mkk-photo-update .rev-news-row:hover {background:#f7f9f9}
body.mkk-photo-update .rev-news-body {max-width:850px;min-height:280px}
body.mkk-photo-update .rev-article-nav {margin-top:64px;padding:24px 0;border-color:var(--ds-line)}
body.mkk-photo-update.page-id-3 .mkk-page {max-width:850px}
body.mkk-photo-update.page-id-3 .mkk-page h2 {font-size:24px;margin-top:48px;margin-bottom:20px}
body.mkk-photo-update .rev-sitemap {gap:0 56px;margin:0 0 64px}
body.mkk-photo-update .rev-sitemap a {padding:28px 0;font-size:17px;color:var(--ds-ink);border-color:var(--ds-line)}
/* Contact: a calm reading column and full-sized controls. */
body.mkk-photo-update .shoot-contact-main {grid-template-columns:280px minmax(0,1fr);gap:72px;margin:56px 0 72px}
body.mkk-photo-update .shoot-contact-aside {background:none;padding:0;color:var(--ds-ink)}
body.mkk-photo-update .shoot-contact-aside .mkk-eyebrow {color:var(--ds-blue)!important}
body.mkk-photo-update .shoot-contact-aside h2.shoot-contact-aside-title {color:var(--ds-ink);font-size:22px;margin-bottom:20px}
body.mkk-photo-update .shoot-contact-aside p {color:var(--ds-muted);font-size:14px}
body.mkk-photo-update .shoot-contact-tel a {color:var(--ds-ink);font:500 30px/1.7 Arial,sans-serif;letter-spacing:.015em}
body.mkk-photo-update .shoot-contact-fax {color:var(--ds-muted)!important}
body.mkk-photo-update .shoot-form-card {background:none;padding:0;border:0}
body.mkk-photo-update .shoot-form-card h2 {font-size:28px;line-height:1.6;margin-bottom:20px}
body.mkk-photo-update .shoot-form-note {font-size:14px;margin:0 0 32px;color:var(--ds-muted)}
body.mkk-photo-update .mkk-form .mkk-field-grid {grid-template-columns:1fr;gap:0}
body.mkk-photo-update .mkk-form .mkk-field {margin-bottom:26px}
body.mkk-photo-update .mkk-form .mkk-field label {font-size:14px;letter-spacing:.03em;color:var(--ds-ink)}
body.mkk-photo-update .mkk-badge {background:#edf2f4;color:#436171;border:1px solid #cbd8df;font-size:10px;padding:2px 7px;margin-left:12px;vertical-align:middle}
body.mkk-photo-update .mkk-form .wpcf7 :is(input[type=text],input[type=email],input[type=tel],textarea) {background:#f5f7f8;border:1px solid #ced9df;border-radius:2px;font-size:16px;min-height:54px;color:var(--ds-body);padding:12px 16px}
body.mkk-photo-update .mkk-form .wpcf7 textarea {min-height:200px}
body.mkk-photo-update .mkk-form .wpcf7 :is(input,textarea):focus {background:white;border-color:var(--ds-blue);box-shadow:0 0 0 3px #0083ab16}
body.mkk-photo-update .mkk-form input[type=submit] {display:block;color:white;background-color:var(--ds-navy);border-color:var(--ds-navy);min-width:260px;margin:28px 0 0;text-align:center}
body.mkk-photo-update .mkk-form input[type=submit]:hover {background-color:#155271;color:white;transform:none}
/* Shared close: consistent on all content pages, photograph reaches the edge. */
body.mkk-photo-update .mkk-shared-contact {background:var(--ds-paper);border-top:1px solid #e5ebed}
body.mkk-photo-update .mkk-shared-contact__inner {min-height:330px;padding:56px 0}
body.mkk-photo-update .mkk-shared-contact__copy {max-width:48%;width:480px}
body.mkk-photo-update .mkk-shared-contact__title {color:var(--ds-ink);font-size:36px;letter-spacing:.06em;line-height:1.5}
body.mkk-photo-update .mkk-shared-contact__eyebrow {color:var(--ds-blue);font-size:11px;letter-spacing:.17em;margin:0 0 14px}
body.mkk-photo-update .mkk-shared-contact__text {font-size:15px;line-height:1.9;margin:20px 0 26px;color:var(--ds-body)}
body.mkk-photo-update .mkk-shared-contact__visual {inset:0 0 0 55%;background:none}
body.mkk-photo-update .mkk-shared-contact__visual img {mask-image:none;-webkit-mask-image:none;filter:none;object-position:68% 42%}
body.mkk-photo-update .mkk-shared-contact__word {display:none}
body.mkk-photo-update .l-footer {background:var(--ds-navy);color:#e1e9ef}
body.mkk-photo-update .l-footer .mkk-footer {padding-top:56px;padding-bottom:32px}
body.mkk-photo-update .l-footer .mkk-footer h2 {color:#91bbce;font-size:11px;letter-spacing:.15em}
body.mkk-photo-update .l-footer .mkk-footer a {font-size:13px;text-decoration:none}
body.mkk-photo-update .l-footer .brand-footer-phone a {font-size:26px}
body.mkk-photo-update .l-footer .mkk-footer a:hover {text-decoration:underline;text-underline-offset:4px}
body.mkk-photo-update .l-footer .c-copyright {font-size:10px;padding:12px 0 24px}
/* Mobile dock remains two equal, accessible actions. */
body.mkk-photo-update .mkk-mobile-cta {grid-template-columns:repeat(2,minmax(0,1fr))}
body.mkk-photo-update .mkk-mobile-cta a {border-radius:2px}
body.mkk-photo-update .mkk-mobile-cta__contact {background:var(--ds-navy);border-color:var(--ds-navy)}
@media(min-width:768px) and (max-width:1100px){
 body.mkk-photo-update .mkk-info-section,body.mkk-photo-update.single-works .mkk-info-section {grid-template-columns:190px 1fr;gap:32px}
 body.mkk-photo-update .shoot-greeting {gap:40px}
 body.mkk-photo-update.home .mkk-service-content {padding:48px 4%}
 body.mkk-photo-update.home .mkk-services h2 {font-size:30px}
 body.mkk-photo-update .mkk-service-story .mkk-media-row {gap:32px}
 body.mkk-photo-update .shoot-contact-main {grid-template-columns:230px 1fr;gap:40px}
 body.mkk-photo-update .shoot-work-capability {grid-template-columns:1fr 1.3fr;gap:28px}
 body.mkk-photo-update .mkk-capability-gallery {gap:12px}
}
@media(max-width:767px){
 body.mkk-photo-update .mkk-page {font-size:15px}
 body.mkk-photo-update :is(.mkk-page,.shoot-work-capability) h2,
 body.mkk-photo-update.home :is(.mkk-about,.mkk-services,.top25-strength,.top25-works,.top25-recruit,.mkk-news) h2 {font-size:28px;line-height:1.55;letter-spacing:.035em;margin-bottom:24px}
 body.mkk-photo-update .mkk-page p {font-size:15px;line-height:1.95}
 body.mkk-photo-update .mkk-page h3 {font-size:19px}
 body.mkk-photo-update:not(.home) .c-entry__header {padding:14px 0 26px;margin-bottom:30px}
 body.mkk-photo-update:not(.home) .c-entry__title {font-size:32px!important;letter-spacing:.035em!important}
 body.mkk-photo-update:not(.home) .c-entry__title::before {font-size:10px;margin-bottom:12px}
 body.mkk-photo-update .mkk-page>p.mkk-lead {font-size:16px;line-height:1.9;margin-bottom:28px}
 body.mkk-photo-update .mkk-page-nav {display:grid;grid-template-columns:1fr 1fr;margin:28px 0 56px}
 body.mkk-photo-update .mkk-page-nav a {font-size:12px;min-height:52px;padding:12px 14px!important;gap:8px;border-bottom:1px solid var(--ds-line)}
 body.mkk-photo-update .mkk-page-nav a:nth-child(even) {border-right:0}
 body.mkk-photo-update .mkk-page-nav a:nth-last-child(-n+2) {border-bottom:0}
 body.mkk-photo-update .mkk-section {margin:56px 0}
 body.mkk-photo-update .mkk-section-head {margin:0 0 24px}
 body.mkk-photo-update .mkk-section-head h2 {margin:0}
 body.mkk-photo-update .mkk-info-section,body.mkk-photo-update.single-works .mkk-info-section,body.mkk-photo-update .mkk-section#entry {display:block;padding-top:28px}
 body.mkk-photo-update .mkk-page .wp-block-table table {border:0}
 body.mkk-photo-update .mkk-page .wp-block-table tr {display:block;border:0;border-bottom:1px solid var(--ds-line)}
 body.mkk-photo-update .mkk-page .wp-block-table th {display:block;width:100%;padding:18px 0 6px;border:0;font-size:13px}
 body.mkk-photo-update .mkk-page .wp-block-table td,body.mkk-photo-update .mkk-page .wp-block-table tr:nth-child(even) td {display:block;width:100%;padding:0 0 18px;border:0;font-size:14px}
 body.mkk-photo-update .mkk-page ul.mkk-chips {grid-template-columns:1fr;gap:0;margin:0}
 body.mkk-photo-update .mkk-page ul.mkk-chips>li {font-size:14px;padding:14px 0}
 body.mkk-photo-update :is(.mkk-btn,.top25-button) .wp-block-button__link,body.mkk-photo-update .mkk-shared-contact__button {font-size:13px;min-height:52px;padding:13px 22px}
 body.mkk-photo-update.home .shoot-about {padding:64px 0}
 body.mkk-photo-update.home .mkk-about-cols {display:block}
 body.mkk-photo-update.home .mkk-about-copy {padding:0}
 body.mkk-photo-update.home .mkk-about-art {display:none}
 body.mkk-photo-update.home .mkk-about-copy p:not(.mkk-editorial-label) {font-size:15px;line-height:2}
 body.mkk-photo-update.home .mkk-service-layout {display:flex;flex-direction:column}
 body.mkk-photo-update.home .mkk-service-visual {width:100%;flex:auto!important}
 body.mkk-photo-update.home .mkk-service-cover {height:300px;min-height:300px!important}
 body.mkk-photo-update.home .mkk-service-cover img {object-position:50% 60%!important}
 body.mkk-photo-update.home .mkk-service-content {padding:40px 24px;width:100%;flex:auto!important}
 body.mkk-photo-update.home .mkk-services h2 {color:white}
 body.mkk-photo-update.home .mkk-service-intro {font-size:14px}
 body.mkk-photo-update.home .mkk-service-item {display:flex;gap:16px}
 body.mkk-photo-update.home .mkk-service-item h3 {font-size:17px}
 body.mkk-photo-update.home .mkk-service-item p {font-size:12px}
 body.mkk-photo-update.home .mkk-service-icons {padding:12px 0 30px}
 body.mkk-photo-update.home .mkk-process {padding-bottom:48px}
 body.mkk-photo-update.home :is(.top25-strength,.top25-works,.top25-recruit) {padding:64px 0}
 body.mkk-photo-update.home .top25-heading-row {display:block;margin-bottom:28px}
 body.mkk-photo-update.home .top25-heading-row h2 {margin-bottom:20px}
 body.mkk-photo-update.home .top25-lead {font-size:14px;line-height:1.95}
 body.mkk-photo-update.home .top25-strength-grid {grid-template-columns:1fr;gap:28px}
 body.mkk-photo-update.home .top25-fleet img {aspect-ratio:1.5}
 body.mkk-photo-update.home .top25-points .top25-point {padding:20px 0}
 body.mkk-photo-update.home .top25-points h3 {font-size:18px}
 body.mkk-photo-update.home .top25-work-grid {grid-template-columns:1fr;gap:32px}
 body.mkk-photo-update.home .top25-work-card figure {aspect-ratio:1.6}
 body.mkk-photo-update.home .top25-work-body {padding-top:16px}
 body.mkk-photo-update.home .top25-work-body h3 {font-size:19px;line-height:1.65}
 body.mkk-photo-update.home .top25-work-body p {font-size:14px;margin-bottom:18px}
 body.mkk-photo-update.home .top25-recruit-grid {grid-template-columns:1fr;gap:32px}
 body.mkk-photo-update.home .top25-recruit-visual figure {aspect-ratio:1.4}
 body.mkk-photo-update.home .top25-recruit-bottom {display:block;margin-top:32px;padding-top:24px}
 body.mkk-photo-update.home .top25-job-facts {margin:24px 0}
 body.mkk-photo-update.home .mkk-news {padding:64px 0}
 body.mkk-photo-update .rev-company-cover img {aspect-ratio:1.55;object-position:50% 70%!important}
 body.mkk-photo-update .shoot-greeting {display:flex;flex-direction:column;gap:32px;margin:56px 0}
 body.mkk-photo-update .shoot-president {width:76%;max-width:300px;align-self:center}
 body.mkk-photo-update .shoot-president-photo img {aspect-ratio:4/5}
 body.mkk-photo-update .shoot-greeting .rev-greeting-copy p {font-size:15px}
 body.mkk-photo-update .shoot-company-team {margin:56px 0}
 body.mkk-photo-update .shoot-section-heading {display:block;margin-bottom:24px}
 body.mkk-photo-update .shoot-section-heading>p {margin-top:18px;font-size:14px}
 body.mkk-photo-update .shoot-company-pair {gap:16px;grid-template-columns:1fr}
 body.mkk-photo-update .shoot-company-pair .shoot-photo img {aspect-ratio:1.6}
 body.mkk-photo-update .v2-office-grid {grid-template-columns:1fr 1fr;gap:12px}
 body.mkk-photo-update .mkk-map iframe {height:280px}
 body.mkk-photo-update .mkk-service-story {padding-top:28px}
 body.mkk-photo-update .mkk-service-story .mkk-section-head {display:block}
 body.mkk-photo-update .mkk-service-story .mkk-media-row,body.mkk-photo-update #road .mkk-media-row {display:flex;flex-direction:column;gap:24px;align-items:stretch}
 body.mkk-photo-update .mkk-service-story .mkk-media-row>.wp-block-column {flex-basis:auto!important}
 body.mkk-photo-update #road .mkk-media-row>.wp-block-column:first-child {order:0}
 body.mkk-photo-update .mkk-service-story .mkk-media-row img {aspect-ratio:1.5}
 body.mkk-photo-update .shoot-service-detail {margin-top:28px}
 body.mkk-photo-update .shoot-detail-pair {gap:12px}
 body.mkk-photo-update .shoot-detail-pair img {aspect-ratio:1.3}
 body.mkk-photo-update .mkk-service-section:is(#work-types,#qualification) {padding:28px 20px;margin:32px 0}
 body.mkk-photo-update .rev-fleet img {aspect-ratio:1.6}
 body.mkk-photo-update .rev-equipment-pair {gap:12px;margin-top:18px}
 body.mkk-photo-update .rev-equipment-pair img {aspect-ratio:1.4}
 body.mkk-photo-update .rev-recruit-cover img {aspect-ratio:1.4}
 body.mkk-photo-update .shoot-recruit-message {display:flex;flex-direction:column;gap:28px;margin:0}
 body.mkk-photo-update .shoot-recruit-message .mkk-message p {font-size:16px;line-height:2.05}
 body.mkk-photo-update .shoot-recruit-message>.shoot-photo {width:100%;aspect-ratio:1.5}
 body.mkk-photo-update .rev-people-section,body.mkk-photo-update .shoot-recruit-life {margin:56px 0}
 body.mkk-photo-update .rev-people-grid {grid-template-columns:1fr;gap:24px}
 body.mkk-photo-update .rev-people-card {display:grid;grid-template-columns:58% 1fr;align-items:center;gap:20px}
 body.mkk-photo-update .rev-people-card img {aspect-ratio:1.1}
 body.mkk-photo-update .rev-people-card figcaption {font-size:16px;padding:0;border:0;letter-spacing:.02em}
 body.mkk-photo-update .rev-safety {grid-template-columns:1fr;margin:56px 0}
 body.mkk-photo-update .rev-safety>div>.rev-photo {height:auto;aspect-ratio:1.5}
 body.mkk-photo-update .rev-safety-copy {padding:32px 24px}
 body.mkk-photo-update .rev-safety-copy h2 {font-size:26px}
 body.mkk-photo-update .shoot-life-mosaic {grid-template-columns:1fr;gap:24px}
 body.mkk-photo-update .shoot-recruit-entry {grid-template-columns:1fr}
 body.mkk-photo-update .shoot-entry-photo {height:230px}
 body.mkk-photo-update .shoot-recruit-entry .rev-cta-copy {padding:32px 24px 40px}
 body.mkk-photo-update .shoot-recruit-entry h2 {font-size:26px}
 body.mkk-photo-update.post-type-archive-works .c-entries {grid-template-columns:1fr;gap:32px}
 body.mkk-photo-update.post-type-archive-works .c-entry-summary__title {font-size:19px}
 body.mkk-photo-update .shoot-work-capability {display:block;padding:32px 0;margin:56px 0 0}
 body.mkk-photo-update .mkk-capability-heading h2 {font-size:26px}
 body.mkk-photo-update .mkk-capability-intro {font-size:14px}
 body.mkk-photo-update .mkk-capability-gallery {margin-top:24px;gap:12px}
 body.mkk-photo-update .mkk-capability-gallery .shoot-photo img {aspect-ratio:3/2}
 body.mkk-photo-update .mkk-capability-action {margin-top:24px}
 body.mkk-photo-update .mkk-capability-link {width:100%;min-height:52px;font-size:13px}
 body.mkk-photo-update.single-works .c-entry__title {font-size:27px!important;line-height:1.6!important}
 body.mkk-photo-update.single-works .mkk-works-cover img {aspect-ratio:4/3;max-height:none}
 body.mkk-photo-update .mkk-process-step {display:block;padding:28px 0}
 body.mkk-photo-update .mkk-process-step>h3 {font-size:19px}
 body.mkk-photo-update .mkk-process-step>p {font-size:14px;margin-bottom:20px}
 body.mkk-photo-update .mkk-process-step>.wp-block-gallery {gap:16px!important;grid-template-columns:1fr;margin-top:20px!important}
 body.mkk-photo-update .rev-news-row {grid-template-columns:100px 1fr 24px;gap:10px 16px;padding:24px 0}
 body.mkk-photo-update .rev-news-row strong {grid-column:1/3;font-size:15px}
 body.mkk-photo-update .rev-news-row b {grid-column:3;grid-row:1/3}
 body.mkk-photo-update .rev-news-row .rev-news-tag {justify-self:start}
 body.mkk-photo-update .rev-archive-lead {font-size:15px;margin-bottom:32px}
 body.mkk-photo-update .rev-sitemap {grid-template-columns:1fr;gap:0}
 body.mkk-photo-update .rev-sitemap a {font-size:16px;padding:24px 0}
 body.mkk-photo-update .shoot-contact-main {grid-template-columns:1fr;gap:40px;margin:40px 0 56px}
 body.mkk-photo-update .shoot-contact-aside {border-bottom:1px solid var(--ds-line);padding-bottom:32px}
 body.mkk-photo-update .shoot-form-card h2 {font-size:25px;line-height:1.6}
 body.mkk-photo-update .mkk-form input[type=submit] {width:100%;min-width:0}
 body.mkk-photo-update .mkk-shared-contact {display:flex;flex-direction:column;padding:0}
 body.mkk-photo-update .mkk-shared-contact__visual {position:relative;inset:auto;order:0;width:100%;height:200px}
 body.mkk-photo-update .mkk-shared-contact__visual img {object-position:65% 38%;mask-image:none;-webkit-mask-image:none}
 body.mkk-photo-update .mkk-shared-contact__inner {order:1;display:block;min-height:0;width:100%;padding:32px 24px 40px}
 body.mkk-photo-update .mkk-shared-contact__copy {width:auto;max-width:none}
 body.mkk-photo-update .mkk-shared-contact__title {font-size:30px;letter-spacing:.05em}
 body.mkk-photo-update .mkk-shared-contact__text {font-size:15px;margin:18px 0 24px}
 body.mkk-photo-update .mkk-shared-contact__button {width:100%}
 body.mkk-photo-update .l-footer .mkk-footer {padding-top:40px;padding-bottom:24px}
}
@media(prefers-reduced-motion:reduce){body.mkk-photo-update *{scroll-behavior:auto!important;transition:none!important}}
/* Gutenberg's centered child rule must not shrink the new grid columns. */
body.mkk-photo-update .mkk-section-head,
body.mkk-photo-update .mkk-section-body {width:100%;max-width:none;justify-self:stretch;margin-inline:0!important}
body.mkk-photo-update .mkk-section-head>* {margin-inline:0!important}
body.mkk-photo-update .mkk-process-step>* {width:100%;max-width:none;margin-inline:0!important}
body.mkk-photo-update .mkk-capability-action {align-self:start;align-items:flex-start}
body.mkk-photo-update .mkk-capability-link {align-self:start}
body.mkk-photo-update .mkk-form .wpcf7 .wpcf7-submit {
 display:inline-flex;align-items:center;justify-content:space-between;gap:30px;
 min-height:54px;min-width:260px;padding:14px 26px;margin:24px 0 0;
 border:1px solid var(--ds-navy);border-radius:2px;background:var(--ds-navy);
 color:#fff;font-size:14px;font-weight:600;letter-spacing:.035em;box-shadow:none;
}
body.mkk-photo-update .mkk-form .wpcf7 .wpcf7-submit:hover {background:#155271;border-color:#155271;transform:none}
@media(max-width:767px){
 body.mkk-photo-update .mkk-form .wpcf7 .wpcf7-submit {width:100%;min-width:0}
 body.mkk-photo-update .shoot-contact-aside {width:100%;margin-inline:0!important}
}
body.mkk-photo-update .mkk-page :is(.mkk-eyebrow,.rev-kicker) {color:var(--ds-blue)!important;font:600 11px/1.5 Arial,sans-serif!important;letter-spacing:.17em!important}
body.mkk-photo-update.page-id-3 .c-entry__header,
body.mkk-photo-update.rev-news-detail .c-entry__header {max-width:850px}
body.mkk-photo-update.rev-news-detail .rev-news-body {margin-inline:auto}
/* Reading rhythm on the text-only policy page and restrained list bullets. */
body.mkk-photo-update.page-id-3 .mkk-page .mkk-eyebrow {margin:44px 0 12px!important}
body.mkk-photo-update.page-id-3 .mkk-page .mkk-eyebrow+h2 {margin-top:0}
body.mkk-photo-update .mkk-page ul.mkk-points>li::before {content:'';width:5px;height:5px;top:27px;left:0;border-radius:50%;background:var(--ds-blue)}

/* Responsive audit 2026-09-28 */
/* Company greeting: one editorial story on narrow screens. */
@media (max-width: 767px) {
  body.mkk-photo-update .rev-company-cover { overflow: hidden; }
  body.mkk-photo-update .rev-company-cover img {
    transform: scale(1.16);
    transform-origin: 50% 78%;
  }
  body.mkk-photo-update .shoot-greeting {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin: 44px 0 60px;
  }
  body.mkk-photo-update .shoot-greeting .rev-greeting-copy {
    display: contents;
  }
  body.mkk-photo-update .shoot-greeting .rev-greeting-copy > .mkk-eyebrow {
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 9px !important;
  }
  body.mkk-photo-update .shoot-greeting .rev-greeting-copy > h2 {
    grid-column: 1;
    grid-row: 2;
    margin: 0 0 28px !important;
  }
  body.mkk-photo-update .shoot-greeting > .shoot-president {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    max-width: none;
    margin: 0 0 20px !important;
    padding: 0;
  }
  body.mkk-photo-update .shoot-president-photo img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-position: 59% 42%;
  }
  body.mkk-photo-update .shoot-president-photo figcaption {
    justify-content: flex-start;
    gap: 12px;
    padding: 14px 0 16px;
  }
  body.mkk-photo-update .shoot-president-photo figcaption strong {
    font-size: 19px;
    letter-spacing: .1em;
  }
  body.mkk-photo-update .shoot-greeting .rev-greeting-copy > p:not(.mkk-eyebrow) {
    grid-column: 1;
  }
  body.mkk-photo-update .shoot-greeting .rev-greeting-copy > p:nth-of-type(2) {
    margin-top: 0 !important;
  }

  /* The fixed action dock needs scroll clearance in the footer, not a white
     strip after the footer. */
  body.mkk-photo-update { padding-bottom: 0 !important; }
  body.mkk-photo-update .l-footer {
    padding-bottom: calc(73px + env(safe-area-inset-bottom, 0px));
  }
}

/* Works links 2026-09-29 */
/* The whole work card is already a link. Give its action a clear button shape. */
body.mkk-photo-update.post-type-archive-works .c-entries__item > a {
  display: block;
  height: 100%;
  text-decoration: none;
}
body.mkk-photo-update.post-type-archive-works .c-entry-summary {
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.mkk-photo-update.post-type-archive-works .c-entry-summary__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
}
body.mkk-photo-update.post-type-archive-works .c-entry-summary__body::after {
  box-sizing: border-box;
  content: '施工内容を見る　→';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  min-height: 48px;
  margin-top: auto;
  padding: 12px 22px;
  border: 1px solid #0d3855;
  border-radius: 2px;
  background: #0d3855;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .06em;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
body.mkk-photo-update.post-type-archive-works .c-entry-summary__title {
  margin-bottom: 22px;
}
body.mkk-photo-update.post-type-archive-works .c-entries__item > a:hover .c-entry-summary__body::after {
  background: #17658b;
  border-color: #17658b;
  transform: translateY(-2px);
}
body.mkk-photo-update.post-type-archive-works .c-entries__item > a:focus-visible {
  outline: 3px solid #1d92b8;
  outline-offset: 5px;
}
@media (max-width: 767px) {
  body.mkk-photo-update.post-type-archive-works .c-entry-summary__body::after {
    width: 100%;
    min-height: 52px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.mkk-photo-update.post-type-archive-works .c-entry-summary__body::after {
    transition: none;
  }
}

/* Home works links 2026-09-30 */
/* Match the clear action buttons on the works archive while retaining the
   existing full-card link overlay on the home page. */
body.mkk-photo-update.home.mkk-top-20260925 .top25-work-body p.top25-work-more {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 210px;
  min-height: 48px;
  margin: auto 0 0;
  padding: 0 19px;
  border: 1px solid #0d3855;
  border-radius: 2px;
  background: #0d3855;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .06em;
  transition: background-color .2s ease, border-color .2s ease;
}
body.mkk-photo-update.home.mkk-top-20260925 .top25-work-more a {
  color: #fff;
  font-size: inherit;
  font-weight: 700;
  text-decoration: none;
}
body.mkk-photo-update.home.mkk-top-20260925 .top25-work-more::after {
  color: #fff;
  font-size: 20px;
}
body.mkk-photo-update.home.mkk-top-20260925 .top25-work-card:hover .top25-work-more,
body.mkk-photo-update.home.mkk-top-20260925 .top25-work-card:has(a:focus-visible) .top25-work-more {
  border-color: #17658b;
  background: #17658b;
}
@media (max-width: 767px) {
  body.mkk-photo-update.home.mkk-top-20260925 .top25-work-body p.top25-work-more {
    width: 100%;
    min-height: 52px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.mkk-photo-update.home.mkk-top-20260925 .top25-work-body p.top25-work-more {
    transition: none;
  }
}
