/* Frond Grid shared shell — design tokens, header, footer, wordmark, catalogue, 404.
   System type only (owner-approved Helvetica Neue / Hiragino stack). No web fonts: CSP is self-only.
   Every class is prefixed fg- so product stylesheets (Little Moves, Break, Please.) can sit beside it. */
:root{
 --fg-paper:#f4f3ee;--fg-ink:#292d27;--fg-muted:#5f665b;--fg-line:#cccfc3;--fg-soft:#e5e7dc;
 --fg-accent:#b63f20;--fg-accent-ink:#fff;
 /* earth tokens: laterite, ochre, charcoal, indigo */
 --fg-clay:#a24d2e;--fg-ochre:#b8893a;--fg-charcoal:#2b2b28;--fg-indigo:#2f3d5c;
 --fg-sans:"Helvetica Neue",Helvetica,Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;
 --fg-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
 --fg-gutter:20px;--fg-max:1240px;
}
.fg-page{margin:0;font-family:var(--fg-sans);color:var(--fg-ink);background:var(--fg-paper);font-synthesis:none;-webkit-text-size-adjust:100%}
.fg-page *{box-sizing:border-box}
.fg-page a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
.fg-page button,.fg-page select{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
.fg-page button{border:0;background:transparent;cursor:pointer;padding:0}
.fg-page img{max-width:100%;height:auto;display:block}
.fg-page p{line-height:1.8}
.fg-page :focus-visible{outline:3px solid var(--fg-accent);outline-offset:4px}
.fg-sr,.fg-skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fg-skip:focus{position:fixed;z-index:30;left:12px;top:12px;padding:14px 18px;background:#fff;color:#000}
.fg-eyebrow{font:11px/1.6 var(--fg-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--fg-muted)}
.fg-wrap{max-width:var(--fg-max);margin:0 auto;padding:0 var(--fg-gutter);box-sizing:border-box}
.fg-header *,.fg-footer *{box-sizing:border-box}
.fg-header a,.fg-footer a{color:inherit;text-decoration:none}
.fg-header select{font:inherit;color:inherit}

/* header + wordmark */
.fg-header{border-bottom:1px solid var(--fg-line);font-family:var(--fg-sans);color:var(--fg-ink);background:var(--fg-paper)}
.fg-header .fg-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px}
.fg-brand{font-size:27px;letter-spacing:-1.6px;font-weight:600;display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap;line-height:1}
.fg-dot{width:7px;height:7px;background:var(--fg-accent);border-radius:50%;flex-shrink:0}
.fg-nav{display:flex;align-items:center;gap:18px;font-size:12px}
.fg-nav>a{padding:12px 0}
.fg-nav>a[aria-current=page]{border-bottom:1px solid currentColor}
.fg-lang select{border:0;border-bottom:1px solid var(--fg-line);background:transparent;padding:9px 2px;font-size:12px;min-height:44px;border-radius:0}
.fg-nav .fg-hide-sm{display:none}

/* hero */
.fg-hero{display:flex;flex-direction:column;gap:30px;padding:34px 0 40px}
.fg-hero h1{font-size:42px;line-height:1.16;letter-spacing:-.05em;font-weight:500;margin:18px 0 14px}
.fg-hero h1 span{display:block}
.fg-hero p{font-size:14px;max-width:360px;margin:10px 0}
.fg-jump{display:inline-flex;gap:36px;align-items:center;font-size:13px;border-bottom:1px solid var(--fg-ink);padding:14px 0 10px;margin-top:6px}
.fg-board{aspect-ratio:1.3;background:#e6e5da;position:relative;overflow:hidden;border-radius:3px}
.fg-board:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.16' filter='url(%23n)'/%3E%3C/svg%3E")}
.fg-sleeve{position:absolute;width:45%;box-shadow:8px 10px 18px #262e2030}
.fg-sleeve-a{left:8%;top:15%;transform:rotate(-7deg);z-index:2}
.fg-sleeve-b{right:7%;top:24%;transform:rotate(5deg)}
.fg-board-label{position:absolute;left:18px;top:16px;font:10px/1.4 var(--fg-mono);letter-spacing:.07em;z-index:3}
.fg-board-mark{position:absolute;right:16px;top:16px;width:10px;height:10px;border:1px solid var(--fg-accent);border-radius:50%}

/* catalogue */
.fg-catalogue-head{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--fg-ink);padding:20px 0 22px}
.fg-catalogue-head h2{font-size:24px;font-weight:500;letter-spacing:-.035em;margin:0}
.fg-filters{display:flex;gap:4px;flex-wrap:wrap}
.fg-filter{font-size:12px;border:1px solid var(--fg-line)!important;padding:9px 14px!important;border-radius:40px;min-height:40px}
.fg-filter[aria-pressed=true]{background:var(--fg-ink);color:#fff;border-color:var(--fg-ink)!important}
.fg-grid{display:grid;grid-template-columns:1fr;gap:40px 26px;padding-bottom:20px}
.fg-card{min-width:0;display:flex;flex-direction:column}
.fg-card[hidden]{display:none}
.fg-label{display:flex;gap:8px;align-items:center;font:10px/1.5 var(--fg-mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 10px}
.fg-label b{font-weight:600;border:1px solid currentColor;padding:2px 6px;border-radius:2px}
.fg-label span{color:var(--fg-muted)}
.fg-art{display:grid;place-items:center;background:var(--fg-soft);aspect-ratio:1.25;position:relative;overflow:hidden;border-radius:2px}
.fg-art img{width:62%;height:auto;aspect-ratio:1;object-fit:cover;box-shadow:7px 9px 16px #262e2033;transform:rotate(-2deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fg-art:hover img{transform:rotate(0) scale(1.02)}
.fg-card[data-product=break-please] .fg-art{background:#1c2c55}
.fg-card[data-product=break-please] .fg-art img{transform:rotate(2deg)}
.fg-status{position:absolute;left:12px;top:12px;background:var(--fg-paper);font-size:11px;padding:6px 9px;border-radius:2px}
.fg-status.is-live{background:var(--fg-ink);color:#fff}
.fg-card-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin:18px 0 0}
.fg-card-head h3{font-size:28px;line-height:1.1;margin:0;font-weight:500;letter-spacing:-.035em}
.fg-price{font:12px/1.4 var(--fg-mono);white-space:nowrap}
.fg-card-copy{font-size:13px;margin:10px 0 4px}
.fg-card-req{font-size:12px!important;color:var(--fg-muted);margin:0 0 14px}
.fg-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--fg-line)}
.fg-play{display:flex;align-items:center;gap:11px;font-size:12px;min-height:46px}
.fg-disc{width:36px;height:36px;border:1px solid var(--fg-ink);border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:background .18s}
.fg-disc svg{width:12px;height:12px}
.fg-disc .fg-i-pause{display:none}
.fg-play[aria-pressed=true] .fg-disc{background:var(--fg-ink);color:#fff}
.fg-play[aria-pressed=true] .fg-i-play{display:none}
.fg-play[aria-pressed=true] .fg-i-pause{display:block}
.fg-wave{height:30px;width:92px;display:block;flex-shrink:1;min-width:40px}
.fg-wave path{stroke:#a6ad9d}
.fg-wave path.is-on{stroke:var(--fg-accent)}
.fg-more{font-size:12px;display:flex;gap:8px;align-items:center;padding:12px 0;white-space:nowrap}
.fg-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.fg-buy{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--fg-accent);color:var(--fg-accent-ink)!important;padding:16px 18px;font-size:14px;min-height:52px}
.fg-buy:hover{background:#9c3419}
.fg-secondary{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--fg-line);padding:15px 18px;font-size:14px;min-height:52px}
.fg-secondary:hover{border-color:var(--fg-ink)}
.fg-soon{margin:0;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px dashed var(--fg-line);padding:15px 18px;font-size:13px;color:var(--fg-muted);min-height:52px}
.fg-legal-mini{font-size:11px!important;color:var(--fg-muted);margin:2px 0 0;line-height:1.7}
.fg-legal-mini a{text-decoration:underline;text-underline-offset:3px}

/* plugin studies (flagged) */
.fg-studies{border-top:1px solid var(--fg-line);padding:26px 0 10px;margin-top:30px}
.fg-studies h2{font-size:20px;font-weight:500;letter-spacing:-.03em;margin:6px 0 6px}
.fg-studies>p{font-size:12px;color:var(--fg-muted);margin:0 0 16px}
.fg-study-row{display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:12px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}
.fg-study{scroll-snap-align:start;min-width:0}
.fg-study img{width:100%;aspect-ratio:500/420;object-fit:cover;border-radius:2px;opacity:.9}
.fg-study h3{font-size:15px;font-weight:500;margin:8px 0 2px}
.fg-study span{font:9px/1.5 var(--fg-mono);letter-spacing:.08em;color:var(--fg-muted)}

/* about */
.fg-note{max-width:560px;padding:44px 0 56px}
.fg-note h2{font-size:25px;font-weight:500;letter-spacing:-.035em;margin:0 0 6px}
.fg-note p{font-size:14px;margin:8px 0}
.fg-note a.fg-mail{border-bottom:1px solid var(--fg-ink);padding-bottom:3px}

/* footer */
.fg-footer{border-top:1px solid var(--fg-ink);font-family:var(--fg-sans);color:var(--fg-muted);background:var(--fg-paper);font-size:12px}
.fg-footer .fg-wrap{display:grid;grid-template-columns:1fr;gap:16px;padding-top:28px;padding-bottom:36px}
.fg-footer .fg-brand{color:var(--fg-ink);font-size:24px}
.fg-footer p{margin:0}
.fg-footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.fg-footer nav a{padding:6px 0}
.fg-footer a:hover{color:var(--fg-ink)}
.fg-footer small{font-size:10px}

/* dark shell variant (Break, Please.) */
.fg-dark{--fg-paper:#0c192e;--fg-ink:#f1f1e8;--fg-muted:#aab4c3;--fg-line:#344052;--fg-accent:#d8ed69}
.fg-dark .fg-lang select{background:#0c192e;color:#f1f1e8}
.fg-dark.fg-footer a:hover,.fg-dark .fg-nav a:hover{color:#d8ed69}

/* 404 */
.fg-404{padding:56px 0 80px;max-width:640px}
.fg-404 h1{font-size:40px;line-height:1.15;font-weight:500;letter-spacing:-.05em;margin:14px 0 20px}
.fg-404 h1 span{display:block}
.fg-404 p{font-size:14px;margin:6px 0}
.fg-404 .fg-actions{max-width:360px;margin-top:26px}

@media(min-width:601px){
 :root{--fg-gutter:32px}
 .fg-nav{gap:26px;font-size:13px}
 .fg-nav .fg-hide-sm{display:inline}
 .fg-brand{font-size:30px}
 .fg-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding:60px 0 70px}
 .fg-hero h1{font-size:clamp(46px,5.3vw,72px)}
 .fg-catalogue-head{flex-direction:row;justify-content:space-between;align-items:center}
 .fg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fg-study-row{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}
 .fg-footer .fg-wrap{grid-template-columns:1fr 1fr}
 .fg-footer p,.fg-footer small{text-align:right}
 .fg-actions{flex-direction:row}
 .fg-actions>*{flex:1}
 .fg-404 h1{font-size:56px}
}
@media(min-width:1000px){
 :root{--fg-gutter:40px}
 .fg-grid:not([data-count="1"]):not([data-count="2"]){grid-template-columns:repeat(3,minmax(0,1fr))}
 .fg-grid[data-count="2"]{max-width:980px}
 .fg-study-row{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.fg-page *,.fg-page *:before,.fg-page *:after{transition:none!important;animation:none!important}}
