/**
 * Home page redesign (index_2.html direction) — BuildX/Landspire industrial style.
 * SCOPED under `.home-v2` so it only affects the front page and never leaks to inner pages.
 * Content is Drupal-managed; this file only styles the markup.
 */
.home-v2{
  --red:#9F1D21;
  --red-dark:#7c1316;
  --red-soft:#faeeee;
  --red-line:#ecc9ca;
  --dark:#12151a;
  --dark-2:#1a1e25;
  --ink:#252a33;
  --muted:#68707e;
  --line:#e7e9ed;
  --soft:#f6f7f9;
  font-family:'Poppins','Segoe UI',system-ui,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.home-v2 *{margin:0;padding:0;box-sizing:border-box}
.home-v2 h1,.home-v2 h2,.home-v2 h3,.home-v2 h4{font-family:'Oswald','Arial Narrow','Segoe UI',sans-serif;color:var(--dark);line-height:1.15;font-weight:600;letter-spacing:.01em;text-transform:uppercase}
.home-v2 img{max-width:100%;display:block}
.home-v2 a{text-decoration:none;color:inherit}
.home-v2 .i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v2 .container{width:min(1400px,94%);margin:0 auto;max-width:none}
.home-v2 section{padding:100px 0}

/* labels */
.home-v2 .label{display:inline-flex;align-items:center;gap:14px;font-family:'Poppins','Segoe UI',sans-serif;font-size:.83rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.home-v2 .label::after{content:"";width:60px;height:1.5px;background:var(--red-line)}
.home-v2 .label.center::before{content:"";width:60px;height:1.5px;background:var(--red-line)}
.home-v2 .h-lg{font-size:clamp(2rem,3.6vw,3rem)}
.home-v2 .split-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:56px;flex-wrap:wrap}
.home-v2 .split-head p{color:var(--muted);max-width:460px;font-size:.95rem}
.home-v2 .center-head{text-align:center;max-width:760px;margin:0 auto 56px}
.home-v2 .center-head p{color:var(--muted);margin-top:14px;font-size:.95rem}

/* buttons */
.home-v2 .btn{display:inline-flex;align-items:center;gap:12px;font-family:'Oswald','Arial Narrow',sans-serif;font-weight:500;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;padding:16px 32px;transition:.25s;cursor:pointer;border:none}
.home-v2 .btn .i{width:16px;height:16px;transition:.25s}
.home-v2 .btn:hover .i{transform:translateX(5px)}
.home-v2 .btn-red{background:var(--red);color:#fff}
.home-v2 .btn-red:hover{background:var(--dark)}
.home-v2 .btn-dark{background:var(--dark);color:#fff}
.home-v2 .btn-dark:hover{background:var(--red)}
.home-v2 .btn-line{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.home-v2 .btn-line:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.home-v2 .txt-link{display:inline-flex;align-items:center;gap:10px;font-family:'Oswald','Arial Narrow',sans-serif;font-weight:500;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark);border-bottom:2px solid var(--red);padding-bottom:4px;transition:.25s}
.home-v2 .txt-link .i{width:15px;height:15px}
.home-v2 .txt-link:hover{color:var(--red)}

/* topbar */
.home-v2 .topbar{background:var(--dark);color:#9aa2b1;font-size:.8rem;padding:9px 0}
.home-v2 .topbar .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.home-v2 .topbar span{display:inline-flex;align-items:center;gap:8px}
.home-v2 .topbar .i{width:14px;height:14px;color:var(--red)}
.home-v2 .topbar a{color:#fff}
.home-v2 .topbar b{color:#fff;font-weight:500}
.home-v2 .topbar .grp{display:flex;gap:26px;flex-wrap:wrap}

/* header */
/* NB: no backdrop-filter — it clips absolutely-positioned children (the hover
   dropdown / search popup) to the header box. Use a near-opaque background instead. */
.home-v2 header{position:sticky;top:0;z-index:490;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(0,0,0,.06);transition:.3s}
.home-v2 header.scrolled{box-shadow:0 8px 30px rgba(0,0,0,.08)}
/* Inner-page chrome wrappers: display:contents so the wrapper is NOT the sticky
   containing block (header must stick over the whole page), and no white box paints. */
.home-v2.hv2-chrome{display:contents}
/* Logged-in admins: push the sticky header below the Drupal admin toolbar so it
   doesn't slide under it and hide the top of the page. */
body.toolbar-fixed .home-v2 header{top:39px}
body.toolbar-horizontal.toolbar-tray-open .home-v2 header{top:79px}
body.toolbar-vertical.toolbar-tray-open .home-v2 header{top:39px}
.home-v2 .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:24px}
.home-v2 .logo img{height:110px;width:auto}
.home-v2 header .menu{display:flex;align-items:center;gap:6px;list-style:none}
.home-v2 header .menu>li{position:relative}
.home-v2 header .menu a{font-family:'Poppins','Segoe UI',sans-serif;font-size:18px;font-weight:500;padding:10px 15px;border-radius:999px;color:#2a2e36;transition:.25s;display:block}
.home-v2 header .menu a:hover{color:var(--red);background:var(--red-soft)}
.home-v2 header .menu a.active,.home-v2 header .menu a.is-active{color:var(--red);background:var(--red-soft);font-weight:600}
.home-v2 header .menu .caret{font-size:10px;margin-left:4px;opacity:.6}
.home-v2 header .menu .dropdown{position:absolute;top:calc(100% + 8px);left:0;background:#fff;min-width:220px;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(18,21,26,.12);padding:6px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;list-style:none}
.home-v2 header .menu li:hover .dropdown{opacity:1;visibility:visible;transform:none}
.home-v2 header .menu .dropdown a{border-radius:10px}
.home-v2 .nav-icons{display:flex;align-items:center;gap:6px}
.home-v2 .icon-btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#fff;cursor:pointer;transition:.25s;position:relative;color:#2a2e36}
.home-v2 .icon-btn:hover{border-color:var(--red);background:var(--red-soft);color:var(--red)}
.home-v2 .icon-btn .i{width:18px;height:18px;stroke-width:1.8}
.home-v2 .cart-badge{position:absolute;top:-3px;right:-3px;background:var(--red);color:#fff;font-size:10px;font-weight:600;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-style:normal}
.home-v2 .hamburger{display:none}

/* hero */
.home-v2 .hero{position:relative;margin:14px 14px 0;border-radius:28px;background:var(--dark);overflow:hidden;color:#fff}
.home-v2 .bg-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s ease}
.home-v2 .bg-slide.on{opacity:1;animation:hv2kb 7s ease-out forwards}
@keyframes hv2kb{from{transform:scale(1)}to{transform:scale(1.12)}}
.home-v2 .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,21,26,.78) 0%,rgba(18,21,26,.66) 45%,rgba(18,21,26,.85) 100%);z-index:1;pointer-events:none}
.home-v2 .hero-dots{position:absolute;bottom:88px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:9px}
.home-v2 .hero-dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:.3s}
.home-v2 .hero-dots span.on{background:var(--red);width:26px;border-radius:999px}
.home-v2 .hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:120px 0 170px;max-width:920px;margin:0 auto}
.home-v2 .hero-pill{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#f2d5d6;font-size:.83rem;font-weight:600;letter-spacing:.1em;padding:9px 22px;margin-bottom:26px}
.home-v2 .hero-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:#e0575c}
.home-v2 .hero h1{color:#fff;font-size:clamp(2.8rem,5.6vw,4.8rem);font-weight:700;line-height:1.12;margin-bottom:26px;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.home-v2 .hero h1 .mark{color:#fff}
.home-v2 .hero .lead{color:#dfe3ea;font-size:1.1rem;max-width:640px;margin:0 auto 28px;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.home-v2 .hero-checks{list-style:none;display:flex;gap:12px 28px;flex-wrap:wrap;margin-bottom:42px;justify-content:center}
.home-v2 .hero-checks li{display:flex;gap:10px;align-items:center;font-size:.89rem;font-weight:500;color:#eef1f5}
.home-v2 .hero-checks .tick{width:22px;height:22px;border-radius:50%;background:var(--red);display:grid;place-items:center;flex:none}
.home-v2 .hero-checks .tick .i{width:11px;height:11px;stroke-width:3.2}
.home-v2 .hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:center}
.home-v2 .pill-line{display:inline-flex;align-items:center;gap:10px;border:1.5px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;padding:13px 32px;font-weight:600;font-size:.92rem;transition:.25s}
.home-v2 .pill-line:hover{border-color:#fff;background:rgba(255,255,255,.08)}
/* hero checklist rendered from node body <ul> */
.home-v2 .hero-checks-html ul{list-style:none;display:flex;gap:12px 28px;flex-wrap:wrap;margin:0 auto 42px;justify-content:center;padding:0}
.home-v2 .hero-checks-html li{display:flex;gap:10px;align-items:center;font-size:.89rem;font-weight:500;color:#eef1f5}
.home-v2 .hero-checks-html li::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--red);flex:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:12px;background-repeat:no-repeat;background-position:center}
.home-v2 .hero-checks-html p{display:none}

/* standards strip */
.home-v2 .hero-strip{position:relative;z-index:5;width:min(1400px,94%);margin:-62px auto 0;background:#fff;border-radius:18px;border:1px solid var(--line);box-shadow:0 30px 70px rgba(18,21,26,.14);overflow:hidden}
.home-v2 .hero-strip .strip-inner{display:grid;grid-template-columns:repeat(5,1fr);padding:0;width:100%}
.home-v2 .hero-strip .item{display:flex;align-items:center;gap:14px;padding:24px;border-right:1px solid var(--line);font-family:'Poppins','Segoe UI',sans-serif;font-weight:600;font-size:.86rem;line-height:1.4;color:var(--dark)}
.home-v2 .hero-strip .item:last-child{border-right:none}
.home-v2 .hero-strip .ico{width:44px;height:44px;border-radius:12px;background:var(--red-soft);color:var(--red);display:grid;place-items:center;flex:none}
.home-v2 .hero-strip .ico .i{width:20px;height:20px}
.home-v2 .hero-strip .ico img,.home-v2 .hero-strip .ico svg{width:20px;height:20px}

/* about */
.home-v2 .pill{display:inline-flex;align-items:center;gap:9px;background:var(--red-soft);color:var(--dark);font-size:.85rem;font-weight:600;letter-spacing:.1em;padding:9px 22px;border-radius:999px}
.home-v2 .pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.home-v2 .about-grid{display:grid;grid-template-columns:1.62fr 1fr;gap:50px;align-items:stretch}
/* Keep the overlapping feat-card above the photo at all times — otherwise the
   reveal transform on .about-photo briefly stacks it over the card on load. */
.home-v2 .about-left{position:relative;z-index:2}
.home-v2 .about-left .pill{margin-bottom:20px}
.home-v2 .about-left h2{text-transform:none;font-weight:600;font-size:clamp(2rem,3.4vw,2.9rem);max-width:640px;margin-bottom:44px}
.home-v2 .about-mid{display:grid;grid-template-columns:.72fr 1.28fr;gap:44px;align-items:start}
.home-v2 .counter b{font-family:'Oswald','Arial Narrow',sans-serif;font-size:clamp(3.4rem,6vw,5rem);font-weight:700;color:var(--red);line-height:1;display:block}
.home-v2 .counter span{color:var(--muted);font-size:.95rem;display:block;margin-top:6px;line-height:1.5}
.home-v2 .btn-pill{display:inline-flex;align-items:center;gap:12px;background:var(--red);color:#fff;border-radius:999px;padding:10px 10px 10px 26px;font-weight:600;font-size:.92rem;margin-top:28px;transition:.25s;border:none;cursor:pointer;font-family:'Poppins','Segoe UI',sans-serif}
.home-v2 .btn-pill .cir{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--red);display:grid;place-items:center;transition:.25s}
.home-v2 .btn-pill .cir .i{width:15px;height:15px;transform:rotate(-45deg)}
.home-v2 .btn-pill:hover{background:var(--dark)}
.home-v2 .btn-pill:hover .cir{transform:rotate(45deg)}
.home-v2 .about-right>p{color:var(--muted);font-size:.97rem;max-width:560px}
.home-v2 .feat-card{background:#f7f4ee;border-radius:18px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px;position:relative;z-index:2;margin-right:-170px}
.home-v2 .feat{display:flex;gap:16px;align-items:flex-start}
.home-v2 .feat .fi{flex:none;width:52px;height:52px;color:var(--red);position:relative}
.home-v2 .feat .fi .i{width:40px;height:40px;stroke-width:1.4}
.home-v2 .feat .fi::after{content:"";position:absolute;left:6px;bottom:2px;width:14px;height:14px;border-radius:50%;background:var(--red-line);z-index:-1}
.home-v2 .feat h4{text-transform:none;font-size:1.12rem;margin-bottom:6px;font-weight:600}
.home-v2 .feat p{color:var(--muted);font-size:.85rem}
.home-v2 .about-photo{border-radius:20px;overflow:hidden;min-height:500px;background:#eef0f4;position:relative;z-index:1}
.home-v2 .about-photo img{width:100%;height:100%;object-fit:cover}

/* stats band */
.home-v2 .stats{background:var(--dark);padding:0}
.home-v2 .stats .container{display:grid;grid-template-columns:repeat(4,1fr)}
.home-v2 .stat{padding:52px 34px;border-right:1px solid rgba(255,255,255,.08);text-align:center}
.home-v2 .stat:first-child{border-left:1px solid rgba(255,255,255,.08)}
.home-v2 .stat b{font-family:'Oswald','Arial Narrow',sans-serif;font-size:clamp(2.4rem,4vw,3.6rem);font-weight:700;color:var(--red);display:block;line-height:1.1;letter-spacing:.02em}
.home-v2 .stat b em{font-style:normal;color:#fff}
.home-v2 .stat span{color:#9aa2b1;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;font-family:'Oswald','Arial Narrow',sans-serif}

/* programs */
.home-v2 .sec-head{text-align:center;margin-bottom:56px}
.home-v2 .sec-head .pill{margin-bottom:18px}
.home-v2 .sec-head h2{text-transform:none;font-weight:600;font-size:clamp(2rem,3.4vw,2.9rem)}
.home-v2 .sec-head p{color:var(--muted);margin-top:12px}
.home-v2 .progs-dark{background:#fff;position:relative}
.home-v2 .progs-head{position:relative;display:flex;gap:44px;align-items:flex-end;margin-bottom:56px;flex-wrap:wrap}
.home-v2 .progs-head .pill{margin-bottom:16px}
.home-v2 .progs-head .hwrap{flex:1;min-width:300px}
.home-v2 .progs-head h2{text-transform:none;color:var(--dark);font-weight:600;font-size:clamp(2rem,3.4vw,2.8rem);max-width:820px}
.home-v2 .pnav{display:flex;gap:10px;flex:none;margin-bottom:6px}
.home-v2 .parrow{width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;transition:.25s;color:var(--dark)}
.home-v2 .parrow:hover{background:var(--red);border-color:var(--red);color:#fff}
.home-v2 .parrow .i{width:17px;height:17px}
.home-v2 .parrow.prev .i{transform:rotate(180deg)}
.home-v2 .pviewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:8px}
.home-v2 .pviewport::-webkit-scrollbar{display:none}
.home-v2 .ptrack{display:flex;gap:24px}
.home-v2 .pkard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;display:flex;flex-direction:column;transition:.35s;flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}
.home-v2 .pkard:hover{transform:translateY(-8px);border-color:var(--red-line)}
.home-v2 .pkard .img{border-radius:14px;overflow:hidden;aspect-ratio:16/10;flex:none}
.home-v2 .pkard img{width:100%;height:100%;object-fit:cover;transition:.5s}
.home-v2 .pkard:hover img{transform:scale(1.06)}
.home-v2 .pkard .body{padding:18px 14px 14px;display:flex;flex-direction:column;flex:1}
.home-v2 .pkard .trow{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
.home-v2 .pkard h3{text-transform:none;font-size:1.2rem;font-weight:600;line-height:1.3}
.home-v2 .pkard .no{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:600;font-size:1.7rem;color:#d7dae0;line-height:1;flex:none}
.home-v2 .pkard .pdesc{color:var(--muted);font-size:.87rem;flex:1}
.home-v2 .pkard .pm{margin-top:12px;display:flex;gap:7px;align-items:center;font-size:.78rem;color:var(--muted)}
.home-v2 .pkard .pm .i{width:13px;height:13px;color:var(--red);flex:none}
.home-v2 .pkard .pm b{color:var(--dark);font-weight:500}

/* Programs carousel: reshape the existing shared training-card markup into vertical cards (home only). */
.home-v2 .ptrack > *{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;max-width:calc((100% - 48px)/3)}
.home-v2 .ptrack .product-row{flex-direction:column;flex-wrap:nowrap;border:1px solid var(--line)!important;border-radius:20px;box-shadow:none!important;margin:0;overflow:hidden;height:100%;background:#fff;transition:.35s}
.home-v2 .ptrack .product-row:hover{transform:translateY(-8px);border-color:var(--red-line)!important}
.home-v2 .ptrack .train-left,.home-v2 .ptrack .train-right{width:100%;max-width:100%;flex:0 0 auto;padding:0}
.home-v2 .ptrack .train-left .image-effect{aspect-ratio:16/10;overflow:hidden}
.home-v2 .ptrack .train-left img{width:100%;height:100%;object-fit:cover;transition:.5s}
.home-v2 .ptrack .product-row:hover .train-left img{transform:scale(1.06)}
.home-v2 .ptrack .train-right{padding:20px 18px 18px;display:flex;flex-direction:column;gap:8px}
.home-v2 .ptrack .train-right h3{text-transform:none;font-size:1.18rem;font-weight:600;line-height:1.3;margin:0}
.home-v2 .ptrack .train-right .pra-wrap{color:var(--muted);font-size:.86rem;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-v2 .ptrack .date-add{margin:4px 0 0;gap:8px;flex-wrap:nowrap;align-items:flex-start}
.home-v2 .ptrack .date-add span{font-size:.78rem;color:var(--muted);display:flex;align-items:flex-start;gap:7px;padding:0}
.home-v2 .ptrack .date-add svg{margin-top:1px}
.home-v2 .ptrack .date-add svg{width:14px;height:14px;flex:none}
.home-v2 .ptrack .train-providers-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.home-v2 .ptrack .train-provider-item{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--dark)}
.home-v2 .ptrack .train-provider-item svg{width:14px;height:14px;color:var(--red)}
/* add-to-cart button styled as pill (home) */
.home-v2 .ptrack .button--add-to-cart,.home-v2 .ptrack input[type="submit"],.home-v2 .ptrack .commerce-order-item-add-to-cart-form input.button{background:var(--red);color:#fff;border:none;border-radius:999px;padding:11px 22px;font-family:'Oswald','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;font-weight:600;cursor:pointer;transition:.25s;margin-top:6px}
.home-v2 .ptrack .button--add-to-cart:hover,.home-v2 .ptrack input[type="submit"]:hover{background:var(--dark)}
.home-v2 .ptrack .field--name-quantity,.home-v2 .ptrack .form-item-quantity{display:none}

/* ATP */
.home-v2 .atp{background:var(--dark);margin:14px 14px 0;border-radius:28px;overflow:hidden}
.home-v2 .atp .split-head h2{color:#fff}
.home-v2 .atp .split-head p{color:#9aa2b1}
/* Eyebrow readable on the dark ATP band. */
.home-v2 .atp .label{color:#fff}
.home-v2 .atp .label::after{background:rgba(255,255,255,.4)}
.home-v2 .atp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(480px,100%),1fr));gap:24px}
.home-v2 .atp-card{background:#fff;border-radius:18px;padding:34px;transition:.3s;position:relative;overflow:hidden;border:1px solid transparent;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.home-v2 .atp-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:.3s}
.home-v2 .atp-card:hover{transform:translateY(-8px);border-color:var(--red-line);box-shadow:0 40px 80px rgba(159,29,33,.28)}
.home-v2 .atp-card:hover::before{transform:scaleY(1)}
.home-v2 .atp-head{display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.home-v2 .atp-logo{height:58px;max-width:150px;object-fit:contain;flex:none}
.home-v2 .atp-head h3{font-size:1.15rem;line-height:1.3;color:var(--dark)}
.home-v2 .atp-head .who{color:var(--red);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.home-v2 .atp-badge{margin-left:auto;display:inline-flex;align-items:center;gap:7px;background:var(--red);color:#fff;border-radius:999px;font-family:'Oswald','Arial Narrow',sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:8px 15px;flex:none}
.home-v2 .atp-badge .i{width:12px;height:12px;color:#fff}
.home-v2 .atp-body{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
.home-v2 .atp-item{display:flex;gap:13px;align-items:center}
.home-v2 .atp-item .ico{flex:none;width:42px;height:42px;border-radius:12px;background:var(--red);color:#fff;display:grid;place-items:center;transition:.3s}
.home-v2 .atp-item .ico .i{width:17px;height:17px}
.home-v2 .atp-item small{display:block;font-family:'Oswald','Arial Narrow',sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#9aa2b1}
.home-v2 .atp-item b,.home-v2 .atp-item a{font-weight:500;font-size:15px;color:var(--ink);word-break:break-word;line-height:1.5;display:block}
.home-v2 .atp-item a:hover{color:var(--red)}
.home-v2 .atp-cta{margin-top:44px;display:flex;justify-content:center}
.home-v2 .atp .btn-red:hover{background:#fff;color:var(--red)}

/* FAQ */
.home-v2 .faq{background:var(--dark);padding:0;overflow:hidden;margin:0 14px;border-radius:28px}
.home-v2 .faq-wrap{display:grid;grid-template-columns:.85fr 1.15fr;min-height:560px}
/* Stretch to fill the full column height so the image always reaches the bottom edge
   (no dark gap under it), matching the height of the questions/content column. */
.home-v2 .faq-photo{position:relative;background:#22252d}
/* The image field is wrapped in .image-effect (global: position:relative, no height),
   which collapses to 0 and hides the absolutely-positioned img — make it fill the photo. */
.home-v2 .faq-photo .image-effect{position:absolute;inset:0}
.home-v2 .faq-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-v2 .faq-right .pill{margin-bottom:16px;align-self:flex-start}
.home-v2 .faq-right{padding:96px 7vw 96px 64px;display:flex;flex-direction:column;justify-content:center}
.home-v2 .faq-kicker{display:flex;align-items:center;gap:9px;color:#e58e91;font-size:.78rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;margin-bottom:10px}
.home-v2 .faq-kicker::before{content:"✦";letter-spacing:0}
.home-v2 .faq-right h2{text-transform:none;color:#fff;font-weight:600;font-size:clamp(1.9rem,3.2vw,2.7rem);margin-bottom:34px}
.home-v2 .qgrid{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
.home-v2 .acc{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;transition:.3s}
.home-v2 .acc:hover{border-color:rgba(255,255,255,.25)}
.home-v2 .acc.open{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.25)}
.home-v2 .acc button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;background:none;border:none;cursor:pointer;font-family:'Poppins','Segoe UI',sans-serif;font-weight:600;font-size:.92rem;color:#fff;text-align:left;transition:.3s}
.home-v2 .acc button h3{margin:0;font-family:'Poppins','Segoe UI',sans-serif;font-size:1.18rem;font-weight:600;line-height:1.3;color:inherit;text-transform:none}
.home-v2 .acc .chev{flex:none;width:22px;height:22px;display:grid;place-items:center;color:#aab0bc;transition:.35s}
.home-v2 .acc .chev .i{width:16px;height:16px}
.home-v2 .acc.open .chev{transform:rotate(180deg);color:#e58e91}
.home-v2 .acc .panel{max-height:0;overflow:hidden;transition:max-height .35s ease}
.home-v2 .acc .panel p{padding:0 20px 18px;color:#fff;font-size:.88rem}

/* gallery */
.home-v2 .gallery{background:#fff}
.home-v2 .gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:215px;gap:16px}
.home-v2 .gal-grid .gal-item{overflow:hidden;position:relative;background:#e7e9ed;display:block;border-radius:16px}
.home-v2 .gal-grid .gal-item > a{display:block;width:100%;height:100%}
.home-v2 .gal-grid img{width:100%;height:100%;object-fit:cover;transition:.5s;display:block}
.home-v2 .gal-grid .gal-item:hover img{transform:scale(1.08)}
.home-v2 .gal-grid .gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(190deg,transparent 55%,rgba(18,21,26,.6));opacity:0;transition:.35s;pointer-events:none}
.home-v2 .gal-grid .gal-item:hover::after{opacity:1}
.home-v2 .gal-grid .zoom{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.6);width:52px;height:52px;background:var(--red);color:#fff;display:grid;place-items:center;opacity:0;transition:.35s;z-index:2;pointer-events:none}
.home-v2 .gal-grid .gal-item:hover .zoom{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* blogs */
.home-v2 .blogs-head{text-align:center;margin-bottom:56px}
.home-v2 .blogs-head .pill{margin-bottom:18px}
.home-v2 .blogs-head h2{text-transform:none;font-weight:600;font-size:clamp(2rem,3.4vw,2.9rem)}
.home-v2 .blogs-head p{color:var(--muted);margin-top:12px}
/* Cards flow in a centred row that adapts to however many posts the view returns:
   3 posts sit a third each, 2 posts split the row in half, 1 post stays half-width
   and centred — instead of a fixed 3-column grid leaving empty columns. */
.home-v2 .blog-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}
.home-v2 .blog-grid .bcard{flex:1 1 300px;max-width:calc((100% - 30px)/2)}
.home-v2 .bcard{display:block;transition:.35s}
.home-v2 .bcard:hover{transform:translateY(-8px)}
.home-v2 .bcard .imgwrap{border-radius:20px;overflow:hidden;position:relative;aspect-ratio:16/11;background:#eef0f4}
.home-v2 .bcard img{width:100%;height:100%;object-fit:cover;transition:.5s}
.home-v2 .bcard:hover img{transform:scale(1.06)}
.home-v2 .bcard .cat{position:absolute;top:16px;left:16px;background:var(--red);color:#fff;font-size:.74rem;font-weight:600;padding:6px 16px;border-radius:999px}
.home-v2 .bcard .bmeta{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:.84rem;margin:18px 0 8px}
.home-v2 .bcard .bmeta .i{width:15px;height:15px;color:var(--red);flex:none}
.home-v2 .bcard .bmeta b{color:var(--red);font-weight:600}
.home-v2 .bcard h3{text-transform:none;font-family:'Poppins','Segoe UI',sans-serif;font-size:1.35rem;font-weight:600;margin-bottom:8px;transition:.25s}
.home-v2 .bcard:hover h3{color:var(--red)}
.home-v2 .bcard p{color:var(--muted);font-size:.9rem}

/* enroll */
.home-v2 .enroll{position:relative;background:var(--dark);overflow:hidden;padding:120px 0;margin:0 14px;border-radius:28px}
.home-v2 .enroll .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18}
.home-v2 .enroll .wm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Oswald','Arial Narrow',sans-serif;font-weight:700;font-size:clamp(6rem,18vw,15rem);color:rgba(255,255,255,.04);letter-spacing:.05em;white-space:nowrap;text-transform:uppercase;pointer-events:none}
.home-v2 .enroll .container{position:relative;z-index:2;text-align:center}
.home-v2 .enroll .small{font-family:'Oswald','Arial Narrow',sans-serif;color:#c9cfda;font-size:1rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
.home-v2 .enroll h2{color:#fff;font-size:clamp(2.6rem,6vw,4.6rem);font-weight:700;display:inline-block;border-bottom:3px solid var(--red);padding-bottom:18px;margin-bottom:44px}
.home-v2 .enroll-form{max-width:920px;margin:0 auto;text-align:left}

/* footer */
.home-v2 footer{background:var(--dark);position:relative;padding:0;margin:14px;border-radius:28px;overflow:hidden}
/* Inner pages: breathing room between the last content section and the footer card. */
.home-v2.hv2-chrome footer{margin-top:64px}

/* Inner-page primary / add-to-cart buttons — match the home red button style.
   (Home-page buttons are scoped higher under `.home-v2 .ptrack`, so they win there.)
   `.form-actions` selectors match the specificity of the theme's own .form-actions
   .button rule and load later, so they win. */
.button--primary,
.button--add-to-cart,
.form-actions .button--primary,
.form-actions .button--add-to-cart,
input[type="submit"].button--primary{
  background:#9F1D21;color:#fff;border:none;border-radius:999px;
  padding:13px 30px;font-family:'Oswald','Arial Narrow','Segoe UI',sans-serif;
  font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.9rem;
  line-height:1.2;cursor:pointer;transition:.25s;box-shadow:none;
}
.button--primary:hover,
.button--add-to-cart:hover,
.form-actions .button--primary:hover,
.form-actions .button--add-to-cart:hover,
input[type="submit"].button--primary:hover{background:#12151a;color:#fff}

/* Training-card date/location meta on inner listing pages (e.g. /trainings): the
   home-scoped icon sizing doesn't reach here, so the SVG renders full-size and looks
   congested. Constrain it and align the row. */
.date-add .ser-date,
.date-add .ser-location,
.date-add span > svg{width:15px;height:15px;flex:none}
.date-add span{display:inline-flex;align-items:center;gap:8px;font-size:.88rem}
.date-add.row{align-items:center;row-gap:6px}
.home-v2 footer .bg{position:absolute;top:0;left:0;right:0;height:100%;object-fit:cover;width:100%;opacity:.12}
.home-v2 .foot-card{position:relative;z-index:2;background:transparent;margin:0 auto;width:min(1400px,94%);padding:70px 0 0}
.home-v2 .foot-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:44px;padding-bottom:50px}
.home-v2 .foot-top h4{color:#fff;font-size:1.05rem;margin-bottom:22px;position:relative;padding-bottom:12px}
.home-v2 .foot-top h4::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;background:var(--red)}
.home-v2 .foot-top ul{list-style:none;display:grid;gap:12px;font-size:.9rem;color:#a9b1c2}
.home-v2 .foot-top ul a{display:inline-flex;align-items:center;gap:10px;transition:.2s}
.home-v2 .foot-top ul a .i{width:14px;height:14px;color:var(--red)}
.home-v2 .foot-top ul a:hover{color:#e58e91;padding-left:4px}
/* Quick Links & Training Programs are Drupal menu blocks (ul.menu) that output no icon —
   add a red arrow marker (like the HTML ic-arrow) instead of a bullet and lighten the text. */
.home-v2 .foot-top .menu,.home-v2 .foot-top .menu li{list-style:none;margin:0;padding:0}
.home-v2 .foot-top .menu{gap:0}
.home-v2 .foot-top .menu li::marker{content:""}
.home-v2 .foot-top .menu a{color:#a9b1c2;font-size:14px;padding:8px 0;border-radius:0;background:none}
.home-v2 .foot-top .menu a::before{content:"";width:14px;height:14px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239F1D21' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center/contain no-repeat}
.home-v2 .foot-top .menu a:hover{color:#e58e91;padding-left:4px;background:none}
.home-v2 .foot-brand img{height:82px;width:auto;margin-bottom:18px;background:#fff;padding:10px 14px;border-radius:12px}
.home-v2 .foot-brand p{font-size:.9rem;color:#a9b1c2;max-width:300px;margin-bottom:20px}
.home-v2 .socials{display:flex;gap:10px}
.home-v2 .socials a{width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;color:#fff;transition:.25s;font-family:'Poppins',sans-serif;font-size:.72rem;letter-spacing:.05em}
.home-v2 .socials a:hover{background:var(--red);border-color:var(--red);color:#fff}
.home-v2 .foot-contact li{display:flex;gap:11px;align-items:flex-start;color:#a9b1c2}
.home-v2 .foot-contact .i{width:16px;height:16px;color:var(--red);margin-top:5px}
.home-v2 .foot-contact a{color:#e6e9ef}
.home-v2 .foot-contact a:hover{color:#e58e91}
.home-v2 .news-form{display:flex;margin-top:18px;border:1px solid var(--line)}
.home-v2 .news-form input{flex:1;background:#fff;border:none;padding:13px 16px;color:var(--ink);font-family:inherit;font-size:.87rem;outline:none}
.home-v2 .news-form button{background:var(--red);color:#fff;border:none;width:50px;cursor:pointer;transition:.25s;display:grid;place-items:center}
.home-v2 .news-form button:hover{background:var(--dark)}
.home-v2 .news-form .i{width:16px;height:16px}
.home-v2 .fmap{width:100%;height:240px;border:0;border-radius:16px;margin:6px 0 34px;filter:grayscale(25%);display:block}
.home-v2 .foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;font-size:.82rem;color:#8a93a5}
.home-v2 .foot-bottom .row{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;margin:0}
.home-v2 .foot-bottom img{height:28px;background:#fff;padding:3px 6px;border-radius:6px;width:auto;display:inline-block;vertical-align:middle}
.home-v2 .foot-bottom .spun{display:flex;align-items:center;gap:10px}

/* ---- flatten Drupal view/row wrappers so cards become direct grid/flex items ---- */
.home-v2 .atp-grid > .views-row,
.home-v2 .gal-grid > .views-row,
.home-v2 .qgrid > .views-row,
.home-v2 .blog-grid .views-element-container,
.home-v2 .blog-grid .view,
.home-v2 .blog-grid .view-content,
.home-v2 .blog-grid > .views-row{display:contents}
.home-v2 .gal-grid .gal-item > a,.home-v2 .gal-grid .gal-item picture{display:block;width:100%;height:100%}
.home-v2 .gal-grid .gal-item img{width:100%;height:100%;object-fit:cover}

/* ---- real Drupal main menu restyled into pill nav ---- */
.home-v2 .hv2-menu .navbar-collapse{display:block!important}
.home-v2 .hv2-menu .navbar-nav{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.home-v2 .hv2-menu .nav-item{list-style:none;position:relative}
.home-v2 .hv2-menu .nav-link{font-family:'Poppins','Segoe UI',sans-serif;font-size:15px;font-weight:500;padding:10px 15px;border-radius:999px;color:#2a2e36;transition:.25s;display:block;text-transform:none;letter-spacing:0}
.home-v2 .hv2-menu .nav-link:hover,.home-v2 .hv2-menu .nav-link.active,.home-v2 .hv2-menu .nav-item.active>.nav-link{color:var(--red);background:var(--red-soft)}
.home-v2 .hv2-menu .dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;min-width:210px;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(18,21,26,.12);padding:6px;list-style:none;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;display:block}
.home-v2 .hv2-menu .nav-item:hover .dropdown-menu{opacity:1;visibility:visible;transform:none}
.home-v2 .hv2-menu .dropdown-item{padding:9px 14px;border-radius:10px;display:block;color:#2a2e36;font-size:.92rem}
.home-v2 .hv2-menu .dropdown-item:hover{background:var(--red-soft);color:var(--red)}

/* ---- header icons (search / account / cart) ---- */
.home-v2 .nav-icons{align-items:center}
.home-v2 .hv2-search{position:relative}
.home-v2 .hv2-search-pop{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(18,21,26,.14);padding:12px;min-width:280px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;z-index:60}
.home-v2 .hv2-search:hover .hv2-search-pop,.home-v2 .hv2-search:focus-within .hv2-search-pop{opacity:1;visibility:visible;transform:none}
.home-v2 .hv2-search-pop input[type="text"],.home-v2 .hv2-search-pop input[type="search"]{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-family:inherit}
.home-v2 .hv2-account,.home-v2 .hv2-cart{position:relative;display:flex;align-items:center}
.home-v2 .hv2-cart a,.home-v2 .hv2-account > ul > li > a,.home-v2 .hv2-account a.trigger{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:#2a2e36;transition:.25s;font-size:0}
.home-v2 .hv2-cart a::before{content:"";width:19px;height:19px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat}
.home-v2 .hv2-cart a:hover,.home-v2 .hv2-account a:hover{border-color:var(--red);background:var(--red-soft);color:var(--red)}
.home-v2 .hv2-account ul{list-style:none;display:flex;gap:6px;margin:0;padding:0}
.home-v2 .hv2-account .cart-block__summary,.home-v2 .hv2-cart .cart-block__contents{position:absolute;right:0;top:calc(100% + 10px)}

/* ============ CONTACT PAGE (scoped .contact-v2, inner page) ============ */
.contact-v2{--red:#9F1D21;--dark:#12151a;--line:#e7e9ed;--muted:#68707e;padding:80px 0 90px;background:#fff;font-family:'Poppins','Segoe UI',sans-serif}
.contact-v2 *{box-sizing:border-box}
.contact-v2 .container{width:min(1400px,94%);margin:0 auto}
.contact-v2 .i{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.contact-v2 .contact-head{text-align:center;max-width:720px;margin:0 auto 46px}
.contact-v2 .pill{display:inline-flex;align-items:center;gap:9px;background:#faeeee;color:var(--dark);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:8px 20px;border-radius:999px;margin-bottom:16px}
.contact-v2 .pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.contact-v2 .contact-head h2{font-family:'Oswald','Arial Narrow',sans-serif;font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:600;color:var(--dark);line-height:1.15;margin:0}
.contact-v2 .contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:0;align-items:stretch}
/* Get-in-touch info panel (dark) — joins flush with the form card (rounded outer corners only). */
.contact-v2 .contact-info{background:var(--dark);border-radius:22px 0 0 22px;padding:40px 32px;display:flex;flex-direction:column;gap:28px}
.contact-v2 .contact-info .cinfo-title{color:#fff;font-family:'Oswald','Arial Narrow',sans-serif;font-size:1.6rem;font-weight:600;line-height:1.2;margin:0 0 2px}
.contact-v2 .cinfo-card{display:flex;gap:16px;align-items:flex-start}
.contact-v2 .cinfo-card .ico{flex:none;width:50px;height:50px;border-radius:13px;background:var(--red);color:#fff;display:grid;place-items:center}
.contact-v2 .cinfo-card .ct small{display:block;font-family:'Oswald','Arial Narrow',sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#9aa2b1;margin-bottom:6px}
.contact-v2 .cinfo-card .ct a,.contact-v2 .cinfo-card .ct .hours{color:#e6e9ef;font-size:.95rem;line-height:1.65;display:block;text-decoration:none}
.contact-v2 .cinfo-card .ct a:hover{color:#e58e91}
.contact-v2 .cinfo-card .ct .hours *{color:#e6e9ef!important;font-size:.95rem}
/* Form card */
.contact-v2 .contact-form-wrap{background:#fff;border:1px solid var(--line);border-left:none;border-radius:0 22px 22px 0;padding:30px 32px;box-shadow:0 30px 70px rgba(18,21,26,.07)}
.contact-v2 .contact-form-wrap h3{font-family:'Oswald','Arial Narrow',sans-serif;font-size:1.4rem;font-weight:600;color:var(--dark);margin:0 0 16px;line-height:1.2}
.contact-v2 .contact-form-wrap label{display:block;font-size:.82rem;font-weight:600;color:var(--dark);margin-bottom:5px}
.contact-v2 .contact-form-wrap .form-item{margin:0 0 12px}
.contact-v2 .contact-form-wrap input[type="text"],
.contact-v2 .contact-form-wrap input[type="email"],
.contact-v2 .contact-form-wrap input[type="tel"],
.contact-v2 .contact-form-wrap textarea,
.contact-v2 .contact-form-wrap select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-family:inherit;font-size:.92rem;color:var(--dark);background:#f8f9fb;transition:.2s;outline:none}
.contact-v2 .contact-form-wrap input:focus,
.contact-v2 .contact-form-wrap textarea:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 3px rgba(159,29,33,.09)}
.contact-v2 .contact-form-wrap textarea{min-height:92px;resize:vertical}
.contact-v2 .contact-form-wrap .form-actions{margin-top:6px}
/* Submit button — matches the home-page .btn-pill (red rounded pill, Poppins, dark hover). */
.contact-v2 .contact-form-wrap .form-actions input[type="submit"],
.contact-v2 .contact-form-wrap .webform-button--submit,
.contact-v2 .contact-form-wrap .form-actions .button{background:var(--red)!important;color:#fff!important;border:none!important;border-radius:999px!important;padding:14px 36px!important;font-family:'Poppins','Segoe UI',sans-serif!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;font-size:.95rem!important;line-height:1.2!important;cursor:pointer;transition:.25s;box-shadow:none!important;white-space:nowrap!important;width:auto!important;max-width:none!important;display:inline-block!important}
.contact-v2 .contact-form-wrap .form-actions input[type="submit"]:hover,
.contact-v2 .contact-form-wrap .webform-button--submit:hover,
.contact-v2 .contact-form-wrap .form-actions .button:hover{background:var(--dark)!important;color:#fff!important}
@media(max-width:900px){
  .contact-v2{padding:56px 0 64px}
  .contact-v2 .contact-grid{grid-template-columns:1fr}
  .contact-v2 .contact-info{padding:32px 26px;border-radius:22px 22px 0 0}
  .contact-v2 .contact-form-wrap{padding:30px 22px;border-radius:0 0 22px 22px;border-left:1px solid var(--line);border-top:none}
}

/* reveal */
.home-v2 .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.home-v2 .reveal.show{opacity:1;transform:none}

/* Inner-page content safeguard: `.animate-section` starts at opacity:0 and is revealed
   by a scroll-observer in main.js. If that JS is halted (e.g. an earlier slider error),
   content would stay invisible — so gently reveal it on load via CSS as a guaranteed
   fallback. The JS `.active` class still applies its own transition when it runs. */
.animate-section{animation:wcsbSafeReveal .7s ease-out .2s forwards}
@keyframes wcsbSafeReveal{to{opacity:1;transform:translate(0,0)}}
.animate-section.active{opacity:1;transform:translate(0,0)}

/* responsive */
@media(max-width:1120px){
  .home-v2 .hero-inner{padding:90px 0 150px}
  .home-v2 .hero-strip .strip-inner{grid-template-columns:1fr 1fr}
  .home-v2 .hero-strip .item{border-bottom:1px solid var(--line)}
  /* Programs carousel cards are `.ptrack > *` (not `.pkard`) — 2 per view on tablet. */
  .home-v2 .pkard,.home-v2 .ptrack > *{flex-basis:calc((100% - 24px)/2)!important;max-width:calc((100% - 24px)/2)!important}
  .home-v2 .logo img{height:74px}
  .home-v2 .feat-card{margin-right:0}
  .home-v2 .about-grid,.home-v2 .about-mid{grid-template-columns:1fr;gap:40px}
  .home-v2 .about-photo{min-height:380px}
  .home-v2 .stats .container{grid-template-columns:1fr 1fr}
  .home-v2 .blog-grid{max-width:720px;margin:0 auto}
  .home-v2 .gal-grid{grid-template-columns:repeat(2,1fr)}
  .home-v2 .foot-top{grid-template-columns:1fr 1fr}
  /* Mobile dropdown menu: positioned under the (sticky) header so it tracks the header
     height automatically instead of a fragile fixed top offset. */
  .home-v2 header .menu{position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:16px;gap:2px;border-bottom:1px solid var(--line);box-shadow:0 30px 60px rgba(18,21,26,.15);transform:translateY(-8px);opacity:0;visibility:hidden;transition:.3s;z-index:50;max-height:75vh;overflow:auto}
  .home-v2 header .menu.open{transform:none;opacity:1;visibility:visible}
  .home-v2 header .menu .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding-left:14px}
  .home-v2 .faq-wrap{grid-template-columns:1fr}
  .home-v2 .faq-photo{min-height:320px;position:relative}
  .home-v2 .faq-right{padding:64px 6vw}
  .home-v2 .hamburger{display:grid}
}
@media(max-width:640px){
  .home-v2 section{padding:64px 0}
  .home-v2 .hero h1{font-size:clamp(2.4rem,11vw,3.2rem)}
  .home-v2 .hero-strip .strip-inner{grid-template-columns:1fr}
  .home-v2 .stats .container{grid-template-columns:1fr 1fr}
  .home-v2 .stat{padding:34px 20px}
  .home-v2 .atp-body{grid-template-columns:1fr}
  /* Training/programs carousel: one card + a peek so it's readable and clearly scrollable. */
  .home-v2 .pkard,.home-v2 .ptrack > *{flex-basis:86%!important;max-width:86%!important}
  /* About feature card ("Regulatory Aligned" etc.) stacks to a single column. */
  .home-v2 .feat-card{grid-template-columns:1fr;padding:24px;gap:20px}
  .home-v2 .about-mid{gap:28px}
  .home-v2 .logo img{height:58px}
  .home-v2 .blog-grid{max-width:420px}
  .home-v2 .blog-grid .bcard{max-width:100%}
  .home-v2 .atp-badge{display:none}
  .home-v2 .gal-grid{grid-auto-rows:170px}
  .home-v2 .foot-top{grid-template-columns:1fr}
  .home-v2 .foot-card{padding:44px 26px 0}
}
@media(max-width:575px){
  /* Programs carousel: exactly ONE full training card per view (no side peeks);
     swipe/arrows move to the next one. */
  .home-v2 .pkard,.home-v2 .ptrack > *{flex-basis:100%!important;max-width:100%!important;scroll-snap-align:center!important}
  .home-v2 .gal-grid{grid-template-columns:1fr}
}
