/* Kraftplatz 2.0 — quiet editorial rhythm, centered first screen. */
:root{--paper:#fbf9f6;--cream:#f8f4ef;--sand:#f3ece5;--ink:#68564c;--muted:#74655d;--line:#d9cdc2;--accent:#c9ae9d;--hover:#b79b89;--gutter:clamp(24px,7vw,112px);--space:clamp(88px,10vw,150px)}
body{font-size:16px;line-height:1.9}a:hover{color:var(--ink)}h1,h2,h3{font-weight:400;letter-spacing:-.025em}h2{font-size:clamp(42px,4.2vw,64px);line-height:1.12}h3{line-height:1.18}.wrap{max-width:1190px}.reading{max-width:740px}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:500;color:var(--muted);margin-bottom:25px}.lead{font-size:19px;line-height:1.85}.button,.wp-block-button__link{background:var(--accent);color:#44342b;border-color:var(--accent);padding:17px 29px;border-radius:0;font-size:12px;letter-spacing:.065em;font-weight:500;min-height:54px}.button:hover,.wp-block-button__link:hover{background:var(--hover);color:#382a22;border-color:var(--hover)}.wp-block-button.is-style-outline .wp-block-button__link{border-color:var(--line)}
.site-header{background:var(--paper)}.header-inner{min-height:88px;max-width:1360px;border:0;width:calc(100% - 80px)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.header-logo{width:67px;height:67px;object-fit:contain}.header-wordmark{font-family:var(--serif);font-size:22px;line-height:1.15}.header-wordmark small{font:8px/1.5 var(--sans);display:block;letter-spacing:.24em;margin-top:7px}.menu{gap:31px}.menu a{font-size:11px;letter-spacing:.055em}.menu .sub-menu{background:var(--paper);box-shadow:none}.submenu-toggle{font-size:15px;width:25px}#site-navigation{gap:0}
.home-hero{isolation:isolate;position:relative;padding:48px 24px;min-height:650px;height:calc(100svh - 88px);max-height:1050px;display:flex;align-items:center;justify-content:center;background:var(--cream);border:0;overflow:hidden}.hero-background{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-slide,.hero-video{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center;opacity:0;transition:opacity 2.5s ease;filter:saturate(.55)}.hero-slide.is-active,.hero-video.is-playing{opacity:1}.home-hero::after{content:"";position:absolute;inset:0;background:var(--paper);opacity:var(--hero-overlay,.6);z-index:-1;pointer-events:none}.home-hero[data-mode=plain]::after{display:none}.hero-content{width:100%;max-width:920px;display:flex;align-items:center;flex-direction:column;text-align:center;margin:0 auto}.hero-brand-logo{width:clamp(240px,37vh,360px);height:auto;aspect-ratio:1;object-fit:contain;display:block;margin:0 auto 27px}.hero-content h1{font-size:clamp(30px,3.25vw,48px);line-height:1.15;font-weight:400;letter-spacing:-.025em;margin:0 0 16px;text-align:center}.hero-subtitle{font-size:14px;letter-spacing:.055em;margin:0 0 31px}.hero-button{min-width:195px}.hero-scroll{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:10px 16px;text-decoration:none;font-size:24px;font-family:var(--serif);line-height:1}
.intro-section{padding-top:var(--space);padding-bottom:var(--space)}.intro-section h2{font-size:clamp(46px,4.5vw,66px)}.intro-section .lead{max-width:610px}.intro-section>p:not(.eyebrow):not(.serif-note){max-width:635px}.serif-note{font-size:31px;font-style:italic;margin-top:32px}.mood-section{max-width:1440px;width:calc(100% - 80px);margin-bottom:60px}.mood-image{height:390px;overflow:hidden}.mood-image img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}.services-heading{padding:65px 0 22px;text-align:center}.services-heading h2{max-width:none;font-size:clamp(42px,4vw,58px)}.services-heading h2 br{display:none}.service-section{padding:75px 0}.service-row{gap:clamp(64px,9vw,150px);align-items:center}.service-art{aspect-ratio:.95;border-radius:0;background:var(--sand);overflow:hidden;display:block}.service-visual{width:100%;height:100%;margin:0!important}.service-visual img{width:100%;height:100%;object-fit:cover}.art-1 .service-visual img{object-position:28% center}.art-2 .service-visual img{object-position:27% center;filter:saturate(.5)}.art-3{position:relative}.art-3 .service-visual img{object-position:15% center}.service-copy{max-width:455px}.service-copy h2{font-size:clamp(39px,3.8vw,56px);overflow-wrap:normal;hyphens:auto}.service-copy .eyebrow{font-size:9px;letter-spacing:.18em}.service-copy p{font-size:15px;line-height:1.95}.service-copy .text-link{margin-top:27px}.text-link a,a.text-link{font-size:11px;letter-spacing:.09em;text-transform:uppercase;gap:38px;padding:11px 0}.text-link span{font-size:18px}.quote-section{margin:80px 0 10px;padding:130px var(--gutter);background:var(--sand)}.quote-section h2{font-size:clamp(40px,4.15vw,64px);max-width:1060px;line-height:1.25}.quote-section h2 em{font-style:italic}.quote-section .eyebrow{font-size:9px}
.circles-section{padding:135px 0}.circle-row{gap:100px;align-items:center}.circle-intro h2{font-size:clamp(44px,4vw,61px)}.circle-intro>p:not(.eyebrow){font-size:15px}.event-empty{background:transparent}.event-empty h3{font-size:36px}.kw-events .event-empty{padding:39px 0}.event-empty p:not(.eyebrow){font-size:14px}.event-feature{border-bottom:1px solid var(--line)}.about-section{padding:40px 0 140px}.about-row{gap:clamp(70px,9vw,150px)}.portrait-placeholder{aspect-ratio:.87;border-radius:48% 48% 0 0;background:var(--sand);border:0;min-height:0}.portrait-placeholder::before{inset:19px;border-color:var(--line)}.photo-placeholder-caption{font-size:31px;font-style:italic;font-weight:300}.photo-placeholder .eyebrow{font-size:8px}.about-copy h2{font-size:clamp(43px,4.1vw,61px)}.about-copy .lead{font-size:18px}.about-copy p:not(.eyebrow):not(.lead){font-size:15px}.home-contact{padding-top:110px;padding-bottom:120px;border-top:1px solid var(--line)}.contact-layout{gap:110px;grid-template-columns:1fr 1fr}.contact-options h2{font-size:54px}.contact-options>p{font-size:15px}.contact-form-wrap{padding:0;background:transparent}.form-field label{font-size:11px;letter-spacing:.025em}.form-field input,.form-field textarea,.form-field select{background:var(--cream);border:0;border-bottom:1px solid #bca99a;padding:11px 13px;min-height:44px;font-size:15px}.form-field textarea{min-height:120px}.form-field{margin-bottom:22px}.consent-field{font-size:11px;line-height:1.8}.contact-form-wrap .small{font-size:11px}.contact-form-wrap h3{font-size:32px}.contact-form-wrap fieldset{border:0;margin:0;padding:0;min-width:0}.contact-form-wrap fieldset:disabled{opacity:.65}.form-unavailable{font-size:12px;line-height:1.7;padding:15px 0 22px;color:var(--muted)}.contact-method{font-size:29px;padding:19px 0}.contact-pending{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0;font:29px/1.5 var(--serif)}.contact-pending small{font:11px/1.6 var(--sans)}.contact-options .small{font-size:12px}.contact-pending:last-of-type{border-bottom:1px solid var(--line)}
.site-footer{background:var(--sand);padding-top:60px}.footer-main{max-width:1190px;grid-template-columns:140px 1.3fr .8fr;gap:65px}.footer-logo{width:135px;height:135px;mix-blend-mode:normal}.footer-main .eyebrow{font-size:9px}.footer-main p:not(.eyebrow):not(.footer-name){font-size:12px}.footer-contact{font-size:12px}.footer-name{font-size:30px}.footer-bottom{max-width:1190px;font-size:9px;letter-spacing:.03em}.service-detail-image{max-height:490px;overflow:hidden}.service-detail-image img{max-height:490px;object-fit:cover}.page-heading{padding-top:100px}.page-heading h1{font-size:clamp(45px,5vw,75px)}.page-content a:not(.button):not(.wp-block-button__link){color:inherit}
@media(min-width:1600px){.home-hero{padding:48px 24px}.hero-brand-logo{width:380px}.hero-content h1{font-size:52px}}
@media(max-width:1100px){.header-inner{width:calc(100% - 48px)}.menu{gap:18px}.header-wordmark{font-size:19px}.service-row,.about-row,.circle-row,.contact-layout{gap:50px}}
@media(max-width:1023px){.header-inner{min-height:80px}.header-logo{width:60px;height:60px}.home-hero{height:calc(100svh - 80px);min-height:620px}.menu-toggle{border:0!important}.menu a{font-size:15px}.hero-content h1{font-size:38px}.hero-brand-logo{width:300px}.header-wordmark{font-size:21px}.contact-options h2{font-size:45px}}
@media(max-width:781px){:root{--gutter:25px;--space:80px}.header-inner{min-height:76px}.header-logo{height:54px;width:54px}.header-wordmark{font-size:18px}.header-wordmark small{font-size:7px;letter-spacing:.16em;margin-top:5px}.brand{gap:8px}.kw-js .menu-toggle{font-size:11px;padding:8px 0 8px 12px;gap:9px}.home-hero{height:calc(100svh - 76px);min-height:570px;max-height:850px;padding:40px 20px 58px}.hero-brand-logo{width:clamp(225px,36svh,310px);margin-bottom:24px}.hero-content h1{font-size:clamp(27px,6.9vw,37px);white-space:nowrap;margin-bottom:16px;letter-spacing:-.035em}.hero-subtitle{font-size:12px;margin-bottom:27px}.hero-button{font-size:11px;min-height:49px;padding:15px 24px;min-width:185px}.hero-scroll{font-size:23px;bottom:14px}.hero-video{display:none}.intro-section{padding:80px 0}.intro-section h2{font-size:46px}.lead{font-size:18px}.intro-section p:not(.eyebrow):not(.serif-note){font-size:15px}.mood-section{width:calc(100% - 30px);margin-bottom:20px}.mood-image{height:230px}.services-heading{padding:57px 0 14px}.services-heading h2{font-size:40px}.services-heading h2 br{display:block}.service-section{padding:32px 0 43px}.service-row,.about-row,.circle-row{gap:32px}.service-art{aspect-ratio:1.08;max-width:520px;border-radius:0}.service-copy h2{font-size:40px;hyphens:auto;overflow-wrap:break-word}.service-copy p{font-size:15px}.service-copy .eyebrow{font-size:9px}.service-copy .text-link{margin-top:20px}.service-copy{max-width:none}.quote-section{margin:45px 0 0;padding:86px 25px}.quote-section h2{font-size:37px;line-height:1.25}.quote-section .eyebrow{font-size:8px}.circles-section{padding:80px 0}.circle-intro h2{font-size:46px}.event-empty h3{font-size:33px}.about-section{padding:15px 0 85px}.portrait-placeholder{max-width:440px;aspect-ratio:.9}.about-copy h2{font-size:46px}.photo-placeholder-caption{font-size:29px}.home-contact{padding-top:76px;padding-bottom:80px}.contact-layout{gap:55px;grid-template-columns:1fr}.contact-options h2{font-size:46px}.contact-form-wrap{padding:0}.contact-form-wrap h3{font-size:35px}.site-footer{padding-top:40px}.footer-main{display:grid;grid-template-columns:1fr;gap:28px}.footer-logo{width:115px;height:115px}.footer-bottom{font-size:10px;line-height:1.8}.footer-bottom ul{font-size:11px}.page-heading{padding-top:70px}.service-detail-image,.service-detail-image img{max-height:290px}.service-small-symbol{margin:0 auto 26px!important}}
@media(max-width:360px){.header-wordmark{font-size:15px}.header-logo{width:45px;height:45px}.hero-content h1{font-size:24px}.hero-brand-logo{width:235px}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero-slide{transition:none}}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.services-heading h2 br:after{content:" "}

/* Revision 2.0.1: full-screen opening, navigation on scroll, clearer section labels. */
.site-header{position:sticky;top:0}
.home .site-header{position:fixed;inset:0 0 auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-100%);transition:transform .3s ease,opacity .3s ease,visibility .3s}
.home .site-header.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.admin-bar .site-header{top:32px}
.home .home-hero{height:100svh;max-height:none}
.hero-content h1,.hero-subtitle{text-shadow:0 0 2px var(--paper),0 1px 9px var(--paper)}
.hero-brand-logo{filter:drop-shadow(0 0 1px var(--paper))}
.intro-section>.eyebrow,.services-heading>.eyebrow,.quote-section>.eyebrow{font-size:18px;letter-spacing:.13em;line-height:1.6;color:var(--ink)}
.circle-intro>.eyebrow,.event-empty>.eyebrow,.about-copy>.eyebrow{font-size:14px;letter-spacing:.16em}
.kw-js .is-visible #site-navigation.is-open{max-height:calc(100svh - 90px);overflow-y:auto}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:781px){.intro-section>.eyebrow,.services-heading>.eyebrow,.quote-section>.eyebrow{font-size:16px;letter-spacing:.11em}.home .home-hero{height:100svh;max-height:none}}
@media(max-width:600px){.admin-bar .site-header{top:0}}
@media(prefers-reduced-motion:reduce){.home .site-header{transition:none}}
