/* PressDesign.pro V8 – visual-system refinement across all pages.
   Scoped overrides only; forms, PHP and clean URL routing are unchanged. */
:root{--v8-ink:#121a32;--v8-muted:#677991;--v8-line:#e2eaf2;--v8-cyan:#12bbcc;--v8-pink:#ed3a87;--v8-shadow:0 20px 52px rgba(24,41,72,.09);}
/* Refined universal spacing, typography, image ratios and interactions. */
main .section,main .section-sm{scroll-margin-top:110px;}
main .pd-surface{padding-block:clamp(72px,7.6vw,118px)!important;}
main .pd-surface.section-sm{padding-block:clamp(63px,6vw,95px)!important;}
main .pd-surface > .container{position:relative;}
main .pd-surface .section-head{margin-bottom:clamp(32px,4vw,54px);}
main .pd-surface .section-head h2,main .pd-surface h2{letter-spacing:-.046em;line-height:1.16;}
main .pd-surface p.leadtext,main .pd-surface .section-head p{color:#61718a;line-height:1.84;}
main .pd-surface .eyebrow{display:inline-flex;align-items:center;gap:10px;letter-spacing:.11em;color:#058eab;font-weight:850;line-height:1.6;}
main .pd-surface .eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;flex:none;background:#13bed1;box-shadow:0 0 0 5px rgba(20,193,210,.11);}
main .pd-section-tinted .eyebrow:before{background:#e63d91;box-shadow:0 0 0 5px rgba(230,61,145,.1);}
main .pd-section-base{background-image:linear-gradient(180deg,#fff 0%,#fff 100%)!important;}
/* Deliberately quieter outlines and shapes; no detached overlapping badges. */
main .feature-card,main .mission-card,main .list-card,main .info-panel,main .step,main .input-card,main .industry,main .service-card{
  border-radius:22px!important;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
main .feature-card,main .list-card,main .info-panel,main .step,main .input-card,main .industry{
  border:1px solid #e2e9f1!important;background-color:#fff;
  box-shadow:0 10px 28px rgba(29,54,92,.045);
}
main .feature-card:hover,main .list-card:hover,main .info-panel:hover,main .step:hover,
main .industry:hover,main .service-card:hover{transform:translateY(-4px);box-shadow:0 24px 52px rgba(20,46,80,.1);border-color:#c2e6eb!important;}
main .feature-card .mini-icon,main .mission-card .icon-circle{border-radius:19px!important;}
main .feature-card h3,main .service-card h3,main .list-card h3{color:#17233b;font-weight:850;letter-spacing:-.02em;}
main .mission-card h3{color:#fff;}
main .service-card{border:1px solid #e5edf4!important;box-shadow:0 12px 34px rgba(25,41,71,.065);}
main .service-card .service-media img{transition:transform .6s cubic-bezier(.2,.7,.2,1);}
main .service-card:hover .service-media img{transform:scale(1.045);}
main .photo-frame{overflow:hidden;border-radius:26px!important;box-shadow:0 24px 55px rgba(20,36,65,.12);}
main .photo-frame img{transition:transform .75s ease;}
main .photo-frame:hover img{transform:scale(1.035);}
main .photo-equal-row{align-items:center!important;}
main .btn,main .btn-brand,main .btn-ghost{border-radius:12px;}
/* Homepage image caption: anchored INSIDE the photograph. No white floating blocks. */
.hero .hero-img-wrap{position:relative;isolation:isolate;}
.hero .hero-photo{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 28px 62px rgba(0,5,22,.29);border-radius:36px 36px 76px 36px!important;}
.hero .hero-photo:after{content:"";position:absolute;inset:35% 0 0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(4,13,35,.87),rgba(4,13,35,.32) 43%,transparent 100%);}
.hero .hero-photo > img{display:block;width:100%;height:100%;object-fit:cover;}
.hero .hero-ring{opacity:.48;z-index:0;}
.hero .hero-float,.hero .hero-float-two{display:none!important;}
.pd-photo-meta{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:26px 25px 25px;display:flex;align-items:center;gap:13px;color:#fff;max-width:100%;}
.pd-photo-meta-flag{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border:1px solid rgba(121,242,235,.5);border-radius:13px;color:#83f0ee;background:rgba(12,171,189,.24);backdrop-filter:blur(8px);}
.pd-photo-meta-copy{flex:1;min-width:0;display:grid;gap:5px;}
.pd-photo-meta strong{font-size:.94rem;line-height:1.25;font-weight:850;color:white;letter-spacing:-.02em;}
.pd-photo-meta small{font-size:.72rem;line-height:1.35;color:#cbdced;letter-spacing:.01em;}
.pd-photo-meta-tag{flex:none;font-size:.58rem;font-weight:800;letter-spacing:.12em;color:#a5e6ea;border-left:1px solid rgba(207,233,245,.4);padding-left:12px;}
/* Page titles: remove stacked duplicate strips, detached badges and oversized cards. */
.page-hero.pd-pagehero-v3{background:radial-gradient(ellipse at 80% 20%,rgba(27,87,126,.28),transparent 56%),linear-gradient(119deg,#11172d,#182742 74%,#202442)!important;}
.pd-pagehero-v3 .page-hero-inner{padding-block:clamp(58px,6.3vw,92px)!important;}
.pd-pagehero-v3 .bread{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(204,223,239,.18);border-radius:99px;padding:10px 17px;background:rgba(255,255,255,.055);box-shadow:0 8px 24px rgba(4,12,31,.08);color:#d0dcef;font-size:.72rem!important;font-weight:720;letter-spacing:.055em;margin:0 0 26px!important;max-width:100%;flex-wrap:wrap;line-height:1.5;}
.pd-pagehero-v3 .bread .mx-2{color:#7ee2ec;margin:0!important;}
.pd-pagehero-v3 .bread a{color:#fff!important;text-decoration:none;transition:color .2s;}
.pd-pagehero-v3 .bread a:hover{color:#83eaf0!important;}
.pd-pagehero-v3 .pd-title-rule,.pd-pagehero-v3 .pd-title-corner{display:none!important;}
.pd-pagehero-v3 .eyebrow{display:inline-flex;align-items:center;gap:10px;color:#85e6ef;letter-spacing:.12em;font-size:.71rem!important;margin:0 0 17px!important;}
.pd-pagehero-v3 .eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:#18d0dc;box-shadow:0 0 0 5px rgba(24,208,220,.13);flex:none;}
.pd-pagehero-v3 h1{font-size:clamp(2.6rem,4.05vw,4.45rem);line-height:1.12;letter-spacing:-.055em;text-wrap:balance;}
.pd-pagehero-v3 p{color:#c9d7e8;font-size:1.04rem;line-height:1.77;}
.pd-pagehero-v3 .hero-chip{background:rgba(255,255,255,.07)!important;border:1px solid rgba(178,207,230,.22)!important;border-radius:10px!important;color:#eaf3fd;padding:9px 13px!important;}
.pd-pagehero-v3 .pd-pagehero-media{padding:0!important;align-self:center;}
.pd-pagehero-v3 .pd-title-image-v4{height:clamp(290px,29vw,385px);border-radius:26px!important;border:1px solid rgba(218,235,250,.21);box-shadow:0 26px 64px rgba(1,8,24,.3);overflow:hidden;}
.pd-pagehero-v3 .pd-title-image-v4:before{inset:11px;border-radius:18px;border-color:rgba(255,255,255,.16);}
.pd-pagehero-v3 .pd-title-image-v4:after{background:linear-gradient(180deg,transparent 52%,rgba(7,17,35,.78) 100%);}
.pd-pagehero-v3 .pd-title-photo-caption{background:rgba(12,27,44,.6);backdrop-filter:blur(7px);border:1px solid rgba(227,238,248,.15);border-radius:10px;padding:10px 12px;left:22px;right:auto;bottom:21px;max-width:calc(100% - 42px);letter-spacing:.07em;font-size:.59rem;line-height:1.5;}
.pd-pagehero-v3 .pd-title-caption-dot{width:7px;height:7px;box-shadow:0 0 0 4px rgba(21,200,215,.13);}
/* FAQ: elevated row layout, visible index, integrated animated chevron. */
.pd-faq-v8{display:grid;gap:13px;}
.pd-faq-v8 .accordion-item{margin:0!important;border:1px solid #e0e8f0!important;border-radius:18px!important;overflow:hidden;box-shadow:0 10px 28px rgba(26,53,83,.045);background:#fff;transition:border-color .24s,box-shadow .24s,transform .24s;}
.pd-faq-v8 .accordion-item:has(.accordion-button:not(.collapsed)){border-color:#bce8ec!important;box-shadow:0 18px 34px rgba(17,87,121,.075);}
.pd-faq-v8 .accordion-item:hover{border-color:#b8dfe9!important;transform:translateY(-1px);}
.pd-faq-v8 .accordion-button{display:flex;align-items:center;gap:15px;padding:19px 21px;min-height:78px;background:#fff!important;color:#1a2640!important;font-size:1rem;font-weight:800;line-height:1.55;letter-spacing:-.017em;box-shadow:none!important;text-align:left;transition:background .25s,color .25s;}
.pd-faq-v8 .accordion-button:after{display:none!important;}
.pd-faq-v8 .accordion-button:not(.collapsed){background:linear-gradient(109deg,#f1fcfd 0%,#fff 79%)!important;color:#112d48!important;}
.pd-faq-v8 .pd-faq-index{width:43px;height:43px;flex:0 0 43px;border-radius:12px;display:grid;place-items:center;background:#f1f6fa;color:#6a8199;font-size:.74rem;font-weight:900;letter-spacing:.05em;border:1px solid #e2edf2;}
.pd-faq-v8 .accordion-button:not(.collapsed) .pd-faq-index{background:#dcf7f8;border-color:#bdecef;color:#087d97;}
.pd-faq-v8 .pd-faq-question{flex:1;min-width:0;}
.pd-faq-v8 .pd-faq-control{width:37px;height:37px;flex:0 0 37px;border:1px solid #e4eaf1;border-radius:11px;display:grid;place-items:center;color:#53647d;background:#f9fbfd;transition:transform .25s,background .25s,color .25s,border-color .25s;}
.pd-faq-v8 .pd-faq-control svg{transition:transform .25s;}
.pd-faq-v8 .accordion-button:not(.collapsed) .pd-faq-control{background:#e0f9fa;color:#078fa3;border-color:#b7e8eb;}
.pd-faq-v8 .accordion-button:not(.collapsed) .pd-faq-control svg{transform:rotate(180deg);}
.pd-faq-v8 .accordion-body{padding:2px 72px 25px 79px;color:#62728b;font-size:.94rem;line-height:1.87;background:linear-gradient(110deg,#f8fcfd,#fff 78%);}
.pd-faq-v8 .accordion-button:focus-visible{outline:3px solid #27bccb;outline-offset:-3px;}
/* Deliberate photo-led call to action with quiet continuous frame and no loose decorative blocks. */
.pd-cta-panel.pd-cta-panel-v4{box-shadow:0 24px 65px rgba(10,28,60,.16);border-radius:28px;}
.pd-cta-panel-v4:before{height:3px;opacity:.88;}
.pd-cta-panel-v4 .pd-cta-content h2{letter-spacing:-.05em;}
.pd-cta-panel-v4 .pd-cta-photo-caption{border-left:3px solid #18c8d5;padding-left:16px;}
/* Intact form submission workflow; only polish the form's visible controls. */
main .form-control,main .form-select{border:1px solid #dbe5ef!important;background:#fbfdff;border-radius:12px!important;min-height:52px;padding:13px 16px;box-shadow:none;transition:border-color .2s,box-shadow .2s,background .2s;}
main textarea.form-control{min-height:124px;}
main .form-control:focus,main .form-select:focus{border-color:#33b9c9!important;background:#fff;box-shadow:0 0 0 4px rgba(20,185,201,.12)!important;}
main .form-label{font-weight:770;color:#22314a;margin-bottom:9px;}
/* Responsive safeguards. */
@media(max-width:991px){
 .pd-pagehero-v3 .page-hero-inner{padding-block:62px!important;}
 .pd-pagehero-v3 .pd-pagehero-media{margin-top:8px!important;}
 .pd-pagehero-v3 .pd-title-image-v4{height:335px;}
}
@media(max-width:767px){
 main .pd-surface{padding-block:70px!important;}
 main .pd-surface.section-sm{padding-block:56px!important;}
 .pd-pagehero-v3 .page-hero-inner{padding-block:48px 55px!important;}
 .pd-pagehero-v3 h1{font-size:clamp(2.25rem,8vw,3.2rem);}
 .pd-pagehero-v3 .pd-title-image-v4{height:265px;border-radius:20px!important;}
 .pd-pagehero-v3 .bread{gap:8px;font-size:.65rem!important;margin-bottom:23px!important;padding:8px 12px;}
 .pd-pagehero-v3 .pd-title-photo-caption{left:14px;bottom:14px;right:14px;max-width:calc(100% - 28px);font-size:.54rem;}
 .hero .hero-photo{border-radius:30px 30px 58px 30px!important;}
 .pd-photo-meta{padding:20px 20px 19px;gap:10px;}
 .pd-photo-meta-flag{width:38px;height:38px;flex-basis:38px;border-radius:10px;}
 .pd-photo-meta strong{font-size:.82rem;}
 .pd-photo-meta small{font-size:.66rem;}
 .pd-photo-meta-tag{display:none;}
 .pd-faq-v8{gap:11px;}
 .pd-faq-v8 .accordion-button{min-height:70px;padding:14px;gap:11px;font-size:.9rem;}
 .pd-faq-v8 .pd-faq-index{width:34px;height:34px;flex-basis:34px;font-size:.68rem;border-radius:9px;}
 .pd-faq-v8 .pd-faq-control{width:32px;height:32px;flex-basis:32px;border-radius:9px;}
 .pd-faq-v8 .accordion-body{padding:0 18px 22px 59px;font-size:.86rem;}
}
@media(max-width:390px){.pd-faq-v8 .accordion-body{padding-left:17px}.pd-faq-v8 .accordion-button{font-size:.86rem}.pd-photo-meta{padding:14px 16px 14px;}}
@media(prefers-reduced-motion:reduce){.pd-faq-v8 .accordion-item,.pd-faq-v8 .pd-faq-control svg,main .service-card,main .photo-frame img{transition:none!important}.pd-faq-v8 .accordion-item:hover{transform:none!important}}
/* Keep typography stable even when the optional Google Fonts CDN is unavailable. */
.site-nav .desktop-nav a,.topline,.trustbar,.trustbar *,
.pd-faq-v8 .accordion-button,.pd-faq-v8 .pd-faq-question{
  font-family:'Manrope',Arial,Helvetica,sans-serif!important;
}
/* Breadcrumb and kicker form separate, deliberate rows rather than touching inline. */
.pd-pagehero-v3 .bread{display:flex;width:max-content;}
.pd-pagehero-v3 .eyebrow{display:flex;width:max-content;max-width:100%;}
