:root{
 --ffa-charcoal:#151514;--ffa-deep:#0d0d0c;--ffa-ivory:#f3efe6;--ffa-bone:#e7e0d4;--ffa-white:#fff;--ffa-ink:#1c1b18;--ffa-muted:#6e685f;--ffa-caramel:#b87943;--ffa-border:#d6cfc3;
 --ffa-display:'DM Serif Display',Georgia,serif;--ffa-body:'Manrope',Arial,sans-serif;--ffa-container:1320px;--ffa-fast:220ms;--ffa-medium:560ms;--ffa-radius:3px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.ffa-site{margin:0;background:var(--ffa-ivory);color:var(--ffa-ink);font-family:var(--ffa-body);font-size:16px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.ffa-container{width:min(calc(100% - 96px),var(--ffa-container));margin-inline:auto}.ffa-narrow{max-width:880px;margin-inline:auto}.ffa-narrow-left{max-width:900px;margin-left:max(48px,calc((100vw - var(--ffa-container))/2));padding-right:48px}.ffa-section{padding:120px 0}.ffa-section--light{background:var(--ffa-ivory)}.ffa-section--dark{background:var(--ffa-charcoal);color:var(--ffa-white)}.ffa-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ffa-caramel);margin-bottom:14px}.ffa-site h1,.ffa-site h2{font-family:var(--ffa-display);font-weight:400;letter-spacing:-.02em;line-height:.98;margin:0 0 24px}.ffa-site h1{font-size:clamp(52px,6.3vw,88px)}.ffa-site h2{font-size:clamp(40px,4.5vw,60px)}.ffa-site h3{font-size:24px;line-height:1.2;margin:0 0 12px}.ffa-site p{margin:0 0 22px}.ffa-lead{font-size:clamp(18px,1.6vw,21px);max-width:680px;color:inherit;opacity:.88}.ffa-section-intro{max-width:780px;margin-bottom:56px}.ffa-section-intro p{font-size:18px;color:var(--ffa-muted)}
.ffa-header{position:fixed;z-index:1000;left:0;right:0;top:0;color:#fff;transition:background var(--ffa-fast),box-shadow var(--ffa-fast),color var(--ffa-fast),padding var(--ffa-fast)}.ffa-header-light-start .ffa-header:not(.is-scrolled){color:var(--ffa-ink)}.ffa-header.is-scrolled{background:rgba(243,239,230,.97);color:var(--ffa-ink);box-shadow:0 1px 0 var(--ffa-border)}.ffa-header__inner{height:84px;display:flex;align-items:center;gap:28px}.ffa-brand{font-size:14px;font-weight:800;letter-spacing:.13em;white-space:nowrap}.ffa-nav{margin-left:auto}.ffa-nav ul{list-style:none;display:flex;gap:28px;padding:0;margin:0}.ffa-nav a{font-size:14px;font-weight:600}.ffa-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border:1px solid var(--ffa-charcoal);border-radius:var(--ffa-radius);background:var(--ffa-charcoal);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:transform var(--ffa-fast),background var(--ffa-fast),color var(--ffa-fast)}.ffa-button:hover{transform:translateY(-1px)}.ffa-button--light{background:var(--ffa-ivory);border-color:var(--ffa-ivory);color:var(--ffa-charcoal)}.ffa-button--header{min-height:42px;padding:10px 15px;font-size:11px}.ffa-header.is-scrolled .ffa-button--header{background:var(--ffa-charcoal);color:#fff}.ffa-text-link{display:inline-flex;gap:8px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ffa-text-link span{transition:transform var(--ffa-fast)}.ffa-text-link:hover span{transform:translateX(5px)}.ffa-text-link--light{color:#fff}.ffa-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.ffa-actions--end{justify-content:flex-end}.ffa-menu-toggle{display:none;margin-left:auto;background:none;border:0;color:currentColor;width:46px;height:46px;position:relative}.ffa-menu-toggle span{position:absolute;left:11px;width:24px;height:1.5px;background:currentColor}.ffa-menu-toggle span:first-child{top:18px}.ffa-menu-toggle span:last-child{top:27px}.ffa-mobile-menu{background:var(--ffa-ivory);color:var(--ffa-ink);padding:18px 24px 30px;border-top:1px solid var(--ffa-border)}.ffa-mobile-menu a{display:block;padding:12px 0;font-size:20px}.ffa-mobile-menu .ffa-button{margin-top:10px;color:#fff;padding:12px 16px}
.ffa-hero{padding:170px 0 110px}.ffa-hero--dark{background:var(--ffa-charcoal);color:#fff}.ffa-hero--light{background:var(--ffa-ivory);color:var(--ffa-ink)}.ffa-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}.ffa-split--hero{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.ffa-home-hero{min-height:88vh;display:flex;align-items:center}.ffa-media-placeholder{aspect-ratio:4/3;width:100%;background:var(--ffa-bone);border:1px solid rgba(110,104,95,.24);display:flex;align-items:center;justify-content:center;color:var(--ffa-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:24px;text-align:center}.ffa-section--dark .ffa-media-placeholder,.ffa-hero--dark .ffa-media-placeholder{background:#242421;border-color:#373732;color:#9b958a}.ffa-ambient-media .ffa-media-placeholder{aspect-ratio:5/4}.ffa-credential-strip{background:#fff;border-top:1px solid var(--ffa-border);border-bottom:1px solid var(--ffa-border)}.ffa-credential-strip .ffa-container{display:grid;grid-template-columns:repeat(4,1fr);padding-top:18px;padding-bottom:18px}.ffa-credential-strip span{text-align:center;font-size:11px;font-weight:700;letter-spacing:.12em}.ffa-credential-strip span+span{border-left:1px solid var(--ffa-border)}
.ffa-category-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.ffa-category-card{grid-column:span 4}.ffa-category-card--large{grid-column:span 8}.ffa-category-card__media{display:block;overflow:hidden}.ffa-category-card__media .ffa-media-placeholder{aspect-ratio:4/3}.ffa-category-card--large .ffa-category-card__media .ffa-media-placeholder{aspect-ratio:16/9}.ffa-category-card__body{padding-top:16px;position:relative}.ffa-category-card__num{font-size:12px;color:var(--ffa-muted)}.ffa-category-card h3{font-family:var(--ffa-display);font-size:30px;font-weight:400;margin-top:8px}.ffa-custom-band .ffa-media-placeholder{aspect-ratio:3/1}.ffa-value-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ffa-border);border-bottom:1px solid var(--ffa-border)}.ffa-value{padding:34px 28px;min-height:220px}.ffa-value+.ffa-value{border-left:1px solid var(--ffa-border)}.ffa-value>span{color:var(--ffa-caramel);font-size:12px}.ffa-value p{color:var(--ffa-muted)}.ffa-facts{display:flex;gap:42px;flex-wrap:wrap;margin:36px 0}.ffa-facts div{display:flex;flex-direction:column}.ffa-facts strong{font-family:var(--ffa-display);font-size:34px;font-weight:400}.ffa-facts span{font-size:12px;color:var(--ffa-muted)}
.ffa-accordion__item{border-top:1px solid var(--ffa-border)}.ffa-accordion__item:last-child{border-bottom:1px solid var(--ffa-border)}.ffa-accordion button{width:100%;min-height:70px;background:none;border:0;display:flex;justify-content:space-between;text-align:left;padding:18px 0;font-weight:600;color:inherit}.ffa-accordion__panel{padding:0 44px 18px 0;color:var(--ffa-muted)}.ffa-final-cta{text-align:center}.ffa-final-cta p{font-size:18px}.ffa-footer{background:#0f0f0e;color:#fff;padding:72px 0 22px}.ffa-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:48px}.ffa-footer h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ffa-caramel)}.ffa-footer a{display:block;margin:9px 0;font-size:14px}.ffa-footer p{color:#aaa59a}.ffa-footer__bottom{border-top:1px solid #2f2f2b;margin-top:48px;padding-top:18px;font-size:12px;color:#8e897f}
.ffa-product-nav{position:sticky;top:84px;z-index:100;background:rgba(243,239,230,.97);border-top:1px solid var(--ffa-border);border-bottom:1px solid var(--ffa-border);overflow-x:auto}.ffa-product-nav .ffa-container{display:flex;gap:28px;white-space:nowrap;padding-top:15px;padding-bottom:15px}.ffa-product-nav a{font-size:12px;font-weight:700}.ffa-positioning-line{font-size:18px;max-width:920px;margin-bottom:90px}.ffa-category-chapter{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;padding:90px 0;border-top:1px solid var(--ffa-border);align-items:start}.ffa-category-chapter--reverse .ffa-category-chapter__feature{order:2}.ffa-feature-media{margin:28px 0 18px}.ffa-feature-media .ffa-media-placeholder{aspect-ratio:4/5}.ffa-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 24px}.ffa-product-grid--chapter{grid-template-columns:repeat(2,1fr)}.ffa-product-card__media{display:block;overflow:hidden;background:var(--ffa-bone)}.ffa-product-card__media img,.ffa-product-card__media .ffa-media-placeholder{aspect-ratio:4/3;object-fit:cover;transition:transform var(--ffa-medium)}.ffa-product-card:hover .ffa-product-card__media img,.ffa-product-card:hover .ffa-product-card__media .ffa-media-placeholder{transform:scale(1.025)}.ffa-product-card__body{padding-top:15px}.ffa-product-card h3{font-size:20px}.ffa-category-hero{position:relative;background:var(--ffa-charcoal);color:#fff;padding-top:84px}.ffa-category-hero__media .ffa-media-placeholder{aspect-ratio:16/7;border:0;background:#23231f}.ffa-category-hero__copy{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);text-shadow:0 2px 18px rgba(0,0,0,.25)}.ffa-category-hero__copy h1{max-width:900px}.ffa-category-hero__copy p{max-width:650px;font-size:18px}
.ffa-product-detail{padding:150px 0 90px}.ffa-product-detail__top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:70px;align-items:start}.ffa-product-gallery__main img,.ffa-product-gallery__main .ffa-media-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover}.ffa-product-gallery__thumbs{display:flex;gap:10px;margin-top:12px;overflow:auto}.ffa-product-gallery__thumbs button{padding:0;border:1px solid var(--ffa-border);background:none;cursor:pointer}.ffa-product-gallery__thumbs img{width:84px;height:84px;object-fit:cover}.ffa-product-detail__summary{position:sticky;top:120px}.ffa-meta{font-size:13px;color:var(--ffa-muted);margin-top:18px}.ffa-product-info-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:80px}.ffa-product-copy{max-width:760px}.ffa-info-block{padding:28px 0;border-top:1px solid var(--ffa-border)}.ffa-inquiry-card{position:sticky;top:110px;border:1px solid var(--ffa-border);padding:28px;background:#fff}
.ffa-capability-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ffa-border)}.ffa-capability{padding:32px 28px;border-bottom:1px solid var(--ffa-border)}.ffa-capability:not(:nth-child(3n+1)){border-left:1px solid var(--ffa-border)}.ffa-capability p{color:var(--ffa-muted)}.ffa-process{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ffa-border);border-bottom:1px solid var(--ffa-border)}.ffa-process__step{padding:30px 22px;min-height:300px}.ffa-process__step+.ffa-process__step{border-left:1px solid var(--ffa-border)}.ffa-process__step>span{color:var(--ffa-caramel);font-size:12px}.ffa-gallery-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.ffa-gallery-mosaic>div{grid-column:span 4}.ffa-gallery-mosaic>div:nth-child(1),.ffa-gallery-mosaic>div:nth-child(5){grid-column:span 8}.ffa-gallery-mosaic .ffa-media-placeholder{aspect-ratio:4/3}.ffa-gallery-mosaic>div:nth-child(1) .ffa-media-placeholder,.ffa-gallery-mosaic>div:nth-child(5) .ffa-media-placeholder{aspect-ratio:16/9}
.ffa-fact-band{background:#fff;padding:38px 0;border-top:1px solid var(--ffa-border);border-bottom:1px solid var(--ffa-border)}.ffa-facts--large{display:grid;grid-template-columns:repeat(4,1fr);margin:0}.ffa-facts--large strong{font-size:46px}.ffa-facts--large div+div{border-left:1px solid var(--ffa-border);padding-left:28px}.ffa-note{font-size:11px;color:var(--ffa-muted);margin:14px 0 0}.ffa-factory-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.ffa-factory-mosaic>div{grid-column:span 4}.ffa-factory-mosaic>div:first-child{grid-column:span 8}.ffa-factory-mosaic .ffa-media-placeholder{aspect-ratio:4/3}.ffa-factory-mosaic>div:first-child .ffa-media-placeholder{aspect-ratio:16/9}.ffa-cert-placeholder{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ffa-cert-placeholder span{min-height:120px;border:1px solid var(--ffa-border);display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;color:var(--ffa-muted);padding:20px}.ffa-market-list{display:flex;flex-direction:column;font-family:var(--ffa-display);font-size:clamp(35px,4vw,56px);line-height:1.15}.ffa-market-list span+span{margin-top:12px}
.ffa-hero--contact{padding-bottom:100px}.ffa-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:80px;align-items:start}.ffa-contact-aside{position:sticky;top:115px;border-top:1px solid var(--ffa-border);padding-top:24px}.ffa-inquiry-form fieldset{border:0;padding:0;margin:0 0 38px}.ffa-inquiry-form legend{font-family:var(--ffa-display);font-size:30px;margin-bottom:18px}.ffa-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ffa-choice-grid input{position:absolute;opacity:0}.ffa-choice-grid span{display:flex;min-height:78px;border:1px solid var(--ffa-border);padding:16px;align-items:center;cursor:pointer}.ffa-choice-grid input:checked+span{border-color:var(--ffa-charcoal);background:var(--ffa-charcoal);color:#fff}.ffa-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.ffa-inquiry-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;margin-bottom:20px}.ffa-form-full{grid-column:1/-1}.ffa-inquiry-form input,.ffa-inquiry-form textarea{width:100%;border:1px solid var(--ffa-border);background:#fff;padding:13px 14px;color:var(--ffa-ink);border-radius:var(--ffa-radius)}.ffa-inquiry-form input:focus,.ffa-inquiry-form textarea:focus{outline:2px solid var(--ffa-caramel);outline-offset:1px}.ffa-upload small{color:var(--ffa-muted);font-weight:400}.ffa-form-message{padding:15px 18px;margin-bottom:24px;border:1px solid var(--ffa-border);background:#fff}.ffa-form-message--success{border-color:#4f775d}.ffa-form-message--error{border-color:#9b6255}
.ffa-reveal{opacity:0;transform:translateY(20px);transition:opacity var(--ffa-medium) ease,transform var(--ffa-medium) ease}.ffa-reveal.is-visible{opacity:1;transform:none}.ffa-reveal-group>*{opacity:0;transform:translateY(15px);animation:ffaIntro .6s ease forwards}.ffa-reveal-group>*:nth-child(2){animation-delay:.07s}.ffa-reveal-group>*:nth-child(3){animation-delay:.14s}.ffa-reveal-group>*:nth-child(4){animation-delay:.21s}@keyframes ffaIntro{to{opacity:1;transform:none}}.ffa-ambient-media{overflow:hidden}.ffa-ambient-media .ffa-media-placeholder{animation:ffaAmbient 16s ease-in-out infinite alternate}@keyframes ffaAmbient{from{transform:scale(1)}to{transform:scale(1.025)}}
@media(max-width:1199px){.ffa-container{width:min(calc(100% - 64px),var(--ffa-container))}.ffa-nav{display:none}.ffa-button--header{display:none}.ffa-menu-toggle{display:block}.ffa-product-grid{grid-template-columns:repeat(3,1fr)}.ffa-process{grid-template-columns:repeat(3,1fr)}.ffa-process__step:nth-child(4){border-left:0}.ffa-value-grid{grid-template-columns:repeat(2,1fr)}.ffa-value:nth-child(3){border-left:0;border-top:1px solid var(--ffa-border)}.ffa-value:nth-child(4){border-top:1px solid var(--ffa-border)}}
@media(max-width:991px){.ffa-section{padding:88px 0}.ffa-split,.ffa-split--hero,.ffa-product-detail__top,.ffa-product-info-layout,.ffa-contact-layout{grid-template-columns:1fr;gap:44px}.ffa-product-detail__summary,.ffa-inquiry-card,.ffa-contact-aside{position:static}.ffa-category-card{grid-column:span 6}.ffa-category-card--large{grid-column:span 6}.ffa-category-card--large .ffa-category-card__media .ffa-media-placeholder{aspect-ratio:4/3}.ffa-category-chapter,.ffa-category-chapter--reverse{grid-template-columns:1fr}.ffa-category-chapter--reverse .ffa-category-chapter__feature{order:0}.ffa-capability-grid{grid-template-columns:repeat(2,1fr)}.ffa-capability:not(:nth-child(3n+1)){border-left:0}.ffa-capability:nth-child(even){border-left:1px solid var(--ffa-border)}.ffa-process{grid-template-columns:repeat(2,1fr)}.ffa-process__step:nth-child(odd){border-left:0}.ffa-process__step:nth-child(4){border-left:1px solid var(--ffa-border)}.ffa-footer__grid{grid-template-columns:2fr 1fr 1fr}.ffa-footer__grid>div:last-child{grid-column:1/-1}.ffa-choice-grid{grid-template-columns:repeat(2,1fr)}.ffa-facts--large{grid-template-columns:repeat(2,1fr);gap:26px}.ffa-facts--large div:nth-child(3){border-left:0;padding-left:0}.ffa-gallery-mosaic>div,.ffa-gallery-mosaic>div:nth-child(1),.ffa-gallery-mosaic>div:nth-child(5),.ffa-factory-mosaic>div,.ffa-factory-mosaic>div:first-child{grid-column:span 6}.ffa-gallery-mosaic>div:nth-child(1) .ffa-media-placeholder,.ffa-gallery-mosaic>div:nth-child(5) .ffa-media-placeholder,.ffa-factory-mosaic>div:first-child .ffa-media-placeholder{aspect-ratio:4/3}}
@media(max-width:767px){html{scroll-behavior:auto}.ffa-container{width:calc(100% - 40px)}.ffa-narrow-left{margin-left:20px;padding-right:20px}.ffa-header__inner{height:70px}.ffa-header.is-scrolled{background:rgba(243,239,230,.98)}.ffa-hero{padding:126px 0 70px}.ffa-home-hero{min-height:auto}.ffa-section{padding:64px 0}.ffa-site h1{font-size:clamp(44px,13vw,52px)}.ffa-site h2{font-size:clamp(34px,10vw,42px)}.ffa-credential-strip .ffa-container{grid-template-columns:repeat(2,1fr);gap:0}.ffa-credential-strip span{padding:10px}.ffa-credential-strip span+span{border-left:0}.ffa-credential-strip span:nth-child(even){border-left:1px solid var(--ffa-border)}.ffa-credential-strip span:nth-child(n+3){border-top:1px solid var(--ffa-border)}.ffa-category-mosaic{gap:18px}.ffa-category-card,.ffa-category-card--large{grid-column:span 12}.ffa-product-grid{grid-template-columns:repeat(2,1fr);gap:28px 14px}.ffa-product-grid--chapter{grid-template-columns:repeat(2,1fr)}.ffa-product-card h3{font-size:17px}.ffa-product-card .ffa-eyebrow{font-size:10px}.ffa-value-grid{grid-template-columns:1fr}.ffa-value+.ffa-value,.ffa-value:nth-child(3),.ffa-value:nth-child(4){border-left:0;border-top:1px solid var(--ffa-border)}.ffa-facts{gap:24px}.ffa-product-nav{top:70px}.ffa-category-hero{padding-top:70px}.ffa-category-hero__media .ffa-media-placeholder{aspect-ratio:4/5}.ffa-category-hero__copy{bottom:7%}.ffa-capability-grid,.ffa-process,.ffa-facts--large,.ffa-form-grid,.ffa-choice-grid{grid-template-columns:1fr}.ffa-capability:nth-child(even),.ffa-process__step+.ffa-process__step,.ffa-facts--large div+div{border-left:0}.ffa-facts--large div+div{padding-left:0}.ffa-process__step{min-height:auto;border-bottom:1px solid var(--ffa-border)}.ffa-gallery-mosaic>div,.ffa-gallery-mosaic>div:nth-child(1),.ffa-gallery-mosaic>div:nth-child(5),.ffa-factory-mosaic>div,.ffa-factory-mosaic>div:first-child{grid-column:span 12}.ffa-cert-placeholder{grid-template-columns:1fr}.ffa-footer__grid{grid-template-columns:1fr}.ffa-footer__grid>div:last-child{grid-column:auto}.ffa-actions--end{justify-content:flex-start}.ffa-button{width:100%}.ffa-actions .ffa-text-link{width:100%;justify-content:center}.ffa-reveal{opacity:1;transform:none}.ffa-ambient-media .ffa-media-placeholder{animation:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.ffa-reveal{opacity:1!important;transform:none!important}.ffa-reveal-group>*{opacity:1!important;transform:none!important}}

/* v2.0.1 implementation QA refinements — no blueprint changes */
@media (max-width:767px){
  .ffa-home-products{padding-top:60px;padding-bottom:56px}
  .ffa-home-values{padding-top:58px;padding-bottom:48px}
  .ffa-home-about{padding-top:52px}
  .ffa-home-hero .ffa-lead{max-width:31rem}
  .ffa-home-hero .ffa-actions{gap:18px}
}
@media (min-width:480px) and (max-width:767px){
  .ffa-category-mosaic .ffa-category-card{grid-column:span 6}
  .ffa-category-mosaic .ffa-category-card--large{grid-column:span 12}
  .ffa-category-mosaic .ffa-category-card--large .ffa-category-card__media .ffa-media-placeholder{aspect-ratio:16/9}
  .ffa-category-mosaic .ffa-category-card h3{font-size:25px}
}
@media (max-width:479px){
  .ffa-home-hero{padding-top:112px;padding-bottom:58px}
  .ffa-home-hero h1{font-size:clamp(39px,12.2vw,44px);line-height:.96;margin-bottom:20px}
  .ffa-home-hero .ffa-lead{font-size:17px;line-height:1.62;margin-bottom:20px}
  .ffa-home-hero .ffa-hero__copy{min-width:0}
  .ffa-home-hero .ffa-actions{gap:14px}
  .ffa-home-hero .ffa-text-link{font-size:12px}
  .ffa-section-intro{margin-bottom:42px}
  .ffa-site h2{font-size:clamp(33px,10.5vw,39px)}
  .ffa-category-card h3{font-size:27px}
}


/* v2.0.2 implementation QA refinements — no blueprint changes */
/* Ensure light-start pages stay legible even when Customizer resolves them through legacy page assignments. */
body.ffa-header-light-start .ffa-header:not(.is-scrolled){color:var(--ffa-ink)}
body.ffa-header-light-start .ffa-header:not(.is-scrolled) .ffa-button--header{background:var(--ffa-charcoal);border-color:var(--ffa-charcoal);color:#fff}


/* v2.0.3 implementation QA refinements — no blueprint changes */
/* Keep About facts aligned to the same editorial content grid in all preview contexts. */
.ffa-fact-band > .ffa-container{width:min(calc(100% - 96px),var(--ffa-container))!important;max-width:var(--ffa-container);margin-left:auto!important;margin-right:auto!important}
.ffa-fact-band .ffa-facts--large{padding-inline:0}
/* Replace locale-dependent native file-upload chrome with an English branded control. */
.ffa-upload{display:block;margin-bottom:20px;font-size:13px;font-weight:600}
.ffa-upload__label{display:block;margin-bottom:7px}
.ffa-upload__control{display:flex!important;flex-direction:row!important;align-items:center;gap:14px!important;min-height:50px;border:1px solid var(--ffa-border);background:#fff;padding:7px 9px;margin:0 0 7px!important;cursor:pointer}
.ffa-upload__control input[type=file]{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;border:0!important;padding:0!important}
.ffa-upload__button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;background:var(--ffa-charcoal);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;white-space:nowrap}
.ffa-upload__name{font-weight:500;color:var(--ffa-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ffa-upload small{display:block;color:var(--ffa-muted);font-weight:400}
@media(max-width:767px){.ffa-fact-band > .ffa-container{width:calc(100% - 40px)!important}.ffa-upload__control{align-items:flex-start;flex-direction:column!important;gap:8px!important}.ffa-upload__name{max-width:100%}}
/* v2.0.4 preview-only product-detail QA helpers */
.ffa-product-gallery__thumbs .ffa-media-placeholder{width:84px;height:84px;aspect-ratio:1/1;font-size:11px}

/* v2.0.6 final responsive QA — Master Blueprint v2.1 */
html,body{max-width:100%}
body.ffa-site{overflow-x:clip}
.ffa-site main,.ffa-site section,.ffa-site .ffa-container,.ffa-site .ffa-split>*{min-width:0}
.ffa-site p{overflow-wrap:break-word;text-align:left}
[id]{scroll-margin-top:110px}

@media(max-width:767px){
  /* Opaque sticky header: page content must never show through it. */
  .ffa-header,.ffa-header:not(.is-scrolled),body.ffa-header-light-start .ffa-header:not(.is-scrolled){background:var(--ffa-ivory);color:var(--ffa-ink);box-shadow:0 1px 0 var(--ffa-border)}
  .ffa-header.is-scrolled{background:var(--ffa-ivory)}
  .ffa-header__inner{width:calc(100% - 40px);max-width:none}
  .ffa-mobile-menu{max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain}
  body.ffa-menu-open{overflow:hidden;touch-action:none}
  [id]{scroll-margin-top:92px}

  /* Prevent accidental page-level overflow. */
  .ffa-container,.ffa-narrow,.ffa-narrow-left{max-width:100%}
  .ffa-narrow-left{width:calc(100% - 40px);margin-left:auto;margin-right:auto;padding-right:0}
  .ffa-split,.ffa-split--hero,.ffa-contact-layout,.ffa-product-detail__top,.ffa-product-info-layout{width:100%;max-width:100%;min-width:0}
  .ffa-media-placeholder,.ffa-feature-media,.ffa-product-card,.ffa-contact-aside,.ffa-inquiry-card,input,textarea,select{max-width:100%;min-width:0}

  /* Products category rail: one line, swipeable, no native scrollbar. */
  .ffa-product-nav{overflow:hidden;position:sticky;top:70px}
  .ffa-product-nav .ffa-container{width:100%;max-width:none;padding:0 36px 0 20px;gap:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;position:relative}
  .ffa-product-nav .ffa-container::-webkit-scrollbar{display:none}
  .ffa-product-nav a{flex:0 0 auto;scroll-snap-align:start;padding:15px 18px 15px 0;margin-right:18px;position:relative}
  .ffa-product-nav a:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;width:1px;height:16px;background:var(--ffa-border);transform:translateY(-50%)}
  .ffa-product-nav a.is-active{color:var(--ffa-ink)}
  .ffa-product-nav a.is-active::before{content:"";position:absolute;left:0;right:18px;bottom:8px;height:2px;background:var(--ffa-caramel)}
  .ffa-product-nav::after{content:"›";position:absolute;right:0;top:0;bottom:0;width:34px;display:flex;align-items:center;justify-content:center;font-size:22px;color:rgba(28,27,24,.55);background:linear-gradient(90deg,rgba(243,239,230,0),var(--ffa-ivory) 55%);pointer-events:none;transition:opacity var(--ffa-fast)}
  .ffa-product-nav.is-at-end::after{opacity:0}
  .ffa-product-nav::before{content:"‹";position:absolute;left:0;top:0;bottom:0;width:28px;display:flex;align-items:center;justify-content:center;font-size:22px;color:rgba(28,27,24,.55);background:linear-gradient(90deg,var(--ffa-ivory) 45%,rgba(243,239,230,0));pointer-events:none;opacity:0;z-index:2;transition:opacity var(--ffa-fast)}
  .ffa-product-nav.has-scrolled::before{opacity:1}

  /* Contact selector: compact 2 x 2 on mobile. */
  .ffa-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ffa-choice-grid label span{height:100%;min-height:78px;padding:14px;display:flex;align-items:center}

  /* About facts: 2 x 2 editorial grid. */
  .ffa-fact-band .ffa-facts--large{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:28px 0}
  .ffa-fact-band .ffa-facts--large>div{padding:20px 14px 20px 0;min-width:0;border:0}
  .ffa-fact-band .ffa-facts--large>div:nth-child(even){padding-left:18px;border-left:1px solid var(--ffa-border)}
  .ffa-fact-band .ffa-facts--large>div:nth-child(n+3){border-top:1px solid var(--ffa-border)}
  .ffa-fact-band .ffa-facts--large strong{font-size:clamp(28px,9vw,38px);white-space:normal}

  /* Product detail and related products. */
  .ffa-product-gallery__thumbs{scrollbar-width:none;-ms-overflow-style:none}
  .ffa-product-gallery__thumbs::-webkit-scrollbar{display:none}
  .ffa-related-grid,.ffa-product-grid{min-width:0}

  /* Long display words should wrap rather than widen the viewport. */
  .ffa-site h1,.ffa-site h2,.ffa-site h3{overflow-wrap:break-word;word-break:normal}
}

@media(max-width:359px){
  .ffa-choice-grid{grid-template-columns:1fr}
  .ffa-container,.ffa-header__inner,.ffa-narrow-left{width:calc(100% - 32px)}
}

/* v2.0.7: clickable Products rail arrows */
@media(max-width:767px){
.ffa-product-nav::before,.ffa-product-nav::after{content:none!important}
.ffa-product-nav__arrow{position:absolute;top:0;bottom:0;width:34px;border:0;padding:0;z-index:4;display:flex;align-items:center;justify-content:center;font:inherit;font-size:22px;color:rgba(28,27,24,.62);cursor:pointer}
.ffa-product-nav__arrow--prev{left:0;background:linear-gradient(90deg,var(--ffa-ivory) 55%,rgba(243,239,230,0));opacity:0;pointer-events:none}
.ffa-product-nav__arrow--next{right:0;background:linear-gradient(90deg,rgba(243,239,230,0),var(--ffa-ivory) 55%)}
.ffa-product-nav.has-scrolled .ffa-product-nav__arrow--prev{opacity:1;pointer-events:auto}
.ffa-product-nav.is-at-end .ffa-product-nav__arrow--next{opacity:0;pointer-events:none}
}
@media(min-width:768px){.ffa-product-nav__arrow{display:none}}

/* v2.0.8: keep Products rail edge labels clean and snap arrow navigation to whole items */
@media(max-width:767px){
  .ffa-product-nav .ffa-container{padding-left:40px;padding-right:40px;scroll-padding-left:40px;scroll-padding-right:40px}
  .ffa-product-nav__arrow{width:40px;background:var(--ffa-ivory)!important}
  .ffa-product-nav__arrow--prev{box-shadow:8px 0 12px -12px rgba(28,27,24,.35)}
  .ffa-product-nav__arrow--next{box-shadow:-8px 0 12px -12px rgba(28,27,24,.35)}
}


/* v2.0.9 final QA refinements */
@media(max-width:767px){
  /* About has a longer hero title than other pages; preserve whole words at narrow widths. */
  body.ffa-page-about .ffa-hero h1{font-size:clamp(38px,11.5vw,46px);line-height:.98;overflow-wrap:normal;word-break:normal;hyphens:none}
}
@media(max-width:359px){
  body.ffa-page-about .ffa-hero h1{font-size:38px}
}

/* v2.0.10: About hero narrow-screen word integrity fix */
@media(max-width:767px){
  body.ffa-page-about .ffa-hero h1{
    font-size:clamp(34px,10.5vw,42px);
    line-height:1;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    hyphens:none!important;
  }
}
@media(max-width:359px){
  body.ffa-page-about .ffa-hero h1{font-size:34px}
}

/* v2.0.11: structural no-break for critical About hero word */
.ffa-nowrap{white-space:nowrap}
@media(max-width:359px){body.ffa-page-about .ffa-hero h1{font-size:33px}}

/* v2.1.1 — launch-safe RFQ/contact refinement */
.ffa-contact-layout--form-only{grid-template-columns:minmax(0,860px);justify-content:start}
.ffa-inquiry-tip{margin-top:44px;padding-top:24px;border-top:1px solid var(--ffa-border);max-width:760px}
.ffa-inquiry-tip h3{margin:6px 0 8px;font-size:24px}
.ffa-inquiry-tip p{margin:0;color:var(--ffa-muted)}
@media(max-width:767px){
  .ffa-contact-layout--form-only{display:block}
  .ffa-inquiry-tip{margin-top:36px}
}

/* v2.1.4 — centered final CTA composition across desktop, tablet and mobile */
.ffa-site .ffa-final-cta,
.ffa-site .ffa-final-cta h2,
.ffa-site .ffa-final-cta p{
  text-align:center;
}
.ffa-site .ffa-final-cta p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.ffa-site .ffa-final-cta .ffa-button{
  margin-left:auto;
  margin-right:auto;
}


/* v2.1.5 — Home final CTA: component-scoped alignment + cache-busted asset */
.ffa-site .ffa-home-final-cta,
.ffa-site .ffa-home-final-cta__inner,
.ffa-site .ffa-home-final-cta__inner h2,
.ffa-site .ffa-home-final-cta__inner p {
  text-align: center !important;
}
.ffa-site .ffa-home-final-cta__inner p {
  width: 100%;
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.ffa-site .ffa-home-final-cta__inner .ffa-button {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* v2.1.6 — restore tablet content gutters after responsive regression.
   Full-bleed section backgrounds/media remain full width; content containers keep 32px breathing room. */
@media (min-width:768px) and (max-width:1199px){
  .ffa-site .ffa-container{
    width:auto !important;
    max-width:var(--ffa-container);
    margin-left:32px !important;
    margin-right:32px !important;
  }
  .ffa-site .ffa-container.ffa-narrow{
    width:auto !important;
    max-width:880px;
    margin-left:32px !important;
    margin-right:32px !important;
  }
  .ffa-site .ffa-narrow-left{
    width:auto !important;
    max-width:900px;
    margin-left:32px !important;
    margin-right:32px !important;
    padding-right:0 !important;
  }
  /* Intentional full-width rail remains full width only where designed. */
  .ffa-site .ffa-product-nav .ffa-container{
    margin-left:32px !important;
    margin-right:32px !important;
  }
}

/* v2.1.7 — unified responsive content gutters.
   Containers that are also layout grids must keep the same side gutter as ordinary .ffa-container blocks. */
@media (max-width:767px){
  .ffa-site .ffa-container.ffa-split,
  .ffa-site .ffa-container.ffa-split--hero,
  .ffa-site .ffa-container.ffa-contact-layout,
  .ffa-site .ffa-container.ffa-product-detail__top,
  .ffa-site .ffa-container.ffa-product-info-layout{
    width:calc(100% - 40px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}
@media (min-width:768px) and (max-width:1199px){
  .ffa-site .ffa-container.ffa-split,
  .ffa-site .ffa-container.ffa-split--hero,
  .ffa-site .ffa-container.ffa-contact-layout,
  .ffa-site .ffa-container.ffa-product-detail__top,
  .ffa-site .ffa-container.ffa-product-info-layout{
    width:calc(100% - 64px) !important;
    max-width:var(--ffa-container) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}


/* v2.1.9 interactive product gallery + practical image protection */
.ffa-product-gallery__main-button{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}
.ffa-product-gallery__main-button img{display:block;user-select:none;-webkit-user-drag:none}
.ffa-product-gallery__zoom{position:absolute;right:16px;bottom:16px;width:42px;height:42px;display:grid;place-items:center;background:rgba(13,13,12,.78);color:#fff;font-size:23px;line-height:1;border:1px solid rgba(255,255,255,.28)}
.ffa-product-gallery__thumbs button{opacity:.62;transition:opacity .2s ease,border-color .2s ease}
.ffa-product-gallery__thumbs button:hover,.ffa-product-gallery__thumbs button.is-active{opacity:1;border-color:var(--ffa-ink)}
.ffa-lightbox[hidden]{display:none!important}.ffa-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(8,8,7,.96);display:grid;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;padding:24px}
.ffa-lightbox__stage{min-width:0;height:calc(100vh - 48px);display:flex;align-items:center;justify-content:center;position:relative}
.ffa-lightbox__stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.ffa-lightbox__close,.ffa-lightbox__nav{border:0;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-family:Arial,sans-serif}
.ffa-lightbox__close{position:absolute;right:24px;top:20px;z-index:2;width:46px;height:46px;font-size:34px;line-height:1}
.ffa-lightbox__nav{width:52px;height:70px;font-size:46px;line-height:1;justify-self:center}
.ffa-lightbox__counter{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);padding:7px 11px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;letter-spacing:.08em}
body.ffa-lightbox-open{overflow:hidden}
@media(max-width:767px){.ffa-lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding:12px}.ffa-lightbox__stage{height:calc(100vh - 24px)}.ffa-lightbox__nav{width:38px;height:56px;font-size:38px}.ffa-lightbox__close{right:12px;top:12px;width:42px;height:42px}.ffa-product-gallery__zoom{right:10px;bottom:10px;width:38px;height:38px}}
