:root {
  --navy:#10283f;
  --navy-deep:#091a2b;
  --blue:#176b91;
  --teal:#138b83;
  --teal-light:#dff2ee;
  --ink:#183247;
  --muted:#607382;
  --line:#dce6e8;
  --paper:#f6f8f6;
  --white:#fff;
  --sand:#f0eee7;
  --serif:Georgia,'Times New Roman',serif;
  --sans:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --display:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --shadow:0 22px 60px rgba(18,44,61,.13);
  --container:1680px;
  --ease:220ms ease
}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:88px
}
body {
  margin:0;
  background:var(--white);
  color:var(--ink);
  font:16px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased
}
img {
  display:block;
  max-width:100%
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}
.container {
  width:min(var(--container),calc(100% - clamp(36px,6vw,96px)));
  margin-inline:auto
}
.skip-link {
  position:absolute;
  left:1rem;
  top:-5rem;
  background:white;
  padding:.8rem 1rem;
  z-index:2000
}
.skip-link:focus {
  top:1rem
}
.top-bar {
  background:var(--navy-deep);
  color:#d6e6e7;
  font-size:.75rem;
  letter-spacing:.04em
}
.top-bar-content {
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem
}
.top-tagline {
  display:flex;
  align-items:center;
  gap:.65rem;
  font-weight:700;
  letter-spacing:.16em
}
.top-tagline-dot {
  width:7px;
  height:7px;
  background:#45c1ad;
  border-radius:50%
}
.top-meta {
  display:flex;
  gap:1.5rem
}
.top-meta span {
  display:flex;
  align-items:center;
  gap:.45rem
}
.top-meta a:hover {
  color:#fff
}

.site-header {
  height:82px;
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(220,230,232,.8)
}
.nav-container {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between
}
.brand-link {
  display:inline-flex;
  align-items:center;
  gap:11px
}
.brand-logo {
  display:block;
  width:230px;
  height:auto;
  max-height:65px;
  object-fit:contain
}
.brand-symbol {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  background:var(--navy);
  color:#67d0bc;
  border-radius:3px
}
.brand-symbol svg {
  width:22px;
  height:22px
}
.brand-name {
  display:block;
  font:800 1.08rem/1 var(--display);
  letter-spacing:.13em;
  color:var(--navy)
}
.brand-sub {
  display:block;
  margin-top:5px;
  font-size:.55rem;
  line-height:1;
  color:#6d7e88;
  letter-spacing:.13em;
  font-weight:700
}
.nav-menu {
  display:flex;
  align-items:center;
  gap:clamp(.8rem,1.45vw,1.55rem)
}
.nav-link {
  font-size:.84rem;
  color:#405665;
  font-weight:600;
  transition:color var(--ease)
}
.nav-link:hover,.nav-link.active {
  color:var(--teal)
}
.nav-cta {
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.75rem 1.05rem;
  background:var(--teal);
  color:white;
  font-size:.82rem;
  font-weight:700;
  transition:background var(--ease),transform var(--ease)
}
.nav-cta:hover {
  background:#0b716b;
  transform:translateY(-1px)
}
.nav-toggle {
  display:none;
  border:1px solid var(--line);
  background:white;
  color:var(--navy);
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center
}
.nav-toggle svg {
  width:22px;
  height:22px
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  min-height:50px;
  padding:.75rem 1.15rem;
  border:1px solid transparent;
  font-weight:700;
  font-size:.9rem;
  transition:background var(--ease),color var(--ease),border var(--ease),transform var(--ease)
}
.btn:hover {
  transform:translateY(-2px)
}
.btn-primary {
  background:var(--teal);
  color:white
}
.btn-primary:hover {
  background:#0b716b
}
.btn-outline {
  border-color:#c1d2d4;
  color:var(--navy);
  background:transparent
}
.btn-outline:hover {
  border-color:var(--teal);
  color:var(--teal);
  background:white
}
.btn-light {
  background:#fff;
  color:var(--navy)
}
.btn svg {
  width:17px;
  height:17px
}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #e8a945;
  outline-offset:3px
}

.hero-section {
  background:var(--paper);
  overflow:hidden
}
.hero-grid {
  display:grid;
  grid-template-columns:.94fr 1.06fr;
  align-items:center;
  gap:5.2%;
  min-height:650px;
  padding-block:62px 72px
}
.hero-content {
  max-width:560px
}
.eyebrow,.badge-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  color:var(--teal);
  font-size:.7rem;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase
}
.eyebrow:before {
  content:'';
  width:25px;
  height:1px;
  background:currentColor
}
.hero-content h1,.page-heading h1 {
  font:600 clamp(2.8rem,5vw,4.65rem)/1.08 var(--display);
  letter-spacing:-.055em;
  color:var(--navy);
  margin:1.2rem 0
}
.hero-content h1 em,.page-heading h1 em,.section-header h2 em {
  font:italic 500 1em/1.1 var(--serif);
  letter-spacing:-.045em;
  color:var(--teal)
}
.hero-lead {
  max-width:520px;
  color:#556a79;
  font-size:1.05rem;
  line-height:1.8;
  margin:0 0 1.8rem
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.8rem
}
.tagline-strip {
  display:flex;
  gap:1.8rem;
  margin-top:2.8rem;
  padding-top:1.25rem;
  border-top:1px solid #d6e0e1
}
.tagline-item {
  display:flex;
  align-items:center;
  gap:.55rem
}
.tagline-num {
  font:700 .7rem var(--display);
  color:#99a9ad
}
.tagline-text {
  font-weight:800;
  font-size:.75rem;
  letter-spacing:.1em;
  color:var(--navy)
}
.hero-visual {
  position:relative;
  min-height:500px
}
.hero-image-frame {
  position:absolute;
  inset:0 0 0 8%;
  overflow:hidden;
  background:#dce9e7
}
.hero-image-frame:after {
  position:absolute;
  content:'';
  inset:0;
  background:linear-gradient(0deg,rgba(8,29,44,.35),transparent 44%)
}
.hero-image {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:52% 45%
}
.image-caption {
  position:absolute;
  bottom:22px;
  right:24px;
  color:white;
  z-index:1;
  font-size:.73rem;
  text-align:right;
  letter-spacing:.04em
}
.image-caption b {
  display:block;
  font-size:.9rem;
  letter-spacing:0
}
.hero-note {
  position:absolute;
  left:0;
  bottom:58px;
  background:white;
  padding:1.2rem 1.3rem;
  width:240px;
  box-shadow:var(--shadow);
  border-left:3px solid var(--teal)
}
.hero-note small {
  font-size:.64rem;
  color:var(--teal);
  letter-spacing:.14em;
  font-weight:800
}
.hero-note strong {
  display:block;
  font:700 1.14rem var(--display);
  color:var(--navy);
  line-height:1.3;
  margin-top:.45rem
}
.hero-note p {
  font-size:.78rem;
  color:var(--muted);
  margin:.4rem 0 0;
  line-height:1.55
}
.trustline {
  background:var(--navy);
  color:white
}
.trustline-inner {
  display:grid;
  grid-template-columns:repeat(3,1fr)
}
.trustline-item {
  padding:1.5rem 1.4rem;
  display:flex;
  align-items:flex-start;
  gap:.9rem;
  border-right:1px solid rgba(255,255,255,.14)
}
.trustline-item:last-child {
  border:0
}
.trustline-index {
  font:italic 1.6rem var(--serif);
  color:#65c8b6
}
.trustline-item strong {
  display:block;
  font-size:.85rem
}
.trustline-item p {
  margin:.18rem 0 0;
  color:#bdcbd1;
  font-size:.75rem;
  line-height:1.5
}

.section {
  padding:94px 0
}
.section-tint {
  background:var(--paper)
}
.section-dark {
  background:var(--navy);
  color:white
}
.section-header {
  max-width:690px;
  margin-bottom:2.7rem
}
.section-header h2 {
  font:600 clamp(2.05rem,3.6vw,3.2rem)/1.15 var(--display);
  letter-spacing:-.045em;
  color:var(--navy);
  margin:.7rem 0 1rem
}
.section-dark .section-header h2 {
  color:white
}
.section-header p {
  max-width:600px;
  margin:0;
  color:var(--muted);
  line-height:1.75
}
.section-dark .section-header p {
  color:#c1cdd3
}
.section-kicker {
  font-size:.71rem;
  color:var(--teal);
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase
}
.services-feature {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:4rem;
  align-items:center
}
.service-list {
  border-top:1px solid var(--line)
}
.service-row {
  display:grid;
  grid-template-columns:44px 1fr 24px;
  gap:1rem;
  align-items:start;
  padding:1.35rem 0;
  border-bottom:1px solid var(--line)
}
.service-no {
  font:italic 1.2rem var(--serif);
  color:var(--teal)
}
.service-row h3 {
  margin:0 0 .25rem;
  font:700 1rem var(--display);
  color:var(--navy)
}
.service-row p {
  margin:0;
  color:var(--muted);
  font-size:.86rem
}
.service-row>a {
  color:var(--teal);
  font-size:1.2rem
}
.editorial-image {
  position:relative;
  min-height:420px;
  overflow:hidden;
  background:#e2ebe8
}
.editorial-image img {
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover
}
.editorial-image figcaption {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:1.2rem 1.35rem;
  color:white;
  font-size:.75rem;
  background:linear-gradient(transparent,rgba(7,25,39,.78))
}
.editorial-image figcaption strong {
  display:block;
  font-size:.92rem
}
.audience-band {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  background:#eaf2ef
}
.audience-item {
  padding:2rem 2rem 2rem 0;
  margin-left:2rem;
  border-right:1px solid #cddbd7
}
.audience-item:last-child {
  border:0
}
.audience-item span {
  font:italic 1.4rem var(--serif);
  color:var(--teal)
}
.audience-item h3 {
  margin:.5rem 0;
  font:700 1rem var(--display);
  color:var(--navy)
}
.audience-item p {
  margin:0;
  color:#61737c;
  font-size:.84rem
}
.callout-band {
  background:var(--navy);
  color:white;
  padding:64px 0
}
.callout-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem
}
.callout-inner h2 {
  font:600 clamp(1.9rem,3.2vw,2.7rem)/1.15 var(--display);
  margin:0;
  max-width:680px;
  letter-spacing:-.035em
}
.callout-inner p {
  color:#c0d0d4;
  margin:.6rem 0 0
}
.callout-inner .btn {
  flex:none
}

.page-hero {
  background:var(--paper);
  padding:68px 0 58px
}
.page-heading {
  max-width:780px
}
.page-heading h1 {
  font-size:clamp(2.6rem,4.7vw,4.2rem);
  margin:.8rem 0
}
.page-heading>p {
  font-size:1.05rem;
  color:var(--muted);
  max-width:660px;
  margin:0
}
.breadcrumb {
  display:flex;
  gap:.55rem;
  align-items:center;
  color:#72838c;
  font-size:.75rem;
  margin-bottom:1.3rem
}
.breadcrumb a {
  color:var(--teal)
}
.split-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:center
}
.split-copy h2 {
  font:600 clamp(1.9rem,3.2vw,2.8rem)/1.2 var(--display);
  letter-spacing:-.04em;
  color:var(--navy);
  margin:.6rem 0 1rem
}
.split-copy p {
  color:var(--muted);
  line-height:1.8
}
.split-image {
  min-height:400px;
  overflow:hidden;
  background:#e1ece9
}
.split-image img {
  width:100%;
  height:100%;
  min-height:400px;
  object-fit:cover
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color:var(--teal);
  font-weight:700;
  font-size:.88rem;
  margin-top:.6rem
}
.text-link:hover {
  gap:.85rem
}
.principles {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.8rem 2.5rem;
  margin-top:2rem
}
.principle {
  border-top:1px solid var(--line);
  padding-top:1rem
}
.principle b {
  font:700 .95rem var(--display);
  color:var(--navy)
}
.principle p {
  margin:.4rem 0 0;
  font-size:.85rem
}
.process-list {
  counter-reset:step;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem
}
.process-step {
  counter-increment:step;
  border-top:2px solid var(--teal);
  padding:1.2rem 0
}
.process-step:before {
  content:'0' counter(step);
  font:italic 1.5rem var(--serif);
  color:var(--teal)
}
.process-step h3 {
  font:700 1rem var(--display);
  color:var(--navy);
  margin:.6rem 0
}
.process-step p {
  font-size:.86rem;
  color:var(--muted);
  margin:0
}
.note-box {
  padding:1.15rem 1.25rem;
  border-left:3px solid var(--teal);
  background:#eff7f4;
  color:#365762;
  font-size:.86rem;
  margin:1.5rem 0
}
.note-box strong {
  color:var(--navy)
}

.cards-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line)
}
.card {
  background:white;
  padding:2rem;
  transition:background var(--ease)
}
.card:hover {
  background:#f5faf8
}
.card-icon {
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  color:var(--teal);
  border:1px solid #bdd8d3;
  margin-bottom:1.2rem
}
.card-icon svg {
  width:22px;
  height:22px
}
.card h3 {
  font:700 1.15rem var(--display);
  color:var(--navy);
  margin:.2rem 0 .55rem
}
.card p {
  margin:0;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.7
}
.card .text-link {
  margin-top:1.1rem
}
.partnership-banner {
  padding:3rem;
  background:#e8f1ed;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem
}
.partnership-banner h2 {
  font:600 2rem/1.2 var(--display);
  color:var(--navy);
  margin:0
}
.partnership-banner p {
  max-width:600px;
  color:#526874;
  margin:.5rem 0 0
}
.levels {
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  margin:1.5rem 0
}
.level-tag {
  padding:.65rem 1rem;
  background:white;
  border:1px solid #d0dfda;
  color:var(--navy);
  font-weight:700;
  font-size:.84rem
}

.contact-grid {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:4.5rem
}
.contact-details {
  border-top:1px solid var(--line)
}
.contact-detail {
  padding:1.2rem 0;
  border-bottom:1px solid var(--line)
}
.contact-detail small {
  display:block;
  color:var(--teal);
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase
}
.contact-detail a,.contact-detail strong {
  display:block;
  margin-top:.25rem;
  color:var(--navy);
  font-weight:700
}
.contact-detail p {
  margin:.2rem 0 0;
  color:var(--muted);
  font-size:.82rem
}
.form-panel {
  padding:2rem;
  background:var(--paper)
}
.form-panel h2 {
  margin:0 0 .5rem;
  color:var(--navy);
  font:700 1.35rem var(--display)
}
.form-intro {
  margin:0 0 1.5rem;
  color:var(--muted);
  font-size:.88rem
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem
}
.form-field {
  margin-bottom:1rem
}
.form-field.full {
  grid-column:1/-1
}
.form-field label {
  display:block;
  font-size:.78rem;
  font-weight:700;
  color:var(--navy);
  margin-bottom:.4rem
}
.form-control,.form-select {
  width:100%;
  min-height:48px;
  padding:.7rem .8rem;
  background:white;
  border:1px solid #cbd9dc;
  color:var(--ink);
  border-radius:0
}
.form-control:focus,.form-select:focus {
  border-color:var(--teal);
  outline:3px solid rgba(19,139,131,.14)
}
textarea.form-control {
  min-height:130px;
  resize:vertical
}
.form-check-row {
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  font-size:.79rem;
  color:#526874
}
.form-check-input {
  margin-top:.25rem;
  accent-color:var(--teal)
}
.field-errors,.errorlist {
  padding:0;
  margin:.35rem 0 0;
  color:#a23131;
  font-size:.78rem;
  list-style:none
}
.field-errors li {
  margin:.2rem 0
}
.hp-trap {
  position:absolute!important;
  left:-10000px!important;
  width:1px;
  height:1px;
  overflow:hidden
}
.form-actions {
  display:flex;
  gap:.8rem;
  align-items:center;
  margin-top:1.2rem
}
.form-help {
  font-size:.76rem;
  color:var(--muted);
  margin-top:.75rem
}
.messages-container {
  padding-top:1rem
}
.alert {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:.9rem 1rem;
  margin:.5rem 0;
  border:1px solid #cbded8;
  background:#edf7f3;
  color:#235c51
}
.alert-content {
  display:flex;
  gap:.7rem;
  align-items:center
}
.alert-content svg,.alert-dismiss svg {
  width:19px;
  height:19px;
  flex:none
}
.alert-dismiss {
  border:0;
  background:none;
  color:inherit;
  cursor:pointer
}
.alert.error,.alert.msg-error {
  background:#fff1ed;
  color:#8a352b;
  border-color:#f1c5bb
}

.appointment-wrap {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:4rem;
  align-items:start
}
.appointment-aside {
  background:var(--navy);
  color:white;
  padding:2rem
}
.appointment-aside h2 {
  font:600 1.5rem var(--display);
  margin:0
}
.appointment-aside p {
  color:#c3d0d5;
  font-size:.88rem
}
.appointment-aside ul {
  list-style:none;
  padding:0;
  margin:1.4rem 0
}
.appointment-aside li {
  padding:.7rem 0;
  border-bottom:1px solid rgba(255,255,255,.15);
  font-size:.82rem
}
.empty-state {
  padding:1.4rem;
  border:1px solid #d4e0dd;
  background:#f3f8f6
}
.empty-state h3 {
  color:var(--navy);
  margin:0 0 .4rem
}
.empty-state p {
  color:var(--muted);
  margin:.3rem 0
}
.site-footer {
  background:var(--navy-deep);
  color:white;
  padding:64px 0 24px
}
.footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1.1fr .8fr;
  gap:2.5rem;
  padding-bottom:2.5rem
}
.footer-brand p {
  max-width:350px;
  color:#b6c6cc;
  font-size:.84rem;
  line-height:1.75;
  margin:1.25rem 0
}
.footer-brand .brand-name {
  color:white
}
.footer-brand .brand-sub {
  color:#62cbb8
}
.footer-tagline-badge {
  display:inline-block;
  padding:.55rem .7rem;
  border:1px solid rgba(255,255,255,.2);
  font-size:.65rem;
  letter-spacing:.12em;
  color:#c5ece3;
  font-weight:700
}
.footer-col h4 {
  margin:0 0 1rem;
  font:700 .84rem var(--display);
  color:#fff
}
.footer-links {
  list-style:none;
  padding:0;
  margin:0
}
.footer-links li {
  margin:.55rem 0
}
.footer-links a,.footer-contact-item a {
  color:#b9c8ce;
  font-size:.8rem
}
.footer-links a:hover,.footer-contact-item a:hover {
  color:#69d1bc
}
.footer-contact-item {
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:.65rem 0
}
.footer-contact-item svg {
  width:15px;
  height:15px;
  color:#57c2ae;
  flex:none
}
.footer-bottom {
  padding-top:1.2rem;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1.5rem;
  color:#9eafb6;
  font-size:.72rem
}
.footer-disclaimer-text {
  max-width:680px;
  margin:0;
  line-height:1.55
}
.footer-disclaimer-text strong {
  color:#c4d6da
}
.whatsapp-floating {
  position:fixed;
  bottom:22px;
  right:22px;
  z-index:900;
  display:flex;
  align-items:center;
  gap:.5rem;
  background:#168579;
  color:white;
  padding:.72rem 1rem;
  box-shadow:0 8px 24px rgba(8,41,54,.24);
  font-size:.78rem;
  font-weight:700
}
.whatsapp-floating:hover {
  background:#106f67
}
.whatsapp-floating svg {
  width:20px;
  height:20px
}
.spinner {
  width:15px;
  height:15px;
  border:2px solid rgba(255,255,255,.5);
  border-top-color:white;
  border-radius:50%;
  animation:spin .8s linear infinite
}
@keyframes spin {
  to {
    transform:rotate(360deg)
  }

}

@media(max-width:1000px) {
  .nav-menu {
    gap:.8rem
  }
.nav-link {
    font-size:.77rem
  }
.hero-grid {
    gap:3%;
    min-height:580px
  }
.hero-visual {
    min-height:440px
  }
.footer-grid {
    grid-template-columns:1.3fr 1fr 1fr
  }
.footer-col:last-child {
    grid-column:2
  }
.services-feature {
    gap:2.4rem
  }

}

@media(max-width:1120px) {
  .nav-toggle {
    display:flex
  }
  .nav-menu {
    position:absolute;
    top:82px;
    left:0;
    right:0;
    display:none;
    align-items:stretch;
    flex-direction:column;
    gap:0;
    padding:10px 24px 20px;
    background:white;
    border-bottom:1px solid var(--line);
    box-shadow:0 15px 25px rgba(10,40,60,.12)
  }
  .nav-menu.is-open {
    display:flex
  }
  .nav-link {
    padding:.8rem .25rem;
    border-bottom:1px solid #edf1f1;
    font-size:.93rem
  }
  .nav-cta {
    margin-top:.8rem;
    justify-content:center;
    padding:.9rem
  }
}

@media(max-width:760px) {
  .container {
    width:min(var(--container),calc(100% - 36px))
  }
.top-meta {
    display:none
  }
.top-bar-content {
    min-height:32px
  }
.site-header {
    height:70px
  }
.nav-toggle {
    display:flex
  }
.nav-menu {
    position:absolute;
    top:70px;
    left:0;
    right:0;
    display:none;
    align-items:stretch;
    gap:0;
    padding:10px 18px 20px;
    background:white;
    border-bottom:1px solid var(--line);
    box-shadow:0 15px 25px rgba(10,40,60,.12)
  }
.nav-menu.is-open {
    display:flex;
    flex-direction:column
  }
.nav-link {
    padding:.8rem .25rem;
    border-bottom:1px solid #edf1f1;
    font-size:.93rem
  }
.nav-cta {
    margin-top:.8rem;
    justify-content:center;
    padding:.9rem
  }
.hero-grid {
    grid-template-columns:1fr;
    gap:2rem;
    padding-block:30px 45px
  }
.hero-content {
    padding-top:.2rem
  }
.hero-content h1 {
    font-size:clamp(2.65rem,12vw,4rem);
    margin:.85rem 0
  }
.hero-lead {
    font-size:.95rem
  }
.hero-visual {
    min-height:390px;
    order:2
  }
.hero-image-frame {
    inset:0 0 0 7%
  }
.hero-note {
    bottom:30px;
    width:210px;
    padding:1rem
  }
.tagline-strip {
    margin-top:1.8rem;
    gap:1rem;
    justify-content:space-between
  }
.trustline-inner {
    grid-template-columns:1fr
  }
.trustline-item {
    padding:1rem 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.14)
  }
.trustline-item:last-child {
    border-bottom:0
  }
.section {
    padding:66px 0
  }
.section-header {
    margin-bottom:2rem
  }
.services-feature,.split-layout,.contact-grid,.appointment-wrap {
    grid-template-columns:1fr;
    gap:2rem
  }
.editorial-image,.editorial-image img {
    min-height:320px
  }
.audience-band {
    grid-template-columns:1fr;
    padding:0 22px
  }
.audience-item {
    margin:0;
    padding:1.2rem 0;
    border-right:0;
    border-bottom:1px solid #cddbd7
  }
.audience-item:last-child {
    border-bottom:0
  }
.callout-band {
    padding:48px 0
  }
.callout-inner {
    align-items:flex-start;
    flex-direction:column
  }
.page-hero {
    padding:44px 0 40px
  }
.page-heading h1 {
    font-size:clamp(2.4rem,11vw,3.5rem)
  }
.split-image,.split-image img {
    min-height:310px
  }
.process-list {
    grid-template-columns:1fr;
    gap:.4rem
  }
.principles {
    grid-template-columns:1fr;
    gap:1rem
  }
.cards-grid {
    grid-template-columns:1fr
  }
.partnership-banner {
    padding:2rem;
    align-items:flex-start;
    flex-direction:column
  }
.form-panel {
    padding:1.3rem
  }
.form-grid {
    grid-template-columns:1fr;
    gap:0
  }
.form-field.full {
    grid-column:auto
  }
.footer-grid {
    grid-template-columns:1fr 1fr;
    gap:2rem 1.3rem
  }
.footer-brand {
    grid-column:1/-1
  }
.footer-col:last-child {
    grid-column:auto
  }
.footer-bottom {
    flex-direction:column
  }
.whatsapp-floating {
    right:14px;
    bottom:14px;
    width:48px;
    height:48px;
    padding:0;
    justify-content:center
  }
.whatsapp-floating span {
    display:none
  }

}

@media(max-width:430px) {
  .brand-logo {
    width:205px;
    max-height:58px
  }
  .brand-name {
    font-size:1rem
  }
.brand-sub {
    font-size:.5rem
  }
.hero-visual {
    min-height:330px
  }
.hero-note {
    left:-4px;
    bottom:22px;
    width:190px
  }
.hero-note strong {
    font-size:1rem
  }
.hero-actions {
    align-items:stretch;
    flex-direction:column
  }
.hero-actions .btn {
    width:100%
  }
.tagline-item {
    gap:.3rem
  }
.tagline-num {
    font-size:.6rem
  }
.tagline-text {
    font-size:.64rem
  }
.footer-grid {
    grid-template-columns:1fr
  }
.footer-brand,.footer-col:last-child {
    grid-column:auto
  }
.form-actions {
    align-items:stretch;
    flex-direction:column
  }
.form-actions .btn {
    width:100%
  }

}

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

}
