{
  "design": {
    "id": "ashford",
    "name": "Ashford & Rowe",
    "niche": "Law firm",
    "vibe": "Measured, established, quietly authoritative",
    "tailwindVersion": "4.3.3",
    "fonts": {
      "heading": "Libre Baskerville",
      "body": "Source Sans 3",
      "label": "Source Sans 3"
    },
    "colors": {
      "background": "#f8f7f3",
      "foreground": "#172735",
      "primary": "#ad8850",
      "primary-foreground": "#101f2a",
      "card": "#ffffff",
      "card-foreground": "#172735",
      "muted": "#eeeee8",
      "muted-foreground": "#52616c",
      "border": "#c8cdc9",
      "accent": "#172735",
      "accent-foreground": "#f8f7f3",
      "secondary": "#eeeee8",
      "secondary-foreground": "#172735",
      "popover": "#ffffff",
      "popover-foreground": "#172735",
      "destructive": "#b42318",
      "input": "#c8cdc9",
      "ring": "#ad8850"
    },
    "typography": {
      "hero": "clamp(3rem,5vw,5rem)",
      "heroMobile": "clamp(3rem,12.5vw,5.5rem)",
      "headingTracking": "-.045em",
      "headingLineHeight": "1.14",
      "headingWeight": "500",
      "bodySize": "1rem",
      "bodyLineHeight": "1.65"
    },
    "spacing": {
      "unit": ".25rem",
      "contentWidth": "1280px",
      "gutter": "clamp(1.25rem,4vw,4rem)",
      "section": "7rem",
      "layoutGap": "2rem"
    },
    "radii": {
      "base": "2px"
    },
    "shadows": {
      "card": "0 12px 36px #00000014"
    },
    "motifs": [
      "Navy masthead",
      "Brass rules",
      "Architectural photography",
      "Roman numerals"
    ],
    "motion": {
      "character": "Restrained 180ms hover transitions; no ambient motion",
      "fast": "180ms",
      "respectReducedMotion": true,
      "pauseControl": true
    },
    "layoutGuidance": "Measured two-column opening; narrow prose; long horizontal rules and generous vertical intervals. Additional section references: Partner letter with typographic monogram; Editorial matter notebook with case context sidebar; Two-column perspectives reading shelf. Footer: Formal navy firm directory with brass masthead, enquiry hours and legal note. 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": [
      "Partner letter with typographic monogram",
      "Editorial matter notebook with case context sidebar",
      "Two-column perspectives reading shelf"
    ],
    "footerDesign": "Formal navy firm directory with brass masthead, enquiry hours and legal note",
    "sortOrder": 2
  },
  "themeTokensCSS": ":root {\n  --background: #f8f7f3;\n  --foreground: #172735;\n  --primary: #ad8850;\n  --primary-foreground: #101f2a;\n  --card: #ffffff;\n  --card-foreground: #172735;\n  --muted: #eeeee8;\n  --muted-foreground: #52616c;\n  --border: #c8cdc9;\n  --accent: #172735;\n  --accent-foreground: #f8f7f3;\n  --secondary: #eeeee8;\n  --secondary-foreground: #172735;\n  --popover: #ffffff;\n  --popover-foreground: #172735;\n  --destructive: #b42318;\n  --input: #c8cdc9;\n  --ring: #ad8850;\n  --font-heading: 'Libre Baskerville', serif;\n  --font-body: 'Source Sans 3', sans-serif; --font-label: 'Source Sans 3', monospace;\n  --radius:2px; --shadow:0 12px 36px #00000014; --hero-size:clamp(3rem,5vw,5rem); --hero-mobile:clamp(3rem,12.5vw,5.5rem);\n  --heading-tracking:-.045em; --heading-line:1.14; --heading-weight:500;\n  --content-width:1280px; --gutter:clamp(1.25rem,4vw,4rem); --section-space:7rem; --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-family:var(--font-heading);font-size:1rem;letter-spacing:.025em}.law-hero,.law-contact{background:#172735;color:#f8f7f3}.law-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:5rem}.law-intro{padding:5rem 0}.law-gold{color:#ad8850}.law-copy{color:#c5cdd1;max-width:26rem;font-size:1.125rem}.law-photo{margin:0;position:relative;min-height:680px}.law-photo img{width:100%;height:100%;position:absolute;filter:sepia(.18);object-position:center}.law-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0c192ddd)}.law-photo figcaption{position:absolute;z-index:2;bottom:2rem;left:2rem;right:2rem;display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:#fff}.law-practices{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.law-practices article{padding:2.5rem 2rem 2.5rem 0}.law-practices article+article{border-left:1px solid var(--border);padding-left:2rem}.law-practices .law-gold{color:#86612b}.law-practices h3{margin:2rem 0 1rem;font-size:1.4rem;line-height:1.5}.law-practices p{color:var(--muted-foreground)}@media(max-width:760px){.law-grid{grid-template-columns:1fr;gap:0}.law-intro{padding:3.5rem 0}.law-photo{min-height:340px;margin-bottom:2rem}.law-practices{grid-template-columns:1fr}.law-practices article+article{border-left:0;border-top:1px solid var(--border);padding-left:0}.law-practices .law-gold{color:#86612b}.law-practices h3{margin-top:1rem}.law-photo figcaption{left:1rem;right:1rem}.nav .brand{font-size:.85rem}}\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.law-letter{background:#eceee8;padding:5rem 0}.law-letter-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:6rem;align-items:center}.law-monogram{display:flex;justify-content:center;align-items:center;font-family:var(--font-heading);font-size:7rem;letter-spacing:-.15em;color:#627064}.law-monogram span{font-size:3rem;font-style:italic;margin-inline:.8rem;align-self:end}.law-letter .editorial-quote p{font-size:clamp(2rem,3.3vw,3rem);max-width:25ch}.matter-file{display:grid;grid-template-columns:.7fr 1.3fr;border:1px solid var(--border)}.matter-file aside{padding:3rem;background:#172735;color:#f8f7f3}.matter-file aside>.eyebrow{color:#c4a16b}.matter-file h3{font-size:2.1rem;line-height:1.35;margin:2rem 0}.matter-file dl{font-size:.875rem}.matter-file dt{color:#c4a16b;margin-top:1.5rem}.matter-file dd{margin:.3rem 0 0}.matter-story{padding:3rem}.law-story-lead{font-size:1.3rem;line-height:1.6}.matter-story>div{border-top:1px solid var(--border);padding-top:1.5rem;margin-top:2rem}.matter-story>div h3{font-size:1rem;margin:0 0 1rem}.matter-story>div p{color:var(--muted-foreground)}.matter-story .section-endnote{margin-top:2rem}.law-perspectives{padding-bottom:7rem}.perspectives-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.perspectives-grid article{border-top:3px double #9aa69f;padding-top:2rem}.perspectives-grid h3{font-size:1.55rem;line-height:1.5;margin:1.5rem 0}.perspectives-grid article>p:last-child{color:var(--muted-foreground);max-width:32rem}.law-firm-footer{background:#172735;color:#f8f7f3;padding:5rem 0 2rem;border-top:6px solid #ad8850}.law-footer-grid{display:grid;grid-template-columns:1.15fr 1fr .6fr;gap:4rem}.law-footer-brand{font-family:var(--font-heading);font-size:2.5rem;line-height:1.35;letter-spacing:-.05em}.law-footer-brand span{color:#c4a16b}.law-footer-principle{font-size:.875rem;color:#c4ccd1;margin-top:1.5rem}.law-firm-footer .eyebrow{color:#c4a16b}.law-footer-base{display:flex;justify-content:space-between;gap:3rem;border-top:1px solid #55616a;padding-top:2rem;margin-top:4rem;color:#c4ccd1}@media(max-width:760px){.law-letter-grid,.matter-file,.perspectives-grid,.law-footer-grid{grid-template-columns:1fr;gap:2.5rem}.law-monogram{justify-content:flex-start;font-size:4rem}.law-letter{padding:3rem 0}.matter-file{gap:0}.matter-file aside,.matter-story{padding:1.5rem}.law-footer-grid{gap:3rem}.law-footer-base{flex-direction:column}.law-perspectives{padding-bottom:4rem}}\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."
  ]
}
