/*
Theme Name: NEA Surveying & Mapping
Theme URI: https://neasurveying.com/
Author: NEA Surveying & Mapping
Description: Pixel-matched WordPress recreation of the NEA Surveying & Mapping site for GoDaddy Managed WordPress.
Version: 4.0.1
Requires at least: 6.6
Tested up to: 7.0.4
Requires PHP: 8.0
Text Domain: nea-surveying
*/

@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Bai+Jamjuree:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');

:root{
  --nea-brand:240,205,56;
  --nea-alt:39,80,159;
  --nea-text:31,31,31;
  --nea-text-alt:255,255,255;
  --nea-complementary:30,41,60;
  --nea-orange:234,132,15;
  --nea-shell:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:rgb(var(--nea-complementary));color:rgb(var(--nea-text));font-family:'Bai Jamjuree',Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.admin-bar .nea-header{top:32px}
img{display:block;max-width:100%}
a{color:inherit}
button,input,textarea{font:inherit}
.nea-shell{width:min(var(--nea-shell),calc(100% - 44px));margin:0 auto}

/* Original 60px semi-transparent top bar. */
.nea-header{position:absolute;z-index:1000;top:0;left:0;right:0;height:60px;color:#fff;background:rgba(var(--nea-complementary),.50)}
.nea-header__inner{height:60px;display:flex;align-items:center;justify-content:flex-end}
.nea-header__spacer{flex:1}
.nea-nav{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}
.nea-nav li{margin:0}
.nea-nav a{display:flex;height:60px;align-items:center;padding:0 18px;text-decoration:none;text-transform:uppercase;font-family:'Audiowide',sans-serif;font-size:22px;line-height:38px;font-weight:400;color:#fff;transition:background-color .18s,color .18s}
.nea-nav a:hover,.nea-nav .current-menu-item>a,.nea-nav .current_page_item>a{background:rgb(var(--nea-brand));color:rgb(var(--nea-complementary))}
.nea-menu-btn{display:none;border:0;background:transparent;color:#fff;padding:9px;cursor:pointer}
.nea-menu-btn span{display:block;width:27px;height:2px;background:currentColor;margin:5px 0}

/* Hero — same 4/4/4 source-grid and 457px source image height. */
.nea-hero{position:relative;height:457px;overflow:hidden;background:rgb(var(--nea-complementary))}
.nea-hero__photo{position:absolute;inset:0;background-position:center 44%;background-size:cover;background-repeat:no-repeat;opacity:.30}
.nea-hero__grid{position:relative;height:457px;display:grid;grid-template-columns:4fr 4fr 4fr;align-items:center;padding-top:0}
.nea-hero__logo-wrap{grid-column:2;height:457px;display:flex;align-items:center;justify-content:center;padding:24px 0 0}
.nea-hero__logo{width:100%;max-width:390px;max-height:430px;object-fit:contain;border:7px solid rgb(var(--nea-orange));border-radius:10px;filter:drop-shadow(0 0 16px #000)}

/* About — original 4/4/4 layout, source image dimensions and dark blue parallax feel. */
.nea-about{position:relative;overflow:hidden;background:rgba(23,48,95,.95);color:#fff}
.nea-about__bg{position:absolute;inset:-10%;background-position:center center;background-size:cover;background-repeat:no-repeat;opacity:.11;transform:translate3d(0,0,0) scale(1.08);will-change:transform}
.nea-about__grid{position:relative;display:grid;grid-template-columns:4fr 4fr 4fr;align-items:center;min-height:571px}
.nea-image-card{overflow:hidden;position:relative}
.nea-image-card img{width:100%;height:100%}
.nea-image-card--round{height:571px;border-radius:50px}
.nea-image-card--round img{object-fit:cover;object-position:center}
.nea-about__copy{padding:40px 30px;text-align:center}
.nea-about__copy h2{margin:0 0 24px;color:#fff;font-size:26px;line-height:1;font-weight:700;font-style:italic;letter-spacing:0}
.nea-about__copy p{margin:0 0 17px;color:#fff;font-size:17px;line-height:1.4;font-weight:400}
.nea-about__receiver{height:571px;display:flex;align-items:center;justify-content:center}
.nea-image-card--receiver{height:496px;width:100%;border-radius:9px;filter:drop-shadow(0 0 20px #000)}
.nea-image-card--receiver img{object-fit:contain;background:transparent}

/* Services — original navy section with white 40px rounded left panel. */
.nea-services{background:rgb(var(--nea-complementary));padding:30px 0;color:#fff}
.nea-services__grid{display:grid;grid-template-columns:6fr 6fr;align-items:center}
.nea-services__panel{background:#fff;color:rgb(var(--nea-text));border-radius:40px;padding:40px 42px}
.nea-services__panel h2{margin:0 0 17px;font-size:32px;line-height:1.2;font-weight:700}
.nea-services__panel p{margin:0 0 15px;color:rgba(var(--nea-text),.75);font-size:16px;line-height:1.6}
.nea-services__panel ul{margin:0;padding:0 0 0 23px;color:rgba(var(--nea-text),.75)}
.nea-services__panel li{margin:0 0 9px;padding-left:2px;font-size:16px;line-height:1.48}
.nea-services__panel li::marker{color:rgb(var(--nea-brand))}
.nea-services__panel strong{font-weight:600}
.nea-field-feature{padding-left:36px;text-align:center}
.nea-image-card--dam{height:415px;border-radius:11px;background:#111}
.nea-image-card--dam img{object-fit:cover;object-position:center}
.nea-field-feature p{max-width:560px;margin:17px auto 0;color:#fff;font-size:16px;line-height:1.6;font-weight:400}

/* Contact — original 3/1/8 column proportions. */
.nea-contact{background:rgba(var(--nea-complementary),.65);color:#fff;padding:31px 0}
.nea-contact__grid{display:grid;grid-template-columns:3fr 1fr 8fr;align-items:start}
.nea-contact h2{margin:0 0 10px;color:#fff;font-size:32px;line-height:1.2;font-weight:700}
.nea-contact h3,.nea-contact__label{margin:10px 0 4px;color:rgb(var(--nea-brand));font-size:16px;line-height:1.2;font-weight:700}
.nea-contact__info p{margin:0 0 14px;color:#fff;font-size:16px;line-height:1.35}
.nea-contact__strong{font-weight:700}
.nea-contact__info a{text-decoration:none}
.nea-contact__photo{height:270px;margin-top:20px;overflow:hidden}
.nea-contact__photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.nea-contact__form-wrap h2{margin-bottom:10px}
.nea-form{display:grid;gap:13px}
.nea-form__split{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.nea-form label{display:grid;gap:5px}
.nea-form label>span{font-size:14px;color:#fff}
.nea-form input,.nea-form textarea{width:100%;border:1px solid rgba(255,255,255,.34);border-radius:0;background:#fff;color:#1f1f1f;padding:11px 12px;outline:none;font-size:16px}
.nea-form textarea{min-height:156px;resize:vertical}
.nea-form input:focus,.nea-form textarea:focus{border-color:rgb(var(--nea-brand));box-shadow:0 0 0 2px rgba(var(--nea-brand),.18)}
.nea-form button{justify-self:start;border:0;border-radius:64px;background:rgb(var(--nea-brand));color:rgb(var(--nea-complementary));text-transform:uppercase;font-size:16px;font-weight:700;padding:12px 28px;cursor:pointer}
.nea-form button:hover{filter:brightness(.94)}
.nea-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.nea-alert{margin:0 0 16px;padding:13px 15px;background:#fff;color:#222}

/* The original single page effectively ends after contact; keep the WP footer very restrained. */
.nea-footer{background:rgb(var(--nea-alt));color:#fff;padding:13px 0}
.nea-footer__inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px}
.nea-footer a{text-decoration:none;color:#fff}

/* Reviews / fallback content retains the same house style. */
.nea-page-hero{padding:110px 0 52px;background:rgb(var(--nea-complementary));color:#fff}
.nea-page-hero .nea-kicker{font-family:'Audiowide',sans-serif;color:rgb(var(--nea-brand));text-transform:uppercase;margin:0 0 8px}
.nea-page-hero .nea-title{margin:0;font-size:44px;line-height:1.2;font-weight:700}
.nea-content{background:#fff;padding:50px 0 80px;min-height:50vh}
.nea-content .entry-content{max-width:850px;margin:auto}
.nea-btn{display:inline-block;border-radius:64px;background:rgb(var(--nea-brand));color:rgb(var(--nea-complementary));text-decoration:none;padding:12px 22px;font-weight:700}
.nea-review-card{padding:22px 0;border-bottom:1px solid #ddd}
.nea-stars{color:rgb(var(--nea-brand))}

@media (min-width:1921px){
  .nea-shell{width:min(1416px,calc(100% - 56px))}
  .nea-image-card--round{height:714px}
  .nea-about__grid,.nea-about__receiver{min-height:714px;height:714px}
  .nea-image-card--dam{height:415px}
  .nea-contact__photo{height:338px}
}
@media (max-width:1366px){
  .nea-shell{width:min(1080px,calc(100% - 38px))}
  .nea-image-card--round{height:428px}
  .nea-about__grid{min-height:428px}
  .nea-about__receiver{height:428px;padding:0}
  .nea-image-card--receiver{height:496px;max-height:100%}
  .nea-about__copy{padding:25px 22px}
  .nea-about__copy p{font-size:16px;line-height:1.38}
  .nea-contact__photo{height:203px}
}
@media (max-width:1024px){
  body.admin-bar .nea-header{top:46px}
  .nea-shell{width:calc(100% - 34px)}
  .nea-nav a{font-size:18px;padding:0 13px}
  .nea-hero__grid{grid-template-columns:3fr 6fr 3fr}
  .nea-hero__logo{max-width:380px}
  .nea-about__grid{grid-template-columns:1fr 1fr;min-height:auto;padding:24px 0}
  .nea-image-card--round{height:343px}
  .nea-about__receiver{display:none}
  .nea-services__grid{grid-template-columns:1fr;gap:28px}
  .nea-field-feature{padding-left:0}
  .nea-contact__grid{grid-template-columns:1fr 2fr;gap:36px}
  .nea-contact__gap{display:none}
  .nea-contact__photo{height:162px}
}
@media (max-width:767px){
  .nea-header{position:absolute;height:60px}
  .nea-header__inner{justify-content:flex-end}
  .nea-menu-btn{display:block;position:relative;z-index:2}
  .nea-nav{display:none;position:absolute;top:60px;left:-17px;right:-17px;background:rgba(var(--nea-complementary),.97);padding:12px 0;flex-direction:column;align-items:stretch}
  .nea-nav.is-open{display:flex}
  .nea-nav a{height:44px;font-size:17px;padding:0 22px;justify-content:flex-end}
  .nea-hero{height:457px}
  .nea-hero__grid{grid-template-columns:1fr;height:457px}
  .nea-hero__grid>div:first-child,.nea-hero__grid>div:last-child{display:none}
  .nea-hero__logo-wrap{grid-column:1;height:457px;padding:34px 18px 0}
  .nea-hero__logo{width:min(88vw,390px);max-height:390px}
  .nea-about__grid{grid-template-columns:1fr;padding:20px 0}
  .nea-image-card--round{height:343px;border-radius:50px}
  .nea-about__copy{padding:30px 14px 24px}
  .nea-about__copy p{font-size:16px}
  .nea-services{padding:12px 0}
  .nea-services__panel{border-radius:40px;padding:28px 24px}
  .nea-services__panel h2{font-size:28px}
  .nea-image-card--dam{height:315px}
  .nea-field-feature{padding:0 4px}
  .nea-contact{padding:18px 0}
  .nea-contact__grid{grid-template-columns:1fr;gap:28px}
  .nea-contact__photo{height:162px}
  .nea-form__split{grid-template-columns:1fr}
  .nea-footer__inner{flex-direction:column;align-items:flex-start}
}
