{
  "$schema": "/schemas/registry-item.json",
  "name": "noir-habitat",
  "type": "registry:page",
  "title": "Noir Habitat",
  "description": "A dark editorial architecture and interior studio theme for residential practices, spatial designers, and design-led firms.",
  "categories": [
    "architecture",
    "interior",
    "portfolio"
  ],
  "dependencies": [],
  "registryDependencies": [
    "button",
    "card",
    "input"
  ],
  "files": [
    {
      "path": "site/app/themes/noir-habitat/preview/page.tsx",
      "type": "registry:page",
      "target": "app/noir-habitat/page.tsx",
      "content": "import type { Metadata } from \"next\";\nimport ThemeIcon from \"./ThemeIcon\";\nimport { ArticleCard, ProcessStep, ProjectCard, SectionTitle, StudioButton } from \"./DashboardComponents\";\nimport \"./noir-habitat.css\";\n\nexport const metadata: Metadata = { title: \"Noir Habitat — Architecture & Interiors\", description: \"An original dark editorial architecture studio theme built with Coordiation.\" };\n\nconst serviceNames = [\"Architecture\", \"Interior\", \"Landscape\", \"Spatial strategy\"];\n\nconst process = [\n  [\"01\", \"Listen\", \"We document the people, rituals, place, budget, and ambitions that should shape the project.\", \"eye\"],\n  [\"02\", \"Frame\", \"A clear brief turns constraints into a shared design direction and an honest project roadmap.\", \"layers-minimalistic\"],\n  [\"03\", \"Design\", \"Plans, material studies, models, and prototypes make every important decision visible early.\", \"ruler-pen\"],\n  [\"04\", \"Deliver\", \"We coordinate details, consultants, and site observations through construction and handover.\", \"shield-check\"],\n] as const;\n\nexport default function NoirHabitatPreview() {\n  return <main className=\"noir-habitat co-overflow-hidden\" id=\"top\">\n    <header className=\"nh-header co-flex co-items-center co-justify-between\"><a className=\"nh-brand co-inline-flex co-items-center\" href=\"#top\"><b>N/H</b><span>Noir Habitat<small>Architecture &amp; interiors</small></span></a><nav className=\"co-flex co-items-center\"><a href=\"#studio\">Studio</a><a href=\"#services\">Services</a><a href=\"#work\">Work</a><a href=\"#contact\">Contact</a></nav><StudioButton href=\"#contact\">Start a project</StudioButton><details><summary aria-label=\"Open navigation\"><ThemeIcon name=\"hamburger-menu\" size={22} /></summary><div><a href=\"#studio\">Studio</a><a href=\"#services\">Services</a><a href=\"#work\">Work</a><a href=\"#contact\">Contact</a></div></details></header>\n    <section className=\"nh-hero co-grid co-items-center\"><aside><span>Established 2013</span><p>Jakarta · Singapore<br />Architecture for tropical life.</p></aside><div><p className=\"nh-kicker\">Architecture shaped by light, material, and place.</p><h1>Spaces with<br />quiet strength.</h1><StudioButton href=\"#work\">Explore our work</StudioButton></div><figure className=\"co-relative co-overflow-hidden\"><img className=\"co-w-full co-h-full co-object-cover\" src=\"/themes/noir-habitat/hero.jpg\" alt=\"Modern forest house by Noir Habitat\" /><figcaption className=\"co-absolute co-flex co-items-center co-justify-between\"><span>Canopy House · Bandung</span><ThemeIcon name=\"arrow-to-top-right\" size={16} /></figcaption></figure></section>\n    <section className=\"nh-manifesto co-grid\" id=\"studio\"><div><SectionTitle overline=\"Studio\">We design for<br />how life unfolds.</SectionTitle><p>Noir Habitat is an independent architecture and interior studio creating calm, enduring places across Southeast Asia.</p></div><article><strong>01</strong><h3>Observe</h3><p>Read the site, climate, rituals, and constraints before drawing the first line.</p></article><article><strong>02</strong><h3>Refine</h3><p>Reduce every decision until structure, material, and atmosphere feel inevitable.</p></article></section>\n\n    <section className=\"nh-service-strip\" id=\"services\"><div className=\"nh-service-track co-flex co-items-center\">{[...serviceNames,...serviceNames].map((name,index)=><span className=\"co-flex co-items-center\" key={`${name}-${index}`}>{name}<i /></span>)}</div></section>\n\n    <section className=\"nh-services nh-shell\"><SectionTitle overline=\"Services\">From structure<br />to atmosphere.</SectionTitle><div className=\"nh-services-grid co-grid\"><article className=\"nh-service-image co-relative co-overflow-hidden\"><img className=\"co-w-full co-h-full co-object-cover co-transition co-duration-500 co-ease-out\" src=\"/themes/noir-habitat/service-exterior.jpg\" alt=\"Dark modern exterior surrounded by trees\" /><span className=\"co-absolute\">01 · Architecture</span></article><article className=\"nh-service-feature co-flex co-flex-col\"><ThemeIcon name=\"sofa-2\" size={42} tone=\"sand\" /><h3>Interior</h3><p>Material, light, furniture, and movement composed as one continuous experience.</p><StudioButton href=\"#contact\">Explore service</StudioButton></article><article className=\"nh-service-image co-relative co-overflow-hidden\"><img className=\"co-w-full co-h-full co-object-cover co-transition co-duration-500 co-ease-out\" src=\"/themes/noir-habitat/service-interior.jpg\" alt=\"Warm minimal residential interior\" /><span className=\"co-absolute\">02 · Interior</span></article></div></section>\n\n    <section className=\"nh-work nh-shell\" id=\"work\"><div className=\"nh-heading-row co-flex co-items-end co-justify-between\"><SectionTitle overline=\"Selected work\">Homes shaped<br />around place.</SectionTitle><p>Each project responds to climate, landscape, and the small routines that make a space feel personal.</p></div><div className=\"nh-project-grid co-grid\"><ProjectCard image=\"/themes/noir-habitat/project-house.jpg\" title=\"Canopy House\" category=\"Bandung · Residence\" wide /><ProjectCard image=\"/themes/noir-habitat/project-villa.jpg\" title=\"Stone Courtyard Villa\" category=\"Bali · Hospitality\" /><ProjectCard image=\"/themes/noir-habitat/project-interior.jpg\" title=\"Lightwell Residence\" category=\"Jakarta · Interior\" /></div><div className=\"nh-work-action co-flex co-justify-center\"><StudioButton href=\"#contact\">View all projects</StudioButton></div></section>\n\n    <section className=\"nh-interiors\"><div className=\"nh-shell\"><div className=\"nh-heading-row co-flex co-items-end co-justify-between\"><SectionTitle overline=\"Interior studies\">Material, shadow,<br />and daily ritual.</SectionTitle><div className=\"nh-view-switch co-flex\"><button aria-label=\"Grid view\"><ThemeIcon name=\"gallery-minimalistic\" size={18} /></button><button aria-label=\"Layer view\"><ThemeIcon name=\"layers-minimalistic\" size={18} /></button></div></div><div className=\"nh-interior-grid co-grid\"><figure className=\"co-relative co-overflow-hidden\"><img className=\"co-w-full co-h-full co-object-cover co-transition co-duration-500 co-ease-out\" src=\"/themes/noir-habitat/project-interior.jpg\" alt=\"Minimal living space with warm wood\" /><figcaption className=\"co-absolute\">Quiet living · Jakarta</figcaption></figure><figure className=\"co-relative co-overflow-hidden\"><img className=\"co-w-full co-h-full co-object-cover co-transition co-duration-500 co-ease-out\" src=\"/themes/noir-habitat/news-material.jpg\" alt=\"Material-focused residential interior\" /><figcaption className=\"co-absolute\">Soft material · Ubud</figcaption></figure><figure className=\"co-relative co-overflow-hidden\"><img className=\"co-w-full co-h-full co-object-cover co-transition co-duration-500 co-ease-out\" src=\"/themes/noir-habitat/news-light.jpg\" alt=\"Architectural interior shaped by daylight\" /><figcaption className=\"co-absolute\">Filtered light · Surabaya</figcaption></figure></div></div></section>\n\n    <section className=\"nh-process nh-shell\"><div className=\"nh-heading-row co-flex co-items-end co-justify-between\"><SectionTitle overline=\"Work process\">Clear steps.<br />Shared decisions.</SectionTitle><StudioButton href=\"#contact\">Discuss a project</StudioButton></div><div className=\"nh-process-layout co-grid\"><div>{process.map(([number,title,copy,icon])=><ProcessStep number={number} title={title} copy={copy} icon={icon} key={number} />)}</div><figure className=\"co-relative co-overflow-hidden\"><img className=\"co-w-full co-h-full co-object-cover\" src=\"/themes/noir-habitat/process.jpg\" alt=\"Architect reviewing drawings at a studio desk\" /><figcaption className=\"co-absolute\">Every decision stays visible from brief to handover.</figcaption></figure></div></section>\n\n    <section className=\"nh-testimonial co-grid co-items-center\"><div><ThemeIcon name=\"stars\" size={28} tone=\"sand\" /><blockquote>“The home feels calm, precise, and completely ours. Noir Habitat listened beyond our words and translated the way we live into every room.”</blockquote><div className=\"co-flex co-items-center\"><img src=\"/themes/noir-habitat/testimonial.jpg\" alt=\"Amara Wijaya, Noir Habitat client\" /><p><b>Amara Wijaya</b><small>Canopy House client</small></p></div></div><aside><strong>4.9</strong><span>average partner rating</span><p>32 completed residential and hospitality projects across Southeast Asia.</p></aside></section>\n\n    <section className=\"nh-newsletter\"><div className=\"nh-shell co-grid co-items-center\"><div><small>Notes from the studio</small><h2>Ideas for living<br />with more intention.</h2></div><form className=\"co-flex co-items-center\"><ThemeIcon name=\"letter\" size={18} /><label className=\"sr-only\" htmlFor=\"nh-email\">Email address</label><input id=\"nh-email\" type=\"email\" placeholder=\"Your email address\" /><button type=\"submit\">Subscribe <ThemeIcon name=\"arrow-right\" size={14} tone=\"dark\" /></button></form></div></section>\n\n    <section className=\"nh-journal nh-shell\"><div className=\"nh-heading-row co-flex co-items-end co-justify-between\"><SectionTitle overline=\"Journal\">Details worth<br />noticing.</SectionTitle><StudioButton href=\"#contact\">More stories</StudioButton></div><div className=\"nh-article-grid co-grid\"><ArticleCard image=\"/themes/noir-habitat/news-material.jpg\" date=\"August 18, 2026\" title=\"Five materials that age with quiet confidence\" /><ArticleCard image=\"/themes/noir-habitat/news-light.jpg\" date=\"August 09, 2026\" title=\"Designing daylight for tropical homes\" /><ArticleCard image=\"/themes/noir-habitat/project-villa.jpg\" date=\"July 27, 2026\" title=\"A courtyard can change how a family gathers\" /></div></section>\n\n    <footer className=\"nh-footer\" id=\"contact\"><div className=\"nh-shell\"><div className=\"nh-footer-lead co-flex co-items-end co-justify-between\"><h2>Architecture for<br />a considered life.</h2><a className=\"co-inline-flex co-items-center\" href=\"mailto:studio@noirhabitat.example\">studio@noirhabitat.example <ThemeIcon name=\"arrow-to-top-right\" size={18} /></a></div><div className=\"nh-footer-grid co-grid\"><a className=\"nh-brand co-inline-flex co-items-center\" href=\"#top\"><b>N/H</b><span>Noir Habitat<small>Architecture &amp; interiors</small></span></a><div><b>Studio</b><a href=\"#studio\">About</a><a href=\"#services\">Services</a><a href=\"#work\">Projects</a></div><div><b>Contact</b><a href=\"mailto:studio@noirhabitat.example\">Email studio</a><span>Jakarta · Indonesia</span><span>+62 21 555 0184</span></div><div><b>Elsewhere</b><a href=\"#contact\">Instagram</a><a href=\"#contact\">LinkedIn</a><a href=\"#contact\">ArchDaily</a></div></div><div className=\"nh-footer-bottom co-flex co-items-center co-justify-between\"><span>© 2026 Coordiation. All rights reserved.</span><a className=\"co-inline-flex co-items-center\" href=\"#top\">Back to top <ThemeIcon name=\"arrow-to-top-right\" size={13} /></a></div></div></footer>\n  </main>;\n}\n"
    },
    {
      "path": "site/app/themes/noir-habitat/preview/noir-habitat.css",
      "type": "registry:style",
      "target": "app/noir-habitat/noir-habitat.css",
      "content": ".noir-habitat { --nh-bg:#111; --nh-panel:#1b1b1b; --nh-paper:#d8d5cf; --nh-white:#f6f4ef; --nh-muted:#98948c; --nh-sand:#b79c74; min-height:100vh; background:var(--nh-bg); color:var(--nh-white); font:15px/1.55 Arial,Helvetica,sans-serif; }\n.noir-habitat *, .noir-habitat *::before, .noir-habitat *::after { box-sizing:border-box; }\n.noir-habitat h1,.noir-habitat h2,.noir-habitat h3,.noir-habitat p,.noir-habitat figure { margin:0; }\n.noir-habitat a { color:inherit; text-decoration:none; }\n.noir-habitat img { display:block; max-width:100%; }\n.noir-habitat .co-flex{display:flex}.noir-habitat .co-inline-flex{display:inline-flex}.noir-habitat .co-grid{display:grid}.noir-habitat .co-items-center{align-items:center}.noir-habitat .co-items-start{align-items:start}.noir-habitat .co-items-end{align-items:flex-end}.noir-habitat .co-justify-between{justify-content:space-between}.noir-habitat .co-justify-center{justify-content:center}.noir-habitat .co-flex-col{flex-direction:column}.noir-habitat .co-relative{position:relative}.noir-habitat .co-absolute{position:absolute}.noir-habitat .co-overflow-hidden{overflow:hidden}.noir-habitat .co-w-full{width:100%}.noir-habitat .co-h-full{height:100%}.noir-habitat .co-object-cover{object-fit:cover}.noir-habitat .co-text-center{text-align:center}.noir-habitat .co-transition{transition-property:transform,color,background-color,opacity}.noir-habitat .co-duration-300{transition-duration:.3s}.noir-habitat .co-duration-500{transition-duration:.5s}.noir-habitat .co-ease-out{transition-timing-function:cubic-bezier(.16,1,.3,1)}\n.nh-icon{display:inline-block;flex:0 0 auto}.nh-icon-light{filter:brightness(0) invert(1)}.nh-icon-dark{filter:none}.nh-icon-sand{filter:brightness(0) saturate(100%) invert(66%) sepia(19%) saturate(741%) hue-rotate(357deg) brightness(92%) contrast(87%)}\n.nh-header{min-height:78px;padding:0 max(28px,calc((100vw - 1240px)/2));border-bottom:1px solid #343434}.nh-brand{gap:14px}.nh-brand b{font-size:22px;letter-spacing:-.08em}.nh-brand span{display:flex;flex-direction:column;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nh-brand small{color:var(--nh-muted);font-size:9px;font-weight:500}.nh-header nav{gap:34px}.nh-header nav a{color:#bbb;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.nh-header details{display:none}.nh-button{min-width:165px;min-height:46px;gap:24px;padding:0 16px;border:1px solid #555;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.nh-button:hover{border-color:var(--nh-sand);background:var(--nh-sand);color:#111}.nh-button:hover img{filter:none}.nh-button.is-light{background:var(--nh-paper);color:#111}\n.nh-hero{grid-template-columns:.35fr .8fr 1.25fr;gap:55px;width:min(1240px,calc(100% - 56px));min-height:720px;margin:auto;padding:70px 0}.nh-hero>aside{align-self:end;padding-bottom:65px;color:var(--nh-muted);font-size:11px}.nh-hero>aside span{display:block;margin-bottom:18px;color:var(--nh-sand);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.nh-kicker{max-width:340px;margin-bottom:22px!important;color:var(--nh-muted)}.nh-hero h1{margin-bottom:40px;font-size:clamp(58px,7vw,104px);font-weight:400;letter-spacing:-.065em;line-height:.86}.nh-hero figure{height:590px}.nh-hero figure:after{position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.7));content:\"\"}.nh-hero figcaption{right:0;bottom:0;left:0;z-index:1;padding:22px;color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase}\n.nh-manifesto{grid-template-columns:1.2fr .7fr .7fr;border-top:1px solid #333;border-bottom:1px solid #333;background:var(--nh-panel)}.nh-manifesto>div,.nh-manifesto>article{min-height:340px;padding:58px max(28px,calc((100vw - 1240px)/2)/2);border-right:1px solid #333}.nh-manifesto>div{padding-left:max(28px,calc((100vw - 1240px)/2))}.nh-manifesto>div>p{max-width:430px;margin-top:28px;color:var(--nh-muted)}.nh-section-title>p{gap:9px;margin-bottom:20px;color:var(--nh-sand);font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.nh-section-title>p span{width:6px;height:6px;background:var(--nh-sand)}.nh-section-title h2{font-size:clamp(42px,5vw,70px);font-weight:400;letter-spacing:-.055em;line-height:.95}.nh-manifesto article strong{color:var(--nh-sand);font-size:11px}.nh-manifesto article h3{margin:90px 0 12px;font-size:27px;font-weight:400}.nh-manifesto article p{color:var(--nh-muted);font-size:13px}\n.nh-shell{width:min(1240px,calc(100% - 56px));margin-inline:auto}.nh-heading-row{gap:70px;margin-bottom:52px}.nh-heading-row>p{max-width:430px;color:var(--nh-muted)}.nh-section-title h2,.nh-newsletter h2,.nh-footer h2,.nh-project h3,.nh-article h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}\n.nh-service-strip{overflow:hidden;border-bottom:1px solid #333;background:var(--nh-white);color:#111}.nh-service-track{width:max-content;animation:nh-marquee 30s linear infinite}.nh-service-track span{gap:30px;padding:19px 30px;font-size:clamp(25px,3vw,42px);letter-spacing:-.04em;text-transform:uppercase;white-space:nowrap}.nh-service-track i{width:7px;height:7px;background:var(--nh-sand)}\n.nh-services,.nh-work,.nh-process,.nh-journal{padding:115px 0}.nh-services>.nh-section-title{margin-bottom:52px}.nh-services-grid{grid-template-columns:1fr 1fr 1fr;min-height:440px}.nh-service-image span{right:0;bottom:0;padding:12px 16px;background:rgba(17,17,17,.9);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.nh-service-image:hover img,.nh-interior-grid figure:hover img,.nh-project:hover>img{transform:scale(1.045)}.nh-service-feature{justify-content:center;padding:42px;background:var(--nh-paper);color:#111}.nh-service-feature h3{margin:35px 0 14px;font-size:42px;font-weight:400;letter-spacing:-.04em}.nh-service-feature p{margin-bottom:38px;color:#5e5a53}.nh-service-feature .nh-button{margin-top:auto;border-color:#777}\n.nh-work{border-top:1px solid #333}.nh-project-grid{grid-template-columns:1fr 1fr;gap:24px}.nh-project{height:480px}.nh-project.is-wide{grid-column:1 / 3;height:620px}.nh-project::after{position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.76));content:\"\"}.nh-project>div{right:0;bottom:0;left:0;z-index:1;padding:28px}.nh-project small{color:#ccc;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.nh-project h3{max-width:520px;margin-top:8px;font-size:32px;font-weight:400;line-height:1}.nh-project a{position:absolute;right:26px;bottom:26px;width:42px;height:42px;border:1px solid #777}.nh-work-action{margin-top:38px}\n.nh-interiors{padding:110px 0;background:var(--nh-paper);color:#111}.nh-interiors .nh-section-title>p{color:#776242}.nh-view-switch{gap:8px}.nh-view-switch button{display:grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid #aaa;background:transparent}.nh-interior-grid{grid-template-columns:.8fr 1.5fr .8fr;height:510px}.nh-interior-grid figure{min-width:0}.nh-interior-grid figure+figure{border-left:8px solid var(--nh-paper)}.nh-interior-grid figcaption{right:0;bottom:0;left:0;padding:18px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase}\n.nh-process-layout{grid-template-columns:.9fr 1.1fr;border-top:1px solid #333}.nh-process-step{grid-template-columns:50px 40px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid #333}.nh-process-step>span{color:var(--nh-sand);font-size:11px}.nh-process-step h3{margin-bottom:8px;font-size:20px;font-weight:400}.nh-process-step p{max-width:470px;color:var(--nh-muted);font-size:13px}.nh-process-layout>figure{min-height:520px;margin-left:55px}.nh-process-layout figcaption{right:0;bottom:0;left:0;padding:22px;background:rgba(17,17,17,.88);font-size:12px}\n.nh-testimonial{grid-template-columns:1fr 300px;gap:100px;padding:110px max(28px,calc((100vw - 1040px)/2));border-block:1px solid #333;background:var(--nh-panel)}.nh-testimonial blockquote{max-width:850px;margin:30px 0 38px;font:400 clamp(31px,4vw,55px)/1.1 Georgia,serif;letter-spacing:-.035em}.nh-testimonial>div>div{gap:14px}.nh-testimonial>div>div img{width:50px;height:50px;border-radius:50%;object-fit:cover;filter:grayscale(1)}.nh-testimonial b,.nh-testimonial small{display:block}.nh-testimonial small{color:var(--nh-muted);font-size:10px}.nh-testimonial aside{padding-left:35px;border-left:1px solid #444}.nh-testimonial aside strong{display:block;font-size:78px;font-weight:400;line-height:1}.nh-testimonial aside span{color:var(--nh-sand);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.nh-testimonial aside p{margin-top:28px;color:var(--nh-muted)}\n.nh-newsletter{padding:90px 0;background:#090909 url('/themes/noir-habitat/project-house.jpg') center/cover no-repeat;background-blend-mode:multiply}.nh-newsletter>.nh-shell{grid-template-columns:1fr 1fr;gap:90px}.nh-newsletter small{color:var(--nh-sand);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.nh-newsletter h2{margin-top:12px;font-size:clamp(38px,4.5vw,65px);font-weight:400;letter-spacing:-.05em;line-height:.95}.nh-newsletter form{height:58px;padding-left:18px;border:1px solid #555;background:rgba(17,17,17,.86)}.nh-newsletter input{min-width:0;height:100%;flex:1;padding:0 14px;border:0;outline:0;background:transparent;color:#fff;font:inherit}.nh-newsletter button{height:42px;margin-right:7px;padding:0 18px;border:0;background:var(--nh-paper);color:#111;font-size:10px;font-weight:800;text-transform:uppercase}.nh-newsletter button img{margin-left:12px}\n.nh-article-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:20px}.nh-article{min-height:465px;padding:16px;background:var(--nh-paper);color:#111}.nh-article>img{height:235px}.nh-article>small{gap:7px;margin:20px 0 13px;color:#756d61;font-size:9px;text-transform:uppercase}.nh-article h3{margin-bottom:28px;font-size:21px;font-weight:400;line-height:1.2}.nh-article>a{gap:9px;margin-top:auto;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}\n.nh-footer{display:block;width:100%;margin:0;padding:0;border:0;background:#0b0b0b;color:var(--nh-white);font:inherit}.nh-footer-lead{gap:50px;padding:90px 0;border-bottom:1px solid #333}.nh-footer h2{font-size:clamp(48px,6vw,86px);font-weight:400;letter-spacing:-.06em;line-height:.88}.nh-footer-lead>a{gap:12px;padding-bottom:8px;border-bottom:1px solid #777}.nh-footer-grid{grid-template-columns:1.4fr .6fr 1fr .6fr;gap:50px;padding:55px 0}.nh-footer-grid>div{display:flex;flex-direction:column;gap:9px}.nh-footer-grid>div>b{margin-bottom:8px;color:var(--nh-sand);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.nh-footer-grid>div>a,.nh-footer-grid>div>span{color:#999;font-size:12px}.nh-footer-bottom{min-height:72px;border-top:1px solid #333;color:#777;font-size:10px}.nh-footer-bottom a{gap:8px;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n@keyframes nh-marquee{to{transform:translateX(-50%)}}@keyframes nh-pulse{50%{opacity:.35;transform:scale(.7)}}.noir-habitat .motion-safe\\:co-animate-pulse{animation:nh-pulse 1.8s ease-in-out infinite}\n@media(max-width:900px){.noir-habitat .nh-header nav,.noir-habitat .nh-header>.nh-button{display:none}.nh-header details{display:block}.nh-header details summary{list-style:none}.nh-header details div{position:absolute;right:20px;z-index:9;display:grid;width:240px;background:#222;border:1px solid #444}.nh-header details a{padding:14px 18px;border-bottom:1px solid #444}.nh-hero{grid-template-columns:1fr}.nh-hero>aside{display:none}.nh-hero figure{height:520px}.nh-manifesto{grid-template-columns:1fr}.nh-manifesto>div,.nh-manifesto>article{min-height:0;padding:55px 28px;border-right:0;border-bottom:1px solid #333}.nh-manifesto article h3{margin-top:36px}.nh-services-grid{grid-template-columns:1fr 1fr}.nh-service-image:last-child{display:none}.nh-heading-row{align-items:flex-start;flex-direction:column}.nh-project.is-wide{height:520px}.nh-interior-grid{grid-template-columns:1fr 1fr;height:470px}.nh-interior-grid figure:last-child{display:none}.nh-process-layout{grid-template-columns:1fr}.nh-process-layout>figure{min-height:480px;margin:40px 0 0}.nh-testimonial{grid-template-columns:1fr;gap:55px}.nh-testimonial aside{padding:30px 0 0;border-top:1px solid #444;border-left:0}.nh-newsletter>.nh-shell{grid-template-columns:1fr;gap:45px}.nh-footer-grid{grid-template-columns:1fr 1fr}.nh-footer-grid>.nh-brand{grid-column:1 / 3}}\n@media(max-width:620px){.nh-shell{width:calc(100% - 32px)}.nh-header{padding-inline:18px}.nh-hero{width:calc(100% - 32px);min-height:auto;padding:55px 0}.nh-hero h1{font-size:55px}.nh-hero figure{height:430px}.nh-section-title h2{font-size:42px}.nh-services,.nh-work,.nh-process,.nh-journal{padding:80px 0}.nh-services-grid,.nh-project-grid,.nh-article-grid{grid-template-columns:1fr}.nh-service-image{min-height:390px}.nh-project,.nh-project.is-wide{grid-column:auto;height:430px}.nh-interior-grid{grid-template-columns:1fr;height:450px}.nh-interior-grid figure+figure{display:none}.nh-process-step{grid-template-columns:38px 32px 1fr}.nh-testimonial{padding:80px 20px}.nh-testimonial blockquote{font-size:31px}.nh-newsletter form{height:auto;padding:10px;flex-wrap:wrap}.nh-newsletter input{min-height:45px}.nh-newsletter button{width:100%;margin:0;justify-content:center}.nh-article{min-height:440px}.nh-footer-lead{align-items:flex-start;flex-direction:column}.nh-footer-grid{grid-template-columns:1fr}.nh-footer-grid>.nh-brand{grid-column:auto}.nh-footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;gap:7px}}\n@media(prefers-reduced-motion:reduce){.noir-habitat *,.noir-habitat *::before,.noir-habitat *::after{animation:none!important;transition-duration:.01ms!important}}\n"
    },
    {
      "path": "site/app/themes/noir-habitat/preview/ThemeIcon.tsx",
      "type": "registry:component",
      "target": "app/noir-habitat/ThemeIcon.tsx",
      "content": "const icons = {\n  \"arrow-right\": \"/icons/solar-linear/arrow-right.svg\",\n  \"arrow-to-top-right\": \"/icons/solar-linear/arrow-to-top-right.svg\",\n  \"hamburger-menu\": \"/icons/solar-linear/hamburger-menu.svg\",\n  \"buildings-2\": \"/icons/solar-linear/buildings-2.svg\",\n  \"home-2\": \"/icons/solar-linear/home-2.svg\",\n  \"ruler-pen\": \"/icons/solar-linear/ruler-pen.svg\",\n  \"sofa-2\": \"/icons/solar-linear/sofa-2.svg\",\n  palette: \"/icons/solar-linear/palette.svg\",\n  camera: \"/icons/solar-linear/camera.svg\",\n  calendar: \"/icons/solar-linear/calendar.svg\",\n  \"clock-circle\": \"/icons/solar-linear/clock-circle.svg\",\n  letter: \"/icons/solar-linear/letter.svg\",\n  leaf: \"/icons/solar-linear/leaf.svg\",\n  \"shield-check\": \"/icons/solar-linear/shield-check.svg\",\n  eye: \"/icons/solar-linear/eye.svg\",\n  stars: \"/icons/solar-linear/stars.svg\",\n  \"gallery-minimalistic\": \"/icons/solar-linear/gallery-minimalistic.svg\",\n  \"layers-minimalistic\": \"/icons/solar-linear/layers-minimalistic.svg\",\n} as const;\n\nexport type ThemeIconName = keyof typeof icons;\n\nexport default function ThemeIcon({ name, size = 18, tone = \"light\" }: { name: ThemeIconName; size?: number; tone?: \"light\" | \"dark\" | \"sand\" }) {\n  return <img className={`nh-icon nh-icon-${tone}`} src={icons[name]} width={size} height={size} alt=\"\" aria-hidden=\"true\" />;\n}\n"
    },
    {
      "path": "site/app/themes/noir-habitat/preview/DashboardComponents.tsx",
      "type": "registry:component",
      "target": "app/noir-habitat/DashboardComponents.tsx",
      "content": "import type { ReactNode } from \"react\";\nimport ThemeIcon, { type ThemeIconName } from \"./ThemeIcon\";\n\nexport function StudioButton({ href, children, light = false }: { href: string; children: ReactNode; light?: boolean }) {\n  return <a className={`nh-button co-inline-flex co-items-center co-justify-between co-transition co-duration-300 co-ease-out${light ? \" is-light\" : \"\"}`} href={href}>{children}<ThemeIcon name=\"arrow-to-top-right\" size={15} tone={light ? \"dark\" : \"light\"} /></a>;\n}\n\nexport function SectionTitle({ overline, children, centered = false }: { overline: string; children: ReactNode; centered?: boolean }) {\n  return <div className={`nh-section-title${centered ? \" is-centered co-text-center\" : \"\"}`}><p className=\"co-inline-flex co-items-center\"><span className=\"motion-safe:co-animate-pulse motion-reduce:co-animate-none\" />{overline}</p><h2>{children}</h2></div>;\n}\n\nexport function ProjectCard({ image, title, category, wide = false }: { image: string; title: string; category: string; wide?: boolean }) {\n  return <article className={`nh-project co-relative co-overflow-hidden${wide ? \" is-wide\" : \"\"}`}><img className=\"co-w-full co-h-full co-object-cover co-transition co-duration-500 co-ease-out\" src={image} alt={`${title} architecture project`} /><div className=\"co-absolute\"><small>{category}</small><h3>{title}</h3><a className=\"co-inline-flex co-items-center co-justify-center\" href=\"#contact\" aria-label={`View ${title}`}><ThemeIcon name=\"arrow-to-top-right\" size={16} /></a></div></article>;\n}\n\nexport function ProcessStep({ number, title, copy, icon }: { number: string; title: string; copy: string; icon: ThemeIconName }) {\n  return <article className=\"nh-process-step co-grid co-items-start\"><span>{number}</span><ThemeIcon name={icon} size={25} tone=\"sand\" /><div><h3>{title}</h3><p>{copy}</p></div></article>;\n}\n\nexport function ArticleCard({ image, date, title }: { image: string; date: string; title: string }) {\n  return <article className=\"nh-article co-flex co-flex-col\"><img className=\"co-w-full co-object-cover\" src={image} alt=\"\" /><small className=\"co-inline-flex co-items-center\"><ThemeIcon name=\"calendar\" size={13} tone=\"dark\" />{date}</small><h3>{title}</h3><a className=\"co-inline-flex co-items-center\" href=\"#contact\">Read insight <ThemeIcon name=\"arrow-right\" size={14} tone=\"dark\" /></a></article>;\n}\n"
    },
    {
      "path": "site/public/icons/solar-linear/arrow-right.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/arrow-right.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-arrow-right-linear\"><path d=\"M4 12H20M14 18L20 12L14 6\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/arrow-to-top-right.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/arrow-to-top-right.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-arrow-to-top-right-linear\"><path d=\"M17 9.5L12 4.5L7 9.5M12 4.5C12 4.5 12 12.8333 12 14.5C12 16.1667 13 19.5 17 19.5\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/hamburger-menu.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/hamburger-menu.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-hamburger-menu-linear\"><path d=\"M20 7L4 7\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M20 12L4 12\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M20 17L4 17\" stroke=\"currentColor\" stroke-linecap=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/buildings-2.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/buildings-2.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-buildings-2-linear\"><path d=\"M22 22L2 22\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M17 22V6C17 4.11438 17 3.17157 16.4142 2.58579C15.8284 2 14.8856 2 13 2H11C9.11438 2 8.17157 2 7.58579 2.58579C7 3.17157 7 4.11438 7 6V22\" stroke=\"currentColor\"/>\n<path d=\"M21 22V11.5C21 10.0955 21 9.39331 20.6629 8.88886C20.517 8.67048 20.3295 8.48298 20.1111 8.33706C19.6067 8 18.9045 8 17.5 8\" stroke=\"currentColor\"/>\n<path d=\"M3 22V11.5C3 10.0955 3 9.39331 3.33706 8.88886C3.48298 8.67048 3.67048 8.48298 3.88886 8.33706C4.39331 8 5.09554 8 6.5 8\" stroke=\"currentColor\"/>\n<path d=\"M12 22V19\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M10 5H14\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M10 8H14\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M10 11H14\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M10 14H14\" stroke=\"currentColor\" stroke-linecap=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/home-2.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/home-2.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-home-2-linear\"><path d=\"M2 12.2039C2 9.91549 2 8.77128 2.5192 7.82274C3.0384 6.87421 3.98695 6.28551 5.88403 5.10813L7.88403 3.86687C9.88939 2.62229 10.8921 2 12 2C13.1079 2 14.1106 2.62229 16.116 3.86687L18.116 5.10812C20.0131 6.28551 20.9616 6.87421 21.4808 7.82274C22 8.77128 22 9.91549 22 12.2039V13.725C22 17.6258 22 19.5763 20.8284 20.7881C19.6569 22 17.7712 22 14 22H10C6.22876 22 4.34315 22 3.17157 20.7881C2 19.5763 2 17.6258 2 13.725V12.2039Z\" stroke=\"currentColor\"/>\n<path d=\"M12 15L12 18\" stroke=\"currentColor\" stroke-linecap=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/ruler-pen.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/ruler-pen.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-ruler-pen-linear\"><path d=\"M16 22C14.1144 22 13.1716 22 12.5858 21.4142C12 20.8284 12 19.8856 12 18L12 6C12 4.11438 12 3.17157 12.5858 2.58579C13.1716 2 14.1144 2 16 2L18 2C19.8856 2 20.8284 2 21.4142 2.58579C22 3.17157 22 4.11438 22 6V18C22 19.8856 22 20.8284 21.4142 21.4142C20.8284 22 19.8856 22 18 22H16Z\" stroke=\"currentColor\"/>\n<path d=\"M12 12H14M12 6L14 6M12 18H14M12 15L15 15M12 9L15 9\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M2 5.8L2 4.85C2 3.27599 3.34315 2 5 2C6.65685 2 8 3.27599 8 4.85L8 5.8M2 5.8C2 5.8 3.125 6.75 5 6.75C6.875 6.75 8 5.8 8 5.8M2 5.8L2 15.5338C2 16.1254 2 16.4211 2.03777 16.7114C2.08232 17.0538 2.166 17.3905 2.28733 17.7157C2.39019 17.9914 2.52943 18.2559 2.8079 18.785L3.98794 21.0271M3.98794 21.0271L4.27639 21.5751C4.41343 21.8355 4.69357 22 5 22C5.30643 22 5.58657 21.8355 5.72361 21.5751L6.01206 21.0271L7.19209 18.785C7.47057 18.2559 7.60981 17.9914 7.71267 17.7157C7.834 17.3905 7.91768 17.0538 7.96223 16.7114C8 16.4211 8 16.1254 8 15.5338L8 5.8M6.01206 21.0271H3.98794\" stroke=\"currentColor\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/sofa-2.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/sofa-2.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-sofa-2-linear\"><path d=\"M5.55556 18H18.4444C20.4081 18 22 16.4081 22 14.4444V12C22 10.8954 21.1046 10 20 10C18.8954 10 18 10.8954 18 12V13.2C18 13.6418 17.6418 14 17.2 14H6.8C6.35817 14 6 13.6418 6 13.2V12C6 10.8954 5.10457 10 4 10C2.89543 10 2 10.8954 2 12V14.4444C2 16.4081 3.59188 18 5.55556 18Z\" stroke=\"currentColor\"/>\n<path d=\"M20 10C20 9.07069 20 8.60603 19.9231 8.21964C19.6075 6.63288 18.3671 5.39249 16.7804 5.07686C16.394 5 15.9293 5 15 5H9C8.07069 5 7.60603 5 7.21964 5.07686C5.63288 5.39249 4.39249 6.63288 4.07686 8.21964C4 8.60603 4 9.07069 4 10\" stroke=\"currentColor\"/>\n<path d=\"M12 5V14\" stroke=\"currentColor\"/>\n<path d=\"M20 19V18M4 19V18\" stroke=\"currentColor\" stroke-linecap=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/palette.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/palette.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-palette-linear\"><path d=\"M2 6C2 4.59987 2 3.8998 2.27248 3.36502C2.51217 2.89462 2.89462 2.51217 3.36502 2.27248C3.8998 2 4.59987 2 6 2C7.40013 2 8.1002 2 8.63498 2.27248C9.10538 2.51217 9.48783 2.89462 9.72752 3.36502C10 3.8998 10 4.59987 10 6V18C10 19.4001 10 20.1002 9.72752 20.635C9.48783 21.1054 9.10538 21.4878 8.63498 21.7275C8.1002 22 7.40013 22 6 22C4.59987 22 3.8998 22 3.36502 21.7275C2.89462 21.4878 2.51217 21.1054 2.27248 20.635C2 20.1002 2 19.4001 2 18V6Z\" stroke=\"currentColor\"/>\n<path d=\"M7 19H5\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M13.3137 4.929L11.1716 7.07109C10.5935 7.64915 10.3045 7.93818 10.1522 8.30573C10 8.67327 10 9.08202 10 9.89952L10 19.5564L18.9705 10.5859C19.9606 9.59581 20.4556 9.10079 20.6411 8.52997C20.8042 8.02786 20.8042 7.48699 20.6411 6.98489C20.4556 6.41406 19.9606 5.91904 18.9705 4.929C17.9805 3.93896 17.4855 3.44394 16.9146 3.25847C16.4125 3.09532 15.8717 3.09532 15.3695 3.25847C14.7987 3.44394 14.3037 3.93896 13.3137 4.929Z\" stroke=\"currentColor\"/>\n<path d=\"M6 22L18 22C19.4001 22 20.1002 22 20.635 21.7275C21.1054 21.4878 21.4878 21.1054 21.7275 20.635C22 20.1002 22 19.4001 22 18C22 16.5999 22 15.8998 21.7275 15.365C21.4878 14.8946 21.1054 14.5122 20.635 14.2725C20.1002 14 19.4001 14 18 14L15.5 14\" stroke=\"currentColor\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/camera.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/camera.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-camera-linear\"><circle cx=\"12\" cy=\"13\" r=\"3\" stroke=\"currentColor\"/>\n<path d=\"M9.77778 21H14.2222C17.3433 21 18.9038 21 20.0248 20.2646C20.51 19.9462 20.9267 19.5371 21.251 19.0607C22 17.9601 22 16.4279 22 13.3636C22 10.2994 22 8.76721 21.251 7.6666C20.9267 7.19014 20.51 6.78104 20.0248 6.46268C19.3044 5.99013 18.4027 5.82123 17.022 5.76086C16.3631 5.76086 15.7959 5.27068 15.6667 4.63636C15.4728 3.68489 14.6219 3 13.6337 3H10.3663C9.37805 3 8.52715 3.68489 8.33333 4.63636C8.20412 5.27068 7.63685 5.76086 6.978 5.76086C5.59733 5.82123 4.69555 5.99013 3.97524 6.46268C3.48995 6.78104 3.07328 7.19014 2.74902 7.6666C2 8.76721 2 10.2994 2 13.3636C2 16.4279 2 17.9601 2.74902 19.0607C3.07328 19.5371 3.48995 19.9462 3.97524 20.2646C5.09624 21 6.65675 21 9.77778 21Z\" stroke=\"currentColor\"/>\n<path d=\"M19 10H18\" stroke=\"currentColor\" stroke-linecap=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/calendar.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/calendar.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-calendar-linear\"><path d=\"M2 12C2 8.22876 2 6.34315 3.17157 5.17157C4.34315 4 6.22876 4 10 4H14C17.7712 4 19.6569 4 20.8284 5.17157C22 6.34315 22 8.22876 22 12V14C22 17.7712 22 19.6569 20.8284 20.8284C19.6569 22 17.7712 22 14 22H10C6.22876 22 4.34315 22 3.17157 20.8284C2 19.6569 2 17.7712 2 14V12Z\" stroke=\"currentColor\"/>\n<path d=\"M7 4V2.5\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M17 4V2.5\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M2.5 9H21.5\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M17 13H17.0001\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 13H12.0001\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M7 13H7.0001\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M17 17.0234H17.0001\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M12 17.0234H12.0001\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M7 17.0234H7.0001\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/clock-circle.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/clock-circle.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-clock-circle-linear\"><circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\"/>\n<path d=\"M12 8V12L14.5 14.5\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/letter.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/letter.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-letter-linear\"><path d=\"M2 12C2 8.22876 2 6.34315 3.17157 5.17157C4.34315 4 6.22876 4 10 4H14C17.7712 4 19.6569 4 20.8284 5.17157C22 6.34315 22 8.22876 22 12C22 15.7712 22 17.6569 20.8284 18.8284C19.6569 20 17.7712 20 14 20H10C6.22876 20 4.34315 20 3.17157 18.8284C2 17.6569 2 15.7712 2 12Z\" stroke=\"currentColor\"/>\n<path d=\"M6 8L8.1589 9.79908C9.99553 11.3296 10.9139 12.0949 12 12.0949C13.0861 12.0949 14.0045 11.3296 15.8411 9.79908L18 8\" stroke=\"currentColor\" stroke-linecap=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/leaf.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/leaf.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-leaf-linear\"><path d=\"M12 9.00006L16.5 4.50006M12 14.5001L18.5 8.00006M12 19.5001L19.5 12.0001\" stroke=\"currentColor\"/>\n<path d=\"M12 22C16.4183 22 20 18.3541 20 13.8567C20 9.39453 17.4467 4.18759 13.4629 2.32555C12.9986 2.10852 12.4993 2 12 2M12 22C7.58172 22 4 18.3541 4 13.8567C4 9.39453 6.55332 4.18759 10.5371 2.32555C11.0014 2.10852 11.5007 2 12 2M12 22V2\" stroke=\"currentColor\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/shield-check.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/shield-check.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-shield-check-linear\"><path d=\"M3 10.4167C3 7.21907 3 5.62028 3.37752 5.08241C3.75503 4.54454 5.25832 4.02996 8.26491 3.00079L8.83772 2.80472C10.405 2.26824 11.1886 2 12 2C12.8114 2 13.595 2.26824 15.1623 2.80472L15.7351 3.00079C18.7417 4.02996 20.245 4.54454 20.6225 5.08241C21 5.62028 21 7.21907 21 10.4167C21 10.8996 21 11.4234 21 11.9914C21 17.6294 16.761 20.3655 14.1014 21.5273C13.38 21.8424 13.0193 22 12 22C10.9807 22 10.62 21.8424 9.89856 21.5273C7.23896 20.3655 3 17.6294 3 11.9914C3 11.4234 3 10.8996 3 10.4167Z\" stroke=\"currentColor\"/>\n<path d=\"M9.5 12.4L10.9286 14L14.5 10\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/eye.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/eye.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-eye-linear\"><path d=\"M3.27489 15.2957C2.42496 14.1915 2 13.6394 2 12C2 10.3606 2.42496 9.80853 3.27489 8.70433C4.97196 6.49956 7.81811 4 12 4C16.1819 4 19.028 6.49956 20.7251 8.70433C21.575 9.80853 22 10.3606 22 12C22 13.6394 21.575 14.1915 20.7251 15.2957C19.028 17.5004 16.1819 20 12 20C7.81811 20 4.97196 17.5004 3.27489 15.2957Z\" stroke=\"currentColor\"/>\n<path d=\"M15 12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12C9 10.3431 10.3431 9 12 9C13.6569 9 15 10.3431 15 12Z\" stroke=\"currentColor\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/stars.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/stars.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-stars-linear\"><path d=\"M8.03339 3.65784C8.37932 2.78072 9.62068 2.78072 9.96661 3.65785L11.0386 6.37599C11.1442 6.64378 11.3562 6.85576 11.624 6.96137L14.3422 8.03339C15.2193 8.37932 15.2193 9.62068 14.3422 9.96661L11.624 11.0386C11.3562 11.1442 11.1442 11.3562 11.0386 11.624L9.96661 14.3422C9.62067 15.2193 8.37932 15.2193 8.03339 14.3422L6.96137 11.624C6.85575 11.3562 6.64378 11.1442 6.37599 11.0386L3.65784 9.96661C2.78072 9.62067 2.78072 8.37932 3.65785 8.03339L6.37599 6.96137C6.64378 6.85575 6.85576 6.64378 6.96137 6.37599L8.03339 3.65784Z\" stroke=\"currentColor\"/>\n<path d=\"M16.4885 13.3481C16.6715 12.884 17.3285 12.884 17.5115 13.3481L18.3121 15.3781C18.368 15.5198 18.4802 15.632 18.6219 15.6879L20.6519 16.4885C21.116 16.6715 21.116 17.3285 20.6519 17.5115L18.6219 18.3121C18.4802 18.368 18.368 18.4802 18.3121 18.6219L17.5115 20.6519C17.3285 21.116 16.6715 21.116 16.4885 20.6519L15.6879 18.6219C15.632 18.4802 15.5198 18.368 15.3781 18.3121L13.3481 17.5115C12.884 17.3285 12.884 16.6715 13.3481 16.4885L15.3781 15.6879C15.5198 15.632 15.632 15.5198 15.6879 15.3781L16.4885 13.3481Z\" stroke=\"currentColor\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/gallery-minimalistic.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/gallery-minimalistic.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-gallery-minimalistic-linear\"><path d=\"M2 12C2 7.28595 2 4.92893 3.46447 3.46447C4.92893 2 7.28595 2 12 2C16.714 2 19.0711 2 20.5355 3.46447C22 4.92893 22 7.28595 22 12C22 16.714 22 19.0711 20.5355 20.5355C19.0711 22 16.714 22 12 22C7.28595 22 4.92893 22 3.46447 20.5355C2 19.0711 2 16.714 2 12Z\" stroke=\"currentColor\"/>\n<circle cx=\"16\" cy=\"8\" r=\"2\" stroke=\"currentColor\"/>\n<path d=\"M5 13.307L5.81051 12.5542C6.73658 11.6941 8.18321 11.7424 9.04988 12.6623L11.6974 15.4727C12.2356 16.0439 13.1166 16.1209 13.7457 15.6516C14.6522 14.9753 15.9144 15.0522 16.7322 15.8334L19 18\" stroke=\"currentColor\" stroke-linecap=\"round\"/></svg>"
    },
    {
      "path": "site/public/icons/solar-linear/layers-minimalistic.svg",
      "type": "registry:file",
      "target": "public/icons/solar-linear/layers-minimalistic.svg",
      "content": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke-width=\"1.5\" class=\"solar solar-layers-minimalistic-linear\"><path d=\"M4.97883 9.68508C2.99294 8.89073 2 8.49355 2 8C2 7.50645 2.99294 7.10927 4.97883 6.31492L7.7873 5.19153C9.77318 4.39718 10.7661 4 12 4C13.2339 4 14.2268 4.39718 16.2127 5.19153L19.0212 6.31492C21.0071 7.10927 22 7.50645 22 8C22 8.49355 21.0071 8.89073 19.0212 9.68508L16.2127 10.8085C14.2268 11.6028 13.2339 12 12 12C10.7661 12 9.77318 11.6028 7.7873 10.8085L4.97883 9.68508Z\" stroke=\"currentColor\"/>\n<path d=\"M22 12C22 12 21.0071 12.8907 19.0212 13.6851L16.2127 14.8085C14.2268 15.6028 13.2339 16 12 16C10.7661 16 9.77318 15.6028 7.7873 14.8085L4.97883 13.6851C2.99294 12.8907 2 12 2 12\" stroke=\"currentColor\" stroke-linecap=\"round\"/>\n<path d=\"M22 16C22 16 21.0071 16.8907 19.0212 17.6851L16.2127 18.8085C14.2268 19.6028 13.2339 20 12 20C10.7661 20 9.77318 19.6028 7.7873 18.8085L4.97883 17.6851C2.99294 16.8907 2 16 2 16\" stroke=\"currentColor\" stroke-linecap=\"round\"/></svg>"
    }
  ],
  "docs": "/docs/themes#noir-habitat",
  "meta": {
    "status": "stable",
    "copyright": "Coordiation",
    "framework": "Next.js App Router",
    "style": "dark editorial architecture studio",
    "palette": "charcoal, stone and warm sand",
    "namespace": "noir-habitat",
    "classPrefix": "nh-",
    "preview": "/themes/noir-habitat/preview",
    "cover": "/themes/noir-habitat/hero.jpg",
    "components": [
      "StudioButton",
      "SectionTitle",
      "ProjectCard",
      "ProcessStep",
      "ArticleCard",
      "ThemeIcon"
    ],
    "sections": [
      "header",
      "hero",
      "manifesto",
      "service marquee",
      "services",
      "selected work",
      "interior studies",
      "work process",
      "testimonial",
      "newsletter",
      "journal",
      "footer"
    ],
    "assets": [
      "/themes/noir-habitat/hero.jpg",
      "/themes/noir-habitat/studio-director.jpg",
      "/themes/noir-habitat/service-interior.jpg",
      "/themes/noir-habitat/service-exterior.jpg",
      "/themes/noir-habitat/project-house.jpg",
      "/themes/noir-habitat/project-villa.jpg",
      "/themes/noir-habitat/project-interior.jpg",
      "/themes/noir-habitat/process.jpg",
      "/themes/noir-habitat/testimonial.jpg",
      "/themes/noir-habitat/news-material.jpg",
      "/themes/noir-habitat/news-light.jpg"
    ],
    "frameworkName": "Coordiation CSS",
    "sourceOwnership": "open-code"
  }
}
