/* Flow21: a normal long document. The visual engine has a local canvas, never a viewport shell. */
body[data-constructor=flow21]{background:#f7f8f4;overflow-x:clip;color:#293c31}
body[data-constructor=flow21] #main{display:block}
#project05.flow21{--a-ink:#293c31;--a-muted:#627263;--a-line:#dce4d8;--a-accent:#315b40;--c-border:#dce4d8;display:block;width:100%;height:auto;min-height:0;max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:visible;background:#f7f8f4;color:var(--a-ink);font:16px/1.6 Inter,system-ui,sans-serif}
#project05.flow21 button,#project05.flow21 summary{font:inherit;cursor:pointer}
#project05.flow21 button{min-height:44px;border-radius:12px;font-size:14px;padding:11px 15px;color:var(--a-ink);border:1px solid var(--a-line);background:#fff}
#project05.flow21 button:hover{background:#f0f5ed;border-color:#aec5ac}
#project05.flow21 :is(button,a,summary,input,textarea):focus-visible{outline:3px solid #719b82;outline-offset:3px}
#project05.flow21 button[aria-pressed=true]{color:#234d33;border-color:#a9c7ab;background:#e8f0e5}
#project05.flow21 button:disabled{opacity:.5;cursor:default}
#project05.flow21 a{color:#315b40;text-underline-offset:4px}
#project05.flow21 h1,#project05.flow21 h2,#project05.flow21 h3,#project05.flow21 h4{letter-spacing:-.025em;line-height:1.2;color:#283e30}
#project05.flow21 p{max-width:76ch;line-height:1.65}
#project05.flow21 .f21-header{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:14px max(24px,calc((100% - 1320px)/2));background:#fffffffa;border-bottom:1px solid var(--a-line);backdrop-filter:blur(12px)}
.f21-brand{display:flex;align-items:center;gap:15px;flex:none}.f21-brand>div{display:grid;gap:2px}.f21-brand strong{font-size:15px}.f21-brand small{font-size:12px;color:#6d7b6d}
.f21-brand .brand-mark{width:22px;height:22px}
.f21-nav{display:flex;align-items:center;gap:7px;flex-wrap:nowrap}
#project05.flow21 .f21-nav a{font-size:14px;white-space:nowrap;text-decoration:none;border-radius:11px;padding:11px 13px;border:1px solid transparent;line-height:1.4}
#project05.flow21 .f21-nav a[aria-current=location]{background:#eaf2e7;border-color:#c6d7c3;font-weight:600}
.f21-nav b{font-size:11px;font-weight:600;display:inline-block;min-width:20px;padding:1px 5px;margin-left:3px;background:#e4ece1;border-radius:20px;text-align:center}
#project05.flow21 .f21-site-link{font-size:13px;white-space:nowrap;padding:11px 14px;border:1px solid var(--a-line);border-radius:12px;text-decoration:none}
#project05.flow21 .f21-section{max-width:1280px;width:calc(100% - 64px);margin:0 auto;padding:65px 0;position:relative;scroll-margin-top:calc(var(--flow-header-height,76px) + 20px)}
#project05.flow21 .f21-section+.f21-section{border-top:1px solid #cfddca}
#project05.flow21 .f21-section-heading{margin:0 0 32px;max-width:880px}
#project05.flow21 .f21-section-heading h1{font-size:clamp(32px,3.8vw,50px);margin:12px 0 18px;font-weight:600}
#project05.flow21 .f21-section-heading h2{font-size:clamp(28px,3vw,40px);margin:12px 0 16px;font-weight:600}
#project05.flow21 .f21-section-heading p{color:#60715e;font-size:16px;margin:0;max-width:790px}
#project05.flow21 .f21-eyebrow{color:#6d8463;font-size:12px;letter-spacing:.085em;text-transform:uppercase}
#project05.flow21 .f21-chapter-next{display:flex;width:max-content;max-width:100%;align-items:center;gap:16px;margin-top:32px;padding:14px 18px;border:1px solid #c2d4bc;border-radius:12px;background:#edf4e8;text-decoration:none;font-size:15px}
#project05.flow21 .f21-overview-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:32px;align-items:start}
.f21-overview-figure{margin:0;border:1px solid #d9e2d3;border-radius:22px;overflow:hidden;background:#fff}.f21-picture{background:#edf0e8;aspect-ratio:1.7;overflow:hidden}.f21-picture img{display:block;width:100%;height:100%;object-fit:contain}
#project05.flow21 .f21-overview-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;background:#fff}.f21-overview-figure figcaption>div{display:flex;gap:6px}
#project05.flow21 #f21-overview-copy .c-eyebrow,#project05.flow21 #f21-overview-copy h4{display:none}
#project05.flow21 #f21-overview-copy .c-project>p{margin:0 0 20px;color:#61725e}
#project05.flow21 .c-room-strip{margin:20px 0;background:#fff;border-color:var(--a-line);border-radius:16px}
#project05.flow21 .c-room-strip button{border-radius:0;border:0;border-right:1px solid var(--a-line);min-height:115px;padding:14px 10px;justify-content:center;gap:6px}
#project05.flow21 .c-room-strip button:last-child{border:0}
#project05.flow21 .c-room-strip b{font-size:20px;color:#526f43}#project05.flow21 .c-room-strip span{font-size:12px;white-space:normal}#project05.flow21 .c-room-strip small{font-size:11px;color:#687e5e}
#project05.flow21 .c-project-actions{display:grid;gap:10px;margin:24px 0}
#project05.flow21 .c-primary{background:#325c40;border-color:#325c40;color:#fff}
#project05.flow21 .c-base-spec{border:1px solid var(--a-line);border-radius:14px;padding:0;background:#fff;overflow:hidden}
#project05.flow21 details>summary{display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;padding:15px 17px;font-size:14px;font-weight:500;min-height:48px;color:#345c3b}
#project05.flow21 details>summary::-webkit-details-marker{display:none}
#project05.flow21 details[open]>summary{border-bottom:1px solid var(--a-line)}
#project05.flow21 .c-base-spec>p,#project05.flow21 .c-base-spec>div{padding:12px 16px;margin:0;font-size:14px}
#project05.flow21 .c-base-row{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border:0;border-bottom:1px solid var(--a-line);border-radius:0;background:none}
#project05.flow21 .c-base-row small{display:block;color:#6a7964;line-height:1.5}#project05.flow21 .c-base-row b{font-size:11px;font-weight:500;color:#697d61;max-width:130px}
#project05.flow21 .c-image-note{font-size:13px!important;border:0;margin-top:20px!important;color:#6d7c66!important}
#project05.flow21 .f21-room-details,#project05.flow21 .f21-config-jump,#project05.flow21 .f21-systems-fold{border:1px solid var(--a-line);border-radius:14px;background:#fff;margin:24px 0}
#project05.flow21 .architecture-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:22px;width:auto;max-width:none;gap:24px}
#project05.flow21 .architecture-rooms article{padding:0;border:0}#project05.flow21 .architecture-rooms h3{font-size:22px}#project05.flow21 .architecture-rooms p{font-size:14px}
/* A permanent menu above a permanent inspection region. Neither is replaced on a node click. */
#project05.flow21 .a-navigation{display:block!important;padding:0;margin:0;border:0;background:transparent}
#project05.flow21 .p5a-menu-heading{display:none}
#project05.flow21 #a-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
#project05.flow21 #a-groups button{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:68px;padding:10px 13px;font-size:15px;border-radius:14px}
#project05.flow21 #a-groups button img{display:block;width:47px;height:44px;object-fit:contain;border-radius:7px}
#project05.flow21 #a-groups button span{display:block;font-size:14px;white-space:normal;flex:1;color:inherit}
#project05.flow21 #a-groups button>b{display:none}
#project05.flow21 .p5a-system-links{display:block!important;padding:16px;margin:0}
#project05.flow21 .p5a-system-links>span{display:none}.p5a-system-links nav{display:flex;flex-wrap:wrap;gap:10px}
#project05.flow21 .f21-context{display:flex;align-items:center;gap:20px;padding:20px 0;border-top:1px solid #dae3d5;margin-top:22px;min-height:126px;scroll-margin-top:calc(var(--flow-header-height,76px) + 24px)}
#project05.flow21 .f21-location{flex:1}.f21-location>span{font-size:12px;color:#698160}.f21-location h3{font-size:23px;margin:7px 0;max-width:560px}
#project05.flow21 .f21-back-to-choice{font-size:13px}
#project05.flow21 .a-breadcrumb{display:block;border:0;background:none;padding:0;min-height:0}
#project05.flow21 .a-breadcrumb #a-view-title,#project05.flow21 .a-view-type{display:none}
#project05.flow21 #a-context{display:block!important;position:relative;left:auto;bottom:auto;flex:none;width:132px;height:85px;border-radius:10px;box-shadow:none;padding:0;min-height:0;z-index:0}
#project05.flow21 #a-context img{object-fit:contain;background:#eaf0e4}.a-context-caption{font-size:10px}
#project05.flow21 .p5a-controls{display:flex!important;justify-content:flex-start;align-items:center;gap:12px;min-height:0;max-height:none;margin:0 0 20px;padding:0;background:transparent;flex:none}
#project05.flow21 .p5a-modes{display:flex;gap:7px;padding:0;background:none;flex-wrap:wrap;max-width:none;width:auto}
#project05.flow21 .p5a-modes button{font-size:13px;line-height:1.4;min-height:44px;padding:11px 15px;background:#fff}
#project05.flow21 #a-reset{display:none}
#project05.flow21 .p5a-workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);align-items:start;gap:30px;min-height:0;height:auto;flex:none}
#project05.flow21 .p5a-visual{display:flex;flex-direction:column;position:relative;top:auto;height:auto!important;min-height:0!important;max-height:none;flex:none;min-width:0;border:1px solid var(--a-line);border-radius:20px;overflow:hidden;background:#fff}
#project05.flow21 .p5a-stage{height:460px;min-height:0;flex:none;position:relative;overflow:clip;background:#f2f3ec}
#project05.flow21 .p5a-panel{display:block!important;height:auto;min-height:0;max-height:none;border:0;overflow:visible;background:none;min-width:0;flex:none}
#project05.flow21 #a-panel-scroll{display:block!important;height:auto;max-height:none;min-height:0;overflow:visible!important;padding:0;flex:none}
#project05.flow21 .p5a-panel-body>.p5a-detail{display:none}
#project05.flow21 #a-intro h3{font-size:26px;margin:0 0 20px}#project05.flow21 #a-intro p{font-size:16px;color:#64715f}
#project05.flow21 #a-intro .f21-muted{font-size:13px;color:#75816e}
#project05.flow21 .p5a-study-copy{max-height:none;overflow:visible;padding:0;border:0}
#project05.flow21 .p5a-study-copy h5{font-size:25px;margin:22px 0 14px}#project05.flow21 .p5a-study-copy p{font-size:16px;line-height:1.7;color:#566d56}
#project05.flow21 .p5a-study-purpose{background:#edf3e8;border:0;border-radius:12px;padding:17px;margin:20px 0}
#project05.flow21 .p5a-study-purpose b{font-size:14px}.flow21 .a-study-look{margin:24px 0}.flow21 .a-study-look h6{font-size:14px}.flow21 .p5a-study-copy>small{font-size:12px;line-height:1.65;color:#6b7c65}
#project05.flow21 #a-study-location{font-size:14px!important;border-top:1px solid var(--a-line);padding-top:18px}
#project05.flow21 #a-components{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px;max-height:none;overflow:visible}
#project05.flow21:not([data-view=study]) #a-components{display:none}
#project05.flow21 #a-components button{font-size:13px;padding:10px 12px;min-height:44px}
#project05.flow21 .f21-study-tools{display:none;padding:14px;background:#fff;border-top:1px solid var(--a-line)}
#project05.flow21[data-view=study] .f21-study-tools{display:block}
#project05.flow21 .p5a-study-controls{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
#project05.flow21 .p5a-study-controls button{font-size:13px;min-height:44px;padding:10px 12px}
#project05.flow21 #a-study-switches{display:flex;flex-wrap:wrap;gap:7px;padding:14px 0;max-height:none}
#project05.flow21 #a-study-switches label,#project05.flow21 #a-study-switches button{font-size:13px;line-height:1.45;padding:10px;min-height:44px;display:flex;gap:8px;align-items:center;border:1px solid var(--a-line);background:#fff;border-radius:10px}
#project05.flow21 #a-study-switches input{width:18px;height:18px;accent-color:#466c43}
#project05.flow21 .p5a-study-label{font-size:13px!important;line-height:1.35!important;padding:9px 10px!important;min-height:38px!important;background:#fff!important;border-color:#d0dcc7!important;box-shadow:0 2px 8px #32433010;border-radius:11px}
#project05.flow21 .p5a-study-label.is-active{background:#e8f1e1!important;border-color:#88aa79!important}
#project05.flow21 .g-mobile-explanation{display:none!important}
#project05.flow21 #g-stage-panel{padding:0}#project05.flow21 #g-stage-panel p{font-size:16px;color:#5c7159}
#project05.flow21 #a-timeline{padding:16px;gap:10px;min-height:80px;background:#fff;flex:none}
#project05.flow21 #a-timeline button{min-width:44px;font-size:13px!important}
#project05.flow21 #a-timeline [data-a-step=next]::after{display:none}
#project05.flow21 #a-timeline input{width:100%;accent-color:#477344}
#project05.flow21 #a-timeline label{font-size:13px;line-height:1.4}
#project05.flow21 .g-photo-launch{font-size:14px;padding:12px 14px;border-radius:12px;margin:18px 0}
#project05.flow21 .f21-variants,#project05.flow21 .f21-wishes{border:1px solid var(--a-line);border-radius:13px;background:#fff;margin:22px 0;overflow:hidden}
#project05.flow21 .f21-variants>p,#project05.flow21 .f21-variants .v-study-choices{padding:16px;margin:0;border:0}
#project05.flow21 .f21-variants>p{font-size:13px}
#project05.flow21 .f21-wishes #a-wishes{display:block;padding:16px}
#project05.flow21 .c-related-config{font-size:14px!important;background:#eaf1e4!important;border-color:#c1d6b8!important;border-radius:12px;margin:24px 0 0;min-height:48px}
#project05.flow21 .s-right{padding:0;border:0;max-height:none;overflow:visible}
#project05.flow21:not([data-view=system]) .s-right{display:none}
#project05.flow21 .s-right p{font-size:16px;line-height:1.65}
#project05.flow21 #s-tabs{flex-wrap:wrap;padding:9px;gap:6px}
#project05.flow21 #s-tabs button{min-height:44px;font-size:13px!important;padding:10px!important}
#project05.flow21 #a-system-view .s-navigation{padding:10px;gap:8px;flex-wrap:wrap}
#project05.flow21 #s-motion{display:block;min-height:44px;font-size:12px}
#project05.flow21 .s-steps button,#project05.flow21 .s-variants button{font-size:13px;min-height:44px}
#project05.flow21 .s-composition{font-size:14px}
#project05.flow21 .f21-more-materials{display:block;width:100%;max-width:none;border:1px solid var(--a-line);border-radius:16px;background:#fff;padding:0;margin:30px 0}
#project05.flow21 .f21-more-materials .architecture-material-heading,#project05.flow21 .f21-more-materials .architecture-material-grid{padding:20px}
#project05.flow21 .f21-more-materials h2{font-size:27px}#project05.flow21 .architecture-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
#project05.flow21 .architecture-material-grid button{display:block;width:100%;padding:0;overflow:hidden;text-align:left}
#project05.flow21 .architecture-material-grid img{width:100%;height:200px;object-fit:contain}.flow21 .architecture-material-grid button>span,.flow21 .architecture-material-grid button>small{display:block;margin:14px}
#project05.flow21 .f21-full3d{max-width:none;margin:30px 0;border:1px solid var(--a-line);border-radius:16px;background:#fff}
/* All seven material sections coexist. No menu, viewport, or route state hides any of them. */
#project05.flow21 .f21-config-jump nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px}
#project05.flow21 .f21-config-jump a{font-size:14px;padding:10px 12px;text-decoration:none;background:#f3f6ef;border-radius:9px}
#project05.flow21 .f21-config-group{display:block;position:relative;padding:35px 0 48px;margin:0;border-bottom:1px solid #d7e1d1;scroll-margin-top:calc(var(--flow-header-height,76px) + 20px)}
#project05.flow21 .f21-group-heading{display:flex;justify-content:space-between;gap:30px;margin-bottom:24px}
#project05.flow21 .f21-group-heading h3{font-size:29px;margin:10px 0 12px;font-weight:600}#project05.flow21 .f21-group-heading p{font-size:15px;color:#63755d;margin:0}
#project05.flow21 .c-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px}
#project05.flow21 .c-option{display:block;min-width:0;height:auto;overflow:hidden;border:1px solid #d7e1d0;background:#fff;border-radius:20px;box-shadow:none;scroll-margin-top:calc(var(--flow-header-height,76px) + 20px)}
#project05.flow21 .c-option.is-selected{border-color:#63885c;box-shadow:inset 0 0 0 1px #63885c;background:#f8fbf5}
#project05.flow21 .c-option-main{display:block;min-height:0}
#project05.flow21 .c-option-image{width:100%;height:180px;min-height:0;display:block;position:relative;padding:0!important;border:0!important;border-radius:0!important;background:#f4f3ed!important}
#project05.flow21 .c-option-image img{width:100%;height:100%;max-height:none;object-fit:contain;aspect-ratio:auto;background:#f5f3ec}
#project05.flow21 .c-option-image span{right:10px;left:auto;bottom:10px;font-size:12px;padding:5px 9px;border-radius:7px;background:#ffffffef;color:#557848}
#project05.flow21 .c-option-select{display:flex;width:100%;flex-direction:column;gap:7px;justify-content:flex-start;align-items:flex-start;min-height:150px;padding:20px 42px 18px 18px!important;border:0!important;border-radius:0!important;background:transparent!important;text-align:left}
#project05.flow21 .c-option-select small{font-size:12px;color:#6a7c61}.flow21 .c-option-select strong{font-size:19px;font-weight:600;line-height:1.35}.flow21 .c-option-select>b{font-size:19px;color:#2c4d31}
#project05.flow21 .d20-choice-label{font-size:14px;font-weight:600;color:#315f36;margin-top:6px}
#project05.flow21 .c-check{width:24px;height:24px;line-height:22px;right:15px;top:18px;border-color:#abc6a1;color:#517442}.flow21 .is-selected .c-check{background:#466a39;color:#fff}
#project05.flow21 .c-option>p{font-size:14px;line-height:1.6;margin:0;padding:16px 18px;border-top:1px solid var(--a-line);color:#617459}
#project05.flow21 .c-asset-note{padding:0 18px 14px;border:0;color:#6b7d61;font-size:12px}
#project05.flow21 .f21-option-details{border-top:1px solid var(--a-line);background:#fbfcf8}
#project05.flow21 .f21-option-details>div{padding:18px}
#project05.flow21 .f21-option-details h4{font-size:19px;margin:0 0 18px}
#project05.flow21 .f21-option-details img{display:block;width:100%;height:auto;object-fit:contain;border-radius:10px}
#project05.flow21 .f21-option-details p{font-size:14px;margin:18px 0}
#project05.flow21 .f21-option-details small{display:block;font-size:12px;color:#728567;line-height:1.6}
#project05.flow21 .f21-explicit-link{display:block;font-size:13px;text-align:left;width:100%;padding:12px;margin-top:20px;background:#eff5e9;border:1px solid #cedfc2;border-radius:10px}
#project05.flow21 .f21-group-next{display:flex;justify-content:space-between;gap:20px;margin-top:26px;padding:15px 0;font-size:14px;line-height:1.6;color:#738266}
#project05.flow21 .f21-group-next a{flex:none;font-size:14px;font-weight:500}
#project05.flow21 .m-compare-launch{margin-top:24px;border-radius:12px;min-height:48px;background:#edf3e5;font-size:14px}
#project05.flow21 .c-measure{background:#edf4e7;border-color:var(--a-line);padding:16px}
#project05.flow21 .c-measure input{font-size:16px;min-height:48px;width:140px;border:1px solid #abc89b;border-radius:10px;padding:10px}
#project05.flow21 .c-measure label{font-size:14px}#project05.flow21 .c-measure small{font-size:12px;color:#627b50}
#project05.flow21 .f21-inline-description{display:block;grid-column:1/-1;background:#f1f6eb;border:1px solid #c8dcbb;border-radius:14px;padding:20px;margin:15px 0;max-width:100%;width:100%;box-sizing:border-box}
#project05.flow21 .f21-inline-description h4{font-size:22px;margin:0 0 16px}#project05.flow21 .f21-inline-description img{display:block;max-width:100%;height:auto;max-height:330px;object-fit:contain;margin:0 auto}#project05.flow21 .f21-inline-description p{font-size:14px}
/* Summary is another normal section, not a fixed overlay. */
#project05.flow21 .f21-estimate{max-width:960px;margin:0 auto}
#project05.flow21 .c-estimate{padding:26px;border:1px solid var(--a-line);border-radius:20px;background:#fff}
#project05.flow21 .c-estimate-lines{margin-bottom:25px}
#project05.flow21 .c-estimate-line{font-size:16px;padding:20px 0}
#project05.flow21 .c-estimate-line>button{font-size:16px;min-height:64px;background:none;border:0}
#project05.flow21 .c-estimate-line strong{font-size:17px}.flow21 .c-estimate-line small{font-size:12px}
#project05.flow21 .c-estimate-line>div button{font-size:13px;padding:10px 12px;min-height:44px}
#project05.flow21 .c-estimate-base{margin:22px 0}.flow21 .c-estimate-base strong{font-size:16px}
#project05.flow21 .c-estimate-total{margin:28px 0 14px}.flow21 .c-estimate-total strong{font-size:27px;color:#305a35}
#project05.flow21 .c-estimate-limit{font-size:14px;line-height:1.65;color:#63745a;border-left:3px solid #b7cba6;padding-left:15px;margin:20px 0}
#project05.flow21 .c-estimate-actions,#project05.flow21 .m-estimate-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}
#project05.flow21 .c-estimate-actions button,#project05.flow21 .m-estimate-tools button{font-size:14px;min-height:48px}
#project05.flow21 .c-reference-note{font-size:13px;color:#6c7e5f;line-height:1.7}
#project05.flow21 .c-footer{position:static;display:flex;justify-content:space-between;align-items:center;gap:26px;max-width:960px;margin:25px auto 0;padding:25px;background:#eef5e5;border:1px solid #cadaaa;border-radius:18px;min-height:0;width:100%;flex:none;box-sizing:border-box}
#project05.flow21 #c-cart,#project05.flow21 #c-selection-badge{display:none!important}
#project05.flow21 .c-price{grid-row:auto;min-width:0}.flow21 .c-price strong{font-size:26px}.flow21 .c-price small{font-size:12px;margin-top:8px}.flow21 .c-price>span{font-size:12px}
#project05.flow21 .c-footer #a-quote{font-size:15px;padding:14px 20px;min-height:50px;color:#fff;background:#355d3b;border-color:#355d3b;width:auto;margin:0;flex:none}
#project05.flow21 .m-tool-notice{max-width:1280px;margin:20px auto;padding:16px;border:1px solid #d7e2c6;border-radius:13px;background:#f2f6e8;font-size:14px}
#project05.flow21 .m-startup-fallback{position:relative;inset:auto;min-height:420px;border-radius:20px;max-width:1100px;margin:30px auto}
#project05.flow21 .m-expand{right:12px;top:12px;z-index:9;width:44px;height:44px;min-height:44px;padding:0}
#project05.flow21 .f21-focus-dialog{width:calc(100vw - 24px);height:calc(100svh - 24px);max-width:none;max-height:none;overflow:auto;padding:0;border:1px solid #c6d6bb;border-radius:18px;background:#f7f9f3;margin:auto}
#project05.flow21 .f21-focus-dialog::backdrop{background:#162c1dd9}
#project05.flow21 .f21-focus-dialog[open]{display:block}
#project05.flow21 .f21-focus-dialog .m-focus-header{position:sticky;top:0;z-index:20;padding:12px 18px;background:#fff}
#project05.flow21 .f21-focus-dialog .m-focus-slot{display:block;overflow:visible;padding:22px}
#project05.flow21 .f21-focus-dialog .p5a-workspace{display:grid;grid-template-columns:1.5fr 1fr;gap:26px}
#project05.flow21 .f21-focus-dialog .p5a-stage{height:550px}
#project05.flow21 .f21-focus-dialog[data-panel=false] .p5a-panel{display:none!important}
#project05.flow21 .f21-focus-dialog[data-panel=false] .p5a-workspace{display:block}
#project05.flow21 .f21-focus-dialog[data-panel=false] .p5a-stage{height:min(680px,75svh)}
#project05.flow21 .f21-focus-dialog .m-expand{display:none}
#project05.flow21 .f21-focus-dialog .p5a-visual{width:100%}
@media(max-width:1100px){
 #project05.flow21 .f21-header{flex-wrap:wrap;gap:10px;padding:12px 24px}.f21-nav{order:3;width:100%;justify-content:center}
 #project05.flow21 .f21-section{width:calc(100% - 48px);padding:48px 0}
 #project05.flow21 .f21-overview-grid{grid-template-columns:1fr 1fr;gap:24px}
 #project05.flow21 .p5a-workspace{grid-template-columns:minmax(0,1.15fr) minmax(280px,1fr);gap:23px}
 #project05.flow21 .p5a-stage{height:370px}
 #project05.flow21 .c-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:760px){
 #project05.flow21 .f21-header{padding:10px 15px 8px;gap:9px}.f21-brand{gap:12px}.f21-brand strong{font-size:14px}.f21-brand small{font-size:11px}
 #project05.flow21 .f21-site-link{font-size:12px;padding:10px 12px}
 #project05.flow21 .f21-nav{gap:3px;justify-content:space-between}
 #project05.flow21 .f21-nav a{padding:10px 8px;font-size:12px;white-space:normal;text-align:center;line-height:1.35;min-height:44px;display:flex;align-items:center;justify-content:center;gap:2px}
 #project05.flow21 .f21-section{width:calc(100% - 32px);padding:40px 0}
 #project05.flow21 .f21-section-heading{margin-bottom:26px}#project05.flow21 .f21-section-heading h1{font-size:32px}#project05.flow21 .f21-section-heading h2{font-size:29px}#project05.flow21 .f21-section-heading p{font-size:15px}
 #project05.flow21 .f21-overview-grid{display:block}.f21-overview-figure{margin-bottom:24px}#project05.flow21 .f21-overview-figure figcaption{padding:10px;gap:6px}#project05.flow21 .f21-overview-figure button{padding:10px;font-size:12px}
 #project05.flow21 .architecture-rooms{display:block;padding:18px}#project05.flow21 .architecture-rooms article{margin:20px 0;padding:0!important;border:0!important}
 #project05.flow21 #a-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#project05.flow21 #a-groups button{font-size:13px;min-height:62px;padding:9px;gap:8px}#project05.flow21 #a-groups button img{width:36px;height:38px}#project05.flow21 #a-groups button span{font-size:13px}
 #project05.flow21 .f21-context{gap:13px;flex-wrap:wrap;padding:18px 0;margin-top:18px;min-height:0}.f21-location h3{font-size:20px;margin:6px 0;line-height:1.3}#project05.flow21 .f21-location{min-width:150px}#project05.flow21 #a-context{width:90px;height:66px}.f21-location>span{font-size:11px}
 #project05.flow21 .a-breadcrumb{flex-basis:100%;width:100%}#project05.flow21 #a-home{width:100%;min-height:44px}
 #project05.flow21 .p5a-controls{margin-bottom:16px}.flow21 .p5a-modes{display:grid!important;grid-template-columns:1fr 1fr;width:100%!important;gap:7px!important}#project05.flow21 .p5a-modes button{font-size:12px;padding:10px;min-height:44px}
 #project05.flow21 .p5a-workspace{display:flex;flex-direction:column;gap:25px}#project05.flow21 .p5a-visual,#project05.flow21 .p5a-panel{width:100%;order:initial;height:auto!important;min-height:0!important}
 #project05.flow21 .p5a-stage{height:280px}
 #project05.flow21 .p5a-study-copy h5{font-size:24px}#project05.flow21 .p5a-study-copy p,#project05.flow21 .s-right p{font-size:15px}
 #project05.flow21 #a-timeline{display:flex;padding:12px;gap:7px;min-height:85px}#project05.flow21 #a-timeline [data-a-step=next]{font-size:0!important;width:44px;padding:8px}#project05.flow21 #a-timeline [data-a-step=next]::after{display:inline;content:'→';font-size:17px}
 #project05.flow21 .p5a-study-label{font-size:12px!important;max-width:210px!important}
 #project05.flow21 .architecture-material-grid{grid-template-columns:1fr;gap:16px}.flow21 .architecture-material-heading{display:block!important}.flow21 .architecture-material-heading h2{font-size:25px!important}
 #project05.flow21 .f21-config-jump nav{grid-template-columns:1fr;padding:14px}
 #project05.flow21 .f21-config-group{padding:25px 0 34px}#project05.flow21 .f21-group-heading h3{font-size:26px}
 #project05.flow21 .c-options{display:flex;flex-direction:column;gap:18px}#project05.flow21 .c-option{width:100%}
 #project05.flow21 .c-option-main{display:grid;grid-template-columns:32% minmax(0,1fr);min-height:175px}
 #project05.flow21 .c-option-image{height:100%;min-height:175px}#project05.flow21 .c-option-image img{object-fit:contain}#project05.flow21 .c-option-image span{font-size:10px;right:5px;bottom:7px;padding:5px}
 #project05.flow21 .c-option-select{padding:19px 33px 18px 14px!important;min-height:175px}.flow21 .c-option-select strong{font-size:17px}.flow21 .c-option-select>b{font-size:18px}.flow21 .c-option-select small{font-size:11px}#project05.flow21 .c-check{right:9px;width:21px;height:21px;line-height:19px}
 #project05.flow21 .f21-group-next{display:block;font-size:13px}.flow21 .f21-group-next a{display:block;margin-top:12px;white-space:normal}
 #project05.flow21 .c-estimate{padding:18px}.flow21 .c-estimate-line>div{margin-left:0!important;gap:8px!important}.flow21 .c-estimate-line strong{font-size:16px}.flow21 .c-estimate-line small{font-size:12px}
 #project05.flow21 .c-estimate-actions,#project05.flow21 .m-estimate-tools{grid-template-columns:1fr}
 #project05.flow21 .c-estimate-total{flex-wrap:wrap}.flow21 .c-estimate-base{flex-wrap:wrap}
 #project05.flow21 .c-footer{display:block;position:static;padding:20px}.flow21 .c-price{display:block}#project05.flow21 .c-footer #a-quote{display:flex;justify-content:space-between;width:100%;margin-top:20px}
 #project05.flow21 .f21-focus-dialog{width:100vw;height:100svh;border:0;border-radius:0}.flow21 .f21-focus-dialog .m-focus-slot{padding:12px!important}#project05.flow21 .f21-focus-dialog .p5a-workspace{display:block}#project05.flow21 .f21-focus-dialog .p5a-panel{margin-top:25px}#project05.flow21 .f21-focus-dialog .p5a-stage{height:310px}
}
@media(prefers-reduced-motion:reduce){#project05.flow21 *{scroll-behavior:auto!important}}

#project05.flow21:is([data-view=overview],[data-view=outside]) #a-intro{display:block}
#project05.flow21:not([data-view=study]) .f21-wishes{display:none}

@media(max-width:760px){#project05.flow21 .f21-nav{display:grid;grid-template-columns:.75fr 1fr 1.3fr 1fr;width:100%;gap:2px}#project05.flow21 .f21-nav a{min-width:0;padding:9px 4px;gap:1px}}
@media(max-width:350px){#project05.flow21 .f21-nav a{font-size:11px}.f21-nav b{min-width:17px;padding:1px 4px;font-size:10px;margin-left:1px}.f21-brand strong{font-size:13px}#project05.flow21 .f21-site-link{font-size:11px;padding:10px}}

#project05.flow21 .f21-subparts>span{display:block;font-size:12px;color:#748667;margin:0 0 10px}
#project05.flow21:not([data-view=study]) .f21-subparts{display:none}

/* Split22: independent demonstration and calculator, both normal scrollable pages. */
#project05.flow21 .s22-header{gap:18px}
.s22-page-links{display:flex;align-items:center;gap:10px;flex:none}
#project05.flow21 .s22-other-page{display:inline-block;padding:10px 12px;border-radius:10px;border:1px solid #bbd0b4;text-decoration:none;font-size:13px;background:#eef4e8;white-space:nowrap}
#project05.flow21 .s22-overview-copy h2{font-size:28px;margin:4px 0 20px}
#project05.flow21 .s22-overview-copy p{font-size:17px;color:#60725c}
#project05.flow21 .s22-boundary{padding:28px;background:#fff;border:1px solid #cedcc7;border-radius:20px;margin-top:34px}
#project05.flow21 .s22-boundary h3{font-size:26px;margin:0 0 12px}
#project05.flow21 .s22-boundary a{display:inline-block;padding:12px 17px;background:#32593e;color:#fff;border-radius:12px;text-decoration:none;margin-top:12px}
#project05.flow21 .s22-material-index{display:flex;flex-wrap:wrap;gap:10px;padding:0 0 24px}
#project05.flow21 .s22-material-index a{padding:10px 15px;background:#fff;border:1px solid var(--a-line);border-radius:11px;text-decoration:none;font-size:14px}
#project05.flow21 .s22-material{padding:40px 0;border-top:1px solid var(--a-line);scroll-margin-top:calc(var(--flow-header-height,76px) + 20px)}
#project05.flow21 .s22-material>header{max-width:780px;margin:0 0 28px}
#project05.flow21 .s22-material h3{font-size:32px;margin:10px 0 14px}
#project05.flow21 .s22-material>header p{color:#60745a;font-size:16px;margin:0}
#project05.flow21 .s22-material-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:30px;align-items:start}
#project05.flow21 .s22-material-body>figure{margin:0;border:1px solid #d8e0d1;border-radius:20px;background:#f5f3ec;overflow:hidden}
#project05.flow21 .s22-material-body>figure>img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;display:block}
#project05.flow21 .s22-material figcaption{background:#fff;font-size:14px;padding:16px 20px;border-top:1px solid var(--a-line)}
#project05.flow21 .s22-sample-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
#project05.flow21 .s22-sample-buttons button{font-size:14px;min-height:48px}
#project05.flow21 [data-material-copy]{font-size:16px;color:#5c7056;margin:18px 0}
#project05.flow21 .s22-material-body>div>small{display:block;color:#6e7f67;font-size:13px;line-height:1.6}
#project05.flow21 .s22-sample-detail{border:1px solid var(--a-line);border-radius:14px;background:#fff;margin-top:26px;overflow:hidden}
#project05.flow21 .s22-sample-detail>img{width:100%;height:auto;max-height:370px;object-fit:contain;display:block}
#project05.flow21 .s22-sample-detail>p{padding:0 18px;font-size:14px}
#project05.flow21 .s22-sample-detail .f21-explicit-link{margin:18px;width:calc(100% - 36px)}
#project05.flow21 .s22-drain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
#project05.flow21 .s22-drain-grid>article{border:1px solid var(--a-line);border-radius:18px;background:#fff;overflow:hidden}
#project05.flow21 .s22-drain-grid img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;display:block;background:#f3f2eb}
#project05.flow21 .s22-drain-grid h4{font-size:23px;margin:18px}
#project05.flow21 .s22-drain-grid p{font-size:15px;padding:0 18px;color:#637459}
#project05.flow21 .s22-drain-grid details{border-top:1px solid var(--a-line)}
#project05.flow21 .s22-drain-grid .f21-explicit-link{margin:18px;width:calc(100% - 36px)}
#project05.flow21 .s22-room-info{margin-top:18px;padding-top:14px;border-top:1px solid var(--a-line)}
#project05.flow21 .s22-project-summary{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding:22px;border:1px solid var(--a-line);border-radius:16px;background:#fff;margin:0 0 28px}
#project05.flow21 .s22-project-summary>div{flex:1;min-width:220px}
#project05.flow21 .s22-project-summary strong{display:block;font-size:20px;margin-bottom:5px}
#project05.flow21 .s22-project-summary span{display:block;max-width:620px;color:#687a5f;font-size:14px;line-height:1.6}
#project05.flow21 .s22-project-summary>a{font-size:14px}
#project05.flow21.demo22 .f21-runtime-storage,#project05.flow21.calc22 .f21-runtime-storage{display:none!important}
@media(max-width:1100px){#project05.flow21 .s22-header .f21-nav{order:3;width:100%}.s22-page-links{margin-left:auto}}
@media(max-width:760px){
 #project05.flow21 .s22-header{gap:8px;padding:10px 15px 8px}
 #project05.flow21 .s22-header .f21-brand{flex:1}
 #project05.flow21 .s22-page-links{gap:5px}
 #project05.flow21 .s22-other-page{padding:9px 8px;font-size:11px;min-height:40px;display:flex;align-items:center}
 #project05.flow21 .s22-header .f21-site-link{font-size:11px;padding:9px 8px;min-height:40px}
 #project05.flow21.demo22 .f21-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
 #project05.flow21.calc22 .f21-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 #project05.flow21 .s22-material h3{font-size:27px}
 #project05.flow21 .s22-material-body{display:block}
 #project05.flow21 .s22-material-body>figure{margin-bottom:20px}
 #project05.flow21 .s22-material{padding:30px 0}
 #project05.flow21 .s22-sample-buttons{gap:8px}
 #project05.flow21 .s22-sample-buttons button{font-size:13px;flex:1 1 135px;text-align:left}
 #project05.flow21 .s22-drain-grid{grid-template-columns:1fr;gap:20px}
 #project05.flow21 .s22-boundary{padding:21px}
 #project05.flow21 .s22-boundary h3{font-size:24px}
 #project05.flow21 .s22-overview-copy h2{font-size:25px}
}
@media(max-width:760px){#project05.flow21 .s22-page-links .s22-other-page{display:none}#project05.flow21 .s22-header .f21-brand{min-width:0}}
