/* Approved compact typography across the public site. Existing page structure,
   technical illustrations, result data and document geometry remain independent. */
@media screen {
 :root{--fhp-ui-body-size:17px;--fhp-ui-card-description-size:15px;--fhp-ui-card-description-color:var(--fhp-ui-muted,#59616d);--fhp-ui-back-link-size:14px;--fhp-ui-body-color:#000;--fhp-ui-text-weight:400;--fhp-ui-heading-weight:600;--fhp-site-bar-height:60px;color-scheme:light}
 body.fhp-site-ui{background:#fff;color:var(--fhp-ui-ink);font:400 15px/1.5 "FHP UI","Source Sans 3",sans-serif}
 body.rtbp-editor-preview .fhp-v1{font-size:var(--fhp-ui-body-size);line-height:1.5}
 body.rtbp-editor-preview .fhp-v1 h1{font-size:26px;line-height:1.15;margin-bottom:14px}
 body.rtbp-editor-preview .fhp-v1 .eyebrow{font-size:12px;line-height:1.4;letter-spacing:.05em;margin-bottom:10px}
 body.rtbp-editor-preview .fhp-v1 h2{font-size:20px;line-height:1.25}
 body.rtbp-editor-preview .fhp-v1 h3{font-size:17px;line-height:1.3}
 body.rtbp-editor-preview .fhp-v1 .fact strong{font-size:24px}
 body.rtbp-editor-preview .fhp-v1 .hero{padding-top:24px;padding-bottom:24px}
 body.rtbp-editor-preview .fhp-v1 .hero-figure img{height:240px}
 @media(max-width:600px){body.rtbp-editor-preview .fhp-v1 h1{font-size:24px}body.rtbp-editor-preview .fhp-v1 h2{font-size:20px}}
 body.rtbp-editor-preview .fhp-v1 .lead{font-size:var(--fhp-ui-body-size);line-height:1.5}
 body.fhp-site-ui #wrapper{container-type:inline-size;container-name:fhp-content}
 body.fhp-site-ui .fhp-site-bar{padding:8px 24px;gap:16px}
 body.fhp-site-ui .fhp-logo-link{gap:8px}
 body.fhp-site-ui .fhp-logo-symbol{width:28px;height:28px;flex:none}
 body.fhp-site-ui .fhp-logo-name{font-size:22px;line-height:1.15;letter-spacing:-.025em}
 body.fhp-site-ui #wrapper :is(.fhp-v1,.fhpk,.rtbp-brand,.rtbp-floor-public,.fhpi,.fhptw,.fhpea){font-size:15px;line-height:1.5}
 body.fhp-site-ui #wrapper :is(h1,h2,h3,h4){font-family:"FHP UI","Source Sans 3",sans-serif;overflow-wrap:normal;word-break:normal}
 body.fhp-site-ui #wrapper h1{font-size:26px;line-height:1.15;letter-spacing:-.015em;margin-bottom:14px}
 body.fhp-site-ui #wrapper .fhptw .tw-toolbar h1{font-size:25px}
 body.fhp-site-ui #wrapper h2{font-size:20px;line-height:1.25}
 body.fhp-site-ui #wrapper h3{font-size:17px;line-height:1.3}
 body.fhp-site-ui #wrapper h4{font-size:17px;line-height:1.35}
 body.fhp-site-ui #wrapper :is(.lead,.fhpk-hero p:not(.fhpk-eyebrow),.fhpk-details-head>div>p:not(.fhpk-eyebrow,.fhpk-time-note),.fhpk-lesson-head>p:last-child,.fi-lead,.fhpi-intro>p:not(.fhpi-category),.fhpe-head>p,.fhp-comparison-hub>p){font-size:var(--fhp-ui-body-size);line-height:1.5}
 body.fhp-site-ui #wrapper :is(.prose,.v1-editorial-body,.fhp-editorial__body,.fhpk-prose,.fhpi-body,.fhpe-prose),
 body.fhp-site-ui #wrapper :is(.lead,.prose,.v1-editorial-body,.fhp-editorial__body,.fhpk-prose,.fhpi-body,.fhpe-prose) :is(p,ul,ol,li):not(form *):not(.fhpi-calculator *):not(.fhpi-figure *),
 body.rtbp-editor-preview .fhp-v1 :is(.lead,.prose,.v1-editorial-body) :is(p,ul,ol,li){font-size:var(--fhp-ui-body-size);line-height:1.6;color:var(--fhp-ui-body-color)}
 body.fhp-site-ui #wrapper :is(.hero,.hero.compact,.fhpk-hero,.fhpk-details-head,.rtbp-brand__hero){padding-top:24px;padding-bottom:24px;min-height:0;gap:24px}
 body.fhp-site-ui #wrapper :is(.eyebrow,.fhpk-eyebrow){font-size:12px;line-height:1.4;letter-spacing:.05em;margin-bottom:10px}
 body.fhp-site-ui #wrapper :is(.content-section,.fhpk-details-layout){padding-top:24px;padding-bottom:24px}
 body.fhp-site-ui #wrapper :is(.fhpm-hero,.fhpd-hero){padding-top:24px;padding-bottom:24px}
 body.fhp-site-ui #wrapper :is(.fhpm-hero>p:last-child,.fhpd-lead,.fhpd-hero>p:last-child,.fhpm-answer){font-size:var(--fhp-ui-body-size);line-height:1.5}
 body.fhp-site-ui #wrapper :is(.fhpm-card h2,.fhpd-model h2,.rtbp-brand__card-body strong){font-size:17px;line-height:1.3}
 body.fhp-site-ui #wrapper :is(.fhpm-card-body){padding:18px}
 body.fhp-site-ui #wrapper .fhpk-catalog-head{padding-top:24px;margin-bottom:16px}
 body.fhp-site-ui #wrapper :is(.fhpk-card,.guidance,.category-tile){padding:18px}
 body.fhp-site-ui #wrapper .fhpk-card :is(h3,p){margin-top:0;margin-bottom:12px}
 body.fhp-site-ui #wrapper .fhpk-card-meta{font-size:14px;gap:6px 14px;margin:14px 0}
 body.fhp-site-ui #wrapper :is(.btn,.row-btn,.fhpk-btn){font-size:15px;min-height:44px;padding:9px 16px}
 body.fhp-site-ui #wrapper :is(.search-slot){padding:12px 0 20px}
 body.fhp-site-ui #wrapper .search-input input{font-size:15px;height:46px}
 body.fhp-site-ui #wrapper :is(.breadcrumb,.fhpk-breadcrumb,.fi-crumb,.ea-crumb,.fhp-tf-mode-nav){display:none}
 body.fhp-site-ui #wrapper :is(.hero,.fhpk-hero) :is(.inline-tags,.fhpk-chips){display:none}
 body.fhp-site-ui #wrapper [data-fhp-search-status]:empty{display:none}
 body.fhp-site-ui #wrapper .fhp-template-library .category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
 body.fhp-site-ui #wrapper .fhp-template-library .category-tile{display:flex;flex-direction:column;gap:8px;min-height:104px;justify-content:space-between;overflow-wrap:normal;word-break:normal}
 body.fhp-site-ui #wrapper .fhp-template-library .category-tile strong{font-size:17px;line-height:1.3;overflow-wrap:normal;word-break:normal}
 body.fhp-site-ui #wrapper .fhp-template-library .category-tile span{font-size:14px;line-height:1.4}
 body.fhp-site-ui #wrapper .hero-figure img{height:260px}
 body.fhp-site-ui #wrapper .hero-product .hero-figure img{height:240px}
 body.fhp-site-ui #wrapper .hero-figure.room-picture{padding:12px}
 body.fhp-site-ui #wrapper .hero-figure.room-picture svg{max-height:290px}
 body.fhp-site-ui #wrapper .fhpk-hero figure{max-width:480px;margin:0}
 body.fhp-site-ui #wrapper :is(.fhp-tf-page,.fhp-frames-page){padding:24px;max-width:1290px;margin:0 auto}
 body.fhp-site-ui #wrapper :is(.fhp-tf-page,.fhp-frames-page)>h1{margin-top:0}
 body.fhp-site-ui #wrapper .ehp-comparison{border:0;border-radius:0;padding:0;margin:24px 0;box-shadow:none}
 body.fhp-site-ui #wrapper .ehp-comparison>header{display:none}
 body.fhp-site-ui #wrapper .ehp-comparison-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
 body.fhp-site-ui #wrapper .ehp-comparison-toolbar{gap:12px;margin:16px 0}
 body.fhp-site-ui #wrapper .ehp-comparison-field :is(label,select,input){font-size:15px}
 body.fhp-site-ui #wrapper .ehp-comparison-status{font-size:14px;padding:10px 12px}
 body.fhp-site-ui #wrapper .ehp-comparison-revision{font-size:12px;flex-basis:100%}
 body.fhp-site-ui #wrapper .fhp-comparison-hub{padding:24px;max-width:1290px;margin:auto}
 .fhp-comparison-hub>p{max-width:760px;color:var(--fhp-ui-muted);margin:0 0 24px}
 .fhp-comparison-list{display:grid;gap:14px}
 .fhp-comparison-choice{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px;border:1px solid var(--fhp-ui-line);border-radius:6px;color:var(--fhp-ui-ink);text-decoration:none;background:#fff}
 .fhp-comparison-choice:hover{border-color:var(--fhp-ui-accent);background:var(--fhp-ui-soft);color:var(--fhp-ui-ink)}
 .fhp-comparison-choice:focus-visible{outline:3px solid var(--fhp-ui-focus);outline-offset:3px}
 .fhp-comparison-choice svg{width:112px;height:80px;display:block}
 body.fhp-site-ui #wrapper .fhp-comparison-choice h2{font-size:21px;margin:0 0 6px}
 .fhp-comparison-choice p{margin:0;color:var(--fhp-ui-muted);max-width:720px}
 .fhp-comparison-choice .fhp-choice-action{color:var(--fhp-ui-accent);font-size:15px;font-weight:600;white-space:nowrap}
 body.fhp-site-ui #wrapper .fhp-tool-back{margin:0 0 16px;font-size:var(--fhp-ui-back-link-size,14px)}
 body.fhp-site-ui #wrapper .fhp-tool-back a{color:var(--fhp-ui-accent);text-decoration:underline;text-underline-offset:3px}
 body.fhp-site-ui #wrapper .ehp-comparison-status:empty{display:none}
 body.fhp-site-ui #wrapper .fact strong{font-size:24px}
 @container fhp-content (min-width:1050px){body.fhp-site-ui #wrapper .ehp-comparison-controls{grid-template-columns:repeat(4,minmax(0,1fr))}}
 @container fhp-content (max-width:950px){
  body.fhp-site-ui #wrapper :is(.product-grid,.triple,.fhpk-cards,.rtbp-brand__grid,.fhp-tf-models,.fhpm-cards,.fhpd-models){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .fhp-comparison-choice{grid-template-columns:88px minmax(0,1fr);gap:16px}
  .fhp-comparison-choice svg{width:88px;height:70px;grid-row:span 2}
  .fhp-comparison-choice .fhp-choice-action{grid-column:2}
 }
 @container fhp-content (max-width:600px){
  body.fhp-site-ui #wrapper h1{font-size:24px}
  body.fhp-site-ui #wrapper .fhptw .tw-toolbar h1{font-size:24px}
  body.fhp-site-ui #wrapper h2{font-size:20px}
  body.fhp-site-ui #wrapper :is(.product-grid,.triple,.fhpk-cards,.rtbp-brand__grid,.fhp-tf-models,.fhpm-cards,.fhpd-models){grid-template-columns:minmax(0,1fr)}
  body.fhp-site-ui #wrapper :is(.hero,.fhpk-hero,.fhpk-details-head){grid-template-columns:minmax(0,1fr)}
  body.fhp-site-ui #wrapper :is(.fhp-tf-page,.fhp-frames-page,.fhp-comparison-hub){padding:20px 16px}
  .fhp-comparison-choice{padding:16px;grid-template-columns:56px minmax(0,1fr);gap:12px}
  .fhp-comparison-choice svg{width:56px;height:56px}
  body.fhp-site-ui #wrapper .fhp-comparison-choice h2{font-size:19px}
 }
 @container fhp-content (max-width:500px){body.fhp-site-ui #wrapper .ehp-comparison-controls{grid-template-columns:minmax(0,1fr)}}
 @media(max-width:720px){
  body.fhp-site-ui .fhp-site-bar{padding:8px 16px;gap:8px}
  body.fhp-site-ui .fhp-logo-name{font-size:19px}
  body.fhp-site-ui .fhp-logo-symbol{width:25px;height:25px}
  body.fhp-site-ui .fhp-logo-link{gap:6px}
 }
 @media(max-width:360px){body.fhp-site-ui .fhp-logo-name{font-size:17px}}

 /* Accepted 2026-10-11: regular content and controls; semibold main headings
    and product names. Scope content separately so the sidebar stays unchanged.
    Editorial emphasis (including PDF language metadata) remains meaningful. */
 body.fhp-site-ui #wrapper,
 body.rtbp-editor-preview .fhp-v1{font-family:"FHP UI","Source Sans 3",sans-serif;font-weight:var(--fhp-ui-text-weight)}
 body.fhp-site-ui #wrapper :is(.fhp-v1,.fhpk,.rtbp-brand,.rtbp-floor-public,.fhpi,.fhptw,.fhpea,.fhpe,.fhpm,.fhpd,.fhp-tf-page,.ehp-thermostat-picker,.ehp-picker){font-size:var(--fhp-ui-body-size);line-height:1.5;font-family:"FHP UI","Source Sans 3",sans-serif;font-weight:var(--fhp-ui-text-weight)}
 body.fhp-site-ui #wrapper :is(h1,h2),
 body.rtbp-editor-preview .fhp-v1 :is(h1,h2){font-weight:var(--fhp-ui-heading-weight)}
 body.fhp-site-ui #wrapper :is(h3,h4,p,li,td,th,dt,dd,label,legend,summary,a,button,input,select,textarea,.btn,.row-btn,.fhpk-btn,.eyebrow,.fhpk-eyebrow),
 body.rtbp-editor-preview .fhp-v1 :is(h3,h4,p,li,td,th,dt,dd,label,legend,summary,a,button,input,select,textarea,.btn,.row-btn,.eyebrow){font-weight:var(--fhp-ui-text-weight)}
 body.fhp-site-ui #wrapper :is(button,input,select,textarea),
 body.rtbp-editor-preview .fhp-v1 :is(button,input,select,textarea){font-family:"FHP UI","Source Sans 3",sans-serif}
 body.fhp-site-ui #wrapper :is(input,select,textarea)::placeholder,
 body.rtbp-editor-preview .fhp-v1 :is(input,textarea)::placeholder{font-weight:var(--fhp-ui-text-weight)}
 body.fhp-site-ui #wrapper :is(label,legend,button,.btn,.row-btn,.fhpk-btn) :is(span,strong,b),
 body.rtbp-editor-preview .fhp-v1 :is(label,legend,button,.btn,.row-btn) :is(span,strong,b){font-weight:inherit}
 body.fhp-site-ui #wrapper :is(.fact strong,.category-tile strong,.rtbp-brand__card-category,.tw-section-title,.tw-material-title,.tw-option strong,.tw-field>span,.fi-field>span,.fi-thickness,.fi-letter,.fi-badge,.fi-eyebrow,.fhpk-step b,.fhp-choice-action){font-weight:var(--fhp-ui-text-weight)}
 body.rtbp-editor-preview .fhp-v1 .fact strong{font-weight:var(--fhp-ui-text-weight)}
 body.fhp-site-ui #wrapper :is(.product-tile h3,.rtbp-brand__card-body>strong,.fhp-tf-model-title,.ehp-picker-model-title,.ep-model h3),
 body.rtbp-editor-preview .fhp-v1 .product-tile h3{font-weight:var(--fhp-ui-heading-weight)}
 /* Ordinary introductions and prose share the accepted 17 px black text.
    Eyebrows, metadata, form feedback and technical diagrams keep their own styles. */
 body.fhp-site-ui #wrapper :is(.lead,.fi-lead,.ea-lead,.ep-lead,.fhpd-lead,.fhpi-lead,.fhp-home-lead,.fhp-section-intro__description,.rtbp-product-page__intro,.rtbp-floor-page__description,.fhpi-intro>p:not(.fhpi-category),.fhpe-head>p,.fhp-solutions__intro>p,.fhp-comparison-hub>p,.fhp-home-tools-intro>p:not(.fhp-home-eyebrow),.fhpk-hero p:not(.fhpk-eyebrow),.fhpk-details-head>div>p:not(.fhpk-eyebrow,.fhpk-time-note),.fhpk-lesson-head>p:last-child,.fhpm-hero>p:last-child,.fhpd-hero>p:last-child,.fhpm-answer),
 body.rtbp-editor-preview .fhp-v1 :is(.lead),
 #fhp-wizard .fhp-introduction :is(p,ul,ol,li){font-size:var(--fhp-ui-body-size);color:var(--fhp-ui-body-color)}
 body.fhp-site-ui #wrapper :is(.lead,.fhp-section-intro__description) p{font-size:var(--fhp-ui-body-size);color:var(--fhp-ui-body-color)}
 body.fhp-site-ui #wrapper :is(.fhp-v1,.fhpk,.fhpi,.fhpe,.fhpm,.fhpd,.rtbp-brand,.rtbp-floor-public,.fhpea) p:where(:not([class]),[class=""]):not(form *):not(figure *):not(footer *):not(.fhpi-calculator *):not(.fhp-report *):not(.fhpe-report *):not(.fhpl-footer *):not([role="alert"] *):not([role="status"] *){font-size:var(--fhp-ui-body-size);color:var(--fhp-ui-body-color)}
 /* The standalone planner loads this same sheet after its own UI styles.
    No canvas, SVG, drawing labels or generated report pages are targeted. */
 #fhp-wizard{font:400 15px/1.5 "FHP UI","Source Sans 3",sans-serif}
 #fhp-wizard :is(h1,h2){font-weight:var(--fhp-ui-heading-weight)}
 #fhp-wizard h1{font-size:26px}
 #fhp-wizard h2{font-size:20px}
 #fhp-wizard :is(h3,h4,p,label,legend,summary,th,td,button,input,select,textarea,.fhp-brand,.fhp-brand small,.fhp-button,.fhp-tab,.fhp-context-name,.fhp-field,.fhp-field small,.fhp-status,.fhp-subtitle,.fhp-progress){font-weight:var(--fhp-ui-text-weight)}
 #fhp-wizard :is(button,input,select,textarea){font-family:"FHP UI","Source Sans 3",sans-serif}
 #fhp-wizard :is(input,textarea)::placeholder{font-weight:var(--fhp-ui-text-weight)}
 #fhp-wizard :is(.fhp-tab,.fhp-button,.fhp-field,.fhp-context) :is(span,strong,b){font-weight:inherit}
 #fhp-wizard .fhp-room-switch select,
 #fhp-wizard .fhp-alert button,
 #fhp-wizard .fhp-field :is(input,select,textarea){font-weight:var(--fhp-ui-text-weight)}
 @media(max-width:600px){#fhp-wizard h1{font-size:24px}}

 body.fhp-site-ui #wrapper .rtbp-category-navigation .rtbp-brand__card-body strong{font-size:15px;font-weight:var(--fhp-ui-text-weight);overflow-wrap:normal;word-break:normal}
 body.fhp-site-ui #wrapper :is(.tw-power strong,.tw-live-time,.tw-goal strong,.tw-live-stats strong,.tw-result-big,.tw-assumption strong,.tw-comparison-summary strong,.fi-metric dd){font-weight:var(--fhp-ui-text-weight)}
 body.fhp-site-ui :is(.fhp-catalogue-feedback-dialog,.fhp-catalogue-pdf-dialog,.ehp-comparison-pdf-dialog,.ehp-comparison-issue-dialog) :is(label,legend,button,input,select,textarea){font-family:"FHP UI","Source Sans 3",sans-serif;font-weight:var(--fhp-ui-text-weight)}
 #fhp-wizard :is(.fhp-tab,.fhp-field){font-size:15px}
 #fhp-wizard .fhp-field :is(input,select,textarea){font-size:15px}
 #fhp-wizard .fhp-introduction{font-size:var(--fhp-ui-body-size)}
 #fhp-wizard .fhp-introduction .fhp-stage-title h2{font-size:20px;font-weight:var(--fhp-ui-heading-weight)}
 #fhp-wizard .fhp-introduction :is(p,ul,ol,li){font-size:var(--fhp-ui-body-size)}
 #fhp-wizard .fhp-intro-card h3{font-size:17px}
 #fhp-wizard .fhp-intro-card h4{font-size:16px}
 #fhp-wizard .fhp-intro-lead strong{font-size:17px;font-weight:var(--fhp-ui-text-weight)}
 #fhp-wizard .fhp-intro-card .fhp-intro-price{font-size:20px;font-weight:var(--fhp-ui-text-weight)}
 #fhp-wizard .fhp-intro-consent label{font-weight:var(--fhp-ui-text-weight)}

 body.fhp-site-ui #wrapper :is(.fhp-technical-list strong,.fhp-warranty-period>strong,.fhp-warranty-period p>strong,.fhp-model-manufacturer strong,.section-nav,.filterbar a,.guidance .label,.summary-item strong),
 body.rtbp-editor-preview .fhp-v1 :is(.fhp-technical-list strong,.fhp-warranty-period>strong,.fhp-warranty-period p>strong,.fhp-model-manufacturer strong){font-weight:var(--fhp-ui-text-weight)}
 body.fhp-site-ui :is(.fhp-catalogue-feedback-dialog,.fhp-catalogue-pdf-dialog,.ehp-comparison-pdf-dialog,.ehp-comparison-issue-dialog) :is(h1,h2){font-weight:var(--fhp-ui-heading-weight)}

 body.fhp-site-ui #wrapper :is(h1,h2,.product-tile h3,.ep-model h3) a,
 body.rtbp-editor-preview .fhp-v1 :is(h1,h2,.product-tile h3) a{font-weight:inherit}

 body.fhp-site-ui #wrapper :is(a,button,input,select,textarea,summary):focus-visible,
 body.rtbp-editor-preview .fhp-v1 :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--fhp-ui-focus,#315e83);outline-offset:3px}
}

/* Accepted shared CTA, document actions and compact footer, 2026-10-11.
   Only screen UI is styled; PDF and print drawing geometry stays independent. */
@media screen {
 body.fhp-site-ui .fhp-action,
 body.fhp-site-ui #wrapper .fhp-action,
 body.rtbp-editor-preview .fhp-action,
 #fhp-wizard .fhp-action {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;max-width:100%;padding:9px 16px;border:1px solid #DCA2A6;
  border-radius:6px;background:#FBEFF0;color:#B4232C!important;
  font:400 15px/1.4 "FHP UI","Source Sans 3",sans-serif;
  text-decoration:none;box-shadow:none;cursor:pointer;white-space:normal;text-align:center;
 }
 body.fhp-site-ui .fhp-action:hover:not(:disabled),
 body.fhp-site-ui #wrapper .fhp-action:hover:not(:disabled),
 body.rtbp-editor-preview .fhp-action:hover:not(:disabled),
 #fhp-wizard .fhp-action:hover:not(:disabled){background:#B4232C;border-color:#B4232C;color:#fff!important}
 .fhp-action>svg{width:18px;height:18px;flex:0 0 18px}
 .fhp-action:focus-visible{outline:3px solid #315E83;outline-offset:3px}
 .fhp-action:disabled{opacity:.55;cursor:default}
 .fhp-action[data-fhp-action-icon]::before{content:"";display:block;flex:0 0 18px;width:18px;height:18px;background:currentColor;mask:var(--fhp-action-icon) center/contain no-repeat;-webkit-mask:var(--fhp-action-icon) center/contain no-repeat}
 .fhp-action[data-fhp-action-icon="arrow"]{--fhp-action-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h16m-6-6%206%206-6%206%22/%3E%3C/svg%3E")}
 .fhp-action[data-fhp-action-icon="message"]{--fhp-action-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M21%2011a8%208%200%200%201-8%208H7l-4%203V11a8%208%200%200%201%208-8h2a8%208%200%200%201%208%208Z%20M7%209h10M7%2013h7%22/%3E%3C/svg%3E")}
 .fhp-action[data-fhp-action-icon="print"]{--fhp-action-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6%209V3h12v6M6%2018H3V9h18v9h-3M6%2014h12v7H6ZM17%2011h1%22/%3E%3C/svg%3E")}
 .fhp-action[data-fhp-action-icon="download"]{--fhp-action-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2016v5h16v-5%22/%3E%3C/svg%3E")}
 body.fhp-site-ui #wrapper .fhpe-page{padding-top:24px!important}
 body.fhp-site-ui #colophon{display:none}
 .fhpl-footer{background:#F5F6F8;align-items:center;padding-top:16px;padding-bottom:16px}
 .fhpl-footer-top{display:flex;flex-basis:100%;width:100%;justify-content:space-between;align-items:center;gap:8px 24px;flex-wrap:wrap}
 .fhpl-copyright{color:#59616D;font-size:14px}
 .fhpl-footer .fhpl-feedback{color:#59616D;font-family:inherit;font-size:14px;font-weight:400;line-height:inherit;text-decoration:none}
 .fhpl-footer .fhpl-feedback:hover{color:#59616D;text-decoration:none}
 .fhp-sidebar-settings .fhp-sidebar-feedback{font-size:14px;text-align:left;line-height:20px;padding:0;min-height:24px}
 .fhpd-search .fhp-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 body.fhp-site-ui .fhp-v1-site-footer{background:#F5F6F8;padding:16px 24px;color:#59616D;font-size:14px}
}

@media screen {
 .fhp-action[data-fhp-action-direction="back"]::before{transform:rotate(180deg)}
 /* Preserve the current category in navigation while using the shared controls. */
 body.fhp-site-ui #wrapper a.fhp-action[aria-current="step"],
 body.fhp-site-ui #wrapper a.fhp-action[aria-current="page"]{background:#B4232C;border-color:#B4232C;color:#fff!important}
 body.fhp-site-ui #wrapper .ep-categories a.fhp-action{justify-content:flex-start;text-align:left;padding:9px 10px}
}

/* Shared page surface: gray canvas, white content tiles. Screen only. */
@media screen {
 /* The theme wrapper fills the viewport even when the page content is short. */
 body.fhp-site-ui,body.fhp-site-ui #wrapper{background:#F5F6F8}
 body.fhp-site-ui #wrapper :is(.content-container,.site-main,.content-wrap,.entry,.entry-content-wrap,.entry-content){background:#F5F6F8}
 body.fhp-site-ui #wrapper :is(.fhp-v1,.fhpk,.rtbp-brand,.rtbp-brand__hero,.rtbp-floor-public,.rtbp-floor-page,.fhpi,.fhpi-education,.fhptw,.fhpea,.fhpk-hero,.fhp-public){background:#F5F6F8}
 body.fhp-site-ui #wrapper :is(.product-tile,.category-tile,.decision,.guidance,.fhp-linked-pages article,.rtbp-floor-card,.rtbp-floor-index article,.rtbp-brand__card,.fhpk-card,.fhpk-panel,.fhpk-sidebar,.fhpk-download,.fhpk-check,.fhpd-model,.fhp-frame-model,.fhpe-answer-card,.ep-model,.fi-panel,.ea-panel,.tw-input-card,.tw-floor-card,.tw-heating-card,.tw-material-card,.tw-temperature-card,.tw-live,.tw-results,.fhp-card,.fhp-template-card,.fhp-main-drawing,.fhp-workspace-notice){background:#FFF}
}

@media screen {
 .fhp-field-invalid{border-color:#B4232C!important;animation:fhp-field-attention 2s ease-in-out infinite}
 .fhp-field-error{display:block;color:#B4232C;font-size:14px;line-height:1.4;margin:5px 0 12px;overflow-wrap:anywhere}
 .fhp-workspace-check:has(.fhp-field-invalid){border-left:3px solid #B4232C;padding-left:10px}
 @keyframes fhp-field-attention{0%,100%{box-shadow:0 0 0 1px #B4232C}50%{box-shadow:0 0 0 4px #B4232C}}
 @media(prefers-reduced-motion:reduce){.fhp-field-invalid{animation:none;box-shadow:0 0 0 2px #B4232C}}
}

/* Form actions and feedback use clear, solid colors. */
@media screen {
 body.fhp-site-ui #wrapper button.fhp-action[data-fhp-action-kind="cta"],
 body.fhp-site-ui button.fhp-action[data-fhp-action-kind="cta"],
 body.fhp-site-ui #wrapper :is(button.is-primary,.fhp-workspace-button.is-primary),
 #fhp-wizard button.fhp-action[data-fhp-action-kind="cta"]{background:#B4232C!important;border-color:#B4232C!important;color:#fff!important}
 body.fhp-site-ui #wrapper button.fhp-action[data-fhp-action-kind="cta"]:hover:not(:disabled),
 body.fhp-site-ui button.fhp-action[data-fhp-action-kind="cta"]:hover:not(:disabled),
 body.fhp-site-ui #wrapper button.is-primary:hover:not(:disabled),
 #fhp-wizard button.fhp-action[data-fhp-action-kind="cta"]:hover:not(:disabled){background:#941D25!important;border-color:#941D25!important}
 .fhp-field-error[hidden]{display:none!important}
 .fhp-form-result{display:block;width:100%;margin:12px 0!important;padding:12px 14px;border-radius:6px;border:1px solid #D9DEE5;line-height:1.5;overflow-wrap:anywhere;color:#59616D;background:#F5F6F8}
 .fhp-form-result[data-form-state="error"]{color:#B4232C!important;border-color:#B4232C;background:#fff;font-weight:600}
 .fhp-form-result[data-form-state="success"]{color:#17603A!important;border-color:#23834F;background:#EFF8F2;font-weight:600}
 .fhp-form-result[hidden],.fhp-form-result:empty{display:none!important}
 label:has(input[type="checkbox"].fhp-field-invalid){color:#B4232C!important}
}

@media screen{.fhp-field-invalid{outline:2px solid #B4232C!important;outline-offset:1px}}

/* Accepted 2026-10-12: descriptions in every public card and tile use 15 px.
   Descriptions use the existing muted palette color #59616D. The explicit
   size and color win over module and general prose rules, including
   mobile breakpoints. Titles, metadata, actions, diagrams and print stay separate.
   New card renderers should mark their description with fhp-card-description. */
@media screen {
 body.fhp-site-ui #wrapper :is(
  .fhp-card-description,
  .product-tile-body>p:not(.eyebrow),
  .product-tile>p:not(.eyebrow),
  .category-tile>span,
  .rtbp-brand__card-body>p,
  .rtbp-floor-card>p,
  .fhp-frame-model-description>p,
  .fhp-tf-model-description>p,
  .ep-model-description>p,
  .ep-feature>p,
  .fhpe-answer-card p:not(.fhpe-meta),
  .fhpm-card-body>p,
  .fhpm-overview article>p,
  .fhpd-model>p,
  .fhpi-row>div>p,
  .fhpi-card>p:not(.fhpi-badge,.fhpi-place,.fhpi-brand),
  .fhpk-card>p:not(.fhpk-card-meta,.fhpk-eyebrow),
  .fhp-comparison-choice p,
  .fhp-solutions__choice small,
  .fhp-solutions__component>div>p,
  .fhp-solutions__component>p,
  .fhp-home-tool p,
  .fhp-home-card>p,
  .fhp-public .fhp-card p,
  .fhp-public .fhp-template-card p,
  .fhp-tf-model>p,
  .fhp-tf-card small,
  .guidance>p,
  .decision>.caption,
  .floor-row p,
  .hero-variant p,
  .document small,
  .trust p
 ),
 body.rtbp-editor-preview .fhp-v1 :is(.fhp-card-description,.product-tile-body>p:not(.eyebrow),.product-tile>p:not(.eyebrow),.category-tile>span,.guidance>p,.floor-row p),
 #fhp-wizard .fhp-introduction .fhp-intro-card :is(p:not(.fhp-intro-price),ul,ol,li),
 #fhp-wizard .fhp-card-description {
  font-size:var(--fhp-ui-card-description-size,15px)!important;
  color:var(--fhp-ui-card-description-color,var(--fhp-ui-muted,#59616d))!important;
 }
}
