.aks-catalog, .aks-profile, .aks-profile-form, .aks-account-box, .aks-dashboard-head, .aks-payment-box,
.aks-catalog *, .aks-profile *, .aks-profile-form *, .aks-account-box *, .aks-dashboard-head *, .aks-payment-box * { box-sizing: border-box; }

.aks-catalog, .aks-profile, .aks-profile-form, .aks-account-box, .aks-dashboard-head, .aks-payment-box {
  --aks-ink: #17243e;
  --aks-muted: #5e687b;
  --aks-gold: #a77f43;
  --aks-ivory: #f8f4ed;
  --aks-paper: #fffdf9;
  --aks-blue: #dce8ed;
  --aks-line: rgba(23, 36, 62, .13);
  color: var(--aks-ink);
  font-family: "Nunito Sans", Arial, sans-serif;
}

.aks-eyebrow { margin: 0 0 9px; color: var(--aks-gold); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.aks-button, .aks-filters button { display: inline-flex; min-height: 45px; align-items: center; justify-content: center; padding: 0 20px; color: #fff; background: var(--aks-ink); border: 0; border-radius: 0; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.aks-button:hover, .aks-filters button:hover { color: #fff; background: var(--aks-gold); }
.aks-text-link, .aks-catalog-link { color: var(--aks-gold); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }

.aks-catalog { width: min(1240px, calc(100% - 56px)); margin: 0 auto; padding: 54px 0 72px; }
.aks-catalog-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 30px; }
.aks-catalog-head h1 { margin: 0; font: 500 clamp(38px, 4.6vw, 60px)/1.03 "Playfair Display", Georgia, serif; letter-spacing: -.03em; }
.aks-catalog-head p:not(.aks-eyebrow) { max-width: 680px; margin: 15px 0 0; color: var(--aks-muted); font-size: 15px; line-height: 1.65; }

.aks-filters { display: grid; grid-template-columns: 1.2fr 1fr 1fr auto auto; gap: 10px; align-items: end; margin-bottom: 32px; padding: 18px; background: var(--aks-ivory); border: 1px solid var(--aks-line); }
.aks-filters label { display: grid; gap: 7px; }
.aks-filters label > span { color: var(--aks-muted); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.aks-filters input[type="search"], .aks-filters select { width: 100%; height: 43px; padding: 0 12px; color: var(--aks-ink); background: #fff; border: 1px solid var(--aks-line); border-radius: 0; font: 500 13px/1 "Nunito Sans", Arial, sans-serif; }
.aks-filter-check { display: flex !important; min-height: 43px; align-items: center; gap: 8px !important; padding: 0 10px; background: #fff; border: 1px solid var(--aks-line); white-space: nowrap; }
.aks-filter-check input { margin: 0; }

.aks-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 18px; }
.aks-card { min-width: 0; background: var(--aks-paper); border: 1px solid var(--aks-line); transition: transform .2s ease, box-shadow .2s ease; }
.aks-card.is-paid { border-color: rgba(167, 127, 67, .34); }
.aks-card.is-featured { box-shadow: 0 14px 34px rgba(23,36,62,.09); }
.aks-card:hover { transform: translateY(-2px); box-shadow: 0 13px 30px rgba(23,36,62,.08); }
.aks-card-media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--aks-blue); }
.aks-card-media img, .aks-image-placeholder { display: grid; width: 100%; height: 100% !important; place-items: center; object-fit: cover !important; object-position: center !important; }
.aks-image-placeholder { color: rgba(23,36,62,.7); background: linear-gradient(135deg, var(--aks-blue), var(--aks-ivory)); font: 500 48px/1 "Playfair Display", Georgia, serif; }
.aks-featured-badge { position: absolute; top: 14px; left: 14px; padding: 7px 10px; color: #fff; background: var(--aks-gold); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.aks-card-body { padding: 20px; }
.aks-card-services { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.aks-card-services span, .aks-profile-services span { color: var(--aks-gold); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.aks-card-services span + span::before { content: "·"; margin-right: 6px; color: rgba(23,36,62,.35); }
.aks-card h2 { margin: 0; font: 500 23px/1.2 "Playfair Display", Georgia, serif; }
.aks-card h2 a { color: var(--aks-ink); text-decoration: none; }
.aks-card-location { min-height: 19px; margin-top: 8px; color: var(--aks-muted); font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.aks-card-body > p { margin: 13px 0 0; color: var(--aks-muted); font-size: 12.5px; line-height: 1.58; }
.aks-card-link { display: inline-block; margin-top: 17px; color: var(--aks-gold); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.aks-pagination { margin-top: 38px; }
.aks-pagination ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.aks-pagination a, .aks-pagination span { display: grid; min-width: 36px; height: 36px; padding: 0 10px; place-items: center; color: var(--aks-ink); background: var(--aks-paper); border: 1px solid var(--aks-line); font-size: 10px; font-weight: 700; text-decoration: none; }
.aks-pagination .current { color: #fff; background: var(--aks-gold); border-color: var(--aks-gold); }
.aks-empty { padding: 50px; text-align: center; background: var(--aks-ivory); }
.aks-empty h2 { margin: 0; font: 500 28px/1.2 "Playfair Display", Georgia, serif; }
.aks-empty p { color: var(--aks-muted); }

.aks-selected-wrap { width: 100%; }
.aks-selected-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aks-selected-grid .aks-card-body { min-height: 180px; }
.aks-catalog-link { display: inline-block; margin-top: 22px; }

.aks-profile { width: 100%; overflow: hidden; color: var(--aks-ink); background: var(--aks-paper); }
.aks-profile-container { width: min(1180px, calc(100% - 56px)); margin: 0 auto; }
.aks-profile-hero { padding: 42px 0 48px; background: linear-gradient(115deg, var(--aks-ivory), #eef3f4); border-bottom: 1px solid var(--aks-line); }
.aks-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 27px; color: rgba(23,36,62,.52); font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.aks-breadcrumbs a { color: inherit; text-decoration: none; }
.aks-breadcrumbs span::before { content: "/"; margin-right: 8px; color: var(--aks-gold); }
.aks-profile-hero-grid { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 54px; align-items: center; }
.aks-profile-photo { aspect-ratio: 1 / 1; overflow: hidden; background: var(--aks-blue); }
.aks-profile-photo img, .aks-profile-photo .aks-image-placeholder { width: 100%; height: 100% !important; object-fit: cover !important; object-position: center !important; }
.aks-profile-intro h1 { margin: 0; font: 500 clamp(40px, 5vw, 64px)/1.03 "Playfair Display", Georgia, serif; letter-spacing: -.03em; }
.aks-profile-services { display: flex; flex-wrap: wrap; gap: 12px; margin: 16px 0; }
.aks-profile-lead { max-width: 720px; margin: 16px 0 0; color: var(--aks-muted); font-size: 16px; line-height: 1.68; }
.aks-profile-location { margin-top: 19px; color: var(--aks-ink); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.aks-profile-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 70px; align-items: start; padding: 55px 0 72px; }
.aks-profile-content { min-width: 0; }
.aks-rich-text { color: #344058; font-size: 16px; line-height: 1.8; }
.aks-rich-text p { margin: 0 0 23px; }
.aks-rich-text h2 { margin: 40px 0 16px; font: 500 31px/1.18 "Playfair Display", Georgia, serif; }
.aks-rich-text h3 { margin: 32px 0 13px; font: 500 24px/1.2 "Playfair Display", Georgia, serif; }
.aks-profile-sidebar { position: sticky; top: 194px; display: grid; gap: 18px; }
.aks-contact-card { padding: 25px; background: var(--aks-ink); color: #fff; }
.aks-contact-card h2 { margin: 0 0 18px; color: #fff; font: 500 25px/1.2 "Playfair Display", Georgia, serif; }
.aks-contact-card > p:not(.aks-eyebrow) { margin: 0; color: rgba(255,255,255,.65); font-size: 12px; line-height: 1.6; }
.aks-contact-card.is-locked { background: var(--aks-ivory); color: var(--aks-ink); border: 1px solid var(--aks-line); }
.aks-contact-card.is-locked h2 { color: var(--aks-ink); }
.aks-contact-card.is-locked > p:not(.aks-eyebrow) { color: var(--aks-muted); }
.aks-contact-list { display: grid; gap: 1px; }
.aks-contact-list > a, .aks-contact-list > div { display: grid; gap: 4px; padding: 13px 0; color: #fff; border-top: 1px solid rgba(255,255,255,.14); text-decoration: none; }
.aks-contact-list span { color: rgba(255,255,255,.56); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.aks-contact-list strong { overflow-wrap: anywhere; font-size: 13px; font-weight: 600; }
.aks-profile-note { padding: 19px; color: var(--aks-muted); background: var(--aks-ivory); border: 1px solid var(--aks-line); font-size: 10.5px; line-height: 1.55; }
.aks-profile-note p { margin: 0; }
.aks-gallery { margin-top: 45px; padding-top: 30px; border-top: 1px solid var(--aks-line); }
.aks-gallery h2 { margin: 0 0 19px; font: 500 29px/1.2 "Playfair Display", Georgia, serif; }
.aks-gallery > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.aks-gallery img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }

.aks-profile-form, .aks-account-box { width: min(920px, calc(100% - 40px)); margin: 42px auto 68px; padding: 34px; background: var(--aks-paper); border: 1px solid var(--aks-line); }
.aks-form-head { margin-bottom: 28px; }
.aks-form-head h2, .aks-account-box h2 { margin: 0; font: 500 34px/1.15 "Playfair Display", Georgia, serif; }
.aks-form-head > p:not(.aks-eyebrow), .aks-account-box > p { color: var(--aks-muted); font-size: 13px; line-height: 1.6; }
.aks-profile-form fieldset { margin: 0 0 25px; padding: 0; border: 0; }
.aks-profile-form legend { width: 100%; margin-bottom: 15px; padding-bottom: 9px; border-bottom: 1px solid var(--aks-line); font: 500 21px/1.2 "Playfair Display", Georgia, serif; }
.aks-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.aks-profile-form label { display: grid; gap: 7px; }
.aks-profile-form label > span { color: var(--aks-muted); font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.aks-profile-form input[type="text"], .aks-profile-form input[type="email"], .aks-profile-form input[type="password"], .aks-profile-form input[type="url"], .aks-profile-form input[type="file"], .aks-profile-form select, .aks-profile-form textarea { width: 100%; padding: 11px 12px; color: var(--aks-ink); background: #fff; border: 1px solid var(--aks-line); border-radius: 0; font: 500 13px/1.45 "Nunito Sans", Arial, sans-serif; }
.aks-profile-form textarea { resize: vertical; }
.aks-field-wide { grid-column: 1 / -1; }
.aks-check, .aks-consent { display: flex !important; align-items: flex-start; gap: 9px !important; }
.aks-check input, .aks-consent input { flex: 0 0 auto; margin-top: 3px; }
.aks-service-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.aks-service-checks label { display: flex; align-items: center; gap: 8px; padding: 10px; background: var(--aks-ivory); border: 1px solid var(--aks-line); }
.aks-consent { margin: 5px 0 21px; }
.aks-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

.aks-notice { width: min(920px, calc(100% - 40px)); margin: 32px auto -20px; padding: 15px 18px; color: var(--aks-ink); background: var(--aks-blue); border-left: 3px solid var(--aks-gold); font: 600 13px/1.5 "Nunito Sans", Arial, sans-serif; }
.aks-notice.is-error { background: #f7e7e5; border-color: #b34f45; }
.aks-notice.is-success { background: #e7f2e9; border-color: #4f8059; }
.aks-dashboard-head { display: flex; width: min(920px, calc(100% - 40px)); justify-content: space-between; gap: 30px; margin: 42px auto 0; padding: 28px; background: var(--aks-ivory); border: 1px solid var(--aks-line); }
.aks-dashboard-head h2 { margin: 0; font: 500 29px/1.15 "Playfair Display", Georgia, serif; }
.aks-dashboard-head p:last-child { margin: 7px 0 0; color: var(--aks-muted); font-size: 12px; }
.aks-dashboard-facts { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 20px; }
.aks-dashboard-facts span { display: grid; gap: 4px; color: var(--aks-muted); font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.aks-dashboard-facts strong { color: var(--aks-ink); font-size: 13px; letter-spacing: 0; text-transform: none; }
.aks-payment-box { display: grid; width: min(920px, calc(100% - 40px)); grid-template-columns: minmax(0, 1fr) 250px; gap: 35px; align-items: center; margin: 18px auto 0; padding: 28px; color: #fff; background: var(--aks-ink); }
.aks-payment-box h2 { margin: 0; color: #fff; font: 500 28px/1.2 "Playfair Display", Georgia, serif; }
.aks-payment-box p:not(.aks-eyebrow) { color: rgba(255,255,255,.65); font-size: 12.5px; line-height: 1.6; }
.aks-payment-box dl { display: flex; flex-wrap: wrap; gap: 18px; margin: 20px 0 0; }
.aks-payment-box dl div { display: grid; min-width: 100px; gap: 4px; }
.aks-payment-box dt { color: rgba(255,255,255,.5); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.aks-payment-box dd { margin: 0; overflow-wrap: anywhere; font-size: 14px; font-weight: 700; }
.aks-payment-qr { padding: 14px; text-align: center; background: #fff; }
.aks-payment-qr canvas, .aks-payment-qr img { display: block; max-width: 100%; height: auto !important; margin: 0 auto; }
.aks-payment-qr small { display: block; margin-top: 9px; color: var(--aks-muted); font-size: 9px; }
.aks-payment-missing { padding: 20px; color: var(--aks-ink); background: var(--aks-ivory); font-size: 12px; line-height: 1.5; }

@media (max-width: 980px) {
  .aks-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aks-filters { grid-template-columns: repeat(2, 1fr); }
  .aks-filters button { min-height: 43px; }
  .aks-profile-hero-grid { grid-template-columns: 260px 1fr; gap: 35px; }
  .aks-profile-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 35px; }
}

@media (max-width: 760px) {
  .aks-catalog, .aks-profile-container { width: min(100% - 40px, 680px); }
  .aks-catalog-head { display: block; }
  .aks-catalog-head .aks-text-link { display: inline-block; margin-top: 16px; }
  .aks-profile-hero-grid, .aks-profile-layout, .aks-payment-box { grid-template-columns: 1fr; }
  .aks-profile-photo { max-width: 320px; }
  .aks-profile-sidebar { position: static; }
  .aks-form-grid { grid-template-columns: 1fr; }
  .aks-field-wide { grid-column: auto; }
  .aks-service-checks { grid-template-columns: repeat(2, 1fr); }
  .aks-payment-qr { max-width: 250px; }
}

@media (max-width: 540px) {
  .aks-catalog, .aks-profile-container { width: calc(100% - 30px); }
  .aks-card-grid, .aks-selected-grid, .aks-filters, .aks-service-checks { grid-template-columns: 1fr; }
  .aks-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); }
  .aks-card-media { aspect-ratio: auto; min-height: 150px; }
  .aks-card-body { padding: 15px; }
  .aks-card h2 { font-size: 19px; }
  .aks-card-body > p, .aks-card-services { display: none; }
  .aks-profile-hero { padding: 32px 0 38px; }
  .aks-profile-intro h1 { font-size: 39px; }
  .aks-profile-layout { padding-top: 40px; }
  .aks-profile-form, .aks-account-box { width: calc(100% - 30px); padding: 22px; }
  .aks-dashboard-head, .aks-payment-box { width: calc(100% - 30px); padding: 22px; }
  .aks-dashboard-head { display: block; }
  .aks-dashboard-facts { justify-content: flex-start; margin-top: 20px; }
}
