.cgcr-contact{--blue:#173b63;--gold:#c89a3d;--ink:#17202a;--muted:#66717d;--line:#dfe4e8;font-family:Inter,Arial,sans-serif;color:var(--ink)}.cgcr-wrap{width:min(1180px,calc(100% - 40px));margin:auto}.cgcr-hero{background:linear-gradient(115deg,#0d2338,#173b63);color:#fff;padding:92px 0 84px;position:relative;overflow:hidden}.cgcr-hero:after{content:"";position:absolute;right:-120px;top:-150px;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02)}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--gold);margin:0 0 12px}.cgcr-hero h1,.cgcr-contact h2{font-family:Teko,Arial,sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:.94;margin:0}.cgcr-hero h1{font-size:clamp(54px,7vw,88px);max-width:850px}.cgcr-hero h1 span{color:#e8c77e}.cgcr-hero .lead{font-size:20px;line-height:1.6;max-width:900px;margin:28px 0 12px}.cgcr-hero p:not(.eyebrow):not(.lead){max-width:900px;font-size:17px;line-height:1.75;color:#dbe4ec}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-actions a{padding:14px 19px;border:1px solid rgba(255,255,255,.35);color:#fff;text-decoration:none;font-weight:700}.hero-actions a:first-child{background:var(--gold);border-color:var(--gold);color:#111}.cgcr-quick{background:#fff;border-bottom:1px solid var(--line)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quick-grid>div{padding:28px 28px 28px 0;border-right:1px solid var(--line);margin-right:28px}.quick-grid>div:last-child{border:0}.quick-grid small{display:block;color:var(--gold);font-weight:800;letter-spacing:.12em;margin-bottom:7px}.quick-grid strong,.quick-grid span{display:block}.quick-grid strong{font-size:17px}.quick-grid span{color:var(--muted);font-size:14px;margin-top:5px}.cgcr-form-section{padding:90px 0;background:#f5f7f8}.form-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:64px;align-items:start}.cgcr-contact h2{font-size:clamp(44px,5vw,66px);color:var(--blue)}.form-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;color:var(--muted)}.text-link{color:var(--blue);font-weight:700;text-decoration:none}.form-card{background:#fff;border:1px solid var(--line);box-shadow:0 22px 60px rgba(20,35,50,.08);padding:34px}.form-card form{display:grid;gap:18px}.form-card label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#3d4853}.form-card input,.form-card select,.form-card textarea{width:100%;box-sizing:border-box;border:1px solid #cfd6dc;background:#fff;border-radius:4px;padding:13px 14px;font:500 16px Inter,Arial,sans-serif;color:#17202a}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:3px solid rgba(200,154,61,.18);border-color:var(--gold)}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cart-fields{display:grid;grid-template-columns:.65fr 1.3fr 1fr .65fr;gap:12px}.form-card button{background:var(--blue);color:#fff;border:0;padding:15px 22px;font-weight:800;font-size:16px;cursor:pointer}.privacy,.optional{font-size:12px;color:#78838d;font-weight:500}.trap{position:absolute!important;left:-9999px!important}.success,.error{padding:16px 18px;margin-bottom:20px;border-left:4px solid #3c8b5f;background:#f0f8f3}.error{border-color:#b34a4a;background:#fff4f4}.cgcr-service{padding:90px 0;background:#fff}.service-head{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:end;margin-bottom:38px}.service-head>p{color:var(--muted);line-height:1.7}.service-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:34px}.areas article{padding:22px 0;border-top:1px solid var(--line)}.areas h3{font-family:Teko,Arial,sans-serif;font-size:30px;line-height:1;margin:0 0 7px;color:var(--blue);text-transform:uppercase}.areas p{color:var(--muted);line-height:1.65;margin:0}.map{min-height:470px;border:1px solid var(--line);box-shadow:0 16px 44px rgba(20,35,50,.08);overflow:hidden}.map iframe{border:0;width:100%;height:100%;min-height:470px;display:block}@media(max-width:800px){.cgcr-wrap{width:min(100% - 28px,1180px)}.cgcr-hero{padding:64px 0}.quick-grid,.form-layout,.service-head,.service-layout{grid-template-columns:1fr}.quick-grid>div{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:20px 0}.form-layout{gap:30px}.form-card{padding:22px}.two,.cart-fields{grid-template-columns:1fr}.cgcr-form-section,.cgcr-service{padding:62px 0}.service-head{gap:10px}.map,.map iframe{min-height:380px}}
/* v1.0.1 post-launch refinements */
.hero-actions a{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.hero-actions .hero-call{background:var(--gold);border:2px solid #e6bf67;color:#101820;box-shadow:0 0 0 4px rgba(200,154,61,.12),0 8px 22px rgba(0,0,0,.16)}.hero-actions .hero-call:hover,.hero-actions .hero-call:focus{background:#ddb45d;border-color:#f0cf85;color:#101820;box-shadow:0 0 0 5px rgba(200,154,61,.22),0 12px 26px rgba(0,0,0,.2);transform:translateY(-2px)}.hero-actions .hero-secondary:hover,.hero-actions .hero-secondary:focus{background:rgba(200,154,61,.16);border-color:#d9b35e;color:#f2d58f;box-shadow:inset 0 0 0 1px rgba(200,154,61,.2);transform:translateY(-2px)}
.cgcr-contact-bar{background:#fff;border-bottom:1px solid var(--line)}.contact-bar-inner{display:grid;grid-template-columns:.95fr 1.15fr 1.35fr;gap:0}.contact-bar-inner>a,.contact-bar-inner>div{display:flex;flex-direction:column;justify-content:center;min-height:118px;padding:22px 32px 22px 0;margin-right:32px;border-right:1px solid var(--line);text-decoration:none;color:inherit}.contact-bar-inner>*:last-child{border-right:0;margin-right:0}.contact-bar-inner small{font-size:11px;font-weight:800;letter-spacing:.14em;color:#9a742c;margin-bottom:7px}.contact-bar-inner strong{font-size:18px;line-height:1.25;color:var(--blue)}.contact-bar-inner span{font-size:13px;color:var(--muted);margin-top:5px;line-height:1.5}.contact-bar-inner a{transition:padding-left .18s ease}.contact-bar-inner a:hover{padding-left:8px}.contact-bar-inner .contact-primary strong{font-family:Teko,Arial,sans-serif;font-size:31px;letter-spacing:.02em}
.photo-tip{border-left:3px solid var(--gold);padding:2px 0 2px 16px}.inquiry-type{border:0;padding:0;margin:0;min-width:0}.inquiry-type legend{font-size:13px;font-weight:700;color:#3d4853;margin-bottom:10px}.inquiry-options{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.inquiry-options label{display:block;position:relative}.inquiry-options input{position:absolute;opacity:0;pointer-events:none}.inquiry-options span{display:block;padding:12px 15px;border-bottom:3px solid transparent;font-size:14px;font-weight:700;color:#5d6872;cursor:pointer;transition:.16s ease}.inquiry-options input:checked+span{color:var(--blue);border-bottom-color:var(--gold);background:#fbfaf7}.inquiry-options span:hover{color:var(--blue);background:#f8f9fa}.success-expanded span{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;color:#3c8b5f;margin-bottom:7px}.success-expanded>strong{display:block;font-family:Teko,Arial,sans-serif;font-size:30px;line-height:1;color:var(--blue)}.success-expanded a{color:var(--blue);font-weight:700;text-decoration:none}.map-shell{position:relative}.map-label{position:absolute;z-index:2;left:18px;right:18px;top:18px;background:rgba(23,59,99,.94);color:#fff;padding:13px 16px;border-left:4px solid var(--gold);box-shadow:0 8px 24px rgba(0,0,0,.18);pointer-events:none}.map-label strong,.map-label span{display:block}.map-label strong{font-family:Teko,Arial,sans-serif;text-transform:uppercase;font-size:24px;line-height:1}.map-label span{font-size:12px;color:#e5eaf0;margin-top:4px}.areas article:first-child{border-top:3px solid var(--gold)}
@media(max-width:800px){.contact-bar-inner{grid-template-columns:1fr}.contact-bar-inner>a,.contact-bar-inner>div{min-height:0;padding:20px 0;margin:0;border-right:0;border-bottom:1px solid var(--line)}.contact-bar-inner>*:last-child{border-bottom:0}.contact-bar-inner a:hover{padding-left:0}.inquiry-options{display:grid;grid-template-columns:1fr 1fr}.inquiry-options label:last-child{grid-column:1/-1}.inquiry-options span{text-align:center}.map-label{position:relative;left:auto;right:auto;top:auto}.hero-actions a{width:100%;box-sizing:border-box;text-align:center}}

/* v1.0.3 mobile presentation refinements */
@media (max-width: 600px) {
  /* The contact summary strip is intentionally desktop/tablet only. */
  .cgcr-contact-bar { display:none !important; }

  /* Give phone layouts a consistent safe gutter without touching the global shell. */
  .cgcr-contact .cgcr-wrap { width:100%; max-width:1180px; padding-left:20px; padding-right:20px; box-sizing:border-box; }

  .cgcr-hero { padding:54px 0 58px; }
  .cgcr-hero h1 { font-size:clamp(48px,15vw,62px); }
  .cgcr-hero .lead { font-size:18px; line-height:1.55; }
  .cgcr-hero p:not(.eyebrow):not(.lead) { font-size:16px; line-height:1.65; }
  .hero-actions { gap:10px; margin-top:24px; }
  .hero-actions a { min-height:50px; display:flex; align-items:center; justify-content:center; }

  .cgcr-form-section,.cgcr-service { padding:52px 0; }
  .cgcr-contact h2 { font-size:clamp(40px,13vw,54px); }
  .form-card { padding:20px 16px; }
  .form-card input,.form-card select,.form-card textarea { min-height:48px; font-size:16px; }
  .form-card textarea { min-height:150px; }
  .form-card button { min-height:50px; width:100%; }
  .inquiry-options { grid-template-columns:1fr 1fr; }
  .inquiry-options span { padding:13px 8px; line-height:1.25; }

  /* Mobile map repair: iframe receives an explicit rendered height instead of
     depending on percentage height resolution from its parent. */
  .map-shell,.map { width:100%; min-width:0; height:auto; min-height:0; overflow:hidden; }
  .map iframe { display:block !important; visibility:visible !important; opacity:1 !important; width:100% !important; max-width:none !important; height:390px !important; min-height:390px !important; border:0 !important; }
  .map-label { padding:12px 14px; }
  .map-label strong { font-size:22px; }
}

@media (max-width: 380px) {
  .cgcr-contact .cgcr-wrap { padding-left:16px; padding-right:16px; }
  .form-card { padding-left:14px; padding-right:14px; }
  .inquiry-options { grid-template-columns:1fr; }
  .inquiry-options label:last-child { grid-column:auto; }
  .map iframe { height:360px !important; min-height:360px !important; }
}

/* v1.0.4 spam protection */
.cgcr-turnstile-wrap{margin:20px 0 16px;padding:16px 18px;border:1px solid #dfe4ea;border-radius:8px;background:#f8fafc}.cgcr-turnstile-wrap .cf-turnstile{width:100%}.cgcr-turnstile-wrap p{margin:9px 0 0;font-size:13px;line-height:1.45;color:#667085}.cgcr-turnstile-admin-note{margin:18px 0;padding:12px 14px;border-left:3px solid #c89a3d;background:#fff8e8;font-size:14px}.cf-turnstile iframe{max-width:100%}@media(max-width:600px){.cgcr-turnstile-wrap{padding:14px 12px;margin:18px 0 14px}.cgcr-turnstile-wrap p{font-size:13px}}
