
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap");

:root {
  --teal:#075568;
  --deep:#033744;
  --navy:#042c39;
  --orange:#ff681f;
  --cream:#faf9f6;
  --white:#ffffff;
  --ink:#19333c;
  --muted:#657980;
  --line:#dfe9ea;
  --pale:#edf5f5;
  --shadow:0 18px 45px rgba(5,54,67,.09);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth;scroll-padding-top:95px; }
body {
  margin:0;background:var(--cream);color:var(--ink);
  font-family:"DM Sans",sans-serif;
}
h1,h2,h3,h4 {
  font-family:"Manrope",sans-serif;
  letter-spacing:-.045em;line-height:1.22;
}
h1,h2,h3,p { margin-top:0; }
p { color:var(--muted);line-height:1.65; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
a { color:inherit;text-decoration:none; }
img { max-width:100%; }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid var(--orange);outline-offset:3px; }
.container { width:min(1100px,calc(100% - 48px));margin:auto; }
.section { padding:62px 0; }
.eyebrow {
  display:inline-block;margin-bottom:12px;color:var(--orange);
  font-size:.7rem;font-weight:800;letter-spacing:.15em;
}
.section-heading { margin-bottom:27px; }
.section-heading h2 { margin-bottom:9px;font-size:clamp(1.85rem,3.6vw,2.75rem); }
.section-heading p { margin-bottom:0;font-size:.9rem; }
.heading-row {
  display:flex;align-items:end;justify-content:space-between;gap:22px;
}
.btn {
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;min-height:45px;padding:12px 19px;border:0;
  border-radius:10px;font-size:.83rem;font-weight:800;
  text-align:center;transition:.2s;
}
.btn:hover { transform:translateY(-2px); }
.orange { background:var(--orange);color:white; }
.orange:hover { background:#e95a14; }
.soft { background:#edf5f5;border:1px solid #c9dbdd;color:var(--teal); }
.outline-light { background:transparent;border:1px solid #bad8de;color:white; }
.text-button {
  padding:9px 0;border:0;background:transparent;
  color:var(--teal);font-size:.83rem;font-weight:800;
}
.full-button { width:100%; }
.disclaimer { margin:13px 0 0;color:#809096;font-size:.72rem; }

/* HEADER */
.header {
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid #e7eeee;
  backdrop-filter:blur(12px);
}
.header-inner {
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;min-height:78px;
}
.brand { display:flex;align-items:center;flex-shrink:0; }
.brand img { width:auto;max-width:165px;height:54px;object-fit:contain; }
.brand strong,.footer strong {
  font:800 1.4rem "Manrope",sans-serif;
  letter-spacing:-.07em;color:var(--teal);
}
.brand strong span,.footer strong span { color:var(--orange); }
.desktop-nav { display:flex;gap:17px;align-items:center; }
.desktop-nav a { font-size:.78rem;font-weight:800;white-space:nowrap; }
.desktop-nav a:hover { color:var(--orange); }
.header-actions { display:flex;align-items:center;gap:9px; }
#country-select {
  width:155px;min-height:43px;padding:9px;
  border:1px solid var(--line);border-radius:9px;
  background:white;color:var(--teal);font-size:.74rem;font-weight:800;
}
.header-join { white-space:nowrap;font-size:.75rem;padding-inline:12px; }
.menu-toggle {
  display:none;width:42px;height:42px;border:1px solid var(--line);
  border-radius:9px;background:white;color:var(--teal);font-size:1.25rem;
}
.mobile-nav { padding:12px 24px 20px;background:white; }
.mobile-nav a,.mobile-nav button {
  display:block;width:100%;padding:12px;border:0;
  border-bottom:1px solid #edf0f1;background:white;
  color:var(--teal);font-size:.87rem;font-weight:800;text-align:left;
}

/* HERO */
.hero {
  overflow:hidden;padding:70px 0;
  background:radial-gradient(circle at 85% 20%,rgba(30,132,146,.45),transparent 38%),
    linear-gradient(125deg,#032d3b,#075568);
}
.hero-grid {
  display:grid;grid-template-columns:1.13fr .87fr;
  gap:43px;align-items:center;
}
.hero-eyebrow { color:#ffb18b; }
.hero h1 {
  margin:8px 0 19px;color:white;
  font-size:clamp(2.65rem,5vw,4.35rem);line-height:1.12;
}
.hero h1 em { color:#ff9e70;font-style:normal; }
.hero-description { max-width:550px;color:#d6e9eb;font-size:.96rem; }
.hero-search {
  display:flex;gap:7px;margin-top:26px;padding:7px;
  border-radius:13px;background:white;
  box-shadow:0 16px 32px rgba(0,0,0,.14);
}
.hero-search input {
  flex:1;min-width:0;padding:11px;border:0;outline:0;
  background:transparent;font-size:.84rem;
}
.hero-buttons { display:flex;flex-wrap:wrap;gap:11px;margin-top:21px; }
.hero-note { margin-top:22px;color:#b9d8de;font-size:.74rem; }

/* INSIGHTS */
.insights-card {
  min-height:325px;padding:27px;border-radius:20px;
  background:linear-gradient(145deg,#fff,#e5f0f1);
  box-shadow:0 25px 55px rgba(0,0,0,.18);
}
.insights-header,.carousel-footer {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.insights-header {
  color:var(--teal);font-size:.68rem;
  font-weight:800;letter-spacing:.09em;
}
.insights-content { min-height:218px;padding:23px 0 10px; }
.mini-label {
  color:#bd5b2d;font-size:.66rem;font-weight:800;letter-spacing:.11em;
}
.insight-slide h2 {
  margin:13px 0;color:var(--deep);
  font-size:clamp(1.5rem,2.7vw,2.1rem);
}
.insight-slide p { font-size:.86rem; }
.carousel-footer { padding-top:16px;border-top:1px solid #cbdfe2; }
.dots { display:flex;align-items:center;gap:7px; }
.dot {
  width:8px;height:8px;padding:0;border:0;
  border-radius:50%;background:#9cb9bf;
}
.dot.active { width:24px;border-radius:7px;background:var(--orange); }
.arrow-buttons { display:flex;gap:8px; }
.arrow-buttons button {
  width:37px;height:37px;border:1px solid #bdd3d8;
  border-radius:9px;background:white;color:var(--teal);
  font-size:1.05rem;font-weight:800;
}
.arrow-buttons button:hover { background:var(--pale); }

/* EXPLORE */
.mode-grid,.steps-grid,.provider-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
}
.mode-card {
  display:flex;flex-direction:column;align-items:flex-start;
  min-height:235px;padding:23px;border:1px solid var(--line);
  border-radius:16px;background:white;text-align:left;transition:.2s;
}
.mode-card:hover,.category-card:hover,.provider-card:hover {
  transform:translateY(-4px);box-shadow:var(--shadow);
}
.mode-icon {
  display:grid;place-items:center;width:47px;height:47px;
  margin-bottom:15px;border-radius:12px;background:var(--pale);
  color:var(--teal);font-size:1.6rem;
}
.mode-label { color:var(--orange);font-size:.7rem;font-weight:800; }
.mode-card h3 { margin:8px 0;font-size:1.08rem; }
.mode-card p { font-size:.8rem; }
.mode-card strong {
  margin-top:auto;color:var(--teal);font-size:.78rem;
}
.smartmatch {
  display:grid;grid-template-columns:.8fr 1.2fr;
  gap:26px;margin-top:26px;padding:28px;
  border-radius:17px;background:#eaf4f4;
}
.smartmatch h3 { margin-bottom:9px; }
.smartmatch p { margin-bottom:0;font-size:.84rem; }
.smartmatch textarea {
  width:100%;min-height:94px;padding:13px;
  border:1px solid #c7dadd;border-radius:10px;resize:vertical;
}
.smartmatch .btn { margin-top:10px; }
.smart-result {
  margin-top:12px;padding:14px;border-radius:10px;background:white;
}
.smart-result p { margin-bottom:10px; }
.smart-result button {
  margin:4px;padding:9px 12px;border:1px solid #bdd5d8;
  border-radius:8px;background:var(--pale);color:var(--teal);font-weight:800;
}

/* CATEGORIES */
.categories-section { background:#f5f7f6; }
.category-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;
}
.category-card {
  display:flex;flex-direction:column;align-items:flex-start;
  min-height:208px;padding:22px;border:1px solid var(--line);
  border-radius:16px;background:white;text-align:left;transition:.2s;
}
.category-icon {
  display:grid;place-items:center;width:47px;height:47px;
  margin-bottom:16px;border-radius:12px;
  background:#e8f2f3;color:var(--teal);font-size:1.55rem;
}
.category-card strong { margin-bottom:8px;font-size:.96rem; }
.category-card p { margin-bottom:12px;font-size:.76rem; }
.category-card .card-link {
  margin-top:auto;color:var(--teal);font-size:.77rem;font-weight:800;
}

/* HOW */
.how-section { padding:45px 0;background:#eef5f5; }
.steps-grid article {
  padding:21px;border:1px solid var(--line);
  border-radius:14px;background:white;
}
.steps-grid article span {
  color:var(--orange);font:800 1.3rem "Manrope",sans-serif;
}
.steps-grid h3 { margin:10px 0 7px;font-size:1rem; }
.steps-grid p { margin:0;font-size:.79rem; }

/* LEARN */
.learn-section { padding:48px 0;background:white; }
.learn-subtitle { color:var(--teal)!important;font-weight:800; }
.course-stage {
  overflow:hidden;border-radius:17px;
  background:linear-gradient(125deg,#032d3b,#075568);
}
.course-slide {
  display:flex;align-items:center;justify-content:space-between;
  gap:30px;min-height:244px;padding:28px;color:white;
}
.course-slide>div { max-width:660px; }
.course-label {
  color:#ffb18b;font-size:.66rem;font-weight:800;letter-spacing:.12em;
}
.course-slide h3 { margin:13px 0 9px;color:white;font-size:1.65rem; }
.course-slide p { color:#d4e8eb;font-size:.83rem; }
.course-credit { font-weight:700; }
.course-symbol {
  padding:20px;color:#ffaf85;font:800 4rem monospace;
  white-space:nowrap;
}
.coming-soon {
  display:inline-block;padding:10px 15px;
  border:1px solid #8cb6bf;border-radius:9px;
  color:white;font-size:.8rem;font-weight:800;
}
.centered-dots { justify-content:center;margin-top:16px; }

/* JOIN & FOOTER */
.join-section { padding:55px 0;background:var(--deep); }
.join-inner {
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.join-inner h2 {
  margin-bottom:9px;color:white;
  font-size:clamp(1.8rem,3.4vw,2.65rem);
}
.join-inner p { margin:0;color:#c5dce0; }
.join-inner .btn { flex-shrink:0; }
.footer { padding:37px 0;background:#052b37; }
.footer-inner {
  display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:25px;
}
.footer strong { color:white; }
.footer p { margin:7px 0 0;color:#b5cfd4;font-size:.75rem; }
.footer nav { display:flex;flex-wrap:wrap;gap:16px; }
.footer nav a { color:#d5e7ea;font-size:.77rem; }

/* DIRECTORY */
.page-view {
  min-height:70vh;padding:38px 0 75px;background:#f8faf9;
}
.back-link {
  margin-bottom:28px;padding:7px 0;border:0;
  background:none;color:var(--teal);font-weight:800;
}
.page-view .section-heading h1 {
  margin:0 0 10px;font-size:clamp(2rem,4vw,3.1rem);
}
.directory-toolbar {
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;
  align-items:end;gap:11px;padding:20px;
  border:1px solid var(--line);border-radius:15px;background:white;
}
.directory-toolbar label,.form-grid label,.full-field {
  display:flex;flex-direction:column;gap:8px;min-width:0;
  color:#29434b;font-size:.8rem;font-weight:800;
}
.directory-toolbar input,.directory-toolbar select,
.form-grid input,.form-grid select,
.full-field input,.full-field textarea {
  width:100%;min-height:45px;padding:11px 12px;
  border:1px solid #ccdbdd;border-radius:9px;
  background:white;color:var(--ink);font-weight:500;
}
.full-field { margin-top:17px; }
.full-field textarea { min-height:110px;resize:vertical; }
.directory-options {
  display:flex;justify-content:space-between;
  align-items:center;flex-wrap:wrap;gap:14px;margin:22px 0 12px;
}
.directory-options p {
  margin:0;color:var(--teal);font-size:.83rem;font-weight:800;
}
.view-actions { display:flex;flex-wrap:wrap;gap:8px; }
.view-button {
  min-height:43px;padding:10px 14px;border:1px solid var(--line);
  border-radius:9px;background:white;color:var(--teal);font-weight:800;
}
.view-button.active { background:var(--teal);color:white; }
.location-status { margin:0 0 12px;font-size:.8rem; }
.map-panel {
  overflow:hidden;margin:16px 0 25px;border:1px solid var(--line);
  border-radius:16px;background:white;
}
#professionals-map { width:100%;height:380px; }
.map-note { padding:12px 18px;margin:0;font-size:.75rem; }
.provider-card {
  display:flex;flex-direction:column;padding:22px;
  border:1px solid var(--line);border-radius:16px;
  background:white;transition:.2s;
}
.provider-top { display:flex;align-items:center;gap:12px; }
.provider-avatar,.profile-avatar {
  display:grid;place-items:center;flex-shrink:0;
  width:62px;height:62px;border-radius:15px;
  background:#e3f1f2;color:var(--teal);
  font:800 1.2rem "Manrope",sans-serif;
  overflow:hidden;
}
.provider-avatar img,.profile-avatar img {
  width:100%;height:100%;object-fit:cover;
}
.provider-card h3 { margin:0 0 5px;font-size:1rem; }
.provider-card p { font-size:.78rem; }
.provider-location { color:var(--muted);font-size:.73rem; }
.provider-category {
  display:inline-block;align-self:flex-start;
  margin:16px 0 12px;padding:7px 10px;border-radius:8px;
  background:var(--pale);color:var(--teal);
  font-size:.7rem;font-weight:800;
}
.provider-card h4 { margin:0 0 8px;font-size:.91rem; }
.provider-bio { flex:1; }
.provider-bottom {
  display:flex;justify-content:space-between;gap:10px;
  padding:14px 0;border-top:1px solid var(--line);
  font-size:.77rem;
}
.provider-bottom strong { color:var(--teal); }
.provider-card>.btn { width:100%; }
.rating-line { color:#c58a25;font-weight:800;font-size:.8rem; }
.rating-line small { color:var(--muted);font-weight:500; }
.empty-state {
  max-width:700px;margin:30px auto;padding:46px 27px;
  border:1px dashed #bfd3d7;border-radius:19px;
  background:white;text-align:center;
}
.empty-state>span { color:var(--orange);font-size:3rem; }
.empty-state h2 { font-size:1.6rem; }
.empty-state p {
  max-width:480px;margin:0 auto 22px;font-size:.86rem;
}
.load-more { margin-top:25px;text-align:center; }
.load-more p { margin-top:11px;font-size:.76rem; }

/* REGISTRATION */
.registration-layout {
  display:grid;grid-template-columns:.8fr 1.2fr;gap:23px;align-items:start;
}
.registration-aside {
  position:sticky;top:105px;padding:32px;border-radius:19px;
  background:linear-gradient(145deg,#032e3b,#075568);color:white;
}
.registration-aside h1 {
  margin:9px 0 17px;color:white;
  font-size:clamp(2rem,3.5vw,3rem);
}
.registration-aside p { color:#c8e1e5; }
.registration-benefits { display:grid;gap:15px;margin:30px 0; }
.registration-benefits span { font-size:.83rem;font-weight:700; }
.registration-note { padding-top:20px;border-top:1px solid #50808a; }
.registration-note p { margin:6px 0 0;font-size:.79rem; }
.registration-panel {
  padding:31px;border:1px solid var(--line);
  border-radius:19px;background:white;box-shadow:var(--shadow);
}
.registration-panel h2 { margin-bottom:9px;font-size:2rem; }
.registration-panel>p { font-size:.86rem; }
.notice {
  margin:20px 0 26px;padding:15px;border-left:3px solid var(--orange);
  border-radius:9px;background:#fff6f0;
}
.notice strong { color:#9b4c27; }
.notice p { margin:6px 0 0;color:#806b60;font-size:.77rem; }
fieldset {
  min-width:0;margin:0 0 27px;padding:0 0 25px;
  border:0;border-bottom:1px solid var(--line);
}
fieldset legend {
  margin-bottom:19px;color:var(--teal);
  font:800 1.02rem "Manrope",sans-serif;
}
.form-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;
}
.field-help { margin:12px 0;color:var(--muted);font-size:.77rem; }
.checkbox-line {
  display:flex;align-items:flex-start;gap:11px;
  margin:17px 0;color:var(--muted);font-size:.79rem;line-height:1.6;
}
.checkbox-line input { width:18px;height:18px;flex-shrink:0;accent-color:var(--teal); }
.service-row {
  display:grid;grid-template-columns:1fr 140px auto;
  align-items:end;gap:10px;margin-bottom:12px;
}
.service-row label {
  display:flex;flex-direction:column;gap:8px;font-size:.79rem;font-weight:800;
}
.service-row input {
  width:100%;min-height:45px;padding:10px;
  border:1px solid #ccdbdd;border-radius:9px;
}
.remove-service {
  min-height:45px;padding:10px;border:1px solid #ead2cc;
  border-radius:9px;background:#fff6f3;color:#a14d36;font-weight:800;
}
.feedback {
  margin-top:19px;padding:19px;border:1px solid #b8d7d4;
  border-radius:12px;background:#eff8f5;
}
.feedback h3 { margin-bottom:9px; }
.feedback p { margin-bottom:10px;font-size:.83rem; }
.feedback ul { padding-left:20px;font-size:.82rem;line-height:1.8; }
.feedback .btn { margin:5px; }

/* TEAMS */
.team-categories {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;
}
.team-option {
  display:flex;align-items:center;gap:10px;padding:11px;
  border:1px solid var(--line);border-radius:10px;
  background:#fafcfc;font-size:.78rem;font-weight:700;
}
.team-option:has(input:checked) {
  border-color:var(--teal);background:#e7f4f4;
}
.team-option input { accent-color:var(--teal); }

/* DIALOGS */
dialog { margin:auto; }
dialog::backdrop { background:rgba(1,20,28,.73);backdrop-filter:blur(4px); }
.standard-dialog,.profile-dialog {
  width:min(92vw,780px);max-height:90vh;padding:0;
  overflow-y:auto;border:0;border-radius:20px;
  background:white;box-shadow:0 35px 100px rgba(0,0,0,.25);
}
.dialog-content { padding:30px; }
.dialog-heading {
  display:flex;justify-content:space-between;
  gap:15px;margin-bottom:24px;
}
.dialog-heading h2 { margin:0 0 8px; }
.dialog-heading p { font-size:.84rem; }
.dialog-close {
  display:grid;place-items:center;flex-shrink:0;
  width:40px;height:40px;border:1px solid var(--line);
  border-radius:10px;background:white;color:var(--teal);font-size:1.05rem;
}
.profile-cover {
  display:flex;justify-content:space-between;align-items:flex-start;
  min-height:155px;padding:25px;
  background:linear-gradient(125deg,#033744,#075568);color:white;
  background-size:cover;background-position:center;
}
.profile-cover>span {
  color:#ffcaab;font-size:.69rem;font-weight:800;letter-spacing:.13em;
}
.light-close { background:rgba(255,255,255,.95); }
.profile-body { padding:0 28px 28px; }
.profile-identity {
  display:flex;align-items:end;gap:18px;
  margin-top:-35px;position:relative;
}
.profile-avatar {
  width:104px;height:104px;border:4px solid white;
  border-radius:22px;font-size:1.6rem;
}
.profile-identity>div:last-child {
  flex:1;padding-top:40px;
}
.profile-identity h2 { margin:0 0 5px;font-size:1.65rem; }
.profile-identity p { margin:0;font-size:.81rem; }
.rating-summary { margin-top:8px;font-size:.82rem;font-weight:800; }
.profile-actions {
  display:flex;align-items:center;justify-content:space-between;
  gap:15px;margin:23px 0;padding:18px;border-radius:13px;
  background:var(--pale);
}
.profile-actions span { color:var(--teal);font-size:.85rem;font-weight:800; }
.profile-tabs {
  display:flex;gap:6px;overflow-x:auto;
  border-bottom:1px solid var(--line);
}
.profile-tab {
  flex:1;min-width:90px;padding:14px 10px;
  border:0;border-bottom:3px solid transparent;
  background:white;color:var(--muted);font-size:.82rem;font-weight:800;
}
.profile-tab.active { color:var(--teal);border-bottom-color:var(--orange); }
.profile-tab-panel { padding:25px 0; }
.profile-tab-panel h3 { margin-bottom:14px; }
.profile-tab-panel p { font-size:.86rem; }
.profile-detail {
  display:flex;justify-content:space-between;gap:16px;
  padding:13px 0;border-bottom:1px solid var(--line);font-size:.83rem;
}
.profile-detail strong { text-align:right; }
.portfolio-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
}
.portfolio-grid img {
  width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;
}
.profile-service {
  display:flex;justify-content:space-between;gap:15px;
  padding:16px;margin-bottom:10px;
  border:1px solid var(--line);border-radius:10px;
}
.profile-service strong { font-size:.86rem; }
.profile-service span { color:var(--teal);font-size:.84rem;font-weight:800; }
.empty-content {
  padding:25px;border:1px dashed #c9dadd;
  border-radius:12px;background:#f6faf9;
  color:var(--muted);font-size:.85rem;text-align:center;
}
.review-overview {
  display:flex;align-items:center;gap:17px;
  margin-bottom:20px;padding:20px;border-radius:12px;background:var(--pale);
}
.review-overview strong {
  color:var(--teal);font:800 2.4rem "Manrope",sans-serif;
}
.review-item { padding:17px 0;border-bottom:1px solid var(--line); }
.review-item-header {
  display:flex;justify-content:space-between;gap:15px;
  font-size:.84rem;
}
.review-stars { color:#bf882b;font-weight:800; }
.review-item p { margin:10px 0; }
.review-reply {
  margin-top:12px;padding:13px;border-radius:10px;
  background:var(--pale);font-size:.8rem;
}
.review-reply strong { display:block;margin-bottom:5px;color:var(--teal); }
.review-notice { margin-top:22px; }

/* RESPONSIVE */
@media(max-width:1050px) {
  .desktop-nav { gap:11px; }
  .desktop-nav a { font-size:.73rem; }
  .brand img { max-width:140px; }
  .header-join { font-size:.7rem;padding-inline:10px; }
}
@media(max-width:930px) {
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .registration-layout { grid-template-columns:1fr; }
  .registration-aside { position:static; }
  .directory-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-toolbar>.btn { align-self:end; }
  .provider-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .container { width:calc(100% - 32px); }
  .section { padding:47px 0; }
  .header-inner { min-height:68px; }
  .brand img { max-width:125px;height:43px; }
  .header-join { display:none; }
  #country-select { width:128px;font-size:.69rem; }
  .hero { padding:50px 0; }
  .hero-grid { grid-template-columns:1fr;gap:28px; }
  .hero h1 { font-size:clamp(2.4rem,8vw,3.55rem); }
  .insights-card { max-width:460px;margin:auto; }
  .mode-grid,.steps-grid,.provider-grid { grid-template-columns:1fr; }
  .mode-card { min-height:195px; }
  .smartmatch { grid-template-columns:1fr;padding:22px; }
  .heading-row { flex-direction:column;align-items:flex-start;gap:14px; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-card { min-height:205px;padding:17px; }
  .join-inner { flex-direction:column;align-items:flex-start; }
  .course-symbol { display:none; }
  .course-slide { min-height:250px; }
  .registration-panel,.registration-aside { padding:23px; }
  .form-grid { grid-template-columns:1fr; }
  .service-row { grid-template-columns:1fr; }
  .remove-service { justify-self:start; }
  .footer-inner { flex-direction:column;align-items:flex-start; }
  .profile-actions { flex-direction:column;align-items:stretch; }
}
@media(max-width:430px) {
  .hero-search { flex-wrap:wrap; }
  .hero-search input { width:100%;flex:auto; }
  .hero-search .btn { width:100%; }
  .category-grid,.team-categories { grid-template-columns:1fr; }
  .category-card { min-height:180px; }
  .directory-toolbar { grid-template-columns:1fr; }
  .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-body { padding:0 17px 20px; }
  .profile-avatar { width:82px;height:82px; }
  .profile-identity { align-items:flex-start; }
  .profile-identity>div:last-child { padding-top:39px; }
  .profile-identity h2 { font-size:1.3rem; }
  .dialog-content { padding:21px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition-duration:.01ms!important; }
}
