/* Refinamentos de legibilidade e presença visual — carregado após app.css */

/* Tipografia miúda: preservar a delicadeza da skin sem sacrificar leitura. */
.garden-eyebrow,
.section-kicker,
.form-kicker {
    font-size: 11px;
}

.hero-lede {
    font-size: 16px;
    line-height: 1.78;
}

.hero-note {
    font-size: 11px;
}

.visual-caption {
    font-size: 10px;
}

.signal-inner {
    font-size: 11px;
}

.start-copy > p,
.philosophy-grid > div {
    font-size: 15px;
}

.dimension-list {
    font-size: 13px;
    line-height: 1.45;
}

.start-form > p,
.question-help {
    font-size: 14px;
}

.start-form label {
    font-size: 13px;
}

input[type="text"],
input[type="email"],
textarea {
    font-size: 14px;
}

.form-note,
.journey-count,
.scale-legend,
.journey-footer > span {
    font-size: 11px;
}

.principle-card p {
    font-size: 13px;
}

.site-footer,
.footer-note {
    font-size: 11px;
}

/* CTA principal: um pouco mais presente e confortável no toque. */
.button {
    min-height: 46px;
    padding: 15px 20px;
    font-size: 13px;
}

.start-form .button.primary {
    min-height: 50px;
    margin-top: 16px;
    letter-spacing: .005em;
}

/* O diagrama é o símbolo central da home: ganha um pouco mais de presença. */
@media (min-width: 1100px) {
    .hero-visual { height: 535px; }
    .orbit-circle { width: 264px; height: 264px; font-size: 14px; }
    .orbit-top { top: 0; }
    .orbit-left { top: 136px; left: 9%; }
    .orbit-right { top: 136px; right: 9%; }
    .orbit-bottom { bottom: -2px; }
    .orbit-center { width: 152px; height: 152px; }
    .orbit-center small { font-size: 15px; }
    .orbit-center span { font-size: 30px; }
}

/* Tablet: ampliar sem deixar o conjunto encostar nas bordas. */
@media (min-width: 821px) and (max-width: 1099px) {
    .garden-hero-inner { grid-template-columns: .92fr 1.08fr; gap: 22px; }
    .hero-visual { height: 500px; }
    .orbit-circle { width: 250px; height: 250px; font-size: 13.5px; }
    .orbit-left { left: 7%; }
    .orbit-right { right: 7%; }
    .orbit-center { width: 148px; height: 148px; }
}

/* Em telas pequenas, a prioridade passa a ser leitura e toque. */
@media (max-width: 820px) {
    .hero-lede,
    .start-copy > p,
    .philosophy-grid > div { font-size: 15px; }

    .start-form > p,
    .question-help { font-size: 14px; }

    .dimension-list,
    .start-form label,
    .principle-card p { font-size: 13px; }

    .button,
    .start-form .button.primary { min-height: 50px; font-size: 13px; }
}

/* Hipótese inicial de Ikigai — transformar o resultado em direção, não apenas nota. */
.ikigai-hypothesis-section{
    background:var(--plum-dark);
    color:#fffaf2;
    padding:88px max(38px,calc((100vw - 1164px)/2));
}
.hypothesis-kicker{
    color:#d8bec3;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:10px;
    font-weight:700;
    margin-bottom:26px;
}
.hypothesis-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:70px;
    align-items:start;
}
.hypothesis-main h2{
    font-family:"Playfair Display",Georgia,serif;
    font-size:clamp(42px,5.4vw,70px);
    font-weight:500;
    line-height:1.02;
    letter-spacing:-.055em;
    margin:0 0 24px;
    color:#fffaf2;
}
.hypothesis-main>p{
    color:#ddd4dd;
    font-size:15px;
    line-height:1.82;
    max-width:690px;
}
.hypothesis-main .hypothesis-essence{
    font-family:"Playfair Display",Georgia,serif;
    font-style:italic;
    font-size:23px;
    line-height:1.45;
    color:#f0d7d1;
}
.hypothesis-evidence{
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.055);
    padding:28px 30px;
    border-radius:7px;
}
.hypothesis-evidence .section-kicker{color:#d8bec3}
.hypothesis-evidence ul{
    margin:20px 0 0;
    padding:0;
    list-style:none;
    display:grid;
    gap:14px;
}
.hypothesis-evidence li{
    position:relative;
    padding-left:20px;
    color:#e4dde4;
    font-size:13px;
    line-height:1.65;
}
.hypothesis-evidence li::before{
    content:"✦";
    position:absolute;
    left:0;
    color:var(--coral);
}
.hypothesis-expressions{
    margin-top:56px;
    padding-top:34px;
    border-top:1px solid rgba(255,255,255,.12);
}
.hypothesis-expressions .section-kicker{color:#d8bec3}
.expression-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:20px;
}
.expression-grid article{
    min-height:150px;
    border-radius:6px;
    padding:24px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.1);
}
.expression-grid small{
    color:#d9bdc2;
    letter-spacing:.12em;
}
.expression-grid p{
    margin:28px 0 0;
    font-family:"Playfair Display",Georgia,serif;
    font-size:21px;
    line-height:1.3;
    color:#fffaf2;
}
.hypothesis-question{
    margin-top:34px;
    background:#efe0dc;
    color:var(--plum);
    padding:28px 32px;
    border-radius:6px;
}
.hypothesis-question>span{
    display:block;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:9px;
    font-weight:700;
    color:#946966;
}
.hypothesis-question blockquote{
    margin:10px 0 0;
    font-family:"Playfair Display",Georgia,serif;
    font-style:italic;
    font-size:27px;
    line-height:1.35;
}
.hypothesis-note{
    margin:22px 0 0;
    color:#cfc6d0;
    font-size:11px;
    line-height:1.6;
    max-width:780px;
}

/* Diagnóstico Completo — oferta e relatório pago */
.paid-diagnostic-section{
    max-width:1164px;
    margin:0 auto;
    padding:96px 38px;
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    gap:72px;
    align-items:start;
}
.paid-diagnostic-copy h2,
.paid-diagnostic-card h3,
.diagnostic-report-hero h1,
.diagnostic-report-section h2,
.diagnostic-paths-section h2,
.diagnostic-experiments-section h2,
.diagnostic-closing-section blockquote{
    font-family:"Playfair Display",Georgia,serif;
    color:var(--plum);
    font-weight:500;
    letter-spacing:-.045em;
}
.paid-diagnostic-copy h2{font-size:clamp(38px,4.5vw,58px);line-height:1.04;margin:16px 0 22px}
.paid-diagnostic-copy>p{font-size:15px;line-height:1.82;color:var(--ink-soft);max-width:520px}
.diagnostic-benefits{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px;color:#62596a;font-size:14px}
.diagnostic-benefits li{position:relative;padding-left:24px}
.diagnostic-benefits li::before{content:"✦";position:absolute;left:0;color:#a56b67}
.paid-diagnostic-card{background:var(--paper);border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);padding:36px 40px}
.paid-diagnostic-card label{display:block;margin:17px 0;color:var(--plum);font-size:13px;font-weight:700}
.paid-diagnostic-card label>span{font-weight:400;color:#918894}
.paid-badge{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700;color:#8b6466;margin-bottom:20px}
.price-line{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}
.price-line small{color:#8c848e;text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.price-line strong{font-family:"Playfair Display",Georgia,serif;color:var(--plum);font-size:34px;font-weight:500}
.consent-row{display:grid!important;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-weight:400!important;line-height:1.55;color:#716974!important}
.consent-row input{margin-top:4px}
.consent-row span{color:#716974!important}
.payment-note{display:block;text-align:center;color:#928a92;font-size:10px;line-height:1.45;margin-top:12px}
.diagnostic-notice{grid-column:1/-1;padding:14px 16px;border-radius:4px;background:#e9f1ed;color:#3f6458;font-size:13px}
.diagnostic-error{background:#fff0ed;color:#8e3f37}
.processing-card{background:#f1eef4}
.processing-dot{display:block;width:12px;height:12px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 8px rgba(232,162,145,.18);margin-bottom:24px}
.ready-card{background:#edf4f1}

.diagnostic-report-hero{max-width:1164px;margin:0 auto;padding:82px 38px 68px;display:grid;grid-template-columns:1fr 280px;gap:70px;align-items:center}
.diagnostic-report-hero h1{font-size:clamp(48px,6vw,76px);line-height:1;margin:14px 0 20px}
.diagnostic-report-hero>div>p{max-width:720px;color:var(--ink-soft);font-size:17px;line-height:1.75}
.diagnostic-status-card{min-height:260px;border-radius:50%;background:var(--plum);color:#fffaf2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}
.diagnostic-status-card span,.diagnostic-status-card small{text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:#d8cbd8}
.diagnostic-status-card strong{font-family:"Playfair Display",Georgia,serif;font-size:70px;font-weight:500;line-height:1;margin:12px 0}
.diagnostic-report-section{background:var(--paper);border:1px solid var(--line);padding:42px;border-radius:7px}
.diagnostic-summary{max-width:1088px;margin:0 auto 24px}
.diagnostic-report-section h2{font-size:36px;line-height:1.07;margin:15px 0 18px}
.diagnostic-report-section>p{font-size:15px;color:var(--ink-soft);line-height:1.8}
.diagnostic-two-column{max-width:1088px;margin:0 auto 24px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tone-coral{background:#f4d4cb}.tone-sage{background:#dcebe5}
.report-list{padding-left:20px;display:grid;gap:12px;color:#5f5764;line-height:1.65}
.diagnostic-paths-section{max-width:1164px;margin:60px auto 0;padding:0 38px}
.diagnostic-path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.diagnostic-path-card{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:30px;box-shadow:0 14px 35px rgba(51,39,69,.06)}
.diagnostic-path-card>span{font-size:10px;letter-spacing:.15em;color:#a36f6a}
.diagnostic-path-card h3{font-family:"Playfair Display",Georgia,serif;color:var(--plum);font-size:28px;line-height:1.05;font-weight:500}
.diagnostic-path-card p,.diagnostic-path-card li{font-size:13px;line-height:1.65;color:#675f6b}
.diagnostic-path-card h4{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#756b78;margin:24px 0 8px}
.diagnostic-experiments-section{margin-top:82px;background:var(--plum-dark);color:#fffaf2;padding:78px max(38px,calc((100vw - 1088px)/2))}
.diagnostic-experiments-section h2{color:#fffaf2;font-size:48px;line-height:1.02;margin:18px 0 32px}
.experiment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.experiment-grid article{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:28px;border-radius:6px}
.experiment-grid h3{font-family:"Playfair Display",Georgia,serif;font-size:26px;font-weight:500;margin-top:0}
.experiment-grid p{font-size:13px;line-height:1.65;color:#e2dbe1}
.experiment-grid small{color:#d7c3c8;text-transform:uppercase;letter-spacing:.08em}
.diagnostic-closing-section{max-width:900px;margin:0 auto;padding:90px 38px;text-align:center}
.diagnostic-closing-section blockquote{font-size:clamp(34px,5vw,56px);line-height:1.08;margin:24px auto;color:var(--plum)}
.diagnostic-closing-section p{font-size:15px;line-height:1.8;color:var(--ink-soft);max-width:680px;margin:0 auto 30px}

@media(max-width:820px){
    .hypothesis-grid{grid-template-columns:1fr;gap:28px}
    .ikigai-hypothesis-section{padding:58px 20px}
    .hypothesis-main h2{font-size:40px}
    .hypothesis-main .hypothesis-essence{font-size:20px}
    .hypothesis-evidence{padding:24px 22px}
    .expression-grid{grid-template-columns:1fr}
    .expression-grid article{min-height:auto}
    .hypothesis-question{padding:24px 22px}
    .hypothesis-question blockquote{font-size:23px}

    .paid-diagnostic-section,.diagnostic-report-hero,.diagnostic-two-column{grid-template-columns:1fr;gap:28px}
    .paid-diagnostic-section{padding:64px 20px}
    .paid-diagnostic-card{padding:28px 24px}
    .diagnostic-report-hero{padding:58px 20px 46px}
    .diagnostic-status-card{width:220px;min-height:220px;justify-self:center}
    .diagnostic-summary,.diagnostic-two-column{margin-left:20px;margin-right:20px}
    .diagnostic-paths-section{padding:0 20px}
    .diagnostic-path-grid,.experiment-grid{grid-template-columns:1fr}
    .diagnostic-experiments-section{padding:60px 20px}
    .diagnostic-experiments-section h2{font-size:38px}
}
