
:root { --primary: #e9649b; --secondary: #30231e; }
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, sans-serif; color: #0f172a; background: linear-gradient(135deg,#f8fafc 0%,#eef6ff 100%); min-height: 100vh; }
a { color: var(--primary); }
header { padding: 1rem 1.5rem; background: rgba(255,255,255,.92); border-bottom: 1px solid #e2e8f0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
nav a { margin-right: 1rem; text-decoration: none; font-weight: 600; }
nav a:hover { text-decoration: underline; }
.site-header-brand { display: inline-flex; align-items: center; gap: .5rem; text-decoration: none; color: inherit; }
.site-header-brand img { max-height: 44px; width: auto; height: auto; display: block; }
main { max-width: 900px; margin: 0 auto; padding: 2rem 1.5rem 4rem; }
.hero { padding: 2rem 0; }
.hero h1 { font-size: clamp(1.75rem, 5vw, 2.5rem); margin: 0 0 .5rem; }
.links-row { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.btn { display: inline-flex; align-items: center; padding: .65rem 1rem; border-radius: 999px; font-weight: 700; text-decoration: none; border: 1px solid #cbd5e1; background: #fff; font-size: .9rem; }
.btn-primary { background: var(--primary); color: #fff; border-color: var(--primary); }
footer { text-align: center; padding: 2rem; color: #64748b; font-size: .875rem; }
.services-list { white-space: pre-wrap; line-height: 1.6; }
.body, .lead { line-height: 1.7; color: #334155; }
.wa-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  background: #25D366;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.28);
  z-index: 50;
  text-decoration: none;
}
.wa-fab:hover { transform: translateY(-1px); }
.wa-fab svg { width: 30px; height: 30px; display: block; }
.reveal-on-scroll { transition: opacity .25s ease, transform .25s ease; }
.reveal-on-scroll.is-visible { animation: gloo-reveal .35s ease both; }
@keyframes gloo-reveal { from { opacity:.82; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.gloo-faq { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #e2e8f0; }
.gloo-faq h2 { font-size: 1.25rem; margin: 0 0 1rem; }
.gloo-faq details { border: 1px solid #e2e8f0; border-radius: 8px; padding: .75rem 1rem; margin-bottom: .5rem; background: #fff; }
.gloo-faq summary { cursor: pointer; font-weight: 600; }
.gloo-faq .gloo-faq-a { margin-top: .5rem; color: #334155; line-height: 1.6; }


/* --- universal contact experience --- */
.gw-contact-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.gw-contact-intro { position:sticky; top:110px; }
.gw-contact-intro h2 { margin:.35rem 0 1rem; }
.gw-contact-response { margin-top:1.4rem; }
.gw-contact-safety { margin-top:1rem; padding:.9rem 1rem; border-radius:12px; background:#fff7ed; color:#7c2d12; border:1px solid #fed7aa; }
.gw-contact-fallback { margin-top:1.25rem; }
.gw-contact-form { padding:clamp(1.25rem,4vw,2rem); border:1px solid var(--gw-line,#d6d3d1); border-radius:18px; background:var(--gw-surface-raised,#fff); box-shadow:0 20px 50px rgba(28,25,23,.08); }
.gw-form-field { display:grid; gap:.45rem; margin-bottom:1rem; }
.gw-form-pair { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.gw-form-field label { font-weight:700; font-size:.92rem; }
.gw-form-field input,.gw-form-field select,.gw-form-field textarea { width:100%; min-height:46px; border:1px solid var(--gw-line,#d6d3d1); border-radius:10px; padding:.72rem .82rem; background:var(--gw-surface,#fff); color:var(--gw-ink,#1c1917); font:inherit; }
.gw-form-field textarea { min-height:130px; resize:vertical; }
.gw-form-field input:focus,.gw-form-field select:focus,.gw-form-field textarea:focus { outline:3px solid color-mix(in srgb,var(--gw-brand,#2563eb) 22%,transparent); border-color:var(--gw-brand,#2563eb); }
.gw-form-help,.gw-form-privacy { margin:-.45rem 0 1rem; color:var(--gw-muted,#57534e); font-size:.82rem; line-height:1.55; }
.gw-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
.gw-contact-form .cf-turnstile { margin:1rem 0; min-height:65px; }
.gw-form-status { min-height:1.5rem; margin-top:.8rem; font-size:.9rem; font-weight:600; }
.gw-form-status[data-state="success"] { color:#166534; }
.gw-form-status[data-state="error"] { color:#b91c1c; }
.gw-contact-form[aria-busy="true"] button[type="submit"] { opacity:.65; cursor:wait; }
.gw-privacy p { max-width:70ch; }
@media (max-width:760px) { .gw-contact-layout { grid-template-columns:1fr; } .gw-contact-intro { position:static; } .gw-form-pair { grid-template-columns:1fr; gap:0; } .gw-contact-form { border-radius:14px; } }
@media (prefers-reduced-motion:reduce) { .gw-contact-form * { scroll-behavior:auto!important; } }


/* --- site custom overrides --- */
:root{--coffee-ink:#30231e;--coffee-paper:#fbf5e9;--coffee-pink:#e9649b;--coffee-line:#ded2c1;--coffee-muted:#736052}
*{box-sizing:border-box}body{margin:0;background:var(--coffee-paper);color:var(--coffee-ink);font-family:'Trebuchet MS',sans-serif;line-height:1.7}a{color:inherit;text-underline-offset:4px}a:focus-visible{outline:3px solid #8c395e;outline-offset:5px}header{max-width:1180px;margin:auto;padding:24px 28px;border-bottom:1px solid var(--coffee-line);display:flex;align-items:center;justify-content:space-between;gap:20px;background:transparent}header .site-header-brand img{width:175px;max-height:84px;height:auto;object-fit:contain}header nav{display:flex;gap:24px;flex-wrap:wrap;font-size:14px;font-weight:bold}header nav a{text-decoration:none}header nav a:hover{text-decoration:underline}main{max-width:1180px;margin:auto;padding:0 28px}main>h1{font-family:Georgia,serif}footer{max-width:1124px;margin:70px auto 0;padding:25px 0;border-top:1px solid var(--coffee-line);font-size:12px;color:var(--coffee-muted)}.coffee-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center;padding:75px 0 65px}.coffee-eyebrow{font-size:11px;font-weight:bold;letter-spacing:.16em;text-transform:uppercase;color:#805039}.coffee-hero h1,.coffee-title{font-family:Georgia,serif;font-weight:normal;font-size:clamp(42px,6.8vw,86px);letter-spacing:-.055em;line-height:1.03;margin:20px 0 25px}.coffee-hero p{max-width:510px;color:var(--coffee-muted);font-size:18px}.coffee-button{display:inline-flex;align-items:center;gap:26px;min-height:48px;padding:12px 22px;border-radius:6px;background:var(--coffee-ink);color:var(--coffee-paper);font-size:14px;font-weight:bold;text-decoration:none}.coffee-button:hover{background:#533c31}.coffee-hero-art{position:relative;min-height:325px;display:flex;align-items:center;justify-content:center;background:#f1c9d0;border-radius:50% 50% 40% 60%;transform:rotate(-3deg);background-image:radial-gradient(circle at 30% 30%,#ffe6a2 0,transparent 60%)}.coffee-hero-art img{width:83%;height:auto;transform:rotate(3deg)}.coffee-hero-art span{position:absolute;bottom:25px;font-family:Georgia,serif;font-style:italic;font-size:16px;transform:rotate(3deg)}.coffee-section{padding:45px 0;border-top:1px solid var(--coffee-line)}.coffee-section-top{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:22px}.coffee-section h2{font-family:Georgia,serif;font-size:36px;font-weight:normal;letter-spacing:-.025em;margin:0}.coffee-section-top a{font-size:13px}.coffee-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.coffee-feature-lead{padding:32px;background:#eae0cb;min-height:300px;display:flex;flex-direction:column;justify-content:space-between}.coffee-feature-lead h3{font-family:Georgia,serif;font-weight:normal;font-size:34px;line-height:1.15;letter-spacing:-.025em}.coffee-list{list-style:none;padding:0;margin:0}.coffee-list li{padding:20px 0;border-bottom:1px solid var(--coffee-line)}.coffee-list li:first-child{padding-top:0}.coffee-list a{text-decoration:none}.coffee-list a:hover h3{text-decoration:underline}.coffee-list h3{font-family:Georgia,serif;font-size:23px;line-height:1.3;font-weight:normal;letter-spacing:-.02em;margin:5px 0}.coffee-meta{font-size:11px;color:var(--coffee-muted);line-height:1.7}.coffee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 35px}.coffee-grid li{padding:24px 0}.coffee-grid li:first-child{padding-top:24px}.coffee-grid h3{font-size:23px}.coffee-join{display:grid;grid-template-columns:1fr auto;align-items:center;gap:25px;padding:38px;background:#efd8df;border-radius:4px}.coffee-join h2{font-family:Georgia,serif;font-size:32px;font-weight:normal;line-height:1.2;margin:0}.coffee-join p{color:var(--coffee-muted);font-size:14px;margin:12px 0 0}.coffee-intro{padding:55px 0 35px;max-width:800px}.coffee-intro h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,62px);letter-spacing:-.045em;line-height:1.1;font-weight:normal}.coffee-intro p{color:var(--coffee-muted)}.coffee-topics{display:flex;gap:18px;flex-wrap:wrap;margin:25px 0;font-size:13px}.coffee-article{max-width:760px;margin:0 auto;padding:50px 0 20px}.coffee-article h1{font-family:Georgia,serif;font-weight:normal;font-size:clamp(36px,5.5vw,62px);letter-spacing:-.045em;line-height:1.1;margin:20px 0}.gw-article-meta{padding:20px 0;border-top:1px solid var(--coffee-line);border-bottom:1px solid var(--coffee-line);font-size:13px;color:var(--coffee-muted);margin:25px 0}.coffee-archive-note{font-size:13px;color:var(--coffee-muted);padding-left:18px;border-left:2px solid var(--coffee-pink);margin:25px 0}.gw-article-body{font-size:17px;line-height:1.9;overflow-wrap:anywhere}.gw-article-body p{margin:0 0 24px}.gw-article-body h2{font-family:Georgia,serif;font-size:30px;font-weight:normal;line-height:1.2;margin:45px 0 20px}.gw-article-body h3{font-size:21px;margin-top:35px}.gw-article-body img{display:block;max-width:100%;height:auto;margin:25px auto}.gw-article-body figure{margin:30px 0}.gw-article-body figcaption{font-size:13px;color:var(--coffee-muted)}.gw-article-body table{display:block;overflow:auto;max-width:100%}.gw-article-body td{padding:8px}.coffee-campaign{padding:30px;background:#eae0cb;margin:25px 0}.coffee-campaign h2{font-family:Georgia,serif;font-size:32px;line-height:1.2;font-weight:normal;margin-top:0}.coffee-small{font-size:13px;color:var(--coffee-muted)}main>.social-links,main>.links,.whatsapp-fab{display:none}.gloo-contact-form{max-width:740px}
@media(max-width:700px){header{padding:18px 20px;align-items:flex-start;gap:20px;flex-direction:column}header .site-header-brand img{width:150px}header nav{gap:18px;font-size:13px}main{padding:0 20px}.coffee-hero{grid-template-columns:1fr;gap:35px;padding:40px 0}.coffee-hero p{font-size:16px}.coffee-hero-art{min-height:220px;max-width:380px;width:100%;margin:auto}.coffee-hero-art img{max-width:270px}.coffee-hero-art span{bottom:14px;font-size:14px}.coffee-feature{grid-template-columns:1fr;gap:30px}.coffee-grid{grid-template-columns:1fr}.coffee-section{padding:30px 0}.coffee-section h2{font-size:30px}.coffee-join{grid-template-columns:1fr;padding:25px}.coffee-join .coffee-button{justify-self:start}.coffee-article{padding-top:30px}.gw-article-body{font-size:16px}.coffee-feature-lead{min-height:260px;padding:25px}footer{margin:45px 20px 0}.coffee-title{font-size:48px}}
@media(prefers-reduced-motion:no-preference){.coffee-hero>div:first-child{animation:coffee-arrive .6s ease-out}@keyframes coffee-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
