
/* JACKIE PROJECT — unified production design, all pages */
:root{--gold:#bb9661!important;--gold-on-dark:#e2c28f!important;--gold-dim:rgba(187,150,97,.13)!important;--gold-border:rgba(187,150,97,.32)!important;--green:#63283F;--green-bg:#f2e5e9;--green-border:rgba(104,29,50,.25);--jp-wine:#63283F;--jp-cream:#f5efe6}
html{scroll-behavior:smooth}body{overflow-x:hidden}img{max-width:100%}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d7a56a!important;outline-offset:3px!important}
.site-nav{background:#f5efe6!important;border-bottom:1px solid #e4d5c6!important}.site-nav .nav-logo,.site-nav .nav-links a:not(.nav-cta),.site-nav .nav-link{color:#4F2033!important}.site-nav .nav-cta{background:#63283F!important;color:#fff!important;border-color:#63283F!important}.site-nav .nav-mobile-btn{color:#63283F!important}.mobile-menu{background:#f5efe6!important}.mobile-menu a{color:#4F2033!important}
.site-nav a:hover,.mobile-menu a:hover{color:#aa6c45!important}
.page-hero,.ph{border-bottom:1px solid rgba(187,150,97,.35)}.page-hero h1,.ph h1{letter-spacing:-.035em}
.jp-subpage-photo{margin:0;position:relative;overflow:hidden;background:#4c172b;max-height:350px}.jp-subpage-photo img{display:block;width:100%;height:clamp(200px,26vw,340px);object-fit:cover;object-position:center 42%;filter:saturate(.8)}.jp-subpage-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(64,14,35,.30),transparent 70%);pointer-events:none}.jp-subpage-photo figcaption{position:absolute;bottom:12px;right:16px;color:#fff;background:rgba(40,12,23,.8);padding:5px 10px;font-size:10px;letter-spacing:.04em;z-index:1}
.jp-site-footer-note{font-size:11px;opacity:.8;line-height:1.5;max-width:1100px;margin:12px auto 0;padding:0 22px;text-align:center}
@media(max-width:700px){.jp-subpage-photo img{height:215px}.jp-subpage-photo figcaption{font-size:9px}.page-hero,.ph{padding-left:20px!important;padding-right:20px!important}}

/* Photo refinement: designed editorial panels replace repeated stock images. */
.jp-editorial-photo-alternative{padding:clamp(48px,7vw,90px) 7%;background:#63283F;color:#F5EFE6;position:relative;overflow:hidden;border-top:3px solid #BB9661;border-bottom:1px solid #BB9661}
.jp-editorial-photo-alternative:after{content:"";position:absolute;width:280px;height:280px;border:1px solid rgba(187,150,97,.4);border-radius:50%;right:-75px;top:-115px;pointer-events:none}
.jp-editorial-photo-alternative span{font-size:11px;letter-spacing:.18em;color:#E0BD8A;font-weight:700}
.jp-editorial-photo-alternative p{font-family:Georgia,serif;font-size:clamp(29px,4vw,52px);line-height:1.12;max-width:780px;margin:18px 0 20px;color:#F5EFE6}
.jp-editorial-photo-alternative small{font-size:10px;letter-spacing:.2em;color:#E0BD8A}

.jp-final-photo{max-width:1120px;margin:40px auto;padding:0 22px}.jp-final-photo img{display:block;width:100%;height:clamp(230px,38vw,470px);object-fit:cover;object-position:center 43%}.jp-final-photo figcaption{font-size:11px;color:#736e67;margin-top:9px}

/* Sitewide photo crop refinement: prioritize people's faces */
.jp-subpage-photo img{object-position:center 22%!important;filter:saturate(.9)}
.jp-final-photo img{object-position:center 18%!important}
@media(max-width:700px){.jp-final-photo img{height:auto!important;max-height:520px;object-fit:contain!important}.jp-subpage-photo img{object-position:center 16%!important}}

/* Official Jackie Project header wordmark */
.site-nav .nav-logo{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;max-width:255px!important;line-height:0!important;letter-spacing:normal!important;text-decoration:none!important}
.site-nav .nav-logo img{display:block!important;width:clamp(170px,20vw,255px)!important;height:auto!important;object-fit:contain!important;mix-blend-mode:multiply}
@media(max-width:700px){.site-nav .nav-logo{max-width:205px!important}.site-nav .nav-logo img{width:clamp(165px,43vw,205px)!important}}
/* The Work: no artificial face crop; preserve the entire photograph */
body .jp-subpage-photo.jp-work-photo{max-height:none!important;background:#F5EFE6!important;text-align:center}
body .jp-subpage-photo.jp-work-photo img{width:100%!important;height:auto!important;max-height:610px!important;object-fit:contain!important;object-position:center center!important;filter:saturate(.92)!important}
body .jp-subpage-photo.jp-work-photo::after{display:none!important}


/* RESTORED PHOTOGRAPHY + UNIVERSAL WORDMARK */
.site-nav .nav-logo{display:flex!important;align-items:center!important;flex-shrink:0!important;width:min(255px,38vw)!important;max-width:none!important;min-height:48px!important;line-height:1!important}
.site-nav .nav-logo img{display:block!important;width:100%!important;height:auto!important;max-height:58px!important;object-fit:contain!important;mix-blend-mode:multiply}
@media(max-width:720px){.site-nav .nav-logo{width:min(205px,51vw)!important}}
.jp-restored-gallery{background:#F5EFE6;padding:clamp(52px,7vw,95px) max(22px,calc((100vw - 1160px)/2));color:#2A2024}
.jp-restored-gallery-head{margin:0 0 26px}
.jp-restored-gallery-head span{font:700 11px/1.5 system-ui,sans-serif;letter-spacing:.19em;color:#8D6B50}
.jp-restored-gallery-head h2{font:400 clamp(29px,3.5vw,48px)/1.14 Georgia,serif;color:#63283F;max-width:730px;margin:12px 0}
.jp-restored-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px}
.jp-restored-figure{margin:0;overflow:hidden;background:#E9DFD8;border-radius:3px}
.jp-restored-figure img{display:block;width:100%;height:clamp(250px,34vw,420px);object-fit:cover;object-position:center 26%;filter:saturate(.92)}
.jp-restored-figure figcaption{padding:10px 12px;color:#74686B;font:11px/1.4 system-ui,sans-serif;background:#F5EFE6}
@media(max-width:650px){.jp-restored-figure img{height:auto;max-height:470px;object-fit:contain}}
/* Never hide site photographs as decorative placeholders. */
.jp-photo-band img,.jp-final-photo img,.jp-subpage-photo img{opacity:1!important;visibility:visible!important}

.jp-about-photo-break{padding:clamp(48px,7vw,100px) 24px;background:#F5EFE6}
.jp-about-photo-wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(24px,5vw,80px)}
.jp-about-photo-text span{font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.19em;color:#A17D57}
.jp-about-photo-text h2{font:400 clamp(29px,3.4vw,46px)/1.16 Georgia,serif;color:#63283F;margin:16px 0}
.jp-about-photo-wrap figure{margin:0}.jp-about-photo-wrap img{width:100%;height:clamp(300px,36vw,490px);object-fit:cover;object-position:center 30%;display:block}
.jp-about-photo-wrap figcaption{font:11px/1.4 system-ui,sans-serif;color:#786C6E;margin-top:8px}
@media(max-width:720px){.jp-about-photo-wrap{grid-template-columns:1fr}.jp-about-photo-wrap img{height:auto;max-height:480px;object-fit:contain}}
.jp-photo-band img{object-position:center center!important;height:auto!important;max-height:620px!important;object-fit:contain!important;background:#F5EFE6}

/* Transparent logo: no blending or background box */
.site-nav .nav-logo img{mix-blend-mode:normal!important;background:transparent!important;}
.site-nav .nav-logo{background:transparent!important;border:0!important;box-shadow:none!important;}

/* What sets us apart */
.diff{background:#fffaf2;padding:90px 22px;border-top:1px solid #e6d9cb}
.diff-in{max-width:1040px;margin:0 auto}
.diff-eb{font-size:10px;letter-spacing:.19em;color:#7b3341;font-weight:700}
.diff h2{font:400 clamp(34px,4.6vw,58px)/1.1 Georgia,serif;color:#4F2033;margin:16px 0 22px}
.diff h2 em{color:#812f42}
.diff-p{font:400 clamp(19px,2.1vw,25px)/1.65 Georgia,serif;max-width:860px;margin:0 0 38px;color:#2b2022}
.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid #d9c9b5;padding-top:28px}
.diff-grid h3{font:400 22px/1.25 Georgia,serif;color:#4F2033;margin:0 0 8px}
.diff-grid p{font-size:14.5px;line-height:1.75;margin:0;color:#3d3033}
@media(max-width:760px){.diff{padding:60px 22px}.diff-grid{grid-template-columns:1fr;gap:22px}}
