/* Conversion improvements. Existing Rentflow colours, typography and product UI remain the base. */
:root{--muted:#5c6254;--accent-ink:#b93613;--line:#d5d9cc}
html{scroll-padding-top:104px}
[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--accent-ink);outline-offset:4px}
h2{font-size:clamp(34px,3.25vw,49px);font-weight:550;line-height:1.16;letter-spacing:-.045em;text-wrap:balance}
h3{letter-spacing:-.025em}
p{line-height:1.55}
.section{padding:78px max(6%,calc((100vw - 1280px)/2));max-width:none}
.section-heading{margin-bottom:34px}
.section-heading h2{margin:0}
.section-heading>p,.walkthrough-heading>p,.approach-intro>p,.faq-intro>p,.roles-copy>p{font-size:17px;line-height:1.55;color:var(--muted);max-width:66ch;margin:16px 0 0}
.section-cta{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:36px;grid-column:1/-1}
.section-cta>p{font-size:16px;color:var(--muted);max-width:42ch}
.button{font-size:15px;min-height:52px;gap:28px;font-weight:600;padding:0 22px}
.button>span:last-child{font-size:22px}
.text-link{font-size:16px;min-height:44px;gap:11px}
.header{position:sticky;top:0;height:84px;padding-left:5%;padding-right:5%;z-index:100;background:#f6f5f0f7;backdrop-filter:blur(12px)}
.brand{min-height:44px}
.brand-sub{font-size:8px;letter-spacing:.6px;color:#5c6254}
.desktop-nav{font-size:14px;gap:25px}
.desktop-nav a{min-height:44px;display:inline-flex;align-items:center}
.header-actions{gap:15px}
.language{font-size:14px;min-height:44px;min-width:44px}
.button-small{font-size:14px;min-height:46px;padding:0 17px;gap:20px}
.menu-toggle{width:44px;height:44px;padding:10px}
.mobile-menu{position:fixed;top:84px;z-index:99;font-size:16px;box-shadow:0 10px 20px #1c1d1a0a}
.mobile-menu a{min-height:48px;display:flex;align-items:center}
.hero{padding:0 5% 45px}
.hero-title-wrap{margin:59px auto 0;width:auto;max-width:1100px}
.hero h1{font-size:clamp(46px,5.6vw,82px);font-weight:550;line-height:1.07;letter-spacing:-.052em;text-wrap:balance}
.hero .title-line em{letter-spacing:-.045em;color:var(--accent-ink)}
.hero-description{font-size:18px;color:#555d4b;max-width:68ch;line-height:1.55;margin-top:22px;padding:0}
.hero-actions{margin-top:26px;gap:25px;flex-wrap:wrap}
.hero-reassurance{font-size:15px;color:#555d4b;text-align:center;margin-top:14px}
.local-proof{font-size:16px;font-weight:500;text-align:center;color:#4d5743;margin:23px auto 0;max-width:66ch}
.hero-benefits{font-size:15px;line-height:1.5;color:#4d5743;gap:12px 25px;display:flex;flex-wrap:wrap;list-style:none;padding:0;justify-content:center;margin:16px auto 0;max-width:1000px}
.hero-benefits li,.hero-benefits>span{display:flex;align-items:center;gap:7px}
.hero-benefits b{font-size:15px;color:#445935;margin:0}
.hero-benefits svg{width:17px;height:17px;flex-shrink:0;stroke:#445935;fill:none;stroke-width:2}
.product-stage{margin-top:39px;max-width:1080px;padding:0 30px}
.hero-screen{height:auto;max-height:515px}
.hero-screen img{width:100%;height:auto}
.browser-bar{height:34px}
.browser-address{font-size:10px}
.browser-state{font-size:8px}
.floating-payment{right:0;top:53%;min-width:225px;padding:16px;transform:rotate(2deg)}
.floating-payment>div>span:first-child{font-size:12px;color:#56624a}
.floating-payment strong{font-size:27px}
.floating-payment strong small{font-size:12px}
.floating-payment .tiny{font-size:10px;color:#626e57;line-height:1.4;letter-spacing:0}
.mockup-caption{font-size:13px;color:#5c6254;text-align:center;line-height:1.5;margin:16px auto 0;max-width:66ch}
.comparison{border-top:1px solid var(--line);padding-top:64px;padding-bottom:70px}
.comparison-table{border-collapse:separate;border-spacing:0;width:100%;font-size:17px;table-layout:fixed;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#f0f1ea}
.comparison-table th{font-family:var(--heading);font-weight:650;text-align:left;font-size:20px;padding:21px 27px;border-bottom:1px solid var(--line)}
.comparison-table th:first-child{color:#5e6259}
.comparison-table th:last-child{background:#e7ebdf;color:#24301b}
.comparison-table td{padding:18px 27px;line-height:1.45;border-bottom:1px solid #dce0d3;vertical-align:top}
.comparison-table tr:last-child td{border-bottom:0}
.comparison-table td:first-child{color:#62665e}
.comparison-table td:last-child{background:#edf0e5;color:#2d3c22;font-weight:500}
.comparison-table th+th,.comparison-table td+td{border-left:1px solid var(--line)}
.walkthrough{padding-top:70px;padding-bottom:61px}
.walkthrough-heading{display:block;margin-bottom:32px}
.walkthrough-heading>p{color:#c2c8b9;margin-top:16px;max-width:66ch;padding:0}
.walkthrough h2{font-size:clamp(34px,3.25vw,49px)}
.tour-layout{grid-template-columns:.9fr 1.5fr;gap:42px}
.tour-step{gap:16px;padding:24px 0;color:#c0c8b6;min-height:44px}
.tour-step .step-no{font-size:13px;color:#abb79c;padding-top:4px}
.tour-step h3{font-size:20px;color:#bbc4b1;letter-spacing:-.035em;line-height:1.3}
.tour-step p{font-size:16px;line-height:1.5;max-width:33ch;margin-top:10px;color:#bcc4b1}
.tour-step.active .step-no{color:#ff986f}
.tour-step.active h3{color:var(--paper)}
.tour-step.active p{color:#d0d7c6}
.tour-image-container{height:395px}
.tour-toolbar{font-size:11px;letter-spacing:.5px;height:39px;color:#d0d7c4}
.tour-count{font-size:11px;color:#b8c2a8}
.tour-play{font-size:14px;min-height:44px;padding:0;min-width:155px;color:#edf0e7;gap:10px}
.tour-play>span:first-child{font-size:13px}
.tour-controls{min-height:60px;padding:7px 18px}
.tour-duration{font-size:10px;letter-spacing:.5px;color:#c0cab3}
.walkthrough .mockup-caption{color:#bdc6b0;margin-top:18px}
.tour-footer{margin-top:25px;padding-top:17px;align-items:center}
.tour-footer>p{font-size:16px;color:#c1cbb3;max-width:47ch;line-height:1.5}
.tour-footer .text-link{font-size:16px;color:#f1f3ec;max-width:25ch}
.features .section-heading h2{margin:0}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.feature-group{background:#eef0e7;border:1px solid #d6ddcb;border-radius:9px;min-width:0;overflow:hidden}
.feature-group summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:83px;padding:20px 17px 17px;border-bottom:1px solid #d6ddcb;color:#283221}
.feature-group summary::-webkit-details-marker{display:none}
.feature-group summary h3{font-size:19px;font-weight:650;line-height:1.3;letter-spacing:-.035em}
.feature-group summary>span{font-size:12px;line-height:1.4;color:#5d6a4f;margin-left:auto;white-space:nowrap}
.feature-group summary .feature-count,.feature-group summary .count{font-size:12px;color:#5d6a4f;margin-left:auto;background:#dfe5d5;border-radius:20px;min-width:25px;height:25px;display:grid;place-items:center;font-weight:500;flex-shrink:0}
.feature-group summary>svg{width:18px;height:18px;margin-left:auto;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .2s}
.feature-group[open] summary>svg{transform:rotate(45deg)}
.feature-list{list-style:none;padding:0 17px;margin:0}
.feature-item{display:flex;align-items:flex-start;gap:10px;padding:17px 0;border-bottom:1px solid #d9dfcf;min-width:0}
.feature-item:last-child{border-bottom:0}
.feature-symbol{display:grid;place-items:center;width:24px;height:24px;color:#55713d;flex:0 0 24px;margin-top:1px}
.feature-symbol svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.feature-item>div{min-width:0}
.feature-item strong{font-family:var(--heading);font-size:16px;line-height:1.35;letter-spacing:-.025em;display:block;font-weight:650;overflow-wrap:anywhere}
.feature-item p{font-size:15px;line-height:1.45;color:#56644a;margin-top:5px;max-width:29ch}
.configuration-note{font-size:15px;color:#56644a;line-height:1.5;margin-top:19px;max-width:66ch}
.personas{background:#eeefe7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.persona-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.persona-card{background:var(--paper);padding:28px 26px;border:1px solid #d3d9c9;border-radius:8px;min-width:0}
.persona-card h3{font-size:23px;font-weight:600;line-height:1.25;min-height:58px;text-wrap:balance}
.persona-card dl{margin:25px 0 0;display:grid;gap:0}
.persona-card dt{font-size:14px;line-height:1.5;font-weight:650;color:#3f4d32;margin:21px 0 6px}
.persona-card dt:first-child{margin-top:0}
.persona-card dd{font-size:16px;line-height:1.55;color:#59634f;margin:0;max-width:38ch}
.roles{padding-top:75px;padding-bottom:75px;grid-template-columns:.95fr 1.1fr;gap:35px 65px;align-items:start}
.roles h2{margin-top:0}
.roles-copy>p{max-width:40ch;margin:17px 0 0}
.roles-copy>.text-link{margin-top:18px;font-size:16px}
.roles .section-cta{margin-top:0}
.role-tabs{padding:6px}
.role-tabs button{font-size:14px;min-height:47px;padding:8px 5px;color:#4d5d3f}
.role-tabs [aria-selected=true]{color:#24321b}
.role-panel{padding:23px}
.role-person{margin-bottom:17px;gap:11px}
.role-person h3{font-size:21px}
.role-person .tiny{font-size:9px;line-height:1.5;letter-spacing:.3px;color:#5f6f4e}
.role-status{font-size:9px;line-height:1.4;letter-spacing:.3px;color:#4f653e;padding:6px;max-width:85px}
.permission{font-size:16px;color:#4d5e3f;line-height:1.45;padding:13px 0}
.permission>span:last-child{font-size:12px;line-height:1.4;white-space:nowrap;color:#45612c;padding:4px 7px}
.permission .restricted{color:#66705d!important;background:#f0f2ec!important}
.role-note{font-size:14px;color:#5c6a4c;line-height:1.5;padding-top:15px}
.roles-demo+.mockup-caption{grid-column:2;margin-top:-20px}
.roles-demo .mockup-caption{padding:0 20px 18px;margin-top:0}
.approach{border-top:1px solid var(--line);padding-top:68px;padding-bottom:70px}
.approach-intro{display:block}
.approach h2{font-size:clamp(34px,3.25vw,49px)}
.approach-intro>p{max-width:65ch;margin-top:16px;padding:0}
.approach-steps{list-style:none;counter-reset:setup;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0;margin:36px 0 0}
.approach-steps>li{counter-increment:setup;border-top:1px solid #c5cdb8;padding:22px 0 0}
.approach-steps>li:before{content:counter(setup);display:grid;place-items:center;width:32px;height:32px;font-size:15px;color:#4d633b;background:#e6eadc;border:1px solid #ced7be;border-radius:50%;font-weight:600;margin-bottom:19px}
.approach-steps h3{font-size:23px;font-weight:600;line-height:1.3;margin:0 0 12px}
.approach-steps p{font-size:16px;line-height:1.55;max-width:35ch;color:#59634f}
.faq{grid-template-columns:.8fr 1.2fr;gap:32px 65px;padding-top:67px;padding-bottom:67px}
.faq h2{margin:0;font-size:clamp(34px,3.25vw,49px)}
.faq-intro>p{max-width:31ch}
.faq-list summary{font-size:17px;line-height:1.4;min-height:64px;padding:20px 0;gap:15px;font-weight:500}
.faq-list summary>span:last-child{font-size:25px;color:#60734a;flex-shrink:0}
.faq-list details p{font-size:16px;line-height:1.55;max-width:65ch;padding:0 18px 22px 0;color:#59634f}
.faq-list details .button{margin:0 0 24px;min-height:46px;font-size:15px}
.faq .section-cta{margin-top:0}
.contact{padding-top:76px;padding-bottom:76px;grid-template-columns:1fr 1fr;gap:65px;background:#e9ece1}
.contact h2{font-size:clamp(35px,3.5vw,51px);margin-top:0}
.contact-copy>p{font-size:17px;line-height:1.55;color:#56634a;max-width:40ch;margin-top:18px}
.trust-list{list-style:none;padding:0;margin:27px 0 0;display:grid;gap:14px;max-width:40ch}
.trust-list li{font-size:16px;color:#4b5f3b;line-height:1.45;display:flex;align-items:flex-start;gap:10px}
.trust-list svg{height:19px;width:19px;flex:0 0 19px;margin-top:2px;fill:none;stroke:#55713d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-studio{margin-top:35px;gap:20px}
.contact-studio .paradox-word{min-height:44px;display:inline-flex;align-items:center}
.contact-studio>span:last-child{font-size:10px;letter-spacing:.5px;line-height:1.5;color:#5e6b51;padding-left:20px}
.direct-contact{font-size:15px;line-height:1.5;gap:12px;flex-wrap:wrap;color:#536348;margin-top:24px;padding-top:15px}
.direct-contact a{font-size:16px;min-height:44px;display:inline-flex;align-items:center;color:#354e25;white-space:nowrap}
#enquiry-form{padding:26px 28px;border:1px solid #cbd5bd;border-radius:9px;background:#f5f7ef;box-shadow:0 12px 28px #27391a06}
.form-top{margin-bottom:13px;display:block}
.form-top h3{font-size:25px;line-height:1.25;font-weight:600;letter-spacing:-.035em}
#enquiry-form>.form-intro,#enquiry-form>.form-top+p{font-size:16px;line-height:1.5;color:#5b684e;margin:0 0 24px;max-width:42ch}
.form-row{gap:22px}
form label{font-size:15px;color:#405331;line-height:1.45}
form label>span small,form label small{font-size:13px;color:#607050;white-space:nowrap}
input,select{font-size:16px;line-height:1.4;min-height:48px;margin:5px 0 23px;padding:11px 0;color:#283b1b;border-bottom-color:#a5b592}
input::placeholder{font-size:15px;color:#6a7c59}
select{font-size:16px}
fieldset.need-options{border:0;padding:0;margin:0 0 22px;min-width:0}
.need-options legend{font-size:15px;font-weight:500;color:#405331;padding:0;line-height:1.4}
.chip-hint{font-size:14px;color:#5e6f50;line-height:1.45;margin:6px 0 11px}
.need-chips{display:flex;flex-wrap:wrap;gap:9px}
.need-chips label{position:relative;display:block;min-width:0;cursor:pointer;color:#465c35}
.need-chips input{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:0;opacity:0;overflow:hidden}
.need-chips label>span{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:500;line-height:1.35;min-height:44px;border:1px solid #b6c5a5;border-radius:5px;padding:10px 12px;background:#fafbf6;transition:background .15s,border-color .15s,color .15s}
.need-chips label>span>svg{height:15px;width:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:none}
.need-chips input:checked+span{background:#e4ecd9;border-color:#597743;color:#253e16;box-shadow:inset 0 0 0 1px #597743}
.need-chips input:checked+span>svg{display:block}
.need-chips input:focus-visible+span{outline:3px solid var(--accent-ink);outline-offset:3px}
.form-submit{min-height:56px;font-size:16px;gap:12px;background:#ff5b2b;color:#1c1d1a;border-color:#ff5b2b;padding:10px 18px}
.form-submit:hover{background:#ff734c;border-color:#ff734c}
.form-reassurance,.form-disclosure{font-size:14px;line-height:1.5;color:#4d613e;margin-top:12px;max-width:48ch}
.form-reassurance{text-align:center;font-weight:500}
#form-status{font-size:15px;line-height:1.5;color:#405b2c;padding-top:9px}
.mobile-contact-bar{display:none}
footer{padding-top:32px}
.footer-top{padding-bottom:23px}
.footer-top>p{font-size:15px;line-height:1.5;color:#56634a;max-width:45ch}
.back-top{font-size:14px;min-height:44px;align-items:center}
.footer-bottom{font-size:12px;color:#5b694f;padding-top:13px;line-height:1.5}
.privacy-link{font-size:14px;min-height:44px;color:#465b35;padding:10px 0}
.dialog-close{width:44px;height:44px;display:grid;place-items:center;right:8px;top:7px;color:#50643f}
dialog p{font-size:16px;line-height:1.6;color:#536447}
.noscript-note{font-size:16px;line-height:1.55}

@media(min-width:801px){
  .feature-group summary{cursor:default}
  .feature-group summary>svg{display:none}
  .feature-group:not([open])>.feature-list{display:block}
  .feature-group:nth-child(4){grid-column:span 2}
  .feature-group:nth-child(4) .feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
  .feature-group:nth-child(4) .feature-item:nth-last-child(-n+2){border-bottom:0}
}
@media(min-width:801px) and (max-width:1199px){
  .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .feature-group:nth-child(4){grid-column:span 2}
  .feature-group:nth-child(4) .feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
  .feature-group:nth-child(4) .feature-item:nth-last-child(-n+2){border-bottom:0}
  .feature-group summary{min-height:71px}
  .desktop-nav{gap:16px;font-size:13px}
  .header{padding-left:4%;padding-right:4%;gap:14px}
  .header .brand{font-size:19px}
  .header .brand-sub{font-size:6px}
  .header .button-small{font-size:13px;gap:10px;padding:0 13px}
  .header-actions{gap:8px}
  .tour-layout{gap:27px;grid-template-columns:.8fr 1.3fr}
  .tour-image-container{height:340px}
  .roles,.faq,.contact{gap:32px}
  .persona-card{padding:24px 20px}
  .persona-card h3{font-size:21px;min-height:79px}
  .contact{grid-template-columns:.9fr 1.1fr}
  #enquiry-form{padding:24px 21px}
}
@media(max-width:800px){
  html{scroll-padding-top:91px}
  body{padding-bottom:85px}
  .section{padding:53px 6%}
  h2,.walkthrough h2,.features h2,.roles h2,.approach h2,.faq h2,.contact h2{font-size:35px;line-height:1.16;letter-spacing:-.045em}
  h3{line-height:1.3}
  .section-heading{margin-bottom:27px}
  .section-heading>p,.walkthrough-heading>p,.roles-copy>p,.approach-intro>p,.faq-intro>p{font-size:16px;line-height:1.55;max-width:66ch;margin-top:14px}
  .header{height:76px;padding:0 5%;gap:12px}
  .header .brand{font-size:20px;gap:7px}
  .header .brand-sub{font-size:6px;letter-spacing:.5px;margin-top:5px}
  .brand-mark{width:30px;height:40px}
  .brand-mark svg{width:27px}
  .header-actions{gap:6px}
  .language{font-size:14px;padding:10px 6px;min-width:40px}
  .menu-toggle{width:44px;height:44px}
  .mobile-menu{top:76px;padding:8px 6% 19px}
  .hero{padding:0 6% 36px}
  .hero-title-wrap{margin-top:40px;max-width:660px}
  .hero h1{font-size:clamp(39px,6.7vw,57px);line-height:1.1;letter-spacing:-.052em}
  .hero-description{font-size:17px;line-height:1.5;max-width:58ch;margin-top:20px;padding:0;text-wrap:pretty}
  .hero-actions{gap:12px 20px;margin-top:22px}
  .hero-actions .button,.button{font-size:16px;min-height:52px;padding:0 18px;gap:24px}
  .hero-actions .text-link,.text-link{font-size:16px;min-height:44px;line-height:1.45;gap:8px}
  .play-circle{width:27px;height:27px;font-size:8px}
  .hero-reassurance{font-size:16px;line-height:1.5;margin-top:12px}
  .local-proof{font-size:16px;line-height:1.5;margin-top:22px;max-width:43ch;text-wrap:balance}
  .hero-benefits{font-size:16px;line-height:1.5;gap:8px 19px;margin-top:15px;max-width:44ch}
  .hero-benefits b{font-size:16px}
  .product-stage{padding:0;margin-top:29px;max-width:650px}
  .hero-screen{height:auto;max-height:365px}
  .browser-bar{height:29px;padding:0 10px}
  .browser-address{font-size:8px}
  .browser-state{display:none}
  .floating-payment{right:9px;top:57%;min-width:193px;padding:11px;gap:9px;transform:rotate(1.5deg)}
  .floating-payment>div>span:first-child{font-size:11px}
  .floating-payment strong{font-size:23px}
  .floating-payment strong small{font-size:10px}
  .floating-payment .tiny{font-size:9px}
  .floating-payment>div{gap:4px}
  .payment-check{width:26px;height:26px}
  .mockup-caption{font-size:13px;line-height:1.45;margin-top:14px}
  .comparison-table{font-size:16px;line-height:1.45}
  .comparison-table th{font-size:18px;padding:18px}
  .comparison-table td{padding:17px 18px}
  .walkthrough-heading{margin-bottom:27px}
  .walkthrough-heading>p{max-width:60ch;padding:0}
  .tour-layout{display:flex;flex-direction:column;gap:23px;align-items:stretch}
  .tour-steps{flex-direction:row;gap:16px}
  .tour-step{min-width:0;flex:1;padding:17px 0 0;gap:8px;min-height:66px}
  .tour-step .step-no{font-size:12px;line-height:1.4;padding-top:2px;flex-shrink:0}
  .tour-step h3{font-size:16px;line-height:1.4;letter-spacing:-.025em}
  .tour-step p{font-size:16px;line-height:1.5;margin-top:9px}
  .tour-image-container{height:365px}
  .tour-toolbar{height:36px;font-size:10px;padding:0 14px;letter-spacing:.4px}
  .tour-count{font-size:10px}
  .tour-controls{padding:6px 14px;min-height:58px;gap:13px}
  .tour-play{font-size:14px;min-height:44px;min-width:149px}
  .tour-duration{font-size:10px;letter-spacing:0}
  .tour-footer{display:block;margin-top:24px;padding-top:16px}
  .tour-footer>p{font-size:16px;max-width:60ch}
  .tour-footer .text-link{font-size:16px;max-width:none;margin-top:12px}
  .feature-grid{grid-template-columns:1fr;gap:12px}
  .feature-group summary{min-height:66px;padding:18px 19px;border-bottom:0;cursor:pointer;gap:12px}
  .feature-group[open] summary{border-bottom:1px solid #d6ddcb}
  .feature-group summary h3{font-size:20px;line-height:1.35}
  .feature-group summary>span{font-size:13px;line-height:1.4}
  .feature-group summary .feature-count,.feature-group summary .count{font-size:13px;width:27px;height:27px;min-width:27px;margin-left:auto}
  .feature-group summary>svg{margin-left:0}
  .feature-list{padding:0 19px}
  .feature-item{gap:12px;padding:16px 0}
  .feature-item strong{font-size:17px;line-height:1.35}
  .feature-item p{font-size:16px;line-height:1.45;margin-top:4px;max-width:45ch}
  .configuration-note{font-size:16px;line-height:1.5;margin-top:17px}
  .feature-symbol{width:25px;flex-basis:25px;height:25px;margin-top:0}
  .feature-symbol svg{width:22px;height:22px}
  .section-cta{flex-direction:column;gap:13px;margin-top:27px;align-items:stretch}
  .section-cta>.button{align-self:center}
  .section-cta>p{font-size:16px;max-width:48ch;text-align:center;align-self:center}
  .persona-grid{grid-template-columns:1fr;gap:15px}
  .persona-card{padding:25px;border-radius:8px}
  .persona-card h3{font-size:24px;min-height:0;max-width:30ch;text-wrap:balance}
  .persona-card dl{margin-top:23px}
  .persona-card dt{font-size:16px;margin-top:20px;line-height:1.4}
  .persona-card dd{font-size:16px;max-width:64ch;line-height:1.5}
  .roles{grid-template-columns:1fr;gap:29px;align-items:start}
  .roles-copy>p{font-size:16px;max-width:58ch;margin:15px 0 0}
  .roles-copy>.text-link{font-size:16px;margin-top:14px}
  .roles-demo{max-width:none}
  .roles-demo+.mockup-caption{grid-column:1;margin-top:-15px}
  .roles .section-cta{margin-top:0}
  .role-tabs{padding:5px;gap:2px}
  .role-tabs button{font-size:14px;min-height:48px;padding:9px 2px;line-height:1.35}
  .role-panel{padding:21px}
  .role-person{gap:10px;margin-bottom:16px}
  .role-person h3{font-size:21px;margin-top:3px}
  .role-person .tiny{font-size:9px;letter-spacing:.2px}
  .role-status{font-size:9px;line-height:1.4;letter-spacing:0;padding:5px;max-width:73px}
  .permission{font-size:16px;line-height:1.45;padding:14px 0;gap:12px}
  .permission>span:last-child{font-size:13px;line-height:1.4;padding:4px 6px;white-space:normal;text-align:center;flex-shrink:0;max-width:105px}
  .role-note{font-size:16px;line-height:1.5;color:#59684c;padding-top:16px}
  .approach-intro{display:block}
  .approach-intro>p{font-size:16px;max-width:60ch;margin-top:14px}
  .approach-steps{grid-template-columns:1fr;gap:26px;margin-top:30px}
  .approach-steps>li{padding-top:20px}
  .approach-steps>li:before{margin-bottom:16px}
  .approach-steps h3{font-size:23px;line-height:1.3;margin:0 0 11px}
  .approach-steps p{font-size:16px;line-height:1.55;max-width:61ch}
  .faq{grid-template-columns:1fr;gap:28px}
  .faq-intro>p{max-width:60ch}
  .faq-list summary{font-size:17px;line-height:1.45;padding:19px 0;min-height:64px;gap:20px}
  .faq-list details p{font-size:16px;line-height:1.55;padding:0 8px 21px 0;max-width:60ch}
  .faq-list details .button{font-size:16px;min-height:48px;margin:0 0 22px}
  .faq .section-cta{margin-top:0}
  .contact{grid-template-columns:1fr;gap:28px;padding-top:53px;padding-bottom:53px}
  .contact-copy{display:contents}
  .contact-copy>h2{grid-row:1}
  .contact-copy>p{grid-row:2;font-size:17px;line-height:1.5;max-width:60ch;margin-top:-12px}
  .contact #enquiry-form{grid-row:3}
  .trust-list{grid-row:4;margin-top:0;gap:13px;max-width:60ch}
  .trust-list li{font-size:16px;line-height:1.45}
  .contact-studio{grid-row:5;margin-top:0;gap:18px}
  .contact-studio>span:last-child{font-size:10px;line-height:1.5;padding-left:18px;letter-spacing:.3px}
  .direct-contact{font-size:16px;line-height:1.45;flex-direction:row;align-items:center;gap:3px 18px}
  .direct-contact a{font-size:16px;min-height:44px}
  #enquiry-form{padding:25px 23px}
  .form-top{margin-bottom:12px}
  .form-top h3{font-size:26px}
  #enquiry-form>.form-intro,#enquiry-form>.form-top+p{font-size:16px;margin-bottom:23px;max-width:60ch}
  .form-row{grid-template-columns:1fr 1fr;gap:20px}
  form label{font-size:16px;line-height:1.4}
  form label>span small,form label small{font-size:14px}
  input,select{font-size:16px;line-height:1.4;min-height:48px;padding:11px 0;margin:6px 0 24px}
  input::placeholder{font-size:16px}
  .need-options legend{font-size:16px;line-height:1.5}
  .chip-hint{font-size:16px;line-height:1.45;margin:6px 0 12px}
  .need-chips{gap:9px}
  .need-chips label>span{font-size:16px;line-height:1.35;min-height:46px;padding:10px 12px}
  .need-chips label>span>svg{width:16px;height:16px;flex-shrink:0}
  .form-submit{font-size:16px;line-height:1.45;min-height:57px;padding:13px 15px;gap:10px}
  .form-submit>span:first-child{font-size:16px;font-weight:600;line-height:1.4;text-align:left}
  .form-reassurance,.form-disclosure{font-size:16px;line-height:1.45;margin-top:14px;max-width:60ch}
  .form-reassurance{text-align:center;font-weight:500}
  #form-status{font-size:16px;line-height:1.5}
  .mobile-contact-bar{display:grid;grid-template-columns:.82fr 1.18fr;gap:10px;position:fixed;bottom:0;left:0;right:0;padding:11px 5% max(11px,env(safe-area-inset-bottom));background:#f6f5f0f7;backdrop-filter:blur(12px);border-top:1px solid #ccd3c1;z-index:110;box-shadow:0 -5px 20px #263b180b}
  .mobile-contact-bar a{min-height:49px;min-width:0;font-size:16px;line-height:1.3;border-radius:5px;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:600;padding:10px 8px}
  .mobile-contact-bar .whatsapp-direct{background:#eef2e7;border:1px solid #b7c5a5;color:#2d4c1b}
  .mobile-contact-bar .whatsapp-direct>svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor}
  .mobile-contact-bar .button{font-size:16px;gap:8px;padding:10px 8px}
  .mobile-contact-bar .button>span:last-child{font-size:19px}
  footer{padding:28px 6% 22px}
  .footer-top{flex-wrap:wrap;gap:14px;padding-bottom:20px}
  .footer-top .brand{font-size:19px}
  .footer-top>p{font-size:16px;line-height:1.5;width:100%;order:3;max-width:60ch}
  .back-top{font-size:16px;margin-left:auto;gap:8px;min-height:44px}
  .footer-bottom{font-size:13px;gap:12px;line-height:1.5;flex-wrap:wrap;padding-top:12px}
  .footer-bottom>span:nth-child(2){font-size:13px;width:auto;order:0}
  .privacy-link{font-size:16px;min-height:44px;margin-left:auto}
  dialog{padding:39px 24px 27px}
  dialog h2{font-size:31px}
  dialog p{font-size:16px;line-height:1.6}
  .noscript-note{font-size:16px;line-height:1.5}
}
@media(max-width:540px){
  .hero-title-wrap{margin-top:34px}
  .hero h1{font-size:38px;line-height:1.12}
  .hero .title-line{display:block}
  .hero-description{font-size:16px;line-height:1.5;margin-top:18px}
  .hero-actions{flex-direction:column;gap:9px;margin-top:22px;align-items:stretch}
  .hero-actions .button{justify-content:center;font-size:16px;gap:25px;min-height:54px}
  .hero-actions .text-link{justify-content:center;font-size:16px;min-height:44px}
  .hero-benefits{justify-content:flex-start;gap:8px 16px;max-width:330px}
  .hero-benefits li,.hero-benefits>span{font-size:16px;line-height:1.4}
  .hero-reassurance{font-size:16px}
  .product-stage{margin-top:26px}
  .hero-screen{max-height:238px}
  .floating-payment{top:auto;bottom:9px;right:8px;min-width:188px;max-width:calc(100% - 16px);padding:10px 12px}
  .floating-payment>div>span:first-child{font-size:11px}
  .floating-payment strong{font-size:22px}
  .floating-payment .tiny{font-size:9px}
  .comparison-table th{font-size:17px;padding:17px 13px}
  .comparison-table td{font-size:16px;padding:17px 13px}
  .tour-steps{gap:11px}
  .tour-step{display:block;padding-top:14px;min-height:89px}
  .tour-step .step-no{display:block;font-size:12px;margin-bottom:8px;padding-top:0}
  .tour-step h3{font-size:16px;line-height:1.4;letter-spacing:-.03em}
  .tour-step p{display:none}
  .tour-image-container{height:275px}
  .tour-image-container.form-view{height:325px}
  .tour-image-container.receipt-view{height:345px;padding:14px}
  .tour-toolbar{font-size:9px;letter-spacing:.2px;padding:0 12px}
  .tour-count{font-size:10px}
  .tour-play{font-size:14px;min-width:142px;gap:8px}
  .tour-duration{font-size:9px}
  .tour-controls{gap:11px;padding:6px 12px}
  .persona-card{padding:24px 22px}
  .persona-card h3{font-size:23px}
  .role-tabs button{font-size:13px;min-height:47px}
  .role-panel{padding:20px 17px}
  .role-person{gap:9px}
  .role-person .tiny{font-size:8px}
  .role-person h3{font-size:19px}
  .role-person .avatar{width:36px;height:36px;flex-shrink:0}
  .role-status{max-width:61px;font-size:8px;padding:5px 4px}
  .permission{font-size:16px}
  .permission>span:last-child{font-size:12px;max-width:91px}
  .role-note{font-size:16px}
  #enquiry-form{padding:24px 18px}
  .form-row{grid-template-columns:1fr;gap:0}
  .form-top h3{font-size:24px}
  .need-chips label>span{font-size:16px;padding:10px 11px}
  .form-submit{padding:12px 13px}
  .form-reassurance{font-size:16px;line-height:1.55;text-wrap:balance}
  .direct-contact{display:block}
  .direct-contact>span{display:block}
  .contact-studio>span:last-child{font-size:9px}
  .mobile-contact-bar{gap:9px;padding-left:5%;padding-right:5%;grid-template-columns:.78fr 1.22fr}
  .mobile-contact-bar a,.mobile-contact-bar .button{font-size:15px}
  .mobile-contact-bar .button>span:first-child{font-size:15px}
  .footer-bottom{font-size:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover{transform:none}.feature-group summary>svg{transition:none}}
/* Keep mobile actions at the brief's minimum text and target sizes. */
@media(max-width:800px){
  .language{min-width:44px;min-height:44px}
  .mobile-contact-bar a,.mobile-contact-bar .button>span:first-child{font-size:16px}
  .mobile-contact-bar .button>span:last-child{display:none}
  .footer-top>p{font-size:16px}
}
.header{background:var(--paper);backdrop-filter:none}
#privacy-dialog p+p{margin-top:14px}

@media(max-width:800px){
  .role-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .role-tabs button{font-size:16px;min-height:48px}
  .permission>span:last-child{font-size:16px}
  .tour-play,.privacy-link{font-size:16px}
}
.feature-item p{font-size:16px}
@media(max-width:800px){.permission>span:last-child{white-space:nowrap;max-width:none}}
.back-top{color:#526044}
@media(min-width:801px) and (max-width:1199px){
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-group:nth-child(n+3){grid-column:1/-1}
  .feature-group:nth-child(n+3) .feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
}
.comparison-table td>svg{display:inline-block;width:18px;height:18px;vertical-align:-3px;margin-right:8px;flex-shrink:0}
@media(max-width:800px){.comparison-table td>svg{display:none}}
