/* Fortinet Renewal Hub — professional light local preview interface. */
@import url('/assets/fonts/fonts.css');

:root {
  --frh-bg:#ffffff;
  --frh-panel:#f5f8fc;
  --frh-raised:#eaf1fa;
  --frh-line:#dbe4ef;
  --frh-text:#203047;
  --frh-muted:#627086;
  --frh-red:#c92f39;
  --frh-red-light:#c92f39;
  --frh-success:#246749;
  --frh-radius:9px;
  --frh-content:1320px;
  --aureon-accent:var(--frh-red);
  --aureon-tint:var(--frh-panel);
  --ink:var(--frh-text);
  --muted:var(--frh-muted);
  --line:var(--frh-line);
  --blue:var(--frh-red-light);
  --surface:var(--frh-panel);
  color-scheme:light;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:120px}
body {margin:0;background:var(--frh-bg);color:var(--frh-text);font:15px/1.7 'DM Sans',Arial,sans-serif;text-rendering:optimizeLegibility}
body:has(.quote-dock:not([hidden])) {padding-bottom:112px}
h1,h2,h3,h4 {font-family:Manrope,Arial,sans-serif;font-weight:600;line-height:1.2;color:var(--frh-text)}
h1 {font-size:clamp(44px,5.3vw,78px);letter-spacing:-.055em;line-height:1.05;margin:18px 0 26px}
h2 {font-size:clamp(28px,3vw,43px);letter-spacing:-.04em;margin:0 0 18px}
h3 {font-size:22px;letter-spacing:-.025em;margin:0 0 14px}
h4 {font-size:18px;letter-spacing:-.02em}
p {margin:0 0 18px}
a {color:inherit;text-decoration:none}
a:hover {color:var(--frh-red-light)}
button,input,select,textarea {font:inherit}
button {cursor:pointer}
button:hover,.primary:hover {opacity:1}
button:disabled {cursor:not-allowed;opacity:.48}
img {display:block;max-width:100%}
:where(a,button,input,select,textarea,summary):focus-visible {outline:2px solid #ad2630;outline-offset:4px}
[hidden],.hidden {display:none!important}
.eyebrow {display:block;color:var(--frh-red-light);font-size:10px;font-weight:650;letter-spacing:.17em;line-height:1.6;text-transform:uppercase;margin:0 0 17px}
.note,.muted,.caption {color:var(--frh-muted);font-size:12px;line-height:1.7}
.note a,.caption a {color:var(--frh-red-light);text-decoration:underline;text-underline-offset:3px}
.preview-notice {background:#edf3fc;border-bottom:1px solid #d2e1f3;padding:9px 5%;color:#49617b;font-size:11px;text-align:center;line-height:1.5}
.preview-notice strong {color:#254e7c;font-weight:600}

/* Navigation and wordmark. */
.site-header {height:auto;min-height:92px;padding:18px max(5%,calc((100% - var(--frh-content))/2));display:flex;align-items:center;gap:30px;justify-content:space-between;position:sticky;top:0;z-index:30;background:#fffffff5;border-bottom:1px solid var(--frh-line);backdrop-filter:blur(14px)}
.site-header .logo,.site-footer .logo {display:flex;flex-direction:column;align-items:flex-start;gap:7px;flex:none;line-height:1.12;letter-spacing:0;margin:0;padding:0;color:var(--frh-text)}
.frh-logo .frh-name {display:flex;flex-direction:column;gap:1px;font-family:Manrope,Arial,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.035em;margin:0;background:none;-webkit-text-fill-color:currentColor;animation:none}
.frh-logo .frh-name>span {font-size:inherit;font-weight:inherit;letter-spacing:inherit;margin:0;vertical-align:baseline;animation:none;background:none;-webkit-text-fill-color:currentColor}
.frh-logo .frh-name>span:first-child {color:var(--frh-red-light)}
.frh-logo .frh-initials {color:var(--frh-muted);font-size:8px;font-weight:500;letter-spacing:.145em;text-transform:uppercase;margin:0;animation:none;transform:none}
.site-header nav {display:flex;gap:25px;align-items:center;margin-left:auto;font-size:12px;font-weight:500;white-space:nowrap}
.site-header nav a {padding:8px 0}
.site-header nav a[aria-current=page] {color:var(--frh-red-light)}
.header-tools {display:flex;gap:17px;align-items:center;font-size:11px;white-space:nowrap}
.header-tools>a {color:var(--frh-muted)}
.header-tools>a:hover {color:var(--frh-text)}
.site-header .bag {border:1px solid #dbe4ef;border-radius:5px;padding:10px 13px;min-height:43px;font-size:12px;font-weight:600;color:var(--frh-text);background:#eaf1fa}
.site-header .bag span {display:inline-grid;place-items:center;width:22px;height:22px;margin-left:7px;background:#faedf0;border:1px solid #d9adb5;color:#c92f39;border-radius:4px;font-size:11px}
.site-header .bag:hover {border-color:var(--frh-red-light);background:#eaf1fa}

/* Shared actions and fields. */
.primary,.outline,.product-add {display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:48px;padding:13px 22px;font-size:12px;font-weight:650;line-height:1.5;border-radius:5px;text-align:center;border:1px solid var(--frh-red);background:var(--frh-red);color:#fff}
.primary:hover,.product-add:hover {color:#fff;background:#c92f39;border-color:#c92f39}
.primary b {font-weight:400;margin-left:0}
.outline {background:transparent;border-color:#c7d5e5;color:var(--frh-text)}
.outline:hover {background:#eaf1fa;border-color:#7b8fa9;color:#203047}
.textlink {display:inline-block;color:var(--frh-red-light);font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#c92f3970}
.textlink:hover {color:#c92f39;text-decoration-color:currentColor}
label {display:block;color:#627086;font-size:12px;font-weight:500}
input,select,textarea {display:block;width:100%;min-width:0;min-height:48px;margin:8px 0 18px;padding:12px 14px;border:1px solid #c7d5e5;border-radius:5px;background:#ffffff;color:var(--frh-text);font-size:14px;line-height:1.5;box-shadow:none}
select {padding-right:34px;color-scheme:light}
select option {background:#ffffff;color:#203047}
input::placeholder,textarea::placeholder {color:#8190a4;opacity:1}
input:hover,select:hover,textarea:hover {border-color:#7b8fa9}
input:focus,select:focus,textarea:focus {border-color:#c92f39}
textarea {min-height:125px;resize:vertical}
input[type=checkbox],input[type=radio] {display:inline-block;min-height:0;flex:none;width:17px;height:17px;margin:3px 0 0;accent-color:var(--frh-red)}
input[type=number] {font-variant-numeric:tabular-nums}
form {background:var(--frh-panel);border-radius:var(--frh-radius);padding:28px}
form h3 {font-size:24px;letter-spacing:-.035em}
form small {color:var(--frh-muted);font-size:11px;line-height:1.7}
.formrow {display:grid;grid-template-columns:1fr 1fr;gap:18px}
.formrow label {width:auto;min-width:0}
.checkline {display:flex;align-items:flex-start;gap:11px;margin:6px 0 21px;font-size:12px;line-height:1.7;font-weight:400}
.checkline input {margin:4px 0 0;width:17px;padding:0}
.checkline a {color:var(--frh-red-light);text-decoration:underline;text-underline-offset:3px}
.form-status,.status-message {color:var(--frh-muted);font-size:12px;line-height:1.7}
.form-status:not(:empty) {padding:15px;border:1px solid #c7d5e5;border-radius:5px;background:#eaf1fa;margin-top:20px}
.form-status[data-state=error],.status-message[data-state=error] {color:#a82430}
.form-status[data-state=success],.status-message[data-state=success] {color:var(--frh-success)}

/* The homepage: a product-first opening with a connected selection workspace. */
.journey-home {overflow:clip}
.hero-grid.section {width:min(var(--frh-content),90%);margin:0 auto;padding:72px 0 58px;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:64px;align-items:center}
.hero-copy {min-width:0;max-width:650px}
.hero-copy h1 span {color:var(--frh-red-light)}
.hero-copy>p {font-size:17px;color:#627086;line-height:1.75;max-width:510px;margin-bottom:26px}
.hero-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:28px 0}
.hero-actions .textlink {margin-left:8px}
.hero-device {position:relative;background:radial-gradient(ellipse at 55% 36%,#a9c7e533 0%,#eaf1fa 55%,#f5f8fc 85%);border:1px solid #dbe4ef;border-radius:10px;min-height:345px;padding:42px 32px 0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.hero-device>img {width:100%;max-height:255px;object-fit:contain;background:#fff;border-radius:5px;padding:22px;filter:drop-shadow(0 18px 22px #20304714);margin:auto}
.device-caption {display:flex;justify-content:space-between;gap:16px;align-items:center;margin:34px -32px 0;padding:19px 24px;border-top:1px solid #dbe4ef;background:#f5f8fc;color:var(--frh-muted);font-size:11px;line-height:1.6}
.device-caption strong {display:block;color:var(--frh-text);font-weight:600;font-size:13px}
.device-caption span {min-width:0}
.hero-search {padding:22px 0 0;max-width:510px;border-top:1px solid var(--frh-line);margin-top:29px}
.hero-search label {font-size:11px;font-weight:400;color:var(--frh-muted)}
.hero-search input {background:#f5f8fc;margin-bottom:0;min-height:48px;font-size:13px}
.hero-search>div {display:flex;align-items:center;gap:10px}
.hero-search>div input {flex:1}
.hero-search button {flex:none;margin-top:8px}
.route-cards.section {width:min(var(--frh-content),90%);margin:0 auto 22px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.route-cards>a {display:block;background:#f5f8fc;border:1px solid var(--frh-line);border-radius:var(--frh-radius);padding:27px 30px;position:relative;transition:border-color .18s ease,background .18s ease}
.route-cards>a:hover {border-color:#d9adb5;background:#eaf1fa;color:var(--frh-text)}
.route-cards>a .eyebrow {font-size:9px;margin-bottom:11px}
.route-cards h2 {font-size:24px;margin:0 0 10px}
.route-cards p {font-size:13px;color:var(--frh-muted);margin:0;max-width:460px}
.route-cards .route-arrow,.route-cards>a>span:last-child {position:absolute;right:26px;top:29px;color:var(--frh-red-light);font-size:20px}
.section {width:min(var(--frh-content),90%);max-width:none;margin:0 auto;padding:64px 0}
 .section-heading {display:block;margin-bottom:27px}
.section-heading h2 {margin:0}
.section-heading .eyebrow {margin-bottom:13px}
.section-heading>p,.section-heading>div>p {color:var(--frh-muted);font-size:13px;max-width:700px;margin:15px 0 0;line-height:1.75}

.model-workspace {background:var(--frh-panel);border:1px solid var(--frh-line);border-radius:10px;padding:30px}
.workspace-head {display:flex;align-items:start;justify-content:space-between;gap:34px;margin-bottom:26px}
.selected-model,.workspace-head>div {min-width:0}
.selected-model .eyebrow,.workspace-head>div .eyebrow {font-size:9px;margin-bottom:9px}
.selected-model h2,.selected-model h3,.workspace-head>div h2 {margin:0 0 8px;font-size:30px;letter-spacing:-.035em}
.selected-model p,.workspace-head>div>p {font-size:12px;color:var(--frh-muted);max-width:530px;margin:0}
.model-controls {display:block;min-width:285px;width:285px;flex:none;font-size:11px;color:#627086}
.model-controls label {flex:1;min-width:140px;max-width:270px;font-size:11px}
.model-controls input,.model-controls select {margin-bottom:0;background:#ffffff;font-size:13px}
.workspace-tabs {display:flex;gap:0;border-bottom:1px solid #dbe4ef;margin:0 -30px 25px;padding:0 30px}
.workspace-tabs button {padding:16px 22px;border-radius:0;border:0;background:none;color:var(--frh-muted);font-size:12px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;min-height:48px}
.workspace-tabs button:first-child {padding-left:0;padding-right:26px}
.workspace-tabs button:hover {color:#203047}
.workspace-tabs button.active,.workspace-tabs button[aria-selected=true],.workspace-tabs button[aria-pressed=true] {border-color:var(--frh-red);color:#203047}
.choice-fields {display:flex;gap:18px;flex-wrap:wrap;align-items:end;margin-bottom:10px}
.choice-fields label {width:220px;font-size:11px}
.choice-fields select {margin:8px 0 8px;background:#ffffff;font-size:13px}
.match-summary {display:flex;justify-content:space-between;gap:20px;align-items:center;margin:14px 0 21px;padding-top:16px;border-top:1px solid var(--frh-line);font-size:11px;color:var(--frh-muted)}
.match-summary strong {color:var(--frh-text);font-weight:500}
.choice-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.choice-card {display:flex;flex-direction:column;min-width:0;border:1px solid #dbe4ef;border-radius:8px;overflow:hidden;background:#f5f8fc;transition:border-color .18s ease}
.choice-card:hover {border-color:#d9adb5}
.product-media {display:flex;justify-content:center;align-items:center;height:165px;padding:22px;background:#f6f7f9;border-bottom:1px solid #dbe4ef;overflow:hidden}
.product-media img {width:100%;height:100%;max-height:140px;object-fit:contain;mix-blend-mode:multiply}
.product-media.no-image {background:#eaf1fa;color:#627086;font-family:Manrope;font-size:15px}
.product-meta {display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:11px 20px;background:#eaf1fa;border-bottom:1px solid #dbe4ef;font-size:9px;color:#627086;line-height:1.6}
.product-meta small,.product-meta .type,.choice-card>.type {display:block;color:#c92f39;font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:11px}
.product-meta h3,.product-meta h4,.choice-card>h3 {font-size:16px;line-height:1.45;letter-spacing:-.016em;margin:0 0 12px;font-weight:650}
.product-meta p {color:var(--frh-muted);font-size:12px;line-height:1.65;margin:0 0 12px}
.sku {font:11px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;color:#627086;background:#f4f7fb;padding:9px 10px;border:1px solid #dbe4ef;border-radius:4px;margin:0 0 15px;letter-spacing:0}
.itembottom {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;padding-top:16px;border-top:1px solid var(--frh-line)}
.itembottom strong {font-size:19px;font-weight:600;letter-spacing:-.03em;white-space:nowrap}
.itembottom small {display:block;color:var(--frh-muted);font-size:10px;letter-spacing:0;text-transform:none;margin:2px 0 0;font-weight:400}
.itembottom .product-add {width:auto;height:auto;min-height:42px;border-radius:5px;padding:10px 13px;background:var(--frh-red);color:#fff;font-size:11px;letter-spacing:0;border:1px solid var(--frh-red)}
.itembottom .product-add:hover {background:#c92f39;border-color:#c92f39}
.empty-state {grid-column:1/-1;padding:40px 28px;background:#eaf1fa;border:1px dashed #c7d5e5;border-radius:7px;color:var(--frh-muted);text-align:center;font-size:13px;line-height:1.75}
.empty-state h3 {font-size:19px;color:#203047;margin:0 0 10px}
.empty-state p {max-width:580px;margin:0 auto 18px}
.model-gallery {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.model-card {display:flex;flex-direction:column;min-width:0;border:1px solid var(--frh-line);border-radius:8px;background:var(--frh-panel);overflow:hidden}
.model-card>img,.model-card .model-image {width:100%;height:155px;object-fit:contain;background:#f6f7f9;padding:23px}
.model-card .model-image img {width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.model-card h3 {font-size:19px;margin:20px 20px 9px}
.model-card p {font-size:12px;color:var(--frh-muted);margin:0 20px 18px;line-height:1.7}
.model-card>a,.model-card>button {margin:auto 20px 20px;padding:10px 0;color:var(--frh-red-light);text-align:left;font-size:11px;font-weight:500}
.model-card:hover {border-color:#d9adb5}

/* Renewal requests preserve the customer's device detail. */
.request-layout {display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:74px;align-items:start}
.request-intro {padding-top:12px;max-width:480px}
.request-intro h2 {font-size:clamp(33px,3.5vw,49px);line-height:1.1}
.request-intro>p {color:var(--frh-muted);font-size:15px;line-height:1.85;margin-bottom:25px}
.request-intro ol,.request-intro .steps {display:grid;gap:20px;margin:32px 0;padding:0;list-style:none}
.request-intro li {font-size:13px;color:var(--frh-muted);border-top:1px solid var(--frh-line);padding-top:18px}
.request-intro li strong {display:block;color:var(--frh-text);font-size:14px;margin-bottom:5px;font-weight:600}
.request-intro .steps>div,.request-intro .steps>span {padding-top:17px;border-top:1px solid var(--frh-line);font-size:13px;color:var(--frh-muted)}
.request-form {padding:32px;border:1px solid var(--frh-line);background:var(--frh-panel);border-radius:9px;margin:0}
.request-form>p {font-size:12px;color:var(--frh-muted);line-height:1.7}
.request-form .primary {width:100%}
.request-form .formrow {gap:17px}
.request-form fieldset {border:1px solid var(--frh-line);border-radius:5px;padding:20px;margin:0 0 20px}
.request-form legend {color:var(--frh-text);font-size:12px;font-weight:600;padding:0 7px}
.request-form input,.request-form select,.request-form textarea {background:#ffffff}
.request-form .checkline {margin-bottom:20px}

/* One quote for hardware, security bundles and renewals. */
#quote-dialog {width:min(860px,94vw);max-height:90svh;overflow:auto;background:#f5f8fc;border:1px solid #c7d5e5;border-radius:11px;padding:30px;color:var(--frh-text);box-shadow:0 32px 120px #20304726}
#quote-dialog::backdrop {background:#20304766;backdrop-filter:blur(7px)}
.dialog-head {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.dialog-head h2 {font-size:30px;margin:0}
.dialog-head button {display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;min-height:42px;padding:9px 13px;font-size:12px;color:var(--frh-muted);background:#eaf1fa;border:1px solid #dbe4ef;border-radius:5px;line-height:1}
.dialog-head button:hover {color:#203047;border-color:#7b8fa9}
.quote-items {display:grid;gap:13px;margin:0 0 26px}
.quote-item {display:block;padding:20px;background:#ffffff;border:1px solid var(--frh-line);border-radius:6px}
.quote-identity {display:flex;align-items:start;justify-content:space-between;gap:20px;min-width:0;margin-bottom:18px}
.quote-identity strong {display:block;font-family:Manrope;font-size:15px;line-height:1.45;font-weight:600;margin-bottom:8px}
.quote-identity .sku {margin:0 0 7px;font-size:10px}
.quote-identity small {display:block;font-size:11px;line-height:1.6;color:var(--frh-muted)}
.quote-identity button,.quote-item>button {color:var(--frh-red-light);font-size:11px;padding:5px 0;text-align:left;text-decoration:underline;text-underline-offset:3px}
.quote-fields {display:grid;grid-template-columns:1fr 1fr;gap:11px;align-content:start}
.quote-fields label {font-size:10px}
.quote-fields input,.quote-fields select {min-height:39px;font-size:12px;padding:9px 10px;margin:6px 0 0}
.quote-fields label:has(textarea),.quote-fields .full {grid-column:1/-1}
.quote-contact {background:transparent;padding:24px 0 0;border-top:1px solid var(--frh-line);border-radius:0}
.quote-contact h3 {font-size:22px}
.quote-contact>p {color:var(--frh-muted);font-size:12px}
.quote-contact .primary {margin-top:0;width:100%}
.quote-summary {display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;background:#eaf1fa;border:1px solid #dbe4ef;padding:17px 20px;border-radius:5px;font-size:12px;margin:0 0 20px;color:var(--frh-muted)}
.quote-summary strong {display:block;color:#203047;font-size:21px;font-weight:600;letter-spacing:-.03em}
.quote-summary small {display:block;color:var(--frh-muted);font-size:10px}
.receipt {padding:26px;background:#eff8f3;border:1px solid #c7d5e5;border-radius:7px;color:#246749;font-size:13px;line-height:1.8}
.receipt h3 {color:#246749;font-size:24px;margin-bottom:13px}
.receipt code {font-size:16px;font-weight:600;color:#246749}
.receipt a {color:#246749;text-decoration:underline;text-underline-offset:4px}
.quote-dock {position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:40;width:min(850px,calc(100% - 40px));background:#fffffff5;border:1px solid #d9adb5;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:15px 20px;box-shadow:0 13px 45px #2030471c;backdrop-filter:blur(18px)}
.quote-dock strong {display:block;font-size:13px;font-weight:600}
.quote-dock p,.quote-dock small {display:block;color:var(--frh-muted);font-size:10px;line-height:1.6;margin:1px 0 0}
.quote-dock-actions {display:flex;align-items:center;gap:12px;flex:none}
.quote-dock-actions .primary {min-height:42px;font-size:11px;padding:10px 18px}
.quote-dock-actions .textlink {font-size:11px}
.quote-dock .status-message {margin:0}

/* Existing product, information, and customer-facing page shells. */
.seo-wrap,.policywrap,.matrixwrap {width:min(var(--frh-content),90%);max-width:none;margin:auto;padding:45px 0 75px}
.seo-wrap>h1,.product-layout h1,.product-summary h1,.policywrap h1 {font-size:clamp(34px,4vw,53px);line-height:1.15;letter-spacing:-.045em;margin:18px 0 24px}
.breadcrumbs {display:flex;gap:11px;flex-wrap:wrap;color:var(--frh-muted);font-size:10px;margin-bottom:31px}
.breadcrumbs>*+*:before {color:#7b8fa9}
.breadcrumbs a:hover {color:var(--frh-red-light)}
.seo-lead,.policylead {color:var(--frh-muted);font-size:16px;line-height:1.8;max-width:740px}
.seo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0 45px}
.seo-card {display:flex;flex-direction:column;min-height:240px;padding:25px;border:1px solid var(--frh-line);border-radius:8px;background:var(--frh-panel);color:var(--frh-text);box-shadow:none;transition:border-color .18s ease,background .18s ease}
.seo-card:hover,.seo-card:focus-visible,.seo-card:focus-within {border-color:#d9adb5;background:#eaf1fa;color:var(--frh-text);box-shadow:none;transform:none}
.seo-card h2,.seo-card h3 {font-size:21px;line-height:1.4;letter-spacing:-.025em;margin:13px 0}
.seo-card p,.seo-card small,.seo-card:hover small,.seo-card:focus-visible small {color:var(--frh-muted);font-size:12px;line-height:1.75}
.seo-card code,.seo-card:hover code {color:#627086;font-size:10px;overflow-wrap:anywhere}
.seo-card>span,.seo-card:focus-visible>span {color:var(--frh-red-light);font-size:12px;margin-top:auto}
.product-detail {display:block}
.product-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;align-items:start}
.product-image {background:#f6f7f9;border:1px solid #dbe4ef;border-radius:9px;display:flex;align-items:center;justify-content:center;min-height:335px;padding:40px;overflow:hidden}
.product-image img {width:100%;max-height:280px;height:auto;object-fit:contain;mix-blend-mode:multiply}
.product-summary {min-width:0}
.product-summary p {color:var(--frh-muted);font-size:14px;line-height:1.85}
.product-summary .sku {font-size:11px}
.product-summary .primary,.product-summary .outline {margin-right:8px}
.related-products {margin-top:55px;padding-top:35px;border-top:1px solid var(--frh-line)}
.related-products h2 {font-size:29px}
.related-products .seo-grid {margin-bottom:0}
.policy-notice,.policygrid>a {background:var(--frh-panel);border:1px solid var(--frh-line);color:var(--frh-muted);border-radius:7px}
.policycopy p,.policycopy li,.policygrid p,.about-story>p,.about-company p {color:var(--frh-muted)}
.policycopy section,.about-company,.journey {border-color:var(--frh-line)}
.policynav a {background:var(--frh-raised);border:1px solid var(--frh-line);border-radius:5px;color:#627086}
.policynav a:hover {color:#203047;border-color:#d9adb5}
.policycopy a,.policy-notice a {color:var(--frh-red-light)}

.site-footer {background:#f5f8fc;border-top:1px solid var(--frh-line);padding:52px max(5%,calc((100% - var(--frh-content))/2)) 25px;margin-top:25px;color:var(--frh-muted)}
.site-footer .footer-layout {display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:36px;padding:0 0 35px}
.site-footer .footer-brand {display:block;padding:0}
.site-footer .footer-brand p {font-size:12px;margin:20px 0;color:var(--frh-muted);line-height:1.8}
.site-footer .footer-column {display:block;padding:0}
.site-footer .footer-column h3 {font-family:'DM Sans',Arial,sans-serif;font-size:12px;font-weight:600;color:var(--frh-text);margin-bottom:18px;letter-spacing:0}
.site-footer .footer-column a {display:block;font-size:11px;color:var(--frh-muted);margin:9px 0;line-height:1.7}
.site-footer .footer-column a:hover {color:var(--frh-red-light)}
.site-footer .footer-contact a {font-size:11px;color:var(--frh-red-light)}
.site-footer .footer-company {display:flex;justify-content:space-between;align-items:end;gap:25px;padding:22px 0;border-top:1px solid var(--frh-line);font-size:10px;line-height:1.8;margin:0}
.site-footer .footer-company p {color:var(--frh-muted);font-size:10px;line-height:1.8;margin:0}
.site-footer .footer-legal {display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-start;margin:0;padding:15px 0 0;border-top:1px solid var(--frh-line);font-size:10px;line-height:1.8;color:#627086}
.site-footer .footer-legal a:hover {color:var(--frh-red-light)}

/* Connected choices and customer-facing page detail. */
.skip-link {position:fixed;top:10px;left:10px;z-index:100;transform:translateY(-180%);padding:11px 18px;border:1px solid #ad2630;border-radius:5px;background:#eaf1fa;color:#203047;font-size:13px}
.skip-link:focus {transform:none}
.honeypot {position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
input:focus-visible,select:focus-visible,textarea:focus-visible {outline:2px solid #ad2630;outline-offset:3px;box-shadow:none}
.hero-search {background:transparent;border-radius:0;padding-inline:0;padding-bottom:0}
.device-kicker {font-size:10px;font-weight:500;letter-spacing:.14em;color:#627086;margin-bottom:20px}
.device-caption {display:block;padding:20px 24px}
.device-caption>span {display:block;font-size:10px}
.device-caption>strong {display:block;font-size:13px;margin:3px 0 5px;color:#203047}
.device-caption>code {font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:#627086;letter-spacing:.035em}
.choice-fields>p {flex:1;min-width:220px;max-width:430px;font-size:11px;color:var(--frh-muted);line-height:1.7;margin:0 0 10px}
.choice-card>h3 {font-size:16px;line-height:1.5;letter-spacing:-.016em;font-weight:650;margin:21px 20px 12px}
.choice-card>.sku {margin:0 20px 12px;padding:8px 9px;font-size:10px}
.choice-card>.product-service {font-size:11px;color:var(--frh-muted);line-height:1.7;margin:0 20px 20px}
.choice-card>.itembottom {margin:auto 20px 20px;padding-top:17px;align-items:end;gap:10px}
.choice-card>.itembottom>span {font-size:15px;font-weight:600;line-height:1.45;letter-spacing:-.018em}
.choice-card>.itembottom>span small {font-size:9px;line-height:1.6;letter-spacing:0;font-weight:400;max-width:145px;margin-top:6px}
.product-meta>span:first-child {color:#c92f39}
.product-meta>span:last-child {text-align:right;font-size:9px;white-space:nowrap}
.model-card>span {margin:17px 20px 0;color:var(--frh-muted);font-size:10px;line-height:1.5}
.model-card h3 {margin-top:7px;margin-bottom:8px}
.model-card h3 b {color:var(--frh-red-light);float:right;font-size:17px;font-weight:400}
.model-card>code {margin:0 20px 21px;font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:#627086}
.model-gallery+.textlink {margin-top:24px}
.model-hero {position:relative;min-height:440px;padding:44px 47% 46px 0}
.model-hero .breadcrumbs {margin-bottom:27px;font-size:10px;white-space:normal;gap:10px}
.model-hero h1 {font-size:clamp(36px,4.2vw,60px);margin:16px 0 19px}
.model-hero h1 span {display:block;font-size:22px;font-weight:500;letter-spacing:-.025em;line-height:1.35;color:var(--frh-muted);margin-top:14px}
.model-hero .seo-lead {font-size:14px;line-height:1.85}
.model-hero-image {position:absolute;right:0;top:102px;width:43%;height:260px;object-fit:contain;padding:32px;background:#f6f7f9;border:1px solid #c7d5e5;border-radius:9px}
.catalogue-controls {display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px;align-items:end;background:var(--frh-panel);border:1px solid var(--frh-line);border-radius:7px;padding:21px 23px}
.catalogue-controls label {font-size:11px}
.catalogue-controls input,.catalogue-controls select {margin-bottom:0;font-size:13px}
#catalogue-more {display:flex;margin:27px auto 0;min-width:190px}
.renewal-hero {padding-top:48px;padding-bottom:48px}
.renewal-hero h1 span {color:var(--frh-red-light)}
.renewal-hero .seo-lead {max-width:720px;font-size:16px}
.renewal-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:22px;margin-top:32px;border-top:1px solid var(--frh-line);max-width:880px}
.renewal-steps span {display:flex;gap:13px;align-items:center;font-size:12px;color:var(--frh-muted)}
.renewal-steps b {display:inline-grid;place-items:center;width:28px;height:28px;flex:none;border:1px solid #c7d5e5;border-radius:5px;color:#203047;font-family:Manrope;font-size:11px;font-weight:500}
.request-intro ul {list-style:none;margin:28px 0;padding:0}
.request-intro ul li {position:relative;padding:14px 0 14px 22px;margin:0;font-size:12px;border-top:1px solid var(--frh-line)}
.request-intro ul li:before {content:'✓';position:absolute;left:0;color:var(--frh-red-light);font-size:12px}
.renewal-callout.section {display:flex;justify-content:space-between;align-items:center;gap:45px;background:linear-gradient(120deg,#faf1f3,#eaf1fa);border:1px solid #d9adb5;border-radius:9px;padding:35px 40px;margin-top:20px;margin-bottom:18px}
.renewal-callout h2 {font-size:36px;line-height:1.15;margin:0 0 16px}
.renewal-callout p {color:var(--frh-muted);font-size:13px;max-width:620px;line-height:1.8;margin:0}
.renewal-callout .primary {flex:none}
.delivery-section {border-top:1px solid var(--frh-line)}
.caregrid {margin:28px 0 30px;gap:36px}
.caregrid article {border-top:1px solid var(--frh-line);padding-top:20px}
.caregrid span {color:var(--frh-red-light);font-size:10px}
.caregrid h3 {font-size:18px;line-height:1.4;margin:13px 0 11px}
.caregrid p {color:var(--frh-muted);font-size:12px;line-height:1.85;margin:0}
.quote-identity>div {min-width:0;flex:1}
.quote-identity .eyebrow {font-size:9px;letter-spacing:.08em;margin-bottom:9px}
.quote-identity h3 {font-size:16px;line-height:1.45;letter-spacing:-.02em;margin:0 0 10px}
.quote-identity p:not(.sku) {font-size:11px;color:var(--frh-muted);margin:8px 0 0;line-height:1.7}
.quote-identity .remove-item {flex:none;min-height:35px;border:1px solid #c7d5e5;border-radius:4px;padding:8px 11px;font-size:10px;background:transparent;color:#203047;text-decoration:none}
.quote-identity .remove-item:hover {border-color:#d9adb5;color:#c92f39;background:#faedf0}
.quote-fields {border-top:1px solid var(--frh-line);padding-top:15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.quote-fields .item-note {grid-column:1/-1}
.quote-fields label>span,.quote-contact label>span:not(:only-child),.request-form label>span {font-size:10px;font-weight:400;color:var(--frh-muted)}
#quote-form {padding:0;background:transparent;border-radius:0}
#dock-models {display:block;color:var(--frh-muted);font-size:10px;line-height:1.6;margin-top:2px;max-width:450px}
#dock-review {min-height:43px;flex:none;padding:10px 18px;font-size:11px}
#journey-status {position:fixed;bottom:100px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);z-index:42;margin:0;padding:10px 17px;background:#eff8f3;border:1px solid #c7d5e5;color:#246749;border-radius:5px;box-shadow:0 10px 30px #20304714;font-size:11px}
#journey-status:empty {display:none}
#journey-status.error {background:#faf1f3;color:#a82430;border-color:#d9adb5}
.connected-product.section {width:100%;padding-top:45px;padding-bottom:0;border-top:1px solid var(--frh-line);margin-top:45px}
.connected-product>.outline {margin-top:23px}
.product-buy {background:var(--frh-panel);border:1px solid var(--frh-line);border-radius:8px;box-shadow:none;color:var(--frh-text);padding:25px;position:static}
.product-buy>.eyebrow {font-size:9px;color:var(--frh-red-light);font-weight:500;letter-spacing:.12em}
.product-buy>h2 {font-size:27px;line-height:1.3;letter-spacing:-.035em}
.product-buy p {color:var(--frh-muted);font-size:12px;line-height:1.8}
.product-buy .product-add {border-radius:5px;margin:15px 0;min-height:47px}
.product-buy>.textlink {display:block;margin-bottom:18px}
.product-sku {font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;color:#203047;margin:15px 0 23px}
.product-specs {margin-top:43px}
.product-specs h2,.product-guidance h2 {font-size:30px;line-height:1.3;letter-spacing:-.035em}
.product-specs dl {border:1px solid var(--frh-line);border-radius:7px;overflow:hidden;background:var(--frh-panel)}
.product-specs dl>div {padding:15px 23px;border-top:1px solid var(--frh-line);display:grid;grid-template-columns:1fr 1.8fr;gap:24px}
.product-specs dt {font-size:11px;color:var(--frh-muted)}
.product-specs dd {font-size:12px;color:var(--frh-text);margin:0;overflow-wrap:anywhere}
.product-guidance {margin-top:38px}
.product-policy-links {display:flex;flex-wrap:wrap;gap:24px;line-height:1.7;color:var(--frh-muted);font-size:11px;border-color:var(--frh-line)}
.model-directory a {background:var(--frh-panel);border-color:var(--frh-line);border-radius:6px}
.model-directory a:hover {background:#eaf1fa;border-color:#d9adb5;color:#203047}
.model-directory a span {color:var(--frh-muted)}
.model-directory a:hover span {color:var(--frh-red-light)}
.collection-links a,.directory-pages a {background:var(--frh-panel);border-color:var(--frh-line);color:var(--frh-muted);border-radius:4px}
.collection-links a:hover,.directory-pages a:hover {background:var(--frh-raised);border-color:#d9adb5;color:#203047}
.platform-section {background:#f5f8fc;border-block:1px solid var(--frh-line)}
.platform-section:before {display:none}
.platform-inner {text-align:left}
.platform-inner>h2 {font-size:40px;line-height:1.15;letter-spacing:-.04em;margin:0 0 20px}
.platform-intro {color:var(--frh-muted);font-size:14px;line-height:1.8;max-width:640px;margin:0 0 28px}
.platform-grid {gap:17px;text-align:left}
.platform-card {background:#f5f8fc;border:1px solid #dbe4ef;border-radius:7px;box-shadow:none;transform:none}
.platform-card:hover {transform:none;border-color:#d9adb5;box-shadow:none;color:var(--frh-text)}
.pillar-band,.platform-card.red .pillar-band,.platform-card.blue .pillar-band {background:#eaf1fa;color:#627086;text-align:left;padding:14px 21px;font-size:8px;letter-spacing:.1em;border-bottom:1px solid #dbe4ef}
.platform-card.red .pillar-band {background:#faf1f3;color:#c92f39}
.pillar-body {padding:24px 21px}
.pillar-body svg {width:50px;height:50px;margin:0 0 20px;color:#627086}
.platform-card.red svg {color:var(--frh-red-light)}
.pillar-body h3 {font-size:19px;margin:0 0 14px;letter-spacing:-.025em}
.pillar-body p {font-size:12px;color:var(--frh-muted);line-height:1.8;min-height:150px;margin-bottom:18px}
.pillar-body>span {color:var(--frh-red-light);font-size:10px;margin-top:20px}
.platform-source,.platform-source a {font-size:10px;color:var(--frh-muted);margin-top:23px}
.platform-source a {text-decoration:underline;text-underline-offset:3px}
.fortinet-news {border-color:var(--frh-line)}
.news-heading {margin-bottom:27px;gap:30px}
.news-heading h2 {font-size:40px;line-height:1.15;letter-spacing:-.04em;margin:0 0 15px}
.news-heading p {font-size:14px;color:var(--frh-muted);line-height:1.8;margin-bottom:0}
.news-tabs {gap:8px}
.news-tabs button {background:#eaf1fa;border:1px solid #c7d5e5;border-radius:5px;color:var(--frh-muted);font-size:11px;padding:10px 15px;min-height:40px}
.news-tabs button.active {background:#faf1f3;border-color:#d9adb5;color:#c92f39}
.news-card {background:var(--frh-panel);border-color:var(--frh-line);border-radius:7px;box-shadow:none;padding:24px;transition:border-color .18s ease}
.news-card:hover {border-color:#d9adb5;transform:none}
.news-card h3 {font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.02em}
.news-meta {font-size:9px;color:#627086}
.news-read {font-size:11px;color:var(--frh-red-light)}
.fortinet-news>.note {font-size:10px;color:var(--frh-muted)}

@media(max-width:1150px) {
  .site-header {gap:20px;padding-inline:5%}
  .site-header nav {gap:17px;font-size:11px}
  .header-tools {gap:11px}
  .header-tools .admin-link {display:none}
  .hero-grid.section {gap:35px;padding-top:55px}
  .hero-copy h1 {font-size:clamp(44px,5.4vw,65px)}
  .model-gallery {grid-template-columns:repeat(2,minmax(0,1fr))}
  .choice-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .request-layout {gap:40px}
}
@media(max-width:900px) {
  .site-header {flex-wrap:wrap;min-height:86px;gap:14px 24px;padding-top:15px;padding-bottom:12px}
  .site-header .logo {margin-right:auto}
  .site-header nav {order:3;width:100%;justify-content:space-between;margin:0;padding-top:10px;border-top:1px solid var(--frh-line);font-size:11px}
  .site-header nav a {padding:2px 0}
  .header-tools {gap:14px;font-size:10px}
  .hero-grid.section {grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:25px;padding-top:46px}
  .hero-copy h1 {font-size:49px}
  .hero-copy>p {font-size:15px}
  .hero-device {min-height:290px;padding:26px 22px 0}
  .hero-device>img {padding:13px;max-height:210px}
  .device-caption {margin:28px -22px 0;padding:15px 19px;font-size:10px;display:block}
  .device-caption>span+span {display:block;margin-top:7px}
  .workspace-head {display:block}
  .model-controls {margin-top:24px;min-width:0;width:100%;max-width:none}
  .model-controls label {max-width:none}
  .request-layout {grid-template-columns:1fr 1.1fr;gap:28px}
  .request-form {padding:25px}
  .formrow {gap:12px}
  .site-footer .footer-layout {grid-template-columns:1fr 1fr;gap:35px}
  .seo-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-detail,.product-layout {gap:30px}
}
@media(max-width:700px) {
  html {scroll-padding-top:145px}
  body {font-size:14px}
  body:has(.quote-dock:not([hidden])) {padding-bottom:126px}
  .preview-notice {font-size:10px;padding:8px 5%}
  .site-header {padding:13px 5% 11px;gap:12px}
  .frh-logo .frh-name {font-size:17px}
  .frh-logo .frh-initials {font-size:7px;letter-spacing:.08em}
  .site-header nav {gap:10px;font-size:10px;white-space:normal}
  .header-tools {gap:10px}
  .header-tools .tracking-link {font-size:9px;max-width:40px;line-height:1.4;white-space:normal}
  .site-header .bag {padding:8px 10px;min-height:40px;font-size:10px}
  .site-header .bag span {width:18px;height:18px;font-size:10px;margin-left:5px}
  h1 {font-size:46px;letter-spacing:-.052em}
  h2 {font-size:31px}
  .hero-grid.section {display:flex;flex-direction:column;gap:29px;padding:44px 0 36px;align-items:stretch}
  .hero-copy {max-width:none}
  .hero-copy h1 {font-size:clamp(42px,10.5vw,63px);line-height:1.07;margin-bottom:22px}
  .hero-copy>p {font-size:15px;line-height:1.8;max-width:540px}
  .hero-actions {gap:10px;margin:23px 0}
  .hero-actions .primary,.hero-actions .outline {font-size:11px;padding:12px 16px;min-height:46px}
  .hero-actions .textlink {margin:8px 0 0}
  .hero-search {max-width:none;margin-top:23px;padding-top:21px}
  .hero-device {min-height:260px;padding:25px 25px 0}
  .hero-device>img {padding:20px;max-height:210px;width:100%}
  .device-caption {margin:26px -25px 0;display:flex;padding:16px 20px;gap:20px}
  .device-caption>span+span {margin-top:0;max-width:45%;text-align:right}
  .route-cards.section {grid-template-columns:1fr;gap:12px;margin-bottom:0}
  .route-cards>a {padding:24px}
  .route-cards h2 {font-size:22px;padding-right:12px}
  .route-cards p {font-size:12px;padding-right:12px}
  .route-cards .route-arrow,.route-cards>a>span:last-child {right:22px;top:24px}
  .section {padding:43px 0}
  .section-heading {display:block;margin-bottom:22px}
  .section-heading h2 {font-size:30px}
  .section-heading>p,.section-heading>div>p {margin-top:15px;max-width:560px;font-size:12px}
  .model-workspace {padding:22px 18px}
  .workspace-head {margin-bottom:21px}
  .selected-model h2,.selected-model h3,.workspace-head>div h2 {font-size:27px}
  .selected-model p,.workspace-head>div>p {font-size:11px}
  .model-controls {margin-top:21px;width:100%;min-width:0}
  .model-controls label {flex:1;min-width:120px}
  .model-controls input,.model-controls select {font-size:12px;padding:11px 12px}
  .workspace-tabs {padding:0 18px;margin:0 -18px 21px;justify-content:space-between}
  .workspace-tabs button {font-size:11px;padding:13px 10px;min-height:47px;flex:1}
  .workspace-tabs button:first-child {padding-left:0;padding-right:13px}
  .choice-fields {gap:12px}
  .choice-fields label {width:auto;flex:1;min-width:120px}
  .choice-fields select {font-size:12px}
  .match-summary {font-size:10px;line-height:1.65;gap:12px;align-items:start}
  .choice-grid {grid-template-columns:1fr;gap:15px}
  .product-media {height:155px}
  .product-meta {padding:11px 18px}
  .product-meta h3,.product-meta h4 {font-size:17px}
  .itembottom {flex-wrap:nowrap;gap:12px}
  .itembottom strong {font-size:20px}
  .itembottom .product-add {font-size:11px;padding:10px 14px}
  .model-gallery {gap:12px}
  .model-card>img,.model-card .model-image {height:110px;padding:16px}
  .model-card h3 {font-size:16px;margin:17px 16px 8px}
  .model-card p {font-size:11px;margin:0 16px 15px}
  .model-card>a,.model-card>button {margin:0 16px 15px;font-size:10px}
  .request-layout {grid-template-columns:1fr;gap:26px}
  .request-intro {max-width:none;padding-top:0}
  .request-intro h2 {font-size:36px}
  .request-intro>p {font-size:14px}
  .request-intro ol,.request-intro .steps {margin:25px 0 0;gap:14px}
  .request-intro li {padding-top:13px}
  .request-form {padding:25px 20px}
  .request-form h3 {font-size:23px}
  .request-form .formrow {gap:13px}
  input,select,textarea {font-size:16px;min-height:48px;padding:12px;margin-bottom:18px}
  .request-form input,.request-form select,.request-form textarea {font-size:16px}
  .request-form .checkline {font-size:11px}
  #quote-dialog {padding:22px 18px;max-height:92svh;width:calc(100% - 22px)}
  .dialog-head {gap:15px;margin-bottom:20px}
  .dialog-head h2 {font-size:26px}
  .dialog-head button {min-height:38px;padding:8px 11px;font-size:11px}
  .quote-item {grid-template-columns:1fr;padding:18px;gap:17px}
  .quote-identity strong {font-size:15px}
  .quote-fields {grid-template-columns:1fr 1fr;gap:14px}
  .quote-fields input,.quote-fields select {font-size:16px;min-height:44px}
  .quote-contact .formrow {gap:12px}
  .quote-summary {padding:16px;font-size:11px}
  .quote-summary strong {font-size:19px}
  .quote-dock {width:calc(100% - 24px);bottom:12px;padding:13px 14px;gap:12px;align-items:center}
  .quote-dock strong {font-size:12px}
  .quote-dock p,.quote-dock small {font-size:9px;max-width:160px}
  .quote-dock-actions {gap:8px}
  .quote-dock-actions .primary {padding:10px 12px;font-size:10px;min-height:43px}
  .quote-dock-actions .textlink {font-size:10px}
  .quote-dock .status-message {font-size:9px;line-height:1.6}
  .seo-wrap,.policywrap,.matrixwrap {padding-top:32px;padding-bottom:50px}
  .seo-wrap>h1,.product-layout h1,.product-summary h1,.policywrap h1 {font-size:34px;letter-spacing:-.045em;line-height:1.2}
  .seo-lead,.policylead {font-size:14px}
  .seo-grid {grid-template-columns:1fr;gap:14px;margin-top:24px}
  .seo-card {min-height:210px;padding:23px}
  .product-detail,.product-layout {grid-template-columns:1fr;gap:26px}
  .product-image {min-height:230px;padding:26px}
  .product-image img {max-height:205px}
  .product-summary p {font-size:13px}
  .related-products {margin-top:36px;padding-top:27px}
  .related-products h2 {font-size:27px}
  .site-footer {margin-top:12px;padding:36px 5% 25px}
  .site-footer .footer-layout {grid-template-columns:1fr 1fr;gap:28px 20px;padding-bottom:27px}
  .site-footer .footer-brand {grid-column:1/-1}
  .site-footer .footer-brand p {margin:16px 0 12px}
  .site-footer .footer-column h3 {font-size:11px;line-height:1.5;margin-bottom:13px}
  .site-footer .footer-column a {font-size:10px;line-height:1.7;margin:8px 0}
  .site-footer .footer-company {display:block;padding:18px 0;font-size:9px}
  .site-footer .footer-company p {font-size:9px;margin-bottom:12px}
  .site-footer .footer-legal {gap:10px 17px;font-size:9px;padding-top:17px}
}
@media(max-width:410px) {
  .hero-copy h1 {font-size:42px}
  .hero-actions {align-items:stretch}
  .hero-actions .primary,.hero-actions .outline {padding:12px 13px;font-size:10px}
  .header-tools .tracking-link {display:none}
  .site-header nav {font-size:9px;gap:8px}
  .formrow,.request-form .formrow,.quote-contact .formrow {grid-template-columns:1fr;gap:0}
  .model-gallery {grid-template-columns:1fr 1fr}
  .model-card h3 {font-size:14px}
  .model-card>img,.model-card .model-image {height:96px;padding:13px}
  .quote-dock {align-items:start}
  .quote-dock-actions {flex-direction:column;gap:5px;align-items:stretch}
  .quote-dock-actions .textlink {text-align:center;font-size:9px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*::before,*::after {animation:none!important;transition:none!important}
}

/* Exact-SKU lookup and verified product photography. */
.workspace-lookup {background:#ffffff;border:1px solid #dbe4ef;border-radius:6px;padding:18px 20px;margin:13px 0 23px;max-width:none}
.workspace-lookup label {font-size:11px;color:#627086;line-height:1.6}
.workspace-lookup>div {display:flex;gap:10px;align-items:center}
.workspace-lookup input {flex:1;min-width:0;margin:8px 0 0;font-size:13px;min-height:44px}
.workspace-lookup button {flex:none;margin-top:8px;min-height:44px;padding:10px 16px;font-size:11px}
.workspace-lookup p {color:var(--frh-muted);font-size:11px;line-height:1.65;margin:12px 0 0}
.workspace-lookup p:empty {display:none}
.product-appliance-visual {margin-top:27px;border:1px solid #dbe4ef;border-radius:8px;overflow:hidden;background:var(--frh-panel)}
.product-appliance-visual img {width:100%;height:255px;object-fit:contain;padding:32px;background:#f6f7f9}
.product-appliance-visual p {padding:13px 20px;color:var(--frh-muted);font-size:10px;line-height:1.7;margin:0}
.site-header .bag span {min-width:22px}

@media(max-width:1150px) {
  .platform-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .pillar-body p {min-height:100px}
  .route-cards h2 {font-size:21px}
  .route-cards>a {padding:25px}
  .route-cards>a>span:last-child {right:21px;top:24px}
  .model-hero {min-height:430px}
  .model-hero-image {height:240px;top:116px}
}
@media(max-width:900px) {
  .model-hero {min-height:420px;padding-right:46%}
  .model-hero h1 {font-size:43px}
  .model-hero h1 span {font-size:18px}
  .model-hero-image {top:114px;width:42%;height:230px;padding:23px}
  .route-cards>a {padding:23px}
  .route-cards h2 {font-size:19px}
  .route-cards p {font-size:12px}
  .route-cards .eyebrow {font-size:8px}
  .renewal-callout.section {padding:30px;gap:25px}
  .renewal-callout h2 {font-size:31px}
  .catalogue-controls {grid-template-columns:minmax(0,1fr) 210px;gap:15px}
}
@media(max-width:700px) {
  .site-header .bag span {min-width:18px}
  .model-hero {padding-right:0;min-height:0}
  .model-hero h1 {font-size:42px}
  .model-hero h1 span {font-size:20px;margin-top:10px}
  .model-hero-image {position:static;top:auto;right:auto;width:100%;height:225px;padding:28px;margin-top:24px}
  .route-cards h2 {font-size:22px}
  .route-cards>a {padding:23px}
  .route-cards>a .eyebrow {font-size:9px}
  .route-cards>a>span:last-child {right:21px;top:23px}
  .workspace-head>div h2 {font-size:27px}
  .workspace-head>div>p {font-size:12px;line-height:1.75}
  .choice-fields>p {flex-basis:100%;font-size:10px;max-width:none;min-width:0;margin:1px 0 8px}
  .workspace-lookup {padding:16px;margin-bottom:20px}
  .workspace-lookup input {font-size:16px;min-height:47px}
  .workspace-lookup button {min-height:47px;font-size:10px;padding:11px 12px}
  .workspace-lookup p {font-size:10px}
  .choice-card>h3 {font-size:17px;margin:19px 18px 11px}
  .choice-card>.sku {margin:0 18px 11px}
  .choice-card>.product-service {font-size:12px;margin:0 18px 17px}
  .choice-card>.itembottom {margin:auto 18px 18px}
  .choice-card>.itembottom>span {font-size:15px}
  .device-caption {display:block;padding:17px 20px}
  .device-caption>span+span {max-width:none;text-align:left}
  .model-card>span {margin:15px 16px 0;font-size:9px}
  .model-card h3 {font-size:16px;line-height:1.4;margin:7px 16px 8px}
  .model-card>code {margin:0 16px 18px;font-size:9px}
  .model-card h3 b {font-size:15px}
  .catalogue-controls {grid-template-columns:1fr;padding:19px;gap:17px}
  .catalogue-controls input,.catalogue-controls select {font-size:16px}
  .renewal-hero .seo-lead {font-size:14px}
  .renewal-steps {gap:10px;margin-top:27px;padding-top:20px}
  .renewal-steps span {font-size:10px;gap:8px;align-items:start;line-height:1.65;flex-direction:column}
  .renewal-steps b {width:25px;height:25px;font-size:10px}
  .renewal-callout.section {display:block;padding:27px 23px;margin-top:8px;margin-bottom:12px}
  .renewal-callout h2 {font-size:32px}
  .renewal-callout p {font-size:12px}
  .renewal-callout .primary {margin-top:24px;font-size:11px}
  .caregrid {grid-template-columns:1fr;gap:23px;margin:23px 0 26px}
  .caregrid article {padding-top:17px}
  .caregrid h3 {font-size:18px;margin:10px 0}
  .caregrid p {font-size:12px}
  .quote-identity {gap:13px;margin-bottom:17px}
  .quote-identity h3 {font-size:15px}
  .quote-identity .remove-item {padding:8px 9px;min-height:33px;font-size:9px}
  .quote-fields label>span {font-size:9px}
  .quote-fields {gap:13px}
  #dock-models {font-size:9px;max-width:150px;line-height:1.6}
  #dock-review {font-size:10px;padding:11px 12px;max-width:155px}
  #journey-status {bottom:101px;font-size:10px;line-height:1.65;padding:9px 13px;width:calc(100% - 36px);max-width:500px;text-align:center}
  .product-appliance-visual img {height:215px;padding:25px}
  .product-specs h2,.product-guidance h2 {font-size:28px}
  .product-specs dl>div {grid-template-columns:1fr 1.4fr;gap:17px;padding:14px 17px}
  .product-specs dd {font-size:11px;line-height:1.7}
  .product-policy-links {font-size:10px;gap:14px}
  .product-buy .product-add {font-size:11px}
  .platform-inner>h2,.news-heading h2 {font-size:31px}
  .platform-intro,.news-heading p {font-size:13px}
  .platform-grid {gap:12px}
  .pillar-band,.platform-card.red .pillar-band,.platform-card.blue .pillar-band {font-size:7px;padding:13px 16px;line-height:1.8}
  .pillar-body {padding:20px 16px}
  .pillar-body svg {width:43px;height:43px;margin:0 0 16px}
  .pillar-body h3 {font-size:17px}
  .pillar-body p {font-size:11px;line-height:1.85;min-height:175px}
  .pillar-body>span {font-size:9px;margin-top:18px}
  .news-heading {display:block}
  .news-heading .textlink {margin:20px 0 0}
  .news-tools {gap:13px}
  .news-tabs {gap:7px}
  .news-tabs button {font-size:10px;padding:10px 12px}
  .news-grid {grid-template-columns:1fr;gap:14px}
  .news-card {min-height:190px;padding:23px}
  .news-card h3 {font-size:18px}
}
@media(max-width:410px) {
  .model-card h3 {font-size:14px}
  .product-meta {font-size:8px}
  .quote-fields {grid-template-columns:1fr}
  .quote-identity {display:block}
  .quote-identity .remove-item {margin-top:12px}
  #dock-review {max-width:130px}
  .platform-grid {grid-template-columns:1fr}
  .pillar-body p {min-height:0}
}

/* Navigation and actions. */
.site-header nav a{color:#627086}.site-header nav a:hover{color:#c92f39}.primary,.product-add{background:#c92f39;border-color:#c92f39}.primary:hover,.product-add:hover{background:#b92530;border-color:#b92530}

/* Light business presentation: white surfaces, sky-blue depth, restrained red. */
:root {--frh-bg:#ffffff;--frh-panel:#f5f8fc;--frh-raised:#eaf1fa;--frh-line:#dbe4ef;--frh-text:#203047;--frh-muted:#627086;--frh-red:#c92f39;--frh-red-light:#b72d37;--frh-success:#246749;--ink:#203047;--muted:#627086;--line:#dbe4ef;--blue:#2762ad;--surface:#f5f8fc;color-scheme:light}
body {background:#fff;color:#203047}
.eyebrow {font-size:11px;letter-spacing:.11em;color:#526c8c;font-weight:600}
.site-header {background:#fffffff5;border-color:#e0e7f0;box-shadow:0 2px 18px #20304703}
.site-header nav a {color:#42566f}
.site-header nav a:hover,.site-header nav a[aria-current=page] {color:#b72d37}
.frh-logo .frh-name>span:first-child {color:#203047}
.frh-logo .frh-initials {color:#6a7d94}
.site-header .bag {background:#f5f8fc;border-color:#d4dfed;color:#203047}
.site-header .bag:hover {background:#eaf1fa;border-color:#bacbdf}
.site-header .bag span {background:#edf3fb;border-color:#d4dfed;color:#2c557f}
.primary,.product-add,.primary:hover,.product-add:hover {color:#fff}
.primary,.product-add {background:#c92f39;border-color:#c92f39;box-shadow:0 3px 8px #c92f3910}
.primary:hover,.product-add:hover {background:#b92530;border-color:#b92530}
.outline {background:#fff;border-color:#c9d7e7;color:#29496c}
.outline:hover {background:#f4f8fc;border-color:#96acc6;color:#203047}
.textlink {color:#2762ad;text-decoration-color:#91b2d388}
.textlink:hover {color:#184b84;text-decoration-color:currentColor}
.hero-copy h1 span,.renewal-hero h1 span {color:#52759b}
.hero-copy>p {color:#627086}
.hero-device {background:radial-gradient(ellipse at 55% 34%,#dfeaf7,#f8fbff 65%,#f1f6fc);border-color:#d7e3f1;box-shadow:0 18px 45px #3552710a}
.hero-device>img {background:#fff;border:1px solid #e7edf5;filter:drop-shadow(0 18px 20px #2030470d)}
.device-kicker {color:#5c7694;font-size:10px;font-weight:600}
.device-caption {background:#f6f9fd;border-color:#dbe5f1}
.device-caption strong {color:#294360}
.device-caption code {color:#6d8199}
.hero-search {background:transparent}
.hero-search input {background:#fff;border-color:#cdd9e8}
.route-cards>a {background:#f8fafc;border-color:#dce5ef;box-shadow:0 5px 20px #20304704}
.route-cards>a:hover {background:#fff;border-color:#b9ccdf;box-shadow:0 8px 25px #20304708}
.route-cards>a .eyebrow {color:#677f9b}
.route-cards>a>span:last-child {color:#bf323d}
.model-workspace {background:#f5f8fc;border-color:#d7e1ed}
.workspace-tabs button {color:#627086}
.workspace-tabs button:hover {color:#294b71}
.workspace-tabs button.active,.workspace-tabs button[aria-pressed=true],.workspace-tabs button[aria-selected=true] {color:#203047;border-color:#c92f39}
.model-controls,.choice-fields label {font-size:12px;color:#465d79}
.choice-fields>p,.workspace-lookup p {font-size:12px;line-height:1.7}
.choice-card {background:#fff;border-color:#d8e2ee;box-shadow:0 4px 12px #20304704}
.choice-card:hover {border-color:#aabed4}
.product-meta {background:#edf3fa;border-color:#dde6f0;color:#5a718e;font-size:10px}
.product-meta>span:first-child {color:#4e6888}
.product-meta>span:last-child {font-size:10px}
.product-media {background:#fff;border-color:#e3ebf4}
.choice-card>.sku,.sku {background:#f5f8fc;border-color:#e1e8f0;color:#526a85}
.choice-card>.product-service {color:#627086;font-size:12px}
.itembottom .product-add,.itembottom .product-add:hover {color:#fff;background:#c92f39;border-color:#c92f39}
.itembottom .product-add:hover {background:#b92530;border-color:#b92530}
.empty-state {background:#f8fbff;border-color:#c6d5e8}
.empty-state h3 {color:#2b4563}
.model-card {background:#fff;border-color:#dce5ef;box-shadow:0 4px 12px #20304704}
.model-card>img,.model-card .model-image {background:#fff;border-bottom:1px solid #e5ecf4}
.model-card:hover {border-color:#aec2d9;color:#203047}
.model-card h3 b {color:#bf323d}
.workspace-lookup {background:#fff;border-color:#d5e1ef}
.workspace-lookup label {color:#4a6280;font-size:12px}
.catalogue-controls {background:#f5f8fc;border-color:#d7e2ef}
.request-form {background:#f7f9fc;border-color:#d7e2ef;box-shadow:0 8px 26px #20304705}
input,select,textarea,.request-form input,.request-form select,.request-form textarea {background:#fff;color:#203047;border-color:#c7d5e5}
select option {background:#fff;color:#203047}
input:hover,select:hover,textarea:hover {border-color:#9cb2cc}
input:focus,select:focus,textarea:focus {border-color:#618dbb}
input:focus-visible,select:focus-visible,textarea:focus-visible,:where(a,button,summary):focus-visible {outline-color:#2e6baa}
.checkline a,.request-intro ul li:before {color:#2762ad}
.renewal-callout.section {background:linear-gradient(120deg,#f5f8fc,#edf4fc);border-color:#d5e2f1}
.renewal-callout .eyebrow {color:#536f90}
.renewal-steps b {background:#f3f7fc;border-color:#cbd9ea;color:#395c83}
#quote-dialog {background:#fff;border-color:#c5d4e6;box-shadow:0 28px 100px #20304726}
.dialog-head button {background:#f5f8fc;border-color:#d6e1ef;color:#506782}
.dialog-head button:hover {background:#edf3fb;border-color:#adc3dc;color:#203047}
.quote-summary {background:#edf4fc;border-color:#d3e0f1;color:#516c8b}
.quote-item {background:#f8fafc;border-color:#dbe5ef}
.quote-identity .eyebrow {color:#557397}
.quote-identity .remove-item {background:#fff;border-color:#cbd9e9;color:#516b8a}
.quote-identity .remove-item:hover {background:#fff2f3;border-color:#dba8af;color:#a72632}
.quote-fields {border-color:#dce5ef}
.quote-contact,.quote-fields label {color:#425d7b}
.quote-dock {background:#fffffff5;border-color:#bdcee2;box-shadow:0 12px 40px #20304714}
#quote-form,#quote-contact {background:transparent}
.receipt {background:#eff8f3;border-color:#bbdcca;color:#246749}
.receipt h3,.receipt code,.receipt a {color:#205c41}
#journey-status {background:#eff8f3;border-color:#bbdcca;color:#246749;box-shadow:0 7px 25px #2030470c}
#journey-status.error {background:#fff1f2;border-color:#dfb1b8;color:#a42632}
.product-buy,.seo-card {background:#f7f9fc;border-color:#dce5ef;box-shadow:none}
.seo-card:hover,.seo-card:focus-visible,.seo-card:focus-within {background:#fff;border-color:#adc3da;color:#203047}
.seo-card>span,.seo-card:focus-visible>span,.seo-card:hover>span {color:#2762ad}
.product-buy>.eyebrow {color:#547193}
.product-appliance-visual {background:#f5f8fc;border-color:#dce5ef}
.product-appliance-visual img,.product-image {background:#fff;border-color:#dce5ef}
.product-specs dl {background:#f7f9fc;border-color:#dce5ef}
.product-specs dl>div {border-color:#e0e8f1}
.product-policy-links a {color:#2762ad}
.model-directory a,.collection-links a,.directory-pages a {background:#f5f8fc;border-color:#d8e4f0;color:#29496b}
.model-directory a:hover,.collection-links a:hover,.directory-pages a:hover {background:#eaf2fc;border-color:#abc3dd;color:#203047}
.model-directory a:hover span {color:#2762ad}
.platform-section {background:#f5f8fc;border-color:#e1e8f1}
.platform-card {background:#fff;border-color:#dbe5f0;box-shadow:0 4px 15px #20304704}
.platform-card:hover {border-color:#b1c6dd;color:#203047}
.pillar-band,.platform-card.red .pillar-band,.platform-card.blue .pillar-band {background:#edf3fa;border-color:#dbe5f0;color:#527092}
.platform-card.red .pillar-band {background:#faf0f1;border-color:#ead2d6;color:#a33c45}
.pillar-body svg {color:#6286ad}
.platform-card.red svg {color:#b84850}
.pillar-body>span {color:#2762ad}
.news-tabs button {background:#f5f8fc;border-color:#d8e3f0;color:#526b8b}
.news-tabs button.active {background:#e5effb;border-color:#b5cde7;color:#2a5482}
.news-card {background:#f7f9fc;border-color:#dde6f1}
.news-card:hover {background:#fff;border-color:#aec4dd}
.news-read {color:#2762ad}
.site-footer {background:#edf4fc;border-color:#d8e5f4}
.site-footer .footer-column a {color:#58718e}
.site-footer .footer-column a:hover,.site-footer .footer-legal a:hover,.site-footer .footer-contact a {color:#2762ad}
.site-footer .footer-column h3 {color:#294b70}
.site-footer .footer-company,.site-footer .footer-legal {border-color:#d3e1f2}
.site-footer .footer-company p,.site-footer .footer-company>span {color:#647e9b}
.skip-link {background:#fff;border-color:#2e6baa;color:#203047}
@media(max-width:700px) {
  .choice-fields>p,.workspace-lookup p {font-size:11px}
  .product-meta,.product-meta>span:last-child {font-size:9px}
  .model-controls,.choice-fields label {font-size:11px}
  .workspace-lookup label {font-size:11px}
  .eyebrow {font-size:10px}
}
.about-hero {background:radial-gradient(ellipse at 90% 10%,#dce9f8,transparent 60%),linear-gradient(120deg,#f5f8fc,#eaf2fc);color:#203047}
.about-hero .eyebrow {color:#56769b}
.about-hero h1 {color:#203047}
.about-hero p {color:#627086}
.about-values {background:#f5f8fc}
.policy-notice strong {color:#405f82}
.policynav a[aria-current] {background:#eaf2fc;border-color:#c3d6ec;color:#2762ad}

/* Keep the verified FRH monogram beside the wordmark after the latest branding update. */
.site-header .frh-logo{position:relative;padding-left:56px;min-height:58px}.site-footer .frh-logo{position:relative;padding-left:66px;min-height:62px}

@media(max-width:700px){.site-header .header-tools{display:flex}.site-header .header-tools>a{display:none}.site-header .bag{display:inline-flex;align-items:center;white-space:nowrap}}
