/* VNTrust homepage: open editorial rhythm, large imagery and quiet typography. */
#vn-home-archive{--home-edge:var(--vn-page-edge);color:#242424;background:#fff}
#vn-home-archive .section-pad{padding:96px var(--home-edge)}
#vn-home-archive h2{font-size:clamp(28px,3vw,46px);line-height:1.18;letter-spacing:-.035em;font-weight:400}
#vn-home-archive .eyebrow{font-size:11px;letter-spacing:.12em}
#vn-home-archive .text-link{gap:9px;width:fit-content;font-size:13px;line-height:1.5;padding-bottom:3px;border-color:currentColor}
.home-section-intro{text-align:center;max-width:690px;margin:0 auto 48px}
.home-section-intro h2{margin-bottom:20px}
.home-section-intro p{font-size:15px;line-height:1.75;color:#656565}
.home-category-tools{display:flex;justify-content:flex-end;gap:15px;margin-bottom:18px;align-items:center;font-size:11px;color:#666}
.home-category-tools button{display:grid;place-items:center;width:30px;height:32px;padding:0;line-height:0}
.home-category-tools button svg{display:block;width:8px;height:16px;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.home-category-tools button:disabled{visibility:hidden;pointer-events:none}
.home-category-tools [data-home-category-count]{min-width:36px;text-align:center;font-variant-numeric:tabular-nums}
.home-category-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:auto}
.home-category-track::-webkit-scrollbar{display:none}
.home-category-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:36px}
.home-category-progress button{position:relative;display:block;height:28px;padding:0;border:0;background:transparent;cursor:pointer}
.home-category-progress button::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#dcdad6;transition:background-color .25s ease}
.home-category-progress button.is-active::after,.home-category-progress button:hover::after{background:#292925}
.home-category-progress button:focus-visible{outline:1px solid #777;outline-offset:2px}
.home-category{scroll-snap-align:start;display:block;min-width:0;text-decoration:none;color:inherit}
.home-category-visual{display:block;aspect-ratio:1;background:#efeeeb;overflow:hidden}
.home-category img{height:100%;width:100%;object-fit:cover;transition:transform .65s ease}
.home-category.is-banner img{object-position:76% center}
@media(hover:hover) and (pointer:fine){.home-category:hover img{transform:scale(1.085)}}
.home-category:focus-visible img{transform:scale(1.085)}
.home-category img{transition:transform .85s cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.home-category:hover img,.home-category:focus-visible img{transform:none}}
.home-category-caption{display:flex;justify-content:space-between;align-items:center;padding-top:21px;gap:15px}
.home-category h3{font-size:22px;letter-spacing:-.025em;font-weight:400}
.home-category-caption>span{font-size:18px}
.home-category p{font-size:12px;margin-top:8px;color:#666}
#vn-home-archive #spaces{height:calc(100svh - var(--vn-header-height,110px));min-height:0;max-height:none}
#vn-home-archive #spaces>img{object-position:center center}
#vn-home-archive .feature-shade{background:linear-gradient(90deg,#0006,transparent 75%),linear-gradient(0deg,#0005,transparent 45%)}
#vn-home-archive .feature-copy{left:var(--home-edge);top:auto;bottom:135px;max-width:620px}
#vn-home-archive .feature-copy h2{font-size:clamp(38px,4.8vw,70px);margin:22px 0}
#vn-home-archive .feature-copy p{font-size:15px;color:#fff}
#vn-home-archive .space-tabs{left:var(--home-edge);right:var(--home-edge);gap:28px}
#vn-home-archive .space-tabs button{font-size:13px;margin:0;padding:22px 0;border-top:1px solid #ffffff70}
#vn-home-archive .space-tabs button.active{border-top:1px solid #fff}
#vn-home-archive #room-guide{padding-top:38px;padding-bottom:38px;grid-template-columns:1fr 1.1fr auto;gap:40px;border-bottom:0}
#vn-home-archive #room-guide h3{font-size:clamp(27px,2.2vw,32px);line-height:1.3;margin-top:10px}
#vn-home-archive #room-guide p{font-size:14px;color:#686868}
#vn-home-archive #intro{display:flex;flex-direction:column;align-items:center;text-align:center;padding:110px var(--home-edge);gap:22px;border-bottom:0}
#vn-home-archive #intro h2{max-width:900px;font-size:clamp(30px,3.8vw,53px);line-height:1.3}
#vn-home-archive #intro p{max-width:650px;margin:0 auto;font-size:15px;color:#666}
#vn-home-archive #intro .text-link{margin-top:25px}
#vn-home-archive #collections{background:#f6f5f2;padding-top:78px;padding-bottom:78px}
#vn-home-archive #collections .section-heading{text-align:center;justify-content:center;align-items:center;flex-direction:column;gap:18px;margin-bottom:32px}
#vn-home-archive #collections .section-heading h2{margin-top:12px}
#vn-home-archive #collections .section-heading p{font-size:14px}
#vn-home-archive .filters{justify-content:center;gap:25px;margin:0 0 35px}
#vn-home-archive .filters button{font-size:12px}
#vn-home-archive #product-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);grid-template-columns:none;overflow:auto;gap:20px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#bcbab5 transparent;padding-bottom:24px}
#vn-home-archive #product-grid .product{scroll-snap-align:start;min-width:0}
#vn-home-archive #product-grid .product-visual{aspect-ratio:1;background:#fff}
#vn-home-archive #product-grid .product-visual img{height:100%;object-fit:contain;mix-blend-mode:multiply}
#vn-home-archive #product-grid .product-info h3{font-size:16px;line-height:1.4;letter-spacing:-.01em}
#vn-home-archive #product-grid .product-info p{font-size:11px;line-height:1.5}
#vn-home-archive .collection-footer{margin-top:25px}
.home-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-room{position:relative;display:flex;align-items:flex-end;aspect-ratio:4/5;overflow:hidden;background:#e7e3dc;color:white}
.home-room img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.home-room::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#0009)}
.home-room:hover img{transform:scale(1.035)}
.home-room>div{position:relative;z-index:1;padding:28px;width:100%}
.home-room h3{font-size:25px;margin-bottom:16px;font-weight:400}
.home-room .text-link{border-color:#fff}
.home-room-studio{color:#242424}
.home-room-studio img{object-position:76% center}
.home-room-studio::after{background:linear-gradient(transparent 45%,#e9e7e3cc)}
.home-room-studio .text-link{border-color:#242424}
#vn-home-archive #philosophy{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0;background:#eeeae3}
#vn-home-archive .philosophy-note{min-height:660px;position:relative;display:block;overflow:hidden}
.home-philosophy-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
#vn-home-archive .philosophy-note>.eyebrow{position:absolute;left:38px;bottom:36px;color:white;z-index:1}
#vn-home-archive #philosophy>div:last-child{padding:80px clamp(30px,5vw,90px);align-self:center}
#vn-home-archive #philosophy h2 em{font-style:normal}
#vn-home-archive #philosophy p{font-size:14px;line-height:1.8;color:#666}
#vn-home-archive .values{grid-template-columns:1fr;margin-top:30px;gap:18px}
#vn-home-archive .values>div{display:grid;grid-template-columns:22px 1fr;gap:7px 12px;border-top:1px solid #ccc6bc;padding-top:16px}
#vn-home-archive .values h3{font-size:16px;letter-spacing:0}
#vn-home-archive .values p{grid-column:2;margin:0}
#vn-home-archive .values span{font-size:11px;color:#777;padding-top:3px}
#vn-home-archive #projects{padding-top:48px;padding-bottom:48px;border-bottom:1px solid #eee}
#vn-home-archive #projects .section-heading{margin:0;align-items:center}
#vn-home-archive #projects h2{font-size:28px;margin-top:10px}
#vn-home-archive #journal .section-heading{align-items:flex-end;align-items:last baseline;margin-bottom:36px}
#vn-home-archive #journal .section-heading h2{margin-top:12px}
#vn-home-archive .story-grid{gap:24px}
#vn-home-archive .story-image{aspect-ratio:4/5;margin-bottom:22px}
#vn-home-archive .story-image img{height:100%;object-fit:cover}
#vn-home-archive .story-c img{object-position:76% center}
#vn-home-archive .story h3{font-size:24px;line-height:1.3;margin:15px 0 20px;letter-spacing:-.025em}
#vn-home-archive #contact{background:#f4f3ef;gap:clamp(45px,9vw,150px);border-top:0}
#vn-home-archive #contact h2{font-size:clamp(32px,3.5vw,49px);margin:20px 0}
#vn-home-archive #contact p{font-size:14px}
#vn-home-archive #contact input,#vn-home-archive #contact textarea,#vn-home-archive #contact select{background:transparent;border-color:#c6c3bc;font-size:14px;border-radius:0}
#vn-home-archive #contact label{font-size:12px}
#vn-home-archive #contact .submit{font-size:13px}
body:not(.catalog-mode):not(.editorial-mode) footer{background:#fff;color:#292929;padding:65px var(--vn-page-edge) 28px}
body:not(.catalog-mode):not(.editorial-mode) footer a{color:inherit}
body:not(.catalog-mode):not(.editorial-mode) .footer-bottom{border-top:1px solid #ddd;color:#777}
@media(max-width:1023px){#vn-home-archive .section-pad{padding-top:70px;padding-bottom:70px}.home-category-track{grid-auto-columns:calc((100% - 20px)/2)}#vn-home-archive #product-grid{grid-auto-columns:calc((100% - 40px)/3)}#vn-home-archive #room-guide{grid-template-columns:1fr 1fr}#room-advice{grid-column:1/-1}#vn-home-archive #philosophy>div:last-child{padding:45px 30px}#vn-home-archive .philosophy-note{min-height:640px}.home-room>div{padding:22px}.home-room h3{font-size:22px}}
@media(max-width:640px){#vn-home-archive .section-pad{padding-top:55px;padding-bottom:55px}.home-section-intro{margin-bottom:30px}.home-section-intro p{font-size:14px}.home-category-track{grid-auto-columns:82%;gap:14px;margin-right:0;padding-right:0}.home-category-caption{padding-top:16px}.home-category h3{font-size:21px}#vn-home-archive #spaces{height:calc(100svh - var(--vn-header-height,126px));min-height:0}#vn-home-archive #spaces>img{object-position:60% center}#vn-home-archive .feature-copy{bottom:120px;right:var(--home-edge)}#vn-home-archive .feature-copy h2{font-size:38px}#vn-home-archive .feature-copy p{font-size:13px}#vn-home-archive .space-tabs{gap:15px}#vn-home-archive .space-tabs button{font-size:11px;padding:22px 0}#vn-home-archive #room-guide{grid-template-columns:1fr;gap:20px;padding-top:30px;padding-bottom:30px}#vn-home-archive #intro{padding:65px var(--home-edge)}#vn-home-archive .filters{flex-wrap:nowrap;justify-content:flex-start;overflow:auto;gap:22px}#vn-home-archive .filters button{white-space:nowrap}#vn-home-archive #product-grid{grid-auto-columns:72%;gap:14px}#vn-home-archive .collection-footer{align-items:flex-start;gap:18px}.home-room-grid{grid-template-columns:1fr;gap:18px}.home-room{aspect-ratio:5/4}#vn-home-archive #philosophy{grid-template-columns:1fr}#vn-home-archive .philosophy-note{min-height:420px}#vn-home-archive #philosophy>div:last-child{padding:45px var(--home-edge)}#vn-home-archive #projects .section-heading{align-items:flex-start}#vn-home-archive #journal .section-heading{align-items:flex-start}#vn-home-archive .story-grid{display:grid;grid-auto-flow:column;grid-auto-columns:86%;grid-template-columns:none;gap:18px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:20px}#vn-home-archive .story{scroll-snap-align:start}#vn-home-archive .story h3{font-size:22px}#vn-home-archive #contact{gap:40px}body:not(.catalog-mode):not(.editorial-mode) footer{padding:45px var(--vn-page-edge) 25px}}
@media(prefers-reduced-motion:reduce){.home-category img,.home-room img{transition:none}.home-category-track,#vn-home-archive #product-grid{scroll-behavior:auto}}

/* Keep copy on split photographs inside the same outer grid as the header. */
#vn-home-archive .philosophy-note>.eyebrow{left:max(var(--vn-layout-padding),calc((100vw - var(--vn-layout-width))/2 + var(--vn-layout-padding)))}
@media(min-width:641px){#vn-home-archive #philosophy>div:last-child{padding-right:max(var(--vn-layout-padding),calc((100vw - var(--vn-layout-width))/2 + var(--vn-layout-padding)))}}

/* Portrait concepts: keep the approved framing at every breakpoint. */
#vn-home-archive .home-category-visual,#vn-home-archive .home-room{aspect-ratio:4/5}
#vn-home-archive .home-concept-note{font-size:11px;color:#777;margin-top:12px}
@media(min-width:1024px){#vn-home-archive .home-room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:641px) and (max-width:1023px){#vn-home-archive .home-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

#vn-home-archive .home-architect-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:#fff;border-color:#fff;padding-bottom:3px;font-size:14px}

/* Creative-flow feature heading. */
#vn-home-archive #spaces .feature-copy{max-width:none}
#vn-home-archive #spaces .feature-copy>.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em}
#vn-home-archive #spaces .feature-copy h2{white-space:nowrap;margin-top:10px;font-size:clamp(30px,4.5vw,66px)}
@media(max-width:640px){#vn-home-archive #spaces .feature-copy>.eyebrow{font-size:11px}#vn-home-archive #spaces .feature-copy h2{font-size:clamp(20px,5.4vw,34px);margin-top:9px}}
/* Full-width project feature with a viewport-height architectural photograph. */
#vn-home-archive #projects.home-project-feature{position:relative;height:calc(100svh - var(--vn-header-height,126px));min-height:400px;padding:0;border:0;isolation:isolate;overflow:hidden}
.home-project-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.home-project-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 65%);pointer-events:none}
#vn-home-archive #projects .section-heading{position:absolute;left:var(--home-edge);right:var(--home-edge);bottom:60px;margin:0;color:#fff;align-items:flex-end;gap:30px}
#vn-home-archive #projects h2{font-size:clamp(34px,4.5vw,64px);margin-top:12px}
#vn-home-archive #projects .text-link{color:#fff;border-color:#fff}
@media(max-width:640px){#vn-home-archive #projects.home-project-feature{min-height:420px}.home-project-feature>img{object-position:58% center}#vn-home-archive #projects .section-heading{bottom:38px;align-items:flex-start;flex-direction:column;gap:22px}}

#vn-home-archive #room-guide h3{margin-top:0}

/* Shared type scale for the hero and full-width homepage photographs. */
#vn-home-archive #spaces .feature-copy>.eyebrow,#vn-home-archive #projects .eyebrow{font-size:var(--home-image-label-size);letter-spacing:.16em}
#vn-home-archive #spaces .feature-copy h2,#vn-home-archive #projects h2{font-size:var(--home-image-title-size);line-height:1.08;font-weight:400;letter-spacing:-.045em}
#vn-home-archive #spaces .home-architect-link,#vn-home-archive #projects .text-link{font-size:var(--home-image-link-size);line-height:1.5}
@media(max-width:1023px){#vn-home-archive #spaces .feature-copy h2{white-space:normal}}

/* Project copy aligned with the right-hand page margin. */
#vn-home-archive #projects .section-heading{flex-direction:column;align-items:flex-end;text-align:right;gap:30px}
#vn-home-archive #projects .section-heading>div{max-width:100%}
#vn-home-archive #projects .text-link{align-self:flex-end}

/* More breathing room between the two full-width photographs. */
#vn-home-archive #room-guide{padding-top:76px;padding-bottom:76px}
@media(max-width:1023px){#vn-home-archive #room-guide{padding-top:60px;padding-bottom:60px}}
@media(max-width:640px){#vn-home-archive #room-guide{padding-top:40px;padding-bottom:40px}}

/* Restore the original portrait homepage art; menu squares remain separate. */
#vn-home-archive .home-current-card .home-category-visual{aspect-ratio:4/5}
#vn-home-archive .home-current-card img{object-fit:contain;transform:none}
#vn-home-archive .home-current-card h3{text-wrap:balance;word-break:normal;overflow-wrap:normal}
