/*
Theme Name: hin.fort
Theme URI: https://hinfort.com
Author: Uwe Golz
Description: Ruhiges, responsives Fotografie-Portfolio für hin.fort. Deutsch/Englisch, Galerien und Bildanfragen ohne Shop.
Version: 1.9.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: hinfort
*/

:root{--paper:#f3f1ea;--ink:#171816;--muted:#6f7069;--accent:#8b7838;--line:#d7d2c5;--dark:#292a23;--max:1220px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
img{display:block;max-width:100%;height:auto}
.screen-reader-text{position:absolute;left:-9999px}
.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(243,241,234,.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(215,210,197,.75)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:Georgia,serif;font-size:32px;letter-spacing:.02em}
.brand-sub{margin-top:8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:9px 12px;font-size:16px}
.main-nav ul{display:flex;align-items:center;gap:25px;list-style:none;margin:0;padding:0}
.main-nav a{text-decoration:none;font-size:14px;letter-spacing:.04em}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--accent)}
.main-nav li{position:relative}
.main-nav .sub-menu,.main-nav .children{display:none;position:absolute;left:-18px;top:100%;min-width:230px;padding:16px 18px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 28px rgba(0,0,0,.08);z-index:30}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu,.main-nav li:hover>.children,.main-nav li:focus-within>.children{display:block}
.main-nav .sub-menu li,.main-nav .children li{padding:5px 0}
.hero{min-height:65vh;background:#111 center/cover no-repeat;position:relative;display:flex;align-items:flex-end;color:#fff}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.12) 65%,rgba(0,0,0,.3))}
.hero-content{position:relative;z-index:1;padding:clamp(80px,12vw,170px) 0 70px;max-width:850px}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;margin:0 0 20px;color:#e1d9bd}
.hero h1{font:normal clamp(52px,9vw,122px)/.86 Georgia,serif;margin:0 0 28px;letter-spacing:-.035em}
.hero-lead{max-width:710px;font-size:clamp(18px,2vw,25px);line-height:1.45;margin:0}
.quote{padding:70px 0;border-bottom:1px solid var(--line)}
.quote blockquote{font:italic clamp(26px,4vw,50px)/1.2 Georgia,serif;margin:0;max-width:950px}
.quote cite{display:block;margin-top:18px;font-style:normal;color:var(--muted);font-size:14px}
.section{padding:90px 0}
.section-head{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin-bottom:44px;align-items:start}
.section-kicker{text-transform:uppercase;letter-spacing:.17em;font-size:12px;color:var(--accent)}
.section h2,.page-title{font:normal clamp(38px,5vw,70px)/1.02 Georgia,serif;margin:0 0 20px}
.section-intro{font-size:20px;max-width:750px;margin:0;color:#3e403b}
.series-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.series-card{min-height:360px;position:relative;background:#20211e center/cover no-repeat;color:#fff;overflow:hidden;text-decoration:none}
.series-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.05) 65%);transition:.25s}
.series-card:hover:before{background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.18))}
.series-card-content{position:absolute;z-index:1;left:28px;right:28px;bottom:25px}
.series-card h3{font:normal 31px/1.1 Georgia,serif;margin:0 0 5px}
.series-card p{margin:0;color:#ddd;font-size:14px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.split img{aspect-ratio:3/2;object-fit:cover;filter:grayscale(100%)}
.button{display:inline-block;margin-top:20px;padding:12px 19px;border:1px solid var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.button:hover{background:var(--ink);color:var(--paper)}
.contact-band{background:var(--dark);color:#fff;padding:70px 0}
.contact-band .wrap{display:flex;align-items:end;justify-content:space-between;gap:40px}
.contact-band h2{font:normal clamp(37px,5vw,65px)/1 Georgia,serif;margin:0 0 16px}
.contact-band p{margin:0;color:#d8d5ca;max-width:650px}
.contact-link{white-space:nowrap;font-size:20px;color:#fff}
.page-main{padding:80px 0 110px;min-height:60vh}
.page-header{max-width:880px;margin-bottom:45px}
.entry-content{max-width:900px}
.entry-content h2,.entry-content h3{font-family:Georgia,serif;font-weight:normal;line-height:1.2;margin-top:2em}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:45px 0}
.wp-block-gallery,.gallery{gap:10px!important}
.wp-block-gallery img,.gallery img{width:100%;height:100%;object-fit:cover}
.site-footer{border-top:1px solid var(--line);padding:38px 0;color:var(--muted);font-size:13px}
.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}
.footer-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.footer-nav a{text-decoration:none}

@media(max-width:850px){
 .menu-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px}.main-nav.open{display:block}.main-nav ul{display:block}.main-nav li{padding:8px 0}.main-nav .sub-menu,.main-nav .children{display:block;position:static;border:0;box-shadow:none;padding:4px 0 0 18px;background:transparent}
 .hero{min-height:72vh}.section-head,.split{grid-template-columns:1fr;gap:24px}.series-grid{grid-template-columns:1fr}.series-card{min-height:300px}.contact-band .wrap,.footer-inner{display:block}.contact-link{display:inline-block;margin-top:25px}.footer-nav{margin-top:15px}.footer-nav ul{flex-wrap:wrap}
}
@media(max-width:480px){.wrap{width:min(calc(100% - 26px),var(--max))}.brand-sub{display:none}.header-inner{min-height:66px}.main-nav{top:66px}.hero-content{padding-bottom:45px}.section{padding:65px 0}.quote{padding:50px 0}}
