/* About page – extra styles (uses variables from style.css) */
:root{
  /* Hero background image (online). If it fails to load, the local workshop photo shows instead. */
  --hero-img:url('https://images.unsplash.com/photo-1565043589221-1a6fd9ae45c7?auto=format&fit=crop&w=1920&q=70');
  --hero-fallback:url('../img/188370498-location-1777363015734-1000x1000.png');
}
html{scroll-padding-top:80px}
.progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--ac),#ffb27a);z-index:100}

/* header on dark hero */
header.dk:not(.sc) .logo{color:#fff}
header.dk:not(.sc) .logo small{color:#d3dae3}
header.dk:not(.sc) nav a:not(.btn){color:#fff}
header.dk:not(.sc) .burger span,header.dk:not(.sc) .burger::before,header.dk:not(.sc) .burger::after{background:#fff}
header.dk.mo .burger span,header.dk.mo .burger::before,header.dk.mo .burger::after{background:#14181d}
nav a.cur{color:var(--ac)!important}
nav a.cur::after{width:100%!important}
@media(max-width:900px){header.dk:not(.sc) nav a:not(.btn){color:#2b3440}}

/* hero banner */
.pg-hero{position:relative;min-height:480px;height:62vh;max-height:620px;padding:0;display:flex;align-items:center;overflow:hidden;background:#14181d}
.ph-bg{position:absolute;inset:-6% 0;background-color:#14181d;background-image:var(--hero-img),var(--hero-fallback);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat;animation:kb 22s ease-in-out infinite alternate;will-change:transform}
@keyframes kb{from{scale:1}to{scale:1.12}}
.ph-ov{position:absolute;inset:0;background:linear-gradient(100deg,rgba(12,16,22,.88) 0%,rgba(12,16,22,.6) 55%,rgba(255,106,26,.28) 100%)}
.ph-ov::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(circle at 25% 50%,#000,transparent 75%);-webkit-mask-image:radial-gradient(circle at 25% 50%,#000,transparent 75%)}
.ph-shape{position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.28);animation:spin 40s linear infinite}
.ph-shape.s1{width:420px;height:420px;right:-90px;top:12%}
.ph-shape.s2{width:240px;height:240px;right:12%;bottom:-70px;animation-direction:reverse;border-color:rgba(255,106,26,.55)}
.ph-shape.s3{width:90px;height:90px;right:30%;top:22%;background:rgba(255,106,26,.25);border:0;animation:float 6s ease-in-out infinite}
.ph-in{position:relative;z-index:2;padding-top:70px;color:#fff}
.pg-hero .tag{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#ffd2b3}
.pg-hero h1{color:#fff;font-size:clamp(3rem,8vw,6.2rem);line-height:1}
.ph-a{opacity:0;transform:translateY(40px);animation:up .9s cubic-bezier(.2,.7,.2,1) forwards}
.ph-a:nth-child(1){animation-delay:.2s}.ph-a:nth-child(2){animation-delay:.38s}.ph-a:nth-child(3){animation-delay:.56s}
@keyframes up{to{opacity:1;transform:none}}
.crumb{display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:10px 22px;border-radius:50px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);font-size:.95rem}
.crumb a{color:#fff;transition:.25s}.crumb a:hover{color:var(--ac)}
.crumb span{color:#ffb27a}.crumb b{color:#ffb27a;font-weight:600}
.scroll-cue{position:absolute;left:50%;bottom:26px;translate:-50% 0;z-index:3;width:28px;height:46px;border:2px solid rgba(255,255,255,.6);border-radius:20px}
.scroll-cue i{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:4px;background:#fff;animation:wheel 1.8s infinite}
@keyframes wheel{0%{opacity:1;transform:none}100%{opacity:0;transform:translateY(16px)}}

/* ctr heading, ticks */
.ctr{text-align:center}.ctr h2{margin-bottom:0}
.ticks{list-style:none;margin:22px 0 0}
.ticks li{position:relative;padding:7px 0 7px 34px;font-weight:500}
.ticks li::before{content:"✓";position:absolute;left:0;top:7px;width:22px;height:22px;border-radius:50%;background:rgba(255,106,26,.14);color:var(--ac);display:grid;place-items:center;font-size:.8rem;font-weight:700}
#story .facts{margin-top:26px}

/* mission & vision */
.mv{background:var(--bg2);overflow:hidden}
.mv-g{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:50px}
.mv-c{position:relative;background:#fff;border:1px solid var(--line);border-radius:28px;padding:44px 40px;overflow:hidden;transition:opacity .9s,transform .25s,box-shadow .4s,border-color .3s;transform-style:preserve-3d}
.mv-c.in{opacity:1}
.mv-c::before{content:"";position:absolute;left:0;top:0;height:5px;width:100%;background:linear-gradient(90deg,var(--ac),#ffb27a);transform:scaleX(0);transform-origin:left;transition:transform .8s .3s}
.mv-c.in::before{transform:scaleX(1)}
.mv-c:hover{border-color:var(--ac);box-shadow:0 28px 60px rgba(20,30,50,.15)}
.mv-ic{width:70px;height:70px;border-radius:20px;background:linear-gradient(135deg,var(--ac),#ff8a3d);color:#111;display:grid;place-items:center;box-shadow:0 14px 30px rgba(255,106,26,.35);transition:.5s}
.mv-ic svg{width:34px;height:34px}
.mv-c:hover .mv-ic{transform:rotate(-8deg) scale(1.08)}
.mv-n{position:absolute;right:30px;top:14px;font-family:var(--hd);font-weight:700;font-size:6rem;line-height:1;color:rgba(20,24,29,.06)}
.mv-c h3{font-family:var(--hd);font-size:2rem;margin:24px 0 10px}
.mv-c p{color:var(--mut)}
.mv-c ul{list-style:none;margin-top:20px;display:grid;gap:8px}
.mv-c li{padding-left:26px;position:relative;font-size:.95rem;font-weight:500}
.mv-c li::before{content:"";position:absolute;left:0;top:.55em;width:12px;height:2px;background:var(--ac)}

/* experience */
.exp{background:#fff}
.ex-st{margin-top:40px}
.ex-st .stat{transition:.3s}.ex-st .stat:hover{transform:translateY(-8px);border-color:var(--ac);box-shadow:0 20px 40px rgba(20,30,50,.12)}
.tl{position:relative;margin:70px auto 0;max-width:900px;padding:10px 0}
.tl-line{position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#e3e8ee;border-radius:3px}
.tl-line i{display:block;width:100%;height:0;background:linear-gradient(var(--ac),#ffb27a);border-radius:3px}
.tl-i{position:relative;width:50%;padding:0 54px 46px 0;text-align:right}
.tl-i:nth-child(odd){}
.tl-i:nth-of-type(even){margin-left:50%;padding:0 0 46px 54px;text-align:left}
.tl-i::after{content:"";position:absolute;top:18px;right:-9px;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--ac);box-shadow:0 0 0 6px rgba(255,106,26,.15)}
.tl-i:nth-of-type(even)::after{right:auto;left:-9px}
.tl-d{display:inline-block;font-family:var(--hd);font-weight:700;font-size:1.3rem;color:var(--ac);letter-spacing:1px}
.tl-b{margin-top:6px;background:var(--bg2);border:1px solid var(--line);border-radius:18px;padding:20px 24px;transition:.3s}
.tl-b:hover{border-color:var(--ac);transform:translateY(-4px);box-shadow:0 18px 38px rgba(20,30,50,.1)}
.tl-b h3{font-family:var(--hd);font-size:1.4rem;line-height:1.2;margin-bottom:6px}
.tl-b p{color:var(--mut);font-size:.95rem}

/* CTA */
.cta-s{padding:0 0 110px;background:#fff}
.cta-box{position:relative;overflow:hidden;text-align:center;color:#fff;border-radius:34px;padding:80px 30px;background:linear-gradient(120deg,#14181d,#2a1a10 55%,#ff6a1a 160%)}
.cta-box .eyebrow{color:#ffb27a}
.cta-box h2{max-width:760px;margin:12px auto 12px}
.cta-box p{color:#d3dae3;max-width:520px;margin:0 auto}
.cta-b{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:34px;position:relative}
.btn.w{background:#fff;color:#14181d;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.btn.o2{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);box-shadow:none}
.btn.o2:hover{border-color:var(--ac);color:#ffb27a}
.cta-r{position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.22);animation:spin 36s linear infinite}
.cta-r.r1{width:380px;height:380px;left:-120px;top:-120px}
.cta-r.r2{width:260px;height:260px;right:-70px;bottom:-90px;border-color:rgba(255,106,26,.6);animation-direction:reverse}

/* story image motion */
.pics img{transition:box-shadow .4s}
.badge-f{animation:float 5s ease-in-out infinite}

@media(max-width:900px){
  .pg-hero{min-height:420px}
  .mv-g{grid-template-columns:1fr}
  .mv-c{padding:34px 26px}
  .tl-line{left:20px}
  .tl-i,.tl-i:nth-of-type(even){width:100%;margin-left:0;padding:0 0 36px 54px;text-align:left}
  .tl-i::after,.tl-i:nth-of-type(even)::after{left:11px;right:auto}
  .ph-shape.s1{width:240px;height:240px}
  .cta-box{padding:56px 22px;border-radius:26px}
}
@media(prefers-reduced-motion:reduce){.ph-a{opacity:1;transform:none}.ph-bg{animation:none}}

/* logo swap on dark hero: dark logo while header is transparent, light logo once scrolled */
.lg-d{display:none!important}
header.dk:not(.sc) .lg-l{display:none!important}
header.dk:not(.sc) .lg-d{display:block!important}
