
:root {
	--vwd-bg: #07101d;
	--vwd-bg-soft: #0b1625;
	--vwd-panel: rgba(16, 30, 49, .78);
	--vwd-border: rgba(255, 255, 255, .11);
	--vwd-text: #f7fbff;
	--vwd-muted: #9eb0c5;
	--vwd-accent: #4aa8ff;
	--vwd-accent-2: #7dd3fc;
	--vwd-radius: 28px;
}
.vwd-fp,.vwd-fp *{box-sizing:border-box}
.vwd-fp{background:var(--vwd-bg);color:var(--vwd-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;overflow:hidden}
.vwd-fp a{color:inherit}
.vwd-fp__shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.vwd-fp__hero{position:relative;min-height:760px;display:grid;align-items:center;padding:90px 0 80px;background:radial-gradient(circle at 75% 35%,rgba(36,116,255,.17),transparent 28%),linear-gradient(180deg,#06101d 0%,#08131f 100%)}
.vwd-fp__glow{position:absolute;border-radius:999px;filter:blur(75px);opacity:.32;pointer-events:none}
.vwd-fp__glow--one{width:420px;height:420px;background:#0468ff;top:-140px;right:-120px}
.vwd-fp__glow--two{width:260px;height:260px;background:#00b7ff;left:-120px;bottom:-100px}
.vwd-fp__hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.06fr .94fr;gap:70px;align-items:center}
.vwd-fp__eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--vwd-accent-2)}
.vwd-fp h1,.vwd-fp h2,.vwd-fp h3,.vwd-fp p{margin-top:0}
.vwd-fp h1{max-width:780px;margin-bottom:24px;font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.045em;color:#fff}
.vwd-fp h2{margin-bottom:22px;font-size:clamp(34px,4vw,56px);line-height:1.05;letter-spacing:-.035em;color:#fff}
.vwd-fp h3{color:#fff}
.vwd-fp__lede{max-width:720px;font-size:clamp(18px,2vw,22px);color:#b8c7d8}
.vwd-fp__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.vwd-fp__button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;font-weight:800;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.vwd-fp__button:hover{transform:translateY(-2px)}
.vwd-fp__button--primary{background:linear-gradient(135deg,#1684ff,#2ba7ff);box-shadow:0 12px 35px rgba(22,132,255,.25);color:#fff}
.vwd-fp__button--ghost{border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.04)}
.vwd-fp__capabilities{display:flex;flex-wrap:wrap;gap:8px;margin-top:35px}
.vwd-fp__capabilities span{padding:7px 10px;border:1px solid var(--vwd-border);border-radius:999px;color:#8fa4bb;font-size:12px}
.vwd-fp__hero-card{perspective:1100px}
.vwd-fp__window{border:1px solid rgba(255,255,255,.15);border-radius:25px;background:linear-gradient(150deg,rgba(255,255,255,.085),rgba(255,255,255,.025));box-shadow:0 35px 90px rgba(0,0,0,.38);overflow:hidden;transform:rotateY(-6deg) rotateX(2deg);backdrop-filter:blur(18px)}
.vwd-fp__window-bar,.vwd-fp__browser-bar{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.vwd-fp__window-bar i,.vwd-fp__browser-bar i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.28)}
.vwd-fp__window-content{padding:48px 38px 42px}
.vwd-fp__code-line{width:75%;height:10px;margin:0 0 12px;border-radius:99px;background:rgba(255,255,255,.12)}
.vwd-fp__code-line--lg{width:92%;height:18px;background:linear-gradient(90deg,#268cff,rgba(38,140,255,.15))}
.vwd-fp__code-line--short{width:48%}
.vwd-fp__metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:38px}
.vwd-fp__metric-grid div{min-height:120px;padding:22px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(3,12,23,.42)}
.vwd-fp__metric-grid strong,.vwd-fp__metric-grid small{display:block}
.vwd-fp__metric-grid strong{font-size:25px}.vwd-fp__metric-grid small{color:var(--vwd-muted)}
.vwd-fp__section{padding:110px 0}
.vwd-fp__section--services,.vwd-fp__section--photo{background:#0a1523}
.vwd-fp__section-head{max-width:840px;margin-bottom:50px}
.vwd-fp__section-head--split{max-width:none;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end}
.vwd-fp__section-head--split>p{color:var(--vwd-muted);font-size:17px}
.vwd-fp__three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vwd-fp__service{position:relative;min-height:290px;padding:28px;border:1px solid var(--vwd-border);border-radius:var(--vwd-radius);background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.02))}
.vwd-fp__service-number{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:55px;border-radius:14px;background:rgba(74,168,255,.12);color:#8dccff;font-weight:900}
.vwd-fp__service h3{font-size:22px;line-height:1.2}.vwd-fp__service p{color:var(--vwd-muted)}
.vwd-fp__projects{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.vwd-fp__project{border:1px solid var(--vwd-border);border-radius:var(--vwd-radius);background:#0c1726;overflow:hidden;transition:transform .25s ease,border-color .25s ease}
.vwd-fp__project:hover{transform:translateY(-5px);border-color:rgba(91,178,255,.38)}
.vwd-fp__project>a{text-decoration:none}
.vwd-fp__project-preview{min-height:250px;position:relative;background:linear-gradient(135deg,rgba(24,123,255,.26),rgba(4,13,25,.3))}
.vwd-fp__project--green .vwd-fp__project-preview{background:linear-gradient(135deg,rgba(29,185,124,.30),rgba(4,13,25,.3))}
.vwd-fp__project--violet .vwd-fp__project-preview{background:linear-gradient(135deg,rgba(130,77,255,.30),rgba(4,13,25,.3))}
.vwd-fp__project--amber .vwd-fp__project-preview{background:linear-gradient(135deg,rgba(232,156,45,.29),rgba(4,13,25,.3))}
.vwd-fp__browser-bar{background:rgba(4,13,25,.48)}.vwd-fp__browser-bar span{margin-left:6px;color:rgba(255,255,255,.55);font-size:11px}
.vwd-fp__project-mark{position:absolute;inset:42px 24px 24px;display:grid;place-items:center;font-size:clamp(56px,9vw,100px);font-weight:900;letter-spacing:-.07em;color:rgba(255,255,255,.92);text-shadow:0 15px 45px rgba(0,0,0,.22)}
.vwd-fp__project-body{padding:28px}.vwd-fp__project-body>p{margin-bottom:8px;color:#7fbfff;font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.vwd-fp__project-body h3{margin-bottom:14px;font-size:27px}.vwd-fp__project-body>span{display:block;min-height:78px;color:var(--vwd-muted)}.vwd-fp__project-body strong{display:inline-block;margin-top:22px;font-size:14px}
.vwd-fp__section--bespoke{background:#06101d}.vwd-fp__bespoke-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.vwd-fp__sticky-copy{align-self:start;position:sticky;top:40px}.vwd-fp__sticky-copy>p:not(.vwd-fp__eyebrow){color:var(--vwd-muted);font-size:18px}
.vwd-fp__text-link{font-weight:800;color:#85c9ff!important;text-decoration:none}.vwd-fp__products{display:grid;gap:14px}
.vwd-fp__product{display:block;padding:25px 28px;border:1px solid var(--vwd-border);border-radius:22px;background:rgba(255,255,255,.035);text-decoration:none;transition:border-color .2s ease,transform .2s ease,background .2s ease}
a.vwd-fp__product:hover{transform:translateX(4px);border-color:rgba(74,168,255,.38);background:rgba(74,168,255,.055)}
.vwd-fp__product-top{display:flex;justify-content:space-between;color:#7fbfff;font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:900}
.vwd-fp__product h3{margin:8px 0 7px;font-size:22px}.vwd-fp__product p{margin-bottom:0;color:var(--vwd-muted)}
.vwd-fp__photo-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:45px}.vwd-fp__photo-intro>p{color:var(--vwd-muted);font-size:18px}
.vwd-fp__gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:12px}.vwd-fp__gallery-item{margin:0;border-radius:20px;overflow:hidden;background:#122338}
.vwd-fp__gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.vwd-fp__gallery-item:hover img{transform:scale(1.035)}
.vwd-fp__gallery-item--1,.vwd-fp__gallery-item--4{grid-column:span 7;grid-row:span 2}.vwd-fp__gallery-item--2,.vwd-fp__gallery-item--3,.vwd-fp__gallery-item--5,.vwd-fp__gallery-item--6{grid-column:span 5}
.vwd-fp__photo-placeholder{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:12px;min-height:380px}.vwd-fp__photo-placeholder>div{display:grid;place-items:center;min-height:210px;padding:30px;border:1px dashed rgba(255,255,255,.18);border-radius:24px;background:linear-gradient(150deg,rgba(74,168,255,.08),rgba(255,255,255,.02));text-align:center;color:#85a0bb}.vwd-fp__photo-placeholder>div:nth-child(2){transform:translateY(45px)}
.vwd-fp__photo-link{margin-top:28px}
.vwd-fp__section--about{background:linear-gradient(90deg,rgba(25,126,255,.07),transparent 45%),#08131f}.vwd-fp__about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.vwd-fp__about-grid>div:last-child{color:var(--vwd-muted);font-size:18px}
.vwd-fp__cta{padding:0 0 110px;background:#08131f}.vwd-fp__cta-box{padding:70px;border:1px solid rgba(71,165,255,.22);border-radius:32px;background:radial-gradient(circle at 85% 0%,rgba(36,137,255,.18),transparent 36%),linear-gradient(145deg,#0d1b2d,#091523);box-shadow:0 30px 80px rgba(0,0,0,.22)}
.vwd-fp__cta-box p:not(.vwd-fp__eyebrow){max-width:700px;color:var(--vwd-muted);font-size:18px}
@media(max-width:900px){.vwd-fp__hero{min-height:auto}.vwd-fp__hero-grid,.vwd-fp__section-head--split,.vwd-fp__bespoke-grid,.vwd-fp__photo-intro,.vwd-fp__about-grid{grid-template-columns:1fr}.vwd-fp__three,.vwd-fp__projects{grid-template-columns:1fr}.vwd-fp__sticky-copy{position:static}.vwd-fp__project-body>span{min-height:0}}
@media(max-width:640px){.vwd-fp__shell{width:min(100% - 24px,1180px)}.vwd-fp__hero,.vwd-fp__section{padding-top:72px;padding-bottom:72px}.vwd-fp__hero-grid{gap:45px}.vwd-fp__window{transform:none}.vwd-fp__window-content{padding:28px 20px}.vwd-fp__metric-grid{grid-template-columns:1fr 1fr}.vwd-fp__projects{gap:16px}.vwd-fp__project-preview{min-height:210px}.vwd-fp__gallery,.vwd-fp__photo-placeholder{display:grid;grid-template-columns:1fr;grid-auto-rows:auto;min-height:0}.vwd-fp__gallery-item,.vwd-fp__gallery-item--1,.vwd-fp__gallery-item--2,.vwd-fp__gallery-item--3,.vwd-fp__gallery-item--4,.vwd-fp__gallery-item--5,.vwd-fp__gallery-item--6{grid-column:auto;grid-row:auto;min-height:240px}.vwd-fp__photo-placeholder>div:nth-child(2){transform:none}.vwd-fp__cta-box{padding:38px 24px}}
@media(prefers-reduced-motion:reduce){.vwd-fp *,.vwd-fp *::before,.vwd-fp *::after{scroll-behavior:auto!important;transition:none!important}}


/*
 * Full-bleed layout.
 *
 * The shortcode can be inserted inside a theme's narrow content container.
 * Expand the showcase to the viewport so its own internal .vwd-fp__shell
 * controls the readable content width.
 */
.vwd-fp {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: none !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
}

.vwd-fp__shell {
	width: min(1180px, calc(100% - 40px));
	max-width: none;
}

@supports (width: 100dvw) {
	.vwd-fp {
		width: 100dvw;
		margin-left: -50dvw !important;
		margin-right: -50dvw !important;
	}
}


/* Project branding */
.vwd-fp__project-logo {
	position: absolute;
	inset: 52px 24px 22px;
	display: grid;
	place-items: center;
	padding: 10px;
}

.vwd-fp__project-logo img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 460px;
	max-height: 185px;
	object-fit: contain;
	filter: drop-shadow(0 14px 28px rgba(0, 0, 0, .28));
}

.vwd-fp__project--blue .vwd-fp__project-logo img,
.vwd-fp__project--amber .vwd-fp__project-logo img {
	background: rgba(255, 255, 255, .96);
	border-radius: 18px;
	padding: 8px;
}

/* Author showcase */
.vwd-fp__section--author {
	background:
		radial-gradient(circle at 18% 50%, rgba(78, 132, 255, .13), transparent 28%),
		#08131f;
}

.vwd-fp__author-grid {
	display: grid;
	grid-template-columns: .72fr 1.28fr;
	gap: 70px;
	align-items: center;
}

.vwd-fp__author-mark {
	min-height: 370px;
	display: grid;
	place-items: center;
	align-content: center;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 30px;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .015)),
		radial-gradient(circle at 50% 30%, rgba(74, 168, 255, .17), transparent 42%);
	box-shadow: 0 30px 70px rgba(0, 0, 0, .20);
}

.vwd-fp__author-mark span {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(88px, 12vw, 150px);
	line-height: .85;
	letter-spacing: -.08em;
	color: #f7fbff;
}

.vwd-fp__author-mark small {
	display: block;
	margin-top: 24px;
	text-transform: uppercase;
	letter-spacing: .32em;
	font-size: 12px;
	font-weight: 800;
	color: #7fc5ff;
}

.vwd-fp__author-copy > p:not(.vwd-fp__eyebrow) {
	max-width: 700px;
	color: var(--vwd-muted);
	font-size: 18px;
}

.vwd-fp__author-copy .vwd-fp__button {
	margin-top: 12px;
}

@media(max-width:900px) {
	.vwd-fp__author-grid {
		grid-template-columns: 1fr;
	}
	.vwd-fp__author-mark {
		min-height: 260px;
	}
}


/* Photography portfolio */
.vwd-fp__gallery {
	grid-template-columns: repeat(12, 1fr);
	grid-auto-rows: 120px;
	gap: 12px;
}

.vwd-fp__gallery-item {
	min-height: 0;
}

.vwd-fp__gallery-item--1,
.vwd-fp__gallery-item--4,
.vwd-fp__gallery-item--7 {
	grid-column: span 5;
	grid-row: span 4;
}

.vwd-fp__gallery-item--2,
.vwd-fp__gallery-item--5,
.vwd-fp__gallery-item--8 {
	grid-column: span 3;
	grid-row: span 3;
}

.vwd-fp__gallery-item--3,
.vwd-fp__gallery-item--6 {
	grid-column: span 4;
	grid-row: span 3;
}

.vwd-fp__gallery-button {
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
	display: block;
}

.vwd-fp__gallery-button img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vwd-fp__lightbox[hidden] {
	display: none;
}

.vwd-fp__lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	place-items: center;
	padding: 32px;
	background: rgba(2, 8, 18, .94);
	backdrop-filter: blur(8px);
}

.vwd-fp__lightbox img {
	max-width: min(92vw, 1500px);
	max-height: 90vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 16px;
	box-shadow: 0 30px 90px rgba(0, 0, 0, .55);
}

.vwd-fp__lightbox-close {
	position: fixed;
	top: 18px;
	right: 22px;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
}

html.vwd-fp-lightbox-open {
	overflow: hidden;
}

@media(max-width:900px) {
	.vwd-fp__gallery {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 260px;
	}

	.vwd-fp__gallery-item,
	.vwd-fp__gallery-item--1,
	.vwd-fp__gallery-item--2,
	.vwd-fp__gallery-item--3,
	.vwd-fp__gallery-item--4,
	.vwd-fp__gallery-item--5,
	.vwd-fp__gallery-item--6,
	.vwd-fp__gallery-item--7,
	.vwd-fp__gallery-item--8 {
		grid-column: auto;
		grid-row: auto;
		min-height: 0;
	}
}

@media(max-width:560px) {
	.vwd-fp__gallery {
		grid-template-columns: 1fr;
		grid-auto-rows: 360px;
	}

	.vwd-fp__lightbox {
		padding: 16px;
	}
}


/* Author portrait */
.vwd-fp__author-portrait-wrap {
	margin: 0;
	overflow: hidden;
	border-radius: 24px;
	background: #081424;
	box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

.vwd-fp__author-portrait {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 720px;
	object-fit: cover;
	object-position: 50% 22%;
}
