/* Namespaced, mobile-first. Legacy mailings do not load this stylesheet. */
.pj-page{--pj-ink:var(--brand,#0d2140);--pj-paper:#f8f4ed;--pj-card:#fffdf8;--pj-muted:#53616a;--pj-line:#d9d7cf;--pj-accent:var(--accent,#ea580c);--pj-top-height:128px;--pj-bottom-height:calc(96px + env(safe-area-inset-bottom,0px));margin:0;background:var(--pj-paper);color:var(--pj-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.55;-webkit-text-size-adjust:100%;text-size-adjust:100%;padding-bottom:var(--pj-bottom-height);overflow-x:clip}
.pj-page *,.pj-page *::before,.pj-page *::after{box-sizing:border-box}
.pj-page [hidden]{display:none!important}
.pj-page :where(button,input,textarea,select){font:inherit}
.pj-page :where(button,a,input,summary){touch-action:manipulation}
.pj-page :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #93630f;outline-offset:2px}
:where(.pj-page:not(.pj-roof)) :where(h1,h2,h3,p,figure){margin:0}
:where(.pj-page:not(.pj-roof)) p{text-wrap:pretty}
:where(.pj-page:not(.pj-roof)) :where(h1,h2,h3){color:var(--pj-ink);text-wrap:balance;overflow-wrap:anywhere;letter-spacing:-.035em}
:where(.pj-page:not(.pj-roof)) h1{font-size:2rem;line-height:1.15;font-weight:750;margin:8px 0 12px}
:where(.pj-page:not(.pj-roof)) h2{font-size:1.3rem;line-height:1.3;font-weight:700}
:where(.pj-page:not(.pj-roof)) a{color:inherit;text-underline-offset:4px}
/* Zero specificity: a button that sets its own colour (the email box, the roof
   booking form) keeps it. This reset only replaces the browser's default. */
:where(.pj-page) :where(button){cursor:pointer;color:inherit;transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,transform 150ms ease,box-shadow 150ms ease}
.pj-page button:disabled{cursor:default;opacity:.6}
:where(.pj-page:not(.pj-roof)) img{display:block;max-width:100%;object-fit:cover}
:where(.pj-page:not(.pj-roof)) label{display:block;font-weight:600;margin-bottom:6px}
:where(.pj-page:not(.pj-roof)) fieldset{border:0;padding:0;margin:16px 0;min-width:0}
:where(.pj-page:not(.pj-roof)) legend{font-weight:700;font-size:.9375rem;padding:0;margin-bottom:8px}
:where(.pj-page:not(.pj-roof)) input:not([type=hidden],[type=radio],[type=checkbox],[type=range]){width:100%;min-width:0;min-height:52px;border:1px solid #8b989f;border-radius:8px;background:white;color:var(--pj-ink);font-size:1rem;padding:12px 16px;transition:border-color 150ms ease,box-shadow 150ms ease}
:where(.pj-page:not(.pj-roof)) input:not([type=hidden],[type=radio],[type=checkbox],[type=range]):focus{border-color:var(--pj-accent,#ea580c);box-shadow:0 0 0 3px rgba(var(--accent-rgb,234,88,12),0.2)}
:where(.pj-page:not(.pj-roof)) input:not([type=hidden],[type=radio],[type=checkbox],[type=range]):focus-visible{outline:2px solid var(--pj-accent,#ea580c);outline-offset:2px}
:where(.pj-page:not(.pj-roof)) input:is([type=checkbox],[type=radio]){accent-color:#93651e;width:20px;height:20px;flex:0 0 20px;margin:0}
:where(.pj-page:not(.pj-roof)) input[aria-invalid=true]{border:2px solid #a12d28}
.pj-button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:52px;padding:12px 16px;border:1px solid transparent;border-radius:8px;text-decoration:none!important;font-size:.9375rem;font-weight:700;line-height:1.4;text-align:left;transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,transform 150ms ease,box-shadow 150ms ease}
.pj-button:active{transform:scale(0.98)}
.pj-page .pj-primary{background:var(--pj-ink);color:white}
.pj-page .pj-primary:hover{background:#28465f}
.pj-page .pj-primary:active{background:#1f3549}
.pj-page .pj-secondary{background:transparent;border-color:#89969e;color:var(--pj-ink)}
.pj-page .pj-secondary:hover{background:#efebe2;border-color:var(--pj-ink)}
.pj-page .pj-secondary:active{background:#e7e0d3}
.pj-button>span[aria-hidden]{flex:none;font-size:1.25rem}
.pj-text-link{display:inline-flex;align-items:center;min-height:48px;font-size:.9375rem;font-weight:650;transition:color 150ms ease,transform 150ms ease}
.pj-text-link:hover{color:#77501d;text-decoration:underline}
.pj-text-link:active{transform:scale(0.98)}
.pj-small,.pj-consent,.pj-disclaimer{font-size:.8125rem;line-height:1.6;color:var(--pj-muted)}
.pj-eyebrow{display:block;color:#77501d;font-size:.75rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.pj-intro{font-size:1rem;line-height:1.55;color:var(--pj-muted)}
.pj-notice{padding:12px 16px;border:1px solid #cdb991;border-radius:8px;background:#f4ead7;color:#4d422e;font-size:.875rem;line-height:1.6;margin:16px 0;overflow-wrap:anywhere}
.pj-error{padding:12px 16px;border:1px solid #dda39d;border-radius:8px;background:#fff1ef;color:#8b201e;font-size:.875rem;line-height:1.5;margin:12px 0;overflow-wrap:anywhere}
.pj-skip{position:absolute;top:-9999px;left:12px;z-index:150;background:var(--pj-ink);color:#fff!important;padding:12px 16px;border-radius:8px;text-decoration:none}
.pj-skip:focus-visible{top:12px}
.pj-demo{padding:8px 16px;background:#12263b;color:#fff;font-size:.75rem;line-height:1.5;text-align:center}
.pj-top{position:sticky;top:0;z-index:50;padding-top:env(safe-area-inset-top,0px);background:var(--pj-paper);border-bottom:1px solid var(--pj-line)}
.pj-brandbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:8px 16px;max-width:1160px;margin:auto}
.pj-brand{display:flex;align-items:center;gap:10px;min-width:0;font-weight:750;font-size:.875rem;line-height:1.3;letter-spacing:.02em}
.pj-brand img{height:36px;width:auto;max-width:60px;object-fit:contain;flex:none}
.pj-brand>span{overflow-wrap:anywhere}
.pj-call{display:flex;align-items:center;gap:8px;min-height:48px;min-width:64px;flex:none;font-weight:650;font-size:.875rem;text-decoration:none;padding:8px 0 8px 8px;transition:color 150ms ease,transform 150ms ease}
.pj-call:hover{color:#77501d}
.pj-call:active{transform:scale(0.98)}
.pj-tabs{display:flex;gap:8px;padding:0 16px 12px;max-width:1160px;margin:auto;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
.pj-tabs::-webkit-scrollbar{display:none}
.pj-tabs>a{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:0;flex:1;border:1px solid var(--pj-line);border-radius:8px;text-decoration:none;font-size:.875rem;font-weight:650;padding:8px 12px;background:var(--pj-card);overflow-wrap:anywhere;transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease}
.pj-tabs>a:hover:not([aria-current=page]){background:#f2ede4;border-color:#b5b2a8}
.pj-tabs>a:active{transform:scale(0.98)}
.pj-tabs>a[aria-current=page]{background:var(--pj-ink);border-color:var(--pj-ink);color:#fff}
.pj-contact{display:flex;gap:12px;align-items:center;min-height:48px;margin:16px 0}
.pj-contact .pj-avatar{width:48px;height:48px;border-radius:50%;border:2px solid #bc9659;flex:none}
.pj-contact strong,.pj-contact span{display:block;overflow-wrap:anywhere}
.pj-contact strong{font-size:.9375rem;font-weight:700}
.pj-contact span{font-size:.8125rem;color:var(--pj-muted);margin-top:1px}
.pj-home-reference{display:flex;align-items:center;gap:12px;border-top:1px solid var(--pj-line);border-bottom:1px solid var(--pj-line);padding:12px 0;margin:16px 0}
.pj-home-reference>img{width:76px;height:60px;border-radius:8px;flex:none;background:#e7e0d3}
.pj-home-reference strong,.pj-home-reference span,.pj-home-reference small{display:block;overflow-wrap:anywhere}
.pj-home-reference strong{font-size:.9375rem;line-height:1.35}
.pj-home-reference span,.pj-home-reference small{font-size:.8125rem;color:var(--pj-muted);line-height:1.45;margin-top:4px}
.pj-gate{padding-bottom:0;background:#faf7f1;color:#17233a;min-height:100vh;min-height:100dvh}
.pj-gate .pj-top,.pj-gate .pj-demo{display:none!important}
.pj-gate .pj-brandbar{display:none}
.pj-gate-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,480px);min-height:100vh;min-height:100dvh;background:#faf7f1;width:100%;max-width:100%}
.pj-gate-visual{position:relative;min-height:100vh;overflow:hidden;background:var(--pj-ink,#0d2140);border-right:2px solid var(--pj-accent,#e8a838)}
.pj-gate-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}
.pj-gate-visual-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,33,64,0.8) 0%,rgba(13,33,64,0.25) 24%,rgba(13,33,64,0.08) 42%,rgba(13,33,64,0.4) 60%,rgba(13,33,64,0.88) 78%,rgba(13,33,64,0.96) 100%);pointer-events:none}
.pj-gate-visual-content{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,4vw,56px);box-sizing:border-box;width:100%;color:#fff}
.pj-gate-visual-header{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
.pj-gate-visual-brand{display:flex;align-items:center;gap:12px}
.pj-gate-visual-logo{height:44px;width:auto;max-width:140px;object-fit:contain;filter:brightness(0) invert(1)}
.pj-gate-visual-company{font-size:13px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.85)}
.pj-gate-trust{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 8px;border-radius:999px;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.26);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pj-gate-trust-g{width:16px;height:16px;padding:2px;background:#fff;border-radius:50%;box-sizing:content-box}
.pj-gate-trust-stars{color:var(--pj-accent,#e8a838);font-size:13px;letter-spacing:1px;line-height:1}
.pj-gate-trust-val{font-size:12px;font-weight:800;color:#fff;letter-spacing:0.02em}
.pj-gate-visual-body{margin-top:auto}
.pj-gate-kicker{display:inline-flex;align-items:center;align-self:flex-start;margin-bottom:12px;padding:4px 12px;border-radius:999px;background:#fff;color:var(--pj-ink,#0d2140);border:1.5px solid rgba(13,33,64,0.45);box-shadow:0 2px 8px rgba(0,0,0,0.22);font-size:11px;font-weight:850;letter-spacing:0.08em;line-height:1.2;text-transform:uppercase}
.pj-gate-address{margin:0 0 8px;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-weight:900;font-size:clamp(28px,4.2vw,56px);line-height:1.05;letter-spacing:-0.02em;color:#fff;overflow-wrap:anywhere;text-wrap:balance}
.pj-gate-city{margin:0 0 16px;color:rgba(255,255,255,0.85);font-size:16px;font-weight:600}
.pj-gate-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pj-gate-fact{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.22);color:#fff;font-size:12px;font-weight:800;letter-spacing:0.04em}
.pj-gate-fact::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--pj-accent,#e8a838)}
.pj-gate-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,4vw,48px);background:#faf7f1;max-width:480px;margin:0 auto;box-sizing:border-box;width:100%}
.pj-gate-intro-bubble{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding:12px 16px;background:rgba(13,33,64,0.04);border:1px solid rgba(13,33,64,0.1);border-radius:16px}
.pj-gate-avatar{width:48px;height:56px;border-radius:8px;object-fit:cover;object-position:top center;flex:none;border:1.5px solid rgba(13,33,64,0.15);box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.pj-gate-avatar-fallback{width:48px;height:48px;border-radius:8px;background:var(--pj-ink,#0d2140);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex:none}
.pj-gate-intro-text strong{display:block;font-size:14px;font-weight:800;color:var(--pj-ink,#0d2140);margin-bottom:4px;line-height:1.3}
.pj-gate-intro-text p{margin:0;font-size:13px;font-weight:500;color:#4a5568;line-height:1.45}
.pj-gate-card--report{padding:24px 20px;border:2px solid var(--pj-accent,var(--accent,#ea580c));border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(13,33,64,0.07);margin-bottom:16px}
.pj-gate-card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
.pj-gate-sms-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--pj-accent,var(--accent,#ea580c));color:var(--pj-ink,var(--brand,#1c1917));font-size:18px;flex:none}
.pj-gate-card-head h2{margin:0;font-size:17px;font-weight:800;color:var(--pj-ink,#0d2140);line-height:1.25}
.pj-gate-field{display:flex;flex-direction:column;gap:6px}
.pj-gate-field label{font-size:11px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--pj-ink,#0d2140)}
.pj-gate-field input[type="tel"]{width:100%;min-height:52px;padding:12px 16px;border:1px solid rgba(13,33,64,0.2);border-radius:8px;background:#fff;color:var(--pj-ink,#0d2140);font-family:inherit;font-size:18px;font-weight:700;box-sizing:border-box;transition:border-color 150ms ease,box-shadow 150ms ease}
.pj-gate-field input[type="tel"]:focus{border-color:var(--pj-accent,#ea580c);box-shadow:0 0 0 3px rgba(var(--accent-rgb,234,88,12),0.25)}
.pj-gate-field input[type="tel"]:focus-visible{outline:2px solid var(--pj-accent,#ea580c);outline-offset:2px}
.pj-gate .pj-consent{margin:12px 0 16px;font-size:12px;line-height:1.4;color:#64748b}
.pj-gate-submit{width:100%;min-height:56px;border:0;border-radius:8px;font-size:16px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 16px;background:var(--pj-accent,var(--accent,#ea580c))!important;color:var(--pj-ink,var(--brand,#1c1917))!important;box-shadow:0 14px 28px rgba(var(--brand-rgb,13,33,64),0.18);cursor:pointer;transition:transform 150ms ease,box-shadow 150ms ease,background-color 150ms ease}
.pj-gate-submit:hover,.pj-gate-submit:focus-visible{background:var(--pj-accent-bright,var(--accent-bright,#f97316))!important}
.pj-gate-submit:active{transform:scale(0.97)}
.pj-chips-reveal{margin-bottom:16px;border:1px solid rgba(13,33,64,0.14);border-radius:16px;background:#fff;overflow:hidden}
.pj-chips-toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;min-height:48px;font-size:13px;font-weight:800;color:var(--pj-ink,#0d2140);cursor:pointer;background:#fff;list-style:none;user-select:none;transition:background-color 150ms ease}
.pj-chips-toggle:hover{background:rgba(13,33,64,0.02)}
.pj-chips-toggle:focus-visible{outline:2px solid #93630f;outline-offset:-2px}
.pj-chips-toggle::-webkit-details-marker{display:none}
.pj-chips-toggle small{font-size:11px;font-weight:600;color:#5a6373;margin-left:6px;text-transform:uppercase}
.pj-chevron{font-size:14px;transition:transform 150ms ease}
.pj-chips-reveal[open] .pj-chevron{transform:rotate(180deg)}
.pj-chips-panel{padding:16px;border-top:1px solid rgba(13,33,64,0.08);background:#faf8f5}
.pj-chips-note{margin:0 0 12px;font-size:12px;font-weight:600;color:#5a6373}
.pj-chips-group-badge{display:inline-block;padding:4px 8px;border-radius:4px;background:var(--pj-accent,#ea580c);color:var(--pj-ink,#1c1917);font-size:11px;font-weight:900;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:8px}
.pj-chips-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pj-chip-item{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid rgba(13,33,64,0.18);border-radius:8px;background:#fff;color:var(--pj-ink,#0d2140);font-size:13px;font-weight:700;cursor:pointer;transition:border-color 150ms ease,background-color 150ms ease,transform 150ms ease;user-select:none}
.pj-chip-item:hover{border-color:var(--pj-accent,#ea580c)}
.pj-chip-item:focus-within{outline:2px solid #93630f;outline-offset:2px}
.pj-chip-item:active{transform:scale(0.96)}
.pj-chip-item input[type="checkbox"]{width:18px;height:18px;accent-color:var(--pj-ink,#0d2140);border-radius:4px;margin:0;cursor:pointer;flex:none}
.pj-chip-item:has(input:checked){background:rgba(var(--accent-rgb,234,88,12),0.16);border-color:var(--pj-accent,#ea580c)}
.pj-chips-helper{display:block;margin-top:12px;font-size:11px;font-weight:600;color:#475569;line-height:1.4}
.pj-teaser-locked{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;border:1px solid rgba(13,33,64,0.12);border-radius:16px;background:rgba(255,255,255,0.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-align:center;margin-bottom:16px}
.pj-teaser-lock-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:var(--pj-ink,#0d2140);color:#fff;font-size:11px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase}
.pj-teaser-sub{margin:6px 0 0;font-size:12px;font-weight:600;color:#5a6373}
.pj-gate-direct-call{text-align:center;margin-top:8px}
.pj-gate-direct-call a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;font-weight:700;color:var(--pj-ink,#0d2140);text-decoration:none}
.pj-gate-direct-call a:hover{text-decoration:underline}
.pj-gate-layout{max-width:1060px;padding:24px 20px;margin:auto}
.pj-gate-main{min-width:0}
.pj-gate-main form{margin-top:20px}
.pj-gate-main [data-pj-submit]{margin-top:12px}
.pj-consent{margin-top:12px}
.pj-optional-consent{margin:12px 0 0;border-top:1px solid var(--pj-line)}
.pj-page summary{cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.875rem;font-weight:650;list-style:none}
.pj-page summary::-webkit-details-marker{display:none}
.pj-optional-consent>summary{color:var(--pj-muted);font-size:.8125rem}
.pj-optional-consent>summary::after{content:'+';font-size:1.2rem;flex:none}
.pj-optional-consent[open]>summary::after{content:'−'}
.pj-check-row{display:flex!important;align-items:flex-start;gap:12px;padding:12px 0;font-size:.8125rem;font-weight:400!important;color:var(--pj-muted);min-height:48px}
.pj-check-row input{margin-top:4px!important}
.pj-gate-support{padding-top:24px;min-width:0}
.pj-gate-support h2{margin:16px 0 8px}
.pj-gate-support>p{font-size:.9375rem;color:var(--pj-muted);margin-top:8px}
.pj-cover{border-radius:12px;overflow:hidden;background:#e7e0d3}
.pj-cover>img{width:100%;aspect-ratio:16/10;max-height:320px}
.pj-cover figcaption,.pj-roof-thumb figcaption{font-size:.75rem;line-height:1.5;padding:8px 12px;color:#53616a;background:#efebe2}
.pj-footer{max-width:1120px;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));margin:auto;border-top:1px solid var(--pj-line);font-size:.8125rem;color:var(--pj-muted)}
.pj-footer>strong{display:block;color:var(--pj-ink);font-size:.875rem;overflow-wrap:anywhere}
.pj-footer p{margin-top:8px}
.pj-footer nav{display:flex;flex-wrap:wrap;gap:0 16px;margin-top:8px}
.pj-footer a{display:flex;align-items:center;min-height:48px;font-size:.8125rem}
.pj-plan-layout{max-width:1120px;padding:24px 20px 32px;margin:auto}
.pj-plan-intro{max-width:720px}
.pj-project-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.pj-picker{container-type:inline-size;margin-top:8px;padding:20px 16px;background:var(--pj-card);border:1px solid var(--pj-line);border-radius:16px}
.pj-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pj-heading-row .pj-text-link{font-size:.8125rem;min-height:44px}
.pj-picker>p{margin-top:8px}
.pj-picker fieldset{margin:16px 0}
.pj-project-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pj-project-check{position:relative;display:flex!important;flex-direction:column;min-width:0;padding:0;border:2px solid #e4e1da;border-radius:12px;margin:0!important;font-size:.875rem;font-weight:650!important;line-height:1.35;background:#fff;cursor:pointer;overflow-wrap:anywhere;transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease,box-shadow 150ms ease}
.pj-project-check>input{appearance:none;-webkit-appearance:none;position:absolute;z-index:1;top:8px;right:8px;width:22px!important;height:22px!important;border:1.5px solid #7c8781;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(13,33,64,.16);cursor:pointer}
.pj-project-check>input:checked{border-color:#93651e;background:#93651e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px 20px no-repeat}
.pj-project-photo{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:9px 9px 0 0;background:#e7e0d3}
.pj-project-label{display:flex;align-items:center;flex:1;min-height:44px;padding:10px 12px}
.pj-project-price{display:block;padding:0 12px 10px;margin-top:-4px;font-size:.8125rem;font-weight:650;color:var(--pj-muted)}
.pj-project-check:last-child:nth-child(odd){grid-column:1/-1}
.pj-project-check:last-child:nth-child(odd) .pj-project-photo{aspect-ratio:4/1;max-height:128px}
.pj-project-check:has(:focus-visible){outline:2px solid #93630f;outline-offset:3px}
.pj-project-check>input:focus-visible{outline:none}
.pj-project-check:active{transform:scale(0.98)}
.pj-project-check:has(input:checked){background:#f8efdf;border-color:#a77b37}
@media(hover:hover){
 .pj-project-check:hover{border-color:#93651e;box-shadow:0 4px 12px rgba(77,58,29,.12)}
 .pj-project-check:hover:not(:has(input:checked)){background:#faf7f2}
}
@container(min-width:30rem){
 .pj-project-checks{grid-template-columns:repeat(3,minmax(0,1fr))}
 .pj-project-check:last-child:nth-child(odd){grid-column:auto}
 .pj-project-check:last-child:nth-child(odd) .pj-project-photo{aspect-ratio:16/10;max-height:none}
 .pj-project-check:last-child:nth-child(3n + 1){grid-column:1/-1}
 .pj-project-check:last-child:nth-child(3n + 1) .pj-project-photo{aspect-ratio:4/1;max-height:128px}
}
@media(forced-colors:active){.pj-project-check>input{appearance:auto;-webkit-appearance:auto;background:none}.pj-project-check:has(input:checked){border-color:Highlight}}
.pj-picker>.pj-button{margin-top:16px}
.pj-trades{display:grid;gap:16px;margin:20px 0}
.pj-trade{background:var(--pj-card);border:1px solid var(--pj-line);border-radius:16px;padding:20px 16px;scroll-margin-top:calc(var(--pj-top-height) + 16px)}
.pj-trade-head{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:8px}
.pj-trade-head h2{font-size:1.2rem}
.pj-price-stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.pj-range{font-size:1.5rem;font-weight:750;letter-spacing:-.03em;line-height:1.25;overflow-wrap:anywhere}
.pj-price-total{font-size:.8125rem;font-weight:600;color:var(--pj-muted);line-height:1.35}
.pj-trade .pj-disclaimer{margin-top:8px;color:#67552f}
.pj-basis-tag{display:inline-block;font-size:.75rem;background:#efebe2;color:#596267;border-radius:6px;padding:4px 8px;margin-top:12px;line-height:1.5}
.pj-customize{border-top:1px solid var(--pj-line);margin-top:16px}
.pj-customize>summary{min-height:56px;padding:8px 0}
.pj-customize>summary>span{display:inline-block;transition:transform 150ms ease}
.pj-customize[open]>summary>span{transform:rotate(45deg);transition:transform 150ms ease}
.pj-look-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.pj-look{margin:0!important;position:relative;cursor:pointer}
.pj-look input{position:absolute;top:8px;right:8px;z-index:1;outline-offset:2px;accent-color:#93651e;background:rgba(255,255,255,0.9);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,0.2)}
.pj-look>span{display:block;overflow:hidden;border:2px solid var(--pj-line);border-radius:8px;background:white;transition:border-color 150ms ease,background-color 150ms ease,transform 150ms ease}
.pj-look:hover>span{border-color:#8b989f}
.pj-look:active>span{transform:scale(0.98)}
.pj-look img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;background:#e4ded2}
.pj-look b{display:block;padding:12px 8px;font-size:.8125rem;line-height:1.3;min-height:44px;overflow-wrap:anywhere}
.pj-look:has(input:checked)>span{border-color:#99702a;background:#f2e5ca}
.pj-look:focus-within>span{outline:2px solid #93630f;outline-offset:2px}
.pj-page .pj-tier-slider{appearance:none;-webkit-appearance:none;display:block;width:100%;height:48px;margin:0;padding:0;border:0;border-radius:8px;background:linear-gradient(to right,#93651e var(--pj-tier-progress,50%),#839098 var(--pj-tier-progress,50%)) center / calc(100% - 48px) 8px no-repeat;cursor:pointer;touch-action:pan-y}
.pj-tier-slider::-webkit-slider-runnable-track{height:8px;background:transparent;border:0}
.pj-tier-slider::-webkit-slider-thumb{-webkit-appearance:none;box-sizing:border-box;width:48px;height:48px;margin-top:-20px;border:10px solid transparent;border-radius:50%;background:#93651e;background-clip:padding-box}
.pj-tier-slider::-moz-range-track{height:8px;background:transparent;border:0}
.pj-tier-slider::-moz-range-thumb{box-sizing:border-box;width:48px;height:48px;border:10px solid transparent;border-radius:50%;background:#93651e;background-clip:padding-box}
.pj-tier-labels{display:flex;justify-content:space-between;gap:8px;font-size:.875rem;color:var(--pj-muted)}
.pj-tier-labels span{flex:1;text-align:center}
.pj-tier-labels span:first-child{text-align:left}
.pj-tier-labels span:last-child{text-align:right}
.pj-tier-labels .is-selected{color:#77501d;font-weight:750}
.pj-size-value{margin:12px 0;font-size:.9375rem}
.pj-size-value strong{font-size:1.4rem}
.pj-size-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pj-size-buttons button,.pj-size-entry button{min-height:48px;font-size:.8125rem;line-height:1.3;background:white;border:1px solid #a8b1b6;border-radius:8px;padding:8px 8px;transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease}
.pj-size-buttons button:hover:not([aria-pressed=true]),.pj-size-entry button:hover{background:#faf7f2;border-color:#8b989f}
.pj-size-buttons button:active,.pj-size-entry button:active{transform:scale(0.98)}
.pj-size-buttons button[aria-pressed=true]{background:#f2e5ca;border-color:#a77b37}
.pj-size-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.pj-size-entry button{font-weight:650}
.pj-roof-thumb{border-radius:8px;overflow:hidden;max-width:360px;margin-top:16px}
.pj-roof-thumb img{width:100%;aspect-ratio:3/2}
.pj-save-status{font-size:.8125rem;line-height:1.5;color:var(--pj-muted);min-height:24px;margin:12px 0 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pj-save-status button{background:white;border:1px solid #a8b1b6;border-radius:8px;min-height:48px;padding:8px 16px;font-size:.875rem;flex:none;transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease}
.pj-save-status button:hover{background:#faf7f2;border-color:#8b989f}
.pj-save-status button:active{transform:scale(0.98)}
.pj-save-status[data-state=error]{color:#8b201e}
.pj-empty{padding:16px;font-size:.9375rem;color:var(--pj-muted)}
.pj-plan-side{padding:24px 20px;border-top:2px solid #b48a49;background:#efe8da;border-radius:0 0 16px 16px}
.pj-plan-side ul{padding-left:20px;margin:16px 0;font-size:.9375rem;line-height:1.8;overflow-wrap:anywhere}
.pj-plan-side>p{margin-top:8px}
.pj-book-section{border-top:1px solid var(--pj-line);margin-top:32px;padding-top:24px;scroll-margin-top:calc(var(--pj-top-height) + 16px);max-width:740px}
.pj-section-heading>h2{font-size:1.6rem;margin:8px 0 12px}
.pj-section-heading>p{font-size:.9375rem;color:var(--pj-muted)}
.pj-book-section form{background:var(--pj-card);border:1px solid var(--pj-line);padding:20px 16px;border-radius:16px;margin-top:20px}
.pj-book-section .pj-button{margin-top:16px}
.pj-days{display:grid;grid-auto-flow:column;grid-auto-columns:104px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;gap:8px;padding:4px 4px 12px;scroll-snap-type:x proximity}
.pj-days button{min-height:60px;background:white;border:1px solid #a8b1b6;border-radius:8px;font-size:.875rem;padding:12px;scroll-snap-align:start;line-height:1.35;transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease}
.pj-days button:hover:not([aria-pressed=true]){background:#faf7f2;border-color:#8b989f}
.pj-days button:active{transform:scale(0.98)}
.pj-days button[aria-pressed=true]{background:#f2e5ca;border-color:#a77b37;font-weight:700}
.pj-windows{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:12px}
.pj-windows label{min-width:0;overflow-wrap:anywhere;display:flex;align-items:center;gap:12px;min-height:64px;border:1px solid #a8b1b6;border-radius:8px;padding:12px 12px;font-size:.875rem;cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease}
.pj-windows label:hover:not(:has(input:checked)){background:#faf7f2;border-color:#8b989f}
.pj-windows label:focus-within{outline:2px solid #93630f;outline-offset:2px}
.pj-windows label:active{transform:scale(0.98)}
.pj-windows label:has(input:checked){background:#f2e5ca;border-color:#a77b37}
.pj-windows small{display:block;font-size:.8125rem;font-weight:400;margin-top:4px}
.pj-bottom{position:fixed;z-index:45;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--pj-card);border-top:1px solid #c9c7be;box-shadow:0 -1px 3px rgba(20,43,68,0.03),0 -8px 24px -4px rgba(20,43,68,0.06)}
.pj-bottom>div{min-width:0}
.pj-bottom small,.pj-bottom strong{display:block;line-height:1.4}
.pj-bottom small{font-size:.75rem;color:var(--pj-muted)}
.pj-bottom strong{font-size:.9375rem;font-weight:650}
.pj-bottom .pj-button{width:auto;max-width:60%;flex:none;min-height:48px;font-size:.875rem}
.pj-page.pj-editing .pj-bottom{display:none}
/* One bottom bar on whole-home roof pages: the plan bar. Calls stay one tap
   away in the sticky header and the booking card. */
body.pj-page.pj-roof.pj-whole-home .mobile-action-bar{display:none!important}
.pj-ai-ready{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.pj-ai-ready>p{flex:1 1 220px;margin:0}
.pj-ai-ready-actions{display:flex;align-items:center;gap:8px;flex:0 1 auto}
.pj-page .pj-ai-ready .pj-button{width:auto;min-height:48px}
.pj-ai-ready-close{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:0;border:1px solid #8b7a55;border-radius:8px;background:transparent;color:#4d422e;font-size:1.4rem;line-height:1}
.pj-ai-ready-close:hover{background:#ebdcc0}
.pj-plan [id],.pj-roof section[id]{scroll-margin-top:calc(var(--pj-top-height) + 16px)}
.pj-page .is-missing{background:#e7e0d3;min-height:50px}
/* The complete original roof report remains authoritative. Only its outer
   chrome is changed; no material choice, financial figure or evidence is hidden. */
.pj-roof .pj-top{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.pj-roof .nav-dots{display:none}
.pj-roof .nav-chips.nav-chips--sections{position:relative;top:auto;bottom:auto;left:auto;right:auto;transform:none;opacity:1;visibility:visible;display:flex;flex-wrap:wrap;gap:8px;max-width:1120px;margin:12px auto;padding:8px 16px;background:var(--pj-paper);z-index:1}
.pj-roof .nav-chips a{min-height:44px;display:flex;align-items:center;justify-content:center}
.pj-roof .nav-chips-address{width:100%;font-size:.8125rem;overflow-wrap:anywhere}
.pj-roof .public-phone-stage{padding-top:0}
.pj-roof .pj-roof-plan-link{max-width:1080px;margin:20px auto;padding:0 20px}
.pj-roof .pj-roof-plan-link a{max-width:560px}
.pj-page .report-email-copy{max-width:740px}
@media(min-width:760px){
 .pj-page{--pj-bottom-height:0px}
 .pj-brandbar{padding-left:32px;padding-right:32px;min-height:72px}
 .pj-brand{font-size:1rem}
 .pj-tabs{padding-left:32px;padding-right:32px;justify-content:flex-start}
 .pj-tabs>a{flex:0 1 160px}
 .pj-gate-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:64px;padding:48px 32px}
 .pj-gate-main{max-width:460px}
 .pj-gate-support{padding-top:16px}
 .pj-gate h1{font-size:2.3rem}
 .pj-plan-layout{padding:32px 32px 40px}
 .pj-project-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,.85fr);gap:32px;align-items:start}
 .pj-plan-side{position:sticky;top:calc(var(--pj-top-height) + 20px);margin-top:8px}
 .pj-trade,.pj-picker{padding:24px}
 .pj-trade-head{flex-direction:row;align-items:baseline;justify-content:space-between;gap:16px}
 .pj-price-stack{align-items:flex-end;text-align:right}
 .pj-bottom{display:none}
 .pj-footer{padding-left:32px;padding-right:32px}
}
@media(max-width:600px){
 .pj-brandbar{padding-left:16px;padding-right:16px}
 .pj-tabs{padding-left:12px;padding-right:12px}
 .pj-tabs>a{flex:0 0 auto;min-width:88px}
 .pj-plan-layout,.pj-gate-layout{padding-left:16px;padding-right:16px}
 :where(.pj-page:not(.pj-roof)) h1{font-size:1.8rem}
 .pj-chips-grid{grid-template-columns:1fr}
 .pj-windows{grid-template-columns:1fr}
 .pj-size-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
 .pj-size-buttons button{padding:8px 4px;white-space:nowrap}
 .pj-look-grid{gap:8px}
 .pj-bottom{padding-left:16px;padding-right:16px;gap:8px}
 .pj-bottom small{max-width:120px}
 .pj-bottom .pj-button{padding-left:12px;padding-right:12px;gap:8px}
 .pj-gate-layout{padding-top:16px}
 .pj-gate .pj-home-reference{margin:8px 0;padding:8px 0}
 .pj-gate .pj-contact{margin:8px 0}
 .pj-gate-main form{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.pj-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{
 .pj-page{padding:0;background:white}
 .pj-top,.pj-bottom,.pj-picker,.pj-book-section,.pj-footer,.pj-save-status,.pj-skip,.pj-demo{display:none!important}
 .pj-plan-layout,.pj-project-layout{display:block;padding:0;margin:0;max-width:none}
 .pj-page [data-pj-panel][hidden]{display:block!important}
 .pj-trade{break-inside:avoid;border:1px solid #bbb;margin-bottom:12px}
 .pj-customize:not([open])>*:not(summary){display:none}
 .pj-plan-side{position:static}
}

.pj-roof-plan-link{display:none}
@media(min-width:760px){.pj-roof-plan-link{display:flex;justify-content:flex-end;max-width:1120px;margin:0 auto;padding:8px 24px}.pj-roof-plan-link a{min-height:48px;display:inline-flex;align-items:center;font-weight:650}}

@media(max-width:900px){
 .pj-gate-shell{grid-template-columns:1fr;min-height:auto}
 .pj-gate-visual{min-height:160px;height:auto;border-right:none;border-bottom:2px solid var(--pj-accent,#ea580c)}
 .pj-gate-visual-content{padding:16px 20px;gap:16px}
 .pj-gate-visual-logo{height:32px}
 .pj-gate-visual-company{font-size:11px}
 .pj-gate-kicker{font-size:10px;padding:4px 8px;margin-bottom:8px}
 .pj-gate-address{font-size:24px;margin-bottom:4px}
 .pj-gate-city{font-size:13px;margin-bottom:8px}
 .pj-gate-facts{margin-top:8px}
 .pj-gate-fact{font-size:11px;padding:4px 10px}
 .pj-gate-panel{padding:20px 16px 32px;max-width:100%}
 .pj-gate-card--report{padding:16px}
 .pj-gate-submit{font-size:15px;padding:12px 16px;gap:8px}
}
@media(max-width:360px){
 .pj-gate-visual-content{padding:12px 16px}
 .pj-gate-submit{font-size:14px}
}
