:root {
    --color-primary: #013d8b;
    --color-primary-dark: #012b63;
    --color-secondary: #3d8209;
    --color-sage: #dfeeda;
    --color-background: #f7f9fc;
    --color-surface: #ffffff;
    --color-sand: #f2f6fb;
    --color-blue: #dce8f7;
    --color-rose: #edf5e8;
    --color-text: #172033;
    --color-muted: #667085;
    --color-accent: #3d8209;
    --color-border: #e5eaf0;
    --color-white: #ffffff;
    --max-width: 80rem;
    --content-width: 76rem;
    --ease: cubic-bezier(.22, 1, .36, 1);
    font-family: 'Manrope', Arial, sans-serif;
    color: var(--color-text);
    background: var(--color-background);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--color-background); line-height: 1.6; }
a { color: inherit; }
img { max-width: 100%; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.container { width: min(calc(100% - 5rem), var(--content-width)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 200; top: 1rem; left: 1rem; padding: .75rem 1rem; background: var(--color-surface); color: var(--color-primary); transform: translateY(-200%); transition: transform .25s var(--ease); }
.skip-link:focus { transform: none; }
body.menu-open { overflow: hidden; }
.cursor-dot, .cursor-ring { position: fixed; z-index: 300; top: 0; left: 0; pointer-events: none; opacity: 0; }
.cursor-dot { width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: var(--color-accent); }
.cursor-ring { display: grid; place-items: center; width: 34px; height: 34px; margin: -17px 0 0 -17px; border: 1px solid rgba(252, 251, 247, .8); border-radius: 50%; color: var(--color-white); font-size: .52rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: width .3s var(--ease), height .3s var(--ease), margin .3s var(--ease), background .3s ease, border-color .3s ease; }
body.cursor-ready .cursor-dot, body.cursor-ready .cursor-ring { opacity: 1; }
body.cursor-interactive .cursor-ring { width: 48px; height: 48px; margin: -24px 0 0 -24px; background: rgba(175, 200, 184, .22); border-color: var(--color-sage); }
body.cursor-contextual .cursor-ring { width: 66px; height: 66px; margin: -33px 0 0 -33px; background: var(--color-accent); border-color: var(--color-accent); }
.cursor-ring span { opacity: 0; }.cursor-contextual .cursor-ring span { opacity: 1; }

h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: 'Newsreader', Georgia, serif; font-weight: 400; letter-spacing: -.055em; line-height: .98; }
h1, h2, h3, [id] { scroll-margin-top: 7rem; }
h1 em, h2 em { font-style: italic; }
.eyebrow { margin: 0; color: var(--color-secondary); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow--light { color: rgba(252, 251, 247, .7); }
.section-light, .section-cream { background: var(--color-background); }
.section-clay { background: var(--color-sand); }
.tone-sage { background: var(--color-sage); }.tone-clay { background: var(--color-sand); }.tone-blue { background: var(--color-blue); }.tone-rose { background: var(--color-rose); }.tone-ink { background: var(--color-primary); color: var(--color-white); }
.section-paper { background: var(--color-surface); }
.section-dark { background: var(--color-primary); color: var(--color-white); }
.section-sage { background: var(--color-sage); }

.site-header { position: fixed; z-index: 50; top: 0; left: 0; width: 100%; color: var(--color-white); border-bottom: 1px solid rgba(252, 251, 247, .24); transition: background .35s ease, color .35s ease, box-shadow .35s ease; }
.site-header.is-scrolled { background: rgba(252, 251, 247, .96); color: var(--color-primary); border-color: var(--color-border); box-shadow: 0 8px 30px rgba(23, 60, 50, .08); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 5.4rem; gap: 2rem; }
.site-brand { display: inline-flex; align-items: center; gap: .7rem; font-size: 1rem; font-weight: 700; letter-spacing: .02em; text-decoration: none; }
.site-brand__mark { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid currentColor; border-radius: 50%; font-family: 'Newsreader', Georgia, serif; font-size: 1.1rem; font-weight: 500; }
nav { display: flex; align-items: center; gap: 2rem; font-size: .78rem; }
nav a { text-decoration: none; opacity: .78; transition: opacity .25s ease, transform .25s var(--ease); }
nav a:hover, nav a[aria-current='page'] { opacity: 1; }
nav a:not(.button):hover { transform: translateY(-2px); }
nav a:not(.button) > span { margin-left: .5rem; opacity: .55; }
.nav-cta { opacity: 1 !important; margin-left: .35rem; }
.nav-toggle { display: none; }
.mobile-nav-intro, .mobile-nav-footer { display: none; }

.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-width: 10.5rem; padding: .95rem 1.15rem; border: 1px solid transparent; border-radius: 6px; font-size: .78rem; font-weight: 700; text-decoration: none; transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s var(--ease); }
.button:hover { transform: translateY(-3px); }
.button--small { min-width: auto; padding: .75rem 1rem; }
.button--light { background: var(--color-white); color: var(--color-primary); }
.button--light:hover { background: var(--color-sage); }
.button--dark { background: var(--color-primary); color: var(--color-white); }
.button--dark:hover { background: var(--color-secondary); }
.text-link { display: inline-flex; align-items: center; gap: .8rem; border-bottom: 1px solid currentColor; padding-bottom: .35rem; font-size: .78rem; font-weight: 700; text-decoration: none; }
.text-link span { transition: transform .3s var(--ease); }
.text-link:hover span { transform: translate(5px, -3px); }
.text-link--light { color: var(--color-white); }

.hero { position: relative; min-height: min(52rem, 100svh); display: flex; align-items: end; overflow: hidden; padding: 11rem 0 4.5rem; }
.hero__image-wrap, .hero__veil { position: absolute; inset: 0; }
.hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; opacity: .92; }
.hero__veil { background: linear-gradient(90deg, rgba(16, 44, 37, .88), rgba(16, 44, 37, .3) 62%, rgba(16, 44, 37, .18)); }
.hero__inner { position: relative; z-index: 1; width: min(calc(100% - 5rem), var(--max-width)); }
.hero__content { max-width: 52rem; }
.hero__content h1 { max-width: 52rem; margin: 1.4rem 0 1.8rem; font-size: clamp(3.7rem, 7vw, 7.2rem); }
.hero__intro { max-width: 34rem; color: rgba(252, 251, 247, .8); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.7; }
.hero__actions { display: flex; align-items: center; gap: 1.75rem; margin-top: 2.4rem; }
.hero__caption { display: flex; align-items: center; gap: 1rem; max-width: 22rem; margin: 7rem 0 0 auto; color: rgba(252, 251, 247, .72); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.hero__caption-rule { height: 1px; flex: 1; background: rgba(252, 251, 247, .5); }

.mission { padding: clamp(6rem, 12vw, 11rem) 0; }
.mission__grid, .skills-intro__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 4rem; }
.mission__content { max-width: 58rem; }
.mission h2 { max-width: 58rem; margin: 0 0 2.25rem; font-size: clamp(2.9rem, 5vw, 5.8rem); }
.mission__content p { max-width: 38rem; color: var(--color-muted); font-size: 1.1rem; line-height: 1.8; }
.mission .text-link { margin-top: 1rem; }

.focus, .skills-showcase { padding: clamp(6rem, 10vw, 10rem) 0; }
.section-heading { margin-bottom: 4rem; }
.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.section-heading h2 { max-width: 45rem; margin: 1.15rem 0 0; font-size: clamp(2.8rem, 5vw, 5.4rem); }
.section-heading__intro { max-width: 23rem; margin: 0; color: var(--color-muted); font-size: .9rem; }
.focus-list, .skills-list { display: flex; flex-direction: column; gap: clamp(4rem, 9vw, 9rem); }
.focus-item, .skill-item { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(2rem, 8vw, 9rem); }
.focus-item:nth-child(even), .skill-item:nth-child(even) { grid-template-columns: .92fr 1.08fr; }
.focus-item:nth-child(even) .focus-item__image, .skill-item:nth-child(even) .skill-item__visual { order: 2; }
.focus-item__image, .skill-item__visual, .skill-detail-image, .contact-image, .story-block__image { position: relative; overflow: hidden; border-radius: 10px; background: var(--color-sage); }
.focus-item__image { aspect-ratio: 1.35 / 1; }
.focus-item__image img, .skill-item__visual img, .skill-detail-image img, .contact-image img, .story-block__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.focus-item:hover img, .skill-item:hover img, .contact-image:hover img, .story-block__image:hover img { transform: scale(1.035); }
.focus-item__body { max-width: 30rem; }
.focus-item__number, .skill-item__index { color: var(--color-secondary); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.focus-item h3, .skill-item__content h2 { margin: 1.1rem 0 1rem; font-family: 'Newsreader', Georgia, serif; font-size: clamp(2.3rem, 4vw, 4.4rem); font-weight: 400; letter-spacing: -.05em; line-height: 1; }
.focus-item p, .skill-item__content > p:not(.eyebrow) { max-width: 27rem; margin-bottom: 1.7rem; color: var(--color-muted); font-size: 1rem; line-height: 1.8; }
.skill-item__visual { aspect-ratio: 1.25 / 1; display: block; text-decoration: none; }
.skill-item__visual .skill-item__index { position: absolute; z-index: 1; top: 1.2rem; left: 1.2rem; color: var(--color-primary); }
.skill-item__arrow { position: absolute; z-index: 1; top: 1rem; right: 1.2rem; font-size: 1.2rem; transition: transform .3s var(--ease); }
.skill-item:hover .skill-item__arrow { transform: translate(4px, -3px); }
.skill-item__content h2 { font-size: clamp(2.4rem, 4.5vw, 5rem); }
.skill-item__content h2 a { text-decoration: none; }
.skill-item__content .text-link { margin-top: .7rem; }
.skill-item__placeholder { position: absolute; inset: 0; display: grid; place-items: center; font-family: 'Newsreader', Georgia, serif; font-size: 12rem; opacity: .35; }

.impact-story { padding: clamp(5rem, 10vw, 10rem) 0; }
.impact-story__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(3rem, 10vw, 10rem); }
.impact-story__image { overflow: hidden; border-radius: 10px; }
.impact-story__image img { display: block; width: 100%; aspect-ratio: 1.1 / 1; object-fit: cover; }
.impact-story__content { max-width: 34rem; }
.impact-story h2 { margin: 1.2rem 0 1.6rem; font-size: clamp(3rem, 5vw, 5.7rem); }
.impact-story p:not(.eyebrow) { color: rgba(252, 251, 247, .76); font-size: 1rem; line-height: 1.8; }
.impact-story .button { margin-top: 1.2rem; }
.impact-numbers { padding: clamp(6rem, 10vw, 10rem) 0; }
.impact-numbers .section-heading { max-width: 40rem; }
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.stat { padding: 1.6rem 1.5rem 1.8rem 0; border-right: 1px solid var(--color-border); }
.stat:not(:first-child) { padding-left: 1.5rem; }
.stat:last-child { border-right: 0; }
.stat strong { display: block; font-family: 'Newsreader', Georgia, serif; font-size: clamp(4rem, 7vw, 7rem); font-weight: 400; letter-spacing: -.08em; line-height: 1; }
.stat span { display: block; margin-top: 1rem; color: var(--color-muted); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.placeholder-note { margin: 1.4rem 0 0; color: var(--color-muted); font-size: .72rem; }
.gallery-preview__grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(1rem, 3vw, 2.5rem); margin: 3rem 0 2rem; }
.gallery-preview__item { margin: 0; overflow: hidden; border-radius: 10px; background: var(--color-sage); }
.gallery-preview__item img { display: block; width: 100%; height: 100%; aspect-ratio: 1.35 / 1; object-fit: cover; }
.gallery-preview__item:nth-child(2) img { aspect-ratio: .9 / 1; }
.story-block { padding: clamp(5rem, 10vw, 10rem) 0; }
.story-block__grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(3rem, 9vw, 9rem); }
.story-block__content h2 { max-width: 46rem; margin: 1.1rem 0 1.5rem; font-size: clamp(2.8rem, 5vw, 5.4rem); }
.story-block__content p:not(.eyebrow) { max-width: 34rem; color: var(--color-primary-dark); font-size: 1.05rem; line-height: 1.8; }
.story-block__image { aspect-ratio: .82 / 1; }
.closing { padding: clamp(7rem, 14vw, 13rem) 0; }
.closing__inner { text-align: center; }
.closing h2 { margin: 1.2rem auto 2.2rem; font-size: clamp(4rem, 8vw, 8rem); }

.site-footer { background: var(--color-primary); color: var(--color-white); padding: clamp(5rem, 9vw, 9rem) 0 1.5rem; }
.footer-statement { padding-bottom: clamp(5rem, 9vw, 9rem); }
.footer-statement h2 { max-width: 62rem; margin: 1.3rem 0 0; font-size: clamp(3.3rem, 7vw, 7.2rem); }
.site-footer__top { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding-bottom: 6rem; }
.footer-note { max-width: 20rem; margin: 1.5rem 0 0; color: rgba(252, 251, 247, .62); font-size: .85rem; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }
.footer-links a { color: rgba(252, 251, 247, .78); font-size: .8rem; text-decoration: none; }
.footer-links a:hover { color: var(--color-white); }
.footer-label { margin: 0 0 .7rem; color: rgba(252, 251, 247, .45); font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(252, 251, 247, .22); padding-top: 1.5rem; color: rgba(252, 251, 247, .5); font-size: .68rem; }
.site-footer__bottom p { margin: 0; }.site-footer__bottom div { display: flex; gap: 1.5rem; }.site-footer__bottom a { text-decoration: none; }

.internal-hero { padding: 10rem 0 6rem; }.internal-hero__inner { max-width: var(--content-width); }.internal-hero h1 { max-width: 65rem; margin: 1.4rem 0 0; font-size: clamp(4rem, 8vw, 8rem); }.internal-hero__intro { max-width: 34rem; margin: 2rem 0 0; color: rgba(252, 251, 247, .75); font-size: 1.05rem; }
.breadcrumbs { display: flex; gap: .8rem; margin-bottom: 4rem; color: rgba(252, 251, 247, .62); font-size: .7rem; }.breadcrumbs a { text-decoration: none; }
.skills-intro { padding: clamp(5rem, 10vw, 9rem) 0; }.skills-intro__statement { max-width: 53rem; margin: 0; font-family: 'Newsreader', Georgia, serif; font-size: clamp(2.7rem, 5vw, 5.2rem); letter-spacing: -.06em; line-height: 1; }
.empty-state { border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); padding: 4rem 0; }.empty-state h2 { margin: 1rem 0; font-size: clamp(2.7rem, 5vw, 5rem); }.empty-state > p:not(.eyebrow) { max-width: 30rem; color: var(--color-muted); }.empty-state .button { margin-top: 1rem; }

.gallery-intro { padding: clamp(5rem, 10vw, 9rem) 0; }.gallery-intro__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 4rem; }.gallery-intro__statement { max-width: 53rem; margin: 0; font-family: 'Newsreader', Georgia, serif; font-size: clamp(2.7rem, 5vw, 5.2rem); letter-spacing: -.06em; line-height: 1; }
.gallery-showcase { padding: clamp(6rem, 10vw, 10rem) 0; }.gallery-filters { display: flex; flex-wrap: wrap; justify-content: end; gap: .5rem; }.gallery-filter { padding: .65rem .9rem; border: 1px solid var(--color-border); border-radius: 999px; background: transparent; color: var(--color-muted); font: inherit; font-size: .72rem; cursor: pointer; transition: background .25s ease, color .25s ease; }.gallery-filter:hover, .gallery-filter.is-active { background: var(--color-primary); color: var(--color-white); }
.gallery-masonry { display: grid; grid-template-columns: repeat(12, 1fr); align-items: start; gap: 1.25rem; }.gallery-card { margin: 0; }.gallery-card--0 { grid-column: span 7; }.gallery-card--1 { grid-column: span 5; margin-top: 8rem; }.gallery-card--2 { grid-column: span 4; }.gallery-card--3 { grid-column: span 5; margin-top: 5rem; }.gallery-card--4 { grid-column: span 3; margin-top: 2rem; }.gallery-card.is-filtered { display: none; }.gallery-card__trigger { position: relative; display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; text-align: left; }.gallery-card__trigger img, .gallery-card__fallback { display: block; width: 100%; aspect-ratio: 1.15 / 1; object-fit: cover; background: var(--color-sage); }.gallery-card--1 .gallery-card__trigger img, .gallery-card--1 .gallery-card__fallback { aspect-ratio: 1 / 1.25; }.gallery-card--2 .gallery-card__trigger img, .gallery-card--2 .gallery-card__fallback { aspect-ratio: 1 / 1; }.gallery-card--3 .gallery-card__trigger img, .gallery-card--3 .gallery-card__fallback { aspect-ratio: 1.1 / 1.3; }.gallery-card--4 .gallery-card__trigger img, .gallery-card--4 .gallery-card__fallback { aspect-ratio: 1 / 1.25; }.gallery-card__trigger img { transition: transform 1s var(--ease); }.gallery-card__trigger:hover img { transform: scale(1.035); }.gallery-card__zoom { position: absolute; right: 1rem; bottom: 1rem; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--color-white); color: var(--color-primary); opacity: 0; transform: translateY(.4rem); transition: opacity .3s ease, transform .3s var(--ease); }.gallery-card__trigger:hover .gallery-card__zoom, .gallery-card__trigger:focus-visible .gallery-card__zoom { opacity: 1; transform: none; }.gallery-card__fallback { display: grid; place-items: center; border-radius: 10px; }.gallery-card__fallback span { font-family: 'Newsreader', Georgia, serif; font-size: 8rem; opacity: .4; }.gallery-card figcaption { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; font-size: .78rem; }.gallery-card figcaption small { color: var(--color-muted); font-size: .7rem; }.gallery-no-results { padding: 3rem 0; color: var(--color-muted); }
.lightbox { position: fixed; z-index: 100; inset: 0; display: none; place-items: center; padding: 1.5rem; }.lightbox.is-open { display: grid; }.lightbox__backdrop { position: absolute; inset: 0; background: rgba(16, 44, 37, .94); }.lightbox__panel { position: relative; z-index: 1; display: grid; grid-template-columns: 3rem minmax(0, min(72vw, 62rem)) 3rem; align-items: center; gap: 1.25rem; width: min(100%, 70rem); max-height: 100%; color: var(--color-white); }.lightbox__figure { margin: 0; min-width: 0; }.lightbox__figure img { display: block; width: 100%; max-height: 78vh; object-fit: contain; background: var(--color-primary-dark); }.lightbox__figure figcaption { display: flex; flex-direction: column; gap: .35rem; padding-top: .9rem; font-size: .8rem; }.lightbox__figure figcaption span { color: rgba(252, 251, 247, .58); font-size: .75rem; }.lightbox__control, .lightbox__close { display: grid; place-items: center; border: 1px solid rgba(252, 251, 247, .5); background: transparent; color: var(--color-white); cursor: pointer; }.lightbox__control { width: 3rem; height: 3rem; font-size: 1.2rem; }.lightbox__close { position: absolute; top: -3.5rem; right: 0; width: 2.5rem; height: 2.5rem; border-radius: 50%; font-size: 1.5rem; }.lightbox__control:hover, .lightbox__close:hover { background: var(--color-white); color: var(--color-primary); }

.skill-detail-overview { padding: clamp(5rem, 10vw, 9rem) 0; }.skill-detail-overview__grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(2rem, 8vw, 9rem); }.skill-detail-image { aspect-ratio: 1.2 / 1; }.skill-detail-image img { position: absolute; inset: 0; }.skill-detail-summary h2 { margin: 1.2rem 0 2rem; font-size: clamp(2.7rem, 5vw, 5.4rem); }.skill-detail-content, .related-visuals { padding: clamp(6rem, 10vw, 10rem) 0; }.skill-detail-content__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 4rem; }.skill-detail-content h2 { margin: 0 0 2rem; font-size: clamp(2.7rem, 5vw, 5rem); }.rich-text { max-width: 44rem; color: var(--color-muted); font-size: 1.08rem; line-height: 1.9; }.related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }.related-image { margin: 0; }.related-image img { display: block; width: 100%; aspect-ratio: 1.25 / 1; object-fit: cover; border-radius: 10px; }.related-image figcaption { margin-top: .75rem; color: var(--color-muted); font-size: .75rem; }.skill-detail-next { padding: clamp(6rem, 12vw, 11rem) 0; }.skill-detail-next__inner { text-align: center; }.skill-detail-next h2 { margin: 1.2rem auto 2.3rem; font-size: clamp(4rem, 8vw, 8rem); }

.contact-main { padding: clamp(5rem, 10vw, 10rem) 0; }.contact-main__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 9vw, 10rem); }.contact-image { aspect-ratio: 1.3 / 1; margin-bottom: 3rem; }.contact-info h2, .contact-form-title { margin: 1.2rem 0 2.8rem; font-size: clamp(3rem, 5vw, 5.8rem); }.contact-details { display: grid; grid-template-columns: 1fr 1fr; gap: 1.7rem 1.3rem; }.contact-details > div { display: flex; flex-direction: column; gap: .4rem; }.contact-label { color: var(--color-muted); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.contact-details a, .contact-details p { margin: 0; font-size: .9rem; text-decoration: none; }.contact-details a:hover { text-decoration: underline; }.contact-form-wrap { padding-top: 1rem; }.contact-form { border-top: 1px solid var(--color-border); padding-top: 2rem; }.contact-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; }.field { display: flex; flex-direction: column; gap: .6rem; }.field--full { grid-column: 1 / -1; }.field label { font-size: .8rem; font-weight: 700; }.field input, .field textarea { width: 100%; padding: .9rem 0; border: 0; border-bottom: 1px solid var(--color-border); border-radius: 0; background: transparent; color: var(--color-text); font: inherit; font-size: 1rem; outline: 0; resize: vertical; transition: border-color .25s ease; }.field input:focus, .field textarea:focus { border-color: var(--color-secondary); }.field textarea { min-height: 10rem; }.field-meta { display: flex; justify-content: space-between; gap: 1rem; }.field-help, .field-meta > span { margin: 0; color: var(--color-muted); font-size: .7rem; }.field-error { margin: 0; color: #8b4638; font-size: .75rem; }.field input[aria-invalid='true'], .field textarea[aria-invalid='true'] { border-color: #b96857; }.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2.5rem; }.form-required { margin: 0; color: var(--color-muted); font-size: .7rem; }.form-alert { margin-bottom: 2rem; padding: 1rem 1.25rem; font-size: .85rem; }.form-alert--error { border-left: 3px solid var(--color-accent); background: rgba(217, 137, 99, .12); }.form-alert--success { border-left: 3px solid var(--color-secondary); background: rgba(47, 104, 86, .1); }

.legal-content { max-width: 52rem; padding-top: clamp(5rem, 9vw, 8rem); padding-bottom: clamp(6rem, 11vw, 10rem); }.legal-content h2 { margin: 3rem 0 1rem; font-size: clamp(1.8rem, 3vw, 2.8rem); }.legal-content h2:first-of-type { margin-top: 2rem; }.legal-content p { max-width: 44rem; color: var(--color-muted); font-size: 1rem; line-height: 1.85; }.legal-content a { text-decoration: underline; }.legal-review-note { padding: 1rem 1.25rem; border-left: 3px solid var(--color-accent); background: rgba(217, 137, 99, .14); color: var(--color-text) !important; font-size: .85rem !important; }.legal-effective { color: var(--color-muted); font-size: .75rem !important; }

.reveal { opacity: 0; transform: translateY(2rem); transition: opacity .8s var(--ease), transform .8s var(--ease); }.reveal.is-visible { opacity: 1; transform: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }

@media (max-width: 60rem) {
    .container, .hero__inner { width: min(calc(100% - 3rem), var(--content-width)); }
    .hero__content h1 { font-size: clamp(3.6rem, 8vw, 6rem); }
    .mission__grid, .skills-intro__grid, .gallery-intro__grid { gap: 2.5rem; }
    .focus-item, .skill-item { gap: 3rem; }
}
@media (max-width: 46rem) {
    .container, .hero__inner { width: min(calc(100% - 2rem), var(--content-width)); }
    .site-header__inner { min-height: 4.8rem; }
    .cursor-dot, .cursor-ring { display: none; }
    .nav-toggle { display: flex; flex-direction: column; gap: 5px; padding: .6rem 0 .6rem .6rem; border: 0; background: transparent; color: currentColor; cursor: pointer; }
    .nav-toggle > span:not(.sr-only) { display: block; width: 1.7rem; height: 1px; background: currentColor; transition: transform .25s var(--ease); }
    .nav-toggle[aria-expanded='true'] > span:nth-child(2) { transform: translateY(6px) rotate(45deg); }.nav-toggle[aria-expanded='true'] > span:nth-child(3) { opacity: 0; }.nav-toggle[aria-expanded='true'] > span:nth-child(4) { transform: translateY(-6px) rotate(-45deg); }
    #primary-navigation { position: fixed; inset: 4.8rem 0 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 1.5rem 1rem 2rem; background: var(--color-primary); color: var(--color-white); overflow-y: auto; }
    #primary-navigation.is-open { display: flex; }
    #primary-navigation a:not(.button) { display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 0; border-bottom: 1px solid rgba(252, 251, 247, .18); font-family: 'Newsreader', Georgia, serif; font-size: 2.5rem; opacity: 1; }
    #primary-navigation a:not(.button) > span { font-family: 'Manrope', Arial, sans-serif; font-size: 1rem; }.nav-cta { margin-top: 1.5rem; justify-content: center; }
    .mobile-nav-intro, .mobile-nav-footer { display: flex; justify-content: space-between; color: rgba(252, 251, 247, .55); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }.mobile-nav-intro { padding-bottom: .75rem; }.mobile-nav-footer { margin-top: auto; padding-top: 2rem; gap: 1rem; font-size: .58rem; }
    .hero { min-height: 44rem; align-items: end; padding: 9rem 0 3rem; }.hero__veil { background: linear-gradient(0deg, rgba(16, 44, 37, .92), rgba(16, 44, 37, .16) 75%); }.hero__content h1 { margin-bottom: 1.3rem; font-size: clamp(3.3rem, 15vw, 5.3rem); }.hero__intro { font-size: .98rem; }.hero__actions { align-items: flex-start; flex-direction: column; gap: 1.3rem; }.hero__caption { margin-top: 4rem; }
    .mission, .focus, .skills-showcase, .impact-story, .impact-numbers, .story-block, .contact-main, .gallery-showcase { padding: 5.5rem 0; }
    .mission__grid, .skills-intro__grid, .gallery-intro__grid, .impact-story__grid, .story-block__grid, .contact-main__grid, .skill-detail-overview__grid, .skill-detail-content__grid { display: block; }.mission__content, .section-heading__intro { margin-top: 1.7rem; }.mission h2, .section-heading h2 { font-size: clamp(2.8rem, 13vw, 4.5rem); }.section-heading--split { display: block; }.section-heading--split .section-heading__intro { margin-top: 1.4rem; }
    .focus-list, .skills-list { gap: 4.5rem; }.focus-item, .skill-item, .focus-item:nth-child(even), .skill-item:nth-child(even) { display: flex; flex-direction: column; align-items: stretch; gap: 2rem; }.focus-item:nth-child(even) .focus-item__image, .skill-item:nth-child(even) .skill-item__visual { order: 0; }.focus-item__image, .skill-item__visual { aspect-ratio: 1.15 / 1; }.focus-item h3, .skill-item__content h2 { font-size: clamp(2.5rem, 11vw, 4rem); }.focus-item p, .skill-item__content > p:not(.eyebrow) { font-size: .95rem; }
    .stats-grid { grid-template-columns: 1fr 1fr; }.stat { border-bottom: 1px solid var(--color-border); }.stat:nth-child(2) { border-right: 0; }.stat:nth-child(3) { grid-column: 1 / -1; border-bottom: 0; padding-left: 0; }.stat strong { font-size: clamp(3.7rem, 17vw, 5.8rem); }
    .story-block__image { max-width: 24rem; margin: 2.5rem auto 0; }.story-block__content h2 { font-size: clamp(2.8rem, 12vw, 4.5rem); }
    .site-footer { padding-top: 5.5rem; }.footer-statement { padding-bottom: 5rem; }.footer-statement h2 { font-size: clamp(3.1rem, 14vw, 5.4rem); }.site-footer__top { display: block; padding-bottom: 4rem; }.footer-links { margin-top: 3.5rem; }.site-footer__bottom { align-items: flex-start; flex-direction: column; }.site-footer__bottom div { gap: 1rem; }
    .internal-hero { padding: 8.5rem 0 4.5rem; }.internal-hero h1 { font-size: clamp(3.8rem, 15vw, 5.8rem); }.breadcrumbs { margin-bottom: 3rem; }.gallery-filters { justify-content: flex-start; margin-top: 2rem; }.gallery-masonry { grid-template-columns: 1fr 1fr; gap: .8rem; }.gallery-card--0, .gallery-card--1, .gallery-card--2, .gallery-card--3, .gallery-card--4 { grid-column: auto; margin-top: 0; }.gallery-card--0 { grid-column: 1 / -1; }.gallery-card--0 .gallery-card__trigger img, .gallery-card--0 .gallery-card__fallback { aspect-ratio: 1.25 / 1; }.lightbox { padding: .7rem; }.lightbox__panel { grid-template-columns: 2.4rem minmax(0, 1fr) 2.4rem; gap: .4rem; }.lightbox__control { width: 2.4rem; height: 2.4rem; }.lightbox__figure img { max-height: 72vh; }.lightbox__close { top: -3rem; }
    .contact-image { max-width: 28rem; margin-bottom: 2.5rem; }.contact-info h2, .contact-form-title { font-size: clamp(3.2rem, 14vw, 5.3rem); margin-bottom: 2.3rem; }.contact-details { gap: 1.4rem 1rem; }.contact-form-wrap { margin-top: 4.5rem; }.form-grid { grid-template-columns: 1fr; gap: 1.5rem; }.field--full { grid-column: auto; }.form-submit { align-items: flex-start; flex-direction: column-reverse; }.form-submit .button { width: 100%; }
    .legal-content { padding-top: 4.5rem; }.legal-content h2 { margin-top: 2.5rem; }
}

/* Final DEVTAN brand system. */
body { color: var(--color-text); background: var(--color-background); }
.container { width: min(calc(100% - 3rem), var(--content-width)); }
.section-light, .section-cream { background: var(--color-background); }.section-paper { background: var(--color-surface); }.section-sage { background: var(--color-sage); }.section-dark { background: var(--color-primary); }
.eyebrow { position: relative; display: inline-flex; align-items: center; gap: .65rem; color: var(--color-secondary); font-size: .72rem; letter-spacing: .15em; }
.eyebrow::before { width: 1.5rem; height: 2px; background: linear-gradient(90deg, var(--color-primary), var(--color-secondary)); content: ''; transform-origin: left; transition: width .45s var(--ease); }.reveal.is-visible .eyebrow::before, .eyebrow:hover::before { width: 2.25rem; }.eyebrow--light { color: rgba(255,255,255,.78); }.eyebrow--light::before { background: var(--color-secondary); }
.site-header { height: 5.25rem; background: rgba(255,255,255,.96); color: var(--color-primary); border-bottom: 1px solid var(--color-border); backdrop-filter: blur(12px); transition: height .3s var(--ease), box-shadow .3s ease, background .3s ease; }
.site-header.is-scrolled { height: 4.7rem; background: rgba(255,255,255,.98); color: var(--color-primary); box-shadow: 0 10px 30px rgba(1,61,139,.09); }.site-header__inner { min-height: 100%; }
.site-brand { flex: 0 0 auto; overflow: hidden; }.site-brand img { display: block; width: clamp(9.2rem, 13vw, 11rem); height: auto; }
#primary-navigation { gap: clamp(1.5rem, 3vw, 2.5rem); font-size: .88rem; font-weight: 600; }
#primary-navigation > a { position: relative; padding: .5rem 0; color: #24324a; opacity: 1; }
#primary-navigation > a::after { position: absolute; right: 0; bottom: .18rem; left: 0; height: 2px; background: linear-gradient(90deg, var(--color-primary), var(--color-secondary)); content: ''; transform: scaleX(0); transform-origin: right; transition: transform .35s var(--ease); }
#primary-navigation > a:hover, #primary-navigation > a[aria-current='page'] { color: var(--color-primary); transform: none; }#primary-navigation > a:hover::after, #primary-navigation > a[aria-current='page']::after { transform: scaleX(1); transform-origin: left; }#primary-navigation > a > span { display: none; }
.button { border-radius: 8px; font-size: .88rem; letter-spacing: .01em; box-shadow: 0 8px 22px rgba(1,61,139,.12); }.button--dark { background: var(--color-primary); }.button--dark:hover { background: var(--color-secondary); box-shadow: 0 12px 28px rgba(61,130,9,.2); }.button--light { background: var(--color-white); color: var(--color-primary); }.button--light:hover { background: #f4f8f1; color: var(--color-secondary); }.button span, .text-link span { transition: transform .3s var(--ease), color .3s ease; }.button:hover span { transform: translate(4px,-2px); }
.text-link { color: var(--color-primary); border-color: rgba(1,61,139,.35); }.text-link:hover { color: var(--color-secondary); }
.cursor-dot { background: var(--color-primary); }.cursor-ring { border-color: rgba(1,61,139,.38); color: var(--color-white); }.cursor-interactive .cursor-ring { background: rgba(61,130,9,.11); border-color: var(--color-secondary); }.cursor-contextual .cursor-ring { background: var(--color-secondary); border-color: var(--color-secondary); }
.home-hero { background: var(--color-primary); }.home-hero::before { position: absolute; z-index: 1; top: 8rem; left: max(1.5rem, calc((100% - var(--content-width))/2)); width: 4rem; height: 4rem; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; content: ''; }.home-hero::after { position: absolute; z-index: 1; top: 11rem; left: calc(max(1.5rem, (100% - var(--content-width))/2) + 3.6rem); width: .55rem; height: .55rem; border-radius: 50%; background: var(--color-secondary); box-shadow: 1.1rem -1.25rem 0 rgba(255,255,255,.5); content: ''; }
.home-hero__media::after { background: linear-gradient(90deg, #013d8b 0%, rgba(1,61,139,.94) 15%, rgba(1,61,139,.48) 55%, rgba(1,43,99,.12)); }.home-hero__media img { opacity: .95; }.home-hero .button--dark { background: var(--color-white); color: var(--color-primary); }.home-hero .button--dark:hover { background: var(--color-secondary); color: var(--color-white); }.home-hero .text-link { color: var(--color-white); border-color: rgba(255,255,255,.5); }
.home-intro__media img, .home-skill-feature__image img, .experience-highlight__media img, .training-story__media img, .gallery-preview__item img, .skill-item__visual img, .related-image img, .contact-image img { transition: transform .55s var(--ease), filter .55s ease; }.home-intro__media:hover img, .home-skill-feature:hover img, .experience-highlight__media:hover img, .training-story__media img:hover, .gallery-preview__item:hover img, .skill-item:hover img { transform: scale(1.025); }
.home-skill-feature__image, .home-intro__media, .experience-highlight__media, .gallery-preview__item { position: relative; overflow: hidden; }.home-skill-feature__image::after, .gallery-preview__item::after { position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(90deg,var(--color-primary),var(--color-secondary)); content: ''; transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ease); }.home-skill-feature:hover .home-skill-feature__image::after, .gallery-preview__item:hover::after { transform: scaleX(1); }
.home-skills__index a, .strength-list li { transition: color .28s ease, transform .28s var(--ease), border-color .28s ease; }.home-skills__index a:hover, .strength-list li:hover { transform: translateX(4px); border-color: var(--color-secondary); }.home-skills__index a:hover span, .strength-list li:hover span { color: var(--color-secondary); }
.training-story, .experience-highlight { position: relative; }.experience-highlight { background: var(--color-primary); color: var(--color-white); }.experience-highlight .eyebrow, .experience-highlight .text-link { color: #badd9d; }.experience-highlight p { color: rgba(255,255,255,.76); }.experience-highlight__media { border: 1px solid rgba(255,255,255,.2); padding: .55rem; }
.skills-hero, .gallery-hero, .internal-hero { position: relative; overflow: hidden; background: var(--color-primary); }.skills-hero::after, .gallery-hero::after, .internal-hero::after { position: absolute; right: -8rem; bottom: -12rem; width: 26rem; height: 26rem; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ''; box-shadow: 0 0 0 4rem rgba(61,130,9,.05), 0 0 0 8rem rgba(255,255,255,.025); }.skills-hero__grid, .gallery-hero__inner, .internal-hero__inner { position: relative; z-index: 1; }
.skill-item { padding-bottom: 2.25rem; border-bottom: 1px solid var(--color-border); }.skill-item__index { color: var(--color-primary); transition: color .3s ease; }.skill-item:hover .skill-item__index { color: var(--color-secondary); }.skill-item__arrow { color: var(--color-primary); }.skill-item__content h2 a { transition: color .3s ease, transform .3s var(--ease); }.skill-item:hover .skill-item__content h2 a { color: var(--color-primary); }.skill-item__visual::after { position: absolute; inset: 0; border: 2px solid transparent; border-radius: inherit; content: ''; transition: border-color .35s ease; }.skill-item:hover .skill-item__visual::after { border-color: var(--color-secondary); }
.skill-detail-page .skill-detail-overview { background: var(--color-surface); }.skill-detail-image { border: 1px solid var(--color-border); box-shadow: 0 18px 50px rgba(1,61,139,.1); }.skill-detail-summary { padding-left: clamp(0rem,3vw,2rem); border-left: 3px solid var(--color-secondary); }.skill-detail-content { background: #f2f6fb; }.rich-text { max-width: 46rem; }.related-image img { border: 1px solid var(--color-border); }
.gallery-filter { border-color: #cbd7e8; color: var(--color-primary); }.gallery-filter:hover { border-color: var(--color-secondary); color: var(--color-secondary); background: #f4f8f1; }.gallery-filter.is-active { background: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); }.gallery-card__trigger { overflow: hidden; border-radius: 8px; }.gallery-card__trigger::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(1,43,99,.38)); opacity: 0; content: ''; transition: opacity .4s ease; }.gallery-card__trigger:hover::after { opacity: 1; }.gallery-card__trigger img { transition-duration: .55s; }.gallery-card__trigger:hover img { transform: scale(1.025); }.gallery-card__zoom { z-index: 2; background: var(--color-primary); color: var(--color-white); border: 2px solid rgba(255,255,255,.7); }.gallery-card__trigger:hover .gallery-card__zoom { background: var(--color-secondary); }.lightbox__backdrop { background: rgba(1,18,42,.96); }.lightbox__control:hover, .lightbox__close:hover { background: var(--color-secondary); border-color: var(--color-secondary); color: var(--color-white); }
.contact-page .internal-hero { background: #f2f6fb; color: var(--color-text); }.contact-page .internal-hero .eyebrow { color: var(--color-secondary); }.contact-page .internal-hero .internal-hero__intro { color: var(--color-muted); }.contact-page .internal-hero::after { border-color: rgba(1,61,139,.1); box-shadow: 0 0 0 4rem rgba(61,130,9,.04),0 0 0 8rem rgba(1,61,139,.025); }.contact-main { background: var(--color-surface); }.contact-info { padding: clamp(2rem,4vw,3.25rem); border-radius: 12px; background: var(--color-primary); color: var(--color-white); }.contact-info .eyebrow { color: #c4e7a9; }.contact-info .contact-image { margin-bottom: 2rem; }.contact-info .contact-label { color: #c4e7a9; }.contact-info a, .contact-info p { color: rgba(255,255,255,.83); }.contact-info a { transition: color .25s ease, transform .25s var(--ease); }.contact-info a:hover { color: var(--color-white); transform: translateX(3px); }.contact-form-wrap { padding: clamp(1rem,3vw,2rem); }.field input, .field textarea { border-bottom-color: #cbd5e1; }.field input:focus, .field textarea:focus { border-color: var(--color-primary); box-shadow: 0 2px 0 var(--color-secondary); }.field label { color: #344054; transition: color .25s ease; }.field:focus-within label { color: var(--color-primary); }
.legal-page .internal-hero { background: var(--color-primary); }.legal-review-note { border-left-color: var(--color-secondary); background: #f4f8f1; }.page-placeholder { min-height: 70vh; display: grid; align-content: center; padding-block: 8rem 5rem; }.page-placeholder h1 { margin: .75rem 0; color: var(--color-primary); font-size: clamp(2.8rem,5vw,4.8rem); }
.site-footer { position: relative; overflow: hidden; background: var(--color-primary); padding-top: clamp(4rem,7vw,6rem); }.site-footer::after { position: absolute; right: -10rem; bottom: -15rem; width: 30rem; height: 30rem; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ''; box-shadow: 0 0 0 5rem rgba(61,130,9,.07); }.site-footer__top, .site-footer__bottom { position: relative; z-index: 1; }.footer-brand { max-width: 28rem; }.footer-logo { display: inline-block; width: 10rem; padding: .4rem; border-radius: 8px; background: var(--color-white); }.footer-logo img { display: block; width: 100%; height: auto; }.footer-note { max-width: 28rem; color: rgba(255,255,255,.7); line-height: 1.7; }.footer-links a { position: relative; color: rgba(255,255,255,.78); }.footer-links a:hover { color: #c4e7a9; }.footer-address { max-width: 19rem; margin: 0; color: rgba(255,255,255,.62); font-size: .75rem; line-height: 1.65; }

@media (prefers-reduced-motion: no-preference) {
    .site-brand { animation: brand-enter .8s var(--ease) both; }.site-header #primary-navigation > a { animation: nav-enter .65s var(--ease) both; }.site-header #primary-navigation > a:nth-of-type(2) { animation-delay: .06s; }.site-header #primary-navigation > a:nth-of-type(3) { animation-delay: .12s; }.site-header #primary-navigation > a:nth-of-type(4) { animation-delay: .18s; }
    .reveal img { clip-path: inset(0 0 0 0); }.gallery-card:not([hidden]) { animation: gallery-in .45s var(--ease) both; }
}
@keyframes brand-enter { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }@keyframes nav-enter { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }@keyframes gallery-in { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 46rem) {
    .container { width: min(calc(100% - 2rem), var(--content-width)); }.site-header { height: 4.75rem; }.site-header.is-scrolled { height: 4.5rem; }.site-brand img { width: clamp(7.2rem,36vw,8.6rem); }.nav-toggle { position: relative; z-index: 2; width: 2.75rem; height: 2.75rem; align-items: end; justify-content: center; padding: .55rem; border: 1px solid #d6deea; border-radius: 8px; }.nav-toggle > span:not(.sr-only) { width: 1.45rem; height: 2px; background: var(--color-primary); }.nav-toggle[aria-expanded='true'] > span:not(.sr-only) { background: var(--color-white); }#primary-navigation { inset: 0; z-index: 1; min-height: 100dvh; padding: 6.5rem 1.25rem 2rem; background: var(--color-primary); }#primary-navigation > a { color: var(--color-white); border-color: rgba(255,255,255,.15); }#primary-navigation > a:hover, #primary-navigation > a[aria-current='page'] { color: #c4e7a9; }#primary-navigation > a::after { background: var(--color-secondary); }.mobile-nav-intro,.mobile-nav-footer { color: rgba(255,255,255,.58); }
    .home-hero::before,.home-hero::after { display: none; }.home-hero__media::after { background: linear-gradient(0deg,rgba(1,43,99,.98) 0%,rgba(1,61,139,.72) 53%,rgba(1,61,139,.18)); }.contact-info { padding: 1.5rem; }.skill-detail-summary { margin-top: 2rem; padding-left: 1rem; }.footer-logo { width: 8.25rem; }
}

@media (prefers-reduced-motion: reduce) { .site-brand, .site-header #primary-navigation > a, .gallery-card { animation: none !important; }.eyebrow::before { transition: none; } }

/* Targeted banner and density corrections. */
.site-header { background: rgba(252, 251, 247, .96); color: var(--color-primary); border-bottom-color: var(--color-border); }
.site-header.is-scrolled { background: rgba(252, 251, 247, .98); color: var(--color-primary); }
.home-hero { position: relative; min-height: min(42.5rem, 88svh); display: flex; align-items: center; overflow: hidden; padding: 7rem 0 3rem; background: var(--color-primary); color: var(--color-white); }
.home-hero__grid { position: relative; display: block; }
.home-hero__media { position: absolute; z-index: 0; inset: 0 0 0 42%; max-width: none; margin: 0; overflow: hidden; }
.home-hero__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, var(--color-primary) 0%, rgba(23,60,50,.9) 16%, rgba(23,60,50,.35) 58%, rgba(23,60,50,.08)); content: ''; }
.home-hero__media img { display: block; width: 100%; height: 100%; max-height: none; aspect-ratio: auto; object-fit: cover; object-position: center 48%; opacity: .92; }
.home-hero__media figcaption { position: absolute; z-index: 1; right: 1.5rem; bottom: 1.25rem; margin: 0; color: rgba(252,251,247,.72); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.home-hero .hero__content { position: relative; z-index: 1; max-width: 34rem; }
.home-hero .hero__content h1 { max-width: 34rem; color: var(--color-white); font-size: clamp(3.2rem, 5vw, 4.2rem); }
.home-hero .hero__intro { color: rgba(252,251,247,.8); }
.home-hero .hero__actions { margin-top: 1.75rem; }
.home-hero .text-link { color: var(--color-white); }
.skills-page .skills-intro { padding-block: 2.5rem; }
.skills-page .skills-intro__statement { max-width: 42rem; font-size: clamp(1.45rem, 2.3vw, 2.1rem); line-height: 1.15; letter-spacing: -.03em; }
.gallery-hero { padding-block: 6.5rem 3rem; }
.gallery-showcase { padding-top: 2.5rem; }
.gallery-toolbar { align-items: center; margin-bottom: 1.25rem; }
.gallery-toolbar h2 { font-size: clamp(1.7rem, 2.5vw, 2.4rem); }
.gallery-filters { align-items: center; }

@media (max-width: 46rem) {
    .home-hero { min-height: 39rem; align-items: end; padding: 7rem 0 2.5rem; }
    .home-hero__media { inset: 0; }
    .home-hero__media::after { background: linear-gradient(0deg, rgba(23,60,50,.96) 0%, rgba(23,60,50,.58) 52%, rgba(23,60,50,.16) 100%); }
    .home-hero .hero__content h1 { font-size: clamp(2.4rem, 10vw, 3.5rem); }
    .home-hero__media figcaption { right: 1rem; bottom: .8rem; font-size: .54rem; }
    .skills-page .skills-intro { padding-block: 2rem; }
    .gallery-hero { padding-block: 6.5rem 2.5rem; }
    .gallery-toolbar { align-items: flex-start; margin-bottom: 1rem; }
}

/* Public art direction reconstruction: photography and information lead the page rhythm. */
.home-hero { min-height: 39rem; padding: 7.5rem 0 3rem; }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(21rem, .82fr); align-items: center; gap: clamp(2.5rem, 6vw, 6rem); }
.home-hero .hero__content { max-width: 38rem; }
.home-hero .hero__content h1 { max-width: 37rem; margin: 1rem 0 1.25rem; font-size: clamp(3rem, 4.4vw, 4.4rem); color: var(--color-primary); }
.home-hero .hero__intro { max-width: 31rem; color: var(--color-muted); }
.home-hero .hero__actions { margin-top: 1.75rem; }
.home-hero__media { margin: 0; }
.home-hero__media img { display: block; width: 100%; max-height: 28rem; aspect-ratio: 1.15 / 1; object-fit: cover; object-position: center; border-radius: 10px; }
.home-hero__media figcaption { margin-top: .75rem; color: var(--color-muted); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.home-intro { padding-top: clamp(4rem, 6vw, 6rem); }
.home-intro__grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }
.home-intro__media { margin: 0; max-width: 31rem; }
.home-intro__media img { display: block; width: 100%; aspect-ratio: 1.35 / 1; object-fit: cover; border-radius: 10px; }
.home-intro .mission__content { max-width: 43rem; }
.home-intro .mission__content h2 { margin: 1rem 0 1.5rem; font-size: clamp(2.2rem, 3.2vw, 3.6rem); }
.home-intro .mission__content p { max-width: 39rem; margin-bottom: .9rem; font-size: .98rem; line-height: 1.7; }
.home-skills { padding-top: clamp(4.5rem, 7vw, 7rem); }
.home-skills__featured { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); }
.home-skill-feature { min-width: 0; }
.home-skill-feature__image { overflow: hidden; border-radius: 10px; background: var(--color-sage); }
.home-skill-feature__image img { display: block; width: 100%; aspect-ratio: 1.35 / 1; object-fit: cover; }
.home-skill-feature__body { padding: 1.25rem 0 0; }
.home-skill-feature__body h3 { margin: .6rem 0 .5rem; font-family: 'Newsreader', Georgia, serif; font-size: clamp(1.8rem, 2.6vw, 2.8rem); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.home-skill-feature__body p { max-width: 29rem; margin-bottom: 1rem; color: var(--color-muted); font-size: .9rem; line-height: 1.65; }
.home-skills__index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 3rem 0 2rem; border-top: 1px solid var(--color-border); }
.home-skills__index a { display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; gap: .75rem; padding: 1rem 0; border-bottom: 1px solid var(--color-border); text-decoration: none; }
.home-skills__index a:nth-child(odd) { margin-right: 2rem; }.home-skills__index a:nth-child(even) { margin-left: 2rem; }
.home-skills__index span { color: var(--color-secondary); font-size: .7rem; font-weight: 700; letter-spacing: .1em; }.home-skills__index strong { font-size: .9rem; font-weight: 700; }.home-skills__index i { font-style: normal; color: var(--color-secondary); }.home-skills__index a:hover strong { color: var(--color-secondary); }
.home-strengths { padding: clamp(4.5rem, 7vw, 7rem) 0; }
.home-strengths__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2.5rem, 8vw, 8rem); }
.home-strengths h2 { margin: 1rem 0 0; font-size: clamp(2.4rem, 3.5vw, 4rem); }
.strength-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); }.strength-list li { display: grid; grid-template-columns: 2.2rem 1fr 1.1fr; gap: 1rem; align-items: baseline; padding: 1rem 0; border-bottom: 1px solid var(--color-border); }.strength-list span { color: var(--color-secondary); font-size: .7rem; font-weight: 700; }.strength-list strong { font-size: .9rem; }.strength-list p { margin: 0; color: var(--color-muted); font-size: .82rem; line-height: 1.5; }
.training-story { padding: clamp(4.5rem, 7vw, 7rem) 0; }.training-story__grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(2.5rem, 6vw, 6rem); }.training-story__media { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: 1rem; }.training-story__media img { display: block; width: 100%; border-radius: 10px; object-fit: cover; }.training-story__main { aspect-ratio: 1.05 / 1; }.training-story__small { aspect-ratio: .8 / 1; }.training-story .impact-story__content { max-width: 35rem; }.training-story .impact-story__content h2 { font-size: clamp(2.2rem, 3.6vw, 4rem); }
.experience-highlight { padding: clamp(4.5rem, 7vw, 7rem) 0; }.experience-highlight__grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }.experience-highlight__content { max-width: 35rem; }.experience-highlight h2 { margin: 1rem 0 1.25rem; font-size: clamp(2.2rem, 3.2vw, 3.6rem); }.experience-highlight p { color: var(--color-muted); font-size: .98rem; line-height: 1.7; }.experience-highlight__media { margin: 0; }.experience-highlight__media img { display: block; width: 100%; max-height: 23rem; aspect-ratio: 1.5 / 1; object-fit: cover; border-radius: 10px; }
.gallery-preview { padding-top: clamp(4.5rem, 7vw, 7rem); }.gallery-preview__grid { grid-template-columns: 1.15fr .85fr .85fr; gap: 1rem; }.gallery-preview__item:nth-child(2) img, .gallery-preview__item:nth-child(3) img { aspect-ratio: 1 / 1; }
.skills-hero { padding: 7.5rem 0 4rem; }.skills-hero__grid { display: grid; grid-template-columns: 1fr .72fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }.skills-hero h1 { max-width: 35rem; margin: 1rem 0 1.25rem; font-size: clamp(2.7rem, 4.5vw, 4.5rem); }.skills-hero p:not(.eyebrow) { max-width: 30rem; color: rgba(252,251,247,.75); line-height: 1.7; }.skills-hero figure { margin: 0; }.skills-hero img { display: block; width: 100%; max-height: 19rem; aspect-ratio: 1.35 / 1; object-fit: cover; border-radius: 10px; }.skills-page .skills-intro { padding-block: 4rem; }.skills-page .skills-intro__statement { font-size: clamp(2rem, 3.2vw, 3.4rem); }.skills-page .skills-showcase { padding-top: 4.5rem; }.skills-page .skill-item__visual { max-height: 23rem; }.skills-page .skill-item { grid-template-columns: .72fr 1.28fr; }.skills-page .skill-item:nth-child(even) { grid-template-columns: 1.28fr .72fr; }
.gallery-hero { padding: 7.5rem 0 3.5rem; }.gallery-hero__inner { max-width: var(--content-width); }.gallery-hero h1 { margin: 1rem 0 1rem; font-size: clamp(2.7rem, 4.5vw, 4.5rem); }.gallery-hero p:not(.eyebrow) { margin: 0; color: rgba(252,251,247,.75); font-size: 1rem; }.gallery-showcase { padding-top: 3.5rem; }.gallery-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }.gallery-toolbar h2 { margin: 0; font-size: clamp(2rem, 3vw, 3rem); }.gallery-filters { justify-content: flex-end; }.gallery-masonry { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }.gallery-card--0, .gallery-card--1, .gallery-card--2, .gallery-card--3, .gallery-card--4 { grid-column: auto; margin-top: 0; }.gallery-card__trigger img, .gallery-card__fallback { max-height: 26rem; aspect-ratio: 4 / 3; }.gallery-card:nth-child(3n + 1) .gallery-card__trigger img, .gallery-card:nth-child(3n + 1) .gallery-card__fallback { aspect-ratio: 4 / 5; }.gallery-card:nth-child(3n) .gallery-card__trigger img, .gallery-card:nth-child(3n) .gallery-card__fallback { aspect-ratio: 1 / 1; }.gallery-card__zoom { opacity: .85; transform: none; }.gallery-card__trigger:hover .gallery-card__zoom, .gallery-card__trigger:focus-visible .gallery-card__zoom { opacity: 1; }.gallery-card figcaption { display: block; padding-top: .7rem; }.gallery-card figcaption small { display: block; margin-top: .2rem; }
.contact-page .internal-hero { padding-block: 7.5rem 3.5rem; }.contact-page .internal-hero h1 { max-width: 40rem; font-size: clamp(2.6rem, 4vw, 4.2rem); }.contact-main__grid { grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 7vw, 7rem); }.contact-image { max-width: 26rem; aspect-ratio: 1.35 / 1; }.contact-details { grid-template-columns: 1fr; gap: 1rem; }.contact-details > div { max-width: 27rem; }.contact-info h2, .contact-form-title { font-size: clamp(2.4rem, 3.5vw, 4rem); }

@media (max-width: 60rem) {
    .home-hero__grid, .skills-hero__grid, .training-story__grid, .experience-highlight__grid { gap: 2.5rem; }.gallery-masonry { grid-template-columns: repeat(2, minmax(0, 1fr)); }.gallery-toolbar { align-items: flex-start; flex-direction: column; gap: 1rem; }.gallery-filters { justify-content: flex-start; }
}
@media (max-width: 46rem) {
    .home-hero { min-height: 0; padding: 7.5rem 0 3rem; }.home-hero__grid, .home-intro__grid, .skills-hero__grid, .home-strengths__grid, .training-story__grid, .experience-highlight__grid { display: block; }.home-hero .hero__content h1 { font-size: clamp(2.2rem, 9vw, 3.4rem); }.home-hero__media { margin-top: 2.5rem; }.home-hero__media img { max-height: 20rem; aspect-ratio: 1.25 / 1; }.home-intro__media { margin-bottom: 2.5rem; }.home-intro .mission__content h2 { font-size: clamp(1.9rem, 7vw, 2.5rem); }.home-skills__featured { grid-template-columns: 1fr; gap: 2.5rem; }.home-skills__index { grid-template-columns: 1fr; margin-top: 2.5rem; }.home-skills__index a:nth-child(odd), .home-skills__index a:nth-child(even) { margin-inline: 0; }.strength-list { margin-top: 2.5rem; }.strength-list li { grid-template-columns: 2rem 1fr; }.strength-list p { grid-column: 2; }.training-story__media { margin-bottom: 2.5rem; }.experience-highlight__media { margin-top: 2.5rem; }.gallery-preview__grid { grid-template-columns: 1fr 1fr; }.gallery-preview__item:first-child { grid-column: 1 / -1; }.skills-hero { padding: 7.5rem 0 3rem; }.skills-hero img { max-height: 16rem; margin-top: 2.5rem; }.skills-page .skills-intro { padding-block: 3.5rem; }.skills-page .skills-showcase { padding-top: 3.5rem; }.gallery-hero { padding: 7.5rem 0 3rem; }.gallery-showcase { padding-top: 3rem; }.gallery-masonry { gap: .8rem; }.gallery-card__trigger img, .gallery-card__fallback { max-height: 18rem; }.gallery-toolbar { margin-bottom: 1.5rem; }.contact-page .internal-hero { padding-block: 7.5rem 3rem; }.contact-main__grid { gap: 0; }.contact-form-wrap { margin-top: 3.5rem; }
}
@media (max-width: 24rem) { .gallery-masonry { grid-template-columns: 1fr; }.gallery-card--0 { grid-column: auto; }.lightbox__panel { grid-template-columns: 1fr; }.lightbox__control { position: absolute; z-index: 2; top: 40%; }.lightbox__control--prev { left: .25rem; }.lightbox__control--next { right: .25rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; }.button, nav a, .focus-item img, .skill-item img, .gallery-card__trigger img, .gallery-card__zoom, .text-link span, .nav-toggle span { transition: none; } }

@media (prefers-reduced-motion: no-preference) {
    .hero__image-wrap { animation: hero-image-in 1.1s var(--ease) both; }
    .hero__content > * { opacity: 0; transform: translateY(1.5rem); transition: opacity .8s var(--ease), transform .8s var(--ease); }
    .hero__content.reveal.is-visible > * { opacity: 1; transform: none; }
    .hero__content.reveal.is-visible > :nth-child(1) { transition-delay: .08s; }
    .hero__content.reveal.is-visible > :nth-child(2) { transition-delay: .16s; }
    .hero__content.reveal.is-visible > :nth-child(3) { transition-delay: .24s; }
    .hero__content.reveal.is-visible > :nth-child(4) { transition-delay: .32s; }
    .gallery-card__trigger:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 6px; }
    .gallery-filter:focus-visible, .button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
}

@keyframes hero-image-in { from { opacity: 0; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }

@media (min-width: 61rem) {
    .hero__image { object-position: center 48%; }
    .mission__content p, .impact-story__content p:not(.eyebrow), .story-block__content p:not(.eyebrow) { max-width: 36rem; }
}

@media (max-width: 46rem) {
    .gallery-preview__grid { grid-template-columns: 1fr; gap: 1rem; margin-top: 2.2rem; }
    .gallery-preview__item:nth-child(2) img, .gallery-preview__item img { aspect-ratio: 1.25 / 1; }
    .hero__image { object-position: 58% center; }
    .hero__content h1 { max-width: 20rem; }
    .hero__caption { letter-spacing: .08em; }
}

/* Final art direction: restrained scale, varied rhythm and image-led balance. */
h1, h2 { letter-spacing: -.045em; }
.button, .text-link, nav { font-size: .9rem; }
.hero { min-height: min(42rem, 88svh); padding: 8.5rem 0 3.5rem; }
.hero__content h1 { max-width: 43rem; font-size: clamp(2.8rem, 5vw, 5.2rem); }
.hero__intro { max-width: 31rem; font-size: 1rem; line-height: 1.65; }
.hero__caption { margin-top: 4rem; }
.mission, .focus, .skills-showcase, .impact-story, .impact-numbers, .story-block, .contact-main, .gallery-showcase { padding-block: clamp(4.5rem, 7vw, 7rem); }
.mission h2, .section-heading h2 { font-size: clamp(2rem, 3.2vw, 3.6rem); }
.mission__content p, .impact-story p:not(.eyebrow), .story-block__content p:not(.eyebrow) { font-size: 1rem; line-height: 1.7; }
.focus-list, .skills-list { gap: clamp(3rem, 5vw, 5.5rem); }
.focus-item, .skill-item { gap: clamp(2rem, 5vw, 5rem); }
.focus-item__image { aspect-ratio: 1.5 / 1; }
.focus-item h3, .skill-item__content h2 { font-size: clamp(2rem, 3.4vw, 3.6rem); }
.focus-item p, .skill-item__content > p:not(.eyebrow) { font-size: .95rem; line-height: 1.7; }
.impact-story__image img { aspect-ratio: 1.3 / 1; }
.story-block__image { max-width: 34rem; justify-self: end; }
.internal-hero { padding: 8rem 0 4.5rem; }
.internal-hero h1 { font-size: clamp(2.5rem, 4.5vw, 4.4rem); }
.internal-hero__intro { max-width: 31rem; font-size: 1rem; line-height: 1.65; }
.skills-intro, .gallery-intro { padding-block: clamp(4rem, 7vw, 6rem); }
.skills-intro__statement, .gallery-intro__statement { font-size: clamp(2rem, 3.2vw, 3.6rem); }
.skill-item__visual { aspect-ratio: 1.45 / 1; }
.skill-item:nth-child(n + 4) .skill-item__visual { aspect-ratio: 1.8 / 1; }
.skill-detail-overview { padding-block: clamp(4rem, 7vw, 6rem); }
.skill-detail-image { max-width: 48rem; }
.skill-detail-summary h2 { font-size: clamp(2rem, 3.2vw, 3.6rem); }
.related-visuals { padding-block: clamp(4rem, 7vw, 6rem); }
.gallery-showcase { padding-top: clamp(4.5rem, 7vw, 7rem); }
.gallery-masonry { gap: 1rem; }
.gallery-card--1 { margin-top: 4rem; }
.gallery-card--3 { margin-top: 3rem; }
.gallery-card--4 { margin-top: 1rem; }
.contact-main { padding-block: clamp(4rem, 7vw, 6rem); }
.contact-info h2, .contact-form-title { font-size: clamp(2.2rem, 3.6vw, 4rem); margin-bottom: 2rem; }
.legal-page .internal-hero { padding-block: 7rem 3.5rem; }
.legal-page .internal-hero h1 { font-size: clamp(2.5rem, 4.5vw, 4.4rem); }
.legal-content { padding-block: 4.5rem 6rem; }
.closing { padding-block: clamp(5rem, 8vw, 8rem); }
.closing h2 { font-size: clamp(2.8rem, 5vw, 5rem); }

@media (max-width: 46rem) {
    .hero { min-height: 38rem; padding: 7.5rem 0 2.5rem; }
    .hero__content h1 { font-size: clamp(2.2rem, 9vw, 3.4rem); }
    .mission, .focus, .skills-showcase, .impact-story, .story-block, .gallery-showcase, .contact-main { padding-block: 4rem; }
    .mission h2, .section-heading h2, .skill-detail-summary h2 { font-size: clamp(1.8rem, 7vw, 2.5rem); }
    .section-heading { margin-bottom: 2.5rem; }
    .internal-hero { padding: 7.5rem 0 3.5rem; }
    .internal-hero h1 { font-size: clamp(2.5rem, 10vw, 3.4rem); }
    .skills-intro, .gallery-intro { padding-block: 4rem; }
    .skills-intro__statement, .gallery-intro__statement { font-size: clamp(1.9rem, 7vw, 2.5rem); }
    .skill-item:nth-child(n + 4) .skill-item__visual { aspect-ratio: 1.25 / 1; }
    .legal-page .internal-hero { padding-block: 7rem 3rem; }
    .legal-content { padding-block: 3.5rem 5rem; }
    .closing { padding-block: 5rem; }
    .closing h2 { font-size: clamp(2.8rem, 10vw, 4rem); }
}

/* Final brand lock: this intentionally follows all legacy art-direction layers. */
.site-header,
.site-header.is-scrolled {
    background: rgba(255, 255, 255, .97);
    color: var(--color-primary);
}
.site-brand { position: relative; z-index: 2; }
.home-hero {
    min-height: min(42rem, 88svh);
    background: var(--color-background);
    color: var(--color-text);
}
.home-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(20rem, .82fr);
    align-items: center;
}
.home-hero__media {
    position: relative;
    z-index: 1;
    inset: auto;
    overflow: visible;
}
.home-hero__media::before {
    position: absolute;
    z-index: -1;
    inset: 1.25rem -1rem -1rem 1.25rem;
    border: 1px solid rgba(1, 61, 139, .2);
    border-bottom: 4px solid var(--color-secondary);
    border-radius: 12px;
    content: '';
}
.home-hero__media::after {
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(1, 61, 139, .08), transparent 52%, rgba(61, 130, 9, .12));
}
.home-hero .hero__content h1 { color: var(--color-primary); }
.home-hero .hero__intro { color: var(--color-muted); }
.home-hero .text-link { color: var(--color-primary); border-color: rgba(1, 61, 139, .35); }
.home-hero .text-link:hover { color: var(--color-secondary); }
.home-hero .button--dark { background: var(--color-primary); color: var(--color-white); }
.home-hero .button--dark:hover { background: var(--color-secondary); }
.skills-hero,
.gallery-hero,
.skill-detail-page .internal-hero,
.legal-page .internal-hero { background: var(--color-primary); color: var(--color-white); }
.skills-hero p:not(.eyebrow),
.gallery-hero p:not(.eyebrow),
.skill-detail-page .internal-hero__intro,
.legal-page .internal-hero__intro { color: rgba(255, 255, 255, .78); }
.contact-page .internal-hero { background: var(--color-blue); color: var(--color-text); }

@media (max-width: 46rem) {
    .home-hero { min-height: 0; padding: 7.25rem 0 4rem; }
    .home-hero__grid { display: block; }
    .home-hero__media { position: relative; inset: auto; margin-top: 2.5rem; }
    .home-hero__media::after { background: linear-gradient(135deg, rgba(1, 61, 139, .08), transparent 55%, rgba(61, 130, 9, .12)); }
    .home-hero__media figcaption { position: static; margin-top: .75rem; color: var(--color-muted); }
}

/* Scoped correction pass: hero banner, Skills editorial bridge and archive density. */
.home-hero {
    min-height: clamp(32.5rem, 42vw, 38.75rem);
    padding: 0;
    background: var(--color-primary);
    color: var(--color-white);
}
.home-hero__grid {
    position: relative;
    z-index: 2;
    display: block;
    min-height: clamp(32.5rem, 42vw, 38.75rem);
    box-sizing: border-box;
    padding-block: clamp(5.5rem, 9vw, 7.5rem) clamp(4rem, 7vw, 5.5rem);
}
.home-hero__media {
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 50%;
    width: 100vw;
    max-width: none;
    margin: 0;
    overflow: hidden;
    transform: translateX(-50%);
}
.home-hero__media::before { display: none; }
.home-hero__media::after {
    position: absolute;
    inset: 0;
    border-radius: 0;
    background: linear-gradient(90deg, rgba(1, 43, 99, .99) 0%, rgba(1, 61, 139, .94) 34%, rgba(1, 61, 139, .62) 63%, rgba(1, 43, 99, .28) 100%);
    content: '';
}
.home-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    border-radius: 0;
    object-fit: cover;
    object-position: center 52%;
    opacity: .94;
}
.home-hero__media figcaption { display: none; }
.home-hero .hero__content { max-width: 39rem; }
.home-hero .hero__content h1 { color: var(--color-white); font-size: clamp(3.4rem, 5vw, 5rem); }
.home-hero .hero__intro { max-width: 33rem; color: rgba(255, 255, 255, .82); }
.home-hero .text-link { color: var(--color-white); border-color: rgba(255, 255, 255, .58); }
.home-hero .text-link:hover { color: #c4e7a9; }
.home-hero .button--dark { background: var(--color-white); color: var(--color-primary); }
.home-hero .button--dark:hover { background: var(--color-secondary); color: var(--color-white); }
.home-hero .eyebrow { color: #c4e7a9; }
.home-hero .eyebrow::before { background: var(--color-secondary); }

.skills-intro { padding-block: clamp(3.5rem, 6vw, 5.5rem); }
.skills-intro__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); align-items: center; gap: clamp(2.5rem, 6vw, 6rem); }
.skills-intro__media { margin: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: 10px; }
.skills-intro__media img { display: block; width: 100%; height: clamp(22.5rem, 31vw, 28rem); object-fit: cover; object-position: center 52%; transition: transform .55s var(--ease); }
.skills-intro__media:hover img { transform: scale(1.02); }
.skills-intro__content { max-width: 31rem; }
.skills-intro__content h2 { margin: 1rem 0 1.25rem; color: var(--color-primary); font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1.06; }
.skills-intro__content > p:last-child { color: var(--color-muted); font-size: 1rem; line-height: 1.7; }

.gallery-hero { padding-block: 5.75rem 2.75rem; }
.gallery-showcase { padding-block: clamp(3rem, 5vw, 4.5rem); }
.gallery-toolbar { margin-bottom: 1.75rem; }
.gallery-masonry { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 1.25rem; }
.gallery-card, .gallery-card--1, .gallery-card--3, .gallery-card--4 { margin-top: 0; }
.gallery-card__trigger { overflow: hidden; border-radius: 8px; background: #eef2f6; }
.gallery-card__trigger img, .gallery-card__fallback { width: 100%; height: clamp(16.25rem, 25vw, 22.5rem); max-height: 22.5rem; aspect-ratio: auto; object-fit: cover; }
.gallery-card--collage .gallery-card__trigger img { height: clamp(16.25rem, 23vw, 21rem); padding: .5rem; object-fit: contain; background: #edf1f4; }
.gallery-card--portrait .gallery-card__trigger img { object-fit: contain; background: #eef2f6; }
.gallery-card figcaption { min-height: 3.4rem; align-items: flex-start; padding-top: .75rem; }
.gallery-card figcaption span { max-width: 70%; line-height: 1.35; }

@media (max-width: 60rem) {
    .gallery-masonry { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 46rem) {
    .home-hero { min-height: 37rem; }
    .home-hero__grid { min-height: 37rem; padding-block: 6rem 3.5rem; }
    .home-hero .hero__content h1 { font-size: clamp(2.7rem, 11vw, 3.7rem); }
    .home-hero__media img { object-position: 58% center; }
    .skills-intro__grid { grid-template-columns: 1fr; gap: 2rem; }
    .skills-intro__media img { height: 18rem; }
    .skills-intro__content h2 { font-size: clamp(2rem, 8vw, 2.7rem); }
    .gallery-hero { padding-block: 5.75rem 2.5rem; }
    .gallery-masonry { grid-template-columns: 1fr; gap: 1.5rem; }
    .gallery-card__trigger img, .gallery-card__fallback, .gallery-card--collage .gallery-card__trigger img { height: min(22rem, 76vw); }
}

/* Targeted visual fix: preserve photographic detail and keep the cursor readable. */
.home-hero__media::after { pointer-events: none; opacity: .72; background: linear-gradient(90deg, #013d8b 0%, rgba(1, 61, 139, .96) 22%, rgba(1, 61, 139, .58) 44%, rgba(1, 61, 139, .2) 63%, rgba(1, 61, 139, .06) 78%, rgba(1, 61, 139, 0) 100%); }
.home-hero__media img { filter: saturate(1.05) brightness(1.04); opacity: 1; object-position: center 52%; }
.cursor-dot { z-index: 99999; background: #fff; mix-blend-mode: difference; }
.cursor-ring { z-index: 99998; border-color: #fff; color: #fff; background: transparent; mix-blend-mode: difference; }
.cursor-interactive .cursor-ring { background: rgba(61, 130, 9, .24); border-color: #fff; }
.cursor-contextual .cursor-ring { background: rgba(61, 130, 9, .72); border-color: #fff; mix-blend-mode: normal; }
.cursor-ring span { color: #fff; }

.training-story__grid { grid-template-columns: minmax(0, 1.08fr) minmax(18rem, .82fr); gap: clamp(2.5rem, 6vw, 6rem); }
.training-story__media { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 1rem; min-width: 0; }
.training-story__main { display: block; width: 100%; height: clamp(24rem, 32vw, 28.75rem); aspect-ratio: auto; object-fit: cover; object-position: center; border-radius: 10px; }
.training-story__support { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; min-width: 0; }
.training-story__support img { display: block; width: 100%; height: clamp(11.25rem, 15vw, 13.75rem); object-fit: cover; object-position: center; border-radius: 10px; }
.training-story__support .training-story__collage { object-fit: contain; padding: .5rem; background: #edf1f4; }
.training-story .impact-story__content { max-width: 34rem; }

@media (max-width: 46rem) {
    .training-story__grid { display: block; }
    .training-story__media { margin-bottom: 2.5rem; }
    .training-story__main { height: min(68vw, 22rem); }
    .training-story__support img { height: min(39vw, 12rem); }
}

/* Scale, motion and navigation polish. */
body { font-size: 17px; }
.site-header { height: 5.5rem; transition: height .35s var(--ease), background .35s ease, color .35s ease, box-shadow .35s ease; }
.site-header.is-scrolled { height: 4.85rem; }
.site-header__progress { position: absolute; right: 0; bottom: 0; left: 0; display: block; width: 100%; height: 2px; background: linear-gradient(90deg, var(--color-primary), var(--color-secondary)); transform: scaleX(0); transform-origin: left center; will-change: transform; pointer-events: none; }
#primary-navigation { font-size: .95rem; }
.eyebrow { font-size: .76rem; }
.button, .text-link { font-size: .94rem; }
.home-hero .hero__content h1 { font-size: clamp(3.8rem, 5.3vw, 5.5rem); line-height: .99; }
.internal-hero h1, .skills-hero h1, .gallery-hero h1 { font-size: clamp(3rem, 4.5vw, 4.7rem); line-height: 1.02; }
.mission h2, .section-heading h2, .skill-detail-summary h2 { font-size: clamp(2.3rem, 3.4vw, 3.5rem); line-height: 1.06; }
.skills-intro__content h2 { font-size: clamp(1.8rem, 2.5vw, 2.7rem); }
.hero__intro, .mission__content p, .impact-story__content p:not(.eyebrow), .experience-highlight p, .contact-page .internal-hero__intro { font-size: 1.06rem; line-height: 1.7; }

.home-intro__media { max-width: 33rem; }
.skills-intro__media img { height: clamp(24rem, 33vw, 30rem); }
.gallery-card__trigger img, .gallery-card__fallback { max-height: 24rem; }
.training-story__main { height: clamp(26rem, 35vw, 31.25rem); }
.training-story__support img { height: clamp(12.5rem, 16vw, 15rem); }

@media (prefers-reduced-motion: no-preference) {
    .reveal.is-visible > .eyebrow, .reveal.is-visible.eyebrow { animation: label-in .7s var(--ease) both; }
    .reveal.is-visible img { animation: image-reveal .85s var(--ease) both; }
    .gallery-filter, .skill-item__content h2 a, .gallery-card figcaption span, .footer-links a { transition: transform .3s var(--ease), color .3s ease, background .3s ease, border-color .3s ease; }
    .gallery-filter:hover { transform: translateY(-2px) scale(1.02); }
    .skill-item:hover .skill-item__content h2 a { color: var(--color-primary); transform: translateX(4px); }
    .skill-item:hover .skill-item__arrow { transform: translate(5px, -3px); }
    .gallery-card__trigger:hover ~ figcaption span, .gallery-card__trigger:focus-visible ~ figcaption span { color: var(--color-secondary); transform: translateX(3px); }
    .footer-links a:hover { color: var(--color-secondary); transform: translateX(3px); }
    .field input, .field textarea { transition: border-color .28s ease, box-shadow .28s ease, transform .28s var(--ease); }
    .field input:focus, .field textarea:focus { border-color: var(--color-secondary); box-shadow: 0 0 0 4px rgba(61, 130, 9, .12); transform: translateY(-1px); }
    .button { transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s var(--ease), box-shadow .3s ease; }
    .button:hover { box-shadow: 0 10px 22px rgba(1, 61, 139, .14); }
}

@media (min-width: 47rem) {
    #primary-navigation > a { position: relative; transition: color .25s ease, opacity .25s ease, transform .25s var(--ease); }
    #primary-navigation > a::after { height: 2px; background: var(--color-primary); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
    #primary-navigation > a::before { position: absolute; right: 0; bottom: .15rem; width: .3rem; height: .3rem; border-radius: 50%; background: var(--color-secondary); content: ''; transform: scale(0); transition: transform .3s var(--ease); }
    #primary-navigation > a:hover::after, #primary-navigation > a[aria-current='page']::after { transform: scaleX(1); }
    #primary-navigation > a:hover::before, #primary-navigation > a[aria-current='page']::before { transform: scale(1); }
}

@media (max-width: 46rem) {
    body { font-size: 16px; }
    .site-header { height: 4.75rem; }
    .site-header.is-scrolled { height: 4.5rem; }
    #primary-navigation { display: flex; visibility: hidden; opacity: 0; transform: translateY(-1rem); pointer-events: none; transition: opacity .28s ease, transform .38s var(--ease), visibility 0s linear .38s; }
    #primary-navigation.is-open { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition-delay: 0s; }
    #primary-navigation > a { opacity: 0; transform: translateY(10px); transition: opacity .35s ease, transform .45s var(--ease), color .25s ease; }
    #primary-navigation.is-open > a { opacity: 1; transform: none; }
    #primary-navigation.is-open > a:nth-of-type(2) { transition-delay: .05s; }
    #primary-navigation.is-open > a:nth-of-type(3) { transition-delay: .1s; }
    #primary-navigation.is-open > a:nth-of-type(4) { transition-delay: .15s; }
    .home-hero .hero__content h1 { font-size: clamp(2.7rem, 11vw, 3.8rem); line-height: 1; }
    .internal-hero h1, .skills-hero h1, .gallery-hero h1 { font-size: clamp(2.6rem, 10vw, 3.8rem); }
    .training-story__main { height: min(74vw, 24rem); }
    .training-story__support img { height: min(42vw, 13rem); }
}

@media (prefers-reduced-motion: reduce) {
    .site-header__progress { transition: none; }
    .gallery-filter, .skill-item__content h2 a, .gallery-card figcaption span, .footer-links a, .field input, .field textarea { transition: none !important; }
}

@media (prefers-reduced-motion: no-preference) {
    #primary-navigation > a .nav-label { display: inline-flex; }
    #primary-navigation > a .nav-label > span:not(.sr-only) { display: inline-block; margin-left: 0; opacity: 1; transition: transform .35s var(--ease), color .25s ease; }
    #primary-navigation > a:hover .nav-label > span:not(.sr-only), #primary-navigation > a:focus-visible .nav-label > span:not(.sr-only), #primary-navigation > a[aria-current='page'] .nav-label > span:not(.sr-only) { color: var(--color-secondary); transform: translateY(-2px); }
    #primary-navigation > a:hover .nav-label > span:nth-child(3n + 2), #primary-navigation > a:focus-visible .nav-label > span:nth-child(3n + 2) { transition-delay: .03s; }
    #primary-navigation > a:hover .nav-label > span:nth-child(3n + 3), #primary-navigation > a:focus-visible .nav-label > span:nth-child(3n + 3) { transition-delay: .06s; }
    #primary-navigation > a:hover .nav-label > span:nth-child(3n + 4), #primary-navigation > a:focus-visible .nav-label > span:nth-child(3n + 4) { transition-delay: .09s; }
}

@media (prefers-reduced-motion: reduce) {
    #primary-navigation > a .nav-label > span:not(.sr-only) { transition: none; }
}

/* Final corporate type, gradient and interaction polish. */
:root { font-family: 'Inter', Arial, sans-serif; }
body { font-family: 'Inter', Arial, sans-serif; font-size: 18px; }
h1, h2, h3, h4, h5, h6, .site-brand__mark, .hero__content h1, .internal-hero h1, .skills-hero h1, .gallery-hero h1, .focus-item h3, .skill-item__content h2, .home-skill-feature__body h3, .skills-intro__statement, .gallery-intro__statement, .stat strong, .gallery-card__fallback span, #primary-navigation a:not(.button) { font-family: 'Plus Jakarta Sans', Arial, sans-serif; font-weight: 600; letter-spacing: -.035em; }
h1, h2 { line-height: 1.04; }
.site-header { background: rgba(255, 255, 255, .78); color: var(--color-text); border-bottom-color: rgba(1, 61, 139, .12); box-shadow: 0 8px 24px rgba(1, 61, 139, .06); backdrop-filter: blur(16px) saturate(140%); -webkit-backdrop-filter: blur(16px) saturate(140%); }
.site-header.is-scrolled { background: rgba(255, 255, 255, .92); box-shadow: 0 12px 32px rgba(1, 61, 139, .12); }
.site-header__inner { min-height: 100%; }
.home-hero .hero__content h1 { font-size: clamp(4rem, 5.6vw, 5.8rem); }
.internal-hero h1, .skills-hero h1, .gallery-hero h1 { font-size: clamp(3.2rem, 4.8vw, 4.9rem); }
.mission h2, .section-heading h2, .skill-detail-summary h2, .contact-info h2, .contact-form-title { font-size: clamp(2.5rem, 3.7vw, 3.8rem); }
.skills-intro__content h2, .home-skill-feature__body h3 { font-size: clamp(1.8rem, 2.4vw, 2.6rem); }
.hero__intro, .mission__content p, .impact-story__content p:not(.eyebrow), .experience-highlight p, .contact-page .internal-hero__intro { font-size: 1.06rem; }
.eyebrow { font-size: 12px; }
nav, #primary-navigation { font-size: 15px; }
.button, .text-link { font-size: 15px; }

.home-hero__media::after { opacity: .8; background: linear-gradient(90deg, #013d8b 0%, rgba(1, 61, 139, .96) 21%, rgba(1, 61, 139, .62) 43%, rgba(11, 95, 142, .2) 57%, rgba(61, 130, 9, .1) 65%, rgba(1, 61, 139, 0) 80%); }
.button--dark, .button--primary { background: linear-gradient(135deg, #013d8b 0%, #0b5f8e 45%, #3d8209 100%); }
.button--dark:hover, .button--primary:hover { background: linear-gradient(135deg, #0b5f8e 0%, #3d8209 100%); }
.site-header__progress { background: linear-gradient(90deg, #013d8b, #3d8209); }

@media (min-width: 47rem) and (prefers-reduced-motion: no-preference) {
    #primary-navigation > a:hover .nav-label > span:not(.sr-only), #primary-navigation > a:focus-visible .nav-label > span:not(.sr-only) { color: var(--color-primary); transform: none; animation: nav-character-bounce .42s var(--ease) both; }
    #primary-navigation > a:hover .nav-label > span:nth-child(2), #primary-navigation > a:focus-visible .nav-label > span:nth-child(2) { animation-delay: 0ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(3), #primary-navigation > a:focus-visible .nav-label > span:nth-child(3) { animation-delay: 25ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(4), #primary-navigation > a:focus-visible .nav-label > span:nth-child(4) { animation-delay: 50ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(5), #primary-navigation > a:focus-visible .nav-label > span:nth-child(5) { animation-delay: 75ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(6), #primary-navigation > a:focus-visible .nav-label > span:nth-child(6) { animation-delay: 100ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(7), #primary-navigation > a:focus-visible .nav-label > span:nth-child(7) { animation-delay: 125ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(8), #primary-navigation > a:focus-visible .nav-label > span:nth-child(8) { animation-delay: 150ms; }
}
@keyframes nav-character-bounce { 0%, 100% { transform: translateY(0); } 45% { transform: translateY(-5px); } }

@media (max-width: 46rem) {
    body { font-size: 16.5px; }
    .home-hero .hero__content h1 { font-size: clamp(2.8rem, 11vw, 3.9rem); }
    .internal-hero h1, .skills-hero h1, .gallery-hero h1 { font-size: clamp(2.7rem, 10vw, 3.9rem); }
    #primary-navigation a:not(.button) { font-family: 'Plus Jakarta Sans', Arial, sans-serif; }
    #primary-navigation > a .nav-label > span:not(.sr-only) { animation: none !important; transform: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .site-header, .site-header.is-scrolled, .site-header__progress { transition: none; }
    .reveal.is-visible img, .reveal.is-visible > .eyebrow, .reveal.is-visible.eyebrow, #primary-navigation > a .nav-label > span:not(.sr-only) { animation: none !important; transform: none !important; }
}

/* Header-only DEVTAN floating glass refinement. */
.site-header { height: 5.25rem; background: rgba(247, 249, 252, .28); border-bottom: 1px solid rgba(255, 255, 255, .35); box-shadow: 0 8px 24px rgba(1, 61, 139, .05); backdrop-filter: blur(18px) saturate(150%); -webkit-backdrop-filter: blur(18px) saturate(150%); }
.site-header.is-scrolled { height: 5.15rem; background: rgba(247, 249, 252, .72); box-shadow: 0 10px 30px rgba(1, 61, 139, .1); }
.site-header__inner { min-height: 100%; }
.site-brand { position: relative; z-index: 2; width: clamp(145px, 12vw, 170px); transition: transform .3s var(--ease), opacity .3s ease; }
.site-brand:hover, .site-brand:focus-visible { transform: translateY(-1px) scale(1.015); }
.site-brand img { display: block; width: 100%; height: auto; object-fit: contain; }
#primary-navigation { display: flex; align-items: center; gap: .2rem; padding: 7px 12px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 24px; background: rgba(255, 255, 255, .55); box-shadow: 0 8px 30px rgba(1, 61, 139, .08); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%); }
#primary-navigation > a { position: relative; display: inline-flex; align-items: center; gap: .35rem; padding: 10px 16px; border-radius: 16px; color: #172033; font-weight: 500; opacity: 1; }
#primary-navigation > a:hover, #primary-navigation > a:focus-visible { background: rgba(1, 61, 139, .05); color: var(--color-primary); }
#primary-navigation > a[aria-current='page'] { background: rgba(61, 130, 9, .06); color: var(--color-primary); }
#primary-navigation > a::after { right: 50%; bottom: 3px; left: auto; width: 26px; height: 2px; border-radius: 999px; background: linear-gradient(90deg, #013d8b, #3d8209); transform: translateX(50%) scaleX(0); transform-origin: center; }
#primary-navigation > a:hover::after, #primary-navigation > a:focus-visible::after, #primary-navigation > a[aria-current='page']::after { transform: translateX(50%) scaleX(1); }
#primary-navigation > a::before { display: none; }
.site-header__progress { height: 2px; }

@media (min-width: 47rem) and (prefers-reduced-motion: no-preference) {
    .site-brand { animation: header-logo-in .55s var(--ease) both; }
    #primary-navigation { animation: header-nav-in .55s .08s var(--ease) both; }
    #primary-navigation > a { animation: header-link-in .45s var(--ease) both; }
    #primary-navigation > a:nth-of-type(2) { animation-delay: .12s; }
    #primary-navigation > a:nth-of-type(3) { animation-delay: .16s; }
    #primary-navigation > a:nth-of-type(4) { animation-delay: .2s; }
}
@keyframes header-logo-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes header-nav-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes header-link-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

@media (max-width: 46rem) {
    .site-header { height: 4.75rem; background: rgba(247, 249, 252, .3); }
    .site-header.is-scrolled { height: 4.65rem; background: rgba(247, 249, 252, .72); }
    .site-brand { width: clamp(115px, 34vw, 135px); }
    #primary-navigation { padding: 6.5rem 1.25rem 2rem; border: 0; border-radius: 0; background: var(--color-primary); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
    #primary-navigation > a { padding: 1.1rem 0; border-radius: 0; background: transparent; color: var(--color-white); }
    #primary-navigation > a:hover, #primary-navigation > a:focus-visible, #primary-navigation > a[aria-current='page'] { background: transparent; color: #c4e7a9; }
    #primary-navigation > a::after { right: auto; bottom: 0; left: 0; width: 28px; transform: scaleX(0); }
    #primary-navigation > a:hover::after, #primary-navigation > a:focus-visible::after, #primary-navigation > a[aria-current='page']::after { transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
    .site-brand, #primary-navigation, #primary-navigation > a { animation: none !important; }
    .site-brand, .site-brand:hover, .site-brand:focus-visible { transform: none; }
}

/* Skill-detail visual composition. */
.skill-detail-hero { position: relative; overflow: hidden; padding: 8.5rem 0 5.5rem; background: linear-gradient(135deg, #013d8b 0%, #0756a6 55%, #3d8209 135%); }
.skill-detail-hero::before { position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.24) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.24) 1px, transparent 1px); background-size: 48px 48px; content: ''; mask-image: linear-gradient(90deg, #000, transparent 82%); }
.skill-detail-hero::after { position: absolute; right: 9%; bottom: 8%; width: 9rem; height: 2px; background: linear-gradient(90deg, rgba(255,255,255,0), #3d8209); content: ''; }
.skill-detail-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(22rem, .92fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); }
.skill-detail-hero__copy { max-width: 40rem; }
.skill-detail-breadcrumbs { margin-bottom: 2.25rem; color: rgba(255,255,255,.7); font-size: 14px; }
.skill-detail-breadcrumbs a:hover { color: #fff; }
.skill-detail-breadcrumbs [aria-current='page'] { color: #dfeeda; }
.skill-detail-hero h1 { max-width: 42rem; margin: 1rem 0 1.5rem; color: #fff; font-size: clamp(3.2rem, 4.5vw, 4.8rem); font-weight: 700; line-height: 1.02; }
.skill-detail-hero__intro { max-width: 38rem; margin-bottom: 2rem; color: rgba(255,255,255,.88); font-size: clamp(1.06rem, 1.4vw, 1.18rem); line-height: 1.7; }
.text-link--light { color: #fff; }
.skill-detail-hero__media { position: relative; min-width: 0; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.3); border-radius: 18px; box-shadow: 0 24px 55px rgba(0,25,70,.25); }
.skill-detail-hero__media::after { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.12), transparent 45%); content: ''; pointer-events: none; }
.skill-detail-hero__media img { display: block; width: 100%; height: clamp(24rem, 34vw, 28.75rem); object-fit: cover; object-position: center; }
.skill-detail-overview { padding: clamp(5rem, 8vw, 8rem) 0; }
.skill-detail-overview__grid { grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); align-items: start; gap: clamp(3rem, 8vw, 8rem); }
.skill-detail-overview__copy { max-width: 44rem; }
.skill-detail-overview__copy h2 { max-width: 38rem; margin: 1rem 0 2rem; font-size: clamp(2.4rem, 3.7vw, 3.8rem); }
.skill-detail-overview__support { margin: 0; }
.skill-detail-overview__support img { display: block; width: 100%; max-height: 22rem; border-radius: 16px; object-fit: cover; box-shadow: 0 18px 42px rgba(1,61,139,.12); }
.skill-detail-overview__support figcaption { margin-top: .75rem; color: var(--color-muted); font-size: .78rem; }
.skill-detail-page .related-visuals { padding-block: clamp(4.5rem, 7vw, 7rem); }
.skill-detail-page .related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.skill-detail-page .related-image img { height: clamp(14rem, 25vw, 23.75rem); object-fit: cover; }

@media (prefers-reduced-motion: no-preference) {
    .skill-detail-hero__media.reveal.is-visible img { animation: skill-image-in .9s var(--ease) both; }
}
@keyframes skill-image-in { from { opacity: 0; transform: translateX(18px) scale(1.025); } to { opacity: 1; transform: translateX(0) scale(1); } }

@media (max-width: 46rem) {
    .skill-detail-hero { padding: 7.5rem 0 3.5rem; }
    .skill-detail-hero__grid { display: block; }
    .skill-detail-breadcrumbs { margin-bottom: 1.8rem; font-size: 13px; line-height: 1.6; }
    .skill-detail-hero h1 { margin-top: .8rem; font-size: clamp(2.6rem, 10vw, 3.7rem); }
    .skill-detail-hero__intro { font-size: 1rem; }
    .skill-detail-hero__media { margin-top: 2.75rem; border-radius: 14px; }
    .skill-detail-hero__media img { height: min(76vw, 22rem); }
    .skill-detail-overview { padding-block: 4.5rem; }
    .skill-detail-overview__grid { display: block; }
    .skill-detail-overview__copy h2 { font-size: clamp(2.2rem, 9vw, 3rem); }
    .skill-detail-overview__support { margin-top: 2.5rem; }
    .skill-detail-page .related-grid { grid-template-columns: 1fr 1fr; gap: .8rem; }
    .skill-detail-page .related-image img { height: min(54vw, 14rem); }
}

@media (prefers-reduced-motion: reduce) {
    .skill-detail-hero__media.reveal.is-visible img { animation: none; }
}

/* Small readability and smoothness refinement; the existing visual system stays intact. */
body { font-size: 17px; }
.hero__intro, .skills-hero__grid > div > p:not(.eyebrow), .gallery-hero p:not(.eyebrow), .contact-page .internal-hero__intro, .skill-detail-hero__intro { font-size: 18px; line-height: 1.7; }
.section-heading__intro { font-size: 17.5px; line-height: 1.7; }
.skill-detail-overview .rich-text, .rich-text { font-size: 17px; line-height: 1.75; }
    .cursor-dot, .cursor-ring { will-change: transform; }

@media (max-width: 46rem) {
    body { font-size: 16.5px; }
    .hero__intro, .skills-hero__grid > div > p:not(.eyebrow), .gallery-hero p:not(.eyebrow), .contact-page .internal-hero__intro, .skill-detail-hero__intro { font-size: 17.5px; line-height: 1.7; }
    .section-heading__intro, .skill-detail-overview .rich-text, .rich-text { font-size: 17px; line-height: 1.72; }
}

/* Homepage top-state refinement: a pearl-white glass veil keeps hero blue from bleeding into the header. */
.site-header, .site-header.is-scrolled { background: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(247,249,252,.88) 100%); border-bottom-color: rgba(1,61,139,.1); box-shadow: 0 6px 24px rgba(1,61,139,.08); backdrop-filter: blur(20px) saturate(145%); -webkit-backdrop-filter: blur(20px) saturate(145%); }
.site-header.is-scrolled { background: linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(247,249,252,.94) 100%); box-shadow: 0 10px 30px rgba(1,61,139,.13); }
.site-header__inner { position: relative; }
.site-header__inner::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; background: linear-gradient(90deg, rgba(1,61,139,0), rgba(1,61,139,.18) 35%, rgba(61,130,9,.2) 65%, rgba(61,130,9,0)); content: ''; pointer-events: none; }
@media (max-width: 46rem) {
    .site-header, .site-header.is-scrolled { background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,249,252,.88)); }
    .site-header.is-scrolled { background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,249,252,.94)); }
}

/* Definitive public-header rebuild: compact wordmark and balanced inline navigation. */
.site-header, .site-header.is-scrolled { z-index: 1000; height: 80px; background: rgba(255,255,255,.68); border-bottom: 1px solid rgba(1,61,139,.08); box-shadow: 0 6px 22px rgba(1,61,139,.055); backdrop-filter: blur(18px) saturate(150%); -webkit-backdrop-filter: blur(18px) saturate(150%); transition: background-color .3s ease, box-shadow .3s ease; }
.site-header.is-scrolled { background: rgba(255,255,255,.88); box-shadow: 0 10px 28px rgba(1,61,139,.1); backdrop-filter: blur(20px) saturate(150%); -webkit-backdrop-filter: blur(20px) saturate(150%); }
.site-header__inner { width: min(calc(100% - 4rem), 77.5rem); min-height: 80px; padding: 0; gap: 2rem; }
.site-brand { width: clamp(150px, 14vw, 188px); flex: 0 0 auto; }
.site-brand img { width: 100%; height: auto; object-fit: contain; }
.site-brand:hover, .site-brand:focus-visible { transform: translateY(-1px) scale(1.01); }
#primary-navigation { display: flex; align-items: center; gap: .55rem; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
#primary-navigation > a { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 12px; border-radius: 9px; background: transparent; color: #172033; font-size: 15px; font-weight: 550; line-height: 1; opacity: 1; }
#primary-navigation > a:hover, #primary-navigation > a:focus-visible { background: rgba(1,61,139,.04); color: #013d8b; }
#primary-navigation > a[aria-current='page'] { background: transparent; color: #013d8b; }
#primary-navigation > a .nav-label { display: inline-flex; }
#primary-navigation > a .nav-label > span:not(.sr-only), #primary-navigation > a[aria-current='page'] .nav-label > span:not(.sr-only) { margin: 0; color: inherit; opacity: 1; transform: none; }
#primary-navigation > a::after { right: 50%; bottom: 3px; left: auto; width: 26px; height: 2px; border-radius: 999px; background: linear-gradient(90deg,#013d8b,#3d8209); transform: translateX(50%) scaleX(0); transform-origin: center; transition: transform .32s var(--ease); }
#primary-navigation > a:hover::after, #primary-navigation > a:focus-visible::after, #primary-navigation > a[aria-current='page']::after { transform: translateX(50%) scaleX(1); }
#primary-navigation > a::before { display: none; }
.footer-logo { width: clamp(11.25rem, 18vw, 15rem); }
.footer-logo img { display: block; width: 100%; height: auto; object-fit: contain; }

@media (min-width: 47rem) and (prefers-reduced-motion: no-preference) {
    #primary-navigation > a:hover .nav-label > span:not(.sr-only), #primary-navigation > a:focus-visible .nav-label > span:not(.sr-only) { color: inherit; animation: nav-character-bounce .39s var(--ease) both; }
    #primary-navigation > a:hover .nav-label > span:nth-child(2), #primary-navigation > a:focus-visible .nav-label > span:nth-child(2) { animation-delay: 0ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(3), #primary-navigation > a:focus-visible .nav-label > span:nth-child(3) { animation-delay: 22ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(4), #primary-navigation > a:focus-visible .nav-label > span:nth-child(4) { animation-delay: 44ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(5), #primary-navigation > a:focus-visible .nav-label > span:nth-child(5) { animation-delay: 66ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(6), #primary-navigation > a:focus-visible .nav-label > span:nth-child(6) { animation-delay: 88ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(7), #primary-navigation > a:focus-visible .nav-label > span:nth-child(7) { animation-delay: 110ms; }
    #primary-navigation > a:hover .nav-label > span:nth-child(8), #primary-navigation > a:focus-visible .nav-label > span:nth-child(8) { animation-delay: 132ms; }
}
@keyframes nav-character-bounce { 0%,100% { transform: translateY(0); } 45% { transform: translateY(-4px); } }

@media (max-width: 46rem) {
    .site-header, .site-header.is-scrolled { height: 70px; }
    .site-header__inner { width: min(calc(100% - 2rem), 77.5rem); min-height: 70px; }
    .site-brand { width: clamp(130px, 38vw, 158px); }
    #primary-navigation { position: absolute; top: 70px; right: 0; bottom: auto; left: 0; z-index: 1; width: 100%; height: calc(100dvh - 70px); min-height: 0; padding: 2rem 1.25rem; border: 0; border-radius: 0; background: #013d8b; box-shadow: none; }
    #primary-navigation > a { justify-content: space-between; min-height: 0; padding: 1.1rem 0; border-radius: 0; background: transparent; color: #fff; font-size: clamp(1.8rem, 9vw, 2.5rem); }
    #primary-navigation > a:hover, #primary-navigation > a:focus-visible, #primary-navigation > a[aria-current='page'] { background: transparent; color: #c4e7a9; }
    #primary-navigation > a::after { right: auto; bottom: 0; left: 0; width: 28px; transform: scaleX(0); transform-origin: left; }
    #primary-navigation > a:hover::after, #primary-navigation > a:focus-visible::after, #primary-navigation > a[aria-current='page']::after { transform: scaleX(1); }
    #primary-navigation > a .nav-label > span:not(.sr-only) { animation: none !important; transform: none !important; }
    .footer-logo { width: 11.25rem; }
    .skill-detail-hero { padding-top: 6rem; }
}

/* Final top-of-page glass tone: keep the hero present without letting its blue wash over the header. */
.site-header, .site-header.is-scrolled { background: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(247,249,252,.9) 100%); border-bottom-color: rgba(1,61,139,.1); box-shadow: 0 7px 24px rgba(1,61,139,.09); backdrop-filter: blur(20px) saturate(145%); -webkit-backdrop-filter: blur(20px) saturate(145%); }
.site-header.is-scrolled { background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,249,252,.95) 100%); box-shadow: 0 11px 30px rgba(1,61,139,.13); }
@media (max-width: 46rem) {
    .site-header, .site-header.is-scrolled { background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,249,252,.9)); }
    .site-header.is-scrolled { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,249,252,.95)); }
}

/* Premium opaque navigation: the hero can never colour-cast through the header. */
.site-header,
.site-header.is-scrolled {
    isolation: isolate;
    background: linear-gradient(135deg, #ffffff 0%, #fbfcfe 52%, #f3f6fa 100%);
    border-bottom: 1px solid #dce4ee;
    box-shadow: 0 8px 28px rgba(15, 35, 62, .10), 0 1px 0 rgba(255, 255, 255, .95) inset;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.site-header.is-scrolled {
    background: linear-gradient(135deg, #ffffff 0%, #f9fbfd 55%, #eef3f8 100%);
    box-shadow: 0 12px 34px rgba(15, 35, 62, .14), 0 1px 0 #ffffff inset;
}
.site-header::before {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #013d8b 0%, #0c5aa6 45%, #3d8209 100%);
    content: '';
    pointer-events: none;
}
.site-header__inner { z-index: 2; }
#primary-navigation {
    padding: 5px;
    border: 1px solid #e0e7ef;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 7px 20px rgba(15, 35, 62, .07), 0 1px 0 #ffffff inset;
}
#primary-navigation > a { border-radius: 9px; }
#primary-navigation > a:hover,
#primary-navigation > a:focus-visible { background: #f0f5fb; }
#primary-navigation > a[aria-current='page'] {
    background: linear-gradient(135deg, #edf4fc, #f3f8ee);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset;
}

@media (max-width: 46rem) {
    .site-header,
    .site-header.is-scrolled {
        background: linear-gradient(135deg, #ffffff 0%, #f5f8fb 100%);
        border-bottom-color: #dce4ee;
        box-shadow: 0 8px 24px rgba(15, 35, 62, .11);
    }
    #primary-navigation {
        position: fixed;
        top: 70px;
        right: 0;
        bottom: auto;
        left: 0;
        width: 100vw;
        height: calc(100dvh - 70px);
        padding: 2rem 1.25rem;
        border: 0;
        border-radius: 0;
        background: #013d8b;
        box-shadow: none;
    }
    #primary-navigation > a,
    #primary-navigation > a:hover,
    #primary-navigation > a:focus-visible,
    #primary-navigation > a[aria-current='page'] {
        background: transparent;
        box-shadow: none;
    }
}

/* Source-profile content expansion across existing public pages. */
.profile-vision,
.service-vertical,
.gallery-programmes,
.corporate-profile { padding-block: clamp(4.75rem, 8vw, 7.5rem); }
.profile-vision__grid,
.service-vertical__grid,
.corporate-profile__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.1fr); align-items: start; gap: clamp(3rem, 8vw, 8rem); }
.profile-vision h2,
.service-vertical h2,
.corporate-profile h2 { max-width: 38rem; margin-top: .9rem; font-size: clamp(2.4rem, 4vw, 4.3rem); line-height: 1.05; }
.profile-vision__copy > p,
.service-vertical__grid > div > p:last-child,
.corporate-profile__grid > div > p:last-child { color: var(--color-muted); font-size: 1.05rem; line-height: 1.75; }
.profile-vision blockquote { position: relative; margin: 2.25rem 0 0; padding: 1.6rem 0 0 2.25rem; border-top: 1px solid rgba(1, 61, 139, .18); color: var(--color-primary); font-family: 'Plus Jakarta Sans', Arial, sans-serif; font-size: clamp(1.35rem, 2.2vw, 2rem); font-weight: 600; line-height: 1.35; }
.profile-vision blockquote span { position: absolute; top: 1rem; left: 0; color: var(--color-secondary); font-size: 2.2rem; }
.service-vertical__list,
.gallery-programmes__list { margin: 0; padding: 0; list-style: none; }
.service-vertical__list li { display: grid; grid-template-columns: minmax(10rem, .75fr) minmax(0, 1.25fr); gap: 1.5rem; padding: 1.15rem 0; border-top: 1px solid rgba(1, 61, 139, .15); }
.service-vertical__list li:last-child { border-bottom: 1px solid rgba(1, 61, 139, .15); }
.service-vertical__list strong { color: var(--color-primary); }
.service-vertical__list span { color: var(--color-muted); line-height: 1.55; }
.gallery-programmes__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); margin-top: 3.25rem; }
.gallery-programmes__list > div { padding-top: 1.25rem; border-top: 2px solid var(--color-primary); }
.gallery-programmes__list span { color: var(--color-secondary); font-size: .78rem; font-weight: 700; letter-spacing: .12em; }
.gallery-programmes__list h3 { margin: .8rem 0 .7rem; color: var(--color-primary); font-size: clamp(1.25rem, 2vw, 1.6rem); }
.gallery-programmes__list p { margin: 0; color: var(--color-muted); line-height: 1.65; }
.corporate-profile__details { margin: 0; }
.corporate-profile__details > div { display: grid; grid-template-columns: minmax(10rem, .8fr) minmax(0, 1.2fr); gap: 1.5rem; padding: 1.15rem 0; border-top: 1px solid rgba(1, 61, 139, .15); }
.corporate-profile__details > div:last-child { border-bottom: 1px solid rgba(1, 61, 139, .15); }
.corporate-profile__details dt { color: var(--color-muted); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.corporate-profile__details dd { margin: 0; color: var(--color-primary); font-weight: 600; line-height: 1.55; overflow-wrap: anywhere; }

@media (max-width: 46rem) {
    .profile-vision,
    .service-vertical,
    .gallery-programmes,
    .corporate-profile { padding-block: 4.5rem; }
    .profile-vision__grid,
    .service-vertical__grid,
    .corporate-profile__grid { display: block; }
    .profile-vision__copy,
    .service-vertical__list,
    .corporate-profile__details { margin-top: 2.5rem; }
    .service-vertical__list li,
    .corporate-profile__details > div { grid-template-columns: 1fr; gap: .45rem; }
    .gallery-programmes__list { grid-template-columns: 1fr; gap: 2rem; margin-top: 2.5rem; }
}

/* Open desktop navigation: larger type without a surrounding capsule or link boxes. */
@media (min-width: 47rem) {
    #primary-navigation {
        gap: .8rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    #primary-navigation > a,
    #primary-navigation > a:hover,
    #primary-navigation > a:focus-visible,
    #primary-navigation > a[aria-current='page'] {
        padding: 10px 13px;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        font-size: 16.5px;
        font-weight: 600;
        letter-spacing: -.01em;
    }
    #primary-navigation > a:focus-visible {
        outline: 2px solid rgba(1, 61, 139, .45);
        outline-offset: 4px;
    }
}
