/* Coqueiral Media Group — main stylesheet */
:root{
  --ink:#0d2620;
  --ink-soft:#3d5951;
  --teal:#0a5c50;
  --teal-dark:#073f37;
  --teal-light:#e3f2ee;
  --sand:#f7f4ed;
  --amber:#d98324;
  --line:#dfe6e2;
  --white:#ffffff;
  --radius:14px;
  --shadow:0 10px 30px rgba(9,48,41,.10);
  --shadow-lg:0 24px 60px rgba(9,48,41,.16);
  --max:1180px;
  --ff-head:"Bitter",Georgia,"Times New Roman",serif;
  --ff-body:"Source Sans 3","Segoe UI",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ff-body);color:var(--ink);background:var(--white);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--ff-head);line-height:1.2;color:var(--ink);margin:0 0 .5em}
h1{font-size:clamp(2rem,4.4vw,3.35rem);letter-spacing:-.5px}
h2{font-size:clamp(1.55rem,2.8vw,2.3rem)}
h3{font-size:1.22rem}
p{margin:0 0 1.1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.narrow{max-width:820px}
section{padding:78px 0}
.sec-sand{background:var(--sand)}
.sec-teal{background:var(--teal);color:#eaf5f2}
.sec-teal h2,.sec-teal h3{color:#fff}
.sec-teal a{color:#ffd9a8}
.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--amber);margin-bottom:10px}
.lead{font-size:1.12rem;color:var(--ink-soft)}

/* ---------- Header ---------- */
.topbar{background:var(--teal-dark);color:#cfe6e0;font-size:.83rem}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-top:8px;padding-bottom:8px}
.topbar a{color:#cfe6e0}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
header.site.scrolled{box-shadow:0 6px 22px rgba(9,48,41,.09)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 22px;max-width:var(--max);margin:0 auto}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--ff-head);font-weight:700;font-size:1.16rem;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand img{width:40px;height:40px}
.brand small{display:block;font-family:var(--ff-body);font-weight:400;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.menu a{padding:9px 12px;border-radius:8px;color:var(--ink);font-weight:600;font-size:.95rem;transition:.2s}
.menu a:hover{background:var(--teal-light);color:var(--teal-dark);text-decoration:none}
.menu a.active{color:var(--teal);background:var(--teal-light)}
.btn{display:inline-block;padding:12px 22px;border-radius:10px;font-weight:700;border:2px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;font-size:.97rem;font-family:var(--ff-body)}
.btn-primary{background:var(--amber);color:#20140a}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(217,131,36,.35);text-decoration:none}
.btn-ghost{border-color:currentColor;color:inherit}
.btn-ghost:hover{background:rgba(255,255,255,.12);text-decoration:none}
.btn-dark{background:var(--teal);color:#fff}
.btn-dark:hover{background:var(--teal-dark);text-decoration:none;transform:translateY(-2px)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:1.1rem;cursor:pointer}

/* ---------- Hero ---------- */
.hero{position:relative;color:#fff;overflow:hidden}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(7,45,39,.95) 12%,rgba(7,45,39,.72) 52%,rgba(7,45,39,.35) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:92px;padding-bottom:92px;max-width:var(--max)}
.hero h1{color:#fff;max-width:16ch}
.hero p{max-width:56ch;color:#dfeeea;font-size:1.12rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.hero-stats{display:flex;flex-wrap:wrap;gap:34px;margin-top:46px;padding-top:26px;border-top:1px solid rgba(255,255,255,.22)}
.hero-stats b{display:block;font-family:var(--ff-head);font-size:2rem;color:#ffd9a8}
.hero-stats span{font-size:.87rem;color:#cfe3de;letter-spacing:.04em}

/* ---------- Grid / cards ---------- */
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.card h3{margin-bottom:.35em}
.card p:last-child{margin-bottom:0}
.icon svg{width:24px;height:24px}
.icon{width:46px;height:46px;border-radius:12px;background:var(--teal-light);color:var(--teal);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:14px}
.media{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}
.media img{transition:transform .8s ease}
.media:hover img{transform:scale(1.05)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.list-check{list-style:none;padding:0;margin:0 0 1.2em}
.list-check li{position:relative;padding-left:30px;margin-bottom:11px}
.list-check li::before{content:"✓";position:absolute;left:0;top:0;color:var(--teal);font-weight:700}
.badge{display:inline-block;background:var(--teal-light);color:var(--teal-dark);border-radius:999px;padding:5px 13px;font-size:.78rem;font-weight:700;letter-spacing:.04em;margin:0 6px 6px 0}
table.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.96rem}
table.tbl th,table.tbl td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line)}
table.tbl th{background:var(--teal-light);font-family:var(--ff-head)}
table.tbl tr:last-child td{border-bottom:0}

/* ---------- Accordion ---------- */
.acc{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.acc details{border-bottom:1px solid var(--line)}
.acc details:last-child{border-bottom:0}
.acc summary{cursor:pointer;padding:18px 22px;font-weight:700;font-family:var(--ff-head);list-style:none;display:flex;justify-content:space-between;gap:16px;transition:background .2s}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";color:var(--amber);font-size:1.3rem;line-height:1}
.acc details[open] summary::after{content:"–"}
.acc summary:hover{background:var(--sand)}
.acc .body{padding:0 22px 20px;color:var(--ink-soft)}

/* ---------- Ticker ---------- */
.ticker{background:var(--ink);color:#bfd8d2;overflow:hidden;white-space:nowrap;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}
.ticker div{display:inline-block;padding:11px 0;animation:slide 34s linear infinite}
.ticker span{padding:0 26px;opacity:.85}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Footer ---------- */
footer.site{background:var(--ink);color:#b9cec9;padding:62px 0 0;font-size:.95rem}
footer.site h4{color:#fff;font-size:1rem;margin-bottom:14px;font-family:var(--ff-head)}
footer.site a{color:#b9cec9}
footer.site a:hover{color:#fff}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:34px}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:9px}
.fbottom{border-top:1px solid rgba(255,255,255,.12);margin-top:46px;padding:20px 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.86rem}

/* ---------- Cookie banner ---------- */
#cookie{position:fixed;left:18px;right:18px;bottom:18px;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:22px;z-index:99;display:none}
#cookie.show{display:block;animation:pop .45s ease both}
@keyframes pop{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
#cookie p{font-size:.92rem;color:var(--ink-soft)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px}
#cookie .btn{padding:10px 18px;font-size:.9rem}
.btn-line{border:2px solid var(--line);color:var(--ink);background:#fff}
.btn-line:hover{background:var(--sand);text-decoration:none}

/* ---------- misc ---------- */
.reveal{opacity:0;transform:translateY(26px)}
.reveal.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.page-head{background:linear-gradient(135deg,var(--teal-dark),var(--teal));color:#fff;padding:64px 0 58px}
.page-head h1{color:#fff;margin-bottom:.25em}
.page-head p{color:#d5e9e4;max-width:64ch;margin:0}
.crumbs{font-size:.83rem;color:#a8ccc3;margin-bottom:14px}
.crumbs a{color:#a8ccc3}
.legal h2{margin-top:1.6em;font-size:1.45rem}
.legal h3{margin-top:1.3em}
.legal ul{padding-left:20px}
.legal li{margin-bottom:8px}
.note{background:var(--teal-light);border-left:4px solid var(--teal);padding:16px 20px;border-radius:0 10px 10px 0;margin:22px 0}
form label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px}
form input,form select,form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;margin-bottom:16px;background:#fff}
form input:focus,form textarea:focus,form select:focus{outline:2px solid var(--teal);border-color:var(--teal)}
.quote{font-family:var(--ff-head);font-size:1.15rem;color:var(--ink);border-left:4px solid var(--amber);padding-left:20px;margin:0 0 14px}
.author{font-size:.87rem;color:var(--ink-soft)}
.totop{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border-radius:50%;background:var(--teal);color:#fff;border:0;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);z-index:60}
.totop.show{display:flex}
.equalizer{display:inline-flex;gap:3px;align-items:flex-end;height:16px;margin-left:8px;vertical-align:-2px}
.equalizer i{width:3px;background:#ffd9a8;animation:eq 1s ease-in-out infinite}
.equalizer i:nth-child(2){animation-delay:.2s}
.equalizer i:nth-child(3){animation-delay:.4s}
.equalizer i:nth-child(4){animation-delay:.6s}
@keyframes eq{0%,100%{height:4px}50%{height:16px}}

@media(max-width:940px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  .split{grid-template-columns:1fr;gap:30px}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .burger{display:block}
  .menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:10px 14px 18px;gap:2px}
  .menu.open{display:flex}
  .nav .btn{display:none}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  section{padding:56px 0}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
