/* FOLIE — refined editorial inner pages, shared design language */
.page-sub{color:#1a1917;background:#fff}
.page-sub .site-header .main-nav a[aria-current="page"]{opacity:.7;border-bottom:1px solid currentColor;padding-bottom:5px}
.page-sub .site-header:not(.is-scrolled):not(:has(.main-nav.open)) .nav-quote{border-color:#e8e3d7}
.subhero{height:min(90svh,870px);min-height:630px;position:relative;background:#11110e;color:#fff;overflow:hidden}
.subhero-bg{position:absolute;inset:0}
.subhero-bg img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center 54%;filter:saturate(.76) brightness(.76)}
.subhero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.61) 38%,rgba(0,0,0,.13) 81%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 50%)}
.subhero-main{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:145px;padding-bottom:80px;z-index:1}
.subhero-breadcrumb{color:#e1dcd3;display:flex;gap:13px;align-items:center;font-size:10px;letter-spacing:.18em;font-weight:400;margin-bottom:47px}
.subhero-breadcrumb a{border-bottom:1px solid #b0aca6;padding-bottom:3px}
.subhero-copy{max-width:930px}
.subhero-kicker{display:block;color:#d6c1a8;font-size:11px;letter-spacing:.25em;text-transform:uppercase}
.subhero h1{font-size:clamp(72px,8.3vw,135px);font-weight:400;font-family:var(--serif);letter-spacing:-.065em;line-height:1.06;margin:23px 0 26px}
.subhero h1 em{font-style:italic;font-weight:400;color:#e8ded3}
.subhero-copy>p{font-size:clamp(15px,1.15vw,19px);line-height:1.85;max-width:540px;margin:0 0 25px;color:#eae5dd}
.subhero-link{display:inline-block;text-transform:uppercase;letter-spacing:.15em;font-size:11px;border-bottom:1px solid #f7f1e9;padding:9px 0;font-weight:500}
.subhero-link span{margin-left:25px}
.subhero-counter{position:absolute;right:5vw;bottom:35px;color:#e4dcd1;z-index:1;font-size:10px;letter-spacing:.17em}
.sub-intro{padding-top:120px;padding-bottom:110px;display:grid;grid-template-columns:1fr minmax(320px,.55fr);gap:75px;align-items:end}
.sub-intro h2{font-family:var(--serif);font-size:clamp(60px,6.25vw,100px);letter-spacing:-.055em;line-height:1.04;font-weight:400;margin:25px 0 0}
.sub-intro h2 span{color:#b4a58f}
.sub-intro>p{font-size:16px;line-height:1.95;max-width:490px;color:#716f69;padding-bottom:8px;margin:0}
.page-cards{padding-bottom:130px}
.page-cards>.section-kicker{margin-bottom:28px}
.page-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.page-collecties .page-cards-grid{grid-template-columns:repeat(4,1fr)}
.page-card{position:relative;display:block;overflow:hidden;background:#d2cec6;height:clamp(435px,40vw,630px);color:#fff}
.page-card>img{height:100%;object-fit:cover;filter:saturate(.76) brightness(.82);transition:transform .7s ease,filter .7s ease}
.page-card:hover>img{transform:scale(1.055);filter:saturate(.95)}
.page-card-shade{position:absolute;inset:0;background:linear-gradient(transparent 36%,rgba(0,0,0,.77))}
.page-card-text{position:absolute;bottom:27px;left:29px;right:29px;display:flex;flex-direction:column;align-items:flex-start}
.page-card-no{font-size:10px;letter-spacing:.16em;opacity:.8}
.page-card-text strong{font-family:var(--serif);font-size:clamp(32px,3vw,49px);line-height:1.1;letter-spacing:-.05em;font-weight:400;margin:10px 0 12px}
.page-card-text small{font-size:12px;line-height:1.65;max-width:290px;opacity:.93;min-height:38px}
.page-card-arrow{font-size:23px;margin-top:13px;border-top:1px solid #ffffff88;width:100%;padding-top:9px}
.page-collecties .page-card-text{left:20px;right:20px}
.page-collecties .page-card-text strong{font-size:clamp(26px,2.7vw,40px)}
.page-collecties .page-card-text small{font-size:11px}
.sub-feature{display:grid;grid-template-columns:50% 50%;min-height:690px;background:#161815;color:#f4f1ea}
.sub-feature-image{position:relative;min-height:630px;overflow:hidden}
.sub-feature-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.76)}
.sub-feature-content{padding:90px clamp(45px,7.5vw,140px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.sub-feature-content .section-kicker{color:#c9b8a0}
.sub-feature h2{font-family:var(--serif);font-size:clamp(54px,5.3vw,86px);line-height:1.075;font-weight:400;letter-spacing:-.06em;margin:22px 0 30px}
.sub-feature p{font-size:15px;line-height:1.95;color:#d2ccc4;max-width:500px;margin:0 0 32px}
.sub-feature .button-light{background:#f4f1eb;color:#1d1b18}
.sub-steps{background:#f5f3ee;padding:120px 0 130px}
.sub-steps .section-kicker{margin-bottom:50px}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:43px}
.step-grid article{border-top:1px solid #c9c4bb;padding-top:30px}
.step-index{font-family:var(--serif);font-size:37px;color:#a7947a}
.step-grid h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.7vw,42px);letter-spacing:-.04em;margin:25px 0 13px}
.step-grid p{font-size:14px;color:#77736e;line-height:1.85;max-width:330px;margin:0}
.page-cta{background:#151514;color:#f6f4ed;padding:110px 0}
.page-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:55px}
.page-cta .section-kicker{color:#c5b29c}
.page-cta h2{font-family:var(--serif);font-size:clamp(55px,5.7vw,89px);font-weight:400;letter-spacing:-.062em;line-height:1.07;margin:17px 0}
.page-cta h2 em{font-weight:400;font-style:italic;color:#d6c6b4}
.page-cta p{font-size:14px;color:#c3bdb6;line-height:1.8;margin:0}
.page-cta .button{white-space:nowrap;background:#f4f1e9;color:#1a1917}
.finish-section{padding:0 0 130px}
.finish-layout{display:grid;grid-template-columns:1.4fr 1fr;background:#161615;min-height:700px}
.finish-photo{position:relative;min-height:700px;overflow:hidden}
.finish-photo img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0;filter:saturate(.75);transition:filter .25s}
.finish-photo span{position:absolute;bottom:23px;left:28px;color:#fff;letter-spacing:.15em;font-size:11px;text-shadow:0 1px 5px #000a}
.finish-panel{padding:65px clamp(30px,4vw,65px);color:#f3f0ea;display:flex;flex-direction:column;justify-content:center}
.finish-panel .section-kicker{color:#c5b49c}
.finish-panel h2{font-family:var(--serif);font-size:clamp(43px,4vw,70px);line-height:1.09;font-weight:400;margin:15px 0 19px}
.finish-panel>p{color:#cfc6b9;font-size:14px;line-height:1.8;margin:0 0 25px}
.finish-choices{border-top:1px solid #555149}
.finish-choice{width:100%;border:0;border-bottom:1px solid #555149;background:transparent;display:grid;grid-template-columns:34px 1fr auto;align-items:center;text-align:left;color:#f4f1eb;padding:15px 0;gap:12px;font-size:13px}
.finish-choice:hover,.finish-choice[aria-pressed=true]{color:#e2c9a6}
.finish-index{font-size:10px;color:#a89a89}
.finish-panel>small{margin-top:20px;color:#aaa49d;font-size:11px;line-height:1.65}
.gallery-section{padding:0 0 115px}
.gallery-section>.container h2{font-family:var(--serif);font-size:clamp(56px,5.8vw,92px);font-weight:400;letter-spacing:-.06em;margin:10px 0 48px}
.gallery-section h2 em{font-weight:400}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:345px;gap:5px}
.gallery-photo{position:relative;overflow:hidden;margin:0;background:#e4dfd4}
.gallery-photo:nth-child(1){grid-row:span 2}
.gallery-photo:nth-child(4){grid-column:span 2}
.gallery-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .65s,filter .65s}
.gallery-photo:hover img{transform:scale(1.045);filter:saturate(.9)}
.gallery-photo figcaption{position:absolute;bottom:25px;left:25px;color:#fff;font-family:var(--serif);font-size:33px;text-shadow:0 2px 12px #000a}
.gallery-photo figcaption span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;margin-bottom:12px}
.contact-section{padding-bottom:145px;display:grid;grid-template-columns:1fr .85fr;gap:70px}
.contact-panel{padding:65px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.contact-panel h2{font-family:var(--serif);font-size:clamp(55px,6vw,95px);line-height:1.04;letter-spacing:-.065em;font-weight:400;margin:20px 0 24px}
.contact-panel>p{font-size:16px;line-height:1.92;color:#77736d;max-width:560px}
.contact-email{font-family:var(--serif);font-size:clamp(25px,3vw,46px);border-bottom:1px solid #151514;padding:7px 0;margin:15px 0 29px}
.contact-email span{font-size:22px}
.contact-note{color:#8f8b84;font-size:12px;max-width:440px;line-height:1.7}
.contact-visual{min-height:600px}
.contact-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}
.request-section{padding-bottom:130px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0}
.request-photo{min-height:590px}
.request-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.request-content{padding:80px clamp(30px,5vw,100px);background:#f1efea;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.request-content h2{font-family:var(--serif);font-weight:400;font-size:clamp(50px,5vw,79px);line-height:1.06;letter-spacing:-.06em;margin:20px 0 28px}
.request-content p{font-size:15px;line-height:1.9;color:#726f69;margin:0 0 21px}
.request-content .button{margin-top:15px}
@media(max-width:1120px){
 .subhero{min-height:660px}
 .subhero-main{padding-top:160px}
 .page-collecties .page-cards-grid{grid-template-columns:repeat(2,1fr)}
 .sub-feature-content{padding:65px 47px}
 .sub-intro{grid-template-columns:1fr .75fr;gap:35px}
 .finish-layout{grid-template-columns:1.1fr 1fr}
}
@media(max-width:800px){
 .subhero{height:740px;min-height:660px}
 .subhero-main{padding-top:110px}
 .subhero h1{font-size:clamp(66px,11vw,95px)}
 .subhero-breadcrumb{margin-bottom:35px}
 .sub-intro{display:block;padding-top:85px;padding-bottom:75px}
 .sub-intro>p{margin-top:30px}
 .page-cards-grid{grid-template-columns:repeat(2,1fr)}
 .page-card{height:440px}
 .sub-feature{display:flex;flex-direction:column}
 .sub-feature-image{min-height:490px}
 .sub-feature-content{padding:70px 32px}
 .finish-layout{display:flex;flex-direction:column}
 .finish-photo{min-height:470px}
 .finish-panel{padding:55px 40px}
 .contact-section,.request-section{grid-template-columns:1fr;gap:0}
 .contact-section{gap:35px}
 .contact-panel{padding:20px 0}
 .contact-visual{min-height:460px}
 .request-content{padding:55px 40px}
 .page-cta-inner{display:block}
 .page-cta .button{margin-top:35px}
}
@media(max-width:600px){
 .subhero{height:685px;min-height:630px}
 .subhero-bg img{object-position:56% center}
 .subhero-main{padding-top:145px;padding-bottom:55px}
 .subhero-breadcrumb{font-size:8px;letter-spacing:.11em;margin-bottom:31px}
 .subhero-kicker{font-size:10px}
 .subhero h1{font-size:clamp(58px,13vw,80px);margin:24px 0}
 .subhero-copy>p{font-size:14px;max-width:385px}
 .subhero-counter{bottom:18px;right:20px;font-size:8px}
 .sub-intro{padding-top:77px;padding-bottom:67px}
 .sub-intro h2{font-size:clamp(51px,11vw,69px)}
 .sub-intro>p{font-size:14px;margin-top:22px}
 .page-cards{padding-bottom:80px}
 .page-cards-grid,.page-collecties .page-cards-grid{grid-template-columns:1fr 1fr;gap:5px}
 .page-card{height:320px}
 .page-card-text,.page-collecties .page-card-text{bottom:18px;left:13px;right:13px}
 .page-card-no{font-size:8px}
 .page-card-text strong,.page-collecties .page-card-text strong{font-size:clamp(22px,6vw,32px);margin:7px 0}
 .page-card-text small,.page-collecties .page-card-text small{font-size:10px;line-height:1.5;min-height:45px}
 .page-card-arrow{margin-top:7px;font-size:20px}
 .sub-feature-image{min-height:400px}
 .sub-feature-content{padding:65px 23px}
 .sub-feature h2{font-size:clamp(51px,11vw,68px)}
 .sub-feature p{font-size:14px}
 .sub-steps{padding:80px 0}
 .step-grid{grid-template-columns:1fr;gap:25px}
 .step-grid article{padding-top:20px}
 .step-grid h3{font-size:30px;margin:11px 0 7px}
 .step-grid p{font-size:13px}
 .page-cta{padding:80px 0}
 .page-cta h2{font-size:clamp(50px,10vw,67px)}
 .page-cta p{font-size:13px}
 .finish-section{padding-bottom:80px}
 .finish-photo{min-height:390px}
 .finish-panel{padding:40px 25px}
 .finish-panel h2{font-size:51px}
 .gallery-section{padding-bottom:80px}
 .gallery-section>.container h2{font-size:54px}
 .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:250px;gap:5px}
 .gallery-photo:nth-child(1){grid-row:span 2}
 .gallery-photo:nth-child(4){grid-column:span 2}
 .gallery-photo figcaption{font-size:22px;left:14px;bottom:14px}
 .contact-section{padding-bottom:80px}
 .contact-visual{min-height:320px}
 .contact-panel h2{font-size:60px}
 .contact-email{font-size:28px}
 .request-section{padding-bottom:80px}
 .request-photo{min-height:340px}
 .request-content{padding:45px 25px}
 .request-content h2{font-size:58px}
}
@media(max-width:390px){
 .subhero h1{font-size:56px}
 .page-card{height:285px}
 .page-card-text small{display:none}
 .page-card-text strong{font-size:23px}
 .gallery-photo figcaption{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.page-card>img,.gallery-photo img{transition:none!important}}
/* Final completion: contact and informational pages */
.legal-content{padding-top:95px;padding-bottom:125px;max-width:970px}
.legal-content .legal-updated{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8d8478;margin-bottom:44px}
.legal-content h2{font-family:var(--serif);font-weight:400;font-size:clamp(35px,3.6vw,56px);letter-spacing:-.04em;line-height:1.12;margin:44px 0 17px}
.legal-content h2:first-child{margin-top:0}
.legal-content p{font-size:15px;line-height:1.94;color:#6e6b65;max-width:810px}
.legal-content a{color:#2d2923;text-decoration:underline;text-underline-offset:4px}
.legal-faq>h2{margin-top:60px}
.legal-faq>h2:first-child{margin-top:0}
.legal-faq details{border-bottom:1px solid #e0ddd5;padding:0 5px}
.legal-faq details:first-of-type{border-top:1px solid #e0ddd5}
.legal-faq summary{list-style:none;cursor:pointer;font-size:16px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0}
.legal-faq summary::-webkit-details-marker{display:none}
.legal-faq details[open] summary{color:#8f7a5f}
.legal-faq details p{padding-right:35px;margin-bottom:28px}
.contact-mail-form{padding-top:24px;border-top:1px solid #e7e1d9;width:100%;max-width:590px;margin-top:16px}
.contact-mail-form .field-group input,.contact-mail-form .field-group textarea,.contact-mail-form .field-group select{background:#faf9f7;padding:15px;border-color:#e3ded5;border-radius:0;min-height:48px}
.contact-mail-form .field-group label{font-size:12px;letter-spacing:.025em;font-weight:500}
.contact-mail-form .field-group label span{color:#8b867e}
.contact-mail-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:23px}
.contact-mail-actions .button{min-height:55px;font-size:10px;letter-spacing:.09em;padding:14px 19px;white-space:normal;text-align:center}
.button-outline{border:1px solid #282724;background:transparent;color:#282724}
.button-outline:hover{background:#edeae5}
.contact-help{color:#8e8982!important;font-size:11px!important;line-height:1.75!important;margin-top:18px}
.contact-help a{text-decoration:underline;text-underline-offset:2px}
.form-status{font-size:12px!important;margin:12px 0!important;line-height:1.65!important;color:#5c6452!important;min-height:18px}
.page-contact .contact-section{align-items:start}
.page-contact .contact-visual{min-height:760px;position:sticky;top:95px}
.page-contact .contact-panel{padding-top:0}
.page-contact .contact-section{gap:75px}
.footer-bottom>a{line-height:1.8}
@media(max-width:800px){.page-contact .contact-section{display:flex;flex-direction:column;gap:35px}.page-contact .contact-visual{position:static;min-height:330px;width:100%;height:330px}.contact-mail-form{max-width:100%}}
@media(max-width:600px){.legal-content{padding-top:65px;padding-bottom:80px}.legal-content p{font-size:13px}.legal-content h2{font-size:38px}.legal-faq summary{font-size:14px}.contact-mail-actions{flex-direction:column;align-items:stretch}.contact-mail-actions .button{width:100%}.page-contact .contact-section{gap:30px}}
/* Final mobile fit and touch interaction details */
@media(max-width:420px){
 .page-maatwerk-deuren .subhero h1{font-size:54px}
 .subhero h1{overflow-wrap:normal}
 .page-sub .subhero-main{width:calc(100% - 38px)}
 .page-sub .main-nav a{min-height:32px;display:flex;align-items:center}
 .page-sub .finish-choice{min-height:48px}
}
