/* ==========================================================================
   Company-profile visual layer (loaded after main.css)
   Style taken from the Company Profile PDF: uppercase geometric headings,
   teal arrow lists, chamfered (TL + BR) images, sunburst motifs, soft
   grey-white backgrounds with faint flow lines, footer line with icon.
   Scoped to .pf-* components so it can be rolled out section by section.
   ========================================================================== */
@font-face{font-family:'Poppins';src:url('../fonts/poppins-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('../fonts/poppins-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('../fonts/poppins-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('../fonts/poppins-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('../fonts/poppins-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
	--f-pf:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;
	--pf-1:#00475b;      /* primary teal */
	--pf-2:#176f85;      /* mid teal */
	--pf-3:#0092ab;      /* accent */
	--pf-navy:#001a24;
	--pf-ink:#222;
	--pf-cut:clamp(26px,4.2vw,60px);
	--pf-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%2300475b'/%3E%3Cpath d='M8.2 15.8 15.6 8.4M9.6 8.2h6.2v6.2' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--pf-arrow-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23fff'/%3E%3Cpath d='M8.2 15.8 15.6 8.4M9.6 8.2h6.2v6.2' fill='none' stroke='%2300475b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---- Two-corner chamfer (top-left + bottom-right), as in the profile photos */
.cut-tlbr{clip-path:polygon(var(--pf-cut) 0,100% 0,100% calc(100% - var(--pf-cut)),calc(100% - var(--pf-cut)) 100%,0 100%,0 var(--pf-cut))}
.wp-block-image.cut-tlbr img{width:100%;height:100%;object-fit:cover;display:block}

/* ---- Light "profile page" sheet ------------------------------------------- */
.pf-sheet{position:relative;overflow:hidden;font-family:var(--f-pf);font-weight:300;color:var(--pf-ink);
	background:url('../img/waves.svg') center/cover no-repeat,linear-gradient(180deg,#efefef 0%,#fff 100%);
	padding:clamp(48px,5.4vw,84px) 0 clamp(22px,2.6vw,36px)}
.pf-sheet::before{content:"";position:absolute;left:-5%;bottom:-16%;width:min(34vw,470px);aspect-ratio:1;background:url('../img/sunburst.svg') center/contain no-repeat;opacity:.07;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 25%,transparent 72%);mask-image:radial-gradient(circle at 70% 30%,#000 25%,transparent 72%)}
.pf-sheet+.pf-sheet{border-top:1px solid rgba(0,71,91,.08)}

/* Section heading with the sunburst arc at its top-right */
.pf-h,.pf-sheet h2.pf-h{position:relative;display:inline-block;font-family:var(--f-pf);font-weight:600;text-transform:uppercase;font-size:clamp(25px,2.8vw,40px);line-height:1.1;letter-spacing:-.015em;color:var(--pf-ink);margin:0 0 clamp(16px,1.8vw,26px);padding-right:clamp(46px,4.6vw,68px);text-wrap:balance}
.pf-h::after{content:"";position:absolute;right:0;top:-.28em;width:clamp(40px,4vw,58px);aspect-ratio:1;background:url('../img/burst-arc.svg') center/contain no-repeat;transition:transform 1.6s var(--ease)}
.pf-sheet:hover .pf-h::after{transform:rotate(28deg)}
p.pf-intro{font-family:var(--f-pf);font-weight:300;font-size:clamp(14.5px,1.08vw,16px);line-height:1.75;color:#333;max-width:60ch;margin:0 0 14px}

/* Grid variants */
.pf-grid{position:relative;z-index:1;display:grid;gap:clamp(14px,2vw,26px) clamp(28px,4.6vw,76px);align-items:start}
.pf-copy{grid-area:copy}.pf-listwrap{grid-area:list}.pf-fig{grid-area:fig;position:relative}
.pf-v-side .pf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"copy fig" "list fig"}
.pf-v-top2 .pf-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "list" "fig"}
.pf-v-intro .pf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy fig" "list list"}
.pf-v-caps .pf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy list" "fig fig"}
.pf-v-top2 .pf-copy,.pf-v-top2 .pf-listwrap{margin-bottom:0}
.pf-v-top2 .pf-list,.pf-v-intro .pf-list{columns:2;column-gap:clamp(28px,5vw,76px)}
.pf-v-top2 .pf-copy{margin-bottom:-6px}
.pf-v-intro .pf-copy{align-self:center}

/* ---- Arrow lists ------------------------------------------------------------ */
.pf-list{display:block;margin:0;padding:0;counter-reset:none}
.pf-list li{position:relative;display:block;break-inside:avoid;margin:0;padding:clamp(10px,1vw,13px) 0 clamp(10px,1vw,13px) 38px;border:0;
	font-family:var(--f-pf);font-weight:400;text-transform:uppercase;font-size:clamp(12.2px,.98vw,14.2px);letter-spacing:.012em;line-height:1.45;color:#161616;
	background:linear-gradient(90deg,rgba(0,71,91,.55),rgba(0,71,91,.08) 70%,transparent) left bottom/100% 1px no-repeat;
	transition:padding-left .35s var(--ease),color .3s}
.pf-list li::before{content:"";position:absolute;left:0;top:calc(50% + 1px);width:24px;height:24px;margin:0;min-width:0;transform:translateY(-50%);background:var(--pf-arrow) center/contain no-repeat;letter-spacing:0;transition:transform .35s var(--ease)}
.pf-list li:hover{padding-left:46px;color:var(--pf-1)}
.pf-list li:hover::before{transform:translateY(-50%) translateX(-6px) rotate(8deg) scale(1.08)}
.pf-list li:last-child,.pf-list li:last-child:hover{border:0}
.pf-list a{display:block;color:inherit}
.pf-listwrap .wp-block-buttons{margin-top:clamp(18px,2vw,28px)}

/* ---- Image with chamfer, soft shadow and bold half-sunburst overlap ------------- */
.pf-fig .cut-wrap{filter:drop-shadow(0 24px 30px rgba(26,23,18,.18))}
.pf-fig .cut-tlbr{overflow:hidden;display:block}
.pf-fig .cut-tlbr img{transition:transform 1.4s var(--ease)}
.pf-fig:hover .cut-tlbr img{transform:scale(1.045)}
.pf-fig::before{content:"";position:absolute;z-index:3;left:calc(var(--pf-cut) * -1.1);bottom:19%;width:clamp(84px,9.6vw,148px);aspect-ratio:2/1.05;background:url('../img/burst-half.svg') center bottom/contain no-repeat;pointer-events:none;transform-origin:50% 100%;transition:transform 1s var(--ease)}
.pf-fig:hover::before{transform:rotate(-14deg)}
.pf-v-side .pf-fig .cut-tlbr{aspect-ratio:4/4.7}
.pf-v-top2 .pf-fig .cut-tlbr,.pf-v-caps .pf-fig .cut-tlbr{aspect-ratio:21/7.4}
.pf-v-intro .pf-fig .cut-tlbr{aspect-ratio:4/3.3}
.pf-v-top2 .pf-fig::before{left:auto;right:calc(var(--pf-cut) * .5);bottom:auto;top:-.06em;transform:translateY(-62%) rotate(0deg)}
.pf-v-caps .pf-fig::before{left:auto;right:34%;bottom:auto;top:0;transform:translateY(-55%)}
.pf-v-top2 .pf-fig:hover::before,.pf-v-caps .pf-fig:hover::before{transform:translateY(-62%) rotate(-14deg)}

/* ---- Footer line: www.coremec.ae ——— ◉ ---------------------------------------- */
.pf-foot{position:relative;z-index:1;display:flex;align-items:center;gap:clamp(14px,2vw,28px);max-width:var(--maxw);margin:clamp(30px,3.8vw,54px) auto 0;padding-inline:var(--gutter)}
.pf-foot span{font-family:var(--f-pf);font-weight:400;font-size:clamp(11px,.9vw,13px);letter-spacing:.24em;color:var(--pf-1);white-space:nowrap}
.pf-foot i{flex:1;height:2px;background:linear-gradient(90deg,#e4ecee 0%,#8db3be 45%,var(--pf-1) 100%);border-radius:2px}
.pf-foot b{flex:none;width:clamp(30px,2.6vw,38px);aspect-ratio:1;background:url('../img/burst-icon.svg') center/contain no-repeat;animation:spin 40s linear infinite}

/* ---- Services pages: profile-style hero, cards, CTA ------------------------------- */
body.pf-services .page-hero{font-family:var(--f-pf);background:radial-gradient(60% 90% at 82% 18%,rgba(0,146,171,.32),transparent 62%),radial-gradient(40% 60% at 6% 100%,rgba(0,104,122,.28),transparent 70%),linear-gradient(125deg,var(--pf-navy) 0%,#00303f 52%,var(--pf-1) 100%)}
body.pf-services .page-hero h1{font-family:var(--f-pf);font-weight:700;text-transform:uppercase;font-size:clamp(28px,3.5vw,52px);line-height:1.08;letter-spacing:-.015em;max-width:20ch}
body.pf-services .page-hero .lead{font-family:var(--f-pf);font-weight:300;line-height:1.7;max-width:58ch}
body.pf-services .page-hero .eyebrow,body.pf-services .cta-band .eyebrow{font-family:var(--f-pf);font-weight:500}
body.pf-services .page-hero .pbg{opacity:.28}
body.pf-services .page-hero .burst{opacity:.1}
body.pf-services .cta-band{font-family:var(--f-pf);background:radial-gradient(60% 120% at 85% 50%,rgba(0,146,171,.3),transparent 65%),linear-gradient(110deg,var(--pf-1),var(--pf-2))}
body.pf-services .cta-band h2{font-family:var(--f-pf);font-weight:600;text-transform:uppercase;font-size:clamp(24px,2.8vw,40px);letter-spacing:-.01em;max-width:18ch}
body.pf-services .cta-band p{font-weight:300}
body.pf-services .more-links .chip{font-family:var(--f-pf);font-weight:500}
body.pf-services .page-hero .wp-block-button__link,body.pf-services .cta-band .btn{font-family:var(--f-pf);font-weight:500}
.pf-more{position:relative;padding:clamp(28px,3vw,44px) 0;background:#fff;font-family:var(--f-pf)}
.pf-more .eyebrow{font-family:var(--f-pf);font-weight:500}

/* Service cards: teal chamfered body, white circle + arrow top-right */
.pf-cards-sec{position:relative;overflow:hidden;padding:clamp(48px,5.4vw,84px) 0;background:url('../img/waves.svg') center/cover no-repeat,linear-gradient(180deg,#fff,#efefef);font-family:var(--f-pf)}
.pf-cards-sec .section-title{margin-bottom:clamp(26px,3vw,44px)}
.pf-cards-sec .section-title p{font-weight:300}
.pf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.pf-cards .svc-card{position:relative;background:var(--pf-1);color:#fff;--pf-cut:34px;clip-path:polygon(var(--pf-cut) 0,100% 0,100% calc(100% - var(--pf-cut)),calc(100% - var(--pf-cut)) 100%,0 100%,0 var(--pf-cut));transition:transform .5s var(--ease),background .4s}
.pf-cards .svc-card:nth-child(even){background:var(--pf-2)}
.pf-cards .svc-card:hover{background:var(--pf-3);transform:translateY(-6px)}
.pf-cards .svc-card .im{aspect-ratio:16/9.6}
.pf-cards .svc-card .bd{padding:22px 24px 30px}
.pf-cards .svc-card h3{font-family:var(--f-pf);font-weight:600;text-transform:uppercase;font-size:clamp(15px,1.25vw,18px);letter-spacing:.005em;line-height:1.25;color:#fff}
.pf-cards .svc-card .p{font-weight:300;font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.88)}
.pf-cards .svc-card .mono{color:#fff;font-family:var(--f-pf);font-weight:500;letter-spacing:.14em}
.pf-cards .svc-card::after{content:"";position:absolute;right:18px;top:16px;width:34px;height:34px;background:var(--pf-arrow-white) center/contain no-repeat;transition:transform .4s var(--ease);z-index:2}
.pf-cards .svc-card:hover::after{transform:rotate(45deg)}

/* ---- Responsive ------------------------------------------------------------------- */
@media (max-width:1100px){.pf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
	.pf-v-side .pf-grid,.pf-v-intro .pf-grid,.pf-v-caps .pf-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "list" "fig"}
	.pf-v-side .pf-fig .cut-tlbr,.pf-v-intro .pf-fig .cut-tlbr{aspect-ratio:4/3.2}
	.pf-v-top2 .pf-fig .cut-tlbr,.pf-v-caps .pf-fig .cut-tlbr{aspect-ratio:16/8}
	.pf-fig::before,.pf-v-top2 .pf-fig::before,.pf-v-caps .pf-fig::before{left:auto;right:6%;bottom:auto;top:0;transform:translateY(-55%)}
	.pf-fig:hover::before,.pf-v-top2 .pf-fig:hover::before,.pf-v-caps .pf-fig:hover::before{transform:translateY(-55%)}
	.pf-sheet::before{width:60vw;bottom:-6%}
}
@media (max-width:640px){
	.pf-cards{grid-template-columns:1fr}
	.pf-h{padding-right:50px}
	.pf-list li{padding-left:34px}
}
@media (prefers-reduced-motion:reduce){.pf-foot b{animation:none}.pf-sheet:hover .pf-h::after{transform:none}}

.pf-sheet .wp-block-button .wp-block-button__link{font-family:var(--f-pf);font-weight:500;letter-spacing:.1em}
.pf-sheet .wp-block-button.btn-primary .wp-block-button__link{background:var(--pf-1);border-color:var(--pf-1)}
.pf-sheet .wp-block-button.btn-primary .wp-block-button__link:hover{background:var(--pf-3);border-color:var(--pf-3)}

.pf-listwrap .wp-block-buttons{margin-top:clamp(20px,2.2vw,30px);margin-bottom:clamp(8px,1vw,16px)}
.pf-h::after{width:clamp(48px,4.8vw,70px);top:-.4em}.pf-h{padding-right:clamp(54px,5.2vw,76px)}

@media (max-width:640px){.pf-v-top2 .pf-list,.pf-v-intro .pf-list{columns:1}}

/* ==========================================================================
   FOOTER – profile style (global, approved)
   ========================================================================== */
.site-footer{position:relative;font-family:var(--f-pf);font-weight:300;border-top:0;
	background:radial-gradient(60% 80% at 88% 105%,rgba(0,146,171,.32),transparent 66%),radial-gradient(40% 60% at 0% 0%,rgba(23,111,133,.22),transparent 70%),linear-gradient(160deg,#001a24 0%,#00303f 55%,#00475b 100%)}
.site-footer::before{content:"";position:absolute;right:-7%;bottom:-34%;width:min(56vw,760px);aspect-ratio:1;background:url('../img/sunburst-light.svg') center/contain no-repeat;opacity:.1;pointer-events:none;animation:spin 180s linear infinite}
.foot-top,.foot-ghost,.foot-bottom{position:relative;z-index:1}
.foot-h,.foot-label{font-family:var(--f-pf);font-weight:500;letter-spacing:.16em}
.foot-brand p,.foot-list a,.foot-bottom{font-weight:300}
.foot-label{font-weight:500}
.foot-ghost{border-top:0;position:relative}
.foot-ghost::before,.foot-bottom::before{content:"";position:absolute;left:var(--gutter);right:var(--gutter);top:0;height:2px;background:linear-gradient(90deg,rgba(255,255,255,.06),#5fb3c4);border-radius:2px}
.foot-ghost span{font-family:var(--f-pf);font-weight:700;color:rgba(255,255,255,.07)}
.foot-bottom{border-top:0}
.foot-bottom::before{opacity:.5}

/* ==========================================================================
   ROLLED-OUT PAGES (body.pf-on): Home first, then About, Projects, ...
   ========================================================================== */
:root{
	--pf-arrow-dl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23fff'/%3E%3Cpath d='M15.6 8.4 8.2 15.8M8.2 9.8v6h6' fill='none' stroke='%2300475b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--pf-dark:radial-gradient(60% 80% at 86% 8%,rgba(0,146,171,.3),transparent 62%),radial-gradient(50% 70% at 4% 100%,rgba(23,111,133,.26),transparent 66%),linear-gradient(150deg,#001a24 0%,#00303f 55%,#00475b 100%);
	--pf-light:url('../img/waves.svg') center/cover no-repeat,linear-gradient(180deg,#efefef 0%,#fff 100%);
	--pf-light-r:url('../img/waves.svg') center/cover no-repeat,linear-gradient(180deg,#fff 0%,#efefef 100%);
}
body.pf-on{font-family:var(--f-pf);font-weight:300;background:#fff;color:var(--pf-ink)}
body.pf-on .site-header,body.pf-on .site-header .nav-list a{font-family:var(--f-body);font-weight:400}
body.pf-on .site-header .btn{font-family:var(--f-mono);font-weight:500}
body.pf-on h1,body.pf-on h2,body.pf-on h3{font-family:var(--f-pf)}
body.pf-on :is(.eyebrow,.mono,.chip,.btn,.wp-block-button__link,.ticker-cap,.project-meta .mono,.f .mono,.info-list .mono,.dummy-tag,.btn-submit){font-family:var(--f-pf)}
body.pf-on :is(.eyebrow,.mono){font-weight:500;letter-spacing:.16em}
body.pf-on .site-header .btn{letter-spacing:.12em}
body.pf-on .wp-block-button.btn-primary .wp-block-button__link:hover,body.pf-on .btn-submit:hover{background:var(--pf-3);border-color:var(--pf-3)}
body.pf-on :is(.wp-block-button__link,.btn-submit){font-weight:500;letter-spacing:.1em}

/* section headings: uppercase, arc top-right */
body.pf-on :is(.about-copy h2,.process-intro h2,.sec-head h2,.stats-head h2,.team-copy h2,.testi-copy h2,.faq h2,.contact-copy h2){position:relative;display:inline-block;font-weight:600;text-transform:uppercase;letter-spacing:-.015em;line-height:1.1;font-size:clamp(25px,2.8vw,40px);padding-right:clamp(54px,5.2vw,76px);text-wrap:balance;max-width:none}
body.pf-on :is(.about-copy h2,.process-intro h2,.sec-head h2,.stats-head h2,.team-copy h2,.testi-copy h2,.faq h2,.contact-copy h2)::after{content:"";position:absolute;right:0;top:-.4em;width:clamp(48px,4.8vw,70px);aspect-ratio:1;background:url('../img/burst-arc.svg') center/contain no-repeat}
body.pf-on :is(.projects-sec,.testi,.contact-sec,.purpose) h2::after{filter:brightness(2.2) saturate(.7)}
body.pf-on .about-copy h2{font-size:clamp(24px,2.5vw,36px)}

/* light sections: grey-white gradient + faint flow lines + faint sunburst bottom-left */
body.pf-on :is(.ticker,.about-cluster,.stats-sec,.team-sec){background:var(--pf-light)}
body.pf-on :is(.process,.faq){background:var(--pf-light-r)}
body.pf-on :is(.about-cluster,.stats-sec,.team-sec,.process,.faq){position:relative;overflow:hidden}
body.pf-on :is(.about-cluster,.stats-sec,.team-sec,.process,.faq)::before{content:"";position:absolute;left:-5%;bottom:-16%;width:min(32vw,440px);aspect-ratio:1;background:url('../img/sunburst.svg') center/contain no-repeat;opacity:.07;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 25%,transparent 72%);mask-image:radial-gradient(circle at 70% 30%,#000 25%,transparent 72%)}
body.pf-on :is(.about-cluster,.stats-sec,.team-sec,.process,.faq)>*{position:relative;z-index:1}

/* dark sections: deep navy-teal with glow */
body.pf-on :is(.purpose,.projects-sec,.testi,.contact-sec){background:var(--pf-dark)}

/* chamfer: two opposite corners (TL + BR), driven by each element's --cut */
body.pf-on .cut{clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
body.pf-on .cl .cut{--cut:clamp(22px,3vw,44px)}

/* hero */
body.pf-on .hero-overlay{background:radial-gradient(55% 70% at 80% 12%,rgba(0,146,171,.38),transparent 62%),linear-gradient(180deg,rgba(0,26,36,.66),rgba(0,26,36,.42) 40%,rgba(0,26,36,.9)),rgba(0,71,91,.22)}
body.pf-on .hero h1{font-weight:700;text-transform:uppercase;font-size:clamp(30px,4.1vw,62px);max-width:16ch;line-height:1.05;letter-spacing:-.02em}
body.pf-on .hero-intro{font-weight:300;line-height:1.65}
body.pf-on .hero .burst{opacity:.09}

/* ticker */
body.pf-on .ticker{border-bottom:1px solid rgba(0,71,91,.1)}
body.pf-on .ticker-cap{font-weight:400;color:var(--pf-1);letter-spacing:.2em}
body.pf-on .marquee-track span{font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:rgba(0,71,91,.78)}

/* about collage */
body.pf-on .about-copy p{font-weight:300;line-height:1.75;color:#333}
body.pf-on .cl-1::after,body.pf-on .cl-4::after{content:"";position:absolute;z-index:3;left:-24%;bottom:16%;width:44%;aspect-ratio:2/1.05;background:url('../img/burst-half.svg') center bottom/contain no-repeat;pointer-events:none}
body.pf-on .cl-4::after{left:auto;right:-20%;bottom:auto;top:12%}

/* statement band */
body.pf-on .purpose-text{font-family:var(--f-pf);font-weight:500;font-size:clamp(21px,2.6vw,38px);line-height:1.38;letter-spacing:-.012em;color:rgba(255,255,255,.26)}
body.pf-on .purpose-text .w.lit{color:#fff}

/* process */
body.pf-on .process-intro p,body.pf-on .step p.d{font-weight:300;line-height:1.75}
body.pf-on .step h3{font-weight:600;text-transform:uppercase;font-size:clamp(17px,1.5vw,22px);letter-spacing:-.005em}
body.pf-on .step .mono{color:var(--pf-2)}
body.pf-on .step .dot{border-color:#9ab5bd}
body.pf-on .step.is-active .dot{border-color:var(--pf-1)}
body.pf-on .steps::before{background:linear-gradient(180deg,#8db3be,rgba(0,71,91,.14))}
body.pf-on .step .cut{--cut:clamp(24px,3vw,44px)}

/* projects */
body.pf-on .sec-head p{font-weight:300}
body.pf-on .project-card{background:#00303f;--cut:clamp(26px,3vw,44px)}
body.pf-on .project-card::after{background:linear-gradient(180deg,rgba(0,26,36,.05) 35%,rgba(0,26,36,.9))}
body.pf-on .project-title{font-weight:600;text-transform:uppercase;font-size:clamp(14.5px,1.2vw,17.5px);line-height:1.28}
body.pf-on .project-card .project-img::after{content:"";position:absolute;right:16px;top:16px;width:36px;height:36px;background:var(--pf-arrow-white) center/contain no-repeat;opacity:0;transform:scale(.7) rotate(-20deg);transition:opacity .4s,transform .5s var(--ease)}
body.pf-on .project-card:hover .project-img::after{opacity:1;transform:none}
body.pf-on .project-img{overflow:hidden}

/* stats: teal chamfered cards, white circle + arrow */
body.pf-on .stats-head p{font-weight:300}
body.pf-on .stats-grid{gap:clamp(14px,1.6vw,22px)}
body.pf-on .stat{--cut:clamp(28px,3vw,42px);border:0;border-radius:0;background:var(--pf-2);color:#fff;min-height:clamp(210px,17vw,250px);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));transition:transform .5s var(--ease),background .4s}
body.pf-on .stat:nth-child(even){background:var(--pf-1)}
body.pf-on .stat:hover{background:var(--pf-3);transform:translateY(-6px);box-shadow:none}
body.pf-on .stat::after{content:"";position:absolute;right:16px;top:14px;left:auto;width:38px;height:38px;background:var(--pf-arrow-dl) center/contain no-repeat;clip-path:none;border:0;transition:transform .5s var(--ease)}
body.pf-on .stat:hover::after{transform:rotate(90deg)}
body.pf-on .stat .num{color:#fff;font-weight:600;font-size:clamp(36px,3.4vw,54px);letter-spacing:-.02em}
body.pf-on .stat h3{color:#fff;font-weight:500;font-size:clamp(16px,1.4vw,20px)}
body.pf-on .stat p{color:rgba(255,255,255,.85);font-weight:300}

/* team */
body.pf-on .team-copy p{font-weight:300;line-height:1.75}
body.pf-on .team-photo{background:#d3e0e4;--cut:clamp(26px,3vw,44px)}
body.pf-on .team-name{font-weight:600;text-transform:uppercase;font-size:14.5px;letter-spacing:.01em}
body.pf-on .team-role{font-weight:400;color:var(--pf-2)}
body.pf-on .team-line{font-weight:300}
body.pf-on .dummy-tag{color:var(--pf-2);border-color:var(--pf-2)}

/* testimonials (real letter quotes) */
body.pf-on .testi-card{background:rgba(255,255,255,.06);border:0;border-radius:0;--cut:44px}
body.pf-on .testi-copy p{font-weight:300}
body.pf-on .quote{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
body.pf-on .quote blockquote{font-weight:300}
body.pf-on .quote .av{background:var(--pf-2);font-family:var(--f-pf)}
body.pf-on .quote .proj{font-family:var(--f-pf);font-weight:400}

/* FAQ */
body.pf-on .faq .intro,body.pf-on .faq-end p{font-weight:300}
body.pf-on .faq details{background:#fff;border:1px solid rgba(0,71,91,.16)}
body.pf-on .faq details[open]{background:#f3f7f8;border-color:var(--pf-1)}
body.pf-on .faq summary{font-weight:500;font-size:16px}
body.pf-on .faq-end h3{text-transform:uppercase;font-weight:600;font-size:clamp(18px,1.8vw,24px)}

/* contact */
body.pf-on .contact-copy>p{font-weight:300;line-height:1.75}
body.pf-on .info-ic{background:var(--pf-2);border-color:rgba(255,255,255,.2)}
body.pf-on .info-list strong{font-weight:500}
body.pf-on .form-card{background:rgba(0,26,36,.6);border:0;--cut:clamp(28px,3vw,44px)}
body.pf-on .f input,body.pf-on .f textarea,body.pf-on .f select{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);font-family:var(--f-pf);font-weight:300}
body.pf-on .btn-submit{background:var(--pf-2);border-color:var(--pf-2)}
@media (max-width:900px){body.pf-on .about-stage .cl::after{display:none}}
body.pf-on :is(.project-title,.stat .num,.purpose-text,.quote .who,.faq-end h3){font-family:var(--f-pf)}
body.pf-on .stat .num{font-weight:600}
.site-footer::before{opacity:.075}
.foot-ghost span{color:rgba(255,255,255,.05)}

/* ==========================================================================
   INNER PAGES (body.pf-inner) – rolled out page by page. About first.
   ========================================================================== */
body.pf-inner .page-hero{font-family:var(--f-pf);background:radial-gradient(60% 90% at 82% 18%,rgba(0,146,171,.32),transparent 62%),radial-gradient(40% 60% at 6% 100%,rgba(0,104,122,.28),transparent 70%),linear-gradient(125deg,var(--pf-navy) 0%,#00303f 52%,var(--pf-1) 100%)}
body.pf-inner .page-hero h1{font-family:var(--f-pf);font-weight:700;text-transform:uppercase;font-size:clamp(28px,3.5vw,52px);line-height:1.08;letter-spacing:-.015em;max-width:20ch}
body.pf-inner .page-hero .lead{font-family:var(--f-pf);font-weight:300;line-height:1.7;max-width:58ch}
body.pf-inner .page-hero .pbg{opacity:.28}
body.pf-inner .page-hero .burst{opacity:.1}
body.pf-inner .cta-band{font-family:var(--f-pf);background:radial-gradient(60% 120% at 85% 50%,rgba(0,146,171,.3),transparent 65%),linear-gradient(110deg,var(--pf-1),var(--pf-2))}
body.pf-inner .cta-band h2{font-family:var(--f-pf);font-weight:600;text-transform:uppercase;font-size:clamp(24px,2.8vw,40px);letter-spacing:-.01em;max-width:18ch}
body.pf-inner .cta-band p{font-weight:300}
body.pf-inner .more-links .chip{font-weight:500}

/* light sections */
body.pf-inner .section{position:relative;overflow:hidden;background:var(--pf-light)}
body.pf-inner .section.tint{background:var(--pf-light-r)}
body.pf-inner .section::before{content:"";position:absolute;left:-5%;bottom:-16%;width:min(32vw,440px);aspect-ratio:1;background:url('../img/sunburst.svg') center/contain no-repeat;opacity:.07;pointer-events:none;-webkit-mask-image:radial-gradient(circle at 70% 30%,#000 25%,transparent 72%);mask-image:radial-gradient(circle at 70% 30%,#000 25%,transparent 72%)}
body.pf-inner .section>*{position:relative;z-index:1}
body.pf-inner :is(.split h2,.section-title h2){position:relative;display:inline-block;font-family:var(--f-pf);font-weight:600;text-transform:uppercase;letter-spacing:-.015em;line-height:1.1;font-size:clamp(25px,2.8vw,40px);padding-right:clamp(54px,5.2vw,76px);text-wrap:balance;max-width:none;margin-bottom:clamp(16px,1.8vw,26px)}
body.pf-inner :is(.split h2,.section-title h2)::after{content:"";position:absolute;right:0;top:-.4em;width:clamp(48px,4.8vw,70px);aspect-ratio:1;background:url('../img/burst-arc.svg') center/contain no-repeat}
body.pf-inner :is(.prose p,.section-title p){font-weight:300;line-height:1.75;color:#333}
body.pf-inner .split .cut{--cut:clamp(30px,4.2vw,60px)}
body.pf-inner .split .cut-wrap{filter:drop-shadow(0 24px 30px rgba(26,23,18,.18))}
body.pf-inner .split{position:relative}
body.pf-inner .split::after{content:"";position:absolute;z-index:3;left:calc(50% + 2.6vw);bottom:16%;width:clamp(84px,9.6vw,148px);aspect-ratio:2/1.05;background:url('../img/burst-half.svg') center bottom/contain no-repeat;pointer-events:none;transform:translateX(-50%)}
body.pf-inner .split--rev::after{left:calc(50% - 2.6vw)}
body.pf-inner .pf-foot-sec{background:#fff;padding:0 0 clamp(22px,2.6vw,36px)}
body.pf-inner .pf-foot-sec .pf-foot{margin-top:0;padding-top:clamp(18px,2vw,28px)}

/* capability band: photo + teal overlay, cards straddling into the light area */
body.pf-inner .stats-sec.band-stats{background:linear-gradient(180deg,transparent 55%,#fff 55%),linear-gradient(180deg,rgba(0,26,36,.78),rgba(0,71,91,.66)),url('/wp-content/uploads/2026/10/about-site-hardhat.webp') center/cover no-repeat;padding:clamp(56px,6vw,92px) 0 clamp(40px,4vw,64px);color:#fff}
body.pf-inner .band-stats::before{display:none}
body.pf-inner .band-stats .band-title{position:relative;display:inline-block;font-family:var(--f-pf);font-weight:600;text-transform:uppercase;letter-spacing:-.015em;line-height:1.1;font-size:clamp(25px,2.8vw,40px);color:#fff;padding-right:clamp(54px,5.2vw,76px);margin:0 0 clamp(36px,5vw,72px)}
body.pf-inner .band-stats .band-title::after{content:"";position:absolute;right:0;top:-.4em;width:clamp(48px,4.8vw,70px);aspect-ratio:1;background:url('../img/burst-arc.svg') center/contain no-repeat;filter:brightness(2.4) saturate(.6)}
body.pf-inner .band-stats .stat{border:0}
body.pf-inner .band-stats .stat::after{display:block}
body.pf-inner .band-stats .stats-grid{gap:clamp(14px,1.6vw,22px)}

/* value / policy cards: teal chamfered, white circle + arrow */
body.pf-inner .vcard{background:var(--pf-2);color:#fff;--cut:clamp(28px,3vw,42px);min-height:clamp(250px,22vw,320px);padding:clamp(26px,2.4vw,34px);position:relative;transition:transform .5s var(--ease),background .4s}
body.pf-inner .vcard:nth-child(odd){background:var(--pf-1)}
body.pf-inner .vcard:hover{background:var(--pf-3);transform:translateY(-6px)}
body.pf-inner .vcard::after{content:"";position:absolute;right:16px;top:14px;width:38px;height:38px;background:var(--pf-arrow-dl) center/contain no-repeat;transition:transform .5s var(--ease)}
body.pf-inner .vcard:hover::after{transform:rotate(90deg)}
body.pf-inner .vcard h3{color:#fff;font-family:var(--f-pf);font-weight:600;text-transform:uppercase;font-size:clamp(17px,1.5vw,21px);letter-spacing:0}
body.pf-inner .vcard p{color:rgba(255,255,255,.9);font-weight:300;font-size:15px;line-height:1.7}
body.pf-inner .vcard .n{font-family:var(--f-pf);font-weight:600;color:#fff;font-size:clamp(34px,3.2vw,48px);letter-spacing:-.02em;margin-bottom:18px}
body.pf-inner .vcard svg.i{color:#fff}
body.pf-inner .policies .vcard .n{font-size:14px}

/* process flow: teal chamfered boxes (org-chart style) */
body.pf-inner .flow-lane-title{font-family:var(--f-pf);font-weight:500;letter-spacing:.16em;color:var(--pf-2)}
body.pf-inner .fnode{background:var(--pf-2);color:#fff;--cut:20px}
body.pf-inner .fnode .k{font-family:var(--f-pf);font-weight:600;color:#fff}
body.pf-inner .fnode h3{color:#fff;font-family:var(--f-pf);font-weight:600}
body.pf-inner .fnode ul{color:rgba(255,255,255,.92);font-weight:300}
body.pf-inner .fnode li::before{background:#fff}
body.pf-inner .fnode--decision{background:var(--pf-1)}
body.pf-inner .fnode--decision .k{color:#fff}
body.pf-inner .yn span{font-family:var(--f-pf);border-color:rgba(255,255,255,.55)}
body.pf-inner .fnode:not(:last-child)::after{background:var(--pf-1)}
body.pf-inner .fnode:not(:last-child)::before{border-color:var(--pf-1)}
@media (max-width:900px){body.pf-inner .split::after{display:none}}
