/* Homepage composition only; cards, buttons, form and design tokens are shared. */
.fs-home-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.fs-home-hero { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding:64px 0 80px; }
.fs-home-page .fs-home-hero h1 { font-size:clamp(36px,4vw,58px); margin-bottom:24px; }
.fs-home-hero p:not(.fs-eyebrow),.fs-home-section p { color:#5c5a55; }
.fs-home-actions { margin-top:30px; }
.fs-home-media { margin:0; aspect-ratio:4/3; overflow:hidden; position:relative; background:var(--fs-line); }
.fs-home-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.fs-home-hero-image { aspect-ratio:1; background:white; }
.fs-home-hero-image img { object-fit:contain; }
.fs-home-placeholder { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; text-align:center; border:1px solid var(--fs-line); }
.fs-home-placeholder span,.fs-home-note { font-size:12px; letter-spacing:.02em; }
.fs-home-placeholder span { color:var(--fs-green); }
.fs-home-section { padding:64px 0; border-top:1px solid var(--fs-line); }
.fs-home-section-head { max-width:720px; margin-bottom:36px; }
.fs-home-page h2 { font-size:clamp(30px,3vw,42px); margin:0 0 20px; }
.fs-home-page .fs-collections-grid { padding-bottom:0; }
.fs-home-more { margin-top:28px; }
.fs-home-factory { display:grid; grid-template-columns:1.6fr 1fr; gap:24px; }
.fs-home-factory > .fs-home-media { aspect-ratio:auto; }
.fs-home-factory > div { display:grid; gap:24px; }
.fs-home-split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.fs-home-options { margin:28px 0; }
.fs-home-options > div { border-top:1px solid var(--fs-line); padding:12px 0; }
.fs-home-options dt { font-size:13px; font-weight:600; }
.fs-home-options dd { margin:4px 0 0; font-size:14px; color:#5c5a55; }
.fs-home-trust { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.fs-home-trust h3 { font-size:18px; margin:0 0 12px; }
.fs-home-trust p { font-size:14px; }
@media(max-width:1024px) { .fs-home-hero,.fs-home-split { gap:32px; } .fs-home-trust { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .fs-home-hero,.fs-home-split,.fs-home-factory { grid-template-columns:minmax(0,1fr); } .fs-home-hero { padding:36px 0 48px; } .fs-home-section { padding:44px 0; } .fs-home-factory > .fs-home-media { aspect-ratio:4/3; } .fs-home-trust { grid-template-columns:minmax(0,1fr); gap:20px; } }

/* Photography placement: preserve office/team faces and factory signage. */
.fs-home-factory > .fs-home-media img { object-fit:contain; }
.fs-home-team { aspect-ratio:3/2; }
.fs-home-team img { object-fit:contain; }
.fs-home-locations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:32px; }
.fs-home-locations figure { margin:0; min-width:0; }
.fs-home-locations .fs-home-media { aspect-ratio:16/9; }
.fs-home-locations img { object-fit:contain; }
.fs-home-locations figcaption { padding-top:12px; font-size:14px; }
@media(max-width:760px) { .fs-home-locations { grid-template-columns:minmax(0,1fr); } }
