/* JGP editorial refresh, 2026-11-06. Presentation only; original content retained. */
:root{--jgp-ink:#123b3b;--jgp-paper:#f7f4ef;--jgp-line:#d9d0c4;--jgp-accent:#805d43;--jgp-display:"Cormorant Garamond","Italiana",Georgia,serif}
body{background:var(--jgp-paper)!important;background-attachment:scroll!important}
body h1,body h2,body h3{font-family:var(--jgp-display);font-weight:500;letter-spacing:-.025em}
#main_content{padding-top:100px}
#header_main{background:#fffefa;border-bottom:1px solid var(--jgp-line)}
#header_main .header_container{width:calc(100% - 80px);max-width:1440px;padding:0;min-height:99px;align-items:center;box-sizing:border-box}
#header_logo{padding:8px 0;flex-shrink:0}
#header_logo img,#header_main.sticky-menu #header_logo img{width:auto;height:78px;max-height:78px!important;display:block}
#header_desktop_menu>ul{display:flex;align-items:center;gap:21px}
#header_desktop_menu>ul>li{margin:0;padding:0;font-size:12px;letter-spacing:.05em;text-shadow:none}
#header_desktop_menu ul a{font-family:"Raleway",sans-serif;font-weight:600}
#header_desktop_menu>ul>li>a{display:inline-flex;align-items:center;min-height:46px;padding:0;text-transform:uppercase}
#header_desktop_menu>ul>li:last-child>a{padding:0 22px;background:var(--jgp-ink);color:#fff}
#header_desktop_menu li.menu-item-has-children:focus-within>.sub-menu{display:block;z-index:2}
#header_desktop_menu .sub-menu a{font-size:14px;letter-spacing:0}
#header_desktop_menu>ul>li>ul.sub-menu{background:#fffefa;border:1px solid var(--jgp-line);padding:8px 0}
#header_desktop_menu a:hover{color:var(--jgp-accent)}
body a.button_style_01{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:50px;padding:13px 23px;line-height:1.4;font-size:12px;font-weight:600;letter-spacing:.045em;text-transform:uppercase;border-radius:0;text-align:center;max-width:100%;text-decoration:none;transition:background .2s,color .2s}
body a.button_style_01:hover{background:var(--jgp-ink);color:white}
#main_content a:not(.button_style_01):not(.action):not(.jgp2026-link){text-underline-offset:4px;text-decoration-thickness:1px}
#main_content .jgp-service a:not(.action),.contact_content a{color:var(--jgp-ink)}
/* Opening spread: the existing content and two existing portraits, with no crops. */
.home .home_main_banner{padding:64px 0 72px;margin:0;background:var(--jgp-paper);overflow:hidden}
.home .home_main_banner>.wpb_column>.vc_column-inner{padding:0}
.home .home_main_banner>.wpb_column>.vc_column-inner>.wpb_wrapper{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.7fr);gap:28px;align-items:center;max-width:1320px;width:calc(100% - 112px);margin:0 auto}
.home .home_main_banner .home_main_banner_container{grid-column:1;margin:0;padding:0 18px 0 0;width:auto;max-width:none;min-height:0;display:block;position:relative}
.home .home_main_banner_container:before,.home .home_main_banner_container:after{display:none}
.home .home_main_banner_container>.wpb_column{max-width:none;width:100%}
.home .home_main_banner_container .vc_column-inner{padding:0}
.home .home_main_banner .wpb_wrapper{display:block}
.home .home_main_banner .wpb_text_column.wpb_content_element{max-width:none;margin:0}
.home .home_main_banner h1{font-family:var(--jgp-display);font-size:clamp(44px,4.7vw,72px);line-height:1.02;font-weight:500;letter-spacing:-.035em;margin:0 0 28px}
.home .home_main_banner p{font-size:16px;line-height:1.85;max-width:430px;margin:0 0 26px}
.home .home_main_banner p:has(.button_style_01){display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 0}
.home .home_main_banner a[href*="/contact/"]{background:var(--jgp-ink);color:#fff}
.home .home_main_banner a[href*="/contact/"]:hover{background:#285251}
.home .home_main_banner .home_main_banner_img_1,.home .home_main_banner .home_main_banner_img_2{position:relative;inset:auto;width:100%;max-width:none;height:auto;margin:0;transform:none!important;opacity:1!important;align-self:center}
.home .home_main_banner .home_main_banner_img_1{grid-column:2}
.home .home_main_banner .home_main_banner_img_2{grid-column:3;margin-top:92px}
.home .home_main_banner .home_main_banner_img_3{display:none}
.home .home_main_banner .vc_figure,.home .home_main_banner .vc_single_image-wrapper{display:block;width:100%}
.home .home_main_banner img{display:block;width:100%;height:auto}
.home .home_main_banner .wpb_raw_js{display:none}
.home .home_recent_case_studies{padding:80px 24px 90px;background:#fffefa;border-top:1px solid var(--jgp-line)}
.home .home_recent_case_studies h4.recentwork{font-family:"Raleway",sans-serif;font-size:11px;font-weight:600;letter-spacing:.22em;color:var(--jgp-accent);margin:0 0 45px}
.home .recent_case_studies_swiper{max-width:1020px}
.home .recent_case_study_txt h3{font-family:var(--jgp-display);font-size:clamp(40px,4.5vw,66px);font-weight:500;line-height:1.06;letter-spacing:-.025em}
.home .recent_case_study_txt{padding:0 24px 44px}
.home .casestudy_swiper-pagination .swiper-pagination-bullet{width:10px;height:10px;margin:0 8px!important}
.home .category_swiper{padding:64px 0 48px;background:var(--jgp-paper);border-top:1px solid var(--jgp-line);border-bottom:1px solid var(--jgp-line)}
.home .category_swiper .swiper-slide{padding:0 14px;box-sizing:border-box}
.home .category_swiper .swiper-slide h4.explore{font-size:10px;line-height:1.4;letter-spacing:.18em;margin:20px 0 8px;color:var(--jgp-accent)}
.home .category_swiper .swiper-slide h3.title{font-family:var(--jgp-display);font-size:34px;letter-spacing:-.02em;margin-bottom:0;line-height:1.2}
.home .home_about_area{background:#eee8df;padding:70px 24px}
.home .home_about_area p{font-size:17px;line-height:1.9}
.home .home_about_area .vc_inner.vc_row-fluid{max-width:1060px;gap:40px}
.home .home_blue_row{padding:66px 24px;background:var(--jgp-ink)}
.home .home_blue_row h2{color:#fff;font-size:clamp(32px,3.5vw,48px);line-height:1.13;max-width:850px;margin:0 auto 24px}
.home .home_blue_row p{max-width:850px;margin:0 auto 24px!important;font-size:16px;line-height:1.9}
.home .home_blue_row a{color:#f3ddc5}
.home .home_blue_row .linkrow a{display:inline-flex;min-height:44px;align-items:center}
/* Service pages keep their copy, packages, FAQs and internal links. */
body #main_content .jgp-service{max-width:1200px;padding:64px 44px 80px;box-sizing:border-box}
body #main_content .jgp-service>header{display:grid;grid-template-columns:1fr 1.08fr;column-gap:54px;align-items:start;padding-bottom:64px}
body #main_content .jgp-service>header h1{font-size:clamp(40px,4.5vw,64px);line-height:1.05;margin:0 0 26px;grid-column:1}
body #main_content .jgp-service>header p{grid-column:1;margin:0 0 24px}
body #main_content .jgp-service>header .lead{font-size:16px;line-height:1.85}
body #main_content .jgp-service>header figure{grid-column:2;grid-row:1 / span 6;margin:0!important;align-self:center}
body #main_content .jgp-service>header figure img{height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:0!important}
body #main_content .jgp-service>section{padding:42px 0;border-color:var(--jgp-line)}
body #main_content .jgp-service h2{font-size:clamp(30px,3vw,42px);line-height:1.15;margin:0 0 22px}
body #main_content .jgp-service h3{font-size:25px;line-height:1.25}
body #main_content .jgp-service p,body #main_content .jgp-service li{line-height:1.9}
body #main_content .jgp-service .packages{gap:20px;margin:30px 0}
body #main_content .jgp-service .package{border-radius:0;background:#fffefa;border-color:var(--jgp-line);padding:28px}
body #main_content .jgp-service .price{font-family:var(--jgp-display);font-size:42px;font-weight:500}
body #main_content .jgp-service .cta{padding:48px 28px;margin-top:48px;background:var(--jgp-ink)}
body #main_content .jgp-service .action{border:1px solid #d8b297;box-sizing:border-box;min-height:50px;line-height:1.5;font-size:13px;letter-spacing:.04em}
body .jgp2026-pricing{padding-top:54px}
body .jgp2026-pricing .jgp2026-heading h1{font-size:clamp(42px,5vw,64px)}
body .jgp2026-pricing .jgp2026-packages>.vc_column_container>.vc_column-inner{box-shadow:none;border-radius:0}
body .jgp2026-pricing .jgp2026-section{border-radius:0;padding:32px}
body .jgp2026-pricing .jgp2026-planhead{padding:30px 25px}
body .jgp2026-pricing .jgp2026-planhead .jgp2026-cost{font-family:var(--jgp-display);font-weight:500;font-size:48px}
body .jgp2026-pricing .jgp2026-link{border-radius:0}
/* Form appearance only. Field IDs, validation, submission and tracking are untouched. */
body .contact_content{padding:36px;box-sizing:border-box;box-shadow:0 14px 60px #132e3012}
body .contact_content h1{font-size:54px;line-height:1.1;margin:0 0 24px}
body .contact_content input:not([type="submit"]),body .contact_content textarea{border:1px solid #aaa79e;border-radius:0;box-shadow:none;background:#fffefa;color:var(--jgp-ink);font-size:16px}
body .contact_content input:not([type="submit"]){min-height:48px}
body .contact_content input[type="submit"]{border-radius:0;min-height:52px}
body .contact_content input::placeholder,body .contact_content textarea::placeholder{color:#626762;opacity:1}
#footer_container{background:#fffefa;border-top:1px solid var(--jgp-line);padding-top:50px;padding-bottom:45px}
#footer_container .footer_col_menu h2{font-family:"Raleway",sans-serif;font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px!important}
#footer_container a{line-height:1.8;color:var(--jgp-accent)}
.home .home_blue_row .linkrow a{border-radius:0;padding:12px 22px;font-size:12px;letter-spacing:.04em;line-height:1.5;box-sizing:border-box;margin:6px}
a:focus-visible,button:focus-visible{outline:3px solid #805d43;outline-offset:5px}
@media(min-width:1101px){#header_desktop_menu{display:block!important}#mobile-menu-trigger{display:none!important}}
@media(max-width:1100px){
#header_desktop_menu{display:none!important}#mobile-menu-trigger{display:block!important;min-width:48px;min-height:48px}
.home .home_main_banner>.wpb_column>.vc_column-inner>.wpb_wrapper{width:calc(100% - 64px);gap:20px;grid-template-columns:1.15fr 1fr .65fr}
.home .home_main_banner .home_main_banner_container{padding-right:0}
.home .home_main_banner h1{font-size:48px}
body #main_content .jgp-service>header{column-gap:30px}
}
@media(max-width:760px){
#main_content{padding-top:84px}
#header_main .header_container{width:calc(100% - 40px);min-height:83px}
#header_logo img,#header_main.sticky-menu #header_logo img{height:64px;max-height:64px!important}
.home .home_main_banner{padding:40px 0 48px}
.home .home_main_banner>.wpb_column>.vc_column-inner>.wpb_wrapper{width:calc(100% - 40px);grid-template-columns:1fr 1fr;gap:28px 16px}
.home .home_main_banner .home_main_banner_container{grid-column:1 / -1}
.home .home_main_banner h1{font-size:clamp(42px,8.2vw,58px);max-width:570px;margin-bottom:20px}
.home .home_main_banner p{font-size:15px;max-width:560px;line-height:1.8}
.home .home_main_banner p:has(.button_style_01){gap:10px;margin:22px 0 2px}
.home .home_main_banner a.button_style_01{font-size:11px;padding:13px 16px;flex:1 1 150px}
.home .home_main_banner .home_main_banner_img_1{grid-column:1}
.home .home_main_banner .home_main_banner_img_2{grid-column:2;margin-top:36px}
.home .home_recent_case_studies{padding:48px 12px 56px}
.home .recent_case_studies_swiper{max-width:100%;width:100%}
.home .recent_case_study_images{max-width:500px;margin:0 auto}
.home .recent_case_study_txt{padding:0 10px;margin-bottom:22px!important}
.home .home_about_area{padding:42px 20px}
.home .home_about_area .vc_inner.vc_row-fluid{gap:24px}
.home .home_blue_row{padding:44px 24px}
body #main_content .jgp-service{padding:36px 24px 54px}
body #main_content .jgp-service>header{display:flex;flex-direction:column;padding-bottom:20px}
body #main_content .jgp-service>header h1{font-size:40px;order:0}
body #main_content .jgp-service>header figure{margin:0 0 26px!important;order:1;width:100%}
body #main_content .jgp-service>header p{order:2}
body #main_content .jgp-service>section{padding:30px 0}
body #main_content .jgp-service .cta{padding:32px 22px}
body .contact_content{padding:25px;margin:30px 16px;width:calc(100% - 32px)}
body .contact_content h1{font-size:46px}
}
@media(prefers-reduced-motion:reduce){
.home .home_main_banner h1,.home .home_main_banner p,.home .recent_case_studies_swiper,.contact_content{opacity:1!important;transform:none!important}
a,button,#header_main{transition:none!important}
}


body #main_content .jgp2026-pricing a:not(.jgp2026-link){color:var(--jgp-ink)}
body #main_content .jgp-editorial-index{padding-top:42px}
body #main_content .jgp-editorial-index h1{font-size:clamp(40px,4.5vw,60px);line-height:1.1;margin-top:0}
body #main_content .jgp-editorial-index .wp-block-post-title a{font-family:var(--jgp-display);font-size:30px;font-weight:500;line-height:1.15}
body #main_content .jgp-editorial-index .wp-block-post{border-radius:0;box-shadow:none}

/* Keep the provider's draft notice usable on phones; this element never appears live. */
@media(max-width:600px){
body #wpvibe-preview-banner{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:10px 14px!important;align-items:center!important}
body #wpvibe-preview-banner .wpvibe-info{display:none!important}
body #wpvibe-preview-banner .wpvibe-badge{font-size:10px!important;line-height:1.4!important;flex:1 1 100px!important}
body #wpvibe-preview-banner .wpvibe-btn{font-size:10px!important;line-height:1.4!important;padding:10px!important;min-height:36px;box-sizing:border-box}
}


