
.page-hero { position: relative; min-height: 525px; display: grid; align-items: end; overflow: hidden; color: #fff; background: var(--forest); }
.page-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,24,19,.97), rgba(7,30,24,.84) 55%, rgba(8,30,24,.35)), linear-gradient(0deg, rgba(5,20,16,.64), transparent 48%); }
.page-hero-inner { position: relative; z-index: 2; max-width: 900px; padding: 105px 0 80px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; color: rgba(255,255,255,.68); font-size: .82rem; font-weight: 700; }
.breadcrumbs a { color: #fff; text-decoration: none; }
.breadcrumbs span::before { content: "/"; margin-right: 8px; color: #f4a15a; }
.page-hero h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 6vw, 5.6rem); font-weight: 500; line-height: 1; letter-spacing: -.045em; }
.page-hero p { max-width: 760px; margin: 26px 0 0; color: rgba(255,255,255,.82); font-size: clamp(1.05rem, 1.8vw, 1.25rem); }
.hero-tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.hero-tags span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.23); border-radius: 999px; background: rgba(255,255,255,.08); font-size: .76rem; font-weight: 800; backdrop-filter: blur(6px); }
.page-section { padding: 95px 0; }
.page-section.white { background: #fff; }
.page-section.dark { color: #fff; background: var(--forest); }
.page-section.soft { background: #f0ede4; }
.intro-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 90px; align-items: start; }
.intro-grid .lead { margin-top: 0; color: var(--ink); }
.intro-grid p { color: var(--muted); }
.kpi-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 58px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; }
.kpi-grid article { padding: 30px; border-right: 1px solid var(--line); }
.kpi-grid article:last-child { border-right: 0; }
.kpi-grid strong { display: block; color: var(--copper-dark); font-family: Georgia, serif; font-size: 2.25rem; font-weight: 500; }
.kpi-grid span { display: block; margin-top: 8px; color: var(--muted); font-size: .84rem; font-weight: 800; }
.architecture { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; margin-top: 55px; }
.architecture article { position: relative; min-height: 220px; padding: 27px 23px; border: 1px solid rgba(255,255,255,.17); border-radius: 16px; background: rgba(255,255,255,.06); }
.architecture article:not(:last-child)::after { content: "→"; position: absolute; top: 50%; right: -14px; z-index: 2; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--forest); background: #f4a15a; font-weight: 900; transform: translateY(-50%); }
.architecture span { color: #f4a15a; font-family: Georgia, serif; font-size: 1.7rem; }
.architecture h3 { margin: 24px 0 9px; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 500; }
.architecture p { margin: 0; color: rgba(255,255,255,.63); font-size: .88rem; }
.capability-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; margin-top: 55px; }
.capability-card { padding: 31px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 7px 0 rgba(15,45,36,.035); }
.capability-card span { display: inline-grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: #fff; background: var(--forest-2); font-family: Georgia, serif; font-size: 1.15rem; }
.capability-card h3 { margin: 21px 0 10px; font-family: Georgia, serif; font-size: 1.5rem; font-weight: 500; }
.capability-card p { margin: 0; color: var(--muted); }
.model-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; margin-top: 58px; }
.model-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 7px 0 rgba(15,45,36,.035); }
.model-card figure { position: relative; height: 265px; margin: 0; overflow: hidden; background: #0b241e; }
.model-card figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.model-card:hover figure img { transform: scale(1.035); }
.model-card figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,24,19,.62), transparent 52%); }
.model-code { position: absolute; z-index: 2; left: 20px; bottom: 17px; padding: 6px 10px; border-radius: 999px; color: #fff; background: rgba(10,32,26,.78); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.model-body { padding: 31px 33px 34px; }
.model-body h3 { margin: 0; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; line-height: 1.12; }
.model-body > p { color: var(--muted); }
.model-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 23px; margin-top: 23px; padding-top: 22px; border-top: 1px solid var(--line); }
.model-columns h4 { margin: 0 0 9px; color: var(--copper-dark); font-size: .73rem; letter-spacing: .1em; text-transform: uppercase; }
.model-columns ul { margin: 0; padding-left: 18px; }
.model-columns li { margin: 6px 0; color: #45534f; font-size: .86rem; }
.usecase-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; margin-top: 50px; }
.usecase-grid article { padding: 30px; border-left: 3px solid #f4a15a; background: rgba(255,255,255,.07); }
.usecase-grid h3 { margin: 0 0 9px; font-family: Georgia,serif; font-size: 1.4rem; font-weight: 500; }
.usecase-grid p { margin: 0; color: rgba(255,255,255,.66); font-size: .9rem; }
.delivery-steps { display: grid; grid-template-columns: repeat(6,1fr); margin-top: 55px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.delivery-steps article { min-height: 230px; padding: 28px 20px; border-right: 1px solid var(--line); }
.delivery-steps article:first-child { border-left: 1px solid var(--line); }
.delivery-steps span { color: var(--copper); font-family: Georgia,serif; font-size: 1.8rem; }
.delivery-steps h3 { margin: 27px 0 8px; font-family: Georgia,serif; font-size: 1.2rem; font-weight: 500; }
.delivery-steps p { margin: 0; color: var(--muted); font-size: .82rem; }
.assurance { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 55px; }
.assurance article { padding: 34px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.assurance h3 { margin: 0 0 12px; font-family: Georgia,serif; font-size: 1.55rem; font-weight: 500; }
.assurance p, .assurance li { color: var(--muted); }
.assurance ul { padding-left: 20px; }
.notice { margin-top: 35px; padding: 22px 25px; border: 1px solid #dac28e; border-radius: 14px; background: #fff9e8; color: #665326; font-size: .9rem; }
.local-cta { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; padding: 50px; border-radius: var(--radius); color: #fff; background: linear-gradient(135deg, var(--forest-2), var(--forest)); }
.local-cta h2 { margin: 0; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3.7rem); font-weight: 500; line-height: 1.08; }
.local-cta p { max-width: 750px; margin: 16px 0 0; color: rgba(255,255,255,.68); }
.reference-links { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 20px; font-size: .82rem; }
.reference-links a { color: var(--forest-2); font-weight: 800; }
.smartmelt-showcase { display: grid; grid-template-columns: 1.12fr .88fr; gap: 65px; align-items: center; }
.smartmelt-showcase img { width: 100%; min-height: 440px; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow); }
.feature-list { display: grid; gap: 14px; margin-top: 30px; }
.feature-list article { padding: 18px 20px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.feature-list h3 { margin: 0 0 5px; font-size: 1rem; }
.feature-list p { margin: 0; color: var(--muted); font-size: .88rem; }
.variable-table { width: 100%; margin-top: 45px; border-collapse: collapse; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px var(--line); }
.variable-table th, .variable-table td { padding: 17px 18px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
.variable-table th { color: #fff; background: var(--forest); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.variable-table td { color: var(--muted); font-size: .88rem; }
.variable-table tr:last-child td { border-bottom: 0; }
@media (max-width: 1050px) {
  .architecture { grid-template-columns: repeat(3,1fr); }
  .architecture article::after { display: none; }
  .delivery-steps { grid-template-columns: repeat(3,1fr); }
  .delivery-steps article:nth-child(4) { border-left: 1px solid var(--line); }
  .kpi-grid { grid-template-columns: repeat(2,1fr); }
  .kpi-grid article:nth-child(2) { border-right: 0; }
  .kpi-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 820px) {
  .page-hero { min-height: 460px; }
  .page-hero-inner { padding: 85px 0 65px; }
  .intro-grid, .smartmelt-showcase { grid-template-columns: 1fr; gap: 42px; }
  .capability-grid, .usecase-grid { grid-template-columns: 1fr 1fr; }
  .model-grid { grid-template-columns: 1fr; }
  .architecture { grid-template-columns: 1fr 1fr; }
  .delivery-steps { grid-template-columns: repeat(2,1fr); }
  .delivery-steps article:nth-child(odd) { border-left: 1px solid var(--line); }
  .assurance { grid-template-columns: 1fr; }
  .local-cta { grid-template-columns: 1fr; padding: 38px; }
}
@media (max-width: 560px) {
  .page-section { padding: 72px 0; }
  .capability-grid, .usecase-grid, .architecture, .delivery-steps, .kpi-grid { grid-template-columns: 1fr; }
  .kpi-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .model-card figure { height: 220px; }
  .model-columns { grid-template-columns: 1fr; }
  .delivery-steps article { min-height: auto; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .variable-table { display: block; overflow-x: auto; }
}
.model-inline-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.model-inline-links a{display:inline-flex;padding:9px 13px;border-radius:999px;color:var(--forest-2);background:#f3efe5;text-decoration:none;font-size:.82rem;font-weight:850}.model-inline-links a:hover{color:#fff;background:var(--forest-2)}
