/*
Theme Name:   Antimony Metals & Minerals Child
Theme URI:    https://www.ametalsnminerals.com
Description:  Divi 5 child theme for Antimony Metals & Minerals FZCO. Brand tokens, Oswald/Barlow type scale, Theme Builder header & footer, form styling, and the am-* component system used by antimony-home-DIVI5.json.
Author:       Creative Dimensions
Template:     Divi
Version:      11.0.1
Text Domain:  antimony-child
*/

/* ============================================================
   HOW THIS FILE WORKS
   ------------------------------------------------------------
   Every component rule is authored with the "body #page-container"
   prefix inline. That is deliberate: Divi 5 emits per-module CSS
   at ID specificity, so a bare .am-card selector silently loses.
   Do NOT add rules without the prefix, and do not set colours or
   font sizes on modules in the Divi UI - a module value becomes a
   static override and beats this file.

   Classes in Divi 5: Module -> Advanced -> Attributes ->
   Add Attribute, Target: Module, Name: class, Value: am-card
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  --am-ink:#050b14; --am-navy-900:#040a12; --am-navy-800:#061426;
  --am-navy-700:#0a1f3a; --am-navy-600:#0c1e33; --am-navy-500:#0d2c52;
  --am-blue:#1273cf; --am-blue-dark:#0f66c4; --am-blue-light:#1e8ae8;
  --am-accent:#2f9bf5; --am-accent-2:#3aa0f5; --am-accent-3:#7cc2ff;
  --am-silver:#93a6ba; --am-body-dark:#adbdcd; --am-body-light:#4a5f77;
  --am-muted:#7f96ad; --am-line-dark:rgba(120,160,200,0.22);
  --am-bg-light:#f3f6f9; --am-bg-white:#ffffff; --am-line-light:#dbe3ec;
  --am-head:'Oswald','Helvetica Neue',Arial,sans-serif;
  --am-body:'Barlow','Helvetica Neue',Arial,sans-serif;
  --am-container:1360px;
}

/* ---------- 2. BASE ---------- */
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
#page-container{ background:var(--am-ink); }
#page-container [id]{ scroll-margin-top:118px; }
@media (max-width:980px){ #page-container [id]{ scroll-margin-top:84px; } }
body,.et_pb_module{ font-family:var(--am-body); font-size:17px; line-height:1.7; color:var(--am-body-dark); }
h1,h2,h3,h4,h5,h6{ font-family:var(--am-head); font-weight:500; text-transform:uppercase; line-height:1.12; letter-spacing:.01em; }
a{ color:var(--am-accent-2); text-decoration:none; }
a:hover{ color:var(--am-accent-3); }
::selection{ background:var(--am-accent); color:#fff; }
.et_pb_scroll_top{ background:var(--am-blue); border-radius:0; }

/* ---------- 3. SECTION SHELLS ---------- */
/* Hero and Applications: the background PHOTO now lives in the layout
   (background.image.url), so the client can swap it in the Divi UI.
   The overlay stays here as a pseudo-element rather than Divi's
   "Place Gradient Above Background Image" toggle, because that toggle
   needs semi-transparent colour stops and Divi 5's gradient schema
   carries no direction key - these overlays are 90deg and 180deg. */
body #page-container .et_pb_section.am-s-hero,
body #page-container .et_pb_section.am-s-apps{
  position:relative; background-size:cover; background-position:center; background-repeat:no-repeat;
}
body #page-container .et_pb_section.am-s-hero:before,
body #page-container .et_pb_section.am-s-apps:before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
}
body #page-container .et_pb_section.am-s-hero:before{
  background:linear-gradient(90deg,rgba(4,9,17,.97) 0%,rgba(4,9,17,.86) 42%,rgba(4,9,17,.5) 100%);
}
body #page-container .et_pb_section.am-s-apps:before{
  background:linear-gradient(180deg,rgba(4,10,18,.94),rgba(4,10,18,.9));
}
body #page-container .et_pb_section.am-s-hero > .et_pb_row,
body #page-container .et_pb_section.am-s-apps > .et_pb_row{ position:relative; z-index:2; }
body #page-container .et_pb_section.am-s-dark{
  background:linear-gradient(160deg,var(--am-navy-800),var(--am-navy-700) 60%,var(--am-navy-800));
}
body #page-container .et_pb_section.am-s-light{ background:var(--am-bg-light); }
body #page-container .et_pb_section.am-s-white{ background:var(--am-bg-white); }
body #page-container .et_pb_section.am-s-band{
  background:linear-gradient(90deg,#071527,#0f3868 50%,#071527);
  border-top:1px solid rgba(58,160,245,.35);
}
body #page-container .et_pb_section.am-s-trust{
  background:linear-gradient(90deg,#08192e,var(--am-navy-500) 50%,#08192e);
  border-top:1px solid rgba(58,160,245,.3); border-bottom:1px solid rgba(58,160,245,.3);
}
body #page-container .et_pb_section[class*="am-s-"] > .et_pb_row{ max-width:var(--am-container); }

body #page-container .am-s-dark h1, body #page-container .am-s-dark h2, body #page-container .am-s-dark h3, body #page-container .am-s-dark h4,
body #page-container .am-s-hero h1, body #page-container .am-s-hero h2, body #page-container .am-s-hero h3, body #page-container .am-s-hero h4,
body #page-container .am-s-apps h1, body #page-container .am-s-apps h2, body #page-container .am-s-apps h3, body #page-container .am-s-apps h4,
body #page-container .am-s-band h1, body #page-container .am-s-band h2, body #page-container .am-s-band h3, body #page-container .am-s-band h4,
body #page-container .am-s-trust h1, body #page-container .am-s-trust h2, body #page-container .am-s-trust h3, body #page-container .am-s-trust h4{
  color:#ffffff !important;
}
body #page-container .am-s-dark .et_pb_text p, body #page-container .am-s-dark .et_pb_text li,
body #page-container .am-s-hero .et_pb_text p, body #page-container .am-s-hero .et_pb_text li,
body #page-container .am-s-apps .et_pb_text p, body #page-container .am-s-apps .et_pb_text li{
  color:var(--am-body-dark) !important;
}
body #page-container .am-s-light h1, body #page-container .am-s-light h2, body #page-container .am-s-light h3, body #page-container .am-s-light h4,
body #page-container .am-s-light h5, body #page-container .am-s-light h6,
body #page-container .am-s-white h1, body #page-container .am-s-white h2, body #page-container .am-s-white h3, body #page-container .am-s-white h4,
body #page-container .am-s-white h5, body #page-container .am-s-white h6{
  color:var(--am-navy-600) !important;
}
body #page-container .am-s-light .et_pb_text p, body #page-container .am-s-light .et_pb_text li,
body #page-container .am-s-white .et_pb_text p, body #page-container .am-s-white .et_pb_text li{
  color:var(--am-body-light) !important;
}

/* ---------- 4. TEXT PRIMITIVES ---------- */
body #page-container .et_pb_text.am-m-eyebrow .et_pb_text_inner p,
body #page-container .et_pb_text.am-m-eyebrow .et_pb_text_inner{
  font-family:var(--am-body) !important; font-size:13px !important; font-weight:700 !important;
  letter-spacing:.24em !important; text-transform:uppercase !important;
  line-height:1.4 !important; color:var(--am-accent-2) !important; margin:0 !important;
}
body #page-container .am-s-light .et_pb_text.am-m-eyebrow .et_pb_text_inner p,
body #page-container .am-s-light .et_pb_text.am-m-eyebrow .et_pb_text_inner,
body #page-container .am-s-white .et_pb_text.am-m-eyebrow .et_pb_text_inner p,
body #page-container .am-s-white .et_pb_text.am-m-eyebrow .et_pb_text_inner{
  color:#0f66c4 !important;
}
body #page-container .et_pb_text.am-m-h1 h1{
  font-family:var(--am-head) !important; font-size:clamp(31px,5.1vw,60px) !important;
  font-weight:600 !important; line-height:1.07 !important; text-transform:uppercase !important;
  letter-spacing:.01em !important; color:#ffffff !important; margin:0 !important;
}
body #page-container .et_pb_text.am-m-h2 h2{
  font-family:var(--am-head) !important; font-size:clamp(26px,3.6vw,42px) !important;
  font-weight:500 !important; line-height:1.13 !important; text-transform:uppercase !important;
  letter-spacing:.01em !important; margin:0 !important;
}
body #page-container .et_pb_text.am-m-body .et_pb_text_inner p{
  font-family:var(--am-body) !important; font-size:clamp(16px,1.5vw,17.5px) !important;
  line-height:1.7 !important; text-wrap:pretty;
}
body #page-container .et_pb_text.am-m-intro .et_pb_text_inner p{
  font-size:clamp(16.5px,1.6vw,19px) !important; line-height:1.7 !important;
  color:#bccbda !important; max-width:560px;
}
body #page-container .et_pb_text.am-m-pill .et_pb_text_inner{
  display:inline-block; max-width:100%; border:1px solid rgba(58,160,245,.4);
  padding:9px 16px; font-size:12px; font-weight:600; letter-spacing:.18em;
  line-height:1.65; text-transform:uppercase; color:var(--am-accent-3) !important; white-space:nowrap;
}
body #page-container .et_pb_text.am-m-pill .et_pb_text_inner p{
  margin:0 !important; color:inherit !important; font-size:inherit !important;
  letter-spacing:inherit !important; text-transform:inherit !important; font-weight:inherit !important;
}
@media (max-width:900px){ body #page-container .am-m-pill .et_pb_text_inner{ letter-spacing:.13em; font-size:11px; padding:8px 13px; } }
@media (max-width:400px){ body #page-container .am-m-pill .et_pb_text_inner{ letter-spacing:.1em; font-size:10.5px; } }

body #page-container .am-m-h1 .am-silver{
  background:linear-gradient(180deg,#ffffff,var(--am-silver));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
body #page-container .am-m-h1 .am-accent, body #page-container .am-m-h2 .am-accent{ color:var(--am-accent) !important; }
body #page-container .am-rule-el{ width:108px; height:3px; background:var(--am-accent); margin:32px 0 24px; }

/* ---------- 5. BUTTONS (native Divi 5 Button modules) ----------
   The layout uses real wp:divi/button modules so the client edits
   them in the Button UI. Appearance is here rather than in the
   layout because Divi 5's gradient schema carries no direction
   key - its default runs top-to-bottom and these need 90deg.

   Each rule matches the class on the module wrapper AND on the
   button element, because Divi's Attributes panel can target
   either and the export sets both. */
body #page-container .am-btn .et_pb_button,
body #page-container .et_pb_button.am-btn,
body #page-container .am-btn-ghost .et_pb_button,
body #page-container .et_pb_button.am-btn-ghost,
body #page-container .am-btn-outline .et_pb_button,
body #page-container .et_pb_button.am-btn-outline,
body #page-container .am-btn-white .et_pb_button,
body #page-container .et_pb_button.am-btn-white{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--am-head) !important; font-size:clamp(13.5px,1.3vw,15px) !important;
  font-weight:500 !important; letter-spacing:.1em !important; text-transform:uppercase !important;
  padding:17px 32px !important; text-decoration:none !important; white-space:nowrap;
  border-radius:0 !important; border:none;
  transition:background .25s ease, transform .25s ease, border-color .25s ease;
}
body #page-container .am-btn .et_pb_button:after,
body #page-container .et_pb_button.am-btn:after,
body #page-container .am-btn-ghost .et_pb_button:after,
body #page-container .et_pb_button.am-btn-ghost:after,
body #page-container .am-btn-outline .et_pb_button:after,
body #page-container .et_pb_button.am-btn-outline:after,
body #page-container .am-btn-white .et_pb_button:after,
body #page-container .et_pb_button.am-btn-white:after{ display:none !important; }

/* primary */
body #page-container .am-btn .et_pb_button,
body #page-container .et_pb_button.am-btn{
  background:linear-gradient(90deg,var(--am-blue-dark),var(--am-blue-light)) !important;
  color:#ffffff !important;
}
body #page-container .am-btn .et_pb_button:hover,
body #page-container .et_pb_button.am-btn:hover{
  background:linear-gradient(90deg,#1477d6,#37a2f2) !important;
  color:#ffffff !important; transform:translateY(-2px); padding:17px 32px !important;
}
/* ghost, on dark */
body #page-container .am-btn-ghost .et_pb_button,
body #page-container .et_pb_button.am-btn-ghost{
  background:transparent !important; border:1px solid rgba(180,203,226,.45) !important; color:#e5edf5 !important;
}
body #page-container .am-btn-ghost .et_pb_button:hover,
body #page-container .et_pb_button.am-btn-ghost:hover{
  background:transparent !important; border-color:var(--am-accent) !important; color:#ffffff !important; padding:17px 32px !important;
}
/* outline, on light */
body #page-container .am-btn-outline .et_pb_button,
body #page-container .et_pb_button.am-btn-outline{
  background:transparent !important; border:1px solid var(--am-blue) !important; color:var(--am-blue) !important;
}
body #page-container .am-btn-outline .et_pb_button:hover,
body #page-container .et_pb_button.am-btn-outline:hover{
  background:var(--am-blue) !important; color:#ffffff !important; padding:17px 32px !important;
}
/* solid white, CTA band */
body #page-container .am-btn-white .et_pb_button,
body #page-container .et_pb_button.am-btn-white{
  background:#ffffff !important; color:var(--am-navy-600) !important; padding:18px 34px !important;
}
body #page-container .am-btn-white .et_pb_button:hover,
body #page-container .et_pb_button.am-btn-white:hover{
  background:var(--am-accent) !important; color:#ffffff !important; padding:18px 34px !important;
}
/* spacing between stacked button modules */
body #page-container .et_pb_button_module_wrapper{ display:inline-block; margin:0 16px 12px 0; }
body #page-container .am-s-band .et_pb_button_module_wrapper{ margin:0; text-align:right; display:block; }
@media (max-width:980px){
  body #page-container .am-s-band .et_pb_button_module_wrapper{ text-align:left; }
}
@media (max-width:560px){
  body #page-container .et_pb_button_module_wrapper{ display:block; margin:0 0 12px 0; }
  body #page-container .am-btn .et_pb_button,
  body #page-container .et_pb_button.am-btn,
  body #page-container .am-btn-ghost .et_pb_button,
  body #page-container .et_pb_button.am-btn-ghost,
  body #page-container .am-btn-outline .et_pb_button,
  body #page-container .et_pb_button.am-btn-outline,
  body #page-container .am-btn-white .et_pb_button,
  body #page-container .et_pb_button.am-btn-white{ width:100%; justify-content:center; }
}

/* ---------- 6. TRUST BAR ----------
   Six equal columns as a grid on the ROW, because Divi 5's column
   element is not .et_pb_column - so it is targeted as "> *". */
body #page-container .am-r-trust{
  display:grid !important; grid-template-columns:repeat(6,1fr);
  width:90%; max-width:var(--am-container); margin-left:auto; margin-right:auto;
  padding:0 !important;
}
body #page-container .am-r-trust > *{
  border-left:1px solid rgba(120,160,200,.16);
  padding:clamp(18px,2.4vw,26px) clamp(12px,1.6vw,18px) !important;
  margin:0 !important; width:auto !important; min-width:0;
  display:flex; align-items:center;
}
@media (max-width:1180px){
  body #page-container .am-r-trust{ grid-template-columns:repeat(3,1fr); }
  body #page-container .am-r-trust > *:nth-child(n+4){ border-top:1px solid rgba(120,160,200,.16); }
}
@media (max-width:620px){
  body #page-container .am-r-trust{ grid-template-columns:repeat(2,1fr); }
  body #page-container .am-r-trust > *:nth-child(n+3){ border-top:1px solid rgba(120,160,200,.16); }
}
body #page-container .et_pb_text[class*="am-t-"] .et_pb_text_inner{
  display:flex; align-items:center; gap:clamp(11px,1.4vw,15px); min-width:0;
}
body #page-container .et_pb_text[class*="am-t-"] .et_pb_text_inner:before{
  content:''; flex:none; width:36px; height:36px;
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
body #page-container .et_pb_text[class*="am-t-"] .et_pb_text_inner p{
  font-family:var(--am-head) !important; font-size:14px !important; font-weight:400 !important;
  letter-spacing:.09em !important; text-transform:uppercase !important;
  color:#dfe9f3 !important; line-height:1.35 !important; margin:0 !important;
}
body #page-container .am-t-global .et_pb_text_inner:before{ background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233aa0f5%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M2%2012h20%22%2F%3E%3Cpath%20d%3D%22M12%202a15.3%2015.3%200%200%201%204%2010%2015.3%2015.3%200%200%201-4%2010%2015.3%2015.3%200%200%201-4-10%2015.3%2015.3%200%200%201%204-10z%22%2F%3E%3C%2Fsvg%3E"); }
body #page-container .am-t-quality .et_pb_text_inner:before{ background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233aa0f5%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2022s8-4%208-10V5l-8-3-8%203v7c0%206%208%2010%208%2010z%22%2F%3E%3Cpath%20d%3D%22m8.5%2012%202.5%202.5%204.5-5%22%2F%3E%3C%2Fsvg%3E"); }
body #page-container .am-t-partners .et_pb_text_inner:before{ background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233aa0f5%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m11%2017%202%202a1%201%200%201%200%203-3%22%2F%3E%3Cpath%20d%3D%22m14%2014%202.5%202.5a1%201%200%201%200%203-3l-3.88-3.88a3%203%200%200%200-4.24%200l-.88.88a1%201%200%201%201-3-3l2.81-2.81a5.79%205.79%200%200%201%207.06-.87l.47.28a2%202%200%200%200%201.42.25L21%204%22%2F%3E%3Cpath%20d%3D%22m21%203%201%2011h-2%22%2F%3E%3Cpath%20d%3D%22M3%203%202%2014l6.5%206.5a1%201%200%201%200%203-3%22%2F%3E%3Cpath%20d%3D%22M3%204h8%22%2F%3E%3C%2Fsvg%3E"); }
body #page-container .am-t-pricing .et_pb_text_inner:before{ background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233aa0f5%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z%22%2F%3E%3Cpath%20d%3D%22M14%202v6h6%22%2F%3E%3Cpath%20d%3D%22M12%2011v6%22%2F%3E%3Cpath%20d%3D%22M13.8%2012.5h-2.6a1.4%201.4%200%200%200%200%202.8h1.6a1.4%201.4%200%200%201%200%202.8h-2.6%22%2F%3E%3C%2Fsvg%3E"); }
body #page-container .am-t-supply .et_pb_text_inner:before{ background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233aa0f5%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%2018V6a2%202%200%200%200-2-2H4a2%202%200%200%200-2%202v11a1%201%200%200%200%201%201h2%22%2F%3E%3Cpath%20d%3D%22M15%2018H9%22%2F%3E%3Cpath%20d%3D%22M19%2018h2a1%201%200%200%200%201-1v-3.65a1%201%200%200%200-.22-.62l-3.48-4.35A1%201%200%200%200%2017.52%208H14%22%2F%3E%3Ccircle%20cx%3D%227%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2217%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E"); }
body #page-container .am-t-support .et_pb_text_inner:before{ background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%233aa0f5%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2014h3a2%202%200%200%201%202%202v3a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-7a9%209%200%200%201%2018%200v7a2%202%200%200%201-2%202h-1a2%202%200%200%201-2-2v-3a2%202%200%200%201%202-2h3%22%2F%3E%3Cpath%20d%3D%22M12%2021h2.5a2.5%202.5%200%200%200%202.5-2.5%22%2F%3E%3C%2Fsvg%3E"); }
@media (max-width:620px){
  body #page-container .et_pb_text[class*="am-t-"] .et_pb_text_inner:before{ width:30px; height:30px; }
  body #page-container .et_pb_text[class*="am-t-"] .et_pb_text_inner p{ font-size:12.5px !important; }
}

/* ---------- 7. STAT GRID ----------
   Rows are aligned with subgrid so the label / figure / caption of all
   four stats sit on the same three baselines even when a label or
   caption wraps to two lines. Explicit line-height is required: Divi's
   own p line-height of 1.7 made a two-line label overflow the old
   min-height, which is why the 3rd stat sat lower than the others. */
body #page-container .et_pb_text.am-m-statgrid .et_pb_text_inner{
  display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:auto auto auto;
}
body #page-container .am-m-statgrid .et_pb_text_inner > div{
  display:grid; grid-template-rows:subgrid; grid-row:span 3;
  padding:12px 20px; border-left:1px solid rgba(120,160,200,.2); text-align:center;
}
body #page-container .am-m-statgrid .et_pb_text_inner > div > p{ margin:0 !important; }
body #page-container .am-m-statgrid .et_pb_text_inner > div > p:nth-child(1){
  font-size:12px !important; font-weight:700 !important; letter-spacing:.16em !important;
  line-height:1.35 !important; text-transform:uppercase !important; color:#8fa9c2 !important;
  min-height:2.7em; display:flex; align-items:flex-start; justify-content:center;
}
body #page-container .am-m-statgrid .et_pb_text_inner > div > p:nth-child(2){
  font-family:var(--am-head) !important; font-size:clamp(32px,3.6vw,48px) !important;
  font-weight:500 !important; color:var(--am-accent) !important; line-height:1.15 !important;
  margin:10px 0 8px !important; display:flex; align-items:center; justify-content:center;
}
body #page-container .am-m-statgrid .et_pb_text_inner > div > p:nth-child(3){
  font-size:13.5px !important; font-weight:500 !important; letter-spacing:.07em !important;
  line-height:1.35 !important; text-transform:uppercase !important; color:#dbe4ee !important;
  min-height:2.7em; display:flex; align-items:flex-start; justify-content:center;
}
@media (max-width:1080px){ body #page-container .et_pb_text.am-m-statgrid .et_pb_text_inner{ grid-template-columns:repeat(2,1fr); row-gap:26px; } }
@media (max-width:560px){
  body #page-container .et_pb_text.am-m-statgrid .et_pb_text_inner{ grid-template-columns:1fr; row-gap:0; }
  body #page-container .am-m-statgrid .et_pb_text_inner > div{ border-left:none; border-top:1px solid rgba(120,160,200,.2); padding:18px 20px; }
  body #page-container .am-m-statgrid .et_pb_text_inner > div > p:nth-child(1){ min-height:0; }
  body #page-container .am-m-statgrid .et_pb_text_inner > div > p:nth-child(3){ min-height:0; }
}

/* ---------- 8. GRADE CARD ---------- */
body #page-container .et_pb_text.am-m-card{ height:100%; }
body #page-container .et_pb_text.am-m-card .et_pb_text_inner{
  background:#fff; border:1px solid var(--am-line-light); border-top:3px solid var(--am-blue);
  padding:34px 32px 30px; height:100%; transition:box-shadow .25s ease, transform .25s ease;
}
body #page-container .et_pb_text.am-m-card:hover .et_pb_text_inner{ box-shadow:0 18px 40px rgba(16,45,80,.12); transform:translateY(-3px); }
body #page-container .am-m-card h3{
  font-family:var(--am-head) !important; font-size:clamp(30px,3vw,38px) !important;
  font-weight:600 !important; color:var(--am-navy-600) !important; margin:0 0 6px !important;
  text-transform:none !important; letter-spacing:0 !important;
}
body #page-container .am-m-card h3 em{ font-style:normal; font-size:18px; font-weight:400; color:var(--am-blue) !important; }
body #page-container .am-m-card h4{
  font-family:var(--am-body) !important; font-size:13px !important; font-weight:700 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  color:#64748b !important; margin:0 0 22px !important;
}
body #page-container .am-m-card p{ font-size:16px !important; line-height:1.7 !important; color:var(--am-body-light) !important; }
body #page-container .am-m-card table{ width:100%; border-top:1px solid #e6ecf3; margin-top:18px; }
body #page-container .am-m-card table td{ padding:5px 0; font-size:14.5px; border:none; }
body #page-container .am-m-card table td:first-child{ color:#64748b !important; }
body #page-container .am-m-card table td:last-child{ color:#10233a !important; font-weight:600; text-align:right; }

/* ---------- 9. DARK PANEL ---------- */
body #page-container .et_pb_text.am-m-panel{ height:100%; }
body #page-container .et_pb_text.am-m-panel .et_pb_text_inner{ background:var(--am-navy-600); padding:38px 36px; height:100%; }
body #page-container .am-m-panel h3{
  font-family:var(--am-head) !important; font-size:22px !important; font-weight:500 !important;
  letter-spacing:.06em !important; text-transform:uppercase !important; color:#ffffff !important;
  border-bottom:1px solid rgba(120,160,200,.3); padding-bottom:14px; margin:0 0 22px !important;
}
/* The panel is dark but lives inside a LIGHT section, so it has to
   outrank .am-s-light .et_pb_text li — hence the section class here. */
body #page-container .am-m-panel p, body #page-container .am-m-panel li,
body #page-container .am-s-light .am-m-panel p, body #page-container .am-s-light .am-m-panel li,
body #page-container .am-s-light .et_pb_text.am-m-panel .et_pb_text_inner p,
body #page-container .am-s-light .et_pb_text.am-m-panel .et_pb_text_inner li{
  color:var(--am-body-dark) !important;
}
body #page-container .am-s-light .am-m-panel li strong,
body #page-container .am-m-panel li strong{ color:#eaf1f8 !important; }

/* ---------- 10. APPLICATION TILE ---------- */
body #page-container .et_pb_text.am-m-tile{ height:100%; }
body #page-container .et_pb_text.am-m-tile .et_pb_text_inner{
  background:rgba(10,26,46,.78); border:1px solid var(--am-line-dark); padding:30px 28px; height:100%;
  transition:border-color .25s ease, background .25s ease, transform .25s ease;
}
body #page-container .et_pb_text.am-m-tile:hover .et_pb_text_inner{ border-color:var(--am-accent-2); background:rgba(13,36,64,.9); transform:translateY(-3px); }
body #page-container .am-m-tile h4{
  font-family:var(--am-head) !important; font-size:15px !important; font-weight:400 !important;
  letter-spacing:.1em !important; color:var(--am-accent) !important; margin:0 0 14px !important;
  text-transform:none !important;
}
body #page-container .am-m-tile h3{
  font-family:var(--am-head) !important; font-size:clamp(18px,1.7vw,21px) !important;
  font-weight:500 !important; letter-spacing:.04em !important; text-transform:uppercase !important;
  color:#ffffff !important; margin:0 0 12px !important;
}
body #page-container .am-m-tile p{ font-size:16px !important; line-height:1.7 !important; color:#a2b4c7 !important; }

/* ---------- 11. INDUSTRY GRID ---------- */
body #page-container .et_pb_text.am-m-hairgrid .et_pb_text_inner{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--am-line-light); border:1px solid var(--am-line-light);
}
body #page-container .am-m-hairgrid .et_pb_text_inner > div{
  background:#fff; padding:28px 26px; transition:background .25s ease;
}
body #page-container .am-m-hairgrid .et_pb_text_inner > div:hover{ background:#f3f7fb; }
body #page-container .am-m-hairgrid h4{
  font-family:var(--am-head) !important; font-size:18px !important; font-weight:500 !important;
  letter-spacing:.04em !important; text-transform:uppercase !important;
  color:var(--am-navy-600) !important; margin:0 0 8px !important;
}
body #page-container .am-m-hairgrid h4:before{ content:''; display:block; width:30px; height:3px; background:var(--am-blue); margin-bottom:16px; }
body #page-container .am-m-hairgrid p{ font-size:15.5px !important; line-height:1.65 !important; color:#5d7189 !important; margin:0 !important; }
@media (max-width:760px){ body #page-container .et_pb_text.am-m-hairgrid .et_pb_text_inner{ grid-template-columns:1fr; } }

/* ---------- 12. FEATURE CARD ---------- */
body #page-container .et_pb_text.am-m-feat{ height:100%; }
body #page-container .et_pb_text.am-m-feat .et_pb_text_inner{
  background:#fff; border:1px solid var(--am-line-light);
  padding:26px 24px 26px 46px; height:100%; position:relative;
  transition:box-shadow .25s ease, transform .25s ease;
}
body #page-container .et_pb_text.am-m-feat .et_pb_text_inner:before{
  content:''; position:absolute; left:24px; top:32px; width:9px; height:9px;
  background:var(--am-blue); transform:rotate(45deg);
}
body #page-container .et_pb_text.am-m-feat:hover .et_pb_text_inner{ box-shadow:0 14px 32px rgba(16,45,80,.12); transform:translateY(-3px); }
body #page-container .am-m-feat h4{
  font-family:var(--am-body) !important; font-size:16.5px !important; font-weight:600 !important;
  text-transform:none !important; letter-spacing:0 !important; line-height:1.4 !important;
  color:var(--am-navy-600) !important; margin:0 0 5px !important;
}
body #page-container .am-m-feat p{ font-size:15px !important; line-height:1.6 !important; color:#5d7189 !important; margin:0 !important; }

/* ---------- 13. BADGE ---------- */
body #page-container .et_pb_text.am-m-badge{
  position:relative; z-index:5;
  margin-top:-60px !important; margin-left:24px !important;
}
body #page-container .et_pb_text.am-m-badge .et_pb_text_inner{
  display:inline-block;
  background:linear-gradient(135deg,var(--am-blue-dark),var(--am-blue-light));
  padding:26px 30px; max-width:260px; box-shadow:0 12px 30px rgba(4,10,18,.35);
}
body #page-container .am-m-badge .et_pb_text_inner > *:first-child{ margin-top:0 !important; }
body #page-container .am-m-badge h3{
  font-family:var(--am-head) !important; font-size:34px !important; font-weight:600 !important;
  color:#ffffff !important; line-height:1 !important; margin:0 !important; text-transform:none !important;
}
body #page-container .am-m-badge p{
  font-size:14px !important; letter-spacing:.1em !important; text-transform:uppercase !important;
  color:#d8ecff !important; margin:6px 0 0 !important;
}
@media (max-width:1080px){
  body #page-container .et_pb_text.am-m-badge{ margin-top:16px !important; margin-left:0 !important; }
}

/* ---------- 14. LISTS ---------- */
body #page-container .et_pb_text.am-m-boxed ul{ list-style:none !important; padding:0 !important; margin:0 !important; display:grid; gap:12px; }
body #page-container .et_pb_text.am-m-boxed ul li{
  list-style:none !important; background:rgba(9,26,48,.7);
  border-left:2px solid var(--am-accent-2); padding:14px 20px;
  font-size:16.5px; color:#dbe4ee !important; font-weight:500;
}
body #page-container .et_pb_text.am-m-boxed ul li::marker{ content:none; }
body #page-container .et_pb_text.am-m-diamond ul{ list-style:none !important; padding:0 !important; margin:0 !important; display:grid; gap:12px; }
body #page-container .et_pb_text.am-m-diamond ul li{ list-style:none !important; position:relative; padding-left:24px; line-height:1.6; }
body #page-container .et_pb_text.am-m-diamond ul li::marker{ content:none; }
body #page-container .et_pb_text.am-m-diamond ul li:before{
  content:''; position:absolute; left:0; top:9px; width:8px; height:8px;
  background:var(--am-accent-2); transform:rotate(45deg);
}

/* ---------- 15. QUOTE SIDEBAR ---------- */
body #page-container .et_pb_text.am-m-steps .et_pb_text_inner{
  background:rgba(7,20,37,.92); border:1px solid var(--am-line-dark);
  border-top:3px solid var(--am-accent); padding:34px 32px;
}
body #page-container .am-m-steps h3{
  font-family:var(--am-head) !important; font-size:20px !important; font-weight:500 !important;
  letter-spacing:.05em !important; text-transform:uppercase !important; color:#ffffff !important; margin:0 0 22px !important;
}
body #page-container .am-m-steps h4{
  font-family:var(--am-body) !important; text-transform:none !important; letter-spacing:0 !important;
  font-size:16px !important; font-weight:600 !important; color:#e8eff6 !important; margin:0 0 4px !important;
  display:flex; align-items:baseline; gap:12px;
}
body #page-container .am-m-steps h4 span{ font-family:var(--am-head); color:var(--am-accent) !important; font-weight:400; flex:none; }
body #page-container .am-m-steps p{ font-size:15px !important; color:#93a8bd !important; margin:0 0 20px !important; }
body #page-container .am-m-steps p:last-child{ margin-bottom:0 !important; }

body #page-container .et_pb_text.am-m-callout .et_pb_text_inner{
  background:linear-gradient(135deg,var(--am-blue-dark),var(--am-blue-light)); padding:30px 32px;
}
body #page-container .am-m-callout h4{
  font-family:var(--am-body) !important; font-size:12px !important; font-weight:700 !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  color:#cfe6ff !important; margin:0 0 10px !important;
}
body #page-container .am-m-callout p{ margin:0 !important; }
body #page-container .am-m-callout a{
  display:block; font-family:var(--am-head); font-size:clamp(19px,2vw,24px);
  color:#ffffff !important; line-height:1.35;
}
body #page-container .am-m-callout a:hover{ color:#d8ecff !important; }

/* ---------- 16. CTA BAND ---------- */
body #page-container .et_pb_text.am-m-bandtext h2{
  font-family:var(--am-head) !important; font-size:clamp(26px,3.3vw,38px) !important;
  font-weight:600 !important; letter-spacing:.02em !important; text-transform:uppercase !important;
  color:#ffffff !important; line-height:1.1 !important; margin:0 !important;
}
body #page-container .et_pb_text.am-m-bandtext p{
  font-size:clamp(16px,1.7vw,18px) !important; letter-spacing:.04em !important;
  color:var(--am-accent-3) !important; margin:8px 0 0 !important;
}

/* ---------- 17. IMAGES ---------- */
body #page-container .et_pb_image.am-m-photo, body #page-container .et_pb_image.am-m-photo .et_pb_image_wrap{ display:block; width:100%; }
body #page-container .et_pb_image.am-m-photo img{ display:block; width:100%; height:auto; }
body #page-container .et_pb_image.am-m-photo--fill{ position:relative; height:auto; min-height:300px; flex:1 1 auto; overflow:hidden; }
body #page-container .et_pb_image.am-m-photo--fill .et_pb_image_wrap{ position:absolute; inset:0; display:block; width:100%; height:100%; }
body #page-container .et_pb_image.am-m-photo--fill img{ width:100%; height:100%; object-fit:cover; object-position:center; }
@media (max-width:980px){
  body #page-container .et_pb_image.am-m-photo--fill{ height:auto; aspect-ratio:16/10; min-height:0; }
}
/* Hero hex cluster only. Once the hero columns stack it would otherwise
   fill the full column width and its 1:1.14 ratio makes it ~940px tall.
   Scoped to .am-s-hero on purpose: the packaging and quote-sidebar
   photos share .am-m-photo and are meant to fill their columns. */
@media (max-width:1080px){
  body #page-container .am-s-hero .et_pb_image.am-m-photo{
    max-width:520px; margin-left:auto; margin-right:auto;
  }
}
@media (max-width:560px){
  body #page-container .am-s-hero .et_pb_image.am-m-photo{ max-width:360px; }
}

/* ---------- 18. ROW RHYTHM + EQUAL HEIGHTS ----------
   IMPORTANT: Divi 5's column element does NOT carry .et_pb_column, so
   every rule below reaches the column as "> *" from the row class.
   That is why the earlier .et_pb_column selectors silently did nothing
   and the cards came out ragged. */
body #page-container .et_pb_row.am-r-gap, body #page-container .am-r-gap{ margin-bottom:24px !important; }
body #page-container .et_pb_row.am-r-head, body #page-container .am-r-head{ margin-bottom:52px !important; }
body #page-container .am-r-head--center > *{ text-align:center; }
body #page-container .am-r-head--center .am-m-h2 h2{ max-width:780px; margin-left:auto !important; margin-right:auto !important; }
body #page-container .am-r-head--center .am-m-intro .et_pb_text_inner p{ margin-left:auto; margin-right:auto; max-width:660px; }
body #page-container .am-r-head--center .am-m-eyebrow .et_pb_text_inner,
body #page-container .am-r-head--center .am-m-eyebrow .et_pb_text_inner p{ text-align:center !important; }

body #page-container .am-r-equal{ display:flex !important; flex-wrap:wrap; align-items:stretch !important; }
body #page-container .am-r-equal > *{ display:flex !important; flex-direction:column; align-self:stretch !important; }
body #page-container .am-r-equal > * > .et_pb_module{ flex:1 1 auto; min-height:0; }
body #page-container .am-r-equal > * > .et_pb_text{ display:flex; flex-direction:column; }
body #page-container .am-r-equal > * > .et_pb_text > .et_pb_text_inner{ flex:1 1 auto; }
/* Belt and braces: if the class ever lands somewhere unexpected, :has()
   finds whatever element directly contains a card and stretches it. */
body #page-container div:has(> .et_pb_text.am-m-card),
body #page-container div:has(> .et_pb_text.am-m-tile),
body #page-container div:has(> .et_pb_text.am-m-feat),
body #page-container div:has(> .et_pb_text.am-m-panel),
body #page-container div:has(> .et_pb_image.am-m-photo--fill){
  display:flex; flex-direction:column; align-self:stretch;
}
body #page-container div:has(> div > .et_pb_text.am-m-card),
body #page-container div:has(> div > .et_pb_text.am-m-tile),
body #page-container div:has(> div > .et_pb_text.am-m-feat),
body #page-container div:has(> div > .et_pb_image.am-m-photo--fill){
  align-items:stretch;
}

/* ---------- 19. RESPONSIVE SECTION PADDING ---------- */
@media (max-width:980px){
  body #page-container .et_pb_section[class*="am-s-"]{ padding-top:64px !important; padding-bottom:64px !important; }
  body #page-container .et_pb_section.am-s-trust{ padding-top:0 !important; padding-bottom:0 !important; }
}
@media (max-width:767px){
  body #page-container .et_pb_section[class*="am-s-"]{ padding-top:48px !important; padding-bottom:48px !important; }
  body #page-container .et_pb_section.am-s-trust{ padding-top:0 !important; padding-bottom:0 !important; }
}

/* ---------- 20. QUOTE FORM (native Divi contact form) ----------
   The quote section uses Divi's own Contact Form module, not CF7.
   The panel look sits on the COLUMN via :has(), so the heading module
   and the form share one bordered box - Divi 5 does not put a class on
   the column, so :has() is the only reliable way to reach it. */
body #page-container div:has(> .am-form){
  background:rgba(7,20,37,.92); border:1px solid var(--am-line-dark);
  padding:clamp(24px,3.8vw,48px) clamp(20px,3.6vw,46px);
}
body #page-container .am-form-head h3,
body #page-container .am-form h3{
  font-family:var(--am-head) !important; font-size:24px !important; font-weight:500 !important;
  letter-spacing:.05em !important; text-transform:uppercase !important;
  color:#ffffff !important; margin:0 0 26px !important;
}

/* field grid: Name and Email side by side, Message full width */
body #page-container .am-form .et_pb_contact_form,
body #page-container .am-form form{ display:flex; flex-wrap:wrap; gap:18px; margin:0; }
body #page-container .am-form .et_pb_contact_field{
  padding:0 !important; margin:0 !important; flex:1 1 100%; min-width:0;
}
body #page-container .am-form .et_pb_contact_field.et_pb_contact_field_half{ flex:1 1 calc(50% - 9px); }
@media (max-width:767px){
  body #page-container .am-form .et_pb_contact_field.et_pb_contact_field_half{ flex:1 1 100%; }
}

/* labels - Divi hides these by default and uses the placeholder; shown
   here so the form reads like the rest of the site */
body #page-container .am-form .et_pb_contact_form_label{
  display:block !important; position:static !important;
  width:auto !important; height:auto !important; overflow:visible !important;
  clip:auto !important; clip-path:none !important;
  font-family:var(--am-body) !important; font-size:12px !important; font-weight:700 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  color:var(--am-muted) !important; margin:0 0 8px !important;
}

/* inputs */
body #page-container .am-form input[type=text],
body #page-container .am-form input[type=email],
body #page-container .am-form input[type=tel],
body #page-container .am-form select,
body #page-container .am-form textarea,
body #page-container .am-form .input,
body #page-container .am-form .et_pb_contact_message{
  width:100% !important; box-sizing:border-box;
  background:#0b1726 !important; border:1px solid rgba(120,160,200,.3) !important;
  color:#e8eff6 !important; padding:14px 16px !important; font-size:15.5px !important;
  border-radius:0 !important; outline:none; font-family:var(--am-body) !important;
  -webkit-appearance:none; appearance:none;
}
body #page-container .am-form textarea,
body #page-container .am-form .et_pb_contact_message{ min-height:150px; resize:vertical; }
body #page-container .am-form input:focus,
body #page-container .am-form textarea:focus,
body #page-container .am-form select:focus,
body #page-container .am-form .input:focus{ border-color:var(--am-accent) !important; }
body #page-container .am-form ::placeholder{ color:#6d8298 !important; opacity:1; }
body #page-container .am-form input::-webkit-input-placeholder,
body #page-container .am-form textarea::-webkit-input-placeholder{ color:#6d8298 !important; }

/* submit */
body #page-container .am-form .et_pb_contact_submit,
body #page-container .am-form button[type=submit],
body #page-container .am-form input[type=submit]{
  width:100%; flex:1 1 100%; margin:8px 0 0 !important;
  border:none !important; border-radius:0 !important; cursor:pointer;
  background:linear-gradient(90deg,var(--am-blue-dark),var(--am-blue-light)) !important;
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
  padding:18px 24px !important;
  font-family:var(--am-head) !important; font-size:15px !important; font-weight:500 !important;
  letter-spacing:.12em !important; text-transform:uppercase !important;
  transition:background .25s ease;
}
body #page-container .am-form .et_pb_contact_submit:hover,
body #page-container .am-form button[type=submit]:hover{
  background:linear-gradient(90deg,#1477d6,#37a2f2) !important; color:#ffffff !important;
}
body #page-container .am-form .et_pb_contact_submit:after{ display:none !important; }

/* validation + success messages.
   Divi outputs this container on every page load, empty. Styling it
   unconditionally produced an empty highlighted box above the Name
   field - hence :not(:empty). */
body #page-container .am-form .et_pb_contact_error_text,
body #page-container .am-form .et-pb-contact-message p{
  font-size:14.5px !important; color:var(--am-accent-3) !important; margin:0 !important;
}
body #page-container .am-form .et-pb-contact-message{
  flex:1 1 100%; margin:0; padding:0; border:none; background:none;
}
body #page-container .am-form .et-pb-contact-message:not(:empty),
body #page-container .am-form .et-pb-contact-message:has(*){
  border:1px solid var(--am-accent-2); background:rgba(15,102,196,.12);
  padding:16px 18px; margin:0 0 18px;
}
body #page-container .am-form .et_contact_bottom_container{ flex:1 1 100%; margin:0; float:none; }
body #page-container .am-form p.clearfix{ display:none; }
/* Divi's own form title is redundant next to our heading */
body #page-container .am-form .et_pb_contact_main_title{ display:none !important; }

/* Anchor landing: keep the section heading clear of the sticky header */
body #page-container #quote, body #page-container #grades{ scroll-margin-top:124px; }
@media (max-width:980px){
  body #page-container #quote, body #page-container #grades{ scroll-margin-top:88px; }
}

/* Button LABEL colour, hardened.
   The outline button rendered as an empty bordered box: the border rule
   applied but the label did not, so Divi is colouring an inner element
   (and/or setting -webkit-text-fill-color). These rules hit the anchor,
   any inner span, and the fill colour, for every variant. */
body #page-container .am-btn .et_pb_button,
body #page-container .et_pb_button.am-btn,
body #page-container .am-btn .et_pb_button *,
body #page-container .et_pb_button.am-btn *{
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
}
body #page-container .am-btn-ghost .et_pb_button,
body #page-container .et_pb_button.am-btn-ghost,
body #page-container .am-btn-ghost .et_pb_button *,
body #page-container .et_pb_button.am-btn-ghost *{
  color:#e5edf5 !important; -webkit-text-fill-color:#e5edf5 !important;
}
body #page-container .am-btn-ghost .et_pb_button:hover,
body #page-container .et_pb_button.am-btn-ghost:hover,
body #page-container .am-btn-ghost .et_pb_button:hover *,
body #page-container .et_pb_button.am-btn-ghost:hover *{
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
}
body #page-container .am-btn-outline .et_pb_button,
body #page-container .et_pb_button.am-btn-outline,
body #page-container .am-btn-outline .et_pb_button *,
body #page-container .et_pb_button.am-btn-outline *{
  color:#1273cf !important; -webkit-text-fill-color:#1273cf !important;
}
body #page-container .am-btn-outline .et_pb_button:hover,
body #page-container .et_pb_button.am-btn-outline:hover,
body #page-container .am-btn-outline .et_pb_button:hover *,
body #page-container .et_pb_button.am-btn-outline:hover *{
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
}
body #page-container .am-btn-white .et_pb_button,
body #page-container .et_pb_button.am-btn-white,
body #page-container .am-btn-white .et_pb_button *,
body #page-container .et_pb_button.am-btn-white *{
  color:#0c1e33 !important; -webkit-text-fill-color:#0c1e33 !important;
}
body #page-container .am-btn-white .et_pb_button:hover,
body #page-container .et_pb_button.am-btn-white:hover,
body #page-container .am-btn-white .et_pb_button:hover *,
body #page-container .et_pb_button.am-btn-white:hover *{
  color:#ffffff !important; -webkit-text-fill-color:#ffffff !important;
}
/* Divi's own button reset can leave a min-width or arrow gap */
body #page-container .et_pb_button:before{ display:none !important; }

/* ---------- 21. THEME BUILDER HEADER ---------- */
.am-header{
  background:rgba(5,11,20,.95) !important; backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(58,160,245,.18); padding:0 !important;
}
.am-header .et_pb_row{ min-height:104px; }
.am-header .et_pb_menu__logo-wrap img{ height:64px; width:auto; }
@media (max-width:980px){ .am-header .et_pb_menu__logo-wrap img{ height:40px; } }
.am-header .et_pb_menu__menu > nav > ul > li{ position:relative; }
.am-header .et_pb_menu__menu > nav > ul > li > a{
  font-family:var(--am-body); font-size:13px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:#d3dfeb !important; padding-bottom:10px;
}
.am-header .et_pb_menu__menu > nav > ul > li > a:hover{ color:var(--am-accent-2) !important; opacity:1; }
.am-header .et_pb_menu__menu > nav > ul > li.current-menu-item > a{ color:#fff !important; }
.am-header .et_pb_menu__menu > nav > ul > li.current-menu-item > a:after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--am-accent-2);
}
.am-header .et_mobile_menu{ background:#071527; border-top:2px solid var(--am-accent-2); }
.am-header .et_mobile_menu li a{ color:#d3dfeb; border-bottom:1px solid rgba(120,160,200,.15); }

/* ---------- 22. THEME BUILDER FOOTER ---------- */
.am-footer{ background:var(--am-navy-900); border-top:1px solid rgba(58,160,245,.2); }
.am-footer h4{ font-size:14px; letter-spacing:.16em; color:#fff !important; }
.am-footer p, .am-footer li, .am-footer a{ color:#8fa3b8 !important; font-size:15.5px; }
.am-footer a:hover{ color:var(--am-accent-2) !important; }
.am-footer-bar{ border-top:1px solid rgba(120,160,200,.14); font-size:13.5px; color:#61788f; }

/* ---------- 23. DIVI BUTTON MODULES (header CTA) ---------- */
.et_pb_button.am-btn{
  font-family:var(--am-head) !important; font-size:15px !important; font-weight:500 !important;
  letter-spacing:.1em !important; text-transform:uppercase !important; color:#fff !important;
  background:linear-gradient(90deg,var(--am-blue-dark),var(--am-blue-light)) !important;
  border:none !important; border-radius:0 !important; padding:17px 32px !important;
  transition:background .25s ease;
}
.et_pb_button.am-btn:hover{ background:linear-gradient(90deg,#1477d6,#37a2f2) !important; padding:17px 32px !important; }
.et_pb_button.am-btn:after{ display:none !important; }
.am-btn--cut{ clip-path:polygon(0 0,100% 0,100% 100%,14px 100%,0 calc(100% - 14px)); }
.et_pb_button.am-btn-ghost{
  font-family:var(--am-head) !important; font-size:15px !important; font-weight:500 !important;
  letter-spacing:.1em !important; text-transform:uppercase !important;
  color:#e5edf5 !important; background:transparent !important;
  border:1px solid rgba(180,203,226,.45) !important; border-radius:0 !important; padding:17px 32px !important;
}
.et_pb_button.am-btn-ghost:hover{ border-color:var(--am-accent) !important; color:#fff !important; }
.et_pb_button.am-btn-ghost:after{ display:none !important; }
