/* ============================================
   IKIGAI: Consultório de Terapia Integrativa
   Design system
   ============================================ */



:root {
    /* Paleta, inspirada em tinta sumi-e, âmbar dos florais, musgo e ameixa.
     Deliberadamente longe do bege+terracota padrão de IA. */
  --ink: #24261f;
    /* quase-preto esverdeado, para texto */
  --ink-soft: #4a4d3f;
    /* texto secundário */
  --paper: #FFf;
    /* marfim quente, não-bege-cinza */
  --paper-deep: #14090D;
    /* marfim mais denso, para blocos */
  --moss: #445841;
    /* verde musgo profundo */
  --moss-deep: #1C1630;
    /* verde quase-preto */
  --plum: #6b3a4a;
    /* ameixa suave, acento quente */
  --amber: #240640;
    /* âmbar, vidro dos florais de Bach */
  --amber-soft: #e0b667;
    /* âmbar claro para hovers */
  --line: rgba(36,38,31,0.14);
    /* linhas divisórias sutis */

  --serif: 'Bodoni Moda', Georgia, serif;
    --sans: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    --container: 1180px;
}* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}html {
    scroll-behavior:smooth;
}body {
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    font-weight:400;
    line-height:1.6;
    font-size:17px;
    -webkit-font-smoothing:antialiased;
}img {
    max-width:100%;
    display:block;
}a {
    color:inherit;
    text-decoration:none;
}ul {
    list-style:none;
}button {
    font-family:inherit;
    cursor:pointer;
    border:none;
    background:none;
}.wrap {
    max-width:var(--container);
    margin:0 auto;
    padding:0 10px;
}h1,h2,h3,h4 {
    font-family:var(--serif);
    font-weight:500;
    color:var(--moss-deep);
    line-height:1.15;
    letter-spacing:-0.01em;
}h1 {
    font-size:clamp(2.6rem, 5vw, 4.4rem);
    font-weight:400;
}h2 {
    font-size:clamp(2rem, 3.4vw, 3rem);
}h3 {
    font-size:1.5rem;
}p {
    color:var(--ink-soft);
}.eyebrow {
    font-family:var(--sans);
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--amber);
}/* ============ Visibilidade de Foco ============ */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline:2px solid var(--moss);
    outline-offset:3px;
}/* ============ Cabeçalho / Navegação ============ */
.site-header {
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(243,239,228,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
}.nav {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px 40px;
    max-width:var(--container);
    margin:0 auto;
}.logo {
    font-family:var(--serif);
    font-size:1.5rem;
    color:var(--moss-deep);
    display:flex;
    align-items:center;
    gap:10px;
}.logo .mark {
    width:22px;
    height:22px;
    position:relative;
    flex-shrink:0;
}.logo .mark svg {
    width:100%;
    height:100%;
}.nav-links {
    display:flex;
    align-items:center;
    gap:38px;
}.nav-links a {
    font-size:0.95rem;
    color:var(--ink-soft);
    position:relative;
    padding:4px 0;
    transition:color 0.2s ease;
    font-family: 'Outfit';
    font-weight: 200!important;
    transition: ease-in 0.2s;
}.nav-links a:hover {
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
    font-weight: 600!important;
}.nav-links a.active {
    color:var(--moss-deep);
    font-weight:600 !important;;
}.nav-links a.active::after {
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:-4px;
    height:2px;
    background:var(--amber);
}.nav-cta {
    font-size:0.9rem;
    font-weight:600;
    color:var(--paper) !important;
    background:var(--moss-deep);
    padding:11px 24px !important;
    transition:background 0.2s ease;
}.nav-cta:hover {
    background: #14090D !important;
    color: #A37746 !important;
}.nav-toggle {
    display:none;
    width:26px;
    height:20px;
    position:relative;
    flex-direction:column;
    justify-content:space-between;
}.nav-toggle span {
    display:block;
    height:2px;
    width:100%;
    background:var(--moss-deep);
    transition:transform 0.25s ease, opacity 0.25s ease;
}.nav-toggle.open span:nth-child(1) {
    transform:translateY(9px) rotate(45deg);
}.nav-toggle.open span:nth-child(2) {
    opacity:0;
}.nav-toggle.open span:nth-child(3) {
    transform:translateY(-9px) rotate(-45deg);
}/* ============ Botões ============ */
.btn {
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:0.95rem;
    font-weight:600;
    padding:15px 30px;
    transition:background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}.btn-primary {
    background:var(--moss-deep);
    color:var(--paper);
}.btn-primary:hover {
    background:var(--moss);
    transform:translateY(-1px);
}.btn-outline {
    background:none;
    color:var(--moss-deep);
    padding-left:0;
    padding-right:0;
    text-decoration:underline;
    text-decoration-color:var(--amber);
    text-decoration-thickness:2px;
    text-underline-offset:6px;
}.btn-outline:hover {
    color:var(--moss);
}.btn-amber {
    background:var(--amber);
    color:var(--moss-deep);
}.btn-amber:hover {
    background:var(--amber-soft);
}/* ============ Seções Genéricas ============ */
section {
    padding:110px 0;
}.section-tight {
    padding:70px 0;
}/* ============ Padrão de Assinatura: círculos sobrepostos (Ikigai) ============
   Dispositivo estrutural ligado ao conteúdo real: os quatro círculos sobrepostos
   do diagrama ikigai (paixão / missão / vocação / profissão), reutilizados
   silenciosamente pelo site como uma rima visual em vez de uma decoração. */
.circle-motif {
    position:relative;
    width:340px;
    height:340px;
}.circle-motif svg {
    width:100%;
    height:100%;
}/* ============ Rodapé ============ */
.site-footer {
    background:var(--moss-deep);
    color:var(--paper);
    padding:80px 0 30px;
}.footer-grid {
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:60px;
    padding-bottom:60px;
    border-bottom:1px solid rgba(243,239,228,0.14);
}.footer-brand {
    font-family:var(--serif);
    font-size:1.6rem;
    margin-bottom:16px;
}.footer-grid p {
    color:rgba(243,239,228,0.7);
}.footer-col h4 {
    color:var(--paper);
    font-family:var(--sans);
    font-size:0.85rem;
    text-transform:uppercase;
    letter-spacing:0.1em;
    font-weight:600;
    margin-bottom:18px;
}.footer-col a {
    display:block;
    color:rgba(243,239,228,0.75);
    padding:6px 0;
    font-size:0.95rem;
    transition:color 0.2s ease;
}.footer-col a:hover {
    color:var(--amber-soft);
}.footer-bottom {
    padding-top:26px;
    display:flex;
    justify-content:space-between;
    color:rgba(243,239,228,0.5);
    font-size:0.85rem;
    flex-wrap:wrap;
    gap:10px;
}/* ============ Detalhes/resumo das FAQ ============ */
details summary {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}details summary::-webkit-details-marker {
    display:none;
}details summary::after {
    content:'+';
    font-family:var(--serif);
    font-size:1.6rem;
    color:var(--amber-soft);
    flex-shrink:0;
    transition:transform 0.2s ease;
    line-height:1;
}details[open] summary::after {
    content:'−';
}/* ============ Utilitários ============ */
.text-center {
    text-align:center;
}.mt-16 {
    margin-top:16px;
}.mt-24 {
    margin-top:24px;
}.mt-40 {
    margin-top:40px;
}/* ============ Revelar ao rolar ============ */
.reveal {
    opacity:0;
    transform:translateY(18px);
    transition:opacity 0.7s ease, transform 0.7s ease;
}.reveal.in {
    opacity:1;
    transform:translateY(0);
}

@media (prefers-reduced-motion: reduce){.reveal {
    opacity:1;
    transform:none;
    transition:none;
}html {
    scroll-behavior:auto;
}
}

/* ============ Celular ============ */
@media (max-width: 900px){.wrap {
    padding:0 24px;
}.nav {
    padding:18px 24px;
}.nav-links {
    position:fixed;
    top:64px;
    left:0;
    right:0;
    background:var(--paper);
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:10px 24px 26px;
    border-bottom:1px solid var(--line);
    transform:translateY(-8px);
    opacity:0;
    pointer-events:none;
    transition:opacity 0.2s ease, transform 0.2s ease;
}.nav-links.open {
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}.nav-links a {
    padding:14px 0;
    width:100%;
    border-bottom:1px solid var(--line);
}.nav-links a.active::after {
    display:none;
}.nav-links .nav-cta {
    margin-top:16px;
    text-align:center;
    justify-content:center;
    width:100%;
}.nav-toggle {
    display:flex;
}section {
    padding:70px 0;
}.footer-grid {
    grid-template-columns:1fr;
    gap:36px;
}/* Qualquer grid de duas ou mais colunas vira coluna única no mobile,
     sobrepondo os estilos inline definidos para desktop */
  [style*="grid-template-columns"] {
    grid-template-columns:1fr !important;
}h1 {
    font-size:2.3rem;
}h2 {
    font-size:1.7rem;
}[style*="padding:56px"],
  [style*="padding:48px"],
  [style*="padding:44px"] {
    padding:30px !important;
}/* Card de valor em destaque (consultório): remove a borda lateral
     que só faz sentido lado a lado */
  [style*="border-left:1px solid rgba(243,239,228,0.2)"] {
    border-left:none !important;
    padding-left:0 !important;
    padding-top:24px !important;
    border-top:1px solid rgba(243,239,228,0.2);
}
}

@media (max-width: 640px){.btn {
    width:100%;
    justify-content:center;
}section > .wrap > div[style*="display:flex"][style*="gap:16px"] {
    flex-direction:column;
}
}/* ============================================================
   2026 refresh: layout editorial atmosférico
   Os tokens de cor originais são intencionalmente retidos; esta camada
   os reorganiza em uma composição mais imersiva, focada em celular.
   ============================================================ */
:root {
    --paper:#f7f5ef;
    --paper-deep:#141a20;
    --moss:#445841;
    --moss-deep:#1C1630;
    --plum:#6b3a4a;
    --amber:#240640;
    --amber-soft:#e0b667;
    --line:rgba(28,22,48,.14);
    --serif:'Bodoni Moda', Georgia, serif;
    --sans:'Outfit', Arial, sans-serif;
    --mono:'Outfit', Arial, sans-serif;
    --container:1240px;
}html,body {
    max-width:100%;
    overflow-x:hidden;
}body {
    background:var(--paper);
    font-family:var(--sans);
    font-size:16px;
    overflow-x:clip;
}main,section,.wrap,header,footer {
    max-width:100%;
}video,svg {
    max-width:100%;
}body::before {
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.24;
    z-index:999;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
}.wrap {
    padding:0 32px;
}h1,h2,h3,h4 {
    color:var(--moss-deep);
    font-family:var(--sans);
    letter-spacing:-.045em;
}h1 {
    font-size:clamp(3.25rem,7.1vw,7.25rem);
    line-height:.93;
    font-weight:500;
}h2 {
    font-size:clamp(2.35rem,4.6vw,4.7rem);
    line-height:.98;
}h3 {
    font-family:var(--sans);
    letter-spacing:-.035em;
}p {
    color:var(--ink-soft);
}.eyebrow,.hero-index,.scroll-cue {
    display:none!important;
}em,.is-scroll-copy {
    font-family:var(--serif);
    font-style:italic;
    font-weight:500;
}section {
    padding:140px 0;
    position:relative;
}.section-tight {
    padding:88px 0;
}/* Cabeçalho segue o enquadramento tranquilo e preciso das referências. */
.site-header {
    background:rgba(247,245,239,.76);
    border:none;
    backdrop-filter:blur(18px);
}.nav {
    max-width:none;
    padding:18px 40px;
}.logo {
    font-family:var(--sans);
    font-size:1rem;
    font-weight:700;
    letter-spacing:-.05em;
}.logo .mark {
    width:26px;
    height:26px;
}.nav-links {
    gap:25px;
}.nav-links a {
    font:500 .72rem/1 var(--mono);
    letter-spacing:.03em;
    color:var(--moss-deep);
}.nav-links a.active::after {
    height:1px;
    bottom:-7px;
    background:var(--plum);
}.nav-cta {
    padding:12px 17px;
    border-radius:999px;
    background:var(--moss-deep);
}.nav-toggle {
    width:38px;
    height:38px;
    border:1px solid var(--line);
    padding:10px;
    border-radius:50%;
}.nav-toggle span {
    height:1px;
}.btn {
    border-radius:999px;
    padding:16px 25px;
    font-size:.8rem;
    letter-spacing:.01em;
}.btn-primary {
    background:var(--moss-deep);
    box-shadow:0 10px 25px rgba(28,22,48,.13);
}.btn-outline {
    text-decoration:none;
    border:1px solid var(--line);
    padding:15px 25px;
}.btn-outline:hover {
    background:var(--moss-deep);
    color:var(--paper);
}.btn-amber {
    color:var(--paper);
}/* Início: uma composição centralizada e tranquila sobre a paisagem em movimento. */
.page-index .site-header {
    position:absolute;
    inset:0 0 auto;
    background:transparent;
    border:0;
    backdrop-filter:none;
}.page-index .logo,.page-index .nav-links a {
    color:rgba(255,255,255,.92);
}.page-index .nav-links a.active::after {
    background:rgba(255,255,255,.78);
}.page-index .nav-cta {
    color:var(--moss-deep)!important;
    background:rgba(255,255,255,.9);
}.page-index .nav-toggle {
    border-color:rgba(255,255,255,.5);
}.page-index .nav-toggle span {
    background:var(--paper);
}.home-hero {
    min-height:100svh;
    display:grid;
    align-items:center;
    isolation:isolate;
    overflow:hidden;
    padding:128px 0 76px;
    background:#720505;
}.hero-video,.hero-video-overlay {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}.hero-video {
    z-index:-2;
    object-fit:cover;
    object-position:center;
}.hero-video-overlay {
    z-index:-1;
    background:linear-gradient(180deg,rgba(6,10,22,.18) 0%,rgba(7,12,25,.5) 35%,rgba(7,12,25,.9) 70%,#080505 100%);
}.home-hero::before {
    content:'';
    position:absolute;
    inset:0;
    z-index:-1;
    background-image:radial-gradient(rgba(255,255,255,.72) .6px,transparent .7px);
    background-size:38px 38px;
    opacity:.3;
    mask-image:linear-gradient(to bottom,#000,transparent 58%);
    pointer-events:none;
}.home-hero::after {
    content:'';
    width:min(88vw,940px);
    height:1px;
    position:absolute;
    left:50%;
    bottom:58px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);
}.home-hero .wrap {
    width:100%;
    position:relative;
    z-index:1;
    display:block;
    text-align:center;
}.home-hero-copy {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-top:0;
    margin:0 auto;
}.home-hero h1 {
   font-family: 'Outfit'!important;
    margin-left:auto;
    margin-right:auto;
    color:var(--paper);
    width: 50%;
    font-weight: 100!important;
    font-style: normal!important;
    font-size:3.45rem;
    text-shadow:0 3px 30px rgba(0,0,0,.24);
}.home-hero h1 em {
   font-family:'Outfit'!important;
   font-weight: 300;
   font-style: normal!important;
   color:var(--paper)!important;
}.hero-lede {
    max-width:60vw;
    font-weight: 100;
    font-family: 'Outfit';
    margin-top: 5rem;
    color:rgba(255,255,255,.78)!important;
    font-size:1rem!important;
    text-align: center;

}.hero-actions {
    justify-content:center;
    margin-top:34px!important;
}.home-hero .btn-primary {
    color:var(--moss-deep);
    background:var(--paper);
    box-shadow:0 12px 30px rgba(0,0,0,.23);
}.home-hero .btn-outline {
    color:var(--paper);
    border-color:rgba(255,255,255,.44);
}.home-hero .btn-outline:hover {
    color:var(--moss-deep);
    background:var(--paper);
}.hero-aside {
    display:none;
}/* Caminhos de cuidado se tornam uma grade editorial em vez de cartões convencionais. */
.approach-grid {
    border:none!important;
    background:none!important;
    gap:0!important;
    margin-top:64px!important;
    grid-template-columns:repeat(4,1fr)!important;
}.approach-grid>div {
    padding:30px 28px 35px!important;
    background:transparent!important;
    border-left:1px solid var(--line);
    transition:background .35s ease,transform .35s ease;
}.approach-grid>div:first-child {
    border-left:0;
}.approach-grid>div:hover {
    background:rgba(255,255,255,.62)!important;
    transform:translateY(-8px);
}.approach-grid h3 {
    font-size:1.25rem!important;
}.quote-band {
    overflow:hidden;
    background:var(--moss-deep)!important;
}.quote-band::after {
    content:'ESCUTA';
    position:absolute;
    right:-.04em;
    bottom:-.38em;
    color:rgba(255,255,255,.04);
    font-size:clamp(7rem,21vw,22rem);
    font-weight:700;
    letter-spacing:-.12em;
}.quote-band .wrap {
    position:relative;
    z-index:1;
}/* Apenas as frases mais importantes respiram com a rolagem do leitor. */
.scroll-focus {
    opacity:.12;
    transform:translateY(28px);
    transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);
}.scroll-focus.is-active {
    opacity:1;
    transform:translateY(0);
}.cyntia-panel {
    overflow:hidden;
    background:linear-gradient(90deg,rgba(20,26,32,.96),rgba(20,26,32,.7)),url('https://images.unsplash.com/photo-1497250681960-ef046c08a56e?auto=format&fit=crop&w=1800&q=85') center/cover!important;
}.cyntia-panel .wrap {
    gap:clamp(2rem,9vw,10rem)!important;
}.cyntia-panel::before {
    content:'';
    position:absolute;
    left:7%;
    top:12%;
    width:34vw;
    height:34vw;
    max-width:450px;
    max-height:450px;
    border:1px solid rgba(224,182,103,.25);
    border-radius:50%;
}.cyntia-panel p {
    color:rgba(247,245,239,.72)!important;
}.cyntia-panel h2 {
    color:#A37746!important;
}.cyntia-panel .btn {
    color:#e0b667!important;
    border-color:rgba(224,182,103,.38);
}.floral-preview figure {
    overflow:hidden;
}.floral-preview img,.page-florals img {
    filter:saturate(.72) contrast(1.05);
    transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}.floral-preview figure:hover img,.page-florals figure:hover img {
    transform:scale(1.06);
    filter:saturate(1);
}.floral-preview figcaption {
    font-size:1.12rem;
}/* Páginas internas usam a sensação de painel emoldurado da referência #2. */
body:not(.page-index) main>section:first-child {
    padding:clamp(110px,16vh,190px) 0 75px!important;
    overflow:hidden;
    background:linear-gradient(135deg,#d9e9e8,#a9ceda);
}body:not(.page-index) main>section:first-child::before {
    content:'';
    position:absolute;
    inset:22px;
    border:1px solid rgba(28,22,48,.52);
    border-radius:30px;
    pointer-events:none;
}body:not(.page-index) main>section:first-child .wrap {
    position:relative;
    z-index:1;
}body:not(.page-index) main>section:first-child h1 {
    max-width:900px;
}body:not(.page-index) main>section:first-child p {
    max-width:680px;
    color:var(--moss-deep);
}body.page-florais-de-bach main>section:first-child {
    background:linear-gradient(135deg,#e4d7bd,#aebf9b);
}body.page-cyntia-mara main>section:first-child {
    background:linear-gradient(135deg,#e8d8d2,#d5e0dc);
}body.page-agendar main>section:first-child {
    background:linear-gradient(135deg,#d9e9e8,#dfc6cd);
}body.page-consultorio main>section:first-child {
    background:linear-gradient(135deg,#d6ddd0,#d8c9b9);
}body.page-florais-de-bach main>section:nth-of-type(3) {
    background:linear-gradient(110deg,rgba(20,26,32,.97),rgba(20,26,32,.76)),url('https://images.unsplash.com/photo-1490750967868-88aa4486c946?auto=format&fit=crop&w=1800&q=85') center/cover!important;
}/* Enquadramento de grade sutil para os painéis de conteúdo reutilizáveis em todas as páginas. */
main section [style*="background:var(--paper); padding"] {
    transition:transform .3s ease,box-shadow .3s ease;
}main section [style*="background:var(--paper); padding"]:hover {
    transform:translateY(-5px);
    box-shadow:0 18px 32px rgba(20,26,32,.07);
}main section[style*="background:var(--paper-deep)"] {
    overflow:hidden;
}main section[style*="background:var(--paper-deep)"] h2 {
    color:#e0b667!important;
}main section[style*="background:var(--paper-deep)"] p {
    color:rgba(247,245,239,.72)!important;
}main section[style*="background:var(--moss-deep)"] {
    overflow:hidden;
}main section[style*="background:var(--moss-deep)"]::before {
    content:'';
    position:absolute;
    width:34vw;
    height:34vw;
    border:1px solid rgba(224,182,103,.18);
    border-radius:50%;
    right:-11vw;
    top:-16vw;
}main section[style*="background:var(--moss-deep)"]>.wrap {
    position:relative;
    z-index:1;
}/* Um rastreador de progresso leve torna as páginas editoriais mais longas navegáveis. */
.scroll-progress {
    position:fixed;
    top:0;
    left:0;
    z-index:300;
    width:0;
    height:2px;
    background:var(--plum);
    transition:width .08s linear;
}.reveal {
    transform:translateY(28px);
    transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);
}.reveal.in {
    transform:translateY(0);
}.reveal-delay {
    transition-delay:.13s;
}

@media (max-width:900px){.wrap {
    padding:0 22px;
}.nav {
    padding:14px 22px;
}.nav-links {
    top:68px;
    left:12px;
    right:12px;
    padding:20px 24px 25px;
    background:rgba(222,238,239,.98);
    border:1px solid rgba(28,22,48,.55);
    border-radius:23px;
    box-shadow:0 20px 50px rgba(28,22,48,.16);
}.nav-links a {
    font:500 1.45rem/1.2 var(--sans);
    padding:14px 0;
    letter-spacing:-.05em;
}.nav-links .nav-cta {
    font-size:.8rem;
    padding:15px;
    margin-top:19px;
}.page-index .site-header {
    position:absolute;
}.page-index .nav-links {
    background:rgba(14,19,33,.96);
    border-color:rgba(255,255,255,.3);
}.page-index .nav-links a {
    color:var(--paper);
}.page-index .nav-links .nav-cta {
    color:var(--moss-deep)!important;
}.home-hero {
    min-height:100svh;
    padding:104px 0 72px;
}.home-hero .wrap {
    display:block;
}.home-hero-copy {
    padding-top:0;
}.home-hero h1 {
    max-width:620px;
}.approach-grid {
    grid-template-columns:1fr 1fr!important;
}.approach-grid>div:nth-child(3) {
    border-left:0;
}.cyntia-panel .wrap {
    gap:3rem!important;
}section {
    padding:88px 0;
}body:not(.page-index) main>section:first-child {
    padding:130px 0 65px!important;
}
}

@media (max-width:900px){.nav-links {
    left:auto;
    right:12px;
    width:min(calc(100vw - 24px),375px);
    transform:translateX(115%) rotate(2deg);
    transform-origin:top right;
    transition:opacity .28s ease,transform .55s cubic-bezier(.16,1,.3,1);
}.nav-links.open {
    transform:translateX(0) rotate(0);
}.nav-toggle.open {
    background:var(--moss-deep);
    border-color:var(--moss-deep);
}.nav-toggle.open span {
    background:var(--paper);
}
}

@media (max-width:640px){h1 {
    font-size:clamp(3rem,15.5vw,4.8rem);
}h2 {
    font-size:clamp(2.25rem,12vw,3.2rem);
}.hero-actions .btn {
    width:auto;
}.approach-grid {
    grid-template-columns:1fr!important;
}.approach-grid>div,.approach-grid>div:nth-child(3) {
    border-left:0;
    border-top:1px solid var(--line);
}.approach-grid>div:first-child {
    border-top:0;
}.home-hero::after {
    width:min(88vw,940px);
    height:1px;
    right:auto;
    bottom:34px;
}body:not(.page-index) main>section:first-child::before {
    inset:12px;
    border-radius:20px;
}.floral-preview {
    grid-template-columns:1fr!important;
    gap:35px!important;
}
}


/* ============================================================
   CORREÇÕES MOBILE — layouts inline sem classe
   ============================================================ */

/* Seção 2 do index: wrapper principal flex row → column */
@media (max-width: 900px) {

  /* Container externo da seção 2 (90vh, flex-direction:row) */
  section > div[style*="height: 90vh"] {
    height: auto !important;
    flex-direction: column !important;
    padding: 60px 0 !important;
  }

  /* Colunas 50% da seção 2 → 100% */
  section > div[style*="height: 90vh"] > div[style*="width: 50%"] {
    width: 100% !important;
    padding-left: 0 !important;
  }

  /* Texto parte2 → centraliza e aumenta espaçamento */
  .parte2-texto {
    width: 100% !important;
    align-items: center !important;
    text-align: center !important;
  }

  /* Título h1 gigante da seção 2 */
  section > div[style*="height: 90vh"] h1[style*="5.5rem"] {
    font-size: 2.8rem !important;
    line-height: 1.1 !important;
  }

  /* Botões da parte 2 → centraliza */
  .parte2-buttons {
    justify-content: center !important;
    flex-wrap: wrap !important;
  }

  /* "Outros Caminhos" título */
  div[style*="Outros Caminhos"],
  div > h1[style*="5.5rem"] {
    font-size: 2.5rem !important;
  }

  /* Cards "Outros Caminhos": altura/largura fixas → auto */
  div[style*="height: 450px"][style*="width: 400px"] {
    height: auto !important;
    width: 100% !important;
    padding: 32px 24px !important;
    min-height: 280px;
  }

  /* Container dos cards "Outros Caminhos" → column */
  div[style*="flex-direction: row"][style*="margin-top: 5%"][style*="width: 100%"] {
    flex-direction: column !important;
    gap: 24px !important;
  }

  /* Seção Florais de Beach (index) — top area */
  section > section[style*="height: 35%"] {
    flex-direction: column !important;
    height: auto !important;
    gap: 24px !important;
  }
  section > section[style*="height: 35%"] > div[style*="width: 60%"],
  section > section[style*="height: 35%"] > div[style*="width: 45%"] {
    width: 100% !important;
  }

  /* Seção Florais — grid row com 3 painéis */
  section > section[style*="height: 65%"] {
    flex-direction: column !important;
    height: auto !important;
    gap: 20px !important;
    padding-bottom: 40px !important;
  }
  section > section[style*="height: 65%"] > div[style*="width: 50%"],
  section > section[style*="height: 65%"] > div[style*="width: 25%"] {
    width: 100% !important;
    height: 300px !important;
    border-radius: 20px !important;
  }

  /* Seção branca (Instagram/Florais index) → altura auto */
  section[style*="height: 95vh"] {
    height: auto !important;
    border-radius: 30px 30px 0 0 !important;
    padding: 48px 0 40px !important;
  }

  /* cyntia-panel: grid de 2 colunas com gap 17rem → 1 coluna */
  .cyntia-panel .wrap[style*="grid-template-columns:0.85fr"] {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .cyntia-panel .wrap > div[aria-hidden="true"] {
    display: none !important;
  }

  /* hero da cyntia-mara e consultório: grid 2 col → 1 col */
  section > .wrap[style*="grid-template-columns:0.85fr 1.15fr"],
  section > .wrap[style*="grid-template-columns:0.9fr 1.1fr"],
  section > .wrap[style*="grid-template-columns:1.1fr 0.9fr"],
  section > .wrap[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Remove padding-top excessivo em coluna lateral no mobile */
  section .wrap > div[style*="padding-top:60px"] {
    padding-top: 0 !important;
  }

  /* Cards de vantagens florais: 2col → 1col */
  div[style*="grid-template-columns:repeat(2,1fr)"][style*="gap:44px"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  /* home-hero h1: ajusta largura para mobile */
  .home-hero h1 {
    width: 90% !important;
    font-size: 2.2rem !important;
  }

  /* hero-lede: max-width para mobile */
  .hero-lede {
    max-width: 90vw !important;
  }

  /* Bloco de valor R$150 no consultório: remove padding fixo */
  div[style*="padding:56px"][style*="grid-template-columns:auto 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 32px 24px !important;
  }

  /* Borda esquerda do bloco de valor */
  div[style*="border-left:1px solid rgba(243,239,228,0.2)"] {
    border-left: none !important;
    border-top: 1px solid rgba(243,239,228,0.2) !important;
    padding-left: 0 !important;
    padding-top: 20px !important;
  }

  /* Seção de agendamento: 2 cards → 1 coluna */
  .wrap[style*="grid-template-columns:1fr 1fr"][style*="max-width:900px"] {
    grid-template-columns: 1fr !important;
  }

  /* Padding nos cards de agendamento */
  a[style*="padding:44px"][style*="background:var(--moss-deep)"],
  a[style*="padding:44px"][style*="background:var(--paper-deep)"] {
    padding: 32px 24px !important;
  }

  /* Resumo agendar: padding excessivo */
  div[style*="padding:48px"][style*="border:1px solid var(--line)"] {
    padding: 28px 20px !important;
  }

  /* Seção de "Como funciona": 3col → 1col */
  div[style*="grid-template-columns:repeat(3,1fr)"][style*="gap:50px"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Seção 2 (fundo preto) */
  .parte2-section {
    padding: 60px 0 !important;
  }
  .parte2-section > div:first-child {
    height: auto !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 0 22px !important;
    gap: 32px !important;
  }
  .parte2-section .parte2-texto {
    width: 100% !important;
    text-align: center !important;
    align-items: center !important;
  }
  .parte2-section > div:last-child {
    width: 100% !important;
    padding: 0 22px !important;
  }
}

@media (max-width: 640px) {
  /* Título da seção 2 ainda menor */
  section > div[style*="height: 90vh"] h1[style*="5.5rem"] {
    font-size: 2rem !important;
  }

  /* "Outros Caminhos" título menor */
  h1[style*="5.5rem"][style*="color: #fff"] {
    font-size: 2rem !important;
  }

  /* Tags da seção 2: wrap */
  div[style*="flex-direction: row"][style*="gap: 20px"] {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  /* home-hero h1 mais pequeno */
  .home-hero h1 {
    font-size: 1.9rem !important;
  }
}

/* Cards extras da seção Florais (index) — evita overflow */
.floral-card-extra {
  overflow: hidden;
}
.floral-card-extra h3 {
  font-family: 'Outfit', sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 300 !important;
  color: #fff !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}
.floral-card-extra p {
  color: rgba(243,239,228,0.65) !important;
  font-size: 0.73rem !important;
  font-weight: 100 !important;
  line-height: 1.65 !important;
}

@media (max-width: 900px) {
  .floral-card-extra {
    width: 100% !important;
    height: auto !important;
    min-height: 180px !important;
    border-radius: 20px !important;
  }
}

/* ============================================
   MODAL DE AVALIAÇÃO / FEEDBACK (CYNTIA)
   ============================================ */
.ikigai-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(20, 9, 13, 0.68);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.32s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.32s cubic-bezier(0.16, 1, 0.3, 1);
}

.ikigai-modal-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.ikigai-modal-box {
  background: #ffffff;
  color: var(--ink, #24261f);
  width: 100%;
  max-width: 520px;
  border-radius: 26px;
  padding: 40px 34px 34px;
  box-shadow: 0 28px 70px rgba(20, 9, 13, 0.32);
  position: relative;
  transform: translateY(22px) scale(0.95);
  transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
  font-family: var(--sans, 'Outfit', -apple-system, sans-serif);
  border: 1px solid rgba(36, 38, 31, 0.08);
}

.ikigai-modal-backdrop.is-open .ikigai-modal-box {
  transform: translateY(0) scale(1);
}

.ikigai-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  background: rgba(36, 38, 31, 0.06);
  color: var(--ink-soft, #4a4d3f);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
  padding: 0;
  z-index: 2;
}

.ikigai-modal-close:hover {
  background: rgba(36, 38, 31, 0.12);
  color: var(--ink, #24261f);
  transform: scale(1.06);
}

.ikigai-modal-title {
  font-family: var(--serif, 'Bodoni Moda', Georgia, serif);
  font-size: 1.5rem;
  line-height: 1.25;
  color: var(--ink, #24261f);
  margin: 0 0 6px 0;
  font-weight: 600;
  padding-right: 32px;
}

.ikigai-modal-subtitle {
  font-size: 0.95rem;
  color: var(--ink-soft, #4a4d3f);
  margin: 0 0 18px 0;
  line-height: 1.4;
}

.ikigai-rating-section {
  margin-bottom: 22px;
}

.ikigai-rating-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: center;
  padding: 4px;
  border-radius: 14px;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.ikigai-rating-grid.ikigai-input-error {
  outline: 2px solid #c92a2a;
  outline-offset: 2px;
}

.ikigai-rating-btn {
  flex: 1 1 34px;
  max-width: 44px;
  min-width: 32px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid var(--line, rgba(36, 38, 31, 0.18));
  background: #fbfbfa;
  color: var(--ink, #24261f);
  font-family: var(--sans, 'Outfit', sans-serif);
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.18s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.ikigai-rating-btn:hover {
  border-color: var(--moss, #445841);
  background: rgba(68, 88, 65, 0.1);
  color: var(--moss-deep, #1C1630);
  transform: translateY(-1px);
}

.ikigai-rating-btn.is-selected {
  background: var(--moss-deep, #1C1630) !important;
  color: #ffffff !important;
  border-color: var(--moss-deep, #1C1630) !important;
  box-shadow: 0 4px 14px rgba(28, 22, 48, 0.26);
  transform: scale(1.05);
}

.ikigai-tip-section {
  margin-bottom: 18px;
}

.ikigai-tip-intro {
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--ink, #24261f);
  margin: 0 0 8px 0;
  line-height: 1.45;
}

.ikigai-tip-input {
  width: 100%;
  height: 48px;
  padding: 0 16px;
  border: 1.5px solid var(--line, rgba(36, 38, 31, 0.2));
  border-radius: 12px;
  background: #ffffff;
  font-family: var(--sans, 'Outfit', sans-serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ink, #24261f);
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ikigai-tip-input::placeholder {
  color: #9ea194;
  font-weight: 400;
  font-size: 0.95rem;
}

.ikigai-tip-input:focus {
  outline: none;
  border-color: var(--moss, #445841);
  box-shadow: 0 0 0 3.5px rgba(68, 88, 65, 0.15);
}

.ikigai-tip-input.ikigai-input-error {
  border-color: #c92a2a !important;
  box-shadow: 0 0 0 3.5px rgba(201, 42, 42, 0.15) !important;
}

.ikigai-error-msg {
  color: #c92a2a;
  font-size: 0.82rem;
  font-weight: 500;
  margin-top: 6px;
  line-height: 1.35;
}

.ikigai-confirm-text {
  font-size: 0.88rem;
  color: var(--ink-soft, #4a4d3f);
  text-align: center;
  margin: 0 0 16px 0;
  line-height: 1.45;
}

.ikigai-submit-btn {
  width: 100%;
  height: 52px;
  border-radius: 999px;
  background: var(--moss-deep, #1C1630);
  color: #ffffff;
  font-family: var(--sans, 'Outfit', sans-serif);
  font-size: 0.96rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  letter-spacing: 0.02em;
  box-shadow: 0 10px 25px rgba(28, 22, 48, 0.2);
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ikigai-submit-btn:hover {
  background: var(--moss, #445841);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(28, 22, 48, 0.28);
}

.ikigai-submit-btn:active {
  transform: translateY(0);
}

.ikigai-modal-success {
  text-align: center;
  padding: 24px 10px;
}

.ikigai-success-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(68, 88, 65, 0.12);
  color: var(--moss, #445841);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin: 0 auto 18px;
  font-weight: bold;
}

.ikigai-modal-success h4 {
  font-family: var(--serif, 'Bodoni Moda', Georgia, serif);
  font-size: 1.45rem;
  color: var(--ink, #24261f);
  margin-bottom: 8px;
  font-weight: 600;
}

.ikigai-modal-success p {
  color: var(--ink-soft, #4a4d3f);
  font-size: 0.96rem;
  line-height: 1.45;
}

@media (max-width: 520px) {
  .ikigai-modal-box {
    padding: 32px 20px 24px;
    border-radius: 22px;
  }
  .ikigai-modal-title {
    font-size: 1.25rem;
  }
  .ikigai-rating-btn {
    min-width: 28px;
    height: 38px;
    font-size: 0.82rem;
  }
}
