/* Surface Palette — original supplier samples, with a local personal shortlist. */
body.ffp-site{--ffp-paper:#f0ede3;--ffp-gold:#c9ac85;--ffp-muted:#aaa99f;--ffp-rule:#e8dfc626;--ffp-rail:clamp(22px,5vw,86px);margin:0;background:#101112;color:var(--ffp-paper);font:400 15px/1.6 'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased;color-scheme:dark}
.ffp-site *{box-sizing:border-box}.ffp-site :is(h1,h2,h3,p,figure){margin:0}.ffp-site :is(h1,h2,h3){color:inherit;font-weight:400}.ffp-site a{color:inherit;text-decoration:none}.ffp-site button{font:inherit;cursor:pointer;border:0;box-shadow:none}.ffp-site img{display:block;max-width:100%;height:auto}.ffp-site [hidden]{display:none!important}.ffp-site :is(a,button,textarea):focus-visible{outline:2px solid var(--ffp-gold);outline-offset:5px}.ffp-site :is(section,main,#palette)[id]{scroll-margin-top:176px}.ffp-site em{font:inherit;color:var(--ffp-gold)}
.ffp-skip{position:fixed;z-index:500;left:20px;top:10px;transform:translateY(-180%);padding:12px 18px;background:var(--ffp-paper);color:#101112!important}.ffp-skip:focus{transform:none}.ffp-header{height:92px;padding:10px var(--ffp-rail);position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;background:#101112f5;border-bottom:1px solid var(--ffp-rule);backdrop-filter:blur(18px)}.ffp-logo,.ffp-logo img{width:78px;flex:none}.ffp-logo img{height:62px;object-fit:contain}.ffp-header nav{display:flex;align-items:center;gap:38px;font-size:12px}.ffp-header nav>a{padding:12px 0}.ffp-header [aria-current]{color:var(--ffp-gold);border-bottom:1px solid var(--ffp-gold)}.ffp-header button{color:var(--ffp-paper);background:transparent;padding:10px 0}.ffp-header [data-shortlist-count]{border:1px solid #c9ac8555;border-radius:50%;display:inline-grid;place-items:center;min-width:26px;height:26px;margin-left:8px;font-size:11px;color:var(--ffp-gold)}
.ffp-hero,.ffp-family,.ffp-guide,.ffp-sources{max-width:1700px;margin:auto;padding-left:var(--ffp-rail);padding-right:var(--ffp-rail)}.ffp-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;padding-top:38px;padding-bottom:40px}.ffp-eyebrow{color:var(--ffp-gold);font-size:10px;letter-spacing:.17em;line-height:1.4}.ffp-hero h1{font-size:clamp(62px,6.6vw,104px);line-height:.97;letter-spacing:-.065em;margin:24px 0}.ffp-hero-description{max-width:420px;font-size:14px;color:#b9b8b1;line-height:1.75}.ffp-hero-art{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;padding:20px 0 0}.ffp-hero-art img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;outline:1px solid #fff2;outline-offset:5px}.ffp-hero-art figcaption{font-size:9px;text-transform:uppercase;letter-spacing:.15em;padding-top:18px;color:#b9b6ab;text-align:center}
.ffp-jumps{position:sticky;top:92px;z-index:90;background:#101112f5;border-block:1px solid var(--ffp-rule);backdrop-filter:blur(18px);display:flex;justify-content:center;padding:0 var(--ffp-rail);gap:0}.ffp-jumps a{padding:21px 30px;font-size:13px;border-inline:1px solid transparent;transition:background .2s}.ffp-jumps a:hover{background:#ffffff07}.ffp-jumps span{font-size:9px;color:var(--ffp-gold);margin-right:15px}.ffp-jumps small{font-size:10px;color:#aaa99f;margin-left:14px}.ffp-intro-note{padding:21px var(--ffp-rail) 0;color:#a8a89f;font-size:11px;max-width:1700px;margin:auto!important}.ffp-family{padding-top:64px;padding-bottom:72px}.ffp-family+.ffp-family{border-top:1px solid var(--ffp-rule)}.ffp-family-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:32px}.ffp-family-heading h2{font-size:clamp(40px,4.8vw,72px);line-height:1.06;letter-spacing:-.055em;margin-top:12px}.ffp-family-heading>p{max-width:370px;color:#aaa99f;font-size:13px;line-height:1.75}.ffp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 20px}.ffp-sample{position:relative;min-width:0;border:1px solid #ffffff18;border-radius:6px;overflow:hidden;background:#17191a;transition:border-color .2s,background .2s}.ffp-sample:has([aria-pressed="true"]){border-color:var(--ffp-gold);background:#24221e}.ffp-sample-image{position:relative;overflow:hidden;aspect-ratio:1.22;background:#292b2b;margin:7px;border-radius:3px}.ffp-sample-image>img{width:100%;height:100%;object-fit:cover}.ffp-sample-text{padding:12px 15px 4px}.ffp-sample h3{font-size:17px;letter-spacing:-.02em;line-height:1.3}.ffp-sample-text p{font-size:10px;color:#a8a89f;margin-top:4px;letter-spacing:.06em}.ffp-pick{display:flex;justify-content:space-between;align-items:center;width:100%;padding:13px 15px!important;background:transparent!important;color:#bcbab1!important;border-radius:0!important;min-height:46px;font-size:11px!important;text-align:left}.ffp-pick>span:last-child{font-size:22px;line-height:1;color:var(--ffp-gold)}.ffp-pick:hover{color:var(--ffp-paper)!important;background:#ffffff06!important}.ffp-pick[aria-pressed="true"]{color:var(--ffp-gold)!important}.ffp-pick[aria-pressed="true"]>span:last-child{font-size:0}.ffp-pick[aria-pressed="true"]>span:last-child:after{content:'✓';font-size:17px}.ffp-sample:focus-within{outline:2px solid var(--ffp-gold);outline-offset:4px}.ffp-pick:focus-visible{outline-offset:-4px!important}.ffp-family-note{margin-top:22px!important;color:#999b94;font-size:11px}.ffp-family-note a,.ffp-sources a{text-decoration:underline;text-underline-offset:4px}.ffp-sample:hover{border-color:#c9ac8566}
.ffp-guide{border-top:1px solid var(--ffp-rule);display:grid;grid-template-columns:1fr 1.6fr;gap:80px;padding-top:65px;padding-bottom:65px}.ffp-guide h2{font-size:44px;letter-spacing:-.045em;line-height:1.08;margin:20px 0}.ffp-guide ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.ffp-guide li{border-top:1px solid var(--ffp-rule);padding-top:20px;color:#aaa99f;font-size:12px}.ffp-guide li>span{color:var(--ffp-gold);font-size:10px}.ffp-guide h3{font-size:19px;color:var(--ffp-paper);margin:15px 0 10px}.ffp-sources{padding-bottom:52px;color:#999b94;font-size:10px}.ffp-sources summary{cursor:pointer;color:#c4c1b7;font-size:11px}.ffp-sources p{max-width:820px;margin-top:14px}.ffp-footer{border-top:1px solid var(--ffp-rule);padding:28px var(--ffp-rail) 135px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;color:#aaa99f}.ffp-footer>a{font-size:17px;color:var(--ffp-paper)}.ffp-footer>a span{color:var(--ffp-gold);margin-left:15px}.ffp-footer small{font-size:10px}
.ffp-dock{position:fixed;z-index:120;left:50%;bottom:20px;transform:translateX(-50%);width:min(760px,calc(100% - 40px));display:flex;align-items:center;gap:20px;background:#efece3;color:#17191a;padding:14px 16px 14px 22px;border:1px solid #fff8;border-radius:10px;box-shadow:0 12px 50px #0006}.ffp-dock-copy{min-width:0;flex:1}.ffp-dock-copy>strong{font-size:13px;display:block;font-weight:500;letter-spacing:-.02em}.ffp-dock-copy>span{display:block;font-size:11px;color:#66655d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:350px}.ffp-dock button{flex:none;background:#17191a;color:#efece3;padding:13px 19px;border-radius:5px;font-size:12px;min-height:44px}.ffp-dock button:hover{background:#38352f}.ffp-dock button span{padding-left:10px;color:#d4ba96}.ffp-dock [data-shortlist-thumbs]{display:flex;padding-left:8px}.ffp-shortlist-thumb{width:39px!important;height:39px!important;object-fit:cover;border:2px solid #efece3;border-radius:50%;margin-left:-8px}.ffp-dock :focus-visible{outline-color:#665136}
.ffp-dialog{border:1px solid #ffffff26;background:#17191a;color:var(--ffp-paper);width:min(600px,calc(100vw - 32px));max-height:calc(100svh - 40px);padding:0;border-radius:12px;position:fixed;margin:auto;box-shadow:0 30px 100px #0008;overflow:auto;color-scheme:dark}.ffp-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.ffp-dialog-heading{display:flex;justify-content:space-between;gap:25px;padding:28px 28px 18px;position:sticky;top:0;background:#17191af5;z-index:1;border-bottom:1px solid var(--ffp-rule)}.ffp-dialog-heading h2{font-size:32px;letter-spacing:-.04em;line-height:1.2;margin-top:6px}.ffp-dialog-heading>button{position:relative;align-self:flex-start;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0!important;appearance:none;background:#ffffff09;color:var(--ffp-paper);border:1px solid #ffffff20;border-radius:50%;font-size:0;line-height:1}.ffp-dialog-heading>button:before,.ffp-dialog-heading>button:after{content:"";position:absolute;left:50%;top:50%;width:17px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}.ffp-dialog-heading>button:after{transform:translate(-50%,-50%) rotate(-45deg)}.ffp-dialog-info{padding:20px 28px 0;font-size:12px;color:#b1b1a8}.ffp-dialog [data-shortlist-empty]{padding:50px 28px;font-size:16px;line-height:1.7;color:#bbb9ae}.ffp-dialog [data-shortlist-items]{list-style:none;margin:0;padding:20px 28px}.ffp-shortlist-item{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--ffp-rule);padding:15px 0}.ffp-shortlist-item__image{height:66px!important;width:66px!important;border-radius:4px;object-fit:cover;flex:none}.ffp-shortlist-item__details{min-width:0;flex:1}.ffp-shortlist-item__name{display:block;font-size:17px;font-weight:400;line-height:1.3}.ffp-shortlist-item__meta{display:block;font-size:11px;color:#aaa99f;margin-top:5px}.ffp-shortlist-item__remove{background:transparent!important;color:#b4b1a5!important;padding:10px 0 10px 10px!important;font-size:11px!important;text-decoration:underline;text-underline-offset:4px}.ffp-dialog [data-shortlist-actions]{display:flex;gap:15px;align-items:center;padding:0 28px 24px}.ffp-dialog [data-shortlist-copy]{background:var(--ffp-gold);color:#101112;padding:13px 22px;border-radius:4px;font-size:12px;min-height:44px}.ffp-dialog [data-shortlist-clear]{color:#b3b1a7;background:transparent;padding:13px 8px;font-size:12px;min-height:44px}.ffp-dialog button:disabled{opacity:.45;cursor:default}.ffp-dialog [data-shortlist-persistence]{font-size:10px;color:#999b94;padding:0 28px 24px}.ffp-dialog textarea{width:calc(100% - 56px);margin:0 28px 24px;min-height:150px;padding:12px;font:12px/1.7 monospace;background:#101112;color:#f0ede3;border:1px solid var(--ffp-gold)}.ffp-sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.ffp-noscript{margin:25px var(--ffp-rail);border:1px solid var(--ffp-rule);padding:15px;font-size:12px;color:#bbb9ae}
@media(min-width:1600px){.ffp-grid{gap:32px}.ffp-sample h3{font-size:20px}}
@media(max-width:1050px){.ffp-hero{gap:35px}.ffp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ffp-guide{gap:40px;grid-template-columns:1fr 2fr}.ffp-guide ol{gap:20px}.ffp-header nav{gap:25px}}
@media(max-width:760px){.ffp-header{height:78px}.ffp-logo,.ffp-logo img{width:66px}.ffp-logo img{height:54px}.ffp-header nav{gap:20px;font-size:11px}.ffp-home-link{display:none}.ffp-header [data-shortlist-count]{margin-left:4px;min-width:22px;height:22px}.ffp-hero{padding-top:38px;padding-bottom:40px;grid-template-columns:1fr;gap:34px}.ffp-hero h1{font-size:clamp(59px,11.5vw,88px);margin:18px 0}.ffp-hero-description{font-size:13px;max-width:360px}.ffp-hero-art{max-width:480px;width:100%;gap:14px;padding:0}.ffp-hero-art figcaption{font-size:8px;padding-top:13px}.ffp-jumps{top:78px;padding:0 14px;justify-content:space-between}.ffp-jumps a{font-size:12px;padding:17px 8px}.ffp-jumps span{font-size:8px;margin-right:7px}.ffp-jumps small{display:none}.ffp-site :is(section,main,#palette)[id]{scroll-margin-top:151px}.ffp-intro-note{font-size:10px;line-height:1.6;padding-top:18px}.ffp-family{padding-top:42px;padding-bottom:48px}.ffp-family-heading{display:block;margin-bottom:24px}.ffp-family-heading h2{font-size:47px}.ffp-family-heading>p{font-size:12px;max-width:370px;margin-top:17px}.ffp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 13px}.ffp-sample h3{font-size:16px}.ffp-sample-text{padding:9px 12px 0}.ffp-pick{padding:11px 12px!important;font-size:10px!important}.ffp-sample-image{margin:5px}.ffp-guide{grid-template-columns:1fr;gap:15px;padding-top:44px;padding-bottom:38px}.ffp-guide h2{font-size:38px;margin-top:12px}.ffp-guide li{font-size:11px}.ffp-guide h3{font-size:17px}.ffp-footer{flex-wrap:wrap;gap:18px}.ffp-footer>a{flex-basis:100%}.ffp-footer small{font-size:9px}.ffp-dock{bottom:12px;padding:12px 12px 12px 16px;gap:10px;width:calc(100% - 24px)}.ffp-dock [data-shortlist-thumbs]{display:none}.ffp-dock button{padding:12px 13px;font-size:11px}.ffp-dock-copy>strong{font-size:12px}.ffp-dock-copy>span{font-size:10px;max-width:260px}.ffp-dialog-heading{padding:23px 22px 17px}.ffp-dialog-heading h2{font-size:29px}.ffp-dialog-info{padding:18px 22px 0}.ffp-dialog [data-shortlist-items]{padding:14px 22px}.ffp-dialog [data-shortlist-actions]{padding:0 22px 20px}.ffp-dialog [data-shortlist-persistence]{padding:0 22px 22px}}
@media(max-width:480px){.ffp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.ffp-hero-art{gap:12px}.ffp-guide ol{grid-template-columns:1fr;gap:24px}.ffp-guide li{display:grid;grid-template-columns:28px 1fr;column-gap:15px;padding-top:16px}.ffp-guide li>span{grid-row:1/3;padding-top:4px}.ffp-guide h3{margin:0 0 8px}.ffp-guide li>p{grid-column:2}.ffp-dock-copy>span{max-width:200px}.ffp-dock button>span:last-child{display:none}.ffp-dock button{padding:12px}.ffp-dialog{max-height:calc(100svh - 24px)}.ffp-shortlist-item{gap:12px}.ffp-shortlist-item__image{width:54px!important;height:54px!important}.ffp-shortlist-item__name{font-size:16px}}
@media(max-width:360px){.ffp-header nav{gap:12px;font-size:10px}.ffp-header [data-shortlist-count]{min-width:20px;height:20px;margin-left:3px}.ffp-hero h1{font-size:55px}.ffp-sample h3{font-size:15px}.ffp-dock-copy>span{max-width:160px}.ffp-dock-copy>strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ffp-site *{transition:none!important;scroll-behavior:auto!important}}

#ffp-dialog-status{font-size:12px;color:var(--ffp-gold);margin:0 28px 20px}#ffp-dialog-status:empty{display:none}

#palette:focus{outline:none}
.ffp-hero .ffp-hero-quote{margin:24px 0 0;min-height:48px}
