/* Gill Smart Recruitment. Loads after main.css and property.css and reuses their components. */

.r-page .nav a[aria-current=page]{color:#3c8a13}
.r-page .p-hero h1 em{display:inline}

/* Stats strip overlapping the hero */
.r-stats-wrap{position:relative;z-index:4;background:var(--bg)}
.r-stats-wrap>.wrap{display:flow-root}
.r-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:-34px 0 0;padding:18px;border-radius:20px;background:#fff;box-shadow:0 22px 44px -22px rgba(11,42,107,.55)}
.r-stats>div{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px}
.r-stats .i{grid-row:span 2;width:36px;height:36px;color:#3c9a13}
.r-stats dd{margin:0;font-size:1.5rem;font-weight:800;line-height:1.1;color:var(--navy);font-variant-numeric:tabular-nums}
.r-stats dt{font-size:.82rem;line-height:1.25;color:var(--muted)}

/* About */
.r-about{padding:36px 0 16px;background:var(--bg)}
.r-about-grid{display:grid;gap:24px;align-items:center}
.r-about h2{font-size:clamp(1.7rem,3.6vw,2.3rem);line-height:1.14;font-weight:800;letter-spacing:-.015em;color:var(--navy)}
.r-photo{--scroll:0;height:250px;overflow:hidden;border-radius:22px;box-shadow:var(--shadow);transform:perspective(1000px) rotateY(calc(var(--scroll)*-7deg))}
.r-more{margin-top:10px}
.r-more a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;color:#3c8a13}

/* Services */
.svc-grid{display:grid;gap:14px;perspective:1300px}
.svc{display:block;--rx:0deg;--ry:0deg}
.svc-in{position:relative;height:100%;padding:18px 62px 18px 18px;border-radius:18px;background:#fff;box-shadow:0 14px 30px -22px rgba(11,42,107,.65);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .2s ease-out}
.svc-in .i{width:40px;height:40px;margin-bottom:8px;color:#3c9a13}
.svc h3{font-size:1.1rem;font-weight:800;line-height:1.2;color:var(--navy)}
.svc p{margin-top:6px;font-size:.9rem;line-height:1.45;color:var(--muted)}
.svc .go{right:14px;bottom:14px;color:#2f8a12;background:var(--bg)}

/* Industries */
.ind{padding-top:8px}
.head-note{font-weight:700;color:#3c8a13}
.ind-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0;padding:0;list-style:none}
.ind-grid li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:12px 6px;border-radius:14px;text-align:center;font-size:.84rem;font-weight:700;line-height:1.2;color:var(--navy);background:#fff;transition:transform .25s var(--ease)}
.ind-grid li:hover{transform:translateY(-4px)}
.ind-grid .i{width:30px;height:30px;color:#3c9a13}

/* Employers and job seekers */
.paths{padding:8px 0 32px;background:var(--bg)}
.paths-grid{display:grid;gap:16px}
.path{position:relative;min-height:270px;overflow:hidden;border-radius:22px;box-shadow:var(--shadow)}
.path-bg{position:absolute;inset:-8% 0;--scroll:0;transform:translate3d(0,calc(var(--scroll)*-5%),0)}
.path::after{content:"";position:absolute;inset:0}
.emp::after{background:linear-gradient(95deg,rgba(11,42,107,.95) 42%,rgba(11,42,107,.3))}
.seek::after{background:linear-gradient(95deg,rgba(255,255,255,.97) 46%,rgba(255,255,255,.2))}
.path-copy{position:relative;z-index:1;max-width:330px;padding:24px 22px}
.path h2{font-size:clamp(1.5rem,3vw,1.9rem);line-height:1.15;font-weight:800}
.emp{color:#e8effc}
.emp h2{color:#fff}
.seek h2{color:var(--navy)}
.path-copy>p:not(.p-kicker){margin:8px 0 16px;font-size:.95rem}
.seek .path-copy>p:not(.p-kicker){color:var(--muted)}

/* Process: the talent scene brings its own night sky */
.r-page .journey.is-3d{background:linear-gradient(180deg,#071c4e,#0b2a6b 40%,#124fa8 78%,#2b8fa8)}
.journey-sub{margin-top:4px;color:#dbe6fa;font-weight:600}

/* Contact */
.r-contact{position:relative;overflow:hidden;color:#e8effc;background:var(--navy)}
.r-contact-bg{position:absolute;inset:0;background:var(--navy)}
.r-contact::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(11,42,107,.72),rgba(11,42,107,.94) 55%)}
.r-contact-grid{position:relative;z-index:1;display:grid;gap:22px;padding-block:40px}
.r-contact h2{font-size:clamp(1.9rem,4.4vw,2.8rem);line-height:1.08;font-weight:800;color:#fff}
.r-contact h2 em{display:block;color:var(--lime)}
.r-contact-grid>div:first-child>p:last-child{margin-top:12px}
.r-form{padding:18px;border-radius:20px;color:var(--ink);background:#fff}
.r-form label{display:block;margin:8px 0 4px;font-size:.85rem;font-weight:700;color:var(--navy)}
.r-form input,.r-form select,.r-form textarea{display:block;width:100%;min-height:46px;padding:9px 12px;border:1px solid #b9c7dc;border-radius:12px;font:inherit;font-size:1rem;color:var(--ink);background:#fff}
.r-form textarea{resize:vertical}
.r-form .btn{justify-content:center;width:100%;min-height:48px;margin-top:12px;border:0;cursor:pointer}
.r-two{display:grid;gap:0 12px}
.r-who{margin-bottom:6px}
.r-form .r-who label{margin:0}
.r-who span{padding:0 8px;font-size:.92rem;text-align:center}
.r-note{margin-top:8px;font-size:.88rem;color:var(--muted)}

/* Vision, mission and objectives lean toward the pointer once revealed */
.r-page .purpose{overflow:hidden}
.r-page .objectives{perspective:1300px}
.r-page .vm-card.in,.r-page .objectives li.in{--rx:0deg;--ry:0deg;transform:rotateX(var(--rx)) rotateY(var(--ry))}

/* Core values spin as a 3D ring; only the front half is visible */
.ring-stage{display:flex;justify-content:center;height:96px;padding-top:20px;perspective:900px}
.r-page .ring{--ring:150px;position:relative;display:block;width:150px;height:48px;transform-style:preserve-3d;animation:ring-spin 24s linear infinite}
.r-page .ring:hover{animation-play-state:paused}
.r-page .ring li{position:absolute;inset:0;justify-content:center;min-height:0;padding:0 8px;font-size:.9rem;backface-visibility:hidden;box-shadow:inset 0 0 0 2px var(--lime),0 12px 22px -14px rgba(11,42,107,.7)}
.r-page .ring li:nth-child(1){transform:rotateY(0deg) translateZ(var(--ring))}
.r-page .ring li:nth-child(2){transform:rotateY(60deg) translateZ(var(--ring))}
.r-page .ring li:nth-child(3){transform:rotateY(120deg) translateZ(var(--ring))}
.r-page .ring li:nth-child(4){transform:rotateY(180deg) translateZ(var(--ring))}
.r-page .ring li:nth-child(5){transform:rotateY(240deg) translateZ(var(--ring))}
.r-page .ring li:nth-child(6){transform:rotateY(300deg) translateZ(var(--ring))}
@keyframes ring-spin{to{transform:rotateY(-360deg)}}

/* Job listings */
.jobs{padding-bottom:0}
.job-filter{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.job-filter button{min-height:44px;padding:0 16px;border-radius:999px;font-weight:700;color:var(--navy);background:#fff;box-shadow:inset 0 0 0 1.5px var(--line)}
.job-filter button[aria-pressed=true]{color:#fff;background:linear-gradient(100deg,var(--navy),var(--blue));box-shadow:none}
.job-grid{display:grid;gap:14px}
.job-card{display:block;padding:18px;border-radius:18px;background:#fff;box-shadow:0 14px 30px -22px rgba(11,42,107,.65);transition:transform .25s var(--ease)}
.job-card:hover{transform:translateY(-4px)}
.job-card h3{font-size:1.15rem;font-weight:800;line-height:1.25;color:var(--navy);overflow-wrap:anywhere}
.job-place{margin-top:6px;font-weight:600;color:var(--ink)}
.job-tags{font-size:.9rem;color:var(--muted)}
.job-go{display:inline-block;margin-top:10px;font-weight:700;color:#3c8a13}
.job-page{padding-block:32px 56px;min-height:60vh}
.job-page h1{font-size:clamp(1.8rem,4.4vw,2.7rem);overflow-wrap:anywhere}
.job-page h2{margin:24px 0 6px;font-size:1.3rem;font-weight:800;color:var(--navy)}
.job-crumbs{margin-bottom:10px;font-size:.9rem;color:var(--muted)}
.job-crumbs a{text-decoration:underline}
.job-meta{margin-top:8px;font-weight:600}
.job-facts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.job-facts li{padding:6px 14px;border-radius:999px;font-weight:600;color:var(--navy);background:#fff;box-shadow:inset 0 0 0 1.5px var(--line)}
.job-reqs{margin:0;padding-left:20px;color:var(--muted)}
.job-close{margin:20px 0 14px;font-weight:600}

/* Inner pages */
.r-banner{position:relative;display:flex;align-items:center;min-height:340px;padding-block:44px;overflow:hidden;color:#fff;background:var(--navy)}
.r-banner-bg{position:absolute;inset:-8% 0;--scroll:0;transform:translate3d(0,calc(var(--scroll)*-4%),0)}
.r-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(8,28,76,.93),rgba(8,28,76,.6))}
.r-banner>.wrap{position:relative;z-index:1}
.r-banner h1{max-width:760px;color:#fff;font-size:clamp(1.9rem,4.6vw,3rem)}
.r-banner h1 em{display:inline;color:var(--lime)}
.r-banner-text{max-width:34em;margin:12px 0 18px;color:#e8effc}
.r-crumbs{margin-bottom:10px;font-size:.9rem;color:#dbe6fa}
.r-crumbs a{text-decoration:underline}
.r-section{padding:40px 0;background:var(--bg)}
.r-section h2{font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:1.15;font-weight:800;color:var(--navy)}
.r-split{display:grid;gap:24px;align-items:center}
.r-checks{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.r-checks li{position:relative;padding:12px 14px 12px 44px;border-radius:14px;font-weight:700;color:var(--navy);background:#fff}
.r-checks li::before{content:"";position:absolute;left:16px;top:17px;width:14px;height:8px;border-left:3px solid #3c9a13;border-bottom:3px solid #3c9a13;transform:rotate(-45deg)}
.r-feature{padding:40px 0;color:#e8effc;background:linear-gradient(105deg,var(--navy-2),var(--navy) 55%,#124fa8)}
.r-feature h2{max-width:860px;font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.2;font-weight:800;color:#fff}
.r-feature p{max-width:40em;margin-top:12px}
.r-tags{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.r-tags li{padding:8px 16px;border-radius:999px;font-weight:600;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.r-cards{display:grid;gap:16px;perspective:1300px}
.r-card{display:block;--rx:0deg;--ry:0deg}
.r-card-in{height:100%;padding:22px;border-radius:20px;background:#fff;box-shadow:0 14px 30px -22px rgba(11,42,107,.65);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .2s ease-out}
.r-card h2{font-size:1.3rem;margin-bottom:8px}
.r-card p{color:var(--muted)}
.r-intro{max-width:44em;margin-bottom:20px;font-size:1.05rem;color:var(--muted)}
.s-list{display:grid;gap:14px;perspective:1300px}
.s-item{--rx:0deg;--ry:0deg;scroll-margin-top:100px}
.s-in{display:flex;gap:16px;padding:20px;border-radius:20px;background:#fff;box-shadow:0 14px 30px -22px rgba(11,42,107,.65);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .2s ease-out}
.s-no{flex:none;font-size:1.7rem;font-weight:800;line-height:1.1;color:#3c9a13}
.s-item h2{font-size:1.3rem;margin-bottom:6px}
.s-item p{color:var(--muted)}
.r-apply{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:apply}
.r-apply li{position:relative;padding:14px 14px 14px 68px;border-radius:14px;background:#fff;counter-increment:apply}
.r-apply li::before{content:counter(apply);position:absolute;left:14px;top:14px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--blue),#3f9a24)}
.r-apply h3{font-weight:800;color:var(--navy)}
.r-apply p{font-size:.92rem;color:var(--muted)}
.r-cta{padding:40px 0;text-align:center;background:#fff}
.r-cta h2{margin-bottom:16px;font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:800;color:var(--navy)}
.r-cta h2 em{color:#3c8a13}

@media (scripting:enabled) and (prefers-reduced-motion:no-preference){
  .r-cards .reveal,.s-list .reveal,.svc-grid .reveal,.paths .reveal{transform:perspective(1100px) translateZ(-100px) rotateX(12deg) translateY(28px);transform-origin:50% 100%}
  .r-cards .reveal.in,.s-list .reveal.in,.svc-grid .reveal.in,.paths .reveal.in{transform:none}
}

@media (min-width:640px){
  .r-stats{grid-template-columns:repeat(4,1fr)}
  .svc-grid,.paths-grid,.r-cards{grid-template-columns:1fr 1fr}
  .ind-grid{grid-template-columns:repeat(4,1fr)}
  .r-two{grid-template-columns:1fr 1fr}
  .r-photo{height:320px}
  .r-page .ring{--ring:210px;width:170px}
  .r-page .ring li{font-size:1rem}
  .job-grid{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:960px){
  .job-grid{grid-template-columns:repeat(3,1fr)}
}

@media (min-width:1060px){
  .r-stats{margin-top:-44px;padding:18px 26px}
  .r-stats>div+div{padding-left:22px;border-left:1px solid var(--line)}
  .r-about{padding:52px 0 20px}
  .r-about-grid{grid-template-columns:1fr 1fr;gap:48px}
  .r-photo{height:360px}
  .svc-grid{grid-template-columns:repeat(4,1fr);gap:16px}
  .ind-grid{grid-template-columns:repeat(11,1fr);gap:4px}
  .ind-grid li{background:none;padding:8px 2px}
  .r-contact-grid{grid-template-columns:.9fr 1.2fr;gap:44px;align-items:center;padding-block:56px}
  .r-split{grid-template-columns:1.2fr 1fr;gap:48px}
  .r-section{padding:56px 0}
  .r-banner{min-height:400px}
  .s-list{grid-template-columns:1fr 1fr}
}

@media (prefers-reduced-motion:reduce){
  .r-photo,.path-bg,.r-banner-bg{transform:none}
  .ring-stage{height:auto;padding-top:0}
  .r-page .ring{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:auto;height:auto}
  .r-page .ring li,.r-page .ring li:nth-child(n){position:static;min-height:44px;padding:8px 20px;transform:none}
}
