/*
Theme Name: Ruwolt Law
Theme URI: https://ruwolt-law.de
Author: Kanzlei Ruwolt
Description: Zweisprachiges, responsives WordPress-Theme für die Rechtsanwaltskanzlei Ruwolt.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ruwolt-law
*/
:root{--paper:#f3efe7;--paper2:#e8e0d5;--ink:#252321;--muted:#6f6861;--terra:#a95e49;--terra2:#8f4939;--line:#c8b9aa;--white:#fffdf8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-geist),"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:min(100% - 48px,1360px);margin-inline:auto}
.site-header{position:relative;z-index:10;background:rgba(243,239,231,.94);border-bottom:1px solid rgba(37,35,33,.12);backdrop-filter:blur(16px)}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:inline-flex;align-items:baseline;gap:12px;letter-spacing:.24em;white-space:nowrap}.wordmark strong{font-size:20px}.wordmark small{font-size:11px}.desktop-nav{display:flex;gap:clamp(20px,2.4vw,42px)}.desktop-nav a{position:relative;padding:12px 0;font-size:15px}.desktop-nav a:after{position:absolute;right:0;bottom:4px;left:0;height:1px;background:var(--terra);content:"";transform:scaleX(0);transform-origin:left;transition:.18s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.mobile-menu{display:none}.language-switch{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.11em}.language-switch a{padding:9px 2px;color:var(--muted)}.language-switch a.active{color:var(--ink);font-weight:750;border-bottom:1px solid var(--terra)}.language-switch span{color:var(--line)}
h1,h2{font-family:Didot,"Bodoni MT","Iowan Old Style",Baskerville,Georgia,serif;font-weight:400;letter-spacing:-.045em}.eyebrow,.section-kicker{margin:0 0 30px;color:var(--terra);font-size:12px;font-weight:650;letter-spacing:.18em;text-transform:uppercase}
.hero{min-height:calc(100vh - 104px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:clamp(36px,5vw,92px);padding-top:clamp(56px,8vh,96px)}.hero-copy{align-self:center;padding-bottom:56px}.hero h1{margin:0;font-size:clamp(64px,7.4vw,112px);line-height:.87}.hero-intro{max-width:610px;margin:34px 0 0;font-size:clamp(18px,1.8vw,25px);line-height:1.45}.hero-actions{display:flex;align-items:center;gap:38px;margin-top:34px}.button{min-height:60px;display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border:1px solid transparent;font-size:15px;font-weight:590;transition:.18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--terra);color:white}.button-primary:hover{background:var(--terra2)}.text-link{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid var(--terra);padding:12px 0 8px;color:var(--terra);font-weight:560}.text-link span{font-size:24px}.topic-line{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:46px;color:#80766d;font:17px Georgia,serif}.topic-line:before,.topic-line:after{width:72px;height:1px;background:var(--line);content:""}.topic-line i{font-style:normal}.hero-art{min-height:670px;overflow:hidden;margin-right:calc((100vw - min(100vw - 48px,1360px)) / -2)}.hero-art img{width:100%;height:100%;display:block;object-fit:cover}
.section-pad{padding-block:clamp(96px,12vw,170px)}.split{display:grid;grid-template-columns:1fr 2.2fr;gap:60px}.statement{background:var(--ink);color:var(--paper)}.statement h2,.services h2,.approach h2,.contact-cta h2{margin:0;font-size:clamp(48px,6vw,86px);line-height:1.02}.lead{max-width:760px;margin:38px 0 0 auto;color:#d8d0c7;font-size:19px;line-height:1.75}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:84px;border-top:1px solid var(--line)}.service-card{min-height:390px;display:flex;flex-direction:column;padding:28px;border-right:1px solid var(--line)}.service-card:first-child{border-left:1px solid var(--line)}.service-card>span{color:var(--terra);font-size:12px}.service-card h3{margin:74px 0 18px;font:400 27px Georgia,serif}.service-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}.service-card a{display:flex;justify-content:space-between;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:13px;font-weight:620}
.approach{background:var(--paper2)}.approach-grid{display:grid;grid-template-columns:.5fr 1.2fr 1.4fr;gap:52px}.approach-number{color:var(--terra);font:clamp(120px,15vw,240px)/.7 Georgia,serif}.approach ol{margin:0;padding:0;list-style:none}.approach li{display:grid;grid-template-columns:48px 1fr;gap:22px;padding:26px 0;border-top:1px solid var(--line)}.approach li:last-child{border-bottom:1px solid var(--line)}.approach li>span{color:var(--terra);font-size:12px}.approach h3{margin:0 0 10px;font:400 23px Georgia,serif}.approach li p{margin:0;color:var(--muted);line-height:1.6}
.contact-cta{padding-block:clamp(90px,10vw,145px);background:var(--terra);color:white}.contact-cta-grid{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:60px}.contact-cta .section-kicker{color:#f5d9cf}.contact-cta p{margin:0 0 30px;color:#f7e8e2;line-height:1.7}.button-light{background:white;color:var(--terra2)}
.site-footer{padding:78px 0 26px;background:#191817;color:#d8d0c7}.footer-grid{display:grid;grid-template-columns:2fr .7fr .7fr;gap:60px}.wordmark-light{color:white}.footer-grid>div:first-child p{max-width:460px;margin:30px 0 0;line-height:1.7}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:13px}.footer-grid b{margin-bottom:8px;color:white;font-size:12px;letter-spacing:.14em;text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;margin-top:68px;padding-top:22px;border-top:1px solid #383532;color:#8e8881;font-size:12px}
.page-intro{min-height:570px;display:grid;grid-template-columns:.7fr 2fr;column-gap:60px;align-content:center}.page-intro .eyebrow{grid-row:1/span 2}.page-intro h1{margin:0;font-size:clamp(64px,8vw,118px);line-height:.92}.page-intro>p:last-child{max-width:720px;margin:34px 0 0;color:var(--muted);font-size:20px;line-height:1.65}.content-section{padding-block:100px;border-top:1px solid var(--line)}.content-grid{display:grid;grid-template-columns:.7fr 2fr;gap:60px}.content-grid h2{margin:0;font-size:clamp(42px,5vw,70px);line-height:1.04}.prose{max-width:800px;margin:35px 0 0 auto}.prose p{margin:0 0 24px;color:var(--muted);font-size:18px;line-height:1.75}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:60px;background:var(--line);border:1px solid var(--line)}.detail-card{min-height:260px;padding:34px;background:var(--paper)}.detail-card span{color:var(--terra);font-size:12px}.detail-card h3{margin:48px 0 16px;font:400 28px Georgia,serif}.detail-card p{margin:0;color:var(--muted);line-height:1.65}
.steps{margin:60px 0 0;padding:0;list-style:none;counter-reset:steps}.steps li{display:grid;grid-template-columns:90px 1fr;gap:30px;padding:34px 0;border-top:1px solid var(--line);counter-increment:steps}.steps li:before{color:var(--terra);content:"0" counter(steps);font-size:13px}.steps h3{margin:0 0 12px;font:400 30px Georgia,serif}.steps p{max-width:700px;margin:0;color:var(--muted);line-height:1.7}
.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.contact-panel{padding:42px;background:var(--paper2)}.contact-panel h2{margin:0 0 32px;font-size:48px}.contact-details{display:grid;gap:24px}.contact-details div{padding-top:16px;border-top:1px solid var(--line)}.contact-details span,.field label{display:block;margin-bottom:8px;color:var(--terra);font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.contact-details p{margin:0;line-height:1.6}.contact-details small{display:block;margin-top:9px;color:var(--muted);font-size:11px;line-height:1.55}.contact-link{display:inline-block;border-bottom:1px solid var(--line);overflow-wrap:anywhere;transition:border-color .18s,color .18s}.contact-link:hover,.contact-link:focus-visible{color:var(--terra2);border-color:var(--terra)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field-full{grid-column:1/-1}.field input,.field textarea,.field select{width:100%;padding:15px 0;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent}.field textarea{min-height:140px}.form-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.form-success,.form-error{margin:0 0 28px;padding:16px 18px;border-left:3px solid #276b4e;background:#e2ece6}.form-error{border-color:var(--terra);background:#f1dfda}
.legal{max-width:900px;padding-block:90px 130px}.legal h1{margin:0 0 60px;font-size:clamp(56px,7vw,90px)}.legal h2{margin:44px 0 16px;font-size:30px}.legal p{color:var(--muted);line-height:1.75}.placeholder-note{padding:18px 22px;border-left:3px solid var(--terra);background:var(--paper2);color:var(--ink)!important}
.mobile-contact-bar{display:none}
a:focus-visible,summary:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:1080px){.desktop-nav{display:none}.mobile-menu{position:relative;display:block}.mobile-menu summary{min-height:44px;display:flex;align-items:center;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{margin-left:9px;content:"+";color:var(--terra);font-size:20px}.mobile-menu[open] summary:after{content:"−"}.mobile-menu nav{position:absolute;top:48px;right:0;min-width:250px;display:grid;padding:10px;background:var(--white);border:1px solid var(--line);box-shadow:0 18px 45px rgba(37,35,33,.14)}.mobile-menu nav a{min-height:48px;display:flex;align-items:center;padding:10px 14px;border-bottom:1px solid var(--paper2)}.mobile-menu nav a:last-child{border-bottom:0}}
@media(max-width:980px){.hero{grid-template-columns:1fr}.hero-art{min-height:520px;margin-right:0}.split,.content-grid,.page-intro{grid-template-columns:1fr}.page-intro .eyebrow{grid-row:auto}.service-grid{grid-template-columns:repeat(2,1fr)}.approach-grid{grid-template-columns:.6fr 1.4fr}.approach-grid ol{grid-column:1/-1}.contact-cta-grid{grid-template-columns:1fr 2fr}.contact-cta-grid>div:last-child{grid-column:2}.contact-layout{grid-template-columns:1fr}}
@media(max-width:760px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.shell{width:min(100% - 32px,1360px)}.site-header{position:sticky;top:0}.header-inner{min-height:72px;gap:16px}.wordmark{letter-spacing:.18em}.wordmark strong{font-size:18px}.wordmark small,.wordmark>span{display:none}.mobile-menu{margin-left:auto}.mobile-menu nav{position:fixed;top:72px;right:16px;left:16px;min-width:0}.language-switch{gap:5px}.language-switch a{min-width:34px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0}.hero{min-height:auto;gap:32px;padding-top:44px}.hero-copy{padding-bottom:8px}.eyebrow,.section-kicker{margin-bottom:22px}.hero h1{font-size:clamp(50px,15.5vw,76px);line-height:.93}.hero-intro{margin-top:24px;font-size:18px}.hero-actions{align-items:stretch;flex-direction:column;gap:8px;margin-top:28px}.button{width:100%;min-height:54px}.text-link{justify-content:space-between;min-height:52px}.topic-line{gap:10px;margin-top:30px;font-size:15px}.topic-line:before,.topic-line:after{display:none}.hero-art{min-height:clamp(340px,112vw,500px)}.section-pad{padding-block:72px}.split,.approach-grid,.contact-cta-grid,.footer-grid{grid-template-columns:1fr;gap:30px}.statement h2,.services h2,.approach h2,.contact-cta h2{font-size:clamp(42px,13vw,62px)}.lead{margin-top:26px;font-size:17px;line-height:1.65}.service-grid{grid-template-columns:1fr;margin-top:48px}.service-card{min-height:270px;padding:26px;border-left:1px solid var(--line)}.service-card h3{margin-top:44px}.approach-number{font-size:112px}.approach-grid ol{grid-column:auto}.approach li{grid-template-columns:34px 1fr;gap:14px}.contact-cta-grid>div:last-child{grid-column:auto}.site-footer{padding-top:60px}.footer-bottom{flex-direction:column;gap:10px;margin-top:44px}.page-intro{min-height:auto;display:block;padding-block:64px}.page-intro h1{font-size:clamp(50px,15vw,76px)}.page-intro>p:last-child{margin-top:26px;font-size:18px}.content-section{padding-block:72px}.content-grid{gap:28px}.content-grid h2{font-size:clamp(40px,12vw,58px)}.prose{margin-top:0}.prose p{font-size:17px}.detail-list{grid-template-columns:1fr;margin-top:42px}.detail-card{min-height:220px;padding:28px}.detail-card h3{margin-top:38px}.steps{margin-top:42px}.steps li{grid-template-columns:42px 1fr;gap:14px;padding:28px 0}.steps h3{font-size:25px}.contact-layout{gap:38px}.contact-panel{padding:28px}.contact-panel h2{font-size:40px}.contact-form{grid-template-columns:1fr;gap:20px}.field-full{grid-column:auto}.field input,.field textarea,.field select{font-size:16px}.legal{padding-block:64px 90px}.legal h1{margin-bottom:42px;font-size:clamp(48px,14vw,68px)}.mobile-contact-bar{position:fixed;z-index:50;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(25,24,23,.96);box-shadow:0 -8px 28px rgba(25,24,23,.18);backdrop-filter:blur(14px)}.mobile-contact-bar a{min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;color:white;font-size:14px;font-weight:650}.mobile-contact-call{background:var(--terra)}.mobile-contact-whatsapp{background:#276b4e}.mobile-contact-whatsapp span{font-size:11px}}
@media(max-width:390px){.shell{width:min(100% - 24px,1360px)}.header-inner{gap:8px}.wordmark strong{font-size:16px}.mobile-menu summary{font-size:14px}.language-switch{font-size:10px}.language-switch a{min-width:30px}.mobile-menu nav{right:12px;left:12px}.contact-panel{padding:22px}.mobile-contact-bar{padding-inline:8px}.mobile-contact-bar a{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
