/* Shared design tokens and responsive refinements, 23 October 2026. */
:root{--space-section:clamp(54px,6vw,88px);--radius-control:8px;--text-soft:#c5c8bc;--focus-ring:#e4c47f}
body{font-kerning:normal;-webkit-font-smoothing:antialiased}
main>section{padding-block:var(--space-section)}
h1,h2,h3{text-wrap:balance}p{ text-wrap:pretty }
.intro{color:var(--text-soft);line-height:1.8}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:var(--radius-control);line-height:1.45}
.skip-content{position:fixed;top:10px;left:16px;z-index:11000;padding:12px 18px;background:var(--gold);color:#171a12;border-radius:8px;transform:translateY(-160%);text-decoration:none;font-weight:600}
.skip-content:focus{transform:none}
:is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--focus-ring);outline-offset:5px}
header.centered-header nav a{min-height:48px}
header.centered-header nav a:last-child{display:block}
.services .service h3{overflow-wrap:normal;hyphens:auto}
.services .service-more summary{min-height:44px;font-size:13px}
.services .service{min-width:0}
#arbeiten .work-group:not(.work-trio):not(.work-single){display:flex;flex-direction:column;align-items:stretch;gap:24px}
#arbeiten .work-group:not(.work-trio):not(.work-single) .work-copy{max-width:600px;padding:0}
#arbeiten .work-group:not(.work-trio):not(.work-single) .work-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px;min-height:0;pointer-events:auto}
#arbeiten .work-group:not(.work-trio):not(.work-single) .work-photos figure:nth-child(n){width:100%;margin:0}
#arbeiten .work-group:not(.work-trio):not(.work-single) .work-photos img{height:360px;width:100%;object-fit:contain;background:#161a14}
#arbeiten .work-trio .work-photos figure:nth-child(n) img{object-fit:contain;background:#161a14}
#arbeiten .work-single .work-photos img{object-fit:contain;background:#161a14}
.gallery-next-step{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:45px;padding:26px 0 0;border-top:1px solid #d7af5938}
.gallery-next-step p{margin:0;max-width:560px;color:var(--text-soft)}
.photo-dialog .photo-navigation{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px}
.photo-navigation button{background:#252a20;color:#f7f5ed;border:1px solid #d7af5970;border-radius:8px;padding:10px 15px;min-height:44px;cursor:pointer}
.photo-navigation output{font-size:13px;color:#e2c78d}
.photo-dialog>img{max-height:calc(85dvh - 145px);object-fit:contain}
.offer-layout{gap:clamp(30px,6vw,70px)}
.offer-copy .detail{max-width:560px;line-height:1.8}
.offer-panel{border-radius:20px;padding:clamp(22px,4vw,38px)}
.offer-panel :is(input,select,textarea){border-radius:8px;font-size:16px;padding:13px}
.offer-panel .offer-controls{margin-top:20px}
.contact .contact-links a{min-height:48px}
@media(min-width:801px){.hero h1{max-width:660px;letter-spacing:-.025em}.hero>div:first-child{max-width:670px}.hero .hero-signature{margin-top:28px}}
@media(max-width:800px){.gallery-next-step{align-items:flex-start;flex-direction:column;gap:20px}#arbeiten .work-group:not(.work-trio):not(.work-single) .work-photos img{height:300px}}
@media(max-width:600px){
 .wrap.hero{min-height:0;display:block;padding:275px 6% 42px;background-color:#0d120d;background-image:linear-gradient(180deg,transparent 0,transparent 130px,#0d120d 280px),url('hero-glass-logo-v2.webp')!important;background-position:center top,76% top;background-size:100% 290px,auto 290px;background-repeat:no-repeat}
 .hero h1{font-size:clamp(38px,10vw,56px);margin:18px 0 20px;letter-spacing:-.025em}
 .hero p{font-size:16px;line-height:1.75}.hero .eyebrow{font-size:10px;letter-spacing:1.8px;line-height:1.8;max-width:320px}
 .hero .hero-signature{font-size:10px;margin-top:22px}.hero .detail{font-size:12px;line-height:1.9}
 .hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.hero .btn{padding:12px 10px;font-size:13px}
 header.centered-header{min-height:78px}.offer-panel{scroll-margin-top:95px}
 #arbeiten .work-group:not(.work-trio):not(.work-single) .work-photos{gap:12px}
 #arbeiten .work-group:not(.work-trio):not(.work-single) .work-photos img{height:230px}
 #arbeiten .extra-photos img{height:210px}
 #arbeiten .work-trio .work-photos figure:nth-child(n){margin-top:20px}#arbeiten .work-trio .work-photos figure:nth-child(2){margin-top:0}
 #arbeiten .work-trio .work-photos figure:nth-child(n) img{height:150px}
 #arbeiten .work-photo span{font-size:10px;letter-spacing:.02em}
 .gallery-next-step .btn{width:100%}.offer-copy h2{font-size:34px}.phone-visual{max-width:200px;min-height:360px}
 .offer-controls .btn{flex:1}.offer-panel .offer-cancel{min-height:44px;padding-top:16px}
 .photo-dialog{max-width:96vw;padding:14px}.photo-navigation button{font-size:12px;padding:10px}.photo-dialog>img{max-height:calc(80dvh - 140px)}
}
@media(max-width:360px){.hero .actions{grid-template-columns:1fr}.hero h1{font-size:37px}.services .service{padding:22px}.services .service h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skip-content{transition:none}}
