/* Sonik Sourabh — site stylesheet
   Type: Newsreader (headlines), Archivo (UI + body), Tiro Devanagari Hindi (Hindi lines)
   Colour: navy ink, marigold route accent, white paper. */

@font-face{font-family:'Newsreader';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/newsreader-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Newsreader';font-weight:400;font-style:italic;font-display:swap;src:url('../fonts/newsreader-latin-400-italic.woff2') format('woff2');}
@font-face{font-family:'Newsreader';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/newsreader-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Newsreader';font-weight:600;font-style:normal;font-display:swap;src:url('../fonts/newsreader-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-weight:400;font-display:swap;src:url('../fonts/archivo-400.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-weight:500;font-display:swap;src:url('../fonts/archivo-500.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-weight:600;font-display:swap;src:url('../fonts/archivo-600.woff2') format('woff2');}
@font-face{font-family:'Archivo';font-weight:700;font-display:swap;src:url('../fonts/archivo-700.woff2') format('woff2');}
@font-face{font-family:'Tiro Devanagari Hindi';font-weight:400;font-display:swap;src:url('../fonts/tiro-devanagari-hindi-devanagari-400-normal.woff2') format('woff2');unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF;}

:root{
  --navy:#14213D;
  --navy-2:#0E1830;
  --gold:#E3A73A;
  --paper:#FFFFFF;
  --mist:#F3F5F8;
  --slate:#56607A;
  --line:#DDE2EA;
  --on-dark:#FFFFFF;
  --on-dark-2:#B9C2D6;
  --line-dark:rgba(255,255,255,.16);
  --focus:#14213D;

  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --hindi:'Tiro Devanagari Hindi','Noto Serif Devanagari','Mangal',serif;

  --wrap:1200px;
  --gutter:clamp(20px,4vw,40px);
  --section:clamp(72px,10vw,128px);
  --radius:6px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px;}
body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}
ul,ol{margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0;letter-spacing:-.01em;text-wrap:balance;}
h1{font-size:clamp(2.3rem,5vw,3.9rem);}
h2{font-size:clamp(1.85rem,3.6vw,2.85rem);}
h3{font-size:clamp(1.25rem,1.8vw,1.5rem);}
h4{font-size:1.15rem;}
[lang="hi"]{font-family:var(--hindi);font-weight:400;letter-spacing:0;}
::selection{background:var(--gold);color:var(--navy);}

:focus{outline:none;}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px;}
.on-dark{--focus:var(--gold);}

.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--navy);color:#fff;padding:10px 16px;border-radius:var(--radius);font-weight:600;text-decoration:none;}
.skip:focus{top:12px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);}
.section{padding:var(--section) 0;}
.section--mist{background:var(--mist);}
.section--dark{background:var(--navy);color:var(--on-dark);}
.section--deep{background:var(--navy-2);color:var(--on-dark);}
.section-head{max-width:720px;margin-bottom:clamp(36px,5vw,56px);}
.section-head p{color:var(--slate);font-size:1.125rem;margin-top:16px;}
.on-dark .section-head p{color:var(--on-dark-2);}
.section-head--split{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;}
.lede{font-size:clamp(1.1rem,1.5vw,1.25rem);color:var(--slate);max-width:62ch;}
.on-dark .lede{color:var(--on-dark-2);}
.muted{color:var(--slate);}
.on-dark .muted{color:var(--on-dark-2);}
.measure{max-width:64ch;}

/* ---------- Buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:var(--radius);font-family:var(--sans);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;border:2px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;}
.btn:hover{background:var(--navy-2);border-color:var(--navy-2);}
.btn--ghost{background:transparent;color:var(--navy);}
.btn--ghost:hover{background:var(--navy);color:#fff;}
.on-dark .btn{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.on-dark .btn:hover{background:#fff;border-color:#fff;}
.on-dark .btn--ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.on-dark .btn--ghost:hover{border-color:#fff;background:#fff;color:var(--navy);}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;}

.text-link{font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px;transition:text-decoration-color .2s;}
.text-link:hover{text-decoration-color:currentColor;}
.ext{display:inline-block;width:.75em;height:.75em;margin-left:.3em;vertical-align:.05em;flex:none;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid transparent;transition:border-color .2s;}
.site-header.is-scrolled{border-bottom-color:var(--line);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none;}
.brand img{height:40px;width:auto;}
.brand span{font-family:var(--serif);font-size:1.3rem;font-weight:500;letter-spacing:-.01em;line-height:1;}
.nav{display:flex;align-items:center;gap:4px;}
.nav a{font-weight:500;font-size:.975rem;text-decoration:none;padding:10px 12px;border-radius:var(--radius);color:var(--navy);}
.nav a:not(.btn):hover{background:var(--mist);}
.nav a[aria-current="page"]:not(.btn){text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:8px;}
.nav .btn{margin-left:12px;color:#fff;padding:10px 20px;min-height:44px;}
.nav-toggle{display:none;align-items:center;gap:8px;background:none;border:2px solid var(--line);border-radius:var(--radius);padding:8px 14px;min-height:44px;font:600 .95rem var(--sans);color:var(--navy);cursor:pointer;}
.nav-toggle .bars{width:18px;height:12px;position:relative;}
.nav-toggle .bars::before,.nav-toggle .bars::after,.nav-toggle .bars i{content:'';position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .2s,opacity .2s;}
.nav-toggle .bars::before{top:0;}
.nav-toggle .bars i{top:5px;}
.nav-toggle .bars::after{bottom:0;}
.nav-toggle[aria-expanded="true"] .bars::before{transform:translateY(5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] .bars i{opacity:0;}
.nav-toggle[aria-expanded="true"] .bars::after{transform:translateY(-5px) rotate(-45deg);}

@media (max-width:1080px){
  .nav-toggle{display:inline-flex;}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px var(--gutter) 24px;box-shadow:0 18px 30px -18px rgba(20,33,61,.25);display:none;}
  .nav.is-open{display:flex;}
  .nav a{padding:14px 4px;font-size:1.1rem;border-bottom:1px solid var(--line);border-radius:0;}
  .nav a[aria-current="page"]:not(.btn){text-underline-offset:6px;}
  .nav .btn{margin:16px 0 0;border-bottom:0;border-radius:var(--radius);}
}
@media (max-width:420px){.brand span{font-size:1.1rem;}.brand img{height:34px;}}

/* ---------- Hero ---------- */
.hero{padding:clamp(40px,6vw,80px) 0 clamp(56px,7vw,96px);}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:start;}
.hero-hindi{font-size:clamp(2.5rem,6.2vw,5.2rem);line-height:1.3;margin:0;color:var(--navy);}
.hero-hindi span{display:block;}
.route-draw{display:block;width:100%;max-width:560px;height:28px;margin:6px 0 26px;overflow:visible;}
.route-draw path{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-dasharray:640;stroke-dashoffset:640;animation:draw 1.6s cubic-bezier(.65,0,.35,1) .35s forwards;}
.route-draw circle{fill:var(--gold);opacity:0;animation:pop .3s ease-out 1.85s forwards;}
@keyframes draw{to{stroke-dashoffset:0;}}
@keyframes pop{to{opacity:1;}}
.hero h1{font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:400;font-style:italic;margin-bottom:20px;}
.hero .lede{margin-bottom:34px;color:#39445E;}
.hero-figure{margin:0;position:relative;}
.hero-figure img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);}
.hero-figure figcaption{margin-top:12px;font-size:.9rem;color:var(--slate);padding-left:14px;border-left:3px solid var(--gold);}

/* ---------- Doors (three audience paths) ---------- */
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.door{display:flex;flex-direction:column;gap:4px;padding:18px 20px 20px;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;background:#fff;transition:border-color .2s,background-color .2s,transform .2s;}
.door:hover{border-color:var(--navy);background:var(--mist);}
.door .who{font-size:.875rem;color:var(--slate);}
.door .what{font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.2;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.door--primary{background:var(--navy);border-color:var(--navy);color:#fff;}
.door--primary .who{color:var(--on-dark-2);}
.door--primary:hover{background:var(--navy-2);border-color:var(--navy-2);}
.on-dark .door{background:transparent;border-color:var(--line-dark);color:#fff;}
.on-dark .door .who{color:var(--on-dark-2);}
.on-dark .door:hover{border-color:var(--gold);background:rgba(255,255,255,.04);}
.on-dark .door--primary{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.on-dark .door--primary .who{color:#4A3A12;}
.on-dark .door--primary:hover{background:#fff;border-color:#fff;}

/* ---------- Current roles strip ---------- */
.roles{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--mist);}
.roles .wrap{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;padding-top:28px;padding-bottom:28px;}
.roles h2{font-family:var(--sans);font-size:.95rem;font-weight:600;letter-spacing:0;color:var(--slate);white-space:nowrap;}
.roles ul{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;}
.roles li{display:flex;flex-direction:column;line-height:1.35;padding-left:14px;border-left:2px solid var(--gold);}
.roles strong{font-weight:600;font-size:.95rem;}
.roles span{font-size:.9rem;color:var(--slate);}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:0;}
.stat{padding:8px 20px 8px 0;margin:0;border-right:1px solid var(--line);padding-left:20px;}
.stat:first-child{padding-left:0;}
.stat:last-child{border-right:0;}
.stat dt{font-size:.95rem;color:var(--slate);line-height:1.35;order:2;}
.stat dd{margin:0 0 6px;font-family:var(--serif);font-size:clamp(2.1rem,3.6vw,3rem);font-weight:500;line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;}
.stat{display:flex;flex-direction:column;}
.stat dd{order:1;}
.section--tight{padding:clamp(48px,6vw,72px) 0;}
.stats-note{margin-top:20px;font-size:.875rem;color:var(--slate);}

/* ---------- Story ---------- */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;margin:36px 0 0;}
.facts div{border-top:2px solid var(--navy);padding-top:14px;}
.facts dt{font-family:var(--serif);font-size:1.35rem;font-weight:500;line-height:1.2;}
.facts dd{margin:4px 0 0;color:var(--slate);font-size:.975rem;line-height:1.45;}
.story-copy p{font-size:1.1rem;}
.pull{margin:36px 0 0;padding:0;border:0;}
.pull p{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.4;margin-bottom:12px;}
.pull footer{font-size:.95rem;color:var(--slate);}
.pull::before{content:'';display:block;width:56px;height:3px;background:var(--gold);margin-bottom:20px;}

/* ---------- Route (timeline) ---------- */
.route{list-style:none;position:relative;margin:0;padding:0 0 0 40px;max-width:880px;}
.route::before{content:'';position:absolute;left:9px;top:10px;bottom:10px;width:3px;background:var(--gold);border-radius:2px;}
.stop{position:relative;padding-bottom:44px;}
.stop:last-child{padding-bottom:0;}
.stop::before{content:'';position:absolute;left:-40px;top:6px;width:21px;height:21px;border-radius:50%;background:var(--navy-2);border:3px solid var(--gold);}
.section--dark .stop::before{background:var(--navy);}
.section:not(.on-dark) .stop::before{background:#fff;}
.stop.is-current::before{background:var(--gold);box-shadow:0 0 0 6px rgba(227,167,58,.25);}
.stop-when{font-size:.95rem;color:var(--on-dark-2);font-variant-numeric:tabular-nums;margin-bottom:4px;display:block;}
.section:not(.on-dark) .stop-when{color:var(--slate);}
.stop h3{margin-bottom:4px;}
.stop-org{display:block;font-weight:600;margin-bottom:12px;}
.stop ul{list-style:none;display:grid;gap:8px;}
.stop li{position:relative;padding-left:20px;color:var(--on-dark-2);max-width:64ch;}
.section:not(.on-dark) .stop li{color:#3C4762;}
.stop li::before{content:'';position:absolute;left:0;top:.72em;width:8px;height:2px;background:var(--gold);}
.here{display:inline-block;margin-top:16px;font-size:.875rem;font-weight:600;padding:4px 12px;border-radius:999px;background:var(--gold);color:var(--navy);}

@media (min-width:901px){
  .route--wide{max-width:none;}
  .route--wide .stop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);column-gap:56px;}
  .route--wide .stop>ul{grid-column:2;grid-row:1 / span 4;padding-top:26px;}
  .route--wide .here{justify-self:start;margin-top:12px;}
}
/* ---------- Manifest ---------- */
.manifest-wrap{overflow-x:auto;margin-top:8px;}
.manifest{width:100%;border-collapse:collapse;min-width:560px;}
.manifest caption{text-align:left;}
.manifest th,.manifest td{text-align:left;padding:18px 16px 18px 0;border-bottom:1px solid var(--line-dark);vertical-align:baseline;}
.manifest thead th{font-size:.875rem;font-weight:600;color:var(--on-dark-2);padding-top:0;}
.manifest tbody th{font-family:var(--serif);font-weight:500;font-size:clamp(1.1rem,1.6vw,1.3rem);}
.manifest td{font-variant-numeric:lining-nums tabular-nums;font-family:var(--serif);font-size:clamp(1.15rem,1.7vw,1.4rem);}
.manifest td:last-child{font-family:var(--sans);}
.manifest .status{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;}
.manifest .status::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--gold);}
.manifest-close{margin-top:40px;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.4;max-width:46ch;}

/* ---------- Services list ---------- */
.svc-list{list-style:none;border-top:1px solid var(--line);}
.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) 230px;gap:clamp(20px,4vw,56px);align-items:start;padding:32px 0;border-bottom:1px solid var(--line);}
.svc h3{font-size:clamp(1.35rem,2vw,1.65rem);}
.svc p{color:#3C4762;margin:0;}
.svc .for{display:block;font-size:.9rem;color:var(--slate);margin-top:6px;font-family:var(--sans);}
.svc .btn{white-space:nowrap;justify-self:end;}

/* ---------- Recognition teaser ---------- */
.recog{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;}
.photo{margin:0;}
.photo img{width:100%;border-radius:var(--radius);object-fit:cover;}
.photo figcaption{margin-top:12px;font-size:.9rem;color:var(--slate);}
.on-dark .photo figcaption{color:var(--on-dark-2);}
.award-list{list-style:none;display:grid;gap:0;border-top:1px solid var(--line);margin-bottom:28px;}
.award-list li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;}
.award-list strong{font-family:var(--serif);font-weight:500;font-size:1.2rem;line-height:1.3;}
.award-list span{font-size:.95rem;color:var(--slate);}
.press-line{margin-top:28px;font-size:.95rem;color:var(--slate);}
.press-line strong{color:var(--navy);font-weight:600;}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-top:clamp(36px,5vw,56px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.marquee-track{display:flex;width:max-content;animation:marquee var(--speed,60s) linear infinite;}
.marquee-group{display:flex;flex:none;list-style:none;}
.marquee-group li{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.8rem);white-space:nowrap;display:flex;align-items:center;}
.marquee-group li::after{content:'';flex:none;width:8px;height:8px;border-radius:50%;background:var(--gold);margin:0 36px;}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused;}
@keyframes marquee{to{transform:translateX(-50%);}}

/* ---------- Column teaser ---------- */
.column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;}
.column-title{font-size:clamp(3rem,7vw,5.5rem);line-height:1.2;margin:0 0 8px;color:var(--navy);}
.topic-list{list-style:none;border-top:1px solid var(--line);}
.topic-list li{padding:18px 0;border-bottom:1px solid var(--line);}
.topic-list strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.25rem;line-height:1.3;}
.topic-list span{color:var(--slate);font-size:.95rem;}

/* ---------- Testimonials ---------- */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;}
.quotes blockquote{margin:0;}
.quotes p{font-family:var(--serif);font-size:1.25rem;line-height:1.45;}
.quotes footer{font-size:.95rem;color:var(--slate);margin-top:12px;}

/* ---------- CTA band ---------- */
.cta-band h2{max-width:18ch;}
.cta-band .doors{margin-top:40px;}
.cta-direct{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px 28px;color:var(--on-dark-2);}
.cta-direct a{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px;}

/* ---------- Inner page hero ---------- */
.page-hero{padding:clamp(40px,6vw,72px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--line);}
.crumbs{font-size:.9rem;color:var(--slate);margin-bottom:20px;}
.crumbs ol{list-style:none;display:flex;gap:8px;flex-wrap:wrap;}
.crumbs li+li::before{content:'/';margin-right:8px;color:#A3ABBD;}
.crumbs a{text-decoration:none;}
.crumbs a:hover{text-decoration:underline;}
.page-hero h1{max-width:20ch;margin-bottom:20px;}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:end;}
.page-hero-grid img{border-radius:var(--radius);width:100%;aspect-ratio:4/3;object-fit:cover;}

/* ---------- Generic grids / cards ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px);}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px);}
.item{border-top:2px solid var(--navy);padding-top:18px;}
.on-dark .item{border-top-color:var(--gold);}
.item h3{margin-bottom:8px;}
.item .meta{display:block;font-size:.9rem;color:var(--slate);margin-bottom:8px;}
.on-dark .item .meta{color:var(--on-dark-2);}
.item p{color:#3C4762;}
.on-dark .item p{color:var(--on-dark-2);}

.role-cards{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.role-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:8px;position:relative;}
.role-card::before{content:'';position:absolute;left:24px;top:0;width:40px;height:3px;background:var(--gold);}
.role-card h3{font-size:1.3rem;}
.role-card .org{font-weight:600;}
.role-card p{color:var(--slate);font-size:.975rem;margin:0;}
.role-card .new{align-self:flex-start;font-size:.8rem;font-weight:600;background:var(--mist);border-radius:999px;padding:2px 10px;color:var(--navy);}

.awards{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;}
.awards li{border-top:1px solid var(--line-dark);padding-top:18px;}
.awards .when{display:block;font-size:.9rem;color:var(--gold);font-weight:600;margin-bottom:6px;}
.awards h3{font-size:1.3rem;margin-bottom:8px;}
.awards p{color:var(--on-dark-2);font-size:.975rem;margin:0;}

.gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;}
.gallery figure{margin:0;}
.gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);aspect-ratio:4/3;}
.gallery figcaption{font-size:.9rem;color:var(--slate);margin-top:8px;}
.gallery .g-wide{grid-column:span 4;}
.gallery .g-tall{grid-column:span 2;}
.gallery .g-third{grid-column:span 2;}
.gallery .g-wide img{aspect-ratio:16/9;}
.gallery .g-tall img{aspect-ratio:auto;height:calc(100% - 34px);}

.link-list{list-style:none;border-top:1px solid var(--line);}
.link-list li{border-bottom:1px solid var(--line);}
.link-list a{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr) auto;gap:24px;align-items:baseline;padding:20px 0;text-decoration:none;}
.link-list a:hover .title{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px;}
.link-list .pub{font-weight:600;font-size:.95rem;}
.link-list .title{font-family:var(--serif);font-size:1.25rem;line-height:1.35;}
.link-list .date{font-size:.9rem;color:var(--slate);white-space:nowrap;}

.inst-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);}
.inst-grid li{padding:22px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px;}
.inst-grid strong{font-family:var(--serif);font-weight:500;font-size:1.2rem;line-height:1.3;}
.inst-grid span{font-size:.9rem;color:var(--slate);}

.conf-years{display:grid;gap:40px;}
.conf-year{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;border-top:2px solid var(--navy);padding-top:18px;}
.conf-year h3{font-size:1.6rem;font-variant-numeric:lining-nums;}
.conf-year ul{list-style:none;display:grid;gap:12px;}
.conf-year li{display:flex;flex-direction:column;line-height:1.4;}
.conf-year li span{font-size:.9rem;color:var(--slate);}

.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(28px,5vw,80px);padding:clamp(40px,5vw,64px) 0;border-top:1px solid var(--line);}
.detail:first-child{border-top:0;padding-top:0;}
.detail h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:14px;}
.detail .intro{color:#3C4762;font-size:1.1rem;}
.detail dl{margin:0 0 28px;display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px 24px;}
.detail dt{font-weight:600;}
.detail dd{margin:0;color:#3C4762;}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px;}
.filters button{font:500 .95rem var(--sans);padding:9px 16px;min-height:42px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;}
.filters button:hover{border-color:var(--navy);}
.filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff;}
.topics{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;}
.topics li[hidden]{display:none;}
.topics .cat{display:block;font-size:.875rem;font-weight:600;color:var(--slate);margin-bottom:6px;}
.topics h3{font-size:1.3rem;margin-bottom:8px;}
.topics p{color:#3C4762;font-size:.975rem;margin-bottom:10px;}
.topics .fmt{font-size:.9rem;color:var(--slate);}
.topics li{border-top:2px solid var(--navy);padding-top:16px;}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);max-width:880px;}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-family:var(--serif);font-size:1.25rem;font-weight:500;line-height:1.3;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'';flex:none;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 14px no-repeat;transition:transform .2s;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{padding:0 0 24px;color:#3C4762;max-width:68ch;margin:0;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start;}
.form{display:grid;gap:20px;}
.field{display:grid;gap:8px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field label{font-weight:600;font-size:.975rem;}
.field .hint{font-weight:400;color:var(--slate);}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--navy);background:#fff;border:1.5px solid #C4CBD8;border-radius:var(--radius);padding:12px 14px;min-height:50px;width:100%;transition:border-color .2s,box-shadow .2s;}
.field textarea{min-height:150px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,33,61,.18);}
.field input:user-invalid,.field textarea:user-invalid{border-color:#B42318;}
.honey{position:absolute;left:-9999px;}
.form-status{padding:16px 18px;border-radius:var(--radius);font-weight:500;}
.form-status[data-state="ok"]{background:#EAF6EE;color:#14532D;border:1px solid #A6D8B6;}
.form-status[data-state="error"]{background:#FDECEA;color:#8A1C12;border:1px solid #F3B8B1;}
.form-status[data-state="sending"]{background:var(--mist);}
.form-note{font-size:.9rem;color:var(--slate);}
.aside-block{padding:28px 0;border-top:1px solid var(--line);}
.aside-block:first-child{border-top:0;padding-top:0;}
.aside-block h2{font-size:1.4rem;margin-bottom:10px;}
.aside-block a{font-weight:600;}
.stack{display:grid;gap:10px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-2);color:var(--on-dark-2);padding:clamp(56px,7vw,88px) 0 32px;}
.site-footer a{color:#fff;text-decoration:none;}
.site-footer a:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px;}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;}
.foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.foot-brand img{height:44px;width:auto;}
.foot-brand span{font-family:var(--serif);font-size:1.4rem;color:#fff;}
.foot-grid h2{font-family:var(--sans);font-size:.95rem;font-weight:600;color:#fff;margin-bottom:14px;}
.foot-grid ul{list-style:none;display:grid;gap:10px;}
.foot-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.9rem;}

/* ---------- Mobile booking bar ---------- */
.mobile-cta{display:none;}
@media (max-width:720px){
  .mobile-cta{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:90;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -10px 24px -16px rgba(20,33,61,.35);transform:translateY(110%);transition:transform .25s ease;}
  .mobile-cta.is-visible{transform:none;}
  .mobile-cta .btn{flex:1;min-height:46px;padding:10px 12px;font-size:.95rem;}
  body.has-mobile-cta{padding-bottom:76px;}
  /* Manifest rows stack on small screens */
  .manifest{min-width:0;}
  .manifest thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
  .manifest,.manifest tbody,.manifest tr,.manifest th,.manifest td{display:block;}
  .manifest tr{padding:16px 0;border-bottom:1px solid var(--line-dark);display:grid;grid-template-columns:1fr auto;gap:4px 16px;}
  .manifest tbody th{grid-column:1 / -1;}
  .manifest th,.manifest td{border:0;padding:0;}
}

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .route-draw path{stroke-dashoffset:0;}
  .route-draw circle{opacity:1;}
  .marquee{-webkit-mask-image:none;mask-image:none;}
  .marquee-track{width:auto;animation:none!important;}
  .marquee-group{flex-wrap:wrap;row-gap:12px;}
  .marquee-group[aria-hidden="true"]{display:none;}
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .roles .wrap{grid-template-columns:1fr;gap:16px;}
  .roles ul{grid-template-columns:repeat(3,minmax(0,1fr));}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:32px;}
  .stat:nth-child(3){border-right:0;}
  .stat:nth-child(4){padding-left:0;}
  .role-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .hero-grid,.story,.recog,.column,.contact-grid,.page-hero-grid,.detail{grid-template-columns:1fr;}
  .hero-figure{max-width:440px;}
  .svc{grid-template-columns:1fr;gap:12px;}
  .svc .btn{justify-self:start;margin-top:8px;}
  .grid-3,.topics,.awards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .inst-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .gallery .g-wide,.gallery .g-tall,.gallery .g-third{grid-column:span 6;}
  .gallery .g-tall img{height:auto;aspect-ratio:4/3;}
  .link-list a{grid-template-columns:1fr;gap:4px;}
}
@media (max-width:720px){
  .doors{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .roles ul{grid-template-columns:1fr 1fr;}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stat,.stat:first-child,.stat:nth-child(4){padding-left:0;border-right:0;padding-right:12px;}
  .facts{grid-template-columns:1fr;}
  .conf-year{grid-template-columns:1fr;gap:12px;}
  .detail dl{grid-template-columns:1fr;gap:4px;}
  .detail dd{margin-bottom:10px;}
  .field-row{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .grid-3,.topics,.awards,.inst-grid,.role-cards,.foot-grid{grid-template-columns:1fr;}
}

@media print{
  .site-header,.site-footer,.marquee,.nav-toggle,.skip{display:none;}
  .section--dark,.section--deep{background:#fff;color:#000;}
}

/* =====================================================================
   v3 additions: icons, custom form controls, marquees, big stage,
   conferences, and the motion system
   ===================================================================== */

/* ---------- Header: icon-only menu button, hide on scroll down ---------- */
.nav-toggle{width:46px;height:46px;padding:0;justify-content:center;}
.site-header{transition:border-color .2s,transform .35s cubic-bezier(.2,.7,.2,1);}
.site-header.is-hidden{transform:translateY(-100%);}

/* ---------- Icons ---------- */
.ico{width:20px;height:20px;flex:none;}
.icon-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;}
.icon-link .ico{transition:transform .25s ease,color .25s ease;}
.icon-link:hover .ico{transform:translateY(-2px);color:var(--gold);}
.foot-contact,.contact-lines{list-style:none;display:grid;gap:12px;margin-top:20px;}
.site-footer .icon-link .ico{color:var(--gold);}
.site-footer .foot-grid ul .icon-link{gap:12px;}
.contact-lines .icon-link{font-weight:600;}
.contact-lines .ico{width:22px;height:22px;padding:0;color:var(--navy);}
.contact-lines .icon-link{padding:10px 14px 10px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;transition:border-color .2s,background-color .2s;}
.contact-lines .icon-link:hover{border-color:var(--navy);background:var(--mist);}
.contact-lines .icon-link:hover .ico{color:var(--navy);}

/* ---------- Custom form controls ---------- */
.chips{border:0;margin:0;padding:0;min-width:0;}
.chips legend{font-weight:600;font-size:.975rem;padding:0;margin-bottom:10px;}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.chip{position:relative;cursor:pointer;}
.chip input{position:absolute;opacity:0;width:1px;height:1px;}
.chip span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1.5px solid #C4CBD8;border-radius:999px;font-size:.95rem;font-weight:500;background:#fff;transition:border-color .2s,background-color .2s,color .2s,transform .15s;}
.chip span::before{content:'';width:10px;height:10px;border-radius:50%;border:1.5px solid #A3ABBD;transition:all .2s;}
.chip:hover span{border-color:var(--navy);}
.chip input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff;}
.chip input:checked+span::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 3px rgba(227,167,58,.3);}
.chip input:focus-visible+span{outline:3px solid var(--navy);outline-offset:3px;}
.chip:active span{transform:scale(.97);}
.field input:-webkit-autofill,.field textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fff inset;-webkit-text-fill-color:var(--navy);caret-color:var(--navy);}
.field input,.field textarea{background:#fff;}
.field input::placeholder,.field textarea::placeholder{color:#8B94A8;}

/* ---------- Hero extras ---------- */
.hero-hindi .ln{display:block;overflow:hidden;padding-bottom:.08em;}
.hero-hindi .ln>span{display:block;}
.hero-photo{overflow:hidden;border-radius:var(--radius);}
.hero-photo img{border-radius:0;}
.hero-badge{position:absolute;left:-28px;bottom:64px;background:#fff;border-radius:var(--radius);padding:14px 18px;box-shadow:0 18px 40px -18px rgba(20,33,61,.45);display:flex;flex-direction:column;max-width:210px;border-left:4px solid var(--gold);}
.hero-badge strong{font-family:var(--serif);font-size:1.9rem;font-weight:500;line-height:1;}
.hero-badge span{font-size:.85rem;color:var(--slate);line-height:1.35;margin-top:4px;}
@media (max-width:900px){.hero-badge{left:12px;bottom:60px;}}

/* ---------- Marquee variants ---------- */
.marquee--rev .marquee-track{animation-direction:reverse;}
.marquee--ticker{margin-top:0;border-top:1.5px solid var(--navy);border-bottom:1.5px solid var(--navy);padding:14px 0;-webkit-mask-image:none;mask-image:none;background:#fff;}
.marquee--ticker .marquee-group li{font-family:var(--sans);font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;}
.marquee--ticker .marquee-group li::after{width:5px;height:5px;margin:0 26px;background:var(--navy);}
.marquee--cities{margin-top:0;border-top:0;padding:30px 0;}
.marquee--cities .marquee-group li{font-family:var(--sans);font-weight:700;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:.02em;text-transform:uppercase;color:#8792A6;transition:color .3s;}
.marquee--cities .marquee-group li:hover{color:var(--navy);}
.marquee--cities .marquee-group li::after{background:transparent;border:2px solid var(--gold);width:14px;height:14px;margin:0 44px;}
.marquee--band{margin:0;border:0;padding:18px 0;background:var(--gold);color:var(--navy);-webkit-mask-image:none;mask-image:none;}
.marquee--band .marquee-group li{font-family:var(--sans);font-size:.95rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.marquee--band .marquee-group li::after{content:'+';width:auto;height:auto;background:none;border-radius:0;font-size:1.2rem;margin:0 30px;}

/* ---------- Big stage band ---------- */
.bigstage{position:relative;overflow:hidden;color:#fff;min-height:clamp(420px,56vw,620px);display:flex;align-items:flex-end;background:var(--navy-2);}
.bigstage-img{position:absolute;inset:-12% 0;will-change:transform;}
.bigstage-img img{width:100%;height:100%;object-fit:cover;opacity:.55;}
.bigstage::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,24,48,.15) 0%,rgba(14,24,48,.9) 85%);}
.bigstage-copy{position:relative;z-index:1;padding-top:80px;padding-bottom:clamp(48px,7vw,88px);width:100%;}
.bigstage h2{font-size:clamp(2rem,4.6vw,3.6rem);max-width:18ch;margin-bottom:16px;}
.bigstage p{color:var(--on-dark-2);font-size:1.15rem;max-width:48ch;margin-bottom:28px;}
.bigstage .btn{background:var(--gold);border-color:var(--gold);color:var(--navy);}
.bigstage .btn:hover{background:#fff;border-color:#fff;}
.bigstage{--focus:var(--gold);}

/* ---------- Conferences ---------- */
.conf-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(36px,5vw,80px);align-items:start;}
.conf-intro{position:sticky;top:110px;}
.conf-intro h2{margin-bottom:14px;}
.conf-total{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0;}
.conf-total div{border-top:2px solid var(--navy);padding-top:10px;display:flex;flex-direction:column;}
.conf-total dt{font-size:.9rem;color:var(--slate);order:2;}
.conf-total dd{margin:0;font-family:var(--serif);font-size:1.7rem;font-weight:500;line-height:1.1;order:1;}
.conf-years{display:grid;gap:44px;}
.conf-year{display:block;border:0;padding:0;}
.conf-year-head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;}
.conf-year-head h3{font-size:clamp(1.8rem,3vw,2.3rem);font-variant-numeric:lining-nums;}
.conf-year-head span{font-size:.9rem;color:var(--slate);}
.conf-year-head::after{content:'';flex:1;height:1px;background:#C9D0DC;align-self:center;}
.conf-cards{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.conf-year .conf-card{flex-direction:row;line-height:1.35;}
.conf-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s;}
.conf-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px -20px rgba(20,33,61,.45);border-color:#C4CBD8;}
.conf-ico{flex:none;width:38px;height:38px;padding:9px;border-radius:50%;background:rgba(227,167,58,.16);color:#8A5A00;}
.conf-card strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.1rem;line-height:1.35;}
.conf-card span{display:block;font-size:.9rem;color:var(--slate);margin-top:4px;}
@media (max-width:900px){
  .conf-layout{grid-template-columns:1fr;}
  .conf-intro{position:static;}
}
@media (max-width:640px){
  .conf-cards{grid-template-columns:1fr;}
  .conf-card{padding:14px;}
  .conf-ico{width:34px;height:34px;padding:8px;}
  .conf-card strong{font-size:1.05rem;}
}

/* ---------- Hover polish ---------- */
.door{position:relative;overflow:hidden;}
.door .ext,.door .what::after{transition:transform .25s ease;}
.door:hover .ext{transform:translate(3px,-3px);}
.door:hover{transform:translateY(-3px);box-shadow:0 18px 32px -22px rgba(20,33,61,.5);}
.btn{position:relative;overflow:hidden;isolation:isolate;}
.btn:active{transform:translateY(1px);}
.svc{transition:background-color .3s ease;position:relative;}
.svc::before{content:'';position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--gold);transition:width .5s cubic-bezier(.2,.7,.2,1);}
.svc:hover::before{width:100%;}
.svc h3{transition:transform .3s ease;}
.svc:hover h3{transform:translateX(6px);}
.role-card,.inst-grid li,.topics li,.awards li,.item{transition:transform .25s ease,box-shadow .25s ease;}
.role-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px -22px rgba(20,33,61,.45);}
.inst-grid li:hover{background:var(--mist);}
.photo img,.gallery img{transition:transform .8s cubic-bezier(.2,.7,.2,1);}
.photo:hover img,.gallery figure:hover img{transform:scale(1.03)!important;}
.photo,.gallery figure{overflow:hidden;border-radius:var(--radius);}
.gallery figure{overflow:visible;}
.gallery figure>img{display:block;}
.link-list a{transition:padding-left .3s ease;}
.link-list a:hover{padding-left:10px;}

/* ---------- Timeline progress ---------- */
.route::before{background:rgba(227,167,58,.28);}
.route-fill{position:absolute;left:9px;top:10px;width:3px;height:0;background:var(--gold);border-radius:2px;z-index:0;}
.stop::before{z-index:1;transition:background-color .4s ease,box-shadow .4s ease;}
.js .stop.is-passed::before{background:var(--gold);}
.no-fill .route::before{background:var(--gold);}

/* ---------- Motion system (only when JS is running and motion is allowed) ---------- */
.js:not(.rm) .rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);}
.js:not(.rm) .rv.in{opacity:1;transform:none;}
.js:not(.rm) .rv-img img{clip-path:inset(0 0 100% 0);transform:scale(1.12);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),transform 1.4s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);}
.js:not(.rm) .rv-img.in img{clip-path:inset(0 0 0 0);transform:scale(1);}
.js:not(.rm) .rv-img figcaption{opacity:0;transition:opacity .8s ease .5s;}
.js:not(.rm) .rv-img.in figcaption{opacity:1;}

/* Hero entrance */
.js:not(.rm) .hero-hindi .ln>span{transform:translateY(105%);animation:lineUp 1s cubic-bezier(.2,.7,.2,1) forwards;}
.js:not(.rm) .hero-hindi .ln:nth-child(2)>span{animation-delay:.15s;}
.js:not(.rm) .hero h1,.js:not(.rm) .hero .lede,.js:not(.rm) .hero .doors{opacity:0;transform:translateY(18px);animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) forwards;}
.js:not(.rm) .hero h1{animation-delay:1.1s;}
.js:not(.rm) .hero .lede{animation-delay:1.25s;}
.js:not(.rm) .hero .doors{animation-delay:1.4s;}
.js:not(.rm) .hero-photo{clip-path:inset(100% 0 0 0);animation:photoIn 1.3s cubic-bezier(.7,0,.2,1) .2s forwards;}
.js:not(.rm) .hero-photo img{transform:scale(1.15);animation:photoZoom 1.8s cubic-bezier(.2,.7,.2,1) .2s forwards;}
.js:not(.rm) .hero-badge{opacity:0;transform:translateY(20px);animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) 1.5s forwards;}
.js:not(.rm) .hero-figure figcaption{opacity:0;animation:fadeUp .8s ease 1.6s forwards;}
@keyframes lineUp{to{transform:none;}}
@keyframes fadeUp{to{opacity:1;transform:none;}}
@keyframes photoIn{to{clip-path:inset(0 0 0 0);}}
@keyframes photoZoom{to{transform:scale(1);}}
.hero-badge{animation-name:fadeUp;}
@media (min-width:901px){.js:not(.rm) .hero-badge{animation-name:fadeUp,floaty;animation-duration:.8s,6s;animation-delay:1.5s,2.4s;animation-iteration-count:1,infinite;animation-timing-function:cubic-bezier(.2,.7,.2,1),ease-in-out;}}
@keyframes floaty{0%,100%{transform:none;}50%{transform:translateY(-8px);}}

/* Page hero entrance on inner pages */
.js:not(.rm) .page-hero h1,.js:not(.rm) .page-hero .lede,.js:not(.rm) .page-hero .crumbs,.js:not(.rm) .page-hero .column-title{opacity:0;transform:translateY(18px);animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) forwards;}
.js:not(.rm) .page-hero .crumbs{animation-delay:.05s;}
.js:not(.rm) .page-hero .column-title{animation-delay:.1s;}
.js:not(.rm) .page-hero h1{animation-delay:.15s;}
.js:not(.rm) .page-hero .lede{animation-delay:.3s;}
.js:not(.rm) .page-hero-grid img{clip-path:inset(0 0 100% 0);animation:photoIn 1.2s cubic-bezier(.7,0,.2,1) .2s forwards;}

/* Tablet refinements */
@media (min-width:721px) and (max-width:1080px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-figure{max-width:none;display:grid;grid-template-columns:1fr;}
  .hero-photo img{aspect-ratio:16/11;}
  .hero-badge{left:24px;bottom:72px;}
  .doors{grid-template-columns:repeat(3,minmax(0,1fr));}
  .svc{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);}
  .svc .btn{grid-column:2;justify-self:start;}
  .recog,.story,.column{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .hero-badge{bottom:56px;padding:10px 14px;}
  .hero-badge strong{font-size:1.5rem;}
  .marquee--cities{padding:20px 0;}
  .marquee--cities .marquee-group li::after{margin:0 28px;width:10px;height:10px;}
  .bigstage{min-height:460px;}
}
