:root{--yellow:#ffcc00;--black:#000;--gray:#666;--light:#f1f1f1;--white:#fff;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#111;font-family:Arial,sans-serif;line-height:1.55;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(100% - 36px,var(--max));margin:auto}.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:rgba(0,0,0,.42);transition:.3s}.site-header.scrolled{background:#000;box-shadow:0 4px 20px #0003}.nav-row{height:70px;display:flex;align-items:center;justify-content:space-between}.logo{background:#fff;color:#111;font:700 14px 'Open Sans',sans-serif;padding:9px 14px}.hamburger{width:44px;height:40px;border:0;background:var(--yellow);display:grid;place-content:center;gap:5px;cursor:pointer}.hamburger span{width:23px;height:2px;background:#000;display:block}.main-nav{position:absolute;top:70px;left:0;right:0;background:#000;display:none;padding:10px 18px 18px;font-family:'Open Sans',sans-serif}.main-nav.open{display:block}.main-nav>a,.sub-toggle{display:block;width:100%;padding:12px;color:#fff;background:none;border:0;text-align:left;font:600 13px 'Open Sans',sans-serif;text-transform:uppercase;cursor:pointer}.sub-toggle i{margin-left:6px}.submenu{display:none;padding-left:16px}.has-sub.open .submenu{display:block}.submenu a{display:block;padding:9px 12px;color:#ddd;font-size:13px}.hero{height:620px;position:relative;overflow:hidden;background:#222}.hero-track,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity .7s;background-size:cover;background-position:center;display:grid;align-items:center}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0009,#0003)}.hero-slide.active{opacity:1;z-index:1}.hero-copy{position:relative;z-index:2;color:#fff;padding-top:60px}.hero-copy span,.eyebrow{color:var(--yellow);font-size:12px;font-weight:700;letter-spacing:2px}.hero-copy h1{font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(2.2rem,8vw,4.8rem);line-height:1.02;margin:.2em 0}.hero-copy p{max-width:520px}.btn,.send{display:inline-block;border:0;background:var(--yellow);color:#000;padding:12px 20px;font-weight:700;font-size:12px;cursor:pointer;transition:.25s}.btn:hover,.send:hover{background:#000;color:#fff}.slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:38px;height:45px;border:0;background:#000b;color:#fff;cursor:pointer}.slider-arrow.prev{left:10px}.slider-arrow.next{right:10px}.hero-dots{position:absolute;z-index:6;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.hero-dots button,.testimonial-dots button{width:9px;height:9px;border:0;border-radius:50%;background:#bbb;padding:0;cursor:pointer}.hero-dots button.active,.testimonial-dots button.active{background:var(--yellow)}.section{padding-top:50px; padding-bottom: 60px}.section-title{text-align:center;margin-bottom:34px}.section-title span{font-size:12px;font-weight:700}.section-title h2{margin:8px 0 0;font-size:clamp(1.6rem,5vw,2.4rem)}.what{font-family:'Lato',sans-serif}.cards{display:grid;gap:18px}.card{background:#fff;padding:30px 24px;box-shadow:0 8px 30px #00000010;text-align:center}.card img{width:58px;height:58px;margin:0 auto 15px}.card h3,.service-line h3{font-size:14px;text-transform:uppercase}.card p,.service-line p{font-size:13px;color:var(--gray)}.services-grid,.team-preview{background:#eee}.grid-2{display:grid;gap:16px}.service-line{display:flex;gap:18px;background:#fff;padding:24px}.service-line img,.feature-point img{width:44px;height:44px;object-fit:contain;flex:0 0 auto}.feature-grid{display:grid;gap:34px;align-items:center}.feature-img{width:100%;min-height:280px;object-fit:cover}.feature-point{display:flex;gap:16px;margin:18px 0}.feature-point p{margin:0;color:#666}.cta{background:var(--yellow);padding:20px 0}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.btn-light{background:#fff}.logo-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #ddd;border-left:1px solid #ddd}.logo-grid span{min-height:90px;display:grid;place-items:center;border-right:1px solid #ddd;border-bottom:1px solid #ddd;color:#aaa;font-size:12px}.narrow{max-width:760px}.testimonial-stage{min-height:220px;position:relative}.testimonial{display:none;text-align:center}.testimonial.active{display:block}.avatar{width:68px;height:68px;margin:auto;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-size:24px;font-weight:700}.testimonial p{font-style:italic;color:#666}.testimonial small{display:block;color:#999;margin-top:4px}.testimonial-dots{display:flex;justify-content:center;gap:8px}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.member{text-align:center}.member img{width:100%;aspect-ratio:1/1;object-fit:cover}.member h3{font-size:14px;margin:10px 0 2px}.member p{font-size:11px;color:#666;margin:0}.social{display:flex;justify-content:center;gap:14px;margin-top:12px}.social a:hover{color:var(--yellow)}.counters{background:#111;color:#fff;padding:30px 0}.counter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;text-align:center}.counter-grid strong{display:block;color:var(--yellow);font-size:32px}.counter-grid span{font-size:11px;text-transform:uppercase}.gallery-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:20px}.gallery-tabs button{border:0;background:transparent;padding:8px 12px;cursor:pointer}.gallery-tabs button.active{color:#b48d00;border-bottom:2px solid var(--yellow)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.gallery-item{border:0;padding:0;cursor:pointer;background:#eee;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.3s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item.hidden{display:none}.contact-icons{display:grid;gap:25px;text-align:center;margin-bottom:35px}.contact-icons img{height:60px;width:auto;margin:auto}.contact-icons h3{font-size:14px}.contact-icons p{color:#666;font-size:13px}.contact-form,.feedback-form{display:grid;gap:10px}.form-row{display:grid;gap:10px}.contact-form input,.contact-form textarea,.feedback-form input,.feedback-form textarea,.newsletter input{font-family:sans-serif;border:1px solid #ccc;padding:12px;background:#fff}.contact-form textarea,.feedback-form textarea{min-height:130px;resize:vertical}.form-status{font-size:12px;margin:0;min-height:18px}.intro{display:grid;background:#111;color:#fff}.intro-image{min-height:330px;background-size:cover;background-position:center}.intro-copy{padding:50px 30px}.intro-copy span{font-family:Georgia,serif;font-size:22px}.partner-wrap{display:flex;align-items:center;gap:8px}.partner-window{overflow:hidden;flex:1}.partner-track{display:flex;transition:transform .45s ease}.partner-track a{flex:0 0 50%;padding:10px;cursor:pointer}.partner-track img{width:100%;height:90px;object-fit:contain}.partner-arrow{border:0;background:none;font-size:22px;cursor:pointer}.feedback-grid{display:grid;gap:35px}.contact-list{list-style:none;padding:0;margin:25px 0 0}.contact-list li{display:flex;align-items:center;gap:12px;margin:12px 0}.contact-list img{width:22px;height:28px;object-fit:contain}footer{background:#111;color:#bbb}.footer-grid{display:grid;gap:30px;padding:45px 0}.footer-grid h3{color:#fff;font-size:13px}.newsletter{display:grid;grid-template-columns:1fr auto}.newsletter button{border:0;background:var(--yellow);padding:0 14px;font-weight:700;cursor:pointer}.newsletter button:hover{background:#000;color:#fff}.newsletter .form-status{grid-column:1/-1}.footer-bottom{background:#0a0a0a;padding:16px 0;font-size:11px}.lightbox{position:fixed;inset:0;background:#000e;z-index:2000;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:86vw;max-height:82vh}.lb-close,.lb-arrow{position:absolute;border:0;background:#0008;color:#fff;cursor:pointer}.lb-close{right:20px;top:15px;font-size:40px}.lb-arrow{top:50%;font-size:24px;padding:14px}.lb-prev{left:15px}.lb-next{right:15px}
@media(min-width:720px){.cards.three{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:1.05fr .95fr}.logo-grid{grid-template-columns:repeat(4,1fr)}.team-grid{grid-template-columns:repeat(4,1fr)}.counter-grid{grid-template-columns:repeat(4,1fr)}.gallery-grid{grid-template-columns:repeat(4,1fr)}.contact-icons{grid-template-columns:repeat(3,1fr)}.form-row{grid-template-columns:repeat(3,1fr)}.form-row.two{grid-template-columns:repeat(2,1fr)}.intro{grid-template-columns:1.2fr 1fr}.feedback-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.partner-track a{flex-basis:25%}}
@media(min-width:900px){.hamburger{display:none}.main-nav{position:static;display:flex!important;background:transparent;padding:0;align-items:center}.main-nav>a,.sub-toggle{width:auto;padding:25px 12px}.has-sub{position:relative}.submenu{position:absolute;top:58px;left:0;min-width:170px;background:#000;padding:8px;box-shadow:0 8px 20px #0004}.has-sub:hover .submenu{display:block}.hero-copy.align-right{text-align:right}.hero-copy.align-right p{margin-left:auto}.hero-copy.align-left{text-align:left}.partner-track a{flex-basis:20%}}

/* Requested refinements */
.main-nav>a,.sub-toggle{transition:color .25s ease,background .25s ease}.main-nav>a:hover,.sub-toggle:hover{color:var(--yellow)}
.submenu a{transition:background .25s ease,color .25s ease}.submenu a:hover{background:var(--yellow);color:#000}
.slider-arrow{transition:background .25s ease,color .25s ease}.slider-arrow:hover{background:var(--yellow);color:#000}
.what .section-title span{display:inline-block;font-size:14px;position:relative;padding-bottom:11px}.what .section-title span:after{content:"";position:absolute;width:46px;height:3px;background:var(--yellow);left:50%;bottom:0;transform:translateX(-50%)}
.testimonial-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;margin:0 auto}
.feature-image-wrap{position:relative}.feature-image-wrap:before{content:"";position:absolute;left:-18px;top:18px;width:100%;height:100%;border:7px solid #e7e7e7;box-shadow:-10px 10px 24px #0002;z-index:0}.feature-img{position:relative;z-index:1}
.logo-grid{border-left:0}.logo-grid span:nth-child(2n){border-right:0}
.send{justify-self:start;padding:10px 24px;min-width:0}
.back-to-top{position:fixed;right:18px;bottom:18px;z-index:1200;width:42px;height:42px;border:0;background:#000;color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s}.back-to-top.show{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--yellow);color:#000}
@media(min-width:720px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.logo-grid span:nth-child(2n){border-right:1px solid #ddd}.logo-grid span:nth-child(4n){border-right:0}.contact-icons article{padding:5px 28px}.contact-icons article+article{border-left:1px solid #d7d7d7}}
@media(min-width:900px){.cards.three{align-items:start;padding-top:26px}.cards.three .card{min-height:245px}.cards.three .card:nth-child(1){transform:translateY(24px)}.cards.three .card:nth-child(2){transform:translateY(12px)}.cards.three .card:nth-child(3){transform:translateY(0)}.feature-image-wrap{margin-left:calc((100vw - min(100vw - 36px,var(--max)))/-2)}.feature-image-wrap:before{left:-12px}.feature-img{min-height:390px}.back-to-top{right:28px;bottom:28px}}


/* 2026-10-03 refinement pass */
.card img,.member img{will-change:transform;transition:transform .28s ease}
.feature-image-wrap:before{left:-28px;top:42px;width:82%;height:86%;border:0;background:#1b1b1b;box-shadow:0 12px 26px rgba(0,0,0,.16)}
.intro-copy h2{font-family:'Lato',sans-serif}
.email-link{transition:color .25s ease}
.email-link:hover,.email-link:focus{color:var(--yellow)}
.partner-arrow{width:38px;height:38px;display:grid;place-items:center;transition:background .25s ease,color .25s ease}
.partner-arrow:hover{background:var(--yellow);color:#000}
@media(min-width:720px){
  .contact-icons{position:relative;grid-template-columns:repeat(3,1fr);gap:0;align-items:start}
  .contact-icons article{position:relative;padding:5px 42px}
  .contact-icons article+article{border-left:0}
  .contact-icons article:not(:last-child)::after{content:"";position:absolute;top:42px;left:calc(100% - 58px);width:116px;height:1px;background:#d7d7d7;transform:translateX(50%)}
  .partner-track a{flex-basis:33.333333%}
}
@media(min-width:900px){
  .partner-track a{flex-basis:33.333333%}
  .feature-image-wrap:before{left:-34px;top:46px;width:80%;height:88%}
}


/* Final image and typography refinements */
.intro-copy h2,.intro-copy span{font-family:'Lato',sans-serif}
.feature-image-wrap{overflow:visible}
.feature-image-wrap:before{left:-34px;top:44px;width:82%;height:88%;background:#1b1b1b;border:0;box-shadow:none}
.feature-img{object-fit:cover}
.card-icon{display:inline-block;line-height:0}
.card-icon img{transition:transform .12s ease-out!important}
.card-icon:hover img{transform:scale(1.1)!important}
/* Same clean zoom interaction used by gallery thumbnails. */
.member,.feature-image-wrap,.partner-track a,.testimonial .avatar{overflow:hidden}
.member img,.feature-img,.partner-track img,.testimonial img,.intro img{transition:transform .3s ease}
.member:hover img,.feature-image-wrap:hover .feature-img,.partner-track a:hover img,.testimonial:hover img,.intro img:hover{transform:scale(1.05)}
\n\n/* 2026-10-03 latest requested refinements */
/* Submenu hover reaches exactly from left:0 to right:0. */
@media(min-width:900px){
  .submenu{left:0;padding:8px 0}
  .submenu a{margin:0;width:100%}
}

/* Keep every thumbnail zoom clipped to its own image box. */
.gallery-item,.member,.partner-track a,.testimonial-avatar,.intro-image,.feature-image-frame{overflow:hidden}
.member img,.partner-track img,.testimonial img,.feature-img{display:block}

/* Framed-image treatment: black block touches the left edge; photo sits slightly inset/smaller. */
.feature-image-wrap{position:relative;overflow:visible}
.feature-image-wrap:before{display:none}
.feature-image-frame{position:relative;z-index:1}
@media(min-width:900px){
  .feature-image-wrap{
    margin-left:calc((100vw - min(100vw - 36px,var(--max)))/-2);
    padding:0 0 46px 34px;
  }
  .feature-image-wrap:after{
    content:"";
    position:absolute;
    z-index:0;
    left:0;
    bottom:0;
    width:82%;
    height:88%;
    background:#1b1b1b;
  }
  .feature-image-frame{width:94%;}
  .feature-img{width:100%;min-height:360px;}
}

/* Horizontal separators centered between the contact icon columns. */
@media(min-width:720px){
  .contact-icons article:not(:last-child)::after{
    top:35px;
    left:auto;
    right:-58px;
    width:116px;
    transform:none;
  }
}

/* v5 refinements */
@media (min-width:900px){
  .submenu{padding-left:0;padding-right:0;}
  .submenu a{display:block;position:relative;left:0;right:0;width:100%;margin:0;padding-left:12px;padding-right:12px;}
  .submenu a:hover{background:#ffcc00;color:#000;}
}
.member{overflow:hidden;cursor:pointer;}
.member img{display:block;width:100%;transition:transform .3s ease;}
.member:hover img{transform:scale(1.05);}

.lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:86vw}.lightbox-content img{max-width:86vw;max-height:78vh}.lightbox-title{width:100%;padding:12px 16px;color:#fff;background:#111;text-align:center;font-family:'Lato',sans-serif;font-size:15px;font-weight:700}

/* Hero CTA buttons: move 10px lower without affecting surrounding layout */
.hero-copy .btn {
  position: relative;
  top: 10px;
}

/* v8: Mobile hero copy safe area — keep text clear of slider arrows */
@media (max-width: 899px){
  .hero-copy{
    padding-left:42px;
    padding-right:42px;
  }
}
