/*
Theme Name: Wade Stephens Photography Portrait Layout
Theme URI: https://wade-stephens.com/
Author: Wade Stephens Photography
Description: A refined, editorial WordPress theme for portrait, fashion, and boudoir photography.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: wade-stephens
*/
:root {
  --ws-ink: #242322;
  --ws-paper: #f4f0e8;
  --ws-stone: #b8afa3;
  --ws-white: #fffdf9;
  --ws-muted: #6e6861;
  --ws-line: rgba(36,35,34,.18);
  --ws-serif: Georgia, "Times New Roman", serif;
  --ws-sans: Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ws-paper); color: var(--ws-ink); font-family: var(--ws-sans); line-height: 1.65; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { opacity: .72; }
img { max-width: 100%; height: auto; display: block; }
.site-header { position: relative; z-index: 10; display:flex; align-items:center; justify-content:space-between; gap:24px; padding: 22px clamp(20px,5vw,76px); background: var(--ws-paper); border-bottom:1px solid var(--ws-line); }
.brand { text-decoration:none; display:flex; flex-direction:column; line-height:1.15; }
.brand-name { font-family:var(--ws-serif); font-size:clamp(19px,2vw,25px); letter-spacing:.04em; text-transform:uppercase; }
.brand-tag { font-size:9px; letter-spacing:.28em; text-transform:uppercase; margin-top:5px; }
.main-nav ul { display:flex; flex-wrap:wrap; gap:clamp(12px,2vw,30px); padding:0; margin:0; list-style:none; }
.main-nav a { font-size:11px; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; }
.menu-toggle { display:none; }
.hero { min-height:min(88vh,900px); display:grid; grid-template-columns:1fr minmax(320px,.72fr); background:var(--ws-ink); color:var(--ws-paper); }
.hero-copy { padding:clamp(40px,8vw,120px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.eyebrow { font-size:10px; text-transform:uppercase; letter-spacing:.24em; margin:0 0 24px; }
h1,h2,h3 { font-family:var(--ws-serif); font-weight:400; line-height:1.06; }
h1 { font-size:clamp(42px,6.2vw,88px); letter-spacing:-.035em; margin:0 0 24px; }
h2 { font-size:clamp(34px,4vw,58px); letter-spacing:-.025em; margin:0 0 20px; }
h3 { font-size:clamp(24px,2.5vw,34px); margin:0 0 12px; }
.hero-copy p:not(.eyebrow) { max-width:520px; color:rgba(244,240,232,.78); }
.hero-media { min-height:min(88vh,900px); position:relative; overflow:hidden; background:#242322; display:flex; align-items:center; justify-content:center; padding:18px; }
.hero-media img { width:100%; height:100%; max-height:min(88vh,900px); object-fit:contain; object-position:center center; position:relative; inset:auto; }
.image-placeholder { min-height:100%; display:flex; align-items:flex-end; padding:28px; color:rgba(255,253,249,.7); font-size:10px; letter-spacing:.14em; text-transform:uppercase; background:linear-gradient(160deg,rgba(255,255,255,.08),transparent 40%),linear-gradient(25deg,#171615,#5c5149); }
.button, .wp-block-button__link { display:inline-block; padding:14px 22px; border:1px solid currentColor; background:transparent; color:inherit; text-decoration:none; text-transform:uppercase; letter-spacing:.13em; font-size:10px; transition:all .2s ease; }
.button:hover,.wp-block-button__link:hover { background:var(--ws-paper); color:var(--ws-ink); opacity:1; }
.button-dark { background:var(--ws-ink); color:var(--ws-paper); border-color:var(--ws-ink); }
.section { padding:clamp(56px,8vw,112px) clamp(20px,6vw,90px); }
.section-heading { max-width:760px; margin:0 auto 42px; text-align:center; }
.section-heading p { color:var(--ws-muted); }
.experience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.experience-card { min-height:360px; position:relative; display:flex; align-items:flex-end; padding:clamp(24px,4vw,48px); color:var(--ws-white); background:linear-gradient(145deg,#776b60,#252321 78%); overflow:hidden; text-decoration:none; }
.experience-card:nth-child(2) { background:linear-gradient(145deg,#b7a99b,#39312d 78%); }
.experience-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.68),transparent 65%); }
.experience-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.experience-card > span { position:relative; z-index:1; }
.experience-card small { display:block; text-transform:uppercase; letter-spacing:.18em; font-size:10px; margin-bottom:12px; }
.experience-card strong { font-family:var(--ws-serif); font-size:clamp(32px,4vw,52px); font-weight:400; }
.featured-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.featured-item { background:#ddd4c9; aspect-ratio:4/5; overflow:hidden; display:flex; align-items:flex-end; }
.featured-item img { width:100%; height:100%; object-fit:cover; }
.featured-placeholder { width:100%; height:100%; min-height:260px; background:linear-gradient(150deg,#9a8d80,#37322e); }
.statement { background:#e8e1d7; text-align:center; }
.statement blockquote { max-width:900px; margin:0 auto; font-family:var(--ws-serif); font-size:clamp(30px,4.4vw,60px); line-height:1.15; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,6vw,90px); align-items:center; }
.split-media { min-height:440px; background:linear-gradient(145deg,#a99b8b,#2b2825); }
.split-media img { width:100%; height:100%; min-height:440px; object-fit:cover; }
.copy { max-width:620px; }
.copy p { color:var(--ws-muted); }
.cta-band { background:var(--ws-ink); color:var(--ws-paper); display:flex; align-items:center; justify-content:space-between; gap:28px; }
.cta-band p { color:rgba(244,240,232,.72); }
.page-hero { background:var(--ws-ink); color:var(--ws-paper); padding:clamp(70px,10vw,140px) clamp(20px,7vw,100px); }
.page-hero .inner { max-width:900px; }
.page-hero p { max-width:680px; color:rgba(244,240,232,.75); }
.page-content { max-width:1100px; margin:0 auto; padding:clamp(48px,7vw,92px) 24px; }
.page-content > * { max-width:820px; margin-left:auto; margin-right:auto; }
.page-content .alignwide { max-width:1100px; }
.page-content .alignfull { max-width:none; }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.portfolio-tile { aspect-ratio:4/5; background:linear-gradient(145deg,#a89b8e,#282522); position:relative; overflow:hidden; }
.portfolio-tile img { width:100%; height:100%; object-fit:cover; }
.portfolio-note { color:var(--ws-muted); font-size:13px; text-align:center; margin-top:22px; }
.investment-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.investment-card { border:1px solid var(--ws-line); padding:28px; }
.investment-card p { color:var(--ws-muted); }
.site-footer { padding:42px clamp(20px,5vw,76px); background:#1c1b1a; color:var(--ws-paper); display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.site-footer p { color:rgba(244,240,232,.65); font-size:12px; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.footer-links a { text-decoration:none; }
.entry-title { margin-bottom:24px; }
.entry-content { color:#403c37; }
.entry-content h2,.entry-content h3 { color:var(--ws-ink); }
.entry-content a { color:inherit; }
.wp-block-image img { height:auto; }
.wp-block-gallery { gap:12px; }
input,textarea,select { width:100%; border:1px solid var(--ws-line); padding:13px 14px; background:var(--ws-white); color:var(--ws-ink); font:inherit; margin-top:6px; }
label { display:block; margin:14px 0; font-size:13px; }
@media (max-width: 800px) {
  .site-header { align-items:flex-start; }
  .main-nav ul { gap:10px 16px; justify-content:flex-end; }
  .main-nav a { font-size:10px; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { padding:58px 26px; }
  .hero-media { min-height:0; height:min(78vh,760px); padding:12px; }
  .hero-media img { max-height:100%; }
  .split { grid-template-columns:1fr; }
  .experience-grid,.featured-grid,.portfolio-grid,.investment-cards { grid-template-columns:1fr 1fr; }
  .cta-band,.site-footer { flex-direction:column; }
}
@media (max-width: 520px) {
  .site-header { flex-direction:column; }
  .main-nav ul { justify-content:flex-start; }
  .experience-grid,.featured-grid,.portfolio-grid,.investment-cards { grid-template-columns:1fr; }
  .experience-card { min-height:300px; }
  .featured-item { aspect-ratio:4/3; }
}
