/*
Theme Name: Rheinblick
Theme URI: https://www.rheinblick.com/
Author: OpenAI
Description: Responsive one-page multilingual landing page for rheinblick.com (DE/EN/FR).
Version: 1.0.3
Text Domain: rheinblick
*/

:root{--bg:#0a0a0a;--fg:#f7f7f4;--muted:#b8b8b3;--line:rgba(255,255,255,.22);--light:#efefeb;--dark:#111;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.site{overflow:hidden}.wrap{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.header{position:fixed;inset:0 0 auto;z-index:50;padding:22px 0;background:linear-gradient(to bottom,rgba(0,0,0,.66),transparent);transition:.25s}.header.scrolled{background:rgba(5,5,5,.9);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:22px;letter-spacing:.24em;font-weight:300}.nav{display:flex;align-items:center;gap:28px}.nav a{font-size:12px;letter-spacing:.18em;text-transform:uppercase}.langs{display:flex;gap:10px;align-items:center}.langs button{border:0;background:none;color:#aaa;cursor:pointer;padding:4px;font-size:11px;letter-spacing:.12em}.langs button.active{color:#fff}.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:rgba(0,0,0,.18);color:#fff;border-radius:50%;align-items:center;justify-content:center;cursor:pointer}.menu-toggle span,.menu-toggle:before,.menu-toggle:after{content:"";display:block;width:18px;height:1px;background:#fff;position:absolute;transition:.25s}.menu-toggle span{transform:translateY(0)}.menu-toggle:before{transform:translateY(-6px)}.menu-toggle:after{transform:translateY(6px)}.menu-toggle.open span{opacity:0}.menu-toggle.open:before{transform:rotate(45deg)}.menu-toggle.open:after{transform:rotate(-45deg)}
.hero{min-height:100svh;position:relative;display:grid;align-items:center;background:#101010}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.55) 42%,rgba(0,0,0,.16) 72%,rgba(0,0,0,.38) 100%),url('assets/img/rheinblick-hero.jpg');background-size:cover;background-position:center center;image-rendering:auto;will-change:transform}.hero:after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(to top,#0a0a0a,transparent)}.hero-content{position:relative;z-index:2;padding-top:110px;max-width:760px}.eyebrow{font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:#d6d6d0;margin-bottom:18px}.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(58px,9vw,132px);line-height:.84;letter-spacing:.08em;margin:0 0 28px}.hero h2{font-weight:300;font-size:clamp(22px,3vw,42px);line-height:1.18;letter-spacing:.06em;margin:0 0 22px}.hero p{font-size:clamp(16px,1.6vw,20px);line-height:1.6;color:#d2d2cd;max-width:650px;margin:0 0 32px}.cta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.16em;font-size:11px;transition:.2s}.button:hover{background:#fff;color:#111}.email{font-size:13px;letter-spacing:.12em;color:#ddd}.scroll{position:absolute;z-index:3;left:50%;bottom:30px;transform:translateX(-50%);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#c8c8c4}.scroll:after{content:'↓';display:block;text-align:center;font-size:20px;margin-top:8px}
.section{padding:110px 0}.section.light{background:var(--light);color:var(--dark)}.kicker{font-size:11px;letter-spacing:.32em;text-transform:uppercase;margin-bottom:14px;color:#777}.section h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,5vw,72px);font-weight:400;line-height:1.02;margin:0 0 26px}.intro{font-size:19px;line-height:1.7;max-width:840px;color:#4d4d4d}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:64px;border-top:1px solid #c8c8c2}.card{padding-top:30px}.card-num{font-size:11px;letter-spacing:.18em;color:#777}.card h4{font-size:20px;font-weight:500;margin:18px 0 12px}.card p{color:#666;line-height:1.6;margin:0}.contact{padding:96px 0;background:#0a0a0a}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.contact h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,5vw,72px);font-weight:400}.contact p{color:#aaa;line-height:1.7}.contact-mail{display:block;font-size:clamp(20px,3vw,34px);margin-top:20px;border-bottom:1px solid #555;padding-bottom:12px}.footer{padding:28px 0;border-top:1px solid #242424;color:#777;font-size:11px;letter-spacing:.1em}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.to-top{position:fixed;right:24px;bottom:24px;z-index:45;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.54);color:#fff;font-size:22px;opacity:0;pointer-events:none;transition:.2s}.to-top.show{opacity:1;pointer-events:auto}
[data-lang]{display:none}[data-lang].active{display:block}.inline-lang[data-lang].active{display:inline}
.mobile-panel{display:none}
@media(max-width:820px){.wrap{width:min(calc(100% - 30px),var(--max))}.header{padding:16px 0}.brand{font-size:17px}.nav>.desktop-link,.nav>.langs{display:none}.menu-toggle{display:flex;position:relative}.mobile-panel{display:flex;position:fixed;top:0;right:-100%;width:min(82vw,360px);height:100svh;background:#0b0b0b;z-index:49;padding:100px 34px 34px;transition:right .3s ease;flex-direction:column;gap:28px;box-shadow:-20px 0 50px rgba(0,0,0,.3)}.mobile-panel.open{right:0}.mobile-panel a{font-size:20px;font-family:Georgia,'Times New Roman',serif}.mobile-panel .langs{display:flex;margin-top:auto}.hero:before{background-image:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.72)),url('assets/img/rheinblick-hero-mobile.jpg');background-position:center 38%}.hero-content{padding-top:100px;align-self:end;padding-bottom:135px}.hero h1{font-size:clamp(48px,17vw,78px);letter-spacing:.05em}.hero h2{font-size:26px}.hero p{font-size:16px}.section{padding:78px 0}.grid{grid-template-columns:1fr;gap:0}.card{padding-bottom:28px}.contact-grid{grid-template-columns:1fr;gap:32px}.to-top{right:16px;bottom:16px}.scroll{bottom:20px}}
@media(max-width:430px){.hero h1{font-size:48px}.eyebrow{font-size:10px;letter-spacing:.3em}.cta-row{align-items:flex-start;flex-direction:column}.hero-content{padding-bottom:120px}}
