/* Full CLG concept layout; theme colors remain controlled by Joomla's selector. */
body.clg-professional { --clg-trim:var(--clg-accent); --clg-radius:6px; }
body.clg-professional.clg-concept .clg-shell { max-width:1360px; }
body.clg-professional.clg-concept .clg-header .clg-shell { display:block; min-height:0; padding:14px 0 0; }
body.clg-professional.clg-concept .clg-brand-banner { display:block; width:100%; max-width:1100px; margin:0 auto; }
body.clg-professional.clg-concept .clg-brand-banner img { display:block; width:100%; height:auto; object-fit:contain; border:1px solid var(--clg-border); border-bottom:0; border-radius:10px 10px 0 0; }
body.clg-professional.clg-concept .clg-header-contact { display:none; }
.clg-professional .clg-topbar .clg-shell { min-height:32px; }
.clg-professional .clg-topbar .clg-top-phone { color:var(--clg-text); font-weight:700; margin-left:12px; letter-spacing:0; text-decoration:none; }
.clg-professional #menu_row>.inner { max-width:1424px; }
.clg-professional #menu_wrapper { border-bottom:1px solid var(--clg-border); }
.clg-professional #menu>.inner { padding:4px 0; }
.clg-professional #menu ul.nav>li>a { padding:10px 20px; }
.clg-professional #center>.inner { box-shadow:0 12px 40px #0002; }
.clg-professional .clg-concept-home { color:var(--clg-text); }
.clg-professional .clg-concept-home>section { width:calc(100% - 64px); max-width:1360px; margin:0 auto; }
.clg-professional .clg-concept-home .clg-concept-hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:354px; padding:40px 44px; overflow:hidden; border-bottom:1px solid var(--clg-border); }
.clg-concept-hero .clg-concept-art { position:absolute; z-index:-2; inset:0; display:block; width:100%; height:100%; }
.clg-concept-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.clg-concept-hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,var(--clg-bg) 0%,color-mix(in srgb,var(--clg-bg) 94%,transparent) 28%,color-mix(in srgb,var(--clg-bg) 55%,transparent) 48%,transparent 72%); }
.clg-concept-copy { max-width:530px; width:48%; }
.clg-concept-home :is(p,h1,h2,h3,figure) { padding:0; margin:0; }
.clg-concept-copy .clg-concept-eyebrow { display:flex; align-items:center; gap:16px; color:var(--clg-muted); font-size:10px; font-weight:600; letter-spacing:.22em; margin-bottom:18px; }
.clg-concept-eyebrow::after { content:""; height:1px; width:85px; background:var(--clg-trim); }
.clg-professional #center .clg-concept-copy h1 { font-size:25px!important; line-height:1.25!important; letter-spacing:-.4px; margin:0 0 14px; }
.clg-concept-copy .clg-concept-lead { font-size:17px; line-height:1.6; color:var(--clg-text); max-width:480px; }
.clg-concept-copy .clg-concept-appointment { display:flex; gap:13px; align-items:center; border:1px solid var(--clg-border); background:color-mix(in srgb,var(--clg-panel) 83%,transparent); border-radius:4px; padding:12px 15px; margin:18px 0; font-size:14px; }
.clg-concept-appointment svg { width:23px; height:23px; flex:none; color:var(--clg-trim); }
.clg-concept-home .clg-actions { gap:12px; margin:18px 0 0; }
.clg-concept-home .clg-button { min-height:46px; padding:11px 18px; font-size:13px; gap:12px; }
.clg-concept-home .clg-button svg { width:19px; height:19px; }
.clg-professional .clg-concept-home .clg-concept-services { padding:18px 12px; }
#clg-services { scroll-margin-top:80px; }
.clg-concept-services .clg-concept-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.clg-concept-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--clg-border); border-radius:var(--clg-radius); background:linear-gradient(130deg,var(--clg-raised),var(--clg-panel)); box-shadow:0 8px 20px #0002; }
.clg-concept-card>a.clg-card-art { display:block; overflow:hidden; }
.clg-card-art img { display:block; width:100%; height:148px; object-fit:cover; transition:transform .25s ease; }
.clg-card-art:hover img { transform:scale(1.035); }
.clg-concept-card-body { display:grid; grid-template-columns:34px 1fr; gap:14px; padding:19px 21px 18px; flex:1; }
.clg-concept-card-body>svg { color:var(--clg-accent); width:32px; height:32px; margin-top:2px; }
.clg-concept-card h2,.clg-professional #center .clg-concept-card h2 { font-size:18px!important; line-height:1.4!important; margin:0 0 8px; }
.clg-concept-card h2 a { color:var(--clg-text); text-decoration:none; }
.clg-concept-card h2 a:hover { color:var(--clg-accent); }
.clg-concept-card p { font-size:13px; line-height:1.7; color:var(--clg-muted); }
.clg-concept-card .clg-card-action { display:inline-block; font-size:12px; font-weight:700; margin-top:13px; text-decoration:none; }
.clg-professional .clg-concept-home .clg-concept-visit { display:flex; gap:26px; align-items:center; padding:21px 28px; width:calc(100% - 88px); max-width:1336px; background:linear-gradient(105deg,var(--clg-raised),var(--clg-panel)); border:1px solid var(--clg-border); border-bottom:2px solid var(--clg-trim); border-radius:var(--clg-radius); }
.clg-concept-visit>svg { width:33px; height:33px; flex:none; color:var(--clg-trim); }
.clg-concept-visit h2,.clg-professional #center .clg-concept-visit h2 { font-size:19px!important; white-space:nowrap; }
.clg-concept-visit p { font-size:13px; color:var(--clg-muted); border-left:1px solid var(--clg-border); padding-left:26px; flex:1; }
.clg-concept-visit>a { font-size:13px; font-weight:700; white-space:nowrap; text-decoration:none; }
.clg-professional .clg-concept-home .clg-real-work { padding:55px 12px 45px; }
.clg-real-work .clg-section-heading { align-items:center; margin-bottom:24px; }
.clg-real-work .clg-eyebrow { color:var(--clg-accent); margin-bottom:8px!important; }
.clg-professional #center .clg-real-work h2 { font-size:24px!important; }
.clg-real-work .clg-section-heading>p { max-width:460px; font-size:14px; color:var(--clg-muted); }
.clg-real-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.clg-real-grid figure { overflow:hidden; border:1px solid var(--clg-border); border-radius:var(--clg-radius); background:var(--clg-panel); }
.clg-real-grid img { display:block; width:100%; height:200px; object-fit:cover; }
.clg-real-grid figcaption { padding:17px 18px; }
.clg-real-grid strong { display:block; font-size:15px; margin-bottom:6px; color:var(--clg-text); }
.clg-real-grid span { display:block; font-size:12px; line-height:1.65; color:var(--clg-muted); }
.clg-real-work .clg-real-links { display:flex; flex-wrap:wrap; gap:24px; margin-top:22px; font-size:13px; font-weight:700; }
.clg-professional .clg-concept-home .clg-process { padding:32px; margin-bottom:40px; }
.clg-professional .clg-concept-home .clg-visit { padding:32px 36px; }
.clg-professional .clg-concept-home .clg-more { padding:38px 12px; }
.clg-concept-home .clg-image-note { color:var(--clg-muted); font-size:11px; max-width:1360px; margin:0 auto; padding:0 12px 18px; width:calc(100% - 64px); }
@media(min-width:1100px) { .clg-professional #menu ul.nav { display:flex; align-items:center; justify-content:space-between; } }
@media(max-width:1100px) {
 .clg-concept-copy { width:55%; }
 .clg-professional .clg-concept-home .clg-concept-hero { padding:32px 26px; }
 .clg-concept-card-body { grid-template-columns:26px 1fr; gap:10px; padding:16px; }
 .clg-concept-card-body>svg { width:26px; height:26px; }
 .clg-real-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .clg-concept-visit { flex-wrap:wrap; }
 .clg-concept-visit>a { margin-left:auto; }
}
@media(max-width:758px) {
 body.clg-professional.clg-concept .clg-header .clg-shell { padding:10px 0 0; }
 body.clg-professional.clg-concept .clg-brand-banner img { height:auto; aspect-ratio:1280/283; object-fit:contain; border-radius:5px 5px 0 0; }
 .clg-topbar .clg-top-phone { display:none; }
 .clg-professional .clg-concept-home>section { width:calc(100% - 36px); }
 .clg-professional .clg-concept-home .clg-concept-hero { min-height:0; padding:230px 0 26px; display:block; }
 .clg-concept-hero .clg-concept-art { height:240px; }
 .clg-concept-art img { object-position:68% 58%; }
 .clg-concept-hero::after { background:linear-gradient(0deg,var(--clg-bg) 0%,var(--clg-bg) calc(100% - 230px),transparent calc(100% - 175px)); }
 .clg-concept-copy { width:100%; max-width:none; }
 .clg-concept-copy .clg-concept-eyebrow { font-size:9px; letter-spacing:.15em; margin-bottom:12px; }
 .clg-concept-copy .clg-concept-lead { font-size:16px; }
 .clg-concept-home .clg-actions .clg-button { flex:1 1 145px; font-size:12px; }
 .clg-professional .clg-concept-home .clg-concept-services { padding:0 0 20px; }
 .clg-concept-services .clg-concept-grid { grid-template-columns:1fr; gap:16px; }
 .clg-card-art img { height:180px; }
 .clg-concept-card-body { padding:20px; grid-template-columns:30px 1fr; }
 .clg-professional .clg-concept-home .clg-concept-visit { width:calc(100% - 36px); padding:20px; gap:14px; }
 .clg-concept-visit p { border:0; padding:0; flex-basis:100%; }
 .clg-concept-visit>a { margin-left:0; }
 .clg-professional .clg-concept-home .clg-real-work { padding:36px 0; }
 .clg-real-grid { gap:12px; }
 .clg-real-grid img { height:160px; }
 .clg-real-grid figcaption { padding:13px; }
 .clg-real-grid strong { font-size:13px; }
 .clg-real-grid span { font-size:12px; }
 .clg-professional .clg-concept-home .clg-process { padding:24px 20px; }
 .clg-professional .clg-concept-home .clg-visit { padding:24px 20px; }
 .clg-professional .clg-concept-home .clg-more { padding:30px 0; }
 .clg-concept-home .clg-image-note { width:calc(100% - 36px); padding:0 0 16px; }
}
@media(max-width:420px) { .clg-real-grid { grid-template-columns:1fr; } .clg-real-grid img { height:240px; } }
@media(prefers-reduced-motion:reduce) { .clg-card-art img { transition:none; } }
