/*
Theme Name: PerkJolt Editorial
Theme URI: https://perkjolt.com/
Description: An original travel rewards editorial child theme for Blocksy.
Author: PerkJolt
Template: blocksy
Version: 1.1.0
Text Domain: perkjolt-editorial
*/

:root {
	--pj-ink: #172a36;
	--pj-muted: #657681;
	--pj-teal: #146b68;
	--pj-teal-dark: #0d4f50;
	--pj-coral: #ef754f;
	--pj-gold: #f2b84b;
	--pj-paper: #faf8f2;
	--pj-card: #fffefa;
	--pj-line: #deded4;
	--pj-serif: Georgia, 'Times New Roman', serif;
}

body { background:var(--pj-paper); color:var(--pj-ink); font-family:Inter, 'Avenir Next', Avenir, sans-serif; }
.home #header,.home #footer { display:none; }
.pj-home { max-width:1320px; margin:0 auto; padding:28px 34px 76px; }
.pj-topline { display:flex; justify-content:space-between; gap:16px; padding:0 0 12px; border-bottom:1px solid var(--pj-line); color:var(--pj-muted); font-size:10px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.pj-topline span:last-child { color:var(--pj-teal); }
.pj-masthead { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:20px 0 21px; border-bottom:1px solid var(--pj-line); }
.pj-brand { display:inline-flex; align-items:center; gap:11px; color:var(--pj-ink); font:800 31px/.9 var(--pj-serif); letter-spacing:-1.4px; text-decoration:none; }
.pj-brand img { display:block; width:42px; height:42px; }
.pj-brand-name { color:var(--pj-ink); }
.pj-brand-name span { color:var(--pj-teal); }
.pj-tagline { margin:8px 0 0 53px; color:var(--pj-muted); font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.pj-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:25px; }
.pj-nav a { position:relative; color:var(--pj-ink); font-size:12px; font-weight:750; text-decoration:none; }
.pj-nav a::after { position:absolute; right:0; bottom:-7px; left:0; height:2px; background:var(--pj-coral); content:''; transform:scaleX(0); transform-origin:left; transition:transform .18s ease; }
.pj-nav a:hover::after,.pj-nav a:focus-visible::after { transform:scaleX(1); }
.pj-intro { display:flex; align-items:end; justify-content:space-between; gap:28px; padding:38px 0 25px; }
.pj-eyebrow { color:var(--pj-teal); font-size:10px; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.pj-intro h1 { max-width:800px; margin:10px 0 0; font:700 clamp(38px,5.5vw,68px)/.98 var(--pj-serif); letter-spacing:-2.8px; }
.pj-intro p { max-width:340px; margin:0 0 5px; color:var(--pj-muted); font-size:14px; line-height:1.75; }
.pj-lead { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(285px,.8fr); min-height:410px; overflow:hidden; border-radius:10px; background:var(--pj-teal-dark); color:white; box-shadow:0 16px 36px rgba(23,42,54,.09); }
.pj-lead-art { position:relative; display:flex; align-items:end; min-height:410px; padding:40px; isolation:isolate; background:linear-gradient(0deg,rgba(10,42,45,.83),rgba(10,42,45,.03) 76%),radial-gradient(ellipse at 78% 23%,#f8c87e 0,rgba(248,200,126,.45) 8%,transparent 27%),linear-gradient(137deg,#a5c2b3 0%,#448b83 43%,#1e5960 72%,#173d4a 100%); }
.pj-lead-art::before { position:absolute; z-index:-1; inset:0; background:linear-gradient(145deg,transparent 0 47%,rgba(13,53,59,.56) 47.2% 50%,transparent 50.2%),linear-gradient(30deg,transparent 0 56%,rgba(255,255,255,.18) 56.2% 56.8%,transparent 57%),repeating-linear-gradient(170deg,transparent 0 37px,rgba(255,255,255,.07) 38px,transparent 39px 72px); content:''; clip-path:polygon(0 26%,16% 34%,31% 25%,47% 32%,65% 15%,78% 28%,100% 8%,100% 100%,0 100%); opacity:.76; }
.pj-lead-copy { position:relative; z-index:1; max-width:700px; }
.pj-lead-copy .pj-eyebrow { color:#ffd286; }
.pj-lead h2 { margin:13px 0 12px; color:white; font:700 clamp(34px,4.5vw,58px)/1 var(--pj-serif); letter-spacing:-1.8px; }
.pj-lead h2 a { color:inherit; text-decoration:none; }
.pj-lead p { max-width:590px; margin:0; color:rgba(255,255,255,.86); font-size:14px; line-height:1.7; }
.pj-lead-side { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:38px 34px; background:var(--pj-teal-dark); }
.pj-lead-side::before { position:absolute; top:30px; left:34px; width:34px; height:3px; background:var(--pj-coral); content:''; }
.pj-lead-side h3 { margin:14px 0 11px; color:white; font:700 31px/1.07 var(--pj-serif); letter-spacing:-.5px; }
.pj-lead-side p { color:#c9dbd9; font-size:13px; line-height:1.7; }
.pj-lead-side p:last-child { color:#f4c878; font-size:11px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.pj-button { display:inline-flex; align-self:flex-start; align-items:center; gap:10px; margin-top:14px; padding:12px 16px; border-radius:4px; background:var(--pj-coral); color:#202f34; font-size:10px; font-weight:850; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.pj-button:hover,.pj-button:focus-visible { background:#ff986c; color:#202f34; }
.pj-section { padding-top:48px; }
.pj-section-head { display:flex; justify-content:space-between; align-items:baseline; gap:18px; margin-bottom:18px; border-bottom:1px solid var(--pj-line); }
.pj-section-head h2 { margin:0 0 13px; font:700 29px/1.1 var(--pj-serif); letter-spacing:-.65px; }
.pj-section-head a { color:var(--pj-teal); font-size:10px; font-weight:850; text-decoration:none; text-transform:uppercase; letter-spacing:.1em; }
.pj-section-head a:hover { color:var(--pj-coral); }
.pj-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pj-card { min-width:0; overflow:hidden; border:1px solid var(--pj-line); border-radius:7px; background:var(--pj-card); transition:transform .2s ease,box-shadow .2s ease; }
.pj-card:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(23,42,54,.09); }
.pj-card-image { position:relative; display:block; height:190px; overflow:hidden; background:radial-gradient(circle at 78% 25%,#f3c77d,transparent 20%),linear-gradient(140deg,#aac7b6,#4e8e88 56%,#244f58); }
.pj-card-image::after { position:absolute; inset:0; background:linear-gradient(0deg,rgba(18,54,58,.15),transparent 55%); content:''; pointer-events:none; }
.pj-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.pj-card:hover .pj-card-image img { transform:scale(1.04); }
.pj-card:nth-child(3n+2) .pj-card-image { background:radial-gradient(circle at 28% 32%,#ecd49a,transparent 24%),linear-gradient(140deg,#b6c9ba,#4b8588 56%,#294e5b); }
.pj-card:nth-child(3n+3) .pj-card-image { background:radial-gradient(circle at 70% 27%,#f3d18d,transparent 22%),linear-gradient(140deg,#c6c8a3,#56878a 55%,#274f60); }
.pj-card-copy { padding:19px 20px 20px; }
.pj-card .pj-eyebrow { font-size:9px; }
.pj-card h3 { margin:8px 0 9px; font:700 22px/1.13 var(--pj-serif); letter-spacing:-.35px; }
.pj-card h3 a { color:var(--pj-ink); text-decoration:none; }
.pj-card h3 a:hover { color:var(--pj-teal); }
.pj-card p { margin:0; color:var(--pj-muted); font-size:12px; line-height:1.65; }
.pj-meta { margin-top:14px; color:#85918e; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.pj-destinations { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.pj-destination { position:relative; display:flex; min-height:145px; flex-direction:column; justify-content:end; overflow:hidden; padding:20px; border-radius:7px; background:linear-gradient(0deg,rgba(11,38,42,.82),transparent 80%),linear-gradient(135deg,#a9c4b5,#3f827d 58%,#244c56); color:white; text-decoration:none; transition:transform .2s ease; }
.pj-destination::after { position:absolute; top:18px; right:18px; width:24px; height:24px; border:1px solid rgba(255,255,255,.55); border-radius:50%; content:'↗'; display:grid; place-items:center; font-size:12px; }
.pj-destination:hover { color:white; transform:translateY(-3px); }
.pj-destination:nth-child(2) { background:linear-gradient(0deg,rgba(11,38,42,.82),transparent 80%),linear-gradient(135deg,#dfc497,#7d9690 58%,#344e61); }
.pj-destination:nth-child(3) { background:linear-gradient(0deg,rgba(11,38,42,.82),transparent 80%),linear-gradient(135deg,#c2c59d,#57858a 58%,#24495b); }
.pj-destination:nth-child(4) { background:linear-gradient(0deg,rgba(11,38,42,.82),transparent 80%),linear-gradient(135deg,#c6a894,#65878b 58%,#244c62); }
.pj-destination strong { font:700 23px/1.1 var(--pj-serif); }
.pj-destination small { margin-top:6px; color:#edf4ef; font-size:10px; }
.pj-newsletter { display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; margin-top:52px; padding:31px 35px; border:1px solid #e4ddc9; border-radius:8px; background:linear-gradient(115deg,#f1eddf,#ebe7d8); }
.pj-newsletter h2 { margin:7px 0; font:700 30px/1.08 var(--pj-serif); }
.pj-newsletter p { max-width:580px; margin:0; color:var(--pj-muted); font-size:13px; line-height:1.7; }
.pj-newsletter .pj-button { white-space:nowrap; }
.pj-empty { grid-column:1/-1; padding:24px; border:1px dashed var(--pj-line); border-radius:6px; color:var(--pj-muted); }
.pj-footer { display:flex; justify-content:space-between; gap:20px; padding-top:34px; margin-top:37px; border-top:1px solid var(--pj-line); color:var(--pj-muted); font-size:10px; letter-spacing:.07em; }
a:focus-visible { outline:3px solid var(--pj-gold); outline-offset:3px; }
@media (max-width:900px) {
	.pj-home { padding-right:24px; padding-left:24px; }
	.pj-nav { gap:16px; }
	.pj-lead { grid-template-columns:minmax(0,1.35fr) minmax(250px,.8fr); }
	.pj-lead-art { padding:30px; }
	.pj-lead-side { padding:34px 25px; }
	.pj-lead-side::before { left:25px; }
	.pj-grid { gap:14px; }
	.pj-card-image { height:160px; }
}
@media (max-width:680px) {
	.pj-home { padding:17px 17px 48px; }
	.pj-topline { font-size:8px; letter-spacing:.1em; }
	.pj-masthead { align-items:flex-start; flex-direction:column; gap:18px; padding:17px 0; }
	.pj-brand { font-size:28px; }
	.pj-brand img { width:38px; height:38px; }
	.pj-tagline { margin-left:49px; font-size:9px; }
	.pj-nav { justify-content:flex-start; gap:10px 20px; }
	.pj-nav a { font-size:11px; }
	.pj-intro { align-items:flex-start; flex-direction:column; gap:13px; padding:29px 0 20px; }
	.pj-intro h1 { font-size:clamp(39px,10vw,56px); letter-spacing:-1.8px; }
	.pj-intro p { max-width:520px; font-size:13px; }
	.pj-lead { grid-template-columns:1fr; border-radius:8px; }
	.pj-lead-art { min-height:340px; padding:25px; }
	.pj-lead-side { padding:29px 25px 25px; }
	.pj-lead-side::before { top:18px; left:25px; }
	.pj-lead-side h3 { max-width:380px; font-size:28px; }
	.pj-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
	.pj-card-image { height:145px; }
	.pj-card-copy { padding:14px; }
	.pj-card h3 { font-size:19px; }
	.pj-card p { font-size:11px; }
	.pj-destinations { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
	.pj-destination { min-height:125px; padding:15px; }
	.pj-newsletter { grid-template-columns:1fr; gap:7px; margin-top:38px; padding:23px; }
	.pj-newsletter h2 { font-size:27px; }
	.pj-newsletter .pj-button { margin-top:10px; }
}
@media (max-width:430px) {
	.pj-home { padding-right:14px; padding-left:14px; }
	.pj-topline span:last-child { text-align:right; }
	.pj-nav { gap:10px 15px; }
	.pj-grid { grid-template-columns:1fr; }
	.pj-card-image { height:190px; }
	.pj-card-copy { padding:17px; }
	.pj-section { padding-top:38px; }
	.pj-section-head { align-items:flex-start; flex-direction:column; gap:0; }
	.pj-section-head h2 { margin-bottom:8px; font-size:26px; }
	.pj-section-head a { margin-bottom:12px; }
	.pj-destination strong { font-size:20px; }
	.pj-footer { flex-direction:column; gap:7px; }
}
@media (prefers-reduced-motion:reduce) {
	*,*::before,*::after { scroll-behavior:auto !important; transition:none !important; }
}
