:root{--ff-bg:#f4f0e8;--ff-bg-alt:#ebe5d8;--ff-card:#f9f6ef;--ff-ink:#17140f;--ff-ink-soft:#35302a;--ff-body:#55503f;--ff-muted:#6a6357;--ff-accent:#8c7c5e;--ff-accent-dark:#b9a684;--ff-line:#8c7c5e4d;--ff-line-strong:#8c7c5e73;--ff-line-soft:#8c7c5e33;--ff-error:#d99a76;--ff-error-dark:#9b4a2f;--ff-paper:#f7f4ed;--font-heading:"Barlow Condensed", "Helvetica Neue", Arial, sans-serif;--font-body:"Barlow", "Helvetica Neue", Arial, sans-serif;--container:1460px;--gutter:clamp(18px, 4vw, 60px);--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-pop:cubic-bezier(.22, 1.2, .4, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{background:var(--ff-bg);color:var(--ff-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;display:block}a{color:var(--ff-ink);text-decoration:none}a:hover{color:var(--ff-accent)}::selection{background:#8c7c5e3d}input,textarea,select,button{font-family:var(--font-body)}input:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--ff-accent);outline-offset:3px}input::placeholder,textarea::placeholder{color:#a79f8c}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}}.ff-app{background:var(--ff-bg);font-family:var(--font-body);color:var(--ff-ink);position:relative;overflow-x:clip}.ff-container{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.ff-section{padding:clamp(54px, 10vh, 118px) var(--gutter)}.ff-section>.ff-container{padding:0}.ff-section--dark{background:var(--ff-ink);color:var(--ff-bg)}.ff-section--alt{background:var(--ff-bg-alt)}.ff-section--tight-top{padding-top:0}.ff-section--tight-bottom{padding-bottom:0}.ff-kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--ff-accent);font-size:10.5px}.ff-kicker--dark{color:var(--ff-accent-dark)}.ff-heading{font-family:var(--font-heading);text-transform:uppercase;margin:14px 0 0;font-size:clamp(32px,4vw,62px);font-weight:600;line-height:1.02}.ff-lede{color:var(--ff-muted);margin:0;font-size:14px;line-height:1.68}.ff-section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;display:flex}.ff-section-head .ff-lede{max-width:34ch}[data-reveal]{opacity:0;transition:opacity .76s var(--ease-out), transform .9s cubic-bezier(.16, .9, .24, 1);will-change:opacity, transform}[data-reveal=up]{transform:translateY(30px)}[data-reveal=left]{transform:translate(-42px)}[data-reveal=right]{transform:translate(42px)}[data-reveal].is-visible{opacity:1;transform:none}.blueprint{position:relative}.corner{pointer-events:none;width:9px;height:9px;position:absolute}.corner:before,.corner:after{content:"";background:var(--ff-accent);position:absolute}.corner:before{width:100%;height:1px;top:50%;transform:translateY(-50%)}.corner:after{width:1px;height:100%;left:50%;transform:translate(-50%)}.corner.tl{top:-1px;left:-1px}.corner.tr{top:-1px;right:-1px}.corner.bl{bottom:-1px;left:-1px}.corner.br{bottom:-1px;right:-1px}.ff-btn{letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .24s ease, opacity .22s ease, transform .24s var(--ease-out);text-align:center;border:0;justify-content:center;align-items:center;gap:10px;padding:16px 30px;font-size:11.5px;display:inline-flex;position:relative;overflow:hidden}.ff-btn:hover{color:inherit}.ff-btn-primary{color:var(--ff-bg);background:var(--ff-ink)}.ff-btn-primary:hover{color:var(--ff-bg);background:#2a241a}.ff-btn-ghost{color:var(--ff-ink);border:1px solid var(--ff-line-strong);background:0 0}.ff-btn-ghost:hover{color:var(--ff-ink);background:#8c7c5e24}.ff-btn-ghost--dark{color:var(--ff-bg);border-color:#b9a68480}.ff-btn-ghost--dark:hover{color:var(--ff-bg);background:#b9a68424}.ff-btn-accent{color:var(--ff-ink);background:var(--ff-accent-dark)}.ff-btn-accent:hover{color:var(--ff-ink);filter:brightness(.96)}.ff-btn[disabled]{cursor:wait;opacity:.7}.ff-btn-spinner{border:1.5px solid #ffffff4d;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite ff-spin}.ff-preloader{--ff-brand-green:#6cb33f;z-index:95;background:radial-gradient(ellipse 60% 50% at 50% 46%, #6cb33f29, transparent 70%), radial-gradient(ellipse 90% 70% at 50% 110%, #8c7c5e2e, transparent 65%), var(--ff-bg);transition:clip-path .82s var(--ease-out), opacity .4s ease .42s;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.ff-preloader:before{content:"";opacity:.5;background:repeating-linear-gradient(90deg,#8c7c5e24 0 1px,#0000 1px 12.5%);position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60%,#000 20%,#0000 80%);mask-image:radial-gradient(70% 60%,#000 20%,#0000 80%)}.ff-preloader.is-exiting{clip-path:inset(0 0 100%);opacity:0}.ff-preloader-inner{flex-direction:column;align-items:center;gap:clamp(22px,4vh,34px);display:flex;position:relative}.ff-preloader-logo-wrap{place-items:center;display:grid;position:relative}.ff-preloader-logo-wrap:before{content:"";z-index:0;filter:blur(18px);background:radial-gradient(closest-side,#6cb33f47,#0000);border-radius:50%;animation:2.4s ease-in-out infinite ff-preloader-breathe;position:absolute;inset:-18% -8%}.ff-preloader-logo{z-index:1;filter:contrast(1.08)saturate(1.05);mix-blend-mode:multiply;width:clamp(250px,30vw,400px);height:auto;animation:ff-up .7s var(--ease-pop) both;position:relative}.ff-preloader-bar{background:#8c7c5e38;border-radius:3px;width:clamp(180px,24vw,300px);height:3px;position:relative;overflow:hidden}.ff-preloader-fill{border-radius:inherit;background:linear-gradient(90deg, #8fd45f, var(--ff-brand-green));transform-origin:0;transition:transform .1s linear;position:absolute;inset:0}.ff-preloader-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:1.2s ease-in-out infinite ff-preloader-shimmer;position:absolute;inset:0;transform:translate(-100%)}.ff-preloader-label{letter-spacing:.3em;text-transform:uppercase;color:var(--ff-muted);align-items:baseline;gap:14px;font-size:10px;animation:.7s ease-out .25s both ff-in;display:flex}.ff-preloader-pct{min-width:3ch;font-family:var(--font-heading);letter-spacing:.12em;color:var(--ff-ink);font-size:13px}@keyframes ff-preloader-breathe{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}@keyframes ff-preloader-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.ff-preloader-logo-wrap:before,.ff-preloader-fill:after{animation:none}}.ff-progress{z-index:45;background:var(--ff-accent);transform-origin:0;width:100%;height:2px;position:fixed;top:0;left:0}.ff-header{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--ff-line);background:#f4f0e8f0;transition:box-shadow .32s;animation:.6s ease-out .2s both ff-in;position:sticky;top:0}.ff-header.is-shrunk{box-shadow:0 1px 24px #17140f17}.ff-header-row{padding:17px var(--gutter);transition:padding .3s var(--ease-out);align-items:center;gap:clamp(16px,2vw,34px);display:flex}.ff-header.is-shrunk .ff-header-row{padding-top:11px;padding-bottom:11px}.ff-brand{margin-right:auto;line-height:0;display:block}.ff-brand img{mix-blend-mode:multiply;width:clamp(138px,14vw,190px);height:auto}.ff-nav{letter-spacing:.16em;text-transform:uppercase;gap:clamp(14px,1.8vw,26px);font-size:11px;display:flex}.ff-nav-link{color:var(--ff-muted);padding-bottom:5px;transition:color .22s;position:relative}.ff-nav-link.is-active,.ff-nav-link:hover{color:var(--ff-ink)}.ff-nav-link-bar{background:var(--ff-accent);transform-origin:100%;height:1px;transition:transform .3s cubic-bezier(.3,.8,.3,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.ff-nav-link:hover .ff-nav-link-bar,.ff-nav-link.is-active .ff-nav-link-bar{transform-origin:0;transform:scaleX(1)}.ff-burger{cursor:pointer;background:0 0;border:1px solid #8c7c5e73;place-items:center;gap:5px;width:44px;height:44px;padding:0;display:grid}.ff-burger-bar{background:var(--ff-ink);width:18px;height:1.5px;transition:transform .32s var(--ease-out), opacity .2s ease;display:block}.ff-burger.is-open .ff-burger-bar:first-child{transform:translateY(6.5px)rotate(45deg)}.ff-burger.is-open .ff-burger-bar:nth-child(2){opacity:0}.ff-burger.is-open .ff-burger-bar:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.ff-mobile-menu{border-top:1px solid var(--ff-line);background:var(--ff-bg-alt);padding:12px var(--gutter) 26px;animation:ff-up .32s var(--ease-out) both}.ff-mobile-link{border-bottom:1px solid var(--ff-line-soft);font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;align-items:baseline;gap:14px;padding:15px 0;font-size:24px;display:flex}.ff-mobile-link-num{font-family:var(--font-body);letter-spacing:.2em;color:var(--ff-accent);font-size:10px}.ff-mobile-cta{letter-spacing:.2em;text-transform:uppercase;width:100%;color:var(--ff-bg);background:var(--ff-ink);cursor:pointer;border:0;margin-top:22px;padding:16px;font-size:12px}@media (width>=900px){.ff-nav-desktop,.ff-cta-desktop{display:flex}.ff-burger,.ff-mobile-menu{display:none}}@media (width<=899.98px){.ff-nav-desktop,.ff-cta-desktop{display:none}}.ff-ticker{border-bottom:1px solid var(--ff-line);background:#8c7c5e14;padding:13px 0;overflow:hidden}.ff-ticker-track{width:max-content;animation:30s linear infinite ff-marquee;display:flex}.ff-ticker-track.is-paused{animation-play-state:paused}.ff-ticker-run{font-family:var(--font-heading);letter-spacing:.26em;text-transform:uppercase;color:var(--ff-muted);white-space:nowrap;gap:44px;padding-right:44px;font-size:13px;display:flex}.ff-ticker-word{align-items:center;gap:44px;display:flex}.ff-ticker-dot{background:var(--ff-accent);width:4px;height:4px}.ff-hero{padding:clamp(30px, 5vh, 62px) var(--gutter) 0;position:relative}.ff-hero:before{content:"";pointer-events:none;opacity:.5;background:repeating-linear-gradient(90deg,#8c7c5e21 0 1px,#0000 1px 12.5%);position:absolute;inset:0}.ff-hero-eyebrow{align-items:center;gap:14px;animation:.6s ease-out .12s both ff-up;display:flex}.ff-hero-rule{background:var(--ff-accent);transform-origin:0;width:40px;height:1px;animation:ff-rule .7s var(--ease-out) .18s both}.ff-hero-eyebrow-text{letter-spacing:.3em;text-transform:uppercase;color:var(--ff-muted);font-size:10.5px}.ff-hero h1{font-family:var(--font-heading);letter-spacing:-.01em;text-transform:uppercase;margin:clamp(18px,3vh,34px) 0 0;font-size:clamp(52px,11.5vw,176px);font-weight:600;line-height:.88}.ff-hero-line{display:block;overflow:hidden}.ff-hero-line span{animation:.94s cubic-bezier(.22,.9,.24,1) both ff-mask;display:block}.ff-hero-line span.is-accent{color:var(--ff-accent)}.ff-hero-body{border-top:1px solid var(--ff-line);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:end;gap:clamp(20px,3vw,48px);margin-top:clamp(22px,4vh,40px);padding-top:22px;animation:.7s ease-out .42s both ff-up;display:grid}.ff-hero-copy{max-width:46ch;color:var(--ff-body);text-wrap:pretty;margin:0;font-size:clamp(15px,1.15vw,17px);line-height:1.66}.ff-hero-actions{flex-wrap:wrap;justify-self:start;gap:12px;display:flex}.ff-hero-frame{border:1px solid var(--ff-line-strong);height:clamp(280px,52vh,560px);margin:clamp(26px,5vh,52px) 0 0;animation:1.2s cubic-bezier(.76,0,.18,1) .3s both ff-wipe;position:relative;overflow:hidden}.ff-hero-frame-inner{will-change:transform;position:absolute;inset:-8% 0}.ff-hero-frame img{object-fit:cover;object-position:50% 45%;filter:saturate(.48)sepia(.16)contrast(1.05);width:100%;height:100%}.ff-hero-frame-shade{background:linear-gradient(#17140f6b,#17140f0a 42%,#17140f75);position:absolute;inset:0}.ff-hero-figcaption{color:var(--ff-paper);letter-spacing:.24em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:10px 26px;padding:16px clamp(14px,2vw,26px);font-size:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.ff-stats{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.ff-stats-grid{border-bottom:1px solid var(--ff-line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.ff-stat{padding:clamp(24px,4vh,40px) 20px clamp(22px,3.5vh,36px) 0}.ff-stat-value{font-family:var(--font-heading);font-size:clamp(32px,3.4vw,52px);font-weight:600;line-height:1}.ff-stat-value span{color:var(--ff-accent)}.ff-stat-label{letter-spacing:.22em;text-transform:uppercase;color:var(--ff-muted);margin-top:10px;font-size:10px}.ff-why-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(28px,5vh,52px);display:grid}.ff-why-card{background:var(--ff-card);border:1px solid var(--ff-line);transition:transform .34s var(--ease-out), border-color .26s ease, box-shadow .34s var(--ease-out);padding:clamp(24px,2.6vw,34px) clamp(20px,2.2vw,28px)}.ff-why-card:hover{border-color:var(--ff-line-strong);transform:translateY(-6px);box-shadow:0 22px 40px -28px #17140f59}.ff-why-icon{width:48px;height:48px;color:var(--ff-accent);border:1px solid var(--ff-line-strong);transition:transform .34s var(--ease-pop), background .26s ease, color .26s ease;justify-content:center;align-items:center;display:inline-flex}.ff-why-card:hover .ff-why-icon{background:var(--ff-ink);color:var(--ff-bg);border-color:var(--ff-ink);transform:scale(1.08)rotate(-4deg)}.ff-why-title{font-family:var(--font-heading);letter-spacing:.01em;text-transform:uppercase;margin:20px 0 0;font-size:19px;font-weight:600}.ff-why-body{color:var(--ff-body);margin:10px 0 0;font-size:13.5px;line-height:1.66}.ff-quote-section{padding-top:clamp(28px,5vh,56px)}.ff-quote-banner{background:var(--ff-bg-alt);border:1px solid var(--ff-line-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(24px,3vw,48px);padding:clamp(28px,4.5vw,56px) clamp(22px,4vw,56px);display:flex;position:relative}.ff-quote-banner-copy{flex:340px;min-width:0;max-width:60ch}.ff-quote-banner .ff-heading{text-wrap:balance;font-size:clamp(26px,3vw,44px)}.ff-quote-banner .ff-lede{text-wrap:pretty;max-width:46ch;margin-top:clamp(14px,1.6vw,20px);font-size:clamp(14px,1.1vw,16px);line-height:1.7}.ff-quote-banner-actions{flex-wrap:wrap;flex:none;gap:12px;min-width:0;max-width:100%;display:flex}.ff-quote-banner-actions .ff-btn{text-align:center;justify-content:center}@media (width<=720px){.ff-quote-banner{align-items:stretch}.ff-quote-banner-copy{flex-basis:100%}.ff-quote-banner-actions{flex-direction:column;flex:100%}.ff-quote-banner-actions .ff-btn{width:100%}}.ff-catalogue-grid{grid-template-columns:1fr;align-items:start;gap:clamp(24px,3vw,54px);margin-top:clamp(28px,5vh,52px);display:grid}@media (width>=900px){.ff-catalogue-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.ff-lines{border-top:1px solid var(--ff-line-strong)}.ff-line{border-bottom:1px solid var(--ff-line-soft);transition:background .26s}.ff-line.is-active{background:#8c7c5e17}.ff-line-head{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:46px 1fr auto;align-items:center;gap:clamp(10px,2vw,28px);padding:clamp(16px,2.4vh,26px) clamp(8px,1.4vw,18px);display:grid}.ff-line-num{letter-spacing:.2em;color:var(--ff-accent);font-size:10px}.ff-line-name-wrap{flex-wrap:wrap;align-items:baseline;gap:6px 16px;display:flex}.ff-line-name{font-family:var(--font-heading);text-transform:uppercase;transition:transform .34s var(--ease-out), color .26s ease;color:#4a4438;font-size:clamp(22px,2.6vw,38px);font-weight:600;line-height:1}.ff-line.is-active .ff-line-name{color:var(--ff-ink);transform:translate(6px)}.ff-line-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--ff-muted);font-size:10px}.ff-line-icon{border:1px solid var(--ff-line-strong);width:30px;height:30px;transition:transform .34s var(--ease-out), background .26s ease;place-items:center;display:grid}.ff-line.is-open .ff-line-icon{transform:rotate(135deg)}.ff-line.is-active .ff-line-icon{background:#8c7c5e2e}.ff-line-panel{transition:grid-template-rows .42s var(--ease-out);grid-template-rows:0fr;display:grid}.ff-line.is-open .ff-line-panel{grid-template-rows:1fr}.ff-line-panel-inner{overflow:hidden}.ff-line-panel-content{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(16px,2.4vw,34px);padding:4px clamp(8px,1.4vw,18px) clamp(22px,3vh,30px) 54px;display:grid}.ff-line-panel-content p{color:var(--ff-body);text-wrap:pretty;margin:0;font-size:14px;line-height:1.7}.ff-spec-row{border-bottom:1px solid var(--ff-line-soft);justify-content:space-between;gap:16px;padding:8px 0;font-size:12.5px;display:flex}.ff-spec-key{letter-spacing:.14em;text-transform:uppercase;color:var(--ff-muted)}.ff-spec-value{text-align:right}.ff-line-request{letter-spacing:.2em;text-transform:uppercase;cursor:pointer;color:var(--ff-ink);background:0 0;border:1px solid #8c7c5e8c;margin-top:16px;padding:11px 18px;font-size:10.5px;transition:background .22s}.ff-line-request:hover{background:#8c7c5e29}.ff-line-mobile-preview{aspect-ratio:1;border:1px solid var(--ff-line-strong);opacity:0;width:100%;max-width:360px;transition:opacity .42s var(--ease-out), transform .46s var(--ease-out);background:#e6dfd0;grid-column:1/-1;margin:0 0 6px;position:relative;overflow:hidden;transform:translateY(14px)}.ff-line.is-open .ff-line-mobile-preview{opacity:1;transition-delay:90ms;transform:none}.ff-line-mobile-preview img{object-fit:contain;object-position:center;filter:saturate(.5)sepia(.14)contrast(1.03);width:100%;height:100%}.ff-line-mobile-dots{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f4f0e8d9;gap:2px;padding:4px;display:flex;position:absolute;bottom:6px;left:6px}.ff-line-mobile-dots .ff-preview-dot{background:0 0;border:0;width:26px;height:26px;position:relative}.ff-line-mobile-dots .ff-preview-dot:after{content:"";border:1px solid var(--ff-line-strong);background:var(--ff-bg);border-radius:50%;width:8px;height:8px;margin:auto;position:absolute;inset:0}.ff-line-mobile-dots .ff-preview-dot.is-active:after{background:var(--ff-accent);border-color:var(--ff-accent)}@media (width>=900px){.ff-line-mobile-preview{display:none}}.ff-variant-list{border-top:1px solid var(--ff-line-soft);grid-column:1/-1}.ff-variant-row{border-bottom:1px solid var(--ff-line-soft)}.ff-variant-head{cursor:pointer;text-align:left;letter-spacing:.02em;width:100%;color:var(--ff-ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px;font-size:13.5px;font-weight:600;display:flex}.ff-variant-row.is-open .ff-line-icon{transform:rotate(135deg)}.ff-variant-panel{padding:4px 4px 18px}.ff-preview{display:none;position:sticky;top:120px}@media (width>=900px){.ff-preview{display:block}}.ff-preview-frame{aspect-ratio:1;border:1px solid var(--ff-line-strong);background:#e6dfd0;width:100%;max-width:480px;margin:0;position:relative;overflow:hidden}.ff-preview-slot{transition:opacity .46s ease, transform .7s var(--ease-out);opacity:0;position:absolute;inset:0;transform:scale(1.04)}.ff-preview-slot.is-active{opacity:1;transform:scale(1)}.ff-preview-slot img{object-fit:contain;object-position:center;filter:saturate(.5)sepia(.14)contrast(1.03);width:100%;height:100%}.ff-preview-caption{letter-spacing:.22em;text-transform:uppercase;color:var(--ff-muted);justify-content:space-between;gap:16px;margin-top:12px;font-size:10px;display:flex}.ff-catalogue-filters{flex-wrap:wrap;gap:8px;margin:20px 0 28px;display:flex}.ff-filter-chip{border:1px solid var(--ff-line-strong);letter-spacing:.04em;cursor:pointer;color:var(--ff-ink);transition:background .2s var(--ease-out), color .2s var(--ease-out);background:0 0;padding:7px 16px;font-size:12px}.ff-filter-chip:hover{border-color:var(--ff-accent)}.ff-filter-chip.is-active{background:var(--ff-ink);color:var(--ff-bg);border-color:var(--ff-ink)}.ff-preview-dots{gap:6px;margin-top:10px;display:flex}.ff-preview-dot{border:1px solid var(--ff-line-strong);background:var(--ff-bg);cursor:pointer;border-radius:50%;width:9px;height:9px;padding:0}.ff-preview-dot.is-active{background:var(--ff-accent);border-color:var(--ff-accent)}.ff-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(150px,15vw,210px)),1fr));gap:clamp(14px,1.6vw,24px);margin-top:clamp(20px,3vh,32px);display:grid}.ff-gallery-figure{min-width:0;margin:0}.ff-gallery-frame{aspect-ratio:4/5;border:1px solid var(--ff-line-strong);cursor:zoom-in;width:100%;font:inherit;color:inherit;transition:border-color .26s ease, box-shadow .34s var(--ease-out), transform .34s var(--ease-out);background:#fff;padding:8px;display:block;position:relative;overflow:hidden}.ff-gallery-frame img{object-fit:contain;width:100%;height:100%;transition:transform .6s var(--ease-out);display:block}.ff-gallery-view{background:var(--ff-ink);color:var(--ff-bg);letter-spacing:.2em;text-transform:uppercase;opacity:0;transition:opacity .22s ease, transform .26s var(--ease-out);align-items:center;gap:6px;padding:5px 8px;font-size:9px;display:inline-flex;position:absolute;bottom:8px;right:8px;transform:translateY(4px)}.ff-gallery-frame:hover,.ff-gallery-frame:focus-visible{border-color:var(--ff-accent);transform:translateY(-3px);box-shadow:0 14px 30px -18px #17140f73}.ff-gallery-frame:focus-visible{outline:2px solid var(--ff-accent);outline-offset:3px}.ff-gallery-frame:hover img{transform:scale(1.03)}.ff-gallery-frame:hover .ff-gallery-view,.ff-gallery-frame:focus-visible .ff-gallery-view{opacity:1;transform:none}@media (hover:none){.ff-gallery-view{opacity:1;transform:none}}.ff-gallery-caption{letter-spacing:.2em;text-transform:uppercase;color:var(--ff-muted);justify-content:space-between;gap:12px;margin-top:9px;font-size:10px;display:flex}.ff-gallery-caption span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ff-gallery-caption span:last-child{color:var(--ff-accent);flex-shrink:0}.ff-lightbox{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#17140fe6;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(8px,2vw,28px);padding:64px clamp(12px,3vw,40px) 28px;animation:.24s ease-out both ff-in;display:grid;position:fixed;inset:0}.ff-lightbox-stage{min-width:0;max-width:min(1000px,100%);animation:ff-up .32s var(--ease-out) both;flex-direction:column;grid-column:2;align-items:center;margin:0 auto;display:flex}.ff-lightbox-stage img{object-fit:contain;background:#fff;border:1px solid #f4f0e833;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 170px);animation:.28s ease-out both ff-in;display:block}.ff-lightbox-caption{color:#f4f0e8b8;letter-spacing:.2em;text-transform:uppercase;align-items:baseline;gap:14px;width:100%;margin-top:14px;font-size:11px;display:flex}.ff-lightbox-name{font-family:var(--font-heading);letter-spacing:.06em;color:var(--ff-bg);font-size:16px;font-weight:600}.ff-lightbox-details{color:var(--ff-accent-dark)}.ff-lightbox-count{font-variant-numeric:tabular-nums;margin-left:auto}.ff-lightbox-btn{width:44px;height:44px;color:var(--ff-bg);cursor:pointer;background:0 0;border:1px solid #f4f0e852;place-items:center;padding:0;transition:background .2s,border-color .2s;display:grid}.ff-lightbox-btn:hover{background:#f4f0e81a;border-color:#f4f0e899}.ff-lightbox-btn:focus-visible{outline:2px solid var(--ff-accent-dark);outline-offset:2px}.ff-lightbox-close{position:absolute;top:14px;right:clamp(12px,3vw,40px)}.ff-lightbox-prev{grid-column:1}.ff-lightbox-next{grid-column:3}@media (width<=720px){.ff-lightbox{grid-template-columns:minmax(0,1fr);padding:64px 12px 76px}.ff-lightbox-stage{grid-column:1}.ff-lightbox-stage img{max-height:calc(100dvh - 210px)}.ff-lightbox-nav{position:absolute;bottom:16px}.ff-lightbox-prev{left:12px}.ff-lightbox-next{right:12px}.ff-lightbox-caption{flex-wrap:wrap;row-gap:4px}}.ff-video-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(17rem,12vw + 12rem,26rem)),1fr));gap:clamp(14px,1.6vw,24px);margin-top:clamp(20px,3vh,32px);display:grid}.ff-video-figure{overflow-wrap:anywhere;justify-self:center;width:100%;min-width:0;max-width:clamp(20rem,16vw + 15rem,38rem);margin:0}.ff-video-frame.ff-video-frame--playing{aspect-ratio:auto;background:0 0;overflow:visible}.ff-video-frame video,.ff-video-frame iframe{aspect-ratio:16/9;object-fit:contain;width:100%;max-width:100%;height:auto}.ff-video-frame{aspect-ratio:16/9;border:1px solid var(--ff-line-strong);background:#17140f;position:relative;overflow:hidden}.ff-video-play{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:relative}.ff-video-play img{object-fit:cover;width:100%;height:100%;display:block}.ff-video-play-icon{color:var(--ff-bg);background:#17140f40;place-items:center;transition:background .22s;display:grid;position:absolute;inset:0}.ff-video-play:hover .ff-video-play-icon{background:#17140f73}.ff-video-player{object-fit:cover;width:100%;height:100%;display:block}.ff-video-caption{flex-direction:column;gap:4px;margin-top:9px;display:flex}.ff-video-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ff-ink);font-size:12px}.ff-video-desc{color:var(--ff-muted);font-size:12.5px}.ff-video-embed-wrap,.ff-video-native-wrap{flex-direction:column;gap:6px;width:100%;display:flex}.ff-video-native-wrap{position:relative}.ff-video-embed{aspect-ratio:16/9;background:#000;width:100%;position:relative}.ff-video-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.ff-video-native{aspect-ratio:16/9;object-fit:cover;background:#000;width:100%;display:block}.ff-video-loading{z-index:1;background:#17140f;place-items:center;display:grid;position:absolute;inset:0}.ff-video-loading:after{content:"";border:2.5px solid #e9e0d140;border-top-color:var(--ff-accent);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite ff-video-spin}@keyframes ff-video-spin{to{transform:rotate(360deg)}}.ff-video-fallback{aspect-ratio:16/9;width:100%;min-height:140px;color:var(--ff-bg);text-align:center;background:#17140f;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.ff-video-fallback svg{opacity:.6}.ff-video-fallback p{color:#e9e0d1cc;margin:0;font-size:13px}.ff-video-drive-link{letter-spacing:.02em;color:var(--ff-muted);align-self:flex-start;font-size:11px;font-weight:600;text-decoration:none}.ff-video-drive-link:hover,.ff-video-drive-link:focus-visible{color:var(--ff-ink);text-decoration:underline}.ff-process-track{margin-top:clamp(34px,6vh,64px);position:relative}.ff-process-line-bg{background:#f4f0e82e;height:1px;position:absolute;top:20px;left:0;right:0}.ff-process-line-fill{background:var(--ff-accent-dark);transform-origin:0;height:1px;transition:transform .2s linear;position:absolute;top:20px;left:0;right:0;transform:scaleX(0)}.ff-process-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(20px,2.6vw,40px);display:grid}.ff-process-step{padding-top:46px;position:relative}.ff-process-dot{border:1px solid var(--ff-accent-dark);background:var(--ff-ink);width:15px;height:15px;position:absolute;top:13px;left:0}.ff-process-num{font-family:var(--font-heading);letter-spacing:.2em;color:var(--ff-accent-dark);font-size:13px;font-weight:600}.ff-process-title{font-family:var(--font-heading);letter-spacing:.03em;text-transform:uppercase;margin:10px 0 0;font-size:clamp(20px,1.7vw,26px);font-weight:600}.ff-process-body{color:#f4f0e89e;text-wrap:pretty;margin:10px 0 0;font-size:13.5px;line-height:1.7}.ff-mill-grid{max-width:var(--container);grid-template-columns:1fr;align-items:center;gap:clamp(30px,5vw,68px);margin:0 auto;display:grid}@media (width>=900px){.ff-mill-grid{grid-template-columns:minmax(320px,.92fr) minmax(400px,1.08fr)}}.ff-mill-media{position:relative}.ff-mill-frame{border:1px solid var(--ff-line-strong);margin:0;position:relative;overflow:hidden}.ff-mill-frame-inner{height:clamp(340px,46vw,560px);overflow:hidden}.ff-mill-frame img{object-fit:cover;object-position:center;filter:contrast(1.02)brightness(.98);width:100%;height:116%}.ff-mill-badge{background:var(--ff-bg);border:1px solid var(--ff-line-strong);padding:16px 22px;position:absolute;bottom:clamp(-20px,-3vh,-14px);right:clamp(-10px,-1.6vw,0px)}.ff-mill-badge-title{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(18px,1.7vw,24px);font-weight:600}.ff-mill-badge-sub{letter-spacing:.22em;text-transform:uppercase;color:var(--ff-accent);margin-top:5px;font-size:10px}.ff-mill-copy p{max-width:52ch;color:var(--ff-body);text-wrap:pretty;margin:16px 0 0;font-size:15px;line-height:1.74}.ff-mill-copy p:first-of-type{margin-top:22px}.ff-factory-panel{background:var(--ff-line);border:1px solid var(--ff-line-strong);grid-template-columns:repeat(2,1fr);gap:1px;margin-top:clamp(24px,3.2vw,36px);display:grid;position:relative}@media (width<=560px){.ff-factory-panel{grid-template-columns:1fr}}.ff-factory-cell{background:var(--ff-card);padding:clamp(16px,1.8vw,22px);transition:background .24s;position:relative}.ff-factory-cell:hover{background:#b58e4f0d}.ff-factory-cell-num{font-family:var(--font-heading);letter-spacing:.22em;color:var(--ff-accent);margin-bottom:8px;font-size:11px;font-weight:600}.ff-factory-cell-title{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;color:var(--ff-ink);margin:0 0 6px;font-size:clamp(14px,1.15vw,16px);font-weight:600;line-height:1.25}.ff-factory-cell-desc{color:var(--ff-body);text-wrap:pretty;margin:0;font-size:13px;line-height:1.6}.ff-credentials{border-top:1px solid var(--ff-line);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:22px;margin-top:32px;padding-top:26px;display:grid}.ff-credential{color:var(--ff-body);align-items:flex-start;gap:11px;font-size:13px;line-height:1.55;display:flex}.ff-credential-dot{background:var(--ff-accent);flex:none;width:6px;height:6px;margin-top:5px}.ff-people-grid{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),clamp(260px,24vw,360px)));justify-content:center;gap:clamp(20px,2.6vw,42px);margin-top:clamp(28px,5vh,52px);display:grid}.ff-person{border:1px solid var(--ff-line-strong);transition:background .3s ease, transform .48s var(--ease-out);background:0 0;padding:14px 14px 22px;position:relative}.ff-person:hover{background:#8c7c5e17;transform:translateY(-6px)}.ff-person-media{aspect-ratio:4/5;background:linear-gradient(150deg,#e6dfd0,#d8cfb9);place-items:center;display:grid;position:relative;overflow:hidden}.ff-person-initials{font-family:var(--font-heading);color:#17140f47;letter-spacing:.04em;transition:transform .7s var(--ease-out);font-size:clamp(40px,6vw,64px)}.ff-person:hover .ff-person-initials{transform:scale(1.08)}.ff-person-photo{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out)}.ff-person:hover .ff-person-photo{transform:scale(1.05)}.ff-person-name{font-family:var(--font-heading);letter-spacing:.03em;text-transform:uppercase;margin:18px 0 0;font-size:clamp(22px,2vw,28px);font-weight:600}.ff-person-role{letter-spacing:.2em;text-transform:uppercase;color:var(--ff-accent);margin-top:5px;font-size:10.5px}.ff-person-bio{color:var(--ff-body);text-wrap:pretty;margin:12px 0 0;font-size:13.5px;line-height:1.7}.ff-person-links{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.ff-person-link{letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--ff-line-strong);color:var(--ff-body);padding:7px 12px;font-size:9.5px;transition:background .22s,color .22s}.ff-person-link:hover{background:var(--ff-ink);color:var(--ff-bg)}.ff-person--skeleton{min-height:320px}.ff-person--skeleton .ff-person-media{animation:1.4s ease-in-out infinite ff-people-pulse}@keyframes ff-people-pulse{50%{opacity:.55}}.ff-people-note{color:var(--ff-muted);margin:clamp(28px,5vh,52px) 0 0;font-size:14px}.ff-people-retry{color:var(--ff-accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.ff-reviews-head{max-width:var(--container);padding:0 var(--gutter);text-align:center;margin:0 auto}.ff-reviews-rule-row{justify-content:center;align-items:center;gap:14px;display:flex}.ff-reviews-rule{background:#8c7c5e8c;width:clamp(28px,5vw,62px);height:1px}.ff-reviews-lede{max-width:46ch;color:var(--ff-muted);margin:14px auto 0;font-size:14px;line-height:1.7}.ff-reviews-grid{max-width:var(--container);padding:0 var(--gutter);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,2vw,30px);margin:clamp(30px,5vh,54px) auto 0;display:grid}.ff-review-card{border:1px solid var(--ff-line-strong);background:var(--ff-card);transition:transform .52s var(--ease-out), box-shadow .4s ease, background .3s ease;flex-direction:column;padding:clamp(20px,2.2vw,30px);display:flex;position:relative}.ff-review-card:hover{background:#fffdf8;transform:translateY(-7px);box-shadow:0 18px 40px #17140f1c}.ff-review-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ff-review-stars{gap:5px;display:flex}.ff-review-quote-mark{font-family:var(--font-heading);color:#8c7c5e59;font-size:40px;line-height:.6}.ff-review-text{color:var(--ff-ink-soft);text-wrap:pretty;flex:1;margin:20px 0 0;font-size:15px;line-height:1.72}.ff-review-footer{border-top:1px solid var(--ff-line);align-items:center;gap:13px;margin-top:24px;padding-top:18px;display:flex}.ff-review-initials{border:1px solid var(--ff-line-strong);width:38px;height:38px;font-family:var(--font-heading);letter-spacing:.04em;color:var(--ff-accent);flex:none;place-items:center;font-size:15px;display:grid}.ff-review-name{letter-spacing:.02em;font-size:13.5px;display:block}.ff-review-meta{color:var(--ff-muted);align-items:center;gap:6px;margin-top:3px;font-size:11px;display:flex}.ff-reviews-marquee{margin-top:clamp(18px,2.4vw,30px);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.ff-reviews-marquee-track{width:max-content;animation:46s linear infinite ff-marquee;display:flex}.ff-reviews-marquee-run{gap:clamp(18px,2vw,30px);padding-right:clamp(18px,2vw,30px);display:flex}.ff-mini-review{background:var(--ff-card);border:1px solid #8c7c5e59;width:clamp(260px,26vw,340px);padding:22px;position:relative}.ff-mini-review-text{color:var(--ff-ink-soft);text-wrap:pretty;margin:14px 0 0;font-size:14px;line-height:1.68}.ff-mini-review-name{margin-top:16px;font-size:12.5px}.ff-mini-review-meta{letter-spacing:.2em;text-transform:uppercase;color:var(--ff-accent);margin-top:2px;font-size:10px}.ff-faq-grid{max-width:var(--container);grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(26px,4vw,70px);margin:0 auto;display:grid}.ff-faq-sticky{position:static}.ff-faq-sticky .ff-lede{max-width:54ch;margin-top:18px}@media (width>=900px){.ff-faq-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.ff-faq-sticky{position:sticky;top:120px}.ff-faq-sticky .ff-lede{max-width:34ch}}.ff-faq-list{border-top:1px solid var(--ff-line-strong)}.ff-faq-item{border-bottom:1px solid var(--ff-line-soft)}.ff-faq-question{cursor:pointer;text-align:left;color:#4a4438;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:21px 4px;transition:color .22s;display:flex}.ff-faq-item.is-open .ff-faq-question{color:var(--ff-ink)}.ff-faq-question-text{font-family:var(--font-heading);letter-spacing:.02em;font-size:clamp(17px,1.5vw,22px);font-weight:500}.ff-faq-icon{flex:none;width:13px;height:13px;position:relative}.ff-faq-icon:before,.ff-faq-icon:after{content:"";background:var(--ff-accent);position:absolute}.ff-faq-icon:before{height:1.5px;top:6px;left:0;right:0}.ff-faq-icon:after{width:1.5px;transition:transform .32s var(--ease-out);top:0;bottom:0;left:6px}.ff-faq-item.is-open .ff-faq-icon:after{transform:scaleY(0)}.ff-faq-panel{transition:grid-template-rows .38s var(--ease-out);grid-template-rows:0fr;display:grid}.ff-faq-item.is-open .ff-faq-panel{grid-template-rows:1fr}.ff-faq-panel-inner{overflow:hidden}.ff-faq-panel p{max-width:58ch;color:var(--ff-body);text-wrap:pretty;margin:0;padding:0 40px 24px 4px;font-size:14px;line-height:1.74}.ff-contact-grid{max-width:var(--container);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(30px,5vw,78px);margin:0 auto;display:grid}.ff-contact-copy p{color:#f4f0e8ad;text-wrap:pretty;max-width:44ch;margin:20px 0 0;font-size:15px;line-height:1.72}.ff-contact-details{gap:22px;margin-top:36px;display:grid}.ff-contact-row{align-items:flex-start;gap:16px;display:flex}.ff-contact-dot{background:var(--ff-accent-dark);flex:none;width:7px;height:7px;margin-top:7px}.ff-contact-label{letter-spacing:.22em;text-transform:uppercase;color:var(--ff-accent-dark);font-size:10px}.ff-contact-value{margin-top:6px;font-size:15px}.ff-contact-sub{color:#f4f0e88c;margin-top:3px;font-size:13px}.ff-contact-panel{border:1px solid #b9a68466;padding:clamp(24px,3vw,40px);position:relative}.ff-form{gap:18px;display:grid}.ff-field{gap:8px;display:grid}.ff-field-label{letter-spacing:.22em;text-transform:uppercase;color:#f4f0e899;font-size:10px}.ff-field input,.ff-field textarea{color:var(--ff-bg);background:#f4f0e80d;border:1px solid #b9a68459;border-radius:0;padding:14px;font-size:14px;transition:border-color .22s}.ff-field.has-error input{border-color:var(--ff-error)}.ff-field-error{letter-spacing:.04em;color:var(--ff-error);min-height:0;font-size:11.5px}.ff-form-note{color:#f4f0e8ad;margin:0;font-size:11.5px;line-height:1.6}.ff-honeypot{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ff-form-success{animation:ff-up .48s var(--ease-out) both;place-items:start;gap:18px;display:grid}.ff-form-success-icon{border:1px solid var(--ff-accent-dark);place-items:center;width:46px;height:46px;display:grid}.ff-form-error-banner{border:1px solid var(--ff-error);color:var(--ff-error);background:#d99a761a;padding:12px 14px;font-size:13px}.ff-contact-panel--light{background:var(--ff-bg-alt);border-color:var(--ff-line-strong)}.ff-contact-panel--light .ff-field-label{color:var(--ff-muted)}.ff-contact-panel--light .ff-field input,.ff-contact-panel--light .ff-field textarea{color:var(--ff-ink);background:var(--ff-bg);border-color:var(--ff-line)}.ff-footer{background:var(--ff-bg-alt);border-top:1px solid var(--ff-line);padding:clamp(44px, 7vh, 76px) var(--gutter) 28px}.ff-footer-grid{max-width:var(--container);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(26px,4vw,60px);margin:0 auto;display:grid}.ff-footer-brand img{mix-blend-mode:multiply;width:clamp(240px,28vw,360px);height:auto}.ff-footer-brand p{max-width:32ch;color:var(--ff-muted);margin:14px 0 0;font-size:13px;line-height:1.7}.ff-footer-col-title{letter-spacing:.24em;text-transform:uppercase;color:var(--ff-accent);font-size:10px}.ff-footer-links{gap:10px;margin-top:16px;display:grid}.ff-footer-links a{color:var(--ff-body);font-size:13px}.ff-footer-bottom{max-width:var(--container);border-top:1px solid var(--ff-line-soft);letter-spacing:.14em;text-transform:uppercase;color:var(--ff-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:clamp(30px,5vh,52px) auto 0;padding-top:20px;font-size:10.5px;display:flex}.ff-footer-legal{flex-wrap:wrap;gap:18px;display:flex}.ff-footer-legal a{color:var(--ff-muted)}.ff-top-btn{z-index:38;border:1px solid var(--ff-line-strong);background:var(--ff-bg);cursor:pointer;width:48px;height:48px;transition:opacity .36s ease, transform .42s var(--ease-out), background .22s ease;opacity:0;pointer-events:none;place-items:center;display:grid;position:fixed;bottom:clamp(14px,3vh,30px);right:clamp(14px,2.4vw,30px);transform:translateY(14px)scale(.9)}.ff-top-btn.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.ff-top-btn:hover{background:#8c7c5e29}.ff-modal-backdrop{z-index:80;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17140f9e;place-items:center;min-height:100dvh;animation:.26s ease-out both ff-in;display:grid;position:fixed;inset:0}.ff-modal{background:var(--ff-bg);border:1px solid var(--ff-line-strong);width:min(520px,100vw - 32px);max-height:none;animation:ff-up .34s var(--ease-out) both;padding:clamp(22px,3.4vw,36px);position:relative;overflow:visible}.ff-modal-close{cursor:pointer;background:0 0;border:1px solid #8c7c5e66;place-items:center;width:34px;height:34px;transition:background .2s;display:grid;position:absolute;top:14px;right:14px}.ff-modal-close:hover{background:#8c7c5e29}.ff-modal h3{font-family:var(--font-heading);text-transform:uppercase;margin:12px 0 0;font-size:clamp(26px,3vw,38px);font-weight:600;line-height:1.06}.ff-modal-lede{color:var(--ff-body);margin:14px 0 0;font-size:14px;line-height:1.7}.ff-modal-success{border:1px solid var(--ff-line-strong);overflow-wrap:anywhere;background:#8c7c5e1f;margin-top:clamp(18px,3vh,24px);padding:clamp(15px,2.5vw,18px);font-size:14px;line-height:1.65;animation:.32s ease-out both ff-up}.ff-modal-form{gap:12px;margin-top:24px;display:grid}.ff-modal-form input{background:var(--ff-bg-alt);border:1px solid var(--ff-line-strong);color:var(--ff-ink);border-radius:0;padding:15px;font-size:14px}.ff-modal-form input.has-error{border-color:var(--ff-error-dark)}.ff-modal-error{color:var(--ff-error-dark);font-size:11.5px}@media (width<=600px){.ff-modal-backdrop{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.ff-modal{width:min(100%,520px);padding:26px 22px 22px}.ff-modal-close{width:36px;height:36px;top:10px;right:10px}.ff-modal h3{overflow-wrap:anywhere;max-width:100%;padding-right:4px;font-size:clamp(29px,8vw,36px)}}@media (height<=440px) and (orientation:landscape){.ff-modal-backdrop{padding-top:max(8px, env(safe-area-inset-top));padding-bottom:max(8px, env(safe-area-inset-bottom));place-items:start center}.ff-modal{padding:16px 22px}.ff-modal h3{margin-top:8px}.ff-modal-lede{margin-top:8px;font-size:13px}.ff-modal-success,.ff-modal-form{margin-top:12px}.ff-modal-form{gap:9px}.ff-modal-form input{padding:12px}}@keyframes ff-in{0%{opacity:0}to{opacity:1}}@keyframes ff-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ff-mask{0%{clip-path:inset(0 0 102%)}to{clip-path:inset(0 0 -2%)}}@keyframes ff-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes ff-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ff-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes ff-spin{to{transform:rotate(360deg)}}
