/*
Theme Name: PNA Agrosolutions
Theme URI: https://pn-agro.com
Author: PN Agrosolutions
Description: Custom theme for PN AGROSOLUTIONS (PNA), a joint venture between Phoenix Biosolutions and Necton Group. Premium, minimalist, monochrome identity, single typeface (Geist). Content is edited from Appearance > Customize.
Version: 2.1.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pna-theme
*/

/* =========================================================
   1. FONT - one family for everything (self-hosted, GDPR friendly)
   Only two weights are loaded: 400 (regular) and 500 (medium).
   ========================================================= */
@font-face{font-family:'Geist';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/geist-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Geist';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/geist-sans-latin-500-normal.woff2') format('woff2');}

/* =========================================================
   2. DESIGN TOKENS
   The five brand colours are overridden at runtime by
   Appearance > Customize > PNA - Global Colors.
   ========================================================= */
:root{
	--pna-primary:#1E1E1E;     /* Charcoal Black */
	--pna-secondary:#555555;   /* Graphite Grey  */
	--pna-white:#FFFFFF;
	--pna-light:#F5F5F5;       /* Light Grey     */
	--pna-accent:#B8B8B8;      /* Silver Grey    */

	--pna-border:#E4E4E4;
	--pna-overlay-strong:rgba(30,30,30,.88);
	--pna-overlay-mid:rgba(30,30,30,.62);
	--pna-overlay-soft:rgba(30,30,30,.25);
	--pna-hero-1:rgba(30,30,30,.78);
	--pna-hero-2:rgba(30,30,30,.48);
	--pna-hero-3:rgba(30,30,30,.12);

	--pna-font:'Geist','Helvetica Neue',Arial,sans-serif;

	/* Type scale - six sizes only (desktop 60 / 38 / 22 / 17 / 14 / 12) */
	--fs-h1:60px;
	--fs-h2:38px;
	--fs-h3:22px;
	--fs-body:17px;
	--fs-small:14px;
	--fs-xs:12px;
	--fw-regular:400;
	--fw-medium:500;

	--pna-radius:4px;
	--pna-container:1200px;
	--pna-space:136px;         /* vertical rhythm between sections */
}
@supports (color:color-mix(in srgb,red,blue)){
	:root{
		--pna-border:color-mix(in srgb,var(--pna-accent) 40%,var(--pna-white));
		--pna-overlay-strong:color-mix(in srgb,var(--pna-primary) 88%,transparent);
		--pna-overlay-mid:color-mix(in srgb,var(--pna-primary) 62%,transparent);
		--pna-overlay-soft:color-mix(in srgb,var(--pna-primary) 25%,transparent);
		--pna-hero-1:color-mix(in srgb,var(--pna-primary) 78%,transparent);
		--pna-hero-2:color-mix(in srgb,var(--pna-primary) 48%,transparent);
		--pna-hero-3:color-mix(in srgb,var(--pna-primary) 12%,transparent);
	}
}
@media (max-width:1100px){ :root{ --pna-space:104px; --fs-h1:48px; --fs-h2:32px; } }
@media (max-width:700px){ :root{ --pna-space:76px; --fs-h1:38px; --fs-h2:28px; --fs-h3:20px; --fs-body:16px; } }

/* =========================================================
   3. BASE
   ========================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
	margin:0;
	font-family:var(--pna-font);
	font-size:var(--fs-body);
	font-weight:var(--fw-regular);
	line-height:1.65;
	color:var(--pna-secondary);
	background:var(--pna-white);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	overflow-x:hidden;
}
button,input,select,textarea{ font:inherit; color:inherit; }
img{ max-width:100%; height:auto; display:block; }
figure{ margin:0; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
b,strong{ font-weight:var(--fw-medium); }
:focus-visible{ outline:2px solid var(--pna-primary); outline-offset:3px; }

h1,h2,h3,h4{
	font-family:var(--pna-font);
	font-weight:var(--fw-regular);
	color:var(--pna-primary);
	margin:0 0 .6em;
}
h1{ font-size:var(--fs-h1); line-height:1.08; letter-spacing:-.025em; text-wrap:balance; }
h2{ font-size:var(--fs-h2); line-height:1.15; letter-spacing:-.02em; margin-bottom:24px; text-wrap:balance; }
h3{ font-size:var(--fs-h3); line-height:1.3; letter-spacing:-.01em; text-wrap:balance; }
h4{ font-size:var(--fs-body); line-height:1.4; font-weight:var(--fw-medium); }
p{ margin:0 0 1.25em; }
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

.pna-container{ width:100%; max-width:calc(var(--pna-container) + 64px); margin:0 auto; padding:0 32px; }
@media (max-width:600px){ .pna-container{ padding:0 22px; } }

/* =========================================================
   4. SECTIONS & TEXT BLOCKS
   ========================================================= */
.pna-section{ padding:var(--pna-space) 0; }
.pna-section--light{ background:var(--pna-light); }
.pna-section--dark{ background:var(--pna-primary); color:var(--pna-accent); }
.pna-section--dark h1,.pna-section--dark h2,.pna-section--dark h3,.pna-section--dark h4{ color:var(--pna-white); }
.pna-section--dark .pna-lead,.pna-section--dark p{ color:var(--pna-accent); }
.pna-section--tight{ padding:calc(var(--pna-space) * .7) 0; }
.pna-section--line{ border-bottom:1px solid var(--pna-border); }

.pna-lead{ font-size:var(--fs-body); line-height:1.7; color:var(--pna-secondary); max-width:56ch; }
.pna-meta{ margin:0 0 32px; font-size:var(--fs-small); color:var(--pna-secondary); }

.pna-head-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap; margin-bottom:72px; }
.pna-head-row > div:first-child{ max-width:640px; }
.pna-head-row h2{ margin-bottom:0; }
.pna-head-row .pna-lead{ margin:20px 0 0; }

/* Two-column layout used by every text + image section */
.pna-split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:104px; align-items:center; }
.pna-split--reverse .pna-split__text{ order:2; }
.pna-split--faq{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:start; }
.pna-split--carousel{ grid-template-columns:minmax(0,4fr) minmax(0,7fr); }
.pna-split__text .pna-actions{ margin-top:40px; }
.pna-split__text h2:last-child{ margin-bottom:0; }
@media (max-width:1100px){ .pna-split{ gap:64px; } }
@media (max-width:900px){
	.pna-split,.pna-split--faq,.pna-split--carousel{ grid-template-columns:minmax(0,1fr); gap:48px; }
	.pna-split--reverse .pna-split__text{ order:0; }
}

/* =========================================================
   5. BUTTONS - one system, four styles, sentence case
   ========================================================= */
.pna-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:12px;
	min-height:50px; padding:0 28px;
	border:1px solid transparent; border-radius:var(--pna-radius);
	font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:1.2;
	white-space:nowrap; cursor:pointer;
	transition:background-color .25s ease,color .25s ease,border-color .25s ease;
}
.pna-btn svg{ flex-shrink:0; transition:transform .25s ease; }
.pna-btn:hover svg{ transform:translateX(4px); }
.pna-btn--dark{ background:var(--pna-primary); color:var(--pna-white); border-color:var(--pna-primary); }
.pna-btn--dark:hover{ background:var(--pna-secondary); border-color:var(--pna-secondary); }
.pna-btn--light{ background:var(--pna-white); color:var(--pna-primary); border-color:var(--pna-white); }
.pna-btn--light:hover{ background:var(--pna-light); border-color:var(--pna-light); }
.pna-btn--outline{ background:transparent; color:var(--pna-primary); border-color:var(--pna-primary); }
.pna-btn--outline:hover{ background:var(--pna-primary); color:var(--pna-white); }
.pna-btn--outline-light{ background:transparent; color:var(--pna-white); border-color:rgba(255,255,255,.65); }
.pna-btn--outline-light:hover{ background:var(--pna-white); color:var(--pna-primary); border-color:var(--pna-white); }
.pna-actions{ display:flex; flex-wrap:wrap; gap:16px; margin-top:40px; }
.pna-actions--spaced{ margin-top:72px; }
@media (max-width:600px){ .pna-actions .pna-btn{ flex:1 1 100%; white-space:normal; text-align:center; padding:14px 22px; } }

.pna-link{
	display:inline-flex; align-items:center; gap:10px;
	font-size:var(--fs-small); font-weight:var(--fw-medium);
	color:var(--pna-primary); padding-bottom:5px; border-bottom:1px solid currentColor;
	transition:gap .25s ease;
}
.pna-link:hover{ gap:16px; }

/* =========================================================
   6. ICONS - one style: thin outline in a hairline circle
   ========================================================= */
.pna-icon-circle{
	display:inline-flex; align-items:center; justify-content:center;
	width:56px; height:56px; flex-shrink:0;
	border:1px solid var(--pna-border); border-radius:50%;
	color:var(--pna-primary);
}
.pna-icon-circle--sm{ width:40px; height:40px; }
.pna-section--dark .pna-icon-circle{ border-color:rgba(255,255,255,.25); color:var(--pna-white); }

/* =========================================================
   7. HEADER
   ========================================================= */
.pna-header{ position:sticky; top:0; z-index:500; background:var(--pna-white); border-bottom:1px solid var(--pna-border); }
.admin-bar .pna-header{ top:32px; }
@media (max-width:782px){ .admin-bar .pna-header{ top:46px; } }
.pna-header__inner{
	max-width:calc(var(--pna-container) + 64px); margin:0 auto; padding:14px 32px;
	display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.pna-logo{ display:flex; align-items:center; font-size:var(--fs-body); font-weight:var(--fw-medium); color:var(--pna-primary); }
.pna-logo img,.pna-logo .custom-logo{ height:58px; width:auto; }
.pna-nav-wrap{ margin-left:auto; }
.pna-nav-menu{ display:flex; align-items:center; gap:34px; }
.pna-nav-menu a{
	position:relative; display:block; padding:8px 0;
	font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:1;
	color:var(--pna-primary);
}
.pna-nav-menu a::after{ content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--pna-primary); transition:right .3s ease; }
.pna-nav-menu a:hover::after,
.pna-nav-menu .current-menu-item > a::after,
.pna-nav-menu .current_page_item > a::after{ right:0; }
.pna-header__cta .pna-btn{ min-height:46px; padding:0 24px; }
.pna-menu-toggle{ display:none; }

@media (max-width:1100px){
	.pna-header__cta{ display:none; }
	.pna-nav-wrap{ margin-left:0; }
	.pna-nav-menu{
		position:fixed; inset:0; height:100vh; z-index:650;
		flex-direction:column; align-items:flex-start; justify-content:center; gap:8px;
		padding:100px 32px 48px; background:var(--pna-white); overflow-y:auto;
		transform:translateX(-100%); transition:transform .35s ease;
	}
	.pna-nav-menu.is-open{ transform:translateX(0); }
	.pna-nav-menu a{ font-size:var(--fs-h2); padding:12px 0; }
	.pna-nav-menu a::after{ display:none; }
	.pna-menu-toggle{
		display:flex; align-items:center; justify-content:center;
		position:fixed; top:12px; right:16px; z-index:700; width:46px; height:46px;
		background:var(--pna-white); color:var(--pna-primary);
		border:1px solid var(--pna-border); border-radius:var(--pna-radius);
		font-size:var(--fs-h3); line-height:1; cursor:pointer;
	}
	.admin-bar .pna-menu-toggle{ top:44px; }
}
@media (max-width:600px){
	.pna-header__inner{ padding:10px 22px; }
	.pna-logo img,.pna-logo .custom-logo{ height:48px; }
}

/* =========================================================
   8. HERO (full-bleed photo, left-aligned copy, single colour H1)
   ========================================================= */
.pna-hero{ position:relative; display:flex; align-items:center; min-height:min(88vh,840px); color:var(--pna-white); background:var(--pna-primary); overflow:hidden; }
.pna-hero--inner{ min-height:min(66vh,620px); }
.pna-hero--short{ min-height:min(46vh,430px); }
.pna-hero__bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.pna-hero__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--pna-hero-1) 0%,var(--pna-hero-2) 52%,var(--pna-hero-3) 100%); }
.pna-hero__inner{ position:relative; z-index:2; }
.pna-hero__content{ max-width:700px; padding:120px 0; }
.pna-hero--short .pna-hero__content{ padding:84px 0; }
.pna-hero h1{ color:var(--pna-white); margin-bottom:28px; }
.pna-hero .pna-lead{ color:rgba(255,255,255,.88); max-width:50ch; }
.pna-hero .pna-actions{ margin-top:44px; }
.pna-hero__sub{ margin:-8px 0 22px; max-width:34ch; font-size:var(--fs-body); font-weight:var(--fw-medium); line-height:1.5; color:var(--pna-white); }
.pna-breadcrumb{ display:flex; align-items:center; gap:12px; margin-bottom:32px; font-size:var(--fs-small); color:var(--pna-accent); }
.pna-breadcrumb a:hover{ color:var(--pna-white); }
@media (max-width:700px){
	.pna-hero__content{ padding:72px 0; }
	.pna-hero__bg::after{ background:linear-gradient(180deg,var(--pna-overlay-mid) 0%,var(--pna-overlay-strong) 100%); }
}

/* =========================================================
   9. MEDIA (image with optional caption / video opener)
   ========================================================= */
.pna-media{ position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--pna-light); border-radius:var(--pna-radius); }
.pna-media > img{ width:100%; height:100%; object-fit:cover; }
.pna-media--wide{ aspect-ratio:3/2; margin-bottom:56px; }
.pna-media__overlay{
	position:absolute; left:0; right:0; bottom:0; padding:80px 32px 32px; color:var(--pna-white);
	background:linear-gradient(0deg,var(--pna-overlay-strong) 0%,transparent 100%);
}
.pna-media__title{ margin:0; font-size:var(--fs-body); font-weight:var(--fw-medium); line-height:1.4; color:var(--pna-white); max-width:28ch; }
.pna-play{ display:inline-flex; align-items:center; gap:16px; margin-top:20px; font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:1.3; color:var(--pna-white); }
.pna-media__title + .pna-play{ margin-top:18px; }
.pna-play__icon{
	display:inline-flex; align-items:center; justify-content:center; width:58px; height:58px; flex-shrink:0;
	border-radius:50%; background:var(--pna-white); color:var(--pna-primary); padding-left:3px;
	transition:transform .3s ease;
}
.pna-play:hover .pna-play__icon{ transform:scale(1.08); }

/* Picture carousel (technology section) - swipe, arrows or arrow keys */
.pna-carousel{ position:relative; overflow:hidden; border-radius:var(--pna-radius); background:var(--pna-white); }
.pna-carousel__track{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.pna-carousel__track::-webkit-scrollbar{ display:none; }
.pna-carousel__slide{ flex:0 0 100%; scroll-snap-align:start; aspect-ratio:3/2; background:var(--pna-light); }
.pna-carousel__slide img{ width:100%; height:100%; object-fit:cover; }
.pna-carousel__controls{ position:absolute; right:20px; bottom:20px; display:flex; align-items:center; gap:4px; padding:6px; background:var(--pna-white); border-radius:var(--pna-radius); }
.pna-carousel__btn{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:0; border-radius:var(--pna-radius); background:transparent; color:var(--pna-primary); cursor:pointer; transition:background-color .2s ease,color .2s ease; }
.pna-carousel__btn[data-dir="-1"] svg{ transform:rotate(180deg); }
.pna-carousel__btn:hover{ background:var(--pna-primary); color:var(--pna-white); }
.pna-carousel__count{ min-width:58px; text-align:center; font-size:var(--fs-small); font-weight:var(--fw-medium); color:var(--pna-primary); }
@media (prefers-reduced-motion:reduce){ .pna-carousel__track{ scroll-behavior:auto; } }

/* =========================================================
   10. FEATURE STRIP
   ========================================================= */
.pna-strip{ border-bottom:1px solid var(--pna-border); }
.pna-strip__grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.pna-strip__item{ display:flex; flex-direction:column; align-items:flex-start; gap:22px; padding:48px 32px; border-right:1px solid var(--pna-border); font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:1.5; color:var(--pna-primary); }
.pna-strip__item:first-child{ padding-left:0; }
.pna-strip__item:last-child{ border-right:0; }
@media (max-width:900px){
	.pna-strip__grid{ grid-template-columns:repeat(2,1fr); }
	.pna-strip__item{ padding:32px 20px; border-bottom:1px solid var(--pna-border); }
	.pna-strip__item:nth-child(odd){ padding-left:0; }
	.pna-strip__item:nth-child(even){ border-right:0; }
	.pna-strip__item:nth-last-child(-n+2){ border-bottom:0; }
}

/* =========================================================
   11. PRODUCTS
   ========================================================= */
.pna-products{ display:grid; grid-template-columns:repeat(4,1fr); gap:64px 28px; }
.pna-products--3{ grid-template-columns:repeat(3,1fr); gap:40px; }
.pna-product{ display:block; }
.pna-product__media{ display:block; aspect-ratio:4/5; overflow:hidden; background:var(--pna-light); border-radius:var(--pna-radius); }
.pna-product__media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.pna-product:hover .pna-product__media img{ transform:scale(1.04); }
.pna-product__body{ display:block; padding-top:26px; }
.pna-product__tag{ display:block; margin-bottom:10px; font-size:var(--fs-xs); line-height:1.3; color:var(--pna-secondary); }
.pna-product h3{ margin-bottom:10px; }
.pna-product p{ font-size:var(--fs-small); line-height:1.65; margin-bottom:18px; }
.pna-product__body > p:last-child{ margin-bottom:0; }
@media (max-width:1100px){ .pna-products{ grid-template-columns:repeat(2,1fr); gap:48px 28px; } .pna-products--3{ grid-template-columns:repeat(3,1fr); gap:28px; } }
@media (max-width:760px){ .pna-products--3{ grid-template-columns:1fr; max-width:420px; } }
@media (max-width:420px){ .pna-products{ grid-template-columns:1fr; } }

/* Check lists */
.pna-checklist{ display:grid; gap:20px; margin:36px 0 0; }
.pna-checklist li{ display:flex; align-items:center; gap:18px; font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:1.5; color:var(--pna-primary); }
.pna-section--dark .pna-checklist li{ color:var(--pna-white); }
.pna-keylist{ margin:0; gap:0; }
.pna-keylist li{ padding:28px 0; border-bottom:1px solid var(--pna-border); font-size:var(--fs-body); }
.pna-keylist li:first-child{ border-top:1px solid var(--pna-border); }

/* =========================================================
   12. NUMBERED COLUMNS (process steps, focus areas, research areas)
   ========================================================= */
.pna-numbered{ display:grid; grid-template-columns:repeat(var(--cols,3),1fr); border-top:1px solid var(--pna-border); }
.pna-numbered__item{ padding:44px 36px 0 0; }
.pna-numbered__item + .pna-numbered__item{ padding-left:36px; border-left:1px solid var(--pna-border); }
.pna-numbered__num{ display:block; margin-bottom:28px; font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:1; color:var(--pna-secondary); }
.pna-numbered h3{ margin-bottom:14px; }
.pna-numbered p{ font-size:var(--fs-body); line-height:1.65; margin:0; }
.pna-numbered--5 .pna-numbered__item{ padding-right:24px; }
.pna-numbered--5 .pna-numbered__item + .pna-numbered__item{ padding-left:24px; }
.pna-numbered--5 p{ font-size:var(--fs-small); }
@media (max-width:1100px){
	.pna-numbered--5{ grid-template-columns:repeat(2,1fr); }
	.pna-numbered--5 .pna-numbered__item{ padding:36px 24px 0 0; border-left:0 !important; }
}
@media (max-width:900px){
	.pna-numbered,.pna-numbered--5{ grid-template-columns:1fr; }
	.pna-numbered__item,.pna-numbered--5 .pna-numbered__item{ padding:32px 0 8px !important; border-left:0 !important; border-bottom:1px solid var(--pna-border); }
}

/* =========================================================
   13. KEY FIGURES + SDG
   ========================================================= */
.pna-stats{ display:grid; grid-template-columns:repeat(4,1fr); }
.pna-stat{ padding:8px 32px; border-left:1px solid rgba(255,255,255,.16); }
.pna-stat:first-child{ padding-left:0; border-left:0; }
.pna-stat__number{ display:block; margin-bottom:14px; font-size:var(--fs-h1); font-weight:var(--fw-regular); line-height:1.05; letter-spacing:-.025em; color:var(--pna-white); }
.pna-stat__label{ display:block; font-size:var(--fs-small); line-height:1.55; color:var(--pna-accent); max-width:22ch; }
@media (max-width:900px){
	.pna-stats{ grid-template-columns:repeat(2,1fr); gap:48px 0; }
	.pna-stat:nth-child(odd){ padding-left:0; border-left:0; }
}

.pna-sdg{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.pna-sdg__badge{ display:flex; flex-direction:column; justify-content:space-between; gap:48px; min-height:210px; padding:36px 32px; background:var(--pna-white); border:1px solid var(--pna-border); border-radius:var(--pna-radius); overflow:hidden; }
.pna-sdg__badge--image{ padding:0; border:0; min-height:0; }
.pna-sdg__badge img{ width:100%; height:100%; object-fit:cover; }
.pna-sdg__number{ font-size:var(--fs-h2); line-height:1; letter-spacing:-.02em; color:var(--pna-primary); }
.pna-sdg__label{ font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:1.45; color:var(--pna-primary); }
@media (max-width:760px){ .pna-sdg{ grid-template-columns:1fr; } .pna-sdg__badge{ min-height:0; gap:28px; } }

/* =========================================================
   14. PARTNERS
   ========================================================= */
.pna-partners{ display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
.pna-partner{ display:flex; flex-direction:column; padding:56px 48px; background:var(--pna-light); border-radius:var(--pna-radius); }
.pna-partner--white{ background:var(--pna-white); }
.pna-partner__logo{ display:flex; align-items:center; min-height:48px; margin-bottom:32px; }
.pna-partner__logo img{ max-height:48px; max-width:220px; width:auto; filter:grayscale(1); }
.pna-partner__name{ font-size:var(--fs-h3); font-weight:var(--fw-medium); line-height:1.2; color:var(--pna-primary); }
.pna-partner h3{ margin-bottom:12px; }
.pna-partner p{ font-size:var(--fs-small); line-height:1.65; margin-bottom:28px; }
.pna-partner p:last-child{ margin-bottom:0; }
.pna-partner .pna-link{ align-self:flex-start; margin-top:auto; }
@media (max-width:760px){ .pna-partners{ grid-template-columns:1fr; } .pna-partner{ padding:40px 28px; } }

/* =========================================================
   15. TEAM
   ========================================================= */
.pna-team{ display:grid; grid-template-columns:repeat(5,1fr); gap:48px 24px; }
.pna-member__photo{ display:block; aspect-ratio:1/1; margin-bottom:22px; overflow:hidden; background:var(--pna-light); border-radius:var(--pna-radius); }
.pna-member__photo img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1); transition:filter .5s ease,transform .7s ease; }
.pna-member:hover .pna-member__photo img{ filter:grayscale(0); transform:scale(1.03); }
.pna-member__initials{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; font-size:var(--fs-h2); line-height:1; color:var(--pna-accent); }
.pna-member h3{ margin:0 0 6px; font-size:var(--fs-body); font-weight:var(--fw-medium); letter-spacing:0; }
.pna-member__role{ display:block; font-size:var(--fs-small); line-height:1.55; color:var(--pna-secondary); }
.pna-member p{ margin:12px 0 0; font-size:var(--fs-small); line-height:1.65; }
.pna-member__linkedin{ display:inline-flex; margin-top:16px; color:var(--pna-primary); }
.pna-member__linkedin:hover{ color:var(--pna-secondary); }
@media (max-width:1100px){ .pna-team{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){ .pna-team{ grid-template-columns:repeat(2,1fr); gap:36px 18px; } }

/* =========================================================
   16. QUOTE
   ========================================================= */
.pna-quote blockquote{ margin:0; max-width:880px; font-size:var(--fs-h2); font-weight:var(--fw-regular); line-height:1.3; letter-spacing:-.02em; color:var(--pna-white); }
.pna-quote .pna-play{ margin-top:48px; }

/* =========================================================
   17. BLOG CARDS (Insights & news archive)
   ========================================================= */
.pna-news{ display:grid; grid-template-columns:repeat(3,1fr); gap:48px 40px; }
.pna-news-card{ display:block; }
.pna-news-card__media{ display:block; aspect-ratio:3/2; margin-bottom:26px; overflow:hidden; background:var(--pna-light); border-radius:var(--pna-radius); }
.pna-news-card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.pna-news-card:hover .pna-news-card__media img{ transform:scale(1.04); }
.pna-news-card__date{ display:block; margin-bottom:10px; font-size:var(--fs-small); color:var(--pna-secondary); }
.pna-news-card h3{ margin-bottom:12px; }
.pna-news-card p{ font-size:var(--fs-small); margin:0; }
@media (max-width:900px){ .pna-news{ grid-template-columns:1fr; max-width:520px; } }
.pna-news--archive{ max-width:none; }
@media (max-width:900px){ .pna-news--archive{ max-width:520px; } }

/* =========================================================
   18. CALL TO ACTION BAND
   ========================================================= */
.pna-cta{ background:var(--pna-primary); padding:calc(var(--pna-space) * .75) 0; }
.pna-cta__inner{ display:flex; align-items:center; justify-content:space-between; gap:48px; flex-wrap:wrap; }
.pna-cta h2{ max-width:680px; margin:0; color:var(--pna-white); }
.pna-cta p{ max-width:560px; margin:18px 0 0; color:var(--pna-accent); }
.pna-cta .pna-actions{ margin-top:0; }

/* =========================================================
   19. FAQ
   ========================================================= */
.pna-faq-item{ border-bottom:1px solid var(--pna-border); }
.pna-faq-item:first-child{ border-top:1px solid var(--pna-border); }
.pna-faq-question{
	display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%;
	padding:26px 0; background:none; border:0; text-align:left; cursor:pointer;
	font-size:var(--fs-body); font-weight:var(--fw-medium); line-height:1.4; color:var(--pna-primary);
}
.pna-faq-toggle{ position:relative; width:18px; height:18px; flex-shrink:0; }
.pna-faq-toggle::before,.pna-faq-toggle::after{ content:""; position:absolute; left:0; top:50%; width:100%; height:1.5px; background:var(--pna-primary); transition:transform .3s ease; }
.pna-faq-toggle::after{ transform:rotate(90deg); }
.pna-faq-item.is-open .pna-faq-toggle::after{ transform:rotate(0); }
.pna-faq-answer{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.pna-faq-answer p{ margin:0; padding:0 48px 28px 0; }
.pna-faq-item.is-open .pna-faq-answer{ max-height:520px; }

/* =========================================================
   20. CONTACT
   ========================================================= */
.pna-info{ display:grid; grid-template-columns:repeat(3,1fr); }
.pna-info__item{ display:flex; align-items:flex-start; gap:20px; padding:0 36px; border-left:1px solid var(--pna-border); }
.pna-info__item:first-child{ padding-left:0; border-left:0; }
.pna-info__item h4{ margin:0 0 4px; }
.pna-info__item p{ margin:0 0 4px; color:var(--pna-primary); font-weight:var(--fw-medium); }
.pna-info__item a:hover{ text-decoration:underline; text-underline-offset:3px; }
.pna-info__note{ display:block; font-size:var(--fs-small); line-height:1.55; color:var(--pna-secondary); }
@media (max-width:900px){
	.pna-info{ grid-template-columns:1fr; gap:36px; }
	.pna-info__item,.pna-info__item:first-child{ padding:0; border-left:0; }
}

.pna-contact{ display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:104px; align-items:start; }
.pna-bigmail{ margin:32px 0 0; font-size:var(--fs-h2); line-height:1.2; letter-spacing:-.02em; }
.pna-bigmail a{ color:var(--pna-primary); border-bottom:1px solid var(--pna-border); }
.pna-bigmail a:hover{ border-color:var(--pna-primary); }
.pna-form{ display:grid; gap:22px; margin-top:44px; }
.pna-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.pna-form label{ display:block; margin-bottom:10px; font-size:var(--fs-small); font-weight:var(--fw-medium); line-height:1.2; color:var(--pna-primary); }
.pna-form input[type="text"],.pna-form input[type="email"],.pna-form select,.pna-form textarea{
	width:100%; padding:16px 18px; border:1px solid var(--pna-border); border-radius:var(--pna-radius);
	background:var(--pna-white); font-size:var(--fs-body); line-height:1.5; color:var(--pna-primary);
	transition:border-color .2s ease;
}
.pna-form input:focus,.pna-form select:focus,.pna-form textarea:focus{ outline:0; border-color:var(--pna-primary); }
.pna-form textarea{ min-height:150px; resize:vertical; }
.pna-form__consent{ display:flex !important; align-items:flex-start; gap:12px; margin:0 !important; font-size:var(--fs-small) !important; font-weight:var(--fw-regular) !important; line-height:1.6 !important; color:var(--pna-secondary) !important; }
.pna-form__consent input{ margin-top:4px; accent-color:var(--pna-primary); }
.pna-form .pna-btn{ justify-self:start; margin-top:6px; }
.pna-form__hp{ display:none !important; }
.pna-notice{ margin-top:36px; padding:18px 22px; border-radius:var(--pna-radius); font-size:var(--fs-small); line-height:1.6; }
.pna-notice--success{ background:var(--pna-light); color:var(--pna-primary); border-left:3px solid var(--pna-primary); }
.pna-notice--error{ background:#FBEFEF; color:#8A2F2F; border-left:3px solid #8A2F2F; }

.pna-panel{ padding:64px 52px; background:var(--pna-light); border-radius:var(--pna-radius); }
.pna-panel h3{ margin-bottom:18px; }
.pna-panel p{ margin:0; }
@media (max-width:1100px){ .pna-contact{ gap:64px; } .pna-panel{ padding:48px 36px; } }
@media (max-width:900px){ .pna-contact{ grid-template-columns:minmax(0,1fr); gap:56px; } .pna-form__row{ grid-template-columns:1fr; } }

.pna-map{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:32px; margin-top:64px; align-items:stretch; }
.pna-map__embed{ min-height:380px; overflow:hidden; border-radius:var(--pna-radius); background:var(--pna-light); }
.pna-map__embed iframe{ display:block; width:100%; height:100%; min-height:380px; border:0; filter:grayscale(1) contrast(1.05); }
.pna-office{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:40px 36px; background:var(--pna-white); border:1px solid var(--pna-border); border-radius:var(--pna-radius); }
.pna-office h4{ margin:0; }
.pna-office p{ margin:0; }
@media (max-width:900px){ .pna-map{ grid-template-columns:minmax(0,1fr); } .pna-map__embed,.pna-map__embed iframe{ min-height:300px; } }

/* =========================================================
   21. FOOTER - compact: logo, four links, social, legal
   ========================================================= */
.pna-footer{ background:var(--pna-primary); color:var(--pna-accent); padding:72px 0 32px; border-top:1px solid rgba(255,255,255,.12); }
.pna-footer__top{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:56px; padding-bottom:48px; }
.pna-footer__logo img{ height:64px; width:auto; }
.pna-footer__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px 40px; }
.pna-footer a{ color:var(--pna-accent); transition:color .2s ease; }
.pna-footer a:hover{ color:var(--pna-white); }
.pna-footer__links a{ font-size:var(--fs-small); font-weight:var(--fw-medium); }
.pna-social{ display:flex; gap:12px; min-width:1px; }
.pna-social a{ display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:var(--pna-white); transition:background-color .25s ease,color .25s ease; }
.pna-social a:hover{ background:var(--pna-white); color:var(--pna-primary); }
.pna-footer__bottom{ display:flex; justify-content:space-between; align-items:center; gap:16px 28px; flex-wrap:wrap; padding-top:28px; border-top:1px solid rgba(255,255,255,.12); font-size:var(--fs-xs); line-height:1.5; }
.pna-footer__legal{ display:flex; gap:28px; flex-wrap:wrap; }
@media (max-width:760px){
	.pna-footer{ padding:56px 0 28px; }
	.pna-footer__top{ grid-template-columns:1fr; justify-items:start; gap:32px; padding-bottom:36px; }
	.pna-footer__links{ justify-content:flex-start; gap:12px 28px; }
}

/* =========================================================
   22. GENERIC PAGES & BLOG
   ========================================================= */
.pna-container--narrow{ max-width:924px; }
.pna-container--text{ max-width:784px; }
.pna-page-banner{ padding:96px 0 80px; background:var(--pna-primary); }
.pna-page-banner .pna-breadcrumb{ margin-bottom:24px; }
.pna-page-banner h1{ margin:0; color:var(--pna-white); font-size:var(--fs-h2); letter-spacing:-.02em; }
.pna-page-content{ line-height:1.8; }
.pna-page-content h2{ font-size:var(--fs-h3); margin:2em 0 .6em; }
.pna-page-content h3{ font-size:var(--fs-body); font-weight:var(--fw-medium); margin:1.8em 0 .6em; }
.pna-page-content a{ color:var(--pna-primary); text-decoration:underline; text-underline-offset:3px; }
.pna-page-content ul,.pna-page-content ol{ margin:0 0 1.4em 1.3em; }
.pna-page-content ul{ list-style:disc; }
.pna-page-content ol{ list-style:decimal; }
.pna-page-content li{ margin-bottom:.5em; }
.pna-page-content img{ border-radius:var(--pna-radius); margin:2em 0; }
.pna-pagination{ margin-top:72px; }
.pna-pagination .nav-links{ display:flex; gap:10px; flex-wrap:wrap; }
.pna-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0 14px; border:1px solid var(--pna-border); border-radius:var(--pna-radius); font-size:var(--fs-small); font-weight:var(--fw-medium); color:var(--pna-primary); }
.pna-pagination .page-numbers.current,.pna-pagination .page-numbers:hover{ background:var(--pna-primary); border-color:var(--pna-primary); color:var(--pna-white); }

/* =========================================================
   23. VIDEO LIGHTBOX
   ========================================================= */
.pna-video-modal{ position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:24px; background:var(--pna-overlay-strong); }
.pna-video-modal.is-open{ display:flex; }
.pna-video-modal-box{ position:relative; width:100%; max-width:960px; }
.pna-video-modal-inner{ position:relative; width:100%; aspect-ratio:16/9; }
.pna-video-modal-inner iframe,.pna-video-modal-inner video{ width:100%; height:100%; border:0; border-radius:var(--pna-radius); background:#000; }
.pna-video-close{
	position:absolute; top:-52px; right:0; z-index:2; display:flex; align-items:center; justify-content:center;
	width:40px; height:40px; border:1px solid rgba(255,255,255,.4); border-radius:50%;
	background:transparent; color:var(--pna-white); font-size:var(--fs-h3); line-height:1; cursor:pointer;
	transition:background-color .2s ease,color .2s ease;
}
.pna-video-close:hover{ background:var(--pna-white); color:var(--pna-primary); }
.pna-video-trigger{ cursor:pointer; }
