/* Himmelsfeuerwerkerei, redaktionelle Gestaltung 12.11.2026.
   Direction informed by unslop, Damir Sokolovsky, CC BY 4.0,
   https://github.com/heydamir/unslop. Adapted to the existing brand. */
body.n-site{--muted:#526158;--line:#d4d7cd;font-size:17px;line-height:1.65}
body.n-site main{overflow-wrap:break-word}
body.n-site main h1{letter-spacing:-.025em;line-height:1.12}
body.n-site main h2{letter-spacing:-.02em;line-height:1.2}
body.n-site main h3{letter-spacing:-.015em;line-height:1.25}
body.n-site .n-kicker{font-size:13px!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;line-height:1.5!important;margin-bottom:20px!important}
body.n-site .n-lead{font-size:19px;line-height:1.65;color:#526158}
body.n-site .n-lead{font-family:Arial,Helvetica,sans-serif!important}
body.n-site .n-subhero h1,body.n-site .n-page-lead h1,body.n-site .hf-story-hero h1{color:#20372c!important}
body.n-site .n-button,body.n-site .s-buy button{border-radius:6px;min-height:48px;transition:background-color .15s}
body.n-site .n-actions{gap:16px 24px;margin-block:28px}
body.n-site a:focus-visible,body.n-site button:focus-visible,body.n-site summary:focus-visible{outline:3px solid #95651e!important;outline-offset:4px!important}
body.n-site .n-related{border-top:1px solid var(--line);padding-top:28px}
body.n-site .n-related a{background:transparent!important;border-bottom:1px solid #a99a7e;border-radius:0;padding:10px 0;margin:0 24px 12px 0;color:#354a3c!important}
body.n-site .n-related a:hover{background:transparent!important;color:#76511e!important}
body.n-site .n-hero-caption{letter-spacing:.03em;font-size:12px}
/* The photographs carry the colour. The surroundings stay quiet. */
body.n-site .n-home-content{padding-top:96px}
body.n-site .n-home-content h1{font-size:clamp(42px,5.4vw,72px);max-width:820px}
body.n-site .n-home-content>p:not(.n-kicker){max-width:580px;line-height:1.65}
body.n-site .n-occasion{border-radius:8px}
body.n-site .n-occasion span{font-size:13px;letter-spacing:.02em}
body.n-site .n-occasion h3{font-size:34px}
body.n-site .n-occasion>img{transition:none}
body.n-site .n-occasion:hover>img{transform:none}
body.n-site .n-about{border-radius:8px}
/* Service pages: an editorial heading, breathing space, readable paragraphs. */
body.n-site .hf-story-hero{padding-block:32px 40px}
body.n-site .hf-story-hero h1{font-size:clamp(38px,4.5vw,60px);max-width:940px}
body.n-site .hf-story-hero .n-lead{max-width:68ch}
@media(min-width:961px){
 body.n-site .hf-story-hero:has(>.hf-editorial-image){display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:40px;max-width:none;align-items:start}
 body.n-site .hf-story-hero:has(>.hf-editorial-image)>:not(.hf-editorial-image){grid-column:1}
 body.n-site .hf-story-hero:has(>.hf-editorial-image)>h1{font-size:clamp(38px,4vw,54px);margin:0 0 24px}
 body.n-site .hf-story-hero:has(>.hf-editorial-image)>.hf-editorial-image{grid-column:2;grid-row:1 / span 4;margin:0;padding:0;background:transparent;align-self:start}
 body.n-site .hf-story-hero>.hf-editorial-image img{height:auto!important;max-height:none;aspect-ratio:4/3;object-fit:cover!important}
}
body.n-site .hf-story{padding-block:40px}
body.n-site .hf-story h2{font-size:clamp(28px,3vw,36px);margin-bottom:24px}
body.n-site .hf-story p,body.n-site .hf-story li{max-width:76ch;line-height:1.75}
body.n-site .hf-editorial-image{border-radius:8px}
body.n-site .hf-editorial-image img{border-radius:6px}
body.n-site .n-page-lead h1,body.n-site .n-subhero h1{font-size:clamp(36px,4.6vw,60px)}
body.n-site .n-page-lead{padding-block:40px}
/* City pages retain their own photos, locations and composition. */
body.n-site .hf-city-page .city-wrap{max-width:1240px;padding:32px 40px 80px}
body.n-site .hf-city-page .city-hero{gap:40px;margin-block:32px 48px}
body.n-site .hf-city-page h1{font-size:clamp(38px,4.4vw,58px);text-wrap:initial}
body.n-site .hf-city-page .city-lead{font-size:20px;line-height:1.55}
body.n-site .hf-city-page .city-intro{max-width:72ch;font-size:18px;line-height:1.75}
body.n-site .hf-city-page .city-local{margin-block:64px;max-width:76ch}
body.n-site .hf-city-page .city-detail{gap:40px;margin-block:64px}
body.n-site .hf-city-page .city-checks{border-top:1px solid #b8a581;padding-block:32px}
body.n-site .hf-city-page .city-checks li:before{font-size:24px;color:#79551f}
body.n-site .hf-city-page .city-contact{background:#eeece3;border-radius:8px;padding:40px}
body.n-site .hf-city-page .city-faq{max-width:850px;padding-block:32px}
body.n-site .hf-city-page img{border-radius:8px}
body.n-site .city-related{gap:16px 24px}
/* Catalogue cards remain cards: images and buying controls need a clear group. */
body.n-site .s-intro{gap:48px;padding-block:56px}
body.n-site .s-intro h1{font-size:clamp(38px,4.5vw,60px)}
body.n-site .s-intro>img{border-radius:8px}
body.n-site .s-grid{gap:24px}
body.n-site .s-card{border-color:#d7d9cf;border-radius:8px;box-shadow:none}
body.n-site .s-card-body{padding:24px}
body.n-site .s-category{font-size:12px;letter-spacing:.02em;text-transform:none;color:#526158}
body.n-site .s-card h2{font-size:26px;line-height:1.25;margin-bottom:20px}
body.n-site .s-price{font-variant-numeric:tabular-nums;font-size:24px}
body.n-site .s-buy button{font-size:14px}
body.n-site .s-buy input{min-height:48px;border-radius:4px}
body.n-site .hf-product-card .s-card-body{padding:40px}
body.n-site .hf-product-card h1{font-size:clamp(32px,3.5vw,44px);line-height:1.2}
body.n-site .hf-product-description{line-height:1.75}
body.n-site .hf-product-info{padding-block:32px}
/* Prices, forms and legal copy stay structured for comparison and reading. */
body.n-site .hf-price-card{border-top:2px solid #a78045;border-radius:8px;box-shadow:none;padding:28px 24px}
body.n-site .hf-price-card h2{font-size:36px;letter-spacing:-.02em}
body.n-site .hf-price-card dt{font-size:14px}
body.n-site .n-module-form{border-radius:8px;box-shadow:none}
body.n-site .n-booking-help,body.n-site .n-booking-help p{color:#344a3c!important}
body.n-site .hf-legal{max-width:860px}
body.n-site .hf-legal p,body.n-site .hf-legal li{font-size:17px;line-height:1.8}
body.n-site .hf-legal h2{font-size:29px;line-height:1.25}
body.n-site main details>summary{line-height:1.5;cursor:pointer}
body.n-site .hf-city-page details>summary,body.n-site .n-home-faq details>summary{padding-block:20px;font-size:18px}
@media(min-width:961px){body.n-site #hf-contact-bar{display:none!important}}
@media(max-width:800px){
 body.n-site .n-home-content{padding-top:56px}
 body.n-site .n-home-content h1{font-size:clamp(38px,7vw,54px)}
 body.n-site .hf-city-page .city-wrap{padding:24px 24px 56px}
 body.n-site .hf-city-page .city-hero,body.n-site .hf-city-page .city-detail{gap:24px}
 body.n-site .hf-city-page .city-local,body.n-site .hf-city-page .city-detail{margin-block:48px}
 body.n-site .hf-city-page .city-contact{padding:24px}
 body.n-site .hf-city-page .city-lead,body.n-site .n-lead{font-size:18px}
 body.n-site .hf-story{padding-block:32px}
 body.n-site .hf-story-hero{padding-block:24px 32px}
 body.n-site .s-intro{gap:24px;padding-block:32px}
 body.n-site .hf-product-card .s-card-body{padding:24px}
 body.n-site .n-related a{margin-right:20px}
 body.n-site .n-menu nav>a{display:block!important;padding-block:14px!important}
}
@media(max-width:480px){
 body.n-site .hf-city-page h1,body.n-site .hf-story-hero h1,body.n-site .n-subhero h1,body.n-site .n-page-lead h1{font-size:36px}
 body.n-site .hf-city-page .city-wrap{padding-inline:20px}
 body.n-site .n-actions .n-button{max-width:100%;white-space:normal;text-align:center}
 body.n-site .s-intro h1{font-size:36px}
}
@media(prefers-reduced-motion:reduce){body.n-site *,body.n-site *:before,body.n-site *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
