@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Inter:wght@400;500;600;700;800&display=swap');


  :root{
    --teal-deep:#0F3D3E;
    --teal-ink:#122C2C;
    --papaya:#FF6B35;
    --papaya-dark:#E5541F;
    --sunny:#FFC857;
    --ivory:#FFF8EF;
    --coral-soft:#FFDCC5;
    --white:#FFFFFF;
    --teal-line: rgba(255,248,239,0.16);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    color:var(--teal-ink);
    background:var(--ivory);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    font-weight:600;
    line-height:1.12;
    letter-spacing:-0.01em;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1160px; margin:0 auto; padding:0 24px;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:var(--papaya-dark);
  }
  .eyebrow::before{
    content:""; width:18px; height:2px; background:var(--papaya-dark); display:inline-block; border-radius:2px;
  }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:14px 26px; border-radius:999px; font-weight:700; font-size:15.5px;
    border:2px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  }
  .btn-primary{ background:var(--papaya); color:var(--white); box-shadow:0 10px 24px -8px rgba(255,107,53,.55);}
  .btn-primary:hover{ transform:translateY(-2px); background:var(--papaya-dark); box-shadow:0 14px 28px -8px rgba(255,107,53,.6);}
  .btn-ghost{ background:transparent; border-color:var(--teal-line); color:var(--ivory); }
  .btn-ghost:hover{ border-color:var(--sunny); color:var(--sunny); }
  .btn-outline-dark{ background:transparent; border-color:var(--teal-deep); color:var(--teal-deep); }
  .btn-outline-dark:hover{ background:var(--teal-deep); color:var(--ivory); }

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(15,61,62,0.92); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--teal-line);
  }
  .nav{ display:flex; align-items:center; justify-content:space-between; padding:16px 24px; }
  .logo{ display:flex; align-items:center; gap:10px; color:var(--ivory); }
  .logo .mark{
    width:34px; height:34px; border-radius:10px;
    background:linear-gradient(135deg, var(--sunny), var(--papaya));
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces', serif; font-weight:700; color:var(--teal-ink); font-size:17px;
  }
  .logo .name{ font-family:'Fraunces', serif; font-weight:600; font-size:19px; }
  .logo .name span{ color:var(--sunny); }
  nav.links{ display:flex; gap:34px; }
  nav.links a{ color:var(--ivory); opacity:.82; font-size:14.5px; font-weight:600; transition:opacity .15s; }
  nav.links a:hover{ opacity:1; }
  .nav-cta{ display:flex; align-items:center; gap:18px; }
  .menu-toggle{ display:none; }

  /* ---------- HERO ---------- */
  .hero{
    background:radial-gradient(120% 140% at 85% -10%, #16504F 0%, var(--teal-deep) 55%, #0B2E2F 100%);
    color:var(--ivory);
    position:relative; overflow:hidden;
    padding:96px 0 130px;
  }
  .hero::before{
    content:""; position:absolute; width:520px; height:520px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,200,87,.16), transparent 70%);
    top:-160px; right:-120px;
  }
  .hero::after{
    content:""; position:absolute; width:420px; height:420px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,107,53,.14), transparent 70%);
    bottom:-180px; left:-140px;
  }
  .hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center; }
  .greeting-cycle{
    font-family:'Fraunces', serif; font-style:italic; font-weight:500;
    font-size:20px; color:var(--sunny); height:32px; overflow:hidden; position:relative; margin-bottom:18px;
  }
  .greeting-cycle span{
    position:absolute; left:0; opacity:0; transform:translateY(14px);
    animation:cycle 9s infinite;
  }
  .greeting-cycle span:nth-child(1){ animation-delay:0s; }
  .greeting-cycle span:nth-child(2){ animation-delay:1.8s; }
  .greeting-cycle span:nth-child(3){ animation-delay:3.6s; }
  .greeting-cycle span:nth-child(4){ animation-delay:5.4s; }
  .greeting-cycle span:nth-child(5){ animation-delay:7.2s; }
  @keyframes cycle{
    0%{ opacity:0; transform:translateY(14px); }
    5%{ opacity:1; transform:translateY(0); }
    20%{ opacity:1; transform:translateY(0); }
    26%{ opacity:0; transform:translateY(-14px); }
    100%{ opacity:0; }
  }
  .hero h1{ font-size:clamp(38px, 5vw, 58px); margin-bottom:22px; }
  .hero h1 em{ font-style:italic; color:var(--sunny); position:relative; }
  .hero p.lead{ font-size:18px; color:rgba(255,248,239,.82); max-width:520px; margin-bottom:34px; }
  .hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:38px; }
  .hero-trust{ display:flex; gap:28px; flex-wrap:wrap; }
  .hero-trust div{ font-size:13px; color:rgba(255,248,239,.65); }
  .hero-trust strong{ display:block; font-family:'Fraunces', serif; font-size:26px; color:var(--ivory); font-weight:600; }

  /* Hero visual: stacked speech-bubble language cards */
  .hero-visual{ position:relative; height:420px; }
  .lang-chip{
    position:absolute; background:var(--white); color:var(--teal-ink);
    border-radius:18px; padding:16px 20px; width:210px;
    box-shadow:0 20px 40px -12px rgba(0,0,0,.35);
  }
  .lang-chip::after{
    content:""; position:absolute; width:18px; height:18px; background:var(--white);
    bottom:-7px; left:28px; transform:rotate(45deg); border-radius:3px;
  }
  .lang-chip .word{ font-family:'Fraunces', serif; font-weight:600; font-size:19px; }
  .lang-chip .meta{ font-size:12px; color:#5b6b6a; margin-top:2px; }
  .chip-1{ top:0; left:10px; transform:rotate(-4deg); }
  .chip-1 .word{ color:var(--papaya-dark); }
  .chip-2{ top:150px; right:0; transform:rotate(3deg); }
  .chip-2 .word{ color:#1D7A7B; }
  .chip-3{ top:300px; left:40px; transform:rotate(-2deg); }
  .chip-3 .word{ color:var(--papaya-dark); }
  .chip-3::after{ left:auto; right:28px; }
  .chip-2::after{ left:28px; }

  .wave{ display:block; width:100%; height:auto; margin-top:-2px; }

  /* ---------- SECTION SHARED ---------- */
  section{ padding:88px 0; }
  .section-head{ max-width:620px; margin-bottom:52px; }
  .section-head h2{ font-size:clamp(30px,3.4vw,42px); margin-top:14px; }
  .section-head p{ font-size:17px; color:#3f5453; margin-top:14px; }

  /* ---------- WHY US ---------- */
  .why-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
  .why-card{
    background:var(--white); border-radius:20px; padding:30px 26px;
    box-shadow:0 1px 0 rgba(15,61,62,.06);
    border:1px solid rgba(15,61,62,.07);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .why-card:hover{ transform:translateY(-5px); box-shadow:0 18px 30px -16px rgba(15,61,62,.25); }
  .why-icon{
    width:46px; height:46px; border-radius:12px; margin-bottom:18px;
    display:flex; align-items:center; justify-content:center; font-size:20px;
  }
  .why-icon.i1{ background:var(--coral-soft); }
  .why-icon.i2{ background:#D8EDE8; }
  .why-icon.i3{ background:#FFEFC6; }
  .why-icon.i4{ background:var(--coral-soft); }
  .why-card h3{ font-size:19px; margin-bottom:8px; }
  .why-card p{ font-size:14.5px; color:#4c5f5e; }

  /* ---------- LANGUAGES ---------- */
  .languages{ background:var(--teal-deep); color:var(--ivory); border-radius:32px; margin:0 24px; padding:70px 40px; }
  .languages .wrap{ padding:0; max-width:1080px; }
  .lang-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:44px; }
  .lang-card{
    background:rgba(255,248,239,.05); border:1px solid var(--teal-line);
    border-radius:16px; padding:22px; display:flex; align-items:center; gap:16px;
    transition:background .2s ease, border-color .2s ease;
  }
  .lang-card:hover{ background:rgba(255,248,239,.09); border-color:rgba(255,200,87,.4); }
  .lang-badge{
    width:44px; height:44px; border-radius:50%; flex:none;
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces', serif; font-weight:700; font-size:16px; color:var(--teal-deep);
  }
  .lang-card h4{ font-size:17px; font-family:'Fraunces', serif; font-weight:600; }
  .lang-card span{ font-size:13px; color:rgba(255,248,239,.6); }

  /* ---------- HOW IT WORKS ---------- */
  .steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; position:relative; }
  .step{ padding:0 30px; position:relative; }
  .step:not(:last-child)::after{
    content:""; position:absolute; top:26px; right:-4px; width:calc(100% - 40px); height:2px;
    background:repeating-linear-gradient(90deg, rgba(15,61,62,.22) 0 8px, transparent 8px 16px);
  }
  .step-num{
    width:52px; height:52px; border-radius:50%; background:var(--papaya); color:var(--white);
    display:flex; align-items:center; justify-content:center; font-family:'Fraunces', serif; font-weight:700; font-size:20px;
    margin-bottom:22px; position:relative; z-index:2;
  }
  .step h3{ font-size:20px; margin-bottom:10px; }
  .step p{ font-size:14.5px; color:#3f5453; }

  /* ---------- FORMATS ---------- */
  .formats{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
  .format-card{
    border-radius:24px; padding:38px 34px; position:relative; overflow:hidden;
  }
  .format-card.individual{ background:var(--white); border:2px solid rgba(15,61,62,.1); }
  .format-card.group{ background:linear-gradient(160deg, #16504F, var(--teal-deep)); color:var(--ivory); }
  .format-card h3{ font-size:25px; margin-bottom:10px; }
  .format-card .tag{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:999px; margin-bottom:16px; }
  .format-card.individual .tag{ background:var(--coral-soft); color:var(--papaya-dark); }
  .format-card.group .tag{ background:rgba(255,200,87,.18); color:var(--sunny); }
  .format-card ul{ list-style:none; margin:20px 0 26px; }
  .format-card li{ padding:8px 0; font-size:14.5px; display:flex; gap:10px; align-items:flex-start; }
  .format-card.individual li{ color:#3f5453; }
  .format-card.group li{ color:rgba(255,248,239,.85); }
  .format-card li::before{ content:"✓"; font-weight:800; color:var(--papaya); flex:none; }
  .format-card.group li::before{ color:var(--sunny); }

  /* ---------- TESTIMONIALS ---------- */
  .testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .testi-card{
    background:var(--white); border-radius:20px; padding:28px; position:relative;
    border:1px solid rgba(15,61,62,.07);
  }
  .testi-card::after{
    content:""; position:absolute; width:16px; height:16px; background:var(--white);
    bottom:-7px; left:32px; transform:rotate(45deg); border-bottom:1px solid rgba(15,61,62,.07); border-right:1px solid rgba(15,61,62,.07);
  }
  .testi-card p.quote{ font-family:'Fraunces', serif; font-style:italic; font-size:16.5px; color:var(--teal-ink); margin-bottom:20px; }
  .testi-who{ display:flex; align-items:center; gap:12px; }
  .avatar{ width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Fraunces', serif; font-weight:700; color:var(--white); font-size:15px; }
  .testi-who .name{ font-weight:700; font-size:14px; }
  .testi-who .loc{ font-size:12.5px; color:#5b6b6a; }

  /* ---------- CTA BANNER ---------- */
  .cta-banner{
    background:linear-gradient(120deg, var(--papaya), var(--papaya-dark));
    border-radius:28px; margin:0 24px; padding:64px 48px;
    display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
    color:var(--white);
  }
  .cta-banner h2{ font-size:clamp(26px,3vw,36px); max-width:520px; color:var(--white); }
  .cta-banner .btn-primary{ background:var(--teal-deep); box-shadow:0 10px 24px -8px rgba(15,61,62,.5); }
  .cta-banner .btn-primary:hover{ background:#0a2a2b; }

  /* ---------- FOOTER ---------- */
  footer{ background:#0B2E2F; color:rgba(255,248,239,.75); padding:64px 0 30px; }
  .footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
  .footer-grid h4{ color:var(--ivory); font-family:'Inter',sans-serif; font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; font-weight:700; }
  .footer-grid p{ font-size:14px; max-width:260px; margin-top:10px; }
  .footer-grid ul{ list-style:none; }
  .footer-grid li{ margin-bottom:10px; font-size:14px; }
  .footer-grid a:hover{ color:var(--sunny); }
  .footer-bottom{ border-top:1px solid rgba(255,248,239,.12); padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:rgba(255,248,239,.5); }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 900px){
    nav.links{ display:none; }
    .hero-inner{ grid-template-columns:1fr; }
    .hero-visual{ height:300px; margin-top:20px; }
    .why-grid{ grid-template-columns:repeat(2,1fr); }
    .lang-grid{ grid-template-columns:repeat(2,1fr); }
    .steps{ grid-template-columns:1fr; gap:34px; }
    .step:not(:last-child)::after{ display:none; }
    .formats{ grid-template-columns:1fr; }
    .testi-grid{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width:560px){
    .why-grid{ grid-template-columns:1fr; }
    .lang-grid{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:1fr; }
    .cta-banner{ padding:44px 26px; }
    .languages{ margin:0 12px; padding:50px 22px; }
    .cta-banner{ margin:0 12px; }
  }

  @media (prefers-reduced-motion: reduce){
    .greeting-cycle span{ animation:none; opacity:1; position:static; }
    .greeting-cycle{ height:auto; }
  }

  a:focus-visible, button:focus-visible{ outline:3px solid var(--sunny); outline-offset:3px; border-radius:6px; }

  /* ---------- WORDPRESS FULL-WIDTH FIX ---------- */
  .wp-block-post-content.is-layout-constrained > * {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }