/* Portfolio-first homepage; shared dark palette is defined in theme.css. */
body.home-dark { --home-bg:#191f26; --home-text:#f2f5f8; --home-muted:#abb9ca; --home-accent:#83e8f3; --home-line:#36404a; background:var(--home-bg); color:var(--home-text); font-family:'DM Sans',sans-serif; }
.home-dark * { box-sizing:border-box; }
.home-shell { width:min(1304px,calc(100% - 128px)); margin-inline:auto; }
.home-dark .site-nav { background:#191f26; border-color:var(--home-line); }
.home-dark .site-brand,.home-dark .site-footer-name { color:var(--home-text); }
.home-dark .site-nav-link { color:var(--home-muted); }
.home-dark .site-nav-link:hover,.home-dark .site-nav-link.is-active { color:var(--home-text); border-bottom-color:var(--home-accent); }
.home-dark .site-menu-button { color:var(--home-text); border-color:#617181; }
.home-dark .site-mobile-menu { background:var(--home-bg); border-color:var(--home-line); }
.home-dark .site-mobile-link { color:var(--home-text); }
.home-dark .site-mobile-link:hover,.home-dark .site-mobile-link.is-active { color:var(--home-accent); background:#263440; }
.home-dark a:focus-visible,.home-dark button:focus-visible { outline:3px solid var(--home-accent); outline-offset:5px; }
.home-hero { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:44px 28px; }
.home-eyebrow { margin:0; font-size:11px; font-weight:700; letter-spacing:.23em; text-transform:uppercase; }
.home-hero .home-eyebrow { color:var(--home-accent); margin-bottom:15px; }
.home-hero h1 { margin:0; font-size:clamp(42px,4.9vw,72px); font-weight:600; line-height:1.08; letter-spacing:-.045em; }
.home-hero h1 span { color:#a5ecf3; }
.home-intro { max-width:750px; margin:20px 0 0; color:var(--home-muted); font-size:21px; line-height:1.5; }
.home-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; flex-shrink:0; min-height:52px; padding:14px 24px; border:1px solid transparent; border-radius:4px; background:var(--home-accent); color:#10262e; font-size:16px; font-weight:600; line-height:1.4; text-decoration:none; transition:background .15s; }
.home-button:hover { background:#b6f3fa; }
.home-feature { background:#e4e9ef; color:#191f26; padding-block:32px; scroll-margin-top:75px; }
.home-feature-grid { display:grid; grid-template-columns:minmax(0,3.5fr) minmax(230px,1fr); align-items:center; gap:56px; }
.home-layout-exhibit { min-width:0; height:395px; padding:20px; display:flex; flex-direction:column; border:1px solid #abb6c1; border-radius:5px; background:#fff; }
.home-layouts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; min-height:0; flex:1; color:#283746; text-decoration:none; }
.home-layouts figure { margin:0; min-width:0; min-height:0; display:flex; flex-direction:column; align-items:center; }
.home-layouts img { display:block; width:100%; min-height:0; flex:1; object-fit:contain; }
.home-layouts figcaption { flex:none; padding-top:10px; font-size:13px; font-weight:600; text-align:center; }
.home-layout-caption { flex:none; margin:12px 0 0; color:#526171; font-size:11px; line-height:1.5; text-align:center; }
.home-feature-copy .home-eyebrow { color:#4e6079; }
.home-feature-copy h2 { margin:38px 0 16px; font-size:clamp(35px,3.4vw,50px); line-height:1.04; letter-spacing:-.045em; font-weight:500; }
.home-feature-summary { margin:0 0 12px; font-size:17px; line-height:1.45; }
.home-feature-meta { margin:0 0 22px; font-size:13px; line-height:1.55; color:#506071; }
.home-button-dark { background:#191f26; color:#fff; padding-inline:20px; }
.home-button-dark:hover { background:#344350; }
.home-text-link { color:var(--home-accent); text-decoration:none; font-size:14px; font-weight:500; }
.home-text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.home-feature-copy .home-text-link { display:block; margin-top:17px; color:#263f50; }
.home-designs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:28px; }
.home-design-card { min-width:0; overflow:hidden; border:1px solid #abb6c1; border-radius:5px; background:#f5f7fa; color:#191f26; text-decoration:none; transition:border-color .15s,box-shadow .15s; }
.home-design-card:hover { border-color:#496a80; box-shadow:0 4px 14px #191f2612; }
.home-design-image { height:160px; padding:15px; background:#fff; border-bottom:1px solid #d7dfe7; }
.home-design-image img { display:block; width:100%; height:100%; object-fit:contain; }
.home-design-copy { padding:18px 20px; }
.home-design-copy h3 { margin:0 0 7px; font-size:20px; line-height:1.3; font-weight:600; letter-spacing:-.025em; }
.home-design-copy p { margin:0 0 14px; color:#506071; font-size:14px; line-height:1.5; }
.home-design-copy > span { font-size:13px; font-weight:600; color:#263f50; }
.home-design-copy > span span { margin-left:8px; }
.home-expertise { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:40px 38px; scroll-margin-top:88px; }
.home-expertise article { padding-inline:38px; border-left:1px solid var(--home-line); }
.home-expertise article:first-child { padding-left:0; border:0; }
.home-expertise article:last-child { padding-right:0; }
.home-index { margin:0 0 14px; color:var(--home-accent); font-size:11px; font-weight:700; letter-spacing:.2em; }
.home-expertise h2 { margin:0 0 12px; font-size:25px; line-height:1.2; font-weight:500; letter-spacing:-.035em; }
.home-expertise article > p:last-child { max-width:340px; margin:0; color:var(--home-muted); font-size:16px; line-height:1.55; }
.home-profile { display:flex; align-items:center; gap:28px; padding-block:30px; border-top:1px solid var(--home-line); }
.home-profile img { width:100px; height:108px; object-fit:cover; object-position:center 20%; border-radius:6px; }
.home-profile h2 { margin:0 0 6px; font-size:19px; font-weight:600; }
.home-profile h2 span { font-weight:400; }
.home-profile p { margin:4px 0 0; color:var(--home-muted); font-size:14px; }
.home-profile > a { margin-left:auto; }
.home-more { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--home-line); padding-block:28px 38px; gap:42px; }
.home-more a { display:flex; flex-direction:column; gap:9px; color:var(--home-muted); text-decoration:none; font-size:13px; }
.home-more strong { color:var(--home-text); font-size:18px; font-weight:500; }
.home-more a:hover strong { color:var(--home-accent); }
.home-more .home-eyebrow { color:var(--home-accent); font-size:10px; }
.home-dark .site-footer { background:#151b21; color:var(--home-muted); border-color:var(--home-line); }
.home-dark .site-footer-inner { padding-block:28px; }
.home-dark .site-footer a:hover { color:var(--home-accent); }
@media(max-width:1100px) {
  .home-shell { width:calc(100% - 64px); }
  .home-hero { gap:24px; }
  .home-hero h1 { font-size:clamp(40px,5vw,60px); }
  .home-intro { font-size:18px; max-width:580px; }
  .home-feature-grid { gap:32px; grid-template-columns:minmax(0,2.7fr) minmax(215px,1fr); }
  .home-feature-copy h2 { margin-top:24px; }
  .home-expertise article { padding-inline:24px; }
  .home-expertise h2 { font-size:22px; }
}
@media(max-width:760px) {
  .home-shell { width:calc(100% - 40px); }
  .home-hero { align-items:flex-start; flex-direction:column; padding-block:34px 32px; gap:24px; }
  .home-hero h1 { font-size:clamp(35px,8.6vw,58px); line-height:1.12; }
  .home-intro { margin-top:17px; font-size:17px; }
  .home-hero .home-eyebrow { font-size:10px; margin-bottom:16px; }
  .home-button { font-size:15px; min-height:48px; padding:12px 19px; }
  .home-feature { padding-block:24px 28px; }
  .home-feature-grid { grid-template-columns:1fr; gap:25px; }
  .home-layout-exhibit { height:305px; padding:14px 12px; }
  .home-layouts { gap:10px; }
  .home-layouts figcaption { font-size:11px; min-height:38px; }
  .home-layout-caption { font-size:10px; }
  .home-feature-copy h2 { margin:12px 0; font-size:34px; }
  .home-feature-copy h2 br { display:none; }
  .home-feature-copy h2 br::after { content:' '; }
  .home-feature-meta { font-size:13px; margin-bottom:18px; }
  .home-designs { grid-template-columns:1fr; gap:14px; }
  .home-design-card { display:grid; grid-template-columns:110px minmax(0,1fr); }
  .home-design-image { height:100%; min-height:150px; padding:10px; border-bottom:0; border-right:1px solid #d7dfe7; }
  .home-design-copy { padding:16px; }
  .home-design-copy h3 { font-size:18px; }
  .home-design-copy p { font-size:13px; margin-bottom:10px; }
  .home-expertise { grid-template-columns:1fr; padding-block:8px 12px; }
  .home-expertise article,.home-expertise article:first-child,.home-expertise article:last-child { padding:24px 0; border-left:0; border-bottom:1px solid var(--home-line); }
  .home-expertise article:last-child { border-bottom:0; }
  .home-index { margin-bottom:9px; }
  .home-expertise h2 { margin-bottom:8px; font-size:24px; }
  .home-expertise article > p:last-child { max-width:none; }
  .home-profile { display:grid; grid-template-columns:76px minmax(0,1fr); gap:20px; }
  .home-profile img { width:76px; height:92px; }
  .home-profile h2 { font-size:18px; }
  .home-profile h2 span { display:block; font-size:14px; margin-top:5px; }
  .home-profile p { font-size:12px; line-height:1.5; }
  .home-profile > a { grid-column:1/-1; margin-left:0; }
  .home-more { grid-template-columns:1fr; gap:25px; }
}
