/*
Theme Name: John Wiley Playwright
Theme URI: https://johnwileyplaywright.com
Author: John Wiley
Description: A custom WordPress theme for playwright, veteran, and storyteller John Wiley.
Version: 1.1
License: GNU General Public License v2 or later
Text Domain: john-wiley
*/
:root{--night:#1a1410;--deep:#1a1410;--charcoal:#e8d9c0;--warm:#e8d9c0;--amber:#c9933a;--amber-lt:#e8b95a;--ember:#8b3a1e;--cream:#1a1410;--mist:#6b5a48;--muted:#6b5a48;--ink:#1a1410;--parchment:#f5ede0;--aged:#e8d9c0;--rust:#8b3a1e;--gold:#c9933a;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--parchment);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;line-height:1.75;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:1000;opacity:0.5;}
.site-header{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 3rem;background:rgba(245,237,224,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--gold);}
.nav-logo{font-family:'Cinzel',serif;font-size:0.9rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--rust);text-decoration:none;}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);text-decoration:none;position:relative;transition:color 0.3s;}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;right:100%;height:1px;background:var(--gold);transition:right 0.35s ease;}
.nav-links a:hover,.nav-links a.current-menu-item{color:var(--rust);}
.nav-links a:hover::after,.nav-links a.current-menu-item::after{right:0;}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 3rem 5rem;position:relative;overflow:hidden;background:linear-gradient(170deg,#f0e4cc 0%,#e8d5b5 50%,#ddc89a 100%);}
.hero::before{content:'';position:absolute;bottom:0;left:-10%;width:70%;height:80%;background:radial-gradient(ellipse at 70% 30%,rgba(201,147,58,0.12) 0%,transparent 60%);z-index:0;}
.hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(139,58,30,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(139,58,30,0.05) 1px,transparent 1px);background-size:60px 60px;z-index:0;}
.hero-compass{position:absolute;top:8%;right:4%;width:380px;opacity:0.07;z-index:1;animation:slowSpin 80s linear infinite;}
@keyframes slowSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.hero-content{position:relative;z-index:2;max-width:800px;}
.hero-eyebrow{font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;opacity:0;animation:fadeUp 0.8s ease 0.2s forwards;}
.hero-title{font-family:'Cinzel',serif;font-size:clamp(3.5rem,8vw,7.5rem);font-weight:700;line-height:0.95;color:var(--ink);opacity:0;animation:fadeUp 0.8s ease 0.4s forwards;}
.hero-title em{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;color:var(--rust);}
.hero-rule{width:80px;height:2px;background:linear-gradient(90deg,var(--gold),var(--rust));margin:1.8rem 0;opacity:0;animation:fadeUp 0.8s ease 0.6s forwards;}
.hero-tagline{font-family:'IM Fell English',serif;font-style:italic;font-size:clamp(1.2rem,2.2vw,1.6rem);color:var(--muted);max-width:540px;line-height:1.6;opacity:0;animation:fadeUp 0.8s ease 0.8s forwards;}
.hero-cta{display:inline-block;margin-top:2.8rem;padding:0.85rem 2.4rem;border:1px solid var(--rust);font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--rust);text-decoration:none;transition:background 0.3s,color 0.3s;opacity:0;animation:fadeUp 0.8s ease 1.0s forwards;}
.hero-cta:hover{background:var(--rust);color:var(--parchment);}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.band{background:var(--ink);color:var(--parchment);padding:1.1rem 3rem;display:flex;align-items:center;gap:2rem;overflow:hidden;}
.band-text{font-family:'IM Fell English',serif;font-style:italic;font-size:1.05rem;white-space:nowrap;animation:marquee 28s linear infinite;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pillars{padding:7rem 3rem;display:grid;grid-template-columns:repeat(3,1fr);max-width:1200px;margin:0 auto;}
.pillar{padding:3.5rem 3rem;border-right:1px solid var(--aged);opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease;}
.pillar:not(:first-child){padding-left:3rem;}
.pillar.visible{opacity:1;transform:translateY(0);}
.pillar:nth-child(2){transition-delay:0.15s;}
.pillar:nth-child(3){transition-delay:0.3s;border-right:none;}
.pillar-num{font-family:'Cinzel',serif;font-size:3.5rem;font-weight:700;color:var(--gold);opacity:0.25;line-height:1;margin-bottom:1.2rem;}
.pillar-title{font-family:'Cinzel',serif;font-size:0.9rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--rust);margin-bottom:1rem;}
.pillar-body{font-size:1rem;color:var(--muted);line-height:1.8;}
.note-section{background:linear-gradient(135deg,#2a1f14 0%,#1a1410 100%);padding:8rem 3rem;position:relative;overflow:hidden;}
.note-section::before{content:'\201C';position:absolute;top:-2rem;left:50%;transform:translateX(-50%);font-family:'Cormorant Garamond',serif;font-size:30rem;color:rgba(201,147,58,0.06);line-height:1;pointer-events:none;}
.note-inner{max-width:820px;margin:0 auto;position:relative;z-index:1;text-align:center;}
.note-label{font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:2rem;}
.note-text{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.6rem,3vw,2.6rem);color:var(--parchment);line-height:1.5;margin-bottom:2rem;position:relative;z-index:1;}
.note-attr{font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);}
.projects-section{padding:7rem 3rem;background:var(--ink);position:relative;overflow:hidden;}
.projects-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;opacity:0.6;}
.projects-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(26,20,16,0.4) 0%,rgba(26,20,16,0.45) 50%,rgba(26,20,16,0.5) 100%);z-index:1;}
.projects-inner{max-width:1200px;margin:0 auto;position:relative;z-index:2;}
.projects-welcome{max-width:640px;margin-bottom:4rem;}
.projects-eyebrow{font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem;}
.projects-title{font-family:'Cinzel',serif;font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--parchment);line-height:1.1;}
.projects-rule{width:60px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:1.5rem 0;}
.projects-body{font-family:'IM Fell English',serif;font-style:italic;font-size:1.05rem;color:rgba(245,237,224,0.6);line-height:1.85;}
.projects-label{font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;display:block;}
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:700px;}
.project-card{background:rgba(245,237,224,0.04);border:1px solid rgba(201,147,58,0.15);overflow:hidden;transition:border-color 0.3s,transform 0.3s;}
.project-card:hover{border-color:rgba(201,147,58,0.4);transform:translateY(-4px);}
.project-poster-wrap{overflow:hidden;aspect-ratio:2/3;max-height:280px;}
.project-poster{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform 0.5s ease;}
.project-card:hover .project-poster{transform:scale(1.03);}
.project-info{padding:1rem 1.2rem 1.2rem;}
.project-tag{font-family:'Cinzel',serif;font-size:0.5rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:0.4rem;}
.project-name{font-family:'Cinzel',serif;font-size:1rem;font-weight:700;color:var(--parchment);margin-bottom:0.4rem;line-height:1.2;}
.project-desc{font-size:0.82rem;color:rgba(245,237,224,0.5);line-height:1.6;font-style:italic;}
.cta-band{padding:6rem 3rem;background:var(--aged);display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.cta-band-text{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2.5vw,2rem);font-style:italic;color:var(--ink);max-width:600px;}
.cta-band-link{display:inline-block;padding:1rem 2.8rem;background:var(--rust);font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--parchment);text-decoration:none;transition:background 0.3s;white-space:nowrap;}
.cta-band-link:hover{background:var(--ink);}
.signup-section{background:var(--aged);padding:6rem 3rem;}
.signup-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.signup-eyebrow{font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem;}
.signup-title{font-family:'Cinzel',serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;color:var(--ink);line-height:1.1;}
.signup-rule{width:50px;height:1px;background:linear-gradient(90deg,var(--gold),var(--rust));margin:1.5rem 0;}
.signup-body{font-size:1rem;color:var(--muted);line-height:1.85;}
.signup-form{display:flex;flex-direction:column;gap:1.2rem;}
.signup-field{display:flex;flex-direction:column;gap:0.4rem;}
.signup-field label{font-family:'Cinzel',serif;font-size:0.58rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);}
.signup-field input{padding:0.9rem 1.1rem;background:var(--parchment);border:1px solid transparent;border-bottom-color:var(--muted);font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--ink);outline:none;transition:border-color 0.25s;}
.signup-field input:focus{border-color:var(--gold);}
.signup-field input::placeholder{color:rgba(107,90,72,0.4);}
.signup-btn{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:0.5rem;padding:1rem 1.8rem;background:var(--rust);border:none;font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--parchment);cursor:pointer;transition:background 0.3s;width:100%;}
.signup-btn:hover{background:var(--ink);}
.signup-fine{font-size:0.78rem;color:rgba(107,90,72,0.5);font-style:italic;text-align:center;}
.signup-success{display:none;text-align:center;padding:3rem 2rem;border:1px solid rgba(201,147,58,0.3);background:rgba(245,237,224,0.6);}
.signup-success.visible{display:block;}
.signup-success-icon{font-size:2rem;color:var(--gold);margin-bottom:1rem;}
.signup-success-title{font-family:'Cinzel',serif;font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:0.6rem;}
.signup-success-sub{font-family:'IM Fell English',serif;font-style:italic;font-size:1rem;color:var(--muted);line-height:1.6;}
.page-header{margin-top:0;padding:10rem 3rem 5rem;background:linear-gradient(160deg,#2a1f14 0%,#1a1410 100%);position:relative;overflow:hidden;}
.page-header::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(201,147,58,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(201,147,58,0.06) 1px,transparent 1px);background-size:50px 50px;}
.curtain-left,.curtain-right{position:absolute;top:0;width:120px;height:100%;z-index:1;}
.curtain-left{left:0;background:linear-gradient(90deg,rgba(139,58,30,0.3),transparent);}
.curtain-right{right:0;background:linear-gradient(-90deg,rgba(139,58,30,0.3),transparent);}
.page-header-content{position:relative;z-index:2;max-width:1200px;margin:0 auto;}
.page-eyebrow{font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;}
.page-title{font-family:'Cinzel',serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:700;color:var(--parchment);line-height:1.1;margin-bottom:1.5rem;}
.page-subtitle{font-family:'IM Fell English',serif;font-style:italic;font-size:1.2rem;color:rgba(245,237,224,0.65);max-width:600px;}
.page-rule{width:60px;height:1px;background:linear-gradient(90deg,var(--gold),var(--rust));margin:2rem 0;}
.readings-section{max-width:1200px;margin:0 auto;padding:5rem 3rem;}
.portrait-hero{padding-top:80px;display:grid;grid-template-columns:1fr 1fr;min-height:90vh;}
.portrait-left{background:linear-gradient(140deg,#2a1f14,#1a1410);display:flex;flex-direction:column;justify-content:flex-end;padding:5rem 4rem;position:relative;overflow:hidden;}
.portrait-left::before{content:'';position:absolute;top:10%;right:-60px;width:300px;height:300px;border-radius:50%;border:1px dashed rgba(201,147,58,0.15);}
.portrait-frame{position:absolute;top:6rem;right:3rem;width:220px;height:280px;border:1px solid rgba(201,147,58,0.2);display:flex;align-items:center;justify-content:center;}
.portrait-initials{font-family:'Cinzel',serif;font-size:5rem;font-weight:700;color:rgba(201,147,58,0.2);}
.portrait-info{position:relative;z-index:2;}
.portrait-name{font-family:'Cinzel',serif;font-size:clamp(2.5rem,4vw,3.8rem);font-weight:700;color:var(--parchment);line-height:1.05;margin-bottom:1rem;}
.portrait-role{font-family:'IM Fell English',serif;font-style:italic;font-size:1.1rem;color:var(--gold);margin-bottom:2rem;}
.portrait-right{background:var(--aged);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center;}
.portrait-intro{font-family:'IM Fell English',serif;font-style:italic;font-size:clamp(1.25rem,2vw,1.6rem);color:var(--rust);line-height:1.5;margin-bottom:2rem;}
.portrait-body{font-size:1rem;color:var(--muted);line-height:1.85;}
.portrait-body p+p{margin-top:1.2rem;}
.travel-section{background:var(--ink);padding:7rem 3rem;position:relative;overflow:hidden;}
.travel-inner{max-width:1200px;margin:0 auto;}
.travel-header{margin-bottom:4rem;}
.travel-header .section-label{color:var(--gold);}
.travel-header .section-title{color:var(--parchment);}
.section-label{font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem;}
.section-title{font-family:'Cinzel',serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;color:var(--ink);}
.destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(245,237,224,0.04);}
.destination{padding:2.5rem;background:rgba(245,237,224,0.03);transition:background 0.3s;}
.destination:hover{background:rgba(201,147,58,0.08);}
.dest-region{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:0.8rem;}
.dest-name{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--parchment);margin-bottom:0.6rem;}
.dest-note{font-size:0.88rem;color:rgba(245,237,224,0.45);font-style:italic;line-height:1.6;}
.travel-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.travel-photo-card{overflow:hidden;border:1px solid rgba(201,147,58,0.15);transition:border-color 0.3s,transform 0.3s;}
.travel-photo-card:hover{border-color:rgba(201,147,58,0.45);transform:translateY(-4px);}
.travel-photo{width:100%;height:320px;object-fit:cover;object-position:center top;display:block;transition:transform 0.5s ease;}
.travel-photo-card:hover .travel-photo{transform:scale(1.04);}
.statement-section{padding:8rem 3rem;max-width:800px;margin:0 auto;text-align:center;}
.statement-eyebrow{font-family:'Cinzel',serif;font-size:0.65rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;}
.statement-text{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.55;color:var(--ink);margin-bottom:2.5rem;}
.statement-text em{font-style:italic;color:var(--rust);}
.statement-rule{width:60px;height:1px;background:var(--gold);margin:0 auto 2rem;}
.contact-section{background:var(--aged);padding:6rem 3rem;scroll-margin-top:80px;}
.contact-inner{max-width:700px;margin:0 auto;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;}
.contact-field{display:flex;flex-direction:column;gap:0.4rem;}
.contact-field label{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);}
.contact-field input,.contact-field textarea{padding:0.9rem 1rem;background:var(--parchment);border:1px solid var(--aged);border-bottom-color:var(--muted);font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--ink);outline:none;transition:border-color 0.25s;resize:vertical;}
.contact-field input:focus,.contact-field textarea:focus{border-color:var(--gold);}
.contact-field.full{grid-column:1/-1;}
.contact-submit{display:inline-block;padding:1rem 3rem;background:var(--rust);border:none;font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--parchment);cursor:pointer;transition:background 0.3s;}
.contact-submit:hover{background:var(--ink);}
.site-footer{background:var(--ink);color:var(--muted);padding:3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;}
.footer-logo{font-family:'Cinzel',serif;font-size:1rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--parchment);}
.footer-nav{display:flex;gap:2rem;list-style:none;}
.footer-nav a{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.3s;}
.footer-nav a:hover{color:var(--gold);}
.footer-copy{font-size:0.8rem;color:rgba(107,90,72,0.5);}
@media(max-width:900px){.site-header{padding:1rem 1.5rem;}.nav-links{gap:1.5rem;}.hero{padding:0 1.5rem 4rem;}.pillars{grid-template-columns:1fr;padding:4rem 1.5rem;}.pillar{border-right:none;border-bottom:1px solid var(--aged);padding:2.5rem 0;}.pillar:not(:first-child){padding-left:0;}.note-section,.projects-section{padding:5rem 1.5rem;}.projects-grid{grid-template-columns:1fr;gap:1.5rem;}.cta-band{flex-direction:column;text-align:center;padding:4rem 1.5rem;}.signup-section{padding:4rem 1.5rem;}.signup-inner{grid-template-columns:1fr;gap:2.5rem;}.portrait-hero{grid-template-columns:1fr;min-height:auto;}.portrait-left{min-height:60vh;padding:3rem 1.5rem;}.portrait-right{padding:3rem 1.5rem;}.travel-photos{grid-template-columns:1fr 1fr;}.travel-section{padding:4rem 1.5rem;}.contact-grid{grid-template-columns:1fr;}.contact-field.full{grid-column:1;}.site-footer{flex-direction:column;text-align:center;padding:2rem 1.5rem;}}
@media(max-width:600px){.nav-links{display:none;}.hero-title{font-size:3rem;}.travel-photos{grid-template-columns:1fr;}.portrait-name{font-size:2.2rem;}}
