{
  "design": {
    "id": "forge",
    "name": "Forge",
    "niche": "Strength and fitness club",
    "vibe": "Raw, focused, energetic",
    "tailwindVersion": "4.3.3",
    "fonts": {
      "heading": "Anton",
      "body": "Barlow",
      "label": "Barlow Condensed"
    },
    "colors": {
      "background": "#101111",
      "foreground": "#f3f3ef",
      "primary": "#ff652f",
      "primary-foreground": "#171717",
      "card": "#1b1d1d",
      "card-foreground": "#f3f3ef",
      "muted": "#262929",
      "muted-foreground": "#b4baba",
      "border": "#474d4b",
      "accent": "#eeece2",
      "accent-foreground": "#171717",
      "secondary": "#262929",
      "secondary-foreground": "#f3f3ef",
      "popover": "#1b1d1d",
      "popover-foreground": "#f3f3ef",
      "destructive": "#b42318",
      "input": "#474d4b",
      "ring": "#ff652f"
    },
    "typography": {
      "hero": "clamp(4.5rem,8.2vw,8rem)",
      "heroMobile": "clamp(3rem,12.5vw,5.5rem)",
      "headingTracking": "-.025em",
      "headingLineHeight": ".98",
      "headingWeight": "500",
      "bodySize": "1rem",
      "bodyLineHeight": "1.65"
    },
    "spacing": {
      "unit": ".25rem",
      "contentWidth": "1280px",
      "gutter": "clamp(1.25rem,4vw,4rem)",
      "section": "6rem",
      "layoutGap": "2rem"
    },
    "radii": {
      "base": "0px"
    },
    "shadows": {
      "card": "0 12px 36px #00000014"
    },
    "motifs": [
      "Condensed uppercase display",
      "Diagonal energy lines",
      "Orange signal blocks",
      "Black-and-white training photography"
    ],
    "motion": {
      "character": "One-pass headline entrance; immediate button feedback",
      "fast": "180ms",
      "respectReducedMotion": true,
      "pauseControl": true
    },
    "layoutGuidance": "Poster-like split hero, large condensed type, functional program rows and a high-contrast class schedule. Additional section references: First-session coaching guide with large step numbers; Training photograph and coach philosophy; Two membership passes with perforated ticket details. Footer: Gym signage with orange training invitation, opening hours, locker-style directory and floor stripe. Choose the sections relevant to the new brief rather than repeating this sequence.",
    "reusePolicy": "Transfer typography, spacing rhythm, semantic colors, component treatments, imagery direction and motion principles. Compose a new layout for the user’s content; do not copy this page structure or fictional copy.",
    "shadcnMapping": {
      "btn": "Button",
      "card": "Card",
      "faq": "Accordion",
      "contact-dialog": "Dialog + Form + Input + Textarea",
      "mobile-nav": "Sheet",
      "badge": "Badge"
    },
    "demo": {
      "fictionalBrand": true,
      "backend": false
    },
    "revision": 2,
    "sectionIdeas": [
      "First-session coaching guide with large step numbers",
      "Training photograph and coach philosophy",
      "Two membership passes with perforated ticket details"
    ],
    "footerDesign": "Gym signage with orange training invitation, opening hours, locker-style directory and floor stripe",
    "sortOrder": 10
  },
  "themeTokensCSS": ":root {\n  --background: #101111;\n  --foreground: #f3f3ef;\n  --primary: #ff652f;\n  --primary-foreground: #171717;\n  --card: #1b1d1d;\n  --card-foreground: #f3f3ef;\n  --muted: #262929;\n  --muted-foreground: #b4baba;\n  --border: #474d4b;\n  --accent: #eeece2;\n  --accent-foreground: #171717;\n  --secondary: #262929;\n  --secondary-foreground: #f3f3ef;\n  --popover: #1b1d1d;\n  --popover-foreground: #f3f3ef;\n  --destructive: #b42318;\n  --input: #474d4b;\n  --ring: #ff652f;\n  --font-heading: 'Anton', sans-serif;\n  --font-body: 'Barlow', sans-serif; --font-label: 'Barlow Condensed', monospace;\n  --radius:0px; --shadow:0 12px 36px #00000014; --hero-size:clamp(4.5rem,8.2vw,8rem); --hero-mobile:clamp(3rem,12.5vw,5.5rem);\n  --heading-tracking:-.025em; --heading-line:.98; --heading-weight:500;\n  --content-width:1280px; --gutter:clamp(1.25rem,4vw,4rem); --section-space:6rem; --layout-gap:2rem; --motion-fast:180ms;\n}",
  "tailwindThemeCSS": "@theme inline {\n  --color-background:var(--background);\n  --color-foreground:var(--foreground);\n  --color-primary:var(--primary);\n  --color-primary-foreground:var(--primary-foreground);\n  --color-card:var(--card);\n  --color-card-foreground:var(--card-foreground);\n  --color-muted:var(--muted);\n  --color-muted-foreground:var(--muted-foreground);\n  --color-border:var(--border);\n  --color-accent:var(--accent);\n  --color-accent-foreground:var(--accent-foreground);\n  --color-secondary:var(--secondary);\n  --color-secondary-foreground:var(--secondary-foreground);\n  --color-popover:var(--popover);\n  --color-popover-foreground:var(--popover-foreground);\n  --color-destructive:var(--destructive);\n  --color-input:var(--input);\n  --color-ring:var(--ring);\n  --font-sans:var(--font-body); --font-display:var(--font-heading); --font-mono:var(--font-label);\n  --radius-sm:calc(var(--radius)*.5); --radius-md:var(--radius); --radius-lg:calc(var(--radius)*1.5);\n  --spacing-gutter:var(--gutter); --spacing-section:var(--section-space); --container-content:var(--content-width);\n}",
  "componentAndMotifCSS": "\n*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-body);font-size:1rem;line-height:1.65}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%;object-fit:cover}@layer base{h1,h2,h3,p{margin:0}p{max-width:65ch}}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--heading-weight);text-wrap:balance}h1{font-size:var(--hero-size);line-height:var(--heading-line);letter-spacing:var(--heading-tracking)}h2{font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1.08;letter-spacing:var(--heading-tracking)}h3{font-size:1.5rem;line-height:1.2}section[id]{scroll-margin-top:2rem}.wrap{width:min(var(--content-width),calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:var(--section-space)}.eyebrow{font-family:var(--font-label);font-size:.75rem;line-height:1.5;font-weight:600;text-transform:uppercase;letter-spacing:.14em}.muted{color:var(--muted-foreground)}.rule{border-top:1px solid var(--border)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--layout-gap)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--layout-gap)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:3rem;padding:.8rem 1.5rem;border:1px solid transparent;border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);font-size:.875rem;font-weight:600;line-height:1.4;transition:transform var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn.outline{background:transparent;color:inherit;border-color:var(--border)}.link{display:inline-flex;gap:1rem;align-items:center;min-height:2.75rem;font-size:.875rem;border-bottom:1px solid currentColor}.icon{width:1.25rem;height:1.25rem;display:inline-block;flex-shrink:0;vertical-align:middle}.nav{min-height:6rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.65rem;font-family:var(--font-heading);font-weight:700;font-size:1.35rem;letter-spacing:-.04em}.nav-links{display:flex;align-items:center;gap:2rem;font-size:.875rem}.nav-links a:hover{text-decoration:underline;text-underline-offset:6px}.mobile-nav{display:none;position:relative}.mobile-nav summary{cursor:pointer;list-style:none;padding:.65rem .9rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-links{position:absolute;right:0;top:3.25rem;z-index:30;min-width:220px;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);padding:1rem;box-shadow:var(--shadow)}.mobile-links a{display:block;padding:.8rem}.skip{position:fixed;z-index:100;left:1rem;top:-8rem;background:var(--primary);color:var(--primary-foreground);padding:1rem}.skip:focus{top:1rem}:focus-visible{outline:3px solid var(--ring);outline-offset:5px}.card{padding:2rem;background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius)}.photo-credit{font-size:.75rem;opacity:.8}.faq{border-bottom:1px solid var(--border);padding-block:1.3rem}.faq summary{cursor:pointer;font-weight:500;display:flex;gap:1.5rem;align-items:center;justify-content:space-between;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:1.5rem}.faq[open] summary:after{content:'−'}.faq p{padding-top:1rem;color:var(--muted-foreground)}.contact-dialog{width:min(540px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow)}.contact-dialog::backdrop{background:#0009;backdrop-filter:blur(6px)}.contact-dialog h2{font-size:2rem;margin-block:1rem}.contact-dialog label{display:block;font-size:.875rem;margin-top:1rem}.contact-dialog input,.contact-dialog textarea{display:block;width:100%;margin-top:.4rem;padding:.8rem;border:1px solid var(--input);border-radius:var(--radius);background:var(--background);color:var(--foreground)}.contact-dialog .close{float:right;background:transparent;border:1px solid var(--border);width:2.75rem;height:2.75rem;border-radius:var(--radius)}.contact-dialog .status{margin-top:1rem;font-size:.875rem;color:var(--foreground)}.motion-control{font-family:var(--font-body);background:transparent;border:1px solid var(--border);border-radius:var(--radius);font-size:.75rem;padding:.45rem .7rem;min-height:2.75rem}.motion-paused *{animation-play-state:paused!important}.reveal{animation:enter 750ms both}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes rotate{to{transform:rotate(360deg)}}@media(max-width:760px){.nav{min-height:5rem}.nav-links{display:none}.mobile-nav{display:block}.grid2,.grid3{grid-template-columns:1fr}.section{padding-block:4rem}h1{font-size:var(--hero-mobile)}.card{padding:1.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}\n\n\n.nav .brand{font-size:2rem;font-weight:400;letter-spacing:0}.forge-hero{overflow:hidden}.forge-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:2rem;position:relative}.forge-copy{padding:3.5rem 0 4rem;position:relative;z-index:2}.forge-copy h1{font-size:clamp(4.5rem,7.3vw,7.4rem);line-height:1.02}.forge-copy .eyebrow{max-width:25rem}.forge-photo{position:relative;margin-left:-5rem;overflow:hidden;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);min-height:750px}.forge-photo img{width:100%;height:100%;position:absolute;filter:grayscale(1) contrast(1.1);object-position:55% center}.forge-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10111177,transparent 60%),linear-gradient(0deg,#101111bb,transparent 40%)}.forge-photo-label{position:absolute;z-index:2;bottom:3rem;right:1.5rem;font-family:var(--font-heading);font-size:2.7rem;line-height:1.1;color:#fff;transform:rotate(-5deg);border-bottom:6px solid var(--primary);padding-bottom:.8rem}.forge-strip{background:var(--primary);color:var(--primary-foreground)}.forge-program{display:grid;grid-template-columns:50px 1.1fr 1fr 110px;gap:2rem;align-items:center;border-top:1px solid var(--border);padding:2rem 0}.forge-program h3{font-size:2rem;line-height:1.2;letter-spacing:0}.forge-program p{color:var(--muted-foreground)}.forge-schedule{background:var(--accent);color:var(--accent-foreground)}.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid #171717}.schedule-grid article{padding:2rem 1.5rem 0 0}.schedule-grid article+article{padding-left:1.5rem;border-left:1px solid #a8aaa2}.schedule-grid h3{font-size:1.7rem;margin:1.5rem 0 1rem}.schedule-grid p:last-child{line-height:2}.forge-schedule h2{max-width:45rem}@media(max-width:760px){.forge-grid{grid-template-columns:1fr;gap:0}.forge-copy{padding:2rem 0 3rem}.forge-copy h1{font-size:clamp(3.7rem,13.7vw,6rem)}.forge-photo{min-height:380px;margin:0 0 2rem;clip-path:none}.forge-photo img{object-position:50% 38%}.forge-photo-label{font-size:2rem;bottom:2rem}.forge-program{grid-template-columns:25px 1fr;gap:1rem}.forge-program h3{font-size:1.8rem}.forge-program p,.forge-program>span:last-child{grid-column:2}.schedule-grid{grid-template-columns:1fr}.schedule-grid article{padding:2rem 0}.schedule-grid article+article{padding-left:0;border-left:0;border-top:1px solid #a8aaa2}}\n\n.fineprint{font-size:.75rem;line-height:1.7}.fineprint a{text-decoration:underline;text-underline-offset:4px}.section-note{font-size:.875rem;color:var(--muted-foreground)}.section-title{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.section-title p{max-width:25rem}.editorial-label{font-family:var(--font-label);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.editorial-photo{width:100%;height:100%;object-fit:cover}.section-title h2{max-width:18ch}footer nav a{display:block;width:fit-content;padding:.45rem 0;font-size:.875rem}footer nav a:hover{text-decoration:underline;text-underline-offset:5px}footer :focus-visible{outline-color:currentColor}footer .photo-credit{opacity:1}footer .fineprint .photo-credit{display:block}.minor-link{display:inline-block;border:0;border-bottom:1px solid currentColor;background:none;padding:.7rem 0;color:inherit;cursor:pointer;font-size:.875rem}.editorial-quote{margin:0}.editorial-quote p{font-family:var(--font-heading);line-height:1.18;letter-spacing:var(--heading-tracking)}.editorial-quote cite{display:block;margin-top:2rem;font-style:normal;font-size:.875rem}figure{margin:0}.contact-large{display:block;text-align:left;border:0;padding:0;background:none;font-family:var(--font-heading)!important;font-size:clamp(3rem,7vw,7rem)!important;letter-spacing:var(--heading-tracking);line-height:1.05;font-weight:var(--heading-weight)}.contact-large:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.12em}.section-endnote{font-size:.75rem;letter-spacing:.03em}.inset-rule{border-top:1px solid currentColor;padding-top:1.5rem}@media(max-width:760px){.section-title{display:block}.section-title>p{margin-top:1.5rem}.contact-large{font-size:clamp(2.6rem,12vw,5rem)!important}}\n\n.forge-first-session{background:#1b1d1d}.forge-first-session>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.forge-first-heading h2{margin:2rem 0}.forge-first-heading>p:last-child{color:var(--muted-foreground);max-width:26rem}.forge-first-steps article{display:flex;gap:2rem;border-top:1px solid var(--border);padding:2rem 0}.forge-first-steps>article>span{font-family:var(--font-heading);font-size:2.5rem;color:var(--primary);line-height:1}.forge-first-steps h3{font-size:1.5rem;margin-bottom:1rem}.forge-first-steps p{color:var(--muted-foreground)}.forge-coaching{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.coach-photo{position:relative}.coach-photo img{height:620px;width:100%;object-fit:cover;filter:grayscale(1);object-position:35% center}.coach-photo-caption{position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;background:#ff652f;color:#171717;font-family:var(--font-heading);font-size:1.5rem;padding:.7rem 1rem;transform:rotate(-3deg)}.forge-coach-quote{margin:2rem 0;border-left:4px solid var(--primary);padding-left:1.5rem}.forge-coach-quote>p{font-family:var(--font-heading);font-size:1.8rem;line-height:1.2;text-transform:uppercase}.forge-coach-quote cite{display:block;font-size:.875rem;color:var(--muted-foreground);font-style:normal;margin-top:1rem}.coach-principles{display:flex;flex-wrap:wrap;gap:.75rem}.coach-principles span{border:1px solid var(--border);padding:.5rem .8rem;font-size:.75rem}.forge-memberships{background:#ff652f;color:#171717}.forge-memberships .section-title h2{max-width:18ch}.membership-passes{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.membership-passes article{border:2px solid #171717;padding:2.5rem;background:#eeece2;display:flex;flex-direction:column;align-items:start}.membership-passes article:nth-child(2){background:#171717;color:#eeece2}.membership-passes h3{font-size:2.5rem;margin:2rem 0 1rem}.membership-price{font-family:var(--font-heading);font-size:4rem;line-height:1.2}.membership-price span{font-family:var(--font-body);font-size:1rem;padding-left:.5rem}.membership-passes article>p:last-of-type{margin:1.5rem 0 2rem}.membership-passes .btn{margin-top:auto}.membership-passes .btn.outline{border-color:#171717}.pass-serial{font-family:var(--font-label);font-size:.75rem;letter-spacing:.14em;border-top:1px dashed currentColor;padding-top:1.5rem;margin-top:2rem;width:100%}.forge-locker-footer{padding:3rem 0 0;background:#101111}.forge-footer-banner{display:flex;align-items:center;justify-content:space-between;gap:3rem;border-bottom:2px solid #ff652f;padding-bottom:3rem}.forge-footer-banner>span{font-family:var(--font-heading);font-size:clamp(3rem,6vw,6rem);line-height:1.08;color:#ff652f}.forge-footer-grid{display:grid;grid-template-columns:1fr 1fr .7fr;gap:4rem;padding:3rem 0}.forge-footer-brand{font-family:var(--font-heading);font-size:3rem;line-height:1}.forge-footer-grid>div:first-child>p{font-size:.875rem;color:var(--muted-foreground);margin-top:1.5rem}.gym-hours{font-family:var(--font-label);font-size:.875rem;line-height:2}.forge-footer-line{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--border);padding-top:1.5rem;color:var(--muted-foreground)}.forge-floor-stripe{height:18px;background:repeating-linear-gradient(-50deg,#ff652f 0,#ff652f 16px,#101111 16px,#101111 32px);margin-top:3rem}@media(max-width:760px){.forge-first-session>.wrap,.forge-coaching,.membership-passes,.forge-footer-grid{grid-template-columns:1fr;gap:3rem}.forge-first-steps article{gap:1.2rem}.coach-photo img{height:430px}.membership-passes article{padding:1.5rem}.membership-passes h3{font-size:2.2rem}.forge-footer-banner{align-items:start;flex-direction:column;gap:2rem}.forge-footer-line{flex-direction:column;gap:1rem}}\n",
  "implementationNotes": [
    "This is a style reference, not a layout to copy. Compose around the new content.",
    "Use the semantic colors and font roles. Preserve the spacing rhythm and contrast.",
    "In React, use the existing shadcn components and apply the supplied tokens.",
    "HTML dialog/details examples are native counterparts, not the actual shadcn React implementation.",
    "Keep reduced-motion support, keyboard operation, focus visibility and responsive layouts.",
    "Replace fictional business copy, sample prices, photos and all demo-only behavior.",
    "Compile Tailwind in the production builder; the browser CDN is for these references."
  ]
}
