/*
Theme Name:   Riyasol Blueprint
Theme URI:    https://riyasol.com
Description:  Dark, architecture-oriented child theme for Astra. Blueprint-night palette, expanded Archivo titles, drafting-sheet details and a CAD-style cursor that dimensions whatever you hover. Includes the layout CSS that used to live in Appearance > Customize > Additional CSS.
Author:       Riyasol
Template:     astra
Version:      1.0.0
License:      GNU General Public License v2 or later
Text Domain:  riyasol-blueprint
*/

/* ══ PART 1 — site layout (migrated from Additional CSS, palette now dark) ══ */
  :root {
    /* Blueprint night palette (legacy names kept so existing page HTML still works) */
    --bp-0:#060B1C; --bp-1:#0A1126; --bp-2:#0F1730; --bp-3:#16203F;
    --line:rgba(143,170,230,.14); --line-2:rgba(143,170,230,.26); --line-3:rgba(143,170,230,.45);
    --grid-minor:rgba(143,170,230,.045); --grid-major:rgba(143,170,230,.09);

    --green-50: rgba(1,198,118,.08);
    --green-100: rgba(1,198,118,.30);
    --green-500: #01C676;
    --green-700: #33D993;
    --green-900: #000D41;
    --sand-50: #0A1126;
    --sand-100: rgba(143,170,230,.10);
    --sand-200: rgba(143,170,230,.26);
    --sand-400: #5C6A8A;
    --sand-700: #A9B6D3;
    --ink: #E8EDF7;
    --ink-60: #A6B2CB;
    --ink-40: #7A87A5;
    --white: #060B1C;
    --accent: #01C676;
    --accent-dark: #01A55F;
    --warn: #E0A040;

    --font-display: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
    --font-body: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  body {
    font-family: var(--font-body);
    background: var(--white);
    color: var(--ink);
    line-height: 1.65;
    font-size: 16px;
  }

  /* ── NAV ── */
  nav {
    position: sticky; top: 0; z-index: 100;
    background: rgba(255,255,255,0.94);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--sand-200);
    padding: 0 5vw;
    display: flex; align-items: center; justify-content: space-between;
    height: 64px;
  }

  .logo {
    font-family: var(--font-display);
    font-size: 22px;
    color: var(--green-700);
    letter-spacing: -0.5px;
    text-decoration: none;
    display: flex; align-items: center; gap: 10px;
  }
  .logo-mark {
    width: 32px; height: 32px;
    background: var(--green-500);
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: white;
    font-size: 16px;
    font-family: var(--font-display);
  }


  /* ── HOMEPAGE HERO ── */
  .hero {
    min-height: 92vh;
    display: flex; align-items: center;
    padding: 80px 5vw;
    background: var(--sand-50);
    position: relative;
    overflow: hidden;
  }
  .hero::before {
    content: '';
    position: absolute;
    right: -100px; top: -100px;
    width: 600px; height: 600px;
    background: radial-gradient(circle, var(--green-100) 0%, transparent 70%);
    pointer-events: none;
  }
  .hero-content { max-width: 660px; position: relative; z-index: 1; }
  .hero-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--green-50); border: 1px solid var(--green-100);
    color: var(--green-700); padding: 6px 16px; border-radius: 100px;
    font-size: 13px; font-weight: 500; margin-bottom: 32px;
  }
  .hero-badge .dot { width: 6px; height: 6px; background: var(--accent); border-radius: 50%; }
  .hero h1 {
    font-family: var(--font-display);
    font-size: clamp(42px, 5.5vw, 68px);
    line-height: 1.08;
    letter-spacing: -1px;
    color: var(--ink);
    margin-bottom: 24px;
  }
  .hero h1 em { font-style: italic; color: var(--green-500); }
  .hero p {
    font-size: 19px; color: var(--ink-60);
    line-height: 1.65; margin-bottom: 40px; max-width: 520px;
  }
  .hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; }
  .btn-primary {
    background: var(--green-500); color: white;
    padding: 14px 28px; border-radius: 100px;
    font-weight: 600; font-size: 15px; text-decoration: none;
    transition: background 0.2s, transform 0.15s;
    border: none; cursor: pointer;
  }
  .btn-primary:hover { background: var(--green-700); transform: translateY(-1px); }
  .btn-outline-riya {
    background: transparent; color: var(--ink);
    padding: 13px 28px; border-radius: 100px;
    font-weight: 500; font-size: 15px; text-decoration: none;
    border: 1.5px solid var(--sand-200);
    transition: border-color 0.2s, transform 0.15s;
    cursor: pointer;
  }
  .btn-outline-riya:hover { border-color: var(--ink-40) !important; transform: translateY(-1px) !important;
background: transparent;
color: var(--ink);}

    .btn-primary02-riya {
    background: white;
    color: var(--green-900);
    padding: 14px 28px; border-radius: 100px;
    font-weight: 600; font-size: 15px; text-decoration: none;
    transition: background 0.2s, transform 0.15s;
    border: none; cursor: pointer;
  }
  .btn-primary02-riya:hover { background: white; color: var(--green-900); transform: translateY(-1px); }

    .btn-outline02-riya {
    background: transparent;
    color: white;
    padding: 13px 28px;
    border-radius: 100px;
    font-weight: 500;
    font-size: 15px;
    text-decoration: none;
    border: 1.5px solid var(--sand-200);
    transition: border-color 0.2s, transform 0.15s;
    cursor: pointer;
  }
  .btn-outline02-riya:hover { background: transparent; color: white; transform: translateY(-1px); }

 

/* ── RESOURCES ── */
   .btn-outline {
    background: transparent; color: var(--ink);
    padding: 13px 28px; border-radius: 100px;
    font-weight: 500; font-size: 15px; text-decoration: none;
    border: 1.5px solid var(--sand-200);
    transition: border-color 0.2s, transform 0.15s;
    cursor: pointer;
  }
  .btn-outline:hover { border-color: var(--ink-40); transform: translateY(-1px); }

/* ── STATS ROW ── */
  .stats-row {
    display: flex; gap: 0;
    border-top: 1px solid var(--sand-200);
    border-bottom: 1px solid var(--sand-200);
    background: white;
  }
  .stat-item {
    flex: 1; padding: 40px 24px; text-align: center;
    border-right: 1px solid var(--sand-200);
  }
  .stat-item:last-child { border-right: none; }
  .stat-num {
    font-family: var(--font-display);
    font-size: 42px; color: var(--green-700); line-height: 1;
    margin-bottom: 6px;
  }
  .stat-label { font-size: 13px; color: var(--ink-60); font-weight: 500; }



  /* ── SECTION UTILS ── */
  section { padding: 96px 5vw; }
  .container { max-width: 1100px; margin: 0 auto; }

  .section-eyebrow {
    font-size: 12px; font-weight: 600; letter-spacing: 2px;
    text-transform: uppercase; color: var(--accent);
    margin-bottom: 12px;
  }
  .section-title {
    font-family: var(--font-display);
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.15;
    color: var(--ink);
    margin-bottom: 20px;
    letter-spacing: -0.5px;
  }
  .section-subtitle {
    font-size: 18px;
    color: var(--ink-60);
    max-width: 580px;
    line-height: 1.7;
  }


  /* ── HOW IT WORKS ── */
  .steps { display: flex; flex-direction: column; gap: 0; margin-top: 64px; }
  .step {
    display: grid; grid-template-columns: 80px 1fr;
    gap: 32px; padding: 40px 0;
    border-bottom: 1px solid var(--sand-100);
  }
  .step:last-child { border-bottom: none; }
  .step-num {
    font-family: var(--font-display);
    font-size: 56px; color: var(--green-100);
    line-height: 1; padding-top: 4px;
  }
  .step-content h3 {
    font-family: var(--font-display);
    font-size: 24px; margin-bottom: 10px; color: var(--ink);
  }
  .step-content p { color: var(--ink-60); font-size: 16px; max-width: 620px; }
  .step-tag {
    display: inline-block; margin-top: 12px;
    background: var(--sand-50); border: 1px solid var(--sand-200);
    color: var(--ink-60); font-size: 12px; font-weight: 500;
    padding: 4px 12px; border-radius: 100px;
  }

.feature-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2px; background: var(--sand-200);
    border: 1px solid var(--sand-200); border-radius: 16px; overflow: hidden;
    margin-top: 64px;
  }
  .feature-card {
    background: white; padding: 40px 36px;
    transition: background 0.2s;
  }
  .feature-card:hover { background: var(--sand-50); }
  .feature-icon {
    width: 48px; height: 48px; border-radius: 12px;
    background: var(--green-50); border: 1px solid var(--green-100);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 20px;
  }
  .feature-icon svg { width: 22px; height: 22px; stroke: var(--green-500); }
  .feature-card h3 { font-size: 18px; font-weight: 600; margin-bottom: 10px; }
  .feature-card p { font-size: 15px; color: var(--ink-60); line-height: 1.65; }



  /* ── PLATFORM ── */
  .platform-hero {
    background: var(--green-900);
    color: white;
    padding: 100px 5vw 80px;
    text-align: center;
  }
  .platform-hero .section-title { color: white; }
  .platform-hero .section-subtitle { color: rgba(255,255,255,0.65); margin: 0 auto; }
  .platform-hero .section-eyebrow { color: var(--green-100); }

  .platform-tabs {
    display: flex; gap: 0;
    border-bottom: 2px solid var(--sand-100);
    margin-bottom: 64px; overflow-x: auto;
  }
  .platform-tab {
    padding: 16px 28px; font-size: 14px; font-weight: 500;
    color: var(--ink-60); cursor: pointer;
    border-bottom: 2px solid transparent; margin-bottom: -2px;
    white-space: nowrap; transition: color 0.2s, border-color 0.2s;
    background: none !important; border-top: none; border-left: none; border-right: none;
    font-family: var(--font-body);
  }
  .platform-tab.active { color: var(--ink); border-bottom-color: var(--green-500); }
  .platform-tab:hover:not(.active) { color: var(--ink); }

  .tab-content { display: none; }
  .tab-content.active { display: block; }

  .feature-detail {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 64px; align-items: center;
  }
  .feature-detail-text h2 {
    font-family: var(--font-display);
    font-size: 36px; margin-bottom: 16px; letter-spacing: -0.5px;
  }
  .feature-detail-text p { color: var(--ink-60); font-size: 17px; line-height: 1.7; margin-bottom: 24px; }
  .feature-list { list-style: none; display: flex; flex-direction: column; gap: 14px; }
  .feature-list li {
    display: flex; align-items: flex-start; gap: 12px;
    font-size: 15px; color: var(--ink-60);
  }
  .feature-list li::before {
    content: ''; width: 6px; height: 6px;
    background: var(--accent); border-radius: 50%; flex-shrink: 0; margin-top: 7px;
  }
  .feature-visual {
    background: var(--sand-50); border: 1px solid var(--sand-200);
    border-radius: 20px; padding: 40px;
    min-height: 360px; display: flex; align-items: center; justify-content: center;
    flex-direction: column; gap: 16px;
  }
  .ui-mockup { width: 100%; }
  .ui-bar {
    background: white; border: 1px solid var(--sand-200);
    border-radius: 10px; padding: 14px 18px;
    display: flex; align-items: center; gap: 12px; margin-bottom: 10px;
  }
  .ui-dot { width: 8px; height: 8px; border-radius: 50%; }
  .ui-line { height: 8px; border-radius: 4px; background: var(--sand-200); }
  .ui-tag-green { background: var(--green-50); color: var(--green-700); font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 100px; border: 1px solid var(--green-100); white-space: nowrap; }
  .ui-tag-sand { background: var(--sand-100); color: var(--sand-700); font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 100px; white-space: nowrap; }
  .metric-row { display: flex; gap: 10px; }
  .metric-box { background: white; border: 1px solid var(--sand-200); border-radius: 10px; padding: 14px 16px; flex: 1; }
  .metric-box .val { font-size: 20px; font-weight: 600; color: var(--green-700); }
  .metric-box .lbl { font-size: 11px; color: var(--ink-60); margin-top: 2px; }



  /* ── SOLUTIONS CARDS ── */
  .solutions-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px; margin-top: 48px;
  }
  .solution-card {
    border: 1px solid var(--sand-200);
    border-radius: 16px; padding: 32px 28px;
    transition: box-shadow 0.2s, transform 0.2s;
    cursor: pointer;
  }
  .solution-card:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.08);
    transform: translateY(-3px);
  }
  .solution-avatar {
    width: 56px; height: 56px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; margin-bottom: 20px;
  }
  .solution-card h3 { font-size: 20px; font-weight: 600; margin-bottom: 8px; }
  .solution-card p { font-size: 14px; color: var(--ink-60); line-height: 1.6; }


   /* ── BLOG ── */
  .blog-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 32px; margin-top: 56px;
  }
  .blog-card { cursor: pointer; }
  .blog-img {
    height: 200px; border-radius: 12px;
    margin-bottom: 20px;
    display: flex; align-items: flex-end; padding: 20px;
    position: relative; overflow: hidden;
  }
  .blog-tag {
    background: white; color: var(--ink);
    font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
    padding: 4px 10px; border-radius: 100px;
    position: relative; z-index: 1;
  }
  .blog-card h3 { font-size: 19px; font-weight: 600; line-height: 1.35; margin-bottom: 10px; }
  .blog-card p { font-size: 14px; color: var(--ink-60); margin-bottom: 16px; }
  .blog-meta { font-size: 12px; color: var(--ink-40); display: flex; gap: 16px; }



  /* ── ACADEMY ── */
  .academy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin-top: 48px; }
  .academy-card {
    border: 1px solid var(--sand-200); border-radius: 16px;
    overflow: hidden; transition: transform 0.2s, box-shadow 0.2s; cursor: pointer;
  }
  .academy-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.08); }
  .academy-thumb { height: 160px; display: flex; align-items: center; justify-content: center; }
  .academy-body { padding: 24px; }
  .academy-level { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 8px; }
  .academy-card h3 { font-size: 17px; font-weight: 600; margin-bottom: 8px; }
  .academy-card p { font-size: 13px; color: var(--ink-60); margin-bottom: 16px; }
  .academy-meta { display: flex; gap: 16px; font-size: 12px; color: var(--ink-40); }


  /* page transitions */
  .page { animation: fadeIn 0.25s ease; }
  @keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }


  /* ── PRICING ── */
.pricing-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px; margin-top: 56px; align-items: start;
  }
  .pricing-card {
    border: 1px solid var(--sand-200);
    border-radius: 20px; padding: 36px 32px;
    position: relative;
  }
  .pricing-card.featured {
    border-color: var(--green-500);
    background: var(--green-900);
    color: white;
  }
  .pricing-badge {
    position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
    background: var(--accent); color: white;
    font-size: 12px; font-weight: 600; letter-spacing: 0.5px;
    padding: 4px 16px; border-radius: 100px;
  }
  .pricing-tier { font-size: 13px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ink-40); margin-bottom: 8px; }
  .pricing-card.featured .pricing-tier { color: rgba(255,255,255,0.5); }
  .pricing-name { font-family: var(--font-display); font-size: 28px; margin-bottom: 16px; }
  .pricing-price { font-size: 48px; font-weight: 300; line-height: 1; margin-bottom: 4px; }
  .pricing-price span { font-size: 18px; font-weight: 500; }
  .pricing-period { font-size: 14px; color: var(--ink-60); margin-bottom: 32px; }
  .pricing-card.featured .pricing-period { color: rgba(255,255,255,0.55); }
  .pricing-features { list-style: none; display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }
  .pricing-features li { font-size: 14px; display: flex; align-items: flex-start; gap: 10px; }
  .check { color: var(--accent); font-size: 16px; flex-shrink: 0; margin-top: 1px; }
  .pricing-card.featured .check { color: var(--green-100); }
  .pricing-card.featured .pricing-features li { color: rgba(255,255,255,0.85); }5



  /* ── CONTACT ── */
  .contact-grid {
    display: grid; grid-template-columns: 1fr 1.2fr;
    gap: 80px; align-items: start; margin-top: 64px;
  }
  .contact-info h3 { font-family: var(--font-display); font-size: 26px; margin-bottom: 16px; }
  .contact-info p { color: var(--ink-60); margin-bottom: 32px; }
  .contact-detail { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; font-size: 15px; color: var(--ink-60); }
  .contact-detail-icon { width: 36px; height: 36px; background: var(--sand-50); border: 1px solid var(--sand-200); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .form-group { margin-bottom: 20px; }
  .form-group label { display: block; font-size: 13px; font-weight: 500; color: var(--ink-60); margin-bottom: 8px; }
  .form-group input, .form-group select, .form-group textarea {
    width: 100%; padding: 12px 16px;
    border: 1px solid var(--sand-200); border-radius: 10px;
    font-family: var(--font-body); font-size: 15px; color: var(--ink);
    background: white; transition: border-color 0.2s;
    outline: none;
  }
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    border-color: var(--green-500);
    box-shadow: 0 0 0 3px rgba(26,122,74,0.08);
  }
  .form-group textarea { resize: vertical; min-height: 120px; }
  .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }


/**** BLOG CONTENT ****/
.blog-section-subtitle {
    font-size: 18px;
    color: var(--ink-60);
    line-height: 1.7;
	text-align: justify;
  }
  .blog-paragraph-content h3 {
    font-family: var(--font-display);
    font-size: 24px; margin-top: 50px; margin-bottom: 10px; color: var(--ink);
  }
  .blog-paragraph-content p { color: var(--ink-60); font-size: 16px;
    text-align: justify;}

  ul { color: var(--ink-60); font-size: 16px; max-width: 620px; }


/**** NAVBAR ****/
a.menu-link, a.menu-link:hover {
	    color: var(--ink-60);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s;
}



/* ══════════════════════════════
   MOBILE / RESPONSIVE HOMEPAGE
   ══════════════════════════════ */

@media (max-width: 900px) {

  /* ── NAV ── */
  nav {
    padding: 0 6vw;
    height: 60px;
  }
  .logo { font-size: 19px; }

  /* ── HERO ── */
  .hero {
    min-height: auto;
    padding: 100px 6vw 60px;
    text-align: left;
  }
  .hero::before {
    width: 400px; height: 400px;
    right: -150px; top: -150px;
  }
  .hero-content { max-width: 100%; }
  .hero h1 {
    font-size: clamp(34px, 9vw, 48px);
  }
  .hero p {
    font-size: 17px;
    max-width: 100%;
  }
  .hero-buttons {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .hero-buttons button {
    width: 100%;
    text-align: center;
  }

  /* ── STATS ── */
  .stats-row {
    flex-wrap: wrap;
  }
  .stat-item {
    flex: 1 1 50%;
    border-bottom: 1px solid var(--sand-200);
    padding: 28px 16px;
  }

  /* ── SECTIONS ── */
  section { padding: 64px 6vw; }
  .section-title { font-size: clamp(28px, 7vw, 38px); }
  .section-subtitle { font-size: 16px; max-width: 100%; }

  /* ── STEPS ── */
  .step {
    grid-template-columns: 56px 1fr;
    gap: 20px;
    padding: 28px 0;
  }
  .step-num { font-size: 40px; }

  /* ── FEATURE GRID / DETAIL ── */
  .feature-grid { grid-template-columns: 1fr; }
  .feature-detail {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .feature-visual { min-height: 260px; padding: 24px; }

  /* ── PLATFORM ── */
  .platform-hero { padding: 72px 6vw 56px; }
  .platform-tabs {
    gap: 4px;
  }
  .platform-tab {
    padding: 12px 16px;
    font-size: 13px;
  }

  /* ── SOLUTIONS / BLOG / ACADEMY GRIDS ── */
  .solutions-grid,
  .blog-grid,
  .academy-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  /* ── PRICING ── */
  .pricing-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .pricing-card { padding: 28px 24px; }

  /* ── CONTACT ── */
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .hero { padding: 90px 6vw 48px; }
  .hero h1 { font-size: 30px; }
  .hero p { font-size: 15.5px; }
  .hero-badge { font-size: 12px; padding: 5px 12px; }

  .stat-item { flex: 1 1 100%; }
  .stat-num { font-size: 34px; }

  .section-title { font-size: 26px; }
  section { padding: 48px 6vw; }

  .pricing-price { font-size: 38px; }
}



/* ═══════════════════════════════════════════════════════════════
   BLUEPRINT NIGHT — dark architectural layer
   Everything below overrides the light layout above on purpose.
   ═══════════════════════════════════════════════════════════════ */

@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(assets/fonts/archivo-latin-wdth-normal.woff2) format('woff2');}
/* Archivo's multiplication sign renders as a blob at light weights: borrow Plex's for "3×" */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;unicode-range:U+00D7;src:url(assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');}

/* Astra + Elementor palettes follow the same tokens */
:root{
  --ast-global-color-0:#01C676; --ast-global-color-1:#33D993; --ast-global-color-2:#E8EDF7;
  --ast-global-color-3:#A6B2CB; --ast-global-color-4:#060B1C; --ast-global-color-5:#0A1126;
  --ast-global-color-6:#0F1730; --ast-global-color-7:#16203F; --ast-global-color-8:#7A87A5;
  --e-global-color-primary:#01C676; --e-global-color-secondary:#A6B2CB;
  --e-global-color-text:#A6B2CB; --e-global-color-accent:#33D993;
}

html{ background:var(--bp-0); scroll-padding-top:84px; color-scheme:dark; }
body, body.custom-background, body.ast-separate-container, .ast-separate-container #primary,
#page, .site, .site-content, .ast-container, #content, #primary, #main, .entry-content,
.ast-article-post, .ast-separate-container .ast-article-post, .ast-page-builder-template,
.ast-plain-container .site-content, .ast-narrow-container .site-content{
  background-color:transparent !important; color:var(--ink);
}
body, body.custom-background{
  background-color:var(--bp-0) !important;
  background-image:
    linear-gradient(var(--grid-major) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-major) 1px, transparent 1px),
    linear-gradient(var(--grid-minor) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px) !important;
  background-size:120px 120px,120px 120px,24px 24px,24px 24px !important;
  background-attachment:fixed !important;
}
/* Astra's own spacing resets so full-width HTML sections touch the edges */
.ast-container, .ast-page-builder-template .site-content > .ast-container{max-width:100%;padding:0;}
.entry-content > *{max-width:none;}

::selection{ background:var(--green-500); color:#04122E; }
:focus-visible{ outline:2px solid var(--green-500); outline-offset:3px; }
a{ color:var(--green-700); }
a:hover{ color:#fff; }
h1,h2,h3,h4,h5,h6{ color:var(--ink); }
hr{ border-color:var(--line); }
::-webkit-scrollbar{ width:12px; height:12px; }
::-webkit-scrollbar-track{ background:var(--bp-0); }
::-webkit-scrollbar-thumb{ background:var(--bp-3); border:3px solid var(--bp-0); }
::-webkit-scrollbar-thumb:hover{ background:var(--line-3); }

/* ── Type: expanded Archivo for titles, Plex for text ── */
h1,h2,h3,.hero h1,.section-title,.step-content h3,.feature-detail-text h2,
.contact-info h3,.blog-paragraph-content h3,.pricing-price,.pricing-name,.stat-num,.logo{
  font-family:var(--font-display);
  font-stretch:116%;
  font-weight:400;
  letter-spacing:-0.012em;
}
.hero h1{ font-weight:300; font-stretch:122%; letter-spacing:-0.025em; line-height:1.04; }
.hero h1 em{ font-style:normal; color:inherit; }
.section-title{ font-weight:300; font-stretch:120%; line-height:1.12; letter-spacing:-0.02em; }
.stat-num{ font-weight:300; font-stretch:112%; color:var(--green-700); font-size:44px; }
.mono, .step-num, .rb-xy, .rb-dim span{ font-family:var(--font-mono); }

/* ── Header ── */
#masthead, .site-header, .main-header-bar, .ast-primary-header-bar,
.ast-above-header-bar, .ast-below-header-bar, .main-header-bar-wrap, .ast-main-header-wrap{
  background:rgba(6,11,28,.86) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.2); backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line) !important;
}
#masthead{ position:sticky; top:0; z-index:100; }
nav{ background:transparent; border-bottom:0; -webkit-backdrop-filter:none; backdrop-filter:none; height:auto; }
.main-header-bar-navigation, .ast-builder-menu, .main-navigation, .main-header-menu{ background:transparent !important; }
a.menu-link, .main-header-menu .menu-link{ color:var(--ink-60) !important; font-family:var(--font-body); font-size:14px; font-weight:500; position:relative; }
a.menu-link:hover, .current-menu-item > a.menu-link, .current_page_item > a.menu-link{ color:var(--ink) !important; }
/* dimension-line underline: a hairline with end ticks */
.main-header-menu > .menu-item > a.menu-link::after{
  content:''; position:absolute; left:20px; right:20px; bottom:14px; height:7px;
  background:
    linear-gradient(var(--green-500),var(--green-500)) 0 100%/1px 7px no-repeat,
    linear-gradient(var(--green-500),var(--green-500)) 100% 100%/1px 7px no-repeat,
    linear-gradient(var(--green-500),var(--green-500)) 0 50%/100% 1px no-repeat;
  opacity:0; transform:scaleX(.6); transform-origin:left; transition:opacity .2s, transform .25s;
}
.main-header-menu > .menu-item > a.menu-link:hover::after,
.main-header-menu > .current-menu-item > a.menu-link::after{ opacity:1; transform:none; }
.custom-logo-link img, .site-logo-img img{ max-height:44px; width:auto; }
.ast-mobile-menu-buttons .menu-toggle, .ast-button-wrap .menu-toggle{ color:var(--ink) !important; background:transparent !important; border:1px solid var(--line-2) !important; border-radius:0 !important; }
.ast-header-break-point .main-header-bar-navigation, .ast-header-break-point .ast-mobile-header-content{ background:var(--bp-1) !important; border-top:1px solid var(--line); }
.ast-header-break-point .main-header-menu .menu-item a{ color:var(--ink) !important; border-color:var(--line) !important; }

/* ── Sections: drawing-sheet rhythm ── */
section{ position:relative; background:transparent; border-bottom:1px solid var(--line); }
section[style*="background: white"], section[style*="background:white"], section[style*="background: #fff"]{ background:var(--bp-1) !important; }
section[style*="--sand-50"]{ background:transparent !important; }
section[style*="--green-50"]{ background:rgba(1,198,118,.05) !important; }
section[style*="--green-900"], .platform-hero{
  background:
    linear-gradient(var(--grid-major) 1px, transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg, var(--grid-major) 1px, transparent 1px) 0 0/48px 48px,
    #040922 !important;
  border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2);
}
.container{ position:relative; }

/* Eyebrow = dimension line with end ticks, sentence case */
.section-eyebrow{
  display:flex; align-items:center; gap:14px;
  font-family:var(--font-body); font-size:14px; font-weight:500;
  letter-spacing:0; text-transform:none; color:var(--green-700) !important;
}
.section-eyebrow::before{
  content:''; width:44px; height:9px; flex:none;
  background:
    linear-gradient(currentColor,currentColor) 0 0/1px 9px no-repeat,
    linear-gradient(currentColor,currentColor) 100% 0/1px 9px no-repeat,
    linear-gradient(currentColor,currentColor) 0 50%/100% 1px no-repeat;
}
[style*="text-align: center"] .section-eyebrow, .platform-hero .section-eyebrow{ justify-content:center; }
.section-subtitle{ color:var(--ink-60); font-size:18px; }

/* ── Hero: plan sheet with a door-swing symbol ── */
.hero{
  background:
    linear-gradient(var(--grid-major) 1px, transparent 1px) 0 0/120px 120px,
    linear-gradient(90deg, var(--grid-major) 1px, transparent 1px) 0 0/120px 120px,
    linear-gradient(var(--grid-minor) 1px, transparent 1px) 0 0/24px 24px,
    linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px) 0 0/24px 24px,
    var(--bp-0);
  min-height:calc(100vh - 80px);
}
.hero::before{
  right:auto; top:auto; left:5vw; bottom:28px; width:auto; height:auto;
  background:none; content:'Sheet 01 — Riyasol · Plan view · 1:100';
  font-family:var(--font-mono); font-size:11px; color:var(--ink-40); letter-spacing:.02em;
}
.hero::after{
  content:''; position:absolute; right:7vw; top:50%; width:min(30vw,380px); aspect-ratio:1;
  transform:translateY(-50%);
  border:1px solid var(--line-3); border-top-right-radius:100%;
  background:
    linear-gradient(var(--green-500),var(--green-500)) 0 100%/100% 2px no-repeat;
  pointer-events:none; opacity:.9;
}
.hero-content{ max-width:720px; }
.hero-badge{
  background:transparent; border:1px solid var(--line-2); color:var(--ink-60);
  border-radius:0; font-weight:500; padding:7px 14px 7px 12px;
}
.hero-badge .dot{ background:var(--green-500); border-radius:0; width:7px; height:7px; }
.hero p{ color:var(--ink-60); }

/* ── Buttons: square, drafted ── */
.btn-primary, .btn-primary02-riya, .btn-outline-riya, .btn-outline, .btn-outline02-riya, button.btn-primary{
  border-radius:0; font-family:var(--font-body); font-size:15px; letter-spacing:0;
}
.btn-primary, .btn-primary02-riya{ background:var(--green-500); color:#04122E; font-weight:600; }
.btn-primary:hover, .btn-primary02-riya:hover{ background:#33D993; color:#04122E; transform:none; }
.btn-outline-riya, .btn-outline, .btn-outline02-riya{ background:transparent; color:var(--ink); border:1px solid var(--line-3); }
.btn-outline-riya:hover, .btn-outline:hover, .btn-outline02-riya:hover{
  background:rgba(255,255,255,.04) !important; color:#fff !important; border-color:var(--ink-60) !important; transform:none !important;
}

/* ── Stats ── */
.stats-row{ background:var(--bp-1); border-color:var(--line); }
.stat-item{ border-color:var(--line); }
.stat-label{ color:var(--ink-60); font-weight:400; }

/* ── Steps (a true sequence → numerals stay) ── */
.step{ border-color:var(--line); }
.step-num{ color:transparent; -webkit-text-stroke:1px var(--line-3); font-weight:400; }
.step-content p{ color:var(--ink-60); }
.step-tag{ background:transparent; border:1px solid var(--line-2); color:var(--ink-60); border-radius:0; }

/* ── Grids and cards: hairline cells, no shadows ── */
.feature-grid{ background:var(--line); border:1px solid var(--line); border-radius:0; gap:1px; }
.feature-card{ background:var(--bp-1); transition:background .2s; position:relative; }
.feature-card:hover{ background:var(--bp-2); }
.feature-card h3, .solution-card h3, .blog-card h3, .academy-card h3, .pricing-card h3{ color:var(--ink); font-family:var(--font-body); font-stretch:100%; }
.feature-icon{ background:transparent; border:1px solid var(--line-3); border-radius:0; }
.feature-icon svg{ stroke:var(--green-500); }

.solution-card, .academy-card, .pricing-card, .metric-box, .ui-bar{
  background:var(--bp-1); border:1px solid var(--line); border-radius:0;
}
.solution-card, .academy-card{ transition:border-color .2s, background .2s; }
.solution-card:hover, .academy-card:hover{
  box-shadow:none; transform:none; border-color:var(--green-500); background:var(--bp-2);
}
.solution-avatar, .academy-thumb{ border-radius:0; border-bottom:1px solid var(--line); }
.solution-avatar{ border:1px solid var(--line-2); }
.solution-avatar[style], .academy-thumb[style]{ background:var(--bp-3) !important; }

.pricing-card.featured{ background:#040922; border-color:var(--green-500); }
.pricing-badge{ border-radius:0; }
.pricing-price{ font-weight:300; }
.check{ color:var(--green-500); }
.pricing-card.featured .check{ color:var(--green-500); }

.blog-img{ border-radius:0; border:1px solid var(--line); filter:saturate(.85) brightness(.9); transition:filter .3s; }
.blog-card:hover .blog-img{ filter:none; }
.blog-tag{ background:var(--bp-0); color:var(--ink); border:1px solid var(--line-2); border-radius:0; text-transform:none; letter-spacing:0; font-weight:500; font-size:12px; }
.blog-meta, .academy-meta{ color:var(--ink-40); }
.blog-card p, .academy-card p, .solution-card p, .feature-card p{ color:var(--ink-60); }

/* ── Platform tabs and mockups ── */
.platform-tabs{ border-bottom:1px solid var(--line); }
.platform-tab{ color:var(--ink-60); }
.platform-tab.active{ color:var(--ink); border-bottom-color:var(--green-500); }
.feature-visual{ background:var(--bp-1); border:1px solid var(--line); border-radius:0; }
.ui-line{ background:var(--bp-3); }
.ui-tag-green{ background:rgba(1,198,118,.1); color:var(--green-700); border:1px solid rgba(1,198,118,.35); border-radius:0; }
.ui-tag-sand{ background:var(--bp-3); color:var(--ink-60); border-radius:0; }
.metric-box .val{ color:var(--green-700); }
.contact-detail-icon{ background:transparent; border:1px solid var(--line-2); border-radius:0; }

/* Inline-styled light chips from the original pages */
[style*="#FEF3C7"], [style*="#EEF2FF"], [style*="#F5F3FF"], [style*="#FFF1F2"]{ background:var(--bp-3) !important; }
[style*="#92400e"]{ color:#F0B45C !important; }
[style*="#5B21B6"]{ color:#B9A2FF !important; }
[style*="#D62828"]{ color:#FF7A7A !important; }
[style*="border: 1px solid var(--sand-200)"]{ border-color:var(--line-2) !important; }
[style*="background: white"]:not(section){ background:var(--bp-2) !important; }

/* ── Forms (custom HTML, CF7, WPForms, Forminator) ── */
.form-group input, .form-group select, .form-group textarea,
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]), .wpcf7 textarea, .wpcf7 select,
.wpforms-container input:not([type=submit]):not([type=checkbox]):not([type=radio]), .wpforms-container textarea, .wpforms-container select,
.forminator-ui input:not([type=submit]):not([type=checkbox]):not([type=radio]), .forminator-ui textarea{
  background:var(--bp-1) !important; color:var(--ink) !important;
  border:1px solid var(--line-2) !important; border-radius:0 !important; font-family:var(--font-body);
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus,
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpforms-container input:focus, .wpforms-container textarea:focus{
  border-color:var(--green-500) !important; box-shadow:0 0 0 3px rgba(1,198,118,.15) !important; outline:none;
}
::placeholder{ color:var(--ink-40); opacity:1; }
.wpcf7 input[type=submit], .wpforms-submit, .forminator-button-submit{
  background:var(--green-500) !important; color:#04122E !important; border:0 !important; border-radius:0 !important; font-weight:600;
}
.form-group label, .wpcf7 label, .wpforms-field-label{ color:var(--ink-60) !important; }

/* ── Footer ── */
footer, .site-footer, #colophon, .ast-small-footer{
  background:#040815 !important; color:var(--ink-60);
  border-top:1px solid var(--line-2);
}
.footer-brand .logo, .footer-col h4{ color:var(--ink); font-family:var(--font-body); font-stretch:100%; text-transform:none; letter-spacing:0; font-size:14px; }
.footer-col a{ color:var(--ink-60); }
.footer-col a:hover{ color:var(--green-500); }
.footer-bottom{ border-top-color:var(--line); }
.footer-bottom a{ color:var(--ink-40) !important; }
.footer-bottom a:hover{ color:var(--ink) !important; }
.logo-mark{ border-radius:0; background:var(--green-500); color:#04122E; }

/* ── Blog single ── */
.blog-section-subtitle, .blog-paragraph-content p{ color:var(--ink-60); }
.blog-paragraph-content h3{ color:var(--ink); }
ul{ color:var(--ink-60); }
.entry-content a{ text-decoration:underline; text-decoration-color:var(--line-3); text-underline-offset:3px; }
.entry-content a:hover{ text-decoration-color:var(--green-500); }

/* ── Native Elementor pages (Who we are, Eco-construction, header/footer builder) ── */
body .elementor .elementor-section, body .elementor .e-con, body .elementor .elementor-column-wrap, body .elementor .elementor-widget-wrap{
  background-color:transparent !important;
}
body .elementor .elementor-section, body .elementor .e-con{ border-color:var(--line); }
.elementor-heading-title, .elementor-widget-heading .elementor-heading-title{ color:var(--ink) !important; font-family:var(--font-display); font-stretch:116%; font-weight:400; letter-spacing:-.012em; }
.elementor-widget-text-editor, .elementor-widget-text-editor p, .elementor-icon-box-description,
.elementor-image-box-description, .hfe-infocard-text, .hfe-infocard-text-wrap p{ color:var(--ink-60) !important; font-family:var(--font-body); }
.elementor-icon-box-title, .elementor-image-box-title, .hfe-infocard-title{ color:var(--ink) !important; font-family:var(--font-body); font-weight:600; }
.elementor-icon-box-title a, .elementor-image-box-title a{ color:var(--ink) !important; }
.elementor-icon, .elementor-icon i, .elementor-icon svg{ color:var(--green-500) !important; fill:var(--green-500) !important; }
.elementor-button{ border-radius:0 !important; font-family:var(--font-body); }
.elementor-button.elementor-size-sm, .elementor-button{ background:var(--green-500); color:#04122E !important; }
.elementor-widget-divider .elementor-divider-separator{ border-color:var(--line-2) !important; }
.elementor-widget-image img{ border-radius:0; }
.elementor-widget-image-box img, .hfe-infocard img{ filter:saturate(.9) brightness(.92); }
.elementor-progress-bar{ background:var(--green-500) !important; }
.elementor-progress-wrapper{ background:var(--bp-3) !important; border-radius:0 !important; }
.hfe-infocard{ background:var(--bp-1); border:1px solid var(--line); padding:24px; transition:border-color .2s; }
.hfe-infocard:hover{ border-color:var(--green-500); }

/* ── Cookie / security / misc plugin widgets stay readable ── */
.wp-block-search__input, .search-field{ background:var(--bp-1); color:var(--ink); border:1px solid var(--line-2); border-radius:0; }

/* ═══════════ THE DRAFTING CURSOR ═══════════
   Crosshair with a CAD pick-box. Over anything clickable it snaps to the
   element and dimensions it, like a measured plan. JS: assets/js/blueprint.js */
html.rb-ready, html.rb-ready *{ cursor:none !important; }
html.rb-ready input, html.rb-ready textarea, html.rb-ready select, html.rb-ready [contenteditable="true"]{ cursor:auto !important; }
html.rb-ready input[type=submit], html.rb-ready input[type=button]{ cursor:none !important; }

.rb-layer{ position:fixed; inset:0; z-index:2147483000; pointer-events:none; overflow:hidden; }
.rb-layer *{ pointer-events:none !important; }
.rb-hide .rb-cross, .rb-hide .rb-xy{ opacity:0; }

.rb-cross{ position:absolute; left:0; top:0; width:0; height:0; will-change:transform; transition:opacity .15s; }
.rb-cross i{ position:absolute; background:var(--ink); opacity:.9; box-shadow:0 0 0 1px rgba(6,11,28,.55); }
.rb-cross .a{ left:-22px; top:0; width:14px; height:1px; }
.rb-cross .b{ left:8px;   top:0; width:14px; height:1px; }
.rb-cross .c{ top:-22px; left:0; height:14px; width:1px; }
.rb-cross .d{ top:8px;   left:0; height:14px; width:1px; }
.rb-cross .pick{
  position:absolute; left:-4px; top:-4px; width:9px; height:9px;
  border:1px solid var(--green-500); background:transparent;
  box-shadow:0 0 0 1px rgba(6,11,28,.85), inset 0 0 0 1px rgba(6,11,28,.35);
  transition:transform .14s ease, background .14s ease;
}
.rb-down .rb-cross .pick{ transform:scale(.55); background:var(--green-500); }
.rb-snap .rb-cross .a, .rb-snap .rb-cross .b, .rb-snap .rb-cross .c, .rb-snap .rb-cross .d{ opacity:.35; }

.rb-xy{
  position:absolute; left:0; top:0; will-change:transform; white-space:nowrap;
  font-size:10.5px; line-height:1; color:var(--ink-60); letter-spacing:.04em;
  padding:3px 6px; background:rgba(6,11,28,.78); border:1px solid var(--line-2);
  transition:opacity .15s;
}
.rb-snap .rb-xy{ opacity:0; }

.rb-frame{ position:absolute; left:0; top:0; width:0; height:0; opacity:0; will-change:transform,width,height; transition:opacity .15s; }
.rb-snap .rb-frame{ opacity:1; }
.rb-frame .k{ position:absolute; width:11px; height:11px; border:0 solid var(--green-500); }
.rb-frame .tl{ left:-3px; top:-3px; border-left-width:2px; border-top-width:2px; }
.rb-frame .tr{ right:-3px; top:-3px; border-right-width:2px; border-top-width:2px; }
.rb-frame .bl{ left:-3px; bottom:-3px; border-left-width:2px; border-bottom-width:2px; }
.rb-frame .br{ right:-3px; bottom:-3px; border-right-width:2px; border-bottom-width:2px; }
.rb-frame .wash{ position:absolute; inset:0; background:rgba(1,198,118,.06); outline:1px dashed rgba(1,198,118,.35); outline-offset:-1px; }

/* dimension lines: top = width, right = height */
.rb-dim{ position:absolute; background:var(--green-500); opacity:.9; }
.rb-dim.w{ left:0; right:0; top:-14px; height:1px; }
.rb-dim.w::before, .rb-dim.w::after{ content:''; position:absolute; top:-4px; width:1px; height:9px; background:var(--green-500); }
.rb-dim.w::before{ left:0; } .rb-dim.w::after{ right:0; }
.rb-dim.h{ top:0; bottom:0; right:-14px; width:1px; }
.rb-dim.h::before, .rb-dim.h::after{ content:''; position:absolute; left:-4px; height:1px; width:9px; background:var(--green-500); }
.rb-dim.h::before{ top:0; } .rb-dim.h::after{ bottom:0; }
.rb-dim span{
  position:absolute; font-size:10.5px; line-height:1; color:var(--green-500); background:var(--bp-0);
  padding:2px 5px; white-space:nowrap; letter-spacing:.03em;
}
.rb-dim.w span{ left:50%; top:50%; transform:translate(-50%,-50%); }
.rb-dim.h span{ left:8px; top:50%; transform:translateY(-50%); }
.rb-right .rb-dim.h span{ left:auto; right:8px; }
/* flip dimension lines inside the frame when the element touches a viewport edge */
.rb-top .rb-dim.w{ top:auto; bottom:-14px; }
.rb-right .rb-dim.h{ right:auto; left:-14px; }

@media (hover:none), (pointer:coarse){ .rb-layer{ display:none !important; } }
@media (prefers-reduced-motion:reduce){
  .rb-frame, .rb-cross, .rb-cross .pick, .rb-xy{ transition:none; }
  .main-header-menu > .menu-item > a.menu-link::after{ transition:none; }
}

/* ── Small screens ── */
@media (max-width:900px){
  .hero{ min-height:auto; }
  .hero::after{ display:none; }
  .hero::before{ left:6vw; bottom:16px; }
  .stat-num{ font-size:34px; }
}

/* ── Small clean-ups found while testing ── */
[style*="DM Serif Display"]{ font-family:var(--font-display) !important; font-stretch:116%; font-weight:400; }
[style*="DM Sans"]{ font-family:var(--font-body) !important; }
.pricing-tier, .pricing-card .pricing-tier, .academy-level{ text-transform:none; letter-spacing:0; font-size:13px; font-weight:500; }
.academy-level{ font-size:12px; }
footer .footer-col h4{ text-transform:none; letter-spacing:0; font-family:var(--font-body); font-stretch:100%; font-size:14px; font-weight:600; color:var(--ink); }

/* Inline-rounded boxes in the page HTML → square, drafted corners */
div[style*="border-radius: 10px"], div[style*="border-radius: 16px"], div[style*="border-radius: 20px"]{ border-radius:0 !important; }
div[style*="background: var(--green-50)"][style*="border"]{ background:rgba(1,198,118,.06) !important; border-color:rgba(1,198,118,.35) !important; }

/* Forminator */
.forminator-ui .forminator-label, .forminator-ui .forminator-description, .forminator-ui .forminator-checkbox-label, .forminator-ui .forminator-radio-label{ color:var(--ink-60) !important; font-family:var(--font-body) !important; }
.forminator-ui .forminator-input, .forminator-ui .forminator-textarea{ background:var(--bp-1) !important; color:var(--ink) !important; border:1px solid var(--line-2) !important; border-radius:0 !important; }
.forminator-ui .forminator-input:focus, .forminator-ui .forminator-textarea:focus{ border-color:var(--green-500) !important; box-shadow:0 0 0 3px rgba(1,198,118,.15) !important; }
.forminator-ui .forminator-error-message{ color:#FF7A7A !important; }
.forminator-ui .forminator-response-message{ background:var(--bp-2) !important; color:var(--ink) !important; border-radius:0 !important; }
.forminator-ui .forminator-button-submit{ background:var(--green-500) !important; color:#04122E !important; border-radius:0 !important; }
