/* GRAVEL CONSULTING — DESIGN SYSTEM v2 — DTC Palette */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --color-primary: #023047;
  --color-primary-dark: #011823;
  --color-primary-mid: #126782;
  --color-primary-light: #219EBC;
  --color-sky: #8ECAE6;
  --color-sky-light: #E0F4FA;
  --color-accent: #FB8500;
  --color-accent-hover: #FD9E02;
  --color-accent-light: #FFF6E0;
  --color-gold: #FFB703;
  --color-gold-light: #FFEDC1;
  --color-sand: #F0EDE6;
  --color-sand-light: #F7F5F0;
  --color-off-white: #FAFAF7;
  --color-text: #2A2A2A;
  --color-text-muted: #5A6570;
  --color-text-light: #8A9199;
  --color-border: #E2E0DB;
  --color-white: #FFFFFF;
  --font-serif: 'Fraunces', Georgia, serif;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --section-padding: clamp(4rem, 10vw, 8rem);
  --container-padding: clamp(1.5rem, 4vw, 3rem);
  --max-width: 1280px;
  --transition-fast: 0.2s cubic-bezier(0.4,0,0.2,1);
  --transition-base: 0.3s cubic-bezier(0.4,0,0.2,1);
  --transition-slow: 0.6s cubic-bezier(0.4,0,0.2,1);
  --shadow-sm: 0 1px 2px rgba(2,48,71,0.05);
  --shadow-md: 0 4px 16px rgba(2,48,71,0.08);
  --shadow-lg: 0 12px 40px rgba(2,48,71,0.12);
  --shadow-xl: 0 24px 64px rgba(2,48,71,0.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--color-text);background:var(--color-off-white);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

/* TYPOGRAPHY */
h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400;line-height:1.15;letter-spacing:-0.02em;color:var(--color-primary)}
h1{font-size:clamp(2.5rem,6vw,4.5rem);letter-spacing:-0.03em}
h2{font-size:clamp(2rem,4.5vw,3.25rem)}
h3{font-size:clamp(1.5rem,2.5vw,2rem)}
h4{font-size:1.25rem;font-weight:500}
.eyebrow{font-family:var(--font-sans);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--color-accent);margin-bottom:1.25rem;display:inline-block}
.eyebrow::before{content:"";display:inline-block;width:2rem;height:1px;background:var(--color-accent);margin-right:.75rem;vertical-align:middle}
p{font-size:1rem;line-height:1.7;color:var(--color-text)}
.lead{font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.5;color:var(--color-text-muted);font-weight:300}

/* LAYOUT */
.container{max-width:var(--max-width);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}
.section{padding-top:var(--section-padding);padding-bottom:var(--section-padding)}
.section-dark{background:var(--color-primary);color:var(--color-off-white)}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--color-off-white)}
.section-dark .lead{color:rgba(250,250,247,.75)}
.section-sand{background:var(--color-sand-light)}
.section-header{max-width:780px;margin:0 auto 4rem;text-align:center}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 1.75rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:500;border:none;border-radius:2px;cursor:pointer;transition:all var(--transition-base);min-height:52px;white-space:nowrap}
.btn-primary{background:var(--color-accent);color:var(--color-white)}
.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-secondary{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}
.btn-secondary:hover{background:var(--color-primary);color:var(--color-off-white);transform:translateY(-2px)}
.section-dark .btn-secondary{color:var(--color-off-white);border-color:rgba(250,250,247,.3)}
.section-dark .btn-secondary:hover{background:var(--color-off-white);color:var(--color-primary)}
.btn-arrow{transition:transform var(--transition-base)}
.btn:hover .btn-arrow{transform:translateX(4px)}
.link-arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-accent);font-weight:500;font-size:.9375rem;transition:all var(--transition-base);border-bottom:1px solid transparent;padding-bottom:2px}
.link-arrow:hover{border-bottom-color:var(--color-accent)}
.link-arrow:hover svg{transform:translateX(4px)}
.link-arrow svg{transition:transform var(--transition-base)}

/* NAVBAR */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(250,250,247,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:all var(--transition-base)}
.navbar.scrolled{border-bottom-color:var(--color-border);background:rgba(250,250,247,.95)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin:0 auto;padding:.75rem var(--container-padding)}
.navbar-logo{display:flex;align-items:center}
.navbar-logo img{height:44px;width:auto}
.navbar-menu{display:flex;align-items:center;gap:2.5rem;list-style:none}
.navbar-menu a{font-size:.9375rem;font-weight:400;color:var(--color-text);transition:color var(--transition-fast);position:relative}
.navbar-menu a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--color-accent);transition:width var(--transition-base)}
.navbar-menu a:hover{color:var(--color-primary-light)}
.navbar-menu a:hover::after,.navbar-menu a.active::after{width:100%}
.navbar-cta{display:flex;align-items:center;gap:1rem}
.navbar-cta .btn{padding:.75rem 1.25rem;min-height:44px;font-size:.875rem}
.navbar-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-primary)}
@media(max-width:900px){
  .navbar-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-off-white);flex-direction:column;padding:2rem;gap:1.5rem;border-bottom:1px solid var(--color-border)}
  .navbar-menu.open{display:flex}
  .navbar-cta .btn{display:none}
  .navbar-toggle{display:block}
}

/* HERO */
.hero{padding:9rem 0 5rem;background:var(--color-off-white);position:relative;overflow:hidden}
.hero-bg-accent{position:absolute;top:-20%;right:-10%;width:60%;height:140%;background:radial-gradient(ellipse at center,rgba(142,202,230,.15) 0%,transparent 60%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;position:relative;z-index:1}
.hero-content .eyebrow{margin-bottom:2rem}
.hero-title{font-size:clamp(2.75rem,6.5vw,5rem);line-height:1.02;margin-bottom:1.75rem;letter-spacing:-0.035em}
.hero-title em{font-style:italic;color:var(--color-primary-light);font-weight:300}
.hero-subtitle{font-size:clamp(1.125rem,1.5vw,1.25rem);color:var(--color-text-muted);margin-bottom:2.5rem;max-width:540px;line-height:1.55;font-weight:300}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem}
.hero-trust{display:flex;flex-wrap:wrap;gap:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}
.hero-trust-item{display:flex;flex-direction:column;gap:.25rem}
.hero-trust-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-light)}
.hero-trust-value{font-family:var(--font-serif);font-size:1rem;font-weight:500;color:var(--color-primary)}
.hero-visual{position:relative;border-radius:4px;overflow:hidden}
.hero-visual-img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.hero-stat-card{position:absolute;bottom:2rem;left:-2rem;background:var(--color-off-white);padding:1.5rem 2rem;box-shadow:var(--shadow-xl);border-radius:4px;min-width:240px;border:1px solid var(--color-border)}
.hero-stat-value{font-family:var(--font-serif);font-size:2.75rem;font-weight:400;line-height:1;color:var(--color-primary);margin-bottom:.25rem}
.hero-stat-value em{font-style:italic;color:var(--color-accent);font-weight:300}
.hero-stat-label{font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}
@media(max-width:900px){
  .hero{padding:8rem 0 4rem}
  .hero-grid{grid-template-columns:1fr;gap:3rem}
  .hero-stat-card{left:auto;right:1rem;bottom:1rem}
}

/* TRUST BAR */
.trust-bar{padding:3rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-off-white)}
.trust-bar-label{text-align:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-light);margin-bottom:2rem;font-weight:500}
.trust-bar-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem 4rem}
.trust-logo{font-family:var(--font-serif);font-size:1.125rem;font-weight:500;color:var(--color-text-light);opacity:.7;transition:all var(--transition-base);display:flex;align-items:center;gap:.5rem}
.trust-logo:hover{opacity:1;color:var(--color-primary)}
.trust-logo-badge{font-family:var(--font-sans);font-size:.6875rem;font-weight:600;background:var(--color-sky-light);color:var(--color-primary);padding:.25rem .5rem;letter-spacing:.05em}

/* AUDIENCE */
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.audience-card{background:var(--color-white);border:1px solid var(--color-border);padding:2.75rem 2.25rem;transition:all var(--transition-base);position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:380px;cursor:pointer}
.audience-card::before{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}
.audience-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}
.audience-card:hover::before{transform:scaleX(1)}
.audience-icon{width:56px;height:56px;background:var(--color-sky-light);display:flex;align-items:center;justify-content:center;margin-bottom:1.75rem;transition:all var(--transition-base)}
.audience-card:hover .audience-icon{background:var(--color-primary-light);color:var(--color-white)}
.audience-icon svg{width:28px;height:28px;stroke:var(--color-primary);transition:stroke var(--transition-base)}
.audience-card:hover .audience-icon svg{stroke:var(--color-white)}
.audience-card h3{font-size:1.5rem;margin-bottom:1rem;line-height:1.25}
.audience-card p{color:var(--color-text-muted);font-size:.9375rem;margin-bottom:1.5rem;flex-grow:1}
.audience-card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}
.audience-tag{font-size:.75rem;background:var(--color-sky-light);color:var(--color-primary-mid);padding:.3125rem .625rem;border-radius:2px;font-weight:500}
@media(max-width:900px){.audience-grid{grid-template-columns:1fr}}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.stat-item{padding:2rem 1.5rem;text-align:center;border-right:1px solid rgba(250,250,247,.1)}
.stat-item:last-child{border-right:none}
.stat-value{font-family:var(--font-serif);font-size:clamp(3rem,5vw,4.5rem);font-weight:300;line-height:1;color:var(--color-sky);margin-bottom:.75rem;letter-spacing:-0.04em}
.stat-value em{font-style:italic;color:var(--color-gold)}
.stat-label{font-size:.9375rem;color:rgba(250,250,247,.75);line-height:1.4;font-weight:300}
@media(max-width:900px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:0}
  .stat-item{border-right:none;border-bottom:1px solid rgba(250,250,247,.1);padding:2.5rem 1rem}
  .stat-item:nth-child(2n){border-left:1px solid rgba(250,250,247,.1)}
  .stat-item:nth-last-child(-n+2){border-bottom:none}
}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--color-border)}
.service-card{padding:2.75rem 2.25rem;background:var(--color-white);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transition:all var(--transition-base);display:flex;flex-direction:column}
.service-card:nth-child(3n){border-right:none}
.service-card:nth-last-child(-n+3){border-bottom:none}
.service-card:hover{background:var(--color-sky-light)}
.service-number{font-family:var(--font-serif);font-size:.875rem;font-style:italic;color:var(--color-accent);margin-bottom:1.5rem}
.service-card h3{font-size:1.375rem;margin-bottom:1rem;line-height:1.25;min-height:3.25rem}
.service-card p{color:var(--color-text-muted);font-size:.9375rem;margin-bottom:1.5rem;flex-grow:1}
.service-card ul{list-style:none;margin-bottom:1.75rem}
.service-card ul li{font-size:.875rem;color:var(--color-text-muted);padding:.25rem 0 .25rem 1.25rem;position:relative;line-height:1.5}
.service-card ul li::before{content:"→";position:absolute;left:0;color:var(--color-accent);font-weight:500}
@media(max-width:900px){.services-grid{grid-template-columns:1fr}.service-card{border-right:none}}

/* PROCESS */
.process-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:4rem;position:relative}
.process-timeline::before{content:"";position:absolute;top:28px;left:3%;right:3%;height:1px;background:var(--color-border);z-index:0}
.process-step{position:relative;z-index:1}
.process-number{width:56px;height:56px;background:var(--color-off-white);border:1.5px solid var(--color-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.5rem;color:var(--color-primary);margin-bottom:2rem;transition:all var(--transition-base)}
.process-step:hover .process-number{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white);transform:scale(1.05)}
.process-step h4{font-family:var(--font-serif);font-size:1.375rem;font-weight:400;margin-bottom:.75rem;color:var(--color-primary)}
.process-step-time{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);font-weight:500;margin-bottom:.75rem}
.process-step p{font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}
@media(max-width:900px){.process-timeline{grid-template-columns:1fr;gap:2.5rem}.process-timeline::before{left:27px;right:auto;top:5%;bottom:5%;width:1px;height:auto}}

/* USPS */
.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:4rem}
.usp-item{text-align:left}
.usp-icon-wrap{width:64px;height:64px;margin-bottom:1.75rem;display:flex;align-items:center;justify-content:center;background:var(--color-sky-light);border-radius:2px}
.usp-icon-wrap svg{width:30px;height:30px;stroke:var(--color-primary-light)}
.usp-item h3{font-size:1.5rem;margin-bottom:1rem;line-height:1.25}
.usp-item p{color:var(--color-text-muted);line-height:1.65}
@media(max-width:900px){.usp-grid{grid-template-columns:1fr;gap:2.5rem}}

/* TESTIMONIALS */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.testimonial-card{background:var(--color-white);padding:2.5rem 2.25rem;border:1px solid var(--color-border);display:flex;flex-direction:column;transition:all var(--transition-base)}
.testimonial-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md)}
.testimonial-quote-mark{font-family:var(--font-serif);font-size:4rem;font-style:italic;color:var(--color-accent);line-height:.5;margin-bottom:1.5rem;height:1.5rem}
.testimonial-text{font-family:var(--font-serif);font-size:1.125rem;line-height:1.55;color:var(--color-primary);margin-bottom:2rem;font-weight:400;flex-grow:1}
.testimonial-author{display:flex;align-items:center;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;background:var(--color-sky-light);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.125rem;font-weight:500;color:var(--color-primary);flex-shrink:0}
.testimonial-author-info h5{font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:var(--color-primary);margin-bottom:.125rem}
.testimonial-author-info p{font-size:.8125rem;color:var(--color-text-muted);line-height:1.3}
@media(max-width:900px){.testimonials-grid{grid-template-columns:1fr}}

/* LEAD MAGNET */
.lead-magnet{background:var(--color-primary);color:var(--color-off-white);overflow:hidden;position:relative}
.lead-magnet::before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(circle,rgba(142,202,230,.12) 0%,transparent 60%);pointer-events:none}
.lead-magnet-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;align-items:center;position:relative;z-index:1}
.lead-magnet-content h2{color:var(--color-off-white);margin-bottom:1.5rem;font-size:clamp(2rem,4vw,2.75rem)}
.lead-magnet-content .eyebrow{color:var(--color-gold)}.lead-magnet-content .eyebrow::before{background:var(--color-gold)}
.lead-magnet-content p{color:rgba(250,250,247,.8);font-size:1.0625rem;margin-bottom:2rem;max-width:480px}
.lead-magnet-form{display:flex;gap:.75rem;max-width:480px;flex-wrap:wrap}
.lead-magnet-form input{flex:1;min-width:240px;padding:1rem 1.25rem;background:rgba(250,250,247,.08);border:1px solid rgba(250,250,247,.2);color:var(--color-off-white);font-family:var(--font-sans);font-size:.9375rem;border-radius:2px;min-height:52px;transition:border-color var(--transition-base)}
.lead-magnet-form input::placeholder{color:rgba(250,250,247,.5)}
.lead-magnet-form input:focus{outline:none;border-color:var(--color-accent);background:rgba(250,250,247,.12)}
.lead-magnet-form button{background:var(--color-accent);color:var(--color-white);border:none;padding:1rem 1.75rem;font-family:var(--font-sans);font-size:.9375rem;font-weight:500;cursor:pointer;border-radius:2px;min-height:52px;transition:all var(--transition-base);white-space:nowrap}
.lead-magnet-form button:hover{background:var(--color-accent-hover);transform:translateY(-2px)}
.lead-magnet-privacy{font-size:.75rem;color:rgba(250,250,247,.5);margin-top:1rem;max-width:480px}
.lead-magnet-privacy a{color:var(--color-gold);text-decoration:underline}
.lead-magnet-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:380px}
.pdf-mockup{width:100%;max-width:340px;aspect-ratio:3/4;background:var(--color-off-white);position:relative;transform:rotate(-3deg);box-shadow:0 40px 80px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.05);padding:2.5rem 2rem;color:var(--color-text);transition:transform var(--transition-slow)}
.pdf-mockup:hover{transform:rotate(0deg) scale(1.03)}
.pdf-mockup-tag{display:inline-block;background:var(--color-accent);color:var(--color-white);font-size:.6875rem;text-transform:uppercase;letter-spacing:.12em;padding:.25rem .625rem;margin-bottom:1.5rem;font-weight:600}
.pdf-mockup-title{font-family:var(--font-serif);font-size:1.625rem;line-height:1.15;color:var(--color-primary);margin-bottom:1rem;font-weight:400}
.pdf-mockup-subtitle{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:2rem}
.pdf-mockup-lines{display:flex;flex-direction:column;gap:.5rem}
.pdf-mockup-line{height:6px;background:var(--color-sky-light);border-radius:2px}
.pdf-mockup-line:nth-child(1){width:90%}.pdf-mockup-line:nth-child(2){width:75%}.pdf-mockup-line:nth-child(3){width:85%}.pdf-mockup-line:nth-child(4){width:60%}.pdf-mockup-line:nth-child(5){width:80%}
.pdf-mockup-footer{position:absolute;bottom:2rem;left:2rem;right:2rem;display:flex;justify-content:space-between;font-size:.6875rem;color:var(--color-text-light);border-top:1px solid var(--color-border);padding-top:1rem}
@media(max-width:900px){.lead-magnet-grid{grid-template-columns:1fr;gap:3rem}.lead-magnet-visual{order:-1}}

/* CTA BLOCK */
.cta-block{background:var(--color-primary-light);color:var(--color-white);padding:var(--section-padding) 0;text-align:center;position:relative;overflow:hidden}
.cta-block h2{color:var(--color-white);margin-bottom:1.25rem;font-size:clamp(2.25rem,5vw,3.5rem)}
.cta-block p{color:rgba(255,255,255,.9);font-size:1.125rem;margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}
.cta-block-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.cta-block .btn-primary{background:var(--color-accent);color:var(--color-white)}
.cta-block .btn-primary:hover{background:var(--color-gold);color:var(--color-primary)}
.cta-block .btn-secondary{background:transparent;color:var(--color-white);border-color:rgba(255,255,255,.3)}
.cta-block .btn-secondary:hover{background:var(--color-white);color:var(--color-primary-light);border-color:var(--color-white)}

/* FOOTER */
.footer{background:var(--color-primary-dark);color:var(--color-off-white);padding:5rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem}
.footer-brand h3{font-family:var(--font-serif);font-size:1.625rem;color:var(--color-off-white);margin-bottom:1rem;font-weight:500}
.footer-brand p{color:rgba(250,250,247,.6);font-size:.9375rem;line-height:1.6;max-width:320px}
.footer-col h5{font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-off-white);margin-bottom:1.5rem;font-weight:600}
.footer-col ul{list-style:none}.footer-col ul li{margin-bottom:.75rem}
.footer-col ul a{color:rgba(250,250,247,.6);font-size:.9375rem;transition:color var(--transition-fast)}
.footer-col ul a:hover{color:var(--color-accent)}
.footer-contact-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:.9375rem;color:rgba(250,250,247,.7)}
.footer-contact-item svg{flex-shrink:0;margin-top:2px;stroke:var(--color-accent)}
.footer-bottom{padding-top:2rem;border-top:1px solid rgba(250,250,247,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.8125rem;color:rgba(250,250,247,.5)}
.footer-bottom-links{display:flex;gap:1.5rem}
.footer-bottom-links a{color:rgba(250,250,247,.5);transition:color var(--transition-fast)}
.footer-bottom-links a:hover{color:var(--color-off-white)}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}.footer-brand{grid-column:span 2}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:span 1}}

/* SUBPAGES */
.page-hero{padding:10rem 0 5rem;background:var(--color-sand-light);border-bottom:1px solid var(--color-border);position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;top:-20%;right:-10%;width:40%;height:140%;background:radial-gradient(ellipse at center,rgba(142,202,230,.12) 0%,transparent 70%);pointer-events:none}
.breadcrumb{display:flex;gap:.5rem;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:1.5rem;position:relative}
.breadcrumb a{color:var(--color-text-muted);transition:color var(--transition-fast)}
.breadcrumb a:hover{color:var(--color-accent)}
.breadcrumb-separator{color:var(--color-text-light)}
.page-hero h1{font-size:clamp(2.5rem,5vw,4rem);max-width:900px;margin-bottom:1.5rem;position:relative}
.page-hero .lead{max-width:700px;position:relative}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:2.5rem}}

.feature-list{list-style:none;margin-top:2rem}
.feature-list li{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--color-border)}
.feature-list li:last-child{border-bottom:none}
.feature-check{flex-shrink:0;width:24px;height:24px;background:var(--color-sky-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-primary-light);margin-top:2px}
.feature-list li>div h5{font-family:var(--font-serif);font-size:1.125rem;font-weight:500;margin-bottom:.375rem;color:var(--color-primary)}
.feature-list li>div p{font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}

.image-block{aspect-ratio:4/5;position:relative;overflow:hidden;border-radius:2px}
.image-block img{width:100%;height:100%;object-fit:cover}
.image-block-label{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(transparent,rgba(2,48,71,.85));color:var(--color-off-white);font-family:var(--font-serif);font-size:1.25rem;font-style:italic;line-height:1.3;font-weight:300}

/* CONTACT */
.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.contact-info-card{background:var(--color-primary);color:var(--color-off-white);padding:3rem;border-radius:2px}
.contact-info-card h3{color:var(--color-off-white);margin-bottom:1.5rem;font-size:1.75rem}
.contact-info-card p{color:rgba(250,250,247,.75);margin-bottom:2.5rem}
.contact-info-list{list-style:none;margin-bottom:2.5rem}
.contact-info-list li{display:flex;gap:1rem;padding:1.25rem 0;border-bottom:1px solid rgba(250,250,247,.1)}
.contact-info-list li:last-child{border-bottom:none}
.contact-info-icon{flex-shrink:0;width:40px;height:40px;background:rgba(33,158,188,.2);display:flex;align-items:center;justify-content:center;border-radius:2px}
.contact-info-icon svg{stroke:var(--color-sky);width:20px;height:20px}
.contact-info-list h5{font-family:var(--font-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(250,250,247,.5);margin-bottom:.375rem;font-weight:500}
.contact-info-list p{color:var(--color-off-white);font-size:1rem;margin-bottom:0;line-height:1.4}
.contact-form{display:flex;flex-direction:column;gap:1.25rem}
.form-group{display:flex;flex-direction:column;gap:.5rem}
.form-group label{font-size:.8125rem;font-weight:500;color:var(--color-primary);letter-spacing:.02em}
.form-group input,.form-group select,.form-group textarea{padding:1rem 1.25rem;background:var(--color-white);border:1px solid var(--color-border);font-family:var(--font-sans);font-size:.9375rem;color:var(--color-text);border-radius:2px;transition:border-color var(--transition-base);min-height:52px}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary-light)}
.form-group textarea{min-height:140px;resize:vertical;font-family:var(--font-sans)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-checkbox{display:flex;align-items:flex-start;gap:.625rem;font-size:.8125rem;color:var(--color-text-muted);line-height:1.5}
.form-checkbox input{margin-top:3px;accent-color:var(--color-accent);min-height:auto}
.form-submit{width:100%;padding:1.125rem;font-size:1rem}
@media(max-width:900px){.contact-form-grid{grid-template-columns:1fr;gap:2.5rem}.form-row{grid-template-columns:1fr}}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}
.about-portrait{aspect-ratio:4/5;position:relative;overflow:hidden;border-radius:2px}
.about-portrait img{width:100%;height:100%;object-fit:cover}
.qualifications-list{list-style:none;margin-top:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.qualifications-list li{padding:1rem 1.25rem;background:var(--color-white);border:1px solid var(--color-border);font-size:.9375rem;color:var(--color-primary);display:flex;align-items:center;gap:.75rem}
.qualifications-list li::before{content:"✓";color:var(--color-accent);font-weight:bold;flex-shrink:0}
@media(max-width:900px){.about-grid{grid-template-columns:1fr}.qualifications-list{grid-template-columns:1fr}}

/* FUNDING */
.funding-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}
.funding-card{background:var(--color-white);border:1px solid var(--color-border);padding:2.5rem;transition:all var(--transition-base);display:flex;flex-direction:column;border-left:3px solid var(--color-primary-light)}
.funding-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.funding-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}
.funding-card-badge{font-size:.75rem;font-weight:600;background:var(--color-sky-light);color:var(--color-primary);padding:.375rem .75rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.funding-card-badge.gold{background:var(--color-accent);color:var(--color-white)}
.funding-card h3{font-size:1.375rem;margin-bottom:.5rem}
.funding-card-amount{font-family:var(--font-serif);font-size:2rem;color:var(--color-primary-light);font-weight:400;margin:1rem 0;letter-spacing:-0.02em}
.funding-card-amount em{font-style:italic;font-size:.875rem;color:var(--color-text-muted);font-weight:400;letter-spacing:0}
.funding-card p{color:var(--color-text-muted);font-size:.9375rem;line-height:1.6;margin-bottom:1.5rem;flex-grow:1}
.funding-card-meta{display:flex;gap:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border);font-size:.8125rem;color:var(--color-text-muted)}
.funding-card-meta strong{color:var(--color-primary);font-weight:500}
@media(max-width:900px){.funding-grid{grid-template-columns:1fr}}

/* PROJECTS */
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
.project-card{background:var(--color-white);border:1px solid var(--color-border);overflow:hidden;transition:all var(--transition-base);display:flex;flex-direction:column}
.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.project-image{aspect-ratio:16/10;position:relative;overflow:hidden}
.project-image-1{background:linear-gradient(135deg,#219EBC 0%,#023047 100%)}
.project-image-2{background:linear-gradient(135deg,#FB8500 0%,#023047 100%)}
.project-image-3{background:linear-gradient(135deg,#8ECAE6 0%,#126782 100%)}
.project-image-4{background:linear-gradient(135deg,#023047 0%,#FFB703 100%)}
.project-image::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 30px,rgba(255,255,255,.04) 30px,rgba(255,255,255,.04) 31px)}
.project-category{position:absolute;top:1.5rem;left:1.5rem;background:rgba(250,250,247,.95);color:var(--color-primary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:.375rem .75rem}
.project-content{padding:2rem;flex-grow:1;display:flex;flex-direction:column}
.project-content h3{font-size:1.5rem;margin-bottom:.75rem;line-height:1.25}
.project-meta{display:flex;gap:1.5rem;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:1.25rem}
.project-content p{color:var(--color-text-muted);font-size:.9375rem;margin-bottom:1.5rem;flex-grow:1}
.project-results{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}
.project-result-value{font-family:var(--font-serif);font-size:1.5rem;color:var(--color-primary-light);font-weight:400;line-height:1;margin-bottom:.375rem}
.project-result-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}
@media(max-width:900px){.projects-grid{grid-template-columns:1fr}}

/* UTILITIES */
.text-center{text-align:center}
.text-accent{color:var(--color-accent)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
