/* =========================================================================
   Peter OPC V7.9 — commercial service site
   Built on the V7.2 language: paper, ink, cobalt, coral, editorial type.
   ========================================================================= */

:root{
  --v79-ink:#171a1a;
  --v79-paper:#f5f2e9;
  --v79-paper-2:#efeae0;
  --v79-cobalt:#284ee9;
  --v79-fire:#ff6744;
  --v79-muted:#5b6562;
  --v79-line:#cfd2cb;
  --v79-wide:1310px;
  --v79-gutter:max(44px,calc((100vw - 1310px)/2));
}

body.v79-site{background:var(--v79-paper);color:var(--v79-ink)}
.v79-site h1,.v79-site h2,.v79-site h3{margin:0}
.v79-site p{margin:0}
.v79-site ul,.v79-site ol{margin:0;padding:0;list-style:none}
.v79-site dl,.v79-site dd{margin:0}
.v79-site figure{margin:0}

.v79-skip{position:fixed;left:16px;top:-60px;z-index:80;background:var(--v79-ink);color:#fff;padding:10px 16px;font-size:12px;transition:top .2s}
.v79-skip:focus{top:12px}
.v79-site :focus-visible{outline:2px solid var(--v79-cobalt);outline-offset:3px}

.v79-wide{width:calc(100% - 96px);max-width:var(--v79-wide);margin:0 auto}
@media (max-width:900px){.v79-wide{width:calc(100% - 56px)}}
@media (max-width:600px){.v79-wide{width:calc(100% - 40px)}}

/* ---------------- hero ---------------- */
.v79-hero{
  display:grid;grid-template-columns:minmax(0,55%) minmax(0,45%);
  min-height:720px;border-bottom:1px solid #d7d7d2;
}
.v79-hero-copy{
  padding:46px clamp(28px,4.2vw,78px) 42px var(--v79-gutter);
  display:flex;flex-direction:column;justify-content:center;min-width:0;
}
.v79-overline{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.15em;font-weight:800;color:#353e3c}
.v79-dot{width:10px;height:10px;border:2px solid var(--v79-fire);border-radius:50%;display:inline-block}
.v79-h1{
  margin:clamp(20px,3.4vh,30px) 0 0;
  font-size:clamp(46px,5.1vw,82px);line-height:1.16;letter-spacing:-.08em;font-weight:900;color:var(--v79-ink);
}
.v79-h1 span{color:var(--v79-cobalt)}
.v79-h1 em{font-style:normal}
.v79-stop{color:var(--v79-fire)}
.v79-lede{margin-top:26px;font-size:15px;line-height:1.95;color:#565e5b;max-width:600px}
.v79-service-line{
  margin-top:22px;padding:12px 0;border-top:1px solid var(--v79-line);border-bottom:1px solid var(--v79-line);
  font-size:12.5px;font-weight:700;letter-spacing:.02em;color:#2b3331;
}
.v79-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:30px}
.v79-btn{
  display:inline-flex;align-items:center;gap:26px;justify-content:space-between;
  background:var(--v79-cobalt);color:#fff;padding:15px 20px;font-size:13px;font-weight:800;min-height:52px;
  transition:background .2s;
}
.v79-btn:hover,.v79-btn:focus-visible{background:#1737ba;color:#fff}
.v79-btn i{font-style:normal;font-size:18px}
.v79-btn-quiet{font-size:13px;font-weight:800;color:#1b2020;border-bottom:1px solid #101819;padding-bottom:6px}
.v79-btn-quiet:hover{color:var(--v79-cobalt);border-color:var(--v79-cobalt)}
.v79-identity{margin-top:30px;font-size:11.5px;color:#6d7674;letter-spacing:.02em}
.v79-status{margin-top:8px;font-size:10.5px;line-height:1.8;color:#8a918e;max-width:560px}

.v79-hero-media{position:relative;overflow:hidden;background:#0d1015;min-height:420px}
.v79-hero-media img{width:100%;height:100%;object-fit:cover;object-position:58% 50%}
.v79-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,16,21,.55),rgba(13,16,21,0) 34%)}
.v79-media-meta{
  position:absolute;left:18px;right:18px;bottom:14px;z-index:2;
  display:flex;justify-content:space-between;gap:12px;
  font-size:8px;letter-spacing:.16em;font-weight:700;color:rgba(255,255,255,.72);
}
.v79-media-meta span{background:rgba(13,16,21,.55);padding:5px 8px}

/* ---------------- underbar ---------------- */
.v79-underbar{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  padding:16px var(--v79-gutter);
  background:#e9e4d8;border-bottom:1px solid #d7d7d2;
}
.v79-underbar-services{display:flex;gap:26px;flex-wrap:wrap;font-size:11px;font-weight:800;letter-spacing:.04em;color:#2c3532}
.v79-underbar-services span{position:relative;padding-left:12px}
.v79-underbar-services span::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;background:var(--v79-fire)}
.v79-underbar-learn{font-size:11.5px;color:#59635f}
.v79-underbar-learn a{color:var(--v79-cobalt);font-weight:800}

/* ---------------- sections ---------------- */
.v79-section{padding:clamp(64px,9vh,104px) 0}
.v79-section-paper{background:var(--v79-paper-2)}
.v79-section-dark{background:#171a1a;color:#f0ece2}
.v79-section-dark .v79-line{color:#9aa5a0;border-color:#3a4141}
.v79-section-dark .v79-line span:first-child{color:var(--v79-fire)}
.v79-section-dark .v79-note{color:#a8b1ad}
.v79-section-dark em{color:var(--v79-fire)}

.v79-line{display:flex;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid var(--v79-line);font-size:10px;font-weight:800;letter-spacing:.13em;color:#596763;text-transform:uppercase}
.v79-line span:first-child{color:var(--v79-cobalt)}
.v79-section-dark .v79-line span:first-child{color:var(--v79-fire)}

.v79-split{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:end;margin:26px 0 44px}
.v79-split h2{font-size:clamp(36px,4.3vw,62px);line-height:1.14;letter-spacing:-.07em;font-weight:900}
.v79-split h2 em{font-style:normal;color:var(--v79-cobalt)}
.v79-note{font-size:13.5px;line-height:1.9;color:var(--v79-muted);max-width:380px}

/* ---------------- problems ---------------- */
.v79-problem-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #2b3331}
.v79-problem{display:flex;flex-direction:column;gap:10px;padding:26px 24px 24px;border-right:1px solid #cdd0c9;transition:background .2s,transform .2s}
.v79-problem:last-child{border-right:0}
.v79-problem:hover{background:#fff;transform:translateY(-3px)}
.v79-problem-no{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--v79-fire)}
.v79-problem h3{font-size:19px;letter-spacing:-.03em;font-weight:900}
.v79-problem p{font-size:12.5px;line-height:1.8;color:#5f6a66;flex:1}
.v79-problem-link{font-size:11px;font-weight:800;color:var(--v79-cobalt)}

/* ---------------- services ---------------- */
.v79-service-list{border-top:2px solid #252b2d}
.v79-service{
  display:grid;grid-template-columns:52px minmax(0,1.05fr) minmax(0,1.15fr) 96px;
  gap:24px;align-items:start;padding:26px 0;border-bottom:1px solid #c8cbc4;
  transition:background .2s,padding .2s;
}
.v79-service:hover{background:#f7f5ee;padding-left:14px;padding-right:14px}
.v79-service-no{font-size:10px;font-weight:900;letter-spacing:.1em;color:var(--v79-cobalt);padding-top:6px}
.v79-service-main h3{font-size:clamp(20px,2.2vw,30px);letter-spacing:-.055em;font-weight:900;line-height:1.16}
.v79-service-main p{margin-top:8px;font-size:12.5px;line-height:1.75;color:#687170}
.v79-service-out span{display:block;font-size:9px;letter-spacing:.16em;font-weight:800;color:#8d948f;text-transform:uppercase}
.v79-service-out p{margin-top:7px;font-size:12.5px;line-height:1.75;color:#3f4845}
.v79-service-tag{justify-self:end;font-size:9px;letter-spacing:.1em;color:#7d8580;border:1px solid #c3c8c1;padding:5px 7px;white-space:nowrap;align-self:start}
.v79-flag{margin-top:18px;padding-left:12px;border-left:2px solid var(--v79-fire);font-size:11px;line-height:1.85;color:#7a827e}

/* ---------------- depth ---------------- */
.v79-depth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #bdc5bf}
.v79-depth{display:flex;flex-direction:column;padding:28px;border-right:1px solid #bdc5bf;background:#f8f7f2;min-height:290px}
.v79-depth:last-child{border-right:0}
.v79-depth-k{font-size:10px;letter-spacing:.14em;font-weight:900;color:var(--v79-cobalt)}
.v79-depth h3{margin-top:20px;font-size:26px;letter-spacing:-.05em;font-weight:900}
.v79-depth p{margin-top:10px;font-size:13px;line-height:1.85;color:#5d6663;flex:1}
.v79-depth-out{font-size:11px;font-weight:700;color:#39423f;border-top:1px solid #d3d8d2;padding-top:12px;margin-top:16px}

/* ---------------- cases ---------------- */
.v79-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v79-case{border:1px solid #3d4545;background:#1e2323;padding:24px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,border-color .2s}
.v79-case:hover{transform:translateY(-4px);border-color:#5a6664}
.v79-case-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.v79-case-no{font-size:12px;font-weight:900;color:var(--v79-fire);letter-spacing:.1em}
.v79-case-status{font-size:8.5px;letter-spacing:.1em;color:#cfd6d2;border:1px solid #59635f;padding:4px 6px;white-space:nowrap}
.v79-case h3{font-size:21px;letter-spacing:-.04em;font-weight:900;line-height:1.3}
.v79-case>p{font-size:12.5px;line-height:1.8;color:#b7c1bc;flex:1}
.v79-case-facts{display:grid;gap:8px;border-top:1px solid #3d4545;padding-top:12px}
.v79-case-facts div{display:grid;grid-template-columns:70px 1fr;gap:10px}
.v79-case-facts dt{font-size:8.5px;letter-spacing:.12em;color:#8f9a95;text-transform:uppercase;padding-top:2px}
.v79-case-facts dd{font-size:11.5px;color:#dfe5e0}
.v79-case-more{font-size:10px;color:#8f9a95;letter-spacing:.02em}
.v79-case-note{margin-top:20px;font-size:10.5px;color:#8f9a95}

/* ---------------- industries ---------------- */
.v79-ind-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid #2b3331}
.v79-ind-grid li{padding:24px;border-right:1px solid #cdd0c9;display:flex;flex-direction:column;gap:8px;min-height:190px}
.v79-ind-grid li:last-child{border-right:0}
.v79-ind-grid span{font-size:9.5px;font-weight:900;letter-spacing:.14em;color:var(--v79-cobalt)}
.v79-ind-grid h3{font-size:18px;letter-spacing:-.03em;font-weight:900;line-height:1.3}
.v79-ind-grid p{font-size:12px;line-height:1.75;color:#606a66;flex:1}
.v79-ind-grid em{font-style:normal;font-size:9.5px;letter-spacing:.08em;color:#8b938f;border-top:1px solid #d6d9d2;padding-top:8px}

/* ---------------- learning band ---------------- */
.v79-band{background:var(--v79-cobalt);color:#fff;padding:clamp(56px,8vh,92px) 0}
.v79-band-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.v79-band-kicker{font-size:9.5px;letter-spacing:.18em;font-weight:900;color:#c9d3ff}
.v79-band h2{margin-top:18px;font-size:clamp(32px,3.8vw,54px);line-height:1.16;letter-spacing:-.06em;font-weight:900}
.v79-band-copy{margin-top:20px;font-size:13.5px;line-height:1.95;color:#dfe4ff;max-width:480px}
.v79-band-link{display:inline-block;margin-top:24px;font-size:13px;font-weight:900;color:#fff;border-bottom:2px solid rgba(255,255,255,.5);padding-bottom:5px}
.v79-band-list{display:grid;gap:14px}
.v79-band-list li{border-top:1px solid rgba(255,255,255,.28);padding-top:14px}
.v79-band-list span{font-size:9px;letter-spacing:.16em;font-weight:900;color:#c9d3ff}
.v79-band-list b{display:block;margin-top:8px;font-size:16px;letter-spacing:-.02em}
.v79-band-list p{margin-top:7px;font-size:12px;line-height:1.8;color:#dfe4ff}

/* ---------------- knowledge ---------------- */
.v79-k-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v79-k{border:1px solid #c9cec7;padding:24px;background:#faf8f1;display:flex;flex-direction:column;gap:10px;min-height:200px;transition:transform .2s,background .2s}
.v79-k:hover{transform:translateY(-3px);background:#fff}
.v79-k span{font-size:9.5px;font-weight:900;letter-spacing:.14em;color:var(--v79-fire)}
.v79-k h3{font-size:19px;letter-spacing:-.035em;font-weight:900;line-height:1.3}
.v79-k p{font-size:12.5px;line-height:1.8;color:#606a66;flex:1}
.v79-k em{font-style:normal;font-size:9.5px;color:#8d948f;border-top:1px solid #d8dbd4;padding-top:9px}

/* ---------------- close ---------------- */
.v79-close{background:#efe9dd;padding:clamp(56px,8vh,96px) 0;border-top:1px solid #d7d7d2}
.v79-close-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
.v79-close-kicker{font-size:9.5px;letter-spacing:.18em;font-weight:900;color:var(--v79-cobalt)}
.v79-close h2{margin-top:16px;font-size:clamp(36px,4.4vw,62px);line-height:1.12;letter-spacing:-.07em;font-weight:900}
.v79-close h2 em{font-style:normal;color:var(--v79-fire)}
.v79-close-copy{margin-top:20px;font-size:13.5px;line-height:1.9;color:#5b6562;max-width:520px}
.v79-close-actions{display:grid;gap:12px}
.v79-close-a,.v79-close-b{display:grid;grid-template-columns:1fr auto;gap:6px 14px;padding:20px 22px;text-decoration:none;transition:background .2s,color .2s}
.v79-close-a{background:var(--v79-ink);color:#fff}
.v79-close-b{background:#fff;color:var(--v79-ink);border:1px solid #c9cec7}
.v79-close-a span,.v79-close-b span{grid-column:1;font-size:9px;letter-spacing:.16em;font-weight:800;opacity:.7}
.v79-close-a b,.v79-close-b b{grid-column:1;font-size:19px;letter-spacing:-.03em}
.v79-close-a i,.v79-close-b i{grid-column:2;grid-row:1 / span 2;align-self:center;font-style:normal;font-size:20px}
.v79-close-a:hover{background:var(--v79-cobalt)}
.v79-close-b:hover{background:var(--v79-fire);color:#160b08;border-color:var(--v79-fire)}
.v79-close-note{font-size:10px;color:#8a918e;letter-spacing:.04em}

/* ---------------- responsive ---------------- */
@media (max-width:1100px){
  .v79-hero{grid-template-columns:1fr;min-height:0}
  .v79-hero-copy{padding:44px var(--v79-gutter) 34px}
  .v79-hero-media{min-height:0;aspect-ratio:16/10}
  .v79-hero-media img{object-position:55% 45%}
  .v79-split{grid-template-columns:1fr;gap:20px;align-items:start}
  .v79-note{max-width:640px}
  .v79-problem-grid{grid-template-columns:1fr 1fr}
  .v79-problem{border-bottom:1px solid #cdd0c9}
  .v79-service{grid-template-columns:40px minmax(0,1fr) minmax(0,1fr);row-gap:12px}
  .v79-service-tag{grid-column:2;justify-self:start}
  .v79-depth-grid{grid-template-columns:1fr}
  .v79-depth{border-right:0;border-bottom:1px solid #bdc5bf;min-height:0}
  .v79-case-grid{grid-template-columns:1fr}
  .v79-ind-grid{grid-template-columns:1fr 1fr}
  .v79-band-inner{grid-template-columns:1fr;gap:34px}
  .v79-k-grid{grid-template-columns:1fr}
  .v79-close-inner{grid-template-columns:1fr;gap:30px}
}
@media (max-width:760px){
  .brand{gap:9px;flex-shrink:1;min-width:0}
  .brand-mark{font-size:24px}
  .brand-copy{font-size:9px;line-height:1.35;letter-spacing:.08em;white-space:normal;max-width:190px}
}
@media (max-width:600px){
  .v79-hero-copy{padding:34px 20px 28px}
  .v79-h1{font-size:clamp(38px,10.4vw,52px);line-height:1.2}
  .v79-lede{font-size:13.5px;margin-top:20px}
  .v79-service-line{font-size:11.5px;line-height:1.8}
  .v79-btn{width:100%;justify-content:space-between}
  .v79-hero-media{aspect-ratio:4/5}
  .v79-hero-media img{object-position:56% 42%}
  .v79-media-meta{font-size:7px;left:12px;right:12px}
  .v79-underbar{padding:14px 20px;gap:12px}
  .v79-underbar-services{gap:12px 18px;font-size:10px}
  .v79-problem-grid{grid-template-columns:1fr}
  .v79-problem{border-right:0}
  .v79-service{grid-template-columns:1fr;padding:20px 0}
  .v79-service-no{padding-top:0}
  .v79-service-tag{grid-column:1;justify-self:start}
  .v79-ind-grid{grid-template-columns:1fr}
  .v79-ind-grid li{border-right:0;border-bottom:1px solid #cdd0c9;min-height:0}
  .v79-close-a,.v79-close-b{padding:16px 18px}
  .v79-close-a b,.v79-close-b b{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
  .v79-site *{transition:none!important}
}
