/* Japan Career Resource Centre — live design port */
:root {
      /* Colors — Bhrighu brand extended with editorial neutrals */
      --color-primary: #2356A5;
      --color-primary-hover: #1B4380;
      --color-secondary: #0F2A4F;
      --color-accent: #FF794A;
      --color-accent-soft: #FFE4D6;
      --color-background: #FBFAF7;
      --color-surface: #FFFFFF;
      --color-surface-2: #F4F2EC;
      --color-surface-3: #ECE9E0;
      --color-text: #0F1B2D;
      --color-text-muted: #5A6577;
      --color-text-soft: #8A92A2;
      --color-border: #E3E0D6;
      --color-border-soft: #EEEBE2;
      --color-success: #1F7A4D;

      /* Typography — match homepage (Playfair Display + Inter + Poppins) */
      --font-heading: 'Playfair Display', Georgia, serif;
      --font-body: 'Inter', system-ui, -apple-system, sans-serif;
      --font-mono: 'Inter', ui-monospace, monospace;

      /* Spacing */
      --spacing-section: 6rem;
      --spacing-section-sm: 4rem;
      --container-max-width: 1200px;
      --container-padding: 1.5rem;
    }

    html { scroll-behavior: smooth; }
    body { font-feature-settings: "ss01", "cv11"; -webkit-font-smoothing: antialiased; }

    /* Selection */
    ::selection { background: #2356A5; color: #fff; }

    /* Focus ring */
    *:focus-visible { outline: 2px solid #2356A5; outline-offset: 2px; border-radius: 4px; }

/* Isolate page body from Bootstrap reboot */
#jcrc {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-background);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "ss01", "cv11";
}
#jcrc *,
#jcrc *::before,
#jcrc *::after {
  box-sizing: border-box;
}
#jcrc h1,
#jcrc h2,
#jcrc h3,
#jcrc h4,
#jcrc h5,
#jcrc h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  margin: 0;
}
#jcrc p,
#jcrc figure,
#jcrc blockquote,
#jcrc dl,
#jcrc dd {
  margin: 0;
}
#jcrc ol,
#jcrc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#jcrc a {
  color: inherit;
  text-decoration: inherit;
}
#jcrc img,
#jcrc video {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
#jcrc svg {
  display: block;
  vertical-align: middle;
  flex-shrink: 0;
}
#jcrc button,
#jcrc input,
#jcrc optgroup,
#jcrc select,
#jcrc textarea {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  margin: 0;
  padding: 0;
  line-height: inherit;
}
#jcrc button,
#jcrc input:where([type="button"]),
#jcrc input:where([type="reset"]),
#jcrc input:where([type="submit"]) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}
#jcrc button {
  cursor: pointer;
  text-transform: none;
}
#jcrc table {
  border-collapse: collapse;
  border-color: inherit;
  text-indent: 0;
}
#jcrc input::placeholder,
#jcrc textarea::placeholder {
  color: var(--color-text-soft);
  opacity: 1;
}

#jcrc .absolute{position:absolute !important}#jcrc .relative{position:relative !important}#jcrc .sticky{position:sticky !important}#jcrc .inset-0{inset:0 !important}#jcrc .-bottom-32{bottom:-8rem !important}#jcrc .-left-2{left:-.5rem !important}#jcrc .-left-32{left:-8rem !important}#jcrc .-right-32{right:-8rem !important}#jcrc .-top-32{top:-8rem !important}#jcrc .-top-6{top:-1.5rem !important}#jcrc .bottom-3{bottom:.75rem !important}#jcrc .left-\[27px\]{left:27px !important}#jcrc .top-0{top:0 !important}#jcrc .top-16{top:4rem !important}#jcrc .top-3{top:.75rem !important}#jcrc .z-10{z-index:10 !important}#jcrc .z-30{z-index:30 !important}#jcrc .z-40{z-index:40 !important}#jcrc .-mx-2{margin-left:-.5rem !important;margin-right:-.5rem !important}#jcrc .mx-auto{margin-left:auto !important;margin-right:auto !important}#jcrc .mb-1{margin-bottom:.25rem !important}#jcrc .mb-1\.5{margin-bottom:.375rem !important}#jcrc .mb-12{margin-bottom:3rem !important}#jcrc .mb-14{margin-bottom:3.5rem !important}#jcrc .mb-2{margin-bottom:.5rem !important}#jcrc .mb-3{margin-bottom:.75rem !important}#jcrc .mb-4{margin-bottom:1rem !important}#jcrc .mb-5{margin-bottom:1.25rem !important}#jcrc .mb-8{margin-bottom:2rem !important}#jcrc .mt-0\.5{margin-top:.125rem !important}#jcrc .mt-1{margin-top:.25rem !important}#jcrc .mt-1\.5{margin-top:.375rem !important}#jcrc .mt-10{margin-top:2.5rem !important}#jcrc .mt-12{margin-top:3rem !important}#jcrc .mt-14{margin-top:3.5rem !important}#jcrc .mt-2{margin-top:.5rem !important}#jcrc .mt-2\.5{margin-top:.625rem !important}#jcrc .mt-3{margin-top:.75rem !important}#jcrc .mt-5{margin-top:1.25rem !important}#jcrc .mt-6{margin-top:1.5rem !important}#jcrc .mt-7{margin-top:1.75rem !important}#jcrc .mt-8{margin-top:2rem !important}#jcrc .block{display:block !important}#jcrc .flex{display:flex !important}#jcrc .inline-flex{display:inline-flex !important}#jcrc .table{display:table !important}#jcrc .grid{display:grid !important}#jcrc .contents{display:contents !important}#jcrc .hidden{display:none !important}#jcrc .aspect-\[4\/5\]{aspect-ratio:4/5 !important}#jcrc .h-1\.5{height:.375rem !important}#jcrc .h-10{height:2.5rem !important}#jcrc .h-11{height:2.75rem !important}#jcrc .h-14{height:3.5rem !important}#jcrc .h-16{height:4rem !important}#jcrc .h-3\.5{height:.875rem !important}#jcrc .h-4{height:1rem !important}#jcrc .h-5{height:1.25rem !important}#jcrc .h-6{height:1.5rem !important}#jcrc .h-9{height:2.25rem !important}#jcrc .h-96{height:24rem !important}#jcrc .h-full{height:100% !important}#jcrc .w-1\.5{width:.375rem !important}#jcrc .w-10{width:2.5rem !important}#jcrc .w-11{width:2.75rem !important}#jcrc .w-14{width:3.5rem !important}#jcrc .w-16{width:4rem !important}#jcrc .w-3\.5{width:.875rem !important}#jcrc .w-4{width:1rem !important}#jcrc .w-5{width:1.25rem !important}#jcrc .w-6{width:1.5rem !important}#jcrc .w-9{width:2.25rem !important}#jcrc .w-96{width:24rem !important}#jcrc .w-auto{width:auto !important}#jcrc .w-fit{width:-moz-fit-content !important;width:fit-content !important}#jcrc .w-full{width:100% !important}#jcrc .w-px{width:1px !important}#jcrc .max-w-2xl{max-width:42rem !important}#jcrc .max-w-3xl{max-width:48rem !important}#jcrc .max-w-container{max-width:1200px !important}#jcrc .max-w-lg{max-width:32rem !important}#jcrc .max-w-md{max-width:28rem !important}#jcrc .max-w-narrow{max-width:720px !important}#jcrc .flex-1{flex:1 1 0% !important}#jcrc .shrink-0{flex-shrink:0 !important}#jcrc .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important}#jcrc .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr)) !important}#jcrc .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr)) !important}#jcrc .flex-col{flex-direction:column !important}#jcrc .flex-wrap{flex-wrap:wrap !important}#jcrc .items-start{align-items:flex-start !important}#jcrc .items-center{align-items:center !important}#jcrc .justify-center{justify-content:center !important}#jcrc .justify-between{justify-content:space-between !important}#jcrc .gap-1{gap:.25rem !important}#jcrc .gap-1\.5{gap:.375rem !important}#jcrc .gap-10{gap:2.5rem !important}#jcrc .gap-12{gap:3rem !important}#jcrc .gap-2{gap:.5rem !important}#jcrc .gap-2\.5{gap:.625rem !important}#jcrc .gap-3{gap:.75rem !important}#jcrc .gap-4{gap:1rem !important}#jcrc .gap-5{gap:1.25rem !important}#jcrc .gap-6{gap:1.5rem !important}#jcrc .gap-7{gap:1.75rem !important}#jcrc .gap-px{gap:1px !important}#jcrc .gap-x-6{-moz-column-gap:1.5rem !important;column-gap:1.5rem !important}#jcrc .gap-y-3{row-gap:.75rem !important}#jcrc .space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0 !important;margin-bottom:calc(.625rem*var(--tw-space-y-reverse)) !important;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse))) !important}#jcrc .space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0 !important;margin-bottom:calc(.75rem*var(--tw-space-y-reverse)) !important;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse))) !important}#jcrc .space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0 !important;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse)) !important;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse))) !important}#jcrc .space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0 !important;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse)) !important;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse))) !important}#jcrc .divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0 !important;border-bottom-width:calc(1px*var(--tw-divide-y-reverse)) !important;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse))) !important}#jcrc .divide-border>:not([hidden])~:not([hidden]){border-color:var(--color-border) !important}#jcrc .divide-border-soft>:not([hidden])~:not([hidden]){border-color:var(--color-border-soft) !important}#jcrc .overflow-hidden{overflow:hidden !important}#jcrc .overflow-x-auto{overflow-x:auto !important}#jcrc .rounded-2xl{border-radius:1rem !important}#jcrc .rounded-3xl{border-radius:1.5rem !important}#jcrc .rounded-full{border-radius:9999px !important}#jcrc .rounded-xl{border-radius:.75rem !important}#jcrc .border{border-width:1px !important}#jcrc .border-y{border-top-width:1px !important}#jcrc .border-b,#jcrc .border-y{border-bottom-width:1px !important}#jcrc .border-t{border-top-width:1px !important}#jcrc .border-border{border-color:var(--color-border) !important}#jcrc .border-border-soft{border-color:var(--color-border-soft) !important}#jcrc .border-white\/10{border-color:hsla(0,0%,100%,.1) !important}#jcrc .bg-accent{background-color:var(--color-accent) !important}#jcrc .bg-accent-soft{background-color:var(--color-accent-soft) !important}#jcrc .bg-background{background-color:var(--color-background) !important}#jcrc .bg-border{background-color:var(--color-border) !important}#jcrc .bg-border-soft{background-color:var(--color-border-soft) !important}#jcrc .bg-primary{background-color:var(--color-primary) !important}#jcrc .bg-secondary{background-color:var(--color-secondary) !important}#jcrc .bg-surface{background-color:var(--color-surface) !important}#jcrc .bg-surface-2{background-color:var(--color-surface-2) !important}#jcrc .bg-surface-3{background-color:var(--color-surface-3) !important}#jcrc .bg-transparent{background-color:transparent !important}#jcrc .bg-white{--tw-bg-opacity:1 !important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1)) !important}#jcrc .bg-white\/10{background-color:hsla(0,0%,100%,.1) !important}#jcrc .bg-white\/20{background-color:hsla(0,0%,100%,.2) !important}#jcrc .object-cover{-o-object-fit:cover !important;object-fit:cover !important}#jcrc .p-10{padding:2.5rem !important}#jcrc .p-5{padding:1.25rem !important}#jcrc .p-6{padding:1.5rem !important}#jcrc .p-7{padding:1.75rem !important}#jcrc .px-2{padding-left:.5rem !important;padding-right:.5rem !important}#jcrc .px-3{padding-left:.75rem !important;padding-right:.75rem !important}#jcrc .px-4{padding-left:1rem !important;padding-right:1rem !important}#jcrc .px-5{padding-left:1.25rem !important;padding-right:1.25rem !important}#jcrc .px-6{padding-left:1.5rem !important;padding-right:1.5rem !important}#jcrc .px-container{padding-left:1.5rem !important;padding-right:1.5rem !important}#jcrc .py-0\.5{padding-bottom:.125rem !important;padding-top:.125rem !important}#jcrc .py-1\.5{padding-bottom:.375rem !important;padding-top:.375rem !important}#jcrc .py-2{padding-bottom:.5rem !important;padding-top:.5rem !important}#jcrc .py-2\.5{padding-bottom:.625rem !important;padding-top:.625rem !important}#jcrc .py-3{padding-bottom:.75rem !important;padding-top:.75rem !important}#jcrc .py-3\.5{padding-bottom:.875rem !important;padding-top:.875rem !important}#jcrc .py-4{padding-bottom:1rem !important;padding-top:1rem !important}#jcrc .py-5{padding-bottom:1.25rem !important;padding-top:1.25rem !important}#jcrc .py-section{padding-bottom:6rem !important;padding-top:6rem !important}#jcrc .py-section-sm{padding-bottom:4rem !important;padding-top:4rem !important}#jcrc .pb-16{padding-bottom:4rem !important}#jcrc .pb-2{padding-bottom:.5rem !important}#jcrc .pb-5{padding-bottom:1.25rem !important}#jcrc .pr-12{padding-right:3rem !important}#jcrc .pt-1\.5{padding-top:.375rem !important}#jcrc .pt-16{padding-top:4rem !important}#jcrc .pt-2{padding-top:.5rem !important}#jcrc .pt-5{padding-top:1.25rem !important}#jcrc .pt-8{padding-top:2rem !important}#jcrc .text-left{text-align:left !important}#jcrc .text-center{text-align:center !important}#jcrc .font-body{font-family:var(--font-body) !important}#jcrc .font-heading{font-family:var(--font-heading) !important}#jcrc .font-mono{font-family:var(--font-mono) !important}#jcrc .text-2xl{font-size:1.5rem !important;line-height:2rem !important}#jcrc .text-3xl{font-size:1.875rem !important;line-height:2.25rem !important}#jcrc .text-4xl{font-size:2.25rem !important;line-height:2.5rem !important}#jcrc .text-5xl{font-size:3rem !important;line-height:1 !important}#jcrc .text-7xl{font-size:4.5rem !important;line-height:1 !important}#jcrc .text-base{font-size:1rem !important;line-height:1.5rem !important}#jcrc .text-lg{font-size:1.125rem !important;line-height:1.75rem !important}#jcrc .text-sm{font-size:.875rem !important;line-height:1.25rem !important}#jcrc .text-xl{font-size:1.25rem !important;line-height:1.75rem !important}#jcrc .text-xs{font-size:.75rem !important;line-height:1rem !important}#jcrc .font-medium{font-weight:500 !important}#jcrc .font-normal{font-weight:400 !important}#jcrc .font-semibold{font-weight:600 !important}#jcrc .uppercase{text-transform:uppercase !important}#jcrc .leading-\[1\.05\]{line-height:1.05 !important}#jcrc .leading-\[1\.1\]{line-height:1.1 !important}#jcrc .leading-none{line-height:1 !important}#jcrc .leading-relaxed{line-height:1.625 !important}#jcrc .leading-snug{line-height:1.375 !important}#jcrc .tracking-tight{letter-spacing:-.025em !important}#jcrc .tracking-wider{letter-spacing:.05em !important}#jcrc .text-accent{color:var(--color-accent) !important}#jcrc .text-primary{color:var(--color-primary) !important}#jcrc .text-red-600{--tw-text-opacity:1 !important;color:rgb(220 38 38/var(--tw-text-opacity,1)) !important}#jcrc .text-success{color:var(--color-success) !important}#jcrc .text-text{color:var(--color-text) !important}#jcrc .text-text-muted{color:var(--color-text-muted) !important}#jcrc .text-text-soft{color:var(--color-text-soft) !important}#jcrc .text-white{--tw-text-opacity:1 !important;color:rgb(255 255 255/var(--tw-text-opacity,1)) !important}#jcrc .text-white\/50{color:hsla(0,0%,100%,.5) !important}#jcrc .text-white\/70{color:hsla(0,0%,100%,.7) !important}#jcrc .text-white\/80{color:hsla(0,0%,100%,.8) !important}#jcrc .antialiased{-webkit-font-smoothing:antialiased !important;-moz-osx-font-smoothing:grayscale !important}#jcrc .placeholder-text-soft::-moz-placeholder{color:var(--color-text-soft) !important}#jcrc .placeholder-text-soft::placeholder{color:var(--color-text-soft) !important}#jcrc .opacity-30{opacity:.3 !important}#jcrc .outline-none{outline:2px solid transparent !important;outline-offset:2px !important}#jcrc .outline{outline-style:solid !important}#jcrc .ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000) !important}#jcrc .blur-3xl{--tw-blur:blur(64px) !important}#jcrc .blur-3xl,#jcrc .brightness-0{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important}#jcrc .brightness-0{--tw-brightness:brightness(0) !important}#jcrc .invert{--tw-invert:invert(100%) !important}#jcrc .filter,#jcrc .invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important}#jcrc .backdrop-blur-md{--tw-backdrop-blur:blur(12px) !important;backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia) !important}#jcrc .transition{transition-duration:.15s !important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter !important;transition-timing-function:cubic-bezier(.4,0,.2,1) !important}#jcrc .transition-colors{transition-duration:.15s !important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke !important;transition-timing-function:cubic-bezier(.4,0,.2,1) !important}#jcrc .transition-transform{transition-duration:.15s !important;transition-property:transform !important;transition-timing-function:cubic-bezier(.4,0,.2,1) !important}#jcrc .hover\:border-text:hover{border-color:var(--color-text) !important}#jcrc .hover\:border-text-muted:hover{border-color:var(--color-text-muted) !important}#jcrc .hover\:border-text-soft:hover{border-color:var(--color-text-soft) !important}#jcrc .hover\:bg-accent:hover{background-color:var(--color-accent) !important}#jcrc .hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover) !important}#jcrc .hover\:bg-surface-2:hover{background-color:var(--color-surface-2) !important}#jcrc .hover\:text-accent:hover{color:var(--color-accent) !important}#jcrc .hover\:text-primary:hover{color:var(--color-primary) !important}#jcrc .hover\:text-text:hover{color:var(--color-text) !important}#jcrc .hover\:underline:hover{text-decoration-line:underline !important}#jcrc .focus\:border-primary:focus{border-color:var(--color-primary) !important}#jcrc .focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000) !important}#jcrc .group:hover .group-hover\:text-primary{color:var(--color-primary) !important}@media (min-width:640px){#jcrc .sm\:col-span-2{grid-column:span 2/span 2 !important}#jcrc .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr)) !important}#jcrc .sm\:flex-row{flex-direction:row !important}#jcrc .sm\:items-center{align-items:center !important}#jcrc .sm\:justify-between{justify-content:space-between !important}}@media (min-width:768px){#jcrc .md\:col-span-3{grid-column:span 3/span 3 !important}#jcrc .md\:col-span-4{grid-column:span 4/span 4 !important}#jcrc .md\:col-span-5{grid-column:span 5/span 5 !important}#jcrc .md\:block{display:block !important}#jcrc .md\:table-cell{display:table-cell !important}#jcrc .md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr)) !important}#jcrc .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr)) !important}#jcrc .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr)) !important}#jcrc .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr)) !important}#jcrc .md\:flex-row{flex-direction:row !important}#jcrc .md\:items-end{align-items:flex-end !important}#jcrc .md\:items-center{align-items:center !important}#jcrc .md\:justify-between{justify-content:space-between !important}#jcrc .md\:gap-8{gap:2rem !important}#jcrc .md\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0 !important;margin-bottom:calc(2rem*var(--tw-space-y-reverse)) !important;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse))) !important}#jcrc .md\:border-0{border-width:0 !important}#jcrc .md\:p-14{padding:3.5rem !important}#jcrc .md\:p-8{padding:2rem !important}#jcrc .md\:pb-20{padding-bottom:5rem !important}#jcrc .md\:pt-24{padding-top:6rem !important}#jcrc .md\:text-2xl{font-size:1.5rem !important;line-height:2rem !important}#jcrc .md\:text-3xl{font-size:1.875rem !important;line-height:2.25rem !important}#jcrc .md\:text-4xl{font-size:2.25rem !important;line-height:2.5rem !important}#jcrc .md\:text-5xl{font-size:3rem !important;line-height:1 !important}#jcrc .md\:text-6xl{font-size:3.75rem !important;line-height:1 !important}#jcrc .md\:text-lg{font-size:1.125rem !important;line-height:1.75rem !important}#jcrc .md\:text-xl{font-size:1.25rem !important;line-height:1.75rem !important}}@media (min-width:1024px){#jcrc .lg\:col-span-4{grid-column:span 4/span 4 !important}#jcrc .lg\:col-span-5{grid-column:span 5/span 5 !important}#jcrc .lg\:col-span-7{grid-column:span 7/span 7 !important}#jcrc .lg\:col-span-8{grid-column:span 8/span 8 !important}#jcrc .lg\:flex{display:flex !important}#jcrc .lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr)) !important}#jcrc .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr)) !important}#jcrc .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr)) !important}#jcrc .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr)) !important}#jcrc .lg\:gap-14{gap:3.5rem !important}#jcrc .lg\:gap-16{gap:4rem !important}#jcrc .lg\:p-16{padding:4rem !important}#jcrc .lg\:text-5xl{font-size:3rem !important;line-height:1 !important}#jcrc .lg\:text-7xl{font-size:4.5rem !important;line-height:1 !important}}
#toc-bar .toc-link.active { background: #2356A5 !important; color: #FFFFFF !important; }
#toc-bar .scrollbar-hide::-webkit-scrollbar { display: none; }
#toc-bar .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

/* Missing live opacity utilities */
#jcrc .bg-primary\/8 { background-color: rgba(35, 86, 165, 0.08) !important; }
#jcrc .bg-primary\/20 { background-color: rgba(35, 86, 165, 0.2) !important; }
#jcrc .bg-primary\/40 { background-color: rgba(35, 86, 165, 0.4) !important; }
#jcrc .bg-accent\/20 { background-color: rgba(255, 121, 74, 0.2) !important; }
#jcrc .bg-accent\/30 { background-color: rgba(255, 121, 74, 0.3) !important; }
#jcrc .bg-background\/90 { background-color: rgba(251, 250, 247, 0.9) !important; }
#jcrc .text-accent\/20 { color: rgba(255, 121, 74, 0.2) !important; }
#jcrc .focus\:ring-primary\/20:focus { --tw-ring-color: rgba(35, 86, 165, 0.2); }

#jcrc .md\:top-18 { top: 4.5rem !important; }
@media (min-width: 768px) {
  #jcrc .md\:top-18 { top: 4.5rem !important; }
}

#toc-bar .sticky { top: 4.5rem !important; }
@media (min-width: 992px) {
  #toc-bar .sticky { top: 5rem !important; }
}

#jcrc .border,
#jcrc .border-y,
#jcrc .border-t,
#jcrc .divide-y > :not([hidden]) ~ :not([hidden]) {
  border-style: solid;
}

#jcrc table { caption-side: bottom; border-collapse: collapse; width: auto; }
#jcrc th { font-weight: inherit; text-align: inherit; }
#jcrc td, #jcrc th { border: 0; padding: 0; background: transparent; }

/* Hex color locks matching live source (beat Bootstrap !important blues/purples) */
#jcrc .bg-primary { background-color: #2356A5 !important; }
#jcrc .bg-secondary { background-color: #0F2A4F !important; }
#jcrc .bg-accent { background-color: #FF794A !important; }
#jcrc .bg-accent-soft { background-color: #FFE4D6 !important; }
#jcrc .bg-background { background-color: #FBFAF7 !important; }
#jcrc .bg-surface { background-color: #FFFFFF !important; }
#jcrc .bg-surface-2 { background-color: #F4F2EC !important; }
#jcrc .bg-surface-3 { background-color: #ECE9E0 !important; }
#jcrc .bg-white { background-color: #FFFFFF !important; }
#jcrc .text-primary { color: #2356A5 !important; }
#jcrc .text-accent { color: #FF794A !important; }
#jcrc .text-success { color: #1F7A4D !important; }
#jcrc .text-text { color: #0F1B2D !important; }
#jcrc .text-text-muted { color: #5A6577 !important; }
#jcrc .text-text-soft { color: #8A92A2 !important; }
#jcrc .text-white { color: #FFFFFF !important; }
#jcrc .hover\:bg-primary-hover:hover { background-color: #1B4380 !important; }
#jcrc .group:hover .group-hover\:text-primary { color: #2356A5 !important; }

#jcrc a.bg-primary,
#jcrc button.bg-primary {
  background-color: #2356A5 !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
}
#jcrc a.bg-primary:hover,
#jcrc button.bg-primary:hover {
  background-color: #1B4380 !important;
  color: #FFFFFF !important;
}
#jcrc a.inline-flex { text-decoration: none !important; }

#jcrc svg.text-primary { color: #2356A5 !important; stroke: currentColor; }
#jcrc svg.text-accent { color: #FF794A !important; stroke: currentColor; }
#jcrc svg.text-success { color: #1F7A4D !important; stroke: currentColor; }
#jcrc svg.text-white { color: #FFFFFF !important; stroke: currentColor; }
#jcrc svg.text-text-soft { color: #8A92A2 !important; stroke: currentColor; }
#jcrc svg.h-4 { width: 1rem !important; height: 1rem !important; max-width: none; }
#jcrc svg.h-5 { width: 1.25rem !important; height: 1.25rem !important; max-width: none; }
#jcrc svg.h-6 { width: 1.5rem !important; height: 1.5rem !important; max-width: none; }

/* ---- Cost / resource cards: pixel match to live source ---- */
#jcrc .jcrc-card {
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF !important;
  border: 1px solid #EEEBE2 !important;
  border-radius: 1rem !important;
  padding: 1.75rem !important;
  transition: border-color 0.15s ease;
  height: 100%;
  box-shadow: none;
}
#jcrc .jcrc-card:hover {
  border-color: #8A92A2 !important;
}

#jcrc .jcrc-icon-well {
  width: 2.5rem !important;
  height: 2.5rem !important;
  border-radius: 0.75rem !important;
  /* background-color: rgba(35, 86, 165, 0.08) !important; */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
}
#jcrc .jcrc-icon-well-lg {
  width: 3.5rem !important;
  height: 3.5rem !important;
  border-radius: 1rem !important;
}
#jcrc .jcrc-icon-well-accent {
  background-color: #FFE4D6 !important;
}
#jcrc .jcrc-icon-well svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
  color: #2356A5 !important;
  stroke: currentColor !important;
  fill: none !important;
}
#jcrc .jcrc-icon-well-lg svg {
  width: 1.5rem !important;
  height: 1.5rem !important;
}
#jcrc .jcrc-icon-well-accent svg {
  color: #FF794A !important;
  stroke: currentColor !important;
}

#jcrc .jcrc-card-metric {
  margin-top: 1.25rem !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid #EEEBE2 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
}

/* Cost grid: equal-height cards like source */
#costs .grid.sm\\:grid-cols-2,
#jcrc #costs .grid {
  align-items: stretch;
}
#jcrc #costs .jcrc-card > h3 {
  font-family: var(--font-heading) !important;
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  font-weight: 600 !important;
  color: #0F1B2D !important;
  margin: 0 !important;
}
#jcrc #costs .jcrc-card > p {
  margin-top: 0.375rem !important;
  font-size: 0.875rem !important;
  line-height: 1.625 !important;
  color: #5A6577 !important;
}
#jcrc #costs .jcrc-card-metric .font-mono,
#jcrc #costs .jcrc-card-metric [data-content$="-value"] {
  font-family: var(--font-mono), ui-monospace, monospace !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: #0F1B2D !important;
}
#jcrc #costs .jcrc-card-metric .text-xs {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  color: #8A92A2 !important;
}

/* Library cards share same surface treatment */
#jcrc #library .group.bg-surface {
  background-color: #FFFFFF !important;
  border: 1px solid #EEEBE2 !important;
  border-radius: 1rem !important;
  padding: 1.5rem !important;
}
#jcrc #library .group.bg-surface:hover {
  border-color: #8A92A2 !important;
}

/* ---- FAQ / parents section — match live source accordion ---- */
#jcrc #parents .jcrc-faq-note {
  margin-top: 2rem !important;
  padding: 1.25rem !important;
  border-radius: 1rem !important;
  background-color: #F4F2EC !important;
  border: 1px solid #EEEBE2 !important;
}
#jcrc #parents .jcrc-faq-note p {
  margin: 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.625 !important;
  color: #5A6577 !important;
}

#jcrc #parents .jcrc-faq {
  border-top: 1px solid #E3E0D6 !important;
  border-bottom: 1px solid #E3E0D6 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

#jcrc #parents .jcrc-faq-item {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
  margin: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#jcrc #parents .jcrc-faq-item + .jcrc-faq-item {
  border-top: 1px solid #E3E0D6 !important;
}

#jcrc #parents .jcrc-faq-trigger {
  width: 100% !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
  padding: 1.25rem 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  text-align: left !important;
  color: inherit !important;
  font: inherit !important;
}
#jcrc #parents .jcrc-faq-trigger span {
  font-family: var(--font-heading) !important;
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  font-weight: 600 !important;
  color: #0F1B2D !important;
  transition: color 0.15s ease;
}
@media (min-width: 768px) {
  #jcrc #parents .jcrc-faq-trigger span {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
}
#jcrc #parents .jcrc-faq-trigger:hover span {
  color: #2356A5 !important;
}
#jcrc #parents .jcrc-faq-trigger svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
  color: #8A92A2 !important;
  stroke: currentColor !important;
  fill: none !important;
  flex-shrink: 0 !important;
  margin-top: 0.375rem !important;
  transition: transform 0.15s ease;
}

#jcrc #parents .jcrc-faq-answer {
  padding-bottom: 1.25rem !important;
  padding-right: 3rem !important;
  color: #5A6577 !important;
  line-height: 1.625 !important;
}
#jcrc #parents .jcrc-faq-answer p {
  margin: 0 !important;
  color: #5A6577 !important;
  line-height: 1.625 !important;
  font-size: 1rem !important;
}
#jcrc #parents .jcrc-faq-answer.hidden {
  display: none !important;
}

#jcrc #parents .text-accent {
  color: #FF794A !important;
}
#jcrc #parents h2 {
  font-family: var(--font-heading) !important;
  color: #0F1B2D !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
}

/* ---- Back to top button (outside #jcrc, site chrome) ---- */
#backToTopBtn {
  position: fixed;
  bottom: 55px;
  right: 20px;
  z-index: 9999;
  cursor: pointer;
  display: none;
}

#backToTopBtn div {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

#backToTopBtn button {
  width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #FF794A;
  border: 3px solid #FF794A;
  border-radius: 50%;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  color: #FFFFFF;
  position: relative;
  overflow: hidden;
  z-index: 1;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(225, 86, 37, 0.28);
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

#backToTopBtn button:hover {
  background: #2356A5;
  border-color: #2356A5;
  transform: translateY(-2px);
}

#backToTopBtn p {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #FF794A;
  margin-bottom: 0;
  margin-top: 6px;
  white-space: nowrap;
}

#backToTopBtn.scrolled-90 p {
  color: #FF794A;
}

@media (max-width: 767px) {
  .mobile#backToTopBtn,
  #backToTopBtn {
    display: none !important;
  }
}
