/* Hub-only composition adapters. Theme typography, palette and buttons remain native. */
#purpose .cross-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#included .tl2{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px}
#included .tl2::before{display:none}
#included .tl2 .s::before{content:'';position:absolute;top:26px;left:52px;right:-20px;border-top:1px solid var(--border)}
#included .tl2 .s:nth-child(4n)::before{display:none}
#included .tl2 svg{width:24px;height:24px}
:is(#sizes,#design,#compare,#roof,#foundation,#factory,#seo,#offer) .hr-heading{font-family:var(--font-head);font-size:clamp(25px,2.6vw,36px);line-height:1.2;color:var(--navy);margin:0 0 16px;font-weight:800}
.pss-landing .hr-accent{color:var(--amber)}
.pss-landing .hr-lead{color:var(--grey);font-size:16px;line-height:1.6;margin:0 0 30px;max-width:850px}
.pss-landing :is(#sizes,#compare,#foundation) .section > .container{background:var(--slate);border:1px solid var(--border);border-radius:var(--r);padding:40px}
#sizes .hr-szrow{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}
#sizes .hr-szrow h3{font-size:14px;margin:0;color:var(--navy)}
#sizes .hr-szl{display:flex;flex-wrap:wrap;gap:8px}
#sizes .hr-szl a{padding:8px 13px;border:1px solid var(--border);border-radius:var(--rs);background:var(--paper);color:var(--navy);font-size:13px;font-weight:700;text-decoration:none}
#sizes .hr-forms{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:16px}
#sizes .hr-forms+.hr-note{margin-top:20px}
#sizes .hr-form{display:flex;flex-direction:column;padding:14px;background:var(--paper);border:1px solid var(--border);border-radius:var(--rs);text-decoration:none;color:var(--navy);min-width:0}
#sizes .hr-form svg{width:100%;height:64px;margin-bottom:12px}
#sizes .hr-form span{font-size:12px;color:var(--grey);line-height:1.5;margin-top:8px}
#sizes .container>h3{margin-top:30px}
#design .hr-proj{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#design .hr-pj{display:flex;flex-direction:column;padding:22px;border:1px solid var(--border);border-radius:var(--r);background:var(--paper)}
#design .hr-ic{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--rs);background:var(--amber-soft);color:var(--amber);margin-bottom:14px}
#design .hr-ic svg{width:24px;height:24px}
#design .hr-pj h3{font-size:18px;margin:0 0 12px;color:var(--navy)}
#design .hr-pj p{color:var(--grey);font-size:14px;line-height:1.6;margin:0 0 18px}
#design .hr-pj .btn{margin-top:auto;align-self:flex-start}
#design .hr-docs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
#design .hr-docs span{background:var(--slate);border:1px solid var(--border);border-radius:var(--rs);padding:7px 12px;font-size:12px;font-weight:600}
#design .hr-docs b{color:var(--amber)}
#compare .hr-tbl{overflow-x:auto;border:1px solid var(--border);border-radius:var(--rs)}
#compare table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55}
#compare th,#compare td{text-align:left;padding:14px;vertical-align:top;border-bottom:1px solid var(--border)}
#compare thead{background:var(--border);color:var(--grey)}
#compare tbody{background:var(--paper)}
#compare tbody th{width:22%;color:var(--navy)}
#compare a{color:var(--navy);text-decoration:underline}
#compare .hr-note{text-align:center;color:var(--grey);font-size:14px;margin:24px auto 0;max-width:850px}
:is(#roof,#foundation) .hr-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:32px;align-items:center}
.pss-landing .hr-ph{aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;border-radius:var(--rs);background:var(--slate);border:1px solid var(--border);color:var(--grey);font-size:13px;min-width:0}
.pss-landing .hr-ph small{display:block;margin-top:8px;font-size:12px}
:is(#roof,#foundation) .hr-flist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
:is(#roof,#foundation) .hr-fl{padding:16px;border:1px solid var(--border);border-radius:var(--rs);background:var(--paper)}
:is(#roof,#foundation) .hr-fl b{color:var(--navy);font-size:16px}
:is(#roof,#foundation) .hr-fl p{color:var(--grey);font-size:14px;line-height:1.5;margin:6px 0 0}
#foundation .hr-split>div>p:last-child{font-size:14px;color:var(--grey);margin-top:18px}
#factory .hr-feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#factory .hr-fcard{padding:16px;border:1px solid var(--border);border-radius:var(--r)}
#factory .hr-ph{aspect-ratio:1000/560}
#factory .hr-lbl{display:inline-block;margin-top:12px;padding:3px 10px;border-radius:30px;background:var(--amber-soft);color:var(--amber);font-size:12px;font-weight:700}
#factory h3{font-size:19px;margin:14px 0;color:var(--navy)}
#factory .hr-fcard p{font-size:14px;color:var(--grey);line-height:1.6}
#factory .hr-note{text-align:center;margin-top:22px}
#seo .hr-seo{max-width:960px}
#seo .hr-seo-box{position:relative;max-height:510px;overflow:hidden;font-size:16px;line-height:1.7;color:var(--grey)}
#seo .hr-seo-box:not(.hr-expanded)::after{content:'';position:absolute;bottom:0;left:0;right:0;height:110px;background:linear-gradient(transparent,var(--paper));pointer-events:none}
#seo .hr-seo-box.hr-expanded{max-height:none}
#seo h2{font-family:var(--font-head);font-size:30px;line-height:1.25;color:var(--navy);margin:0 0 20px}
#seo h3{font-size:19px;color:var(--navy);margin:28px 0 14px}
#seo p{margin:0 0 20px}
#seo ul{padding-left:22px;list-style:disc}
#seo .btn{margin-top:12px}
#offer .hr-cta{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:42px;border-radius:var(--r);background:var(--navy);color:white;align-items:center}
#offer .hr-cta h2{font-family:var(--font-head);font-size:30px;line-height:1.25;margin:0 0 16px;color:white}
#offer .hr-cta p{color:#d2d8e3;font-size:16px;line-height:1.6;margin:0}
#offer form{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
#offer .hr-inp{width:100%;height:50px;padding:12px 15px;border:1px solid var(--border);border-radius:var(--rs);font:inherit;background:white;color:var(--navy);box-sizing:border-box}
#offer .hr-full{grid-column:1/-1}
#offer .hr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#offer .hr-drop{display:flex;align-items:center;gap:14px;padding:14px;border:1px dashed #7a849b;border-radius:var(--rs);cursor:pointer;font-size:12px;color:#d2d8e3}
#offer .hr-drop input{position:absolute;width:1px;height:1px;opacity:0}
#offer .hr-drop b{display:block;color:white;font-size:14px}
#offer .hr-pi{padding:10px;background:var(--amber-soft);color:var(--amber);border-radius:var(--rs)}
#offer .hr-agree{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#d2d8e3;margin-top:8px}
#offer .btn-primary{background:var(--amber);color:white;border:0;width:100%}
#offer #preview-form-result{font-size:13px;color:white}
.pss-landing .hr-swipe-hint{display:none}
#purpose .cross-btn{white-space:nowrap}
#purpose .cross-btn svg{flex-shrink:0}
@media(max-width:600px){
 #purpose .cross-body{padding:12px}
 #purpose .cross-btn{padding:0 6px;gap:6px;font-size:12px;min-width:0;box-sizing:border-box}
 #sizes .hr-szrow{min-width:0}
 #sizes .hr-szl,#design .hr-docs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;min-width:0;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding-bottom:10px}
 #sizes .hr-szl>a,#design .hr-docs>span{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
 #sizes .hr-szl>a{min-height:44px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
 #design .hr-docs>span{min-height:44px;display:flex;align-items:center;gap:4px;box-sizing:border-box}
 #sizes .hr-szl::-webkit-scrollbar,#design .hr-docs::-webkit-scrollbar{height:3px}
 #sizes .hr-szl::-webkit-scrollbar-thumb,#design .hr-docs::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
 .pss-landing .hr-swipe-hint{display:block;color:var(--grey);font-size:12px;margin:14px 0 8px}
 #design .hr-docs{margin-top:0}
 #sizes .hr-szl:focus-visible,#design .hr-docs:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
}
@media(max-width:1000px){#purpose .cross-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#sizes .hr-forms{grid-template-columns:repeat(3,minmax(0,1fr))}:is(#roof,#foundation) .hr-split{grid-template-columns:1fr}#offer .hr-cta{grid-template-columns:1fr}#included .tl2{display:grid;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));mask-image:none;-webkit-mask-image:none}#included .tl2 .s{width:auto;min-width:0}#included .tl2 .s::before{display:none}}
@media(max-width:600px){.pss-landing :is(#sizes,#compare,#foundation) .section > .container{padding:24px 18px;width:calc(100% - 32px)}#sizes .hr-szrow{grid-template-columns:1fr;gap:10px}#sizes .hr-forms{grid-template-columns:repeat(2,minmax(0,1fr))}#design .hr-proj,#factory .hr-feat{grid-template-columns:1fr}#compare table{min-width:760px}#offer .hr-cta{padding:24px 18px;gap:24px}#offer form{grid-template-columns:1fr}#offer .hr-cta h2,#seo h2{font-size:25px}:is(#roof,#foundation) .hr-flist{grid-template-columns:1fr}#purpose .cross-grid{display:grid;overflow:visible;mask-image:none;-webkit-mask-image:none}#purpose .cross-grid>*{width:auto;min-width:0}}

@media(min-width:1001px){#addons .fill-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}#addons .fill-row>*{flex:0 0 calc((100% - 32px)/3);scroll-snap-align:start}#addons .fill-nav{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}#addons .fill-nav button{width:36px; height:36px; border:1px solid var(--border); background:var(--paper);
    border-radius:var(--r); color:var(--navy); cursor:pointer; display:flex; align-items:center; justify-content:center;}#addons .fill-nav button:disabled{opacity:.35;cursor:default}}

.pss-hangar-hub .hub-photo{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--rs);overflow:hidden;background:var(--slate)}
.pss-hangar-hub .hub-photo img{display:block;width:100%;height:100%;object-fit:cover}
.pss-hangar-hub #factory .hub-photo{aspect-ratio:1000/560}
.pss-hangar-hub #offer .pss-upload-block,.pss-hangar-hub #offer .pss-agree-wrap,.pss-hangar-hub #offer .pss-m-submit{grid-column:1/-1}
.pss-hangar-hub #offer form[hidden]{display:none!important}
.pss-hangar-hub #offer .fld{min-width:0;margin:0}
.pss-hangar-hub #offer .fld input{box-sizing:border-box;width:100%;height:50px;border-radius:var(--rs);padding:12px 15px;border:1px solid var(--border);background:white;color:var(--navy);font:inherit}
.pss-hangar-hub #offer .agree{margin-top:8px;color:#d2d8e3;font-size:12px}
.pss-hangar-hub #offer .agree a{color:inherit;text-decoration:underline}
.pss-hangar-hub #offer .pss-m-submit{background:var(--amber);color:white;min-height:48px;border:0;border-radius:var(--rs);font-family:var(--font-head);font-weight:700;cursor:pointer}
.pss-hangar-hub #offer .pss-upload-tile{border:1px dashed #7a849b;background:transparent;color:white;border-radius:var(--rs)}
.pss-hangar-hub #offer .pss-upload-tile .t{color:white}
.pss-hangar-hub #offer .pss-upload-tile .s{color:#d2d8e3}
.pss-hangar-hub #offer .pss-upload-block label.pss-upload-tile{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;align-items:center;padding:14px;margin:0;text-align:left;cursor:pointer;box-sizing:border-box}
.pss-hangar-hub #offer .pss-upload-tile .ic{grid-column:1;grid-row:1/3;justify-content:center;align-items:center;width:40px;height:40px;background:var(--amber-soft);color:var(--amber);border-radius:var(--rs)}
.pss-hangar-hub #offer .pss-upload-tile .t,.pss-hangar-hub #offer .pss-upload-tile .s{grid-column:2}
.pss-hangar-hub #offer .pss-upload-tile .add,.pss-hangar-hub #offer .pss-upload-tile .add-s{display:none}
.pss-hangar-hub #offer .pss-upload-tile.is-compact .t,.pss-hangar-hub #offer .pss-upload-tile.is-compact .s{display:none}
.pss-hangar-hub #offer .pss-upload-tile.is-compact .add{display:block;grid-column:2;color:white;font-size:13px;font-weight:700}
.pss-hangar-hub #offer .pss-upload-list{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.pss-hangar-hub #offer .pss-upload-list:empty{display:none}
@media(max-width:600px){#sizes .hr-swipe-hint,#design .hr-swipe-hint{display:block}}
