/*
Theme Name: Shivaansh ArtVision
Theme URI: https://shivaanshartvision.com
Author: Shivaansh ArtVision
Author URI: https://shivaanshartvision.com
Description: Custom dark-theme WordPress theme for Shivaansh ArtVision — a game development and VFX studio. Built around a hexagon-eye brand mark, Indian mandala motifs, and a Jost/Montserrat type system. Pairs with the shivaansh-core companion plugin for custom post types and fields.
Version: 1.0.6
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shivaansh
*/

  :root{
    --void:#0a0d11;
    --ink:#12161c;
    --panel:#161b22;
    --line: rgba(239,230,216,0.09);
    --line-strong: rgba(239,230,216,0.16);
    --slate:#34495e;
    --orange:#ff8c10;
    --orange-deep:#b95500;
    --ivory:#efe6d8;
    --muted:#8b95a0;
    --muted-dim:#5b6570;

    --display:'Jost', sans-serif;
    --body:'Montserrat', sans-serif;

    --wrap: 1240px;
    --edge: 48px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--void);
    color:var(--ivory);
    font-family:var(--body);
    font-weight:300;
    line-height:1.65;
    overflow-x:hidden;
    cursor:default;
  }
  img,svg{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  button{font:inherit; background:none; border:none; color:inherit; cursor:pointer;}
  ::selection{background:var(--orange); color:#160c02;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
  }

  .wrap{max-width:var(--wrap); margin:0 auto; padding:0 var(--edge);}

  .eyebrow{
    font-family:var(--display);
    font-weight:300;
    font-size:13px;
    letter-spacing:0.32em;
    text-transform:uppercase;
    color:var(--orange);
    display:inline-block;
  }

  h1,h2{font-family:var(--display); font-weight:800; letter-spacing:-0.01em;}
  h3{font-family:var(--display); font-weight:600; letter-spacing:-0.005em;}

  .btn{
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-family:var(--body);
    font-weight:700;
    font-size:13px;
    letter-spacing:0.05em;
    text-transform:uppercase;
    padding:15px 28px;
    cursor:pointer;
    transition:transform .3s cubic-bezier(.2,.8,.2,1), background .3s ease, color .3s ease, border-color .3s ease;
    border:1px solid transparent;
  }
  .btn-primary{ background:var(--orange); color:#160c02; }
  .btn-primary:hover{ background:#ffa036; transform:translateY(-2px); }
  .btn-ghost{ background:transparent; color:var(--ivory); border:1px solid var(--line-strong); }
  .btn-ghost:hover{ border-color:var(--orange); color:var(--orange); }
  .btn:focus-visible{outline:2px solid var(--orange); outline-offset:3px;}

  .text-link{
    position:relative; display:inline-flex; align-items:center; gap:8px;
    font-family:var(--body); font-weight:700; font-size:14px; letter-spacing:0.02em;
    color:var(--ivory); padding-bottom:3px; border-bottom:1px solid var(--line-strong);
    transition:border-color .25s ease, color .25s ease, gap .25s ease;
  }
  .text-link:hover{ border-color:var(--orange); color:var(--orange); gap:13px;}

  /* ============ CUSTOM CURSOR ============ */
  .cursor-dot, .cursor-ring{
    position:fixed; top:0; left:0; pointer-events:none; z-index:999;
    border-radius:50%; transform:translate(-50%,-50%);
  }
  .cursor-dot{ width:5px; height:5px; background:var(--orange); }
  .cursor-ring{ width:32px; height:32px; border:1px solid rgba(255,140,16,0.5); transition:width .25s ease, height .25s ease, border-color .25s ease; }
  .cursor-ring.hovering{ width:52px; height:52px; border-color:var(--orange); }
  body.no-fine-pointer .cursor-dot, body.no-fine-pointer .cursor-ring{ display:none; }

  /* ============ NAV ============ */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(10,13,17,0.86);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    transition:box-shadow .35s ease;
  }
  nav{
    max-width:var(--wrap); margin:0 auto; padding:14px var(--edge);
    display:flex; align-items:center; justify-content:space-between;
    transition:padding .35s ease;
  }
  header.scrolled nav{ padding-top:8px; padding-bottom:8px; }
  header.scrolled{ box-shadow:0 8px 24px -12px rgba(0,0,0,0.6); }
  .logo-mark{display:flex; align-items:center;}
  .logo-mark svg{width:168px; height:auto; transition:width .35s ease;}
  header.scrolled .logo-mark svg{ width:132px; }
  .nav-links{display:flex; align-items:center; gap:34px;}
  .nav-links a{
    font-family:var(--body); font-size:12.5px; font-weight:600; letter-spacing:0.04em;
    text-transform:uppercase; color:var(--muted); position:relative; padding:4px 0;
    transition:color .2s ease;
  }
  .nav-links a::after{
    content:''; position:absolute; left:0; bottom:-3px; width:0; height:1px; background:var(--orange);
    transition:width .25s ease;
  }
  .nav-links a:hover{color:var(--ivory);}
  .nav-links a:hover::after{width:100%;}
  .nav-cta{display:flex; align-items:center; gap:22px;}
  .nav-cta .btn{padding:10px 20px; font-size:11.5px;}
  .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
  .burger span{width:22px; height:2px; background:var(--ivory);}

  /* ============ HERO ============ */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex; align-items:center; justify-content:center;
    padding:150px 0 90px;
    overflow:hidden;
    text-align:center;
  }
  .hero-spine{
    position:absolute; left:16px; top:50%; transform:translateY(-50%) rotate(180deg);
    writing-mode:vertical-rl;
    font-family:var(--display); font-weight:300; font-size:12px; letter-spacing:0.32em; text-transform:uppercase;
    color:var(--muted-dim); display:flex; align-items:center; gap:14px;
  }
  .hero-spine .sd{width:5px; height:5px; border-radius:50%; background:var(--orange); flex-shrink:0;}

  .hero-mandala-center{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    z-index:0; pointer-events:none;
  }
  .hero-mandala-wrap{
    width:72%; max-width:820px; aspect-ratio:1/1;
    opacity:0.13; color:var(--orange);
    transition:transform .2s ease-out;
  }
  .hero-mandala-spin{ width:100%; height:100%; animation:heroSpin 160s linear infinite; }
  .hero-mandala-wrap svg{width:100%; height:100%;}
  @keyframes heroSpin{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
  .hero-mandala-center::after{
    content:''; position:absolute; inset:0;
    background:
      radial-gradient(circle at 50% 50%, rgba(10,13,17,0.9) 0%, rgba(10,13,17,0.6) 24%, rgba(10,13,17,0) 48%),
      radial-gradient(ellipse at 50% 50%, rgba(10,13,17,0) 20%, var(--void) 74%);
  }

  .hero-inner{position:relative; z-index:2; max-width:640px; margin:0 auto; padding:0 var(--edge); display:flex; flex-direction:column; align-items:center;}
  .hero .eyebrow{margin-bottom:22px;}
  .hero h1{
    font-size:clamp(30px, 3.8vw, 50px);
    font-weight:800;
    color:var(--ivory);
    line-height:1.14;
    margin-bottom:20px;
  }
  .hero h1 .accent{
    position:relative; color:var(--ivory);
    border-bottom:3px solid var(--orange);
    padding-bottom:2px;
  }
  .hero-sub{
    font-size:14.5px; font-weight:300; color:var(--muted); max-width:460px; margin:0 auto 30px;
  }
  .hero-links{display:flex; justify-content:center; gap:26px; margin-bottom:36px; flex-wrap:wrap;}
  .hero-actions{display:flex; justify-content:center; gap:16px; flex-wrap:wrap;}

  .section-rule{
    max-width:var(--wrap); margin:0 auto; padding:0 var(--edge);
    display:flex; align-items:center; gap:16px;
  }
  .section-rule .line{flex:1; height:1px; background:var(--line);}
  .section-rule .mark{width:14px; height:14px; color:var(--orange); opacity:0.8;}

  /* ============ ABOUT ============ */
  .about{padding:130px 0 0; position:relative; overflow:hidden;}
  .about-mandala{
    position:absolute; left:-14%; top:50%; transform:translateY(-50%); width:46%; max-width:560px;
    opacity:0.07; color:var(--orange); z-index:0; pointer-events:none;
  }
  .about-grid{position:relative; z-index:1; display:grid; grid-template-columns:1fr 1.4fr; gap:70px; align-items:start; padding-bottom:90px;}
  .about-num{font-family:var(--display); font-weight:300; font-size:13px; color:var(--muted-dim); letter-spacing:0.1em;}
  .about h2{font-size:clamp(28px,3.4vw,40px); color:var(--ivory); margin:14px 0 0; line-height:1.2;}
  .about-copy p{color:var(--muted); font-weight:300; font-size:16px; max-width:560px; margin-bottom:20px;}
  .about-copy p strong{color:var(--ivory); font-weight:700;}
  .about-copy{padding-top:8px;}

  /* ---- keyword ticker ---- */
  .ticker{
    position:relative; z-index:1; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    overflow:hidden; padding:20px 0; background:var(--panel);
  }
  .ticker-track{ display:flex; width:max-content; animation:tickerScroll 32s linear infinite; }
  .ticker:hover .ticker-track{ animation-play-state:paused; }
  .ticker-item{
    display:flex; align-items:center; gap:28px; padding:0 28px;
    font-family:var(--display); font-weight:300; font-size:14px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--muted); white-space:nowrap;
  }
  .ticker-item .dot{ color:var(--orange); font-size:10px; }
  @keyframes tickerScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

  /* ============ DURGA FEATURE ============ */
  .durga{ position:relative; padding:110px 0; overflow:hidden; border-top:1px solid var(--line); }
  .durga-content{ position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
  .durga-visual{
    position:relative; aspect-ratio:4/5;
    background:radial-gradient(ellipse at 30% 20%, rgba(255,140,16,0.16), transparent 60%), linear-gradient(155deg, var(--panel), var(--ink) 80%);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
  }
  .durga-visual svg{ width:38%; color:var(--orange); opacity:0.55; position:relative; z-index:1; }
  .durga-visual img.durga-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
  .durga-visual.has-photo::after{
    content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(0deg, rgba(10,13,17,0.75), rgba(10,13,17,0.05) 55%);
  }
  .durga-visual.has-photo svg{ display:none; }
  .durga-visual .tag{
    position:absolute; top:22px; left:22px; font-family:var(--display); font-weight:300; font-size:10.5px;
    letter-spacing:0.16em; text-transform:uppercase; color:var(--orange); z-index:2;
  }
  .durga-text p{ color:var(--muted); font-weight:300; font-size:15.5px; margin:20px 0 32px; max-width:480px; }
  .durga-text .btn-row{ display:flex; gap:16px; flex-wrap:wrap; }

  /* ============ SERVICE ROWS ============ */
  .service-row{
    position:relative; padding:110px 0; overflow:hidden; border-top:1px solid var(--line);
  }
  .service-row .row-mandala{
    position:absolute; top:50%; transform:translateY(-50%); width:52%; max-width:620px;
    opacity:0.1; color:var(--orange); z-index:0; pointer-events:none;
  }
  .service-row.reverse .row-mandala{ right:-14%; }
  .service-row:not(.reverse) .row-mandala{ left:-14%; }
  .service-content{
    position:relative; z-index:1; display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center;
  }
  .service-row.reverse .service-content{ grid-template-columns:1.1fr 0.9fr; }
  .service-row.reverse .service-text{ order:2; }
  .service-row.reverse .service-visual{ order:1; }
  .service-num-big{ font-family:var(--display); font-weight:300; font-size:15px; color:var(--orange); letter-spacing:0.3em; margin-bottom:20px; display:block;}
  .service-content h3{ font-size:clamp(26px,3vw,38px); font-weight:600; color:var(--ivory); margin-bottom:18px; line-height:1.15;}
  .service-content > .service-text > p{ color:var(--muted); font-weight:300; font-size:15.5px; margin-bottom:28px; max-width:460px;}
  .stage-list{ display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line); margin-bottom:0;}
  .stage-item{ border-bottom:1px solid var(--line); }
  .stage-toggle{
    width:100%; display:flex; align-items:baseline; justify-content:space-between; gap:20px;
    padding:14px 0; font-size:13.5px; text-align:left; transition:opacity .2s ease;
  }
  .stage-toggle:hover{ opacity:0.75; }
  .stage-toggle .stage-name{ color:var(--ivory); font-weight:600; letter-spacing:0.02em; display:flex; align-items:center; gap:10px;}
  .stage-toggle .stage-name::before{
    content:'+'; color:var(--orange); font-family:var(--display); font-size:14px; width:14px; display:inline-block;
    transition:transform .25s ease;
  }
  .stage-item.open .stage-toggle .stage-name::before{ content:'–'; }
  .stage-toggle .stage-idx{ font-family:var(--display); font-weight:300; color:var(--muted-dim); font-size:11.5px; letter-spacing:0.1em;}
  .stage-panel{ max-height:0; overflow:hidden; transition:max-height .3s ease, padding .3s ease; }
  .stage-item.open .stage-panel{ max-height:80px; padding-bottom:16px; }
  .stage-panel p{ font-size:13.5px; color:var(--muted); font-weight:300; padding-left:24px; max-width:400px; }
  .service-visual{
    position:relative; aspect-ratio:4/5;
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    transition:background .4s ease;
  }
  .service-visual .visual-num{
    position:absolute; top:22px; right:26px; font-family:var(--display); font-weight:800; font-size:44px;
    color:var(--line-strong); z-index:2;
  }
  .service-visual .glyph{ width:34%; opacity:0.5; color:var(--orange); transition:opacity .3s ease, transform .3s ease; position:relative; z-index:1;}
  .service-visual .stage-photo{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
    opacity:0; transition:opacity .4s ease;
  }
  .service-visual .stage-photo.is-visible{ opacity:1; }
  .service-visual::after{
    content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(0deg, rgba(10,13,17,0.88), rgba(10,13,17,0.1) 60%);
    opacity:0; transition:opacity .4s ease;
  }
  .service-visual.has-photo::after{ opacity:1; }
  .service-visual.has-photo .glyph{ display:none; }
  .service-visual .frame-label{
    position:absolute; bottom:22px; left:22px; right:22px; font-family:var(--display); font-weight:300; font-size:11px;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); transition:opacity .25s ease; z-index:2;
  }
  .sv-tint-0{ background:linear-gradient(155deg, var(--panel), var(--ink) 75%); }
  .sv-tint-1{ background:linear-gradient(155deg, #2a1d10, var(--ink) 75%); }
  .sv-tint-2{ background:linear-gradient(155deg, #182634, var(--ink) 75%); }
  .sv-tint-3{ background:linear-gradient(155deg, #24160f, var(--ink) 75%); }
  .sv-tint-4{ background:linear-gradient(155deg, #16222c, var(--ink) 75%); }

  /* ============ WORK ============ */
  .work{padding:130px 0; border-top:1px solid var(--line);}
  .section-head{ max-width:640px; margin-bottom:64px; }
  .section-head h2{font-size:clamp(28px,3.4vw,40px); font-weight:800; color:var(--ivory); margin:14px 0 16px;}
  .section-head p{color:var(--muted); font-weight:300; font-size:15.5px;}

  .work-mosaic{display:grid; grid-template-columns:repeat(6, 1fr); grid-auto-rows:120px; gap:18px;}
  .work-tile{
    position:relative; overflow:hidden; cursor:pointer; background:none;
    display:block; width:100%; height:100%; padding:0; text-align:left;
  }
  .work-tile:nth-child(5n+1){grid-column:span 4; grid-row:span 4;}
  .work-tile:nth-child(5n+2){grid-column:span 2; grid-row:span 2;}
  .work-tile:nth-child(5n+3){grid-column:span 2; grid-row:span 2;}
  .work-tile:nth-child(5n+4){grid-column:span 3; grid-row:span 3;}
  .work-tile:nth-child(5n+5){grid-column:span 3; grid-row:span 3;}
  .work-tile .fill{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transition:transform .6s cubic-bezier(.2,.8,.2,1);}
  .work-tile:hover .fill{ transform:scale(1.05); }
  .work-tile:nth-child(5n+1) .fill{background:linear-gradient(150deg,#233246,#0e1115 75%);}
  .work-tile:nth-child(5n+2) .fill{background:linear-gradient(150deg,#3a2712,#0e1115 75%);}
  .work-tile:nth-child(5n+3) .fill{background:linear-gradient(150deg,#1f2c38,#0e1115 75%);}
  .work-tile:nth-child(5n+4) .fill{background:linear-gradient(150deg,#382a10,#0e1115 75%);}
  .work-tile:nth-child(5n+5) .fill{background:linear-gradient(150deg,#232f3d,#0e1115 75%);}
  .work-tile img.tile-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
  .work-tile:hover img.tile-photo{ transform:scale(1.05); }
  .work-tile .icon{ width:15%; opacity:0.4; color:var(--orange);}
  .work-tile .tag{
    position:absolute; top:16px; left:16px; font-family:var(--display); font-weight:300; font-size:10.5px; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--orange);
  }
  .work-tile .cap{ position:absolute; left:0; right:0; bottom:0; padding:18px; background:linear-gradient(0deg, rgba(10,13,17,0.95), transparent);}
  .work-tile .cap .t1{font-family:var(--display); font-weight:700; font-size:16px; color:var(--ivory);}
  .work-tile .cap .t2{font-family:var(--display); font-weight:300; font-size:10.5px; color:var(--muted); letter-spacing:0.05em; margin-top:3px;}

  /* ============ WORK MODAL ============ */
  .modal-overlay{
    position:fixed; inset:0; z-index:200; background:rgba(8,10,13,0.86); backdrop-filter:blur(6px);
    display:flex; align-items:center; justify-content:center; padding:24px;
    opacity:0; pointer-events:none; transition:opacity .3s ease;
  }
  .modal-overlay.open{ opacity:1; pointer-events:auto; }
  .modal-box{
    position:relative; width:100%; max-width:640px; background:var(--panel);
    transform:translateY(16px) scale(0.98); transition:transform .3s ease;
  }
  .modal-overlay.open .modal-box{ transform:translateY(0) scale(1); }
  .modal-media{ position:relative; aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; overflow:hidden;}
  .modal-media svg{ width:22%; color:var(--orange); opacity:0.6; }
  .modal-media img{ width:100%; height:100%; object-fit:cover; }
  .modal-body{ padding:26px 28px 30px; }
  .modal-body h3{ font-size:19px; color:var(--ivory); margin-bottom:8px; }
  .modal-body p{ font-size:14px; color:var(--muted); font-weight:300; }
  .modal-close{
    position:absolute; top:14px; right:14px; z-index:2; width:36px; height:36px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; background:rgba(10,13,17,0.6);
    color:var(--ivory); font-size:20px; line-height:1; transition:background .2s ease, color .2s ease;
  }
  .modal-close:hover{ background:var(--orange); color:#160c02; }

  /* ============ PROCESS ============ */

  /* ---- hero background slideshow ---- */
  .hero-bg{position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;}
  .hero-bg-slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.6s ease;}
  .hero-bg-slide.is-active{opacity:var(--slide-opacity,0.35);}
  .hero-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,13,17,.55) 0%, rgba(10,13,17,.15) 45%, var(--void) 100%);}
  .hero-mandala-center, .hero-spine{z-index:1;}

  /* ---- Our Services ---- */
  .services{ padding:130px 0; position:relative; overflow:hidden; border-top:1px solid var(--line); }
  .services-mandala{ position:absolute; right:-260px; top:-120px; width:720px; opacity:.05; pointer-events:none; fill:var(--orange); }
  .services-grid{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .service-card{ background:var(--slate); display:flex; flex-direction:column; transition:transform .3s ease, box-shadow .3s ease; }
  .service-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(0,0,0,.35); }
  .service-card-img{ aspect-ratio:800/330; background:var(--panel); overflow:hidden; }
  .service-card-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
  .service-card:hover .service-card-img img{ transform:scale(1.05); }
  .service-card-body{ padding:16px 20px 22px; }
  .service-card-num{ font-family:var(--display); font-weight:700; font-size:15px; color:var(--orange); }
  .service-card h3{ font-family:var(--display); font-weight:600; font-size:20px; color:#fff; margin:12px 0 10px; }
  .service-card p{ font-size:13.5px; font-weight:400; color:#9aa7b4; margin:0; }
  @media (max-width: 980px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width: 560px){ .services{padding:90px 0;} .services-grid{ grid-template-columns:1fr; } }

  .process{ padding:130px 0; position:relative; overflow:hidden; border-top:1px solid var(--line);}
  .process-mandala{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:80%; max-width:900px;
    opacity:0.045; color:var(--orange); pointer-events:none;
  }
  .process-list{position:relative; z-index:1;}
  .process-item{
    display:grid; grid-template-columns:90px 1fr 2fr; gap:32px; align-items:baseline;
    padding:28px 0; border-top:1px solid var(--line);
  }
  .process-list .process-item:last-child{ border-bottom:1px solid var(--line); }
  .process-roman{ font-family:var(--display); font-weight:700; font-size:22px; color:var(--orange); }
  .process-item h3{ font-family:var(--body); font-weight:600; font-size:17px; color:var(--ivory); text-transform:uppercase; letter-spacing:0.03em;}
  .process-item p{ font-size:14.5px; font-weight:300; color:var(--muted); max-width:460px; }

  /* ============ TEAM ============ */
  .team{ padding:110px 0; border-top:1px solid var(--line); }
  .team-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:30px; }
  .team-card{ text-align:center; }
  .hex-clip{ clip-path: polygon(50% 2%, 95.7% 26%, 95.7% 74%, 50% 98%, 4.3% 74%, 4.3% 26%); }
  .team-avatar{
    position:relative; width:208px; height:208px; margin:0 auto 22px;
  }
  .hex-photo{
    position:relative; width:100%; height:100%;
    background:linear-gradient(155deg, var(--panel), var(--slate) 160%);
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    filter:grayscale(100%); transition:filter .4s ease;
  }
  .team-card:hover .hex-photo{ filter:grayscale(0%); }
  .hex-photo .avatar-icon{ position:relative; width:60%; height:60%; opacity:0.75; }
  .hex-photo img.avatar-photo{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
  .team-card h3{ font-family:var(--body); font-weight:600; font-size:15.5px; color:var(--ivory); margin-bottom:4px;}
  .team-card p{ font-family:var(--display); font-weight:300; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-bottom:10px;}
  .team-linkedin{
    display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px;
    color:var(--muted-dim); transition:color .25s ease, transform .25s ease;
  }
  .team-linkedin:hover{ color:var(--orange); transform:translateY(-2px); }
  .team-linkedin svg{ width:15px; height:15px; }

  /* ============ TESTIMONIALS (compact + slider) ============ */
  .testimonials{ padding:70px 0; border-top:1px solid var(--line); }
  .testimonials .section-head{ margin-bottom:36px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap;}
  .testimonials .section-head > div{ max-width:520px; }
  .test-nav{ display:flex; gap:10px; }
  .test-arrow{
    width:38px; height:38px; border:1px solid var(--line-strong); display:flex; align-items:center; justify-content:center;
    font-size:15px; color:var(--ivory); transition:border-color .2s ease, color .2s ease;
  }
  .test-arrow:hover{ border-color:var(--orange); color:var(--orange); }
  .test-slider{ overflow:hidden; }
  .test-track{
    display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
    padding-bottom:2px;
  }
  .test-track::-webkit-scrollbar{ display:none; }
  .test-card-compact{
    flex:0 0 calc((100% - 40px)/3); scroll-snap-align:start;
    padding:22px 22px; border:1px solid var(--line); background:var(--panel);
  }
  .test-card-compact p{
    font-size:13px; font-weight:300; color:var(--muted); line-height:1.55; margin-bottom:14px;
    display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
  }
  .test-card-compact .who{ font-family:var(--display); font-weight:300; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--orange);}

  /* ============ CAREER TEASER ============ */
  .career{ padding:110px 0; border-top:1px solid var(--line); }
  .career-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
  .career-copy p{ color:var(--muted); font-weight:300; font-size:15.5px; margin-bottom:28px; max-width:440px; }
  .role-list{ border-top:1px solid var(--line); }
  .role-list li{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:16px 0; border-bottom:1px solid var(--line); font-size:14.5px;
  }
  .role-list li .role-name{ color:var(--ivory); font-weight:600; }
  .role-list li .role-tool{ font-family:var(--display); font-weight:300; font-size:11.5px; color:var(--muted-dim); letter-spacing:0.06em; text-transform:uppercase;}

  /* ============ CTA BAND ============ */
  .cta-band{
    position:relative; margin:0 var(--edge) 130px; padding:100px 60px; text-align:left;
    background:var(--panel); border:1px solid var(--line-strong); overflow:hidden;
  }
  .cta-mandala{ position:absolute; right:-8%; top:50%; transform:translateY(-50%); width:44%; max-width:520px; opacity:0.12; color:var(--orange); }
  .cta-inner{ position:relative; max-width:560px; }
  .cta-band h2{ font-size:clamp(28px,3.6vw,44px); font-weight:800; color:var(--ivory); margin-bottom:20px; line-height:1.2;}
  .cta-band p{ color:var(--muted); font-weight:300; margin-bottom:36px; font-size:15.5px;}
  .cta-band .btn-row{ display:flex; gap:16px; flex-wrap:wrap;}

  /* ============ PROJECT INQUIRY FORM ============ */
  .apply{ padding:110px 0 130px; position:relative; overflow:hidden; border-top:1px solid var(--line); }
  .apply-mandala{
    position:absolute; left:-16%; bottom:-10%; width:50%; max-width:600px;
    opacity:0.07; color:var(--orange); z-index:0; pointer-events:none;
  }
  .apply-grid{ position:relative; z-index:1; display:grid; grid-template-columns:0.8fr 1.2fr; gap:70px; align-items:start; }
  .apply-intro p{ color:var(--muted); font-weight:300; font-size:15.5px; margin:18px 0 26px; max-width:400px; }
  .apply-intro .apply-detail{ display:flex; gap:12px; align-items:baseline; padding:14px 0; border-top:1px solid var(--line); font-size:13.5px; }
  .apply-intro .apply-detail:last-of-type{ border-bottom:1px solid var(--line); }
  .apply-intro .apply-detail span:first-child{ font-family:var(--display); font-weight:300; color:var(--muted-dim); letter-spacing:0.08em; text-transform:uppercase; font-size:11px; width:110px; flex-shrink:0; }
  .apply-intro .apply-detail span:last-child{ color:var(--ivory); font-weight:600; }

  .apply-form{ display:block; }
  .form-field{ display:flex; flex-direction:column; gap:8px; }
  .form-field.full{ grid-column:1 / -1; }
  .form-field label{
    font-family:var(--display); font-weight:300; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted);
  }
  .form-field input[type="text"],
  .form-field input[type="email"],
  .form-field input[type="tel"],
  .form-field input[type="url"],
  .form-field input[type="number"],
  .form-field input[type="date"],
  .form-field select,
  .form-field textarea{
    background:var(--panel); border:1px solid var(--line-strong); color:var(--ivory);
    padding:14px 16px; font-family:var(--body); font-size:14px; font-weight:400;
    transition:border-color .2s ease;
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{ outline:none; border-color:var(--orange); }
  .form-field textarea{ min-height:120px; resize:vertical; font-family:var(--body); }
  .form-field select{ cursor:pointer; }

  .apply-submit{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:4px; }
  .apply-success{
    display:none; align-items:center; gap:10px; font-size:13.5px; color:var(--orange); font-weight:600;
  }
  .apply-success.show{ display:flex; }
  .apply-success svg{ width:16px; height:16px; }

  /* ---- built-in forms ---- */
  .sav-form{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .sav-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
  .sav-form input[type="file"]{
    width:100%; background:var(--panel); border:1px dashed var(--line-strong); color:var(--muted);
    padding:12px 14px; font-family:var(--body); font-size:13px;
  }
  .sav-hint{ color:var(--muted-dim); font-size:12px; }
  .sav-err{ color:#ff6b6b; font-size:12px; font-weight:400; min-height:0; }
  .sav-err:empty{ display:none; }
  .form-field.has-error input, .form-field.has-error select, .form-field.has-error textarea{ border-color:#ff6b6b; }
  .sav-form-error{ display:none; color:#ff6b6b; font-size:13.5px; font-weight:600; }
  .sav-form-error.show{ display:block; }
  .sav-form button[disabled]{ opacity:.6; cursor:default; transform:none; }
  .sav-form .apply-submit{ flex-direction:row; align-items:center; }
  .sav-form-error{ flex-basis:100%; }
  .sav-form.is-sent .form-field:not(.apply-submit){ display:none; }

  @media (max-width: 980px){
    .apply-grid{ grid-template-columns:1fr; gap:40px; }
    .sav-form{ grid-template-columns:1fr; }
  }

  /* ============ FOOTER ============ */
  footer{ position:relative; padding:80px 0 36px; background:var(--ink); border-top:1px solid var(--line); }
  .footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:50px; margin-bottom:64px; }
  .footer-brand .logo-mark{ margin-bottom:18px; }
  .footer-brand .logo-mark svg{ width:170px; height:auto; }
  .footer-brand p{ color:var(--muted-dim); font-weight:300; font-size:13.5px; max-width:280px; margin-bottom:4px;}
  .footer-brand .footer-tagline{ color:var(--orange); font-weight:600; font-size:13.5px; margin-bottom:14px; }
  .footer-col h4{ font-family:var(--display); font-weight:300; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--orange); margin-bottom:20px;}
  .footer-col ul li{ margin-bottom:12px; }
  .footer-col a, .footer-col span{ color:var(--muted); font-weight:300; font-size:13.5px; transition:color .2s ease; }
  .footer-col a:hover{ color:var(--ivory); }
  .footer-social{ display:flex; gap:10px; margin-top:4px; }
  .footer-social a{
    position:relative; width:44px; height:44px; display:flex; align-items:center; justify-content:center;
    color:var(--muted); transition:color .25s ease;
  }
  .footer-social a .ring{ position:absolute; inset:0; color:var(--line-strong); transition:color .25s ease, transform .5s ease;}
  .footer-social a:hover{ color:var(--orange); }
  .footer-social a:hover .ring{ color:var(--orange); transform:rotate(35deg); }
  .footer-social a:hover svg.icon,
  .footer-social a:hover .icon svg{ color:var(--orange); }
  .footer-social a svg.icon,
  .footer-social a .icon svg{ width:15px; height:15px; position:relative; z-index:1; transition:color .25s ease;}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
    padding-top:28px; border-top:1px solid var(--line);
    font-family:var(--display); font-weight:300; font-size:11px; color:var(--muted-dim); letter-spacing:0.03em;
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 980px){
    :root{ --edge:24px; }
    .nav-links{display:none;}
    .burger{display:flex;}
    .hero-spine{display:none;}
    .about-grid{grid-template-columns:1fr; gap:36px;}
    .about-mandala{display:none;}
    .durga-content{grid-template-columns:1fr; gap:36px;}
    .service-content, .service-row.reverse .service-content{grid-template-columns:1fr; gap:36px;}
    .service-row.reverse .service-text, .service-row.reverse .service-visual{order:0;}
    .row-mandala{display:none;}
    .work-mosaic{grid-template-columns:repeat(2,1fr); grid-auto-rows:160px;}
    .work-tile{grid-column:span 1 !important; grid-row:span 2 !important;}
    .process-item{grid-template-columns:50px 1fr; row-gap:8px;}
    .process-item p{grid-column:1 / -1;}
    .team-grid{grid-template-columns:repeat(2,1fr); row-gap:36px;}
    .team-avatar{width:168px; height:168px;}
    .test-card-compact{ flex:0 0 85%; }
    .career-grid{grid-template-columns:1fr; gap:36px;}
    .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
    .cta-mandala{display:none;}
    .cta-band{padding:60px 28px; margin:0 16px 90px;}
  }
  @media (max-width: 560px){
    .hero{padding:120px 0 60px;}
    .hero-actions{flex-direction:column; align-items:stretch;}
    .hero-actions .btn{justify-content:center;}
    .work-mosaic{grid-template-columns:1fr;}
    .work-tile{grid-column:span 1 !important;}
    .team-grid{grid-template-columns:1fr;}
    .team-avatar{width:200px; height:200px;}
    .footer-grid{grid-template-columns:1fr;}
    .logo-mark svg{ width:140px; }
  }


  /* ============================================================
     ABOUT / CAREER PAGE ADDITIONS
     ============================================================ */
  /* ---- page hero (shorter variant of homepage hero) ---- */
  .hero.page-hero{ min-height:64vh; padding:170px 0 80px; }
  .hero.page-hero .hero-inner{ max-width:700px; }
  .hero.page-hero .hero-sub{ max-width:560px; }

  .nav-links a.active{ color:var(--orange); }

  /* ---- vision & mission ---- */
  .vision{ padding:120px 0; position:relative; overflow:hidden; border-top:1px solid var(--line); }
  .vision-mandala{
    position:absolute; right:-16%; top:50%; transform:translateY(-50%); width:48%; max-width:580px;
    opacity:0.07; color:var(--orange); z-index:0; pointer-events:none;
  }
  .vision .section-head{ position:relative; z-index:1; max-width:640px; margin-bottom:56px; }
  .vision-grid{ position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:30px; }
  .vision-card{ padding:40px 36px; border-top:2px solid var(--orange); background:var(--panel); }
  .vision-card .vc-num{ font-family:var(--display); font-weight:300; font-size:13px; color:var(--muted-dim); letter-spacing:0.12em; }
  .vision-card h3{ font-size:22px; color:var(--ivory); margin:14px 0 16px; }
  .vision-card p{ font-size:15px; font-weight:300; color:var(--muted); }

  /* ---- team section variants ---- */
  .team.leadership{ border-top:1px solid var(--line); }
  .team-grid--dense{ grid-template-columns:repeat(5, 1fr); gap:26px 22px; }
  .team-avatar--sm{ width:112px; height:112px; margin:0 auto 16px; }
  .team-avatar--sm .avatar-icon{ width:56%; height:56%; }
  .team-grid--dense .team-card h3{ font-size:14px; }
  .team-grid--dense .team-card p{ font-size:10.5px; }
  .team-note{
    position:relative; z-index:1; max-width:640px; margin-top:8px; margin-bottom:48px;
    font-size:13.5px; color:var(--muted-dim); font-weight:300; font-style:italic;
  }

  @media (max-width: 980px){
    .vision-grid{ grid-template-columns:1fr; }
    .vision-mandala{ display:none; }
    .team-grid--dense{ grid-template-columns:repeat(3, 1fr); }
  }
  @media (max-width: 560px){
    .team-grid--dense{ grid-template-columns:repeat(2, 1fr); }
  }

  /* ---- openings list (career page) ---- */
  .openings{ padding:110px 0; position:relative; overflow:hidden; border-top:1px solid var(--line); }
  .openings-mandala{
    position:absolute; right:-16%; top:20%; width:46%; max-width:560px;
    opacity:0.07; color:var(--orange); z-index:0; pointer-events:none;
  }
  .opening-list{ position:relative; z-index:1; border-top:1px solid var(--line); }
  .opening-item{
    display:grid; grid-template-columns:1.1fr 1.6fr auto; gap:36px; align-items:center;
    padding:34px 0; border-bottom:1px solid var(--line);
  }
  .opening-role h3{ font-size:21px; color:var(--ivory); margin-bottom:8px; }
  .opening-tag{
    display:inline-block; font-family:var(--display); font-weight:300; font-size:11px; letter-spacing:0.1em;
    text-transform:uppercase; color:var(--orange); border:1px solid var(--orange-deep); padding:4px 10px;
  }
  .opening-desc p{ font-size:14px; font-weight:300; color:var(--muted); max-width:480px; }
  .opening-actions{ display:flex; flex-direction:column; gap:10px; align-items:flex-end; }
  .opening-actions .btn{ padding:12px 22px; font-size:11.5px; white-space:nowrap; }

  .file-drop{
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    background:var(--panel); border:1px dashed var(--line-strong); padding:14px 16px; cursor:pointer;
    transition:border-color .2s ease;
  }
  .file-drop:hover{ border-color:var(--orange); }
  .file-drop span{ font-size:13px; color:var(--muted); font-weight:300; }
  .file-drop .file-btn{ font-family:var(--display); font-weight:300; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--orange); flex-shrink:0; }
  .file-drop input[type="file"]{ display:none; }

  @media (max-width: 980px){
    .opening-item{ grid-template-columns:1fr; gap:16px; }
    .opening-actions{ align-items:flex-start; flex-direction:row; }
  }
