:root {
  --ink: #17231f;
  --muted: #66716b;
  --paper: #fffdf8;
  --cream: #f7f0e3;
  --cream-deep: #eadcc8;
  --green: #173f35;
  --green-2: #245d4e;
  --orange: #e56c2f;
  --orange-dark: #b84a1f;
  --gold: #c89b4b;
  --line: rgba(23, 63, 53, 0.14);
  --shadow: 0 20px 60px rgba(31, 47, 40, 0.12);
  --radius: 26px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans TC", "Microsoft JhengHei", sans-serif;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
body.nav-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(229, 108, 47, 0.45); outline-offset: 3px; }

.skip-link {
  position: fixed; left: 16px; top: -80px; z-index: 999;
  padding: 10px 16px; background: var(--green); color: #fff; border-radius: 10px;
}
.skip-link:focus { top: 16px; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.narrow { width: min(calc(100% - 40px), 820px); margin-inline: auto; }

.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255, 253, 248, 0.88);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 4px 24px rgba(23, 63, 53, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.header-top { display: flex; align-items: center; justify-content: space-between; min-height: 78px; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand img { width: 64px; height: 52px; object-fit: contain; object-position: center; filter: drop-shadow(0 5px 10px rgba(23,63,53,.12)); }
.brand-copy { display: grid; line-height: 1.2; }
.brand-copy strong { color: var(--green); font-size: 1rem; letter-spacing: .04em; }
.brand-copy small { color: var(--muted); font-size: .72rem; margin-top: 4px; }
.header-cta { display: inline-flex; align-items: center; gap: 10px; }
.header-cta .btn { min-height: 50px; padding-inline: 25px; background: linear-gradient(135deg, #f07a37, var(--orange)); box-shadow: 0 12px 30px rgba(229,108,47,.34); }
.header-cta .btn:hover { background: linear-gradient(135deg, var(--orange), var(--orange-dark)); box-shadow: 0 14px 34px rgba(184,74,31,.36); }
.nav-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: #fff; }
.nav-toggle span { display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--green); }
.main-nav { border-top: 1px solid var(--line); }
.nav-list {
  display: flex !important; align-items: center; justify-content: center !important;
  gap: 12px !important; margin: 0 auto; padding: 0; list-style: none;
}
.nav-item { position: relative; }
.nav-link {
  display: flex; align-items: center; min-height: 50px; padding: 6px 8px !important;
  color: #173f35; font-size: .88rem !important; font-weight: 700; white-space: nowrap !important;
  border-bottom: 3px solid transparent; transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.nav-link:hover, .nav-item.active > .nav-link { color: var(--orange-dark); border-bottom-color: var(--orange); }
.nav-item.has-children > .nav-link::after { content: "＋"; margin-left: 5px; font-size: .8rem; }
.subnav {
  position: absolute; left: 0; top: calc(100% + 1px); min-width: 230px;
  margin: 0; padding: 10px; list-style: none; border: 1px solid var(--line);
  background: #fff; border-radius: 0 0 16px 16px; box-shadow: var(--shadow);
  opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .2s ease;
}
.nav-item:hover .subnav, .nav-item:focus-within .subnav { opacity: 1; visibility: visible; transform: translateY(0); }
.subnav a { display: block; padding: 9px 12px; border-radius: 9px; font-size: .9rem; }
.subnav a:hover { background: var(--cream); color: var(--orange-dark); }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 10px 20px; border: 1px solid transparent; border-radius: 999px;
  background: var(--orange); color: #fff; font-weight: 800; line-height: 1.3;
  box-shadow: 0 12px 30px rgba(229,108,47,.2); transition: transform .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); background: var(--orange-dark); }
.btn.secondary { background: transparent; color: var(--green); border-color: rgba(23,63,53,.28); box-shadow: none; }
.btn.secondary:hover { background: var(--green); color: #fff; }
.btn.light { background: #fff; color: var(--green); box-shadow: none; }
.btn.text { min-height: auto; padding: 3px 0; border-radius: 0; background: transparent; color: var(--orange-dark); box-shadow: none; }
.btn.text:hover { transform: none; background: transparent; text-decoration: underline; }

.hero { position: relative; overflow: hidden; background: var(--green); color: #fff; }
.hero::before {
  content: ""; position: absolute; inset: 0; opacity: .2;
  background: radial-gradient(circle at 22% 18%, #6d9b7f 0, transparent 36%), linear-gradient(120deg, transparent 54%, #0d2822 54%);
}
.hero-grid { position: relative; min-height: 620px; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 42px; padding-block: 72px; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--orange-dark); font-size: .82rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.hero .eyebrow, .dark-section .eyebrow { color: #ffbd91; }
.eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.hero h1, .page-hero h1 { margin: 18px 0 18px; font-size: clamp(2.55rem, 5vw, 4.8rem); line-height: 1.08; letter-spacing: -.045em; }
.hero h1 em { color: #ffc49d; font-style: normal; }
.home-hero-title { font-size: clamp(2.55rem, 4.5vw, 4.3rem) !important; }
.hero-title-line { display: inline-block; white-space: nowrap; }
.hero-lead { max-width: 680px; margin: 0 0 28px; color: rgba(255,255,255,.82); font-size: 1.1rem; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-note { margin-top: 20px; color: rgba(255,255,255,.58); font-size: .82rem; }
.hero-visual { position: relative; min-height: 490px; }
.hero-visual img { width: 100%; height: 490px; object-fit: cover; object-position: 78% center; border-radius: 220px 220px 28px 28px; box-shadow: 0 40px 80px rgba(0,0,0,.32); }
.us-service-rebuild .hero-visual img { object-position: 43% center; }
.us-plans-rebuild .hero-visual img { object-position: 50% center; }
.hero-stamp {
  position: absolute; left: -34px; bottom: 22px; width: 144px; aspect-ratio: 1; display: grid; place-items: center;
  padding: 22px; border-radius: 50%; background: var(--orange); color: #fff; text-align: center; font-weight: 900; line-height: 1.35;
  border: 6px solid rgba(255,255,255,.22); transform: rotate(-6deg);
}
.hero-badge span { display: inline-block; white-space: nowrap; }

.trust-strip { background: #fff; border-bottom: 1px solid var(--line); }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-item { padding: 24px 22px; border-right: 1px solid var(--line); }
.trust-item:last-child { border-right: 0; }
.trust-item strong { display: block; color: var(--green); font-size: 1.08rem; }
.trust-item span { color: var(--muted); font-size: .85rem; }

.venue-selector { padding-block: 36px 42px; background: #fff; border-bottom: 1px solid var(--line); }
.venue-selector--detail { padding-block: 26px 38px; scroll-margin-top: 120px; background: var(--paper); }
.venue-selector-head { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 22px; }
.venue-selector-head h2 { margin: 7px 0 0; color: var(--green); font-size: clamp(1.35rem, 2.2vw, 1.9rem); line-height: 1.25; }
.venue-selector-head p { max-width: 470px; margin: 0; color: var(--muted); font-size: .9rem; }
.venue-rail { display: grid; grid-template-columns: repeat(6, minmax(160px, 1fr)); gap: 12px; overflow-x: auto; scroll-snap-type: x proximity; padding: 2px 2px 10px; }
.venue-tile { position: relative; min-height: 142px; overflow: hidden; border: 2px solid transparent; border-radius: 18px; background: var(--green); box-shadow: 0 10px 28px rgba(31,47,40,.1); scroll-snap-align: start; }
.venue-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) saturate(.35); opacity: .72; transform: scale(1.015); transition: filter .35s ease, opacity .35s ease, transform .35s ease; }
.venue-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(9,32,26,.9)); }
.venue-tile span { position: absolute; inset: auto 14px 12px; z-index: 1; color: #fff; }
.venue-tile strong, .venue-tile small { display: block; }
.venue-tile strong { font-size: 1.02rem; }
.venue-tile small { color: rgba(255,255,255,.72); }
.venue-tile:hover img, .venue-tile:focus-visible img { filter: grayscale(0) saturate(1); opacity: 1; transform: scale(1.06); }
.venue-tile.is-active { border-color: var(--orange); box-shadow: 0 12px 34px rgba(229,108,47,.22); }
.venue-tile.is-active img { filter: grayscale(0) saturate(1); opacity: 1; }
.venue-tile.is-active small { color: #ffd1b5; font-weight: 800; }

.section { padding-block: 92px; }
.section-sm { padding-block: 64px; }
.section.tint { background: var(--cream); }
.section-header { display: grid; grid-template-columns: minmax(0, .86fr) minmax(280px, .54fr); gap: 60px; align-items: end; margin-bottom: 42px; }
.section-header.center { display: block; max-width: 760px; margin-inline: auto; text-align: center; }
.section-header.center .eyebrow { justify-content: center; }
.section-header.center .section-lead { margin-inline: auto; }
.section-title { margin: 12px 0 0; color: var(--green); font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.14; letter-spacing: -.035em; }
.section-lead { margin: 0; color: var(--muted); font-size: 1.02rem; }

.cards { display: grid; gap: 22px; }
.cards.three { grid-template-columns: repeat(3, 1fr); }
.cards.two { grid-template-columns: repeat(2, 1fr); }
.card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 10px 35px rgba(31,47,40,.06); }
.card-body { padding: 26px; }
.card h2, .card h3 { margin: 0 0 9px; color: var(--green); line-height: 1.25; }
.card p { margin: 0; color: var(--muted); }
.card-media { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--cream-deep); }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.card:hover .card-media img { transform: scale(1.035); }
.card-kicker { display: block; margin-bottom: 8px; color: var(--orange-dark); font-size: .78rem; font-weight: 900; letter-spacing: .08em; }
.card-link { display: inline-flex; margin-top: 18px; color: var(--orange-dark); font-weight: 800; }
.card-link::after { content: "→"; margin-left: 8px; }
.case-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.case-filter { padding: 10px 15px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--green); font: inherit; font-size: .86rem; font-weight: 850; cursor: pointer; }
.case-filter small { margin-left: 4px; color: var(--muted); font-size: .72rem; font-weight: 700; }
.case-filter:hover, .case-filter.is-active { border-color: var(--green); background: var(--green); color: #fff; }
.case-filter:hover small, .case-filter.is-active small { color: rgba(255,255,255,.72); }
.case-card[hidden] { display: none; }
.case-card .card-body { display: flex; min-height: 320px; flex-direction: column; }
.case-card .card-kicker { margin-top: 10px; }
.case-status { align-self: flex-start; padding: 5px 9px; border-radius: 999px; background: #fff0df; color: var(--orange-dark); font-size: .72rem; font-weight: 900; }
.case-card-meta { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 24px; }
.case-card-meta time { color: var(--muted); font-size: .82rem; font-weight: 800; }
.case-card-meta .card-link { margin-top: 0; }
.case-empty { padding: 32px; border-radius: 18px; background: var(--cream); color: var(--muted); text-align: center; }
.case-draft-note { display: grid; gap: 4px; margin-bottom: 28px; padding: 16px 18px; border-left: 4px solid var(--orange); border-radius: 0 14px 14px 0; background: var(--cream); }
.case-draft-note strong { color: var(--orange-dark); }
.case-draft-note span { color: var(--muted); font-size: .9rem; }
.case-card--pcb { border-top: 5px solid #2d9fad; }
.case-card--hospital { border-top: 5px solid #5b96af; }
.case-card--hotel { border-top: 5px solid #a98249; }
.case-card-no-photo { display: grid; align-content: center; justify-items: start; gap: 8px; padding: 28px; background: linear-gradient(135deg,#211d19,#51402c); color: #fff; }
.case-card-no-photo span { color: #d8bd8e; font-family: Georgia,serif; font-size: .72rem; font-weight: 800; letter-spacing: .2em; }
.case-card-no-photo strong { font-family: Georgia, "Times New Roman", "Noto Serif TC", serif; font-size: 1.75rem; font-weight: 600; }
.case-card-no-photo small { color: rgba(255,255,255,.66); }

/* Independent field-story layouts */
.field-story-hero { position: relative; overflow: hidden; }
.field-story-hero .breadcrumbs { margin-bottom: 38px; }
.story-badge { display: inline-flex; padding: 8px 13px; border-radius: 999px; font-size: .76rem; font-weight: 900; letter-spacing: .06em; }
.story-overline { margin: 20px 0 10px; font-size: .76rem; font-weight: 900; letter-spacing: .18em; }
.story-intro { font-size: 1.05rem; line-height: 1.9; }
.story-interview-mark { display: grid; gap: 3px; margin: 24px 0 6px; padding: 17px 20px; border-left: 4px solid #f3a36d; background: rgba(255,255,255,.08); }
.story-interview-mark strong { font-size: .92rem; letter-spacing: .05em; }
.story-interview-mark span { color: rgba(255,255,255,.68); font-size: .83rem; }
.story-disclosure { display: grid; grid-template-columns: max-content 1fr; gap: 18px; margin-top: 40px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.72); }
.story-disclosure strong { color: var(--orange-dark); }
.story-disclosure span { color: var(--muted); font-size: .88rem; }
.story-section-heading { display: grid; grid-template-columns: minmax(280px,.82fr) minmax(360px,1.18fr); gap: 38px; align-items: end; margin-bottom: 40px; }
.story-section-heading > span { color: var(--orange-dark); font-size: .75rem; font-weight: 900; letter-spacing: .16em; }
.story-section-heading h2 { margin: 0; color: var(--green); font-size: clamp(2.1rem,4vw,3.6rem); line-height: 1.12; }
.story-section-heading p { grid-column: 2; margin: -22px 0 0; color: var(--muted); }

/* 2026 finishes: silver-to-purple editorial product launch */
.finishes-story-hero { padding: 46px 0 82px; background: linear-gradient(120deg,#e9eef4 0%,#f6f7fa 42%,#e5d7ed 100%); }
.finishes-story-hero::before { content: ""; position: absolute; inset: 0; opacity: .34; background: radial-gradient(circle at 18% 20%,#fff 0,transparent 28%),radial-gradient(circle at 84% 22%,rgba(118,83,157,.3) 0,transparent 30%); }
.finishes-story-hero .container { position: relative; }
.finishes-hero-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 60px; align-items: center; }
.finishes-hero-copy .story-badge { background: #172f4a; color: #fff; }
.finishes-hero-copy .story-overline { color: #76539d; }
.finishes-hero-copy h1 { margin: 15px 0 20px; color: #172f4a; font-size: clamp(3rem,6vw,5.8rem); line-height: 1.02; letter-spacing: -.05em; }
.finishes-hero-copy .story-intro { color: #586371; }
.finishes-source-btn { background: #76539d; box-shadow: 0 12px 30px rgba(118,83,157,.2); }
.finishes-back-btn { border: 1px solid rgba(23,47,74,.24); background: transparent; color: #172f4a; box-shadow: none; }
.finishes-hero-visual { margin: 0; padding: 14px; border: 1px solid rgba(62,77,98,.2); border-radius: 38px 8px 38px 8px; background: rgba(255,255,255,.52); box-shadow: 0 28px 70px rgba(62,59,90,.16); }
.finishes-hero-visual img { width: 100%; min-height: 510px; object-fit: cover; border-radius: 28px 4px 28px 4px; }
.finishes-hero-visual figcaption { padding: 12px 5px 2px; color: #6a6e7c; font-size: .76rem; }
.finishes-tone-strip { background: #172f4a; color: #fff; }
.finishes-tone-strip .container { display: grid; grid-template-columns: repeat(2,1fr); }
.finishes-tone-strip .container > div { display: grid; grid-template-columns: auto 1fr; column-gap: 20px; padding: 28px 36px; border-right: 1px solid rgba(255,255,255,.16); }
.finishes-tone-strip .container > div:last-child { border-right: 0; background: #4f3768; }
.finishes-tone-strip small { grid-column: 1 / -1; color: rgba(255,255,255,.58); font-size: .72rem; font-weight: 900; letter-spacing: .13em; }
.finishes-tone-strip strong { font-size: 1.5rem; }
.finishes-tone-strip span { align-self: center; color: rgba(255,255,255,.66); font-size: .86rem; }
.finishes-story-body { background: #f7f8fa; }
.finishes-heading h2 { color: #172f4a; }
.finish-details { display: grid; grid-template-columns: repeat(12,1fr); gap: 18px; }
.finish-detail { grid-column: span 4; position: relative; min-height: 280px; padding: 30px; overflow: hidden; border: 1px solid #dce1e8; border-radius: 24px; background: #fff; }
.finish-detail > span { position: absolute; top: 18px; right: 22px; color: #e0e4eb; font-size: 2.4rem; font-weight: 900; }
.finish-detail small { color: #76539d; font-weight: 900; }
.finish-detail h2 { max-width: 88%; margin: 28px 0 14px; color: #172f4a; font-size: 1.4rem; }
.finish-detail p { margin: 0; color: #68717b; }
.finish-detail--1, .finish-detail--5 { grid-column: span 6; }
.finish-detail--2 { background: linear-gradient(145deg,#fff,#e7edf5); }
.finish-detail--3 { background: linear-gradient(145deg,#fff,#eadff0); }
.finish-detail--5 { background: #172f4a; }
.finish-detail--5 h2, .finish-detail--5 p { color: #fff; }
.finish-detail--5 p { color: rgba(255,255,255,.72); }
.finishes-disclosure { grid-template-columns: max-content 1fr max-content; }
.finishes-disclosure a { color: #76539d; font-weight: 900; }

/* PCB: precise industrial rhythm, multilingual and people-first */
.pcb-story-hero { padding: 46px 0 76px; background: #102f3a; color: #fff; }
.pcb-story-hero::before { content: ""; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size: 46px 46px; }
.pcb-story-hero .container { position: relative; }
.pcb-story-hero .breadcrumbs, .pcb-story-hero .breadcrumbs a { color: rgba(255,255,255,.66); }
.pcb-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; }
.pcb-hero-copy h1 { max-width: 820px; margin: 16px 0 20px; font-size: clamp(2.7rem,5.4vw,5.1rem); line-height: 1.03; letter-spacing: -.045em; }
.pcb-hero-copy .story-badge { background: #2d9fad; color: #fff; }
.pcb-hero-copy .story-overline { color: #7fd1d7; }
.pcb-hero-copy .story-intro { color: rgba(255,255,255,.76); }
.pcb-hero-copy .btn.secondary { border-color: rgba(255,255,255,.38); color: #fff; }
.pcb-hero-visual { position: relative; margin: 0; padding: 12px; border: 1px solid rgba(127,209,215,.42); border-radius: 8px; background: rgba(255,255,255,.07); }
.pcb-hero-visual::before, .pcb-hero-visual::after { content: ""; position: absolute; width: 38px; height: 38px; border-color: #f3a36d; }
.pcb-hero-visual::before { top: -7px; left: -7px; border-top: 3px solid; border-left: 3px solid; }
.pcb-hero-visual::after { right: -7px; bottom: -7px; border-right: 3px solid; border-bottom: 3px solid; }
.pcb-hero-visual img { width: 100%; min-height: 470px; object-fit: cover; border-radius: 3px; }
.pcb-hero-visual figcaption { padding: 12px 5px 2px; color: rgba(255,255,255,.62); font-size: .76rem; }
.pcb-story-body { background: #f8faf8; }
.pcb-voices { display: grid; grid-template-columns: 1fr; gap: 22px; max-width: 980px; margin-inline: auto; }
.pcb-voice { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 30px; align-items: start; padding: 38px 44px; border: 1px solid #d9e3df; border-radius: 14px; background: #fff; box-shadow: 0 18px 46px rgba(17,61,53,.06); }
.pcb-voice > span { display: grid; width: 70px; height: 70px; place-items: center; border: 1px solid #cfe4e1; border-radius: 50%; color: #2d8f97; font-size: 1.8rem; font-weight: 900; }
.pcb-voice-content { min-width: 0; }
.pcb-feedback-heading { display: block; max-width: 980px; margin-inline: auto; }
.pcb-feedback-heading > span { display: block; margin-bottom: 10px; }
.pcb-voice-tag { display: inline-block; color: #2d8f97; font-size: .9rem; font-weight: 900; letter-spacing: .04em; }
.pcb-voice-title { margin: 12px 0; color: var(--green); font-size: clamp(1.55rem,2.7vw,2.15rem); line-height: 1.32; }
.pcb-voice-desc { margin: 12px 0 0; color: #52615c; font-size: clamp(1rem,1.35vw,1.14rem); line-height: 1.9; }
.pcb-voice-highlight { display: block; margin-top: 14px; color: var(--orange-dark); font-size: clamp(1.08rem,1.5vw,1.24rem); font-weight: 850; line-height: 1.7; }
.pcb-voice--1, .pcb-voice--2, .pcb-voice--3, .pcb-voice--4, .pcb-voice--5 { grid-column: auto; }
.story-return { display: flex; justify-content: center; margin-top: 36px; }
.story-return .btn { min-width: 180px; }

/* Hospital: calm, clear and reassuring */
.hospital-story-hero { padding: 44px 0 80px; background: linear-gradient(135deg,#edf7f7 0%,#f8fbf9 54%,#e8f0f6 100%); }
.hospital-hero-shell { display: grid; grid-template-columns: 1.05fr .95fr; gap: 54px; align-items: center; padding: 48px; border: 1px solid rgba(70,126,139,.16); border-radius: 42px 8px 42px 8px; background: rgba(255,255,255,.72); box-shadow: 0 26px 70px rgba(44,91,99,.1); }
.hospital-hero-copy .story-badge { background: #d9eef0; color: #286676; }
.hospital-hero-copy .story-overline { color: #4c8291; }
.hospital-hero-copy h1 { margin: 15px 0 20px; color: #184a55; font-size: clamp(2.6rem,5vw,4.8rem); line-height: 1.07; letter-spacing: -.045em; }
.hospital-hero-copy .hospital-case-title { font-size: clamp(1.65rem,2.2vw,2rem); line-height: 1.28; }
.hospital-case-title em { color: var(--orange-dark); font-style: normal; }
.hospital-hero-copy .story-intro { color: #536b70; }
.hospital-hero-copy .story-interview-mark { border-left-color: #5b96af; background: #edf7f7; }
.hospital-hero-copy .story-interview-mark strong { color: #184a55; }
.hospital-hero-copy .story-interview-mark span { color: #60787d; }
.hospital-hero-copy .button-row { align-items: center; }
.hospital-hero-copy .text-link { color: #286676; font-weight: 850; }
.hospital-hero-photo { position: relative; margin: 0; }
.hospital-hero-photo img { width: 100%; min-height: 500px; object-fit: cover; border-radius: 160px 160px 20px 20px; }
.hospital-story-body { background: #fff; }
.hospital-feedback-heading { display: block; max-width: 980px; margin-inline: auto; }
.hospital-feedback-heading > span { display: block; margin-bottom: 10px; }
.hospital-interview-card { background: #fff; border-color: #d9e3df; }
.hospital-interview-card .pcb-voice-highlight { display: grid; gap: 6px; }
.hospital-interview-card .pcb-voice-highlight span { display: block; white-space: nowrap; }
.hospital-story-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 76px; align-items: start; }
.hospital-story-grid > aside { position: sticky; top: 120px; padding: 34px; border-radius: 28px; background: #184a55; color: #fff; }
.hospital-story-grid > aside .story-overline { color: #9fd6dc; }
.hospital-story-grid > aside h2 { margin: 14px 0 16px; font-size: clamp(2rem,3vw,3rem); line-height: 1.15; }
.hospital-story-grid > aside p { color: rgba(255,255,255,.7); }
.hospital-pulse { display: grid; gap: 4px; margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); }
.hospital-pulse strong { color: #c9eef0; }
.hospital-pulse span { color: rgba(255,255,255,.7); font-size: .9rem; }
.hospital-promises { counter-reset: hospital; display: grid; }
.hospital-promise { display: grid; grid-template-columns: 74px 1fr; gap: 26px; padding: 30px 0; border-bottom: 1px solid #d8e8e8; }
.hospital-promise:first-child { padding-top: 0; }
.hospital-promise > span { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #edf7f7; color: #367383; font-weight: 900; }
.hospital-promise small { color: #4c8291; font-weight: 900; letter-spacing: .08em; }
.hospital-promise h2 { margin: 0 0 10px; color: #184a55; font-size: 1.45rem; }
.hospital-promise blockquote { margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.85; }

/* Hotel: premium hospitality with an in-progress arrival timeline */
.hotel-story-hero { min-height: 760px; display: grid; align-items: end; background: #171b1d; color: #fff; }
.hotel-hero-image { position: absolute; inset: 0; }
.hotel-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(18,20,21,.96) 0%,rgba(18,20,21,.78) 48%,rgba(18,20,21,.2) 100%),linear-gradient(0deg,rgba(18,20,21,.72),transparent 50%); }
.hotel-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.hotel-story-hero--no-photo { background: radial-gradient(circle at 82% 24%,rgba(177,139,83,.24),transparent 27%),linear-gradient(135deg,#171b1d 0%,#26211d 58%,#3b2d20 100%); }
.hotel-story-hero--no-photo::before { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(216,189,142,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(216,189,142,.3) 1px,transparent 1px); background-size: 72px 72px; }
.hotel-hero-pattern { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hotel-hero-pattern span { position: absolute; right: -2vw; color: rgba(255,255,255,.035); font-family: Georgia,serif; font-size: clamp(6rem,14vw,15rem); line-height: 1; white-space: nowrap; }
.hotel-hero-pattern span:first-child { top: 80px; }
.hotel-hero-pattern span:last-child { right: 8vw; bottom: 20px; color: rgba(216,189,142,.06); font-size: clamp(4rem,9vw,10rem); }
.hotel-hero-content { position: relative; padding-block: 44px 86px; }
.hotel-story-hero .breadcrumbs, .hotel-story-hero .breadcrumbs a { color: rgba(255,255,255,.6); }
.hotel-hero-content .story-badge { background: #b18b53; color: #fff; }
.hotel-hero-content .story-overline { color: #d8bd8e; }
.hotel-hero-content h1 { max-width: 920px; margin: 18px 0 22px; font-family: Georgia, "Times New Roman", "Noto Serif TC", serif; font-size: clamp(3rem,6vw,6rem); font-weight: 600; line-height: 1.03; letter-spacing: -.035em; }
.hotel-hero-content .story-intro { max-width: 720px; color: rgba(255,255,255,.74); }
.hotel-interview-mark { max-width: 620px; border-left-color: #d8bd8e; background: rgba(216,189,142,.08); }
.hotel-btn { background: #b18b53; box-shadow: none; }
.hotel-btn-outline { border: 1px solid rgba(255,255,255,.42); background: transparent; color: #fff; box-shadow: none; }
.hotel-story-body { background: #f4efe7; }
.hotel-heading { display: block; max-width: 980px; margin-inline: auto; }
.hotel-heading > span { display: block; margin-bottom: 10px; color: #a98249; }
.hotel-heading h2 { color: #352c24; font-family: Georgia, "Times New Roman", "Noto Serif TC", serif; font-weight: 600; }
.hotel-interview-card { border-color: #d8c9b3; background: #fff; box-shadow: 0 18px 46px rgba(53,44,36,.07); }
.hotel-interview-card > span { background: #b18b53; }
.hotel-interview-card .pcb-voice-tag, .hotel-interview-card .pcb-voice-highlight { color: #9a6f31; }
.hotel-interview-card .pcb-voice-title { color: #352c24; }
.hotel-interview-card .pcb-voice-highlight { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.hotel-now { display: grid; grid-template-columns: 180px 1fr; gap: 36px; margin-top: 36px; padding: 38px; border-radius: 2px 30px 2px 30px; background: #352c24; color: #fff; }
.hotel-now > div:first-child { display: grid; align-content: center; justify-items: start; border-right: 1px solid rgba(255,255,255,.16); }
.hotel-now > div:first-child span { color: #d8bd8e; font-family: Georgia,serif; font-size: 3.2rem; }
.hotel-now small { color: rgba(255,255,255,.64); font-weight: 800; }
.hotel-now h2 { margin: 0 0 9px; font-family: Georgia, "Times New Roman", "Noto Serif TC", serif; font-weight: 600; }
.hotel-now p { margin: 0; color: rgba(255,255,255,.7); }
.solution-card:first-child { grid-column: span 2; }
.solution-card:first-child .card-media { aspect-ratio: 2/1; }

.story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.story-visual { position: relative; }
.story-visual img { width: 100%; min-height: 520px; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow); }
.story-visual::after { content: ""; position: absolute; inset: 30px -22px -22px 30px; border: 2px solid var(--orange); border-radius: var(--radius); z-index: -1; }
.step-list { display: grid; gap: 12px; margin-top: 32px; }
.step { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid var(--line); }
.step-num { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--cream); color: var(--orange-dark); font-weight: 900; }
.step h3 { margin: 0 0 4px; color: var(--green); }
.step p { margin: 0; color: var(--muted); }

.home-menu-section { overflow: hidden; }
.home-menu-layout { display: grid; grid-template-columns: minmax(310px,.72fr) minmax(0,1.28fr); gap: 46px; align-items: stretch; }
.home-menu-visual { position: relative; min-height: 700px; overflow: hidden; border-radius: 30px; background: var(--green); box-shadow: var(--shadow); }
.home-menu-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(10,35,29,.88)); }
.home-menu-visual img { width: 100%; height: 100%; min-height: 700px; object-fit: cover; }
.home-menu-visual > div { position: absolute; right: 28px; bottom: 28px; left: 28px; z-index: 1; color: #fff; }
.home-menu-visual span { color: #ffc49d; font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
.home-menu-visual strong { display: block; margin-top: 8px; font-size: clamp(1.7rem,2.7vw,2.65rem); line-height: 1.25; }
.home-menu-content { display: flex; min-width: 0; flex-direction: column; }
.home-menu-list { display: grid; gap: 12px; }
.home-menu-item { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 18px; align-items: start; padding: 18px 20px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.82); }
.home-menu-number { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-weight: 900; }
.home-menu-item small { display: block; color: var(--orange-dark); font-size: .76rem; font-weight: 900; letter-spacing: .04em; }
.home-menu-item h3 { margin: 3px 0 6px; color: var(--green); font-size: 1.17rem; line-height: 1.3; }
.home-menu-item p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.7; }
.home-menu-item p strong { margin-right: 9px; color: var(--ink); }
.home-menu-link { align-self: flex-start; margin-top: 24px; font-size: 1rem; }

.dark-section { overflow: hidden; background: var(--green); color: #fff; }
.dark-section .section-title { color: #fff; }
.dark-section .section-lead { color: rgba(255,255,255,.7); }
.feature-grid { display: grid; grid-template-columns: 1fr .85fr; align-items: center; gap: 64px; }
.feature-image { padding: 32px; border-radius: var(--radius); background: rgba(255,255,255,.07); }
.feature-image img { width: 100%; max-height: 510px; object-fit: contain; }
.feature-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 28px; }
.feature { padding: 20px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(255,255,255,.05); }
.feature strong { display: block; margin-bottom: 5px; color: #ffd1b5; }
.feature span { color: rgba(255,255,255,.7); font-size: .9rem; }

.menu-showcase { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; }
.menu-photo { min-height: 540px; border-radius: var(--radius); overflow: hidden; }
.menu-photo img { width: 100%; height: 100%; object-fit: cover; }
.menu-groups { display: grid; gap: 12px; }
.menu-group { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.menu-occasion { display: block; margin-bottom: 8px; color: var(--orange-dark); font-size: .75rem; font-weight: 900; letter-spacing: .05em; }
.menu-group h3 { margin: 0 0 6px; color: var(--green); }
.menu-group p { margin: 0; color: var(--muted); font-size: .9rem; }
.tags, .chip-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.tag, .chip { padding: 5px 10px; border-radius: 999px; background: var(--cream); color: #52605a; font-size: .78rem; font-weight: 700; }

.comparison { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.compare-row { display: grid; grid-template-columns: .7fr 1fr 1fr; }
.compare-row > div { padding: 18px 22px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); }
.compare-row:last-child > div { border-bottom: 0; }
.compare-row > div:last-child { border-right: 0; }
.compare-row.head { background: var(--green); color: #fff; font-weight: 800; }
.compare-label { font-weight: 800; color: var(--green); }

.moment-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.moment-card { padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.moment-card > span { color: var(--orange); font-size: 1.5rem; font-weight: 900; }
.moment-card h3 { margin: 24px 0 8px; color: var(--green); }
.moment-card p { margin: 0; color: var(--muted); font-size: .92rem; }
.pain-compare-grid, .option-compare { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pain-panel, .option-compare article { padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.pain-panel > span, .option-compare article > span { display: inline-block; margin-bottom: 12px; color: var(--orange-dark); font-size: .78rem; font-weight: 900; letter-spacing: .1em; }
.pain-panel h3, .option-compare h3 { margin: 0 0 16px; color: var(--green); line-height: 1.35; }
.pain-panel ul, .option-compare ul { margin: 0; padding-left: 20px; color: var(--muted); }
.pain-panel li + li, .option-compare li + li { margin-top: 9px; }
.pain-panel.accent { background: var(--green); color: #fff; }
.pain-panel.accent h3 { color: #fff; }
.pain-panel.accent ul { color: rgba(255,255,255,.75); }
.impact-stack { display: grid; gap: 12px; }
.impact-stack div { padding: 23px 25px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: rgba(255,255,255,.06); }
.impact-stack strong, .impact-stack span { display: block; }
.impact-stack strong { color: #ffd1b5; }
.impact-stack span { margin-top: 5px; color: rgba(255,255,255,.7); }

.choice-hero { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 64px; }
.choice-photo { min-height: 570px; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); }
.choice-photo img { width: 100%; height: 570px; object-fit: cover; }
.decision-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 28px; }
.decision-grid div { padding: 18px; border-radius: 16px; background: var(--cream); }
.decision-grid strong, .decision-grid span { display: block; }
.decision-grid strong { color: var(--green); }
.decision-grid span { margin-top: 4px; color: var(--muted); font-size: .85rem; }
.menu-catalog { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.menu-catalog-card { padding: 25px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.menu-catalog-card > span { color: var(--orange); font-weight: 900; }
.menu-catalog-card h2 { margin: 16px 0 8px; color: var(--green); font-size: 1.25rem; }
.menu-catalog-card p { margin: 0; color: var(--muted); font-size: .88rem; }
.menu-page-hero .page-hero-grid { grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr); gap: 48px; }
.menu-page-hero .hero-lead { max-width: 760px; }
.menu-hero-title { font-size: clamp(2rem,3.25vw,3rem) !important; letter-spacing: -.045em; }
.menu-decision-section .choice-hero { grid-template-columns: minmax(330px,.78fr) minmax(0,1.22fr); gap: 58px; }
.menu-decision-section .choice-photo { min-height: 620px; }
.menu-decision-section .choice-photo img { height: 620px; }
.menu-decision-section .prose > p { max-width: 680px; color: var(--muted); font-size: 1rem; line-height: 1.85; }
.menu-decision-grid { gap: 16px; margin-top: 32px; }
.menu-decision-grid div { min-height: 156px; padding: 26px 28px; border: 1px solid rgba(194,76,28,.12); border-radius: 20px; }
.menu-decision-grid strong { margin-bottom: 6px; color: var(--orange-dark); font-size: 1.2rem; line-height: 1.35; }
.menu-decision-grid span { margin-top: 0; font-size: .96rem; line-height: 1.75; }
.menu-product-pool .menu-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.menu-product-pool .menu-catalog-card { min-height: 330px; padding: 34px 36px; border-radius: 24px; box-shadow: 0 16px 38px rgba(21,64,53,.06); }
.menu-product-pool .menu-catalog-card > span { font-size: 1.15rem; letter-spacing: .08em; }
.menu-product-pool .menu-occasion { margin-top: 8px; margin-bottom: 12px; font-size: .8rem; }
.menu-product-pool .menu-catalog-card h2 { margin: 0 0 12px; font-size: 1.52rem; line-height: 1.35; }
.menu-product-pool .menu-catalog-card p { font-size: .96rem; line-height: 1.85; }
.menu-product-pool .tags { gap: 10px; margin-top: 22px; }
.menu-product-pool .tag { padding: 8px 12px; font-size: .84rem; line-height: 1.45; }
.dark-list li { background: rgba(255,255,255,.08); color: rgba(255,255,255,.76); }

.service-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-metrics div { padding: 34px; border-radius: 24px; background: var(--green); color: #fff; text-align: center; }
.service-metrics strong, .service-metrics span { display: block; }
.service-metrics strong { color: #ffc49d; font-size: clamp(2.4rem, 5vw, 4.3rem); line-height: 1; }
.service-metrics span { margin-top: 12px; font-weight: 800; }
.maintenance-levels { display: grid; gap: 14px; }
.maintenance-level { display: grid; grid-template-columns: 108px 1fr; align-items: center; gap: 26px; padding: 25px 30px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.maintenance-level > span { display: grid; place-items: center; width: 82px; aspect-ratio: 1; border-radius: 50%; background: var(--green); color: #fff; font-size: 2.6rem; font-weight: 900; }
.maintenance-level small { color: var(--orange-dark); font-weight: 900; }
.maintenance-level h3 { margin: 4px 0; color: var(--green); }
.maintenance-level p { margin: 0; color: var(--muted); }
.maintenance-responsibility { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.maintenance-responsibility div { padding: 13px 15px; border-radius: 12px; background: var(--cream); }
.maintenance-responsibility strong, .maintenance-responsibility span { display: block; }
.maintenance-responsibility strong { color: var(--green); font-size: .82rem; }
.maintenance-responsibility span { margin-top: 4px; color: var(--muted); font-size: .82rem; }
.level-a > span { background: #2d9fad; }
.level-b > span { background: #3779b4; }
.level-c > span { background: #8064aa; }
.level-d > span { background: var(--gold); }

.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; }
.plan-grid.welfare-plan-grid { grid-template-columns: repeat(2, 1fr); }
.welfare-compare-grid { grid-template-columns: repeat(2, 1fr); }
.plan-card { display: flex; flex-direction: column; padding: 32px; border: 1px solid var(--line); border-radius: 24px; background: #fff; }
.plan-card.featured { border-top: 5px solid var(--green); }
.plan-card.trial { border-top: 5px solid var(--orange); box-shadow: var(--shadow); }
.plan-card > span { color: var(--orange); font-size: 1.35rem; font-weight: 900; }
.plan-card h2 { margin: 20px 0 8px; color: var(--green); }
.plan-card-heading { display: flex; align-items: baseline; gap: 12px; }
.plan-card-heading > span { color: var(--orange); font-size: 1.15rem; font-weight: 900; }
.plan-card .plan-card-heading h2 { margin: 0; color: var(--green); font-size: clamp(1.8rem,2.4vw,2.35rem); line-height: 1.12; }
.plan-tagline { display: block; margin-top: 14px; color: var(--orange-dark); font-size: 1.08rem; letter-spacing: .04em; }
.plan-card p, .plan-card ul { color: var(--muted); }
.plan-card ul { flex: 1; padding-left: 20px; }
.plan-card li + li { margin-top: 8px; }
.plan-card .btn { align-self: flex-start; margin-top: 14px; }
.plan-card .plan-audience { margin: 10px 0 20px; padding: 14px 16px; border-radius: 14px; background: var(--cream); color: #46534d; }
.plan-card .plan-audience strong { color: var(--green); }
.pricing-notice { margin-top: 24px; }
.subsidy-card { padding: 34px; border-radius: var(--radius); background: var(--green); color: #fff; }
.subsidy-card span, .subsidy-card strong { display: block; }
.subsidy-card span { color: #ffc49d; font-size: .82rem; font-weight: 900; letter-spacing: .1em; }
.subsidy-card strong { margin-top: 18px; font-size: clamp(1.5rem, 3vw, 2.4rem); line-height: 1.3; }
.subsidy-card p { margin-bottom: 0; color: rgba(255,255,255,.65); }
.benefit-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 24px; background: #fff; overflow: hidden; }
.benefit-strip div { padding: 28px; border-right: 1px solid var(--line); }
.benefit-strip div:last-child { border-right: 0; }
.benefit-strip strong, .benefit-strip span { display: block; }
.benefit-strip strong { color: var(--green); }
.benefit-strip span { margin-top: 6px; color: var(--muted); font-size: .88rem; }
.welfare-benefits { padding-block: 34px; }
.welfare-logistics .maintenance-level { min-height: 0; }
.us-benefits-logistics .maintenance-levels { max-width: 980px; margin-inline: auto; }
.us-benefits-logistics .maintenance-level + .maintenance-level { margin-top: 2px; }
.us-benefits-logistics-note { max-width: 980px; margin: 22px auto 0; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.07); color: rgba(255,255,255,.78); }
.us-benefits-logistics-note strong { color: #ffc49d; }
.option-compare article { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
.option-compare h3 { color: #fff; }
.option-compare ul { color: rgba(255,255,255,.7); }

.admin-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 28px; align-items: start; }
.admin-guide { position: sticky; top: 148px; padding: 30px; border-radius: var(--radius); background: var(--cream); }
.admin-guide h2 { color: var(--green); }
.admin-guide ol { padding-left: 22px; color: var(--muted); }
.admin-guide li + li { margin-top: 8px; }
.admin-guide code { padding: 2px 6px; border-radius: 6px; background: #fff; color: var(--orange-dark); }
.field small { color: var(--muted); }

.process { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; counter-reset: process; }
.process-item { position: relative; min-height: 220px; padding: 28px; border-radius: 22px; background: #fff; border: 1px solid var(--line); }
.process-item::before { counter-increment: process; content: "0" counter(process); display: block; margin-bottom: 28px; color: var(--orange); font-size: 1.8rem; font-weight: 900; }
.process-item h3 { margin: 0 0 8px; color: var(--green); }
.process-item p { margin: 0; color: var(--muted); font-size: .9rem; }

.page-hero { position: relative; overflow: hidden; padding-block: 92px 72px; background: var(--cream); }
.page-hero::after { content: ""; position: absolute; width: 420px; height: 420px; right: -120px; top: -170px; border-radius: 50%; background: rgba(229,108,47,.1); }
.page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr .72fr; align-items: center; gap: 70px; }
.page-hero h1 { color: var(--green); font-size: clamp(2.4rem, 5vw, 4.2rem); }
.contact-page-hero .page-hero-grid { grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 48px; }
.contact-hero-title { font-size: clamp(1.75rem,2.7vw,2.25rem) !important; }
.pricing-hero .page-hero-grid { grid-template-columns: 1.08fr .64fr; gap: 56px; }
.pricing-hero h1 { font-size: clamp(2.4rem, 4vw, 2.95rem); }
.page-hero h1 em { color: var(--orange-dark); font-style: normal; }
.page-hero p { max-width: 700px; color: var(--muted); font-size: 1.08rem; }
.page-hero img { width: 100%; height: 370px; object-fit: cover; border-radius: 200px 200px 24px 24px; box-shadow: var(--shadow); }
.cases-news-hero .page-hero-grid > img { object-position: right center; }
.solution-detail-hero { padding-block: 72px 46px; text-align: center; }
.solution-detail-hero-inner { position: relative; z-index: 1; max-width: 940px; }
.solution-detail-hero .breadcrumbs { justify-content: center; }
.solution-detail-hero .eyebrow { justify-content: center; }
.solution-detail-hero h1 { max-width: 900px; margin-inline: auto; }
.solution-hero-title--nowrap { font-size: clamp(2.15rem, 4.6vw, 4rem) !important; }
.solution-hero-title--wide-copy { font-size: clamp(1.95rem, 3.7vw, 3rem) !important; }
.welfare-hero-title { font-size: clamp(2rem, 3.6vw, 3rem) !important; }
.solution-detail-hero h1 em { color: var(--orange-dark); font-style: normal; }
.solution-detail-hero p { margin: 0 auto; }
.solution-detail-hero .button-row { justify-content: center; margin-top: 26px; }
.solution-machine-visual img { min-height: 440px; }
.solution-machine-visual--contain { border-radius: var(--radius); background: #e8eeeb; box-shadow: var(--shadow); }
.solution-machine-visual--contain img { display: block; width: 100%; height: auto; min-height: 0; object-fit: contain; object-position: center; box-shadow: none; }
.source-note { padding-top: 14px; border-top: 1px solid var(--line); font-size: .84rem; }
.solution-context-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 920px; margin-inline: auto; }
.solution-context-grid article { padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: 0 12px 34px rgba(31,47,40,.06); }
.solution-context-grid article > span { display: block; margin-bottom: 18px; color: var(--orange-dark); font-weight: 900; letter-spacing: .08em; }
.solution-context-grid ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.solution-context-grid li { position: relative; padding-left: 24px; color: var(--green); font-weight: 800; }
.solution-context-grid li::before { content: ""; position: absolute; left: 0; top: .62em; width: 9px; height: 9px; border-radius: 50%; background: var(--orange); }
.solution-process { margin-top: 46px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; color: var(--muted); font-size: .82rem; }
.breadcrumbs span::before { content: "/"; margin-right: 8px; color: #aaa; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.split.sticky > :first-child { position: sticky; top: 150px; }
.prose h2 { margin: 0 0 14px; color: var(--green); font-size: 2rem; line-height: 1.25; }
.prose h3 { color: var(--green); }
.prose p { color: var(--muted); }
.check-list { display: grid; gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding: 15px 16px 15px 48px; border-radius: 14px; background: var(--cream); }
.check-list li::before { content: "✓"; position: absolute; left: 17px; top: 15px; color: var(--orange-dark); font-weight: 900; }
.dark-section .check-list.dark-list li { color: var(--green); }
.pain-card { padding: 24px; border-left: 4px solid var(--orange); border-radius: 0 18px 18px 0; background: #fff; box-shadow: 0 10px 30px rgba(31,47,40,.06); }
.pain-card + .pain-card { margin-top: 14px; }
.pain-card h3 { margin: 0 0 7px; color: var(--green); }
.pain-card p { margin: 0; color: var(--muted); }
.placement-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.placement-grid--three { grid-template-columns: repeat(3,1fr); }
.placement { display: grid; place-items: center; min-height: 126px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; color: var(--green); font-weight: 900; text-align: center; }

.notice { padding: 18px 20px; border: 1px solid rgba(229,108,47,.35); border-radius: 16px; background: #fff8f1; color: #70432c; font-size: .9rem; }
.notice strong { color: var(--orange-dark); }
.quote { padding: 30px; border-radius: var(--radius); background: var(--green); color: #fff; font-size: 1.15rem; }
.quote small { display: block; margin-top: 12px; color: rgba(255,255,255,.65); font-size: .8rem; }

.article-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 60px; }
.article-body h2 { margin-top: 44px; color: var(--green); font-size: 1.7rem; }
.article-body p { color: #46534d; }
.article-side { position: sticky; top: 146px; }
.side-card { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: var(--cream); }
.side-card h3 { margin-top: 0; color: var(--green); }

.faq-list { display: grid; gap: 12px; }
.faq-item { border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.faq-item summary { position: relative; padding: 20px 54px 20px 22px; color: var(--green); font-weight: 900; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: 22px; top: 17px; font-size: 1.5rem; color: var(--orange); }
.faq-item[open] summary::after { content: "−"; }
.faq-answer { padding: 0 22px 22px; color: var(--muted); }

.contact-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 28px; }
.contact-panel { padding: 34px; border-radius: var(--radius); background: var(--green); color: #fff; }
.contact-panel h2 { margin-top: 0; font-size: 2rem; }
.contact-panel p { color: rgba(255,255,255,.7); }
.contact-steps { display: grid; gap: 18px; margin: 26px 0 0; padding: 0; list-style: none; }
.contact-steps li { display: grid; gap: 5px; padding-left: 16px; border-left: 3px solid var(--orange); }
.contact-steps strong { color: #fff; }
.contact-steps span { color: rgba(255,255,255,.72); font-size: .9rem; }
.us-contact-email { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.18); }
.us-contact-email span, .us-contact-email strong { display: block; }
.us-contact-email span { margin-bottom: 7px; color: rgba(255,255,255,.62); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.us-contact-email strong { color: #fff; font-size: clamp(1rem, 1.5vw, 1.2rem); overflow-wrap: anywhere; }
.contact-list { display: grid; gap: 14px; margin-top: 28px; }
.contact-list div { padding-top: 14px; border-top: 1px solid rgba(255,255,255,.16); }
.contact-list small { display: block; color: rgba(255,255,255,.5); }
.contact-list strong, .contact-list span { display: block; }
.contact-list span { margin-top: 4px; color: rgba(255,255,255,.68); font-size: .86rem; }
.contact-form { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: grid; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field label { color: var(--green); font-size: .88rem; font-weight: 800; }
.field input, .field textarea, .field select { width: 100%; padding: 13px 14px; border: 1px solid #ccd3cf; border-radius: 12px; background: #fffdfa; color: var(--ink); }
.field textarea { min-height: 140px; resize: vertical; }
.privacy-consent label { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-weight: 600; line-height: 1.65; }
.privacy-consent input { width: 18px; height: 18px; margin-top: 3px; flex: 0 0 auto; accent-color: var(--green); }
.captcha-slot { min-height: 1px; }
.draft-output { display: none; margin-top: 20px; padding: 18px; border-radius: 14px; background: var(--cream); white-space: pre-wrap; }
.draft-output.show { display: block; }
.draft-output.is-success,
.form-note.is-success {
  border: 2px solid #2f7d57;
  border-radius: 14px;
  background: #eaf7ef;
  color: #174d36;
  padding: 16px 18px;
  font-weight: 800;
  line-height: 1.65;
}

.cta-band { padding-block: 68px; background: var(--orange); color: #fff; }
.cta-grid { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.cta-grid h2 { max-width: 680px; margin: 0; font-size: clamp(2rem,4vw,3.2rem); line-height: 1.15; }
.cta-grid p { margin: 12px 0 0; color: rgba(255,255,255,.78); }

.site-footer { background: #102c25; color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.2fr .85fr 1fr; align-items: start; gap: 36px; padding-block: 38px 32px; }
.footer-brand { max-width: 360px; }
.footer-brand img { width: 112px; padding: 7px; border-radius: 8px; background: #fff; }
.footer-brand p { max-width: 320px; margin: 14px 0 0; color: rgba(255,255,255,.72); font-size: .9rem; }
.footer-heading { display: block; margin: 0 0 10px; color: #fff; font-size: .92rem; letter-spacing: .08em; }
.footer-col > a, .footer-col > span { display: block; padding: 3px 0; color: rgba(255,255,255,.68); font-size: .88rem; }
.footer-col a { transition: color .2s ease; }
.footer-col a:hover { color: #ffbd91; }
.footer-business span a { display: inline; color: #fff; font-weight: 700; }
.footer-bottom { padding: 14px 0 16px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.52); font-size: .78rem; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media (max-width: 1100px) {
  .hero-grid { grid-template-columns: 1fr; gap: 38px; }
  .hero-copy { max-width: 780px; }
  .hero-visual, .hero-visual img { min-height: 490px; height: 490px; }
  .hero-visual img { object-position: 78% center; }
  .cards.three { grid-template-columns: repeat(2,1fr); }
  .process { grid-template-columns: repeat(2,1fr); }
  .placement-grid { grid-template-columns: repeat(2,1fr); }
  .venue-rail { grid-template-columns: repeat(6, minmax(160px, 1fr)); }
  .moment-grid, .menu-catalog, .benefit-strip { grid-template-columns: repeat(2, 1fr); }
  .benefit-strip div:nth-child(2) { border-right: 0; }
  .benefit-strip div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .home-menu-layout { grid-template-columns: minmax(280px,.65fr) minmax(0,1.35fr); gap: 28px; }
  .menu-page-hero .page-hero-grid { grid-template-columns: minmax(0,1fr) minmax(280px,.62fr); gap: 34px; }
  .menu-hero-title { font-size: clamp(1.75rem,3.3vw,2.35rem) !important; }
}

@media (max-width: 1180px) {
  .header-cta .btn { display: none; }
  .nav-toggle { display: block !important; }
  .main-nav {
    position: fixed; top: 78px; right: 0; bottom: auto; left: 0; z-index: 110;
    display: none; height: calc(100dvh - 78px); overflow: auto; background: var(--paper);
  }
  body.nav-open .main-nav { display: block !important; }
  .nav-list { display: block !important; padding: 18px 14px 40px; }
  .nav-link {
    min-height: 48px; padding: 10px 12px !important;
    border-bottom: 1px solid var(--line); font-size: 1rem !important;
  }
  .nav-item.has-children > .nav-link::after { margin-left: auto; }
  .subnav {
    position: static; display: block; min-width: 0; padding: 4px 12px 12px;
    border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; background: transparent;
  }
  .subnav a { padding-left: 20px; }
}

@media (max-width: 820px) {
  .container, .narrow { width: min(calc(100% - 28px), var(--max)); }
  .header-top { min-height: 70px; }
  .main-nav { top: 70px; height: calc(100dvh - 70px); }
  .hero-grid, .page-hero-grid, .story-grid, .feature-grid, .menu-showcase, .home-menu-layout, .split, .article-grid, .contact-grid, .choice-hero, .admin-grid, .solution-context-grid { grid-template-columns: 1fr; }
  .pricing-hero .page-hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .contact-page-hero .page-hero-grid { grid-template-columns: 1fr; gap: 34px; }
  .hero-grid { min-height: 0; padding-block: 54px; gap: 34px; }
  .hero h1 { font-size: clamp(2.45rem, 11vw, 4.2rem); }
  .hero-visual, .hero-visual img { min-height: 380px; height: 380px; }
  .hero-visual img { object-position: 78% center; }
  .hero-stamp { left: 8px; width: 116px; font-size: .8rem; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section { padding-block: 68px; }
  .section-header { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; }
  .cards.three, .cards.two { grid-template-columns: 1fr; }
  .finishes-hero-grid { grid-template-columns: 1fr; }
  .solution-card:first-child { grid-column: auto; }
  .solution-card:first-child .card-media { aspect-ratio: 16/10; }
  .story-grid { gap: 48px; }
  .story-visual::after { display: none; }
  .story-visual img { min-height: 380px; }
  .home-menu-visual, .home-menu-visual img { min-height: 470px; height: 470px; }
  .feature-grid { gap: 34px; }
  .page-hero { padding-block: 58px 46px; }
  .solution-detail-hero { padding-block: 54px 38px; }
  .page-hero-grid { gap: 34px; }
  .page-hero img { height: 310px; }
  .split.sticky > :first-child, .article-side { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
  .venue-selector-head { display: block; }
  .venue-selector-head p { margin-top: 12px; }
  .pain-compare-grid, .option-compare, .plan-grid { grid-template-columns: 1fr; }
  .plan-grid.welfare-plan-grid, .welfare-compare-grid { grid-template-columns: 1fr; }
  .venue-tile { min-height: 170px; }
  .choice-photo, .choice-photo img { min-height: 380px; height: 380px; }
  .menu-page-hero .page-hero-grid, .menu-decision-section .choice-hero { grid-template-columns: 1fr; }
  .menu-page-hero .hero-lead { max-width: 680px; }
  .menu-decision-section .choice-photo, .menu-decision-section .choice-photo img { min-height: 420px; height: 420px; }
  .admin-guide { position: static; }
  .pcb-hero-grid, .hospital-hero-shell, .hospital-story-grid { grid-template-columns: 1fr; }
  .pcb-hero-grid { gap: 40px; }
  .pcb-hero-visual img { min-height: 360px; }
  .story-section-heading { grid-template-columns: 1fr; gap: 14px; }
  .story-section-heading p { grid-column: auto; margin: 0; }
  .finish-detail, .finish-detail--1, .finish-detail--5 { grid-column: span 12; }
  .finishes-hero-visual img { min-height: 380px; }
  .finishes-disclosure { grid-template-columns: 1fr; }
  .pcb-voice--1, .pcb-voice--2, .pcb-voice--3, .pcb-voice--4, .pcb-voice--5 { grid-column: span 12; }
  .hospital-hero-shell { padding: 32px; border-radius: 30px 6px 30px 6px; }
  .hospital-hero-photo img { min-height: 390px; }
  .hospital-story-grid { gap: 36px; }
  .hospital-story-grid > aside { position: static; }
  .hotel-story-hero { min-height: 700px; }
}

@media (max-width: 560px) {
  .brand { gap: 9px; }
  .brand img { width: 52px; height: 44px; }
  .brand-copy strong { font-size: .88rem; }
  .brand-copy small { font-size: .66rem; }
  .hero h1, .page-hero h1 { letter-spacing: -.035em; }
  .button-row { display: grid; }
  .button-row .btn { width: 100%; }
  .solution-detail-hero .button-row { width: min(100%, 360px); margin-inline: auto; }
  .hero-visual, .hero-visual img { min-height: 290px; height: 290px; }
  .home-hero-title { font-size: clamp(2rem,10.5vw,3.2rem) !important; }
  .solution-hero-title--nowrap { font-size: clamp(1.45rem, 6.5vw, 2.1rem) !important; }
  .solution-hero-title--wide-copy { font-size: clamp(1.15rem, 4.9vw, 1.45rem) !important; }
  .welfare-hero-title { font-size: clamp(1.55rem, 7vw, 2.1rem) !important; }
  .menu-hero-title { font-size: clamp(1.18rem,5.1vw,1.55rem) !important; letter-spacing: -.045em; }
  .contact-hero-title { font-size: clamp(1rem,4.25vw,1.32rem) !important; letter-spacing: -.045em; }
  .hospital-hero-copy .hospital-case-title { font-size: clamp(1rem,4.5vw,1.3rem) !important; letter-spacing: -.035em; }
  .hospital-interview-card .pcb-voice-highlight span { white-space: normal; }
  .home-menu-item { grid-template-columns: 48px minmax(0,1fr); gap: 14px; padding: 17px 16px; }
  .home-menu-number { width: 42px; height: 42px; font-size: .86rem; }
  .home-menu-visual, .home-menu-visual img { min-height: 360px; height: 360px; }
  .trust-grid, .feature-list, .process, .placement-grid, .form-grid, .footer-grid, .moment-grid, .decision-grid, .menu-catalog, .service-metrics, .benefit-strip { grid-template-columns: 1fr; }
  .trust-item { border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-item:last-child { border-bottom: 0; }
  .compare-row { grid-template-columns: 1fr; }
  .compare-row > div { border-right: 0; }
  .compare-row.head > div:first-child { display: none; }
  .compare-row:not(.head) > div:nth-child(2)::before { content: "Traditional Cafeteria / Catering: "; font-weight: 800; color: var(--green); }
  .compare-row:not(.head) > div:nth-child(3)::before { content: "SVM Hot Meal Station: "; font-weight: 800; color: var(--orange-dark); }
  .cta-grid { display: grid; }
  .footer-brand { grid-column: auto; }
  .maintenance-level { grid-template-columns: 64px 1fr; padding: 20px; gap: 15px; }
  .maintenance-level > span { width: 58px; font-size: 1.8rem; }
  .maintenance-responsibility { grid-template-columns: 1fr; }
  .benefit-strip div { border-right: 0; border-bottom: 1px solid var(--line); }
  .benefit-strip div:last-child { border-bottom: 0; }
  .venue-rail { grid-template-columns: repeat(6, 78vw); scroll-snap-type: x mandatory; }
  .venue-tile { min-height: 158px; scroll-snap-align: start; }
  .story-disclosure { grid-template-columns: 1fr; gap: 6px; }
  .pcb-story-hero { padding-top: 30px; }
  .pcb-hero-copy h1, .hospital-hero-copy h1, .hotel-hero-content h1, .finishes-hero-copy h1 { font-size: clamp(2.35rem,11vw,3.3rem); }
  .finishes-tone-strip .container { grid-template-columns: 1fr; }
  .finishes-tone-strip .container > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .finishes-tone-strip .container > div:last-child { border-bottom: 0; }
  .finishes-hero-visual img { min-height: 280px; }
  .pcb-hero-visual img { min-height: 270px; }
  .pcb-voice { grid-template-columns: 1fr; gap: 18px; padding: 28px 24px; }
  .pcb-voice > span { width: 56px; height: 56px; font-size: 1.4rem; }
  .hospital-hero-shell { padding: 22px; }
  .hospital-hero-photo img { min-height: 310px; border-radius: 110px 110px 16px 16px; }
  .hospital-promise { grid-template-columns: 52px 1fr; gap: 15px; }
  .hospital-promise > span { width: 48px; height: 48px; }
  .hotel-story-hero { min-height: 720px; }
  .hotel-now { grid-template-columns: 1fr; padding: 28px 24px; }
  .hotel-now > div:first-child { padding-bottom: 18px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
}

/* U.S. edition pages — scoped to avoid changing existing regional content. */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.us-site {
  --us-navy: #102d36;
  --us-teal: #1e665d;
  --us-mint: #dceee6;
  --us-sand: #f4efe4;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.65;
}
.us-site .header-top { min-height: 76px; }
.us-site .brand-copy strong { font-size: 1.05rem; letter-spacing: .12em; }
.us-site .brand-copy small { max-width: 250px; font-size: .7rem; letter-spacing: .025em; }
.us-site .nav-list { gap: 17px !important; }
.us-site .nav-link { font-size: .82rem !important; }
.us-site .header-cta .btn { min-height: 46px; padding-inline: 22px; }
.us-site .eyebrow { color: #b95226; }
.us-site .eyebrow::before { width: 32px; }
.us-site h1,
.us-site h2,
.us-site h3 { text-wrap: balance; }
.us-site p { text-wrap: pretty; }

.us-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(125deg, var(--us-navy) 0%, #173f35 58%, #28594d 100%);
  color: #fff;
}
.us-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .34;
  background: radial-gradient(circle at 12% 8%, rgba(109,185,154,.45), transparent 32%), linear-gradient(90deg, transparent 68%, rgba(255,255,255,.06));
}
.us-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 68px;
  align-items: center;
  min-height: 660px;
  padding-block: 76px;
}
.us-hero .eyebrow { color: #ffc19b; }
.us-hero h1 {
  max-width: 820px;
  margin: 20px 0;
  font-size: clamp(3rem, 5.25vw, 5.35rem);
  line-height: 1.01;
  letter-spacing: -.055em;
}
.us-hero-copy > p:not(.us-draft-note) { max-width: 760px; margin: 0 0 30px; color: rgba(255,255,255,.78); font-size: 1.08rem; }
.us-hero .btn.secondary { border-color: rgba(255,255,255,.36); color: #fff; }
.us-hero .btn.secondary:hover { border-color: #fff; background: #fff; color: var(--us-navy); }
.us-draft-note { max-width: 760px; margin: 24px 0 0; color: rgba(255,255,255,.58); font-size: .76rem; }
.us-hero-visual,
.us-solution-visual { margin: 0; }
.us-hero-visual {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 40px 8px 40px 8px;
  background: rgba(255,255,255,.1);
  box-shadow: 0 36px 90px rgba(0,0,0,.28);
}
.us-hero-visual img { width: 100%; min-height: 480px; object-fit: cover; border-radius: 30px 4px 30px 4px; }
.us-hero-visual figcaption,
.us-solution-visual figcaption { padding: 12px 4px 0; color: rgba(255,255,255,.6); font-size: .72rem; }

.us-proof { border-bottom: 1px solid var(--line); background: #fff; }
.us-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.us-proof-grid > div { min-height: 138px; padding: 28px 24px; border-right: 1px solid var(--line); }
.us-proof-grid > div:last-child { border-right: 0; }
.us-proof-grid strong { display: block; color: var(--us-navy); font-size: 1.05rem; line-height: 1.3; }
.us-proof-grid span { display: block; margin-top: 8px; color: var(--muted); font-size: .76rem; }

.us-section-heading { max-width: 820px; margin-bottom: 44px; }
.us-section-heading h2 { margin: 12px 0 12px; color: var(--us-navy); font-size: clamp(2.25rem, 4.2vw, 4rem); line-height: 1.08; letter-spacing: -.045em; }
.us-section-heading p { max-width: 720px; margin: 0; color: var(--muted); font-size: 1.02rem; }
.us-section-heading--center { margin-inline: auto; text-align: center; }
.us-section-heading--center .eyebrow { justify-content: center; }
.us-section-heading--center p { margin-inline: auto; }

.us-card-grid,
.us-feature-grid,
.us-location-grid,
.us-switcher-grid { display: grid; gap: 20px; }
.us-card-grid--three,
.us-feature-grid { grid-template-columns: repeat(3, 1fr); }
.us-info-card {
  min-height: 300px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 50px rgba(31,47,40,.07);
}
.us-info-card > span,
.us-location-grid article > span,
.us-sector-card > span { display: block; margin-bottom: 34px; color: var(--orange-dark); font-size: .78rem; font-weight: 900; letter-spacing: .14em; }
.us-info-card h3,
.us-location-grid h3,
.us-sector-card h3 { margin: 0 0 13px; color: var(--us-navy); font-size: 1.35rem; line-height: 1.25; }
.us-info-card p,
.us-location-grid p,
.us-sector-card p { margin: 0; color: var(--muted); }
.us-challenges { background: #fbfaf6; }

.us-value,
.us-campus-solution { background: var(--us-navy); color: #fff; }
.us-value-layout { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 74px; align-items: start; }
.us-value .us-section-heading,
.us-campus-solution .us-section-heading { margin: 0; }
.us-value .us-section-heading h2,
.us-campus-solution .us-section-heading h2 { color: #fff; }
.us-value .us-section-heading p,
.us-campus-solution .us-section-heading p { color: rgba(255,255,255,.66); }
.us-value .eyebrow,
.us-campus-solution .eyebrow { color: #ffc19b; }
.us-feature-grid { grid-template-columns: repeat(2, 1fr); }
.us-feature-grid article { min-height: 210px; padding: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(255,255,255,.06); }
.us-feature-grid strong { display: block; margin-bottom: 12px; color: #fff; font-size: 1.12rem; }
.us-feature-grid p { margin: 0; color: rgba(255,255,255,.65); }
.us-feature-grid--three { grid-template-columns: repeat(3, 1fr); }
.us-feature-grid--four { grid-template-columns: repeat(4, 1fr); }
.us-campus-solution .us-feature-grid { margin-top: 46px; }

.us-menu-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.us-menu-card { min-height: 420px; padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 16px 50px rgba(31,47,40,.07); }
.us-menu-card > span { display: block; margin-bottom: 28px; color: var(--orange-dark); font-size: .78rem; font-weight: 900; letter-spacing: .14em; }
.us-menu-card h3 { margin: 0 0 12px; color: var(--us-navy); font-size: 1.45rem; line-height: 1.25; }
.us-menu-card p { margin: 0 0 20px; color: var(--muted); }
.us-menu-card strong { color: var(--us-teal); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.us-menu-card ul { margin: 12px 0 22px; padding-left: 20px; color: #425550; }
.us-menu-card li + li { margin-top: 7px; }
.us-menu-card small { display: block; padding-top: 16px; border-top: 1px solid var(--line); color: #74817c; }

.us-specifications { background: #fff; }
.us-spec-list { overflow: hidden; margin: 0; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 16px 50px rgba(31,47,40,.06); }
.us-spec-list > div { display: grid; grid-template-columns: minmax(210px,.55fr) minmax(0,1.45fr); gap: 30px; padding: 22px 28px; border-bottom: 1px solid var(--line); }
.us-spec-list > div:last-child { border-bottom: 0; }
.us-spec-list dt { color: var(--us-navy); font-weight: 850; }
.us-spec-list dd { margin: 0; color: var(--muted); }

.us-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 46px 0 0; padding: 0; list-style: none; counter-reset: none; }
.us-process-grid li { min-height: 230px; padding: 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(255,255,255,.06); }
.us-process-grid span { display: block; margin-bottom: 30px; color: #ffc19b; font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.us-process-grid strong { display: block; margin-bottom: 12px; color: #fff; font-size: 1.2rem; }
.us-process-grid p { margin: 0; color: rgba(255,255,255,.65); }
.us-responsibilities { background: #fff; }
.us-responsibility-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.us-responsibility-grid article { padding: 34px; border: 1px solid var(--line); border-radius: 24px; background: #fbfaf6; }
.us-responsibility-grid article > span { color: var(--orange-dark); font-size: .75rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.us-responsibility-grid h3 { margin: 12px 0 20px; color: var(--us-navy); font-size: 1.45rem; }
.us-responsibility-grid ul { margin: 0; padding-left: 20px; color: var(--muted); }
.us-responsibility-grid li + li { margin-top: 10px; }
.us-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.us-plan-card { display: flex; min-height: 430px; flex-direction: column; padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: 0 16px 50px rgba(31,47,40,.07); }
.us-plan-card > span { width: fit-content; padding: 7px 11px; border-radius: 999px; background: var(--us-mint); color: var(--us-teal); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.us-plan-card h3 { margin: 22px 0; color: var(--us-navy); font-size: 1.55rem; line-height: 1.2; }
.us-plan-card dl { margin: 0; }
.us-plan-card dl div + div { margin-top: 20px; }
.us-plan-card dt { color: var(--orange-dark); font-size: .74rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.us-plan-card dd { margin: 5px 0 0; color: var(--muted); }
.us-plan-card small { margin-top: auto; padding-top: 22px; color: #74817c; }
.us-process-grid--four { grid-template-columns: repeat(4, 1fr); }
.us-commercial-notice { background: #fff; }
.us-notice-card { padding: clamp(32px,5vw,58px); border: 1px solid rgba(185,82,38,.22); border-radius: 28px; background: linear-gradient(135deg,#fff9f3,#f4efe4); }
.us-notice-card h2 { max-width: 820px; margin: 14px 0; color: var(--us-navy); font-size: clamp(2rem,4vw,3.6rem); line-height: 1.1; }
.us-notice-card p { max-width: 920px; margin: 0; color: var(--muted); }
.us-cta-active { box-shadow: 0 0 0 4px rgba(245,119,47,.2); }
.us-static-form-section { background: #f7f3e8; }
.us-form-layout { display: grid; grid-template-columns: minmax(280px,.65fr) minmax(0,1.35fr); gap: 64px; align-items: start; }
.us-form-intro h2 { margin: 14px 0; color: var(--us-navy); font-size: clamp(2.2rem,4vw,3.8rem); line-height: 1.08; }
.us-form-intro > p { color: var(--muted); }
.us-static-status { display: grid; gap: 4px; margin-top: 28px; padding: 18px; border-left: 4px solid var(--orange); background: #fff; }
.us-static-status strong { color: var(--us-navy); }
.us-static-status span { color: var(--muted); font-size: .82rem; }
.us-static-form-card { padding: 34px; border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: 0 20px 60px rgba(31,47,40,.09); }
.us-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.us-form-grid label { display: grid; gap: 8px; color: var(--us-navy); font-size: .78rem; font-weight: 800; }
.us-form-grid input,
.us-form-grid select,
.us-form-grid textarea { width: 100%; padding: 14px 15px; border: 1px solid #d5ddd8; border-radius: 11px; background: #f5f6f4; color: #6c7772; font: inherit; opacity: 1; }
.us-form-grid textarea { resize: none; }
.us-form-wide { grid-column: 1 / -1; }
.btn-disabled { width: 100%; margin-top: 24px; padding: 15px 20px; border: 0; border-radius: 10px; background: #c8cfcc; color: #68726e; font-weight: 850; cursor: not-allowed; }
.us-form-notice { margin: 14px 0 0; color: #74817c; font-size: .76rem; }
.us-privacy-placeholder { background: #fff; }

.us-sectors { background: var(--us-sand); scroll-margin-top: 118px; }
.us-sector-grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 18px; }
.us-sector-card { grid-column: span 2; display: flex; min-height: 390px; flex-direction: column; padding: 26px; border: 1px solid rgba(16,45,54,.13); border-radius: 22px; background: #fff; }
.us-sector-card small { display: block; margin-bottom: 16px; color: var(--us-teal); font-weight: 750; line-height: 1.5; }
.us-sector-card .card-link { margin-top: auto; padding-top: 26px; }

.us-platform { background: #fff; }
.us-platform-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.us-platform-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,.5fr); gap: 28px; min-height: 430px; padding: 38px; overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: var(--us-mint); }
.us-platform-card--dark { display: block; background: var(--us-navy); color: #fff; }
.us-platform-label { color: var(--orange-dark); font-size: .75rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.us-platform-card h3 { margin: 14px 0 20px; color: var(--us-navy); font-size: 1.8rem; line-height: 1.15; }
.us-platform-card--dark h3 { color: #fff; }
.us-platform-card ul { margin: 0; padding-left: 19px; color: #4d615b; }
.us-platform-card li + li { margin-top: 12px; }
.us-platform-card--dark ul { color: rgba(255,255,255,.68); }
.us-platform-card img { align-self: stretch; width: 100%; height: 100%; object-fit: cover; border-radius: 18px; }
.us-platform-card--dark .card-link { color: #ffc19b; }
.us-verification-note { margin: 24px 0 0; padding: 15px 18px; border-left: 4px solid var(--orange); background: var(--cream); color: var(--muted); font-size: .8rem; }

.us-pilot { padding-block: 72px; background: linear-gradient(115deg, var(--orange-dark), var(--orange)); color: #fff; }
.us-pilot-grid { display: grid; grid-template-columns: minmax(0,1fr) max-content; gap: 50px; align-items: center; }
.us-pilot .eyebrow { color: #fff1e7; }
.us-pilot h2 { max-width: 800px; margin: 12px 0; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.08; letter-spacing: -.045em; }
.us-pilot p { max-width: 760px; margin: 0; color: rgba(255,255,255,.8); }

.us-footer { padding: 54px 0 0; }
.us-footer-grid { display: grid; grid-template-columns: 1.35fr repeat(3, .65fr); gap: 48px; }
.us-footer-brand img { width: 76px; margin-bottom: 18px; }
.us-footer-brand p { margin: 0; color: rgba(255,255,255,.66); }
.us-footer-brand strong { color: #fff; }
.us-footer-col { display: grid; align-content: start; gap: 8px; }
.us-footer-col > strong { margin-bottom: 8px; color: #fff; }
.us-footer-col a { color: rgba(255,255,255,.64); font-size: .86rem; }
.us-footer-col a:hover { color: #ffbd91; }
.us-footer-notice { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-top: 42px; padding-block: 18px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.48); font-size: .74rem; }
.us-footer-notice p { max-width: 780px; margin: 0; }
.us-footer-notice span { white-space: nowrap; }

/* U.S. homepage: focused, low-density enterprise presentation. */
.us-home .us-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr); }
.us-home .us-hero-visual {
  aspect-ratio: 16 / 9;
  padding: 12px;
  overflow: hidden;
}
.us-home .us-hero-visual img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.us-home .us-info-card {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  justify-content: center;
}
.us-home .us-info-card h3 { margin-bottom: 14px; font-weight: 850; }
.us-home .us-sector-card { min-height: 300px; }
.us-home .us-sector-card p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.us-home .us-platform-card {
  display: flex;
  min-height: 360px;
  flex-direction: column;
}
.us-home .us-platform-card > div { display: flex; min-height: 100%; flex: 1; flex-direction: column; }
.us-home .us-platform-card .card-link { margin-top: auto; padding-top: 28px; }
.us-home .us-footer-notice { justify-content: flex-end; }

.us-clean-page .us-solution-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr); }
.us-clean-page .us-solution-visual {
  aspect-ratio: 16 / 9;
  padding: 12px;
  overflow: hidden;
}
.us-clean-page .us-solution-visual img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.us-clean-page .us-info-card {
  display: flex;
  min-height: 220px;
  flex-direction: column;
  justify-content: center;
}
.us-clean-page .us-info-card h3 { margin-bottom: 14px; font-weight: 850; }
.us-clean-page .us-feature-grid article { display: flex; min-height: 220px; flex-direction: column; justify-content: center; }
.us-clean-page .us-location-grid { grid-template-columns: repeat(4, 1fr); }
.us-clean-page .us-location-grid article { min-height: 230px; }
.us-clean-page .us-menu-grid { grid-template-columns: repeat(4, 1fr); }
.us-clean-page .us-menu-card { min-height: 300px; }
.us-clean-page .us-footer-notice { justify-content: flex-end; }

.us-solution-hero { padding: 42px 0 78px; overflow: hidden; background: linear-gradient(135deg, #eff6f0 0%, #f7f3e8 58%, #dceee6 100%); }
.us-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 34px; color: #66716b; font-size: .82rem; }
.us-breadcrumbs a { color: var(--us-teal); font-weight: 750; }
.us-solution-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.75fr); gap: 64px; align-items: center; }
.us-solution-hero h1 { max-width: 840px; margin: 18px 0; color: var(--us-navy); font-size: clamp(3rem,5.2vw,5.2rem); line-height: 1.02; letter-spacing: -.055em; }
.us-solution-hero-grid > div > p:not(.us-draft-note) { max-width: 780px; margin: 0 0 28px; color: #53635e; font-size: 1.06rem; }
.us-solution-hero .us-draft-note { color: #73807b; }
.us-solution-visual { padding: 14px; border: 1px solid rgba(16,45,54,.12); border-radius: 30px; background: rgba(255,255,255,.62); box-shadow: 0 28px 70px rgba(31,47,40,.14); }
.us-solution-visual img { width: 100%; min-height: 470px; object-fit: cover; border-radius: 20px; }
.us-solution-visual figcaption { color: #71807a; }

.us-campus-locations { background: #fbfaf6; }
.us-location-grid { grid-template-columns: repeat(2, 1fr); }
.us-location-grid article { min-height: 270px; padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.us-sector-switcher { padding-block: 72px; background: var(--us-mint); }
.us-switcher-grid { grid-template-columns: repeat(4, 1fr); }
.us-switcher-grid--three { grid-template-columns: repeat(3, 1fr); }
.us-switcher-grid a { display: flex; min-height: 116px; align-items: center; justify-content: space-between; gap: 20px; padding: 22px; border: 1px solid rgba(16,45,54,.14); border-radius: 18px; background: #fff; color: var(--us-navy); font-weight: 850; line-height: 1.3; }
.us-switcher-grid a:hover { border-color: var(--orange); color: var(--orange-dark); transform: translateY(-2px); }
.us-switcher-grid span { color: var(--orange-dark); font-size: 1.3rem; }

@media (max-width: 1180px) {
  .us-site .brand-copy small { max-width: 180px; }
  .us-site .nav-list { gap: 0 !important; }
}

@media (max-width: 980px) {
  .us-hero-grid,
  .us-solution-hero-grid,
  .us-value-layout { grid-template-columns: 1fr; }
  .us-form-layout { grid-template-columns: 1fr; }
  .us-hero-grid { gap: 42px; }
  .us-hero-visual img,
  .us-solution-visual img { min-height: 420px; }
  .us-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .us-proof-grid > div:nth-child(2) { border-right: 0; }
  .us-proof-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .us-card-grid--three,
  .us-feature-grid--three,
  .us-feature-grid--four { grid-template-columns: 1fr; }
  .us-sector-grid { grid-template-columns: repeat(2, 1fr); }
  .us-sector-card { grid-column: auto; min-height: 330px; }
  .us-sector-card:last-child { grid-column: 1 / -1; min-height: 0; }
  .us-platform-grid { grid-template-columns: 1fr; }
  .us-menu-grid { grid-template-columns: 1fr; }
  .us-process-grid { grid-template-columns: 1fr; }
  .us-process-grid--four { grid-template-columns: repeat(2, 1fr); }
  .us-pricing-grid { grid-template-columns: 1fr; }
  .us-footer-grid { grid-template-columns: repeat(3, 1fr); }
  .us-footer-brand { grid-column: 1 / -1; }
  .us-footer-notice { display: grid; }
  .us-footer-notice span { white-space: normal; }
  .us-switcher-grid { grid-template-columns: repeat(2, 1fr); }
  .us-home .us-hero-grid { grid-template-columns: 1fr; }
  .us-clean-page .us-solution-hero-grid { grid-template-columns: 1fr; }
  .us-clean-page .us-location-grid { grid-template-columns: repeat(2, 1fr); }
  .us-clean-page .us-menu-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .us-site .brand-copy small { max-width: 150px; font-size: .58rem; }
  .us-hero-grid { min-height: 0; padding-block: 54px; }
  .us-hero h1,
  .us-solution-hero h1 { font-size: clamp(2.55rem, 13vw, 4rem); }
  .us-hero-visual img,
  .us-solution-visual img { min-height: 300px; }
  .us-proof-grid,
  .us-feature-grid,
  .us-sector-grid,
  .us-location-grid,
  .us-switcher-grid,
  .us-footer-grid { grid-template-columns: 1fr; }
  .us-proof-grid > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .us-proof-grid > div:last-child { border-bottom: 0; }
  .us-sector-card:last-child,
  .us-footer-brand { grid-column: auto; }
  .us-platform-card { grid-template-columns: 1fr; padding: 28px; }
  .us-platform-card img { max-height: 280px; }
  .us-pilot-grid { grid-template-columns: 1fr; gap: 28px; }
  .us-pilot-grid .btn { width: 100%; }
  .us-solution-hero { padding-top: 28px; }
  .us-spec-list > div { grid-template-columns: 1fr; gap: 8px; }
  .us-responsibility-grid { grid-template-columns: 1fr; }
  .us-process-grid--four { grid-template-columns: 1fr; }
  .us-form-grid { grid-template-columns: 1fr; }
  .us-form-wide { grid-column: auto; }
  .us-home .us-hero-visual img { min-height: 0; }
  .us-clean-page .us-solution-visual img { min-height: 0; }
  .us-clean-page .us-location-grid { grid-template-columns: 1fr; }
  .us-clean-page .us-menu-grid { grid-template-columns: 1fr; }
}

/* U.S. edition visual alignment
   Keep the localized English content while using the same visual grammar as
   the Taiwan edition: warm paper, SVM green, orange actions, arched media,
   restrained type scales, compact cards, and matching section rhythm. */
.us-site {
  --us-navy: var(--green);
  --us-teal: var(--green-2);
  --us-mint: var(--cream);
  --us-sand: var(--cream);
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.75;
}

.us-site .header-top { min-height: 78px; }
.us-site .brand-copy strong { font-size: 1rem; letter-spacing: .04em; }
.us-site .brand-copy small { max-width: 250px; margin-top: 4px; font-size: .72rem; letter-spacing: 0; }
.us-site .nav-list { gap: 12px !important; }
.us-site .nav-link { font-size: .88rem !important; }
.us-site .header-cta .btn { min-height: 50px; padding-inline: 25px; }
.us-site .eyebrow { color: var(--orange-dark); }
.us-site .eyebrow::before { width: 28px; }
.us-site .us-venue-selector .venue-rail { grid-template-columns: repeat(5, minmax(180px, 1fr)); }
.us-site .us-venue-selector .venue-tile strong { font-size: .96rem; line-height: 1.25; }

.us-hero {
  background: var(--green);
}
.us-hero::before {
  opacity: .2;
  background: radial-gradient(circle at 22% 18%, #6d9b7f 0, transparent 36%), linear-gradient(120deg, transparent 54%, #0d2822 54%);
}
.us-hero-grid,
.us-home .us-hero-grid {
  grid-template-columns: 1.08fr .92fr;
  gap: 42px;
  min-height: 620px;
  padding-block: 72px;
}
.us-hero h1 {
  max-width: 760px;
  margin: 18px 0;
  font-size: clamp(2.55rem, 4.5vw, 4.3rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.us-hero-copy > p:not(.us-draft-note) {
  max-width: 680px;
  margin-bottom: 28px;
  color: rgba(255,255,255,.82);
  font-size: 1.1rem;
}
.us-hero-visual,
.us-home .us-hero-visual {
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.us-hero-visual img,
.us-home .us-hero-visual img {
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  border-radius: 220px 220px 28px 28px;
  box-shadow: 0 40px 80px rgba(0,0,0,.32);
}

.us-section-heading {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(280px, .54fr);
  gap: 60px;
  align-items: end;
  max-width: none;
  margin-bottom: 42px;
}
.us-section-heading h2 {
  margin: 12px 0 0;
  color: var(--green);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.14;
  letter-spacing: -.035em;
}
.us-section-heading p { max-width: none; margin: 0; color: var(--muted); font-size: 1.02rem; }
.us-section-heading--center {
  display: block;
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}

.us-challenges { background: var(--paper); }
.us-info-card,
.us-home .us-info-card,
.us-clean-page .us-info-card {
  min-height: 0;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 35px rgba(31,47,40,.06);
}
.us-info-card h3,
.us-home .us-info-card h3,
.us-clean-page .us-info-card h3,
.us-location-grid h3,
.us-sector-card h3 { color: var(--green); font-size: 1.18rem; line-height: 1.25; }
.us-info-card p,
.us-location-grid p,
.us-sector-card p { color: var(--muted); }

.us-value,
.us-campus-solution { background: var(--green); }
.us-value-layout { gap: 64px; }
.us-feature-grid { gap: 16px; }
.us-feature-grid article,
.us-clean-page .us-feature-grid article {
  min-height: 190px;
  padding: 26px;
  border-radius: 22px;
}

.us-sectors { background: var(--cream); }
.us-sector-grid {
  grid-template-columns: repeat(6, 1fr);
  gap: 22px;
}
.us-sector-card,
.us-home .us-sector-card {
  grid-column: span 2;
  min-height: 250px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 35px rgba(31,47,40,.06);
}
.us-sector-card:nth-child(4) { grid-column: 2 / span 2; }
.us-sector-card:nth-child(5) { grid-column: 4 / span 2; }
.us-home .us-sector-card p { display: block; overflow: visible; }

.us-platform-grid { gap: 22px; }
.us-platform-card,
.us-home .us-platform-card {
  min-height: 330px;
  padding: 34px;
  border-color: var(--line);
  border-radius: var(--radius);
  background: var(--cream);
  box-shadow: 0 10px 35px rgba(31,47,40,.06);
}
.us-platform-card--dark { background: var(--green); }
.us-platform-card h3 { color: var(--green); }
.us-platform-card--dark h3 { color: #fff; }

.us-solution-hero {
  position: relative;
  padding: 48px 0 72px;
  background: var(--cream);
}
.us-solution-hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -120px;
  top: -170px;
  border-radius: 50%;
  background: rgba(229,108,47,.1);
}
.us-solution-hero > .container { position: relative; z-index: 1; }
.us-breadcrumbs { margin-bottom: 34px; color: var(--muted); }
.us-breadcrumbs a { color: var(--green); }
.us-solution-hero-grid,
.us-clean-page .us-solution-hero-grid {
  grid-template-columns: 1fr .72fr;
  gap: 70px;
}
.us-solution-hero h1 {
  max-width: 760px;
  margin: 18px 0;
  color: var(--green);
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.us-solution-hero-grid > div > p:not(.us-draft-note) { color: var(--muted); font-size: 1.08rem; }
.us-solution-visual,
.us-clean-page .us-solution-visual {
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.us-solution-visual img,
.us-clean-page .us-solution-visual img {
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 200px 200px 24px 24px;
  box-shadow: var(--shadow);
}

.us-campus-locations { background: var(--paper); }
.us-location-grid,
.us-clean-page .us-location-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
.us-location-grid article,
.us-clean-page .us-location-grid article {
  min-height: 180px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(31,47,40,.06);
}
.us-location-grid article > span { margin-bottom: 22px; color: var(--orange-dark); }

.us-menu-grid,
.us-clean-page .us-menu-grid { grid-template-columns: repeat(2, 1fr); gap: 22px; }
.us-menu-card,
.us-clean-page .us-menu-card {
  min-height: 0;
  padding: 26px;
  border-radius: var(--radius);
  box-shadow: 0 10px 35px rgba(31,47,40,.06);
}

.us-process-grid { gap: 16px; }
.us-process-grid li {
  min-height: 220px;
  padding: 28px;
  border-color: var(--line);
  border-radius: 22px;
  background: #fff;
}
.us-process-grid span { color: var(--orange); }
.us-process-grid strong { color: var(--green); }
.us-process-grid p { color: var(--muted); }
.us-value .us-process-grid li,
.us-campus-solution .us-process-grid li { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
.us-value .us-process-grid strong,
.us-campus-solution .us-process-grid strong { color: #fff; }
.us-value .us-process-grid p,
.us-campus-solution .us-process-grid p { color: rgba(255,255,255,.65); }

.us-pricing-grid { gap: 22px; }
.us-plan-card {
  min-height: 380px;
  padding: 28px;
  border-radius: var(--radius);
  box-shadow: 0 10px 35px rgba(31,47,40,.06);
}
.us-plan-card h3 { color: var(--green); }
.us-responsibility-grid article,
.us-spec-list,
.us-static-form-card,
.us-notice-card { border-radius: var(--radius); box-shadow: 0 10px 35px rgba(31,47,40,.06); }

.us-sector-switcher {
  padding-block: 64px;
  background: var(--cream);
}
.us-switcher-grid { gap: 14px; }
.us-switcher-grid a {
  min-height: 126px;
  padding: 20px;
  border-color: var(--line);
  border-radius: 18px;
  color: var(--green);
  box-shadow: 0 10px 28px rgba(31,47,40,.06);
}

.us-pilot {
  padding-block: 68px;
  background: var(--orange);
}
.us-pilot-grid { gap: 40px; }
.us-pilot h2 {
  max-width: 680px;
  margin: 0;
  font-size: clamp(2rem,4vw,3.2rem);
  line-height: 1.15;
  letter-spacing: -.035em;
}
.us-pilot p { margin-top: 12px; color: rgba(255,255,255,.78); }

.us-footer { padding: 0; }
.us-footer-grid {
  grid-template-columns: 1.2fr repeat(3, .85fr);
  align-items: start;
  gap: 36px;
  padding-block: 38px 32px;
}
.us-footer-brand img {
  width: 112px;
  margin-bottom: 14px;
  padding: 7px;
  border-radius: 8px;
  background: #fff;
}
.us-footer-brand p { max-width: 320px; font-size: .9rem; }
.us-footer-col { gap: 0; }
.us-footer-col > strong { margin-bottom: 10px; font-size: .92rem; letter-spacing: .08em; }
.us-footer-col a { padding: 3px 0; font-size: .88rem; }
.us-footer-notice {
  margin-top: 0;
  padding: 14px 0 16px;
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: .78rem;
}

@media (max-width: 1100px) {
  .us-hero-grid,
  .us-home .us-hero-grid,
  .us-solution-hero-grid,
  .us-clean-page .us-solution-hero-grid { grid-template-columns: 1fr; }
  .us-hero-visual,
  .us-solution-visual { max-width: 900px; }
}

@media (max-width: 980px) {
  .us-section-heading { display: block; }
  .us-section-heading p { margin-top: 14px; }
  .us-sector-grid { grid-template-columns: repeat(2, 1fr); }
  .us-sector-card,
  .us-sector-card:nth-child(4),
  .us-sector-card:nth-child(5) { grid-column: auto; }
  .us-sector-card:last-child { grid-column: 1 / -1; }
  .us-location-grid,
  .us-clean-page .us-location-grid { grid-template-columns: repeat(2, 1fr); }
  .us-footer-grid { grid-template-columns: repeat(3, 1fr); }
  .us-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .us-site .brand-copy small { max-width: 150px; font-size: .58rem; }
  .us-hero-grid,
  .us-home .us-hero-grid { min-height: 0; padding-block: 54px; }
  .us-hero h1,
  .us-solution-hero h1 { font-size: clamp(2.3rem, 12vw, 3.5rem); }
  .us-hero-visual img,
  .us-home .us-hero-visual img,
  .us-solution-visual img,
  .us-clean-page .us-solution-visual img { border-radius: 120px 120px 20px 20px; }
  .us-sector-grid,
  .us-location-grid,
  .us-clean-page .us-location-grid,
  .us-menu-grid,
  .us-clean-page .us-menu-grid,
  .us-footer-grid { grid-template-columns: 1fr; }
  .us-sector-card:last-child,
  .us-footer-brand { grid-column: auto; }
  .us-footer-grid { gap: 26px; }
  .us-site .us-venue-selector .venue-rail { grid-template-columns: repeat(5, 78vw); }
}

/* U.S. / Taiwan layout parity pass
   The U.S. edition keeps localized copy and five sectors, while sharing the
   Taiwan edition's compact hierarchy, alternating section rhythm and footer. */
.us-site .us-sector-switcher { display: none; }

.us-site .us-footer-grid {
  grid-template-columns: 1.2fr .85fr 1fr;
}
.us-site .us-footer-grid > .us-footer-col:last-child { display: none; }

.us-home .us-value {
  padding-block: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.us-home .us-value-layout { display: block; }
.us-home .us-value .us-section-heading { display: none; }
.us-home .us-value .us-feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.us-home .us-value .us-feature-grid article {
  min-height: 0;
  padding: 24px 22px;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
}
.us-home .us-value .us-feature-grid article:last-child { border-right: 0; }
.us-home .us-value .us-feature-grid strong { color: var(--green); font-size: 1.08rem; }
.us-home .us-value .us-feature-grid p { margin: 4px 0 0; color: var(--muted); font-size: .85rem; }

.us-sector-detail .us-solution-hero {
  min-height: 330px;
  padding: 42px 0 56px;
  overflow: hidden;
  text-align: center;
}
.us-sector-detail .us-breadcrumbs {
  justify-content: center;
  margin-bottom: 24px;
}
.us-sector-detail .us-solution-hero-grid,
.us-sector-detail.us-clean-page .us-solution-hero-grid {
  position: relative;
  display: block;
  max-width: 940px;
  margin-inline: auto;
}
.us-sector-detail .us-solution-hero-grid > div {
  position: relative;
  z-index: 2;
}
.us-sector-detail .us-solution-hero h1 {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(2.55rem, 4.7vw, 3.9rem);
}
.us-sector-detail .us-solution-hero-grid > div > p:not(.us-draft-note) {
  max-width: 760px;
  margin: 0 auto;
}
.us-sector-detail .us-solution-hero .button-row {
  justify-content: center;
  margin-top: 26px;
}
.us-sector-detail .us-solution-visual,
.us-sector-detail.us-clean-page .us-solution-visual {
  position: absolute;
  z-index: 0;
  inset: -80px -18vw -70px;
  margin: 0;
  opacity: .075;
  pointer-events: none;
}
.us-sector-detail .us-solution-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--cream), rgba(247,240,227,.5), var(--cream));
}
.us-sector-detail .us-solution-visual img,
.us-sector-detail.us-clean-page .us-solution-visual img {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  border-radius: 0;
  box-shadow: none;
}

.us-sector-detail .us-challenges .container {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(420px, 1.22fr);
  gap: 70px;
  align-items: start;
}
.us-sector-detail .us-challenges .us-section-heading {
  position: sticky;
  top: 150px;
  display: block;
  margin: 0;
}
.us-sector-detail .us-challenges .us-section-heading p { margin-top: 16px; }
.us-sector-detail .us-challenges .us-card-grid {
  display: block;
}
.us-sector-detail .us-challenges .us-info-card {
  padding: 24px;
  border: 0;
  border-left: 4px solid var(--orange);
  border-radius: 0 18px 18px 0;
}
.us-sector-detail .us-challenges .us-info-card + .us-info-card { margin-top: 14px; }

.us-sector-detail .us-campus-solution {
  background: var(--cream);
}
.us-sector-detail .us-campus-solution .eyebrow,
.us-sector-detail .us-campus-solution .us-section-heading h2 { color: var(--green); }
.us-sector-detail .us-campus-solution .us-section-heading p { color: var(--muted); }
.us-sector-detail .us-campus-solution .us-feature-grid article {
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 10px 35px rgba(31,47,40,.06);
}
.us-sector-detail .us-campus-solution .us-feature-grid strong { color: var(--green); }
.us-sector-detail .us-campus-solution .us-feature-grid p { color: var(--muted); }

.us-clean-page .us-solution-hero--workplace h1,
.us-clean-page .us-solution-hero--plans h1 { font-size: clamp(2.4rem, 4vw, 3.25rem); }
.us-clean-page .us-solution-hero--menu h1,
.us-clean-page .us-solution-hero--pilot h1 { font-size: clamp(2.5rem, 4.5vw, 3.7rem); }

@media (max-width: 980px) {
  .us-site .us-footer-grid { grid-template-columns: 1fr 1fr; }
  .us-site .us-footer-brand { grid-column: 1 / -1; }
  .us-sector-detail .us-challenges .container { grid-template-columns: 1fr; gap: 36px; }
  .us-sector-detail .us-challenges .us-section-heading { position: static; }
  .us-home .us-value .us-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .us-home .us-value .us-feature-grid article:nth-child(2) { border-right: 0; }
  .us-home .us-value .us-feature-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 680px) {
  .us-site .us-footer-grid { grid-template-columns: 1fr; }
  .us-site .us-footer-brand { grid-column: auto; }
  .us-home .us-value .us-feature-grid { grid-template-columns: 1fr; }
  .us-home .us-value .us-feature-grid article {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .us-home .us-value .us-feature-grid article:last-child { border-bottom: 0; }
  .us-sector-detail .us-solution-hero { min-height: 0; padding: 34px 0 46px; }
  .us-sector-detail .us-solution-hero h1 { font-size: clamp(2.15rem, 10vw, 3rem); }
  .us-sector-detail .us-solution-visual { inset: -40px -80vw -50px; }
}

/* Rebuilt U.S. homepage — follows the Taiwan edition's shared layout system. */
.us-home-rebuild .hero .btn.secondary {
  border-color: rgba(255,255,255,.4);
  color: #fff;
}
.us-home-rebuild .hero .btn.secondary:hover {
  border-color: #fff;
  background: #fff;
  color: var(--green);
}
.us-home-rebuild .hero-stamp { width: 160px; font-size: .9rem; }
.us-home-rebuild .cards.three { align-items: stretch; }
.us-home-rebuild .cards.three .card,
.us-home-rebuild .cards.three .card-body { height: 100%; }
.us-home-rebuild .home-menu-content .prose { margin-bottom: 28px; }
.us-home-rebuild .home-menu-content .section-lead { margin-top: 16px; }

/* Rebuilt U.S. sector pages intentionally mirror the Taiwan sector layout. */
.us-rebuild-sector .us-venue-selector .venue-rail { grid-template-columns: repeat(6, minmax(160px, 1fr)); }
.us-rebuild-sector .solution-detail-hero { padding-block: 72px 62px; background: var(--cream); }
.us-rebuild-sector .solution-detail-hero .hero-lead { max-width: 820px; margin: 24px auto 0; color: var(--muted); }
.us-rebuild-sector .sector-context-image { overflow: hidden; border-radius: var(--radius); background: #e9eee9; box-shadow: var(--shadow); }
.us-rebuild-sector .sector-context-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.us-rebuild-sector .sector-feature-list strong { color: var(--green); }
.us-rebuild-sector .sector-disclaimer { margin-top: 20px; color: var(--muted); font-size: .78rem; }
.us-rebuild-sector .solution-context-grid article { min-height: 290px; }
.us-rebuild-sector .planning-list { margin-top: 0; }
.us-rebuild-sector .placement { min-height: 116px; display: flex; align-items: center; justify-content: center; padding: 20px; text-align: center; }
.us-rebuild-sector .dark-section .btn.secondary { color: #fff; border-color: rgba(255,255,255,.42); }
.us-rebuild-sector .dark-section .btn.secondary:hover { border-color: #fff; background: #fff; color: var(--green); }
.us-comparison-wrap { overflow-x: auto; }
.us-comparison-table { width: 100%; min-width: 860px; border-collapse: collapse; text-align: left; }
.us-comparison-table th, .us-comparison-table td { padding: 18px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); vertical-align: top; }
.us-comparison-table th:last-child, .us-comparison-table td:last-child { border-right: 0; }
.us-comparison-table thead th { background: var(--green); color: #fff; }
.us-comparison-table tbody th { color: var(--green); }
.us-comparison-table tbody tr:last-child > * { border-bottom: 0; }
.menu-showcase-rebuild .menu-category + .menu-category { margin-top: 24px; }
.menu-category { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 36px rgba(31,47,40,.06); }
.menu-category header > span { color: var(--orange-dark); font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.menu-category header h3 { margin: 8px 0 5px; color: var(--green); font-size: 1.7rem; }
.menu-category header p { margin: 0; color: var(--muted); }
.menu-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 24px; }
.menu-items > div { padding: 22px; border-radius: 18px; background: var(--cream); }
.menu-items h4 { margin: 0 0 8px; color: var(--green); font-size: 1rem; line-height: 1.35; }
.menu-items p { margin: 0; color: var(--muted); font-size: .88rem; }
@media (max-width: 820px) { .menu-items { grid-template-columns: 1fr; } }
.us-contact-rebuild .page-hero { background: var(--cream); }
.us-contact-rebuild .page-hero-visual img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow); }
.assessment-steps { display: grid; gap: 14px; margin: 28px 0; }
.assessment-steps article { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 18px; border-radius: 16px; background: var(--cream); }
.assessment-steps article > span { color: var(--orange-dark); font-weight: 900; }
.assessment-steps strong { color: var(--green); }
.assessment-steps p { margin: 4px 0 0; color: var(--muted); font-size: .88rem; }
.contact-form-head { margin-bottom: 24px; }
.contact-form-head h2,
.contact-form-head h3 { margin: 10px 0; color: var(--green); font-size: clamp(1.45rem, 2.6vw, 2rem); }
.contact-form-head p { color: var(--muted); }
.contact-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 28px; padding: 6px; border: 1px solid var(--line); border-radius: 16px; background: var(--cream); }
.contact-tab { min-height: 48px; padding: 10px 14px; border: 0; border-radius: 11px; background: transparent; color: var(--green); font: inherit; font-size: .9rem; font-weight: 850; cursor: pointer; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.contact-tab:hover { background: rgba(23, 63, 53, .08); }
.contact-tab.is-active { background: var(--green); color: #fff; box-shadow: 0 8px 20px rgba(23, 63, 53, .16); }
.contact-tab:focus-visible { outline: 3px solid rgba(239, 111, 45, .42); outline-offset: 2px; }
.contact-tab-panel[hidden] { display: none; }
.contact-tab-panel { min-width: 0; }
.us-contact-rebuild #distributor-panel textarea,
#contact-form #distributor-panel textarea { min-height: 112px; }
.field-optional { color: var(--muted); font-size: .76rem; font-weight: 650; }
.partner-overview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: -4px 0 24px; }
.partner-overview article { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--cream); }
.partner-overview strong,
.partner-overview span { display: block; }
.partner-overview strong { color: var(--green); font-size: .92rem; }
.partner-overview span { margin-top: 5px; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.partner-notice { margin-top: 18px; padding: 16px 18px; border-left: 4px solid var(--orange); border-radius: 0 12px 12px 0; background: var(--cream); color: var(--muted); font-size: .84rem; line-height: 1.7; }
.partner-notice strong { color: var(--green); }
.contact-form-actions { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.form-note { display: block; margin-top: 10px; color: var(--muted); }
.us-contact-rebuild .draft-output { white-space: pre-wrap; overflow-wrap: anywhere; }
.us-contact-rebuild .breadcrumbs span:first-of-type { display: none; }

.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.footer-legal-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 16px; }
.footer-legal-links a { color: rgba(255,255,255,.68); }
.footer-legal-links a:hover { color: #ffbd91; }

.us-solution-index-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.us-solution-index-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 36px rgba(31,47,40,.06); }
.us-solution-index-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.us-solution-index-card > div { display: grid; align-content: start; min-height: 224px; padding: 24px; }
.us-solution-index-card h2 { margin: 0 0 10px; color: var(--green); font-size: 1.35rem; }
.us-solution-index-card p { margin: 0 0 18px; color: var(--muted); }
.us-solution-index-card .text-link { align-self: end; margin-top: auto; }

.us-legal-hero .container { max-width: 940px; }
.us-legal-hero h1 { max-width: 820px; }
.us-legal-hero .notice { margin-top: 28px; }
.us-legal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.us-legal-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.us-legal-grid article > span { color: var(--orange-dark); font-size: .78rem; font-weight: 900; letter-spacing: .08em; }
.us-legal-grid h2 { margin: 10px 0; color: var(--green); font-size: 1.35rem; }
.us-legal-grid p { margin: 0; color: var(--muted); }

@media (max-width: 680px) {
  .contact-form { padding: 24px 20px; }
  .contact-tabs { gap: 5px; padding: 5px; }
  .contact-tab { padding-inline: 8px; font-size: .8rem; }
  .partner-overview { grid-template-columns: 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-legal-links { justify-content: flex-start; }
  .us-solution-index-grid, .us-legal-grid { grid-template-columns: 1fr; }
  .us-solution-index-card > div { min-height: 0; }
  .us-rebuild-sector .us-venue-selector .venue-rail { grid-template-columns: repeat(6, 78vw); }
  .us-rebuild-sector .solution-detail-hero { padding-block: 52px 46px; }
  .us-rebuild-sector .solution-context-grid article { min-height: 0; }
}
.us-home-rebuild .us-home-faq-action {
  justify-content: center;
  margin-top: 28px;
}
.us-home-rebuild [data-claim-review="required"] { position: relative; }

@media (max-width: 560px) {
  .us-home-rebuild .home-hero-title br { display: none; }
  .us-home-rebuild .cta-grid h2 br { display: none; }
}

/* Europe: demand-led, high-whitespace B2B presentation. */
.eu-site {
  --eu-ink: #0b1f33;
  --eu-blue: #3765f4;
  --eu-blue-dark: #2148c9;
  --eu-cyan: #6ee7ea;
  --eu-pale: #f3f6fb;
  --eu-mist: #e9eff8;
  --eu-line: rgba(11,31,51,.12);
  --eu-muted: #5c6b7b;
  --eu-shadow: 0 24px 70px rgba(20,42,78,.11);
  color: var(--eu-ink);
  background: #fff;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.6;
}
.eu-site .container { width: min(calc(100% - 48px), 1240px); }
.eu-site h1,
.eu-site h2,
.eu-site h3 { text-wrap: balance; }
.eu-site p { text-wrap: pretty; }
.eu-site .site-header { border-color: var(--eu-line); background: rgba(255,255,255,.92); box-shadow: 0 10px 38px rgba(11,31,51,.06); }
.eu-site .header-top { min-height: 82px; }
.eu-site .brand img { width: 58px; height: 48px; }
.eu-site .brand-copy strong { color: var(--eu-ink); font-size: 1.05rem; letter-spacing: .14em; }
.eu-site .brand-copy small { max-width: 280px; margin-top: 3px; color: var(--eu-muted); font-size: .7rem; letter-spacing: .025em; }
.eu-site .main-nav { border-color: var(--eu-line); }
.eu-site .nav-list { gap: 30px !important; }
.eu-site .nav-link { min-height: 54px; padding-inline: 2px !important; color: #24384d; font-size: .82rem !important; font-weight: 730; }
.eu-site .nav-link:hover,
.eu-site .nav-item.active > .nav-link { color: var(--eu-blue-dark); border-bottom-color: var(--eu-blue); }
.eu-site .subnav { min-width: 260px; border-color: var(--eu-line); border-radius: 0 0 18px 18px; box-shadow: var(--eu-shadow); }
.eu-site .subnav a:hover { color: var(--eu-blue-dark); background: #eef3ff; }
.eu-site .header-cta .btn { min-height: 44px; padding-inline: 20px; border-radius: 10px; background: var(--eu-blue); box-shadow: 0 10px 24px rgba(55,101,244,.22); font-size: .78rem; }
.eu-site .header-cta .btn:hover { background: var(--eu-blue-dark); box-shadow: 0 13px 28px rgba(55,101,244,.28); }
.eu-header-actions { gap: 18px; }
.eu-language { display: inline-flex; align-items: center; gap: 9px; color: #8290a0; font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.eu-language > * + *::before { content: "/"; margin-right: 9px; color: #c2cad3; }
.eu-language span { color: var(--eu-blue-dark); }
.eu-language a:hover { color: var(--eu-blue); }
.eu-site .nav-toggle { border-color: var(--eu-line); }
.eu-site .nav-toggle span { background: var(--eu-ink); }

.eu-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--eu-blue);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.eu-kicker::before { content: ""; width: 30px; height: 2px; background: currentColor; }
.eu-hero { position: relative; overflow: hidden; background: var(--eu-ink); color: #fff; }
.eu-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .8;
  background: radial-gradient(circle at 82% 12%, rgba(55,101,244,.32), transparent 30%), radial-gradient(circle at 12% 82%, rgba(110,231,234,.13), transparent 25%);
}
.eu-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: 70px; align-items: center; min-height: 690px; padding-block: 88px; }
.eu-hero .eu-kicker { color: var(--eu-cyan); }
.eu-hero h1 { max-width: 830px; margin: 23px 0 24px; font-size: clamp(3.15rem,5.4vw,5.75rem); line-height: .99; letter-spacing: -.058em; }
.eu-hero h1 span,
.eu-hero h1 em { display: block; }
.eu-hero h1 em { margin-top: 16px; color: #aab8ca; font-size: .54em; font-style: normal; font-weight: 570; line-height: 1.1; letter-spacing: -.035em; }
.eu-hero-copy > p { max-width: 760px; margin: 0 0 32px; color: rgba(255,255,255,.7); font-size: 1.03rem; }
.eu-btn-primary { border-radius: 10px; background: var(--eu-blue); box-shadow: 0 14px 34px rgba(55,101,244,.3); }
.eu-btn-primary:hover { background: #4b76f7; }
.eu-hero .eu-btn-secondary { border-color: rgba(255,255,255,.3); border-radius: 10px; color: #fff; }
.eu-hero .eu-btn-secondary:hover { background: #fff; color: var(--eu-ink); }
.eu-hero-visual { position: relative; margin: 0; }
.eu-facility-grid {
  position: relative;
  display: grid;
  min-height: 520px;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 30px;
  background: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(145deg,#172b42,#0f2033);
  background-size: 32px 32px,32px 32px,auto;
  box-shadow: 0 45px 100px rgba(0,0,0,.38);
}
.eu-facility-grid::before { content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%; background: rgba(55,101,244,.28); filter: blur(68px); }
.eu-machine { position: relative; z-index: 2; width: min(64%,310px); padding: 20px 19px 18px; border: 1px solid rgba(255,255,255,.22); border-radius: 18px 18px 9px 9px; background: linear-gradient(145deg,#dfe6eb,#8795a3); box-shadow: 0 36px 55px rgba(0,0,0,.42); }
.eu-machine::after { content: ""; position: absolute; right: 14px; bottom: -14px; left: 14px; height: 14px; border-radius: 0 0 7px 7px; background: #516070; }
.eu-machine-brand { margin-bottom: 13px; color: #1c3851; font-size: .72rem; font-weight: 900; letter-spacing: .16em; }
.eu-machine-screen { min-height: 185px; padding: 22px; border-radius: 10px; background: linear-gradient(145deg,#0f2d45,#173f55); color: #fff; }
.eu-machine-screen > span { display: block; color: var(--eu-cyan); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.eu-machine-screen strong { display: block; margin-top: 29px; font-size: 1.25rem; line-height: 1.2; }
.eu-machine-screen small { display: block; margin-top: 8px; color: rgba(255,255,255,.58); }
.eu-machine-ui { display: flex; gap: 7px; margin-top: 25px; }
.eu-machine-ui i { width: 32px; height: 4px; border-radius: 99px; background: rgba(255,255,255,.18); }
.eu-machine-ui i:first-child { width: 68px; background: var(--eu-blue); }
.eu-machine-bay { display: grid; min-height: 126px; place-items: center; margin-top: 15px; border-radius: 7px; background: #1b2835; }
.eu-machine-bay span { width: 62%; height: 30px; border: 1px solid rgba(255,255,255,.25); border-radius: 5px; background: #0b131c; }
.eu-machine-status { margin-top: 12px; color: #1c3851; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.eu-visual-data { position: absolute; z-index: 3; display: grid; min-width: 142px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 13px; background: rgba(9,25,40,.88); box-shadow: 0 18px 38px rgba(0,0,0,.3); backdrop-filter: blur(12px); }
.eu-visual-data span { color: rgba(255,255,255,.55); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.eu-visual-data strong { margin-top: 3px; color: #fff; font-size: 1rem; }
.eu-visual-data--top { top: 58px; right: 34px; }
.eu-visual-data--bottom { bottom: 54px; left: 28px; }
.eu-hero-visual figcaption { padding: 12px 3px 0; color: rgba(255,255,255,.45); font-size: .7rem; }

.eu-proof { border-bottom: 1px solid var(--eu-line); background: #fff; }
.eu-proof-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.eu-proof-grid > div { min-height: 146px; padding: 30px 26px; border-right: 1px solid var(--eu-line); }
.eu-proof-grid > div:last-child { border-right: 0; }
.eu-proof-grid strong { display: block; color: var(--eu-ink); font-size: 1rem; line-height: 1.25; }
.eu-proof-grid span { display: block; margin-top: 9px; color: var(--eu-muted); font-size: .76rem; line-height: 1.55; }
.eu-verification { border-bottom: 1px solid #ead9b4; background: #fff8e8; color: #725a27; }
.eu-verification .container { display: flex; gap: 20px; padding-block: 16px; font-size: .74rem; }
.eu-verification strong { min-width: max-content; color: #5b451d; }

.eu-section { padding-block: 112px; }
.eu-section-heading { max-width: 880px; margin-bottom: 54px; }
.eu-section-heading h2 { margin: 16px 0 14px; color: var(--eu-ink); font-size: clamp(2.5rem,4.8vw,4.7rem); line-height: 1.03; letter-spacing: -.052em; }
.eu-section-heading > p,
.eu-section-heading--split > p { max-width: 690px; margin: 0; color: var(--eu-muted); font-size: 1.02rem; }
.eu-section-heading--split { display: grid; max-width: none; grid-template-columns: minmax(0,1fr) minmax(300px,.55fr); gap: 70px; align-items: end; }
.eu-section-heading--split > div h2 { max-width: 760px; margin: 16px 0 0; color: var(--eu-ink); font-size: clamp(2.5rem,4.8vw,4.7rem); line-height: 1.03; letter-spacing: -.052em; }
.eu-grid { display: grid; gap: 22px; }
.eu-grid--two { grid-template-columns: repeat(2,1fr); }
.eu-grid--three { grid-template-columns: repeat(3,1fr); }
.eu-grid--four { grid-template-columns: repeat(4,1fr); }
.eu-challenge { background: var(--eu-pale); }
.eu-card { min-height: 285px; padding: 34px; border: 1px solid var(--eu-line); border-radius: 18px; background: #fff; box-shadow: 0 18px 50px rgba(20,42,78,.06); }
.eu-card-index { display: block; margin-bottom: 58px; color: var(--eu-blue); font-size: .7rem; font-weight: 850; letter-spacing: .16em; }
.eu-card h3 { margin: 0 0 14px; color: var(--eu-ink); font-size: 1.4rem; line-height: 1.2; }
.eu-card p { margin: 0; color: var(--eu-muted); }

.eu-sectors { background: #fff; }
.eu-sector-card { display: flex; min-height: 330px; flex-direction: column; padding: 38px; overflow: hidden; border: 1px solid var(--eu-line); border-radius: 20px; background: linear-gradient(145deg,#fff 0%,#f5f8fd 100%); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.eu-sector-card:hover { border-color: rgba(55,101,244,.38); box-shadow: var(--eu-shadow); transform: translateY(-5px); }
.eu-sector-card > span { color: var(--eu-blue); font-size: .68rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eu-sector-card h3 { max-width: 470px; margin: 44px 0 13px; color: var(--eu-ink); font-size: 1.75rem; line-height: 1.14; }
.eu-sector-card p { max-width: 560px; margin: 0; color: var(--eu-muted); }
.eu-sector-card a { display: inline-flex; align-items: center; gap: 10px; width: fit-content; margin-top: auto; padding-top: 30px; color: var(--eu-blue-dark); font-size: .85rem; font-weight: 800; }
.eu-sector-card a b { transition: transform .2s ease; }
.eu-sector-card a:hover b { transform: translateX(5px); }

.eu-engineering { position: relative; overflow: hidden; background: var(--eu-ink); color: #fff; }
.eu-engineering::before { content: ""; position: absolute; inset: 0; opacity: .6; background: radial-gradient(circle at 92% 0,rgba(55,101,244,.34),transparent 32%); }
.eu-engineering .container { position: relative; }
.eu-section-heading--light h2 { max-width: 1000px; color: #fff; }
.eu-section-heading--light .eu-kicker { color: var(--eu-cyan); }
.eu-tech-card { min-height: 300px; padding: 38px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.045); }
.eu-tech-card > span { color: var(--eu-cyan); font-size: .67rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.eu-tech-card h3 { margin: 55px 0 14px; color: #fff; font-size: 1.55rem; line-height: 1.18; }
.eu-tech-card p { max-width: 560px; margin: 0; color: rgba(255,255,255,.62); }

.eu-menu { background: #fff; }
.eu-menu-card { display: flex; min-height: 350px; flex-direction: column; padding: 28px; border-top: 3px solid var(--eu-blue); background: var(--eu-pale); }
.eu-menu-card > span { color: var(--eu-blue); font-size: .7rem; font-weight: 850; letter-spacing: .15em; }
.eu-menu-card h3 { margin: auto 0 14px; padding-top: 50px; color: var(--eu-ink); font-size: 1.4rem; line-height: 1.18; }
.eu-menu-card p { margin: 0; color: var(--eu-muted); font-size: .91rem; }
.eu-text-link { display: inline-flex; align-items: center; gap: 11px; margin-top: 34px; color: var(--eu-blue-dark); font-weight: 820; }
.eu-text-link span { transition: transform .2s ease; }
.eu-text-link:hover span { transform: translateX(5px); }

.eu-esg { background: #dff6ee; }
.eu-esg-layout { display: grid; grid-template-columns: minmax(290px,.7fr) minmax(0,1.3fr); gap: 90px; }
.eu-esg-layout .eu-section-heading { margin: 0; }
.eu-esg-list { border-top: 1px solid rgba(11,31,51,.16); }
.eu-esg-list article { display: grid; grid-template-columns: 70px 1fr; gap: 18px; padding: 30px 0; border-bottom: 1px solid rgba(11,31,51,.16); }
.eu-esg-list article > span { color: #16705b; font-size: .72rem; font-weight: 850; letter-spacing: .12em; }
.eu-esg-list h3 { margin: 0 0 9px; color: var(--eu-ink); font-size: 1.25rem; }
.eu-esg-list p { margin: 0; color: #49645e; }

.eu-process { background: #fff; }
.eu-process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--eu-line); list-style: none; }
.eu-process-grid li { min-height: 310px; padding: 34px 28px; border-right: 1px solid var(--eu-line); border-bottom: 1px solid var(--eu-line); }
.eu-process-grid li:first-child { border-left: 1px solid var(--eu-line); }
.eu-process-grid span { display: block; color: var(--eu-blue); font-size: .72rem; font-weight: 850; letter-spacing: .14em; }
.eu-process-grid h3 { margin: 72px 0 13px; color: var(--eu-ink); font-size: 1.25rem; line-height: 1.2; }
.eu-process-grid p { margin: 0; color: var(--eu-muted); font-size: .87rem; }

.eu-cta { padding-block: 105px; background: linear-gradient(135deg,#163d9c,#3765f4 60%,#4776fa); color: #fff; }
.eu-cta-grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(440px,1.22fr); gap: 80px; align-items: start; }
.eu-cta .eu-kicker { color: var(--eu-cyan); }
.eu-cta-copy h2 { margin: 17px 0 18px; font-size: clamp(2.7rem,5vw,4.8rem); line-height: 1.02; letter-spacing: -.052em; }
.eu-cta-copy p { max-width: 600px; margin: 0; color: rgba(255,255,255,.72); }
.eu-assessment-form { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; padding: 34px; border: 1px solid rgba(255,255,255,.22); border-radius: 20px; background: #fff; color: var(--eu-ink); box-shadow: 0 34px 80px rgba(13,36,93,.28); }
.eu-form-field { display: grid; gap: 8px; }
.eu-form-field--wide { grid-column: 1 / -1; }
.eu-form-field label { color: #30465c; font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.eu-form-field input,
.eu-form-field select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #ccd7e6; border-radius: 9px; background: #f7f9fc; color: var(--eu-ink); font: inherit; }
.eu-form-field input:focus,
.eu-form-field select:focus { border-color: var(--eu-blue); outline: 3px solid rgba(55,101,244,.13); }
.eu-form-submit { grid-column: 1 / -1; width: 100%; margin-top: 4px; border-radius: 9px; background: var(--eu-blue); box-shadow: none; }
.eu-form-submit:hover { background: var(--eu-blue-dark); }
.eu-form-note { grid-column: 1 / -1; margin: 0; color: #657487; font-size: .68rem; line-height: 1.55; }
.eu-form-note span { color: #8a97a5; }

.eu-footer { padding: 64px 0 0; background: #071625; }
.eu-footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3,.7fr); gap: 54px; }
.eu-footer-brand img { width: 70px; margin-bottom: 18px; }
.eu-footer-brand p { max-width: 330px; margin: 0; color: rgba(255,255,255,.55); font-size: .82rem; }
.eu-footer-brand strong { color: #fff; }
.eu-footer-col { display: grid; align-content: start; gap: 9px; }
.eu-footer-col > strong { margin-bottom: 10px; color: #fff; font-size: .78rem; letter-spacing: .06em; }
.eu-footer-col a,
.eu-footer-col span { color: rgba(255,255,255,.5); font-size: .79rem; }
.eu-footer-col a:hover { color: var(--eu-cyan); }
.eu-footer-notice { margin-top: 50px; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.38); font-size: .7rem; }

@media (max-width: 1180px) {
  .eu-site .brand-copy small { max-width: 210px; }
  .eu-site .nav-list { gap: 0 !important; }
  .eu-site .main-nav { background: #fff; }
  .eu-header-actions .eu-language { margin-left: auto; }
}

@media (max-width: 980px) {
  .eu-hero-grid,
  .eu-cta-grid,
  .eu-esg-layout { grid-template-columns: 1fr; }
  .eu-hero-grid { gap: 52px; }
  .eu-hero-copy { max-width: 800px; }
  .eu-hero-visual { width: min(100%,720px); }
  .eu-proof-grid { grid-template-columns: repeat(2,1fr); }
  .eu-proof-grid > div:nth-child(2) { border-right: 0; }
  .eu-proof-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--eu-line); }
  .eu-section-heading--split { grid-template-columns: 1fr; gap: 20px; }
  .eu-grid--four { grid-template-columns: repeat(2,1fr); }
  .eu-process-grid { grid-template-columns: repeat(2,1fr); }
  .eu-process-grid li:nth-child(3) { border-left: 1px solid var(--eu-line); }
  .eu-footer-grid { grid-template-columns: repeat(3,1fr); }
  .eu-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .eu-site .container { width: min(calc(100% - 30px),1240px); }
  .eu-site .brand-copy small { max-width: 145px; font-size: .58rem; }
  .eu-language { gap: 6px; font-size: .63rem; }
  .eu-language > * + *::before { margin-right: 6px; }
  .eu-hero-grid { min-height: 0; padding-block: 62px; }
  .eu-hero h1 { font-size: clamp(2.65rem,13vw,4.4rem); }
  .eu-facility-grid { min-height: 430px; }
  .eu-machine { width: min(68%,270px); }
  .eu-visual-data { min-width: 124px; padding: 12px; }
  .eu-visual-data--top { top: 24px; right: 16px; }
  .eu-visual-data--bottom { bottom: 30px; left: 14px; }
  .eu-proof-grid,
  .eu-grid--two,
  .eu-grid--three,
  .eu-grid--four,
  .eu-process-grid,
  .eu-footer-grid { grid-template-columns: 1fr; }
  .eu-proof-grid > div { border-right: 0; border-bottom: 1px solid var(--eu-line); }
  .eu-proof-grid > div:last-child { border-bottom: 0; }
  .eu-verification .container { display: grid; gap: 6px; }
  .eu-section { padding-block: 78px; }
  .eu-section-heading { margin-bottom: 38px; }
  .eu-card,
  .eu-sector-card,
  .eu-tech-card { min-height: 0; }
  .eu-card-index,
  .eu-sector-card h3,
  .eu-tech-card h3 { margin-top: 30px; }
  .eu-menu-card { min-height: 290px; }
  .eu-process-grid li,
  .eu-process-grid li:nth-child(3) { min-height: 0; border-left: 1px solid var(--eu-line); }
  .eu-process-grid h3 { margin-top: 42px; }
  .eu-assessment-form { grid-template-columns: 1fr; padding: 24px; }
  .eu-form-field--wide,
  .eu-form-submit,
  .eu-form-note { grid-column: auto; }
  .eu-footer-brand { grid-column: auto; }
}

/* Europe edition visual alignment
   Keep the localized European content while sharing the Taiwan edition's
   warm paper, SVM green, orange actions, arched hero, card geometry, section
   rhythm, responsive breakpoints, and footer treatment. */
.eu-site {
  --eu-ink: var(--green);
  --eu-blue: var(--orange);
  --eu-blue-dark: var(--orange-dark);
  --eu-cyan: #ffbd91;
  --eu-pale: var(--cream);
  --eu-mist: var(--cream-deep);
  --eu-line: var(--line);
  --eu-muted: var(--muted);
  --eu-shadow: var(--shadow);
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.75;
}
.eu-site .container { width: min(calc(100% - 40px), var(--max)); }
.eu-site .site-header {
  border-color: var(--line);
  background: rgba(255,253,248,.88);
  box-shadow: 0 4px 24px rgba(23,63,53,.08);
}
.eu-site .header-top { min-height: 78px; }
.eu-site .brand img { width: 64px; height: 52px; }

.eu-site .brand-copy strong { color: var(--green); font-size: 1rem; letter-spacing: .04em; }
.eu-site .brand-copy small { max-width: 250px; margin-top: 4px; color: var(--muted); font-size: .72rem; letter-spacing: 0; }
.eu-site .main-nav { border-color: var(--line); }
.eu-site .nav-list { gap: 12px !important; }
.eu-site .nav-link { min-height: 50px; padding: 6px 8px !important; color: var(--green); font-size: .88rem !important; font-weight: 700; }
.eu-site .nav-link:hover,
.eu-site .nav-item.active > .nav-link { color: var(--orange-dark); border-bottom-color: var(--orange); }
.eu-site .subnav { min-width: 230px; border-color: var(--line); border-radius: 0 0 16px 16px; box-shadow: var(--shadow); }
.eu-site .subnav a:hover { color: var(--orange-dark); background: var(--cream); }
.eu-site .header-cta .btn {
  min-height: 50px;
  padding-inline: 25px;
  border-radius: 999px;
  background: linear-gradient(135deg,#f07a37,var(--orange));
  box-shadow: 0 12px 30px rgba(229,108,47,.34);
  font-size: inherit;
}
.eu-site .header-cta .btn:hover { background: linear-gradient(135deg,var(--orange),var(--orange-dark)); box-shadow: 0 14px 34px rgba(184,74,31,.36); }
.eu-language { color: var(--muted); }
.eu-language > * + *::before { color: rgba(23,63,53,.25); }
.eu-language span { color: var(--orange-dark); }
.eu-language a:hover { color: var(--orange); }
.eu-site .nav-toggle { border-color: var(--line); }
.eu-site .nav-toggle span { background: var(--green); }

.eu-kicker {
  gap: 9px;
  color: var(--orange-dark);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .14em;
}
.eu-kicker::before { width: 28px; }
.eu-hero { background: var(--green); }
.eu-hero::before {
  opacity: .2;
  background: radial-gradient(circle at 22% 18%,#6d9b7f 0,transparent 36%),linear-gradient(120deg,transparent 54%,#0d2822 54%);
}
.eu-hero-grid {
  grid-template-columns: 1.08fr .92fr;
  gap: 42px;
  min-height: 620px;
  padding-block: 72px;
}
.eu-hero .eu-kicker { color: #ffbd91; }
.eu-hero h1 {
  max-width: 780px;
  margin: 18px 0;
  font-size: clamp(2.55rem,4.5vw,4.3rem);
  line-height: 1.08;
  letter-spacing: -.045em;
}
.eu-hero h1 em { margin-top: 10px; color: #ffc49d; font-size: .58em; font-weight: 700; line-height: 1.18; letter-spacing: -.035em; }
.eu-hero-copy > p { max-width: 680px; margin-bottom: 28px; color: rgba(255,255,255,.82); font-size: 1.1rem; }
.eu-btn-primary { border-radius: 999px; background: var(--orange); box-shadow: 0 12px 30px rgba(229,108,47,.2); }
.eu-btn-primary:hover { background: var(--orange-dark); }
.eu-hero .eu-btn-secondary { border-color: rgba(255,255,255,.4); border-radius: 999px; color: #fff; }
.eu-hero .eu-btn-secondary:hover { background: #fff; color: var(--green); }
.eu-hero-visual { min-height: 490px; }
.eu-facility-grid {
  min-height: 490px;
  border: 0;
  border-radius: 220px 220px 28px 28px;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(145deg,#2f6555,#102f27);
  background-size: 32px 32px,32px 32px,auto;
  box-shadow: 0 40px 80px rgba(0,0,0,.32);
}
.eu-facility-grid::before { background: rgba(229,108,47,.26); }
.eu-machine-screen { background: linear-gradient(145deg,#123b31,#1f5c4a); }
.eu-machine-screen > span { color: #ffbd91; }
.eu-machine-ui i:first-child { background: var(--orange); }
.eu-visual-data { border-color: rgba(255,255,255,.18); border-radius: 18px; background: rgba(16,47,39,.9); }
.eu-hero-visual figcaption { color: rgba(255,255,255,.58); }

.eu-proof { border-color: var(--line); }
.eu-proof-grid > div { min-height: 0; padding: 24px 22px; border-color: var(--line); }
.eu-proof-grid strong { color: var(--green); font-size: 1.08rem; }
.eu-proof-grid span { margin-top: 0; color: var(--muted); font-size: .85rem; line-height: 1.75; }
.eu-verification { border-color: #ead9b4; background: #fff8e8; }

.eu-section { padding-block: 92px; }
.eu-section-heading {
  display: grid;
  grid-template-columns: minmax(0,.86fr) minmax(280px,.54fr);
  grid-template-rows: auto auto;
  gap: 0 60px;
  align-items: end;
  max-width: none;
  margin-bottom: 42px;
}
.eu-section-heading > .eu-kicker { grid-column: 1; grid-row: 1; }
.eu-section-heading > h2 { grid-column: 1; grid-row: 2; }
.eu-section-heading h2,
.eu-section-heading--split > div h2 {
  margin: 12px 0 0;
  color: var(--green);
  font-size: clamp(2rem,4vw,3.4rem);
  line-height: 1.14;
  letter-spacing: -.035em;
}
.eu-section-heading > p { grid-column: 2; grid-row: 1 / span 2; align-self: end; max-width: none; color: var(--muted); font-size: 1.02rem; }
.eu-section-heading--split {
  grid-template-columns: minmax(0,.86fr) minmax(280px,.54fr);
  grid-template-rows: auto;
  gap: 60px;
}
.eu-section-heading--split > div { grid-column: 1; }
.eu-section-heading--split > p { grid-column: 2; grid-row: 1; align-self: end; max-width: none; }
.eu-grid { gap: 22px; }
.eu-challenge { background: var(--paper); }
.eu-card {
  min-height: 0;
  padding: 26px;
  border-color: var(--line);
  border-radius: var(--radius);
  box-shadow: 0 10px 35px rgba(31,47,40,.06);
}
.eu-card-index { margin-bottom: 34px; color: var(--orange-dark); }
.eu-card h3 { color: var(--green); font-size: 1.18rem; line-height: 1.25; }
.eu-card p { color: var(--muted); }

.eu-sectors { background: var(--cream); }
.eu-sector-card {
  min-height: 250px;
  padding: 26px;
  border-color: var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 10px 35px rgba(31,47,40,.06);
}
.eu-sector-card:hover { border-color: rgba(229,108,47,.4); box-shadow: var(--shadow); }
.eu-sector-card > span { color: var(--orange-dark); }
.eu-sector-card h3 { margin: 34px 0 10px; color: var(--green); font-size: 1.4rem; }
.eu-sector-card p { color: var(--muted); }
.eu-sector-card a { color: var(--orange-dark); }

.eu-engineering { background: var(--green); }
.eu-engineering::before { opacity: .2; background: radial-gradient(circle at 22% 18%,#6d9b7f 0,transparent 36%),linear-gradient(120deg,transparent 54%,#0d2822 54%); }
.eu-section-heading--light h2 { color: #fff; }
.eu-section-heading--light .eu-kicker { color: #ffbd91; }
.eu-tech-card { min-height: 250px; padding: 26px; border-radius: 22px; background: rgba(255,255,255,.06); }
.eu-tech-card > span { color: #ffbd91; }
.eu-tech-card h3 { margin: 34px 0 12px; font-size: 1.35rem; }
.eu-tech-card p { color: rgba(255,255,255,.68); }

.eu-menu { background: var(--paper); }
.eu-menu-card {
  min-height: 270px;
  padding: 26px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--orange);
  border-radius: var(--radius);
  background: var(--cream);
  box-shadow: 0 10px 35px rgba(31,47,40,.06);
}
.eu-menu-card > span { color: var(--orange-dark); }
.eu-menu-card h3 { color: var(--green); font-size: 1.25rem; }
.eu-menu-card p { color: var(--muted); }
.eu-text-link { color: var(--orange-dark); }

.eu-esg { background: var(--cream); }
.eu-esg-layout { grid-template-columns: minmax(290px,.7fr) minmax(0,1.3fr); gap: 70px; }
.eu-esg-layout .eu-section-heading { display: block; margin: 0; }
.eu-esg-list { border-color: var(--line); }
.eu-esg-list article { border-color: var(--line); }
.eu-esg-list article > span { color: var(--orange-dark); }
.eu-esg-list h3 { color: var(--green); }
.eu-esg-list p { color: var(--muted); }

.eu-process { background: var(--paper); }
.eu-process-grid { gap: 16px; border: 0; }
.eu-process-grid li {
  min-height: 220px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(31,47,40,.06);
}
.eu-process-grid li:first-child { border-left: 1px solid var(--line); }
.eu-process-grid span { color: var(--orange); }
.eu-process-grid h3 { margin: 42px 0 12px; color: var(--green); }
.eu-process-grid p { color: var(--muted); }

.eu-cta { padding-block: 92px; background: var(--orange); }
.eu-cta-grid { grid-template-columns: minmax(0,.86fr) minmax(440px,1.14fr); gap: 60px; }
.eu-cta .eu-kicker { color: rgba(255,255,255,.8); }
.eu-cta-copy h2 { margin: 12px 0 16px; font-size: clamp(2rem,4vw,3.4rem); line-height: 1.14; letter-spacing: -.035em; }
.eu-cta-copy p { color: rgba(255,255,255,.82); }
.eu-assessment-form { padding: 28px; border-color: rgba(255,255,255,.35); border-radius: var(--radius); color: var(--ink); box-shadow: var(--shadow); }
.eu-form-field label { color: var(--green); }
.eu-form-field input,
.eu-form-field select { border-color: var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); }
.eu-form-field input:focus,
.eu-form-field select:focus { border-color: var(--orange); outline-color: rgba(229,108,47,.18); }
.eu-form-submit { border-radius: 999px; background: var(--green); }
.eu-form-submit:hover { background: var(--green-2); }
.eu-form-note { color: var(--muted); }
.eu-form-note span { color: var(--muted); }

.eu-footer { padding: 0; background: var(--green); }
.eu-footer-grid { grid-template-columns: 1.2fr repeat(3,.85fr); gap: 36px; padding-block: 38px 32px; }
.eu-footer-brand img { width: 112px; margin-bottom: 14px; padding: 7px; border-radius: 8px; background: #fff; }
.eu-footer-brand p { max-width: 320px; font-size: .9rem; }
.eu-footer-col { gap: 0; }
.eu-footer-col > strong { margin-bottom: 10px; font-size: .92rem; letter-spacing: .08em; }
.eu-footer-col a,
.eu-footer-col span { padding: 3px 0; font-size: .88rem; }
.eu-footer-col a:hover { color: #ffbd91; }
.eu-footer-notice { margin-top: 0; padding: 14px 0 16px; border-color: rgba(255,255,255,.12); font-size: .78rem; }

@media (max-width: 1180px) {
  .eu-site .main-nav { background: var(--paper); }
}

@media (max-width: 1100px) {
  .eu-hero-grid,
  .eu-cta-grid { grid-template-columns: 1fr; }
  .eu-hero-visual { width: min(100%,900px); max-width: 900px; }
}

@media (max-width: 980px) {
  .eu-section-heading,
  .eu-section-heading--split { display: block; }
  .eu-section-heading > p,
  .eu-section-heading--split > p { margin-top: 14px; }
  .eu-esg-layout { grid-template-columns: 1fr; gap: 42px; }
  .eu-footer-grid { grid-template-columns: repeat(3,1fr); }
  .eu-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .eu-site .container { width: min(calc(100% - 30px),var(--max)); }
  .eu-hero-grid { min-height: 0; gap: 42px; padding-block: 54px; }
  .eu-hero h1 { font-size: clamp(2.3rem,12vw,3.5rem); }
  .eu-hero-copy > p { font-size: 1rem; }
  .eu-hero-visual { min-height: 0; }
  .eu-facility-grid { min-height: 430px; border-radius: 120px 120px 20px 20px; }
  .eu-section { padding-block: 64px; }
  .eu-card-index { margin-bottom: 24px; }
  .eu-sector-card h3,
  .eu-tech-card h3 { margin-top: 24px; }
  .eu-menu-card { min-height: 240px; }
  .eu-process-grid li,
  .eu-process-grid li:nth-child(3) { min-height: 0; border-left: 1px solid var(--line); }
  .eu-process-grid h3 { margin-top: 28px; }
  .eu-cta { padding-block: 68px; }
  .eu-footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .eu-footer-brand { grid-column: auto; }
}

/* Europe Higher Education — Taiwan mother-template geometry with a campus-specific narrative. */
.eu-solution-hero { position: relative; overflow: hidden; padding: 42px 0 72px; background: var(--cream); }
.eu-solution-hero::after { content: ""; position: absolute; top: -170px; right: -120px; width: 420px; height: 420px; border-radius: 50%; background: rgba(229,108,47,.1); }
.eu-solution-hero > .container { position: relative; z-index: 1; }
.eu-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 34px; color: var(--muted); font-size: .82rem; }
.eu-breadcrumbs a { color: var(--green); font-weight: 750; }
.eu-solution-hero-grid { display: grid; grid-template-columns: 1fr .72fr; gap: 70px; align-items: center; }
.eu-solution-hero h1 { max-width: 780px; margin: 18px 0; color: var(--green); font-size: clamp(2.4rem,5vw,4.2rem); line-height: 1.08; letter-spacing: -.045em; }
.eu-solution-hero h1 span,
.eu-solution-hero h1 em { display: block; }
.eu-solution-hero h1 em { margin-top: 10px; color: var(--orange-dark); font-size: .58em; font-style: normal; line-height: 1.18; }
.eu-solution-hero .eu-hero-copy > p { color: var(--muted); font-size: 1.08rem; }
.eu-solution-hero .btn.secondary { color: var(--green); }
.eu-solution-hero .btn.secondary:hover { color: #fff; }
.eu-campus-visual { margin: 0; }
.eu-campus-scene { position: relative; display: grid; min-height: 490px; place-items: center; overflow: hidden; border-radius: 200px 200px 24px 24px; background: linear-gradient(145deg,#326958,#123a30); box-shadow: var(--shadow); }
.eu-campus-scene::before { content: ""; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px); background-size: 36px 36px; }
.eu-hotel-scene { background: linear-gradient(145deg,#655443,#1d3f35); }
.eu-hotel-scene::after { content: ""; position: absolute; inset: auto 0 0; height: 38%; background: linear-gradient(180deg,transparent,rgba(9,30,24,.42)); }
.eu-hotel-scene .eu-campus-machine,
.eu-hotel-scene .eu-campus-card-tap { z-index: 3; }
.eu-manufacturing-scene { background: linear-gradient(145deg,#41635b,#173f35 58%,#0e2923); }
.eu-logistics-scene { background: linear-gradient(145deg,#6b5c3e,#234b3f 58%,#102f27); }
.eu-healthcare-scene { background: linear-gradient(145deg,#5b8077,#27594b 58%,#123a30); }
.eu-workplace-scene { background: linear-gradient(145deg,#7a6746,#315f50 58%,#173f35); }
.eu-workplace-benefits { background: var(--cream); }
.eu-menu-scene { display: block; background: linear-gradient(145deg,#5d4b35,#173f35); }
.eu-menu-plate { position: absolute; z-index: 2; display: grid; place-items: end center; overflow: hidden; border: 8px solid rgba(255,255,255,.9); border-radius: 50%; background: radial-gradient(circle at 50% 40%,#d59b5f 0 22%,#8f3f25 23% 42%,#e0c18c 43% 58%,#4f7f4c 59% 66%,#d9c29b 67%); box-shadow: 0 22px 45px rgba(0,0,0,.28); }
.eu-menu-plate span { width: 100%; padding: 9px; background: rgba(16,47,39,.88); color: #fff; font-size: .68rem; text-align: center; }
.eu-menu-plate--main { top: 105px; left: 18%; width: 230px; height: 230px; }
.eu-menu-plate--pasta { top: 58px; right: 12%; width: 175px; height: 175px; transform: rotate(7deg); }
.eu-menu-plate--toast { right: 17%; bottom: 42px; width: 145px; height: 145px; background: radial-gradient(circle at 50% 45%,#d39c55 0 34%,#f0d39a 35% 50%,#6f4a2e 51%); transform: rotate(-8deg); }
.eu-menu-catalog { background: var(--paper); }
.eu-product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.eu-product-card { display: flex; min-height: 310px; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 10px 35px rgba(31,47,40,.06); }
.eu-product-card > span { color: var(--orange-dark); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.eu-product-card h3 { margin: 34px 0 12px; color: var(--green); font-size: 1.35rem; line-height: 1.2; }
.eu-product-card p { margin: 0; color: var(--muted); }
.eu-product-card small { margin-top: auto; padding-top: 22px; color: var(--muted); font-weight: 750; }
.eu-menu-safety { background: var(--green); }
.eu-menu-safety .eu-section-heading > p { color: rgba(255,255,255,.68); }

/* EU engineering, service, commercial and assessment pages */
.eu-hardware-scene,
.eu-service-scene,
.eu-pricing-scene {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 490px;
  overflow: hidden;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(145deg,#0f3c33,#1c5748);
  background-size: 32px 32px,32px 32px,auto;
}
.eu-hardware-schematic { position: relative; width: 74%; height: 420px; display: grid; place-items: center; }
.eu-hardware-schematic::before,
.eu-hardware-schematic::after { content: ""; position: absolute; inset: 18px; border: 1px dashed rgba(255,255,255,.32); border-radius: 48% 48% 38% 38%; transform: rotate(-6deg); }
.eu-hardware-schematic::after { inset: 48px 8px 8px 48px; transform: rotate(8deg); }
.eu-hardware-label { position: absolute; z-index: 3; padding: 7px 10px; border: 1px solid rgba(255,255,255,.28); border-radius: 99px; background: rgba(9,31,27,.82); color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eu-hardware-label--cold { left: -18px; top: 92px; }
.eu-hardware-label--heat { right: -24px; bottom: 84px; }
.eu-service-scene { background: linear-gradient(145deg,#153c36,#315f55); }
.eu-service-tablet { position: absolute; z-index: 3; left: 8%; top: 26%; width: 188px; padding: 24px 20px; border: 5px solid #273443; border-radius: 16px; background: #eef5f2; box-shadow: 0 24px 50px rgba(0,0,0,.28); transform: rotate(-8deg); color: #173f35; }
.eu-service-tablet span { display: block; color: #b84a1b; font-size: .58rem; font-weight: 900; letter-spacing: .1em; }
.eu-service-tablet strong { display: block; margin: 10px 0 17px; font-size: .95rem; }
.eu-service-tablet i { display: block; height: 6px; margin-top: 7px; border-radius: 9px; background: #c9dad4; }
.eu-service-tablet i:nth-child(2) { width: 76%; background: #ef7a36; }
.eu-service-scene .eu-machine { transform: translateX(72px); }
.eu-pricing-scene { background: linear-gradient(145deg,#f1ddc4,#ebc48f); }
.eu-plan-board { width: min(86%,540px); padding: 42px; border: 1px solid rgba(23,63,53,.15); border-radius: 22px; background: rgba(255,255,255,.92); box-shadow: 0 28px 70px rgba(71,42,17,.2); }
.eu-plan-board > span { color: #b84a1b; font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.eu-plan-board > div { display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 15px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #e7ddd1; color: #173f35; }
.eu-plan-board i { display: grid; place-items: center; width: 38px; aspect-ratio: 1; border-radius: 50%; background: #173f35; color: #fff; font-style: normal; font-size: .7rem; font-weight: 900; }
.eu-plan-board strong { font-size: 1.02rem; }

.eu-spec-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 44px; }
.eu-spec-grid > article { padding: 34px; border: 1px solid var(--eu-line); border-radius: 18px; background: #fff; box-shadow: 0 20px 52px rgba(20,51,42,.07); }
.eu-spec-list { margin: 24px 0 0; }
.eu-spec-list > div { display: grid; grid-template-columns: minmax(135px,.7fr) 1.3fr; gap: 20px; padding: 17px 0; border-top: 1px solid var(--eu-line); }
.eu-spec-list dt { color: var(--eu-ink); font-weight: 800; }
.eu-spec-list dd { margin: 0; color: var(--eu-muted); }
.eu-three-columns { grid-template-columns: repeat(3,minmax(0,1fr)); }
.eu-table-wrap { margin-top: 44px; overflow-x: auto; border: 1px solid var(--eu-line); border-radius: 18px; background: #fff; box-shadow: 0 20px 52px rgba(20,51,42,.06); }
.eu-comparison-table { width: 100%; min-width: 720px; border-collapse: collapse; text-align: left; }
.eu-comparison-table th,
.eu-comparison-table td { padding: 20px 22px; border-bottom: 1px solid var(--eu-line); vertical-align: top; }
.eu-comparison-table thead th { background: var(--green); color: #fff; font-size: .76rem; letter-spacing: .05em; }
.eu-comparison-table tbody th { color: var(--eu-ink); font-size: .88rem; }
.eu-comparison-table tbody td { color: var(--eu-muted); font-size: .86rem; }
.eu-comparison-table tbody tr:last-child > * { border-bottom: 0; }
.eu-responsibility-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 44px; }
.eu-responsibility-grid article { padding: 38px; border: 1px solid var(--eu-line); border-radius: 20px; background: #fff; }
.eu-responsibility-grid article:last-child { background: var(--green); color: #fff; }
.eu-responsibility-grid span { color: var(--orange); font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eu-responsibility-grid h3 { margin: 12px 0 20px; font-size: 1.65rem; }
.eu-responsibility-grid ul,
.eu-plan-card ul { display: grid; gap: 12px; margin: 0; padding-left: 20px; }
.eu-responsibility-grid li,
.eu-plan-card li { color: var(--eu-muted); }
.eu-responsibility-grid article:last-child li { color: rgba(255,255,255,.72); }

.eu-plan-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 46px; align-items: stretch; }
.eu-plan-card { display: flex; flex-direction: column; padding: 34px; border: 1px solid var(--eu-line); border-radius: 21px; background: #fff; box-shadow: 0 20px 54px rgba(20,51,42,.06); }
.eu-plan-card--featured { transform: translateY(-12px); border-color: rgba(239,122,54,.5); box-shadow: 0 26px 64px rgba(184,74,27,.14); }
.eu-plan-tag { align-self: flex-start; padding: 7px 10px; border-radius: 99px; background: #f8e5d6; color: #a84219; font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.eu-plan-card h3 { margin: 22px 0 10px; color: var(--eu-ink); font-size: 1.65rem; }
.eu-plan-card > p { margin: 0 0 24px; color: var(--eu-muted); }
.eu-plan-card ul { margin-bottom: 30px; }
.eu-plan-card .btn { width: 100%; margin-top: auto; }
.eu-readiness-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 70px; align-items: start; }
.eu-readiness-list { display: grid; gap: 14px; }
.eu-readiness-list article { position: relative; padding: 24px 24px 24px 76px; border: 1px solid var(--eu-line); border-radius: 15px; background: #fff; }
.eu-readiness-list article > span { position: absolute; left: 23px; top: 25px; color: var(--orange); font-size: .72rem; font-weight: 900; }
.eu-readiness-list h3 { margin: 0 0 6px; color: var(--eu-ink); font-size: 1.02rem; }
.eu-readiness-list p { margin: 0; color: var(--eu-muted); font-size: .84rem; }

.eu-pilot-hero { padding: 65px 0 80px; background: radial-gradient(circle at 90% 10%,rgba(239,122,54,.15),transparent 30%),var(--cream); }
.eu-pilot-hero .eu-kicker { margin-top: 65px; }
.eu-pilot-hero h1 { max-width: 1040px; margin: 22px 0 26px; color: var(--green); font-size: clamp(3.2rem,6.5vw,6.3rem); line-height: .96; letter-spacing: -.055em; }
.eu-pilot-hero h1 span,
.eu-pilot-hero h1 em { display: block; }
.eu-pilot-hero h1 em { margin-top: 20px; color: var(--orange-dark); font-size: .48em; font-style: normal; line-height: 1.05; letter-spacing: -.04em; }
.eu-pilot-hero > .container > p { max-width: 820px; margin: 0; color: var(--eu-muted); font-size: 1.05rem; }
.eu-pilot-layout { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: 66px; align-items: start; }
.eu-pilot-criteria > h2 { margin: 18px 0 28px; color: var(--green); font-size: clamp(2.3rem,4.2vw,4rem); line-height: 1.03; letter-spacing: -.045em; }
.eu-pilot-assurance { margin: 22px 0 0; padding: 20px; border-left: 3px solid var(--orange); background: #f8eee3; color: var(--eu-muted); font-size: .83rem; }
.eu-pilot-panel { padding: 34px; border: 1px solid var(--eu-line); border-radius: 22px; background: #fff; box-shadow: 0 28px 72px rgba(20,51,42,.11); }
.eu-pilot-panel header > span { color: var(--orange-dark); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eu-pilot-panel header h2 { margin: 8px 0 8px; color: var(--green); font-size: 2rem; }
.eu-pilot-panel header p { margin: 0 0 28px; color: var(--eu-muted); font-size: .82rem; }
.eu-pilot-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.eu-pilot-fields textarea { min-height: 110px; resize: vertical; padding: 12px 14px; border: 1px solid #ccd7e6; border-radius: 9px; background: #f7f9fc; font: inherit; }
.eu-pilot-fields .eu-form-submit,
.eu-pilot-fields .eu-form-note,
.eu-assessment-summary { grid-column: 1 / -1; }
.eu-pilot-fields button:disabled { cursor: not-allowed; opacity: .72; }
.eu-assessment-summary { display: grid; gap: 5px; padding: 18px; border: 1px dashed #c4d0ca; border-radius: 11px; background: #f5f8f6; }
.eu-assessment-summary strong { color: var(--green); font-size: .8rem; }
.eu-assessment-summary span { color: var(--eu-muted); font-size: .75rem; }

@media (max-width: 980px) {
  .eu-spec-grid,
  .eu-responsibility-grid,
  .eu-plan-grid,
  .eu-readiness-layout,
  .eu-pilot-layout { grid-template-columns: 1fr; }
  .eu-plan-card--featured { transform: none; }
  .eu-three-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eu-pilot-layout { gap: 44px; }
}
@media (max-width: 720px) {
  .eu-site .header-top { gap: 8px; }
  .eu-site .brand { min-width: 0; gap: 8px; }
  .eu-site .brand img { width: 52px; height: 44px; }
  .eu-site .brand-copy small { display: none; }
  .eu-site .header-cta { gap: 7px; }
  .eu-hardware-scene,
  .eu-service-scene,
  .eu-pricing-scene { min-height: 390px; }
  .eu-service-tablet { left: 3%; width: 150px; padding: 17px; }
  .eu-service-scene .eu-machine { transform: translateX(45px) scale(.9); }
  .eu-three-columns,
  .eu-pilot-fields { grid-template-columns: 1fr; }
  .eu-spec-grid > article,
  .eu-responsibility-grid article,
  .eu-plan-card,
  .eu-pilot-panel { padding: 25px; }
  .eu-spec-list > div { grid-template-columns: 1fr; gap: 5px; }
  .eu-pilot-hero { padding: 35px 0 62px; }
  .eu-pilot-hero .eu-kicker { margin-top: 42px; }
}
.eu-safety-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.eu-safety-grid article { min-height: 230px; padding: 26px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.06); }
.eu-safety-grid article > span { color: #ffbd91; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.eu-safety-grid h3 { margin: 30px 0 10px; color: #fff; font-size: 1.18rem; }
.eu-safety-grid p { margin: 0; color: rgba(255,255,255,.66); }

@media (max-width: 980px) {
  .eu-product-grid,
  .eu-safety-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 720px) {
  .eu-product-grid,
  .eu-safety-grid { grid-template-columns: 1fr; }
  .eu-product-card,
  .eu-safety-grid article { min-height: 0; }
  .eu-menu-plate--main { left: 10%; width: 195px; height: 195px; }
  .eu-menu-plate--pasta { right: 4%; width: 145px; height: 145px; }
  .eu-menu-plate--toast { right: 10%; width: 125px; height: 125px; }
}
.eu-campus-architecture { position: absolute; inset: 34px 36px auto; z-index: 1; display: flex; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.62); font-size: .67rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.eu-campus-machine { width: min(56%,270px); transform: translateY(20px); }
.eu-campus-card-tap { position: absolute; right: 22px; bottom: 52px; z-index: 3; padding: 14px 17px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(16,47,39,.9); color: rgba(255,255,255,.58); font-size: .65rem; text-transform: uppercase; }
.eu-campus-card-tap strong { color: #fff; font-size: .78rem; }
.eu-campus-visual figcaption { padding: 12px 3px 0; color: var(--muted); font-size: .72rem; }

.eu-campus-model { position: relative; overflow: hidden; background: var(--green); color: #fff; }
.eu-campus-model::before { content: ""; position: absolute; inset: 0; opacity: .2; background: radial-gradient(circle at 22% 18%,#6d9b7f 0,transparent 36%),linear-gradient(120deg,transparent 54%,#0d2822 54%); }
.eu-campus-model-layout { position: relative; display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: 64px; }
.eu-campus-model-intro .eu-kicker { color: #ffbd91; }
.eu-campus-model-intro h2 { margin: 12px 0 24px; font-size: clamp(2rem,4vw,3.4rem); line-height: 1.14; letter-spacing: -.035em; }
.eu-campus-model-intro > strong { display: block; color: #ffc49d; font-size: 1.2rem; line-height: 1.45; }
.eu-campus-model-intro > p { color: rgba(255,255,255,.68); }
.eu-campus-feature-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.eu-campus-feature-grid article { min-height: 210px; padding: 26px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.06); }
.eu-campus-feature-grid article > span { color: #ffbd91; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.eu-campus-feature-grid h3 { margin: 28px 0 10px; color: #fff; font-size: 1.18rem; }
.eu-campus-feature-grid p { margin: 0; color: rgba(255,255,255,.65); }

.eu-campus-locations { background: var(--cream); }
.eu-campus-location-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.eu-campus-location-grid article { min-height: 220px; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 10px 30px rgba(31,47,40,.06); }
.eu-campus-location-grid article > span { display: block; margin-bottom: 26px; color: var(--orange-dark); font-size: .74rem; font-weight: 900; letter-spacing: .12em; }
.eu-campus-location-grid h3 { margin: 0 0 10px; color: var(--green); font-size: 1.15rem; line-height: 1.3; }
.eu-campus-location-grid p { margin: 0; color: var(--muted); font-size: .9rem; }
.eu-campus-menu { background: var(--paper); }
.eu-campus-cta .eu-assessment-form { grid-template-columns: 1fr; }
.eu-campus-cta .eu-form-field--wide,
.eu-campus-cta .eu-form-submit,
.eu-campus-cta .eu-form-note { grid-column: auto; }
.eu-campus-cta .eu-form-submit { width: 100%; }
.eu-campus-cta input:disabled,
.eu-campus-cta select:disabled { opacity: 1; color: #7a837f; cursor: not-allowed; }

@media (max-width: 1100px) {
  .eu-solution-hero-grid,
  .eu-campus-model-layout { grid-template-columns: 1fr; }
  .eu-campus-visual { width: min(100%,900px); }
}

@media (max-width: 980px) {
  .eu-campus-location-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 720px) {
  .eu-solution-hero { padding: 28px 0 54px; }
  .eu-solution-hero-grid { gap: 42px; }
  .eu-solution-hero h1 { font-size: clamp(2.3rem,12vw,3.5rem); }
  .eu-campus-scene { min-height: 420px; border-radius: 120px 120px 20px 20px; }
  .eu-campus-machine { width: min(66%,250px); }
  .eu-campus-architecture { inset: 28px 24px auto; }
  .eu-campus-card-tap { right: 14px; bottom: 30px; }
  .eu-campus-feature-grid,
  .eu-campus-location-grid { grid-template-columns: 1fr; }
  .eu-campus-feature-grid article,
  .eu-campus-location-grid article { min-height: 0; }
}

.form-trap {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.global-entry-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 82% 12%, rgba(230,108,47,.2), transparent 30%),
    radial-gradient(circle at 14% 86%, rgba(137,173,151,.22), transparent 34%),
    #f7f2e8;
}

.global-entry {
  min-height: 100vh;
  display: grid;
  align-items: center;
  padding: clamp(32px,6vw,72px) 20px;
}

.global-entry-shell {
  width: min(1180px,100%);
  margin: 0 auto;
}

.global-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--green);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .18em;
}

.global-brand img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.global-entry-copy {
  max-width: 820px;
  margin: clamp(42px,7vw,82px) 0 42px;
}

.global-entry-copy h1 {
  margin: 14px 0 20px;
  color: var(--green);
  font-size: clamp(3rem,7vw,6.8rem);
  line-height: .96;
  letter-spacing: -.055em;
}

.global-entry-copy h1 em {
  color: var(--orange);
  font-style: normal;
  font-size: .56em;
  letter-spacing: -.03em;
}

.global-entry-copy p,
.global-entry-note {
  color: var(--muted);
}

.global-region-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

.global-region-card {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(26px,3.2vw,42px);
  border: 1px solid rgba(23,63,53,.14);
  border-radius: 24px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 18px 54px rgba(23,63,53,.08);
}

.global-region-card:hover {
  transform: translateY(-4px);
  border-color: rgba(230,108,47,.45);
  box-shadow: 0 24px 64px rgba(23,63,53,.13);
}

.global-region-card.is-paused {
  background: rgba(243,240,232,.78);
  border-style: dashed;
}

.global-region-card.is-paused:hover {
  transform: none;
  border-color: rgba(23,63,53,.14);
  box-shadow: 0 18px 54px rgba(23,63,53,.08);
}

.global-region-card .btn.is-disabled {
  cursor: not-allowed;
  background: #8b918d;
  border-color: #8b918d;
  box-shadow: none;
  opacity: .78;
  pointer-events: none;
}

.global-region-locale {
  color: var(--orange);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.global-region-card h2 {
  margin: 18px 0 10px;
  color: var(--green);
  font-size: clamp(1.8rem,3vw,2.8rem);
}

.global-region-card p {
  flex: 1;
  margin-bottom: 28px;
  color: var(--muted);
}

.global-entry-note {
  margin: 24px 0 0;
  font-size: .82rem;
}

@media (max-width: 820px) {
  .global-region-grid { grid-template-columns: 1fr; }
  .global-region-card { min-height: 0; }
}


/* U.S. review-quality refinements: 2026-10-15 */
.us-benefits-rebuild .hero .us-breadcrumbs,
.us-hardware-rebuild .hero .us-breadcrumbs,
.us-service-rebuild .hero .us-breadcrumbs,
.us-plans-rebuild .hero .us-breadcrumbs { color: rgba(255,255,255,.72); }
.us-benefits-rebuild .hero .us-breadcrumbs a,
.us-hardware-rebuild .hero .us-breadcrumbs a,
.us-service-rebuild .hero .us-breadcrumbs a,
.us-plans-rebuild .hero .us-breadcrumbs a { color: rgba(255,255,255,.94); }
.us-benefits-rebuild .hero h1,
.us-hardware-rebuild .hero h1,
.us-service-rebuild .hero h1,
.us-plans-rebuild .hero h1 { font-size: clamp(2.55rem,4.6vw,4.15rem); line-height: 1.03; }
.us-faq-rebuild .page-hero h1,
.us-contact-rebuild .page-hero h1 { font-size: clamp(2.45rem,4.35vw,3.6rem); line-height: 1.04; }
@media (max-width:720px) {
  .us-benefits-rebuild .hero h1,
  .us-hardware-rebuild .hero h1,
  .us-service-rebuild .hero h1,
  .us-plans-rebuild .hero h1,
  .us-faq-rebuild .page-hero h1,
  .us-contact-rebuild .page-hero h1 { font-size: clamp(2.1rem,9.5vw,2.7rem); }
}

.analytics-consent { position: fixed; z-index: 1000; right: 20px; bottom: 20px; left: 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(calc(100% - 40px),980px); margin-inline: auto; padding: 18px 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: #173f35; color: #fff; box-shadow: 0 18px 60px rgba(0,0,0,.28); }
.analytics-consent-copy { min-width: 0; }
.analytics-consent p { margin: 0; color: rgba(255,255,255,.9); line-height: 1.55; }
.analytics-consent details { margin-top: 7px; color: rgba(255,255,255,.82); font-size: .86rem; }
.analytics-consent summary { width: max-content; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.analytics-consent details p { max-width: 70ch; margin-top: 8px; font-size: .86rem; }
.analytics-consent a { color: #fff; }
.analytics-consent-actions { display: grid; flex: 0 0 auto; grid-template-columns: repeat(2,minmax(118px,1fr)); gap: 10px; }
.analytics-consent button { min-height: 44px; padding: 9px 16px; border: 1px solid rgba(255,255,255,.58); border-radius: 999px; background: transparent; color: #fff; font: inherit; font-weight: 750; cursor: pointer; }
.analytics-consent button:hover,.analytics-consent button:focus-visible { border-color: #fff; background: rgba(255,255,255,.12); }
.analytics-settings-button { position: fixed; z-index: 999; right: 16px; bottom: 16px; min-height: 36px; padding: 7px 12px; border: 1px solid rgba(23,63,53,.28); border-radius: 999px; background: rgba(255,255,255,.96); color: #173f35; box-shadow: 0 8px 24px rgba(0,0,0,.13); font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; }
.analytics-settings-button:hover,.analytics-settings-button:focus-visible { border-color: #173f35; }
@media (max-width:680px) { .analytics-consent { align-items: stretch; flex-direction: column; gap: 14px; } .analytics-consent-actions { grid-template-columns: 1fr 1fr; } .analytics-consent button { padding-inline: 10px; } }
