/* ---- from v1 style.css ---- */
:root { --ink:#123431;--dark:#092c2a;--lime:#d6ef75;--muted:#516461;--line:#d9e2df;--paper:#f4f7f5 }
* { box-sizing:border-box }
html { scroll-behavior:smooth;scroll-padding-top:125px }
body { margin:0;color:var(--ink);font-family:Arial,'Malgun Gothic',sans-serif;font-size:16px;line-height:1.65;background:white }
a { color:inherit;text-decoration:none }
button { font:inherit }
button,a,summary { -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid #537714;outline-offset:5px }
img { max-width:100% }
h1,h2,h3,p { margin-top:0 }
h1,h2,h3 { line-height:1.1;font-weight:500;letter-spacing:-.035em }
h1 { font-size:clamp(3rem,5.7vw,6rem);max-width:850px;margin-bottom:28px }
h2 { font-size:clamp(2.2rem,3.6vw,3.8rem);margin-bottom:28px }
h3 { font-size:1.5rem;line-height:1.3 }
p { margin-bottom:20px }
.skip { position:fixed;top:-100px;z-index:9;background:var(--lime);padding:15px }
.skip:focus { top:0 }
header { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 4.2%;background:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line) }
.brand { display:flex;align-items:center;flex-shrink:0 }
.brand img { width:245px;height:auto;max-height:65px }
.head-right { display:flex;flex-direction:column;align-items:flex-end;gap:12px }
.languages { display:flex;gap:8px }
.languages button { border:0;background:transparent;color:#526560;font-size:.875rem;min-height:30px;padding:3px 9px;cursor:pointer;white-space:nowrap }
.languages button[aria-pressed=true] { color:var(--ink);background:#eaf0ed;border-radius:3px;font-weight:700 }
nav { display:flex;gap:28px;font-size:.875rem }
nav a:hover { color:#608028 }
.hero { position:relative;isolation:isolate;background:#062724;color:white;min-height:675px;display:flex;align-items:center;overflow:hidden }
.hero-art { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3 }
.hero-shade { position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,30,29,.85),rgba(4,30,29,.5) 45%,rgba(4,30,29,.02) 85%);z-index:-2 }
.hero-content { padding:70px 6.5% 125px;width:100% }
.eyebrow { font-size:.875rem;letter-spacing:.13em;font-weight:700;line-height:1.5;margin-bottom:28px }
.hero .eyebrow { color:var(--lime) }
.hero-copy { max-width:490px;font-size:1.125rem;color:#e1ece9;line-height:1.7;margin-bottom:35px }
.button { display:inline-flex;gap:45px;align-items:center;background:var(--lime);color:#123431;padding:15px 22px;font-size:.94rem;font-weight:700 }
.button:hover { background:#e6ff91 }
.button span:last-child { font-size:1.6rem;line-height:1 }
.hero-bottom { position:absolute;bottom:25px;left:6.5%;right:6.5%;display:flex;gap:20px;justify-content:space-between;align-items:flex-end;font-size:.75rem;letter-spacing:.07em }
.focus-strip { display:grid;grid-template-columns:repeat(4,1fr);background:var(--dark);color:#dce7e2;padding:22px 6.5%;gap:25px;font-size:.9rem }
.focus-strip span { border-right:1px solid #3d5851 }
.focus-strip span:last-child { border:0 }
.section { padding:100px 6.5%;scroll-margin-top:10px }
.about { display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:110px;padding-bottom:110px }
.about-copy { padding-top:43px;color:var(--muted) }
.lead { font-size:1.45rem;line-height:1.5;color:var(--ink);letter-spacing:-.015em }
.section-heading { display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:10%;margin-bottom:45px }
.section-heading>p,.section-heading>div>p:last-child { max-width:480px;color:var(--muted) }
.section-heading h2 { margin-bottom:0 }
.services { background:var(--paper) }
.service-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid #bfcfca;border-left:1px solid #bfcfca }
.service-card { padding:35px 40px;border-right:1px solid #bfcfca;border-bottom:1px solid #bfcfca;background:var(--paper) }
.service-number { font-size:.875rem;color:#5d765d;display:block;margin-bottom:30px }
.service-card h3 { font-size:1.6rem;max-width:400px;margin-bottom:18px }
.service-card p { color:var(--muted);max-width:480px }
.service-card .equipment { font-size:.875rem;border-top:1px solid var(--line);padding-top:18px;margin-bottom:0;color:var(--ink) }
.technology { background:var(--dark);color:white }
.technology .eyebrow { color:var(--lime) }
.technology-top { display:grid;grid-template-columns:1.25fr 1fr;gap:10%;align-items:end }
.technology-top>p { color:#c6d8d1;max-width:460px }
.tech-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px }
.tech-card { border-top:1px solid #5d7468;padding-top:28px }
.tech-card .code { font-size:2.8rem;color:var(--lime);font-weight:400;line-height:1.2;margin-bottom:24px }
.tech-card h3 { font-size:1.2rem;letter-spacing:-.01em }
.tech-card p { color:#c6d8d1;font-size:.94rem }
.tech-footer { border-top:1px solid #48665c;margin-top:35px;padding-top:28px;display:grid;grid-template-columns:1fr 2fr;gap:40px }
.tech-footer p { color:#c6d8d1;margin:0 }
.badge { display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:#294220;background:#ddeaac;padding:5px 10px;margin-bottom:24px }
.history-note { display:grid;grid-template-columns:1fr 1.25fr;gap:60px;border-bottom:1px solid var(--line);padding:45px 0 20px }
.neutral { background:#edf0ef;color:#4c635b }
.history-note h3 { font-size:1.7rem }
.history-note p { color:var(--muted) }
.experience { background:var(--paper) }
.heritage-label { font-size:.875rem;font-weight:700;color:var(--ink)!important;border-left:3px solid #879d43;padding-left:16px }
.reference-header,.reference-row { display:grid;grid-template-columns:110px 1fr;gap:20px }
.reference-header { border-bottom:1px solid #748a80;padding:12px 0;font-size:.875rem;color:var(--muted) }
.reference-row { padding:25px 0;border-bottom:1px solid #cfdbd5 }
.reference-row .year { font-size:1.25rem }
.reference-row h3 { font-size:1.15rem;letter-spacing:-.01em;margin-bottom:6px }
.reference-row p { color:var(--muted);font-size:.94rem;margin:0 }
.more-references { margin-top:20px }
.more-references summary { padding:18px 0;cursor:pointer;font-weight:700;list-style-position:inside }
.company { display:grid;grid-template-columns:1.2fr 1fr;gap:10%;background:#d8e4dd }
.company h2 { font-size:clamp(2rem,3.5vw,3.8rem);overflow-wrap:anywhere }
.company-details { padding-top:40px }
.company-details>div { display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #afc2b7;flex-wrap:wrap }
.company-details span { font-size:.875rem;color:#435e50 }
footer { background:var(--dark);color:#ccddd3;display:flex;align-items:center;flex-wrap:wrap;gap:25px;justify-content:space-between;padding:30px 6.5%;font-size:.8rem }
.noscript { padding:30px }
html[lang=ko] h1 { font-size:clamp(2.7rem,5vw,5.5rem);line-height:1.2;word-break:keep-all }
html[lang=ko] h2 { line-height:1.25;word-break:keep-all }
html[lang=id] h1 { font-size:clamp(2.8rem,5vw,5.3rem) }
@media(min-width:1700px) {
  .section { padding-left:max(6.5%,calc((100vw - 1500px)/2));padding-right:max(6.5%,calc((100vw - 1500px)/2)) }
}
@media(max-width:1000px) {
  header { padding:15px 4%;align-items:flex-start }
  .brand img { width:190px }
  nav { gap:15px;font-size:.8rem }
  .hero { min-height:620px }
  .section { padding:75px 6% }
  .tech-grid { gap:24px }
  .company { gap:5% }
  .about { gap:5% }
}
@media(max-width:760px) {
  html { scroll-padding-top:155px }
  header { flex-direction:column;gap:10px;align-items:stretch;padding:13px 5% }
  .brand img { width:180px;max-height:44px }
  .head-right { gap:12px;align-items:stretch }
  .languages { position:absolute;right:4%;top:15px;gap:1px }
  .languages button { font-size:.8rem;padding:4px 6px }
  .brand { max-width:42% }
  .brand img { max-width:100% }
  nav { overflow-x:auto;white-space:nowrap;gap:22px;font-size:.85rem;padding-bottom:3px }
  .hero { min-height:650px;align-items:flex-start }
  .hero-content { padding:65px 6% 150px }
  .hero-copy { max-width:390px }
  .hero-shade { background:linear-gradient(90deg,rgba(4,30,29,.92),rgba(4,30,29,.48)),linear-gradient(0deg,rgba(4,30,29,.5),transparent) }
  .hero-art { object-position:62% center }
  .hero-bottom { left:6%;right:6%;flex-direction:column;align-items:flex-start;gap:14px }
  .focus-strip { grid-template-columns:1fr 1fr;padding:22px 6%;gap:18px;font-size:.82rem }
  .focus-strip span:nth-child(2) { border:0 }
  .section { padding:65px 6% }
  .about,.section-heading,.technology-top,.history-note,.company { grid-template-columns:1fr;gap:15px }
  .about-copy { padding:0 }
  .section-heading { margin-bottom:30px }
  .section-heading h2 { margin-bottom:12px }
  .section-heading>p { margin:0 }
  .service-grid { grid-template-columns:1fr }
  .service-card { padding:28px }
  .service-number { margin-bottom:15px }
  .tech-grid { grid-template-columns:1fr;gap:20px;margin-top:20px }
  .tech-card { display:grid;grid-template-columns:70px 1fr;gap:18px }
  .tech-card .code { font-size:2rem;grid-row:span 2;margin:0 }
  .tech-card h3 { margin-bottom:0 }
  .tech-card p { grid-column:2 }
  .tech-footer { grid-template-columns:1fr;gap:12px }
  .history-note { padding-top:35px;gap:10px }
  .reference-header,.reference-row { grid-template-columns:60px 1fr;gap:15px }
  .reference-row .year { font-size:1.05rem }
  .company-details { padding-top:5px }
  footer { align-items:flex-start;flex-direction:column;gap:16px }
  .eyebrow { margin-bottom:20px }
}
@media(max-width:390px) {
  .brand { max-width:34% }
  .languages button { font-size:.75rem;padding:5px 4px }
  .hero-content { padding-top:50px }
  h1 { font-size:2.8rem }
  .hero { min-height:710px }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
}
@media(max-width:760px) {
  header { gap:8px }
  .brand { max-width:none }
  .brand img { width:180px;max-width:100% }
  .languages { position:static;align-self:flex-end;gap:4px }
  .languages button { font-size:.8125rem;padding:3px 8px;min-height:32px }
  .head-right { gap:6px }
  html { scroll-padding-top:165px }
  .hero-copy { word-break:normal;overflow-wrap:normal }
  html[lang=ko] .hero-copy { word-break:keep-all }
}
.company-details address { font-style:normal;line-height:1.7;max-width:330px }
.company-details a { font-weight:600;overflow-wrap:anywhere }
.company-details a:hover { text-decoration:underline }
.address-row { align-items:flex-start }

/* ---- from v1 hero-video.css ---- */
.hero { height:min(850px,calc(100svh - 115px));min-height:650px;isolation:isolate }
.hero-art { object-position:center }
.hero video { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2 }
.hero-shade { background:linear-gradient(90deg,rgba(3,27,27,.89),rgba(3,27,27,.42) 50%,rgba(3,27,27,.05) 78%),linear-gradient(0deg,rgba(3,27,27,.8),transparent 30%);z-index:-1 }
.hero-content { padding-top:clamp(60px,9vh,130px);max-width:1000px }
.hero h1 { font-size:clamp(3rem,5.5vw,5.8rem);max-width:850px;line-height:1.03;letter-spacing:-.045em }
.hero-copy { max-width:620px;font-size:clamp(1rem,1.6vw,1.3rem) }
.hero .button { padding:18px 25px;min-width:265px }
.hero-bottom { gap:20px;align-items:center;flex-wrap:wrap }
.video-actions { display:flex;align-items:center;gap:10px }
.video-actions button { background:#082e2bc9;color:white;border:1px solid #afc5ba80;border-radius:30px;padding:10px 16px;cursor:pointer;font-size:13px;min-height:44px }
.video-actions button:hover { background:#d6ef75;color:#123431 }
.hero .hero-art { z-index:-3 }
.hero:fullscreen { height:100%;width:100%;max-height:none }
.hero:fullscreen .hero-content { padding-top:12vh }
.hero:fullscreen .hero-bottom { position:absolute;bottom:30px;left:4.2%;right:4.2% }
@media(max-width:760px) {
  .hero { height:780px;min-height:700px }
  .hero video,.hero-art { object-position:68% center }
  .hero-content { padding-top:65px }
  .hero h1 { font-size:clamp(2.6rem,9vw,4rem);max-width:620px }
  .hero-shade { background:linear-gradient(90deg,#031b1bd9,#031b1b50),linear-gradient(0deg,#031b1bd9,transparent 50%) }
  .hero-bottom { gap:14px }
  .video-actions { flex-wrap:wrap }
}

/* ---- from v1 content-update.css ---- */
.service-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
.service-card { min-width:0 }
.service-card h3 { font-size:1.45rem;line-height:1.25 }
.equipment-section { background:#e7efeb }
.section-intro { max-width:790px;color:#526560 }
.process-section { background:#fff }
.process-steps { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:45px 0 0;gap:28px }
.process-steps li { border-top:2px solid #668343;padding-top:20px }
.step-number { color:#6a8436;font-size:2.2rem;display:block;margin-bottom:25px }
.process-steps h3 { font-size:1.3rem;line-height:1.3 }
.process-steps p { font-size:.95rem;color:#526560 }
.site-caption { display:flex;align-items:center;justify-content:space-between;margin:35px 0 20px;padding:18px 0;border-bottom:1px solid #d4dfd9;gap:15px }
.site-caption strong { font-size:1.7rem }
.site-caption span { font-size:.8rem;color:#526560 }
.completed-grid,.heritage-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px }
.completed-grid article { padding:28px;background:#edf3ef;border-top:3px solid #426652 }
.completed-grid h3 { font-size:1.8rem;line-height:1.2 }
.completed-grid article>p:last-child { color:#526560;font-size:.96rem }
.completed-grid .badge { font-size:.66rem;line-height:1.7;letter-spacing:.02em;padding:6px 9px }
.completed { background:#d7e9be;color:#2e4b25 }
.project-system { font-size:.75rem;letter-spacing:.1em;margin-top:28px;margin-bottom:12px;color:#4e6d60 }
.ongoing-row { display:grid;grid-template-columns:220px 1fr;gap:25px;margin-top:24px;padding:24px;border:1px solid #d4dfd9 }
.ongoing-row strong { font-size:.8rem;color:#63733e }
.ongoing-row p { margin:0 }
.heritage-section { background:#123c37;color:white }
.heritage-section .section-heading p,.heritage-grid p { color:#c4d7ce }
.heritage-grid article { border-top:1px solid #6b8b7e;padding:30px 0 10px }
.heritage-grid .eyebrow { color:#d6ef75;font-size:.8rem;display:block }
.heritage-grid h3 { font-size:1.65rem }
.source-link { display:inline-block;margin-top:25px;color:#d6ef75;border-bottom:1px solid #8da458;padding-bottom:7px }
.technology { padding-top:70px;padding-bottom:70px }
html[lang=ko] h2,html[lang=ko] h3,html[lang=ko] p { word-break:keep-all;overflow-wrap:break-word }
@media(max-width:1050px) {
  .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .completed-grid { gap:14px }
  .completed-grid article { padding:22px }
  .process-steps { gap:18px }
  .hero h1 { max-width:700px }
}
@media(max-width:760px) {
  .service-grid,.completed-grid,.heritage-grid { grid-template-columns:1fr }
  .process-steps { grid-template-columns:1fr 1fr;gap:24px }
  .ongoing-row { grid-template-columns:1fr;gap:12px }
  .site-caption { align-items:flex-start;flex-direction:column }
  .heritage-grid { gap:6px }
  .completed-grid h3 { font-size:1.6rem }
  .service-card { padding:25px }
  .step-number { margin-bottom:16px }
  .hero-content { padding-bottom:160px }
  .hero-copy { font-size:1rem }
}
@media(max-width:390px) {
  .process-steps { grid-template-columns:1fr }
  .hero { height:850px }
}

/* ---- from v1 design-enhancement.css ---- */
:root { --gold:#c8ac67;--ink:#102e2b }
.section { padding-top:110px;padding-bottom:110px }
h2 { letter-spacing:-.045em }
header { box-shadow:0 3px 20px #102e2b08 }
.eyebrow { letter-spacing:.16em;font-size:.73rem }
.hero h1 { letter-spacing:-.055em;line-height:1.04 }
.hero .button { border-radius:2px }
.focus-strip { background:#102e2b }
.focus-strip span { font-size:.85rem }
.about { position:relative;background:#f6f6ef }
.about:before { content:'';position:absolute;left:6%;top:65px;width:44px;height:3px;background:var(--gold) }
.about .lead { font-size:clamp(1.35rem,2.3vw,2rem) }
.visual-studies { background:#102e2b;color:#fff;padding-bottom:50px }
.visual-heading { display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:45px }
.visual-heading h2 { margin-bottom:0 }
.visual-heading .eyebrow { color:#c8ac67 }
.visual-index { font-size:.65rem;letter-spacing:.15em;color:#a3b8ae;white-space:nowrap }
.visual-grid { display:grid;grid-template-columns:1fr 1fr;gap:22px }
.visual-card { margin:0;position:relative;overflow:hidden;background:#173d36;min-width:0 }
.visual-card:first-child { grid-row:span 2 }
.visual-card img { width:100%;height:285px;object-fit:cover;display:block;transition:transform .8s ease,filter .8s ease }
.visual-card:first-child img { height:100%;min-height:620px;object-position:60% center }
.visual-card:after { content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#051d19e8);pointer-events:none }
.visual-card figcaption { position:absolute;bottom:28px;left:28px;right:28px;z-index:1;display:flex;align-items:end;gap:17px }
.visual-card figcaption>span:last-child { margin-left:auto;font-size:1.7rem;color:#d9e8a6 }
.visual-no { font-size:.7rem;color:#c8ac67;align-self:start;padding-top:9px }
.visual-card h3 { font-size:clamp(1.4rem,2.3vw,2rem);margin:0 0 8px;line-height:1.15;letter-spacing:-.035em }
.visual-card p { margin:0;font-size:.8rem;color:#d0ded6 }
.visual-card:hover img { transform:scale(1.035) }
.concept-caption { font-size:.68rem;color:#a3b8ae;margin-top:18px }
.services { background:#fafbf8 }
.service-grid { gap:0;border-top:1px solid #ccd7cc;border-left:1px solid #ccd7cc }
.service-card { border:0;border-right:1px solid #ccd7cc;border-bottom:1px solid #ccd7cc;padding:35px;position:relative;transition:background .3s,transform .3s }
.service-card:hover { background:#edf2e7 }
.service-symbol { width:52px;height:52px;color:#6f8154;margin-bottom:20px }
.service-number { position:absolute;right:30px;top:36px;font-size:.75rem;color:#81917e }
.service-card h3 { font-size:1.5rem;letter-spacing:-.025em }
.equipment-section { background:#e9eee6;background-image:linear-gradient(90deg,#81917e09 1px,transparent 1px),linear-gradient(#81917e09 1px,transparent 1px);background-size:60px 60px }
.process-steps { gap:0;counter-reset:step }
.process-steps li { padding:28px;border-top:1px solid #afbea6;position:relative }
.process-steps li:before { content:'';width:9px;height:9px;border:4px solid #f2f5ed;background:#658141;position:absolute;top:-9px;left:28px;border-radius:50% }
.step-number { font-size:3.7rem;letter-spacing:-.08em;color:#b6c4a8;font-weight:300 }
.completed-grid article { background:linear-gradient(145deg,#eff4e8,#e1e9dd);border-top:2px solid #8ba257;position:relative }
.completed-grid h3 { font-size:2rem }
.site-caption strong { font-size:clamp(2rem,5vw,4.5rem);letter-spacing:-.065em }
.heritage-section { background:radial-gradient(ellipse at top right,#325344,#102e2b 65%) }
.heritage-grid article { padding-right:25px }
.company { background:#dce6d7 }
.reading-progress { position:fixed;bottom:0;left:0;right:0;height:3px;background:#b3ca72;transform-origin:left;z-index:100;pointer-events:none }
.reveal { opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease }
.reveal.in-view { opacity:1;transform:none }
.service-card.reveal { transition-delay:calc(var(--card-order,0) * 35ms) }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #a4b758;outline-offset:5px }
@media(max-width:760px) {
  .section { padding-top:70px;padding-bottom:70px }
  .visual-heading { display:block }
  .visual-index { display:none }
  .visual-grid { grid-template-columns:1fr;gap:16px }
  .visual-card:first-child { grid-row:auto }
  .visual-card:first-child img { height:390px;min-height:0 }
  .visual-card img { height:300px }
  .visual-card figcaption { left:22px;right:22px;bottom:24px }
  .visual-card h3 { font-size:1.65rem }
  .service-card { padding:28px }
  .process-steps li { padding:24px 14px }
  .process-steps li:before { left:14px }
  .about:before { top:38px }
  .hero h1 { font-size:clamp(2.6rem,8vw,4.2rem) }
  .completed-grid h3 { font-size:1.8rem }
  .concept-caption { line-height:1.6 }
  .visual-studies { padding-bottom:30px }
  .visual-heading h2 { font-size:2.3rem }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  .reveal { opacity:1;transform:none;transition:none }
  .visual-card img,.service-card { transition:none }
  .visual-card:hover img { transform:none }
}

/* ---- from v1 refinement.css ---- */
.hero-shade { background:linear-gradient(90deg,rgba(3,22,24,.76),rgba(3,22,24,.25) 45%,transparent 72%),linear-gradient(0deg,rgba(3,22,24,.25),transparent 18%) }
.hero video { filter:brightness(1.15) }
.hero-bottom>span { text-shadow:0 2px 7px #000 }
.hero-content { text-shadow:0 2px 14px #0005 }
.hero-content .button { text-shadow:none }
.process-section { background:#f9faf5 }
.process-steps { gap:15px }
.process-steps li { border:1px solid #d9e1d2;background:#fff;padding:28px 24px;animation:step-glow 12s linear infinite;animation-delay:calc(var(--step) * 3s);animation-play-state:paused }
.process-steps li:before { display:none }
.process-steps .step-number { display:grid;place-items:center;width:60px;height:60px;border-radius:50%;font-size:1.7rem;letter-spacing:-.04em;background:#e9efdf;color:#557044;margin:0 0 28px;animation:number-glow 12s linear infinite;animation-delay:calc(var(--step) * 3s);animation-play-state:paused }
.process-steps.sequence-visible:not(.sequence-paused) li,.process-steps.sequence-visible:not(.sequence-paused) .step-number { animation-play-state:running }
.sequence-toggle { margin-top:24px;background:transparent;border:1px solid #a9ba9d;border-radius:30px;padding:9px 17px;color:#37523c;cursor:pointer }
.sequence-toggle:hover { background:#e9efdf }
@keyframes step-glow { 0%,24%,100%{border-color:#d9e1d2;background:#fff;box-shadow:none}4%,20%{border-color:#8aa653;background:#f0f5e5;box-shadow:inset 0 3px #8aa653} }
@keyframes number-glow { 0%,24%,100%{background:#e9efdf;color:#557044;box-shadow:none}4%,20%{background:#45683c;color:#fff;box-shadow:0 0 0 7px #dae5c8} }
.capability-heading { margin-top:65px;padding-top:35px;border-top:1px solid #cbd7cc }
.capability-heading h3 { font-size:2.2rem;letter-spacing:-.04em;margin:0 0 30px }
.capability-panel { display:grid;grid-template-columns:65px 1fr;gap:24px;padding:35px;margin:0;background:#eef3e9;border:0 }
.capability-mark { font-size:2.5rem;color:#91aa55;line-height:1 }
.capability-panel h3 { font-size:1.65rem;margin:0 0 16px }
.scope-status { display:block;font-size:.73rem;letter-spacing:.02em;margin-top:22px;color:#617657 }
.heritage-emblem { display:block;color:#cfdd9f;font-size:2.5rem;margin-bottom:25px }
.heritage-grid article { background:#ffffff06;padding:30px;border:1px solid #ffffff20 }
.heritage-grid h3 { line-height:1.25 }
.experience { background:#f6f5ed }
.reference-row { padding:27px 20px;border-bottom:1px solid #d0d8c8 }
.reference-row:nth-child(even) { background:#e9eee120 }
.reference-row .year { color:#69804c;font-size:1.3rem }
.contact-invite { grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid #9caf93;padding-bottom:35px;margin-bottom:25px }
.contact-invite p { font-size:clamp(1.6rem,3vw,2.8rem);line-height:1.2;max-width:700px;margin:0;letter-spacing:-.035em }
.contact-invite a { white-space:nowrap;background:#123b31;color:#f1f5e3;padding:17px 25px }
.company { background:linear-gradient(125deg,#e5ecda,#cbdcc9) }
@media(max-width:1000px) {
  .process-steps { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:760px) {
  .hero-shade { background:linear-gradient(180deg,rgba(3,22,24,.7),rgba(3,22,24,.35) 42%,transparent 68%,rgba(3,22,24,.18)) }
  .hero-content { padding-bottom:100px }
  .process-steps li { padding:22px 18px }
  .process-steps h3 { font-size:1.2rem }
  .capability-panel { grid-template-columns:30px 1fr;padding:25px;gap:15px }
  .capability-mark { font-size:1.8rem }
  .contact-invite { align-items:flex-start;flex-direction:column }
  .heritage-grid article { padding:25px }
  .capability-heading h3 { font-size:1.9rem }
}
@media(prefers-reduced-motion:reduce) {
  .process-steps li,.process-steps .step-number { animation:none }
  .sequence-toggle { display:none }
}

/* ---- from v1 equipment-explorer.css ---- */
.equipment-list.equipment-explorer { display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,2fr);gap:36px;align-items:start }
.equipment-selector { position:sticky;top:140px;display:flex;flex-direction:column;border-top:1px solid #aebdac }
.equipment-selector button { display:grid;grid-template-columns:24px 1fr 18px;gap:15px;text-align:left;padding:24px 16px;border:0;border-bottom:1px solid #b9c8b6;background:transparent;color:#244638;cursor:pointer;transition:background .2s,color .2s }
.equipment-selector strong { font-size:1.06rem;font-weight:550;line-height:1.4;display:block }
.equipment-selector small { font-size:.65rem;letter-spacing:.12em;display:block;margin-top:9px;opacity:.65 }
.selector-number { font-size:.7rem;padding-top:5px;opacity:.6 }
.equipment-selector button[aria-selected=true] { background:#173f35;color:#fff }
.equipment-selector button[aria-selected=true] .selector-arrow { color:#d8e99b }
.selector-arrow { font-size:1.2rem }
.equipment-photo { margin:0;background:#163a32 }
.equipment-photo>img { display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover }
.equipment-photo figcaption { padding:11px 18px;font-size:.65rem;line-height:1.6;color:#d4e0d4 }
.explorer-details { background:#fff;padding:35px }
.explorer-details>h3 { font-size:clamp(1.7rem,2.5vw,2.5rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 32px }
.explorer-columns { display:grid;grid-template-columns:1fr 1fr;gap:35px }
.explorer-columns .eyebrow { font-size:.65rem;color:#71874c;margin-bottom:17px }
.explorer-columns ul { margin:0;padding-left:18px }
.explorer-columns li { padding:0 0 10px;font-size:.95rem;line-height:1.5 }
.explorer-columns p:not(.eyebrow) { font-size:.95rem;line-height:1.75;margin:0;color:#53675a }
.equipment-detail { margin:24px 0 0;max-width:240px }
.equipment-detail img { width:100%;height:auto;display:block }
.equipment-detail figcaption { font-size:.65rem;color:#697d65;margin-top:6px }
#system-panel { min-width:0;animation:panel-enter .3s ease }
@keyframes panel-enter { from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:none} }
@media(max-width:850px) {
  .equipment-list.equipment-explorer { grid-template-columns:1fr;gap:24px }
  .equipment-selector { position:static;display:grid;grid-template-columns:1fr 1fr }
  .equipment-selector button { padding:17px 12px;gap:8px;grid-template-columns:18px 1fr }
  .selector-arrow { display:none }
  .equipment-selector strong { font-size:.9rem }
  .equipment-selector button:last-child { grid-column:1/-1 }
  .explorer-details { padding:25px }
  .explorer-columns { gap:24px }
}
@media(max-width:500px) {
  .explorer-columns { grid-template-columns:1fr }
  .equipment-photo>img { aspect-ratio:1.45 }
  .explorer-details>h3 { font-size:1.8rem }
  .equipment-selector strong { font-size:.85rem }
}
@media(prefers-reduced-motion:reduce) {
  #system-panel { animation:none }
  .equipment-selector button { transition:none }
}

/* ---- v2 additions ---- */
.languages a { display: inline-flex; align-items: center; color: #526560; font-size: .875rem; min-height: 30px; padding: 3px 9px; white-space: nowrap }
.languages a:hover { color: #608028 }
.languages a[aria-current=page] { color: var(--ink); background: #eaf0ed; border-radius: 3px; font-weight: 700 }
.key-figures { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; background: #102e2b; color: #dce7e2; padding: 28px 6.5% }
.key-figures div { border-right: 1px solid #3d5851; padding-right: 20px }
.key-figures div:last-child { border: 0 }
.key-figures strong { display: block; font-size: clamp(1.6rem, 2.6vw, 2.4rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.1; color: #d6ef75; margin-bottom: 8px }
.key-figures span { display: block; font-size: .85rem; line-height: 1.5 }
.projects .capability-panel { margin-top: 24px }
.experience .history-note { margin-bottom: 35px }
.safety-section { background: #fff }
.safety-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px }
.safety-grid article { border-top: 2px solid #8ba257; padding: 28px 4px 0 }
.safety-no { display: block; font-size: .75rem; letter-spacing: .12em; font-weight: 700; color: #71874c; margin-bottom: 22px }
.safety-grid h3 { font-size: 1.5rem; margin-bottom: 14px }
.safety-grid p { color: var(--muted); font-size: .96rem; margin: 0 }
.system-panels, .system-panel { min-width: 0 }
.system-panel { animation: panel-enter .3s ease }
.equipment-photo > img { background: #1d4a40 }
.equipment-explorer:not(.is-ready) { grid-template-columns: 1fr }
.equipment-explorer:not(.is-ready) .equipment-selector { display: none }
.equipment-explorer:not(.is-ready) .system-panel + .system-panel { margin-top: 36px }
.ai-note { margin: 0; font-size: .75rem; color: #a3b8ae; max-width: 620px }
.not-found { min-height: 60vh; display: flex; flex-direction: column; justify-content: center }
.not-found a { text-decoration: underline }
@media (max-width: 760px) {
  .languages a { font-size: .8125rem; padding: 3px 8px; min-height: 32px }
  .key-figures { grid-template-columns: 1fr 1fr; gap: 22px 18px; padding: 24px 6% }
  .key-figures div:nth-child(2) { border: 0 }
  .safety-grid { grid-template-columns: 1fr; gap: 28px }
}
@media (prefers-reduced-motion: reduce) {
  .system-panel { animation: none }
}

/* ---- 2026-10-19 review update ---- */
.hero-actions { display:flex;flex-wrap:wrap;gap:14px }
.hero .button-secondary { background:transparent;color:#fff;border:1px solid #ffffffa6 }
.hero .button-secondary:hover { background:#ffffff1f }
.visual-card .image-note { position:absolute;top:16px;left:16px;z-index:1;font-size:.68rem;letter-spacing:.03em;color:#e3ece6;background:#05201cb3;padding:5px 9px }
.completed-grid h3 { font-size:1.55rem }
.capability-mark { font-weight:500;letter-spacing:-.04em }
.process-steps { grid-template-columns:repeat(5,minmax(0,1fr)) }
.process-steps li { animation-duration:15s }
.process-steps .step-number { animation-duration:15s }
.process-steps h3 { font-size:1.15rem }
.network-note { display:grid;grid-template-columns:minmax(180px,.35fr) 1fr;gap:30px;margin-top:40px;padding-top:28px;border-top:1px solid #cbd7cc }
.network-note strong { font-size:1.2rem;color:#244638 }
.network-note p { margin:0;color:var(--muted);max-width:760px }
.equipment-photo figcaption { background:#163a32 }
.equipment-code { aspect-ratio:1.65;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,4vw,48px);background:linear-gradient(135deg,#123b31,#0b2724);color:#e4eee8 }
.equipment-code strong { font-size:clamp(3rem,7vw,6rem);font-weight:400;letter-spacing:-.05em;line-height:1;color:var(--lime) }
.equipment-code div { display:flex;flex-wrap:wrap;gap:8px }
.equipment-code span { border:1px solid #ffffff33;padding:6px 12px;font-size:.85rem }
.award-line { display:flex;gap:14px;align-items:center;margin:35px 0 0;padding:22px 0;border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;color:#e4eee8;font-size:1.05rem }
.award-line span { color:#d6ef75;font-size:1.4rem }
.reference-summary { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:10px }
.reference-summary article { background:#fff;border-top:2px solid #8ba257;padding:24px }
.reference-summary h3 { font-size:1.35rem;margin:0 0 10px }
.reference-summary p { margin:0;color:var(--muted);font-size:.94rem }
.more-references { border-bottom:1px solid #d0d8c8 }
.history-note { border-bottom:0 }
.contact-invite { align-items:flex-end }
.company .contact-title { font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.2;letter-spacing:-.035em;margin:0 0 14px;max-width:760px }
.contact-invite .contact-text { margin:0;color:#435e50;max-width:640px;font-size:1.05rem;line-height:1.7;letter-spacing:0 }
.contact-actions { display:flex;flex-wrap:wrap;gap:10px }
.contact-actions a { white-space:nowrap;background:#123b31;color:#f1f5e3;padding:17px 25px }
.contact-actions a.secondary { background:transparent;color:#123b31;border:1px solid #123b31 }
.company-name { font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;letter-spacing:-.04em;margin:0 0 12px;color:var(--ink) }
@media(max-width:1200px) {
  .process-steps { grid-template-columns:repeat(3,minmax(0,1fr)) }
  .reference-summary { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:850px) {
  .equipment-selector button:last-child { grid-column:auto }
}
@media(max-width:760px) {
  .process-steps { grid-template-columns:1fr 1fr }
  .network-note { grid-template-columns:1fr;gap:10px }
  .hero-actions .button { min-width:0;width:100%;justify-content:space-between }
  .contact-actions { width:100% }
  .contact-actions a { flex:1 1 220px;text-align:center }
  .key-figures strong { font-size:1.45rem }
}
@media(max-width:390px) {
  .process-steps,.reference-summary { grid-template-columns:1fr }
}
@keyframes step-glow { 0%,19%,100%{border-color:#d9e1d2;background:#fff;box-shadow:none}3%,16%{border-color:#8aa653;background:#f0f5e5;box-shadow:inset 0 3px #8aa653} }
@keyframes number-glow { 0%,19%,100%{background:#e9efdf;color:#557044;box-shadow:none}3%,16%{background:#45683c;color:#fff;box-shadow:0 0 0 7px #dae5c8} }

/* ---- 2026-10-20 CEO copy update ---- */
.hero-services { color:var(--lime);font-size:clamp(.95rem,1.4vw,1.15rem);font-weight:600;margin:-6px 0 22px;letter-spacing:-.01em }
.overhaul-section { display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;background:#102e2b;color:#e4eee8 }
.overhaul-section .eyebrow { color:var(--lime) }
.overhaul-section h2 { color:#fff;font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.15;letter-spacing:-.035em }
.overhaul-copy p:not(.eyebrow) { color:#c4d7ce;max-width:560px;line-height:1.8 }
.overhaul-photo { margin:0;position:relative }
.overhaul-photo img { display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover }
.overhaul-photo figcaption { font-size:.68rem;color:#a3b8ae;padding-top:8px }
@media(max-width:760px) {
  .overhaul-section { grid-template-columns:1fr;gap:24px }
}

/* ---- 2026-10-21 editing guide PDF ---- */
.key-figures { grid-template-columns:repeat(3,1fr) }
.key-figures div:nth-child(2) { border-right:1px solid #3d5851 }
.overhaul-stages { grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:10px 0 0;counter-reset:stage }
.overhaul-stages>li { border-top:2px solid var(--lime);padding:22px 4px 0;counter-increment:stage }
.overhaul-stages h3 { color:#fff;font-size:1.25rem;margin:0 0 12px }
.overhaul-stages h3:before { content:'0' counter(stage) ' ';color:var(--lime);font-size:.8rem;letter-spacing:.1em;margin-right:6px }
.overhaul-stages ul { margin:0;padding-left:18px;color:#c4d7ce }
.overhaul-stages ul li { padding:3px 0;font-size:.95rem }
@media(max-width:760px) {
  .key-figures { grid-template-columns:1fr }
  .key-figures div,.key-figures div:nth-child(2) { border-right:0;border-bottom:1px solid #3d5851;padding:0 0 14px }
  .key-figures div:last-child { border:0 }
  .overhaul-stages { grid-template-columns:1fr }
}
.projects .section-heading { margin-bottom:24px }
.projects .site-caption { margin:0 0 22px;padding:0 0 16px }
.projects .site-caption strong { font-size:clamp(1.8rem,3.5vw,3rem) }

/* ---- 2026-10-21 name & photo guide ---- */
.equipment-extra { display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#163a32;padding:0 10px 10px }
.equipment-extra figure { margin:0 }
.equipment-extra img { display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover }
.equipment-extra figcaption { font-size:.72rem;color:#d4e0d4;padding:7px 2px 0 }
.equipment-photo figcaption { font-size:.75rem }
.visual-card:first-child img { object-position:center }
@media(max-width:600px) {
  .equipment-extra { grid-template-columns:1fr }
}
.visual-grid { grid-template-columns:repeat(3,minmax(0,1fr)) }
.visual-card:first-child { grid-row:auto }
.visual-card img,.visual-card:first-child img { height:auto;min-height:0;aspect-ratio:16/10;object-position:center }
@media(max-width:900px) { .visual-grid { grid-template-columns:1fr } }
.visual-grid .visual-card h3 { font-size:clamp(1.15rem,1.6vw,1.55rem) }

/* ---- 2026-10-21 hero: grow with the copy so the bottom label never overlaps the buttons ---- */
.hero { height:auto;min-height:max(650px,min(850px,calc(100svh - 115px))) }
.hero-content { padding-bottom:130px }
@media(max-width:760px) {
  .hero { height:auto;min-height:700px }
  .hero-content { padding-bottom:210px }
}
