/* Homepage (Release 6 redesign). Layout and colour only; type sizes come from typography.css roles. */
.home-page main{background:#fff;color:#241F1C}
.home-wrap{max-width:1280px;margin:0 auto;padding:96px 32px}
.home-dark{background:radial-gradient(ellipse at top,#51303C,transparent 75%),#18191D;color:#fff}
.home-warm{background:#F3F0ED}
.home-white{background:#fff}
.home-heading{text-align:center;margin:0 0 56px}
.home-heading h2{margin:0 0 16px}
.home-heading p{margin:0 auto;max-width:680px;color:#625B58}
.home-heading .site-eyebrow{margin:0 0 12px;color:#C8102E}
.home-row{display:flex;flex-wrap:wrap;gap:32px}
.home-card{background:#FAF9F8;border:1px solid #E8E5E3;border-radius:12px;padding:32px;box-shadow:0 4px 14px #17181b06}
.home-card h3{margin:0 0 12px}
.home-card p{margin:0;color:#625B58}
.home-badge{width:64px;height:64px;border-radius:50%;background:#C8102E;color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
.home-badge svg{width:26px;height:26px}
.home-page main a:not(.home-button){color:#C8102E;text-decoration:none}
.home-page main a:not(.home-button):hover{color:#8F0B20}
.home-page main a:focus-visible{outline:2px solid #C8102E;outline-offset:4px}

/* Buttons */
.home-button{display:inline-flex;align-items:center;min-height:44px;padding:12px 32px;border-radius:8px;text-decoration:none;transition:background-color .2s,color .2s}
.home-button-primary{background:#C8102E;color:#fff}
.home-button-primary:hover{background:#8F0B20;color:#fff}
.home-button-outline{border:2px solid #D8D3D1;color:#fff}
.home-button-outline:hover{background:#fff;color:#141518}

/* Hero */
.home-intro{background:radial-gradient(at 90% 30%,#55303B 0,transparent 55%),#18191D;color:#fff}
.home-intro .home-wrap{padding:128px 32px 112px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:48px}
.home-intro-copy{flex:1 1 480px;min-width:0;max-width:620px}
.home-intro .site-eyebrow{margin:0 0 14px;color:#C8102E}
.home-intro h1{margin:0;color:#fff}
.home-intro .hero-summary{margin:20px 0 0;color:#D3CDD0}
.home-intro .hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}

/* Hero illustration: three isometric cubes joined by dashed connectors. */
.home-cubes{position:relative;width:300px;height:270px;max-width:100%}
.home-cubes-lines{position:absolute;left:0;top:0;width:300px;height:240px;fill:none;stroke:#C8102E;stroke-width:1;stroke-dasharray:4 5}
.home-cube{position:absolute;width:94px;height:94px}
.home-cube-0{left:0;top:0}.home-cube-1{left:206px;top:0}.home-cube-2{left:103px;top:145px}
.home-cube svg{position:absolute;left:0;top:0;width:94px;height:100px;animation:home-cube-breathe 3.6s ease-in-out infinite;filter:drop-shadow(0 10px 8px #0005)}
.home-cube-1 svg{animation-delay:1.2s}.home-cube-2 svg{animation-delay:2.4s}
.home-cube span{position:absolute;top:104px;left:0;width:100%;text-align:center;font-size:12px;font-weight:500;color:#F3F2F2}
.cube-face-top{fill:#C8102E}.cube-face-left{fill:#8F0B20}.cube-face-right{fill:#570C1A}
.cube-face-edges{fill:none;stroke:#D14B62;stroke-width:1;stroke-linejoin:round}
.cube-face-icon{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@keyframes home-cube-breathe{0%,100%{opacity:1;filter:drop-shadow(0 0 12px #C8102E80) brightness(1.2)}50%{opacity:.85;filter:drop-shadow(0 10px 8px #0005) brightness(1)}}

/* Promise bar */
.home-promises{background:#141518;border-top:1px solid #2A2B30}
.home-promises ul{max-width:1280px;margin:0 auto;padding:22px 32px;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 48px;color:#F3F2F2;font-weight:500}
.home-promises li{display:inline-flex;align-items:center;gap:10px}
.home-promises svg{width:20px;height:20px;flex:none;fill:none;stroke:#E8213C;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* Problems, packages and services */
.home-problems .home-card{flex:1 1 240px}
.home-packages .home-card{flex:1 1 300px;background:#fff;text-align:center;display:flex;flex-direction:column}
.home-packages .home-card-featured{border:2px solid #C8102E}
.home-packages .home-card>p{margin-bottom:24px}
.home-package-terms{margin-top:auto;border-top:1px solid #E8E5E3;padding-top:20px}
.home-package-terms .package-price{margin:0;color:#241F1C}
.home-package-terms .site-supporting{margin:4px 0 0}
.home-packages .site-statement{margin:40px 0 0;text-align:center}
.home-services .home-card{flex:1 1 300px;text-align:center}
.home-services .home-card h3{margin-bottom:16px}
.home-services .home-card p{margin-bottom:24px}
.home-services .home-card a{font-weight:600}
.home-also{margin-top:32px;padding:24px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 28px}
.home-also strong{font-weight:600}

/* How it works */
.home-steps{display:flex;flex-wrap:wrap;gap:48px;margin:0;padding:0}
.home-steps li{flex:1 1 280px;text-align:center;list-style:none}
.home-steps h3{margin:0 0 16px}
.home-steps p{margin:0;color:#D8D3D1}

/* About and team */
.home-about .home-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.home-about-copy{flex:1 1 480px;min-width:0}
.home-about-copy .site-eyebrow{margin:0 0 12px;color:#C8102E}
.home-about-copy h2{margin:0 0 20px}
.home-about-copy p{margin:0 0 16px;color:#625B58}
.home-about-copy p:last-child{margin-bottom:0}
.home-team{flex:1 1 480px;min-width:0;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;list-style:none;margin:0;padding:0}
.home-team li{flex:1 1 130px;text-align:center}
.home-team-photo{width:120px;height:120px;border-radius:50%;background:#F3F0ED;border:1px solid #E8E5E3;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;color:#625B58}
img.home-team-photo{display:block;object-fit:cover;object-position:50% 30%}
.home-team p{margin:0}
.home-team .home-team-name{font-weight:600}
.home-team .site-supporting{color:#625B58}

/* Testimonials */
.home-quotes figure{flex:1 1 300px;margin:0;background:#fff;border:1px solid #E8E5E3;border-radius:12px;padding:32px}
.home-quotes blockquote{margin:0 0 20px}
.home-quotes figcaption{color:#625B58}
.home-quotes figcaption strong{color:#241F1C}

/* Closing call to action */
.home-contact .home-wrap{max-width:900px;text-align:center}
.home-contact h2{margin:0 0 16px}
.home-contact .site-lead{margin:0 auto 32px;max-width:720px;color:#D8D3D1}
.home-contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.home-contact .home-button-primary{padding:16px 48px}
.home-contact .home-button-outline{padding:16px 32px}
.home-contact .site-supporting{margin:20px 0 0;color:#D8D3D1}

@media(max-width:767px){
 .home-wrap{padding:64px 16px}
 .home-intro .home-wrap{padding:56px 16px 64px;gap:40px}
 .home-intro-copy{flex-basis:100%}
 .home-cubes{margin-inline:auto}
 .home-promises ul{padding:20px 16px;justify-content:flex-start;gap:10px 24px}
 .home-heading{margin-bottom:40px}
 .home-card{padding:24px}
 .home-also{padding:20px 16px}
 .home-about .home-wrap{gap:40px}
 .home-about-copy,.home-team{flex-basis:100%}
}
@media(max-width:359px){.home-cubes{transform:scale(.9);transform-origin:top left;margin-bottom:-27px}}
