/*
Theme Name: NordLine Productions
Theme URI: https://www.nordlineproductions.com/
Author: NordLine Productions
Description: Cinematisches, editierbares One-Page-Theme für Film- und Fotoproduktionen.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: nordline
*/
:root{--black:#090909;--ink:#101010;--white:#f3f3f0;--grey:#a2a2a0;--line:rgba(255,255,255,.17);--paper:#e9e9e5;--pad:clamp(22px,5vw,78px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;width:100%}::selection{background:#fff;color:#000}
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .2s steps(2) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(2%,-3%)}50%{transform:translate(-3%,2%)}75%{transform:translate(3%,1%)}to{transform:translate(-1%,-2%)}}
.preloader{position:fixed;z-index:999;inset:0;background:#060606;display:grid;place-content:center;gap:18px;transition:transform .8s cubic-bezier(.77,0,.18,1);transform-origin:top}.preloader span{font-size:clamp(34px,6vw,80px);font-weight:800;letter-spacing:-.09em}.preloader i{height:1px;width:100%;background:#fff;transform-origin:left;animation:loader .8s ease both}@keyframes loader{from{transform:scaleX(0)}to{transform:scaleX(1)}}.preloader.done{transform:scaleY(0)}
.site-header{position:fixed;z-index:80;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:23px var(--pad);transition:background .35s,padding .35s}.site-header.scrolled{padding-top:14px;padding-bottom:14px;background:rgba(9,9,9,.85);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.08)}
.wordmark{display:flex;flex-direction:column;font-weight:800;font-size:14px;letter-spacing:-.055em;line-height:.82}.wordmark small{margin-top:7px;font-size:7px;font-weight:500;letter-spacing:.32em}.desktop-nav{display:flex;gap:34px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.desktop-nav a,.footer-bottom a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .25s}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{display:flex;align-items:center;gap:26px}.language-switch{display:flex;align-items:center;gap:6px;font-size:10px;color:#81817e;letter-spacing:.12em}.language-button{padding:0;background:transparent;border:0;color:inherit;cursor:pointer;font-size:10px;letter-spacing:.12em}.language-button.active{color:#fff}.menu-button{display:none;width:42px;height:42px;padding:0;border:0;background:transparent;position:relative;z-index:82}.menu-button span{position:absolute;right:0;width:28px;height:1px;background:#fff;transition:.3s}.menu-button span:first-child{top:16px}.menu-button span:last-child{top:25px}.menu-button.open span:first-child{top:21px;transform:rotate(45deg)}.menu-button.open span:last-child{top:21px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;z-index:70;inset:0;background:#0b0b0b;padding:120px var(--pad) 45px;display:flex;justify-content:space-between;flex-direction:column;transform:translateY(-100%);transition:transform .7s cubic-bezier(.77,0,.18,1)}.mobile-menu.open{transform:none}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{padding:13px 0;border-bottom:1px solid var(--line);font-size:clamp(40px,11vw,82px);letter-spacing:-.08em;line-height:1;font-weight:700}.mobile-menu nav span{vertical-align:middle;font-size:9px;letter-spacing:.15em;color:#a6a6a2;margin-right:16px}.mobile-menu nav b{font-weight:700}.instagram-link{font-size:12px;letter-spacing:.1em;text-transform:uppercase;width:max-content;border-bottom:1px solid #fff;padding-bottom:4px}
.hero{position:relative;min-height:720px;height:100svh;overflow:hidden;padding:105px var(--pad) 42px;display:flex;flex-direction:column;justify-content:space-between}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{z-index:0;overflow:hidden;background:#0b0b0b}.hero-grid{position:absolute;inset:0;opacity:.38;background:linear-gradient(90deg,transparent 49.95%,rgba(255,255,255,.16) 50%,transparent 50.05%),linear-gradient(0deg,transparent 49.95%,rgba(255,255,255,.1) 50%,transparent 50.05%)}.hero-circle{position:absolute;width:min(62vw,900px);aspect-ratio:1;right:-20vw;top:50%;border:1px solid rgba(255,255,255,.18);border-radius:50%;transform:translateY(-50%)}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.06) 43%,rgba(0,0,0,.58))}.hero-topline,.hero-content,.scroll{position:relative;z-index:1}.hero-topline{display:flex;justify-content:space-between;color:#d1d1cc;font-size:9px;letter-spacing:.16em}.hero-content{margin:auto 0 30px}.eyebrow,.section-label{margin:0 0 38px;font-size:9px;letter-spacing:.18em;color:#c0c0bc}.hero h1{margin:0;max-width:1350px;font-size:clamp(70px,12vw,212px);line-height:.75;letter-spacing:-.1em;font-weight:800}.hero h1 span{display:block;overflow:hidden}.hero h1 .outline{color:transparent;-webkit-text-stroke:1.3px rgba(255,255,255,.9);text-align:right}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:70px}.hero-bottom>p{margin:0;font-size:clamp(25px,3vw,47px);font-weight:600;line-height:1;letter-spacing:-.055em;white-space:pre-line}.hero-bottom>div{width:min(410px,34vw)}.hero-copy{margin:0 0 23px;color:#dededb;font-size:14px;line-height:1.6}.button,.submit{display:flex;align-items:center;justify-content:space-between;width:212px;padding:16px 18px;background:#f4f4f1;color:#080808;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;transition:background .2s,color .2s}.button:hover,.submit:hover{background:#bbb;color:#000}.scroll{position:absolute;z-index:2;left:50%;bottom:31px;display:flex;align-items:center;flex-direction:column;gap:9px;transform:translateX(-50%);font-size:8px;letter-spacing:.17em}.scroll i{display:block;height:38px;width:1px;background:linear-gradient(#fff,transparent)}
.marquee{overflow:hidden;border-block:1px solid var(--line);background:#0e0e0e}.marquee-track{width:max-content;display:flex;align-items:center;padding:19px 0;animation:marquee 28s linear infinite}.marquee span{margin:0 28px;font-size:11px;font-weight:600;letter-spacing:.2em}.marquee b{font-size:10px;color:#8f8f8a}@keyframes marquee{to{transform:translateX(-50%)}}
.section-pad{padding:clamp(100px,12vw,190px) var(--pad)}.statement h2{max-width:1370px;margin:0;font-size:clamp(42px,7.3vw,118px);font-weight:500;line-height:1.01;letter-spacing:-.07em}.statement h2 em,.about h2 em{color:transparent;font-style:normal;-webkit-text-stroke:1px #a9a9a5}.statement-footer{display:flex;justify-content:space-between;gap:10vw;margin-top:76px}.statement-footer p{max-width:465px;margin:0;color:var(--grey);font-size:16px;line-height:1.75}.statement-footer span{font-size:9px;letter-spacing:.16em;color:#72726f}.work-intro{padding-bottom:73px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end}.section-heading h2,.services-heading h2{margin:0;font-size:clamp(60px,10vw,160px);font-weight:700;line-height:.8;letter-spacing:-.09em}.section-heading>span{font-size:10px;letter-spacing:.12em;color:#888}.work-note{margin:33px 0 0;color:#777;font-size:12px}.project{position:relative;height:78vh;min-height:540px;overflow:hidden}.project img{height:100%;object-fit:cover;filter:grayscale(1) contrast(1.03);transition:transform 1.2s ease,filter .7s ease}.project:hover img{transform:scale(1.025);filter:grayscale(1) contrast(1.05)}.project-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.07),rgba(0,0,0,.72)),linear-gradient(90deg,rgba(0,0,0,.42),transparent 64%)}.project-number{position:absolute;top:30px;right:var(--pad);font-size:10px;letter-spacing:.13em}.project-info{position:absolute;inset:auto var(--pad) 50px}.project-info>p{margin:0;font-size:9px;letter-spacing:.18em}.project-info h3{margin:25px 0 40px;font-size:clamp(52px,8.6vw,142px);font-weight:700;line-height:.78;letter-spacing:-.085em}.project-info h3 span{color:transparent;-webkit-text-stroke:1px #fff}.project-info>div{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.45);padding-top:14px;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.about{background:var(--paper);color:#0c0c0c}.about .section-label{color:#4a4a48}.about-copy-wrap{display:grid;grid-template-columns:1fr 3fr}.about h2{margin:0;font-size:clamp(49px,7.6vw,127px);line-height:.91;letter-spacing:-.08em}.about h2 em{-webkit-text-stroke:1px #111}.columns{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:72px;max-width:900px}.columns p{margin:0;color:#424240;font-size:15px;line-height:1.73}.about-image{height:73vh;min-height:500px;position:relative;overflow:hidden;margin-top:100px}.about-image img{height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1)}.about-image span{position:absolute;right:28px;bottom:28px;display:grid;place-items:center;width:132px;height:132px;border-radius:50%;border:1px solid #111;background:#e9e9e5;text-align:center;font-size:13px;line-height:1.1;font-weight:700;letter-spacing:-.04em;transform:rotate(9deg)}
.services{background:#0d0d0d}.services-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:80px}.services-heading h2 span{color:transparent;-webkit-text-stroke:1px #eee}.services-heading p{max-width:310px;margin:0;color:var(--grey);font-size:14px;line-height:1.7}.service{display:grid;grid-template-columns:70px 1.2fr 1fr 35px;align-items:center;gap:26px;padding:28px 0;border-top:1px solid var(--line);transition:padding .3s,color .3s}.service:last-child{border-bottom:1px solid var(--line)}.service:hover{padding-left:15px;color:#aaa}.service>span{font-size:10px;letter-spacing:.12em;color:#979793}.service h3{margin:0;font-size:clamp(25px,3.3vw,51px);line-height:1;letter-spacing:-.055em;font-weight:500}.service p{margin:0;color:var(--grey);font-size:13px;line-height:1.55}.service b{font-size:18px;font-weight:400;text-align:right}.process{background:#151515}.process-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:85px}.process-heading h2{margin:0;font-size:clamp(44px,6.8vw,105px);font-weight:600;line-height:.95;letter-spacing:-.07em}.process-heading p{margin:0;color:var(--grey);font-size:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.steps article{padding-right:20px}.steps span{font-size:10px;color:#c7c7c3;letter-spacing:.12em}.steps i{display:block;position:relative;height:1px;background:var(--line);margin:23px 0 48px}.steps i:before{content:"";position:absolute;top:-4px;left:0;width:8px;height:8px;border-radius:50%;background:#eee}.steps h3{margin:0 0 15px;font-size:23px;letter-spacing:-.045em;font-weight:500}.steps p{max-width:210px;margin:0;color:var(--grey);font-size:13px;line-height:1.65}
.contact{background:#ededeb;color:#0a0a0a}.contact .section-label{color:#555}.contact-head h2{margin:0;font-size:clamp(60px,11vw,184px);font-weight:700;line-height:.75;letter-spacing:-.095em}.contact-head h2 span{color:transparent;-webkit-text-stroke:1px #0b0b0b}.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;margin-top:115px}.contact-details p{margin:0;max-width:390px;font-size:20px;font-weight:500;line-height:1.52;letter-spacing:-.035em}.contact-details>a{display:block;width:max-content;margin-top:33px;border-bottom:1px solid #111;padding-bottom:5px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.contact-details .contact-note{margin-top:60px;color:#737370;font-size:11px;font-weight:400;letter-spacing:0}.contact-form{padding:clamp(25px,4vw,55px);background:#0b0b0b;color:#fff}.input-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-form label{display:block;margin-bottom:28px}.contact-form label>span{display:block;margin-bottom:10px;color:#aaa;font-size:9px;letter-spacing:.14em;text-transform:uppercase}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:10px 0;border:0;border-bottom:1px solid #444;border-radius:0;outline:0;background:transparent;color:#fff;font-size:14px}.contact-form select option{color:#111}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#eee}.contact-form textarea{resize:vertical}.submit{width:100%;border:0;cursor:pointer}.form-message{display:none;margin:17px 0 0;color:#aaa;font-size:12px;line-height:1.55}.form-message.show{display:block}
footer{padding:75px var(--pad) 28px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:65px}.footer-top p{margin:0;color:#aaa;font-size:clamp(20px,3vw,39px);font-weight:500;line-height:1;letter-spacing:-.055em}.footer-bottom{display:flex;justify-content:space-between;padding-top:23px;border-top:1px solid var(--line);color:#90908d;font-size:10px}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a:hover{color:#fff}.reveal{opacity:0;transform:translateY(40px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.desktop-nav{display:none}.menu-button{display:block}.hero{min-height:680px;padding-bottom:25px}.hero h1{font-size:clamp(55px,16vw,125px);line-height:.84}.hero h1 .outline{text-align:left}.hero-bottom{align-items:flex-start;flex-direction:column;gap:28px;margin-top:48px}.hero-bottom>p{display:none}.hero-bottom>div{width:100%;max-width:440px}.button{width:100%}.scroll{display:none}.statement-footer{justify-content:flex-start}.statement-footer p{max-width:500px}.about-copy-wrap{grid-template-columns:1fr}.about-copy-wrap>.section-label{margin-bottom:40px}.services-heading,.process-heading{align-items:flex-start;flex-direction:column;gap:34px}.service{grid-template-columns:38px 1fr 24px}.service p{display:none}.steps{grid-template-columns:1fr 1fr;gap:55px 18px}.contact-grid{grid-template-columns:1fr;gap:50px}.contact-details .contact-note{margin-top:30px}.footer-top{align-items:flex-start;flex-direction:column;gap:35px}}
@media(max-width:560px){.section-pad{padding-top:95px;padding-bottom:95px}.site-header{padding-top:18px}.header-actions{gap:18px}.hero{padding-top:88px}.hero-circle{width:110vw;right:-54vw}.hero-topline span:last-child{display:none}.eyebrow{margin-bottom:28px}.section-label{margin-bottom:45px}.statement-footer{margin-top:45px}.statement-footer span{display:none}.project{height:64vh;min-height:460px}.project-info{bottom:32px}.project-info h3{margin:20px 0 30px;font-size:clamp(47px,13vw,84px)}.columns{grid-template-columns:1fr;gap:25px;margin-top:45px}.about-image{height:56vh;min-height:400px;margin-top:60px}.about-image span{right:20px;bottom:20px;width:104px;height:104px;font-size:11px}.services-heading{margin-bottom:55px}.service{padding:22px 0}.steps{grid-template-columns:1fr}.steps i{margin-bottom:28px}.contact-grid{margin-top:68px}.input-pair{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:20px}.footer-bottom>div{flex-wrap:wrap;gap:13px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.preloader{display:none}.reveal{opacity:1;transform:none}}

/* WordPress additions */
.admin-bar .site-header{top:32px}.custom-logo-link{display:block}.custom-logo{max-height:54px;width:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu{list-style:none;margin:0;padding:0}.desktop-nav .menu{display:flex;gap:32px}.mobile-menu .menu a{display:flex}.legal-page{max-width:900px;margin:auto;padding:150px 24px 120px;line-height:1.75}.legal-page h1{font-size:clamp(50px,9vw,100px);letter-spacing:-.07em;margin:30px 0 40px}.legal-page h2{margin-top:45px}.legal-page a{color:inherit}.entry-content>*{max-width:900px;margin-left:auto;margin-right:auto}.notice-success{border:1px solid #666;padding:16px;margin-top:20px}.project-empty{padding:80px 4vw;border-top:1px solid #222}.wp-block-image img{height:auto}.current-menu-item>a{opacity:.55}@media(max-width:782px){.admin-bar .site-header{top:46px}}

.footer-bottom ul{display:flex;gap:25px;list-style:none;margin:0;padding:0}.custom-logo-link{display:block}.custom-logo-link img{max-height:54px;width:auto}@media(max-width:560px){.footer-bottom ul{flex-wrap:wrap;gap:13px 22px}}

/* Nordline mobile service descriptions */
@media(max-width:850px){
  .service{grid-template-columns:38px minmax(0,1fr) 24px;align-items:start;column-gap:12px;row-gap:8px}
  .service>span{grid-column:1;grid-row:1;padding-top:5px}
  .service h3{grid-column:2;grid-row:1}
  .service p{display:block;grid-column:2 / 4;grid-row:2;margin:0;color:var(--grey);font-size:12px;line-height:1.55}
  .service b{grid-column:3;grid-row:1;align-self:center}
}

/* Pfeile in der mobilen Leistungsübersicht ausblenden */
@media(max-width:767px){.service b{display:none}}
