@font-face{font-family:"JC Cormorant";src:url("./_vinext_fonts/cormorant-garamond-ff796e1d7eed/cormorant-garamond-e99b45a2.woff2") format("woff2");font-style:normal;font-weight:300;font-display:block}
@font-face{font-family:"JC Cormorant";src:url("./_vinext_fonts/cormorant-garamond-ff796e1d7eed/cormorant-garamond-e99b45a2.woff2") format("woff2");font-style:normal;font-weight:400;font-display:block}
@font-face{font-family:"JC Cormorant";src:url("./_vinext_fonts/cormorant-garamond-ff796e1d7eed/cormorant-garamond-e99b45a2.woff2") format("woff2");font-style:normal;font-weight:500;font-display:block}
@font-face{font-family:"JC Cormorant";src:url("./_vinext_fonts/cormorant-garamond-ff796e1d7eed/cormorant-garamond-e99b45a2.woff2") format("woff2");font-style:normal;font-weight:600;font-display:block}
@font-face{font-family:"JC Cormorant";src:url("./_vinext_fonts/cormorant-garamond-ff796e1d7eed/cormorant-garamond-fe99e303.woff2") format("woff2");font-style:italic;font-weight:300;font-display:block}
@font-face{font-family:"JC Cormorant";src:url("./_vinext_fonts/cormorant-garamond-ff796e1d7eed/cormorant-garamond-fe99e303.woff2") format("woff2");font-style:italic;font-weight:400;font-display:block}
@font-face{font-family:"JC Manrope";src:url("./_vinext_fonts/manrope-88a2e9afe466/manrope-81401990.woff2") format("woff2");font-style:normal;font-weight:300;font-display:block}
@font-face{font-family:"JC Manrope";src:url("./_vinext_fonts/manrope-88a2e9afe466/manrope-81401990.woff2") format("woff2");font-style:normal;font-weight:400;font-display:block}
@font-face{font-family:"JC Manrope";src:url("./_vinext_fonts/manrope-88a2e9afe466/manrope-81401990.woff2") format("woff2");font-style:normal;font-weight:500;font-display:block}
@font-face{font-family:"JC Manrope";src:url("./_vinext_fonts/manrope-88a2e9afe466/manrope-81401990.woff2") format("woff2");font-style:normal;font-weight:600;font-display:block}

:root{--font-serif:"JC Cormorant",Georgia,serif;--font-sans:"JC Manrope",Arial,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:110px}
html,body{max-width:100%;overflow-x:hidden}
body{font-family:var(--font-sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3,blockquote{font-family:var(--font-serif)!important}
h1,h2,h3{font-weight:400}
h1 em,h2 em,h3 em{font-family:var(--font-serif)!important;font-style:italic;font-weight:300}
img{max-width:100%}

.brand-full-logo{display:block;width:116px;height:auto;max-height:72px;object-fit:contain}
.site-header .brand-lockup,.footer-brand .brand-lockup{display:flex;align-items:center}
.site-header{width:min(1560px,calc(100% - 32px));gap:20px}
.desktop-nav{gap:clamp(20px,3vw,48px)}
.header-tools{gap:10px}
.hero h1{font-size:clamp(58px,7vw,104px);line-height:.91;text-wrap:balance}
.hero-intro,.approach-body,.lead,.service-content>p,.fit-card li,.faq-list p,.contact-copy>p{color:#344a42}
.dark .hero-intro,.dark .approach-body,.dark .lead,.dark .service-content>p,.dark .fit-card li,.dark .faq-list p,.dark .contact-copy>p{color:#d4ddd8}
a,button,summary,input,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b96c47;outline-offset:4px}
button,.button,.header-cta,.mobile-cta{min-height:44px}
.contact-form input,.contact-form textarea{font-size:16px}

@media (max-width:1100px){
  .site-header{width:calc(100% - 24px);padding-inline:18px}
  .desktop-nav{display:none}
  .header-tools{margin-left:auto}
  .hero{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:28px;padding-inline:clamp(24px,5vw,72px)}
  .hero h1{font-size:clamp(54px,7.4vw,82px)}
  .approach,.contact-layout{gap:clamp(30px,5vw,64px);padding-inline:clamp(24px,5vw,72px)}
  .services,.fit-section,.faq-section{padding-inline:clamp(24px,5vw,72px)}
}

@media (max-width:760px){
  html{scroll-padding-top:82px}
  .site-header{top:8px;width:calc(100% - 16px);min-height:68px;padding:8px 12px;border-radius:24px}
  .brand-full-logo{width:82px;max-height:54px}
  .header-tools{display:none}
  .mobile-menu{display:block;margin-left:auto}
  .mobile-menu nav{max-height:calc(100vh - 90px);overflow-y:auto}
  .hero{min-height:auto;grid-template-columns:1fr;padding:112px 20px 52px}
  .hero-copy{order:1}
  .hero-portrait{order:2;width:min(88vw,430px);margin:10px auto 0}
  .hero h1{font-size:clamp(48px,14vw,68px);line-height:.92;letter-spacing:-.045em}
  .hero-intro{margin-top:22px;font-size:16px;line-height:1.65}
  .hero-actions{align-items:stretch;flex-direction:column}
  .hero-actions .button,.hero-actions .text-link{justify-content:center;width:100%;text-align:center}
  .hero-badges{gap:8px}
  .hero-badges span{font-size:12px}
  .manifesto-inner{padding-inline:20px}
  .approach,.contact-layout{grid-template-columns:1fr;padding-inline:20px}
  .approach-portrait{width:min(86vw,430px);margin-inline:auto}
  .services,.fit-section,.faq-section{padding-inline:20px}
  .service-grid,.fit-grid{grid-template-columns:1fr}
  .service-card,.continuity-card,.journal-teaser{border-radius:24px}
  .section-heading{align-items:flex-start;flex-direction:column;gap:16px}
  .section-heading h2,.fit-heading h2,.journal-copy h2,.faq-heading h2,.contact h2{font-size:clamp(42px,12vw,58px);line-height:.98}
  .continuity-card,.journal-teaser{grid-template-columns:1fr}
  .contact-actions{align-items:stretch;flex-direction:column}
  .contact-actions a{justify-content:center;width:100%;overflow-wrap:anywhere}
  .contact-form{padding:24px 18px}
  .consultation-options{grid-template-columns:1fr}
  .whatsapp-float span{display:none}
  .whatsapp-float{width:52px;height:52px;padding:0;border-radius:50%;justify-content:center}
  footer{padding-inline:20px;text-align:center}
  .footer-links{justify-content:center;flex-wrap:wrap}
}

@media (max-width:390px){
  .hero{padding-inline:16px}
  .hero h1{font-size:44px}
  .eyebrow{font-size:10px;letter-spacing:.12em}
  .services,.fit-section,.faq-section,.approach,.contact-layout{padding-inline:16px}
  .service-content{padding-inline:18px}
}

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