/* ZACOB 1.5.9 — minifigure photographic service series. */
:root{--zacob-brand:#002060;--zacob-paper:#fcfaf7;--zacob-text:#2e2b2c;--zacob-line:#d6cfc8}
.home-template .services{background:var(--zacob-paper)}
.service-photo{width:100%;aspect-ratio:1; background-image:url('../images/minifigure-services.png');background-repeat:no-repeat;background-size:300% 100%;margin-top:24px}
.service-photo-0{background-position:left center}.service-photo-1{background-position:center center}.service-photo-2{background-position:right center}
.home-template .service h3{margin-top:24px}
.button,.header-contact,.text-link{transition:background-color .18s,color .18s}
.button:focus-visible,.header-contact:focus-visible,.text-link:focus-visible{outline:3px solid #6f8dc6;outline-offset:5px}
.home-template .service:hover .service-link{color:var(--zacob-brand)}
@media(max-width:820px){.service-photo{aspect-ratio:1;max-width:520px}}
@media(prefers-reduced-motion:reduce){.button,.header-contact,.text-link{transition:none}}

/* 1.5.10: equal columns, image frames and shared type/spacing scale. */
.home-template .services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.home-template .services-grid>.service{padding:32px 24px 20px;min-width:0;display:flex;flex-direction:column;color:var(--zacob-text)}
.home-template .services-grid>.service+.service{border-left:1px solid var(--zacob-line)}
.home-template .service .service-number{font-size:12px;line-height:1.6;letter-spacing:.06em;margin:0;min-height:20px}
.home-template .service .service-photo{width:100%;max-width:none;aspect-ratio:1/1;flex:none;margin:24px 0 0}
.home-template .service h3{font-size:32px;line-height:1.5;font-weight:400;margin:24px 0;min-height:48px;color:var(--zacob-text)}
.home-template .service:hover h3{color:var(--zacob-text)}
.home-template .service h4{font-size:22px;line-height:1.7;font-weight:400;margin:0 0 24px;min-height:3.4em}
.home-template .service p{font-size:17px;line-height:1.9;font-weight:400;margin:0 0 32px;min-height:5.7em;max-width:none;color:var(--zacob-secondary,#5a5456)}
.home-template .service .service-link{font-size:14px;line-height:1.6;font-weight:400;min-height:44px;margin-top:auto;padding-top:12px;align-items:center;color:var(--zacob-brand)}
@media(min-width:821px) and (max-width:1100px){
.home-template .services-grid>.service{padding-left:20px;padding-right:20px}
.home-template .service h3{font-size:30px;min-height:45px}
.home-template .service h4{font-size:20px;min-height:5.1em}
.home-template .service p{font-size:16px;min-height:7.6em}
}
@media(max-width:820px){
.home-template .services-grid{grid-template-columns:minmax(0,1fr)}
.home-template .services-grid>.service{padding:32px 0}
.home-template .services-grid>.service+.service{border-left:0;border-top:1px solid var(--zacob-line)}
.home-template .service .service-photo{max-width:none}
.home-template .service h3{font-size:30px;min-height:0}
.home-template .service h4{font-size:21px;min-height:0}
.home-template .service h4 br{display:none}
.home-template .service p{font-size:16px;min-height:0;margin-bottom:24px}
}

/* Approved asset board: global design tokens and interaction states. */
:root{--zacob-brand:#002060;--zacob-paper:#fcfaf7;--zacob-canvas:#f6f3ef;--zacob-text:#2e2b2c;--zacob-secondary:#5a5456;--zacob-line:#d6cfc8;--zacob-font-title:"Gowun Batang","Batang",serif;--zacob-font-body:"Cafe24 PRO SLIM","Apple SD Gothic Neo","Malgun Gothic",sans-serif;--zacob-focus:#6f8dc6}
body{background:var(--zacob-paper);color:var(--zacob-text);font-family:var(--zacob-font-body);font-weight:400}
h1,h2,h3,h4{font-family:var(--zacob-font-title);font-weight:400;letter-spacing:-.035em}
button,input,select,textarea,.button,.text-link,.header-contact,.header nav{font-family:var(--zacob-font-body)}
.header,.hero,.representative,.nav-dropdown{background:var(--zacob-paper)}
.header,.hero-foot,.section,.footer,.nav-dropdown{border-color:var(--zacob-line)}
.footer,.info-grid section,.page-cta{background:var(--zacob-canvas)}
.button,.home-template .button{min-height:52px;padding:15px 26px;gap:40px;border:1px solid var(--zacob-brand);background:var(--zacob-brand);color:var(--zacob-paper);font-size:16px;line-height:1.5;font-weight:400;border-radius:0;box-shadow:none;transform:none;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.button:hover{background:#173f85;color:var(--zacob-paper);border-color:#173f85;text-decoration:none;transform:none}
.button.light,.home-template .button.light{background:var(--zacob-paper);color:var(--zacob-brand);border-color:var(--zacob-paper)}
.button.light:hover{background:var(--zacob-brand);color:var(--zacob-paper);border-color:var(--zacob-paper)}
.button:focus-visible,.header-contact:focus-visible,.text-link:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.service:focus-visible,.nav-group summary:focus-visible{outline:3px solid var(--zacob-focus);outline-offset:4px}
.button[aria-disabled=true],button:disabled{opacity:.4;cursor:not-allowed}
.header-contact,.home-template .header-contact,.text-link,.home-template .text-link{font-size:16px;line-height:1.5;min-height:44px;border-color:var(--zacob-brand);color:var(--zacob-brand)}
.header-contact{display:inline-flex;align-items:center}
.text-link:hover,.header-contact:hover{background:var(--zacob-brand);color:var(--zacob-paper);text-decoration:none}
.philosophy .text-link{color:var(--zacob-paper);border-color:var(--zacob-paper)}
.philosophy .text-link:hover{background:var(--zacob-paper);color:var(--zacob-brand)}
.news-types a,.news-topics button,.news-pagination button{border-radius:0;border-color:var(--zacob-line);background:var(--zacob-paper);color:var(--zacob-brand)}
.news-types a[aria-current=page],.news-topics button[aria-pressed=true]{background:var(--zacob-brand);border-color:var(--zacob-brand);color:var(--zacob-paper)}
.news-types a:hover,.news-topics button:hover,.news-pagination button:not(:disabled):hover{background:var(--zacob-brand);color:var(--zacob-paper)}
.news-card{border-radius:0;border-color:var(--zacob-line);background:var(--zacob-paper)}
.news-card h2,.post-card h2{font-family:var(--zacob-font-title);font-weight:400}
@media(max-width:480px){.home-template .button,.button{font-size:16px;padding:15px 22px;gap:24px}.header-contact,.home-template .header-contact{font-size:14px}}
@media(prefers-reduced-motion:reduce){.button,.text-link,.header-contact{transition:none}}

@media(min-width:821px){.home-template .services-grid>.service:first-child{border-left:1px solid transparent}}

/* 1.5.11: page-specific conceptual photography, consistent frames. */
.detail-visual{margin:40px 0 48px;max-width:100%}
.detail-visual-frame{position:relative;width:min(100%,640px);aspect-ratio:1/1;overflow:hidden;background:var(--zacob-canvas)}
.detail-visual .detail-panel{position:absolute;top:0;left:0;display:block;width:300%;max-width:none;height:100%;object-fit:fill}
.detail-visual .detail-panel-0{transform:translateX(0)}
.detail-visual .detail-panel-1{transform:translateX(-33.333333%)}
.detail-visual .detail-panel-2{transform:translateX(-66.666667%)}
.detail-visual figcaption{font-family:var(--zacob-font-body);font-size:13px;line-height:1.7;color:var(--zacob-secondary);margin-top:12px}
@media(max-width:720px){.detail-visual{margin:28px 0 32px}.detail-visual-frame{width:100%}}

/* 1.5.12: coherent page stories and accessible contract comparison. */
.scene-frame{position:relative;width:min(100%,720px);aspect-ratio:1/1;overflow:hidden;background:var(--zacob-canvas)}
.scene-frame .scene-sheet{position:absolute;display:block;max-width:none;width:200%;height:200%;object-fit:fill;left:0;top:0}
.scene-0{transform:translate(0,0)}.scene-1{transform:translate(-50%,0)}.scene-2{transform:translate(0,-50%)}.scene-3{transform:translate(-50%,-50%)}
.organizer-overview,.mission-story{border-top:1px solid var(--zacob-line);padding-top:40px;margin:40px 0}
.organizer-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--zacob-line)}
.organizer-pillars>div{padding:24px;border-right:1px solid var(--zacob-line)}.organizer-pillars>div:last-child{border:0}
.organizer-pillars span{font-size:12px;color:var(--zacob-brand)}.organizer-pillars h2{font-size:28px;margin:12px 0 0}
.organizer-result{background:var(--zacob-brand);color:var(--zacob-paper);text-align:center;padding:18px 24px;font-size:20px;margin:0}
.mission-story>h2{font-size:36px;line-height:1.5}.mission-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}.mission-layout .detail-visual{margin:0}.mission-layout h3{font-size:26px;margin:24px 0 16px}.mission-layout p{font-size:18px;line-height:1.9}
.contract-table-scroll{width:100%;overflow-x:auto;margin:32px 0;border:1px solid var(--zacob-line)}
.contract-table{width:100%;min-width:620px;table-layout:fixed;margin:0;border:0;font-family:var(--zacob-font-body);font-size:17px;line-height:1.9}
.contract-table th,.contract-table td{padding:24px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--zacob-line);border-right:1px solid var(--zacob-line);overflow-wrap:anywhere}
.contract-table th:first-child,.contract-table td:first-child{width:24%}.contract-table th:last-child,.contract-table td:last-child{border-right:0}.contract-table tr:last-child td{border-bottom:0}
.contract-table thead th{background:var(--zacob-brand);color:var(--zacob-paper);font-size:18px;font-weight:400}.contract-table tbody td:first-child{background:var(--zacob-canvas);color:var(--zacob-brand)}
@media(max-width:720px){.organizer-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}.organizer-pillars>div{border-bottom:1px solid var(--zacob-line)}.organizer-pillars>div:nth-child(2){border-right:0}.organizer-pillars>div:nth-child(3){border-bottom:0}.mission-layout{grid-template-columns:1fr;gap:16px}.mission-story>h2{font-size:30px}.contract-table th,.contract-table td{padding:18px}.contract-table{font-size:16px}}

.scene-frame{aspect-ratio:3/2}
.milestone-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.milestone-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:40px 0;border-block:1px solid var(--zacob-line)}
.content .milestone-stage{padding:32px 24px;background:var(--zacob-paper);border-right:1px solid var(--zacob-line);min-width:0}
.content .milestone-stage:last-child{border-right:0}.content .milestone-stage h2{font-family:var(--zacob-font-body);font-size:36px;line-height:1.4;color:var(--zacob-brand);margin:0 0 24px}
.content .milestone-stage h3{font-size:24px;line-height:1.6;margin:0 0 16px}.content .milestone-stage p{font-size:17px;line-height:1.9;margin:0}
@media(max-width:720px){.milestone-timeline{grid-template-columns:1fr}.content .milestone-stage{padding:28px 20px;border-right:0;border-bottom:1px solid var(--zacob-line)}.content .milestone-stage:last-child{border-bottom:0}}

/* 1.5.13 — request-to-execution and editorial news system. */
.process-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.process-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:40px 0;border-block:1px solid var(--zacob-line)}
.content .process-summary-stage{padding:28px 24px;background:var(--zacob-paper);border-right:1px solid var(--zacob-line);min-width:0}.content .process-summary-stage:last-child{border-right:0}
.content .process-summary-stage h2{font-family:var(--zacob-font-body);font-size:24px;line-height:1.5;color:var(--zacob-brand);margin:0 0 16px}.content .process-summary-stage p{font-size:18px;line-height:1.8;margin:0}
.execution-steps{list-style:none;padding:0;margin:48px 0;counter-reset:execution}
.execution-steps>li{counter-increment:execution;position:relative;padding:28px 0 28px 72px;border-bottom:1px solid var(--zacob-line)}
.execution-steps>li:first-child{border-top:1px solid var(--zacob-line)}
.execution-steps>li:before{content:counter(execution,decimal-leading-zero);position:absolute;left:0;top:30px;font-size:18px;line-height:1.5;color:var(--zacob-brand)}
.content .execution-steps h2{font-size:26px;line-height:1.5;margin:0 0 16px}.execution-steps p{font-size:18px;line-height:1.9;margin:0 0 12px}.execution-steps p:last-child{margin-bottom:0}
.news-feed{margin-top:48px}.news-types{gap:0;border-bottom:1px solid var(--zacob-line);margin-bottom:24px}
.news-types a{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:14px 20px;font-size:16px;line-height:1.5;color:var(--zacob-secondary)}
.news-types a[aria-current=page]{background:transparent;color:var(--zacob-brand);border-color:var(--zacob-brand)}
.news-types a:hover{background:var(--zacob-canvas);color:var(--zacob-brand)}
.news-search{border:1px solid var(--zacob-line);background:var(--zacob-paper);min-height:56px}.news-search input{font-family:var(--zacob-font-body);font-size:17px;line-height:1.6;padding:14px 18px;color:var(--zacob-text)}
.news-search button{width:76px;background:var(--zacob-brand);color:var(--zacob-paper);font-family:var(--zacob-font-body);font-size:16px;border:0}
.news-search button:hover{background:#173f85}.news-status{font-size:14px;line-height:1.7;color:var(--zacob-secondary);margin:16px 0 24px}
.news-results{display:grid;gap:0;border-top:1px solid var(--zacob-line)}
.news-card,.news-card.news-card-image{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:32px;align-items:center;min-height:220px;padding:28px 0;border:0;border-bottom:1px solid var(--zacob-line);border-radius:0;background:transparent}
.news-card-copy{padding:0;min-width:0}.news-card-tags{font-size:12px;line-height:1.6;letter-spacing:.03em;color:var(--zacob-secondary);margin:0 0 12px;gap:12px}
.news-card h2{font-family:var(--zacob-font-title);font-size:26px;line-height:1.5;font-weight:400;letter-spacing:-.035em;margin:0 0 12px;color:var(--zacob-text)}
.news-card h2 a:hover{color:var(--zacob-brand)}
.news-card-excerpt{font-size:17px;line-height:1.8;color:var(--zacob-secondary);margin:0 0 16px;-webkit-line-clamp:2}
.news-card time{font-size:13px;line-height:1.6;color:var(--zacob-secondary);margin-top:0}
.news-card-thumbnail{width:180px;aspect-ratio:3/2;min-height:0;height:auto}.news-card-thumbnail img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}
.news-card:not(.news-card-image):after{content:"";display:block;width:180px;aspect-ratio:3/2;background:var(--zacob-canvas);border:1px solid var(--zacob-line)}
.news-pagination{margin-top:32px;gap:16px}.news-pagination button{font-family:var(--zacob-font-body);font-size:16px;line-height:1.5;padding:12px 24px;min-height:48px;border:1px solid var(--zacob-line);border-radius:0;background:var(--zacob-paper)}
@media(max-width:720px){.process-summary{grid-template-columns:1fr}.content .process-summary-stage{border-right:0;border-bottom:1px solid var(--zacob-line);padding:24px 20px}.content .process-summary-stage:last-child{border-bottom:0}.execution-steps>li{padding-left:48px}.content .execution-steps h2{font-size:24px}.execution-steps p{font-size:17px}.news-types a{font-size:14px;padding:12px}.news-card,.news-card.news-card-image{grid-template-columns:minmax(0,1fr) 96px;gap:16px;min-height:190px;padding:24px 0}.news-card h2{font-size:21px;line-height:1.5}.news-card-excerpt{font-size:15px}.news-card-thumbnail,.news-card:not(.news-card-image):after{width:96px;aspect-ratio:3/2}.news-card-tags{font-size:11px}.news-card time{font-size:12px}}
