:root{--navy:#071721;--teal:#079aae;--teal2:#35bfd0;--gold:#e7b52e;--cream:#f5f3ed;--white:#fff;--ink:#10202a;--muted:#60717a;--line:#d9e0e3;--shadow:0 20px 55px rgba(4,19,28,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--cream)}button,a{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);background:rgba(7,23,33,.97);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:10px;line-height:1}.brand-mark{font-weight:900;font-size:24px;color:var(--teal2)}.brand strong{display:block;font-size:15px;letter-spacing:.14em}.brand small{display:block;font-size:9px;letter-spacing:.38em;margin-top:5px;color:#c9d3d7}nav{display:flex;align-items:center;gap:26px;font-size:14px;color:#d9e3e7}nav a:hover{color:var(--gold)}.nav-account{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:9px 14px;border-radius:999px}.nav-account:hover{border-color:var(--gold);color:var(--gold)}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:25px}
.hero{min-height:610px;position:relative;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(4,17,26,.94),rgba(4,17,26,.75) 43%,rgba(4,17,26,.18)),url("../assets/flyer1.png");background-size:cover;background-position:center 23%;overflow:hidden}.hero:after{content:"";position:absolute;inset:auto 0 0;height:130px;background:linear-gradient(transparent,var(--cream));pointer-events:none}.hero-content{position:relative;z-index:2;color:#fff;width:min(760px,90%);margin-left:clamp(24px,9vw,130px);padding:70px 0}.eyebrow,
.section-kicker{font-size:11px;letter-spacing:.19em;font-weight:800;color:var(--gold)}h1{font-size:clamp(54px,8vw,94px);line-height:.93;margin:16px 0 24px;letter-spacing:-.05em}h1 em,h2 em{color:var(--teal2);font-style:normal}.hero-copy{font-size:clamp(17px,2vw,22px);line-height:1.55;max-width:600px;color:#e7eef1}
.hero-cta{display:inline-flex;gap:22px;align-items:center;margin-top:18px;padding:14px 20px;border:1px solid var(--gold); color:var(--gold);border-radius:999px;font-weight:800;background:rgba(7,23,33,.35);backdrop-filter:blur(7px)}
.hero-cta:hover{border-color:#fff;color:#fff}
.intro{max-width:1180px;margin:0 auto;padding:70px 28px 28px;display:flex;justify-content:space-between;gap:50px;align-items:end}
.intro h2,.trust-section h2,.feedback-strip h2{font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.04em;margin:10px 0 0}
.intro p{max-width:450px;color:var(--muted);line-height:1.65;margin:0}
.service-grid{max-width:1180px;margin:0 auto;padding:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{position:relative;min-height:330px;text-align:left;border:1px solid #d9e0e3;background:#fff;border-radius:20px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;transition:.25s;box-shadow:0 4px 0 transparent}.service-card:hover,.service-card:focus{transform:translateY(-7px);box-shadow:var(--shadow);border-color:var(--teal);outline:none}.service-number{position:absolute;top:28px;right:28px;color:#9aa9ae;font-size:12px;font-weight:800}.service-icon{width:66px;height:66px;flex:0 0 66px;border-radius:50%;display:grid;place-items:center;border:3px solid var(--gold);background:var(--navy);color:#fff;margin-bottom:auto}.service-icon svg{width:39px;height:39px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.service-card:nth-child(3) 
.service-icon{border-color:var(--teal2)}.service-card:nth-child(4) .service-icon{border-color:var(--teal2)}.service-card h3{font-size:25px;margin:22px 0 10px;letter-spacing:-.03em}.service-card p{color:var(--muted);line-height:1.55;margin:0 0 20px}.learn{color:var(--teal);font-size:13px;font-weight:900;margin-top:auto}
.service-detail{max-width:1124px;margin:28px auto 80px;background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:20px 28px 32px;border:1px solid var(--line)}
.detail-close-row{text-align:right}.detail-close-row button{background:none;border:0;color:var(--muted);font-weight:700}
.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start;padding:20px}
.detail-layout h2{font-size:clamp(35px,4vw,58px);line-height:1;margin:12px 0}
.detail-layout>div>p{color:var(--muted);line-height:1.7;font-size:17px}
.detail-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pill{border:1px solid #cbd8dc;background:#edf3f4;color:#284851;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800;cursor:pointer}
.need-pill{border:1px solid #cbd8dc;background:#edf3f4;color:#284851;padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800;cursor:pointer}
.need-pill:hover{border-color:var(--teal);color:var(--teal)}
.need-pill.selected{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 0 0 3px rgba(7,154,174,.13)}
.lead-form{background:var(--navy);color:#fff;padding:27px;border-radius:18px}
.lead-form h3{font-size:25px;margin:0 0 7px}
.lead-form p{color:#b9c9cf;font-size:13px;line-height:1.5}
.request-mode{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.12)}
.mode-btn{border:1px solid rgba(255,255,255,.28);background:transparent;color:#dce8eb;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900}
.mode-btn.active,.mode-btn:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.guided-label,.tell-more-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#b9c9cf;font-weight:900;margin-top:18px}
.tell-more-label{color:#fff;margin-top:10px}
.selected-service-label{font-size:15px;color:#dce8eb;margin:8px 0 13px;min-height:22px}
.selected-service-label.has-selection{color:#fff;font-weight:800}
.selected-service-label.attention{color:#ffd15a}
.lead-form textarea,.form-fields input,.login-form input{display:block;width:100%;border:1px solid #cbd6da;border-radius:9px;padding:11px;font:inherit;background:#fff;color:var(--ink)}
.lead-form textarea{resize:vertical}
.tcenter{text-align:center}
.goright{float:right}
.goleft{float:right}
.groupbttn{height:50px; margin:5px; min-width:300px; width:100%}
.relative{position:relative}

.form-fields label,.login-form label{display:block;font-size:12px;font-weight:800;margin-top:13px}
.primary-btn{border:0;background:var(--teal);color:#fff;padding:12px 16px;border-radius:9px;font-weight:900;width:100%;margin-top:15px}
.primary-btn:hover{background:var(--teal2)}.primary-btn:disabled{opacity:.55;cursor:not-allowed}
.form-success{display:flex;flex-direction:column;gap:5px;background:#e7f6f5;color:#0c4f55;border-radius:10px;padding:14px;margin-top:12px;font-size:13px}
.trust-section{max-width:1180px;margin:0 auto;padding:75px 28px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.trust-copy p{max-width:650px;color:var(--muted);line-height:1.75;font-size:16px}
.trust-points{display:flex;gap:28px;margin-top:28px}
.trust-points div{display:flex;gap:10px;flex-direction:column}
.trust-points strong{color:var(--gold)}
.trust-points span{font-weight:800;font-size:13px}
.portrait-card{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);background:var(--navy)}
.portrait-card img{width:100%;height:450px;display:block;object-fit:cover;object-position:48% 20%;filter:saturate(.9)}
.portrait-caption{position:absolute;left:0;right:0;bottom:0;padding:45px 24px 22px;color:#fff;background:linear-gradient(transparent,rgba(3,16,25,.95));display:flex;flex-direction:column;gap:5px}

.portrait-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow);
  background: var(--navy);
}
.portrait-card img {
  width: 100%;
  height: 450px;
  display: block;
  object-fit: cover;
  object-position: 48% 20%;
  filter: saturate(.9);
}

.clear{clear:both; width:100%}

.color-teal{color:var(--teal2);  }

.color-white{color:var(--white)}

.qactionbttn{
	font-weight:800;  border:solid 1px #000; background: var(--navy);
	 
	color: var(--gold);
   padding: 9px 14px;
  border-radius: 999px;
  width:180px
}

.feedback-strip{background:var(--navy);color:#fff;text-align:center;padding:70px 24px}footer{background:#041018;color:#b9c7cc;padding:34px 7vw;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}
dialog .dialog-head{display:flex;justify-content:space-between;padding:26px 28px 12px}.dialog-head h2{margin:6px 0;font-size:34px}.dialog-head button{background:none;border:0;font-size:28px;color:var(--muted)}
@media(max-width:850px){
	nav{display:none}
	.menu-btn{display:block}
	.service-grid{grid-template-columns:1fr 1fr}
	.detail-layout,.trust-section{grid-template-columns:1fr}
	.intro{flex-direction:column;align-items:flex-start;gap:0px; padding:5px 10px}
	}
@media(max-width:520px){
	.service-grid{grid-template-columns:1fr 1fr}
	.intro{padding-left:18px;padding-right:18px}
	.hero-content{margin-left:24px;margin-right:24px}
	.service-card{min-height:172px;padding:16px;border-radius:22px;gap:0; align-items:center; text-align:center}
	.service-icon{width:54px;height:54px;flex-basis:54px;border-width:2px;margin-bottom:14px;}
	.service-icon svg{width:32px;height:32px;stroke-width:2.7; margin:auto}
	.service-card h3{font-size:clamp(16px,4.2vw,21px);line-height:1.2;margin:5px 0 9px;}
	.service-card p{display:none}
	.service-card > .learn > .caption{display:none}
 
	.learn{font-size:40px;}
	.service-number{display:none;}
	.intro{gap:0px; padding:5px 10px}
 
	}




/* Header login panel */
.header-login-panel{
  background:var(--navy);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 12px 26px rgba(0,0,0,.16);
  padding:18px 20px;
}
.header-login-panel[hidden]{display:none}
.header-login-form{
  width:300px;
  max-width:calc(100% - 32px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.header-login-field{display:flex;flex-direction:column;gap:5px}
.header-login-field label{font-size:11px;font-weight:800;color:#dce7ea}
.header-login-field input{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.24);
  border-radius:7px;
  background:#fff;
  color:#071721;
  padding:10px 11px;
  font:inherit;
  outline:none;
}
.header-login-field input:focus{border-color:var(--teal2);box-shadow:0 0 0 2px rgba(7,154,174,.18)}
.header-login-error{
  padding:8px 10px;
  border-radius:7px;
  background:#fff0f0;
  color:#9b2c2c;
  font-size:11px;
  font-weight:800;
  line-height:1.4;
}
.header-login-actions{display:flex;align-items:center;gap:12px;margin-top:2px}
.header-login-submit{
  border:0;
  border-radius:7px;
  background:var(--teal2);
  color:#fff;
  padding:10px 18px;
  font-weight:900;
  cursor:pointer;
  flex:1;
}
.header-login-submit:hover{filter:brightness(1.06)}
.header-login-submit:disabled{opacity:.65;cursor:wait}
.header-login-forgot{border:0;background:none;color:var(--gold);padding:5px 0;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.header-login-btn{font:inherit;cursor:pointer}

/*dropdown */
/* Mobile menu */

@media (max-width: 800px) {

    .menu-btn {
        display: block;
        background: none;
        border: 0;
        color: #fff;
        font-size: 25px;
        padding: 5px;
        z-index: 30;
    }

    .site-header nav {
        display: none;
        position: absolute;
        top: 78px;
        left: 0;
        right: 0;
        background: var(--navy);
        padding: 18px 24px 24px;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        border-top: 1px solid rgba(255,255,255,.1);
        box-shadow: 0 15px 30px rgba(0,0,0,.25);
    }

    .site-header nav.mobile-open {
        display: flex;
    }

    .site-header nav a,
    .site-header nav .nav-account {
        display: block;
        width: 100%;
        text-align: left;
        padding: 13px 14px;
    }
 
 
  .site-header {
    position: sticky;
  }

 
 

  .site-header nav a:hover {
    background: rgba(255,255,255,.06);
  }

  .site-header .nav-account {
    border-radius: 9px;
  }
}


/* Login widget */
.login-card {
  grid-column: 1 / -1;
  min-height: 210px;
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}
.login-card h3 { color:#fff; }
.login-card p { color:#c6d4d8; }
.login-card .service-icon {
  border-color: var(--gold);
  color: var(--teal2);
}
.login-card .service-number { color:#9eb0b6; }
.login-card .learn { color:var(--gold); }

.login-dialog {
  width: min(460px, calc(100% - 30px));
  border: 0;
  border-radius: 22px;
  padding: 0;
  box-shadow: 0 30px 100px rgba(0,0,0,.3);
  color: var(--ink);
}
.login-dialog::backdrop {
  background: rgba(2,12,18,.72);
  backdrop-filter: blur(3px);
}
.login-form {
  padding: 5px 28px 28px;
}
.login-form p {
  color: var(--muted);
  line-height: 1.5;
  font-size: 13px;
}
.login-form label {
  display:block;
  font-size:12px;
  font-weight:800;
  margin-top:14px;
}
.login-form input {
  display:block;
  width:100%;
  margin-top:6px;
  border:1px solid #cbd6da;
  border-radius:9px;
  padding:12px;
  font:inherit;
}
.login-error {
  margin-top:10px;
  background:#fff0ef;
  color:#a4372f;
  border-radius:8px;
  padding:10px;
  font-size:12px;
  font-weight:800;
}


.inline-error {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fff0f0;
    color: #9b2c2c;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
    white-space: pre-line;
}

.field-error {
    border-color: #c43d3d !important;
    box-shadow: 0 0 0 2px rgba(196, 61, 61, .12);
}

.text-btn {
    display: block;
    width: 100%;
    margin-top: 10px;
    border: 0;
    background: transparent;
    color: var(--teal2);
    font-size: 12px;
    font-weight: 800;
    text-decoration: underline;
    cursor: pointer;
}
/* PHP/fetch form flow */
.service-selection { max-width:1180px; margin:0 auto 30px; padding:0 28px; }
.service-selection[hidden] { display:none !important; }
.service-selection .service-grid { max-width:none; padding:0; }
.formContainer, #formContainer { min-height:0; }
.login-card { grid-column:1 / -1; min-height:210px; background:var(--navy); color:#fff; border-color:var(--navy); }
.login-card h3 { color:#fff; }
.login-card p { color:#c6d4d8; }
.login-card .service-icon { border-color:var(--gold); color:var(--teal2); }
.login-card .service-number { color:#9eb0b6; }
.login-card .learn { color:var(--gold); }
.login-detail { max-width:1124px; margin:28px auto 80px; }
.login-layout { align-items:stretch; }
.login-copy { padding-top:12px; }
.login-form-panel { display:flex; flex-direction:column; justify-content:center; }
.login-error { margin-top:10px; background:#fff0ef; color:#a4372f; border-radius:8px; padding:10px; font-size:12px; font-weight:800; }
.demo-login-note { display:block; margin-top:10px; color:#9fb1b7; }
.service-detail-error { max-width:1124px; margin:28px auto 80px; padding:28px; border:1px solid #d9e0e3; border-radius:20px; background:#fff; }
@media (max-width:760px) {
  .service-selection { padding:0 18px; }
  .login-card { grid-column:auto; }
}

/* Customer profile */
.profile-page{max-width:1124px;margin:28px auto 80px;background:#fff;border-radius:24px;box-shadow:0 20px 55px rgba(4,19,28,.12);padding:30px}
.profile-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.profile-back,.profile-signout{border:0;background:none;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer;padding:8px 0}
.profile-signout{color:var(--teal)}
.profile-hero{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;padding:18px 0 32px;border-bottom:1px solid var(--line)}
.profile-hero h2{font-size:clamp(34px,5vw,56px);line-height:1.02;margin:10px 0 12px;max-width:700px}
.profile-hero p{color:var(--muted);line-height:1.65;max-width:650px;margin:0}
.profile-contact-card{min-width:230px;background:#f3f7f7;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:6px}
.profile-contact-card strong{font-size:14px}.profile-contact-card span{font-size:13px;color:var(--muted)}.profile-contact-card small{font-size:11px;color:#87979d;margin-top:5px}
.profile-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:18px;margin-top:18px}
.profile-main-card,.profile-side-card{border:1px solid var(--line);border-radius:18px;padding:25px;background:#fff}
.profile-side-card{background:#f5f3ed}
.profile-card-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.profile-card-heading.compact{align-items:center}
.profile-label{font-size:10px;letter-spacing:.18em;font-weight:900;color:var(--teal);display:block}.profile-card-heading h3,.profile-side-card h3{font-size:23px;margin:7px 0 0}.profile-side-card h3{line-height:1.2}
.status-pill,.history-status,.message-state,.history-count{font-size:10px;font-weight:900;letter-spacing:.04em;border-radius:999px;padding:7px 10px;white-space:nowrap}.status-progress{background:#fff2d2;color:#8a6500}.history-count,.message-state{background:#eef4f5;color:var(--muted)}
.recent-service-meta{display:flex;gap:18px;margin:18px 0 10px;color:var(--muted);font-size:12px;font-weight:800}.recent-service-card>p,.next-step-card p,.feedback-card p{color:var(--muted);line-height:1.6;font-size:13px}
.profile-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.profile-action{border:1px solid #bfcdd1;background:#fff;color:var(--ink);padding:10px 14px;border-radius:9px;font-size:12px;font-weight:900;cursor:pointer}.profile-action.primary-action{background:var(--teal);border-color:var(--teal);color:#fff}.text-action{border:0;background:none;padding:0;color:var(--teal);font-weight:900;cursor:pointer}
.lower-profile-grid{align-items:start}.history-list{margin-top:20px}.history-row{display:grid;grid-template-columns:100px 1fr auto;gap:15px;padding:15px 0;border-top:1px solid #e5eaeb;align-items:center}.history-date{font-size:11px;color:var(--muted)}.history-info{display:flex;flex-direction:column;gap:4px}.history-info strong{font-size:13px}.history-info span{font-size:11px;color:var(--muted)}.history-status{background:#eef4f5;color:var(--teal)}.history-status.in-progress{background:#fff2d2;color:#8a6500}
.feedback-card textarea,.message-compose textarea{width:100%;margin-top:15px;border:1px solid #cbd6da;border-radius:9px;padding:11px;font:inherit;resize:vertical}.rating-stars{display:flex;gap:3px;margin-top:18px}.rating-stars button{border:0;background:none;color:#c5cdd0;font-size:26px;cursor:pointer;padding:0 2px}.rating-stars button.selected{color:var(--gold)}.rating-note{font-size:11px;color:var(--muted);margin-top:3px}.permission-check{display:flex!important;gap:8px;align-items:flex-start;font-size:11px!important;font-weight:600!important;color:var(--muted);margin-top:12px!important}.permission-check input{width:auto!important;margin:1px 0 0!important}.feedback-saved,.message-sent{margin-top:12px;padding:10px;border-radius:8px;background:#eaf7f7;color:#087381;font-size:11px;font-weight:800}
.messages-card{margin-top:18px}.conversation{display:flex;flex-direction:column;gap:10px;margin-top:20px}.message{max-width:78%;padding:13px 15px;border-radius:14px}.message p{margin:5px 0 0;font-size:13px;line-height:1.5}.customer-message{background:#eef4f5;align-self:flex-start}.agent-message{background:#071721;color:#fff;align-self:flex-end}.message-author{font-size:10px;font-weight:900;opacity:.72}.message-compose{display:grid;grid-template-columns:1fr 130px;gap:10px;margin-top:18px;align-items:end}.message-compose textarea{margin:0}.message-compose .profile-action{height:44px}
@media(max-width:850px){.profile-hero{flex-direction:column;align-items:flex-start}.profile-contact-card{width:100%}.profile-grid{grid-template-columns:1fr}.message-compose{grid-template-columns:1fr}.history-row{grid-template-columns:1fr auto}.history-date{grid-column:1 / -1}}

/* Full customer profile page */
.profile-body{background:#f4f6f5}.profile-main{min-height:calc(100vh - 150px);padding:18px 28px 30px}.profile-shell{max-width:1180px;margin:0 auto;background:#fff;border-radius:24px;box-shadow:0 20px 55px rgba(4,19,28,.10);padding:30px}.profile-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.02;margin:10px 0 12px;max-width:760px}.profile-card-heading h2,.profile-side-card h2{font-size:23px;margin:7px 0 0}.profile-card-heading h2{font-weight:800}.nav-account.active{color:var(--teal);font-weight:900}
.profile-back,.profile-signout{display:inline-block;text-decoration:none}.profile-action{text-decoration:none;display:inline-block;text-align:center}.profile-side-card p,.profile-main-card p{line-height:1.6;color:var(--muted)}
@media(max-width:700px){.profile-main{padding:10px}.profile-shell{padding:20px;border-radius:18px}.profile-topbar{margin-bottom:16px}.profile-hero{padding-bottom:24px}.profile-contact-card{min-width:0}.profile-actions{flex-direction:column}.profile-action{width:100%;box-sizing:border-box}.history-row{grid-template-columns:1fr}.history-status{justify-self:start}.message{max-width:94%}}


.chat-topic{padding:8px 12px;border-bottom:1px solid #e6ecee}.chat-topic label{font-size:12px;font-weight:800}.chat-topic select{margin-left:6px;border:1px solid #ccd7db;border-radius:6px;padding:6px 8px;background:#fff}
