/* Products portfolio only. Homepage and shared components remain frozen. */
.hqess-products-page { background: var(--hqess-warm-white); }
.hqess-products-page .primary-menu a[aria-current="page"]::after { transform: scaleX(1); background: var(--hqess-green); height: 2px; }
.portfolio { --pf-line:#cbd2ca; --pf-muted:#56625b; --pf-green:#0b7c44; --pf-gradient:linear-gradient(110deg,#329f65,#158451 55%,#085b38); color:var(--hqess-graphite); }
.portfolio a:focus-visible { outline:2px solid var(--pf-green); outline-offset:6px; }
.portfolio [id] { scroll-margin-top:120px; }
.portfolio h1,.portfolio h2,.portfolio h3,.portfolio p { margin-top:0; }
.portfolio h1 > span,.portfolio h2 > span { display:block; }
.portfolio h2 { font-size:clamp(48px,4vw,72px); line-height:1; letter-spacing:-.02em; }
.portfolio-eyebrow { color:var(--pf-green); font-size:13px; font-weight:600; letter-spacing:.14em; margin-bottom:20px; }
.portfolio-gradient { color:transparent; background:var(--pf-gradient); background-clip:text; -webkit-background-clip:text; }
/* Hero carousel: one family at a time, independently composed by product shape. */
.portfolio-hero { background:#edf0e9; height:88svh; min-height:760px; max-height:1040px; transition:background-color 600ms ease; overflow:hidden; }
.portfolio-hero[data-hero-family="mobile"] { background:#f7f7f3; }
.portfolio-hero[data-hero-family="portable"] { background:#e8eee5; }
.portfolio-hero__inner { position:relative; height:100%; }
.portfolio-hero__intro { position:relative; z-index:2; padding-top:150px; width:56%; pointer-events:none; }
.portfolio-hero .portfolio-eyebrow { margin-bottom:20px; }
.portfolio-hero h1 { margin-bottom:22px; font-size:clamp(56px,4.6vw,84px); line-height:1; letter-spacing:-.02em; }
.portfolio-hero h1 > span { display:block; }
.portfolio-hero h1 > .portfolio-hero__title-zh { display:none; }
:root:lang(zh) .portfolio-hero h1 > .portfolio-hero__title-en { display:none; }
:root:lang(zh) .portfolio-hero h1 > .portfolio-hero__title-zh { display:block; }
:root:lang(zh) .portfolio-hero__title-zh .portfolio-gradient::before { content:''; display:block; }
.portfolio-hero__summary { color:var(--pf-muted); font-size:17px; line-height:1.6; max-width:39ch; margin-bottom:0; }
.portfolio-hero__stage { position:absolute; inset:130px 0 112px; touch-action:pan-y; }
.portfolio-hero__visual { position:absolute; width:48%; height:100%; right:0; bottom:0; display:flex; align-items:center; justify-content:center; }
.portfolio-hero__visual img { width:100%; height:100%; object-fit:contain; max-height:640px; object-position:center; }
.portfolio-hero__details { position:absolute; bottom:12px; left:0; width:34%; }
.portfolio-hero__count { color:#748177; font-size:13px; letter-spacing:.12em; margin-bottom:13px; }
.portfolio-hero__count [data-hero-count] { color:var(--pf-green); }
.portfolio-hero .portfolio-hero__details h2 { font-size:34px; line-height:1.1; letter-spacing:0; margin-bottom:14px; }
.portfolio-hero [data-hero-copy] { font-size:17px; line-height:1.55; max-width:33ch; color:var(--pf-muted); margin-bottom:12px; }
.portfolio-hero [data-hero-family] { min-width:0; }
.portfolio-hero[data-hero-family="mobile"] .portfolio-hero__visual { width:73%; height:59%; right:-25px; bottom:12px; }
.portfolio-hero[data-hero-family="mobile"] .portfolio-hero__details { width:28%; }
.portfolio-hero[data-hero-family="portable"] .portfolio-hero__visual { width:48%; height:78%; right:0; bottom:0; }
.portfolio-hero__controls { position:absolute; bottom:0; inset-inline:0; display:flex; gap:35px; align-items:center; border-top:1px solid var(--pf-line); }
.portfolio-hero__controls[hidden] { display:none; }
.portfolio-hero__nav { display:grid; grid-template-columns:repeat(3,1fr); flex:1; gap:28px; }
.portfolio-hero button { border:0; border-radius:0; padding:0; background:none; color:var(--pf-muted); font:inherit; cursor:pointer; }
.portfolio-hero button:focus-visible { outline:2px solid var(--pf-green); outline-offset:4px; }
.portfolio-hero__nav button { min-height:92px; text-align:left; position:relative; display:flex; gap:17px; align-items:center; }
.portfolio-hero__nav-number { font-size:13px; }
.portfolio-hero__nav strong { font-size:18px; font-weight:600; letter-spacing:.03em; }
.portfolio-hero__nav button[aria-current],.portfolio-hero__nav button:hover { color:var(--pf-green); }
.portfolio-hero__nav button::before { content:''; position:absolute; inset:0 0 auto; height:2px; background:var(--pf-green); transform:scaleX(0); transform-origin:left; transition:transform 600ms ease; }
.portfolio-hero__nav button[aria-current]::before { transform:scaleX(1); }
.portfolio-hero__play { flex:0 0 48px; width:48px; height:48px; display:grid; place-items:center; }
.portfolio-hero__play svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5; }
.portfolio-hero .hero-play,.portfolio-hero[data-hero-playing="false"] .hero-pause { display:none; }
.portfolio-hero[data-hero-playing="false"] .hero-play { display:block; }
.portfolio-hero__play:disabled { opacity:.35; cursor:default; }
.portfolio-hero__stage.is-revealing .portfolio-hero__visual { animation:hero-product-reveal 600ms cubic-bezier(.2,.7,.25,1) both; }
.portfolio-hero__stage.is-revealing .portfolio-hero__details { animation:hero-copy-reveal 600ms ease both; }
@keyframes hero-product-reveal { from { opacity:0; transform:translateX(30px); } to { opacity:1; transform:translateX(0); } }
@keyframes hero-copy-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
:root:lang(zh) .portfolio-hero h1 { font-size:clamp(42px,3.6vw,62px); line-height:1.2; }
:root:lang(zh) .portfolio-hero__summary { font-size:16px; line-height:1.8; max-width:29em; }
:root:lang(zh) .portfolio-hero .portfolio-hero__details h2 { font-size:30px; }
:root:lang(zh) .portfolio-hero [data-hero-copy] { font-size:16px; line-height:1.8; }
/* Keep the long English headline and family details separated on short desktop viewports. */
@media (min-width:1185px) and (max-height:960px) {
 :root:lang(en) .portfolio-hero { min-height:820px; }
 :root:lang(en) .portfolio-hero__intro { width:64%; padding-top:130px; }
 :root:lang(en) .portfolio-hero h1 { font-size:clamp(56px,3.6vw,68px); max-width:800px; }
 :root:lang(en) .portfolio-hero__summary { max-width:45ch; }
}
@media (min-width:1185px) and (max-height:820px) {
 :root:lang(en) .portfolio-hero { min-height:760px; }
 :root:lang(en) .portfolio-hero__intro { padding-top:112px; }
 :root:lang(en) .portfolio-hero h1 { font-size:52px; max-width:900px; }
}
@media (min-width:768px) and (max-width:1184px) {
 .portfolio-hero { min-height:820px; }
 .portfolio-hero__intro { padding-top:120px; width:64%; }
 .portfolio-hero h1 { font-size:54px; }
 .portfolio-hero__stage { top:165px; }
 .portfolio-hero__visual { height:75%; width:43%; }
 .portfolio-hero[data-hero-family="mobile"] .portfolio-hero__visual { width:70%; height:45%; bottom:80px; right:-10px; }
 .portfolio-hero[data-hero-family="mobile"] .portfolio-hero__details { width:31%; }
 .portfolio-hero__details { width:45%; }
 .portfolio-hero__nav { gap:18px; }
 .portfolio-hero__nav strong { font-size:16px; }
 .portfolio-hero__controls { gap:12px; }
}
@media (max-width:767px) {
 .portfolio-hero { height:auto; min-height:0; max-height:none; }
 .portfolio-hero__inner { display:flex; flex-direction:column; height:auto; }
 .portfolio-hero__intro { padding-top:100px; width:100%; }
 .portfolio-hero h1 { font-size:36px; line-height:1.04; margin-bottom:16px; max-width:20ch; }
 .portfolio-hero .portfolio-eyebrow { margin-bottom:14px; }
 .portfolio-hero__summary { font-size:15px; line-height:1.6; max-width:38ch; }
 .portfolio-hero__stage { position:relative; inset:auto; display:flex; flex-direction:column; margin-top:18px; }
 .portfolio-hero[data-hero-family] .portfolio-hero__visual { position:relative; inset:auto; width:100%; height:250px; margin:0 0 18px; }
 .portfolio-hero[data-hero-family="mobile"] .portfolio-hero__visual { width:calc(100% + 20px); margin-inline:-10px; }
 .portfolio-hero[data-hero-family="portable"] .portfolio-hero__visual { width:83%; margin-left:auto; margin-right:0; }
 .portfolio-hero[data-hero-family="portable"] .portfolio-hero__visual img { max-height:235px; }
 .portfolio-hero[data-hero-family] .portfolio-hero__details { position:relative; inset:auto; width:100%; min-height:180px; }
 .portfolio-hero__count { margin-bottom:10px; font-size:12px; }
 .portfolio-hero .portfolio-hero__details h2 { font-size:28px; margin-bottom:12px; }
 .portfolio-hero [data-hero-copy] { font-size:15px; max-width:37ch; margin-bottom:8px; }
 .portfolio-hero .portfolio-link { font-size:14px; }
 .portfolio-hero__controls { position:relative; inset:auto; gap:6px; margin-top:20px; }
 .portfolio-hero__nav { gap:12px; }
 .portfolio-hero__nav button { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:5px; min-height:80px; }
 .portfolio-hero__nav strong { font-size:12px; line-height:1.2; letter-spacing:0; }
 .portfolio-hero__nav-number { font-size:12px; }
 .portfolio-hero__play { width:44px; flex-basis:44px; }
 :root:lang(zh) .portfolio-hero h1 { font-size:32px; line-height:1.25; max-width:none; }
 :root:lang(zh) .portfolio-hero__summary { font-size:14px; line-height:1.8; }
 :root:lang(zh) .portfolio-hero .portfolio-hero__details h2 { font-size:25px; }
 :root:lang(zh) .portfolio-hero [data-hero-copy] { font-size:15px; line-height:1.7; }
 :root:lang(zh) .portfolio-hero__nav strong { font-size:11px; }
}
.portfolio-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; }
.portfolio-section-heading h2 { margin-bottom:0; }
.portfolio-section-heading > p { max-width:290px; font-size:18px; color:var(--pf-muted); line-height:1.6; margin-bottom:0; }
.portfolio-ci { padding:80px 0 48px; background:#e8ede6; }
.portfolio-ci h2 { font-size:clamp(48px,3.75vw,68px); }
.portfolio-product { position:relative; min-width:0; }
.portfolio-product__visual { display:flex; justify-content:center; align-items:center; min-width:0; }
.portfolio-product__visual img { width:100%; height:100%; object-fit:contain; mix-blend-mode:normal; }
.portfolio-product__info { min-width:0; }
.portfolio-product__identifier { font-size:16px; font-weight:600; color:var(--pf-green); letter-spacing:.06em; margin-bottom:18px; }
.portfolio-product__identifier:empty,.portfolio-product__descriptor:empty { display:none; }
.portfolio-product h3 { font-size:clamp(34px,3.1vw,52px); line-height:1.03; font-weight:700; margin-bottom:20px; max-width:17ch; }
.portfolio-product__descriptor { color:var(--pf-muted); font-size:16px; line-height:1.4; margin-bottom:20px; }
.portfolio-product__application { color:var(--pf-muted); font-size:18px; line-height:1.6; max-width:36ch; margin-bottom:28px; }
.portfolio-specs { display:flex; gap:42px; margin:0 0 26px; }
.portfolio-specs > div { display:flex; flex-direction:column; min-width:0; }
.portfolio-specs dt { order:2; color:var(--pf-muted); font-size:12px; letter-spacing:.06em; margin-top:8px; }
.portfolio-specs dd { display:flex; align-items:baseline; gap:5px; margin:0; white-space:nowrap; font-family:'Barlow Condensed','Arial Narrow',sans-serif; }
.portfolio-specs strong { font-size:clamp(36px,3.3vw,56px); line-height:1; color:var(--pf-green); font-weight:600; }
.portfolio-specs dd span { font-size:16px; color:var(--pf-muted); }
.portfolio-specs:empty { display:none; }
.portfolio-link { display:inline-flex; align-items:center; gap:20px; min-height:48px; text-decoration:none; color:var(--pf-green); font-size:16px; font-weight:600; letter-spacing:.035em; }
.portfolio-link .button__icon { width:18px; flex-shrink:0; }
.portfolio-link:hover .button__icon { transform:translateX(5px); }
.portfolio-product--ci { display:grid; grid-template-columns:58% 1fr; gap:6%; align-items:center; padding:28px 0; min-height:590px; }
.portfolio-product--ci .portfolio-product__visual { height:540px; }
.portfolio-product--ci .portfolio-product__visual img { max-width:100%; max-height:100%; }
.portfolio-product--ci[data-product="P04"] .portfolio-product__visual img { max-width:92%; }
.portfolio-rail { display:flex; gap:0; border-top:1px solid var(--pf-line); overflow-x:auto; scrollbar-width:thin; scrollbar-color:#91ab99 transparent; }
.portfolio-rail a { position:relative; flex:1 0 0; display:flex; flex-direction:column; padding:22px 20px 14px 0; text-decoration:none; color:#68736c; background:none; border:0; border-radius:0; min-width:0; min-height:72px; }
.portfolio-rail strong { font-family:'Barlow Condensed','Arial Narrow',sans-serif; font-size:18px; line-height:1.2; font-weight:600; }
.portfolio-rail a > span { font-size:13px; letter-spacing:.055em; margin-top:6px; }
.portfolio-rail a::before { content:''; position:absolute; top:-1px; left:0; right:28px; height:3px; background:var(--pf-green); transform:scaleX(0); transform-origin:left; transition:transform 320ms ease; }
.portfolio-rail a:hover,.portfolio-rail .is-active { color:var(--pf-green); }
.portfolio-rail .is-active::before { transform:scaleX(1); }
.portfolio-fleet { padding:90px 0 48px; background:linear-gradient(180deg,#f7f7f3 25%,#eef0ea); }
.portfolio-fleet .portfolio-section-heading h2 { font-size:clamp(54px,4.3vw,72px); }
.portfolio-product--fleet { padding:0 0 30px; }
.portfolio-product--fleet .portfolio-product__visual { height:510px; align-items:flex-end; margin:12px -25px 38px; }
.portfolio-product--fleet .portfolio-product__visual img { object-position:center bottom; max-width:1120px; }
.portfolio-product--fleet[data-product="P05"] .portfolio-product__visual img { max-width:640px; max-height:440px; }
.portfolio-product--fleet[data-product="P07"] .portfolio-product__visual img { max-width:880px; }
.portfolio-product--fleet .portfolio-product__info { display:grid; grid-template-columns:1fr 1.25fr 1fr; grid-template-rows:auto auto; column-gap:50px; align-items:start; }
.portfolio-product--fleet .portfolio-product__identifier { display:none; }
.portfolio-product--fleet h3 { grid-column:1; grid-row:1; font-size:52px; margin:0 0 10px; font-family:'Barlow Condensed','Arial Narrow',sans-serif; }
.portfolio-product--fleet .portfolio-product__descriptor { grid-column:1; grid-row:2; margin:0; }
.portfolio-product--fleet .portfolio-product__application { grid-column:2; grid-row:1; font-size:17px; margin:0; }
.portfolio-product--fleet .portfolio-link { grid-column:2; grid-row:2; }
.portfolio-product--fleet .portfolio-specs { grid-column:3; grid-row:1/3; justify-content:space-between; gap:24px; margin:0; padding-top:5px; }
.portfolio-product--fleet[data-product="P07"] .portfolio-specs { gap:20px; }
.portfolio-product--fleet[data-product="P07"] .portfolio-specs strong { font-size:40px; }
.portfolio-product--fleet.is-text-only { min-height:668px; display:flex; align-items:center; }
.portfolio-product--fleet.is-text-only .portfolio-product__visual { display:none; }
.portfolio-product--fleet.is-text-only .portfolio-product__info { display:block; width:100%; padding:60px 0; }
.portfolio-product--fleet.is-text-only h3 { font-size:clamp(100px,13vw,210px); color:var(--pf-green); max-width:none; letter-spacing:-.025em; }
.portfolio-product--fleet.is-text-only .portfolio-product__descriptor { display:none; }
.portfolio-product--fleet.is-text-only .portfolio-product__application { margin:22px 0 16px; font-size:22px; }
.portfolio-fleet .portfolio-rail strong { font-size:22px; }
.portfolio-portable { padding:95px 0 70px; background:#e6eae1; }
.portfolio-portable > .container { position:relative; }
.portfolio-portable header { position:relative; z-index:1; padding-left:58%; }
.portfolio-portable h2 { margin-bottom:32px; font-size:clamp(48px,3.8vw,68px); }
.portfolio-product--portable { display:grid; grid-template-columns:58% 1fr; align-items:center; min-height:440px; }
.portfolio-product--portable .portfolio-product__visual { height:565px; margin-top:-150px; padding-right:60px; }
.portfolio-product--portable .portfolio-product__info { padding-left:0; }
.portfolio-product--portable h3 { font-size:34px; font-weight:600; }
.portfolio-product--portable .portfolio-specs { gap:56px; }
.portfolio-system { min-height:100svh; box-sizing:border-box; display:flex; align-items:center; padding:clamp(110px,10vw,160px) 0 clamp(90px,8vw,130px); color:#edf1eb; background:linear-gradient(120deg,#28322f 0%,#192320 55%,#111918 100%); }
.portfolio-system .portfolio-eyebrow { color:#79bc91; }
.portfolio-system__heading { display:block; }
.portfolio-system__intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); align-items:end; gap:clamp(40px,8vw,150px); margin-top:28px; }
.portfolio-system__heading h2 { margin:0; font-size:clamp(52px,5vw,84px); line-height:.98; letter-spacing:-.025em; }
.portfolio-system__heading > .portfolio-eyebrow { margin-bottom:0; }
.portfolio-system__intro > p { align-self:end; max-width:48ch; margin:0; color:#acbdb3; font-size:17px; line-height:1.55; }
.portfolio-system__capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,5vw,92px); margin-top:clamp(84px,9vw,140px); }
.portfolio-system__capability { min-height:250px; padding-right:clamp(12px,2vw,30px); transition:opacity 220ms ease, transform 220ms ease, color 220ms ease; }
.portfolio-system__capability + .portfolio-system__capability { border-left:1px solid rgba(172,189,179,.24); padding-left:clamp(24px,3vw,58px); }
.portfolio-system__number { margin:0 0 24px; color:var(--pf-green); font-size:13px; letter-spacing:.14em; }
.portfolio-system__capability h3 { margin:0 0 13px; color:#edf1eb; font-size:clamp(42px,3.8vw,64px); font-weight:600; line-height:.98; letter-spacing:-.02em; white-space:normal; overflow-wrap:anywhere; transition:color 220ms ease; }
.portfolio-system__label { margin:0 0 22px; color:#d2ddd5; font-size:21px; line-height:1.2; transition:color 220ms ease; }
.portfolio-system__description { max-width:30ch; margin:0; color:#acbdb3; font-size:17px; line-height:1.55; }
.portfolio-system[data-active-capability] .portfolio-system__capability:not(.is-active) { opacity:.5!important; }
.portfolio-system__capability.is-active { transform:translateY(-4px)!important; }
.portfolio-system__capability.is-active h3,.portfolio-system__capability.is-active .portfolio-system__label { color:var(--pf-green); }
.portfolio-system__progression { display:flex; align-items:center; gap:clamp(12px,2.4vw,40px); margin-top:clamp(72px,8vw,125px); padding-top:24px; border-top:1px solid rgba(172,189,179,.24); color:#8e9f95; font-size:14px; letter-spacing:.13em; }
.portfolio-system__stage { transition:color 220ms ease; }
.portfolio-system__stage[data-system-stage="hardware"] { color:#d4ded7; }
.portfolio-system__stage.is-active { color:var(--pf-green); }
.portfolio-system__arrow { color:#697970; font-size:17px; letter-spacing:0; }
.portfolio-selection { padding:100px 0 80px; background:#f7f7f3; }
.portfolio-selection > .container { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.portfolio-selection h2 { font-size:clamp(44px,3.5vw,60px); max-width:20ch; margin-bottom:24px; }
.portfolio-selection p:not(.portfolio-eyebrow) { font-size:18px; line-height:1.6; color:var(--pf-muted); max-width:36ch; }
.portfolio-selection .button { min-height:52px; font-size:16px; margin-top:18px; }
.portfolio-checklist ol { list-style:none; padding:0; margin:0; counter-reset:brief; }
.portfolio-checklist li { counter-increment:brief; display:flex; align-items:baseline; gap:28px; padding:22px 0; border-bottom:1px solid var(--pf-line); font-size:24px; font-weight:600; }
.portfolio-checklist li::before { content:counter(brief,decimal-leading-zero); font-size:13px; font-weight:400; color:var(--pf-green); }
.portfolio-social { border-top:1px solid var(--pf-line); padding-block:12px 34px; }
.portfolio-social .hqess-social { margin-top:0; }
.portfolio-social .hqess-social__inner { display:flex; align-items:center; justify-content:space-between; max-width:none; }
.portfolio-social .hqess-social__title { font-size:20px; font-weight:500; }
.portfolio-social .hqess-social__links { margin:0; gap:30px; }
.portfolio-social .hqess-social__link svg { width:25px; height:25px; }
.portfolio-product.is-entering [data-visual],.portfolio-product.is-entering .portfolio-product__info { animation:portfolio-switch 320ms ease both; }
@keyframes portfolio-switch { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
.portfolio-system.is-in-view .portfolio-system__heading { animation:system-heading-reveal 700ms ease both; }
.portfolio-system.is-in-view .portfolio-system__capability { animation:system-capability-reveal 700ms ease both; }
.portfolio-system.is-in-view .portfolio-system__capability:nth-child(2) { animation-delay:100ms; }
.portfolio-system.is-in-view .portfolio-system__capability:nth-child(3) { animation-delay:200ms; }
.portfolio-system.is-in-view .portfolio-system__progression { animation:system-progression-reveal 800ms ease 260ms both; }
@keyframes system-heading-reveal { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes system-capability-reveal { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes system-progression-reveal { from { opacity:0; } to { opacity:1; } }
:root:lang(zh) .portfolio h2 { font-size:clamp(40px,3.4vw,56px); line-height:1.2; }
:root:lang(zh) .portfolio-product h3 { font-size:36px; line-height:1.25; }
:root:lang(zh) .portfolio-product--fleet h3 { font-size:52px; line-height:1; }
:root:lang(zh) .portfolio-product--fleet.is-text-only h3 { font-size:clamp(100px,13vw,210px); }
:root:lang(zh) .portfolio-system__capability h3 { font-size:clamp(40px,2.6vw,48px); overflow-wrap:normal; word-break:keep-all; }
:root:lang(zh) .portfolio-system__label { font-size:21px; }
:root:lang(zh) .portfolio-link,:root:lang(zh) .portfolio-selection .button { font-size:15px; }
:root:lang(zh) .portfolio-selection #selection-title {
 font-size:clamp(26px,3vw,48px);
 max-width:none;
 white-space:nowrap;
 letter-spacing:-.02em;
}
:root:lang(zh) .portfolio-selection p:not(.portfolio-eyebrow) {
 max-width:none;
 white-space:nowrap;
 font-size:clamp(14px,1.15vw,16px);
 letter-spacing:-.02em;
}
@media(min-width:1441px) {
 .portfolio-product--fleet .portfolio-product__visual { height:550px; }
}
@media(max-width:1184px) {
 .hqess-products-page .site-header,.hqess-products-page .site-header--overlay:not(.is-scrolled):not(.menu-is-open),.hqess-products-page .site-header.menu-is-open { background:#1F2328; color:#e0e7e1; }
 .hqess-products-page .site-logo { background:transparent; }
 .portfolio-section-heading { gap:30px; }
 .portfolio-section-heading > p { max-width:240px; }
 .portfolio-product--ci { grid-template-columns:54% 1fr; gap:4%; min-height:520px; }
 .portfolio-product--ci .portfolio-product__visual { height:450px; }
 .portfolio-product--fleet .portfolio-product__info { grid-template-columns:1fr 1fr; gap:18px 35px; }
 .portfolio-product--fleet .portfolio-specs { grid-column:2; grid-row:1/3; justify-content:start; gap:35px; }
 .portfolio-product--fleet .portfolio-product__application { grid-column:1; grid-row:3; }
 .portfolio-product--fleet .portfolio-link { grid-column:2; grid-row:3; align-self:end; }
 .portfolio-product--fleet .portfolio-product__visual { height:430px; margin-inline:0; }
 .portfolio-system__intro { grid-template-columns:minmax(0,1fr) minmax(220px,.7fr); gap:40px; }
 .portfolio-system__capabilities { gap:24px; }
 .portfolio-system__capability h3 { font-size:clamp(36px,3.9vw,48px); }
 .portfolio-system__label { font-size:19px; }
 .portfolio-selection > .container { gap:50px; }
 .portfolio-portable header { padding-left:53%; }
 .portfolio-product--portable { grid-template-columns:53% 1fr; }
 .portfolio-product--portable .portfolio-product__visual { height:470px; padding-right:25px; }
}
@media(min-width:768px) and (max-width:900px) {
 .portfolio-system__capabilities { grid-template-columns:1fr; gap:0; }
 .portfolio-system__capability { min-height:0; padding:28px 0; }
 .portfolio-system__capability + .portfolio-system__capability { border-left:0; border-top:1px solid rgba(172,189,179,.16); padding:28px 0; }
 .portfolio-system__capability h3 { font-size:48px; }
 .portfolio-system__description { max-width:44ch; }
}
@media(max-width:767px) {
 .portfolio [id] { scroll-margin-top:95px; }
 .portfolio-eyebrow { font-size:11px; margin-bottom:14px; }
 .portfolio h2,.portfolio-ci h2,.portfolio-fleet .portfolio-section-heading h2 { font-size:38px; line-height:1.03; }
 .portfolio-section-heading { display:block; }
 .portfolio-section-heading > p { max-width:32ch; font-size:16px; margin-top:18px; }
 .portfolio-ci { padding:46px 0 26px; }
 .portfolio-product--ci { display:flex; flex-direction:column; gap:0; padding:10px 0 20px; min-height:0; }
 .portfolio-product--ci .portfolio-product__visual { width:100%; height:350px; margin-bottom:22px; }
 .portfolio-product--ci[data-product="P02"] .portfolio-product__visual { height:280px; }
 .portfolio-product--ci[data-product="P04"] .portfolio-product__visual { height:310px; }
 .portfolio-product--ci .portfolio-product__info { width:100%; display:grid; grid-template-columns:1fr 1fr; column-gap:15px; }
 .portfolio-product__identifier { font-size:14px; margin-bottom:12px; grid-column:1/-1; }
 .portfolio-product h3 { font-size:34px; line-height:1.04; max-width:20ch; }
 .portfolio-product--ci h3 { grid-column:1/-1; margin-bottom:18px; }
 .portfolio-product--ci .portfolio-product__application { grid-column:1/-1; }
 .portfolio-product--ci .portfolio-specs { grid-column:1/-1; }
 .portfolio-product--ci .portfolio-link { grid-column:1/-1; }
 .portfolio-product__application { font-size:16px; line-height:1.6; margin-bottom:22px; }
 .portfolio-specs { gap:42px; margin-bottom:15px; }
 .portfolio-specs strong { font-size:44px; }
 .portfolio-specs dt { font-size:11px; }
 .portfolio-link { font-size:15px; min-height:48px; }
 .portfolio-rail { overflow-x:auto; gap:24px; scroll-snap-type:x proximity; }
 .portfolio-rail a { flex:0 0 auto; min-width:125px; padding:18px 0 15px; scroll-snap-align:start; }
 .portfolio-rail a::before { right:0; }
 .portfolio-rail strong { font-size:17px; }
 .portfolio-rail a > span { font-size:11px; }
 .portfolio-fleet { padding:50px 0 28px; }
 .portfolio-product--fleet { padding-bottom:22px; }
 .portfolio-product--fleet .portfolio-product__visual { height:240px; margin:18px -12px 25px; }
 .portfolio-product--fleet[data-product="P05"] .portfolio-product__visual { height:280px; }
 .portfolio-product--fleet[data-product="P07"] .portfolio-product__visual { height:300px; }
 .portfolio-product--fleet .portfolio-product__info { display:grid; grid-template-columns:1fr; gap:0; }
 .portfolio-product--fleet h3 { grid-column:1; grid-row:1; font-size:46px; }
 .portfolio-product--fleet .portfolio-product__descriptor { grid-column:1; grid-row:2; font-size:14px; margin:0 0 20px; }
 .portfolio-product--fleet .portfolio-specs { grid-column:1; grid-row:3; gap:30px; justify-content:space-between; border-block:1px solid var(--pf-line); padding:18px 0; margin-bottom:20px; }
 .portfolio-product--fleet .portfolio-specs strong { font-size:44px; }
 .portfolio-product--fleet[data-product="P07"] .portfolio-specs strong { font-size:36px; }
 .portfolio-product--fleet .portfolio-product__application { grid-column:1; grid-row:4; font-size:16px; margin-bottom:10px; }
 .portfolio-product--fleet .portfolio-link { grid-column:1; grid-row:5; }
 .portfolio-product--fleet.is-text-only { min-height:480px; }
 .portfolio-product--fleet.is-text-only h3 { font-size:100px; }
 .portfolio-product--fleet.is-text-only .portfolio-product__application { font-size:18px; }
 .portfolio-fleet .portfolio-rail a { min-width:95px; }
 .portfolio-fleet .portfolio-rail strong { font-size:20px; }
 .portfolio-portable { padding:50px 0 40px; }
 .portfolio-portable header { padding-left:0; }
 .portfolio-portable h2 { margin-bottom:12px; }
 .portfolio-product--portable { display:flex; flex-direction:column; align-items:stretch; min-height:0; }
 .portfolio-product--portable .portfolio-product__visual { height:330px; margin:0 -12px 24px 25px; padding:0; }
 .portfolio-product--portable h3 { font-size:30px; max-width:17ch; }
 .portfolio-product--portable .portfolio-product__info { margin-right:26px; }
 .portfolio-product--portable .portfolio-specs { gap:45px; }
  .portfolio-system { min-height:0; display:block; padding:74px 0 70px; }
  .portfolio-system__intro { display:block; margin-top:20px; }
  .portfolio-system__heading h2 { font-size:37px; line-height:1.02; }
  .portfolio-system__intro > p { margin:24px 0 0; font-size:16px; max-width:32ch; }
  .portfolio-system__capabilities { display:block; margin-top:58px; }
  .portfolio-system__capability { min-height:0; padding:26px 0 30px; }
  .portfolio-system__capability + .portfolio-system__capability { border-left:0; border-top:1px solid rgba(172,189,179,.16); padding:30px 0 26px; }
  .portfolio-system__number { margin-bottom:16px; }
  .portfolio-system__capability h3 { font-size:42px; white-space:normal; margin-bottom:10px; }
  .portfolio-system__label { font-size:18px; margin-bottom:15px; }
  .portfolio-system__description { max-width:32ch; font-size:15px; }
  .portfolio-system__progression { flex-wrap:wrap; gap:8px 13px; margin-top:42px; padding-top:20px; font-size:12px; letter-spacing:.1em; }
 .portfolio-selection { padding:55px 0 45px; }
 .portfolio-selection > .container { display:block; }
 .portfolio-selection h2 { font-size:38px; max-width:17ch; }
 .portfolio-selection p:not(.portfolio-eyebrow) { font-size:16px; }
 .portfolio-selection .button { font-size:15px; }
 .portfolio-checklist { margin-top:38px; }
 .portfolio-checklist li { font-size:20px; gap:22px; padding:18px 0; }
 .portfolio-social { padding-block:12px 25px; }
 .portfolio-social .hqess-social__title { font-size:18px; }
 .portfolio-social .hqess-social__links { gap:15px; }
 .portfolio-social .hqess-social__link svg { width:23px; height:23px; }
 :root:lang(zh) .portfolio h2 { font-size:34px; line-height:1.2; }
 :root:lang(zh) .portfolio-product h3 { font-size:30px; }
 :root:lang(zh) .portfolio-product--fleet h3 { font-size:46px; }
 :root:lang(zh) .portfolio-product--fleet.is-text-only h3 { font-size:100px; }
 :root:lang(zh) .portfolio-product__application,:root:lang(zh) .portfolio-section-heading > p { font-size:15px; }
  :root:lang(zh) .portfolio-system__capability h3 { font-size:40px; }
  :root:lang(zh) .portfolio-selection #selection-title { font-size:26px; }
  :root:lang(zh) .portfolio-selection p:not(.portfolio-eyebrow) { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
 .portfolio * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
