/* V12: textos centralizados e retorno do Hero mobile editorial claro. */
/* Typography alignment across the website, legal pages and booking UI. */
body {text-align:center;}
.hero-copy, .hero-eyebrow, .hero-description, .hero h1, .hero-identification,
.section-intro, .section-intro-side, .section-intro-side p,
.section-kicker, .approach-top, .approach-step, .approach-step h3,
.approach-step p, .advantages-heading, .advantage-card, .advantage-card p,
.pain-card, .pain-card p, .about-content, .about-content p, .about-name,
.location-left, .location-right, .location-right p, .closing-content,
.faq-intro, .faq-questions, .faq-item summary, .faq-item>p, .faq-help,
.footer-main, .footer-bottom, .footer-contact,
.booking-heading, .booking-heading p, .booking-field, .booking-sensitive-note,
.booking-consent, .booking-standalone-intro, .booking-standalone-intro p,
.booking-modal-body, .booking-standalone-form, .legal-main, .legal-main p,
.legal-main li, .legal-main h1, .legal-main h2, .cookie-banner,
.cookie-panel, .cookie-category, .cookie-intro, .cookie-panel-head,
.cookie-button, .notfound-block {text-align:center!important;}

/* Editorial section composition: centered content with readable measure. */
.introduction-grid, .approach-top, .location-inner, .faq-inner {
  grid-template-columns: minmax(0,1fr) !important;
  gap:26px !important;
  justify-items:center;
}
.introduction-grid {margin-bottom:52px}
.introduction-grid h2, .section-intro-side p, .approach h2,
.approach-top p, .location h2, .location-right>p,
.faq-intro>p, .advantages-heading h2 {max-width:860px;margin-left:auto;margin-right:auto;}
.introduction-grid h2 {margin-bottom:12px;}
.approach-top p {max-width:665px;}
.about-content h2, .about-content p {margin-left:auto;margin-right:auto;}
.advantages-heading, .location-left, .faq-intro {justify-self:center;}
.pain-card p, .advantage-card p, .approach-step p {margin-left:auto;margin-right:auto;}
.approach-step {position:relative;grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px;}
.step-marker {margin:0 auto 8px;}
.approach-step>div {width:100%;}
.approach-step .step-visual {display:none;}
.approach-footer {justify-content:center;flex-wrap:wrap;}
.approach-footer>span {width:100%;text-align:center;}
.location-tags, .hero-actions, .faq-help {justify-content:center;}
.location-right {padding-top:0;}
.about-name {align-items:center;}
.about-content .text-cta, .location-right .text-cta {justify-content:center;}
.about-content {text-align:center;}
.faq-inner {gap:45px!important;}
.faq-intro {position:static;}
.faq-intro p {max-width:590px;}
.faq-questions {width:100%;max-width:940px;}
.faq-item summary {position:relative;justify-content:center;padding-left:43px;padding-right:43px;min-height:83px;}
.faq-toggle {position:absolute;right:3px;top:50%;transform:translateY(-50%);}
.faq-item>p {max-width:800px;padding:0 20px 26px;margin:0 auto;}
.faq-help {flex-direction:column;align-items:center;}
.faq-help a {justify-content:center;}

/* Buttons and supporting text are centered as well. */
.btn, .header-contact, .mobile-menu-cta, .text-cta,
.booking-submit-button, .booking-jump-cta, .booking-modal-bottom,
.legal-footer-top>a {justify-content:center;text-align:center;}
.desktop-nav a, .mobile-menu a, .legal-links a, .legal-links button {text-align:center;}
.footer-main {flex-direction:column;gap:30px;}
.footer-brand>div, .footer-contact {align-items:center;}
.footer-brand>div>img {margin:0 auto;}
.footer-bottom {flex-direction:column;align-items:center;gap:14px;}
.legal-links {justify-content:center;}
.legal-footer-top {justify-content:center;flex-wrap:wrap;}
.legal-footer-top>img {margin-left:auto;margin-right:auto;}
.legal-main .legal-table>div {justify-items:center;}
.legal-main .legal-wrap {margin-left:auto;margin-right:auto;}
.legal-main ul, .legal-main ol {list-style-position:inside;padding-left:0;}
.notfound-actions {justify-content:center;}
.cookie-actions,.cookie-panel-actions {justify-content:center;}
.cookie-category {flex-direction:column;gap:13px;}
.cookie-category>div:first-child {align-items:center;}
.cookie-panel-head {justify-content:center;}
.cookie-close {position:absolute;right:18px;top:18px;}
.cookie-panel {position:fixed;}

/* Form elements retain their interactions, with centered field copy. */
.booking-heading, .booking-heading>p, .booking-field>span,
.booking-fields, .booking-standalone-intro, .booking-modal-body>.booking-heading,
.booking-modal-body>.booking-form {text-align:center;}
.booking-field input, .booking-field select {text-align:center;text-align-last:center;}
.booking-chips {justify-content:center;}
.booking-consent {align-items:center;justify-content:center;}
.booking-consent span {text-align:center;}
.booking-modal-body>.booking-heading {align-items:center;}
.booking-modal-bottom {align-items:center;}
.booking-submit-button {gap:12px;}
.booking-standalone-intro h1, .booking-standalone-form .booking-heading h2,
.booking-standalone-intro>p {margin-left:auto;margin-right:auto;}

/* Desktop keeps approved V11 hero photography and tonal system. */
.homepage .hero-copy {text-align:center;}
.homepage .hero-description {margin-left:auto;margin-right:auto;}
.homepage .hero-actions {justify-content:center;}
.homepage .hero-assurance {text-align:center;}
.hero-mobile-portrait {display:none;}
.logo-mobile {display:none!important;}

@media(max-width:750px) {
  /* Restore original mobile experience: light canvas, text, CTA, portrait below. */
  .homepage {background:#faf8f4;}
  .homepage .site-header, .homepage .site-header.is-scrolled {
    position:relative;inset:auto;background:#fcfaf6;border-color:#e8e0d7;
    box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  .homepage .header-inner {position:relative;height:64px;min-height:64px;justify-content:center;}
  .homepage .brand {margin:0 auto;}
  .homepage .brand-text>img.logo-desktop {display:none!important;}
  .homepage .brand-text>img.logo-mobile {display:block!important;width:clamp(172px,49vw,213px);height:auto;}
  .homepage .brand-line {color:#6b4b35;font-size:6.7px;}
  .homepage .mobile-menu-button {
    position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;
    border-color:rgba(84,42,16,.3);color:#542a10;
  }
  .homepage .mobile-menu-button span {background:#542a10;}
  .homepage .mobile-menu {background:#fcfaf6;border-color:#e4d8ca;}
  .homepage .mobile-menu a {color:#542a10;border-color:#e4d8ca;text-align:center;}
  .homepage .mobile-menu .mobile-menu-cta {color:white;}

  .homepage .hero {
    background:#fcfaf6 !important;
    background-image:none!important;
    min-height:0!important;
    overflow:hidden;
    color:#542a10;
  }
  .homepage .hero::before,.homepage .hero::after {content:none!important;display:none!important;}
  .homepage .hero-background-image {display:none!important;}
  .homepage .hero-container {
    position:relative;display:flex;flex-direction:column;align-items:stretch;
    width:calc(100% - 36px);min-height:0!important;padding:24px 0 0!important;
  }
  .homepage .hero-copy {
    width:100%;max-width:600px;margin:0 auto;min-width:0;
    padding:0!important;align-self:auto;
    background:transparent!important;box-shadow:none!important;
  }
  .homepage .hero-copy::before {content:none!important;display:none!important;}
  .homepage .hero-eyebrow {
    color:#86603f;font-size:9px;letter-spacing:.095em;line-height:1.45;
    margin:0 0 10px;text-align:center;
  }
  .homepage .hero h1 {
    color:#542a10;font-size:clamp(31px,7.5vw,45px);line-height:1.045;
    letter-spacing:-.05em;margin:0 auto 12px;max-width:620px;text-wrap:balance;
  }
  .homepage .hero h1 em {color:#9b7144;}
  .homepage .hero-description {
    color:#77695d;font-size:clamp(12.5px,3.15vw,15px);line-height:1.5;
    max-width:490px;margin:0 auto 17px;
  }
  .homepage .hero-actions {display:flex;flex-direction:column;gap:9px;align-items:center;}
  .homepage .hero-actions .btn {
    display:flex;min-height:50px;width:min(100%,370px);font-size:10px;
    padding:12px 17px;justify-content:center;
  }
  .homepage .hero-assurance {color:#796656;font-size:11px;line-height:1.35;}
  .homepage .hero-identification {margin-top:11px;justify-content:center;}
  .homepage .hero-signature {color:#745e4e;font-size:10px;}
  .hero-mobile-portrait {
    display:block;margin:21px auto 0;width:min(100%,620px);height:auto;
    overflow:hidden;border-radius:3px;background:#41291f;
    box-shadow:0 18px 45px rgba(61,37,24,.11);
  }
  .hero-mobile-portrait img {display:block;width:100%;height:370px;object-fit:cover;object-position:center 22%;}
  .homepage .hero {padding-bottom:27px;}
  .homepage .hero h1,.homepage .hero-copy {text-align:center;}
  .homepage .hero-visual,.homepage .hero-frame,.homepage .hero-image {display:none!important;}
  .section-pad {padding-top:70px;padding-bottom:70px;}
  .introduction-grid {margin-bottom:32px;}
  .approach-top {margin-bottom:32px;}
  .faq-inner {gap:28px!important;}
  .faq-help {align-items:center;}
  .booking-modal-body>.booking-heading,.booking-modal-body>.booking-form {padding-left:22px;padding-right:22px;}
  .booking-consent {align-items:center;}
}
@media(max-width:430px) {
  .homepage .hero-container {width:calc(100% - 32px);padding-top:19px!important;}
  .homepage .hero h1 {font-size:clamp(29px,7.7vw,34px);}
  .homepage .hero-description {font-size:12.6px;line-height:1.46;margin-bottom:13px;}
  .homepage .hero-eyebrow {font-size:8.2px;margin-bottom:8px;}
  .homepage .hero-actions .btn {min-height:48px;}
  .hero-mobile-portrait {margin-top:16px;}
  .hero-mobile-portrait img {height:340px;}
}
@media(max-width:350px) {
  .homepage .brand-text>img.logo-mobile{width:162px;}
  .homepage .hero h1 {font-size:28px;}
  .homepage .hero-description {font-size:12px;line-height:1.41;}
  .homepage .hero-container {padding-top:15px!important;}
  .hero-mobile-portrait img {height:300px;}
}
