/* Page-specific structures. Loaded after the shared editorial skin. */

/* Company: a warning sequence followed by a visibly separate assurance panel. */
body.page-company #main .co-after-head { margin-bottom:40px; }
body.page-company #main .co-after-risk {
  padding:30px; margin:0; background:#32241e; border:0; border-top:3px solid #d7a47b;
  border-radius:0; box-shadow:none;
}
body.page-company #main .co-after-risk .co-after-label {
  display:flex; align-items:center; gap:14px; margin:0 0 28px;
  color:#f5d9c3; font-size:21px; line-height:1.6;
}
body.page-company #main .co-after-risk .co-after-label i {
  display:grid; place-items:center; width:30px; height:29px; flex:0 0 30px;
  padding-top:7px; border:0; border-radius:0; box-shadow:none;
  clip-path:polygon(50% 0,100% 100%,0 100%); background:#efbd8e; color:#402619;
  font-size:17px; font-weight:800;
}
body.page-company #main .co-after-risk ol {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px;
  padding:0; margin:0; list-style:none; counter-reset:risk;
}
body.page-company #main .co-after-risk li {
  position:relative; padding:20px 0 4px; margin:0; min-width:0;
  border:0; border-top:1px solid #92705b; border-radius:0; background:none; box-shadow:none;
}
body.page-company #main .co-after-risk li:before {
  counter-increment:risk; content:"0" counter(risk); display:block;
  margin-bottom:16px; font:500 14px/1.5 var(--mono); color:#f0bd92;
}
body.page-company #main .co-after-risk li:not(:last-child):after {
  content:"→"; position:absolute; right:-25px; top:17px;
  width:20px; text-align:center; color:#efbd8e; font-size:21px;
}
body.page-company #main .co-after-risk li b { display:block; color:#fff1e5; font-size:18px; line-height:1.65; margin:0 0 12px; }
body.page-company #main .co-after-risk li p { color:#ecd7c9; font-size:16px; line-height:1.85; margin:0; }
body.page-company #main .co-after-risk li:last-child {
  padding:20px 23px; background:#5a3028; border:0; border-left:3px solid #e0a18c;
}
body.page-company #main .co-after-risk li:last-child:before { color:#ffd4c3; }
body.page-company #main .co-after-answer {
  display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.5fr); gap:45px;
  padding:36px; margin:30px 0 0; background:rgba(243.75,239.631,230.891,1);
  border:0; border-left:4px solid rgba(187.535,169.294,130.588,1); border-radius:0; box-shadow:none;
}
body.page-company #main .co-after-answer .co-after-label {
  display:block; margin:0; padding:0; color:rgba(67.217,55.649,31.1,1); font-size:26px; line-height:1.55;
}
body.page-company #main .co-after-answer .co-after-label i {
  display:grid; place-items:center; width:44px; height:44px; margin:0 0 20px;
  background:rgba(88.638,72.63,38.662,1); color:rgba(247.449,243.726,235.827,1); border:0; border-radius:50%; box-shadow:none;
  font-size:25px; font-weight:600;
}
body.page-company #main .co-after-answer ul { display:grid; grid-template-columns:1fr; gap:0; list-style:none; padding:0; margin:0; }
body.page-company #main .co-after-answer li {
  display:grid; grid-template-columns:30px minmax(0,1fr); gap:0 16px;
  padding:22px 0; min-width:0; border:0; border-top:1px solid rgba(205.43,195.028,172.955,1);
  border-radius:0; background:none; box-shadow:none;
}
body.page-company #main .co-after-answer li:before {
  content:"✓"; display:grid; place-items:center; grid-column:1; grid-row:1/3;
  align-self:start; width:28px; height:28px; margin-top:1px;
  border:1px solid rgba(159.761,143.413,108.724,1); border-radius:50%; color:rgba(88.638,72.63,38.662,1); font-size:17px;
}
body.page-company #main .co-after-answer li b { grid-column:2; margin:0 0 8px; color:rgba(73.598,61.012,34.306,1); font-size:18px; line-height:1.65; }
body.page-company #main .co-after-answer li p { grid-column:2; margin:0; color:rgba(100.381,88.716,63.964,1); font-size:16px; line-height:1.85; }

/* Technology: the full definition row is one light, readable surface. */
body.page-technology #main .ed-page-hero { background:rgba(235.775,231.702,223.06,1)!important; color:rgba(64.93,54.408,32.081,1); min-height:0; }
body.page-technology #main .ed-page-hero :is(h1,p,.breadcrumb,.breadcrumb b,.eyebrow) { color:rgba(64.93,54.408,32.081,1)!important; }
body.page-technology #main .tk-index { background:transparent; padding:0; margin-top:28px; }
body.page-technology #main .tk-index-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-color:rgba(202.15,191.542,169.034,1); }
body.page-technology #main .tk-index-grid a { display:flex; align-items:center; gap:12px; padding:17px 20px; background:rgba(243.474,240.096,232.927,1); color:rgba(81.895,69.008,41.662,1); border-color:rgba(202.15,191.542,169.034,1); min-height:82px; }
body.page-technology #main .tk-index-grid a :is(span,b,small) { color:inherit; }
body.page-technology #main .tk-index-grid a b { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; color:rgba(249.38,246.328,239.852,1)!important; background:rgba(76.707,64.137,37.464,1); background-image:none!important; border:1px solid rgba(76.707,64.137,37.464,1); border-radius:4px; font:700 17px/1 var(--mono); opacity:1!important; text-shadow:none; }
body.page-technology #main .tk-index-grid a span { min-width:0; font-size:15px; line-height:1.7; }
body.page-technology #main .tk-index-grid a:is(.is-active,:hover) { background:rgba(76.534,63.993,37.38,1); color:rgba(245.506,241.128,231.839,1); }
body.page-technology #main .tk-index-grid a:is(.is-active,:hover,:focus-visible) b { background:rgba(244.765,231.43,203.134,1); background-image:none!important; color:rgba(54.456,44.921,24.689,1)!important; border-color:rgba(244.765,231.43,203.134,1); }
/* Section title numbers are separate from the navigation button numbers. */
body.page-technology #main .tk-head .tk-no {
  display:grid; place-items:center; flex:0 0 52px; width:52px; height:52px;
  padding:0; margin:0; border:1px solid rgba(91.377,78.653,51.653,1); border-radius:10px;
  background:rgba(76.707,64.137,37.464,1)!important; background-image:none!important; color:rgba(249.38,246.328,239.852,1)!important; -webkit-text-fill-color:rgba(249.38,246.328,239.852,1);
  font:700 20px/1 var(--mono); letter-spacing:.02em; opacity:1!important;
  box-shadow:none; text-shadow:none;
}
@media (max-width:640px) {
  body.page-technology #main .tk-head .tk-no { flex-basis:44px; width:44px; height:44px; }
}
body.page-technology #main dl.tk-spec {
  display:block; margin:30px 0 0; padding:0; background:none;
  border:0; border-radius:0; box-shadow:none;
}
body.page-technology #main dl.tk-spec>div,
body.page-technology #main dl.tk-spec>div:last-child {
  display:grid; grid-template-columns:110px minmax(0,1fr); align-items:start; gap:20px;
  padding:23px 26px; background:rgba(234.274,228.265,215.515,1); color:rgba(79.651,67.121,40.534,1);
  border:1px solid rgba(202.532,190.25,164.188,1); border-radius:0; box-shadow:none;
}
body.page-technology #main dl.tk-spec dt {
  justify-self:start; width:max-content; margin:0; padding:7px 12px;
  border:0; border-radius:0; background:rgba(82.915,69.356,40.585,1); color:rgba(246.383,243.102,236.141,1);
  font-size:14px; font-weight:600; line-height:1.5;
}
body.page-technology #main dl.tk-spec dd {
  margin:0; padding:0; background:transparent; color:rgba(72.618,62.216,40.144,1);
  font-size:16px; font-weight:400; line-height:1.85;
}

/* Services: an independent facts band, without negative margins or a capsule. */
body.page-software-development #main .sd-facts {
  position:relative; z-index:auto; margin:0; padding:34px 0; background:rgba(234.121,228.643,217.018,1);
  border-top:1px solid rgba(207.099,195.978,172.38,1); border-bottom:1px solid rgba(207.099,195.978,172.38,1);
}
body.page-software-development #main .sd-facts ul {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0;
  margin:0; padding:0; list-style:none; background:transparent;
  border:0; border-radius:0; box-shadow:none; overflow:visible;
}
body.page-software-development #main .sd-facts li {
  padding:13px 30px; border:0; border-left:1px solid rgba(202.178,190.694,166.327,1);
  background:transparent; color:rgba(105.488,93.171,67.034,1); font-size:16px; font-weight:400; line-height:1.85;
}
body.page-software-development #main .sd-facts li:first-child { border-left:0; padding-left:0; }
body.page-software-development #main .sd-facts b { display:block; margin:0 0 8px; color:rgba(70.837,58.172,31.297,1); font-size:20px; font-weight:600; line-height:1.55; }
body.page-software-development #main .sd-facts li:nth-child(2) b { display:inline; margin:0; }
body.page-software-development #main .sd-facts li:nth-child(2) { color:rgba(70.837,58.172,31.297,1); font-size:18px; }

/* Distinct hero subjects instead of a shared photograph on every page. */
body.page-history #main .ed-page-hero { background:rgba(52.257,45.927,32.496,1)!important; overflow:hidden; }
.ed-history-mark { position:absolute; right:6%; top:120px; z-index:-1; font:400 clamp(150px,22vw,330px)/1 var(--mono); letter-spacing:-.1em; color:rgba(79.093,68.671,46.557,1); pointer-events:none; }
.ed-portfolio-preview { display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:620px; margin:35px 0 0 auto; }
.ed-portfolio-preview img { width:100%; height:150px; object-fit:cover; object-position:top; border:1px solid rgba(152.866,134.72,96.215,1); background:rgba(232.468,225.886,211.919,1); }
body.page-portfolio #main .ed-page-hero>.container { max-width:1660px; }
body.page-portfolio #main .ed-portfolio-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:6%; align-items:center; }
body.page-portfolio #main .ed-portfolio-preview { margin:0; }

/* Contact: a clear opening with direct channels, then preparation, process and form. */
body.page-contact #main .ed-page-hero { background:rgba(237.897,233.323,223.617,1)!important; color:rgba(64.754,54.261,31.994,1); min-height:0; padding-bottom:60px!important; }
body.page-contact #main .ed-contact-hero-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.75fr); gap:8%; align-items:start; }
body.page-contact #main .ed-contact-hero-copy :is(h1,p,.breadcrumb,.breadcrumb b) { color:rgba(71.309,59.77,35.285,1)!important; }
body.page-contact #main .ed-page-hero h1 { font-size:clamp(38px,4vw,62px)!important; line-height:1.45!important; }
body.page-contact #main .inquiry-hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:24px; margin-top:25px; }
body.page-contact #main .inquiry-private { background:rgba(229.302,220.023,200.333,1); border:1px solid rgba(195.83,182.612,154.563,1); color:rgba(81.895,69.008,41.662,1); padding:12px 16px; border-radius:0; font-size:14px; }
body.page-contact #main .inquiry-private span { color:rgba(113.141,93.554,51.991,1)!important; }
body.page-contact #main .ed-contact-card { padding:33px; background:rgba(63.602,53.123,30.888,1); border-top:4px solid rgba(226.782,206.64,163.899,1); color:rgba(245.373,241.211,232.378,1); }
body.page-contact #main .ed-contact-card h2 { font-size:38px; color:rgba(245.373,241.211,232.378,1); margin:0 0 15px; }
body.page-contact #main .ed-contact-card p { font-size:16px; color:rgba(227.56,220.007,203.982,1)!important; line-height:1.85; margin:0 0 25px; }
body.page-contact #main .ed-contact-card>a { display:block; padding:15px 0; border-top:1px solid rgba(127.597,111.799,78.275,1); color:rgba(245.373,241.211,232.378,1); font-size:24px; letter-spacing:-.02em; }
body.page-contact #main .ed-contact-card>a small { display:block; font-size:14px; color:rgba(223.615,212.233,188.082,1); margin-bottom:4px; }
body.page-contact #main .ed-contact-card>a[href^="mailto:"] { font-size:22px; }
body.page-contact #main .inquiry-guide { padding-block:65px; }
body.page-contact #main .inquiry-prep-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin-top:35px; }
body.page-contact #main .inquiry-prep-card { display:grid; grid-template-columns:40px minmax(0,1fr); gap:20px; background:none; border:0; border-top:1px solid rgba(202.168,190.976,167.227,1); border-radius:0; padding:25px 0; box-shadow:none; }
body.page-contact #main .inquiry-prep-icon { width:40px; height:40px; border:0; background:rgba(230.809,222.846,205.949,1); color:rgba(89.977,74.263,40.919,1); border-radius:0; display:grid; place-items:center; font:400 15px/1 var(--mono); }
body.page-contact #main .inquiry-prep-card h3 { font-size:22px; line-height:1.55; color:rgba(71.931,58.919,31.31,1); margin:9px 0 13px; }
body.page-contact #main .inquiry-prep-card span { font-size:14px; color:rgba(112.663,98.23,67.604,1); }
body.page-contact #main .inquiry-prep-card p { font-size:16px; color:rgba(104.011,91.955,66.374,1); line-height:1.85; }
body.page-contact #main .inquiry-process-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
body.page-contact #main .inquiry-process-grid article { border:0; padding:0; background:none; }
body.page-contact #main .inquiry-process-grid article>span { display:grid; place-items:center; width:42px; height:42px; margin:0 0 19px; border-radius:50%; background:rgba(84.525,69.511,37.652,1); color:rgba(245.373,241.211,232.378,1)!important; font:400 14px/1 var(--mono); }
body.page-contact #main .inquiry-process-grid h3 { color:rgba(75.839,62.894,35.428,1); font-size:19px; margin-bottom:12px; }
body.page-contact #main .inquiry-process-grid p { color:rgba(104.011,91.955,66.374,1); font-size:16px; line-height:1.85; }
body.page-contact #main #inquiry { padding-block:70px; background:rgba(245.301,242.781,237.433,1); }
body.page-contact #main #inquiry>.container { max-width:1140px; }
body.page-contact #main .contact-layout { display:block; margin-top:30px; }
body.page-contact #main .contact-form { padding:36px; border:1px solid rgba(201.355,189.893,165.572,1); background:#fffef7; }
body.page-contact #main .contact-form input,body.page-contact #main .contact-form select,body.page-contact #main .contact-form textarea { background:rgba(245.272,242.184,235.631,1); }

@media(max-width:1100px) {
  body.page-technology #main .tk-index-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.page-company #main .co-after-risk ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  body.page-company #main .co-after-risk li:nth-child(2):after { display:none; }
  body.page-company #main .co-after-answer { grid-template-columns:1fr; gap:27px; padding:30px; }
  body.page-company #main .co-after-answer .co-after-label { display:flex; align-items:center; gap:16px; font-size:24px; }
  body.page-company #main .co-after-answer .co-after-label i { margin:0; flex:0 0 44px; }
  body.page-contact #main .ed-contact-hero-layout { grid-template-columns:1.15fr 1fr; gap:35px; }
  body.page-contact #main .ed-contact-card { padding:26px; }
  body.page-contact #main .inquiry-process-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
}
@media(max-width:800px) {
  body.page-portfolio #main .ed-portfolio-layout { grid-template-columns:1fr; gap:30px; }
  body.page-contact #main .ed-contact-hero-layout { grid-template-columns:1fr; gap:35px; }
  body.page-contact #main .ed-contact-card { max-width:100%; }
  body.page-contact #main .ed-contact-card>a { font-size:26px; }
  body.page-software-development #main .sd-facts { padding:25px 0; }
  body.page-software-development #main .sd-facts ul { grid-template-columns:1fr; }
  body.page-software-development #main .sd-facts li { padding:20px 0; border:0; border-top:1px solid rgba(202.178,190.694,166.327,1); }
  body.page-software-development #main .sd-facts li:first-child { border-top:0; }
  .ed-history-mark { right:-20px; top:150px; font-size:210px; }
}
@media(max-width:640px) {
  body.page-technology #main .tk-index-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.page-technology #main .tk-index-grid a { padding:14px 12px; gap:9px; }
  body.page-technology #main .tk-index-grid a span { font-size:14px; }
  body.page-company #main .co-after-risk { padding:24px; }
  body.page-company #main .co-after-risk .co-after-label { font-size:19px; align-items:flex-start; }
  body.page-company #main .co-after-risk ol { grid-template-columns:1fr; gap:30px; }
  body.page-company #main .co-after-risk li { padding:18px 0 4px; }
  body.page-company #main .co-after-risk li:not(:last-child):after { display:block; content:"↓"; top:auto; right:auto; left:0; bottom:-27px; }
  body.page-company #main .co-after-risk li:last-child { padding:22px; }
  body.page-company #main .co-after-answer { padding:24px 22px; gap:24px; margin-top:25px; }
  body.page-company #main .co-after-answer .co-after-label { font-size:22px; }
  body.page-company #main .co-after-answer .co-after-label i { width:36px; height:36px; flex-basis:36px; font-size:22px; }
  body.page-company #main .co-after-answer li { grid-template-columns:28px minmax(0,1fr); gap:0 12px; padding:21px 0; }
  body.page-company #main .co-after-answer li b { font-size:18px; }
  body.page-technology #main dl.tk-spec>div,body.page-technology #main dl.tk-spec>div:last-child { grid-template-columns:1fr; gap:14px; padding:20px; }
  body.page-contact #main .ed-page-hero h1 { font-size:36px!important; }
  body.page-contact #main .inquiry-prep-grid { grid-template-columns:1fr; }
  body.page-contact #main .inquiry-prep-card { gap:15px; }
  body.page-contact #main .inquiry-process-grid { grid-template-columns:1fr; gap:0; }
  body.page-contact #main .inquiry-process-grid article { display:grid; grid-template-columns:42px minmax(0,1fr); gap:0 18px; border-top:1px solid rgba(204.792,193.861,170.666,1); padding:23px 0; }
  body.page-contact #main .inquiry-process-grid article>span { grid-column:1; grid-row:1/3; margin:0; }
  body.page-contact #main .inquiry-process-grid h3,body.page-contact #main .inquiry-process-grid p { grid-column:2; }
  body.page-contact #main .contact-form { padding:23px 20px; }
  body.page-contact #main #inquiry { padding-block:45px; }
  .ed-portfolio-preview { gap:10px; }
  .ed-portfolio-preview img { height:110px; }
}

/* Readable technology tags with actual space around each label. */
body:is(.page-software-development,.page-dev-outsourcing) #main .tech-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
body:is(.page-software-development,.page-dev-outsourcing) #main .tech-tags>span { display:inline-flex; align-items:center; padding:6px 11px; min-height:32px; border:1px solid rgba(193.314,181.136,155.294,1); border-radius:4px; background:rgba(238.034,232.649,221.221,1); color:rgba(75.869,64.446,40.207,1)!important; font-size:14px; line-height:1.4; }

/* Modernization: remove oversized character icons and the ledger-like decoration. */
body.page-modernization #main .mz-glyph { display:none!important; }
body.page-modernization #main .mz-legacy { padding:28px; background:rgba(234.78,230.108,220.195,1); border:1px solid rgba(199.442,190.163,170.472,1); border-radius:12px; box-shadow:none; transform:none; }
body.page-modernization #main .mz-knowledge-title { display:block; margin-bottom:20px; color:rgba(112.663,98.23,67.604,1); font:500 14px/1.5 var(--mono); letter-spacing:.08em; }
body.page-modernization #main .mz-knowledge { display:grid; gap:12px; }
body.page-modernization #main .mz-knowledge>div { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:16px; padding:21px 20px; background:rgba(248.071,245.872,241.204,1); border-left:3px solid rgba(163.502,148.209,115.759,1); }
body.page-modernization #main .mz-knowledge small { font:500 14px/1.5 var(--mono); color:rgba(120.847,106.108,74.834,1); }
body.page-modernization #main .mz-knowledge strong { font-size:18px; font-weight:500; color:rgba(74.784,63.701,40.185,1); }
body.page-modernization #main .mz-quad-core { width:142px; height:112px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; background:rgba(70.576,59.829,37.022,1); background-image:none; border:2px solid rgba(216.665,200.364,165.775,1); border-radius:12px; box-shadow:none; color:rgba(246.583,242.05,232.432,1); }
body.page-modernization #main .mz-quad-core span { color:rgba(246.583,242.05,232.432,1)!important; font:700 17px/1.4 var(--mono); }
body.page-modernization #main .mz-quad-core b { color:rgba(223.237,209.807,181.309,1)!important; font-size:14px; }

/* History is a readable list, without density blocks, edge tabs or gradient pills. */
body.page-history #main .hl-density,body.page-history #main .hl-period-ghost { display:none!important; }
body.page-history #main .hl-period-head { padding:26px 0 20px; margin:0; border-radius:0; background:transparent; border-bottom:1px solid rgba(193.489,184.162,164.371,1); overflow:visible; }
body.page-history #main .hl-period-head:before,body.page-history #main .hl-tiles li:before { display:none!important; content:none!important; }
body.page-history #main .hl-period-head h3 { margin:0; color:rgba(80.255,68.471,43.466,1); font-size:25px; }
body.page-history #main .hl-period-meta { padding:0; border:0; border-radius:0; background:none!important; color:rgba(106.534,95.986,73.604,1)!important; font-size:14px; font-weight:400; line-height:1.7; letter-spacing:.02em; white-space:normal; }
body.page-history #main .hl-year { grid-template-columns:95px minmax(0,1fr); gap:32px; padding:26px 0; border:0; }
body.page-history #main .hl-year-label { top:115px; padding:8px 0; background:none!important; color:rgba(80.255,68.471,43.466,1)!important; -webkit-text-fill-color:currentColor; -webkit-background-clip:initial; background-clip:border-box; font-size:24px; font-weight:500; line-height:1.6; }
body.page-history #main .hl-tiles { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-flow:row; gap:0; }
body.page-history #main .hl-tiles li { padding:12px 0; border:0; border-bottom:1px solid rgba(210.573,203.662,188.995,1); border-radius:0; background:transparent; color:rgba(89.771,77.65,51.931,1); font-size:16px; line-height:1.9; box-shadow:none; }
body.page-history #main .hl-tiles li:hover { background:transparent; box-shadow:none; }

/* Portfolio screens keep their native proportions and transparent backgrounds. */
body.page-portfolio #main .project-gallery { align-items:start; gap:10px; }
body.page-portfolio #main :is(.project-shot,.project-overlap-shot) { height:auto; padding:0; margin-bottom:0; aspect-ratio:auto; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.page-portfolio #main .project-shot img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; background:transparent; transform:none; }
body.page-portfolio #main .project-zoom { height:auto; padding:0; background:transparent; }
body.page-portfolio #main .project-gallery.airhorn .project-shot { height:auto; }
body.page-portfolio #main .project-overlap-shot img { height:auto; object-fit:contain; }
body.page-portfolio #main .project-overlap-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:10px; overflow:visible; padding:0; }
body.page-portfolio #main .project-overlap-shot { width:auto; margin:0; }
body.page-portfolio #main .project-shot.has-ui-crop { position:relative; aspect-ratio:var(--crop-ratio); overflow:hidden; }
body.page-portfolio #main .project-shot.has-ui-crop .project-zoom { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; }
body.page-portfolio #main .project-shot.has-ui-crop img { position:absolute; left:var(--crop-image-left); top:var(--crop-image-top); width:var(--crop-image-width); height:auto; max-width:none; max-height:none; margin:0; }
.ed-lightbox .ed-lightbox-media { margin:auto; background:transparent; }
.ed-lightbox .ed-lightbox-media>img { display:block; width:auto; max-width:100%; max-height:74svh; height:auto; margin:auto; object-fit:contain; background:transparent; }
.ed-lightbox .ed-lightbox-media.has-ui-crop { position:relative; overflow:hidden; aspect-ratio:var(--crop-ratio); width:min(100%,calc(74svh * var(--crop-ratio-number))); }
.ed-lightbox .ed-lightbox-media.has-ui-crop>img { position:absolute; left:var(--crop-image-left); top:var(--crop-image-top); width:var(--crop-image-width); height:auto; max-width:none; max-height:none; margin:0; }
body.page-portfolio #main .ed-portfolio-preview { display:none; }
body.page-portfolio #main .ed-portfolio-layout { display:block; }

@media (max-width:760px) {
  body.page-history #main .hl-year { grid-template-columns:1fr; gap:8px; }
  body.page-history #main .hl-year-label { position:static; }
  body.page-history #main .hl-period-head { align-items:flex-start; }
  body.page-modernization #main .mz-quad-core { display:none; }
  body.page-portfolio #main .project-overlap-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
}


/* Claude 수정안 · 2026-11-09 — 요구사항 페이지: 번호 배지 숫자가 배경색에 묻히던 것, 보라색 보조 상자를 사이트 색으로 */
body.page-requirements-analysis #main .rq-no { color:rgba(246.228,242.889,235.802,1); background:rgba(78.776,65.876,38.504,1); font-family:var(--font); font-weight:800; }
body.page-requirements-analysis #main .rq-note { background:rgba(239.991,234.947,224.245,1); color:rgba(89.832,72.01,34.192,1); }
