/*
Theme Name: Future Ready US Refined
Theme URI: https://futurereadyus.org/
Author: Future Ready US
Description: Bespoke responsive theme based on approved Option 1 Refined. Includes editable photos in Customizer.
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: future-ready-us
*/

:root{--ink:#122d34;--green:#176a5b;--lime:#d8f18d;--cream:#f8f7f1;--muted:#617277;--line:#dce4de}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:1200px;margin:auto;padding:0 28px}.top{background:#123e3a;color:#fff;font-size:12px;text-align:center;padding:9px}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:23px;font-weight:850;letter-spacing:-1px}.brand span{color:#268873}.links{display:flex;gap:25px;font-size:13px;font-weight:700;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;border-radius:5px;background:var(--green);color:white;font-weight:750;font-size:13px;transition:.2s}.btn:hover{background:#104b42;transform:translateY(-2px)}.btn.light{background:var(--lime);color:var(--ink)}.btn.outline{background:transparent;border:1px solid #b9c8c3;color:var(--ink)}.hero{background:#eff4eb;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:600px;align-items:center}.hero-copy{padding:65px 55px 65px 0}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--green);font-weight:850}.hero h1{font-size:clamp(45px,5.7vw,78px);line-height:1.05;letter-spacing:-3.5px;margin:23px 0}.hero h1 em{font-style:normal;color:var(--green)}.lead{font-size:18px;color:#526964;max-width:520px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-img{height:600px;position:relative}.hero-img img{height:100%;width:100%;object-fit:cover}.floating{position:absolute;bottom:32px;left:-30px;background:white;padding:20px 24px;box-shadow:0 15px 40px #183b3326;border-left:5px solid #b5dc5e;font-size:14px;font-weight:750;max-width:280px}.trust{border-bottom:1px solid var(--line);padding:23px 0}.trust .wrap{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:12px;font-weight:800;color:#5a6d67;letter-spacing:.3px}.section{padding:95px 0}.section.alt{background:var(--cream)}.heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.heading h2,.split h2{font-size:clamp(32px,4vw,52px);line-height:1.13;letter-spacing:-2px;margin:12px 0}.heading p{max-width:440px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.card img{width:100%;height:205px;object-fit:cover}.card-body{padding:27px}.card h3{font-size:23px;line-height:1.2;margin:10px 0}.card p{font-size:14px;color:var(--muted)}.arrow{font-size:13px;font-weight:800;color:var(--green)}.tag{font-size:10px;letter-spacing:1.6px;color:var(--green);font-weight:850;text-transform:uppercase}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split img{width:100%;height:510px;object-fit:cover;border-radius:8px}.split p{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.step{border-top:2px solid #9bb9ad;padding-top:18px;font-size:13px}.step b{display:block;font-size:18px;margin-bottom:7px}.dark{background:#103b36;color:white}.dark .eyebrow,.dark .tag{color:#c7ed8a}.dark p{color:#bcd1c9}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.cert{border:1px solid #50726b;padding:21px;border-radius:7px;background:#194941}.cert b{display:block;font-size:16px}.cert small{color:#b7cec5}.notice{font-size:12px;margin-top:25px}.research{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center}.research img{width:100%;height:440px;object-fit:cover;border-radius:8px}.research ul{padding-left:18px;color:var(--muted)}.research li{margin:11px 0}.cta{background:#d9eeaa;padding:70px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:43px;line-height:1.12;letter-spacing:-2px;margin:0}.footer{background:#0b2828;color:white;padding:65px 0 25px}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer p,.footer a{color:#bbceca;font-size:13px}.footer a{display:block;margin:9px 0}.foot-bottom{border-top:1px solid #375453;margin-top:50px;padding-top:20px;font-size:12px;color:#bbceca}.mobile{display:none}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:white;z-index:20;padding:10px}@media(max-width:850px){.links{display:none;position:absolute;top:116px;left:0;right:0;background:white;padding:25px;z-index:10;box-shadow:0 10px 20px #0002;flex-direction:column;align-items:flex-start}.links.show{display:flex}.mobile{display:block;background:none;border:0;font-size:26px}.hero-grid,.split,.research{grid-template-columns:1fr}.hero-copy{padding:60px 0}.hero-img{height:400px}.floating{left:15px}.cards,.cert-grid,.steps{grid-template-columns:1fr 1fr}.heading,.cta .wrap{display:block}.cta .btn{margin-top:25px}}@media(max-width:540px){.cards,.cert-grid,.steps,.foot-grid{grid-template-columns:1fr}.hero h1{letter-spacing:-2px}.section{padding:65px 0}.wrap{padding:0 20px}.hero-img{height:320px}.split img,.research img{height:310px}}

/* Option 1 refined: warm editorial, softer forms, more confident typography */
:root{--ink:#173d38;--green:#177c65;--lime:#e0efac;--cream:#fbf9f2;--muted:#556c65;--line:#e0e9df}
body{font-family:'DM Sans',Arial,sans-serif;letter-spacing:-.12px}
h1,h2,h3,.brand{font-family:'Manrope','DM Sans',Arial,sans-serif}
.top{background:#174f45;font-size:11px;letter-spacing:.35px}
.nav{height:90px}.brand{font-size:26px;letter-spacing:-1.7px}.links{gap:30px;font-size:13px}
.btn{border-radius:999px;font-size:13px;padding:15px 25px;box-shadow:0 5px 15px #0c5b4720}
.btn.outline{box-shadow:none;background:#fff9;border-color:#a0c2b4}.hero{background:radial-gradient(circle at 12% 10%,#fff9de 0,transparent 36%),linear-gradient(128deg,#f6f8ee,#e7f3e7 85%)}
.hero-grid{min-height:650px;grid-template-columns:1.08fr .92fr}.hero-copy{padding:88px 45px 90px 0}.hero h1{font-size:clamp(45px,5.15vw,75px);line-height:1.105;letter-spacing:-3.8px;font-weight:800}.hero h1 em{color:#218667}
.eyebrow{letter-spacing:1.8px;font-size:10px}.hero .lead{max-width:550px;font-size:18px;line-height:1.75}
.hero-img{height:650px;margin:0 -28px 0 0;isolation:isolate}.hero-img:before{content:'';position:absolute;inset:24px 0 25px 24px;border:2px solid #fff9;border-radius:180px 18px 18px 18px;z-index:1;pointer-events:none}.hero-img img{border-radius:180px 0 0 0;object-position:50% 38%}
.floating{bottom:36px;left:-50px;border:0;border-radius:16px;box-shadow:0 18px 60px #142c2d2a;padding:20px 25px;font-family:'Manrope',sans-serif}
.floating:before{content:'✦';color:#148467;padding-right:9px}.trust{background:#fff;padding:26px 0}.trust .wrap{gap:18px;font-size:11px}
.section{padding:108px 0}.heading h2,.split h2,.research h2{font-weight:800;letter-spacing:-2.5px;line-height:1.17}
.card{border-radius:22px;border-color:#e4eee5;box-shadow:0 14px 35px #0d59430d;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-5px);box-shadow:0 18px 45px #0d59431c}.card img{height:230px}.card-body{padding:29px}.card h3{font-size:22px;letter-spacing:-.65px}.card p{line-height:1.8}
.split img,.research img{border-radius:26px;box-shadow:16px 16px 0 #e9f1dc;object-position:center}.split{gap:85px}.section.alt{background:#f7f9f2}.dark{background:#144d43}.cert{border-radius:13px;background:#1d6054;border-color:#377568}.cert-grid{gap:14px}.cta{background:linear-gradient(110deg,#e0efad,#ccead3)}.cta h2{font-weight:800}.footer{background:#153b36}
/* Image load errors: retain original image identity, don't silently substitute stock photography. */
.media-img[data-image-failed="true"]{background:linear-gradient(135deg,#dcecdf,#f1efe1);object-fit:contain;min-height:160px}
.media-fail-note{position:absolute;inset:auto 12px 12px 12px;padding:10px;border-radius:7px;background:#fffc;color:#39534d;font-size:12px;z-index:2;box-shadow:0 6px 18px #0001}
.img-housing{position:relative}
@media(max-width:850px){.nav{height:75px}.links{top:110px}.hero-grid{min-height:auto}.hero-copy{padding:70px 0 45px}.hero-img{height:430px;margin:0}.hero-img img{border-radius:65px 15px 0 0}.hero-img:before{border-radius:65px 15px 0 0}.floating{left:12px}.split{gap:42px}.section{padding:80px 0}}
@media(max-width:540px){.brand{font-size:23px}.hero h1{font-size:clamp(42px,11vw,56px);letter-spacing:-2.8px}.hero-img{height:345px}.section{padding:70px 0}.card img{height:220px}.floating{max-width:245px}.heading h2,.split h2,.research h2{letter-spacing:-1.5px}}

/* WordPress content pages */
.page-body{min-height:50vh;padding:72px 0}.page-body h1{font-size:clamp(38px,5vw,60px);letter-spacing:-2px}.page-body .entry-content{max-width:820px}.page-body a:not(.btn){color:var(--green);text-decoration:underline}.page-body img{max-width:100%;height:auto}.custom-logo{max-width:220px;height:auto}.screen-reader-text{position:absolute;left:-9999px}.screen-reader-text:focus{left:10px;top:10px;background:white;z-index:100;padding:10px}.admin-bar .links{top:148px}@media(max-width:850px){.links{top:110px}}

/* Future Ready US contact form refinements */
.page-body .wpforms-container{max-width:760px;margin:34px 0 52px}
.page-body .wpforms-container .wpforms-field-label{font-family:'DM Sans',sans-serif;color:#173d38;font-weight:700}
.page-body .wpforms-container input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.page-body .wpforms-container select,.page-body .wpforms-container textarea{border:1px solid #cbdcd1;border-radius:11px;background:#fff;font-family:'DM Sans',sans-serif;font-size:16px;min-height:48px;padding:11px 13px}
.page-body .wpforms-container textarea{min-height:145px}
.page-body .wpforms-container button[type=submit]{border:0;border-radius:999px;background:#177c65;color:#fff;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;padding:15px 29px;cursor:pointer}
.page-body .wpforms-container button[type=submit]:hover,.page-body .wpforms-container button[type=submit]:focus{background:#125f4d}
.page-body .wpforms-container :is(input,textarea,select,button):focus-visible{outline:3px solid #92cbb2;outline-offset:2px}
.page-body .wpforms-confirmation-container{background:#e9f6eb;border:1px solid #b8dec3;border-radius:14px;color:#173d38;padding:18px 22px}

/* ONE-PAGE VERSION: Contact form beneath approved homepage */
#contact, #contact-form, #home, #about, #programs, #google, #certificates, #research { scroll-margin-top: 25px; }
.contact-section{background:#fbfcf8;padding:80px 0 108px;border-top:1px solid #e4ece2}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:76px;align-items:start}
.contact-intro{padding-top:24px}
.contact-intro h2{font-family:'Manrope','DM Sans',sans-serif;font-size:clamp(31px,3.6vw,49px);font-weight:800;letter-spacing:-2px;line-height:1.15;margin:14px 0 20px}
.contact-intro p{font-size:16px;color:var(--muted);line-height:1.8}
.contact-details{display:grid;gap:13px;margin-top:32px}
.contact-details span{border-left:3px solid #8fcab4;padding:8px 0 8px 15px;font-weight:700;font-size:14px;color:#22473e}
.contact-disclaimer{font-size:12px!important;margin-top:28px}
.contact-form-card{background:#fff;border:1px solid #e1eae2;box-shadow:0 18px 55px #0b493519;border-radius:24px;padding:32px 38px}
.contact-form-card h3{font-family:'Manrope','DM Sans',sans-serif;font-size:23px;letter-spacing:-.7px;line-height:1.3;margin:0 0 18px}
.contact-form-card .wpforms-container{margin:0;max-width:100%}
.contact-form-card .wpforms-field{padding:9px 0!important}
.contact-form-card .wpforms-field-label{color:#1a4138;font-family:'DM Sans',sans-serif;font-weight:700;font-size:13px;margin-bottom:7px}
.contact-form-card .wpforms-container input:not([type=checkbox]):not([type=radio]),
.contact-form-card .wpforms-container select,
.contact-form-card .wpforms-container textarea{width:100%;max-width:100%;border:1px solid #cdded4;border-radius:11px;background:#fff;font-family:'DM Sans',sans-serif;font-size:16px;min-height:47px;padding:12px 14px;color:#173d38}
.contact-form-card .wpforms-container textarea{min-height:132px}
.contact-form-card .wpforms-container button[type=submit]{border:0;border-radius:999px;background:#177c65;color:#fff;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:800;padding:15px 28px;cursor:pointer;box-shadow:0 5px 15px #0c5b4720}
.contact-form-card .wpforms-container button[type=submit]:hover{background:#125f4d}
.contact-form-card .wpforms-container :is(input,textarea,select,button):focus-visible{outline:3px solid #97cdb7;outline-offset:2px}
.contact-form-card .wpforms-confirmation-container{border:1px solid #b8dec3;border-radius:14px;background:#e9f6eb;padding:18px 22px;color:#173d38}
.form-setup-note{padding:14px;border-radius:10px;background:#f4f8ef;color:#3b5e51}
/* Explicit typography correction for the previously cramped Research headline */
.research h2{font-family:'Manrope','DM Sans',sans-serif;font-size:clamp(32px,3.75vw,52px);line-height:1.18;letter-spacing:-1.8px;font-weight:800;margin:12px 0 22px;overflow-wrap:break-word}
.research p{line-height:1.8}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:30px}.contact-section{padding:64px 0 80px}.contact-intro{padding-top:0}.contact-form-card{padding:26px}}
@media(max-width:540px){.contact-form-card{padding:22px 18px}.contact-section{padding:56px 0 66px}.research h2{letter-spacing:-1.2px}}


/* v1.3 – CTA text and arrow stay together, including tablet widths. */
.cta .wrap > .btn{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:10px;white-space:nowrap;line-height:1.15;min-width:max-content;padding:17px 25px}
.cta .btn .cta-arrow{display:inline-block;flex:0 0 auto;font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1}

/* v1.3 – Make all WPForms inputs share the full available column width. */
.contact-form-card .wpforms-container,
.contact-form-card .wpforms-form,
.contact-form-card .wpforms-field-container,
.contact-form-card .wpforms-field,
.contact-form-card .wpforms-field-row,
.contact-form-card .wpforms-field-row.wpforms-field-large,
.contact-form-card .wpforms-field-row.wpforms-field-medium,
.contact-form-card .wpforms-field-row.wpforms-field-small{width:100%!important;max-width:none!important;min-width:0}

/* WPForms Classic Name field: two equal columns with even outside edges. */
.contact-form-card .wpforms-field-name .wpforms-field-row{display:flex!important;flex-wrap:wrap;align-items:start;column-gap:20px;row-gap:12px}
.contact-form-card .wpforms-field-name .wpforms-field-row .wpforms-field-row-block{
  display:block!important;float:none!important;clear:none!important;flex:1 1 calc(50% - 10px)!important;
  width:calc(50% - 10px)!important;max-width:calc(50% - 10px)!important;
  min-width:0!important;margin:0!important;padding:0!important;
}
.contact-form-card .wpforms-field-name .wpforms-field-row .wpforms-field-row-block input{display:block;width:100%!important;max-width:none!important;box-sizing:border-box}
.contact-form-card .wpforms-field-name .wpforms-field-row .wpforms-field-row-block label{display:block}

/* WPForms Modern markup as well as Classic input-size classes. */
.contact-form-card .wpforms-container .wpforms-field input.wpforms-field-large,
.contact-form-card .wpforms-container .wpforms-field input.wpforms-field-medium,
.contact-form-card .wpforms-container .wpforms-field select.wpforms-field-large,
.contact-form-card .wpforms-container .wpforms-field select.wpforms-field-medium,
.contact-form-card .wpforms-container .wpforms-field textarea.wpforms-field-large,
.contact-form-card .wpforms-container .wpforms-field textarea.wpforms-field-medium,
.contact-form-card .wpforms-container .wpforms-field-select select,
.contact-form-card .wpforms-container .wpforms-field-email input{
  display:block;width:100%!important;max-width:none!important;box-sizing:border-box;
}
.contact-form-card .wpforms-container .wpforms-field-select .choices,
.contact-form-card .wpforms-container .wpforms-field-select .choices__inner{width:100%!important;max-width:none!important;box-sizing:border-box}

/* Submit button styling works with both WPForms Modern and Classic markup. */
.contact-form-card .wpforms-container button.wpforms-submit,
.contact-form-card .wpforms-container .wpforms-submit-container button,
.contact-form-card .wpforms-container .wpforms-submit-container button[type=submit]{
  background:#177c65!important;background-color:#177c65!important;color:#fff!important;
  border:0!important;border-radius:999px!important;box-shadow:0 5px 15px #0c5b4720!important;
  font-family:'DM Sans',Arial,sans-serif!important;font-size:14px!important;font-weight:800!important;
  padding:15px 28px!important;min-height:46px!important;line-height:1.2!important;
}
.contact-form-card .wpforms-container button.wpforms-submit:hover,
.contact-form-card .wpforms-container button.wpforms-submit:focus{
  background:#125f4d!important;background-color:#125f4d!important;
}
@media(max-width:540px){
  .contact-form-card .wpforms-field-name .wpforms-field-row{column-gap:12px}
  .contact-form-card .wpforms-field-name .wpforms-field-row .wpforms-field-row-block{
    flex-basis:calc(50% - 6px)!important;width:calc(50% - 6px)!important;max-width:calc(50% - 6px)!important;
  }
  .cta .wrap > .btn{min-width:0;max-width:100%}
}

/* v1.4 WPForms Name layout — fix float/right-alignment and forced wrapping.
   Limit rules to the contact card; do not change WPForms validation or Turnstile. */
.contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  direction:ltr!important;
  width:100%!important;
  max-width:100%!important;
}
.contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row > .wpforms-field-row-block,
.contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row > div {
  display:block!important;
  float:none!important;
  clear:none!important;
  position:static!important;
  grid-column:auto!important;
  grid-row:auto!important;
  flex:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
}
.contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row > div:first-child{grid-column:1!important;grid-row:1!important}
.contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row > div:nth-child(2){grid-column:2!important;grid-row:1!important}
.contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
/* WPForms name subfields sometimes receive widths/offsets on special classes. */
.contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row .wpforms-first,
.contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row .wpforms-last{
  float:none!important;margin-left:0!important;margin-right:0!important;
  width:100%!important;max-width:none!important;min-width:0!important;
}
@media(max-width:460px){
 .contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row{
   grid-template-columns:minmax(0,1fr)!important;gap:13px!important
 }
 .contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row > div:first-child,
 .contact-form-card .wpforms-container .wpforms-field-name .wpforms-field-row > div:nth-child(2){grid-column:1!important;grid-row:auto!important}
}
