/* Home banner: the supplied workshop photo behind a soft foreground veil. */
.home-banners{grid-template-columns:minmax(0,2.25fr) minmax(0,1fr);gap:18px;animation:hero-enter .85s .08s cubic-bezier(.2,.65,.3,1) backwards}
.main-banner{display:flex;align-items:center;min-height:360px;isolation:isolate;border:1px solid #ddebe7;border-radius:18px;background:#eef7f5;box-shadow:0 4px 18px #193e3005;transition:box-shadow .4s ease}
.main-banner .banner-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 57%;mask-image:none;transform:scale(1.001);transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}
.main-banner::before{content:"";position:absolute;inset:0 25% 0 0;z-index:-1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);mask-image:linear-gradient(90deg,#000 0%,#000 55%,transparent 100%);pointer-events:none}
.main-banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f0f9f7fa 0%,#eff8f6f0 30%,#eff8f6d9 45%,#edf8f59c 57%,#edf8f533 72%,#edf8f505 87%);pointer-events:none}
.banner-copy{position:relative;z-index:1;width:59%;max-width:490px;padding:32px 0 30px 32px}
.banner-copy .banner-eyebrow{font-size:12px;letter-spacing:1px;color:#316c67;margin-bottom:16px}
.banner-copy h2{font-size:24px;line-height:1.4;color:#194c50;white-space:nowrap;margin:0 0 15px}
.banner-copy h2 strong{display:inline-block;font-size:37px;letter-spacing:-.9px;line-height:1.25;color:#c70c61}
.banner-copy p{font-size:17px;line-height:1.65;color:#426163;margin:0 0 20px;max-width:330px}
.banner-copy>.banner-action{display:inline-flex;align-items:center;gap:15px;background:#ffffffde;color:#1b6d5a;border:1px solid #cee1da;border-radius:24px;padding:10px 17px;font-size:14px;line-height:1.4;box-shadow:0 3px 10px #315a4106;transition:background .25s,border-color .25s,box-shadow .25s}
.banner-action>.icon{width:18px;height:18px;transition:transform .35s ease}
.ink-dots{gap:7px;margin-top:20px;opacity:.85}
.ink-dots span{width:10px;height:10px}
.side-banners{gap:16px;grid-template-rows:1fr 1fr}
.small-banner{display:block;min-height:0;padding:23px 25px;border:1px solid transparent;border-radius:16px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.small-banner>.icon{position:absolute;right:22px;top:22px;bottom:auto;width:48px;height:48px;stroke-width:1.2;opacity:.18;margin:0;transition:transform .45s ease,opacity .3s ease}
.small-banner>span{display:block;position:relative;width:100%}
.small-banner small{font-size:10px;letter-spacing:1px;opacity:.85}
.small-banner h2{font-size:23px;line-height:1.3;margin:7px 0 12px;max-width:240px}
.small-banner b{font-size:13px;gap:10px;line-height:1.5;padding:0}
.small-banner b .icon{transition:transform .35s ease}
.quote-banner{background:linear-gradient(120deg,#fff3f7,#fbe9f0);border-color:#f4dee6;color:#a70b50}
.file-banner{background:linear-gradient(120deg,#fff9e8,#fff2cb);border-color:#f5e9c5;color:#7b621d}
.small-banner:hover,.main-banner:hover{filter:none;color:inherit}
.main-banner:focus-visible{outline-color:#207f5d}
.trust-row{padding:22px 0;gap:22px;border-color:#e4ece8}
.trust-row>a{gap:12px;transition:color .25s ease}
.trust-row>a+a{border-color:#e2ebe6}
.trust-row .icon{width:42px;height:42px;background:#f0f7f4;border-radius:12px;padding:9px;color:#398579;transition:background .25s,color .25s}
.trust-row>a:hover{color:#207f5d}
.trust-row>a:hover .icon{background:#e2f1e9;color:#207f5d}
@media(hover:hover) and (pointer:fine){
 .main-banner:hover .banner-photo{transform:scale(1.025)}
 .main-banner:hover{box-shadow:0 8px 24px #193e3010}
 .main-banner:hover .banner-action{background:#fff;border-color:#a5c8b8;box-shadow:0 4px 12px #315a4110}
 .main-banner:hover .banner-action>.icon,.small-banner:hover b .icon{transform:translateX(3px)}
 .small-banner:hover{transform:translateY(-2px);box-shadow:0 8px 18px #34252a0a}
 .small-banner:hover>.icon{transform:rotate(-5deg);opacity:.27}
}
@keyframes hero-enter{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(min-width:1001px) and (max-width:1179px){
 .banner-copy{padding-left:26px;width:64%}.banner-copy h2{font-size:20px}.banner-copy h2 strong{font-size:32px}.banner-copy p{font-size:15px}.small-banner{padding:22px}.small-banner h2{font-size:21px}.small-banner>.icon{width:40px;height:40px;right:18px}
}
@media(max-width:1000px){
 .home-banners{grid-template-columns:minmax(0,1fr);gap:16px}.main-banner{min-height:340px}.banner-copy{width:63%;padding:30px}.banner-copy h2{font-size:24px}.banner-copy h2 strong{font-size:37px}.side-banners{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:16px}.small-banner{padding:22px;min-height:166px}.small-banner h2{font-size:22px}.small-banner h2 br{display:initial}.trust-row{gap:12px}.trust-row b{font-size:13px}.trust-row small{font-size:11px}.trust-row .icon{width:36px;height:36px;padding:8px}
}
@media(max-width:640px){
 .home-banners{gap:13px}.main-banner{min-height:350px;border-radius:16px}.main-banner .banner-photo{object-position:58% 56%}.main-banner::before{right:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(90deg,#000 15%,#0009 55%,transparent 100%)}
 .main-banner::after{background:linear-gradient(90deg,#f0f9f7f7 0%,#eff8f6e8 35%,#eff8f6bd 63%,#edf8f54d 100%)}
 .banner-copy{width:100%;max-width:none;padding:27px 23px}.banner-copy .banner-eyebrow{font-size:10px;letter-spacing:.7px;margin-bottom:15px}.banner-copy h2{font-size:19px;margin-bottom:14px}.banner-copy h2 strong{font-size:32px;letter-spacing:-.7px}.banner-copy p{font-size:15px;line-height:1.6;margin-bottom:18px}.banner-copy>.banner-action{font-size:13px;padding:9px 15px;gap:12px}.ink-dots{margin-top:19px}.ink-dots span{width:9px;height:9px}
 .side-banners{gap:12px;grid-template-columns:1fr 1fr}.small-banner{padding:18px 16px;min-height:160px;border-radius:14px}.small-banner>.icon{width:33px;height:33px;right:13px;top:16px;opacity:.14}.small-banner small{font-size:8px;letter-spacing:.5px}.small-banner h2{font-size:18px;line-height:1.35;margin:8px 0 14px}.small-banner b{font-size:11px;gap:7px}.small-banner b .icon{width:13px;height:13px}
 .trust-row{padding:18px 0;gap:10px}.trust-row>a{gap:8px}.trust-row .icon{width:32px;height:32px;padding:7px;border-radius:9px}.trust-row b{font-size:11px}.trust-row small{font-size:10px}.trust-row>a:nth-child(2){padding-left:8px}
}
@media(max-width:360px){
 .banner-copy{padding:25px 19px}.banner-copy h2{font-size:17px}.banner-copy h2 strong{font-size:28px}.banner-copy p{font-size:14px}.side-banners{grid-template-columns:1fr}.small-banner{min-height:138px;padding:19px 22px}.small-banner small{font-size:9px}.small-banner h2{font-size:21px}.small-banner h2 br{display:none}.small-banner b{font-size:12px}.small-banner>.icon{width:44px;height:44px;top:24px;right:22px}
}
@media(prefers-reduced-motion:reduce){.home-banners{animation:none}.main-banner,.main-banner .banner-photo,.banner-action,.banner-action>.icon,.small-banner,.small-banner>.icon,.small-banner b .icon{transition:none}.main-banner:hover .banner-photo{transform:none}.small-banner:hover{transform:none}}
