.pp-tool{max-width:850px;margin:0 auto;color:#203e36}.pp-tool [hidden],.pp-contact [hidden]{display:none!important}.pp-card{background:#f5f1e7;border:1px solid #c2cbbd;border-radius:18px;padding:clamp(20px,4vw,40px);margin:24px 0}.pp-tool fieldset{border:0;padding:0;margin:24px 0}.pp-tool legend{font-size:clamp(1.35rem,3.5vw,2rem);font-weight:600;line-height:1.3;margin-bottom:18px}.pp-tool progress{width:100%;height:10px;accent-color:#203e36}.pp-count,.pp-kicker{font-size:.875rem;font-weight:700;letter-spacing:.04em}.pp-choice{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #899887;border-radius:9px;margin:10px 0;background:#fffdf7;cursor:pointer;min-height:54px}.pp-choice:has(input:checked){background:#dce7d5;border-color:#203e36}.pp-choice input{flex:0 0 21px;width:21px;height:21px;accent-color:#203e36}.pp-tool .pp-choice span{font-size:1rem;line-height:1.4}.pp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.pp-tool button,.pp-contact button{cursor:pointer;min-height:48px}.pp-tool .button.outline{background:transparent;color:#203e36;border:1px solid #203e36}.pp-tool :focus-visible,.pp-contact :focus-visible{outline:3px solid #a54c2c;outline-offset:4px}.pp-hint,.pp-notice{font-size:.95rem;line-height:1.6}.pp-notice{padding:16px;border-left:3px solid #496d4c;background:#e7eadf}.pp-error{color:#8b2014;font-weight:650;min-height:1.6em}.pp-related{display:grid;gap:14px;margin:22px 0}.pp-related a{text-decoration:underline;text-underline-offset:4px}.pp-tool li{margin:12px 0;line-height:1.6}.pp-tool details{margin:24px 0;line-height:1.6}.pp-tool summary{cursor:pointer;font-weight:650}.pp-tool details p{margin-top:16px}.pp-contact{max-width:850px;margin:36px auto}.pp-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pp-field{display:flex;flex-direction:column;gap:8px}.pp-field label{font-weight:600;line-height:1.5}.pp-field input,.pp-field textarea,.pp-field select{font:inherit;color:#203e36;width:100%;box-sizing:border-box;border:1px solid #899887;border-radius:6px;background:#fffdf8;padding:13px;min-height:48px}.pp-field textarea{min-height:110px;resize:vertical}.pp-field.full{grid-column:1/-1}.pp-contact-preview{padding:20px;background:#e6ecdf;border:1px solid #9eaf98;border-radius:9px;margin-top:22px}.pp-contact-preview pre{white-space:pre-wrap;font:inherit;overflow-wrap:anywhere;line-height:1.5}.pp-print-report{display:none}.pp-print-title{font-family:Georgia,serif}.pp-crumb{font-size:.9rem}.pp-crumb a{text-decoration:underline}.pp-tool .button,.pp-contact .button{max-width:100%;white-space:normal;text-align:center}.pp-tool input,.pp-tool textarea,.pp-contact input,.pp-contact select{scroll-margin-top:100px}@media(max-width:600px){.pp-fields{grid-template-columns:1fr}.pp-tool,.pp-contact{width:100%}.pp-card{padding:20px}.pp-actions>*{flex:1 1 100%}.pp-tool legend{font-size:1.45rem}.pp-tool .button,.pp-contact .button{width:100%;box-sizing:border-box}}
/* A form row can also be a full-width grid field. Keep its actions horizontal
   before wrapping; column + a 100% flex basis would create horizontal columns. */
.pp-tool,.pp-contact,.pp-tool *,.pp-contact *{box-sizing:border-box}
.pp-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.pp-field,.pp-tool form,.pp-contact details,.pp-contact-preview{min-width:0;max-width:100%}
.pp-tool .pp-actions,.pp-contact .pp-actions{display:flex;flex-direction:row;flex-wrap:wrap;min-width:0;max-width:100%}
.pp-actions>*{min-width:0;max-width:100%;overflow-wrap:anywhere}
.pp-tool .pp-actions>p,.pp-contact .pp-actions>p{flex:0 1 100%;width:100%;white-space:normal}
.pp-tool p,.pp-contact p,.pp-tool label,.pp-contact label{overflow-wrap:anywhere}
.pp-tool .pp-crumb{position:static;flex-wrap:wrap;min-width:0}
@media(max-width:600px){.pp-fields{grid-template-columns:minmax(0,1fr)}.pp-tool .pp-actions>*,.pp-contact .pp-actions>*{flex:0 1 100%;width:100%}.pp-tool .pp-actions .button,.pp-contact .button{white-space:normal;overflow-wrap:anywhere;min-width:0}}
@media print{body{background:#fff!important;color:#111!important}body>header,body>footer,.mobile-booking,.mobile-cta,.sticky-cta,.cookie-banner,.ga4-consent,.ga4-analytics-preferences,[data-ga-consent],.pp-no-print,.site-header,.site-footer,.channel-strip,.visual-cover,.breadcrumbs,.page-heading,.skip{display:none!important}main{padding:0!important}main>.wrap.section{padding:0!important}.pp-tool{max-width:none}.pp-card{background:#fff;border:0;padding:0;margin:0}.pp-tool [data-brief-form],.pp-contact,.pp-tool .pp-crumb{display:none!important}.pp-print-report{display:block}.pp-print-report h3{font-size:12pt;margin:16pt 0 5pt;break-after:avoid}.pp-print-report p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11pt;line-height:1.45;margin:0 0 14pt}.pp-print-intro{font-size:10pt}.pp-print-title{font-size:24pt}.pp-print-report h3,.pp-print-report p{orphans:3;widows:3}a{color:inherit!important;text-decoration:none}a[href]::after{content:none!important}.pp-print-footer{font-size:9pt;border-top:1px solid #777;padding-top:12pt}.pp-tool .pp-notice{border:0;padding:0;font-size:9pt;background:none}@page{size:A4;margin:18mm}}
