*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#18212b;background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid #e7eaed}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:#d6a545;color:#17202a;font-weight:900}.main-nav{display:flex;align-items:center;gap:24px;font-weight:700;font-size:.94rem}.main-nav a:not(.btn):hover{color:#9b7020}.menu-toggle{display:none;background:transparent;border:0;padding:8px}.menu-toggle span{display:block;width:26px;height:2px;background:#17202a;margin:5px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;background:#d6a545;color:#17202a;font-weight:800;border:2px solid #d6a545;transition:.2s}.btn:hover{filter:brightness(.96);transform:translateY(-1px)}.btn-small{min-height:42px;padding:8px 15px}.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}.btn-dark{background:#17202a;border-color:#17202a;color:#fff;width:100%}.btn-outline-dark{background:transparent;border-color:#17202a}.hero{background:#17202a;color:#fff;padding:88px 0}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.eyebrow{margin:0 0 10px;color:#9b7020;font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.eyebrow.light{color:#f0c66e}.hero h1{font-size:clamp(2.8rem,6vw,5.6rem);line-height:.96;letter-spacing:-.055em;margin:0 0 28px;max-width:760px}.hero-text{font-size:1.15rem;color:#cbd3da;max-width:680px;margin-bottom:30px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.trust-row{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:30px;color:#d7dde2;font-size:.9rem}.hero-card{position:relative}.hero-photo-placeholder,.about-photo-placeholder,.project-photo{display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#cfd3d5,#eef0f1);color:#65707a;border:1px solid rgba(255,255,255,.18)}.hero-photo-placeholder{min-height:520px;border:8px solid rgba(255,255,255,.07)}.hero-photo-placeholder div{display:grid;gap:10px;padding:30px}.hero-photo-placeholder strong{font-size:1rem;color:#414b53}.hero-photo-placeholder span{font-size:.9rem;max-width:280px}.section{padding:92px 0}.section-heading{max-width:680px;margin-bottom:42px}.section-heading h2,.about-copy h2,.estimate-copy h2,.contact-banner h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 16px}.section-heading p:last-child{color:#66717b}.card-grid{display:grid;gap:22px}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card{padding:30px;border:1px solid #e3e6e9;background:#fff}.service-icon{font-size:1.8rem;margin-bottom:18px}.service-card h3{margin:0 0 10px;font-size:1.2rem}.service-card p{color:#66717b;margin:0}.projects-section{background:#f3f4f5}.split-heading{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project-card{background:#fff}.project-card.large{grid-row:span 2}.project-photo{min-height:270px;font-weight:800;letter-spacing:.08em}.project-card.large .project-photo{min-height:610px}.project-info{padding:20px}.project-info span{font-size:.78rem;color:#9b7020;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.project-info h3{margin:4px 0 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.about-visual{position:relative}.about-photo-placeholder{min-height:560px;padding:30px}.about-photo-placeholder span{display:block;margin-top:8px}.experience-badge{position:absolute;right:-18px;bottom:28px;background:#d6a545;padding:24px 28px;display:grid}.experience-badge strong{font-size:2.2rem;line-height:1}.experience-badge span{font-weight:700}.about-copy p{color:#66717b}.check-list{padding:0;margin:25px 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-list li:before{content:"✓";font-weight:900;margin-right:8px;color:#9b7020}.text-link{font-weight:900;color:#8a641d}.reviews-section{background:#17202a;color:#fff}.reviews-section .section-heading .eyebrow{color:#f0c66e}.review-grid{grid-template-columns:repeat(3,1fr)}blockquote{margin:0;padding:28px;background:#212d39;border:1px solid #32404d}blockquote p{color:#d4dbe0}.stars{color:#f0c66e;letter-spacing:.12em}blockquote footer{font-weight:800}.estimate-section{background:#d6a545}.estimate-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px}.estimate-copy>p{max-width:520px}.contact-details{display:grid;gap:16px;margin-top:32px}.contact-details a,.contact-details div{display:grid}.contact-details span{font-size:.95rem}.estimate-form{background:#fff;padding:34px}.estimate-form label{display:grid;gap:7px;font-weight:800;margin-bottom:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,select,textarea{width:100%;font:inherit;font-size:16px;border:1px solid #cfd5da;padding:12px 13px;background:#fff}textarea{resize:vertical}.form-note{font-size:.82rem;color:#68727b;margin:12px 0 0}.contact-banner{display:flex;justify-content:space-between;align-items:center;gap:32px}.contact-banner h2{max-width:690px}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.site-footer{background:#101820;color:#c8d0d6;padding:58px 0 20px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:38px}.footer-grid>div{display:flex;flex-direction:column;gap:9px}.footer-grid strong{color:#fff}.footer-brand{color:#fff;margin-bottom:8px}.footer-grid p{max-width:310px}.footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid #2a3640;display:flex;justify-content:space-between;gap:20px;font-size:.82rem}.form-success{color:#1f6f3f;font-weight:800}

@media(max-width:900px){
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;padding:22px 20px;border-bottom:1px solid #e7eaed;flex-direction:column;align-items:stretch}
  .main-nav.open{display:flex}
  .hero-grid,.about-grid,.estimate-grid,.split-heading{grid-template-columns:1fr}
  .hero{padding:64px 0}
  .hero-photo-placeholder{min-height:390px}
  .services-grid,.review-grid{grid-template-columns:1fr 1fr}
  .project-card.large{grid-row:auto}
  .project-card.large .project-photo{min-height:400px}
  .about-grid,.estimate-grid{gap:42px}
  .about-photo-placeholder{min-height:430px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .container{width:min(100% - 28px,1160px)}
  .section{padding:68px 0}
  .hero h1{font-size:2.9rem}
  .hero-actions,.contact-actions{display:grid}
  .hero-actions .btn,.contact-actions .btn{width:100%}
  .trust-row{display:grid}
  .services-grid,.review-grid,.project-grid,.form-row{grid-template-columns:1fr}
  .project-card.large .project-photo,.project-photo{min-height:260px}
  .check-list{grid-template-columns:1fr}
  .experience-badge{right:10px}
  .estimate-form{padding:22px}
  .contact-banner{display:grid}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}

/* Cali Contracting brand refinements */
:root{
  --cali-charcoal:#212d31;
  --cali-charcoal-2:#182428;
  --cali-cyan:#1ccbe0;
  --cali-blue:#0787d7;
  --cali-silver:#c8dadd;
  --cali-white:#f7fbfc;
}
body{color:var(--cali-charcoal-2)}
.site-header{background:rgba(24,36,40,.98);border-bottom-color:#324449;color:#fff}
.nav-wrap{min-height:88px}
.brand{color:#fff}
.brand-logo{width:104px;height:66px;object-fit:contain;object-position:center;flex:0 0 auto}
.brand-name{font-size:1rem;line-height:1.12;max-width:230px}
.main-nav a:not(.btn){color:#eaf5f7}
.main-nav a:not(.btn):hover{color:var(--cali-cyan)}
.menu-toggle span{background:#fff}
.btn{background:var(--cali-cyan);border-color:var(--cali-cyan);color:#0c1b20}
.btn:hover{filter:brightness(1.04)}
.hero{background:
  radial-gradient(circle at 82% 32%,rgba(28,203,224,.12),transparent 31%),
  linear-gradient(135deg,var(--cali-charcoal-2),var(--cali-charcoal));}
.eyebrow{color:var(--cali-blue)}
.eyebrow.light{color:#bff7ff}
.hero-card.branded-hero-card{
  min-height:520px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:22px;
  padding:34px;
  background:#212d31;
  border:1px solid rgba(200,218,221,.25);
  position:relative;
  overflow:hidden;
}
.hero-card.branded-hero-card:before{
  content:"";
  position:absolute;
  width:310px;height:310px;border-radius:50%;
  border:1px solid rgba(28,203,224,.18);
  box-shadow:0 0 0 42px rgba(7,135,215,.04),0 0 0 84px rgba(28,203,224,.025);
}
.hero-logo{width:min(100%,470px);height:auto;position:relative;z-index:1}
.hero-credential{
  position:relative;z-index:1;
  width:min(100%,470px);
  border-top:1px solid rgba(200,218,221,.28);
  padding-top:18px;
  display:grid;gap:3px;
  text-align:center;
  color:#eefbfd;
}
.hero-credential strong{color:var(--cali-cyan);text-transform:uppercase;letter-spacing:.08em}
.hero-credential span{font-size:.9rem;color:#b9cdd1}
.service-card{border-color:#d7e1e3}
.service-icon{color:var(--cali-blue)}
.projects-section{background:#eef3f4}
.project-photo{
  background:linear-gradient(135deg,#26373c,#41555a);
  color:#c8f6fb;
  border-color:#52686d;
}
.project-info span,.text-link{color:#0675b9}
.about-photo-placeholder{background:#212d31;border-color:#385057;color:#eaf8fa}
.branded-about{padding:26px;gap:8px}
.branded-about img{width:min(100%,560px);height:auto}
.branded-about span{color:#b9cdd1;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.experience-badge{background:var(--cali-cyan);color:#102126;min-width:172px}
.experience-badge strong{font-size:1.55rem;letter-spacing:.04em}
.check-list li:before{color:var(--cali-blue)}
.reviews-section{background:var(--cali-charcoal-2)}
blockquote{background:#223238;border-color:#365057}
.stars{color:var(--cali-cyan)}
.estimate-section{background:linear-gradient(135deg,#1ccbe0,#78e4ee)}
.estimate-section .eyebrow{color:#0b506c}
.btn-dark{background:var(--cali-charcoal-2);border-color:var(--cali-charcoal-2)}
.site-footer{background:#111c20}
.footer-logo{width:126px;height:84px;object-fit:contain}
.footer-brand{align-items:flex-start;gap:10px}
.footer-brand span{max-width:220px}
.footer-bottom{border-top-color:#314248}
@media(max-width:900px){
  .main-nav{top:88px;background:#182428;border-bottom-color:#324449}
  .brand-logo{width:88px;height:58px}
  .hero-card.branded-hero-card{min-height:420px}
}
@media(max-width:620px){
  .brand-name{font-size:.88rem;max-width:155px}
  .brand-logo{width:76px;height:52px}
  .hero-card.branded-hero-card{min-height:340px;padding:22px}
}

.veteran-section{background:#101820;color:#fff;padding:58px 0}.veteran-banner{display:flex;align-items:center;justify-content:space-between;gap:36px}.veteran-banner h2{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 10px}.veteran-banner p:not(.eyebrow){margin:0;color:#cbd3da}.veteran-banner .eyebrow{color:#38c5d8}@media(max-width:700px){.veteran-banner{display:grid}.veteran-banner .btn{width:100%}}

.project-description{margin:8px 0 0;color:#66717b;font-size:.94rem;line-height:1.5}

.project-photo-image{overflow:hidden;padding:0}
.project-photo-image img{width:100%;height:100%;object-fit:cover;display:block}
.project-link{display:inline-block;margin-top:10px}
.project-showcase{background:#fff}
.project-timeline{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:0 0 34px}
.timeline-step{border-top:3px solid #38c5d8;padding:12px 10px 0;display:grid;gap:4px}
.timeline-step span{font-size:.78rem;font-weight:900;color:#66717b;letter-spacing:.1em}
.timeline-step strong{font-size:.92rem;line-height:1.25}
.project-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-gallery figure{margin:0;background:#f4f6f7;border:1px solid #e2e6e9;overflow:hidden}
.project-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.project-gallery figcaption{padding:11px 13px;font-size:.88rem;font-weight:800;color:#36424c}
@media(max-width:900px){
  .project-timeline{grid-template-columns:repeat(3,1fr)}
  .project-gallery{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .project-timeline{grid-template-columns:1fr 1fr}
  .project-gallery{grid-template-columns:1fr}
}

/* Compact project galleries: full project photos open from their project thumbnail */
.project-showcase{display:none}
.project-card:has(.project-link){cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.project-card:has(.project-link):hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,24,32,.12)}
.project-card:has(.project-link) .project-photo-image{position:relative}
.project-card:has(.project-link) .project-photo-image:after{content:"View Project Gallery";position:absolute;left:16px;bottom:16px;background:rgba(16,24,32,.88);color:#fff;padding:9px 12px;font-size:.78rem;font-weight:900;letter-spacing:.04em}
.project-modal{display:none;position:fixed;inset:0;z-index:1000}
.project-modal.open{display:block}
.project-modal-backdrop{position:absolute;inset:0;background:rgba(9,15,21,.76)}
.project-modal-panel{position:absolute;inset:3vh max(3vw,18px);background:#fff;overflow:auto;box-shadow:0 22px 80px rgba(0,0,0,.3)}
.project-modal-close{position:sticky;top:14px;float:right;z-index:5;margin:14px 14px 0 0;width:46px;height:46px;border:0;border-radius:50%;background:#17202a;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.project-modal-content{padding:12px 0 0}
.project-modal-content .project-showcase{display:block;padding:58px 0 76px}
body.project-modal-open{overflow:hidden}
@media(max-width:700px){.project-modal-panel{inset:10px}.project-modal-content .project-showcase{padding:42px 0 56px}.project-card:has(.project-link) .project-photo-image:after{font-size:.7rem;left:10px;bottom:10px}}
