/* Homepage: generous imagery, clear product discovery and personal service. */
body.home { --m-container: 1520px; --m-gutter: clamp(20px,3vw,44px); }
.home .m-h2 { font-family:var(--m-font-body);font-size:clamp(1.8rem,2.7vw,2.65rem);font-weight:650;line-height:1.15;letter-spacing:-.04em; }
.home .m-section { padding-block:64px; }
.home .m-section__head { gap:32px;margin-bottom:30px;align-items:end; }
.home .m-section__head .m-lead { max-width:75ch;margin:14px 0 0;font-size:1.05rem;line-height:1.5;color:#535353; }
.home .m-section__head .m-link-arrow { flex:none; }
.home .m-link-arrow { text-underline-offset:5px; }
.home .m-button { border-radius:999px;min-height:48px;padding:13px 23px; }
.home .m-eyebrow { font-family:var(--m-font-body);font-size:.78rem;letter-spacing:.055em;color:var(--m-red-600); }
.m-home-hero { background:#f8f7f3;padding-top:28px; }
.m-home-hero__grid { display:grid;grid-template-columns:.91fr 1.09fr;gap:40px;align-items:stretch; }
.m-home-hero__copy { display:flex;flex-direction:column;justify-content:center;padding:28px 0;min-width:0; }
.m-home-hero__question { font-size:clamp(1rem,1.5vw,1.35rem);font-weight:550;line-height:1.4;letter-spacing:-.015em;margin:0 0 24px; }
.m-home-hero h1 { font-size:clamp(3.3rem,5.35vw,5rem);font-family:var(--m-font-head);font-weight:700;line-height:1.07;letter-spacing:-.055em;margin:0 0 28px; }
.m-home-hero h1 em { font-style:normal;color:var(--m-red); }
.m-home-hero__lead { max-width:36ch;font-size:1.12rem;line-height:1.65;color:#484848;margin:0 0 30px; }
.m-home-actions { display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px; }
.m-home-actions .m-button--secondary { background:#fff;border-color:#fff; }
.m-home-actions .m-button--secondary:hover,
.m-home-actions .m-button--secondary:focus-visible { background:var(--m-ink);border-color:var(--m-ink);color:var(--m-white); }
.m-home-personal { display:flex;gap:12px;align-items:center;width:fit-content;text-decoration:none;color:#5a5a5a;font-size:.8rem;line-height:1.55; }
.m-home-personal>svg { color:var(--m-red); }
.m-home-personal strong { display:block;color:#222;font-size:.98rem;font-weight:600; }
.m-home-hero__pictures { display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-width:0;height:530px; }
.m-home-hero__pictures a { position:relative;overflow:hidden;border-radius:14px;color:#222;display:block; }
.m-home-hero__pictures img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease; }
.m-home-hero__pictures a:hover img { transform:scale(1.035); }
.m-home-hero__pictures span { position:absolute;inset:auto 18px 19px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.93rem;line-height:1.3;font-weight:600;z-index:1; }
.m-home-hero__pictures span svg { flex:none; }
.m-home-hero__photo { grid-row:1/3; }
.m-home-hero__photo:after { content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none; }
.m-home-hero__photo img { object-position:49% center; }
.m-home-hero__photo span { color:white; }
.m-home-hero__tile { background:#eee9e2; }
.m-home-hero__tile--shirt { background:#eceff2; }
.m-home-hero__pictures .m-home-hero__tile img { height:calc(100% - 44px);object-fit:contain;mix-blend-mode:multiply;padding:12px; }
.m-home-hero__pictures .m-home-hero__tile--bag img { width:125%;max-width:none;margin-left:-12.5%;padding:0; }
.m-home-proof { display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0; }
.m-home-proof p { margin:0;font-size:.88rem; }
.m-home-proof p strong { font-weight:500; }
.m-home-proof>a { display:flex;align-items:center;gap:8px;text-decoration:none;font-size:.85rem;white-space:nowrap; }
.m-home-proof__stars { color:#00b67a;font-size:1.15rem;letter-spacing:1px; }
.home .m-service-strip { border-top:0; }
.home .m-service-strip__inner { padding-block:26px;gap:24px; }
.home .m-service-strip__inner>* { justify-content:center;align-items:flex-start;font-size:.82rem; }
.home .m-service-strip strong { font-size:.95rem;margin-bottom:3px; }
.home .m-service-strip__inner .m-icon { width:20px;height:20px;margin-top:3px; }
.home .m-rail__track { grid-auto-columns:calc((100% - 60px)/4);gap:20px;padding-bottom:10px; }
.home .m-card__media { border-radius:18px;aspect-ratio:.85;background:#f6f6f6; }
.home .m-card__img { inset:2%;width:96%;height:96%;object-fit:contain; }
.home .m-card__body { padding:17px 0 0;gap:9px; }
.home .m-card__title { font-size:1.02rem;line-height:1.45;font-weight:500;min-height:2.9em; }
.home .m-card__swatches { order:-1;min-height:17px;margin-bottom:2px; }
.home .m-card__price { font-size:1.08rem;margin:3px 0; }
.home .m-card__meta { font-size:.8rem;line-height:1.5; }
.home .m-card__sku { font-size:.73rem;color:#666; }
.home .m-badge { top:14px;left:14px;border-radius:999px;background:#fce8e6;color:#8c211e;padding:7px 13px;font-size:.74rem; }
.home .m-rail-controls { margin-top:12px; }
.home .m-rail-controls button { border-radius:50%;width:44px;height:44px; }
.m-home-price-note { font-size:.76rem;color:#656565;margin:0;max-width:80ch; }
.home .m-home-categories { padding-top:12px; }
.m-home-categories__grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.m-home-category { position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;aspect-ratio:.75;padding:28px;border-radius:20px;text-decoration:none;color:#1c1c1c; }
.m-home-category--sand { background:#eee9e0; }.m-home-category--rose { background:#f8e7e3; }.m-home-category--blue { background:#e8eef2; }
.m-home-category>div { z-index:1; }
.m-home-category p { margin:0 0 5px;font-size:.9rem;font-weight:500; }
.m-home-category h3 { font-family:var(--m-font-body);font-size:clamp(1.25rem,2vw,1.9rem);font-weight:650;line-height:1.2;letter-spacing:-.035em;margin:0; }
.m-home-category>img { position:absolute;inset:85px 0 60px;width:100%;height:calc(100% - 145px);object-fit:contain;mix-blend-mode:multiply;transition:transform .3s; }
.m-home-category--sand>img { width:130%;max-width:none;left:-15%; }
.m-home-category--blue>img { padding:15px 24px; }
.m-home-category:hover { color:#111; }.m-home-category:hover>img { transform:scale(1.04); }
.m-home-category__cta { display:inline-flex;gap:15px;align-items:center;align-self:flex-start;background:#fff;border-radius:999px;padding:12px 18px;margin-top:auto;z-index:1;font-size:.88rem;font-weight:550; }
.home .m-clients { border:0;padding-block:18px 22px; }
.home .m-clients__head p { font-size:1rem; }
.home .m-clients__head span { font-size:.9rem; }
.home .m-clients__set li { width:188px;margin:8px 7px;padding:0 12px;background:#f7f6f3;border-radius:10px; }
.home .m-clients__set img { mix-blend-mode:multiply;width:156px;height:96px;object-fit:contain; }
.m-home-explore__grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px; }
.m-home-moment { color:#222;text-decoration:none; }
.m-home-moment__image { aspect-ratio:1;background:#f4f1ed;border-radius:18px;overflow:hidden;margin-bottom:20px; }
.m-home-moment__image img { display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:12px;transition:transform .3s; }
.m-home-moment__image.is-photo img { object-fit:cover;padding:0;mix-blend-mode:normal; }
.m-home-moment:hover img { transform:scale(1.04); }
.m-home-moment h3 { font-family:var(--m-font-body);font-size:1.25rem;font-weight:650;letter-spacing:-.025em;line-height:1.3;margin:0 0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px; }
.m-home-moment h3 svg { flex:none; }
.m-home-moment p { color:#555;font-size:.95rem;line-height:1.6;margin:0; }
.home .m-home-eco { padding-top:12px; }
.home .m-family { background:#f8f8f7;padding:64px 0; }
.home .m-family__grid { gap:clamp(32px,5vw,80px);background:transparent;grid-template-columns:1fr 1fr;align-items:stretch; }
.home .m-family__portrait { order:2;min-height:640px;border-radius:18px;overflow:hidden; }
.home .m-family__content { padding:12px 0; }
.home .m-family__content h2 { font-family:var(--m-font-body);font-size:clamp(2.4rem,3.5vw,3.25rem);font-weight:650; }
.home .m-family__content p { font-size:1rem; }
.home .m-family__content .m-family__intro { font-size:1.1rem; }
.home .m-family__content .m-button { margin-top:26px;align-self:flex-start; }
.m-home-support { margin-top:4px;width:100%; }
.m-home-support details { border-bottom:1px solid #cfcfcf; }
.m-home-support summary { list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;padding:19px 0;font-weight:600; }
.m-home-support summary::-webkit-details-marker { display:none; }
.m-home-support summary span { border:1px solid #aaa;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex:none;font-size:1.1rem;font-weight:400; }
.m-home-support details[open] summary span { transform:rotate(45deg); }
.home .m-home-support p { font-size:.9rem;margin:0 0 20px;line-height:1.65; }
.m-home-ideas__grid { display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center; }
.m-home-ideas__mosaic { display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:540px; }
.m-home-ideas__mosaic>img,.m-home-ideas__mosaic>a { border-radius:18px;overflow:hidden;width:100%;height:100%;min-height:0; }
.m-home-ideas__main { grid-row:1/3; }
.m-home-ideas__mosaic>a.m-home-ideas__main { background:#fff; }
.m-home-ideas__mosaic>a { display:block;background:#f3f1ee;transition:transform .2s ease; }.m-home-ideas__mosaic>a:last-child { background:#f8e7e3; }.m-home-ideas__mosaic>a:hover { transform:translateY(-2px); }
.m-home-ideas__mosaic>a img { display:block;width:100%;height:100%;object-fit:contain;padding:16px;mix-blend-mode:multiply; }
.m-home-ideas__copy .m-h2 { margin-bottom:25px; }
.m-home-ideas__copy>p:not(.m-eyebrow) { font-size:1.08rem;line-height:1.75;color:#505050; }
.m-home-ideas__copy .m-button { margin-top:8px; }
.m-home-ideas__copy>p.m-home-ideas__note { font-size:.78rem;line-height:1.6;margin:17px 0 0; }
.home .m-home-reviews { padding-top:20px;background:white; }
.home .m-reviews { display:flex;flex-direction:column;gap:24px; }
.home .m-ratings { display:flex;align-items:center;gap:28px; }
.home .m-rating { padding:0;background:transparent;box-shadow:none;border:0;margin:0;gap:10px; }
.home .m-rating__score { font-size:1.75rem; }.home .m-rating__detail { font-size:.78rem; }.home .m-stars { color:#986315; }.home .m-stars--trustpilot { color:#00b67a; }
.home .m-quotes { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.home .m-quote { border:1px solid #d5d5d5;border-radius:18px;padding:28px;display:flex;flex-direction:column;justify-content:space-between; }
.home .m-quote blockquote { font-size:1.02rem;line-height:1.65; }.home .m-quote blockquote p { margin-top:0; }
.home .m-quote__name { margin:16px 0 0;font-size:.88rem; }.home .m-credentials { margin-top:30px;padding-top:24px; }
.home .m-home-faq { padding-top:20px; }
.home .m-home-faq .m-faq { display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start; }
.home .m-home-faq .m-faq__head { margin:0;text-align:left; }
.home .m-home-faq .m-faq__head .m-lead { margin-top:24px;max-width:36ch;line-height:1.75; }
.home .m-home-faq .m-faq__item { border:0;border-bottom:1px solid #c7c7c7;border-radius:0;background:transparent;margin:0; }
.home .m-home-faq .m-faq__item:first-child { border-top:1px solid #c7c7c7; }
.home .m-home-faq .m-faq__item summary { font-size:1.06rem;line-height:1.5;padding:23px 0;gap:24px; }
.home .m-home-faq .m-faq__answer { padding:0 40px 20px 0;line-height:1.7;font-size:.95rem; }
.m-home-faq__link { display:inline-flex;margin-top:24px; }
.m-home-knowledge { background:#f6f6f4; }
.m-home-knowledge h2 { max-width:28ch;margin-bottom:28px; }
.m-home-knowledge__columns { display:grid;grid-template-columns:1fr 1fr;gap:72px; }
.m-home-knowledge p { font-size:1rem;line-height:1.8;margin:0 0 18px;color:#4d4d4d; }
.m-home-knowledge p a { color:#222;text-decoration:underline;text-underline-offset:3px; }
.m-home-guides__grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px; }
.m-home-guide { text-decoration:none;color:#222;display:flex;flex-direction:column; }
.m-home-guide>img { aspect-ratio:1.7;width:100%;height:auto;object-fit:contain;object-position:center;padding:12px;background:#f5f3f1;border-radius:16px;margin-bottom:23px; }
.m-home-guide:last-child>img { object-position:center 35%; }
.m-home-guide h3 { font-family:var(--m-font-body);font-size:1.35rem;font-weight:650;letter-spacing:-.025em;line-height:1.3;margin:0 0 13px; }
.m-home-guide p { color:#555;font-size:.96rem;line-height:1.65;margin:0 0 20px; }
.m-home-guide>span { margin-top:auto;display:flex;align-items:center;gap:12px;font-size:.85rem;font-weight:600; }
.home .m-band { background:#181818;color:#fff;border:0;padding-block:60px; }
.home .m-band:before,.home .m-band:after { display:none; }
.home .m-band__title { color:#fff;font-family:var(--m-font-body);font-weight:650;letter-spacing:-.035em; }
.home .m-band__text p { color:#d0d0d0;max-width:57ch; }
.home .m-band .m-button { background:var(--m-red);color:white;border-color:var(--m-red); }
.home .m-band__phone { color:#fff; }
.home .m-footer { background:#181818;color:#bdbdbd;border:0; }
.home .m-footer__grid { border-top:1px solid #393939;padding-top:44px;padding-bottom:40px; }
.home .m-footer a { color:#d0d0d0; }.home .m-footer a:hover { color:#fff; }
.home .m-footer__heading { color:#fff;font-size:1rem; }.home .m-footer__brand>p { color:#bdbdbd; }
.home .m-footer__trust { border-color:#393939; }.home .m-footer__trust p { color:#bdbdbd; }
.home .m-footer__legal { border-color:#393939;color:#aaa; }.home .m-footer__legal .m-link-button { color:#ccc; }
.home .m-footer__social a { border-color:#555; }
.m-footer__wordmark { font-family:var(--m-font-head);font-size:clamp(5rem,19vw,18rem);line-height:1.25;font-weight:700;letter-spacing:-.06em;color:#393939;padding-block:18px; }
@media(min-width:1600px) { .m-home-hero__pictures { height:570px; } }
@media(max-width:1100px) {
 .m-home-hero__grid { gap:24px;grid-template-columns:.95fr 1.05fr; }.m-home-hero__pictures { height:490px;grid-template-columns:1.2fr 1fr; }.m-home-hero h1 { font-size:clamp(2.8rem,5.3vw,3.8rem); }
 .m-home-hero__pictures span { font-size:.82rem;inset:auto 13px 16px; }.m-home-hero__lead { font-size:1rem; }.m-home-actions { gap:8px; }.m-home-actions .m-button { padding:12px 18px;font-size:.85rem; }
 .m-home-category { padding:24px;aspect-ratio:.68; }.m-home-category h3 { font-size:1.4rem; }.m-home-category p { font-size:.8rem; }
 .m-home-proof { flex-wrap:wrap;gap:12px; }.home .m-family__portrait { min-height:680px; }.home .m-family__content p { font-size:.92rem; }
 .m-home-ideas__mosaic { height:480px; }.m-home-ideas__copy>p:not(.m-eyebrow) { font-size:.98rem; }
 .home .m-home-faq .m-faq { gap:40px; }.m-home-knowledge__columns { gap:40px; }
}
@media(max-width:900px) {
 .home .m-section { padding-block:48px; }.home .m-section__head { gap:20px; }.home .m-section__head .m-lead { font-size:.95rem; }
 .m-home-hero__grid { grid-template-columns:1fr;gap:25px; }.m-home-hero__copy { padding:10px 0 0; }.m-home-hero h1 { font-size:clamp(3rem,7.8vw,4.8rem);margin-bottom:20px; }.m-home-hero__question { margin-bottom:16px; }
 .m-home-hero__lead { max-width:50ch;margin-bottom:22px; }.m-home-actions { margin-bottom:20px; }.m-home-personal { display:none; }
 .m-home-hero__pictures { height:490px;grid-template-columns:1.5fr 1fr; }.m-home-proof { padding-block:22px; }
 .home .m-service-strip__inner { grid-template-columns:1fr 1fr; }.home .m-service-strip__inner>* { justify-content:flex-start; }
 .home .m-rail__track { grid-auto-columns:calc((100% - 32px)/3);gap:16px; }.home .m-card__title { font-size:.94rem; }
 .m-home-category { padding:20px;aspect-ratio:.61; }.m-home-category h3 { font-size:1.22rem; }.m-home-category__cta { padding:10px 13px;font-size:.78rem;gap:7px; }.m-home-category p { max-width:18ch; }
 .m-home-explore__grid { grid-template-columns:1fr 1fr;gap:28px 20px; }
 .home .m-family { padding-block:48px; }.home .m-family__grid { grid-template-columns:1fr;gap:28px; }.home .m-family__portrait { order:0;min-height:0;aspect-ratio:1.25; }.home .m-family__content { padding:0; }.home .m-family__content p { font-size:1rem; }.home .m-family__content h2 { font-size:2.6rem; }.home .m-family__content .m-eyebrow { font-size:.75rem; }
 .m-home-ideas__grid { gap:32px; }.m-home-ideas__mosaic { height:460px; }.m-home-ideas__copy .m-h2 { font-size:1.8rem; }
 .home .m-quotes { gap:16px; }.home .m-quote { padding:20px; }.home .m-quote blockquote { font-size:.92rem; }
 .home .m-home-faq .m-faq { grid-template-columns:1fr;gap:25px; }.home .m-home-faq .m-faq__head .m-lead { max-width:55ch;margin-top:16px; }
 .m-home-guides__grid { gap:20px; }.m-home-guide h3 { font-size:1.1rem; }.m-home-guide p { font-size:.9rem; }
}
@media(max-width:639px) {
 .home .m-section { padding-block:36px; }.home .m-section__head { flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px; }.home .m-h2 { font-size:1.85rem; }.home .m-section__head .m-link-arrow { font-size:.85rem; }
 .m-home-hero { padding-top:22px; }.m-home-hero__question { font-size:1rem; }.m-home-hero h1 { font-size:clamp(2.7rem,11.7vw,4.4rem);line-height:1.1; }.m-home-hero__lead { font-size:1rem;line-height:1.6; }
 .m-home-hero__pictures { height:390px;gap:9px;grid-template-columns:1.18fr 1fr; }.m-home-hero__pictures a { border-radius:11px; }.m-home-hero__pictures span { font-size:.78rem;inset:auto 11px 14px;gap:6px; }.m-home-hero__photo span svg { display:none; }.m-home-hero__pictures .m-home-hero__tile img { padding:5px;height:calc(100% - 40px); }.m-home-hero__pictures .m-home-hero__tile--bag img { padding:0; }
 .m-home-proof p { line-height:1.6;font-size:.8rem; }.m-home-proof p strong { display:block; }.m-home-proof>a { font-size:.78rem; }
 .home .m-service-strip__inner { gap:20px 14px;padding-block:22px; }.home .m-service-strip strong { font-size:.82rem; }.home .m-service-strip__inner>* { font-size:.75rem;gap:8px; }.home .m-service-strip__inner .m-icon { width:17px;height:17px; }
 .home .m-rail__track { grid-auto-columns:78%;gap:14px; }.home .m-card__media { aspect-ratio:.96; }.home .m-card__title { font-size:1rem; }.m-home-price-note { font-size:.72rem;margin-top:8px; }
 .m-home-categories__grid { grid-template-columns:1fr;gap:16px; }.m-home-category { aspect-ratio:.87;padding:25px; }.m-home-category h3 { font-size:1.55rem; }.m-home-category p { max-width:none;font-size:.9rem; }.m-home-category>img { inset:90px 0 58px;height:calc(100% - 148px); }.m-home-category--sand>img { left:-15%; }.m-home-category__cta { padding:11px 17px;font-size:.88rem; }
 .home .m-clients__head { align-items:flex-start;gap:16px; }.home .m-clients__head p { font-size:.9rem; }.home .m-clients__head span { display:block;margin:5px 0 0;font-size:.78rem;line-height:1.5; }.home .m-clients__head button { font-size:.72rem; }.home .m-clients__set li { width:155px; }.home .m-clients__set img { height:85px;width:136px; }
 .m-home-explore__grid { gap:25px 14px; }.m-home-moment__image { border-radius:12px;margin-bottom:15px; }.m-home-moment h3 { font-size:1.03rem;line-height:1.35;gap:5px; }.m-home-moment h3 svg { display:none; }.m-home-moment p { font-size:.83rem;line-height:1.55; }
 .home .m-family { padding-block:36px; }.home .m-family__portrait { aspect-ratio:.92; }.home .m-family__content h2 { font-size:2.4rem; }.home .m-family__content p { font-size:.96rem; }.home .m-family__content .m-family__intro { font-size:1.08rem; }
 .m-home-ideas__grid { grid-template-columns:1fr;gap:30px; }.m-home-ideas__mosaic { height:390px;gap:10px; }.m-home-ideas__mosaic>img,.m-home-ideas__mosaic>a { border-radius:12px; }.m-home-ideas__copy .m-h2 { font-size:1.85rem; }.m-home-ideas__copy .m-button { padding-inline:19px; }
 .home .m-ratings { flex-wrap:wrap;gap:20px; }.home .m-rating__score { font-size:1.5rem; }.home .m-quotes { grid-template-columns:1fr; }.home .m-quote { padding:25px; }.home .m-quote blockquote { font-size:1rem; }
 .home .m-home-faq .m-faq__item summary { font-size:.96rem;padding-block:19px; }.home .m-home-faq .m-faq__answer { font-size:.9rem;padding-right:12px; }
 .m-home-knowledge__columns { grid-template-columns:1fr;gap:2px; }.m-home-knowledge p { font-size:.95rem;line-height:1.75; }
 .m-home-guides__grid { grid-template-columns:1fr;gap:34px; }.m-home-guide h3 { font-size:1.3rem; }.m-home-guide p { font-size:.96rem; }.m-home-guide>img { margin-bottom:19px; }
 .home .m-band { padding-block:40px; }.home .m-band__title { font-size:1.9rem; }.home .m-footer__grid { padding-top:32px; }.m-footer__wordmark { font-size:24vw; }
}
@media(prefers-reduced-motion:reduce) { .m-home-hero__pictures img,.m-home-category>img,.m-home-moment__image img { transition:none; } }
.m-home-guide:first-child>img,.m-home-guide:last-child>img { object-position:center; }
.home .m-home-faq .m-faq__head .m-button { margin-top:8px; }
.home .m-band__inner { padding-block:0; }
@media(max-width:639px) {
 .m-home-hero__pictures { grid-template-columns:1fr 1fr;grid-template-rows:min(80vw,360px) min(54vw,235px);height:auto; }
 .m-home-hero__photo { grid-row:1;grid-column:1 / -1; }
 .m-home-hero__photo img { object-position:50% 58%; }
 .m-home-hero__photo span svg { display:block; }
}
@media(min-width:901px) and (max-width:1100px) {
 .m-home-hero__pictures { grid-template-columns:1.8fr 1fr;height:460px; }
}

/* Single-product photography: quiet backgrounds and one clear subject per tile. */
.m-home-hero__photo { background:#eeeae4; }
.m-home-hero__photo:after { display:none; }
.m-home-hero__pictures .m-home-hero__photo img { position:absolute;top:8px;left:-21%;width:142%;max-width:none;height:calc(100% - 62px);padding:12px 0;object-fit:contain;object-position:center;mix-blend-mode:multiply; }
.m-home-hero__photo span { color:var(--m-ink); }
.m-home-moment__image { background:#f5f3f0; }
.m-home-moment__image img { padding:18px;object-fit:contain; }
@media(max-width:639px) {
 .m-home-hero__pictures .m-home-hero__photo img { left:0;width:100%;top:0;height:calc(100% - 40px);padding:8px; }
 .m-home-moment__image img { padding:10px; }
}

/* Hero after Arlene's feedback of 18 September: white, one product photo, her lettering. */
.m-home-hero { background:#fff; }
.m-home-hero__question { margin:0 0 18px; }
.m-home-hero__question img { display:block;width:min(100%,390px);height:auto; }
.m-home-hero__feature { margin:0;min-width:0;border-radius:18px;overflow:hidden;background:#efeeec;aspect-ratio:4 / 5;max-height:640px;justify-self:end;width:100%; }
.m-home-hero__feature img { display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%; }
@media(min-width:901px) { .m-home-hero__grid { grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;align-items:center; }.m-home-hero__feature { aspect-ratio:auto;height:600px; } }
@media(min-width:1101px) { .m-home-hero__grid { grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(24px,2vw,32px); } }
@media(max-width:900px) { .m-home-hero__question img { width:min(100%,340px); }.m-home-hero__feature { aspect-ratio:1 / 1; } }
@media(max-width:639px) { .m-home-hero__question img { width:min(88%,300px); }.m-home-hero__feature { border-radius:12px; } }

/* Contact banner with Mannik's glasses artwork (homepage only). */
.home .m-band.m-band--glasses { background:#f6f5f3;color:var(--m-ink);border-top:1px solid var(--m-line); }
.home .m-band--glasses .m-band__title { color:var(--m-ink); }
.home .m-band--glasses .m-band__text p { color:#555; }
.home .m-band--glasses .m-band__phone { color:var(--m-ink); }
.m-band__glasses { display:block;width:min(70vw,240px);height:auto; }
@media(min-width:1024px) { .m-band--glasses .m-band__inner { grid-template-columns:260px minmax(0,1fr) auto;gap:48px; }.m-band__glasses { width:100%; } }

/* Product discovery: one calm, accessible carousel with two useful views. */
.m-home-discovery { background:#faf9f6; }
.m-product-tabs__controls { display:flex;align-items:center;gap:8px;margin:-4px 0 28px;padding:5px;width:fit-content;border:1px solid #d8d5d0;border-radius:999px;background:#fff; }
.m-product-tabs__controls button { min-height:42px;padding:9px 18px;border:0;border-radius:999px;background:transparent;color:#5b5b5b;font:600 .9rem/1 var(--m-font-body);cursor:pointer; }
.m-product-tabs__controls button[aria-selected="true"] { background:#202020;color:#fff; }
.m-product-tabs__controls button:focus-visible { outline:3px solid rgba(226,39,38,.25);outline-offset:2px; }
.m-product-tabs__panel[hidden] { display:none; }

/* Editorial use-case story: one sticky narrative beside real-world merchandise. */
.m-home-lifestyle { background:#1c1c1c;color:#fff; }
.m-home-lifestyle__grid { display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:clamp(44px,7vw,112px);align-items:start; }
.m-home-lifestyle__intro { position:sticky;top:156px;padding-top:12px; }
.m-home-lifestyle__intro .m-eyebrow { color:#ff817a; }
.m-home-lifestyle__intro .m-h2 { color:#fff;font-size:clamp(2.5rem,4.2vw,4.35rem);margin:0 0 26px; }
.m-home-lifestyle__intro>p:not(.m-eyebrow) { max-width:34ch;color:#d4d4d4;font-size:1.05rem;line-height:1.75;margin:0 0 30px; }
.m-home-lifestyle__intro .m-button { background:var(--m-red);border-color:var(--m-red);color:#fff; }
.m-home-lifestyle__stories { display:grid;gap:28px; }
.m-lifestyle-story { position:relative;display:block;overflow:hidden;border-radius:20px;aspect-ratio:3 / 2;color:#fff;text-decoration:none;background:#333;isolation:isolate; }
.m-lifestyle-story:after { content:"";position:absolute;inset:38% 0 0;z-index:1;background:linear-gradient(transparent,rgba(0,0,0,.78));pointer-events:none; }
.m-lifestyle-story picture,.m-lifestyle-story img { display:block;width:100%;height:100%; }
.m-lifestyle-story img { object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.m-lifestyle-story:hover img { transform:scale(1.025); }
.m-lifestyle-story>span { position:absolute;z-index:2;left:clamp(20px,3vw,38px);right:clamp(20px,3vw,38px);bottom:clamp(20px,3vw,34px);display:grid;grid-template-columns:1fr auto;align-items:end;gap:7px 20px; }
.m-lifestyle-story small { grid-column:1 / -1;color:#ffd3d0;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase; }
.m-lifestyle-story strong { max-width:24ch;font-size:clamp(1.25rem,2vw,2rem);line-height:1.15;letter-spacing:-.025em; }
.m-lifestyle-story svg { margin-bottom:3px; }

/* Keep the FAQ introduction present while the longer answer list scrolls. */
@media(min-width:1024px) { .home .m-home-faq .m-faq__head { position:sticky;top:156px;align-self:start; } }

/* Scroll reveal: progressive enhancement, transform/opacity only, no layout shift. */
.home .m-reveal { opacity:0;transform:translateY(26px);transition:opacity .58s ease,transform .64s cubic-bezier(.2,.7,.2,1); }
.home .m-reveal .m-reveal-item { opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .58s cubic-bezier(.2,.7,.2,1);transition-delay:var(--m-reveal-delay,0ms); }
.home .m-reveal.is-visible,.home .m-reveal.is-visible .m-reveal-item { opacity:1;transform:none; }

@media(max-width:900px) {
 .m-home-lifestyle__grid { grid-template-columns:1fr;gap:30px; }
 .m-home-lifestyle__intro { position:static;padding:0; }
 .m-home-lifestyle__intro>p:not(.m-eyebrow) { max-width:55ch; }
 .m-home-lifestyle__stories { grid-template-columns:1fr 1fr;gap:18px; }
 .m-lifestyle-story { aspect-ratio:4 / 5; }
}
@media(max-width:639px) {
 .m-product-tabs__controls { margin-bottom:22px; }
 .m-product-tabs__controls button { min-height:40px;padding:8px 14px;font-size:.82rem; }
 .m-home-lifestyle__stories { grid-template-columns:1fr;gap:16px; }
 .m-lifestyle-story { aspect-ratio:1.08; }
 .m-home-lifestyle__intro .m-h2 { font-size:2.55rem; }
 .m-lifestyle-story strong { font-size:1.25rem; }
}
@media(prefers-reduced-motion:reduce) {
 .home .m-reveal,.home .m-reveal .m-reveal-item { opacity:1;transform:none;transition:none; }
 .m-lifestyle-story img { transition:none; }
}

/* Maxx, 5 October: centre the copy above Browse products on phones only. */
@media(max-width:639px) {
 .m-home-hero__copy { text-align:center; }
 .m-home-hero__question img { margin-inline:auto; }
 .m-home-hero__lead { margin-inline:auto; }
 .m-home-categories #m-categories-title { font-size:clamp(1.25rem,5.5vw,1.85rem); }
}

/* Keep optimised picture wrappers inside the same uncropped image boxes. */
.m-home-ideas__mosaic>a>picture { display:block;width:100%;height:100%; }
.m-home-guide>picture { display:block;aspect-ratio:1.7;width:100%;margin-bottom:23px;overflow:hidden;border-radius:16px;background:#f5f3f1; }
.m-home-guide>picture>img { display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:12px; }
@media(max-width:639px) { .m-home-guide>picture { margin-bottom:19px; } }

/* Phone and email stay visible in the hero at every screen size. */
.m-home-hero__copy .m-home-actions { margin-bottom:0; }
.m-home-hero__copy .m-direct-contact { margin-top:20px; }
.m-home-ideas__copy .m-direct-contact .m-direct-contact__prompt { font-size:.9rem; }
.home .m-band__actions .m-contact-cta { border-color:#b8b8b8; }
@media(max-width:639px) {
 .m-home-hero__copy .m-direct-contact__actions { justify-content:center; }
}
@media(min-width:1024px) and (max-width:1200px) {
 .m-band--glasses .m-band__inner { grid-template-columns:140px minmax(0,1fr) auto;gap:28px; }
}

/* Maxx, 6 October: centre and match all four phone hero action sizes. */
@media(max-width:639px) {
 .m-home-hero__copy .m-home-actions,
 .m-home-hero__copy .m-direct-contact__actions { justify-content:center;gap:10px; }
 .m-home-hero__copy .m-home-actions .m-button,
 .m-home-hero__copy .m-contact-cta { flex:0 0 160px;width:160px;max-width:100%;min-height:44px;padding:11px 12px;border-width:1px;font-size:.875rem;font-weight:600;line-height:1.3;gap:8px;white-space:nowrap; }
}
