/* Three interlocking columns inspired by the Kârma printed identity. */
.home-page .signature-nav{align-items:center;gap:28px}
.home-page .signature-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1;text-align:center;white-space:nowrap}
.home-page .signature-nav a>span{font-size:21px;font-weight:600;letter-spacing:-1px}
.home-page .signature-nav a>small{font-size:6px;font-weight:500;letter-spacing:1px;text-transform:uppercase;opacity:1;color:#ed7032}
.home-page .signature-nav a:hover{text-decoration:none;opacity:.72}
.home-page .hero.hero-mosaic{
 --mosaic-radius:33%;display:grid;grid-template-columns:1fr 1.08fr 1fr;
 gap:18px;padding:26px 4% 42px;min-height:0;height:auto;max-height:none;
 background:var(--brand-khaki);color:var(--brand-khaki);overflow:hidden
}
.hero-mosaic .mosaic-column{display:flex;flex-direction:column;gap:18px;min-width:0}
.hero-mosaic .mosaic-card{background:var(--brand-cream);border-radius:var(--mosaic-radius);padding:48px 34px;position:relative}
.hero-mosaic .mosaic-eyebrow{color:var(--brand-khaki);font-size:8px;font-weight:500;letter-spacing:1.5px;line-height:1.7;margin:0 0 26px}
.hero-mosaic .mosaic-pitch{min-height:455px;display:flex;flex-direction:column;justify-content:center;flex:1}
.home-page .hero-mosaic h1{font-size:clamp(48px,5.2vw,87px);line-height:.98;letter-spacing:-.065em;margin:0;color:var(--brand-khaki)}
.home-page .hero-mosaic h1 em{color:var(--brand-terracotta);font-weight:400;text-decoration:none}
.hero-mosaic .mosaic-description{font-size:12px;line-height:1.8;color:rgb(72 74 29 / .8);margin:25px 0}
.hero-mosaic .mosaic-link{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgb(72 74 29 / .4);font-size:11px;color:var(--brand-khaki)}
.hero-mosaic svg{width:23px;height:23px;flex-shrink:0;transition:transform .25s}
.hero-mosaic a:hover svg{transform:translate(3px,-2px)}
.hero-mosaic a:focus-visible{outline-color:var(--brand-terracotta)}
.hero-mosaic .mosaic-photo{margin:0;position:relative;isolation:isolate;border:4px solid var(--brand-terracotta);border-radius:var(--mosaic-radius);overflow:hidden;background:var(--brand-khaki);min-width:0}
.hero-mosaic .mosaic-photo>img{height:100%;width:100%;object-fit:cover}
.hero-mosaic .mosaic-photo::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgb(18 25 12 / .7));pointer-events:none}
.hero-mosaic .mosaic-photo figcaption{position:absolute;z-index:1;bottom:28px;left:22px;right:20px;color:var(--brand-cream);font-size:10px;letter-spacing:.3px;text-align:center}
.hero-mosaic .mosaic-photo figcaption small{display:block;font-size:.8em;line-height:1.5;margin-top:4px;color:inherit}
.hero-mosaic .mosaic-table{height:255px;flex-shrink:0}
.hero-mosaic .mosaic-table img{object-position:50% 47%}
.hero-mosaic .mosaic-middle{padding-top:65px}
.hero-mosaic .mosaic-bedroom{height:365px;flex-shrink:0}
.hero-mosaic .mosaic-bedroom img{object-position:50% 54%}
.hero-mosaic .mosaic-cta{flex:1;min-height:295px;display:flex;flex-direction:column;justify-content:center;padding:44px 36px}
.hero-mosaic .mosaic-picto{position:absolute;top:32px;right:44px;width:30px;height:30px;object-fit:contain}
.hero-mosaic .mosaic-cta .mosaic-eyebrow{font-size:7px;margin:0 35px 17px 0;letter-spacing:1px}
.home-page .hero-mosaic .mosaic-cta h2{font-size:clamp(25px,2.8vw,44px);font-weight:400;letter-spacing:-1.5px;line-height:1.04;color:var(--brand-khaki);margin:0 0 24px}
.hero-mosaic .mosaic-button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 18px;border-radius:16px;min-height:52px;background:var(--brand-khaki);color:var(--brand-cream);font-size:11px;transition:background .25s}
.hero-mosaic .mosaic-button:hover{background:var(--brand-terracotta);color:var(--brand-cream)}
.hero-mosaic .mosaic-brand{height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.hero-mosaic .mosaic-brand>img{width:115px;height:115px;object-fit:contain;margin-bottom:24px}
.hero-mosaic .mosaic-brand>p{color:var(--brand-khaki);font-size:18px;letter-spacing:4px;margin:0 0 12px;text-align:center;white-space:nowrap}
.hero-mosaic .mosaic-brand>span{font-size:11px;color:rgb(72 74 29 / .8)}
.hero-mosaic .mosaic-night{flex:1;min-height:420px}
.hero-mosaic .mosaic-night img{position:absolute;inset:0;object-position:50% 57%}
@media(min-width:1600px){.home-page .hero.hero-mosaic{padding-inline:max(4%,calc((100vw - 1500px)/2));gap:22px}.hero-mosaic .mosaic-column{gap:22px}}
@media(max-width:1050px) and (min-width:701px){
 .home-page .signature-nav{gap:14px}
 .home-page .signature-nav a>span{font-size:15px;letter-spacing:-.5px}
 .home-page .signature-nav a>small{font-size:5px;letter-spacing:.5px}
 .home-page .hero.hero-mosaic{padding:22px 3% 35px;gap:12px}
 .hero-mosaic .mosaic-column{gap:12px}
 .hero-mosaic .mosaic-card{padding:45px 22px}
 .hero-mosaic .mosaic-eyebrow{font-size:6px;letter-spacing:1px;margin-bottom:22px}
 .hero-mosaic .mosaic-pitch{min-height:370px}
 .hero-mosaic .mosaic-description{font-size:10px}.hero-mosaic .mosaic-link{font-size:9px}
 .hero-mosaic .mosaic-table{height:225px}
 .hero-mosaic .mosaic-middle{padding-top:45px}
 .hero-mosaic .mosaic-bedroom{height:320px}
 .hero-mosaic .mosaic-cta{min-height:265px;padding:42px 25px}
 .hero-mosaic .mosaic-cta .mosaic-eyebrow{font-size:6px;letter-spacing:.5px;margin-right:25px}
 .hero-mosaic .mosaic-picto{width:24px;height:24px;top:27px;right:35px}
 .hero-mosaic .mosaic-button{font-size:9px;padding:12px;gap:8px}
 .hero-mosaic .mosaic-brand{height:225px}
 .hero-mosaic .mosaic-brand>img{width:93px;height:93px;margin-bottom:18px}
 .hero-mosaic .mosaic-brand>p{font-size:14px;letter-spacing:2.5px}
 .hero-mosaic .mosaic-brand>span{font-size:9px}
 .hero-mosaic .mosaic-night{min-height:370px}
}
@media(min-width:701px){
 .home-page .hero.hero-mosaic{
  display:block;position:relative;height:clamp(930px,65vw,1120px);min-height:930px;
  padding:0;isolation:isolate;overflow:hidden
 }
 .hero-mosaic .mosaic-column{display:contents}
 .hero-mosaic .mosaic-card,.hero-mosaic .mosaic-photo{
  position:absolute;flex:none;min-height:0;transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease
 }
 .hero-mosaic .mosaic-card:hover,.hero-mosaic .mosaic-photo:hover{z-index:8;box-shadow:0 28px 70px rgb(25 27 8 / .24)}
 .hero-mosaic .mosaic-pitch{
  z-index:5;left:3%;top:8%;width:35%;height:45%;padding:56px 42px;
  border-radius:26% 38% 22% 34%;transform:rotate(-4deg)
 }
 .hero-mosaic .mosaic-pitch:hover{transform:rotate(-1deg) translateY(-8px)}
 .hero-mosaic .mosaic-bedroom{
  z-index:4;left:30%;top:5%;width:42%;height:34%;
  border-radius:34% 18% 32% 20%;transform:rotate(4.8deg)
 }
 .hero-mosaic .mosaic-bedroom:hover{transform:rotate(.8deg) translateY(-8px)}
 .hero-mosaic .mosaic-brand{
  z-index:3;right:3%;top:8%;width:22%;height:24%;padding:28px;
  border-radius:20% 38% 24% 34%;transform:rotate(-5.5deg)
 }
 .hero-mosaic .mosaic-brand:hover{transform:rotate(-.5deg) translateY(-8px)}
 .hero-mosaic .mosaic-table{
  z-index:3;left:5%;top:62%;width:32%;height:27%;
  border-radius:22% 36% 18% 30%;transform:rotate(6deg)
 }
 .hero-mosaic .mosaic-table:hover{transform:rotate(1.2deg) translateY(-8px)}
 .hero-mosaic .mosaic-cta{
  z-index:6;left:33%;top:48%;width:31%;height:31%;padding:48px 38px;
  border-radius:32% 20% 36% 18%;transform:rotate(-5deg)
 }
 .hero-mosaic .mosaic-cta:hover{transform:rotate(-1deg) translateY(-8px)}
 .hero-mosaic .mosaic-night{
  z-index:1;right:5%;top:39%;width:38%;height:50%;
  border-radius:28% 16% 32% 20%;transform:rotate(4deg)
 }
 .hero-mosaic .mosaic-night:hover{transform:rotate(1deg) translateY(-8px)}
}
@media(max-width:700px){
 .home-page .hero.hero-mosaic{grid-template-columns:repeat(12,minmax(0,1fr));gap:0;padding:24px 6% 30px;height:auto;min-height:0;isolation:isolate}
 .hero-mosaic .mosaic-column{display:contents}
 .hero-mosaic .mosaic-card{padding:26px}
 .hero-mosaic .mosaic-pitch{order:1;grid-column:1/12;grid-row:1;min-height:0;padding:35px 27px 28px;z-index:3;transform:rotate(-3deg);border-radius:26% 35% 23% 30%}
 .hero-mosaic .mosaic-eyebrow{font-size:7px;letter-spacing:1.1px;margin-bottom:22px}
 .home-page .hero-mosaic h1{font-size:clamp(46px,14vw,86px);line-height:.97}
 .hero-mosaic .mosaic-description{font-size:12px;margin:22px 0 14px;max-width:310px}
 .hero-mosaic .mosaic-link{font-size:11px;padding:12px 0}
 .hero-mosaic .mosaic-bedroom{order:2;grid-column:1/9;grid-row:2;height:235px;min-height:0;margin-top:20px;z-index:2;transform:rotate(5deg);border-radius:30% 18% 28% 20%}
 .hero-mosaic .mosaic-brand{order:3;grid-column:8/13;grid-row:2;height:175px;min-height:0;padding:15px 10px;margin-top:55px;z-index:3;transform:rotate(-6deg);border-radius:24% 35% 20% 30%}
 .hero-mosaic .mosaic-brand>img{width:65px;height:65px;margin-bottom:18px}
 .hero-mosaic .mosaic-brand>p{font-size:11px;letter-spacing:1.5px;white-space:normal;line-height:1.6}
 .hero-mosaic .mosaic-brand>span{font-size:9px;text-align:center;line-height:1.6}
 .hero-mosaic .mosaic-cta{order:4;grid-column:2/13;grid-row:3;min-height:0;padding:30px 27px;margin-top:16px;z-index:4;transform:rotate(3deg);border-radius:30% 20% 32% 22%}
 .hero-mosaic .mosaic-cta .mosaic-eyebrow{font-size:7px;margin-right:38px;margin-bottom:16px}
 .home-page .hero-mosaic .mosaic-cta h2{font-size:clamp(29px,8.7vw,45px);margin-bottom:22px}
 .hero-mosaic .mosaic-button{font-size:11px}
 .hero-mosaic .mosaic-table{order:5;grid-column:1/9;grid-row:4;height:200px;min-height:0;margin-top:22px;z-index:2;transform:rotate(-5deg);border-radius:20% 30% 24% 35%}
 .hero-mosaic .mosaic-night{order:6;grid-column:7/13;grid-row:4;height:245px;min-height:0;margin-top:60px;z-index:1;transform:rotate(5deg);border-radius:30% 20% 35% 24%}
 .hero-mosaic .mosaic-photo{border-width:3px}
 .hero-mosaic .mosaic-photo figcaption{font-size:8px;left:18px;right:18px;bottom:25px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.hero-mosaic *{transition:none!important}}
