@font-face{font-family:Walsheim;src:url('assets/fonts/walsheim-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Walsheim;src:url('assets/fonts/walsheim-medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Silka;src:url('assets/fonts/silka-mono.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f9f8f5;--ink:#161616;--rule:#d3d2cc;--purple:#6e17c7;--lavender:#e5deee;--green:#dce6da;--mono:Silka,'Courier New',monospace;--sans:Walsheim,Helvetica,sans-serif;--margin:56px;--gap:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:400 20px/1.45 var(--sans)}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--purple);outline-offset:5px}input:focus,textarea:focus{outline:2px solid var(--purple);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h2{font-size:42px;line-height:1.14;letter-spacing:-.035em}h3{font-size:28px;line-height:1.2;letter-spacing:-.025em}p{max-width:62ch}.wrap{max-width:1440px;margin:auto;padding-left:var(--margin);padding-right:var(--margin)}.mono,.eyebrow{font:400 13px/1.6 var(--mono)}.eyebrow{display:block;margin-bottom:30px}.prototype{min-height:36px;display:flex;align-items:center;gap:25px;padding:7px var(--margin);background:#e8e4da;font:11px/1.5 var(--mono)}.prototype span{opacity:.75}.prototype a{margin-left:auto;text-decoration:underline;text-underline-offset:3px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px;padding:18px var(--margin);border-bottom:1px solid var(--rule);position:sticky;top:0;background:rgba(249,248,245,.96);z-index:10}.wordmark{font:15px/1.6 var(--mono);white-space:nowrap}.wordmark-sep{margin:0 16px;color:#8a877e}.site-header nav{display:flex;align-items:center;gap:30px;font:13px/1.5 var(--mono)}.site-header nav>a{border-bottom:1px solid transparent}.site-header nav>a:hover{border-color:currentColor}.nav-access{background:var(--ink);color:var(--paper);padding:12px 17px;font:13px/1.5 var(--mono)}.nav-access:hover{background:var(--purple)}.mobile-menu,.mobile-nav{display:none}.hero{padding-top:42px;padding-bottom:85px}.hero-top{display:flex;justify-content:space-between}.hero h1{font-size:clamp(80px,12.2vw,176px);letter-spacing:-.035em;line-height:1.15;margin:24px 0 40px}.title-dot{color:var(--purple)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}.hero-copy h2{font-size:42px;line-height:1.12;margin-bottom:24px}.hero-copy p{font-size:22px;line-height:1.45;max-width:440px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;width:fit-content;border-bottom:1px solid currentColor;padding:0 0 5px;font:14px/1.6 var(--mono);transition:color .15s}.text-link:hover{color:var(--purple)}.hero-copy .text-link{margin-top:32px}.garden-plan{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.plan-head,.plan-foot{display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-size:11px}.garden-plan svg{width:100%;height:auto;display:block}.garden-plan svg text{font:10px var(--mono);fill:var(--ink)}.catalog{padding-top:72px;padding-bottom:90px;border-top:1px solid var(--ink)}.section-heading{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:40px}.section-heading>p{font-size:20px;line-height:1.5;max-width:440px}.filterbar{display:flex;flex-wrap:wrap;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);gap:0}.filter{font:12px/1.5 var(--mono);padding:18px 17px;flex:1;white-space:nowrap;border-right:1px solid var(--rule)}.filter:first-child{flex:0;padding-inline:22px}.filter:last-child{border-right:0}.filter:hover{background:#ece9e2}.filter.active{background:var(--ink);color:var(--paper)}.filter sup{font-size:9px;margin-left:7px}.filter-status{font-size:11px;color:#615f59;margin:17px 0 32px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:62px 32px}.product{min-width:0}.product[hidden]{display:none}.product-image{display:block;width:100%;padding:0;overflow:hidden;position:relative;text-align:left}.product-image img{display:block;width:100%;height:auto;aspect-ratio:800/560;object-fit:contain;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.product-image:hover img{transform:scale(1.025)}.product-image .image-open{position:absolute;right:20px;bottom:20px;border:1px solid currentColor;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;background:var(--paper);font-family:var(--mono);transition:background .2s}.product-image:hover .image-open{background:var(--lavender)}.product-meta{display:flex;justify-content:space-between;margin:21px 0 10px;font:11px/1.6 var(--mono)}.product h3{font-size:35px;letter-spacing:-.04em}.product h3 button{font:inherit;padding:0;text-align:left}.product h3 button:hover{color:var(--purple)}.product-description{font-size:19px;line-height:1.45;margin:14px 0 22px;max-width:470px;min-height:56px}.product-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--rule);padding-top:16px}.price{font:15px/1.5 var(--mono)}.price small{font-size:10px;display:block;color:#66645d;margin-top:3px}.product-footer .text-link{font-size:12px}.catalog-note{display:grid;grid-template-columns:1fr 2fr 1.2fr;align-items:center;gap:30px;border-top:1px solid var(--ink);padding-top:30px;margin-top:65px}.catalog-note p{font-size:19px}.catalog-note .text-link{justify-self:end;font-size:12px}.approach{background:var(--green);padding:80px 0 55px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.approach-copy{padding-top:50px}.approach-copy p{font-size:24px;line-height:1.42;margin-bottom:24px}.method-list{display:flex;flex-wrap:wrap;gap:10px 24px;border-top:1px solid #9aa696;margin-top:32px;padding-top:20px;font:12px/1.6 var(--mono)}.practice{margin-top:72px}.practice-label{margin-bottom:22px}.practice>a{display:grid;grid-template-columns:1fr 230px 20px;gap:20px;align-items:center;border-top:1px solid #a6b19f;padding:17px 0;font-size:21px}.practice>a:hover span:first-child{text-decoration:underline;text-underline-offset:5px}.practice small{font:12px/1.5 var(--mono)}.practice-note{font-size:10px;margin-top:20px;max-width:none;color:#4b5946}.process{padding-top:85px;padding-bottom:90px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:52px}.step-no{font:15px/1.5 var(--mono);display:block;border-top:1px solid var(--ink);padding-top:15px;margin-bottom:30px}.steps h3{font-size:24px;margin-bottom:17px}.steps p{font-size:18px}.portal-section{padding:76px 0;background:#27202f;color:var(--paper)}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.portal-pitch p{font-size:23px;line-height:1.45;margin:26px 0 28px}.portal-pitch .text-link:hover{color:#d0b4ec}.portal-pitch p.portal-disclaimer{font:10px/1.6 var(--mono);color:#c1b8c9;margin-top:20px}.portal-preview{background:var(--paper);color:var(--ink);padding:30px}.portal-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:17px;font-size:12px}.portal-order{display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:24px 0}.portal-order .mono{font-size:12px}.status{background:#e4eadf;padding:5px 9px;font:10px var(--mono)}.portal-preview h3{font-size:29px;margin-bottom:12px}.portal-preview>p{font-size:17px;margin-bottom:26px}.preview-task{display:grid;grid-template-columns:25px 1fr auto;gap:12px;border-top:1px solid var(--rule);padding:15px 0;font:11px/1.6 var(--mono)}.preview-task.locked{color:#6b6863}.portal-preview .button{margin-top:23px;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:16px 23px;font:14px/1.5 var(--mono);border:1px solid var(--ink);transition:background .2s,color .2s}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:var(--purple);border-color:var(--purple)}.button.light:hover{background:var(--lavender)}.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;padding-block:90px}.faq details{border-top:1px solid var(--rule)}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;padding:21px 0;font-size:21px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font:22px var(--mono)}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{padding:0 35px 24px 0;font-size:18px;color:#4e4c48}.closing{padding-top:55px;padding-bottom:85px;border-top:1px solid var(--ink)}.closing h2{font-size:clamp(48px,6vw,80px);line-height:1.05;margin-bottom:34px}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px;padding-block:28px;border-top:1px solid var(--rule);font:11px/1.6 var(--mono)}.footer .wordmark{font-size:12px}.footer>div{display:flex;gap:22px}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer>span{color:#68645d}dialog{padding:0;border:0;background:var(--paper);color:var(--ink);max-width:min(1120px,calc(100vw - 56px));width:100%;max-height:calc(100dvh - 56px);overflow:auto}dialog::backdrop{background:rgba(20,16,24,.65);backdrop-filter:blur(5px)}.dialog-close{display:block;position:sticky;top:0;margin-left:auto;background:var(--ink);color:var(--paper);padding:14px 20px;font:12px/1.5 var(--mono);z-index:2}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:20px 40px 40px}.detail-art{width:100%;display:block}.detail-visual .mono{font-size:10px;margin-top:12px}.detail-copy h2{font-size:45px;margin:16px 0 20px}.detail-copy>p{font-size:21px;margin-bottom:24px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:15px 0;gap:20px;margin-bottom:25px}.detail-facts dt{font:10px var(--mono);margin-bottom:7px}.detail-facts dd{margin:0;font-size:18px}.detail-section{margin-top:25px}.detail-section h3{font:12px var(--mono);margin-bottom:10px}.detail-section p{font-size:17px}.detail-copy .button{margin-top:28px}.detail-copy .detail-note{font:10px/1.6 var(--mono);margin-top:12px}.booking-preview{border-top:1px solid var(--rule);padding:30px 40px;background:#e8e3ed}.booking-preview h3{margin-bottom:12px}.booking-preview p{font-size:18px;margin-bottom:18px}.booking-preview[hidden]{display:none}.portal-dialog-inner{padding:20px 55px 55px;max-width:850px;margin:auto}.portal-dialog-inner h2{font-size:56px}.portal-dialog-nav{display:flex;border-bottom:1px solid var(--ink);margin:30px 0;gap:10px}.portal-dialog-nav button{font:12px var(--mono);padding:16px 12px}.portal-dialog-nav [aria-selected=true]{background:var(--ink);color:var(--paper)}.portal-dialog-inner [role=tabpanel]>h3{font-size:32px;margin:20px 0}.portal-dialog-inner [role=tabpanel]>p{margin-bottom:22px}.portal-dialog-inner ol{padding-left:25px;font-size:19px}.portal-dialog-inner li{padding:5px 0}.portal-dialog-inner .button{margin-top:15px}#demo-prep label{display:block;font-size:18px;margin:24px 0}#demo-prep input,#demo-prep textarea{width:100%;display:block;border:1px solid #aaa69f;border-radius:0;background:transparent;padding:13px;margin-top:8px;font-size:17px}.file-placeholder{padding:20px;border:1px dashed #99938b;font-size:18px}.file-placeholder small{display:block;font:11px/1.6 var(--mono);margin-top:8px}.result-placeholder{display:flex;flex-direction:column;gap:18px;border-top:1px solid var(--rule);padding-top:25px;font:13px var(--mono)}#prep-message{font:12px/1.6 var(--mono);margin-top:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:16px 22px;background:var(--ink);color:var(--paper);z-index:50;font:12px/1.6 var(--mono)}[hidden]{display:none!important}
@media(min-width:1600px){.site-header,.prototype{padding-inline:max(56px,calc((100vw - 1328px)/2))}}
@media(max-width:1100px){:root{--margin:32px}.site-header nav{gap:18px}.site-header .wordmark{font-size:13px}.wordmark-sep{margin:0 9px}.filter{white-space:normal;font-size:11px;padding:14px 10px}.hero-copy p{font-size:20px}.hero-copy h2{font-size:36px}.hero-index{display:none}.catalog-note{grid-template-columns:1fr 2fr}.catalog-note .text-link{grid-column:2;justify-self:start}.steps{gap:20px}.steps h3{font-size:22px}.portal-grid{gap:5%}.portal-preview{padding:24px}.practice>a{grid-template-columns:1fr 180px 20px}.portal-pitch h2{font-size:38px}}
@media(max-width:760px){:root{--margin:20px}.prototype{font-size:9px;gap:12px;padding-block:7px}.prototype a{display:none}.prototype span{max-width:240px}.site-header{min-height:66px;padding-block:16px}.site-header nav{display:none}.mobile-menu{display:block;font:12px var(--mono);padding:8px 0 8px 10px}.site-header .wordmark{font-size:12px}.wordmark-sep{margin:0 8px}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:0;background:var(--paper);padding:10px 20px 20px;position:sticky;top:66px;z-index:9;border-bottom:1px solid var(--rule);font:15px/1.5 var(--mono)}.mobile-nav>a,.mobile-nav>button{text-align:left;padding:13px 0;font:inherit}.hero{padding-top:28px;padding-bottom:50px}.hero-top .mono{font-size:10px}.hero h1{font-size:clamp(65px,14.2vw,106px);letter-spacing:-.035em;margin:22px 0 30px}.hero-bottom{grid-template-columns:1fr;gap:38px}.hero-copy h2{font-size:34px}.hero-copy p{max-width:480px;font-size:20px}.hero-copy .text-link{margin-top:25px}.garden-plan{max-width:550px}.plan-head,.plan-foot{font-size:9px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:18px}h2{font-size:33px}.eyebrow{font-size:11px;margin-bottom:20px}.catalog{padding-block:48px}.filterbar{gap:0;display:grid;grid-template-columns:1fr 1fr}.filter{padding:13px 10px;text-align:left;border-bottom:1px solid var(--rule);min-height:49px;font-size:10px}.filter:first-child{grid-column:1/-1;padding:12px 10px}.filter:nth-child(odd){border-right:0}.filter:nth-last-child(-n+2){border-bottom:0}.filter-status{font-size:9px;margin-bottom:23px}.product-grid{gap:42px 20px}.product-meta{font-size:9px;gap:12px;margin-top:16px}.product h3{font-size:28px}.product-description{font-size:17px;min-height:0;margin:12px 0 18px}.product-footer{flex-wrap:wrap;align-items:start;gap:14px}.price{font-size:13px}.product-footer .text-link{font-size:11px}.product-image .image-open{width:32px;height:32px;font-size:15px;right:12px;bottom:12px}.catalog-note{display:block;margin-top:45px;padding-top:25px}.catalog-note p{margin:13px 0 20px;font-size:18px}.approach{padding-block:48px}.approach-grid{grid-template-columns:1fr;gap:26px}.approach-copy{padding:0}.approach-copy p{font-size:21px}.method-list{font-size:11px;gap:8px 20px}.practice{margin-top:42px}.practice>a{grid-template-columns:1fr 20px;gap:8px;font-size:18px}.practice>a small{grid-column:1;grid-row:2;font-size:10px}.practice>a>span:last-child{grid-column:2;grid-row:1/3}.practice-note{font-size:9px}.process{padding-block:48px}.steps{grid-template-columns:1fr 1fr;gap:35px 22px;margin-top:32px}.step-no{font-size:12px;margin-bottom:20px}.steps h3{font-size:22px}.steps p{font-size:17px}.portal-section{padding-block:48px}.portal-grid{grid-template-columns:1fr;gap:35px}.portal-pitch h2{font-size:34px}.portal-pitch p{font-size:21px}.portal-preview{padding:23px;max-width:500px}.faq-section{grid-template-columns:1fr;gap:30px;padding-block:48px}.faq summary{font-size:19px}.faq details p{font-size:17px}.closing{padding-top:40px;padding-bottom:50px}.closing h2{font-size:48px}.footer{align-items:start;font-size:10px;gap:22px}.footer .wordmark{width:100%}.footer>div{gap:18px}.footer>span{width:100%}dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.detail-grid{grid-template-columns:1fr;gap:25px;padding:15px 22px 28px}.detail-art{max-height:280px;object-fit:cover}.detail-copy h2{font-size:37px}.detail-copy>p{font-size:20px}.detail-facts dd{font-size:16px}.booking-preview{padding:25px 22px}.portal-dialog-inner{padding:15px 22px 30px}.portal-dialog-inner h2{font-size:43px}.portal-dialog-nav{gap:0}.portal-dialog-nav button{font-size:10px;padding:14px 9px}.portal-dialog-inner [role=tabpanel]>h3{font-size:28px}.portal-dialog-inner [role=tabpanel]>p{font-size:18px}}
@media(max-width:520px){.product-grid{grid-template-columns:1fr}.product h3{font-size:32px}.product-footer{flex-wrap:nowrap}.product-description{max-width:38ch}.product-meta{font-size:10px}.product-footer .text-link{font-size:12px}.hero-copy h2{font-size:34px}.steps{grid-template-columns:1fr}.step-no{margin-bottom:15px}.steps p{max-width:38ch}.portal-order .mono{font-size:11px}.status{font-size:9px}.site-header .wordmark{font-size:11px}.wordmark-sep{margin:0 6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Extended product pages */
.detail-section-nav{display:flex;gap:0;border-block:1px solid var(--ink);margin:0 40px 15px;flex-wrap:wrap}.detail-section-nav button{font:11px/1.6 var(--mono);padding:16px 18px}.detail-section-nav button:first-child{padding-left:0}.detail-section-nav button:hover{text-decoration:underline;text-underline-offset:5px}.detail-deep{display:grid;grid-template-columns:1fr 1.55fr;gap:60px;padding:50px 40px;border-bottom:1px solid var(--rule);scroll-margin-top:65px}.deep-label .eyebrow{font-size:10px;margin-bottom:20px}.deep-label h3{font-size:29px;line-height:1.15}.deep-intro{font-size:21px;line-height:1.5;margin-bottom:25px}.situations{margin:0;padding:0;list-style:none}.situations li{border-top:1px solid var(--rule);padding:16px 0;font-size:18px;line-height:1.5}.situations li:last-child{padding-bottom:0}.deep-steps article{display:grid;grid-template-columns:28px 1fr;gap:18px;padding:0 0 28px;margin:0 0 26px;border-bottom:1px solid var(--rule)}.deep-steps article:last-child{padding:0;margin:0;border:0}.deep-steps article>.mono{font-size:12px;padding-top:4px}.deep-steps h4{font-size:23px;line-height:1.25;font-weight:500;margin:0 0 10px}.deep-steps p{font-size:18px;line-height:1.5}.detail-example{background:#ede9df}.example-tag{font-size:10px;display:block;margin-bottom:20px}.example-items{padding-left:25px;margin:0}.example-items li{font-size:19px;line-height:1.5;padding:0 0 15px 8px}.example-note{font-size:10px;color:#615c54;margin-top:20px}.detail-faq summary{font-size:19px;padding:18px 0}.detail-faq details p{font-size:17px;padding-right:15px}.detail-bottom{display:grid;grid-template-columns:1fr 1.55fr;gap:60px;padding:45px 40px;background:var(--lavender)}.detail-bottom .eyebrow{font-size:10px}.detail-bottom h3{font-size:30px}.detail-bottom-price{font-size:30px;margin-bottom:12px}.detail-bottom-price small{font:10px var(--mono);display:block;margin-top:4px}.detail-bottom>div>p:not(.detail-bottom-price){font-size:17px}.detail-bottom .button{margin-top:22px}.detail-bottom .detail-note{font:10px var(--mono)!important;margin-top:12px}.booking-preview{scroll-margin-top:60px}
@media(max-width:760px){.detail-section-nav{margin:0 22px;display:grid;grid-template-columns:1fr 1fr}.detail-section-nav button{font-size:10px;padding:13px 9px;text-align:left}.detail-section-nav button:first-child{padding-left:9px}.detail-deep{grid-template-columns:1fr;gap:25px;padding:32px 22px}.deep-label h3{font-size:27px}.deep-label h3 br{display:none}.deep-label .eyebrow{margin-bottom:15px}.deep-intro{font-size:19px;margin-bottom:20px}.situations li,.deep-steps p{font-size:17px}.deep-steps article{gap:10px;grid-template-columns:23px 1fr}.deep-steps h4{font-size:21px}.example-items li{font-size:18px}.detail-bottom{grid-template-columns:1fr;gap:25px;padding:32px 22px}.detail-bottom h3{font-size:28px}.detail-faq summary{font-size:18px}}

/* Buchung und kleine Ablaufzeichnungen */
.step-graphic{display:block;width:100%;max-width:180px;height:90px;margin:-15px 0 24px;overflow:visible}
.step-graphic path,.step-graphic circle,.method-graphic path,.method-graphic circle{fill:none;stroke:var(--ink);stroke-width:1.4;vector-effect:non-scaling-stroke}
.step-graphic .accent,.method-graphic .accent{fill:#f15a24;stroke:#f15a24}
.step-graphic .draw{stroke-dasharray:320;stroke-dashoffset:320;transition:stroke-dashoffset 1.3s ease}
.step-graphic.is-visible .draw{stroke-dashoffset:0}
.method-graphic{width:70px;height:78px;grid-column:2;grid-row:1;align-self:start}
.deep-steps article{grid-template-columns:28px 70px 1fr}
.deep-steps article>div{grid-column:3}
.detail-facts dd small{display:block;font:11px/1.6 var(--mono);margin-top:4px;color:#66645d}
#checkout-dialog{max-width:min(1180px,calc(100vw - 36px))}
.checkout-head{padding:10px 42px 36px;border-bottom:1px solid var(--ink)}
.checkout-head .eyebrow{margin-bottom:17px}
.checkout-head h2{font-size:clamp(36px,4vw,60px);margin-bottom:16px}
.checkout-head p{font-size:19px;max-width:660px}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:54px;padding:34px 42px 50px}
.checkout-fields section{padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid var(--rule)}
.checkout-fields section:last-child{border-bottom:0;margin-bottom:0}
.checkout-section-no{display:block;padding-bottom:20px;font-size:12px}
.checkout-fields label{display:block;font-size:16px;margin-bottom:17px}
.checkout-fields input:not([type=checkbox]),.checkout-fields select,.checkout-fields textarea{display:block;width:100%;background:#fff;border:1px solid #a9a7a0;border-radius:0;padding:11px 12px;margin-top:8px;min-height:48px;font:17px/1.4 var(--sans)}
.checkout-fields textarea{resize:vertical}
.checkout-fields input:focus,.checkout-fields select:focus,.checkout-fields textarea:focus{outline:2px solid var(--purple);outline-offset:1px}
.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field-optional{font:11px/1.5 var(--mono);color:#77746c}
.checkout-help,.checkout-legal{font-size:14px;line-height:1.55;color:#514f49}
.checkout-legal a,.check-line a,.checkout-facts a{text-decoration:underline;text-underline-offset:3px}
.payment-choice{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--ink);padding:17px;margin:3px 0 23px;font-size:16px}
.payment-choice strong{font-weight:500}.payment-choice small{display:block;margin-top:5px;font:12px/1.5 var(--mono);color:#605e58}
.payment-radio{display:block;flex:none;width:17px;height:17px;border:4px solid var(--ink);border-radius:50%;margin-top:3px}
.checkout-fields .check-line{display:flex;align-items:flex-start;gap:13px;font-size:15px;line-height:1.45;margin-bottom:16px}
.check-line input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--ink)}
.checkout-summary{align-self:start;position:sticky;top:24px;background:#e8e4da;padding:26px}
.checkout-summary h3{font-size:32px;margin-bottom:14px}
.checkout-summary>p{font-size:16px;line-height:1.5}
.checkout-facts{margin:27px 0;border-top:1px solid #aaa69e}
.checkout-facts>div{border-bottom:1px solid #aaa69e;padding:14px 0}
.checkout-facts dt{font:11px/1.6 var(--mono);margin-bottom:5px}
.checkout-facts dd{margin:0;font-size:15px;line-height:1.45}
.checkout-totals{font:13px/1.6 var(--mono)}
.checkout-totals>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0}
.checkout-totals .checkout-total{border-top:1px solid var(--ink);margin-top:10px;padding:17px 0;font-size:17px}
.checkout-submit{display:block;width:100%;text-align:center;margin-top:17px}
.checkout-message{background:#fff;border-left:3px solid #f15a24;padding:15px;margin-top:15px;font-size:14px;line-height:1.5}
@media(max-width:760px){.step-graphic{height:72px;margin:0 0 17px}.deep-steps article{grid-template-columns:23px 52px 1fr;gap:9px}.method-graphic{width:52px;height:66px}.checkout-head{padding:8px 22px 25px}.checkout-head p{font-size:17px}.checkout-grid{grid-template-columns:1fr;gap:15px;padding:24px 22px 34px}.checkout-summary{position:static;grid-row:1;padding:22px}.checkout-fields{grid-row:2}.checkout-fields section{padding-bottom:24px;margin-bottom:25px}.field-pair{grid-template-columns:1fr;gap:0}}
@media(max-width:470px){.deep-steps article{grid-template-columns:20px 1fr}.method-graphic{grid-column:2;grid-row:1;width:65px}.deep-steps article>div{grid-column:2;grid-row:2}.checkout-summary h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.step-graphic .draw{stroke-dashoffset:0;transition:none}}
.method-graphic path{stroke-dasharray:300;stroke-dashoffset:300;transition:stroke-dashoffset 1.1s ease}
.method-graphic.is-visible path{stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){.method-graphic path{stroke-dashoffset:0;transition:none}}
.checkout-cancelled{border:1px solid currentColor;padding:15px 20px;margin:0 0 30px;max-width:680px}.payment-result{min-height:72vh;padding-top:11vh;padding-bottom:100px}.payment-result h1{font-size:clamp(48px,8vw,112px);line-height:1.02;letter-spacing:-.045em;max-width:930px;margin:30px 0}.payment-result p:not(.mono){font-size:clamp(20px,2.4vw,30px);line-height:1.35;max-width:700px}.payment-result .button{display:inline-flex;margin-top:45px}.payment-result .mono{margin-top:30px}

/* Garden newsletter: same compact form language as Dreimorgen's footer. */
.garden-newsletter{padding-top:56px;padding-bottom:42px;border-top:1px solid var(--rule)}
.garden-newsletter-title{font:400 15px/1.5 var(--mono);margin-bottom:16px}
.garden-newsletter form{display:flex;max-width:480px}
.garden-newsletter input{flex:1;min-width:0;min-height:48px;padding:12px 14px;border:1px solid rgba(0,0,0,.25);border-right:0;background:transparent;font:400 15px/1.4 var(--mono)}
.garden-newsletter button{min-height:48px;padding:12px 21px;background:var(--ink);color:var(--paper);font:400 15px/1.4 var(--mono)}
.garden-newsletter button:disabled{opacity:.6;cursor:wait}
.garden-newsletter-status{min-height:21px;margin-top:10px;font-size:12px}
@media(max-width:600px){.garden-newsletter{padding-top:40px;padding-bottom:28px}.garden-newsletter form{flex-direction:column}.garden-newsletter input{border-right:1px solid rgba(0,0,0,.25);border-bottom:0}.garden-newsletter button{text-align:center}}

/* A small, dismissible offer panel after visitors reach the formats. */
.garden-offer[hidden]{display:none}
.garden-offer{position:fixed;right:24px;bottom:24px;z-index:1200;width:min(420px,calc(100vw - 32px));padding:30px;background:var(--paper);border:1px solid var(--ink);box-shadow:0 18px 48px rgba(0,0,0,.13)}
.garden-offer-close{display:block;margin:-12px -12px 14px auto;padding:8px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.garden-offer .eyebrow{margin:0 0 12px;font-size:11px}
.garden-offer h2{max-width:11ch;font-size:34px;line-height:1.05;letter-spacing:-.035em}
.garden-offer>p:not(.garden-offer-price){margin-top:14px;font-size:16px;line-height:1.4}
.garden-offer-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--rule)}
.garden-offer-price del{font:400 13px/1.4 var(--mono);opacity:.6}
.garden-offer-price strong{font:500 24px/1.2 var(--sans)}
.garden-offer-price small{font:400 10px/1.4 var(--mono)}
.garden-offer-actions{display:flex;align-items:center;gap:18px;margin-top:20px}
.garden-offer-actions .button{font-size:13px;padding:13px 18px}
.garden-offer-actions .text-link{font-size:12px}
@media(max-width:600px){.garden-offer{left:0;right:0;bottom:0;width:auto;max-height:38dvh;overflow:auto;padding:18px 22px calc(18px + env(safe-area-inset-bottom));border-left:0;border-right:0;border-bottom:0;box-shadow:0 -12px 32px rgba(0,0,0,.11)}.garden-offer-close{margin:-6px -8px 5px auto}.garden-offer h2{max-width:none;font-size:24px}.garden-offer>p:not(.garden-offer-price){display:none}.garden-offer-price{margin-top:11px;padding-top:9px}.garden-offer-price strong{font-size:20px}.garden-offer-actions{margin-top:12px}.garden-offer-actions .button{padding:11px 14px}}

/* Garden product selection: one quiet surface for copy and purchase. */
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.product{--product-inset:24px;display:flex;flex-direction:column;background:#e9e8e5;animation:garden-surface-tone 24s ease-in-out infinite}
.product h3{font-size:24px;line-height:32px;letter-spacing:0}
.product-meta{font:400 17px/24px var(--mono)}
.product-description{font-size:24px;line-height:32px;min-height:0;margin:16px 0;max-width:38ch}
.product-delivery{font:400 17px/24px var(--mono);max-width:none;margin:0 0 24px}
.product-delivery>span{display:block;color:#615f59;margin-bottom:4px}
.product-footer{margin-top:auto;min-height:116px;padding:24px;background:transparent;border-top:0;flex-wrap:nowrap;align-items:center;gap:16px}
.product-footer .price{font:400 17px/24px var(--mono);font-variant-numeric:tabular-nums}
.product-footer .price small{font:400 17px/24px var(--mono);margin-top:0;color:#615f59}
.text-link,.product-footer .text-link{font:400 17px/24px var(--mono);letter-spacing:.3px;border-bottom:0;padding:10px 0;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-repeat:no-repeat;background-position:left calc(100% - 8px);transition:background-size .4s cubic-bezier(.16,1,.3,1);color:var(--ink);width:fit-content}
.product-buy{flex-shrink:0;white-space:nowrap;min-height:44px}
.text-link:hover,.product h3 button:hover{color:var(--ink)}
.text-link:focus-visible,.product h3 button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.text-link:hover{background-size:0% 1px}}
@media(max-width:760px){
 .product-grid{grid-template-columns:minmax(0,1fr);row-gap:48px}
 .product-description{margin:14px 0}
 .product-footer{padding:20px;min-height:112px}
}
/* The entire card surface shifts gently between closely related greys. */
@keyframes garden-surface-tone{0%,100%{background-color:#e9e8e5}50%{background-color:#e5e5e2}}
@media(prefers-reduced-motion:reduce){.text-link{transition:none}.product{animation:none}}

/* Preserve the link's background, underline, layout and focus treatment. */
@property --dm-ink-radius{syntax:'<length>';inherits:false;initial-value:32px}
.dm-ink-ready.ftr2-nav-link::after{content:none}
.dm-link-ink--arrow{font-family:var(--f);font-weight:400;letter-spacing:0}
@media(hover:hover) and (pointer:fine){
  .dm-ink-hover .dm-link-ink{
    --dm-ink-radius:var(--dm-ink-size,32px);
    background-color:var(--dm-ink-base);
    background-image:radial-gradient(ellipse var(--dm-ink-radius) calc(var(--dm-ink-radius) * .8) at var(--dm-ink-x,-999px) var(--dm-ink-y,-999px),var(--dm-ink-accent) 0%,var(--dm-ink-accent) var(--dm-ink-core,46%),transparent 100%);
    background-clip:text;-webkit-background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;
    animation:dm-link-ink-breathe 4.8s ease-in-out infinite;
  }
}
@keyframes dm-link-ink-breathe{0%,100%{--dm-ink-radius:calc(var(--dm-ink-size,32px) * .85)}50%{--dm-ink-radius:calc(var(--dm-ink-size,32px) * 1.15)}}
@media(prefers-reduced-motion:reduce){.dm-ink-hover .dm-link-ink{animation:none}}
@media(forced-colors:active){.dm-ink-hover .dm-link-ink{background:none;color:LinkText;-webkit-text-fill-color:LinkText;animation:none}}

/* Keep legal links within narrow screens. */
.footer>div{flex-wrap:wrap}

/* Product filters follow Dreimorgen's Case navigation. */
.filterbar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px 32px;border:0;margin-top:48px}
.filterbar .filter{display:inline-block;flex:0 1 auto;grid-column:auto;min-height:44px;width:fit-content;padding:10px 0;border:0;text-align:left;white-space:normal;font:400 17px/24px var(--mono);letter-spacing:.3px;background-color:transparent;color:var(--ink);background-position:left calc(100% - 8px)}
.filterbar .filter:first-child,.filterbar .filter:last-child{padding:10px 0;border:0;flex:0 1 auto}
.filterbar .filter:hover,.filterbar .filter.active{background-color:transparent;color:var(--ink)}
.filterbar .filter.active{font-weight:500}
.filter-count{color:#66645d}
.filter-status{margin-top:20px}
@media(max-width:760px){.filterbar{gap:8px 24px;margin-top:28px}}


.filter-tail{white-space:nowrap}

/* Active filters retain the same underline as the Case links. */
.filterbar .filter{background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-repeat:no-repeat}
@media(hover:hover) and (pointer:fine){.filterbar .filter:hover{background-size:0% 1px}}

/* A quiet pulse in the title punctuation; no decorative plant. */
.hero .title-dot{display:inline-block;transform-origin:50% 78%;animation:garden-dot-pulse 6s ease-in-out infinite}
@keyframes garden-dot-pulse{0%,100%{transform:scale(1);color:var(--purple)}50%{transform:scale(1.14);color:#7b39bd}}
@media(prefers-reduced-motion:reduce){.hero .title-dot{animation:none}}

/* Format follows the outcome, immediately before the purchase surface. */
.product-format{font:400 17px/24px var(--mono);margin:0 0 24px;max-width:none}

/* Three groups: heading, outcome with format, then the purchase row. */
.product-content{display:flex;flex-direction:column;flex:1;gap:32px;padding:32px var(--product-inset)}
.product-heading .product-meta{margin:0 0 8px}
.product-heading h3{margin:0}
.product-summary .product-description{margin:0}
.product-summary .product-format{margin:16px 0 0}
.product-content .product-footer{margin-top:auto;padding:0;min-height:44px}
@media(max-width:760px){.product{--product-inset:20px}.product-content{gap:28px;padding-block:28px}}


/* Explore the offer before opening its booking form. */
.product-content .product-footer{flex-wrap:wrap}
.product-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-left:auto}
.product-actions .text-link{white-space:nowrap;min-height:44px}
@media(max-width:520px){.product-actions{width:100%;margin-left:0;justify-content:space-between;gap:12px}}

/* A centered vector arrow keeps the same proportions across browser fonts. */
.product-image .image-open{width:56px;height:56px;right:20px;bottom:20px;font-size:26px;line-height:1;background:var(--paper);border:1px solid var(--ink)}
.image-open-arrow{display:block;width:36px;height:36px;animation:garden-image-arrow 6s ease-in-out infinite}
.image-open-arrow svg{display:block;width:100%;height:100%;transform:translate(-1px,1px)}
@keyframes garden-image-arrow{0%,65%,100%{transform:translate(0,0)}80%{transform:translate(3px,-3px)}}
.product-image:focus-visible .image-open,.product-image:hover .image-open{background:var(--lavender)}
@media(max-width:760px){.product-image .image-open{width:48px;height:48px;right:16px;bottom:16px;font-size:24px}.image-open-arrow{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.image-open-arrow{animation:none}}

/* Two full-width rows with uncropped project images. */
.practice-strip{display:flex;flex-direction:column;gap:4px;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#879381 transparent}
.practice-row{display:flex;gap:4px;width:max-content;min-width:100%}
.practice-row>a{display:block;flex:0 0 auto}
.practice-strip img{display:block;width:auto;max-width:none;height:clamp(200px,20vw,320px);object-fit:contain}
.practice-row>a:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.practice-strip:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.practice-links{margin-top:24px}
.practice-caption{display:flex;align-items:baseline;justify-content:space-between;gap:16px 32px;padding:14px 0;border-top:1px solid #a6b19f}
.practice-caption .text-link{max-width:100%;font:400 17px/24px var(--mono)}
.practice-caption>.mono{font:400 17px/24px var(--mono);color:#4b5946;text-align:right}
@media(max-width:760px){.practice-strip img{height:200px}.practice-caption{align-items:flex-start;flex-direction:column;gap:4px}.practice-caption>.mono{text-align:left}.practice-links{margin-top:20px}}

/* Examples illustrate the broader offer without narrowing it to one case. */
.product-summary .product-example{font:400 17px/24px var(--mono);margin:16px 0 0;max-width:none}
