/* Site-owned Panorama skin; shared markup and conversion hooks are preserved. */
body.theme-panorama{background:var(--paper);color:var(--ink);font-family:var(--font-body)}
body.theme-panorama :is(h1,h2,h3){font-family:var(--font-heading);font-weight:750;letter-spacing:-.035em}
body.theme-panorama :is(input,button,textarea,select){font-family:var(--font-body)}
body.theme-panorama :is(.site-header,.site-main,.site-footer){max-width:var(--theme-container)}
body.theme-panorama .site-header{background:#102b46;color:#fff;padding-block:20px;border-bottom:1px solid var(--line);gap:24px}
body.theme-panorama .site-header :is(a,.brand){color:#fff}
body.theme-panorama .brand{font-weight:800;letter-spacing:-.025em;max-width:440px}
body.theme-panorama .house-mark{color:var(--primary)}
body.theme-panorama :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) :is(.btn,.editor-contact button){background:var(--primary);border:1px solid var(--primary);color:#fff;border-radius:4px;box-shadow:none;min-height:44px;font-weight:750;letter-spacing:0}
body.theme-panorama :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) :is(.btn,.editor-contact button):hover{background:#10477f;border-color:#10477f;box-shadow:none;transform:none}
body.theme-panorama :is(a,button,input,select,textarea):focus-visible{outline:3px solid #3287d3;outline-offset:4px}
body.theme-panorama.page-home .site-main{max-width:none}
body.theme-panorama.page-home .site-main> :not(.home-hero){width:min(calc(100% - 48px),var(--theme-container));margin-inline:auto}
body.theme-panorama.page-home .home-hero{min-height:0;padding:0;background:#102b46;color:#fff;border-bottom:1px solid var(--line)}
body.theme-panorama.page-home .home-hero::before,body.theme-panorama.page-home .home-hero::after{display:none}
body.theme-panorama.page-home .home-hero .hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;gap:0;max-width:var(--theme-container)}
body.theme-panorama.page-home .hero-copy{text-align:left;max-width:none;margin:0;padding:56px 40px;min-width:0}
body.theme-panorama.page-home .home-hero h1{font-family:var(--font-heading);font-size:clamp(34px,4vw,60px);font-weight:800;color:#fff;line-height:1.06;margin-bottom:24px}
body.theme-panorama.page-home .home-hero h1 em{color:var(--accent);font-weight:800;display:block}
body.theme-panorama.page-home .home-hero .eyebrow{color:var(--accent);font-size:12px;letter-spacing:.16em;font-weight:750;border:0;padding-left:0}
body.theme-panorama.page-home .hero-copy>p:not(.eyebrow){color:#e2edf5;font-size:18px;margin-inline:0}
body.theme-panorama.page-home .hero-search{margin:28px 0 18px;max-width:none;text-align:left}
body.theme-panorama.page-home .hero-search label{color:#fff}
body.theme-panorama.page-home .search-field{min-height:60px;border-radius:4px;box-shadow:none;background:#fff;border:1px solid #a5bfd4;color:var(--ink)}
body.theme-panorama.page-home .hero-actions{justify-content:flex-start;gap:12px}
body.theme-panorama.page-home .hero-proof :is(p,a,strong){color:#fff}
body.theme-panorama .theme-hero-media{position:static;margin:0;min-width:0;align-self:stretch}
body.theme-panorama .theme-hero-media img{width:100%;height:100%;min-height:440px;max-height:760px;object-fit:cover;border-radius:0;aspect-ratio:4/5}
body.theme-panorama .section{background:transparent;padding-block:calc(28px * var(--theme-spacing));border-radius:0}
body.theme-panorama :is(.card:not(:where(.atelier-calculator .card)),.service-card,.expertise-card,.step-card,.testimonial-card,.directory-card){background:#fff;border:1px solid var(--line);border-radius:var(--theme-radius);box-shadow:none}
body.theme-panorama :is(.service-grid,.trust-grid,.expertise-grid){gap:16px}
body.theme-panorama .home-icon-badge{background:var(--accent);color:var(--primary);border-radius:4px}
body.theme-panorama :is(.local-hero,.profile-hero){background:#102b46;color:#fff;border-radius:4px;border:0;border-bottom:1px solid var(--line)}
body.theme-panorama :is(.local-hero,.profile-hero)::before{background:#102b46ec}
body.theme-panorama .local-hero :is(h1,.profile-intro,.profile-subtitle,.profile-badge,.breadcrumbs,.breadcrumbs a){color:#fff}
body.theme-panorama :is(.quote-panel,.profile-quote-card){background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:4px;box-shadow:none}
body.theme-panorama .quote-panel :is(h2,h3,p,.quote-host-line){color:var(--ink)}
body.theme-panorama .profile-quote-photo img{border-radius:0}
body.theme-panorama :is(.faq-list details,.local-stat-card){background:#fff;border-color:var(--line);border-radius:4px}
body.theme-panorama .site-footer{background:#102b46;color:#fff;padding:44px 36px;border-top:1px solid var(--line);margin-top:40px;border-radius:0}
body.theme-panorama .site-footer::before{display:none}
body.theme-panorama .site-footer .footer-background{display:none}
body.theme-panorama .site-footer :is(a,.brand){color:#fff}
body.theme-panorama .network-band{background:#e2ecf4;border-block:1px solid var(--line)}
body.theme-panorama :is(.network-inner h2,.network-inner p){color:var(--ink)}
body.theme-panorama .directory-place-code{white-space:normal;overflow-wrap:anywhere}
@media(max-width:1000px){body.theme-panorama.page-home .hero-copy{padding:40px 28px}body.theme-panorama .theme-hero-media img{min-height:400px}}
@media(max-width:700px){
 body.theme-panorama .site-header{padding:16px 20px;gap:12px}
 body.theme-panorama.page-home .home-hero .hero-inner{grid-template-columns:1fr}
 body.theme-panorama .theme-hero-media img{min-height:0;max-height:240px;aspect-ratio:16/9}
 body.theme-panorama.page-home .hero-copy{padding:30px 20px 36px}
 body.theme-panorama.page-home .home-hero h1{font-size:36px}
 body.theme-panorama.page-home .hero-copy>p:not(.eyebrow){font-size:17px}
 body.theme-panorama.page-home .site-main> :not(.home-hero){width:calc(100% - 40px)}
 body.theme-panorama .site-footer{padding:32px 20px}
 body.theme-panorama .hero-actions{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){body.theme-panorama *{scroll-behavior:auto}}
body.theme-panorama :is(.profile-information,.profile-map,.profile-faq-list article,.quote-context,.editor-contact){background:#fff;border:1px solid var(--line);border-radius:4px;padding:24px}
body.theme-panorama .atelier-calculator{--soft:var(--accent)}
body.theme-panorama .atelier-calculator :is(.card,.note){border-radius:4px}
body.theme-panorama .atelier-calculator .big{font-variant-numeric:tabular-nums}
body.theme-panorama .quote-landing-proof{background:#102b46;color:#fff}
body.theme-panorama .directory-coverage{background:var(--accent);color:var(--ink);border-color:var(--line)}
body.theme-panorama .btn.btn-secondary{background:transparent;color:var(--primary)}

body.theme-panorama{--cta:var(--primary);--cta-hover:var(--primary)}
body.theme-panorama .city-search-icon{color:var(--primary)}
body.theme-panorama .city-search-control:focus-within{outline-color:var(--primary)}
body.theme-panorama :is(.review-slider-arrow,.review-slider-dot){color:var(--primary)}
body.theme-panorama .review-slider-dot[aria-current=true]{background:radial-gradient(circle,var(--primary) 0 6px,transparent 6.5px)}

body.theme-panorama.page-home .home-hero .search-field:focus-visible{outline-color:var(--accent)}

/* Themed invitation and exit dialog; semantic order follows hero_layout. */
body.theme-panorama .idle-popup{background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:var(--theme-radius);font-family:var(--font-body);gap:28px}
body.theme-panorama .idle-popup h2{color:var(--ink);font-family:var(--font-heading)}
body.theme-panorama .idle-popup .idle-popup-eyebrow{color:var(--primary);font-size:.75rem;letter-spacing:.08em}
body.theme-panorama .idle-popup-close{background:var(--accent);color:var(--ink)}
body.theme-panorama .idle-popup-decline,body.theme-panorama .idle-popup-proof .hero-proof{color:var(--muted)}
body.theme-panorama .idle-popup :is(button,a):focus-visible{outline:3px solid var(--primary);outline-offset:3px}
body.theme-panorama .idle-popup-artisan{padding:0;border:0;background:none;overflow:hidden;border-radius:var(--theme-radius)}
body.theme-panorama .idle-popup-artisan img{border-radius:0;min-height:340px}
body.theme-panorama .idle-popup::backdrop{background:rgb(20 30 40 / .65)}
@media(max-width:600px){body.theme-panorama .idle-popup{grid-template-columns:1fr;gap:18px;padding:56px 22px 22px}body.theme-panorama .idle-popup-artisan img{height:150px;min-height:0}body.theme-panorama .idle-popup h2{font-size:1.6rem}body.theme-panorama .idle-popup p{font-size:.95rem}}
body.theme-panorama .idle-popup{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);border-top:1px solid var(--line)}
@media(max-width:600px){body.theme-panorama .idle-popup{grid-template-columns:1fr}}

/* Compact navigation and readable project cards on every route. */
body.theme-panorama .site-header{box-sizing:border-box;width:100%;max-width:none;padding:18px max(24px,calc((100% - var(--theme-container))/2));display:flex;flex-wrap:nowrap;align-items:center;gap:24px}
body.theme-panorama .site-header .brand{font-size:21px;line-height:1.15;flex:0 1 300px;max-width:300px;gap:10px}
body.theme-panorama .site-header .house-mark{width:34px;height:34px;flex-shrink:0}
body.theme-panorama .site-header nav{display:flex;align-items:center;justify-content:flex-end;flex:1;gap:18px;width:auto;font-size:14px}
body.theme-panorama .site-header nav a{white-space:nowrap}
body.theme-panorama .site-header nav .btn{padding:12px 16px;font-size:14px;min-height:44px;gap:12px;width:auto}
body.theme-panorama .profile-quote-copy :is(h2,p,small,strong,.hero-proof-summary){color:var(--ink)}
body.theme-panorama .profile-quote-copy :is(.quote-reassurance p,.quote-reassurance span,.hero-proof,.hero-proof-summary){color:var(--muted)}
body.theme-panorama .profile-quote-copy .quote-reassurance .home-icon{color:var(--primary)}
body.theme-panorama .profile-quote-copy .btn{color:#fff}
body.theme-panorama .profile-quote-copy{padding:24px}
body.theme-panorama .profile-quote-copy h2{font-size:25px;line-height:1.2;margin:0 0 16px}
body.theme-panorama .theme-inner-layout{gap:32px;align-items:start;margin-top:40px}
body.theme-panorama .theme-inner-layout .profile-details-main{min-width:0}
body.theme-panorama .theme-inner-section>.section{margin:0 0 32px;padding:28px;border:1px solid var(--line);border-radius:var(--theme-radius);background:#fff}
body.theme-panorama .theme-inner-section h2{font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.2}
body.theme-panorama .local-data-summary>div{padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--theme-radius)}
body.theme-panorama .local-data-summary dd{margin:12px 0 0}
body.theme-panorama .local-data-summary strong{font-size:1.8rem}
body.theme-panorama .local-data-source{border-top:1px solid var(--line);padding-top:16px;font-size:.85rem;line-height:1.6}
body.theme-panorama .local-data-details{padding:16px 0;border-block:1px solid var(--line)}
body.theme-panorama .local-data-details summary{min-height:44px;cursor:pointer}
@media(max-width:1050px){body.theme-panorama .site-header{gap:18px;padding-inline:24px}body.theme-panorama .site-header .brand{flex-basis:230px;font-size:18px}body.theme-panorama .site-header nav{gap:12px;font-size:13px}body.theme-panorama .site-header nav .btn{font-size:13px;padding:10px 12px}}
@media(max-width:800px){body.theme-panorama .site-header{display:block;padding:16px 20px}body.theme-panorama .site-header .brand{max-width:100%;font-size:20px;margin-bottom:16px}body.theme-panorama .site-header nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:12px;text-align:center}body.theme-panorama .site-header nav a{white-space:normal}body.theme-panorama .site-header nav .btn{grid-column:1/-1;justify-content:center}body.theme-panorama .theme-inner-layout{display:flex;flex-direction:column;gap:24px}body.theme-panorama .theme-inner-layout>.profile-quote-card,body.theme-panorama .theme-inner-layout>.profile-details-main{width:100%;box-sizing:border-box;position:static}body.theme-panorama .theme-inner-section>.section{padding:20px}}
body.theme-panorama .theme-quote-top{display:flex;flex-direction:column}
body.theme-panorama .theme-quote-top>.profile-details-main{width:100%}
body.theme-panorama .theme-quote-top>.profile-quote-card{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(0,2fr);width:100%;position:static;background:#fff;border:1px solid var(--line);border-left:1px solid var(--line)}
body.theme-panorama .theme-quote-top .profile-quote-photo img{height:100%;min-height:260px}
body.theme-panorama .theme-quote-top .profile-quote-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:12px 28px;align-items:center}
body.theme-panorama .theme-quote-top .profile-quote-copy h2{grid-column:1;grid-row:1;margin:0}
body.theme-panorama .theme-quote-top .profile-quote-copy>p{grid-column:1;grid-row:2;margin:0}
body.theme-panorama .theme-quote-top .profile-quote-copy>.btn{grid-column:2;grid-row:1 / span 2;margin:0}
body.theme-panorama .theme-quote-top .profile-quote-copy>.hero-proof{grid-column:2;grid-row:3;margin:0}
body.theme-panorama .theme-quote-top .profile-quote-copy>.quote-reassurance{grid-column:1;grid-row:3;margin:0}
body.theme-panorama .local-data-summary{display:block}
body.theme-panorama .local-data-summary>div{display:grid;grid-template-columns:1fr 1fr;border-radius:0;border-width:0 0 1px;background:none;gap:20px;align-items:center}
body.theme-panorama .local-data-summary dd{margin:0}
@media(max-width:800px){body.theme-panorama .theme-quote-top>.profile-quote-card{display:block}body.theme-panorama .theme-quote-top .profile-quote-photo img{height:160px;min-height:0}body.theme-panorama .theme-quote-top .profile-quote-copy{display:block}body.theme-panorama .theme-quote-top .profile-quote-copy :is(.btn,.hero-proof,.quote-reassurance){margin-top:18px}}
@media(max-width:450px){body.theme-panorama .local-data-summary{display:block}body.theme-panorama .local-data-summary>div{margin-bottom:10px}}

body.theme-panorama .idle-popup .idle-popup-proof :is(p,strong,.proof-rating,.hero-proof-summary){color:var(--muted)}
@media(max-width:700px){body.theme-panorama .site-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px}body.theme-panorama .site-header .brand{flex:1;max-width:calc(100% - 56px);font-size:18px;line-height:1.15;margin:0}body.theme-panorama .site-header nav{display:flex;flex-direction:column;width:100%;flex-basis:100%;align-items:stretch;font-size:15px;text-align:left}body.theme-panorama .site-header nav[hidden]{display:none!important}body.theme-panorama .site-header nav .btn{display:flex;justify-content:center}}

body.theme-panorama .local-hero .profile-correction{color:var(--primary)}
body.theme-panorama .registry-leaders{margin:0;padding:0;list-style:none}
body.theme-panorama .registry-leaders li+li{margin-top:8px}
body.theme-panorama .theme-inner-section .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.theme-panorama .card:not(:where(.atelier-calculator .card)){position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:12px 18px;padding:22px;min-height:0;align-items:start;box-shadow:none}
body.theme-panorama .card:not(:where(.atelier-calculator .card)) h3{grid-column:1;margin:0;font-size:21px;line-height:1.3;overflow-wrap:anywhere}
body.theme-panorama .card:not(:where(.atelier-calculator .card)) p{grid-column:1;margin:0;font-size:14px;line-height:1.6}
body.theme-panorama .card:not(:where(.atelier-calculator .card))>span[aria-hidden]{grid-column:2;grid-row:1 / span 2;align-self:center;display:grid;place-items:center;width:34px;height:34px;font-size:0;color:var(--primary);border-radius:50%;background:var(--accent)}
body.theme-panorama .card:not(:where(.atelier-calculator .card))>span[aria-hidden]::after{content:"";width:8px;height:8px;border:solid currentColor;border-width:2px 2px 0 0;transform:rotate(45deg);margin-right:3px}
body.theme-panorama .card:not(:where(.atelier-calculator .card)):hover{background:var(--paper);border-color:var(--primary);transform:none;box-shadow:none}
@media(max-width:600px){body.theme-panorama .theme-inner-section .grid{grid-template-columns:1fr}body.theme-panorama .card:not(:where(.atelier-calculator .card)){padding:18px}}
body.theme-panorama .theme-inner-section .grid{grid-template-columns:1fr}
body.theme-panorama .card:not(:where(.atelier-calculator .card)){border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;align-items:center}
body.theme-panorama .card:not(:where(.atelier-calculator .card)) p{grid-column:2;grid-row:1}
body.theme-panorama .card:not(:where(.atelier-calculator .card))>span[aria-hidden]{grid-column:3;grid-row:1;border-radius:3px;border:1px solid var(--primary);background:none}
@media(max-width:600px){body.theme-panorama .card:not(:where(.atelier-calculator .card)){grid-template-columns:minmax(0,1fr) 36px}body.theme-panorama .card:not(:where(.atelier-calculator .card)) p{grid-column:1;grid-row:2}body.theme-panorama .card:not(:where(.atelier-calculator .card))>span[aria-hidden]{grid-column:2;grid-row:1 / span 2}}

/* Site 003: architectural photography, white surfaces and oval blue actions.
   Kingspan is visual inspiration only; identity and directory content stay local. */
body.theme-panorama{--primary:#064b8e;--cta:#064b8e;--cta-hover:#003b72;--paper:#fff;--ink:#15324c;--muted:#536777;--line:#cbd6df;--accent:#e9f1f7;background:var(--paper)}
body.theme-panorama :is(h1,h2,h3){font-weight:600;letter-spacing:-.035em}
body.theme-panorama .site-header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);padding-block:16px}
body.theme-panorama .site-header :is(a,.brand){color:var(--primary)}
body.theme-panorama .site-header nav .btn{color:#fff}
body.theme-panorama .brand{font-weight:700}
body.theme-panorama :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) :is(.btn,.editor-contact button){border-radius:999px;min-height:48px;padding:13px 26px;font-weight:650;letter-spacing:.015em;transition:background-color .18s,border-color .18s}
body.theme-panorama :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) :is(.btn,.editor-contact button):hover{background:#003b72;border-color:#003b72;filter:none}
body.theme-panorama .btn.btn-secondary{background:transparent;color:var(--primary);border-color:var(--primary)}
body.theme-panorama .btn.btn-secondary:hover{background:var(--accent);color:var(--primary)}
body.theme-panorama.page-home .home-hero{position:relative;isolation:isolate;border:0;overflow:hidden;background:#102d48}
body.theme-panorama.page-home .home-hero .hero-inner{position:relative;min-height:650px;display:flex;align-items:center;max-width:var(--theme-container);margin:auto}
body.theme-panorama.page-home .theme-hero-media{position:absolute;inset:0 calc((100% - 100vw)/2);z-index:-2}
body.theme-panorama.page-home .theme-hero-media img{height:100%;width:100%;max-height:none;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center 55%}
body.theme-panorama.page-home .home-hero::after{display:block;content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,34,58,.94),rgba(8,34,58,.75) 48%,rgba(8,34,58,.12));pointer-events:none}
body.theme-panorama.page-home .hero-copy{max-width:760px;width:100%;padding:64px 40px 56px}
body.theme-panorama.page-home .home-hero h1{font-size:clamp(2.25rem,3.7vw,3.5rem);font-weight:550;line-height:1.12;max-width:700px}
body.theme-panorama.page-home .home-hero h1 em{font-weight:550;font-style:normal;color:#fff}
body.theme-panorama.page-home .hero-copy>p:not(.eyebrow){max-width:55ch;line-height:1.6}
body.theme-panorama.page-home .home-hero .eyebrow{border:0;padding:0;font-weight:600;letter-spacing:.12em;color:#d3e4f2}
body.theme-panorama.page-home .hero-search{max-width:580px;margin:24px 0 18px}
body.theme-panorama.page-home .search-field{border-radius:8px;min-height:56px;font-size:1rem}
body.theme-panorama.page-home .hero-proof{margin-top:24px;font-size:.875rem}
body.theme-panorama.page-home .section{margin-block:64px;padding-block:16px}
body.theme-panorama :is(.local-hero,.profile-hero){border:1px solid #385770;border-radius:12px;background:#102d48}
body.theme-panorama :is(.local-hero,.profile-hero)::before{background:rgba(8,34,58,.85)}
body.theme-panorama .profile-hero h1{font-size:clamp(2rem,3.5vw,3.25rem);font-weight:550;line-height:1.15;text-transform:none;letter-spacing:-.035em}
body.theme-panorama .profile-hero h1 strong{font-weight:650}
body.theme-panorama .profile-hero .local-copy{padding-right:24px}
body.theme-panorama .profile-hero .profile-correction{color:#fff}
body.theme-panorama :is(.card:not(:where(.atelier-calculator .card)),.service-card,.expertise-card,.step-card,.testimonial-card,.directory-card,.profile-quote-card,.idle-popup){border:1px solid var(--line);border-radius:12px}
body.theme-panorama .theme-inner-section .grid{gap:12px}
body.theme-panorama .card:not(:where(.atelier-calculator .card)){border:1px solid var(--line);border-radius:10px}
body.theme-panorama .card:not(:where(.atelier-calculator .card))>span[aria-hidden]{border-radius:50%;width:36px;height:36px;border:1px solid var(--primary);color:var(--primary);background:#fff}
body.theme-panorama .card:not(:where(.atelier-calculator .card)):hover{background:#f5f8fb;border-color:var(--primary)}
body.theme-panorama .theme-quote-top>.profile-quote-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}
body.theme-panorama .theme-inner-section>.section{border-radius:12px}
body.theme-panorama :is(.profile-information,.profile-map,.profile-faq-list article,.quote-context,.editor-contact,.faq-list details,.local-stat-card){border-radius:12px}
body.theme-panorama .home-icon-badge{border-radius:50%;background:var(--accent)}
body.theme-panorama .site-footer{border-top:1px solid #385770;background:#102d48}
body.theme-panorama .network-band{background:#f5f8fb}
body.theme-panorama .idle-popup{border:1px solid var(--line);background:#fff}
@media(max-width:800px){body.theme-panorama .profile-hero .local-copy{padding-right:0}}
@media(max-width:700px){
 body.theme-panorama.page-home .home-hero .hero-inner{min-height:0}
 body.theme-panorama.page-home .hero-copy{padding-block:40px 36px}
 body.theme-panorama.page-home .home-hero h1{font-size:2.25rem;line-height:1.12}
 body.theme-panorama.page-home .home-hero::after{background:rgba(8,34,58,.83)}
 body.theme-panorama.page-home .hero-copy>p:not(.eyebrow){font-size:1rem}
 body.theme-panorama.page-home .section{margin-block:40px}
 body.theme-panorama .profile-hero h1{font-size:2rem}
 body.theme-panorama :is(.local-hero,.profile-hero){border:0;border-radius:0}
 body.theme-panorama .site-header .menu-toggle{color:var(--primary);border-color:var(--line);background:#fff}
}
/* Reset inherited decorative circles so the image shade covers the entire hero. */
body.theme-panorama.page-home .home-hero::after{width:auto;height:auto;max-width:none;border:0;box-shadow:none;border-radius:0;transform:none;opacity:1;margin:0;inset:0}
body.theme-panorama .profile-hero :is(h1 strong,.profile-badge){color:#fff}
body.theme-panorama .profile-badge::before{display:none}
/* Carry the site palette into the shared calculator without altering its math. */
body.theme-panorama .atelier-calculator :is(.atelier-input-panel,.atelier-output-panel){border:1px solid var(--line);border-radius:12px;background:#f5f8fb}
body.theme-panorama .atelier-calculator .atelier-output-panel{background:#fff}
body.theme-panorama .atelier-calculator :is(input,select){border-color:#a5b9ca}
body.theme-panorama .atelier-calculator .atelier-tool{border-radius:999px;border-color:var(--line);padding-inline:20px}
body.theme-panorama .atelier-calculator .atelier-pdf:hover{background:#003b72}
body.theme-panorama .atelier-calculator .atelier-table-details thead th{background:#e9f1f7}
body.theme-panorama .atelier-calculator .atelier-table-details tbody tr:nth-child(even){background:#f5f8fb}
body.theme-panorama .atelier-calculator .atelier-table-details tbody tr.cross{background:#dce9f4}
/* Keep tablet navigation on one row until the existing 700px mobile menu. */
@media(min-width:701px) and (max-width:800px){
 body.theme-panorama .site-header{display:flex;flex-wrap:nowrap;gap:16px;padding:16px 24px}
 body.theme-panorama .site-header .brand{flex:0 1 200px;max-width:200px;margin:0;font-size:18px}
 body.theme-panorama .site-header nav{display:flex;flex-direction:row;flex-wrap:nowrap;flex:1;width:auto;gap:12px;font-size:13px;align-items:center;justify-content:flex-end;text-align:left}
 body.theme-panorama .site-header nav a{white-space:nowrap}
 body.theme-panorama .site-header nav .btn{padding:10px 12px;font-size:13px;min-height:44px}
}
/* Secondary actions must win the same cascade as primary actions in every state. */
body.theme-panorama :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) .btn.btn-secondary{background:transparent;color:var(--primary);border-color:var(--primary)}
body.theme-panorama :is(.site-header,.site-main,.sticky-quote,.site-footer,.idle-popup) .btn.btn-secondary:hover{background:var(--accent);color:var(--primary);border-color:var(--primary)}
@media(max-width:900px){body.theme-panorama .professionals-action{flex-direction:column;align-items:stretch;gap:20px}body.theme-panorama .professionals-action .project-profile-portraits{flex-wrap:wrap;row-gap:4px}}

/* Site 003: territorial navigation uses deep blue surfaces and yellow actions. */
body.theme-panorama .directory-card{background:#064b8e;border:1px solid #064b8e;border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:28px;color:#fff;min-width:0;transition:background-color .18s}
body.theme-panorama .directory-card :is(h3,p,.directory-counts,.directory-counts strong){color:#fff}
body.theme-panorama .directory-card h3{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:650;line-height:1.3}
body.theme-panorama .directory-card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
body.theme-panorama .directory-card-heading>span[aria-hidden]{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;background:#ffd65b;border:1px solid #ffd65b;border-radius:50%;color:#15324c;font-size:1.5rem;line-height:1}
body.theme-panorama .directory-card .directory-counts{line-height:1.65;opacity:.92}
body.theme-panorama .directory-card:hover{background:#003b72;border-color:#003b72;transform:none}
/* Distinct local composition. DOM remains text then widget for small screens. */
body.theme-panorama .profile-hero{border:1px solid #b6cadc;border-radius:28px;padding:32px;gap:40px;overflow:visible;background:#064b8e}
body.theme-panorama .profile-hero::before{inset:0;border-radius:28px;background:linear-gradient(135deg,rgba(3,43,83,.96),rgba(6,75,142,.91));pointer-events:none}
body.theme-panorama .profile-hero .profile-background{inset:0;overflow:hidden;border-radius:28px}
body.theme-panorama .profile-hero .local-copy{min-width:0;padding:16px 0;align-self:center}
body.theme-panorama .profile-hero h1{font-size:clamp(2rem,3vw,3rem);line-height:1.13;margin:24px 0}
body.theme-panorama .profile-hero .profile-badge{border:1px solid #8eafd0;border-radius:999px;padding:8px 14px;background:transparent;font-size:.75rem;letter-spacing:.08em}
body.theme-panorama .profile-hero .profile-intro{max-width:55ch;line-height:1.75}
body.theme-panorama .profile-hero>.quote-panel{border:1px solid #d4dfe8;border-radius:22px;padding:20px 12px 8px;min-width:0;width:100%;box-sizing:border-box}
body.theme-panorama .profile-hero .search-field{border-radius:999px}
@media(min-width:801px){
 body.theme-panorama .profile-hero{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:start}
 body.theme-panorama .profile-hero>.quote-panel{grid-column:1;grid-row:1}
 body.theme-panorama .profile-hero>.local-copy{grid-column:2;grid-row:1}
}
/* Preserve quote-ui.js's veil stacking across every local page family. */
body.theme-panorama .profile-hero.quote-hover-hero{isolation:auto}
body.theme-panorama .profile-hero.quote-hover-hero::before{z-index:1}
body.theme-panorama .profile-hero.quote-hover-hero .profile-background{z-index:0}
body.theme-panorama .profile-hero.quote-hover-hero>.local-copy{position:relative;z-index:2}
body.theme-panorama .profile-hero.quote-hover-hero>.quote-panel{position:relative;z-index:101}
body.theme-panorama>.quote-hover-veil{background:rgb(0 0 0 / .85)}
/* Professional rows keep address and sourced creation year together. */
body.theme-panorama .card:not(:where(.atelier-calculator .card)){grid-template-columns:minmax(0,1fr) 48px;gap:12px 24px;padding:26px;border:1px solid #cbd6df;border-radius:20px;align-items:center;background:#f5f8fb}
body.theme-panorama .card:not(:where(.atelier-calculator .card)) h3{grid-column:1;grid-row:1;font-size:1.25rem}
body.theme-panorama .card:not(:where(.atelier-calculator .card)) p{grid-column:1;grid-row:auto;color:#536777;font-size:1rem;line-height:1.65}
body.theme-panorama .card:not(:where(.atelier-calculator .card))>span[aria-hidden]{grid-column:2;grid-row:1 / span 3;display:grid;place-items:center;align-self:center;width:48px;height:48px;border:1px solid #ffd65b;border-radius:50%;background:#ffd65b;color:#15324c}
body.theme-panorama .card:not(:where(.atelier-calculator .card))>span[aria-hidden]::after{width:9px;height:9px;margin:0 3px 0 0;transform:rotate(45deg)}
body.theme-panorama .card:not(:where(.atelier-calculator .card)):hover{background:#e9f1f7;border-color:#98b3ca}
body.theme-panorama .nearby-professionals-town{padding-block:24px;border-bottom:1px solid #dce5ed}
body.theme-panorama .nearby-professionals-town:last-child{border-bottom:0}
body.theme-panorama .nearby-professionals-town>p>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid #b6cadc;border-radius:999px;background:#e9f1f7;color:#064b8e;font-weight:650;text-decoration:none;line-height:1.4}
body.theme-panorama .nearby-professionals-town>p>a:hover{background:#d9e8f4;border-color:#064b8e}
@media(max-width:800px){
 body.theme-panorama .profile-hero{grid-template-columns:1fr;gap:24px;padding:24px 20px;border-radius:24px}
 body.theme-panorama .profile-hero::before,body.theme-panorama .profile-hero .profile-background{border-radius:24px}
 body.theme-panorama .profile-hero>.local-copy,body.theme-panorama .profile-hero>.quote-panel{grid-column:auto;grid-row:auto}
 body.theme-panorama .profile-hero>.quote-panel{width:100%;margin-inline:0;border-radius:20px}
 body.theme-panorama .profile-hero .local-copy{padding:0}
 body.theme-panorama .profile-hero h1{font-size:2rem}
}
@media(max-width:600px){
 body.theme-panorama .directory-card{padding:22px;border-radius:20px;gap:24px}
 body.theme-panorama .card:not(:where(.atelier-calculator .card)){padding:20px;gap:12px 16px}
 body.theme-panorama .nearby-professionals-town>p>a{width:100%;box-sizing:border-box;text-align:center}
}
