/*
Theme Name: James Shang Photography
Theme URI: https://james-shang-photography.jamesshangphotoography.chatgpt.site
Author: James Shang
Description: An editorial photography portfolio for coast, surf, aerial, tourism and country work.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: james-shang
*/
:root{--ink:#171816;--paper:#f0eee8;--rust:#a95338;--line:rgba(23,24,22,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans),Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.28)}.brand{display:flex;flex-direction:column;text-transform:uppercase;line-height:.9;letter-spacing:.11em;font-size:18px}.brand small{margin-top:7px;font-size:8px;letter-spacing:.42em;opacity:.72}nav{display:flex;align-items:center;gap:34px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}nav a{transition:opacity .2s}nav a:hover{opacity:.65}.nav-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.nav-social svg .dot{fill:currentColor;stroke:none}
.hero{height:min(900px,100vh);min-height:700px;position:relative;overflow:hidden;background:#181719;color:#fff}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.012)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,14,.67) 0%,rgba(5,8,14,.15) 61%,rgba(5,8,14,.22)),linear-gradient(0deg,rgba(5,8,14,.45),transparent 48%)}.hero-copy{position:absolute;left:8vw;bottom:11vh;width:min(760px,82vw)}.eyebrow,.section-number,.footer-kicker{font-size:10px;line-height:1;letter-spacing:.23em;text-transform:uppercase;font-weight:600}.hero h1{margin:24px 0 20px;font-family:Georgia,serif;font-size:clamp(64px,8.7vw,136px);font-weight:400;letter-spacing:-.055em;line-height:.78}.hero h1 em{font-weight:400;color:#e6c3ab}.intro{max-width:600px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.8)}.text-link{display:inline-flex;align-items:center;gap:22px;margin-top:28px;padding-bottom:7px;border-bottom:1px solid;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.text-link span{font-size:17px}.image-caption{position:absolute;right:5vw;bottom:28px;font-size:9px;text-transform:uppercase;letter-spacing:.2em;opacity:.7}
.statement{display:grid;grid-template-columns:1fr 3fr;gap:5vw;padding:145px 8vw 165px;border-bottom:1px solid var(--line)}.section-number{color:#7d7d76;padding-top:14px}blockquote{margin:0;max-width:1060px;font-family:Georgia,serif;font-size:clamp(38px,5.2vw,74px);line-height:1.08;letter-spacing:-.035em}.work{padding:145px 8vw 160px}.section-heading{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:6vw;margin-bottom:90px}.section-heading h2,.commissions h2,.about h2,footer h2{margin:22px 0 0;font-family:Georgia,serif;font-weight:400;font-size:clamp(52px,7vw,98px);line-height:.93;letter-spacing:-.045em}.section-heading>p{max-width:400px;color:#60615c;font-size:15px;line-height:1.8}.image-frame{overflow:hidden;background:#d7d5cf}.image-frame img{height:100%;object-fit:cover;transition:transform .65s ease}.image-frame:hover img{transform:scale(1.012)}.image-frame.landscape{aspect-ratio:16/9}.work-meta{display:grid;grid-template-columns:1fr 1fr auto;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}.work-meta h3,.work-meta p{margin:0}.work-meta h3{font:400 22px Georgia,serif}.work-meta p,.work-meta span{color:#70716b;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.editorial-pair{display:grid;grid-template-columns:1fr 1fr;gap:7vw;margin-top:115px;align-items:end}.portrait-card{width:78%}.image-frame.portrait{aspect-ratio:1/1}.image-frame.square{aspect-ratio:1/1}.spaced{margin-top:120px}.work-divider{display:grid;grid-template-columns:1fr 2fr;gap:7vw;margin:155px 0 70px;padding-top:28px;border-top:1px solid var(--line)}.work-divider>p:last-child{margin:0;max-width:670px;font:400 clamp(30px,3.2vw,46px)/1.23 Georgia,serif;letter-spacing:-.025em}.country-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw 4vw}.country-primary{grid-column:1/-1}.country-main{aspect-ratio:16/8.8}.country-side{aspect-ratio:16/10}
.commissions{background:#a95338;color:#f4ede8;display:grid;grid-template-columns:1.05fr .95fr;min-height:780px}.commission-copy{padding:125px 8vw;display:flex;flex-direction:column;justify-content:center}.section-number.light{color:#e2b9aa}.commissions h2{font-size:clamp(52px,6vw,88px)}.commission-copy>p:not(.section-number){max-width:540px;color:#ebcfc5;line-height:1.85;font-size:15px}.commission-image{position:relative;min-height:650px;overflow:hidden}.commission-image img{height:100%;object-fit:cover}.commission-image span{position:absolute;right:26px;bottom:25px;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:white;text-shadow:0 1px 10px #000}.about{background:#1c1d1b;color:#eeece5;padding:145px 8vw;display:grid;grid-template-columns:1fr 3fr;gap:5vw}.about .section-number{color:#9b9b91}.about h2{font-size:clamp(42px,5.3vw,76px);max-width:1100px;margin-top:0}.about-columns{margin-top:80px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;color:#aaa9a2;font-size:14px;line-height:1.9}footer{position:relative;background:#efede7;color:var(--ink);padding:125px 8vw 40px}footer h2{font-size:clamp(60px,9vw,128px)}.footer-kicker{color:var(--rust)}.social-links{display:flex;gap:16px;margin-top:80px}.social-links a{display:flex;align-items:center;gap:12px;padding:14px 20px;border:1px solid rgba(23,24,22,.3);border-radius:100px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;transition:.2s}.social-links a:hover{background:var(--ink);color:#fff}.social-links svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.social-links svg path{fill:currentColor;stroke:none}.social-links .dot{fill:currentColor;stroke:none}.copyright{margin:90px 0 0;padding-top:24px;border-top:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.16em}
@media(max-width:760px){.site-header{height:84px}.site-header nav>a:not(.nav-social){display:none}.hero{min-height:660px}.hero>img{object-position:58% center}.hero-copy{left:7vw;bottom:10vh;width:86vw}.hero h1{font-size:57px}.intro{font-size:13px;max-width:90%}.image-caption{display:none}.statement,.about{grid-template-columns:1fr;padding:85px 7vw}.statement{gap:35px}blockquote{font-size:38px}.work{padding:85px 7vw 100px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:50px}.section-heading h2{font-size:52px}.image-frame.landscape,.country-main{aspect-ratio:4/3}.editorial-pair{grid-template-columns:1fr;margin-top:65px;gap:60px}.portrait-card{width:82%}.wide-card{width:82%;margin-left:auto}.spaced{margin-top:70px}.work-divider{grid-template-columns:1fr;margin:95px 0 45px;gap:25px}.work-divider>p:last-child{font-size:29px}.country-grid{grid-template-columns:1fr;gap:55px}.country-primary{grid-column:auto}.country-side{aspect-ratio:4/3}.work-meta{grid-template-columns:1fr auto}.work-meta p{display:none}.commissions{grid-template-columns:1fr}.commission-copy{padding:85px 7vw}.commissions h2{font-size:50px}.commission-image{min-height:620px}.about{gap:45px}.about h2{font-size:41px}.about-columns{grid-template-columns:1fr;margin-top:48px;gap:16px}footer{padding:85px 7vw 30px}.social-links{margin-top:55px;flex-wrap:wrap}.copyright{margin-top:65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.image-frame img{transition:none}}
.brand,.custom-logo-link{display:block;width:78px;height:78px}.brand img,.custom-logo{width:100%;height:100%;object-fit:contain}@media(max-width:760px){.brand,.custom-logo-link{width:62px;height:62px}}
.content-page{min-height:70vh;padding:170px 8vw 100px}.content-page article{max-width:900px;margin:auto}.content-page h1{font:400 clamp(48px,7vw,86px)/1 Georgia,serif}.content-page p{font-size:17px;line-height:1.8}
