.download-tools-entry{display:flex;align-items:center;gap:28px;margin-top:18px;padding:12px 30px;border:1px solid #719c7380;background:rgb(249 255 241 / 35%);color:var(--home-ink);text-decoration:none;transition:background .2s}
.download-tools-entry:hover{background:rgb(249 255 241 / 55%)}
.download-tools-entry:focus-visible,.download-tools-back:focus-visible{outline:2px solid #315e3a;outline-offset:5px}
.download-tools-entry>img{width:150px;height:112px;object-fit:contain;flex-shrink:0}
.download-tools-copy{flex:1;min-width:0}.download-tools-copy h2,.download-tools-empty h2{font-size:23px;font-weight:500;margin:8px 0 10px}.download-tools-copy>p:last-child,.download-tools-empty>p{color:#52745b;font-size:14px;line-height:1.8;margin:0}
.download-tools-action{display:flex;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid #719c7380;font-size:14px;white-space:nowrap}.download-tools-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.download-tools-action svg{display:none}.download-tools-action::after{content:"";display:block;flex:0 0 17px;width:17px;height:17px;background:url('/assets/ui-refinement/download.svg') center / contain no-repeat}
.download-tools-empty{text-align:center;border:1px solid #719c7380;background:rgb(249 255 241 / 35%);padding:25px 24px 42px}.download-tools-empty>img{max-width:100%;object-fit:contain}.download-tools-back{display:inline-flex;gap:40px;margin-top:25px;padding:14px 0;color:inherit;text-decoration:none;border-bottom:1px solid #719c7380}
@media(min-width:901px){.template-main:has(.download-carriers){padding-top:38px;padding-bottom:28px}.template-main:has(.download-carriers) .template-intro{margin-bottom:26px}.download-carriers .template-preview{min-height:160px;padding:18px}.download-carriers .carrier-visual{height:160px}.download-carriers .carrier-visual img{height:clamp(110px,calc(125px * var(--physical-ratio)),170px)}.download-carriers .template-card-body{padding:18px 24px}.download-carriers .template-card-body>p:not(.template-card-kicker){min-height:0;margin:10px 0 20px}.download-carriers .template-card-link{min-height:40px}}
@media(max-width:760px){.download-tools-entry{flex-wrap:wrap;gap:12px 18px;padding:20px}.download-tools-entry>img{width:92px;height:80px}.download-tools-copy h2{font-size:21px}.download-tools-copy>p:last-child{font-size:12px}.download-tools-action{width:100%;justify-content:space-between;white-space:normal}.download-tools-empty{padding:20px 18px 30px}.download-tools-empty h2{font-size:21px}.download-tools-empty>p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.download-tools-entry{transition:none}}
.utility-card{padding:32px;border:1px solid #719c7380;background:rgb(249 255 241 / 35%)}.utility-header{display:flex;align-items:center;gap:24px}.utility-icon{object-fit:contain;flex-shrink:0}.utility-header h2{font-size:26px;font-weight:500;margin:12px 0}.utility-meta{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13px;color:#52745b}.utility-description{margin:24px 0 30px;font-size:14px;line-height:1.9;color:#52745b;max-width:780px}.utility-platforms{display:grid;grid-template-columns:1fr 1fr;gap:30px}.utility-platforms>div{display:flex;align-items:center;gap:16px;border-top:1px solid #719c7380;padding-top:22px;flex-wrap:wrap}.utility-platforms svg{height:25px;width:25px;fill:currentColor;flex-shrink:0}.utility-platforms strong{font-weight:500;font-size:16px}.utility-platforms p{font-size:12px;color:#52745b;margin:5px 0}.utility-platforms button{margin-left:auto;background:transparent;border:0;border-bottom:1px solid #719c7380;padding:12px 0;font:inherit;font-size:13px;color:#52745b;opacity:.6}
@media(max-width:760px){.utility-card{padding:22px 18px}.utility-header{gap:14px;align-items:flex-start}.utility-icon{width:65px;height:65px}.utility-header h2{font-size:21px}.utility-platforms{grid-template-columns:1fr;gap:24px}.utility-description{font-size:13px}.utility-platforms button{width:100%;text-align:left;margin:0}}
.utility-download{margin-left:auto;padding:12px 0;border-bottom:1px solid #719c7380;color:inherit;text-decoration:none;font-size:13px}.utility-download:hover{border-color:#294532}.utility-download:focus-visible{outline:2px solid #315e3a;outline-offset:5px}
.utility-card+.utility-card{margin-top:24px}.utility-description{white-space:pre-wrap;overflow-wrap:anywhere}.utility-header h2,.utility-meta{overflow-wrap:anywhere}.utility-header>div{min-width:0}.utility-unavailable{margin-left:auto;color:#657865;font-size:13px}.utility-platforms>div>div{min-width:0;overflow-wrap:anywhere}
.tool-login-panel{position:relative;max-width:680px;margin:28px auto 0;padding:30px 48px 24px;text-align:center;box-sizing:border-box;border:1px solid #719c7380;background:rgb(249 255 241 / 60%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.tool-login-close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:44px;height:44px;color:#294532}.tool-login-close svg,.tool-login-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.tool-login-visual{display:block;margin:0 auto 20px;object-fit:contain;width:145px;height:109px}.tool-login-panel h1{font-size:clamp(24px,3vw,32px);font-weight:500;line-height:1.5;margin:18px 0}.tool-login-description{font-size:14px;color:#52745b;line-height:1.9;margin:0 auto 24px}.tool-login-selection{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0;border-top:1px solid #719c7350;border-bottom:1px solid #719c7350;font-size:14px}.tool-login-selection svg{width:20px;height:20px;fill:currentColor}.tool-login-platform{color:#52745b;margin-left:12px}.tool-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:22px 0}.tool-login-actions a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;border-bottom:1px solid #719c7380;color:inherit;text-decoration:none;font-size:15px}.tool-login-actions a:hover{border-color:#294532}.tool-login-actions .tool-login-primary{border-bottom:2px solid #315e3a}.tool-login-return{display:inline-block;padding:10px;color:#52745b;font-size:13px;text-underline-offset:5px}.tool-login-preview-note{font-size:11px;color:#657865;line-height:1.7;margin:22px 0 0}.tool-login-panel a:focus-visible{outline:2px solid #315e3a;outline-offset:4px}
@media(max-width:760px){.tool-login-panel{padding:28px 22px 20px;margin-top:20px}.tool-login-visual{width:120px;height:90px}.tool-login-panel h1{font-size:24px}.tool-login-description{font-size:13px}.tool-login-break{display:none}.tool-login-actions{gap:18px}.tool-login-actions a{font-size:14px}.tool-login-platform{display:block;margin:4px 0 0}.utility-download{width:100%;margin:0}.template-main:has(.tool-login-panel){padding-top:28px}}

/* Stable platform layout: long requirements cannot displace icons or actions. */
.utility-platforms{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.utility-platforms>div{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:1fr auto;align-items:start;gap:12px 16px;min-width:0}
.utility-platforms>div>svg{grid-column:1;grid-row:1;margin-top:3px}
.utility-platforms>div>div{grid-column:2;grid-row:1;min-width:0}
.utility-platforms p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
.utility-platforms .utility-download,.utility-platforms .utility-unavailable{grid-column:2;grid-row:2;justify-self:start;align-self:end;margin:0;width:auto;max-width:100%;overflow-wrap:anywhere}
.utility-description{max-width:100%;min-width:0}
.utility-description>p{margin:0 0 .8em;white-space:pre-wrap;overflow-wrap:anywhere}
.utility-description .description-title{font-size:1.6em;font-weight:650;line-height:1.4}
.utility-description .description-subtitle{font-size:1.2em;font-weight:600}
.utility-description .description-caption{font-size:.9em}
@media(max-width:760px){.utility-platforms{grid-template-columns:minmax(0,1fr)}.utility-platforms>div{gap:10px 12px}.utility-platforms .utility-download{min-height:44px;display:flex;align-items:center;padding:8px 0}}

/* Mobile title alignment: preserve HF03 platform grid and desktop rules. */
@media(max-width:760px){.utility-header h2{margin:0 0 10px;line-height:1.25}.utility-meta{line-height:1.5}}

/* Utility title group: vertically centered on desktop and phone. */
.utility-header{align-items:center}
.utility-header h2{margin:0 0 10px;line-height:1.25}
.utility-meta{line-height:1.5}

/* Left-align platform details; give every download its own full-width bottom row. */
.utility-platforms>div{grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;gap:10px 16px;align-items:start}
.utility-platforms>div>svg{width:26px;height:26px;margin:0;grid-column:1;grid-row:1;align-self:center}
.utility-platforms>div>div{display:contents}
.utility-platforms strong{display:block;grid-column:2;grid-row:1;font-size:16px;font-weight:400;line-height:28px;align-self:center;text-align:left}
.utility-platforms>div>div>p{grid-column:1 / -1;margin:0;min-width:0}
.utility-platforms>div>div>p:nth-of-type(1){grid-row:2}
.utility-platforms>div>div>p:nth-of-type(2){grid-row:3}
.utility-platforms .utility-download,.utility-platforms .utility-unavailable{grid-column:1 / -1;grid-row:4;align-self:end;justify-self:stretch;width:100%;margin:0}
.utility-platforms .utility-download{display:flex;align-items:center;justify-content:space-between;gap:18px;box-sizing:border-box;min-height:52px;min-width:150px;padding:12px 0;font-size:14px;font-weight:400;line-height:1.5;white-space:nowrap;text-align:left}
.utility-platforms .utility-download::after{content:"";display:block;flex:0 0 20px;width:20px;height:20px;background:url('/assets/ui-refinement/download.svg') center/contain no-repeat}
@media(max-width:760px){
 .utility-platforms>div{grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:12px 14px}
 .utility-platforms .utility-download,.utility-platforms .utility-unavailable{grid-column:1 / -1;grid-row:4;justify-self:stretch;width:100%;margin:0}
 .utility-platforms .utility-download{min-height:52px;padding:12px 0}
}
