:root{
  --cream:#FAF8F3;
  --panel:#FFFFFF;
  --ink:#14171A;
  --navy:#1B4268;
  --navy-deep:#122E4B;
  --red:#B62337;
  --gold:#C9A227;
  --muted:#6B6F63;
  --border:#E3DFD3;
  --border-dark:rgba(255,255,255,0.14);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--cream); color:var(--ink); font-family:'Plus Jakarta Sans', sans-serif; overflow-x:hidden;}
.display{font-family:'Bebas Neue', sans-serif; letter-spacing:0.02em;}
.mono{font-family:'IBM Plex Mono', monospace;}
img{max-width:100%; display:block;}
a{color:inherit;}
.container{max-width:1200px; margin:0 auto; padding:0 40px;}

.blueprint-grid{position:absolute; inset:0; background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px); background-size:48px 48px; opacity:0.55; pointer-events:none;}
.blueprint-grid.on-dark{background-image:linear-gradient(var(--border-dark) 1px, transparent 1px), linear-gradient(90deg, var(--border-dark) 1px, transparent 1px); opacity:1;}

/* NAV */
nav{position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between; padding:14px 40px; background:rgba(250,248,243,0.9); backdrop-filter:blur(14px); border-bottom:1px solid var(--border);}
.nav-brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
.nav-brand img{height:46px; width:auto;}
.nav-links{display:flex; align-items:center;}
.nav-links a{color:var(--ink); text-decoration:none; font-size:13.5px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; opacity:0.8; margin:0 17px; transition:opacity .2s, color .2s;}
.nav-links a:hover{opacity:1; color:var(--red);}
.nav-cta{background:var(--red); color:#fff; font-weight:700; font-size:13px; padding:10px 20px; border-radius:3px; text-decoration:none; letter-spacing:0.03em; text-transform:uppercase; white-space:nowrap;}
.nav-toggle{display:none; background:none; border:none; font-size:26px; color:var(--ink); cursor:pointer;}
.nav-links a.active{opacity:1; color:var(--red);}

/* INTERIOR PAGE HERO */
.page-hero{position:relative; padding:90px 40px 70px; text-align:center; background:linear-gradient(180deg,#fff 0%, var(--cream) 65%); overflow:hidden;}
.page-hero .eyebrow{position:relative; z-index:2;}
.page-hero h1{font-size:clamp(42px,7vw,84px); line-height:0.95; text-transform:uppercase; position:relative; z-index:2; max-width:900px; margin:0 auto;}
.page-hero p.sub{max-width:640px; margin:22px auto 0; color:var(--muted); font-size:16px; line-height:1.6; position:relative; z-index:2;}
.breadcrumb{position:relative; z-index:2; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:18px;}
.breadcrumb a{color:var(--muted); text-decoration:none;}
.breadcrumb a:hover{color:var(--red);}

/* SERVICE DETAIL */
.detail-wrap{max-width:1000px; margin:0 auto; padding:0 40px;}
.detail-img{width:100%; border-radius:8px; overflow:hidden; margin-bottom:48px; aspect-ratio:16/7; object-fit:cover;}
.detail-body{display:grid; grid-template-columns:1.2fr 0.8fr; gap:56px; align-items:start;}
@media(max-width:850px){.detail-body{grid-template-columns:1fr;}}
.detail-body p{color:var(--muted); font-size:16px; line-height:1.75; margin-bottom:18px;}
.detail-list{background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:30px;}
.detail-list h3{font-size:13px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); font-weight:700; margin-bottom:16px;}
.detail-list ul{list-style:none;}
.detail-list li{color:var(--ink); font-size:14.5px; padding:10px 0 10px 22px; position:relative; border-top:1px solid var(--border);}
.detail-list li:first-child{border-top:none;}
.detail-list li::before{content:'—'; position:absolute; left:0; color:var(--red); font-weight:700;}
.detail-list a.trust-cta{display:block; text-align:center; margin-top:22px; background:var(--red); border-color:var(--red); color:#fff;}
.detail-list a.trust-cta:hover{background:#8f1b2b;}

/* CTA BAND (used at bottom of interior pages / condensed contact teaser) */
.cta-band{background:var(--navy-deep); color:#fff; padding:70px 40px; text-align:center; position:relative; overflow:hidden;}
.cta-band h2{font-size:clamp(30px,4vw,46px); text-transform:uppercase; margin-bottom:14px; position:relative; z-index:2;}
.cta-band p{color:#CBD5DF; font-size:15px; margin-bottom:26px; position:relative; z-index:2;}
.cta-band .btn-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; z-index:2;}
.cta-band .btn-primary{background:var(--gold); color:var(--ink); font-weight:800; font-size:13.5px; text-transform:uppercase; letter-spacing:0.03em; padding:15px 30px; border-radius:4px; text-decoration:none;}
.cta-band .btn-secondary{border:1px solid var(--border-dark); color:#fff; font-weight:700; font-size:13.5px; text-transform:uppercase; letter-spacing:0.03em; padding:15px 30px; border-radius:4px; text-decoration:none;}
.cta-band .btn-secondary:hover{background:rgba(255,255,255,0.08);}

/* SERVICES HUB CARDS */
.hub-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
@media(max-width:800px){.hub-grid{grid-template-columns:1fr;}}
.hub-card{background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:36px; text-decoration:none; color:inherit; display:block; transition:transform .25s, box-shadow .25s, border-color .25s; position:relative;}
.hub-card:hover{border-color:var(--navy); transform:translateY(-4px); box-shadow:0 14px 30px rgba(30,33,36,0.08);}
.hub-card .idx{font-family:'IBM Plex Mono'; color:var(--gold); font-size:12px; font-weight:600; margin-bottom:12px; letter-spacing:0.06em;}
.hub-card h3{font-size:26px; font-weight:800; margin-bottom:10px;}
.hub-card p{color:var(--muted); font-size:14.5px; line-height:1.6; margin-bottom:14px;}
.hub-card .link{color:var(--red); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:0.03em;}

/* CAREERS */
.job-card{max-width:900px; margin:0 auto; background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:44px;}
.job-card .job-head{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:20px; border-bottom:1px solid var(--border); padding-bottom:26px; margin-bottom:26px;}
.job-card .job-head h2{font-size:clamp(28px,4vw,40px); text-transform:uppercase;}
.job-card .job-head .meta{color:var(--muted); font-size:14px; margin-top:8px; line-height:1.6;}
.job-card .job-head .meta strong{color:var(--ink);}
.job-card .tag{display:inline-block; background:var(--cream); border:1px solid var(--border); color:var(--navy); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; padding:5px 12px; border-radius:20px; margin-right:8px; margin-top:10px;}
.job-card h4{font-size:13px; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted); font-weight:700; margin:26px 0 12px;}
.job-card p, .job-card li{color:var(--ink); font-size:15px; line-height:1.75;}
.job-card ul{padding-left:20px; margin-bottom:6px;}
.job-card li{margin-bottom:8px;}
.job-card .apply-row{margin-top:34px; display:flex; gap:14px; flex-wrap:wrap;}
.job-card .apply-row a{text-decoration:none; font-weight:800; font-size:13.5px; text-transform:uppercase; letter-spacing:0.03em; padding:15px 28px; border-radius:4px;}
.job-card .apply-row .apply-primary{background:var(--red); color:#fff;}
.job-card .apply-row .apply-primary:hover{background:#8f1b2b;}
.job-card .apply-row .apply-secondary{border:1px solid var(--border); color:var(--ink);}
.job-card .apply-row .apply-secondary:hover{border-color:var(--navy);}
.no-openings{max-width:700px; margin:0 auto; text-align:center; color:var(--muted); font-size:15px; line-height:1.7;}

/* HERO */
.hero{position:relative; min-height:760px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:80px 24px 100px; background:linear-gradient(180deg,#fff 0%, var(--cream) 65%); overflow:hidden;}
.eyebrow{color:var(--navy); font-size:13px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; margin-bottom:20px; position:relative; z-index:2;}
.eyebrow.on-dark{color:var(--gold);}
.hero h1{font-size:clamp(48px,8vw,108px); line-height:0.94; text-transform:uppercase; position:relative; z-index:2; max-width:1100px;}
.hero h1 .accent{color:var(--red);}
.hero p.sub{max-width:580px; margin:26px auto 40px; color:var(--muted); font-size:16.5px; line-height:1.6; position:relative; z-index:2;}
.fork{display:flex; gap:20px; flex-wrap:wrap; justify-content:center; position:relative; z-index:2;}
.fork-card{width:290px; text-align:left; text-decoration:none; background:var(--panel); border:1px solid var(--border); border-radius:6px; padding:26px; transition:transform .25s, box-shadow .25s, border-color .25s; position:relative; box-shadow:0 1px 2px rgba(30,33,36,0.04);}
.fork-card:hover{border-color:var(--navy); transform:translateY(-4px); box-shadow:0 14px 30px rgba(30,33,36,0.10);}
.fork-card .k{color:var(--muted); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; font-weight:700;}
.fork-card h3{color:var(--ink); font-size:24px; margin:8px 0 10px; font-weight:800;}
.fork-card p{color:var(--muted); font-size:13.5px; line-height:1.5;}
.fork-card .arrow{color:var(--red); font-size:20px; position:absolute; top:24px; right:22px;}

/* DARK BAND — trust markers */
.band-dark{position:relative; background:var(--navy-deep); color:#fff; padding:60px 40px; overflow:hidden;}
.band-dark .inner{position:relative; z-index:2; max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:40px;}
.band-stats{display:flex; gap:44px; flex-wrap:wrap;}
.band-stats .stat{margin:0 22px;}
.band-stats .stat .num{font-family:'Bebas Neue'; font-size:26px; color:var(--gold); font-weight:500; letter-spacing:0.03em;}
.band-stats .stat .lbl{font-size:11px; color:#B7C3CD; text-transform:uppercase; letter-spacing:0.1em; margin-top:6px; font-weight:600;}
.trust-cta{color:#fff; text-decoration:none; font-weight:700; font-size:13px; letter-spacing:0.04em; text-transform:uppercase; border:1px solid var(--border-dark); padding:12px 22px; border-radius:3px; transition:background .2s, border-color .2s;}
.trust-cta:hover{background:rgba(255,255,255,0.08); border-color:#fff;}

/* SECTION */
.section{padding:100px 40px; position:relative;}
.section-head{max-width:680px; margin:0 auto 56px; text-align:center;}
.section-head h2{font-size:clamp(34px,4.5vw,52px); text-transform:uppercase;}
.section-head p{color:var(--muted); margin-top:14px; font-size:15px; line-height:1.6;}
.section-head.left{margin-left:0; text-align:left;}

/* ABOUT */
.about-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:start;}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;}}
.about-copy .eyebrow{margin-bottom:14px;}
.about-copy h2{font-size:clamp(32px,4vw,46px); text-transform:uppercase; margin-bottom:20px;}
.about-copy p{color:var(--muted); font-size:15.5px; line-height:1.7; margin-bottom:16px;}
.mission-card{background:var(--navy-deep); color:#fff; border-radius:8px; padding:36px; position:relative; overflow:hidden;}
.mission-card .eyebrow.on-dark{margin-bottom:14px;}
.mission-card h3{font-size:26px; text-transform:uppercase; margin-bottom:16px; font-family:'Bebas Neue';}
.mission-card p{color:#CBD5DF; font-size:14.5px; line-height:1.7; margin-bottom:12px; position:relative; z-index:2;}

/* SERVICES */
.services-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:24px; position:relative; z-index:2;}
@media(max-width:900px){.services-grid{grid-template-columns:1fr;}}
.service-card{background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:32px; transition:transform .25s, box-shadow .25s, border-color .25s;}
.service-card:hover{border-color:var(--navy); transform:translateY(-4px); box-shadow:0 14px 30px rgba(30,33,36,0.08);}
.service-card .idx{font-family:'IBM Plex Mono'; color:var(--gold); font-size:12px; font-weight:600; margin-bottom:12px; letter-spacing:0.06em;}
.service-card h3{font-size:24px; font-weight:800; margin-bottom:10px;}
.service-card p{color:var(--muted); font-size:14px; line-height:1.6; margin-bottom:16px;}
.service-card ul{list-style:none;}
.service-card li{color:var(--ink); font-size:13.5px; padding:7px 0 7px 22px; position:relative; border-top:1px solid var(--border);}
.service-card li:first-child{border-top:none;}
.service-card li::before{content:'—'; position:absolute; left:0; color:var(--red); font-weight:700;}

/* GALLERY / PORTFOLIO */
.grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:26px; position:relative; z-index:2;}
@media(max-width:900px){.grid{grid-template-columns:1fr;}}
.proj-card{position:relative; border-radius:6px; overflow:hidden; aspect-ratio:4/5; background:linear-gradient(160deg,#EFECE2,#D9D4C6); cursor:default;}
.proj-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.proj-card:hover img{transform:scale(1.06);}
.proj-card .content{position:absolute; inset:0; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; background:linear-gradient(0deg, rgba(18,20,22,0.92) 0%, rgba(18,20,22,0.05) 55%, transparent 100%);}
.proj-card .type{color:var(--gold); font-size:10.5px; text-transform:uppercase; letter-spacing:0.12em; font-weight:700; margin-bottom:8px;}
.proj-card h4{font-size:20px; font-weight:800; margin-bottom:4px; color:#fff;}
.proj-card .loc{color:#D8D4C8; font-size:12.5px;}

/* PROCESS — red band */
.band-red{position:relative; background:var(--red); color:#fff; padding:100px 40px; overflow:hidden;}
.band-red .section-head h2, .band-red .eyebrow{color:#fff;}
.band-red .eyebrow{color:#FFD9C2;}
.band-red .section-head p{color:#F6D8DC;}
.process{max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; z-index:2;}
.process::before{content:''; position:absolute; top:28px; left:12.5%; right:12.5%; height:2px; background:rgba(255,255,255,0.35); z-index:0;}
@media(max-width:800px){.process{grid-template-columns:1fr; gap:36px;} .process::before{display:none;}}
.process-step{padding:0 24px; position:relative;}
.step-icon{width:56px; height:56px; border-radius:50%; background:var(--red); border:2px solid rgba(255,255,255,0.5); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; position:relative; z-index:1;}
.step-icon svg{width:24px; height:24px; color:#fff;}
.process-step .idx{font-family:'IBM Plex Mono'; color:#FFD9C2; font-size:13px; margin-bottom:14px; font-weight:600; text-align:center;}
.process-step h4{font-size:18px; margin-bottom:8px; font-weight:800; color:#fff; text-align:center;}
.process-step p{color:#F6D8DC; font-size:13.5px; line-height:1.55; text-align:center;}
.band-red .note{max-width:1000px; margin:40px auto 0; text-align:center; color:#F6D8DC; font-size:12.5px; font-style:italic;}

/* SERVICE AREAS */
.areas-grid{max-width:1000px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:26px;}
@media(max-width:800px){.areas-grid{grid-template-columns:1fr;}}
.area-card{background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:30px;}
.area-card .k{color:var(--muted); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; font-weight:700; margin-bottom:10px;}
.area-card h3{font-size:22px; font-weight:800; margin-bottom:10px; color:var(--navy);}
.area-card p{color:var(--muted); font-size:14px; line-height:1.6;}

/* LEGAL */
.legal-copy{max-width:760px; margin:0 auto;}
.legal-copy p{color:var(--muted); font-size:15px; line-height:1.75; margin-bottom:18px;}
.legal-copy h3{font-size:19px; font-weight:800; color:var(--ink); margin:36px 0 12px;}
.legal-copy h3:first-child{margin-top:0;}
.legal-copy ul{margin:0 0 18px 20px;}
.legal-copy li{color:var(--muted); font-size:15px; line-height:1.75; margin-bottom:8px;}
.legal-copy a{color:var(--red); font-weight:600;}

/* FAQ */
.faq-list{max-width:800px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border); padding:22px 0;}
.faq-item summary{cursor:pointer; font-weight:700; font-size:16.5px; color:var(--ink); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; font-size:22px; color:var(--red); font-weight:400; flex-shrink:0; line-height:1;}
.faq-item[open] summary::after{content:'−';}
.faq-item p{color:var(--muted); font-size:14.5px; line-height:1.7; margin-top:14px; padding-right:30px;}
.faq-item p a{color:var(--navy); font-weight:600; text-decoration:underline;}
.faq-item p a:hover{color:var(--red);}

/* FREE CONSULTATION */
.consult-card{max-width:1200px; margin:0 auto; background:var(--navy-deep); border-radius:10px; padding:48px; display:grid; grid-template-columns:0.85fr 1.15fr; gap:48px; align-items:center; position:relative; overflow:hidden; color:#fff;}
@media(max-width:900px){.consult-card{grid-template-columns:1fr; padding:32px 24px;}}
.consult-intro{position:relative; z-index:2;}
.consult-intro .eyebrow{color:var(--gold);}
.consult-intro h2{font-size:clamp(30px,4vw,44px); text-transform:uppercase; margin-bottom:16px;}
.consult-intro p{color:#CBD5DF; font-size:15px; line-height:1.7; margin-bottom:26px;}
.consult-phone{display:flex; flex-direction:column; gap:8px; border-top:1px solid var(--border-dark); padding-top:22px;}
.consult-phone span{color:#B7C3CD; font-size:12px; text-transform:uppercase; letter-spacing:0.06em; font-weight:600;}
.consult-phone a{color:var(--gold); font-size:22px; font-weight:800; text-decoration:none;}
.consult-phone a:hover{text-decoration:underline;}
.consult-widget{position:relative; z-index:2; background:var(--cream); border-radius:8px; overflow:hidden;}
.consult-widget .calendly-inline-widget{display:block;}
.section-divider{max-width:1200px; margin:0 auto; padding:0 40px; display:flex; align-items:center; gap:18px; color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em;}
.section-divider::before, .section-divider::after{content:''; flex:1; height:1px; background:var(--border);}

/* CONTACT */
.contact-wrap{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px;}
@media(max-width:900px){.contact-wrap{grid-template-columns:1fr;}}
.contact-info h2{font-size:clamp(32px,4vw,46px); text-transform:uppercase; margin-bottom:18px;}
.contact-info p.lead{color:var(--muted); font-size:15px; line-height:1.6; margin-bottom:28px;}
.contact-line{display:flex; gap:14px; margin-bottom:20px; align-items:flex-start;}
.contact-line .lbl{font-family:'IBM Plex Mono'; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:0.08em; width:80px; flex-shrink:0; padding-top:2px;}
.contact-line a, .contact-line span{font-size:15px; font-weight:600; color:var(--ink); text-decoration:none;}
.contact-line a:hover{color:var(--red);}
.social-row{margin-top:32px; display:flex; gap:12px;}
.social-row a{width:38px; height:38px; border-radius:50%; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; text-decoration:none; color:var(--navy); transition:background .2s, color .2s;}
.social-row a:hover{background:var(--navy); color:#fff;}
.map-embed{margin-top:28px; border-radius:12px; overflow:hidden; border:1px solid var(--border); aspect-ratio:16/10;}
.map-embed iframe{width:100%; height:100%; border:0; display:block;}

.contact-form{background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:36px;}
.contact-form .row{margin-bottom:18px;}
.contact-form label{display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted); margin-bottom:7px;}
.contact-form input, .contact-form textarea{width:100%; border:1px solid var(--border); border-radius:4px; padding:12px 14px; font-family:inherit; font-size:14.5px; background:var(--cream); color:var(--ink);}
.contact-form input:focus, .contact-form textarea:focus{outline:2px solid var(--navy); outline-offset:1px;}
.contact-form textarea{min-height:120px; resize:vertical;}
.contact-form .two-col{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:520px){.contact-form .two-col{grid-template-columns:1fr;}}
.submit-btn{background:var(--red); color:#fff; font-weight:800; font-size:14px; letter-spacing:0.04em; text-transform:uppercase; border:none; border-radius:4px; padding:15px 30px; cursor:pointer; transition:background .2s; width:100%;}
.submit-btn:hover{background:#8f1b2b;}
.form-note{font-size:12px; color:var(--muted); margin-top:12px; text-align:center;}
.contact-form label .opt{text-transform:none; font-weight:500; letter-spacing:0; color:var(--muted); font-size:11.5px;}
.contact-form input[type="file"]{padding:10px 14px; font-size:13.5px; cursor:pointer;}
.contact-form input[type="file"]::file-selector-button{background:var(--navy); color:#fff; border:none; border-radius:3px; padding:8px 14px; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; margin-right:12px; cursor:pointer;}
.hp-field{position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden;}
.submit-btn:disabled{opacity:0.6; cursor:default;}
.form-success{background:#EAF6EC; border:1px solid #B7DCC0; color:#1E6B33; border-radius:6px; padding:16px; margin-top:16px; text-align:center; font-size:14px; font-weight:600;}
.form-error{background:#FBEAEC; border:1px solid #E3B7BD; color:var(--red); border-radius:6px; padding:16px; margin-top:16px; text-align:center; font-size:14px;}
.form-error a{color:var(--red); font-weight:700;}

/* FLOATING CTA */
.floating-cta{position:fixed; bottom:26px; right:26px; z-index:60; background:var(--gold); color:var(--ink); padding:15px 24px; border-radius:40px; text-decoration:none; font-weight:800; font-size:13.5px; letter-spacing:0.03em; text-transform:uppercase; box-shadow:0 8px 24px rgba(201,162,39,0.4); display:flex; align-items:center; gap:8px; transition:opacity .25s ease;}
@media(max-width:600px){.floating-cta{padding:13px 18px; font-size:12px;}}

/* FOOTER */
footer{border-top:1px solid var(--border); padding:56px 40px 30px; background:var(--panel);}
.footer-grid{max-width:1200px; margin:0 auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:36px; text-align:left;}
.footer-brand{display:flex; align-items:center; gap:12px;}
.footer-brand img{height:56px; width:auto;}
.footer-col h5{font-size:12px; text-transform:uppercase; letter-spacing:0.08em; color:var(--muted); font-weight:700; margin-bottom:14px;}
.footer-col a, .footer-col div{display:block; color:var(--ink); text-decoration:none; font-size:13.5px; margin-bottom:8px;}
.footer-col a:hover{color:var(--red);}
.footer-bottom{max-width:1200px; margin:40px auto 0; padding-top:24px; border-top:1px solid var(--border); text-align:center; color:var(--muted); font-size:12px;}

/* MOBILE NAV */
@media(max-width:900px){
  nav{padding:14px 20px;}
  .nav-links{position:fixed; top:66px; left:0; right:0; background:var(--cream); flex-direction:column; align-items:flex-start; padding:20px; border-bottom:1px solid var(--border); display:none;}
  .nav-links.open{display:flex;}
  .nav-links a{margin:10px 0;}
  .nav-toggle{display:block;}
  .nav-cta{display:none;}
  .hero{padding:60px 20px 80px;}
  .section{padding:70px 20px;}
  .band-dark, .band-red{padding:60px 20px;}
  .page-hero{padding:60px 20px 50px;}
  .cta-band{padding:50px 20px;}
  .detail-wrap{padding:0 20px;}
  .job-card{padding:26px;}
  .consult-card{margin:0 20px; width:auto;}
  .section-divider{padding:0 20px;}
  .consult-widget .calendly-inline-widget{height:580px !important;}
  .footer-grid{flex-direction:column; align-items:flex-start; gap:32px;}
  .nav-brand img{height:48px;}
  .footer-brand img{height:58px;}
  .job-card .apply-row a{flex:1; text-align:center;}
}
