/* INDIC RMC — v310 shared visual system refinement
   Conservative cross-page harmonisation: typography, spacing, motion, controls and responsive polish.
   Admin/login intentionally excluded because this stylesheet is linked only from public HTML pages. */
:root{
  --ir-orange:#ff6000;
  --ir-orange-2:#ff7a1a;
  --ir-ink:#17191d;
  --ir-muted:#676d76;
  --ir-border:rgba(20,24,29,.09);
  --ir-radius-sm:14px;
  --ir-radius-md:19px;
  --ir-radius-lg:24px;
  --ir-shadow-soft:0 10px 28px rgba(18,23,29,.06);
  --ir-shadow-hover:0 17px 40px rgba(18,23,29,.105);
  --ir-ease:cubic-bezier(.22,1,.36,1);
  --ir-motion-fast:180ms;
  --ir-motion:260ms;
  --ir-motion-image:460ms;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-synthesis-weight:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body p,body li,body dd,body blockquote{font-weight:400}
body small,body .muted{font-weight:400}

/* Supporting copy should read lighter than titles throughout the site. */
body[data-page="home"] .lead,
body[data-page="home"] .ir-proof-card p,
body[data-page="home"] .ir-why-card p,
body[data-page="home"] .review-text,
body[data-page="home"] .ir-faq-answer,
body[data-page="home"] .ir-footer-about,
body[data-page="blog"] .hero p,
body[data-page="blog"] .featured p,
body[data-page="blog"] .card-copy p,
body[data-page="blog"] .guide-note,
body[data-page="blog"] .news-detail-summary,
body[data-page="blog"] .blog-article-body,
body[data-page="imminews"] .hero p,
body[data-page="imminews"] .featured p,
body[data-page="imminews"] .card-copy p,
body[data-page="imminews"] .news-detail-summary,
.ir-destination-hero .ir-hero-intro,
.ir-section-head p,
.ir-explore-card p,
.ir-path-card p,
.ir-compare-panel p,
.ir-country-news-card p,
.ir-country-news-note,
.ir-footer-about,
.ir-footer-location,
.ir-footer-award-subtitle{font-weight:400!important}

/* Secondary labels: clear, but no longer visually compete with headings. */
body[data-page="blog"] .meta,
body[data-page="imminews"] .meta,
body[data-page="blog"] .filters input,
body[data-page="blog"] .filters select,
body[data-page="imminews"] .filters input,
body[data-page="imminews"] .filters select,
.ir-snapshot-label,.ir-section-kicker,.ir-explore-label,.ir-path-label,
.ir-country-news-source,.ir-country-news-date{font-weight:650!important}

/* Shared action language. */
.btn,.ir-btn,.ir-nav-register,.read,.ir-card-link,.ir-section-link,.ir-country-news-action,
.featured-nav,.share-action,.feed-refresh,.topic,.pagination button,.pagination a{
  transition-timing-function:var(--ir-ease)!important;
}
.btn,.ir-btn,.ir-nav-register{font-weight:760!important}
.read,.ir-card-link,.ir-section-link,.ir-country-news-action{font-weight:700!important}

/* Harmonise interactive motion without adding new page-load animation. */
.news-card,.featured,.ir-explore-card,.ir-path-card,.ir-country-news-card,
body[data-page="home"] .ir-proof-card,body[data-page="home"] .ir-why-card,
body[data-page="home"] .ir-team-card{
  transition-duration:var(--ir-motion)!important;
  transition-timing-function:var(--ir-ease)!important;
}
.ir-explore-media img,.ir-country-news-media img,.card-media img,.featured-media img{
  transition-duration:var(--ir-motion-image)!important;
  transition-timing-function:var(--ir-ease)!important;
}
@media (hover:hover) and (pointer:fine){
  .news-card:hover,.ir-explore-card:hover,.ir-path-card:hover,.ir-country-news-card:hover{transform:translateY(-3px)!important}
  .ir-explore-card:hover .ir-explore-media img,.ir-country-news-card:hover .ir-country-news-media img{transform:scale(1.035)!important}
}

/* Blog + ImmiNews: improve breathing room and text rhythm without changing the page concept. */
body[data-page="blog"] .cards,body[data-page="imminews"] .cards{gap:16px!important}
body[data-page="blog"] .card-copy,body[data-page="imminews"] .card-copy{padding:18px!important}
body[data-page="blog"] .card-copy p,body[data-page="imminews"] .card-copy p{line-height:1.62!important}
body[data-page="blog"] .featured-copy,body[data-page="imminews"] .featured-copy{padding:30px!important}
body[data-page="blog"] .featured p,body[data-page="imminews"] .featured p{line-height:1.64!important}
body[data-page="blog"] .filters input,body[data-page="blog"] .filters select,
body[data-page="imminews"] .filters input,body[data-page="imminews"] .filters select{letter-spacing:0!important}
body[data-page="blog"] .topic,body[data-page="imminews"] .topic{font-weight:680!important}
body[data-page="blog"] .blog-article-body p,body[data-page="imminews"] .news-detail-copy p{line-height:1.72!important}
body[data-page="blog"] .blog-source-list a{font-weight:500!important}

/* Destination pages: less dense cards and a quieter information hierarchy. */
.ir-explore-grid,.ir-path-grid,.ir-country-news-grid{gap:16px!important}
.ir-explore-body{padding:19px 18px 18px!important}
.ir-explore-card p{font-size:12px!important;line-height:1.58!important}
.ir-path-card{padding:25px 23px!important}
.ir-path-card p{line-height:1.62!important}
.ir-snapshot-item span:last-child{font-weight:400!important;line-height:1.52!important}
.ir-country-news-body{padding:17px 17px 18px!important}
.ir-country-news-card p{line-height:1.58!important}
.ir-check{font-weight:450!important}
.ir-subject-chip{font-weight:600!important}

/* Careers: align the older page with the current site hierarchy. */
body[data-page="careers"] .hero p{font-size:16px!important;line-height:1.7!important;font-weight:400!important}
body[data-page="careers"] .panel{gap:20px!important}
body[data-page="careers"] .card{border-radius:22px!important;box-shadow:var(--ir-shadow-soft)!important}
body[data-page="careers"] .card p{font-size:14px!important;line-height:1.7!important;font-weight:400!important}
body[data-page="careers"] .card h2{letter-spacing:-.025em!important}
body[data-page="careers"] .btn{min-height:48px!important;padding-inline:20px!important}

/* Privacy: create the same calm reading rhythm used by the content-led pages. */
body[data-page="privacy"]{background:linear-gradient(180deg,#fff 0,#f7f8f9 28%,#fff 100%)!important;color:var(--ir-ink)!important}
body[data-page="privacy"]>.wrap{max-width:980px!important;padding:72px 28px 86px!important}
body[data-page="privacy"]>.wrap h1{margin:0 0 24px!important;font-size:clamp(42px,5.4vw,64px)!important;line-height:1!important;letter-spacing:-.045em!important}
body[data-page="privacy"]>.wrap h2{margin:38px 0 12px!important;font-size:25px!important;line-height:1.18!important;letter-spacing:-.025em!important}
body[data-page="privacy"]>.wrap p,body[data-page="privacy"]>.wrap li{font-size:14.5px!important;line-height:1.76!important;color:#565d66!important;font-weight:400!important}
body[data-page="privacy"] .note{margin:22px 0 30px!important;padding:17px 19px!important;border:1px solid rgba(255,96,0,.14)!important;border-left:3px solid var(--ir-orange)!important;border-radius:14px!important;background:#fff7f1!important;box-shadow:0 8px 24px rgba(22,24,28,.04)!important}

/* Footer text treatment should be consistent on every page. */
.ir-footer-column h4{font-weight:750!important}
.ir-footer-column a{font-weight:400!important}
.ir-footer-contact-column a strong{font-weight:600!important}
.ir-footer-award-title{font-weight:650!important}

/* Focus treatment: visible and brand-consistent without thick competing outlines. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(255,96,0,.72);outline-offset:3px}
.ir-nav-register:focus-visible{outline:none!important;box-shadow:0 0 0 3px rgba(255,96,0,.20),0 12px 28px rgba(255,96,0,.27)!important}

/* Tablet refinement. */
@media (min-width:621px) and (max-width:1180px){
  body[data-page="blog"] .featured-copy,body[data-page="imminews"] .featured-copy{padding:25px!important}
  .ir-destination-section{padding-top:70px!important;padding-bottom:70px!important}
  .ir-section-head{gap:22px!important;margin-bottom:24px!important}
  .ir-path-card{padding:22px 20px!important}
  body[data-page="privacy"]>.wrap{padding-top:64px!important;padding-bottom:74px!important}
}

/* Mobile refinement — preserve hierarchy while reducing visual congestion. */
@media (max-width:620px){
  body[data-page="blog"] .cards,body[data-page="imminews"] .cards{gap:14px!important}
  body[data-page="blog"] .card-copy,body[data-page="imminews"] .card-copy{padding:17px!important}
  body[data-page="blog"] .featured-copy,body[data-page="imminews"] .featured-copy{padding:20px!important}
  body[data-page="blog"] .blog-article-body p,body[data-page="imminews"] .news-detail-copy p{font-size:13.5px!important;line-height:1.7!important}
  .ir-explore-grid,.ir-path-grid,.ir-country-news-grid{gap:14px!important}
  .ir-explore-body{padding:18px!important}
  .ir-path-card{padding:21px 19px!important}
  .ir-country-news-body{padding:16px!important}
  body[data-page="careers"] .hero p{font-size:15px!important}
  body[data-page="careers"] .card{padding:22px!important}
  body[data-page="privacy"]>.wrap{padding:54px 20px 68px!important}
  body[data-page="privacy"]>.wrap h1{font-size:40px!important}
  body[data-page="privacy"]>.wrap h2{font-size:23px!important;margin-top:32px!important}
  body[data-page="privacy"]>.wrap p,body[data-page="privacy"]>.wrap li{font-size:14px!important}
}

/* Accessibility and animation consistency. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* v310 final hierarchy pass: body copy stays intentionally lighter than headings. */
main p,main li{font-weight:400!important}
.btn,.ir-btn{min-height:48px}
.actions,.ir-hero-actions,.news-detail-actions{gap:10px!important}
body[data-page="home"] .ir-destination-tile,
body[data-page="home"] .ir-uni-word,
body[data-page="home"] .ir-faq-question,
body[data-page="home"] .option,
body[data-page="home"] .ir-team-card,
body[data-page="home"] .country-tab,
body[data-page="home"] .country-pill{
  transition-timing-function:var(--ir-ease)!important;
}

/* One public-site typeface stack across legacy and newer pages. */
body{font-family:Inter,Arial,"Noto Sans",sans-serif!important}
