/* Hacking landing page – shares Bootstrap, Rubik and Home components. */
.hacking-page{overflow-x:clip;background:#fff;--hack-ink:#092d39;--hack-muted:#62777e}
.hacking-page .hp-section{padding-block:clamp(4rem,6vw,6.5rem)}
.hacking-page .hp-section-heading{margin-bottom:clamp(2rem,4vw,3rem)}
.hacking-page .hp-section-heading h2{font-size:clamp(1.95rem,3.25vw,2.95rem);font-weight:700;letter-spacing:-.035em}
.hacking-page .hp-section-heading p{font-size:1.05rem;line-height:1.72;color:var(--hack-muted);max-width:780px;margin-inline:auto}
.hack-hero{position:relative;isolation:isolate;min-height:clamp(530px,52vw,710px);display:flex;align-items:flex-end;background:#093642;color:#fff}
.hack-hero-picture,.hack-hero-overlay{position:absolute;inset:0;z-index:-1}
.hack-hero-picture picture,.hack-hero-picture img{width:100%;height:100%;display:block}
.hack-hero-picture img{object-fit:cover;object-position:center 55%}
.hack-hero-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(125deg,#246761,#082d3a);color:rgba(255,255,255,.22);font-size:clamp(7rem,15vw,13rem)}
.hack-hero-overlay{z-index:0;background:linear-gradient(90deg,rgba(3,28,36,.88),rgba(3,30,38,.25) 80%),linear-gradient(0deg,rgba(3,28,36,.63),transparent 65%);pointer-events:none}
.hack-hero-inner{position:relative;z-index:1;padding-block:105px clamp(3.5rem,7vw,6rem)}
.hack-hero-copy{max-width:825px}.hack-label{display:inline-flex;gap:10px;align-items:center;color:#b9eadd;font-weight:700;font-size:.8rem;letter-spacing:.12em;margin-bottom:20px}
.hack-hero h1{font-weight:700;font-size:clamp(2.6rem,5vw,4.7rem);letter-spacing:-.04em;line-height:1.09;color:white;margin-bottom:23px}
.hack-hero-copy>p{font-size:clamp(1.05rem,1.38vw,1.19rem);line-height:1.68;color:#f0f8f5;max-width:665px;margin-bottom:26px}
.hack-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hack-hero-actions .btn{display:inline-flex;gap:9px;align-items:center;padding:14px 20px}
.hack-outline-btn{color:white;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.hack-outline-btn:hover{background:white;color:#0b3340}
.hack-hero-copy>*{animation:hack-entrance .9s cubic-bezier(.16,1,.3,1) both}.hack-hero-copy>*:nth-child(2){animation-delay:.13s}.hack-hero-copy>*:nth-child(3){animation-delay:.23s}.hack-hero-copy>*:nth-child(4){animation-delay:.33s}
@keyframes hack-entrance{from{opacity:0;transform:translateY(27px)}to{opacity:1;transform:translateY(0)}}
.hack-scope{background:#fff}.hack-section-intro h2{font-size:clamp(2rem,3.3vw,3rem);font-weight:700;line-height:1.15;letter-spacing:-.035em;margin:12px 0 18px}.hack-section-intro>p{font-size:1.07rem;line-height:1.75;color:var(--hack-muted);margin-bottom:27px}
.hack-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hack-benefit{display:flex;gap:13px;padding:19px;border:1px solid #d9e8e0;background:#f0f7f3;border-radius:12px;transition:transform .3s,box-shadow .3s}.hack-benefit:hover{transform:translateY(-3px);box-shadow:0 16px 25px rgba(0,45,46,.09)}
.hack-check{width:35px;height:35px;display:grid;place-items:center;flex:none;background:#ddf1e8;color:#007d69;border-radius:9px;font-size:1.25rem}.hack-benefit h3{font-size:1rem;font-weight:700;margin:2px 0 7px}.hack-benefit p{font-size:.88rem;line-height:1.65;color:var(--hack-muted);margin:0}
.hack-contact-card{border:1px solid #d3e6dc;background:#edf5f1;border-radius:16px;padding:clamp(23px,3vw,35px);box-shadow:0 15px 42px rgba(0,43,43,.065)}.hack-contact-heading>span{color:#068b75;font-size:.76rem;letter-spacing:.09em;font-weight:700;display:inline-flex;align-items:center;gap:8px}.hack-contact-heading h2{font-size:clamp(1.45rem,2.05vw,1.95rem);line-height:1.3;font-weight:700;margin:14px 0 9px}.hack-contact-heading p{font-size:.92rem;line-height:1.64;color:var(--hack-muted)}
.hack-contact-list{display:grid;gap:10px;margin-top:20px}.hack-contact-action{display:flex;gap:12px;align-items:center;min-width:0;padding:14px;border-radius:10px;background:linear-gradient(100deg,#ea7845,#f59155);color:white;text-decoration:none;transition:transform .32s,box-shadow .32s}.hack-contact-action:hover{color:white;transform:translateX(4px);box-shadow:0 10px 22px rgba(0,46,44,.13)}.hack-contact-primary{background:linear-gradient(110deg,#007e67,#08a17f)}.hack-contact-quote{background:#0b303d}.hack-contact-action>i:first-child{font-size:1.2rem}.hack-contact-action>i:last-child{margin-left:auto}.hack-contact-action span{min-width:0;display:flex;flex-direction:column;gap:3px}.hack-contact-action strong{font-size:.88rem;line-height:1.3}.hack-contact-action small{font-size:.78rem;opacity:.95;overflow-wrap:anywhere}.hack-contact-none{font-size:.9rem;color:var(--hack-muted)}.hack-contact-disclaimer{margin:20px 0 0;padding-top:15px;border-top:1px solid #d7e8de;display:flex;gap:10px;color:var(--hack-muted);font-size:.81rem;line-height:1.6}
.hack-work{background:#eef6f2}.hack-work-card{background:white;border:1px solid #dbe8e1;border-radius:16px;padding:clamp(24px,3vw,34px);height:100%;transition:box-shadow .35s,transform .35s}.hack-work-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(0,48,49,.09)}.hack-work-head{display:flex;gap:14px;align-items:center;border-bottom:1px solid #e1ede7;padding-bottom:19px;margin-bottom:17px}.hack-work-number{flex:none;width:38px;height:38px;display:grid;place-items:center;background:#e0f3e9;border-radius:10px;color:#007f6b;font-weight:700}.hack-work-head h3{font-size:1.32rem;font-weight:700;margin:0}.hack-work-card li{display:flex;gap:11px;padding:8px 0;font-size:.96rem;line-height:1.5;color:#455e65}.hack-work-card li i{color:#098b71;margin-top:2px}.hack-work-empty{text-align:center;background:white;padding:30px;border-radius:14px}.hack-permits{display:flex;gap:13px;padding:19px;max-width:950px;margin:35px auto 0;border:1px solid #d9e5df;border-radius:13px;background:#fff;color:#61777a}.hack-permits i{color:#078c74;font-size:1.5rem}.hack-permits p{margin:0;line-height:1.65;font-size:.88rem}
.hack-related{background:#fff}.hack-related-card{display:block;height:100%;overflow:hidden;border:1px solid #dbe6df;border-radius:14px;background:#f8fbf9;color:#0a2d3a;text-decoration:none;transition:transform .35s,box-shadow .35s}.hack-related-card:hover{color:#0a2d3a;transform:translateY(-5px);box-shadow:0 20px 35px rgba(2,45,45,.09)}.hack-related-photo{height:260px;position:relative;overflow:hidden;background:#d9eae1}.hack-related-photo img{height:100%;width:100%;object-fit:contain;transition:transform .6s}.hack-related-card:hover img{transform:scale(1.035)}.hack-related-placeholder{height:100%;display:grid;place-items:center;font-size:4rem;color:#579082;background:linear-gradient(125deg,#eaf3ee,#c3dfd3)}.hack-related-arrow{position:absolute;right:16px;bottom:16px;border-radius:50%;width:38px;height:38px;background:#fff;display:grid;place-items:center;color:#00876d}.hack-related-body{padding:23px}.hack-related-body h3{font-size:1.28rem;font-weight:700}.hack-related-body p{font-size:.91rem;color:#64767d;line-height:1.6;margin:0}
.hack-pricing{background:#eef6f2}.hack-price-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d9e5df;border-radius:14px;padding:29px}.hack-price-kicker{font-size:.71rem;color:#008d74;font-weight:700;letter-spacing:.1em;margin-bottom:12px}.hack-price-card h3{font-size:1.38rem;font-weight:700}.hack-price-card p{color:var(--hack-muted)}.hack-price-items{flex:1;margin:18px 0 23px}.hack-price-items li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #e5ece7;font-size:.9rem}.hack-price-items strong{text-align:right;color:#00826a}.hack-quote-prompt{background:#fff;border:1px solid #d8e5df;border-radius:15px;padding:clamp(25px,4vw,40px);display:flex;align-items:center;gap:22px;max-width:920px;margin:auto}.hack-quote-icon{flex:none;width:55px;height:55px;border-radius:12px;display:grid;place-items:center;background:#e1f3ea;color:#00856d;font-size:1.5rem}.hack-quote-prompt>div{flex:1}.hack-quote-prompt h3{font-weight:700;font-size:1.32rem}.hack-quote-prompt p{color:var(--hack-muted);line-height:1.6;margin:0}.hack-quote-prompt .btn{flex:none}
.hacking-page .hp-videos,.hacking-page .hp-chat-section,.hacking-page .hp-faq-section{background:#edf6f1}.hacking-page .hp-reviews,.hacking-page .hp-regional-desks,.hacking-page .hp-gallery{background:#fff}.hacking-page .hp-slide-review .hp-review-card{min-height:380px}.hacking-page .hp-slide-chat .hp-chat-card img{height:500px;object-fit:contain}.hacking-page .hp-gallery-image{min-height:375px}
@media(max-width:991.98px){.hack-hero{min-height:500px}.hack-contact-card{margin-top:10px}}
@media(max-width:767.98px){.hacking-page .hp-section{padding-block:54px}.hacking-page .hp-section-heading h2{font-size:clamp(1.7rem,7vw,2.25rem)}.hack-hero{min-height:0;display:block;background:#082d39}.hack-hero-picture{position:relative;z-index:0;height:auto}.hack-hero-picture picture,.hack-hero-picture img{width:100%;height:auto}.hack-hero-picture img{object-fit:contain}.hack-hero-placeholder{min-height:240px}.hack-hero-overlay{display:none}.hack-hero-inner{padding-block:32px 42px}.hack-hero h1{font-size:clamp(2.05rem,8vw,3.1rem)}.hack-hero-actions{flex-direction:column}.hack-hero-actions .btn{width:100%;justify-content:center}.hack-benefits{grid-template-columns:1fr}.hack-contact-card{padding:22px}.hack-related-photo{height:235px}.hack-quote-prompt{flex-direction:column;align-items:stretch}.hack-quote-prompt .btn{width:100%}.hacking-page .hp-slide-chat .hp-chat-card img{height:430px}}
@media(prefers-reduced-motion:reduce){.hack-hero-copy>*{animation:none!important}.hack-benefit,.hack-work-card,.hack-related-card,.hack-contact-action{transition:none!important}}

/* 2026-10-14: Complete mobile hero image, with a blurred fill behind the
   uncropped foreground. Desktop remains unchanged. */
.hack-hero-picture > .mobile-hero-backdrop{display:none}
@media (max-width:767.98px) {
  .hack-hero-picture{height:clamp(360px,104vw,540px);min-height:360px;position:relative;overflow:hidden;background:#123842}
  .hack-hero-picture > .mobile-hero-backdrop{display:block!important;position:absolute;inset:-16px;z-index:0;width:auto!important;height:auto!important;overflow:hidden;filter:blur(17px) brightness(.7) saturate(.8);transform:scale(1.045);pointer-events:none}
  .hack-hero-picture > .mobile-hero-backdrop img{display:block;width:100%;height:100%!important;object-fit:cover!important}
  .hack-hero-picture > .hack-hero-main{display:grid!important;place-items:center;position:relative;z-index:1;width:100%;height:100%!important;min-height:0}
  .hack-hero-picture > .hack-hero-main img{width:100%;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important;display:block}
}
@media (max-width:359.98px) { .hack-hero-picture{height:350px;min-height:350px} }
