@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#17342f;--forest:#173f36;--sage:#dfe9df;--cream:#f8f6f0;--white:#fff;--line:#d9dfd8;--muted:#687a74;--danger:#9d2f2f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}header,main,footer{max-width:1240px;margin:auto;padding-left:32px;padding-right:32px}.site-header{height:82px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:700 20px 'Playfair Display',serif;text-decoration:none}.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center}.site-header nav{display:flex;align-items:center;gap:32px}.site-header nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.trust-pill,.specs span{background:var(--sage);padding:8px 14px;border-radius:99px;font-size:12px;font-weight:700}.hero{min-height:650px;display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;padding:45px 0 90px}.hero-copy{max-width:675px}.eyebrow{letter-spacing:.17em;font-size:11px;font-weight:700;color:#668078;margin:0 0 18px}.hero h1,.product-summary h1{font:700 clamp(46px,6vw,78px)/1.06 'Playfair Display',serif;letter-spacing:-.035em;margin:0 0 25px}.lead{font-size:19px;color:#536862;max-width:620px}.hero-actions{display:flex;align-items:center;gap:28px;margin:34px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;border-radius:7px;background:var(--forest);color:white;padding:15px 21px;text-decoration:none;font:600 15px 'DM Sans';cursor:pointer;transition:.2s}.button:hover{background:#0e3029;transform:translateY(-1px)}.text-link,.card-link,.back{color:var(--ink);font-weight:700;text-underline-offset:5px}.proof{display:flex;gap:22px;flex-wrap:wrap;color:#65756f;font-size:12px}.hero-placeholder{height:505px;background:#e1e9df;border-radius:180px 180px 26px 26px;position:relative;display:grid;place-items:center;overflow:hidden}.placeholder-label,.placeholder-note,.product-visual>span,.summary-placeholder>span{position:absolute;font-size:9px;letter-spacing:.16em;font-weight:700;color:#789087}.placeholder-label{top:26px}.placeholder-note{bottom:18px}.placeholder-book{width:235px;height:330px;background:var(--forest);color:#fff;border-radius:4px 15px 15px 4px;box-shadow:-11px 16px 32px #39544b45,inset 7px 0 #0d2d26;padding:55px 30px 24px;display:flex;flex-direction:column;transform:rotate(4deg)}.placeholder-book small,.mini-book small{font-size:9px;letter-spacing:.18em;color:#b9cec5}.placeholder-book strong{font:600 28px/1.15 'Playfair Display';margin-top:18px}.placeholder-book i{font-style:normal;font-size:9px;letter-spacing:.2em;margin-top:auto}.intro{text-align:center;max-width:720px;margin:30px auto 48px}.intro h2,.steps h2{font:700 clamp(34px,4vw,50px)/1.15 'Playfair Display';margin:8px 0 14px}.intro>p:last-child{color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.card{background:var(--white);border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 12px 40px #243b3510}.product-visual{height:280px;background:#dde8df;display:grid;place-items:center;position:relative}.product-2 .product-visual{background:#ece2d4}.product-visual>span{top:18px;left:22px}.mini-book{width:160px;height:210px;background:#285047;color:#fff;border-radius:3px 11px 11px 3px;padding:40px 22px;font:600 21px/1.2 'Playfair Display';box-shadow:-8px 10px 18px #243c3438,inset 5px 0 #153c33}.product-2 .mini-book{background:#b67867;box-shadow:-8px 10px 18px #6e514538,inset 5px 0 #86574d}.mini-book small{display:block;margin-bottom:14px}.card-body{padding:30px}.card-tag{font-size:10px;letter-spacing:.13em;font-weight:700;color:#769087}.card h3{font:700 29px 'Playfair Display';margin:7px 0}.card p{color:var(--muted);min-height:52px}.card-link{display:inline-flex;gap:20px;margin-top:8px;text-decoration:none}.steps{margin:105px 0 70px;background:var(--forest);color:white;padding:65px;border-radius:20px}.steps .eyebrow{color:#a9c4b9}.steps>div{text-align:center;max-width:650px;margin:auto}.steps ol{list-style:none;padding:50px 0 0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps li{border-top:1px solid #ffffff32;padding-top:23px}.steps li>span{color:#a9c4b9;font-size:12px}.steps h3{font:600 21px 'Playfair Display';margin:12px 0 5px}.steps li p{color:#c4d2cd;font-size:14px}.back{display:inline-block;margin:30px 0;text-decoration:none}.product-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start}.product-summary{position:sticky;top:28px}.product-summary h1{font-size:52px}.product-summary>p:not(.eyebrow,.privacy-note){color:var(--muted);font-size:17px}.summary-placeholder{height:230px;margin:30px 0;background:var(--sage);border-radius:14px;display:grid;place-items:center;position:relative;overflow:hidden}.summary-placeholder:after{content:'';width:130px;height:180px;background:var(--forest);border-radius:3px 10px 10px 3px;box-shadow:-7px 10px 22px #17342f42;transform:rotate(5deg)}.summary-placeholder>span{top:14px;left:16px}.summary-placeholder strong{position:absolute;z-index:1;color:#fff;font:600 18px/1.2 'Playfair Display';transform:rotate(5deg)}.specs{display:flex;gap:8px;flex-wrap:wrap}.privacy-note{border-top:1px solid var(--line);padding-top:22px;margin-top:25px;font-size:12px;color:var(--muted)}.panel,.receipt,.warning{background:#fff;padding:38px;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 35px #1d36320d}.form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.form-heading h2{font:700 32px 'Playfair Display';margin:0}.step-count{font-size:12px;color:var(--muted);white-space:nowrap}.progress{height:4px;background:#e8ece8;border-radius:5px;margin:25px 0 34px;overflow:hidden}.progress i{display:block;height:100%;background:var(--forest);transition:width .3s}.question-grid{display:grid;gap:23px}.question{display:grid;gap:8px;font-weight:600}.question>span{font-size:14px}.question[hidden],[hidden]{display:none!important}input,textarea,select{width:100%;border:1px solid #bcc9c3;border-radius:8px;padding:13px 14px;background:#fbfcfa;font:inherit;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--forest);box-shadow:0 0 0 3px #dce9e3}textarea{min-height:115px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}.secondary{background:#edf2ee;color:var(--ink)}.form-trust{display:block;text-align:center;margin-top:18px;color:var(--muted)}.error{color:#a42525;background:#fff0f0;padding:12px;border-radius:8px}.checks{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.checks span{background:#e2f2e9;color:#205c40;padding:7px 11px;border-radius:99px}.preview-grid,.split{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;margin:40px 0}iframe{width:100%;height:620px;border:1px solid #ccd4d0;border-radius:12px;background:#ddd}.actions{display:flex;gap:8px;flex-wrap:wrap}.order-form{margin:45px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.receipt{max-width:600px}.receipt div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee}.receipt .total{font-size:22px}.warning{max-width:600px;margin-top:25px;border-color:#e6b8b8;background:#fff9f7}.warning form{display:flex;gap:10px}dl{display:grid;grid-template-columns:180px 1fr;gap:8px}dt{font-weight:700}dd{margin:0;word-break:break-all}footer{min-height:140px;margin-top:75px;border-top:1px solid var(--line);display:flex;align-items:center;gap:35px;color:var(--muted);font-size:12px}footer p{margin-right:auto;color:var(--ink)}
@media(max-width:820px){header,main,footer{padding-left:20px;padding-right:20px}.site-header nav a{display:none}.hero{grid-template-columns:1fr;padding-top:45px;gap:45px}.hero-placeholder{height:390px}.grid,.product-layout,.preview-grid,.split{grid-template-columns:1fr}.product-summary{position:static}.steps{padding:45px 28px}.steps ol{grid-template-columns:1fr}.panel{padding:25px}.form-grid{display:block}footer{align-items:flex-start;flex-direction:column;gap:8px;padding-top:30px}.form-heading{display:block}.step-count{display:block;margin-top:10px}}@media(max-width:500px){.hero h1{font-size:43px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-placeholder{height:350px}.placeholder-book{width:190px;height:270px}.grid{gap:18px}.product-visual{height:230px}.form-actions{display:grid;grid-template-columns:1fr 1fr}.submit-button{grid-column:1/-1}.product-summary h1{font-size:42px}}

/* Horizontaal boek */
.horizontal-home{height:100vh;overflow:hidden}.horizontal-home main{max-width:none;padding:0;perspective:1800px}.horizontal-home footer{display:none}.horizontal-home .site-header{max-width:none;padding-left:max(32px,calc((100vw - 1240px)/2 + 32px));padding-right:max(32px,calc((100vw - 1240px)/2 + 32px))}.page-rail{height:calc(100vh - 82px);display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:none}.page-rail::-webkit-scrollbar{display:none}.book-page{position:relative;flex:0 0 100vw;width:100vw;height:100%;padding-left:max(32px,calc((100vw - 1240px)/2 + 32px));padding-right:max(32px,calc((100vw - 1240px)/2 + 32px));scroll-snap-align:start;transform-style:preserve-3d;backface-visibility:hidden;transform-origin:left center}.book-page:after{content:'';position:absolute;inset:0;z-index:20;pointer-events:none;background:linear-gradient(90deg,#102d2866,transparent 13%);opacity:0}.horizontal-home .hero{min-height:0;height:100%;padding-top:25px;padding-bottom:55px}.journals-page{display:grid;grid-template-rows:auto 1fr;padding-top:20px;padding-bottom:35px}.journals-page .intro{margin:0 auto 18px}.journals-page .intro h2{font-size:38px}.journals-page .grid{min-height:0}.journals-page .product-visual{height:min(27vh,230px)}.journals-page .mini-book{height:min(21vh,185px)}.journals-page .card-body{padding:22px 26px}.journals-page .card h3{font-size:25px}.journals-page .card p{font-size:14px;margin:5px 0}.method-page{display:grid;place-items:center}.method-page .steps{width:100%;margin:0;padding:55px 65px}.light-button{display:flex;width:max-content;margin:35px auto 0;background:#f2f5f1;color:var(--forest)}.page-dots{position:fixed;z-index:50;right:28px;top:50%;display:grid;gap:10px;transform:translateY(-50%)}.page-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#9db0a9;cursor:pointer;transition:.25s}.page-dots button.active{height:28px;border-radius:6px;background:var(--forest)}.scroll-hint{position:fixed;right:28px;bottom:18px;font-size:9px;letter-spacing:.18em;font-weight:700;color:#789087}.scroll-hint span{display:inline-block;font-size:17px;margin-left:7px;animation:hint 1.5s ease-in-out infinite}.turn-forward{z-index:5;animation:turnForward .72s cubic-bezier(.55,.02,.25,1) both}.reveal-forward{animation:revealForward .72s ease both}.turn-back{animation:turnBack .72s cubic-bezier(.55,.02,.25,1) both}.reveal-back{animation:revealBack .72s ease both}.turn-forward:after,.turn-back:after{animation:pageShadow .72s ease}.question-enter{animation:questionIn .38s ease both}@keyframes turnForward{0%{transform:rotateY(0);filter:brightness(1)}48%{transform:rotateY(-10deg) translateX(-1.5%);filter:brightness(.93)}100%{transform:rotateY(0) translateX(-3%);filter:brightness(.88)}}@keyframes revealForward{0%{transform:translateX(3%) rotateY(3deg);filter:brightness(.88)}100%{transform:none;filter:brightness(1)}}@keyframes turnBack{0%{transform:none;filter:brightness(1)}55%{transform:translateX(2%) rotateY(8deg);filter:brightness(.93)}100%{transform:none}}@keyframes revealBack{0%{transform:translateX(-3%);filter:brightness(.88)}100%{transform:none;filter:brightness(1)}}@keyframes pageShadow{0%,100%{opacity:0}45%{opacity:1}}@keyframes questionIn{from{opacity:0;transform:translateX(24px) rotateY(-3deg)}to{opacity:1;transform:none}}@keyframes hint{50%{transform:translateX(6px)}}
@media(max-width:820px){.horizontal-home .site-header,.book-page{padding-left:20px;padding-right:20px}.horizontal-home .site-header{height:70px}.page-rail{height:calc(100vh - 70px)}.horizontal-home .hero{grid-template-columns:1fr 42%;gap:24px;padding-top:10px}.horizontal-home .hero h1{font-size:clamp(36px,7vw,52px)}.horizontal-home .hero-placeholder{height:min(53vh,390px)}.horizontal-home .grid{grid-template-columns:1fr 1fr}.journals-page .product-visual{height:180px}.journals-page .card-body{padding:16px}.journals-page .card p{display:none}.method-page .steps{padding:38px 30px}.page-dots{right:10px}.scroll-hint{right:15px}}
@media(max-width:600px){.horizontal-home{height:auto;min-height:100vh}.horizontal-home .site-header{position:fixed;z-index:60;top:0;width:100%;background:var(--cream)}.page-rail{height:100vh;padding-top:70px}.book-page{overflow-y:auto}.horizontal-home .hero{display:flex;flex-direction:column;height:100%;padding-top:28px;gap:20px}.horizontal-home .hero-copy{flex:none}.horizontal-home .hero h1{font-size:39px;margin-bottom:14px}.horizontal-home .lead{font-size:15px}.horizontal-home .hero-actions{margin:20px 0}.horizontal-home .hero-placeholder{width:100%;min-height:245px;height:245px}.horizontal-home .placeholder-book{width:140px;height:195px;padding:32px 18px 16px}.horizontal-home .placeholder-book strong{font-size:18px}.journals-page{display:block;padding-top:25px}.journals-page .intro h2{font-size:30px}.horizontal-home .grid{grid-template-columns:1fr;gap:12px}.journals-page .card{display:grid;grid-template-columns:34% 1fr}.journals-page .product-visual{height:auto;min-height:180px}.journals-page .mini-book{width:92px;height:130px;padding:26px 12px;font-size:14px}.journals-page .card h3{font-size:20px}.method-page .steps ol{gap:12px;padding-top:25px}.method-page .steps li{padding-top:10px}.scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){.page-rail{scroll-behavior:auto}.turn-forward,.turn-back,.reveal-forward,.reveal-back,.question-enter{animation:none}.scroll-hint span{animation:none}}

/* Config-driven content blocks */
.content-page{display:grid;place-items:center}.editorial-copy{width:min(760px,90%);padding:70px;background:#fff;text-align:center;border:1px solid var(--line);box-shadow:0 15px 50px #17342f12}.editorial-copy h2{font:700 clamp(36px,5vw,58px)/1.12 var(--heading-font,'Playfair Display'),serif;margin:0 0 18px}.editorial-copy p{color:var(--muted);font-size:18px;margin-bottom:28px}.preview-banner{position:fixed;z-index:100;left:50%;top:0;transform:translateX(-50%);background:#efc853;color:#26362f;padding:7px 15px;border-radius:0 0 8px 8px;font-size:10px;font-weight:800;letter-spacing:.08em}

/* Genereren */
.generation-loader{position:fixed;z-index:1000;inset:0;background:#f8f6f0f5;backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.generation-loader[hidden]{display:none}.generation-loader h2{font:700 clamp(32px,4vw,48px)/1.1 'Playfair Display';margin:0 0 12px}.generation-loader>p:not(.eyebrow){color:var(--muted);margin:0 0 26px;min-height:26px}.generation-loader small{color:var(--muted)}.loader-journal{position:relative;width:118px;height:88px;margin-bottom:36px;perspective:600px}.loader-journal:before,.loader-journal:after{content:'';position:absolute;bottom:0;width:58px;height:78px;background:#fffdf7;border:1px solid #d8d0c3;box-shadow:0 10px 24px #17342f24}.loader-journal:before{right:50%;border-radius:6px 2px 2px 8px;transform:skewY(3deg)}.loader-journal:after{left:50%;border-radius:2px 6px 8px 2px;transform:skewY(-3deg)}.loader-journal>i{position:absolute;z-index:2;left:50%;bottom:3px;width:56px;height:74px;background:linear-gradient(90deg,#f0eadf,#fffdf8 18%);border:1px solid #d8d0c3;border-left:0;border-radius:2px 7px 8px 2px;transform-origin:left center;animation:loaderPage 1.45s ease-in-out infinite}.loader-journal>i:nth-child(2){animation-delay:.28s}.loader-journal>i:nth-child(3){animation-delay:.56s}.loader-journal>span{position:absolute;z-index:5;left:calc(50% - 1px);bottom:0;width:2px;height:78px;background:#c1b49e}.loader-progress{width:min(320px,75vw);height:3px;background:#dfe6df;border-radius:8px;overflow:hidden;margin-bottom:18px}.loader-progress i{display:block;width:42%;height:100%;background:var(--forest);border-radius:8px;animation:loaderProgress 1.8s ease-in-out infinite}.message-in{animation:messageIn .35s ease}.is-generating{overflow:hidden}@keyframes loaderPage{0%,18%{transform:rotateY(0)}68%,100%{transform:rotateY(-180deg)}}@keyframes loaderProgress{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}@keyframes messageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.loader-journal>i,.loader-progress i,.message-in{animation-duration:.01ms;animation-iteration-count:1}}

/* Vrije CMS-elementen en configureerbaar productoverzicht. */
.book-page{position:relative}.public-free-elements{position:absolute;z-index:6;inset:0;pointer-events:none}.public-free-element{position:absolute;pointer-events:auto}.public-free-element img{width:100%;height:100%;object-fit:cover}.product-layout-grid{grid-template-columns:repeat(var(--product-columns,2),minmax(0,1fr))}.product-layout-list{grid-template-columns:1fr!important}.product-layout-list .card{display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr}
.public-free-element.type-link>a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:10px 16px;border-radius:7px;background:var(--forest);color:#fff;text-decoration:none;font-weight:700}.public-free-element.type-text{overflow-wrap:anywhere}.public-free-element.type-text.is-header{line-height:1.1}
.blank-page{background:var(--cream)}
.live-cover strong{max-width:110px;text-align:center}.live-cover em{position:absolute;z-index:2;top:62%;max-width:105px;color:#d9e6e0;font:normal 9px/1.3 'DM Sans';text-align:center}.question-help{display:block;color:var(--muted);font-weight:400;line-height:1.45}

/* Hetzelfde 1040:600-ontwerpvlak als in de website-editor. */
.public-free-elements{inset:auto;left:50%;top:50%;width:min(100%,calc((100vh - 82px) * 1.733333));aspect-ratio:1040/600;height:auto;transform:translate(-50%,-50%)}
@media(max-width:820px){.public-free-elements{width:min(100%,calc((100vh - 70px) * 1.733333))}}
@media(max-width:600px){.public-free-elements{top:calc(50% + 35px);width:min(100%,calc((100vh - 70px) * 1.733333))}}
.book-page{background-color:var(--cream)}
