:root{
  --cream:#FFF5D9; --navy:#182241; --dark:#213C4E; --slate:#536C7C; --ltslate:#7B949C;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:"Nunito Sans",sans-serif;color:var(--navy);background:var(--cream);line-height:1.65;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:"Manrope",sans-serif;font-weight:500;line-height:1.25}
.wrap{max-width:1100px;margin:0 auto;padding:0 5vw}
.wrap.narrow{max-width:780px}
.wrap.wide{max-width:1200px}
section{position:relative;padding:60px 0}
section .wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0}
.wave svg{width:100%;height:70px;display:block}

/* themes */
.t-default{background:var(--cream);color:var(--navy)}
.t-dark{background:var(--dark);color:var(--cream)}
.t-black{background:var(--navy);color:var(--cream)}
.t-light{background:var(--ltslate);color:var(--navy)}
.t-bright{background:var(--slate);color:var(--cream)}
.t-dark a,.t-black a,.t-bright a{color:var(--cream)}

/* header */
header{position:absolute;top:0;left:0;right:0;z-index:50;padding:13px 0}
.nav-wrap{max-width:1200px;margin:0 auto;padding:0 4vw;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-full{height:100px;width:auto}
.logo-icon{height:100px;width:auto}
.brand-text{font-family:"Nunito Sans",sans-serif;font-size:18px;color:var(--navy)}
.header-dark .brand-text,.header-dark nav a{color:var(--cream)}
.header-light nav a{color:var(--navy)}
nav{display:flex;align-items:center;gap:26px}
nav a{text-decoration:none;font-size:16px;font-family:"Nunito Sans",sans-serif}
nav a:hover,nav a.active{text-decoration:underline;text-underline-offset:4px}
.dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--cream);border-radius:8px;padding:10px 0;min-width:220px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.dropdown-menu a{display:block;padding:8px 18px;color:var(--navy)!important}
.dropdown-menu a:hover{background:rgba(24,34,65,.06);text-decoration:none}
.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:block}
header input{display:none}
header label{display:none;font-size:1.6rem;cursor:pointer}
.header-dark label{color:var(--cream)}
.header-light label{color:var(--navy)}
@media(max-width:760px){
  header label{display:block}
  nav{display:none;flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:16px 0 6px}
  header input:checked~nav{display:flex}
  .nav-wrap{flex-wrap:wrap}
  .logo-full,.logo-icon{height:56px}
  .dropdown-menu{position:static;box-shadow:none;background:transparent;padding:4px 0 4px 16px}
  .header-dark .dropdown-menu a{color:var(--cream)!important}
}

/* buttons */
.btn{display:inline-block;background:var(--slate);color:var(--cream)!important;text-decoration:none;
  padding:14px 34px;border-radius:300px;font-family:"Nunito Sans",sans-serif;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;font-size:13px;border:0;cursor:pointer}
.btn:hover{background:var(--dark)}
.btn-cream{background:var(--cream);color:var(--navy)!important}
.btn-cream:hover{background:#fff}

/* hero */
.hero{padding:150px 0 70px;text-align:right}
.hero h1{font-size:calc(30px + 1.06vw);font-weight:500;letter-spacing:-0.02em}
.hero h1 h2,.hero h1 p{font:inherit;margin:0}

/* two-col */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.col-text h2{font-size:1.7rem;margin-bottom:18px}
.col-text h3{font-size:1.25rem;margin:18px 0 10px}
.col-text p{margin-bottom:14px}
.col-text ul,.col-text ol{margin:0 0 16px 22px}
.col-text li{margin-bottom:10px}
.col-img img{border-radius:4px;width:100%}
@media(max-width:760px){.two-col{grid-template-columns:1fr;gap:28px}}

/* marquee */
.marquee{overflow:hidden;margin-top:56px;padding:10px 0;font-size:19px;white-space:nowrap}
.marquee-track{display:inline-block;animation:scroll 40s linear infinite}
.marquee-track span{padding-right:60px}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* section titles + cards */
.section-title{font-size:2.1rem;margin-bottom:36px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.card{background:var(--cream);color:var(--navy);padding:34px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;border-radius:4px}
.card h3{font-size:1.25rem;font-weight:500}
.card p{font-size:.95rem}
.card img{border-radius:4px;margin-bottom:8px}
.card .btn{margin-top:auto}
.t-default .card{background:#fff;border:1px solid rgba(24,34,65,.12);text-align:left;align-items:flex-start}
.t-default .card h3{margin-bottom:4px}
.section-btn{margin-top:36px}

/* quotes */
.quote-text blockquote,.quote-text p:first-child{font-family:"Manrope",sans-serif;font-size:1.6rem;line-height:1.4}
.testimonials .wrap{max-width:960px}
.carousel .slides{position:relative}
.carousel .slide{display:none;text-align:center;animation:fadeIn .5s ease}
.carousel .slide.active{display:block}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.carousel .quote{font-family:"Manrope",sans-serif;font-weight:500;font-size:clamp(18px,1.97vw,25.3px);letter-spacing:-0.02em;line-height:1.11;color:var(--cream);margin:0 auto;max-width:900px}
.carousel .attrib{font-size:16px;font-weight:400;color:var(--cream);margin-top:26px}
.carousel-nav{display:flex;gap:28px;justify-content:center;margin-top:52px}
.car-btn{width:60px;height:60px;border-radius:50%;background:var(--cream);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.car-btn svg{width:44px;height:18px;stroke:#536C7C;stroke-width:2;fill:none}
.car-btn:hover{background:#fff}

/* faq */
.faq{margin-top:10px}
.faq details{border-top:1px solid rgba(255,245,217,.35);padding:20px 0}
.faq details:last-child{border-bottom:1px solid rgba(255,245,217,.35)}
.faq summary{font-family:"Manrope",sans-serif;font-size:1.25rem;cursor:pointer;list-style:none;position:relative;padding-right:40px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:0;font-size:1.5rem;font-weight:400}
.faq details[open] summary::after{content:"\2212"}
.faq .acc-body{margin-top:14px}
.faq .acc-body p{margin-bottom:12px}

/* service hero */
.service-hero{padding:170px 0 70px}
.service-hero h1{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:22px}
.service-hero p{margin-bottom:16px}
.service-hero ul{margin:0 0 18px 22px}
.service-hero li{margin-bottom:12px}
.service-hero .content-img{margin:28px auto;border-radius:4px;max-width:640px}

/* revops */
.revops h2,.revops h3{font-size:1.3rem;margin:26px 0 10px}
.revops p{margin-bottom:14px}

/* about */
.about-band{padding:120px 0 90px}
.about .col-img img{border-radius:4px}
.about h1,.about h2{font-size:2.2rem;margin-bottom:20px}
.about .col-text p{margin-bottom:16px}

/* contact */
.contact-hero{background-size:cover;background-position:center;min-height:480px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--cream);padding:140px 5vw 60px}
.contact-hero h1,.contact-hero h2{font-size:clamp(2.2rem,5vw,3.2rem);margin-bottom:18px}
.contact-hero p{font-size:1.15rem;margin-bottom:8px}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}
.contact-form label{display:block;font-weight:600;margin:16px 0 6px;font-size:.95rem}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;font:inherit;padding:12px 20px;border:0;border-radius:300px;
  background:var(--ltslate);color:var(--cream)}
.contact-form textarea{border-radius:18px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,245,217,.75)}
.contact-form select{border-radius:300px;appearance:auto}
.name-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form .btn{margin-top:20px}
.form-status{margin-top:12px;font-weight:700;color:var(--dark)}
.t-dark .form-status{color:var(--cream)}

/* article */
.article{max-width:860px;padding-top:130px}
.article-hero{width:100%;border-radius:4px;margin-bottom:26px}
.article .meta{text-align:center;color:var(--navy);margin-bottom:14px}
.article-title{text-align:center;font-size:clamp(1.8rem,4vw,2.7rem);margin-bottom:22px}
.article-note{text-align:center;margin-bottom:36px}
.article-note p{margin-bottom:6px}
.article-body p{margin-bottom:16px}
.article-body ul,.article-body ol{margin:0 0 16px 24px}
.article-body li{margin-bottom:10px}
.article-body img{margin:24px auto;border-radius:4px}

/* content images */
.content-img{border-radius:4px;margin:20px auto}

/* footer */
footer{background:var(--dark);color:var(--cream);padding:64px 0;margin-top:0}
footer h3{font-size:1.9rem;margin-bottom:20px}
footer p{margin-bottom:14px}
footer a{text-decoration:underline}
footer .btn{text-decoration:none;margin-top:10px}

/* home cards: 4 across on desktop */
.t-black .cards{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.t-black .cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.t-black .cards{grid-template-columns:1fr}}
