/* Compatibility and accessibility additions to the original Ajans Hosting theme.
   Brand palette, fonts, navigation, illustrations and homepage components are
   supplied by the original bundle.css, style.css and index.css. */
:root {
  --blue:var(--primary);
  --navy:var(--darkBlue);
  --muted:var(--lightBlue);
  --line:var(--border);
  --soft:var(--light);
}

html {
  scroll-padding-top:100px;
}

button,input,textarea,select {
  font:inherit;
}

button {
  cursor:pointer;
}

a {
  color:var(--primary);
}

a:where(:not(.theme-btn):not(.btn)):hover {
  color:var(--darkBlue);
}

[hidden] {
  display:none!important;
}

img {
  max-width:100%;
  height:auto;
}

svg.icon {
  flex-shrink:0;
  vertical-align:middle;
}

.icon {
  width:24px;
  height:24px;
}

.skip-link {
  position:fixed;
  top:-100px;
  left:15px;
  z-index:2000;
  background:#fff;
  padding:15px;
}

.skip-link:focus {
  top:15px;
}

a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline:3px solid var(--primary)!important;
  outline-offset:4px;
}

.sr-only {
  position:absolute!important;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}

.button-row {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:25px;
}

.theme-btn .icon,.btn .icon {
  width:17px;
  height:17px;
  margin-left:8px;
}

.ah-page-header {
  overflow:hidden;
  position:relative;
  padding:85px 0 70px;
  background:#fff;
}

.ah-page-header .sub-title {
  font-size:18px;
  margin-bottom:10px;
  color:var(--lightBlue);
  font-family:var(--secondary-font);
}

.ah-page-header .title {
  margin-bottom:25px;
  color:var(--darkBlue);
  font-size:clamp(2.01rem,calc(.5rem + 2.9004vw),3.247rem);
  font-weight:700;
}

.ah-page-header .para {
  font-size:16px;
  font-weight:500;
  margin-bottom:30px;
  color:var(--lightBlue);
  line-height:1.8;
}

.ah-page-illustration {
  max-height:320px;
  width:auto;
  object-fit:contain;
}

.section {
  padding:90px 0;
}

.section>.container {
  max-width:1699px;
  padding-inline:4vw;
  width:100%;
}

.section-soft {
  background:var(--light);
}

.section-dark {
  background:var(--primary);
  color:white;
}

.section-dark h2,.section-dark h3,.section-dark p,.section-dark .eyebrow {
  color:white;
}

.section-heading {
  max-width:780px;
  text-align:center;
  margin:0 auto 55px;
}

.section-heading>div {
  max-width:100%;
}

.section h2 {
  font-size:32px;
  font-weight:700;
  color:var(--darkBlue);
  line-height:1.3;
}

.section-heading h2 {
  font-size:32px;
  line-height:1.25;
}

.section-heading p {
  font-size:16px;
  font-weight:500;
  color:var(--lightBlue);
  margin-top:20px;
  line-height:1.7;
}

.section-heading>a {
  margin-top:20px;
}

.eyebrow {
  display:block;
  font-size:15px;
  font-weight:700;
  color:var(--primary);
  text-transform:uppercase;
  margin-bottom:15px;
}

.lead {
  font-size:18px;
  line-height:1.8;
  color:var(--lightBlue);
}

.muted {
  color:var(--lightBlue);
}

.grid-2,.grid-3,.grid-4,.pricing-grid {
  display:grid;
  gap:30px;
}

.grid-2 {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.grid-3,.pricing-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.grid-4,.pricing-grid.four {
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.grid-2>*,.grid-3>*,.grid-4>*,.pricing-grid>* {
  min-width:0;
}

.card {
  padding:30px;
  border:1px solid var(--primary-shadow);
  border-radius:4px;
  background:#fff;
  box-shadow:-4px 4px 0 var(--primary-shadow);
}

.card h3 {
  font-size:21px;
  font-weight:700;
  line-height:1.4;
  margin-bottom:15px;
}

.card>h2 {
  font-size:24px;
  margin:20px 0 15px;
}

.card p {
  font-size:15px;
  line-height:1.8;
  color:var(--lightBlue);
}

.card p+p {
  margin-top:15px;
}

.card>.icon {
  color:var(--primary);
  margin-bottom:20px;
}

.card>.icon+h2,.card>.icon+h3 {
  margin-top:0;
}

.card a.text-link,.card p+a {
  margin-top:20px;
}

.icon-box {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  background:var(--light);
  color:var(--primary);
  border-radius:8px;
  margin-bottom:25px;
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--primary);
  font-size:14px;
  font-weight:600;
}

.text-link .icon {
  width:16px;
  height:16px;
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--primary);
  border-radius:4px;
  padding:10px 20px;
  min-height:42px;
  font-size:14px;
  font-weight:500;
  font-family:var(--secondary-font);
  line-height:1.5;
  cursor:pointer;
}

.btn-primary {
  background:var(--primary);
  color:#fff;
  box-shadow:-4px 4px 0 var(--primary-shadow);
}

.btn-primary:hover {
  background:var(--darkBlue);
  border-color:var(--darkBlue);
  color:#fff;
  box-shadow:none;
}

.btn-secondary {
  background:#fff;
  color:var(--primary);
}

.btn-secondary:hover {
  background:var(--primary);
  color:#fff;
}

.btn-white {
  background:#fff;
  border-color:#fff;
  color:var(--primary);
  box-shadow:-4px 4px 0 #ffffff1a;
}

.badge,.tag {
  display:inline-block;
  width:fit-content;
  border-radius:4px;
  padding:4px 9px;
  background:var(--light);
  color:var(--primary);
  font-size:12px;
  font-weight:600;
}

.check-list {
  list-style:none;
  margin:24px 0;
  padding:0;
}

.check-list li {
  padding-left:25px;
  position:relative;
  margin:13px 0;
  font-size:15px;
  line-height:1.7;
}

.check-list li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--primary);
  font-weight:700;
}

.notice {
  background:#ffebc4;
  color:var(--darkBlue);
  padding:20px 24px;
  border-radius:4px;
  font-size:14px;
  line-height:1.8;
  margin:26px 0;
}

.notice p {
  font-size:14px;
  line-height:1.8;
}

.notice .btn {
  margin-top:15px;
}

.notice h3 {
  font-size:21px;
  margin-bottom:13px;
}

.price-card {
  position:relative;
  display:flex;
  flex-direction:column;
  padding:40px 28px;
  background:white;
  border:1px solid var(--primary-shadow);
  border-radius:8px;
}

.price-card.featured {
  border-color:var(--primary);
  box-shadow:-4px 4px 0 var(--primary-shadow);
}

.price-card h3 {
  font-size:20px;
  line-height:1.4;
  font-weight:700;
  margin:13px 0 10px;
}

.price-card>p.muted {
  font-size:14px;
  line-height:1.7;
  min-height:48px;
}

.price-card .price {
  font-size:28px;
  font-weight:800;
  text-align:center;
  color:var(--darkBlue);
  margin-top:27px;
}

.price-card .price-period {
  font-size:12px;
  color:var(--lightBlue);
  text-align:center;
  margin:5px 0 21px;
}

.price-card>.btn {
  width:100%;
}

.price-features {
  list-style:none;
  padding:23px 0 0;
  margin:23px 0 0;
  border-top:1px solid var(--primary-shadow);
  flex-grow:1;
}

.price-features li {
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:13px;
  margin:12px 0;
  line-height:1.7;
}

.price-features .icon {
  width:15px;
  height:15px;
  color:var(--primary);
  margin-top:3px;
}

.price-features strong {
  font-weight:600;
}

.price-features span {
  font-size:13px;
}

.table-wrap {
  width:100%;
  max-width:100%;
  overflow:auto;
  border:1px solid var(--primary-shadow);
  border-radius:4px;
  margin:25px 0;
}

.comparison-table {
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  font-size:14px;
  text-align:left;
}

.comparison-table th,.comparison-table td {
  padding:17px 20px;
  border-bottom:1px solid var(--border);
  line-height:1.6;
}

.comparison-table th {
  background:var(--light);
  font-weight:600;
}

.comparison-table tr:last-child td,.comparison-table tr:last-child th {
  border-bottom:0;
}

.comparison-table caption {
  text-align:left;
  font-size:13px;
  padding:16px 20px;
  color:var(--lightBlue);
}

.faq-list {
  border-top:1px solid var(--border);
}

.faq-list details {
  border-bottom:1px solid var(--border);
}

.faq-list summary {
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:23px 0;
  cursor:pointer;
  font-family:var(--primary-font);
  font-size:17px;
  font-weight:600;
  color:var(--darkBlue);
}

.faq-list summary::-webkit-details-marker {
  display:none;
}

.faq-list summary span {
  color:var(--primary);
  font-size:23px;
  font-weight:400;
}

.faq-list details[open] summary span {
  transform:rotate(45deg);
}

.faq-answer {
  padding:0 25px 25px 0;
}

.faq-answer p {
  font-size:15px;
  color:var(--lightBlue);
  line-height:1.85;
}

.ah-cta .se-title {
  margin-bottom:0;
}

.article-layout {
  display:grid;
  grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);
  gap:60px;
  margin-top:35px;
  align-items:start;
}

.article-layout>* {
  min-width:0;
}

.prose {
  width:100%;
  max-width:920px;
}

.prose h2 {
  font-size:27px;
  margin:35px 0 18px;
}

.prose h2:first-child {
  margin-top:0;
}

.prose h3 {
  font-size:21px;
  margin:27px 0 15px;
}

.prose p,.prose li {
  font-size:16px;
  line-height:1.9;
  color:var(--lightBlue);
}

.prose p+p {
  margin-top:17px;
}

.prose ul,.prose ol {
  padding-left:25px;
  margin:20px 0;
}

.prose li {
  margin:10px 0;
}

.prose section+section {
  margin-top:35px;
}

.prose a {
  text-decoration:underline;
  text-underline-offset:3px;
}

.prose pre {
  padding:20px;
  background:var(--light);
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.prose code {
  font-family:monospace;
  font-size:14px;
  background:var(--light);
  overflow-wrap:anywhere;
}

.sidebar {
  padding:28px;
  background:var(--light);
  border:1px solid var(--primary-shadow);
  border-radius:4px;
  position:sticky;
  top:100px;
}

.sidebar h2,.sidebar h3 {
  font-size:21px;
  margin-bottom:20px;
}

.sidebar p,.sidebar li {
  font-size:14px;
  line-height:1.8;
}

.sidebar ol,.sidebar ul {
  padding-left:20px;
}

.sidebar a {
  display:inline-block;
  margin:5px 0;
  font-size:14px;
}

.steps {
  display:grid;
  gap:25px;
  counter-reset:step;
}

.step {
  padding:28px 28px 28px 75px;
  position:relative;
  background:var(--light);
  border-radius:4px;
}

.step:before {
  counter-increment:step;
  content:counter(step,decimal-leading-zero);
  position:absolute;
  top:28px;
  left:25px;
  font-size:22px;
  color:var(--primary);
  font-weight:700;
}

.step h3 {
  font-size:21px;
  margin-bottom:15px;
}

.step p {
  font-size:15px;
  line-height:1.8;
}

.form-card {
  background:#fff;
  padding:35px;
  border:1px solid var(--primary-shadow);
  border-radius:4px;
  box-shadow:-4px 4px 0 var(--primary-shadow);
}

.form-card h2 {
  font-size:28px;
  margin-bottom:18px;
}

.form-card>p {
  font-size:15px;
  line-height:1.8;
  color:var(--lightBlue);
  margin-bottom:26px;
}

.form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 22px;
}

.field {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:22px;
}

.field-full {
  grid-column:1/-1;
}

.field label,.form-card label {
  font-size:14px;
  font-weight:500;
  color:var(--darkBlue);
}

.field input,.field select,.field textarea,.form-card input:not([type=checkbox]):not([type=hidden]),.form-card select,.form-card textarea {
  width:100%;
  padding:13px 15px;
  border:1px solid var(--border);
  border-radius:4px;
  font-size:15px;
  line-height:1.6;
  background:#fff;
  color:var(--darkBlue);
}

.field textarea {
  resize:vertical;
  min-height:160px;
}

.field small {
  font-size:12px;
  color:var(--lightBlue);
  line-height:1.7;
}

.field input:focus,.field textarea:focus,.field select:focus {
  border-color:var(--primary);
  box-shadow:-4px 4px 0 var(--primary-shadow);
}

.checkbox-label {
  display:flex!important;
  align-items:flex-start;
  gap:10px;
  font-weight:400!important;
}

.checkbox-label input {
  width:17px;
  height:17px;
  flex:none;
  margin-top:4px;
  accent-color:var(--primary);
}

.checkbox-label span {
  font-size:13px;
  line-height:1.8;
}

.contact-layout {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  gap:55px;
  align-items:start;
}

.contact-layout aside h2 {
  font-size:29px;
}

.contact-layout aside>.card {
  margin:24px 0;
}

.contact-layout aside p {
  font-size:14px;
  line-height:1.8;
}

.domain-search {
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  margin:24px 0 16px;
}

.domain-search input,.form-card .domain-search input:not([type=hidden]) {
  flex:1;
  min-width:0;
  width:0;
  border:0;
  padding:10px 13px;
  font-size:16px;
  background:transparent;
}

.domain-search .btn {
  flex-shrink:0;
}

.domain-search+.muted {
  font-size:13px;
  line-height:1.8;
}

.search-field {
  display:block;
  width:100%;
  padding:15px 18px;
  border:1px solid var(--border);
  border-radius:4px;
  font-size:15px;
  margin:25px 0;
}

.test-placeholder {
  padding:30px;
  background:var(--light);
  text-align:center;
  min-height:150px;
  margin-top:25px;
}

.test-placeholder p {
  font-size:13px;
  line-height:1.8;
}

.test-placeholder:has(iframe) {
  padding:0;
}

.test-placeholder iframe {
  border:0;
  width:100%;
  min-height:440px;
}

.container-fluid>h2+.grid-3,.container-fluid>h2+.grid-2,.container>h2+.grid-3 {
  margin-top:32px;
}

.grid-2>div>h2+p {
  margin-top:22px;
}

.grid-2>div>p+.text-link {
  margin-top:22px;
}

.grid-3+p.muted {
  margin-top:25px;
}

.not-found {
  text-align:center;
  padding:90px 0;
}

.not-found strong {
  font-size:90px;
  color:var(--primary);
  font-weight:700;
}

.not-found h1 {
  font-size:36px;
  margin:20px 0;
}

.not-found p {
  max-width:650px;
  margin:0 auto;
  line-height:1.8;
}

.not-found .button-row {
  justify-content:center;
}

.ah-home .section-heading {
  max-width:780px;
}

.ah-home .theme-navbar img,.theme-footer img {
  max-width:100%;
}

.theme-navbar button {
  border:0;
  background:none;
  color:inherit;
}

.theme-footer .list-title button {
  background:transparent;
  border:0;
  color:inherit;
  font:inherit;
  text-align:inherit;
  width:100%;
}

.theme-footer .footer-list {
  list-style:none;
}

.theme-footer .support .box-link:focus-visible {
  outline-offset:0;
}

.theme-navbar .mega-menu {
  max-width:100%;
}

.theme-navbar .mega-menu .content {
  overflow-y:auto;
}

.theme-navbar .mega-menu a:focus-visible {
  outline-offset:-2px;
}

.theme-navbar .menu-icon button {
  padding:0;
}

.theme-navbar button img {
  display:block;
}

.theme-navbar .nav-top button.menu-icon {
  padding:0;
}

.theme-btn:disabled,.btn:disabled {
  opacity:.65;
  cursor:not-allowed;
}

@media(max-width:1199.98px) {
  .theme-navbar .nav-bottom .links {
    width:min(380px,calc(100vw - 24px));
  }
  .theme-navbar .nav-bottom .links .link>a {
    min-width:0;
  }
  .theme-navbar .mega-menu {
    max-width:100%;
  }
  .grid-4,.pricing-grid.four {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .price-card {
    padding:32px 24px;
  }
  .ah-page-header {
    padding:65px 0 60px;
  }
  .article-layout {
    gap:35px;
  }
  .grid-3,.pricing-grid {
    gap:20px;
  }
}

@media(max-width:991.98px) {
  .ah-page-header .title {
    font-size:clamp(2.01rem,calc(.5rem + 4.9004vw),3.247rem);
  }
  .ah-page-header .para {
    font-size:16px;
  }
  .section {
    padding:65px 0;
  }
  .section-heading {
    max-width:85%;
    margin-bottom:45px;
  }
  .section-heading h2 {
    font-size:30px;
  }
  .grid-3,.pricing-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .contact-layout {
    gap:30px;
  }
  .card {
    padding:25px;
  }
  .article-layout {
    grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  }
  .sidebar {
    padding:23px;
  }
  .domain-search .btn {
    font-size:12px;
    padding:10px 12px;
  }
}

@media(max-width:767.98px) {
  .section {
    padding:55px 0;
  }
  .section-heading {
    max-width:100%;
    margin-bottom:35px;
  }
  .section-heading h2,.section h2 {
    font-size:28px;
  }
  .section-heading p {
    font-size:14px;
  }
  .ah-page-header {
    padding:50px 0;
  }
  .ah-page-header .title {
    font-size:32px;
    line-height:1.25;
  }
  .ah-page-header .sub-title {
    font-size:16px;
  }
  .ah-page-header .para {
    font-size:14px;
  }
  .button-row {
    gap:12px;
  }
  .grid-2,.grid-3,.grid-4,.pricing-grid,.pricing-grid.four {
    grid-template-columns:minmax(0,1fr);
    gap:25px;
  }
  .card h3 {
    font-size:21px;
  }
  .card p {
    font-size:14px;
  }
  .eyebrow {
    font-size:13px;
  }
  .section>.container {
    padding-inline:4vw;
  }
  .article-layout,.contact-layout {
    grid-template-columns:minmax(0,1fr);
    gap:35px;
  }
  .sidebar {
    position:static;
  }
  .prose h2 {
    font-size:25px;
  }
  .prose p,.prose li {
    font-size:15px;
  }
  .form-card {
    padding:25px;
  }
  .form-card h2 {
    font-size:25px;
  }
  .form-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .domain-search {
    gap:6px;
    padding:6px;
  }
  .domain-search input,.form-card .domain-search input:not([type=hidden]) {
    font-size:13px;
    padding:10px 8px;
  }
  .domain-search .btn {
    max-width:46%;
    font-size:12px;
    white-space:normal;
  }
  .price-card {
    padding:32px 26px;
  }
  .notice {
    font-size:13px;
    padding:20px;
  }
  .lead {
    font-size:16px;
  }
  .faq-list summary {
    font-size:15px;
    line-height:1.6;
  }
  .faq-answer p {
    font-size:14px;
  }
  .theme-navbar .nav-bottom .links .mega-menu .content {
    max-height:none;
  }
  .ah-cta .se-title {
    max-width:100%;
  }
  .not-found h1 {
    font-size:28px;
  }
  .not-found p {
    font-size:14px;
    padding-inline:15px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
}

@media print {
  .news-area,.theme-navbar,.theme-footer,.ah-cta,.button-row {
    display:none!important;
  }
  .section,.ah-page-header {
    padding:20px 0;
  }
  .article-layout {
    display:block;
  }
  .sidebar {
    display:none;
  }
}

.ajans-ping-start {
  min-height:340px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:20px;
  padding:35px 20px;
}

.ajans-ping-start p {
  font-size:16px;
  color:var(--lightBlue);
  line-height:1.8;
}

.ajans-ping-start .ajans-ping-disclosure {
  font-size:12px;
}

.ajans-ping-start a {
  font-size:13px;
}

.ah-home [data-home-tab] {
  min-height:44px;
  border:1px solid var(--primary-shadow);
}

@media(max-width:375px) {
  .container-fluid,.section>.container {
    padding-inline:15px;
  }
}

.theme-navbar .nav-top .brand img {
  width:auto;
}

/* Filled controls must preserve foreground contrast in every interaction state. */
.theme-btn.--fill-primary:hover,.theme-btn.--fill-primary:focus-visible,.theme-btn.--fill-primary:active {
  color:#fff;
}

.theme-btn.--fill-primary:focus-visible {
  background-color:var(--darkBlue);
  border-color:var(--darkBlue);
}

.theme-btn .icon,.btn .icon {
  color:inherit;
  stroke:currentColor;
}

/* Opening with ArrowDown must make links focusable in the same event. */
.theme-navbar .nav-bottom .links .link .dropdown-menu,
.theme-navbar .nav-bottom .links .has-mega-menu .mega-menu {
  transition-property:opacity;
}

.theme-navbar .nav-bottom .links .link .dropdown-menu .dm-link,
.theme-navbar .nav-bottom .links .mega-menu a {
  transition-property:color,background-color,border-color,box-shadow,padding,transform,opacity;
}


/* Original artwork served as lighter WebP files; layout stays in the theme. */
.ah-home .se-iii .box {
  background-image:radial-gradient(109.18% 191.18% at 50% 50%, rgba(54, 54, 204, 0.79) 19.92%, rgba(73, 73, 231, 0.32) 85.29%),url("/assets/images/backgournds/card-bg.webp");
}

@media (min-width:1200px) {
  .ah-home .se-v::before,.ah-home .se-v2::before,.ah-home .se-v3::before {
    background-image:url("/assets/images/elements/marketplace-interface.webp");
  }
}

/* Preserve the theme while exposing native controls and readable text links. */
.theme-footer .list-title button {padding:0; min-height:24px; cursor:inherit; opacity:1;}
.theme-footer .signature .para-3 a {display:inline-flex; align-items:center; min-height:32px;}
main p a:not(.theme-btn):not(.btn) {text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;}
.section.section-dark h2 {color:#fff;}
.content-sidebar-contact .content-sidebar-title {font-size:24px; line-height:1.35; font-weight:600; color:var(--dark);}
@media (max-width:767.98px) {
  .theme-footer .list-title button {min-height:44px; padding-right:24px; cursor:pointer;}
  .theme-footer .list-title::before, .theme-footer .list-title::after {pointer-events:none;}
}
