@charset "UTF-8";
:root { color-scheme: light; --ink:#1b2e27; --ink-soft:#53615b; --green:#c9ef79; --cream:#f4f1e8; --paper:#fffefa; --line:#d8ddd4; --lilac:#e8e1fb; --font:Inter,"Segoe UI",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font); font-size:16px; line-height:1.65; }
a { color:inherit; }
a:focus-visible,summary:focus-visible { outline:3px solid #7354d5; outline-offset:4px; }
.skip-link { position:fixed; z-index:20; left:1rem; top:-4rem; padding:.7rem 1rem; background:var(--green); color:var(--ink); border-radius:.5rem; }
.skip-link:focus { top:1rem; }
.site-header { width:min(1240px,calc(100% - 48px)); margin:auto; min-height:88px; display:flex; align-items:center; gap:2rem; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; text-decoration:none; flex-shrink:0; }
.brand-logo { display:block; width:170px; height:72px; object-fit:cover; object-position:center 55%; }
.desktop-nav { margin-left:auto; display:flex; align-items:center; gap:clamp(.8rem,2vw,1.6rem); }
.desktop-nav a,.mobile-nav nav a { font-size:.88rem; font-weight:600; text-decoration:none; }
.desktop-nav a:hover,.mobile-nav nav a:hover,.footer-bottom a:hover { color:#506c2c; }
.header-cta { padding:.72rem 1rem; border-radius:999px; background:var(--ink); color:white; text-decoration:none; font-size:.86rem; font-weight:650; white-space:nowrap; }
.header-cta span { color:var(--green); margin-left:.3rem; }
.mobile-nav { display:none; }
.page-hero { padding:3.5rem max(24px,calc((100vw - 1120px)/2)) 4rem; }
.page-hero-home { position:relative; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:2rem; align-items:center; min-height:510px; padding-top:4.2rem; padding-bottom:4.8rem; overflow:hidden; }
.page-hero-home::before { content:""; position:absolute; inset:0 0 0 48%; z-index:-1; background-image:radial-gradient(#d2d8c9 1px,transparent 1px); background-size:17px 17px; opacity:.5; mask-image:linear-gradient(90deg,transparent,#000 28%,#000 78%,transparent); }
.hero-copy { max-width:690px; }
.eyebrow { margin:0 0 .9rem; color:#526f35; font-size:.77rem; line-height:1.3; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:860px; margin-bottom:1.25rem; font-size:clamp(2.65rem,5.4vw,5.35rem); line-height:.99; letter-spacing:-.065em; font-weight:720; }
.page-hero:not(.page-hero-home) h1 { max-width:900px; font-size:clamp(2.55rem,5vw,4.4rem); }
.hero-intro { max-width:680px; margin:0; color:var(--ink-soft); font-size:clamp(1.06rem,1.7vw,1.28rem); line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.button { min-height:48px; padding:.78rem 1.15rem; display:inline-flex; justify-content:center; align-items:center; gap:.55rem; border:1px solid transparent; border-radius:999px; font-size:.9rem; font-weight:700; text-align:center; text-decoration:none; transition:transform .18s ease,background .18s ease; }
.button:hover { transform:translateY(-2px); }
.button-green,.button-light { background:var(--green); color:var(--ink); }
.button-dark { background:var(--ink); color:white; }
.button-outline { border-color:#aab5a9; color:var(--ink); background:transparent; }
.button-outline:hover { background:var(--paper); }
.hero-map { position:relative; width:min(100%,440px); justify-self:end; overflow:hidden; padding:1.35rem; border:1px solid #41574b; border-radius:1.45rem; background:var(--ink); color:white; box-shadow:0 24px 70px #19342c1c; }
.hero-map::before { content:""; display:block; height:4px; margin:-1.35rem -1.35rem 1.2rem; border-radius:1.45rem 1.45rem 0 0; background:linear-gradient(90deg,#63b8f1 0%,#d6efff 58%,#ffffff 100%); }
.hero-map-head { display:flex; justify-content:space-between; align-items:center; gap:.7rem; padding-bottom:1rem; border-bottom:1px solid #ffffff24; }
.hero-map-label,.hero-map-location { font-size:.63rem; line-height:1.3; font-weight:750; letter-spacing:.1em; }
.hero-map-label { color:var(--green); }
.hero-map-location { color:#c5d0c7; text-align:right; }
.hero-map-title { margin:1.25rem 0 1rem; font-size:1.4rem; line-height:1.15; font-weight:700; letter-spacing:-.04em; }
.hero-map-list { display:grid; gap:.55rem; }
.hero-map-row { min-height:66px; display:flex; align-items:center; gap:.8rem; padding:.7rem .8rem; border:1px solid #ffffff20; border-radius:.9rem; background:#ffffff09; }
.hero-map-number { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:var(--green); color:var(--ink); font-size:.67rem; font-weight:800; }
.map-number-lilac { background:#c8b8ff; }
.map-number-green { background:#a6d989; }
.hero-map-copy { min-width:0; flex:1; }
.hero-map-copy strong,.hero-map-copy small { display:block; }
.hero-map-copy strong { font-size:.86rem; }
.hero-map-copy small { margin-top:.12rem; color:#c5d0c7; font-size:.72rem; }
.hero-map-next { color:var(--green); font-size:1.05rem; }
.hero-map-diagnostic { display:flex; align-items:center; gap:.7rem; margin-top:.9rem; padding:.8rem .2rem 0; border-top:1px solid #ffffff24; }
.hero-map-diagnostic>span:first-child { color:#c5d0c7; font-size:.61rem; font-weight:750; letter-spacing:.08em; }
.hero-map-diagnostic strong { margin-left:auto; font-size:.78rem; }
.diagnostic-arrow { color:var(--green); font-size:1rem; }
.breadcrumbs { width:min(1120px,calc(100% - 48px)); margin:1.5rem auto 0; }
.breadcrumbs ol { display:flex; gap:.65rem; padding:0; margin:0; list-style:none; color:var(--ink-soft); font-size:.79rem; }
.breadcrumbs li+li::before { content:"/"; margin-right:.65rem; color:#97a096; }
.breadcrumbs a { text-decoration:none; }
.section { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:4.7rem 0; }
.section-intro { display:grid; grid-template-columns:.85fr 1.15fr; gap:3rem; align-items:end; border-top:1px solid var(--line); }
.section-heading { max-width:720px; margin-bottom:2rem; }
.section-heading h2,.section h2 { max-width:750px; margin-bottom:1rem; font-size:clamp(2rem,3.8vw,3.3rem); line-height:1.06; letter-spacing:-.055em; }
.section-heading>p:last-child,.section>p,.split-section p { color:var(--ink-soft); }
.lede { max-width:600px; margin:0; font-size:1.18rem; line-height:1.7; color:var(--ink-soft); }
.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.compact-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.service-card { min-height:255px; padding:1.65rem; display:flex; flex-direction:column; border:1px solid #dce0d7; border-radius:1.35rem; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
a.service-card:hover { transform:translateY(-4px); box-shadow:0 18px 35px #233a2c12; }
.card-green { background:#e3efcf; }
.card-cream { background:#fbf4df; }
.card-lilac { background:#eee9fb; }
.card-white { background:var(--paper); }
.card-number { margin-bottom:1.25rem; color:#637543; font-size:.77rem; font-weight:800; letter-spacing:.1em; }
.service-card h2,.service-card h3 { margin:0 0 .65rem; font-size:1.55rem; line-height:1.12; letter-spacing:-.045em; }
.service-card p { max-width:470px; margin:0 0 1.3rem; color:var(--ink-soft); font-size:.94rem; }
.text-link { margin-top:auto; color:var(--ink); font-size:.9rem; font-weight:750; text-decoration:none; }
.text-link:hover { color:#526f35; }
.split-section { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,6rem); align-items:center; }
.split-section>div:first-child { max-width:560px; }
.split-section h2 { font-size:clamp(2.1rem,4vw,3.4rem); }
.split-section p { line-height:1.8; }
.check-list { display:grid; gap:.75rem; padding:0; margin:1.6rem 0 0; list-style:none; }
.check-list li { position:relative; padding-left:1.7rem; color:var(--ink); }
.check-list li::before { content:"↗"; position:absolute; left:0; color:#5c7b31; font-weight:800; }
.flow-card { padding:1.5rem; border:1px solid #d6ddcf; border-radius:1.4rem; background:#eeeee4; }
.flow-label { margin-bottom:1rem; color:var(--ink-soft); font-size:.74rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.flow-step { display:flex; gap:.9rem; align-items:center; padding:.95rem; border:1px solid #dbe0d6; border-radius:.85rem; background:var(--paper); }
.flow-icon { width:40px; height:40px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:var(--green); font-size:.72rem; font-weight:800; }
.flow-icon-violet { background:var(--lilac); }
.flow-icon-dark { background:var(--ink); color:white; }
.flow-step strong,.flow-step small { display:block; }
.flow-step strong { font-size:.9rem; }
.flow-step small { color:var(--ink-soft); font-size:.78rem; }
.flow-connector { width:1px; height:17px; margin:0 0 0 1.7rem; background:#9da997; }
.flow-footnote { margin:1rem 0 0; color:var(--ink-soft); font-size:.72rem; }
.band-section { display:flex; justify-content:space-between; align-items:center; gap:2rem; border-top:1px solid var(--line); }
.band-section .section-heading { margin:0; }
.band-section .section-heading h2 { font-size:clamp(2rem,3.4vw,3rem); }
.home-cases .section-heading { margin-bottom:1.5rem; }
.case-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1.4rem; }
.case-preview { min-height:190px; padding:1.6rem; border:1px solid var(--line); border-radius:1.2rem; }
.case-preview-green { background:#e3efcf; }
.case-preview-lilac { background:#eee9fb; }
.case-preview h3 { margin-bottom:.65rem; font-size:1.35rem; line-height:1.15; letter-spacing:-.035em; }
.case-preview p:last-child { max-width:460px; margin:0; color:var(--ink-soft); }
.home-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-bottom:1.4rem; }
.home-process-grid article { padding-top:1.3rem; border-top:1px solid var(--line); }
.home-process-grid .step-number { margin-bottom:.8rem; }
.home-process-grid h3 { margin-bottom:.4rem; font-size:1.25rem; }
.home-process-grid p { max-width:330px; margin:0; color:var(--ink-soft); font-size:.94rem; }
.faq-section { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); gap:3rem; align-items:start; border-top:1px solid var(--line); }
.faq-section .section-heading { margin:0; }
.faq-list details { border-top:1px solid var(--line); }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.15rem 0; font-weight:700; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; flex:0 0 auto; color:#526f35; font-size:1.35rem; line-height:1; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { max-width:680px; margin:0 0 1.15rem; color:var(--ink-soft); }
.final-cta { width:100%; max-width:none; padding:4.5rem max(24px,calc((100vw - 1120px)/2)); display:flex; align-items:center; justify-content:space-between; gap:2rem; background:var(--ink); color:white; }
.final-cta>div { max-width:690px; }
.final-cta .eyebrow { color:var(--green); }
.final-cta h2 { margin-bottom:.8rem; }
.final-cta p:not(.eyebrow) { margin-bottom:0; color:#d3dbd2; }
.note-section { padding:3rem; border:1px solid var(--line); border-radius:1.4rem; background:#eeeee4; }
.note-section h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.note-section>p:not(.eyebrow) { max-width:760px; }
.note-section .button { margin-top:.5rem; }
.contact-context { display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,250px); gap:2rem; align-items:center; }
.contact-context>div { max-width:760px; }
.contact-context ul { margin:0 0 1rem; padding-left:1.25rem; color:var(--ink-soft); }
.context-hint { margin:0; padding:1.25rem; border-radius:1rem; background:var(--paper); color:var(--ink-soft); font-size:.9rem; }
.quote-panel { padding:2rem; border-radius:1.3rem; background:var(--green); }
.quote-mark { display:block; margin-bottom:.8rem; font-size:3rem; line-height:.8; }
.quote-panel p { color:var(--ink); font-size:1.45rem; font-weight:650; line-height:1.35; letter-spacing:-.03em; }
.quote-caption { color:#52614e; font-size:.8rem; font-weight:700; }
.three-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; border-top:1px solid var(--line); }
.three-steps article { padding-top:1.4rem; }
.step-number { display:inline-grid; place-items:center; width:38px; height:38px; margin-bottom:1rem; border:1px solid #b8c3b2; border-radius:50%; font-size:.76rem; font-weight:800; }
.three-steps h3 { margin-bottom:.4rem; font-size:1.25rem; }
.three-steps p { color:var(--ink-soft); font-size:.94rem; }
.agent-panel,.report-card { padding:1.4rem; border:1px solid #d9ded5; border-radius:1.3rem; background:var(--paper); box-shadow:0 16px 42px #19342c0c; }
.agent-top { padding-bottom:1rem; border-bottom:1px solid var(--line); font-size:.85rem; font-weight:700; }
.status-dot { display:inline-block; width:8px; height:8px; margin-right:.4rem; border-radius:50%; background:#74a54c; }
.chat-line { width:fit-content; max-width:85%; margin:1rem 0 .5rem auto; padding:.75rem .9rem; border-radius:1rem 1rem .2rem 1rem; background:#edf0ea; font-size:.88rem; }
.chat-answer { margin:.5rem auto 0 0; border-radius:1rem 1rem 1rem .2rem; background:var(--lilac); }
.agent-caption { margin-top:1.2rem; color:var(--ink-soft); font-size:.73rem; }
.mini-checklist { padding:1.25rem 1.6rem; border-radius:1rem; background:#e3efcf; }
.mini-checklist p { display:flex; gap:.8rem; align-items:center; margin:0; padding:.85rem 0; border-bottom:1px solid #c9d7b6; color:var(--ink); font-weight:650; }
.mini-checklist p:last-child { border:0; }
.mini-checklist span { color:#5c7b31; font-size:.72rem; font-weight:800; }
.report-card>span { color:#526f35; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.report-card h3 { margin:.9rem 0 1.5rem; font-size:1.35rem; }
.report-row { display:grid; gap:.55rem; }
.report-row i { display:block; height:10px; border-radius:999px; background:#e7ebdf; }
.report-row i:nth-child(1) { width:95%; background:#d8e7c4; }
.report-row i:nth-child(2) { width:70%; }
.report-row i:nth-child(3) { width:82%; background:#e4def6; }
.report-card small { display:block; margin-top:1.2rem; color:var(--ink-soft); font-size:.73rem; }
.case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.case-card { min-height:430px; padding:clamp(1.5rem,3vw,2.4rem); border-radius:1.35rem; }
.case-card-dark { background:var(--ink); color:white; }
.case-card-sand { background:#e3efcf; }
.case-card .eyebrow { margin-top:1.6rem; }
.case-card-dark .eyebrow { color:var(--green); }
.case-card h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.case-card>p:not(.eyebrow):not(.case-author) { color:var(--ink-soft); }
.case-card-dark>p:not(.eyebrow):not(.case-author) { color:#d3dbd2; }
.case-card blockquote { margin:1.6rem 0 .6rem; font-size:1.1rem; font-weight:600; line-height:1.5; }
.case-author { margin-bottom:1.3rem; color:var(--ink-soft); font-size:.78rem; }
.case-card-dark .case-author { color:#c7d0c7; }
.case-symbol { width:54px; height:54px; display:grid; place-items:center; border:1px solid #789176; border-radius:17px; color:var(--green); font-weight:800; letter-spacing:-.08em; }
.case-symbol-green { border-color:#9bac8f; color:var(--ink); }
.process-list { padding-top:2rem; }
.process-list article { display:grid; grid-template-columns:70px 1fr; gap:1rem; padding:1.7rem 0; border-bottom:1px solid var(--line); }
.process-list article:first-child { border-top:1px solid var(--line); }
.process-list .step-number { margin:0; }
.process-list h2 { margin-bottom:.45rem; font-size:1.55rem; }
.process-list p { max-width:720px; margin:0; color:var(--ink-soft); }
.about-stamp { min-height:360px; display:grid; align-content:center; justify-items:center; gap:1rem; border-radius:50% 50% 48% 52% / 43% 45% 55% 57%; background:var(--green); transform:rotate(4deg); }
.about-logo { width:min(220px,72%); aspect-ratio:1; object-fit:contain; transform:rotate(-4deg); }
.about-stamp p { margin:0; font-weight:700; line-height:1.35; text-align:center; transform:rotate(-4deg); }
.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding-top:1rem; }
.contact-card { min-height:290px; padding:1.8rem; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:1.3rem; text-decoration:none; }
.contact-whatsapp { background:var(--green); }
.contact-email { background:var(--paper); }
.contact-icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:1rem; border-radius:50%; background:var(--ink); color:var(--green); font-weight:800; }
.contact-card h2 { margin-bottom:.6rem; font-size:clamp(1.45rem,2.4vw,2rem); overflow-wrap:anywhere; }
.contact-card p:not(.eyebrow) { color:var(--ink-soft); }
.small-note { font-size:.82rem; }
.legal-notice { padding-top:1rem; padding-bottom:1rem; }
.legal-notice p { padding:1rem 1.2rem; border-left:4px solid #9b7427; background:#fff3d5; color:#473714; }
.legal-copy { max-width:820px; padding-top:1rem; }
.legal-copy h2 { margin:2.2rem 0 .6rem; font-size:1.3rem; letter-spacing:-.03em; }
.legal-copy p { color:#46534b; }
.not-found { display:flex; gap:1rem; align-items:center; }
.site-footer { padding:3rem max(24px,calc((100vw - 1120px)/2)) 1.25rem; background:#e8e7dc; }
.footer-main { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2rem; padding-bottom:2.4rem; }
.footer-pitch { margin:0 0 .2rem; font-size:1.05rem; font-weight:700; }
.footer-location { margin:0; color:var(--ink-soft); font-size:.84rem; }
.footer-contact { display:grid; gap:.35rem; text-align:right; }
.footer-contact a,.footer-bottom a { font-size:.83rem; text-decoration:none; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:1rem; border-top:1px solid #cdd2c8; color:var(--ink-soft); font-size:.78rem; }
.footer-bottom nav { display:flex; gap:1rem; }
@media (max-width:980px) {
  .site-header { gap:1rem; }
  .desktop-nav { gap:.85rem; }
  .desktop-nav a { font-size:.8rem; }
  .header-cta { font-size:.78rem; padding:.67rem .8rem; }
  .compact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .site-header { width:calc(100% - 36px); min-height:72px; }
  .desktop-nav,.site-header>.header-cta { display:none; }
  .mobile-nav { position:relative; display:block; margin-left:auto; }
  .mobile-nav summary { padding:.55rem .7rem; border:1px solid var(--line); border-radius:999px; cursor:pointer; font-size:.85rem; font-weight:700; list-style:none; }
  .mobile-nav summary::-webkit-details-marker { display:none; }
  .mobile-nav nav { position:absolute; z-index:10; top:calc(100% + .6rem); right:0; width:min(260px,calc(100vw - 36px)); display:grid; gap:.2rem; padding:.65rem; border:1px solid var(--line); border-radius:1rem; background:var(--paper); box-shadow:0 18px 36px #1b2e2720; }
  .mobile-nav nav a { padding:.7rem .65rem; border-radius:.6rem; }
  .mobile-nav nav a:hover { background:#eef1e7; }
  .page-hero { padding:2.8rem 18px 3.2rem; }
  .page-hero-home { grid-template-columns:1fr; min-height:auto; gap:1rem; padding-top:3.3rem; }
  .page-hero-home::before { inset:48% -5% 0 15%; }
  h1,.page-hero:not(.page-hero-home) h1 { font-size:clamp(2.6rem,13vw,4rem); }
  .hero-map { width:min(100%,440px); justify-self:center; margin-top:1.2rem; }
  .breadcrumbs { width:calc(100% - 36px); margin-top:1rem; }
  .section { width:calc(100% - 36px); padding:3.4rem 0; }
  .section-intro,.split-section { grid-template-columns:1fr; gap:1.5rem; }
  .faq-section { grid-template-columns:1fr; gap:1.4rem; }
  .home-process-grid { grid-template-columns:1fr; gap:.4rem; }
  .home-process-grid article { padding:1.1rem 0; border-bottom:1px solid var(--line); }
  .contact-context { grid-template-columns:1fr; gap:1rem; }
  .section-intro { align-items:start; }
  .service-grid,.case-grid,.contact-grid { grid-template-columns:1fr; }
  .case-preview-grid { grid-template-columns:1fr; }
  .compact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-card { min-height:220px; }
  .band-section,.final-cta { align-items:flex-start; flex-direction:column; }
  .final-cta { width:100%; padding:3.3rem 18px; }
  .three-steps { grid-template-columns:1fr; gap:.3rem; }
  .three-steps article { padding:1.1rem 0; border-bottom:1px solid var(--line); }
  .case-card { min-height:0; }
  .about-stamp { min-height:280px; }
  .footer-main { grid-template-columns:1fr; gap:1.2rem; align-items:start; }
  .footer-contact { text-align:left; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:.7rem; }
  .not-found { align-items:flex-start; flex-direction:column; }
}
@media (max-width:420px) {
  .compact-grid { grid-template-columns:1fr; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .button { width:100%; }
  .note-section { padding:1.35rem; }
  .process-list article { grid-template-columns:46px 1fr; gap:.5rem; }
  .footer-bottom nav { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
