/* Ewald Neufeld · Fotoboxverleih */
:root{--paper:#f7f4ec;--white:#fffefa;--ink:#292a23;--muted:#616257;--line:#d8d7cd;--accent:#875032;--yellow:#ead57e;--olive:#e5e7dd;--radius:5px;--display:Georgia,'Times New Roman',serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--body);-webkit-font-smoothing:antialiased}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
p+p{margin-top:1rem}
h1,h2,h3{font-weight:400}
h1,h2{font-family:var(--display);text-wrap:balance}
h2{font-size:clamp(2.3rem,3.2vw,3.2rem);line-height:1.15;letter-spacing:-.04em}
h3{font-family:var(--display);font-size:1.625rem;line-height:1.25;letter-spacing:-.03em}
[hidden]{display:none!important}
::selection{background:var(--yellow);color:var(--ink)}
.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}
.skip-link{position:fixed;left:18px;top:12px;transform:translateY(-180%);background:var(--ink);color:white;padding:12px 18px;z-index:1000}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 30px;padding-block:16px}
.brand{text-decoration:none;display:inline-flex;flex-direction:column;line-height:1;flex-shrink:0}
.brand-name{font-family:var(--display);font-size:2.35rem;letter-spacing:-.08em;font-weight:bold}
.brand-name>span{color:var(--accent)}
.brand-sub{font-size:.75rem;letter-spacing:.13em;margin-top:9px;font-weight:500}
.main-nav{display:flex;flex-wrap:wrap;gap:28px;align-items:center;font-size:.875rem}
.main-nav a{text-decoration:none;position:relative;padding-block:9px}
.main-nav a:not(.nav-contact)::after{content:'';position:absolute;bottom:2px;left:0;right:100%;height:1px;background:var(--ink);transition:right .25s ease}
.main-nav a:hover::after{right:0}
.main-nav .nav-contact{border:1px solid var(--ink);padding:10px 16px;border-radius:var(--radius);display:flex;gap:24px;transition:background .2s,color .2s}
.nav-contact:hover{background:var(--ink);color:var(--paper)}
.menu-toggle{background:none;border:1px solid var(--line);padding:9px 14px;border-radius:var(--radius);cursor:pointer;display:none}
.menu-toggle span{font-size:1.15rem;margin-left:14px}
.hero{display:grid;grid-template-columns:1fr 1.08fr;gap:64px;align-items:center;padding-block:48px}
.hero h1{font-size:clamp(3.6rem,5.9vw,6rem);line-height:1.05;letter-spacing:-.057em}
.hero h1 em{font-weight:400;color:var(--accent)}
.hero-text{max-width:400px;color:var(--muted);font-size:1.0625rem;line-height:1.7;margin-top:27px}
.hero-actions{display:flex;align-items:center;margin-top:28px}
.button{display:inline-flex;gap:24px;align-items:center;justify-content:center;min-height:54px;padding:14px 22px;border:1px solid transparent;border-radius:var(--radius);text-decoration:none;font-size:.875rem;font-weight:600;line-height:1.5;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}
.button span{font-size:1.25rem;font-weight:400;line-height:1}
.button:hover{transform:translateY(-3px);box-shadow:0 5px 14px #292a2314}
.button-dark{background:var(--ink);color:var(--white)}
.button-dark:hover{background:#45473b}
.button-outline{border-color:var(--ink);background:transparent;color:var(--ink)}
.button-outline:hover{background:var(--olive)}
.button-yellow{color:var(--ink);background:var(--yellow)}
.button-yellow:hover{background:#f2dfa0}
.hero-visual{min-width:0}
.hero-photo-frame{overflow:hidden;border-radius:110px 5px 5px 5px;background:#7a6a51}
.hero-photo{width:100%;height:550px;object-fit:cover;object-position:50% 52%;animation:photo-arrive 1.2s cubic-bezier(.2,.6,.2,1) both}
.section{padding-block:68px}
.box-section{padding-top:28px}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:30px}
.feature{border-top:1px solid var(--line);padding-top:22px}
.feature h3{margin-bottom:12px}
.feature p{color:var(--muted);max-width:300px}
.gallery-section{background:var(--olive);padding-block:42px}
.gallery-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:18px}
.gallery-grid figure{overflow:hidden;border-radius:var(--radius)}
.gallery-main{position:relative;grid-row:span 2}
.gallery-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 50%}
.gallery-detail img{width:100%;aspect-ratio:1.95;object-fit:cover}
.pricing-section>h2{text-align:center}
.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:min(1000px,100%);margin:32px auto 0}
.price-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:var(--white)}
.price-card h3{font-size:1.8rem}
.price{font:5rem/1.05 var(--display);letter-spacing:-.06em;display:flex;align-items:flex-start;gap:8px;margin-top:22px}
.price>span{font:2.2rem/1.3 var(--display);letter-spacing:0;margin-top:6px}
.price-card .button{width:100%;justify-content:space-between;margin-top:28px}
.price-card-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.price-card-dark a:focus-visible{outline-color:var(--yellow)}
.package-inclusions{width:min(760px,100%);margin:25px auto 0;text-align:center;color:var(--muted)}
.package-inclusions>p+p{margin-top:8px}
.pricing-notes{width:min(800px,100%);margin:16px auto 0;text-align:center;font-size:.875rem;color:var(--muted)}
.contact-section{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:55px;padding-block:55px 65px;border-top:1px solid var(--line)}
.contact-heading h2{margin-bottom:18px}
.contact-heading>p{max-width:435px;color:var(--muted)}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;justify-self:end;gap:20px}
.contact-email{font-size:1rem}
.site-footer{border-top:1px solid var(--line)}
.footer-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 28px;padding-block:26px}
.footer-top>p{font-size:.875rem;color:var(--muted)}
.footer-top nav{display:flex;gap:24px;font-size:.875rem}
.footer-top nav a{padding-block:6px}
.legal-back{text-decoration:none;font-size:.875rem;padding:12px 0}
.legal-main{padding-block:65px 85px}
.legal-heading{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:38px}
.legal-heading h1{font:clamp(2.65rem,5vw,4.5rem)/1.15 var(--display);letter-spacing:-.05em;overflow-wrap:anywhere}
.legal-heading>p{margin-top:18px;color:var(--muted);max-width:750px}
.legal-layout{display:grid;grid-template-columns:220px minmax(0,820px);gap:55px;align-items:start}
.legal-toc{position:sticky;top:130px;font-size:.875rem}
.legal-toc strong{display:block;font-size:.75rem;letter-spacing:.1em;margin-bottom:16px;font-weight:500}
.legal-toc a{display:block;text-decoration:none;margin-bottom:4px;padding-block:6px;color:var(--muted)}
.legal-toc a:hover{color:var(--ink);text-decoration:underline}
.legal-copy h2{font-size:1.8rem;line-height:1.3;letter-spacing:-.03em;margin:0 0 18px}
.legal-copy h3{font:600 1rem/1.6 var(--body);letter-spacing:0;margin:22px 0 8px}
.legal-copy section+section{border-top:1px solid var(--line);padding-top:32px;margin-top:32px}
.legal-copy p,.legal-copy li{color:#53554a}
.legal-copy p+p{margin-top:15px}
.legal-copy ul{padding-left:22px;margin-block:18px}
.legal-copy li+li{margin-top:7px}
.legal-copy a{overflow-wrap:anywhere}
.legal-copy address{font-style:normal}
.legal-callout{background:var(--olive);padding:22px 24px;border-left:3px solid var(--accent);margin-bottom:28px}
.legal-callout p{color:var(--ink)}
.legal-compact{max-width:800px;margin-inline:auto}
.error-main{padding-block:90px 110px;max-width:800px;text-align:center}
.error-main h1{font:clamp(2.8rem,5vw,4.5rem)/1.1 var(--display);letter-spacing:-.05em}
.error-main .button{margin-top:30px}
.intro-motion{animation:intro-arrive .8s cubic-bezier(.16,1,.3,1) both}
.hero-text.intro-motion{animation-delay:.1s}
.hero-actions.intro-motion{animation-delay:.18s}
.hero-visual.intro-motion{animation-delay:.12s}
/* Inhalte sind auch ohne JavaScript sichtbar. */
.reveal.is-revealed{animation:section-arrive .8s cubic-bezier(.16,1,.3,1) both}
@keyframes intro-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes section-arrive{from{opacity:.2;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-arrive{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(min-width:1600px){.hero{gap:80px;padding-block:60px}.hero-photo{height:590px}}
@media(max-width:1100px){.main-nav{gap:20px}.hero{gap:38px}.hero-photo{height:510px}.feature-grid{gap:26px}.legal-layout{grid-template-columns:190px minmax(0,1fr);gap:35px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header-inner{gap:16px 20px}.main-nav{gap:15px}.main-nav .nav-contact{gap:12px;padding:10px 12px}.hero{gap:28px}.hero h1{font-size:clamp(3.25rem,6.2vw,4.1rem)}.hero-photo{height:480px}.hero-text{font-size:1rem}.price-card{padding:26px}.contact-section{gap:35px}.gallery-grid{gap:14px}.gallery-detail img{aspect-ratio:1.7}}
@media(max-width:760px){
  html{scroll-padding-top:100px}
  .header-inner{min-height:84px;padding-block:14px}
  .brand-name{font-size:2.15rem}.brand-sub{letter-spacing:.1em}
  .main-nav{flex-basis:100%;justify-content:flex-start;padding-top:8px;gap:8px 22px}
  .main-nav .nav-contact{padding:8px 12px}
  .menu-enabled .menu-toggle{display:block}
  .menu-enabled .main-nav{display:none}
  .menu-enabled .main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;padding:12px 0 4px;gap:0}
  .menu-enabled .main-nav a{padding:12px 6px}
  .menu-enabled .main-nav .nav-contact{padding:12px;margin-top:8px;justify-content:space-between}
  .hero{grid-template-columns:1fr;gap:30px;padding-block:34px 40px}
  .hero h1{font-size:clamp(3.5rem,10vw,5.5rem);line-height:1.045}
  .hero-text{margin-top:22px;max-width:440px}
  .hero-actions{margin-top:23px}
  .hero-photo{height:auto;aspect-ratio:1.15;object-fit:cover}
  .hero-photo-frame{border-top-left-radius:80px}
  .section{padding-block:48px}
  .box-section{padding-top:12px}
  .feature-grid{grid-template-columns:1fr;gap:21px;margin-top:24px}
  .feature{padding-top:18px}
  .feature h3{margin-bottom:6px}
  .feature p{max-width:none}
  .gallery-section{padding-block:24px}
  .gallery-grid{grid-template-columns:1fr 1fr;gap:12px}
  .gallery-main{grid-column:1/-1;grid-row:auto;aspect-ratio:1.35}
  .gallery-detail img{aspect-ratio:1.3}
  .pricing-section>h2{text-align:left}
  .pricing-grid{grid-template-columns:1fr;gap:18px;margin-top:25px}
  .price-card{padding:25px}
  .price{font-size:4.5rem;margin-top:18px}
  .price-card .button{margin-top:23px}
  .package-inclusions{text-align:left;margin-top:22px}
  .pricing-notes{text-align:left}
  .contact-section{grid-template-columns:1fr;gap:25px;padding-block:40px 46px}
  .contact-heading h2{margin-bottom:15px}
  .contact-actions{justify-self:start;gap:18px}
  .footer-top{align-items:flex-start;gap:12px;padding-block:22px}
  .footer-top nav{gap:22px}
  .legal-main{padding-block:38px 60px}
  .legal-layout{grid-template-columns:1fr;gap:28px}
  .legal-toc{position:static;border-bottom:1px solid var(--line);padding-bottom:20px}
  .legal-toc a{display:inline-block;margin-right:19px;padding-block:8px}
  .legal-toc strong{margin-bottom:10px}
  .legal-heading{margin-bottom:28px}
  .legal-copy h2{font-size:1.7rem}
}
@media(max-width:390px){.menu-toggle{padding:8px 10px;font-size:.875rem}.menu-toggle span{margin-left:8px}.wrap{width:calc(100% - 36px)}.hero h1{font-size:3.4rem}.hero-photo{aspect-ratio:1}.price-card{padding:23px}.price-card h3{font-size:1.65rem}.brand-sub{letter-spacing:.06em}.legal-back{max-width:106px;text-align:right}.button{gap:16px;padding-inline:19px}.contact-email{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}
@media print{.site-header{position:static}.menu-toggle,.hero-actions,.contact-actions,.legal-toc,.skip-link{display:none!important}.wrap{width:100%}body{background:white;color:black;font-size:11pt}.section,.gallery-section,.contact-section,.legal-main{padding-block:20pt}.hero{padding-block:20pt;gap:25pt}.hero h1{font-size:38pt}.hero-photo{height:290pt}h2{font-size:25pt}.price-card,.feature,figure{break-inside:avoid}.price-card-dark{background:white;color:black}.legal-layout{display:block}.site-footer{margin-top:25pt}a{text-decoration:none}*{animation:none!important}}
