/* Mareike Editorial: Gestaltung nach der freigegebenen HTML-Vorschau. Farben und Schriften kommen aus theme.json. */
:root{--shell:1260px;--serif:var(--wp--preset--font-family--serif);--ink:var(--wp--preset--color--brown);--muted:var(--wp--preset--color--muted);--line:var(--wp--preset--color--line);--cream:var(--wp--preset--color--cream);--sand:var(--wp--preset--color--sand);--taupe:var(--wp--preset--color--taupe);--accent:var(--wp--preset--color--taupe-deep);--deep:var(--wp--preset--color--deep)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid #9a6550;outline-offset:3px}
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.site-main p{margin:0 0 1em}
.wp-block-heading{font-family:var(--serif);font-weight:400;margin:0}
.site-main{overflow-wrap:break-word}
.shell{width:min(calc(100% - 100px),var(--shell));margin-inline:auto}
.narrow{max-width:820px}
.eyebrow{margin:0 0 24px!important;color:var(--accent);font-size:11px;font-weight:650;letter-spacing:.2em;line-height:1.5;text-transform:uppercase}
.eyebrow a{text-decoration:none}
.section{padding:108px 0}
.section h2,.closing h2{font-size:clamp(44px,5.6vw,85px);letter-spacing:-.035em;line-height:1.04;margin:0 0 22px}
.section-intro{color:var(--muted);margin:0 0 54px!important}
.section-end{text-align:right;margin-top:34px!important}
.line-link{font-size:13px;text-decoration:none;letter-spacing:.025em;border-bottom:1px solid var(--ink);padding-bottom:8px;font-weight:600}

/* Buttons */
.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:16px 18px}
.wp-block-button .wp-block-button__link{display:inline-flex;justify-content:center;align-items:center;gap:17px;min-height:53px;padding:0 24px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:#fff;font-size:11px;font-weight:650;letter-spacing:.105em;line-height:1.2;text-transform:uppercase;text-decoration:none;transition:background .25s,color .25s}
.wp-block-button .wp-block-button__link:hover{background:#55443e;border-color:#55443e;color:#fff}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--ink);border-color:var(--ink);color:#fff}

/* Header */
.site-header{height:96px;background:var(--cream);position:relative;z-index:20}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark{display:flex;align-items:center;gap:14px;flex-shrink:0}
.wordmark__name{margin:0!important;font-family:var(--serif);font-size:27px;letter-spacing:.18em;line-height:1.1;text-transform:uppercase;white-space:nowrap}
.wordmark__name a,.footer-brand a{text-decoration:none}
.wordmark__sub{margin:7px 0 0!important;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.site-nav{gap:38px}
.site-nav .wp-block-navigation__container{gap:31px;align-items:center}
.site-nav .wp-block-navigation-item__content{padding:.6em 0;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.site-nav .wp-block-navigation-item__content:hover{color:#8a6551}
.site-nav .nav-cta .wp-block-navigation-item__content{display:flex;align-items:center;min-height:43px;padding:0 20px;background:var(--ink);color:#fff;letter-spacing:.08em;white-space:nowrap}
.site-nav .nav-cta .wp-block-navigation-item__content:hover{background:#55443e;color:#fff}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px}
.site-nav .wp-block-navigation__responsive-container.is-menu-open{padding:25px 22px 32px}
.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:24px;align-items:flex-start}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:14px}

/* Hero */
.hero{background:var(--cream);padding:20px 0 36px}
.hero-grid{display:grid;grid-template-columns:1.22fr .91fr;gap:80px;align-items:center;min-height:670px}
.hero-copy{padding:45px 0 60px}
.hero h1{font-size:clamp(52px,5.8vw,92px);line-height:1;letter-spacing:-.04em;max-width:735px}
hr.wp-block-separator.small-rule{width:153px;height:2px;margin:42px 0 30px;border:0;background:var(--taupe);opacity:1}
.hero-lead{color:var(--muted);font-size:18px;line-height:1.66;max-width:585px}
.hero .wp-block-buttons{margin-top:45px}
.hero-art{margin-top:15px}
.editorial-visual{margin:0;background:#d8c6ba;overflow:hidden;aspect-ratio:.75/1}
.editorial-visual img{display:block;width:100%;height:100%;object-fit:cover}
.editorial-visual--about{aspect-ratio:4/5}
.editorial-visual--about img{object-position:50% 30%}
.manifesto{background:var(--deep);color:var(--cream);padding:21px 0;text-align:center}
.manifesto p{margin:0!important;font:25px/1.25 var(--serif);letter-spacing:.05em;text-transform:uppercase}
.manifesto span{color:#d6b8a0}

/* Leistungen */
.portfolio-section{background:#fff}
.services-section{background:var(--cream)}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 31px;margin-top:83px}
.service{border-top:1px solid var(--line);padding-top:24px}
.service-no{font:italic 44px/.95 var(--serif);color:var(--accent);margin:0 0 35px!important}
.service h3{font-size:35px;line-height:1.15;margin:0 0 20px}
.service p:last-child{font-size:15px;line-height:1.7;color:var(--muted)}

/* Über mich */
.about-section,.about-story{background:#fff}
.about-story{padding-top:125px}
.about-grid{display:grid;grid-template-columns:.96fr 1fr;gap:105px;align-items:center}
.about-copy{max-width:580px}
.about-copy h1,.about-copy h2{font-size:clamp(60px,6vw,93px);line-height:.96;letter-spacing:-.04em;margin:18px 0 62px}
.about-copy p:not(.eyebrow){line-height:1.85;color:var(--muted)}
.about-copy p.quote{font:italic 28px/1.45 var(--serif);color:var(--ink);margin-bottom:35px}
.about-copy .wp-block-buttons{margin-top:35px}

/* Ablauf */
.process-section{background:var(--cream)}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:76px}
.step{border-top:1px solid var(--line);padding-top:20px}
.step-no{font:400 52px/1 var(--serif);color:var(--accent);margin:0!important}
.step h3{font:650 13px/1.4 var(--wp--preset--font-family--sans);text-transform:uppercase;letter-spacing:.11em;margin:22px 0}
.step p:last-child{font-size:14px;line-height:1.65;color:var(--muted);max-width:260px}

/* Pakete */
.packages-section{background:#fff}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:62px}
.package{display:flex;flex-direction:column;min-height:355px;padding:29px 28px;background:#faf8f5;border:1px solid #e5dcd6}
.package--featured{background:var(--cream)}
.package-tag{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.17em;font-weight:650;margin:0!important}
.package h3{font-size:49px;line-height:1.08;margin:15px 0 18px}
.package>p:not(.package-tag):not(.package-bottom){font-size:14px;color:var(--muted);line-height:1.7}
.package .package-bottom{margin:auto 0 0!important;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px}
.package-bottom strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.package-bottom a{margin-top:9px;text-transform:uppercase;font-size:11px;letter-spacing:.1em;font-weight:650;text-decoration:none}
.under-note{margin:22px 0 0!important;font-size:12px;color:var(--muted)}

/* Zusatz: Nutzungsrechte, FAQ */
.usage-section{background:var(--cream)}
.usage-section p,.usage-section li,.faq-section p{color:var(--muted);font-size:17px;line-height:1.8}
.wp-block-details{border-top:1px solid var(--line);padding:20px 0}
.wp-block-details:last-of-type{border-bottom:1px solid var(--line)}
.wp-block-details summary{cursor:pointer;font:400 28px/1.3 var(--serif)}
.wp-block-details p{margin:14px 0 0}

/* Abschluss */
.closing{padding:112px 0 100px;background:var(--sand);text-align:center}
.closing-email-inner{max-width:950px}
.closing h2{margin:0 auto 24px}
.closing-email-lead{max-width:590px;margin:0 auto 30px!important;font-size:17px;line-height:1.7}
.closing .wp-block-buttons{justify-content:center}
.closing-email-address{margin:20px auto 0!important;font-size:14px}
.closing-email-address a,.social-link a{text-underline-offset:5px}
.social-link{margin:14px 0 0!important;font-size:14px}
.closing .eyebrow{margin:0 0 16px;font-size:11px;font-weight:650;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.contact-form{max-width:640px;margin:0 auto;text-align:left}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.contact-form__field{border-bottom:1px solid var(--taupe);padding:18px 0 10px;margin-bottom:6px}
.contact-form__field:focus-within{border-color:var(--ink)}
.contact-form label{display:block;margin-bottom:6px;font-size:11px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.contact-form label i{font-style:normal;font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--muted)}
.contact-form input,.contact-form textarea{width:100%;padding:0;font:inherit;color:var(--ink);background:none;border:0;border-radius:0;outline:0}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form__hp{position:absolute;left:-9999px}
.contact-form__actions{margin-top:36px;text-align:center}
.contact-form__submit{padding:20px 34px;font-size:12px;font-weight:650;line-height:1;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--ink);border:0;cursor:pointer}
.contact-form__submit:hover,.contact-form__submit:focus-visible{background:var(--accent)}
.contact-form__alt{margin:18px 0 0!important;font-size:13px;color:var(--muted)}
.contact-form__alt a{color:var(--ink);text-underline-offset:5px}
.contact-form__privacy{max-width:460px;margin:14px auto 0!important;font-size:12px;line-height:1.6;color:var(--muted)}
.contact-form__privacy a{text-underline-offset:4px}
.contact-form__notice{max-width:640px;margin:0 auto 24px!important;padding:16px;border:1px solid var(--taupe);font-size:15px;text-align:center}
.contact-form__notice--error{border-color:#9a4a3a;color:#7a2f20}
.closing .social-links{margin-top:44px}
@media(max-width:820px){.contact-form__row{grid-template-columns:1fr}.contact-form__submit{width:100%}}
.contact-setup-notice{max-width:530px;margin:22px auto 0!important;padding:16px;border:1px solid #ae9685;font-size:13px;line-height:1.6}

/* Seiten */
.page-hero{padding:124px 0 130px;background:var(--cream)}
.page-hero h1{font-size:clamp(56px,7vw,112px);line-height:.96;letter-spacing:-.05em;max-width:910px;margin:0 0 30px}
.page-hero p{max-width:690px;font-size:18px;color:var(--muted)}
.page-hero .wp-block-post-title{font-size:clamp(56px,7vw,112px);line-height:.96;letter-spacing:-.05em;margin:0}
.portfolio-archive{padding-top:68px}
.prose-page{padding-block:112px;min-height:40vh}
.prose-page p,.prose-page li{font-size:17px;line-height:1.8;color:var(--muted)}
.prose-page h2{font-size:40px;margin:1.4em 0 .4em}
.single-grid{display:grid;grid-template-columns:minmax(0,480px) 1fr;gap:80px;align-items:start}
.single-copy .wp-block-post-title{font-size:clamp(48px,5vw,80px);line-height:1;letter-spacing:-.03em;margin:0 0 30px}
.single-copy .wp-block-post-content p{color:var(--muted);font-size:17px;line-height:1.8}

/* Top-Button */
.to-top{position:fixed;right:24px;bottom:24px;z-index:50;display:grid;place-items:center;width:48px;height:48px;color:var(--ink);background:var(--wp--preset--color--white);border:1px solid var(--ink);transition:background .2s,color .2s}
.to-top[hidden]{display:none}
.to-top:hover,.to-top:focus-visible{background:var(--ink);color:#fff}
.to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.to-top{right:16px;bottom:16px}}

/* Footer */
.footer{background:var(--deep);color:var(--cream);padding:62px 0}
.footer a{color:var(--cream)}
.footer-inner{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px;align-items:start}
.footer-brand{margin:0!important;font:29px/1.1 var(--serif);letter-spacing:.2em;text-transform:uppercase}
.footer-sub{margin:16px 0 0!important;font-size:10px;color:var(--sand);letter-spacing:.15em;text-transform:uppercase}
.footer .wp-block-navigation-item__content{font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;padding:.4em 0}
.footer-nav .wp-block-navigation__container{gap:8px 22px}
.footer-heading{margin:0 0 18px!important;font-size:10px;font-weight:650;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}
.footer-col--nav .wp-block-navigation__container{gap:2px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:48px;padding-top:22px;border-top:1px solid rgba(231,213,199,.2)}
.footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:6px 22px}
.footer-legal p,.footer-credit{margin:0!important;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--sand)}
.footer-credit{letter-spacing:.04em;text-transform:none;color:#b9a99b}
.footer-credit a{color:var(--sand);text-underline-offset:4px}
.footer .social-link{margin:0!important}

@media(max-width:1100px){
	.shell{width:min(calc(100% - 66px),var(--shell))}
	.hero-grid{gap:44px}
	.hero h1{font-size:clamp(66px,7.4vw,90px)}
	.about-grid{gap:53px}
	.service h3{font-size:29px}
}
@media(min-width:600px) and (max-width:960px){
	.wordmark__sub{display:none}
	.wordmark__name{font-size:21px;letter-spacing:.12em}
	.site-nav{gap:16px}
	.site-nav .wp-block-navigation__container{gap:16px}
	.site-nav .wp-block-navigation-item__content{letter-spacing:.06em}
	.site-nav .nav-cta .wp-block-navigation-item__content{padding:0 12px}
}
@media(max-width:780px){
	.shell{width:calc(100% - 44px)}
	.site-header{height:76px}
	.wordmark__name{font-size:22px;letter-spacing:.14em}
	.wordmark__sub{font-size:9px}
	.section{padding:80px 0}
	.hero{padding:5px 0 32px}
	.hero-grid{grid-template-columns:1fr;gap:35px;min-height:0}
	.hero-copy{padding:32px 0 0}
	.hero h1{font-size:clamp(48px,11.5vw,106px);max-width:670px}
	.hero-lead{font-size:16px}
	.hero-art{margin-top:0}
	.editorial-visual{aspect-ratio:.9/1}
	.manifesto p{font-size:18px}
	.services-grid,.steps-grid{grid-template-columns:repeat(2,1fr);gap:28px}
	.about-grid,.single-grid{grid-template-columns:1fr;gap:45px}
	.editorial-visual--about{aspect-ratio:4/5}
	.about-copy h1,.about-copy h2{font-size:clamp(48px,10vw,79px);margin-bottom:32px}
	.package-grid{grid-template-columns:1fr}
	.package{min-height:285px}
	.closing{padding:90px 0}
	.footer-inner{grid-template-columns:1fr 1fr;gap:35px}
	.footer-brand-block{grid-column:1/-1}
	.page-hero{padding:90px 0}
	.page-hero .wp-block-post-title{font-size:56px}
}
@media(max-width:520px){
	.eyebrow{font-size:10px;letter-spacing:.15em}
	.hero-lead{font-size:15px;line-height:1.75}
	hr.wp-block-separator.small-rule{width:85px;margin:30px 0 25px}
	.hero .wp-block-buttons{margin-top:29px;flex-direction:column;align-items:stretch}
	.hero .wp-block-button,.hero .wp-block-button__link,.about-copy .wp-block-button,.about-copy .wp-block-button__link,.closing .wp-block-button,.closing .wp-block-button__link{width:100%}
	.editorial-visual{aspect-ratio:.82/1}
	.manifesto p{font-size:15px}
	.section{padding:67px 0}
	.section h2,.closing h2{font-size:clamp(40px,12vw,58px);margin-bottom:16px}
	.section-intro{font-size:14px;margin-bottom:32px!important}
	.section-end{text-align:left}
	.services-grid{grid-template-columns:1fr;gap:7px;margin-top:44px}
	.service{display:grid;grid-template-columns:58px 1fr;align-items:start;padding:23px 0 18px;column-gap:11px}
	.service-no{grid-row:span 2;font-size:38px;margin:0!important}
	.service h3{font-size:30px;margin:0 0 10px}
	.service p:last-child{font-size:14px;margin:0}
	.about-copy p.quote{font-size:25px}
	.steps-grid{grid-template-columns:1fr;gap:0;margin-top:43px}
	.step{display:grid;grid-template-columns:65px 1fr;column-gap:8px;min-height:109px;align-items:start;padding:15px 0}
	.step-no{grid-row:span 2;font-size:44px}
	.step h3{margin:8px 0}
	.step p:last-child{font-size:14px;margin:0}
	.package h3{font-size:43px}
	.package{padding:25px 24px;min-height:302px}
	.closing{padding:82px 0}
	.closing-email-lead{font-size:15px}
	.footer{padding:47px 0}
	.footer-inner{grid-template-columns:1fr;gap:30px}
	.footer-brand-block{grid-column:auto}
	.footer-col--social{order:2}
	.footer-col--nav{order:3}
	.footer-col--nav .wp-block-navigation__container{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
	.footer-bottom{flex-direction:column;align-items:flex-start;margin-top:36px}
	.footer-legal{flex-direction:column;align-items:flex-start}
	.page-hero{padding:68px 0 75px}
	.page-hero p{font-size:16px}
	.prose-page{padding:68px 0}
	.wp-block-details summary{font-size:24px}
}
/* Hero-Buttons, Markenleiste, Social-Links */
.hero-actions{display:flex;flex-wrap:wrap;gap:16px 18px;align-items:center;margin-top:45px}
.hero-actions .wp-block-buttons{margin:0}
.brands-section{background:var(--cream);padding:72px 0;border-top:1px solid var(--line)}
.brands-title{font-size:clamp(26px,3vw,36px);text-align:center;margin:0 0 44px;letter-spacing:-.01em}
.brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 32px;align-items:center}
.brand-item{display:flex;align-items:center;justify-content:center;min-height:56px;text-align:center}
.brand-item .wp-block-image{margin:0}
.brand-item img{display:block;height:auto;width:auto;max-height:46px;max-width:min(100%,200px);object-fit:contain;filter:grayscale(1) contrast(1.1);opacity:.78;transition:opacity .25s}
.brand-item:hover img{opacity:1}
.brand-item img[alt="Kapten & Son"]{max-width:min(100%,250px)}
.brand-item img[alt="Thermos"],.brand-item img[alt="Das Futterhaus"]{max-height:54px}
.social-links{list-style:none;display:flex;flex-wrap:wrap;gap:8px 28px;margin:14px 0 0;padding:0;font-size:14px}
.closing .social-links{justify-content:center}
.social-links a,.mail-link a{text-underline-offset:5px}
.mail-link{margin:0!important;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.social-links a{display:inline-flex;align-items:center;gap:10px}
.social-links svg{flex:none}
.footer .social-links{margin:0;gap:12px;justify-content:flex-start}
.footer .social-links__name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.footer .social-links a{justify-content:center;width:46px;height:46px;border:1px solid rgba(231,213,199,.45);border-radius:50%;transition:background .2s,color .2s}
.footer .social-links a:hover,.footer .social-links a:focus-visible{background:var(--sand);color:var(--deep)}
.footer .social-links svg{width:21px;height:21px}
/* Arbeitsweise: vier Schritte */
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:48px}
.process-step{padding:0 28px 8px 0;margin-right:28px;border-right:1px solid var(--line)}
.process-step:last-child{border:0;margin:0}
.process-no{font-family:var(--wp--preset--font-family--serif);font-size:52px;line-height:1;letter-spacing:-.03em;color:var(--taupe);margin:0 0 24px!important}
.process-step h3{font-size:28px;letter-spacing:-.02em;margin:0 0 8px}
.process-step p:not(.process-no){color:var(--muted);margin:0}
@media(max-width:820px){.process-grid{grid-template-columns:1fr;margin-top:32px}.process-step{border:0;border-bottom:1px solid var(--line);margin:0 0 24px;padding:0 0 24px}.process-step:last-child{border-bottom:0;margin:0}.process-no{font-size:36px;margin-bottom:12px!important}}
.nav-social{display:none}
.is-menu-open .nav-social{display:block;margin-top:28px}
.nav-social .social-links{margin:0;gap:16px}
.nav-social .social-links a{min-width:44px;min-height:44px;justify-content:flex-start}
.nav-social .social-links svg{width:26px;height:26px}
.nav-social .social-links__name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:780px){.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.brands-section{padding:56px 0}}
@media(max-width:520px){.hero h1{font-size:clamp(40px,10.8vw,56px)}.hero-actions{flex-direction:column;align-items:stretch;margin-top:29px}.hero-actions .wp-block-buttons,.hero-actions .wp-block-button,.hero-actions .wp-block-button__link{width:100%}}
@media(max-width:380px){.wordmark__name{font-size:21px;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
