/*
Theme Name: Atlanth
Theme URI: https://atlanth.com.br/
Author: Atlanth
Description: Tema institucional personalizado da Atlanth, com landing page responsiva e animações editoriais.
 Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: atlanth
*/

* { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { background:#1c2c2a; }
  ::selection { background:#477369; color:#e7e7e7; }
  .ico { fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
  @keyframes floatY { 0%,100% { transform:translateY(0) rotate(0deg) scale(1.55); } 50% { transform:translateY(-16px) rotate(-1.5deg) scale(1.55); } }
  @keyframes scrollDot { 0% { transform:translateY(0); opacity:0; } 30% { opacity:1; } 100% { transform:translateY(18px); opacity:0; } }
  @keyframes diverDrift {
    0%,100% { transform:translate3d(0,var(--diver-pin-y,0px),0) translate3d(-6px,0,0) rotate(-.35deg); }
    50% { transform:translate3d(0,var(--diver-pin-y,0px),0) translate3d(8px,-14px,0) rotate(.45deg); }
  }
  a:focus-visible { outline:2px solid #ada192; outline-offset:4px; }
  .eyebrow::before {
    content:"";
    width:26px;
    height:22px;
    flex:none;
    background:#477369;
    -webkit-mask:url('uploads/3%20ONDAS.svg') center / contain no-repeat;
    mask:url('uploads/3%20ONDAS.svg') center / contain no-repeat;
  }
  .eyebrow > span[style*="height:1px"],
  .eyebrow > span[style*="height: 1px"] { display:none !important; }
  .eyebrow > svg[viewBox="0 0 112.1 91.19"] { display:none !important; }
  [data-marquee] { gap:86px !important; padding:26px 50px !important; }
  [data-marquee] img {
    height:40px !important;
    width:auto !important;
    opacity:.82 !important;
    filter:grayscale(1) sepia(.34) saturate(1.6) hue-rotate(105deg) brightness(.72) contrast(1.18);
    mix-blend-mode:multiply;
    transition:opacity .3s ease, filter .3s ease;
    transform-origin:center;
  }
  [data-marquee] img:hover { opacity:1 !important; filter:grayscale(1) sepia(.4) saturate(1.8) hue-rotate(105deg) brightness(.62) contrast(1.24); }
  [data-marquee] img[src*="heineken"] { clip-path:inset(37.9% 15.2% 37.9% 15%); transform:scale(4.1); margin-inline:18px; }
  [data-marquee] img[src*="budweiser"] { clip-path:inset(39.5% 19% 39.5% 19.3%); transform:scale(4.7); margin-inline:18px; }
  [data-marquee] img[src*="davila"] { clip-path:inset(30.2% 24.5% 30.2% 24.5%); transform:scale(2.5); }
  [data-marquee] img[src*="perlui"] { clip-path:inset(27.8% 27.8% 28.1% 27.8%); transform:scale(2.25); }
  #sobre { overflow:hidden; }
  .about-grid { position:static; grid-template-columns:minmax(0,1fr) !important; }
  .about-grid > div:first-child { position:relative; z-index:2; width:58%; max-width:650px; }
  .about-visual {
    position:absolute !important;
    z-index:0;
    top:0;
    right:0;
    width:50%;
    height:100%;
    min-height:0 !important;
    pointer-events:none;
    opacity:1;
    overflow:hidden;
  }
  .about-visual > img {
    position:absolute;
    top:0;
    right:0;
    display:block;
    width:100%;
    height:auto;
    max-width:none;
    opacity:1;
    filter:none;
    object-fit:contain;
    object-position:center top;
    transform-origin:52% 44%;
    animation:diverDrift 7.5s ease-in-out infinite;
    will-change:transform;
  }
  .services-grid { gap:22px !important; }
  .services-grid > div {
    position:relative;
    min-height:210px;
    overflow:hidden;
    padding:30px 28px;
    border:1px solid rgba(40,60,57,.11);
    border-radius:12px;
    background:rgba(255,255,255,.5);
    box-shadow:0 18px 44px -32px rgba(16,33,31,.55);
    transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  .services-grid > div::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,#ada192,rgba(173,161,146,0));
  }
  .services-grid > div:hover { transform:translateY(-5px); border-color:rgba(173,161,146,.48); box-shadow:0 24px 54px -32px rgba(16,33,31,.62); }
  .services-grid > div > svg { color:#ada192 !important; }
  .site-footer {
    position:relative;
    overflow:hidden;
    background-color:#10211f !important;
    background-image:radial-gradient(ellipse 62% 70% at 46% 40%,rgba(71,115,105,.34),transparent 68%),linear-gradient(to bottom,rgba(16,33,31,.5),rgba(16,33,31,.72) 62%,#1c2c2a),url('assets/bg-dark.png') !important;
    background-size:cover !important;
    background-position:center !important;
  }
  .site-footer > div { position:relative; z-index:2; }
  .impact-layout { gap:34px !important; }
  .impact-panel {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    flex:1;
    min-width:280px;
    max-width:460px;
    padding:38px 36px !important;
    border:0 !important;
    border-radius:14px !important;
    background:linear-gradient(145deg,#283c39,#10211f) !important;
    box-shadow:0 28px 60px -36px rgba(16,33,31,.72);
    text-align:left !important;
  }
  .impact-panel::before {
    content:"";
    position:absolute;
    z-index:-1;
    top:-26px;
    right:-22px;
    width:170px;
    height:138px;
    background:#477369;
    opacity:.24;
    -webkit-mask:url('uploads/3%20ONDAS.svg') center / contain no-repeat;
    mask:url('uploads/3%20ONDAS.svg') center / contain no-repeat;
    transform:rotate(-8deg);
  }
  .impact-kicker { display:block; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:rgba(231,231,231,.55); font-weight:600; }
  .impact-value { margin-top:24px; font-size:clamp(54px,6.5vw,78px) !important; font-weight:800; letter-spacing:-.045em; color:#ada192 !important; line-height:.92 !important; }
  .impact-value span { display:inline-block; margin-right:8px; font-size:.48em; letter-spacing:-.02em; vertical-align:top; transform:translateY(.2em); }
  .impact-copy { max-width:31ch; margin-top:22px !important; font-size:15px; line-height:1.65 !important; color:rgba(231,231,231,.7) !important; }
  .impact-quote { position:relative; flex:1; min-width:260px; max-width:440px; display:flex; align-items:center; padding:34px 30px 34px 42px !important; }
  .impact-quote::before { content:""; position:absolute; left:0; top:22%; width:3px; height:56%; border-radius:3px; background:linear-gradient(#ada192,rgba(173,161,146,.14)); }
  .mobile-dock { display:none; }
  @media (max-width:800px) {
    header[id], section[id], #diferenciais { scroll-margin-top:52px; }
    #top { min-height:100svh !important; padding:112px 24px 108px !important; }
    #top > div[style*="max-width:1180px"] { width:100%; }
    #top h1 { font-size:clamp(39px,12.2vw,54px) !important; line-height:.96 !important; }
    #top p { margin-top:26px !important; font-size:15px !important; line-height:1.7 !important; }
    #top div[style*="margin-top:46px"] { width:100%; margin-top:34px !important; gap:12px !important; }
    #top div[style*="margin-top:46px"] > a { width:100%; max-width:310px; padding:16px 20px !important; text-align:center; }
    nav[data-nav] { padding:16px 22px !important; }
    nav[data-nav] > a svg { height:24px !important; }
    nav[data-nav] > div { display:none !important; }
    #sobre, #fundador, #servicos, #diferenciais, #contato { padding:84px 24px 98px !important; }
    #clientes { padding:84px 0 98px !important; }
    #clientes > div { padding-left:24px !important; padding-right:24px !important; }
    .impact-layout { gap:24px !important; margin-top:38px !important; }
    .impact-panel { width:100%; min-width:0; max-width:none; padding:30px 26px !important; }
    .impact-value { font-size:clamp(54px,16vw,68px) !important; }
    .impact-quote { width:100%; min-width:0; max-width:none; padding:10px 6px 10px 24px !important; }
    .impact-quote::before { top:8%; height:84%; }
    [data-marquee] { gap:76px !important; padding:24px 40px !important; }
    .about-grid, .founder-grid, .differentials-grid { grid-template-columns:minmax(0,1fr) !important; }
    .about-grid { gap:0 !important; }
    .about-grid > div:first-child { width:100%; max-width:none; }
    .about-grid h2, .founder-grid h2, .differentials-grid h2 { font-size:clamp(38px,11.5vw,50px) !important; line-height:.96 !important; }
    .about-grid > div:first-child > div[style*="font-size:17px"] { max-width:none !important; font-size:16px !important; line-height:1.72 !important; }
    .about-visual { position:relative !important; top:auto; right:auto; width:calc(100% + 48px); height:auto; margin:46px -24px -98px; overflow:hidden; opacity:1; }
    .about-visual > img { position:relative; width:100%; height:auto; opacity:1; filter:none; object-position:center top; --diver-pin-y:0px; animation-duration:8.5s; }
    .founder-grid { gap:48px !important; }
    .founder-photo { width:calc(100% - 18px); margin-left:18px; }
    .founder-copy p { max-width:none !important; }
    .founder-copy > div[style*="flex-wrap:wrap"] { gap:8px !important; }
    .services-grid { grid-template-columns:minmax(0,1fr) !important; gap:14px !important; }
    .services-grid > div { min-height:0; display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:16px; padding:22px 20px; border:1px solid rgba(40,60,57,.1); border-radius:10px; }
    .services-grid > div:last-child { border-bottom:1px solid rgba(40,60,57,.1); }
    .services-grid > div > svg { grid-row:1 / span 2; width:30px !important; height:30px !important; margin-top:2px; }
    .services-grid > div > h3 { margin-top:0 !important; font-size:19px !important; line-height:1.25; }
    .services-grid > div > p { margin-top:6px !important; font-size:14px !important; line-height:1.55 !important; }
    #servicos div[style*="margin-bottom:56px"] { margin-bottom:34px !important; }
    .differentials-grid { gap:38px !important; }
    .differentials-list { width:100%; }
    .differentials-list > div { gap:16px !important; padding:20px 0 !important; }
    .differentials-list > div > svg { width:27px !important; height:27px !important; }
    .differentials-list > div > p { width:auto; font-size:17px !important; line-height:1.42 !important; }
    #diferenciais > img { right:-32% !important; width:88% !important; opacity:.1 !important; }
    #contato h2 { font-size:clamp(42px,12.4vw,54px) !important; }
    #contato a[href^="mailto:"] { font-size:clamp(17px,5.2vw,22px) !important; overflow-wrap:anywhere; }
    #contato div[style*="margin-top:40px"] > a { width:100%; max-width:290px; text-align:center; }
    footer > div { align-items:flex-start !important; }
    footer p[style*="text-align:right"] { text-align:left !important; }
    .mobile-dock {
      position:fixed;
      left:50%;
      bottom:max(12px, env(safe-area-inset-bottom));
      z-index:80;
      display:grid;
      grid-template-columns:repeat(5, minmax(0,1fr));
      width:min(calc(100% - 24px), 430px);
      padding:7px;
      border:0;
      border-radius:18px;
      background:rgba(231,231,231,0.58);
      box-shadow:0 18px 46px rgba(16,33,31,0.22);
      backdrop-filter:blur(22px) saturate(125%);
      -webkit-backdrop-filter:blur(22px) saturate(125%);
      transform:translateX(-50%);
    }
    .mobile-dock a {
      min-height:52px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:4px;
      border-radius:12px;
      color:#283c39;
      text-decoration:none;
      transition:color .2s ease, background .2s ease, transform .2s ease;
      -webkit-tap-highlight-color:transparent;
    }
    .mobile-dock a svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
    .mobile-dock a span { font-size:8px; line-height:1; letter-spacing:.09em; text-transform:uppercase; font-weight:500; }
    .mobile-dock a[aria-current="page"] { color:#477369; background:rgba(71,115,105,0.14); }
    .mobile-dock a:active { transform:scale(.95); }
    footer { padding-bottom:118px !important; }
  }
  @media (max-width:420px) {
    nav[data-nav] > a svg { height:21px !important; }
    nav[data-nav] > div > a:last-child { max-width:96px; text-align:center; }
  }
  @media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
    .about-visual > img { animation:none !important; transform:translate3d(0,var(--diver-pin-y,0px),0) !important; }
  }

.skip-link {
  position: fixed;
  left: 16px;
  top: -100px;
  z-index: 99999;
  padding: 12px 18px;
  background: #e7e7e7;
  color: #10211f;
  text-decoration: none;
  transition: top .2s ease;
}
.skip-link:focus { top: 16px; }
body.admin-bar nav[data-nav] { top: 32px !important; }
@media (max-width: 782px) {
  body.admin-bar nav[data-nav] { top: 46px !important; }
}
