/*
Theme Name: Patrick Felix
Theme URI: https://patrickfelix.com/
Author: Patrick Felix
Description: Cinematic single-page portfolio theme for Patrick Félix — ideas, stories, brands, culture and worlds.
Version: 2.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: patrickfelix
*/
:root{--gold:#d9aa57;--ink:#0c0b0a;--cream:#f2eadc;--line:rgba(217,170,87,.45);--rail:116px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b0a09;color:#f5efe5;font-family:Arial,Helvetica,sans-serif}.site-header{position:fixed;z-index:80;left:0;top:0;width:var(--rail);height:100vh;background:rgba(8,8,7,.93);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:26px 16px;backdrop-filter:blur(10px)}.brand{width:70px;height:70px;display:grid;place-items:center}.brand img{width:100%;height:100%;object-fit:contain;display:block}.site-header nav{margin:auto 0;display:flex;flex-direction:column;gap:15px;width:100%}.site-header nav a{color:#d9c49f;text-decoration:none;text-transform:uppercase;font:11px Georgia,serif;letter-spacing:.12em;transition:.25s}.site-header nav a:hover,.site-header nav a.active{color:var(--gold);transform:translateX(4px)}.menu{display:none}.progress{position:absolute;bottom:0;left:0;width:2px;height:0;background:var(--gold)}main,.site-footer{margin-left:var(--rail)}.panel{min-height:100svh;position:relative;overflow:hidden}.bg{position:absolute;inset:0;background-size:cover;background-position:center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.28) 52%,rgba(0,0,0,.08) 100%)}.copy{position:relative;z-index:3;max-width:650px;padding:12vh 7vw}.eyebrow{font-size:11px;letter-spacing:.38em;color:var(--gold);font-weight:700;margin:0 0 24px;text-transform:uppercase}h1,h2,blockquote{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.94;margin:0 0 28px}h1{font-size:clamp(64px,8vw,138px)}h2{font-size:clamp(52px,6vw,100px)}h3{font-family:Georgia,'Times New Roman',serif}em{color:var(--gold);font-weight:400}.lede,.copy>p:not(.eyebrow):not(.micro):not(.about-philosophy){font:18px/1.65 Georgia,serif;color:#ddd1bf;max-width:600px}.arrow{display:inline-flex;gap:24px;margin-top:24px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:11px;border-bottom:1px solid var(--gold);padding-bottom:10px}.section-no{position:absolute;right:3vw;bottom:3vw;z-index:3;color:#d9c49f;letter-spacing:.25em;font-size:10px}

/* ABOUT — same cinematic overlay language as the rest of the site */
.about-overlay .bg{background-position:center}.about-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.14) 42%,rgba(0,0,0,.84) 68%,rgba(0,0,0,.95) 100%)}.about-copy{margin-left:auto;max-width:700px;padding-left:4vw;padding-right:6vw}.about-copy h2{font-size:clamp(48px,5.4vw,92px)}.about-copy>p:not(.eyebrow):not(.about-philosophy){font-size:16px;line-height:1.6}.about-philosophy{font:italic 25px/1.3 Georgia,serif;color:var(--gold);margin-top:26px;border-left:1px solid var(--gold);padding-left:18px}

/* JOURNEY */
.journey .bg{background-position:center}.journey-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.42) 34%,rgba(0,0,0,.18) 64%,rgba(0,0,0,.48) 100%)}.journey-layout{position:relative;z-index:3;min-height:100svh;display:grid;grid-template-columns:minmax(320px,.72fr) minmax(600px,1.28fr);align-items:center;gap:3vw;padding:6vh 5vw}.journey-intro{padding:0;max-width:520px}.journey-intro h2{font-size:clamp(48px,5.7vw,88px)}.journey-experience{align-self:center;display:grid;grid-template-columns:minmax(170px,.6fr) minmax(340px,1fr);gap:24px;align-items:stretch}.journey-line{display:grid;gap:9px}.journey-stop{appearance:none;border:1px solid rgba(255,255,255,.16);background:rgba(8,8,7,.4);backdrop-filter:blur(7px);color:#d7c8af;text-align:left;padding:16px 16px;cursor:pointer;font:18px Georgia,serif;transition:.25s}.journey-stop span{display:block;color:var(--gold);font:9px Arial,sans-serif;letter-spacing:.2em;margin-bottom:6px}.journey-stop:hover,.journey-stop.active{border-color:var(--gold);background:rgba(15,12,8,.76);transform:translateX(-5px);color:#fff}.journey-card{background:rgba(8,8,7,.72);border:1px solid var(--line);backdrop-filter:blur(12px);padding:38px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.journey-card small{letter-spacing:.23em;color:#cbb78f;font-size:9px}.journey-card h3{font-size:48px;font-weight:400;margin:14px 0 10px}.journey-kicker{color:var(--gold);font-size:11px;letter-spacing:.16em;text-transform:uppercase;line-height:1.5}.journey-note{font:17px/1.6 Georgia,serif;color:#ded3c2}.philosophy .shade{background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.55) 62%,rgba(0,0,0,.82))}.copy.right{margin-left:auto}.philosophy blockquote{font-size:clamp(56px,6.6vw,110px)}.micro{color:var(--gold)!important;font:italic 18px Georgia,serif!important;margin-top:30px}.vision .shade{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.16) 65%)}

/* PRESS — real editable archive */
.press .bg{background-position:center}.press-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.58) 42%,rgba(0,0,0,.42) 100%)}.press-layout{position:relative;z-index:3;min-height:100svh;display:grid;grid-template-columns:minmax(340px,.75fr) minmax(560px,1.25fr);gap:3vw;align-items:center;padding:7vh 5vw}.press-intro{padding:0}.press-intro h2{font-size:clamp(48px,5.6vw,88px)}.press-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.press-filters button{background:rgba(5,5,5,.4);border:1px solid rgba(255,255,255,.22);color:#d8c8af;padding:10px 13px;text-transform:uppercase;letter-spacing:.13em;font-size:9px;cursor:pointer}.press-filters button.active,.press-filters button:hover{border-color:var(--gold);color:var(--gold)}.press-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:72vh;overflow:auto;padding-right:6px}.press-card{min-height:185px}.press-card.hidden{display:none}.press-open{width:100%;height:100%;background:rgba(9,8,7,.70);border:1px solid rgba(217,170,87,.35);padding:22px;color:#fff;text-align:left;display:flex;flex-direction:column;gap:10px;cursor:pointer;backdrop-filter:blur(10px);transition:.25s}.press-open:hover{transform:translateY(-4px);border-color:var(--gold);background:rgba(15,12,9,.88)}.press-type{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;font-size:9px}.press-open strong{font:25px/1.1 Georgia,serif;font-weight:400}.press-open>span:not(.press-type){color:#c7baa4;font:13px Georgia,serif}.press-open b{margin-top:auto;color:#d7b672;text-transform:uppercase;letter-spacing:.15em;font-size:9px}.press-empty{font:16px Georgia,serif;color:#d8c8af}.media-modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.86);display:none;place-items:center;padding:5vw}.media-modal.open{display:grid}.media-close{position:absolute;right:28px;top:18px;border:0;background:none;color:#fff;font-size:44px;cursor:pointer}.media-modal-inner{width:min(980px,92vw);max-height:88vh;overflow:auto;background:#12100e;border:1px solid var(--line);padding:28px}.media-modal-inner iframe{width:100%;aspect-ratio:16/9;border:0}.media-modal-inner h3{font-size:34px;margin:18px 0 8px}.media-modal-inner p{font:16px/1.6 Georgia,serif;color:#d4c9b9}.media-modal-inner a{display:inline-block;color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px;margin-top:8px;text-transform:uppercase;letter-spacing:.15em;font-size:10px}

/* WORLDS — each entire visual panel is the link */
.worlds-clean{background:#080706;display:flex;flex-direction:column;padding-top:7vh}.worlds-heading{position:relative;z-index:4;padding:0 5vw 3vh}.worlds-heading h2{font-size:clamp(44px,5vw,78px);margin-bottom:0}.world-panels{display:flex;flex:1;min-height:70svh;border-top:1px solid var(--line)}.world-panel{position:relative;flex:1;min-width:0;text-decoration:none;color:#fff;overflow:hidden;border-right:1px solid rgba(217,170,87,.35);transition:flex .55s cubic-bezier(.22,.61,.36,1)}.world-panel:last-child{border-right:0}.world-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.12) 56%,rgba(0,0,0,.06)),var(--world);background-size:cover;background-position:center;transition:transform .6s ease,filter .4s}.world-panel:hover{flex:1.22}.world-panel:hover:before{transform:scale(1.035);filter:brightness(1.07)}.world-panel>div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:32px}.world-panel small{color:#d2c4ab;letter-spacing:.12em;font-size:8px}.world-panel h3{font-size:clamp(29px,2.3vw,44px);font-weight:400;margin:10px 0 8px;color:#f5ead9}.world-panel span{display:block;font:italic 15px Georgia,serif;color:#cabca6;margin-bottom:17px}.world-panel b{display:inline-block;color:var(--gold);text-transform:uppercase;letter-spacing:.17em;font-size:9px;border-bottom:1px solid var(--gold);padding-bottom:6px}

/* CONTACT — image is scenery only, form is real HTML */
.contact-clean-bg{background-position:center}.contact-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.17),rgba(10,9,8,.30) 55%,rgba(10,9,8,.78))}.contact-wrap{position:relative;z-index:3;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:7vw}.contact-wrap .copy{padding:0 4vw 0 0}.contact form{display:grid;gap:10px;background:rgba(12,11,10,.58);padding:24px;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.13)}label{display:grid;gap:6px}label span{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#d6c5aa}input,select,textarea{width:100%;background:rgba(5,5,5,.52);border:1px solid rgba(255,255,255,.28);color:white;padding:14px;font:15px Georgia,serif;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}textarea{resize:vertical}.contact form button{background:transparent;color:var(--gold);border:1px solid var(--gold);padding:15px;text-transform:uppercase;letter-spacing:.25em;cursor:pointer}.form-status{font:13px Georgia,serif;color:#e5c27f;margin:4px 0 0}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.cf-turnstile{margin:4px 0 6px;min-height:65px}.site-footer{height:78px;background:#080706;border-top:1px solid rgba(217,170,87,.25);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#a99d89;font-size:11px;letter-spacing:.12em}.site-footer a{color:#c9b795;text-decoration:none;text-transform:uppercase;font-size:9px}.admin-bar .site-header{top:32px;height:calc(100vh - 32px)}

@media(max-width:1050px){.journey-layout,.press-layout{grid-template-columns:1fr}.journey-intro,.press-intro{max-width:700px}.journey-experience{grid-template-columns:.65fr 1fr}.press-grid{max-height:none}.world-panel:hover{flex:1}}
@media(max-width:900px){:root{--rail:0px}.site-header{width:100%;height:74px;flex-direction:row;justify-content:space-between;padding:10px 18px}.admin-bar .site-header{top:46px;height:74px}.brand{width:56px;height:56px}.menu{display:grid;background:none;border:0;gap:6px}.menu span{display:block;width:27px;height:1px;background:var(--gold)}.site-header nav{position:absolute;top:74px;left:0;width:100%;background:rgba(8,8,7,.97);padding:25px;display:none;margin:0}.site-header.open nav{display:grid;grid-template-columns:1fr 1fr}.progress{top:auto;bottom:0;width:0;height:2px}main,.site-footer{margin-left:0}.copy{padding:15vh 7vw 8vh}.about-shade{background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.18) 65%)}.about-copy{margin:0;padding-top:49vh;max-width:760px}.journey-layout{padding:12vh 6vw 7vh}.journey-experience{grid-template-columns:1fr}.journey-line{grid-template-columns:repeat(5,1fr);overflow:auto}.journey-stop{min-width:130px}.press-layout{padding:12vh 6vw 7vh}.worlds-clean{padding-top:11vh}.world-panels{flex-direction:column}.world-panel{min-height:52svh;border-right:0;border-bottom:1px solid rgba(217,170,87,.35)}.contact-wrap{grid-template-columns:1fr;padding:12vh 6vw 6vh;align-content:center}.contact-wrap .copy{padding:0}.contact-shade{background:rgba(8,7,6,.42)}.site-footer{height:auto;min-height:74px;padding:22px 5vw;gap:18px}}
@media(max-width:560px){h1{font-size:58px}h2{font-size:48px}.lede,.copy>p:not(.eyebrow):not(.micro):not(.about-philosophy){font-size:16px}.hero .bg{background-position:58% center}.about-overlay .bg{background-position:42% center}.journey .bg{background-position:56% center}.journey-card{padding:24px}.journey-card h3{font-size:38px}.philosophy .bg{background-position:38% center}.philosophy .shade{background:linear-gradient(0deg,rgba(0,0,0,.84),rgba(0,0,0,.1) 65%)}.copy.right{margin:0;padding-top:48vh}.vision .bg{background-position:60% center}.press .bg{background-position:60% center}.press-grid{grid-template-columns:1fr}.worlds-heading{padding-left:6vw;padding-right:6vw}.world-panel>div{padding:24px}.contact-wrap{padding-top:13vh}.contact form{padding:16px}.site-footer{flex-direction:column;align-items:flex-start}}


/* Final polish — September 2026 */
.philosophy .copy.right{margin-left:58%;margin-right:0;width:38vw;max-width:740px;padding:10vh 3vw 10vh 0}
.philosophy blockquote{font-size:clamp(54px,5.2vw,88px);line-height:.98;max-width:720px}
.philosophy .copy.right>p:not(.eyebrow):not(.micro){max-width:620px}
.vision-copy{max-width:700px}
.vision-body p{font:17px/1.62 Georgia,serif;color:#ddd1bf;max-width:610px;margin:0 0 16px}
.press-open{position:relative;overflow:hidden;isolation:isolate}
.press-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;opacity:.72;transition:transform .35s ease,filter .35s ease}
.press-open.has-thumb:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,rgba(8,7,6,.96) 0%,rgba(8,7,6,.68) 55%,rgba(8,7,6,.18) 100%)}
.press-open.has-thumb:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(217,170,87,.09),transparent 48%)}
.press-open.has-thumb:hover .press-thumb{transform:scale(1.045);filter:brightness(1.08)}
@media(max-width:1100px){.philosophy .copy.right{margin-left:43%;width:54vw}.philosophy blockquote{font-size:clamp(50px,6vw,76px)}}
@media(max-width:900px){.philosophy .copy.right{margin:0;width:auto;max-width:680px;padding:12vh 8vw}.philosophy blockquote{font-size:clamp(48px,13vw,74px)}.vision-body p{font-size:16px}}

/* Release 2.1.1 — final approved philosophy positioning */
.site-footer{display:flex!important;min-height:84px;background:#080706;border-top:1px solid rgba(217,170,87,.36);align-items:center;justify-content:space-between;padding:0 5vw;color:#d5c7b1;font:13px Georgia,serif;letter-spacing:.06em}
.site-footer a{color:var(--gold);text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font:10px Arial,sans-serif}
@media(max-width:900px){.site-footer{margin-left:0;min-height:76px}}
@media(max-width:560px){.site-footer{flex-direction:row;align-items:center}}
