/*
Theme Name: David van der Lende Thema v03
Theme URI: https://davidvanderlende.nl
Author: DVL concept
Description: Minimal personal portfolio with editable WordPress Customizer content.
Version: 3.0.2
Requires at least: 6.0
Text Domain: dvl-studio
*/
:root{--green:#006b45;--dark:#123e2e;--white:#fff;--soft:#f7f8f6;--text:#16261e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1380px;margin:auto;padding:0 5%}.nav{position:fixed;z-index:20;top:18px;left:4%;width:92%;height:64px;border:1px solid rgba(255,255,255,.7);border-radius:36px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:rgba(255,255,255,.68);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 8px 30px #142a1b12}.logo{font-weight:900;font-size:25px;letter-spacing:-2px}.navlinks{display:flex;gap:28px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.pill{display:inline-flex;gap:16px;align-items:center;justify-content:center;padding:15px 25px;background:var(--green);border-radius:50px;color:#fff;font-size:12px;font-weight:700;transition:transform .25s,background .25s}.pill:hover{transform:translateY(-3px);background:var(--dark)}.pill.ghost{background:rgba(255,255,255,.45);color:var(--dark);border:1px solid #c4d0c9}.hero{min-height:780px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0%,#fff 40%,#f1f2ee 100%)}.hero .wrap{width:100%;position:relative;z-index:2;padding-top:120px;padding-bottom:80px}.hero-image{position:absolute;right:0;top:0;height:100%;width:58%;background-position:center;background-size:cover;mask-image:linear-gradient(90deg,transparent,#000 23%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 23%)}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.display,.section-title,.cta-title{font-family:'Neue Power Ultra','Arial Black',Impact,sans-serif;text-transform:uppercase;letter-spacing:-.055em;line-height:.89;font-weight:900}.display{font-size:clamp(70px,10vw,168px);max-width:800px;color:var(--dark);margin:24px 0}.roles{font-size:13px;line-height:1.65;letter-spacing:.14em;text-transform:uppercase}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.muted{color:#66716a}.projects{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.project{height:290px;border-radius:20px;position:relative;overflow:hidden;background:#e3e9e3}.project img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project:hover img{transform:scale(1.06)}.project::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#071c13aa)}.project-caption{position:absolute;z-index:2;bottom:18px;left:20px;color:#fff;font-size:13px;font-weight:700}.project-caption small{display:block;font-size:11px;font-weight:400;margin-top:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.section-title{font-size:clamp(42px,5.3vw,84px);color:var(--dark);margin:15px 0 22px}.bodycopy{line-height:1.75;max-width:530px;color:#526057;font-size:15px}.feature-img{height:470px;width:100%;object-fit:cover;border-radius:24px}.soft{background:var(--soft)}.cta{background:var(--green);color:white;padding:110px 0;border-radius:40px 40px 0 0}.cta-title{font-size:clamp(70px,11vw,170px);margin:0 0 20px;color:#fff}.cta .pill{background:#fff;color:var(--dark)}footer{padding:35px 0;background:#005638;color:#fff;font-size:12px}.foot{display:flex;justify-content:space-between}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.navlinks{display:none}.hero{min-height:760px;align-items:flex-end}.hero-image{width:100%;height:60%;top:0;mask-image:linear-gradient(0deg,transparent,#000 30%);-webkit-mask-image:linear-gradient(0deg,transparent,#000 30%);opacity:.7}.hero .wrap{padding-top:390px}.display{font-size:clamp(62px,14vw,110px)}.projects{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.section{padding:65px 0}.feature-img{height:320px}.cta{border-radius:24px 24px 0 0}}@media(max-width:520px){.projects{grid-template-columns:1fr}.project{height:300px}.display{font-size:15vw}.nav{left:3%;width:94%}.nav .pill{padding:12px 16px}.foot{gap:12px;flex-wrap:wrap}}

/* Featured success stories */
.stories-section{background:#fff}.stories-heading{font-family:'Neue Power Ultra','Arial Black',Arial,sans-serif;font-size:clamp(38px,5vw,76px);line-height:1;letter-spacing:-.045em;color:var(--dark);margin:12px 0 0;text-transform:none}.stories-more{font-size:13px;color:var(--green);font-weight:700}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.story-card{display:block;overflow:hidden;border:1px solid #e5ebe7;border-radius:24px;background:#fff;transition:box-shadow .3s,transform .3s}.story-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px #173d2618}.story-image{width:100%;height:240px;object-fit:cover;background:#e8f0eb}.story-placeholder{background:linear-gradient(135deg,#eaf3ed,#a8c3b4)}.story-info{padding:24px}.story-info h3{font-size:24px;line-height:1.15;margin:0 0 12px;color:var(--dark);text-transform:none}.story-info p{font-size:14px;line-height:1.6;color:#526057;min-height:65px}.story-info span{display:inline-block;color:var(--green);font-weight:700;font-size:12px;margin-top:10px}@media(max-width:850px){.story-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.story-grid{grid-template-columns:1fr}.story-image{height:220px}}

/* DVL adjustments: original capitalization, hide location and brand */
.nav .logo, .hero .eyebrow{display:none!important}
h1,h2,h3,h4,h5,h6,.display,.section-title,.cta-title,.eyebrow,.roles,.navlinks{text-transform:none!important}

/* Position the supplied portrait on the right, preserve readable left-side text. */
.hero-image{background-position:65% center}
@media(max-width:850px){.hero-image{background-position:72% center}}

/* Impact and partner glass cards */
.impact-section{background:#fff}.impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:44px}.impact-number{font-family:'Neue Power Ultra','Arial Black',Arial,sans-serif;font-size:clamp(58px,7vw,112px);font-weight:900;color:var(--green);letter-spacing:-.07em;line-height:1}.impact-item p{font-size:15px;color:#526057;max-width:230px;line-height:1.5}.impact-plus{font-size:.55em;vertical-align:top}.partners-section{background:#e9ede9}.partners-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px}.partner-card{position:relative;min-height:200px;border-radius:24px;overflow:hidden;isolation:isolate;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#d9e5dd,#f6f8f5);border:1px solid rgba(255,255,255,.85);box-shadow:0 12px 28px #17402a0b;transition:transform .35s,box-shadow .35s}.partner-card::before{content:'';position:absolute;inset:0;background-image:var(--partner-photo,linear-gradient(135deg,#a9c1b1,#e2ebe3));background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity .45s,transform .6s;z-index:-1}.partner-card:hover,.partner-card:focus-visible{transform:translateY(-4px);box-shadow:0 20px 35px #17402a20}.partner-card:hover::before,.partner-card:focus-visible::before{opacity:1;transform:scale(1)}.partner-frost{width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(255,255,255,.54);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background .4s}.partner-card:hover .partner-frost,.partner-card:focus-visible .partner-frost{background:rgba(255,255,255,.28)}.partner-identity{text-align:center}.partner-logo{max-height:86px;max-width:190px;width:auto;height:auto;object-fit:contain;margin:auto}.partner-placeholder{color:#23533b;font-size:18px;font-weight:700;letter-spacing:-.035em}.navlinks{letter-spacing:0}.navlinks a{text-transform:none}.nav .logo{display:none!important}@media(max-width:850px){.partners-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.impact-grid{grid-template-columns:1fr;gap:14px}.partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.partner-card,.partner-frost{min-height:155px}.partner-placeholder{font-size:14px}.partner-logo{max-width:125px;max-height:65px}}@media(prefers-reduced-motion:reduce){.partner-card,.partner-card::before,.partner-frost{transition:none}}

/* DVL v1.4: readable editorial typography, permanently in the theme */
.display,.section-title,.cta-title,.stories-heading{
  letter-spacing:.015em!important;
  line-height:1.08!important;
  font-kerning:normal;
  font-variant-ligatures:none;
  overflow-wrap:break-word;
}
.impact-number{letter-spacing:0!important;line-height:1.08!important}
@media(max-width:768px){
  .display,.section-title,.cta-title,.stories-heading{letter-spacing:.02em!important;line-height:1.12!important}
}
/* Partner photos: frosted/blurred at rest, crisp on hover or keyboard/touch focus */
.partner-card::before{
  opacity:1;
  filter:blur(15px);
  transform:scale(1.14);
  transition:filter .55s ease,transform .55s ease,opacity .55s ease;
}
.partner-card:hover::before,.partner-card:focus::before,.partner-card:focus-visible::before{
  opacity:1;filter:blur(0);transform:scale(1);
}
.partner-frost{background:rgba(255,255,255,.42);backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .55s ease}
.partner-card:hover .partner-frost,.partner-card:focus .partner-frost,.partner-card:focus-visible .partner-frost{background:rgba(255,255,255,.06)}
.partner-identity{position:relative;z-index:1;text-shadow:0 1px 10px rgba(255,255,255,.8)}
@media(prefers-reduced-motion:reduce){.partner-card::before,.partner-frost{transition:none}}

/* v03 production presentation */
:root{--green:#006A45;--dark:#003D2B}
.pill:not(.ghost){background:linear-gradient(115deg,#003D2B 0%,#006A45 100%);border:0;cursor:pointer}
.pill:not(.ghost):hover{background:linear-gradient(115deg,#002A1D,#007D50)}
.cta .pill:not(.ghost){background:linear-gradient(115deg,#003D2B,#006A45);color:white}
.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.project{height:370px}.project-caption{font-size:clamp(19px,2.2vw,30px);right:18px}.project-caption small{font-size:13px;line-height:1.5;max-width:400px}
.stories-section .story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.stories-section .story-card:first-child{grid-column:span 2}.stories-section .story-card:first-child .story-image{height:430px}.story-card{border:0;border-radius:0;box-shadow:none!important;background:transparent}.story-card:hover{transform:none}.story-image{height:280px;border-radius:22px;transition:transform .4s}.story-card:hover .story-image{transform:scale(1.012)}.story-info{padding:14px 0 0}.story-info h3{font-family:'Neue Power Ultra','Arial Black',Arial,sans-serif;letter-spacing:.015em;line-height:1.15;font-size:clamp(24px,2.7vw,40px);margin:7px 0 10px;color:#171717}.story-info .story-label{font-size:12px;color:#66716a;font-weight:600}.story-info .story-link{color:var(--green);font-size:12px}.story-actions{margin-top:36px}.archive-stories{padding-top:160px}.archive-stories .story-grid{margin-top:50px}.single-story{padding:160px 0 100px}.single-story article{max-width:980px;margin:auto}.single-story .section-title{max-width:900px}.story-hero-image{width:100%;max-height:590px;object-fit:cover;border-radius:24px;margin:35px 0}.story-body{max-width:760px;margin:35px auto;font-size:17px;line-height:1.85}.back-link{display:inline-block;color:var(--green);margin-bottom:40px}.contact-form{max-width:740px;margin-top:35px}.contact-form label{display:block;font-size:13px;font-weight:600;margin-bottom:16px}.contact-form input,.contact-form textarea{display:block;width:100%;padding:15px;margin-top:8px;background:rgba(255,255,255,.96);border:1px solid #b8d0c3;border-radius:12px;color:#122d20;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-note{font-size:12px;opacity:.9}.form-note a{text-decoration:underline}.trap{position:absolute;left:-9999px}.skip-link{position:absolute;top:-100px;left:12px;z-index:100;background:white;padding:12px}.skip-link:focus{top:12px}.navlinks{gap:clamp(10px,1.5vw,24px)}.navlinks a{font-size:12px}.navlinks a:hover{color:var(--green)}.display{max-width:750px}
@media(max-width:850px){.projects{grid-template-columns:1fr}.stories-section .story-grid{grid-template-columns:1fr}.stories-section .story-card:first-child{grid-column:auto}.stories-section .story-card:first-child .story-image{height:260px}.form-row{grid-template-columns:1fr}.navlinks{display:flex;overflow-x:auto;gap:16px;white-space:nowrap;max-width:calc(100% - 125px);scrollbar-width:none}.nav{padding:0 12px}.navlinks a{font-size:11px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* v03 layout refinement: four services across, two editorial story features */
@media(min-width:1100px){.projects{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.project{height:350px}.project-caption{font-size:clamp(17px,1.45vw,23px);left:16px;right:12px;line-height:1.12}.project-caption small{font-size:12px;line-height:1.4}}
@media(min-width:851px) and (max-width:1099px){.projects{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.project{height:320px}.project-caption{font-size:16px;left:12px;right:10px}.project-caption small{font-size:11px}}
.stories-section .story-card:first-child{grid-column:auto}.stories-section .story-card:first-child .story-image{height:310px}.stories-section .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stories-section .story-image{height:310px}.story-preview{cursor:default}.story-preview .story-info{padding-top:14px}
@media(max-width:600px){.stories-section .story-grid{grid-template-columns:1fr}.stories-section .story-image,.stories-section .story-card:first-child .story-image{height:240px}}

/* v03: left navigation and right-aligned contact actions */
.nav{justify-content:space-between;gap:18px}.navlinks{flex:0 1 auto;min-width:0;display:flex;align-items:center;gap:clamp(12px,2vw,28px);overflow:visible;max-width:none}.nav-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto;flex-shrink:0}.whatsapp-button{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:linear-gradient(115deg,#003D2B,#006A45);color:#fff;transition:transform .25s,filter .25s}.whatsapp-button:hover{transform:translateY(-3px);filter:brightness(1.08)}.whatsapp-button:focus-visible,.nav a:focus-visible{outline:3px solid #9de2b9;outline-offset:3px}
@media(max-width:850px){.navlinks{display:flex;max-width:none;gap:12px;overflow-x:auto;scrollbar-width:none}.navlinks a{font-size:11px}.nav-actions{gap:7px}.whatsapp-button{width:39px;height:39px}.whatsapp-button svg{width:21px;height:21px}.nav-actions .pill{padding:12px 14px;font-size:11px}}
@media(max-width:560px){.nav{height:auto;min-height:60px;padding:9px 12px;flex-wrap:wrap;border-radius:24px}.navlinks{width:100%;justify-content:center;order:2;padding:5px 0 0;gap:clamp(12px,3.5vw,22px)}.nav-actions{order:1;width:100%;justify-content:flex-end}.nav-actions .pill{padding:10px 15px}.whatsapp-button{width:37px;height:37px}}
