:root {
  font-family:'DM Sans',Arial,sans-serif;
  font-synthesis:none;
  --serif:'Cormorant Garamond',Georgia,serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:35px
}
body {
  margin:0
}
a {
  color:inherit;
  text-decoration:none
}
button,input {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}
img {
  max-width:100%;
  display:block
}
p {
  line-height:1.8
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2,h3 {
  font-weight:400
}
h1,h2 {
  font-family:var(--serif);
  line-height:1.03
}
h1 {
  font-size:clamp(3.4rem,5.9vw,6.5rem);
  letter-spacing:-.045em
}
h2 {
  font-size:clamp(2.65rem,4.3vw,4.5rem);
  letter-spacing:-.035em
}
h3 {
  font-size:1.45rem
}
em {
  font-weight:400
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid currentColor;
  outline-offset:6px
}
.wrap {
  width:min(1280px,calc(100% - 112px));
  margin-inline:auto
}
.site-header {
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-family:var(--serif);
  font-size:2.15rem;
  line-height:.85;
  flex-shrink:0
}
.brand-symbol {
  font-size:3.1rem;
  font-family:Georgia,serif
}
.brand-sub {
  display:block;
  font-family:'DM Sans',sans-serif;
  font-size:.75rem;
  letter-spacing:.3em;
  margin-top:10px
}
.site-header nav {
  display:flex;
  gap:30px;
  font-size:.875rem
}
.site-header nav a {
  padding-block:10px
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:26px;
  min-height:58px;
  padding:15px 27px;
  font-weight:600;
  font-size:.9375rem;
  line-height:1.5;
  transition:transform .2s,background .2s,color .2s
}
.button:hover {
  transform:translateY(-3px)
}
.button-small {
  min-height:46px;
  font-size:.875rem;
  padding:12px 19px
}
.eyebrow {
  font-size:.75rem;
  line-height:1.7;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase
}
.eyebrow span {
  font-size:1rem;
  margin-right:8px
}
.section {
  padding-block:112px
}
.section-heading {
  max-width:690px
}
.section-heading>p:last-child {
  max-width:550px
}
.section-heading h2 {
  margin-bottom:25px
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:20px;
  font-size:.9375rem;
  border-bottom:1px solid currentColor;
  padding-bottom:7px
}
.section-top {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:45px;
  margin-bottom:52px
}
.section-top h2 {
  margin-bottom:0
}
.faq-list {
  border-top:1px solid var(--line)
}
details {
  border-bottom:1px solid var(--line)
}
summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:25px 0;
  font-size:1rem;
  line-height:1.6
}
summary::-webkit-details-marker {
  display:none
}
summary::after {
  content:'+';
  font-weight:400;
  font-size:1.5rem;
  flex-shrink:0
}
details[open] summary::after {
  content:'−'
}
details>p {
  margin:0 35px 25px 0;
  color:var(--muted);
  font-size:.9375rem
}
.footer {
  border-top:1px solid var(--line);
  padding-block:40px
}
.footer-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px
}
.footer-contact {
  font-size:.9375rem;
  line-height:1.8
}
.footer small {
  display:block;
  font-size:.75rem;
  color:var(--muted);
  line-height:1.7;
  margin-top:10px
}
.floating-whatsapp {
  position:fixed;
  bottom:24px;
  right:24px;
  width:58px;
  height:58px;
  background:#237c4c;
  color:#fff;
  display:grid;
  place-items:center;
  border-radius:50%;
  box-shadow:0 6px 25px #0003;
  z-index:20;
  transition:transform .2s
}
.floating-whatsapp:hover {
  transform:translateY(-4px)
}
.wa-icon {
  width:25px;
  height:25px;
  fill:currentColor
}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:100;
  padding:15px;
  background:#fff;
  color:#111
}
.skip-link:focus {
  top:12px
}
.reveal {
  animation:arrive .7s both
}
@keyframes arrive {
  from {
  opacity:0;
  transform:translateY(16px)
}
to {
  opacity:1;
  transform:none
}

}
@media(max-width:1050px) {
  .wrap {
  width:calc(100% - 64px)
}
.site-header nav {
  gap:20px
}
.site-header {
  gap:20px
}
.section {
  padding-block:85px
}

}
@media(max-width:760px) {
  .wrap {
  width:calc(100% - 40px)
}
.site-header {
  min-height:94px;
  gap:12px
}
.brand {
  font-size:1.8rem
}
.brand-symbol {
  font-size:2.5rem
}
.brand-sub {
  font-size:.75rem
}
.site-header nav {
  display:none
}
.site-header>.button {
  font-size:.75rem;
  padding:11px 13px;
  gap:8px;
  min-height:42px
}
.section {
  padding-block:72px
}
.section-top {
  display:block;
  margin-bottom:35px
}
.section-top>.text-link {
  margin-top:24px
}
.footer-inner {
  align-items:flex-start;
  flex-direction:column
}
.floating-whatsapp {
  right:18px;
  bottom:18px;
  width:54px;
  height:54px
}
.eyebrow {
  font-size:.75rem;
  letter-spacing:.13em
}
h1 {
  font-size:clamp(3rem,10vw,4.7rem)
}
h2 {
  font-size:clamp(2.65rem,9vw,3.5rem)
}

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

}
