:root{--ll-primary:#102a3a;--ll-accent:#f2a31b;--ll-paper:#fff;--ll-mist:#f4f7f8;--ll-muted:#60727d;--ll-line:#dce4e8;--ll-radius:18px;--ll-shadow:0 18px 50px rgba(16,42,58,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#162731;background:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ll-shell{width:min(1180px,calc(100% - 40px));margin:auto}.ll-skip{position:absolute;left:-9999px}.ll-skip:focus{left:20px;top:20px;z-index:9999;background:#fff;padding:10px}.ll-topbar{background:var(--ll-primary);color:#dce7ed;font-size:13px}.ll-topbar .ll-shell{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.ll-topbar a{color:#fff;text-decoration:none;font-weight:700}.ll-site-header{position:sticky;top:0;background:#fff;z-index:100;box-shadow:0 1px 0 var(--ll-line)}.admin-bar .ll-site-header{top:32px}.ll-nav-row{min-height:78px;display:flex;align-items:center;gap:26px}.ll-brand{display:flex;align-items:center;text-decoration:none;color:var(--ll-primary);margin-right:auto}.ll-brand strong{font-size:20px}.ll-brand .custom-logo{max-height:58px;width:auto}.ll-primary-nav .ll-menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.ll-primary-nav a{text-decoration:none;font-weight:750;color:var(--ll-primary)}.ll-primary-nav .sub-menu{position:absolute;display:none;background:#fff;padding:14px;list-style:none;box-shadow:var(--ll-shadow);border-radius:12px;min-width:220px}.ll-primary-nav li{position:relative}.ll-primary-nav li:hover>.sub-menu,.ll-primary-nav li:focus-within>.sub-menu{display:block}.ll-header-cta,.wp-element-button,.ll-submit{background:var(--ll-accent);color:#111!important;border:0;border-radius:10px;padding:12px 18px;font-weight:850;text-decoration:none;cursor:pointer}.ll-menu-toggle{display:none}.ll-main{min-height:55vh}.ll-content>.wp-block-group.alignfull:first-child{margin-top:0}.ll-section{padding-top:76px!important;padding-bottom:76px!important}.ll-hero{background:linear-gradient(120deg,var(--ll-primary),#1b526d);color:#fff}.ll-hero a{color:inherit}.ll-eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--ll-accent)}.ll-card{background:#fff;color:#162731;border:1px solid var(--ll-line);border-radius:var(--ll-radius);padding:26px;box-shadow:var(--ll-shadow)}.ll-area-chips{display:flex;flex-wrap:wrap;gap:10px}.ll-area-chips span{background:#fff;border:1px solid var(--ll-line);padding:10px 14px;border-radius:999px;font-weight:700}.ll-quote-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ll-quote-form label{display:block}.ll-quote-form label span{display:block;font-size:12px;font-weight:800;margin-bottom:5px}.ll-quote-form input,.ll-quote-form select,.ll-quote-form textarea{width:100%;border:1px solid #cbd6db;border-radius:9px;padding:11px 12px;font:inherit}.ll-form-full,.ll-submit{grid-column:1/-1}.ll-hp{position:absolute;left:-9999px}.ll-alert{padding:10px 12px;border-radius:8px;margin-bottom:12px}.ll-alert-success{background:#eaf8ee}.ll-alert-error{background:#fff0f0}.ll-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ll-review{background:#fff;border:1px solid var(--ll-line);border-radius:var(--ll-radius);padding:24px}.ll-stars{color:#d38b00;letter-spacing:2px}.ll-site-footer{background:#091923;color:#d7e1e6;padding:58px 0 24px;margin-top:70px}.ll-site-footer a{color:#fff}.ll-footer-grid{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(150px,1fr));gap:40px}.ll-footer-grid h2,.ll-footer-grid h3{color:#fff}.ll-footer-grid ul{list-style:none;padding:0}.ll-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;font-size:13px;color:#9cafb8}.ll-mobile-cta{display:none}.ll-singular,.ll-archive{padding:70px 0}.ll-singular{max-width:850px}.ll-featured{width:100%;height:auto;border-radius:var(--ll-radius)}.ll-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ll-project-card{border:1px solid var(--ll-line);padding:20px;border-radius:var(--ll-radius)}.ll-project-card img{width:100%;height:auto;border-radius:12px}details.wp-block-details{border:1px solid var(--ll-line);border-radius:12px;padding:16px 18px;background:#fff;margin-bottom:10px}details.wp-block-details summary{font-weight:800;cursor:pointer}
.ll-map-section{overflow:hidden}.ll-map-card{background:#fff;border:1px solid var(--ll-line);border-radius:var(--ll-radius);overflow:hidden;box-shadow:var(--ll-shadow)}.ll-map-frame{line-height:0;background:#e9eef1}.ll-map-frame iframe{display:block;width:100%;min-height:320px}.ll-map-actions{padding:14px 16px;display:flex;justify-content:flex-end}.ll-google-button{display:inline-flex}.ll-map-placeholder{border:2px dashed var(--ll-line);background:#fff;padding:28px;border-radius:var(--ll-radius);color:var(--ll-muted)}
@media(max-width:900px){.ll-header-cta{display:none}.ll-menu-toggle{display:block;border:1px solid var(--ll-line);background:#fff;border-radius:8px;padding:9px 12px}.ll-primary-nav{display:none;position:absolute;top:78px;left:20px;right:20px;background:#fff;padding:18px;box-shadow:var(--ll-shadow);border-radius:12px}.ll-primary-nav.is-open{display:block}.ll-primary-nav .ll-menu{display:block}.ll-primary-nav .ll-menu>li{margin:10px 0}.ll-primary-nav .sub-menu{position:static;display:block;box-shadow:none;padding-left:18px}.ll-review-grid,.ll-project-grid{grid-template-columns:1fr 1fr}.ll-footer-grid{grid-template-columns:1fr 1fr}.ll-mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:120;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -6px 20px rgba(0,0,0,.12)}.ll-mobile-cta a{text-align:center;padding:14px;text-decoration:none;font-weight:900;background:var(--ll-primary);color:#fff}.ll-mobile-cta a:last-child{background:var(--ll-accent);color:#111}.ll-has-mobile-cta .ll-site-footer{padding-bottom:78px}}
@media(max-width:600px){.admin-bar .ll-site-header{top:46px}.ll-shell{width:min(100% - 28px,1180px)}.ll-topbar span{display:none}.ll-topbar .ll-shell{justify-content:center}.ll-quote-form,.ll-review-grid,.ll-project-grid,.ll-footer-grid{grid-template-columns:1fr}.ll-section{padding-top:54px!important;padding-bottom:54px!important}.ll-brand strong{font-size:17px}}
.ll-step-card{height:100%}.ll-step-number{font-size:13px;font-weight:900;letter-spacing:.12em;color:var(--ll-accent);margin:0 0 8px}.ll-text-link{font-weight:850;text-decoration:none}.ll-dynamic-section>h2{margin-top:.15em}.ll-projects-section,.ll-reviews-section{width:100%}

/* v1.6 visual content system */
.ll-section>.wp-block-heading{max-width:820px;line-height:1.12;letter-spacing:-.025em}
.ll-section>.wp-block-heading:first-of-type{margin-top:.2em}
.ll-section>p:not(.ll-eyebrow){max-width:820px;line-height:1.72;color:#435965}
.ll-section-lead{font-size:17px;max-width:840px!important}
.ll-section.has-mist-background-color{background:linear-gradient(180deg,#f6f9fb 0%,#f3f7f8 100%)}
.ll-problem-section{background:linear-gradient(180deg,#fbfdff 0%,#f4f8fb 100%);position:relative;overflow:hidden}
.ll-problem-section:before{content:"";position:absolute;left:-10%;right:-10%;top:-120px;height:230px;background:radial-gradient(ellipse at center,rgba(102,166,207,.10),rgba(255,255,255,0) 70%);pointer-events:none}
.ll-problem-section>.ll-eyebrow,.ll-problem-section>.wp-block-heading,.ll-problem-section>.ll-section-lead{text-align:center;margin-left:auto;margin-right:auto;position:relative;z-index:1}
.ll-problem-section>.wp-block-heading{font-size:clamp(30px,3.2vw,46px);max-width:900px}
.ll-card-grid{display:grid;gap:22px;margin-top:36px;align-items:stretch}
.ll-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ll-card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ll-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ll-service-card{background:#fff;border:1px solid rgba(16,42,58,.10);border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(16,42,58,.08);height:100%;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;display:flex;flex-direction:column}
.ll-service-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(16,42,58,.14);border-color:rgba(16,42,58,.16)}
.ll-service-card-image{margin:0!important;overflow:hidden;background:#e9eef1}
.ll-service-card-image img{display:block;width:100%;height:190px;object-fit:cover;transition:transform .35s ease}
.ll-service-card:hover .ll-service-card-image img{transform:scale(1.025)}
.ll-service-card-placeholder{height:190px;background:linear-gradient(135deg,var(--ll-primary),#2e6d8c);display:flex;align-items:flex-end;padding:22px;color:#fff;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.ll-service-card-body{padding:24px 24px 25px!important;display:flex;flex-direction:column;align-items:flex-start;flex:1;width:100%}
.ll-service-card-body .ll-card-kicker{font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#b66f00;margin:0 0 8px}
.ll-service-card-body h3{font-size:21px;line-height:1.2;letter-spacing:-.018em;margin:0 0 12px;color:var(--ll-primary)}
.ll-service-card-body>p:not(.ll-card-kicker){font-size:14.5px;line-height:1.62;color:#536772;margin:0 0 18px}
.ll-service-card-body>p:last-child{margin-top:auto;margin-bottom:0}
.ll-card-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:850;color:#0d5274;border-bottom:1px solid rgba(13,82,116,.28);padding-bottom:2px}
.ll-card-link span{color:#e98a00;font-size:19px;line-height:1}
.ll-card-link:hover{color:var(--ll-primary);border-color:var(--ll-accent)}
.ll-services-grid .ll-service-card-image img{height:210px}
.ll-service-feature>.wp-block-columns{align-items:center;gap:54px}
.ll-feature-image{margin:0!important;border-radius:22px;overflow:hidden;box-shadow:var(--ll-shadow);background:#e9eef1}
.ll-feature-image img{display:block;width:100%;height:420px;object-fit:cover}
.ll-feature-placeholder{min-height:380px;border-radius:22px;background:linear-gradient(135deg,var(--ll-primary),#2d6b8a);display:flex;align-items:flex-end;padding:28px;color:#fff;font-weight:900;font-size:24px;box-shadow:var(--ll-shadow)}
.ll-service-feature ul,.ll-section.has-mist-background-color ul{list-style:none;padding-left:0}
.ll-service-feature li,.ll-section.has-mist-background-color li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid rgba(16,42,58,.08)}
.ll-service-feature li:before,.ll-section.has-mist-background-color li:before{content:"✓";position:absolute;left:0;top:10px;color:#d98200;font-weight:900}
.ll-step-card{box-shadow:0 10px 28px rgba(16,42,58,.07)}
.ll-cta{border-radius:24px;margin-top:34px!important;margin-bottom:34px!important;box-shadow:0 18px 45px rgba(16,42,58,.10)}
.ll-cta.has-accent-background-color{background:linear-gradient(120deg,#f5ad31,#ee9712)!important}
.ll-hero{background:linear-gradient(118deg,#0c2a3b 0%,#164964 58%,#1e607d 100%);position:relative;overflow:hidden}
.ll-hero:after{content:"";position:absolute;width:520px;height:520px;border:85px solid rgba(255,255,255,.035);border-radius:50%;right:-170px;top:-210px;pointer-events:none}
.ll-hero>*{position:relative;z-index:1}
.ll-hero>.wp-block-heading{font-size:clamp(42px,5.4vw,72px);max-width:900px}
.ll-hero>p:not(.ll-eyebrow){font-size:18px;max-width:800px;color:#dce9ef}
.ll-hero .wp-block-buttons{margin-top:28px}
.ll-hero .is-style-outline .wp-block-button__link{color:#fff!important;border-color:rgba(255,255,255,.65)!important;background:rgba(255,255,255,.05)}
@media(max-width:1050px){.ll-card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-service-card-image img,.ll-services-grid .ll-service-card-image img{height:220px}}
@media(max-width:700px){.ll-card-grid--4,.ll-card-grid--3,.ll-card-grid--2{grid-template-columns:1fr}.ll-service-card-image img,.ll-services-grid .ll-service-card-image img{height:230px}.ll-service-feature>.wp-block-columns{gap:26px}.ll-feature-image img{height:300px}.ll-problem-section>.wp-block-heading{text-align:left}.ll-problem-section>.ll-eyebrow,.ll-problem-section>.ll-section-lead{text-align:left}.ll-card-grid{margin-top:26px}.ll-service-card-body{padding:22px!important}}


/* v1.7 homepage hero enquiry form */
.ll-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:64px;align-items:center;width:min(1180px,calc(100% - 40px));margin-left:auto!important;margin-right:auto!important}
.ll-hero-grid>.wp-block-column{min-width:0}
.ll-hero-copy>.wp-block-heading{font-size:clamp(42px,5vw,70px);line-height:1.02;letter-spacing:-.045em;margin-top:.15em;margin-bottom:.28em;max-width:760px}
.ll-hero-copy>p:not(.ll-eyebrow):not(.ll-hero-trust){font-size:18px;line-height:1.65;color:#dce9ef;max-width:720px}
.ll-hero-trust{display:flex;flex-wrap:wrap;gap:9px 18px!important;margin:24px 0 0!important;color:#fff!important;font-size:14px!important;font-weight:800}
.ll-hero-trust span{display:inline-flex;align-items:center;gap:5px}
.ll-hero-form-card{background:#fff;color:#162731;border-radius:24px;padding:30px!important;box-shadow:0 26px 65px rgba(0,0,0,.23);border:1px solid rgba(255,255,255,.2);position:relative;z-index:2}
.ll-hero-form-card .ll-hero-form-kicker{font-size:12px!important;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#b76d00!important;margin:0 0 6px}
.ll-hero-form-card>.wp-block-heading{color:var(--ll-primary);font-size:28px;line-height:1.12;letter-spacing:-.025em;margin:0 0 8px}
.ll-hero-form-card .ll-hero-form-intro{font-size:14px!important;line-height:1.55!important;color:#61727c!important;margin:0 0 20px!important}
.ll-hero-form-card .ll-hero-form-note{font-size:11px!important;line-height:1.45!important;color:#73838c!important;margin:10px 0 0!important}
.ll-hero-form-card .ll-quote-form{gap:10px}
.ll-hero-form-card .ll-quote-form label span{color:#314650;font-size:11px;margin-bottom:4px}
.ll-hero-form-card .ll-quote-form input,.ll-hero-form-card .ll-quote-form select,.ll-hero-form-card .ll-quote-form textarea{background:#f8fafb;border-color:#d7e0e4;padding:10px 11px;color:#162731;font-size:14px}
.ll-hero-form-card .ll-quote-form textarea{resize:vertical;min-height:82px}
.ll-hero-form-card .ll-submit{width:100%;min-height:48px;font-size:15px;margin-top:2px}
.ll-hero-form-card .ll-alert{font-size:13px}
@media(max-width:980px){.ll-hero-grid{grid-template-columns:1fr;gap:38px}.ll-hero-form-card{max-width:650px;width:100%}.ll-hero-copy>.wp-block-heading{max-width:850px}}
@media(max-width:600px){.ll-hero-grid{width:min(100% - 28px,1180px)}.ll-hero-form-card{padding:22px!important;border-radius:18px}.ll-hero-copy>.wp-block-heading{font-size:42px}.ll-hero-trust{display:grid;grid-template-columns:1fr}.ll-hero-form-card .ll-quote-form{grid-template-columns:1fr}.ll-hero-form-card .ll-form-full,.ll-hero-form-card .ll-submit{grid-column:auto}}


/* v1.8 cleaner service-card language + wider layouts */
.ll-card-grid.alignwide{width:min(1180px,calc(100vw - 40px));max-width:1180px;margin-left:50%!important;transform:translateX(-50%)}
.ll-service-overview>.ll-eyebrow,.ll-service-overview>.wp-block-heading,.ll-service-overview>.ll-section-lead{text-align:center;margin-left:auto;margin-right:auto}
.ll-service-overview>.wp-block-heading{font-size:clamp(30px,3.2vw,44px);max-width:900px}
.ll-service-card-body{padding:27px 26px 27px!important}
.ll-service-card-body h3{font-size:23px;line-height:1.18;margin:0 0 11px}
.ll-service-card-body>p{font-size:15px!important;line-height:1.62!important;color:#526873!important;margin:0 0 20px!important}
.ll-service-card-body>p:last-child{margin-top:auto!important;margin-bottom:0!important}
.ll-card-link{font-size:15px;padding-bottom:3px}
.ll-card-link span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:rgba(242,163,27,.14);font-size:16px;transition:background .2s ease,transform .2s ease}
.ll-card-link:hover span{background:var(--ll-accent);color:#111;transform:translateX(2px)}
.ll-services-grid{margin-top:34px}
@media(max-width:700px){.ll-card-grid.alignwide{width:min(100vw - 28px,1180px)}.ll-service-overview>.ll-eyebrow,.ll-service-overview>.wp-block-heading,.ll-service-overview>.ll-section-lead{text-align:left}.ll-service-card-body{padding:23px!important}}


/* v2.0 Branding & colour theme controls */
body{background:var(--ll-bg);color:var(--ll-text)}
.ll-site-header,.ll-primary-nav,.ll-card,.ll-review,.ll-service-card,.ll-hero-form-card,details.wp-block-details{background:var(--ll-surface)}
.ll-topbar{background:var(--ll-primary)}
.ll-site-footer{background:var(--ll-secondary)}
.ll-hero{background:linear-gradient(118deg,var(--ll-primary) 0%,var(--ll-secondary) 100%)}
.ll-service-card-placeholder,.ll-feature-placeholder{background:linear-gradient(135deg,var(--ll-primary),var(--ll-secondary))}
.ll-brand,.ll-primary-nav a,.ll-service-card-body h3,.ll-hero-form-card>.wp-block-heading{color:var(--ll-primary)}
.ll-header-cta,.wp-element-button,.ll-submit,.ll-mobile-cta a:last-child{background:var(--ll-accent)}
.ll-card-link:hover{border-color:var(--ll-accent)}
.ll-brand .custom-logo{max-width:300px;max-height:64px;width:auto;height:auto;object-fit:contain}
@media(max-width:600px){.ll-brand .custom-logo{max-width:210px;max-height:50px}}


/* Readability and spacing improvements for generated content */
.ll-content .wp-block-group.ll-section > .wp-block-heading,
.ll-content .wp-block-group.ll-section > h1,
.ll-content .wp-block-group.ll-section > h2,
.ll-content .wp-block-group.ll-section > h3,
.ll-content .wp-block-group.ll-section > h4{margin-bottom:16px}
.ll-content .wp-block-group.ll-section > p{margin-bottom:18px}
.ll-content .wp-block-group.ll-section > ul,
.ll-content .wp-block-group.ll-section > ol{margin:18px 0 0 1.45em; padding:0; max-width:820px}
.ll-content .wp-block-group.ll-section > ul li,
.ll-content .wp-block-group.ll-section > ol li{margin:0 0 10px; line-height:1.62; color:#2e4652}
.ll-content .wp-block-group.ll-section > p + .wp-block-heading{margin-top:34px}
.ll-content .wp-block-group.ll-section > ul + .wp-block-heading,
.ll-content .wp-block-group.ll-section > ol + .wp-block-heading{margin-top:44px}
.ll-content .wp-block-group.ll-section > .wp-block-heading + ul,
.ll-content .wp-block-group.ll-section > .wp-block-heading + ol{margin-top:10px}
.ll-content .wp-block-group.ll-section > .wp-block-heading + p{margin-top:0}
.ll-content .wp-block-group.ll-section > .wp-block-heading + .wp-block-heading{margin-top:34px}
.ll-content .wp-block-group.ll-section > h3,
.ll-content .wp-block-group.ll-section > h4{line-height:1.2; letter-spacing:-.02em}
.ll-content .wp-block-group.ll-section > h3{font-size:clamp(24px,2.2vw,32px)}
.ll-content .wp-block-group.ll-section > h4{font-size:clamp(20px,1.8vw,26px)}


/* Contextual service <-> advice internal linking */
.ll-related-services-grid,.ll-related-advice-grid{margin-top:28px}
.ll-related-card,.ll-advice-card{height:100%;display:flex;flex-direction:column}
.ll-related-card h3,.ll-advice-card h3{margin-top:0}
.ll-related-link{margin-top:auto!important;font-weight:800}
.ll-related-link a{font-weight:850;text-decoration:none;border-bottom:1px solid currentColor}
.ll-related-link a:hover{border-bottom-color:var(--ll-accent)}
.ll-advice-related-label{font-size:13px!important;font-weight:800;color:var(--ll-muted)!important;margin-top:12px!important}


/* Make quote-form submit buttons stand out clearly */
.ll-quote-form .ll-submit,
.ll-hero-form-card .ll-submit,
.ll-card .ll-submit{
  background: var(--ll-primary);
  color: #fff !important;
  border: 2px solid var(--ll-primary);
  border-radius: 14px;
  min-height: 56px;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .01em;
  box-shadow: 0 14px 28px rgba(16,42,58,.24);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.ll-quote-form .ll-submit:hover,
.ll-hero-form-card .ll-submit:hover,
.ll-card .ll-submit:hover,
.ll-quote-form .ll-submit:focus,
.ll-hero-form-card .ll-submit:focus,
.ll-card .ll-submit:focus{
  background: var(--ll-secondary);
  border-color: var(--ll-secondary);
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(9,25,35,.28);
}
.ll-quote-form .ll-submit:focus-visible,
.ll-hero-form-card .ll-submit:focus-visible,
.ll-card .ll-submit:focus-visible{
  outline: 3px solid rgba(255,255,255,.45);
  outline-offset: 2px;
}


/* Primary navigation reliability / dropdown affordance */
.ll-primary-nav .ll-menu>li.menu-item-has-children>a::after{content:"▾";font-size:11px;margin-left:6px;color:var(--ll-accent)}
.ll-primary-nav .sub-menu{top:calc(100% + 8px);left:-14px;z-index:130;border:1px solid var(--ll-line)}
.ll-primary-nav .sub-menu li{margin:0}
.ll-primary-nav .sub-menu a{display:block;padding:9px 10px;white-space:nowrap;border-radius:7px}
.ll-primary-nav .sub-menu a:hover{background:var(--ll-mist)}
@media(max-width:900px){.ll-primary-nav .ll-menu>li.menu-item-has-children>a::after{content:""}.ll-primary-nav .sub-menu{border:0}.ll-primary-nav .sub-menu a{white-space:normal}}

/* v2.8 reusable design system + AI website layouts */
:root{
  --ll-heading-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ll-body-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ll-button-radius:12px;
  --ll-card-radius:22px;
  --ll-card-shadow:0 14px 38px rgba(16,42,58,.10);
  --ll-wide:1180px;
  --ll-section-y:76px;
}
body{font-family:var(--ll-body-font);}
h1,h2,h3,h4,h5,h6,.wp-block-heading,.ll-brand strong{font-family:var(--ll-heading-font);}
.ll-shell{width:min(var(--ll-wide),calc(100% - 40px));}
.ll-section{padding-top:var(--ll-section-y)!important;padding-bottom:var(--ll-section-y)!important;}
.ll-header-cta,.wp-element-button,.ll-submit,.ll-google-button{border-radius:var(--ll-button-radius)!important;}
.ll-card,.ll-review,.ll-project-card,.ll-service-card,.ll-hero-form-card,details.wp-block-details,.ll-map-card{border-radius:var(--ll-card-radius);box-shadow:var(--ll-card-shadow);}

/* Header choices */
.ll-header-style-compact .ll-nav-row{min-height:64px}.ll-header-style-compact .ll-brand .custom-logo{max-height:48px}.ll-header-style-compact .ll-primary-nav{font-size:14px}
.ll-header-style-bold .ll-site-header{background:var(--ll-primary);box-shadow:none}.ll-header-style-bold .ll-brand,.ll-header-style-bold .ll-primary-nav a{color:#fff}.ll-header-style-bold .ll-menu-toggle{background:#fff}.ll-header-style-bold .ll-primary-nav .sub-menu{background:var(--ll-surface)}.ll-header-style-bold .ll-primary-nav .sub-menu a{color:var(--ll-primary)}

/* Footer choices */
.ll-footer-style-dark .ll-site-footer{background:#091923}.ll-footer-style-brand .ll-site-footer{background:var(--ll-secondary)}
.ll-footer-style-minimal .ll-site-footer{background:var(--ll-mist);color:var(--ll-text);border-top:1px solid var(--ll-line)}.ll-footer-style-minimal .ll-site-footer h2,.ll-footer-style-minimal .ll-site-footer h3,.ll-footer-style-minimal .ll-site-footer a{color:var(--ll-primary)}.ll-footer-style-minimal .ll-footer-bottom{color:var(--ll-muted);border-color:var(--ll-line)}

/* Hero choices */
.ll-hero-style-gradient .ll-ai-hero{background:linear-gradient(118deg,var(--ll-primary) 0%,var(--ll-secondary) 100%);color:#fff}
.ll-hero-style-split .ll-ai-hero{background:linear-gradient(90deg,var(--ll-primary) 0 58%,var(--ll-secondary) 58% 100%);color:#fff}
.ll-hero-style-clean .ll-ai-hero{background:linear-gradient(180deg,var(--ll-mist),var(--ll-bg));color:var(--ll-text);border-bottom:1px solid var(--ll-line)}
.ll-hero-style-clean .ll-ai-hero .ll-eyebrow{color:var(--ll-primary)}.ll-hero-style-clean .ll-ai-hero p{color:#435965!important}.ll-hero-style-clean .ll-ai-hero h1{color:var(--ll-primary)}

/* Full AI layout wrapper */
.ll-ai-layout{overflow:hidden}.ll-ai-layout .ll-ai-inner,.ll-ai-layout .ll-ai-section-inner{width:min(var(--ll-wide),calc(100% - 40px));margin-inline:auto}
.ll-ai-layout .ll-ai-reading{max-width:860px;margin-inline:auto}
.ll-ai-layout .ll-ai-section{position:relative;padding-top:var(--ll-section-y)!important;padding-bottom:var(--ll-section-y)!important}
.ll-ai-layout .ll-ai-section:nth-of-type(even):not(.ll-ai-hero):not(.ll-ai-cta){background:linear-gradient(180deg,#f8fafb 0%,var(--ll-mist) 100%)}
.ll-ai-layout .ll-ai-section h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.035em;line-height:1.08;max-width:900px;margin:0 0 18px}
.ll-ai-layout .ll-ai-section h3{letter-spacing:-.02em}.ll-ai-layout .ll-ai-section p{line-height:1.72;color:#405762;max-width:850px}.ll-ai-layout .ll-ai-section .ll-section-lead{font-size:18px}

/* AI hero */
.ll-ai-hero{position:relative;isolation:isolate;padding:clamp(62px,8vw,112px) 0!important;overflow:hidden}
.ll-ai-hero:before{content:"";position:absolute;inset:auto -180px -320px auto;width:620px;height:620px;border-radius:50%;border:110px solid rgba(255,255,255,.045);z-index:-1}
.ll-ai-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:64px;align-items:center;width:min(var(--ll-wide),calc(100% - 40px));margin-inline:auto!important}
.ll-ai-hero-copy h1{font-size:clamp(44px,5.3vw,76px);line-height:.99;letter-spacing:-.055em;margin:.16em 0 .28em;max-width:840px}.ll-ai-hero-copy>p:not(.ll-eyebrow){font-size:18px;line-height:1.65;color:#dce9ef;max-width:760px}
.ll-ai-hero--compact .ll-ai-hero-grid{grid-template-columns:minmax(0,1fr) auto;gap:44px}.ll-ai-hero--compact .ll-ai-hero-copy h1{font-size:clamp(40px,4.7vw,66px)}
.ll-ai-hero--article .ll-ai-hero-grid{display:block!important}.ll-ai-hero--article .ll-ai-hero-copy{max-width:930px}.ll-ai-hero--article .ll-ai-hero-copy h1{font-size:clamp(40px,5vw,68px)}
.ll-ai-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.ll-ai-hero-actions .is-style-outline .wp-block-button__link{background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.75)}
.ll-hero-style-clean .ll-ai-hero-actions .is-style-outline .wp-block-button__link{color:var(--ll-primary)!important;border-color:var(--ll-primary)!important}
.ll-ai-trust-row{display:flex;flex-wrap:wrap;gap:9px 18px;margin:24px 0 0;font-size:13px;font-weight:800;color:#fff}.ll-hero-style-clean .ll-ai-trust-row{color:var(--ll-primary)}
.ll-ai-trust-row span:before{content:"✓";color:var(--ll-accent);font-weight:950;margin-right:6px}
.ll-ai-hero .ll-hero-form-card{padding:30px!important;box-shadow:0 28px 70px rgba(0,0,0,.24)}

/* Structured cards */
.ll-ai-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.ll-ai-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-ai-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ll-ai-mini-card{height:100%;padding:24px!important;background:var(--ll-surface);border:1px solid rgba(16,42,58,.10);border-radius:var(--ll-card-radius);box-shadow:var(--ll-card-shadow)}
.ll-ai-mini-card p{margin:0!important;font-size:15px;line-height:1.6!important;color:#314a56!important}.ll-ai-mini-card .ll-ai-card-number{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:rgba(242,163,27,.18);color:#7c4b00;font-weight:950;margin:0 0 13px!important}
.ll-ai-problem-grid .ll-ai-mini-card{border-top:4px solid var(--ll-accent)}
.ll-ai-factor-grid .ll-ai-mini-card{background:linear-gradient(180deg,#fff,#f8fafb)}

/* Generated service cards */
.ll-ai-services-section>.ll-ai-section-inner>.ll-ai-card-grid{margin-top:34px}.ll-ai-service-card{overflow:hidden;padding:0!important;display:flex;flex-direction:column}.ll-ai-service-card .ll-service-card-image{margin:0!important}.ll-ai-service-card .ll-service-card-image img{width:100%;height:210px;object-fit:cover;display:block}.ll-ai-service-card .ll-ai-service-card-body{padding:24px!important;display:flex;flex-direction:column;flex:1}.ll-ai-service-card .ll-ai-service-card-body h3{font-size:22px;line-height:1.15;margin:0 0 10px;color:var(--ll-primary)}.ll-ai-service-card .ll-ai-service-card-body p{font-size:14.5px;margin:0 0 18px!important}.ll-ai-service-card .ll-ai-service-card-body .ll-text-link{margin-top:auto;color:var(--ll-primary)}
.ll-ai-service-card-placeholder{height:210px;background:linear-gradient(135deg,var(--ll-primary),var(--ll-secondary));display:flex;align-items:flex-end;padding:22px;color:#fff;font-weight:900}

/* Areas */
.ll-ai-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.ll-ai-area-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px!important;background:var(--ll-surface);border:1px solid var(--ll-line);border-radius:var(--ll-card-radius);box-shadow:var(--ll-card-shadow)}.ll-ai-area-card a{font-weight:900;text-decoration:none;color:var(--ll-primary)}.ll-ai-area-card span{color:var(--ll-accent);font-size:22px}

/* Decision / quote panels */
.ll-ai-decision-section .ll-ai-section-inner,.ll-ai-cost-section .ll-ai-section-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:48px;align-items:start}.ll-ai-decision-copy,.ll-ai-cost-copy{min-width:0}.ll-ai-section-note{padding:24px!important;background:var(--ll-primary);color:#fff;border-radius:var(--ll-card-radius);box-shadow:var(--ll-card-shadow)}.ll-ai-section-note p{color:#e6f0f4!important;margin:0!important}.ll-ai-quote-panel{background:linear-gradient(135deg,var(--ll-primary),var(--ll-secondary));color:#fff}.ll-ai-quote-panel .ll-ai-section-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:48px;align-items:center}.ll-ai-quote-panel h2,.ll-ai-quote-panel p{color:#fff}.ll-ai-quote-form-card{background:#fff;padding:28px!important;border-radius:var(--ll-card-radius);box-shadow:0 22px 58px rgba(0,0,0,.22);color:var(--ll-text)}

/* Related links */
.ll-ai-related{background:var(--ll-mist)}.ll-ai-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.ll-ai-related-card{padding:22px!important;background:#fff;border:1px solid var(--ll-line);border-radius:var(--ll-card-radius);box-shadow:var(--ll-card-shadow)}.ll-ai-related-card a{font-weight:900;color:var(--ll-primary);text-decoration:none}.ll-ai-related-card p{font-size:14.5px;margin:9px 0 0!important}

/* Dynamic proof sections */
.ll-ai-proof-wrap{width:min(var(--ll-wide),calc(100% - 40px));margin:0 auto;padding:var(--ll-section-y) 0}.ll-ai-proof-wrap .ll-dynamic-section>h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.035em}.ll-ai-proof-wrap .ll-project-card,.ll-ai-proof-wrap .ll-review{background:var(--ll-surface);border:1px solid var(--ll-line);box-shadow:var(--ll-card-shadow)}

/* FAQ and CTA */
.ll-ai-faq-section details.wp-block-details{max-width:900px;margin:0 0 12px;padding:18px 20px}.ll-ai-faq-section details.wp-block-details summary{font-size:17px}.ll-ai-faq-section details.wp-block-details p{margin:13px 0 3px!important}
.ll-ai-cta{background:linear-gradient(120deg,var(--ll-primary),var(--ll-secondary));color:#fff;text-align:center}.ll-ai-cta .ll-ai-section-inner{max-width:900px}.ll-ai-cta h2{margin-inline:auto;color:#fff}.ll-ai-cta p{margin-inline:auto;color:#dce9ef!important;font-size:18px}.ll-ai-cta .wp-block-buttons{justify-content:center;margin-top:24px}

/* Article layout */
.ll-ai-page--advice .ll-ai-content-section .ll-ai-section-inner{max-width:900px}.ll-ai-page--advice .ll-ai-content-section h2{max-width:760px}.ll-ai-page--advice .ll-ai-content-section ul{max-width:820px}.ll-ai-page--advice .ll-ai-related{border-top:1px solid var(--ll-line)}

/* Hubs */
.ll-ai-hub-intro{text-align:center}.ll-ai-hub-intro h1,.ll-ai-hub-intro p{margin-inline:auto}.ll-ai-hub-grid-title{text-align:center;margin-inline:auto}

/* Avoid admin-only placeholders looking like public content */
.ll-ai-layout .ll-map-placeholder{display:none}

@media(max-width:1050px){
  .ll-ai-card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-ai-card-grid,.ll-ai-area-grid,.ll-ai-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ll-ai-decision-section .ll-ai-section-inner,.ll-ai-cost-section .ll-ai-section-inner{grid-template-columns:1fr}
}
@media(max-width:900px){
  .ll-ai-hero-grid,.ll-ai-hero--compact .ll-ai-hero-grid,.ll-ai-quote-panel .ll-ai-section-inner{grid-template-columns:1fr;gap:34px}.ll-ai-hero-form-card{max-width:680px}.ll-ai-hero--compact .ll-ai-hero-side{display:none}
  .ll-hero-style-split .ll-ai-hero{background:linear-gradient(135deg,var(--ll-primary),var(--ll-secondary))}
}
@media(max-width:700px){
  .ll-ai-layout .ll-ai-inner,.ll-ai-layout .ll-ai-section-inner,.ll-ai-hero-grid,.ll-ai-proof-wrap{width:min(100% - 28px,var(--ll-wide))}.ll-ai-card-grid,.ll-ai-card-grid--2,.ll-ai-card-grid--4,.ll-ai-area-grid,.ll-ai-related-grid{grid-template-columns:1fr}.ll-ai-hero-copy h1{font-size:42px}.ll-ai-hero{padding:56px 0!important}.ll-ai-service-card .ll-service-card-image img,.ll-ai-service-card-placeholder{height:220px}.ll-ai-quote-form-card{padding:22px!important}
}

/* v2.9 AI website visual polish: aligned service cards, richer problem cards,
   area cards and a clearer step-by-step process. */
.ll-ai-layout .ll-ai-card-grid{
  align-items:stretch;
  grid-auto-rows:1fr;
}

/* Service cards: make media truly full-width and every card align as a unit. */
.ll-ai-services-section .ll-ai-card-grid{
  gap:26px;
}
.ll-ai-service-card{
  height:100%;
  border:1px solid rgba(16,42,58,.11);
  background:#fff;
  box-shadow:0 14px 34px rgba(16,42,58,.08);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.ll-ai-service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(16,42,58,.18);
  box-shadow:0 22px 50px rgba(16,42,58,.14);
}
.ll-ai-service-card .ll-service-card-image{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#e8eef1;
}
.ll-ai-service-card .ll-service-card-image>a{
  display:block;
  width:100%;
  height:100%;
}
.ll-ai-service-card .ll-service-card-image img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease;
}
.ll-ai-service-card:hover .ll-service-card-image img{transform:scale(1.025)}
.ll-ai-service-card .ll-ai-service-card-body{
  min-height:218px;
  padding:27px 26px 26px!important;
}
.ll-ai-service-card .ll-ai-service-card-body h3{
  font-size:23px;
  line-height:1.15;
  margin-bottom:12px;
}
.ll-ai-service-card .ll-ai-service-card-body p:not(.ll-text-link){
  line-height:1.62!important;
}
.ll-ai-service-card .ll-text-link{
  padding-top:4px;
}
.ll-ai-service-card .ll-text-link a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-underline-offset:4px;
}

/* Common-problem cards: visual issue icon + balanced centred final row. */
.ll-ai-problems-section{
  background:
    radial-gradient(circle at 85% 5%,rgba(242,163,27,.10),transparent 25%),
    linear-gradient(180deg,#f8fafb 0%,#f1f5f7 100%)!important;
}
.ll-ai-problems-section .ll-ai-section-inner>h2{max-width:980px}
.ll-ai-problem-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:22px;
  margin-top:36px;
}
.ll-ai-problem-grid>.ll-ai-problem-card{
  grid-column:span 2;
}
.ll-ai-problem-grid>.ll-ai-problem-card:first-child:nth-last-child(4),
.ll-ai-problem-grid>.ll-ai-problem-card:first-child:nth-last-child(4)~.ll-ai-problem-card{
  grid-column:span 3;
}
.ll-ai-problem-grid>.ll-ai-problem-card:nth-child(4):nth-last-child(2){grid-column:2/span 2}
.ll-ai-problem-grid>.ll-ai-problem-card:nth-child(4):nth-last-child(2)+.ll-ai-problem-card{grid-column:4/span 2}
.ll-ai-problem-card{
  position:relative;
  display:grid;
  grid-template-columns:50px minmax(0,1fr);
  align-items:center;
  gap:17px;
  min-height:132px;
  padding:24px 25px!important;
  border:1px solid rgba(16,42,58,.10)!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(16,42,58,.075)!important;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ll-ai-problem-card:after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--ll-accent),var(--ll-primary));
  background:linear-gradient(180deg,var(--ll-accent),color-mix(in srgb,var(--ll-accent) 55%,var(--ll-primary)));
}
.ll-ai-problem-card:hover{
  transform:translateY(-3px);
  border-color:rgba(16,42,58,.16)!important;
  box-shadow:0 18px 38px rgba(16,42,58,.11)!important;
}
.ll-ai-problem-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#fff3dc;
  background:color-mix(in srgb,var(--ll-accent) 15%,#fff);
  color:var(--ll-primary);
}
.ll-ai-problem-icon svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ll-ai-problem-text{
  margin:0!important;
  font-size:15.5px!important;
  line-height:1.5!important;
  font-weight:760;
  color:#243d49!important;
}

/* What-to-expect / process: a connected, compact four-step journey. */
.ll-ai-process-section{
  background:
    radial-gradient(circle at 8% 15%,rgba(16,42,58,.055),transparent 22%),
    linear-gradient(180deg,#fff 0%,#f7f9fa 100%)!important;
}
.ll-ai-process-section .ll-ai-section-inner>p{max-width:900px}
.ll-ai-process-grid{
  gap:20px;
  margin-top:38px;
  overflow:visible;
}
.ll-ai-process-card{
  position:relative;
  min-height:170px;
  padding:27px 24px 24px!important;
  border:1px solid rgba(16,42,58,.11)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(16,42,58,.07)!important;
  overflow:visible;
}
.ll-ai-step-badge{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
}
.ll-ai-step-badge span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--ll-primary);
  color:#fff;
  font-size:14px;
  font-weight:950;
  letter-spacing:.035em;
  box-shadow:0 9px 20px rgba(16,42,58,.18);
}
.ll-ai-step-badge small{
  color:var(--ll-muted);
  font-size:11px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.ll-ai-process-card h3{
  margin:0!important;
  max-width:230px;
  font-size:17px;
  line-height:1.45;
  font-weight:820;
  color:#213a46;
}
.ll-ai-process-card:not(:last-child):after{
  content:"→";
  position:absolute;
  right:-17px;
  top:45px;
  z-index:4;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#fff;
  color:var(--ll-accent);
  border:1px solid var(--ll-line);
  box-shadow:0 8px 20px rgba(16,42,58,.08);
  font-size:18px;
  font-weight:900;
}

/* Areas We Cover: stronger branded section with useful visual cards. */
.ll-ai-areas-section{
  background:linear-gradient(125deg,var(--ll-primary) 0%,var(--ll-secondary) 100%)!important;
  color:#fff;
  overflow:hidden;
}
.ll-ai-areas-section:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border:80px solid rgba(255,255,255,.035);
  border-radius:50%;
  right:-135px;
  top:-185px;
  pointer-events:none;
}
.ll-ai-areas-section .ll-ai-section-inner{position:relative;z-index:1}
.ll-ai-areas-section h2{color:#fff!important}
.ll-ai-areas-section .ll-ai-section-inner>p{color:#dbe8ed!important;max-width:780px}
.ll-ai-area-grid{
  gap:18px;
  margin-top:32px;
}
.ll-ai-area-card{
  position:relative;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 38px;
  align-items:center;
  gap:15px;
  min-height:106px;
  padding:20px 20px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:18px!important;
  box-shadow:0 18px 42px rgba(0,0,0,.15)!important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.ll-ai-area-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 50px rgba(0,0,0,.20)!important;
}
.ll-ai-area-pin{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#fff2d9;
  background:color-mix(in srgb,var(--ll-accent) 17%,#fff);
  color:var(--ll-primary);
}
.ll-ai-area-pin svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ll-ai-area-copy{min-width:0}
.ll-ai-area-title{
  margin:0 0 5px;
  font-size:18px;
  line-height:1.2;
  font-weight:900;
}
.ll-ai-area-title a{color:var(--ll-primary)!important;text-decoration:none}
.ll-ai-area-meta{
  color:#647984;
  font-size:13px;
  line-height:1.35;
}
.ll-ai-area-arrow{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  justify-self:end;
  border-radius:999px;
  background:var(--ll-primary);
  color:#fff!important;
  text-decoration:none!important;
  font-size:18px;
  font-weight:900;
  transition:transform .2s ease,background .2s ease;
}
.ll-ai-area-card:hover .ll-ai-area-arrow{transform:translateX(2px);background:var(--ll-secondary)}

/* Keep full-width section rhythm tidy around richer cards. */
.ll-ai-problems-section+.ll-ai-services-section,
.ll-ai-process-section+.ll-ai-areas-section{
  border-top:1px solid rgba(16,42,58,.04);
}

@media(max-width:1050px){
  .ll-ai-problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ll-ai-problem-grid>.ll-ai-problem-card,
  .ll-ai-problem-grid>.ll-ai-problem-card:first-child:nth-last-child(4),
  .ll-ai-problem-grid>.ll-ai-problem-card:first-child:nth-last-child(4)~.ll-ai-problem-card,
  .ll-ai-problem-grid>.ll-ai-problem-card:nth-child(4):nth-last-child(2),
  .ll-ai-problem-grid>.ll-ai-problem-card:nth-child(4):nth-last-child(2)+.ll-ai-problem-card{grid-column:auto}
  .ll-ai-process-card:not(:last-child):after{display:none}
  .ll-ai-service-card .ll-ai-service-card-body{min-height:205px}
}
@media(max-width:700px){
  .ll-ai-problem-grid{grid-template-columns:1fr;gap:14px}
  .ll-ai-problem-card{min-height:0;padding:20px!important;grid-template-columns:44px minmax(0,1fr)}
  .ll-ai-problem-icon{width:44px;height:44px;border-radius:13px}
  .ll-ai-process-grid{gap:14px;margin-top:28px}
  .ll-ai-process-card{min-height:0;padding:22px!important}
  .ll-ai-process-card h3{max-width:none}
  .ll-ai-area-card{grid-template-columns:44px minmax(0,1fr) 34px;min-height:94px;padding:17px!important}
  .ll-ai-area-pin{width:44px;height:44px;border-radius:13px}
  .ll-ai-area-meta{font-size:12.5px}
  .ll-ai-service-card .ll-service-card-image{aspect-ratio:16/10}
  .ll-ai-service-card .ll-ai-service-card-body{min-height:0;padding:23px!important}
}


/* v3.0 Gutenberg grid alignment fix.
   WordPress flow-layout spacing applies margin-block-start to every block after
   the first, even when the wrapper is converted to CSS Grid. Reset those
   direct-child margins so every visual card begins on the same grid row. */
.ll-ai-card-grid > *,
.ll-ai-area-grid > *,
.ll-ai-related-grid > *,
.ll-card-grid > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
  margin-top:0!important;
}

/* Keep the process journey perfectly level regardless of core block-gap rules. */
.ll-ai-process-grid > .ll-ai-process-card{
  align-self:stretch;
  margin:0!important;
}

/* v3.1 draft-preview navigation + empty dynamic-section collapse */
/* Generated AI builds deliberately include placeholders for real projects/reviews.
   If the underlying shortcode has no genuine content, remove the empty wrapper so
   it cannot create several hundred pixels of blank space between sections. */
.ll-ai-proof-wrap:empty{
  display:none!important;
  padding:0!important;
  margin:0!important;
}
@supports selector(:has(*)){
  .ll-ai-proof-wrap:not(:has(.ll-dynamic-section,.ll-map-card,.ll-map-section,.ll-map-placeholder)){
    display:none!important;
    padding:0!important;
    margin:0!important;
  }
}
/* Defensive reset for text-only AI sections. */
.ll-ai-content-section,
.ll-ai-content-section>.ll-ai-section-inner{
  min-height:0!important;
  height:auto!important;
  align-content:start;
}
.ll-ai-cost-section>.ll-ai-section-inner:not(:has(.ll-ai-card-grid)){
  grid-template-columns:minmax(0,850px)!important;
  gap:0!important;
}

/* Draft website preview navigation. It uses the same visual treatment as the
   eventual live menu but is only emitted for logged-in editors previewing an
   isolated AI Website Draft build. */
.ll-preview-menu-note{
  display:none;
}
.ll-primary-nav .ll-menu a[aria-current="page"]{
  color:var(--ll-secondary);
}
@media(max-width:900px){
  .ll-primary-nav .ll-menu{gap:0}
}


/* v3.2 premium review / social-proof section */
.ll-reviews-section{
  position:relative;
  overflow:hidden;
  padding:54px!important;
  border-radius:28px;
  background:
    radial-gradient(circle at 90% 5%,rgba(255,255,255,.08),transparent 26%),
    linear-gradient(135deg,var(--ll-primary) 0%,var(--ll-secondary) 100%);
  color:#fff;
  box-shadow:0 28px 70px rgba(16,42,58,.16);
}
.ll-reviews-section:before{
  content:"“";
  position:absolute;
  right:34px;
  top:-78px;
  font-family:Georgia,serif;
  font-size:260px;
  line-height:1;
  font-weight:900;
  color:rgba(255,255,255,.045);
  pointer-events:none;
}
.ll-reviews-heading{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:34px;
  margin:0 0 34px;
}
.ll-reviews-heading>div:first-child{max-width:720px}
.ll-reviews-section .ll-eyebrow{margin:0 0 9px;color:var(--ll-accent)}
.ll-reviews-section h2{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(34px,4vw,54px)!important;
  letter-spacing:-.04em;
}
.ll-reviews-intro{
  margin:13px 0 0!important;
  max-width:610px;
  color:#d9e7ed!important;
  font-size:16px!important;
}
.ll-reviews-badge{
  flex:0 0 auto;
  min-width:190px;
  padding:15px 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(5px);
}
.ll-reviews-badge span{
  display:block;
  color:var(--ll-accent);
  letter-spacing:2px;
  font-size:17px;
  line-height:1;
}
.ll-reviews-badge strong{
  display:block;
  margin-top:7px;
  color:#fff;
  font-size:13px;
  letter-spacing:.02em;
}
.ll-reviews-section .ll-review-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.ll-reviews-section .ll-review{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:280px;
  padding:26px!important;
  margin:0!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.97)!important;
  color:var(--ll-text)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.16)!important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.ll-reviews-section .ll-review:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 50px rgba(0,0,0,.22)!important;
}
.ll-review-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  min-height:38px;
}
.ll-reviews-section .ll-stars{
  display:inline-flex;
  gap:2px;
  color:#f0a118;
  letter-spacing:0;
  font-size:17px;
  line-height:1;
}
.ll-stars-muted{color:#d9e1e5}
.ll-review-quote{
  margin-top:-8px;
  color:color-mix(in srgb,var(--ll-accent) 72%,var(--ll-primary));
  font-family:Georgia,serif;
  font-size:58px;
  line-height:.75;
  font-weight:900;
}
.ll-reviews-section .ll-review-text{
  flex:1;
  margin:15px 0 22px;
  color:#2a414c;
  font-size:15.5px;
  line-height:1.7;
}
.ll-reviews-section .ll-review-text p{margin:0 0 11px!important}
.ll-reviews-section .ll-review-text p:last-child{margin-bottom:0!important}
.ll-review-author{
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:18px;
  border-top:1px solid rgba(16,42,58,.09);
}
.ll-review-avatar{
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,var(--ll-primary),var(--ll-secondary));
  color:#fff;
  font-size:13px;
  font-weight:950;
  letter-spacing:.04em;
  box-shadow:0 8px 18px rgba(16,42,58,.18);
  overflow:hidden;
}
.ll-review-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.ll-review-author-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.ll-review-author-copy strong{
  color:var(--ll-primary);
  font-size:14.5px;
  line-height:1.25;
}
.ll-review-author-copy>span{
  color:#6b7e87;
  font-size:12.5px;
  line-height:1.3;
}
.ll-google-review-author{color:var(--ll-primary);font-size:14.5px;font-weight:800;line-height:1.25;text-decoration:none}
.ll-google-review-author:hover,.ll-google-review-author:focus{text-decoration:underline;text-underline-offset:3px}
.ll-google-review-source{display:inline-block;margin-top:12px;color:var(--ll-primary);font-size:13px;font-weight:800;text-underline-offset:3px}
.ll-google-review-translation{margin-top:7px!important;color:#6b7e87;font-size:12px}
.ll-google-reviews-loading{padding:18px 0;color:inherit}
.ll-google-reviews-disclosure{grid-column:1/-1;margin:2px 0 0!important;color:#5a6d77;font-size:12px;line-height:1.55}
.ll-google-reviews-disclosure a{color:var(--ll-primary);font-weight:700;text-underline-offset:3px}
.ll-reviews-section .ll-google-reviews-disclosure{color:rgba(255,255,255,.78)}
.ll-reviews-section .ll-google-reviews-disclosure a{color:#fff}
.ll-google-place-attributions{display:inline}.ll-google-place-attribution+ .ll-google-place-attribution:before{content:' · '}
.ll-google-reviews-error{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fff3f3;color:#8b1e1e;font-size:14px}
/* Keep standalone/non-AI review grids tidy too. */
.ll-review-grid>*{margin:0!important}

@media(max-width:980px){
  .ll-reviews-section{padding:42px!important}
  .ll-reviews-heading{align-items:flex-start}
  .ll-reviews-section .ll-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .ll-reviews-section{padding:30px 22px!important;border-radius:22px}
  .ll-reviews-heading{display:block;margin-bottom:25px}
  .ll-reviews-badge{display:inline-block;min-width:0;margin-top:20px}
  .ll-reviews-section .ll-review-grid{grid-template-columns:1fr;gap:14px}
  .ll-reviews-section .ll-review{min-height:0;padding:22px!important}
  .ll-reviews-section:before{font-size:190px;right:-12px;top:-55px}
}

/* v3.3 service/location hero + quotation/factor card redesign */
/* Service and area pages already explain the customer problem in their intro.
   Remove the generic side-note panel and let the useful copy breathe. */
.ll-ai-page--service .ll-ai-hero-side,
.ll-ai-page--location .ll-ai-hero-side{
  display:none!important;
}
.ll-ai-page--service .ll-ai-hero--compact .ll-ai-hero-grid,
.ll-ai-page--location .ll-ai-hero--compact .ll-ai-hero-grid{
  display:block!important;
  grid-template-columns:1fr!important;
}
.ll-ai-page--service .ll-ai-hero--compact .ll-ai-hero-copy,
.ll-ai-page--location .ll-ai-hero--compact .ll-ai-hero-copy{
  max-width:900px;
}
.ll-ai-page--service .ll-ai-hero--compact .ll-ai-hero-copy>p:not(.ll-eyebrow),
.ll-ai-page--location .ll-ai-hero--compact .ll-ai-hero-copy>p:not(.ll-eyebrow){
  max-width:780px;
}

/* Cost / quotation sections were previously split into a narrow side column.
   Keep the explanatory copy full width and place useful factors underneath. */
.ll-ai-cost-section>.ll-ai-section-inner{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
}
.ll-ai-cost-copy{
  width:100%;
  max-width:900px;
}
.ll-ai-cost-section .ll-ai-factor-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:18px!important;
  margin-top:34px!important;
  align-items:stretch;
  grid-auto-rows:1fr;
}
.ll-ai-factor-grid>.ll-ai-mini-card{
  grid-column:span 2;
  position:relative;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr);
  align-items:start;
  gap:15px;
  min-width:0;
  min-height:128px;
  padding:22px 23px!important;
  margin:0!important;
  background:linear-gradient(180deg,#fff 0%,#fafcfd 100%)!important;
  border:1px solid rgba(16,42,58,.10)!important;
  border-radius:18px!important;
  box-shadow:0 12px 30px rgba(16,42,58,.07)!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ll-ai-factor-grid>.ll-ai-mini-card:before{
  content:"✓";
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:color-mix(in srgb,var(--ll-accent) 16%,#fff);
  color:var(--ll-primary);
  font-weight:950;
  font-size:18px;
}
.ll-ai-factor-grid>.ll-ai-mini-card:after{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:var(--ll-accent);
}
.ll-ai-factor-grid>.ll-ai-mini-card:hover{
  transform:translateY(-3px);
  border-color:rgba(16,42,58,.16)!important;
  box-shadow:0 18px 40px rgba(16,42,58,.11)!important;
}
.ll-ai-factor-grid>.ll-ai-mini-card p{
  margin:2px 0 0!important;
  max-width:none!important;
  font-size:15px!important;
  line-height:1.58!important;
  color:#2f4753!important;
  overflow-wrap:anywhere;
}
/* Balance common 2-, 4- and 5-factor sets rather than leaving an awkward final row. */
.ll-ai-factor-grid>.ll-ai-mini-card:first-child:nth-last-child(2),
.ll-ai-factor-grid>.ll-ai-mini-card:first-child:nth-last-child(2)~.ll-ai-mini-card,
.ll-ai-factor-grid>.ll-ai-mini-card:first-child:nth-last-child(4),
.ll-ai-factor-grid>.ll-ai-mini-card:first-child:nth-last-child(4)~.ll-ai-mini-card{
  grid-column:span 3;
}
.ll-ai-factor-grid>.ll-ai-mini-card:nth-child(4):nth-last-child(2){grid-column:2/span 2}
.ll-ai-factor-grid>.ll-ai-mini-card:nth-child(4):nth-last-child(2)+.ll-ai-mini-card{grid-column:4/span 2}

@media(max-width:980px){
  .ll-ai-cost-section .ll-ai-factor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ll-ai-factor-grid>.ll-ai-mini-card,
  .ll-ai-factor-grid>.ll-ai-mini-card:first-child:nth-last-child(2),
  .ll-ai-factor-grid>.ll-ai-mini-card:first-child:nth-last-child(2)~.ll-ai-mini-card,
  .ll-ai-factor-grid>.ll-ai-mini-card:first-child:nth-last-child(4),
  .ll-ai-factor-grid>.ll-ai-mini-card:first-child:nth-last-child(4)~.ll-ai-mini-card,
  .ll-ai-factor-grid>.ll-ai-mini-card:nth-child(4):nth-last-child(2),
  .ll-ai-factor-grid>.ll-ai-mini-card:nth-child(4):nth-last-child(2)+.ll-ai-mini-card{grid-column:auto}
}
@media(max-width:640px){
  .ll-ai-cost-section .ll-ai-factor-grid{grid-template-columns:1fr!important;gap:14px!important;margin-top:26px!important}
  .ll-ai-factor-grid>.ll-ai-mini-card{min-height:0;grid-template-columns:42px minmax(0,1fr);padding:19px!important}
  .ll-ai-factor-grid>.ll-ai-mini-card:before{width:42px;height:42px;border-radius:12px}
}


/* LocalLead 3.4 — desktop submenu hover bridge.
   Keeps dropdowns open while the pointer moves across the intentional visual gap. */
@media (min-width:901px){
  .ll-primary-nav .ll-menu>li.menu-item-has-children::before{
    content:"";
    position:absolute;
    left:-16px;
    right:-16px;
    top:100%;
    height:14px;
    z-index:129;
    pointer-events:auto;
  }
  .ll-primary-nav .ll-menu>li.menu-item-has-children:hover>.sub-menu,
  .ll-primary-nav .ll-menu>li.menu-item-has-children:focus-within>.sub-menu{
    display:block;
  }
}


/* v3.5: remove legacy generic hero prompt panels from every non-home AI page.
   Older generated builds may still contain the saved block; hide it immediately,
   while AI Lab v1.8 removes it from saved Gutenberg content on visual refresh. */
.ll-ai-layout:not(.ll-ai-page--home) .ll-ai-hero-side,
.ll-ai-page--service .ll-ai-hero-side,
.ll-ai-page--location .ll-ai-hero-side,
.ll-ai-page--advice .ll-ai-hero-side,
.ll-ai-hero--article .ll-ai-hero-side{
  display:none!important;
}
.ll-ai-layout:not(.ll-ai-page--home) .ll-ai-hero-grid{
  grid-template-columns:minmax(0,1fr)!important;
}
.ll-ai-layout:not(.ll-ai-page--home) .ll-ai-hero-copy{
  max-width:900px;
}

/* LocalLead 3.7 — optional secondary service-category clusters. */
.ll-category-grid,
.ll-ai-category-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px!important;
  margin-top:26px!important;
  align-items:stretch;
}
.ll-category-grid>.ll-category-card,
.ll-ai-category-grid>.ll-ai-category-card{
  position:relative;
  min-width:0;
  margin:0!important;
  padding:26px!important;
  height:100%;
  border:1px solid rgba(16,42,58,.10)!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--ll-accent) 5%,#fff) 100%)!important;
  box-shadow:0 14px 34px rgba(16,42,58,.08)!important;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ll-category-grid>.ll-category-card:before,
.ll-ai-category-grid>.ll-ai-category-card:before{
  content:"";
  display:block;
  width:48px;
  height:5px;
  margin:0 0 20px;
  border-radius:999px;
  background:var(--ll-accent);
}
.ll-category-grid>.ll-category-card:hover,
.ll-ai-category-grid>.ll-ai-category-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 44px rgba(16,42,58,.12)!important;
  border-color:color-mix(in srgb,var(--ll-accent) 34%,rgba(16,42,58,.10))!important;
}
.ll-category-grid>.ll-category-card h3,
.ll-ai-category-grid>.ll-ai-category-card h3{
  margin:0 0 10px!important;
  color:var(--ll-primary)!important;
  font-size:clamp(21px,2vw,25px)!important;
  line-height:1.15!important;
}
.ll-category-grid>.ll-category-card p,
.ll-ai-category-grid>.ll-ai-category-card p{
  margin:0 0 16px!important;
  color:#405764!important;
  line-height:1.6!important;
}
.ll-ai-category-grid>.ll-ai-category-card .ll-eyebrow{
  margin-bottom:9px!important;
  color:var(--ll-accent)!important;
}
.ll-category-grid>.ll-category-card .ll-card-link,
.ll-ai-category-grid>.ll-ai-category-card .ll-text-link{
  margin-top:auto!important;
  font-weight:850;
}
.ll-category-grid>.ll-category-card,
.ll-ai-category-grid>.ll-ai-category-card{
  display:flex!important;
  flex-direction:column;
}
@media(max-width:980px){
  .ll-category-grid,.ll-ai-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .ll-category-grid,.ll-ai-category-grid{grid-template-columns:1fr!important;gap:14px!important}
  .ll-category-grid>.ll-category-card,.ll-ai-category-grid>.ll-ai-category-card{padding:22px!important}
}

/* v3.9 Problem / signs cards redesign
   Used by common roof problems, repair warning signs and similar generated lists. */
.ll-ai-problems-section{
  background:
    radial-gradient(circle at 88% 8%,rgba(242,163,27,.095),transparent 28%),
    radial-gradient(circle at 5% 92%,rgba(16,42,58,.045),transparent 26%),
    linear-gradient(180deg,#fbfcfd 0%,#f3f6f8 100%)!important;
}
.ll-ai-problems-section .ll-ai-section-inner>h2{
  max-width:920px;
  margin-bottom:20px;
}
.ll-ai-problems-section .ll-ai-section-inner>p{
  max-width:900px;
}
.ll-ai-problem-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:24px;
  margin-top:40px;
  align-items:stretch;
}
.ll-ai-problem-grid>.ll-ai-problem-card{
  grid-column:span 2;
}
.ll-ai-problem-grid>.ll-ai-problem-card:first-child:nth-last-child(4),
.ll-ai-problem-grid>.ll-ai-problem-card:first-child:nth-last-child(4)~.ll-ai-problem-card{
  grid-column:span 3;
}
.ll-ai-problem-grid>.ll-ai-problem-card:nth-child(4):nth-last-child(2){grid-column:2/span 2}
.ll-ai-problem-grid>.ll-ai-problem-card:nth-child(4):nth-last-child(2)+.ll-ai-problem-card{grid-column:4/span 2}
.ll-ai-problem-card{
  position:relative;
  isolation:isolate;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:19px;
  min-height:205px;
  padding:30px 30px 29px!important;
  background:linear-gradient(145deg,#fff 0%,#fff 72%,#fafbfd 100%)!important;
  border:1px solid rgba(16,42,58,.10)!important;
  border-radius:24px!important;
  box-shadow:0 14px 36px rgba(16,42,58,.085)!important;
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.ll-ai-problem-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,var(--ll-accent),var(--ll-secondary),var(--ll-primary));
  z-index:2;
}
.ll-ai-problem-card:after{
  content:"";
  position:absolute;
  width:128px;
  height:128px;
  right:-68px;
  bottom:-74px;
  border-radius:50%;
  background:rgba(242,163,27,.07);
  border:24px solid rgba(16,42,58,.025);
  pointer-events:none;
  z-index:-1;
}
.ll-ai-problem-card:hover{
  transform:translateY(-5px);
  border-color:rgba(16,42,58,.18)!important;
  box-shadow:0 24px 52px rgba(16,42,58,.14)!important;
}
.ll-ai-problem-icon{
  position:relative;
  width:62px;
  height:62px;
  flex:0 0 62px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#fff4df;
  background:linear-gradient(145deg,color-mix(in srgb,var(--ll-accent) 20%,#fff),#fff);
  color:var(--ll-primary)!important;
  border:1px solid color-mix(in srgb,var(--ll-accent) 35%,#fff);
  box-shadow:0 9px 20px rgba(16,42,58,.075);
}
.ll-ai-problem-icon:after{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(16,42,58,.055);
  border-radius:12px;
  pointer-events:none;
}
.ll-ai-problem-icon svg{
  position:relative;
  z-index:1;
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor!important;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ll-ai-problem-text{
  margin:0!important;
  max-width:30ch;
  font-size:18px!important;
  line-height:1.4!important;
  font-weight:830!important;
  letter-spacing:-.015em;
  color:var(--ll-primary)!important;
}
.ll-ai-problem-text strong{font-weight:inherit}

@media(max-width:950px){
  .ll-ai-problem-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ll-ai-problem-grid>.ll-ai-problem-card,
  .ll-ai-problem-grid>.ll-ai-problem-card:first-child:nth-last-child(4),
  .ll-ai-problem-grid>.ll-ai-problem-card:first-child:nth-last-child(4)~.ll-ai-problem-card,
  .ll-ai-problem-grid>.ll-ai-problem-card:nth-child(4):nth-last-child(2),
  .ll-ai-problem-grid>.ll-ai-problem-card:nth-child(4):nth-last-child(2)+.ll-ai-problem-card{
    grid-column:auto;
  }
}
@media(max-width:620px){
  .ll-ai-problem-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}
  .ll-ai-problem-card{min-height:0;padding:24px!important;gap:16px;border-radius:20px!important}
  .ll-ai-problem-icon{width:56px;height:56px;flex-basis:56px;border-radius:16px}
  .ll-ai-problem-icon svg{width:26px;height:26px}
  .ll-ai-problem-text{font-size:17px!important;max-width:none}
}

/* v4.0 — Global semantic contrast system.
   Generated sections must never inherit a background treatment that conflicts
   with their intended foreground colour. Keep dark/gradient sections dark and
   all ordinary content sections readable on light surfaces. */

/* The alternating section background must never repaint semantic dark sections. */
.ll-ai-layout .ll-ai-section:nth-of-type(even):not(.ll-ai-hero):not(.ll-ai-cta):not(.ll-ai-quote-panel):not(.ll-ai-areas-section):not(.ll-reviews-section){
  background:linear-gradient(180deg,#f8fafb 0%,var(--ll-mist) 100%);
}

/* High-contrast dark / branded sections. Specificity intentionally exceeds the
   generic nth-of-type rule above so section order cannot change readability. */
.ll-ai-layout .ll-ai-quote-panel,
.ll-ai-layout .ll-ai-cta,
.ll-ai-layout .ll-ai-areas-section{
  background:linear-gradient(125deg,var(--ll-primary) 0%,var(--ll-secondary) 100%)!important;
  color:#fff!important;
}
.ll-ai-layout .ll-ai-quote-panel h1,
.ll-ai-layout .ll-ai-quote-panel h2,
.ll-ai-layout .ll-ai-quote-panel h3,
.ll-ai-layout .ll-ai-quote-panel h4,
.ll-ai-layout .ll-ai-cta h1,
.ll-ai-layout .ll-ai-cta h2,
.ll-ai-layout .ll-ai-cta h3,
.ll-ai-layout .ll-ai-areas-section h1,
.ll-ai-layout .ll-ai-areas-section h2,
.ll-ai-layout .ll-ai-areas-section h3{
  color:#fff!important;
  text-shadow:none!important;
}
.ll-ai-layout .ll-ai-quote-panel .ll-ai-section-inner>div:not(.ll-ai-quote-form-card)>p:not(.ll-eyebrow),
.ll-ai-layout .ll-ai-cta p,
.ll-ai-layout .ll-ai-areas-section .ll-ai-section-inner>p{
  color:rgba(255,255,255,.88)!important;
}
.ll-ai-layout .ll-ai-quote-panel .ll-eyebrow,
.ll-ai-layout .ll-ai-cta .ll-eyebrow,
.ll-ai-layout .ll-ai-areas-section .ll-eyebrow{
  color:var(--ll-accent)!important;
}

/* Light generated sections: enforce dark, readable foregrounds. */
.ll-ai-layout .ll-ai-section:not(.ll-ai-hero):not(.ll-ai-cta):not(.ll-ai-quote-panel):not(.ll-ai-areas-section):not(.ll-reviews-section) h1,
.ll-ai-layout .ll-ai-section:not(.ll-ai-hero):not(.ll-ai-cta):not(.ll-ai-quote-panel):not(.ll-ai-areas-section):not(.ll-reviews-section) h2,
.ll-ai-layout .ll-ai-section:not(.ll-ai-hero):not(.ll-ai-cta):not(.ll-ai-quote-panel):not(.ll-ai-areas-section):not(.ll-reviews-section) h3,
.ll-ai-layout .ll-ai-section:not(.ll-ai-hero):not(.ll-ai-cta):not(.ll-ai-quote-panel):not(.ll-ai-areas-section):not(.ll-reviews-section) h4{
  color:var(--ll-primary)!important;
  text-shadow:none!important;
}
.ll-ai-layout .ll-ai-section:not(.ll-ai-hero):not(.ll-ai-cta):not(.ll-ai-quote-panel):not(.ll-ai-areas-section):not(.ll-reviews-section)>div>p,
.ll-ai-layout .ll-ai-section:not(.ll-ai-hero):not(.ll-ai-cta):not(.ll-ai-quote-panel):not(.ll-ai-areas-section):not(.ll-reviews-section) .ll-ai-section-inner>p{
  color:#405762!important;
}

/* The form card is always a light surface, even when it sits inside a dark section. */
.ll-ai-layout .ll-ai-quote-form-card,
.ll-ai-layout .ll-hero-form-card{
  background:#fff!important;
  color:var(--ll-text)!important;
}
.ll-ai-layout .ll-ai-quote-form-card h1,
.ll-ai-layout .ll-ai-quote-form-card h2,
.ll-ai-layout .ll-ai-quote-form-card h3,
.ll-ai-layout .ll-ai-quote-form-card p,
.ll-ai-layout .ll-hero-form-card h1,
.ll-ai-layout .ll-hero-form-card h2,
.ll-ai-layout .ll-hero-form-card h3{
  color:var(--ll-primary)!important;
}
.ll-ai-layout .ll-ai-quote-form-card label,
.ll-ai-layout .ll-ai-quote-form-card .ll-quote-form label span,
.ll-ai-layout .ll-hero-form-card label,
.ll-ai-layout .ll-hero-form-card .ll-quote-form label span{
  color:#18324a!important;
}
.ll-ai-layout .ll-ai-quote-form-card input,
.ll-ai-layout .ll-ai-quote-form-card select,
.ll-ai-layout .ll-ai-quote-form-card textarea,
.ll-ai-layout .ll-hero-form-card input,
.ll-ai-layout .ll-hero-form-card select,
.ll-ai-layout .ll-hero-form-card textarea{
  background:#fff!important;
  color:#18324a!important;
  border-color:#bfd0dc!important;
}
.ll-ai-layout .ll-ai-quote-form-card input::placeholder,
.ll-ai-layout .ll-ai-quote-form-card textarea::placeholder,
.ll-ai-layout .ll-hero-form-card input::placeholder,
.ll-ai-layout .ll-hero-form-card textarea::placeholder{
  color:#6a7d90!important;
  opacity:1;
}

/* Generic utility classes used by native patterns and future generator output. */
.ll-section-light,
.ll-contact-split,
.ll-quote-section{
  color:#18324a;
}
.ll-section-light h1,.ll-section-light h2,.ll-section-light h3,
.ll-contact-split h1,.ll-contact-split h2,.ll-contact-split h3,
.ll-quote-section:not(.ll-ai-quote-panel) h1,
.ll-quote-section:not(.ll-ai-quote-panel) h2,
.ll-quote-section:not(.ll-ai-quote-panel) h3{
  color:#0f2740!important;
  text-shadow:none!important;
}
.ll-section-light p,.ll-contact-split p,.ll-quote-section:not(.ll-ai-quote-panel) p{
  color:#30485f!important;
}

/* v4.3 — Premium Design System
   A restrained visual refinement layer. It intentionally changes presentation
   only: existing Gutenberg structure, forms, schema and site behaviour remain
   untouched. Brand accent is reserved for calls-to-action and small details. */
.ll-design-finish-premium{
  --ll-premium-soft:#f6f8f9;
  --ll-premium-soft-2:#eef3f5;
  --ll-premium-ink:#102a3a;
  --ll-premium-muted:#526975;
  --ll-premium-line:rgba(16,42,58,.105);
  --ll-premium-shadow:0 12px 34px rgba(16,42,58,.075);
  --ll-premium-shadow-hover:0 20px 48px rgba(16,42,58,.115);
  --ll-premium-dark-shadow:0 24px 64px rgba(7,25,35,.18);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.ll-design-finish-premium .ll-main{background:var(--ll-bg)}
.ll-design-finish-premium h1,
.ll-design-finish-premium h2,
.ll-design-finish-premium h3,
.ll-design-finish-premium h4,
.ll-design-finish-premium h5,
.ll-design-finish-premium h6{
  font-weight:800;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.ll-design-finish-premium p{letter-spacing:-.004em}
.ll-design-finish-premium a,
.ll-design-finish-premium button,
.ll-design-finish-premium input,
.ll-design-finish-premium select,
.ll-design-finish-premium textarea{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.ll-design-finish-premium :where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid color-mix(in srgb,var(--ll-accent) 56%,#fff);
  outline-offset:3px;
}

/* Header: calmer, slimmer and more deliberately spaced. */
.ll-design-finish-premium .ll-topbar{font-size:12.5px;letter-spacing:.015em}
.ll-design-finish-premium .ll-topbar .ll-shell{padding:7px 0}
.ll-design-finish-premium:not(.ll-header-style-bold) .ll-site-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(16,42,58,.07);
  box-shadow:0 8px 28px rgba(16,42,58,.045);
  backdrop-filter:saturate(150%) blur(12px);
}
.ll-design-finish-premium .ll-nav-row{min-height:72px;gap:30px}
.ll-design-finish-premium .ll-brand .custom-logo{max-height:54px}
.ll-design-finish-premium .ll-brand strong{font-size:19px;letter-spacing:-.025em}
.ll-design-finish-premium .ll-primary-nav .ll-menu{gap:27px}
.ll-design-finish-premium .ll-primary-nav .ll-menu>li>a{
  position:relative;
  padding:25px 0 24px;
  font-size:14.5px;
  font-weight:720;
  letter-spacing:-.01em;
}
.ll-design-finish-premium:not(.ll-header-style-bold) .ll-primary-nav .ll-menu>li>a:before{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:17px;
  height:2px;border-radius:99px;
  background:var(--ll-accent);
  transition:right .2s ease;
}
.ll-design-finish-premium:not(.ll-header-style-bold) .ll-primary-nav .ll-menu>li>a:hover:before,
.ll-design-finish-premium:not(.ll-header-style-bold) .ll-primary-nav .ll-menu>li>a[aria-current="page"]:before{right:0}
.ll-design-finish-premium .ll-primary-nav .sub-menu{
  top:calc(100% + 2px);
  padding:10px;
  min-width:235px;
  border:1px solid var(--ll-premium-line);
  border-radius:16px;
  box-shadow:0 18px 48px rgba(16,42,58,.12);
}
.ll-design-finish-premium .ll-primary-nav .sub-menu a{padding:10px 12px;border-radius:9px;font-size:14px;font-weight:680}
.ll-design-finish-premium .ll-header-cta{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  padding:10px 18px;
  font-size:14px;
  letter-spacing:-.01em;
  box-shadow:0 9px 22px color-mix(in srgb,var(--ll-accent) 24%,transparent);
}
.ll-design-finish-premium .ll-header-cta:hover{transform:translateY(-1px);box-shadow:0 12px 26px color-mix(in srgb,var(--ll-accent) 30%,transparent)}

/* Buttons: only the primary action is visually loud. */
.ll-design-finish-premium .wp-element-button,
.ll-design-finish-premium .ll-header-cta,
.ll-design-finish-premium .ll-google-button{
  border:1px solid transparent;
  font-weight:800;
}
.ll-design-finish-premium .wp-element-button{padding:13px 20px;line-height:1.25}
.ll-design-finish-premium .is-style-outline .wp-block-button__link{
  box-shadow:none!important;
  border-width:1.5px!important;
  font-weight:760;
}
.ll-design-finish-premium .wp-element-button:hover{transform:translateY(-1px)}

/* Hero: mostly primary colour, with a restrained brand glow instead of a loud
   full-width two-colour gradient. */
.ll-design-finish-premium.ll-hero-style-gradient .ll-ai-hero,
.ll-design-finish-premium.ll-hero-style-split .ll-ai-hero{
  background:var(--ll-primary)!important;
}
.ll-design-finish-premium .ll-ai-hero{
  padding:clamp(72px,8vw,108px) 0!important;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ll-design-finish-premium.ll-hero-style-gradient .ll-ai-hero:after,
.ll-design-finish-premium.ll-hero-style-split .ll-ai-hero:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:min(64vw,820px);
  height:min(64vw,820px);
  right:-18vw;
  top:-38%;
  border-radius:50%;
  background:var(--ll-secondary);
  filter:blur(2px);
  opacity:.23;
  pointer-events:none;
}
.ll-design-finish-premium .ll-ai-hero:before{opacity:.55}
.ll-design-finish-premium .ll-ai-hero-grid{gap:clamp(42px,6vw,74px)}
.ll-design-finish-premium .ll-ai-hero-copy h1{
  font-size:clamp(44px,5vw,68px);
  line-height:1.01;
  letter-spacing:-.05em;
  max-width:790px;
  margin:.18em 0 .32em;
}
.ll-design-finish-premium .ll-ai-hero-copy>p:not(.ll-eyebrow){font-size:17.5px;line-height:1.68;max-width:700px}
.ll-design-finish-premium .ll-ai-trust-row{margin-top:26px;gap:10px 20px;font-size:13px;opacity:.96}
.ll-design-finish-premium .ll-ai-hero .ll-hero-form-card{
  border:1px solid rgba(16,42,58,.08);
  border-radius:24px!important;
  box-shadow:0 28px 76px rgba(7,25,35,.22)!important;
  padding:30px!important;
}

/* Section rhythm and typography. */
.ll-design-finish-premium .ll-ai-layout .ll-ai-section{
  padding-top:clamp(76px,8vw,104px)!important;
  padding-bottom:clamp(76px,8vw,104px)!important;
}
.ll-design-finish-premium .ll-ai-layout .ll-ai-section:nth-of-type(even):not(.ll-ai-hero):not(.ll-ai-cta):not(.ll-ai-quote-panel):not(.ll-ai-areas-section):not(.ll-reviews-section){
  background:var(--ll-premium-soft)!important;
}
.ll-design-finish-premium .ll-ai-layout .ll-ai-section h2{
  font-size:clamp(31px,3.2vw,45px);
  line-height:1.08;
  letter-spacing:-.04em;
  margin-bottom:18px;
}
.ll-design-finish-premium .ll-ai-layout .ll-ai-section .ll-section-lead{
  font-size:17.5px;
  line-height:1.72;
  max-width:780px;
  color:var(--ll-premium-muted)!important;
}
.ll-design-finish-premium .ll-eyebrow{
  font-size:11px;
  letter-spacing:.14em;
  font-weight:850;
  margin-bottom:10px;
}

/* Reusable cards: subtle border, restrained elevation and consistent hover. */
.ll-design-finish-premium .ll-ai-mini-card,
.ll-design-finish-premium .ll-ai-service-card,
.ll-design-finish-premium .ll-ai-related-card,
.ll-design-finish-premium .ll-project-card,
.ll-design-finish-premium .ll-card,
.ll-design-finish-premium details.wp-block-details,
.ll-design-finish-premium .ll-map-card{
  border:1px solid var(--ll-premium-line)!important;
  box-shadow:var(--ll-premium-shadow)!important;
}
.ll-design-finish-premium .ll-ai-mini-card:hover,
.ll-design-finish-premium .ll-ai-service-card:hover,
.ll-design-finish-premium .ll-ai-related-card:hover,
.ll-design-finish-premium .ll-project-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--ll-premium-shadow-hover)!important;
}
.ll-design-finish-premium .ll-ai-card-grid{gap:24px}
.ll-design-finish-premium .ll-ai-service-card{border-radius:var(--ll-card-radius)!important;overflow:hidden}
.ll-design-finish-premium .ll-ai-service-card .ll-service-card-image{aspect-ratio:16/10}
.ll-design-finish-premium .ll-ai-service-card .ll-ai-service-card-body{padding:28px 28px 27px!important;min-height:210px}
.ll-design-finish-premium .ll-ai-service-card .ll-ai-service-card-body h3{font-size:22px;line-height:1.18;margin-bottom:11px}
.ll-design-finish-premium .ll-ai-service-card .ll-ai-service-card-body p{color:#566b75!important;line-height:1.66!important}
.ll-design-finish-premium .ll-ai-service-card .ll-text-link a,
.ll-design-finish-premium .ll-card-link{
  text-decoration:none;
  border-bottom:1px solid rgba(16,42,58,.2);
  padding-bottom:2px;
}

/* Problem/sign cards: remove the loud full-height stripe and keep the accent as
   a small crafted detail. */
.ll-design-finish-premium .ll-ai-problems-section{
  background:var(--ll-premium-soft)!important;
}
.ll-design-finish-premium .ll-ai-problems-section:before{opacity:.42}
.ll-design-finish-premium .ll-ai-problem-card{
  position:relative;
  min-height:138px;
  padding:26px!important;
  border:1px solid var(--ll-premium-line)!important;
  border-top:1px solid var(--ll-premium-line)!important;
  border-radius:var(--ll-card-radius)!important;
  background:#fff!important;
  box-shadow:var(--ll-premium-shadow)!important;
  overflow:hidden;
}
.ll-design-finish-premium .ll-ai-problem-card:after{display:none!important}
.ll-design-finish-premium .ll-ai-problem-card:before{
  content:"";
  position:absolute;
  left:26px;
  top:0;
  width:48px;
  height:3px;
  border-radius:0 0 4px 4px;
  background:var(--ll-accent);
}
.ll-design-finish-premium .ll-ai-problem-card:hover{transform:translateY(-2px);box-shadow:var(--ll-premium-shadow-hover)!important}
.ll-design-finish-premium .ll-ai-problem-icon{
  background:var(--ll-premium-soft);
  border:1px solid rgba(16,42,58,.08);
  color:var(--ll-primary);
}
.ll-design-finish-premium .ll-ai-problem-text{color:var(--ll-primary)!important;font-weight:760;font-size:15.5px!important}

/* Process cards: clean journey with quieter connectors. */
.ll-design-finish-premium .ll-ai-process-section{background:#fff!important}
.ll-design-finish-premium .ll-ai-process-card{
  padding:28px 25px 25px!important;
  border:1px solid var(--ll-premium-line)!important;
  border-radius:var(--ll-card-radius)!important;
  box-shadow:var(--ll-premium-shadow)!important;
}
.ll-design-finish-premium .ll-ai-step-badge span{
  border-radius:12px;
  box-shadow:none;
}
.ll-design-finish-premium .ll-ai-process-card:not(:last-child):after{
  border-color:var(--ll-premium-line);
  box-shadow:0 8px 20px rgba(16,42,58,.055);
  color:var(--ll-primary);
}

/* Dark branded sections use one dominant colour with a secondary-colour glow. */
.ll-design-finish-premium .ll-ai-layout .ll-ai-areas-section,
.ll-design-finish-premium .ll-ai-layout .ll-ai-quote-panel,
.ll-design-finish-premium .ll-ai-layout .ll-ai-cta{
  background:var(--ll-primary)!important;
  isolation:isolate;
}
.ll-design-finish-premium .ll-ai-layout .ll-ai-areas-section:after,
.ll-design-finish-premium .ll-ai-layout .ll-ai-quote-panel:after,
.ll-design-finish-premium .ll-ai-layout .ll-ai-cta:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:620px;height:620px;
  right:-260px;top:-300px;
  border-radius:50%;
  background:var(--ll-secondary);
  opacity:.19;
  pointer-events:none;
}
.ll-design-finish-premium .ll-ai-area-grid{gap:16px}
.ll-design-finish-premium .ll-ai-area-card{
  min-height:104px;
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:18px!important;
  box-shadow:0 14px 34px rgba(7,25,35,.13)!important;
}
.ll-design-finish-premium .ll-ai-area-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(7,25,35,.17)!important}
.ll-design-finish-premium .ll-ai-area-pin{background:var(--ll-premium-soft);border:1px solid rgba(16,42,58,.07)}

/* Reviews: still visually distinctive, but less saturated and less decorative. */
.ll-design-finish-premium .ll-reviews-section{
  padding:clamp(38px,5vw,56px)!important;
  border-radius:30px;
  background:var(--ll-primary)!important;
  box-shadow:var(--ll-premium-dark-shadow);
}
.ll-design-finish-premium .ll-reviews-section:after{
  content:"";
  position:absolute;
  width:620px;height:620px;
  right:-250px;top:-360px;
  border-radius:50%;
  background:var(--ll-secondary);
  opacity:.18;
  pointer-events:none;
}
.ll-design-finish-premium .ll-reviews-section:before{opacity:.48}
.ll-design-finish-premium .ll-reviews-section h2{font-size:clamp(33px,3.7vw,49px)!important}
.ll-design-finish-premium .ll-reviews-badge{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.14);
  backdrop-filter:none;
}
.ll-design-finish-premium .ll-reviews-section .ll-review{
  min-height:270px;
  padding:27px!important;
  border:1px solid rgba(16,42,58,.08)!important;
  border-radius:20px!important;
  box-shadow:0 12px 30px rgba(7,25,35,.12)!important;
}
.ll-design-finish-premium .ll-reviews-section .ll-review:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(7,25,35,.16)!important}
.ll-design-finish-premium .ll-review-avatar{box-shadow:none;border-radius:12px}
.ll-design-finish-premium .ll-review-quote{opacity:.62}

/* Forms: generous controls, crisp labels and useful focus states. */
.ll-design-finish-premium .ll-quote-form{gap:14px}
.ll-design-finish-premium .ll-quote-form label span{font-size:11.5px;font-weight:760;letter-spacing:.005em;margin-bottom:6px}
.ll-design-finish-premium .ll-quote-form input,
.ll-design-finish-premium .ll-quote-form select,
.ll-design-finish-premium .ll-quote-form textarea{
  min-height:48px;
  border:1px solid #cfd9de!important;
  border-radius:12px!important;
  padding:12px 13px!important;
  background:#fff!important;
  box-shadow:inset 0 1px 1px rgba(16,42,58,.025);
}
.ll-design-finish-premium .ll-quote-form textarea{min-height:98px}
.ll-design-finish-premium .ll-quote-form input:focus,
.ll-design-finish-premium .ll-quote-form select:focus,
.ll-design-finish-premium .ll-quote-form textarea:focus{
  border-color:color-mix(in srgb,var(--ll-primary) 55%,#fff)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--ll-primary) 9%,transparent)!important;
  outline:none;
}
.ll-design-finish-premium .ll-quote-form .ll-submit{
  min-height:54px;
  border-radius:12px!important;
  box-shadow:0 11px 25px rgba(16,42,58,.18);
  font-size:15.5px;
  letter-spacing:-.005em;
}
.ll-design-finish-premium .ll-ai-quote-form-card{
  border:1px solid rgba(16,42,58,.08);
  border-radius:24px!important;
  box-shadow:0 24px 64px rgba(7,25,35,.18)!important;
}

/* FAQ: editorial, not boxy. */
.ll-design-finish-premium .ll-ai-faq-section details.wp-block-details,
.ll-design-finish-premium details.wp-block-details{
  margin-bottom:12px;
  padding:19px 21px;
  background:#fff;
  border:1px solid var(--ll-premium-line)!important;
  border-radius:15px!important;
  box-shadow:none!important;
}
.ll-design-finish-premium details.wp-block-details[open]{box-shadow:0 10px 26px rgba(16,42,58,.055)!important}
.ll-design-finish-premium details.wp-block-details summary{font-weight:760;letter-spacing:-.012em}

/* Footer: anchor the site with the primary colour, even when the brand secondary
   colour is intentionally bright. */
.ll-design-finish-premium.ll-footer-style-brand .ll-site-footer{background:var(--ll-primary)}
.ll-design-finish-premium .ll-site-footer{
  margin-top:0;
  padding:68px 0 28px;
  border-top:1px solid rgba(255,255,255,.05);
}
.ll-design-finish-premium .ll-footer-grid{gap:48px}
.ll-design-finish-premium .ll-footer-grid h2{font-size:22px;letter-spacing:-.03em}
.ll-design-finish-premium .ll-footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;opacity:.9}
.ll-design-finish-premium .ll-footer-services li,
.ll-design-finish-premium .ll-footer-useful li{margin-bottom:11px}
.ll-design-finish-premium .ll-site-footer a{text-underline-offset:4px}
.ll-design-finish-premium .ll-footer-bottom{margin-top:42px;padding-top:22px}

/* Mobile is intentionally designed rather than simply stacked. */
@media(max-width:900px){
  .ll-design-finish-premium .ll-nav-row{min-height:68px;gap:16px}
  .ll-design-finish-premium .ll-brand .custom-logo{max-height:50px}
  .ll-design-finish-premium .ll-menu-toggle{border-radius:10px;padding:9px 12px;font-weight:760}
  .ll-design-finish-premium .ll-primary-nav{top:68px;border:1px solid var(--ll-premium-line);border-radius:16px;padding:16px;box-shadow:0 20px 50px rgba(16,42,58,.13)}
  .ll-design-finish-premium .ll-primary-nav .ll-menu>li>a{padding:9px 4px;display:block}
  .ll-design-finish-premium .ll-ai-hero{padding:64px 0!important}
  .ll-design-finish-premium .ll-ai-hero-grid{gap:36px}
  .ll-design-finish-premium .ll-footer-grid{gap:34px}
}
@media(max-width:700px){
  .ll-design-finish-premium .ll-ai-layout .ll-ai-section{padding-top:62px!important;padding-bottom:62px!important}
  .ll-design-finish-premium .ll-ai-hero-copy h1{font-size:clamp(38px,11vw,50px);letter-spacing:-.045em}
  .ll-design-finish-premium .ll-ai-hero-copy>p:not(.ll-eyebrow){font-size:16.5px}
  .ll-design-finish-premium .ll-ai-hero .ll-hero-form-card,
  .ll-design-finish-premium .ll-ai-quote-form-card{padding:22px!important;border-radius:20px!important}
  .ll-design-finish-premium .ll-ai-card-grid{gap:16px}
  .ll-design-finish-premium .ll-ai-service-card .ll-ai-service-card-body{min-height:0;padding:23px!important}
  .ll-design-finish-premium .ll-ai-problem-card{min-height:0;padding:22px!important}
  .ll-design-finish-premium .ll-ai-problem-card:before{left:22px}
  .ll-design-finish-premium .ll-reviews-section{border-radius:22px;padding:30px 22px!important}
  .ll-design-finish-premium .ll-site-footer{padding-top:54px}
  .ll-design-finish-premium .ll-mobile-cta{background:#fff;border-top:1px solid rgba(16,42,58,.08);box-shadow:0 -10px 30px rgba(16,42,58,.10);gap:1px}
  .ll-design-finish-premium .ll-mobile-cta a{padding:14px 12px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .ll-design-finish-premium *,
  .ll-design-finish-premium *:before,
  .ll-design-finish-premium *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* v4.4 automatic editorial imagery for service and advice pages */
.ll-ai-page-media{
  position:relative;
  padding:clamp(28px,4vw,54px) 0 clamp(10px,2vw,28px)!important;
  background:linear-gradient(180deg,var(--ll-mist) 0%,var(--ll-bg) 100%);
}
.ll-ai-page-media-inner{
  width:min(1120px,calc(100% - 40px));
  margin-inline:auto!important;
}
.ll-ai-page-media--advice .ll-ai-page-media-inner{width:min(980px,calc(100% - 40px))}
.ll-ai-page-image{
  margin:0!important;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:clamp(18px,2.2vw,28px);
  background:#dfe6ea;
  border:1px solid rgba(16,42,58,.10);
  box-shadow:0 24px 60px rgba(15,39,64,.14);
}
.ll-ai-page-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.ll-ai-page-media--service .ll-ai-page-image img{object-position:center 48%}
.ll-ai-page-media--advice .ll-ai-page-image{box-shadow:0 20px 52px rgba(15,39,64,.12)}
@media(max-width:700px){
  .ll-ai-page-media{padding:22px 0 6px!important}
  .ll-ai-page-media-inner,.ll-ai-page-media--advice .ll-ai-page-media-inner{width:min(100% - 28px,1120px)}
  .ll-ai-page-image{aspect-ratio:4/3;border-radius:18px}
}

/* v6.8.7 editorial images beside explanatory text sections only */
.ll-ai-section-inner.ll-section-media-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.82fr);
  align-items:start;
  column-gap:clamp(52px,7vw,96px)!important;
  row-gap:0!important;
  width:min(var(--ll-wide),calc(100% - 40px));
  max-width:var(--ll-wide)!important;
}
.ll-section-media-layout>:not(.ll-section-media){grid-column:1;min-width:0}
.ll-section-media-layout>.ll-ai-section-note{margin-top:24px}
.ll-section-media{
  position:relative;
  margin:0!important;
  overflow:hidden;
  aspect-ratio:4/3;
  border:1px solid rgba(16,42,58,.10);
  border-radius:clamp(18px,2.2vw,28px);
  background:#dfe6ea;
  box-shadow:0 22px 54px rgba(15,39,64,.14);
  grid-column:2;
  grid-row:1 / span 30;
  align-self:center;
}
.ll-section-media:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:28%;
  background:linear-gradient(transparent,rgba(5,20,29,.12));
  pointer-events:none;
}
.ll-section-media picture,.ll-section-media img{display:block;width:100%;height:100%}
.ll-section-media img{object-fit:cover;object-position:center}
.ll-section-media-layout--media-left>:not(.ll-section-media){grid-column:2}
.ll-section-media-layout--media-left>.ll-section-media{grid-column:1;grid-row:1 / span 30}
@media(max-width:900px){
  .ll-ai-section-inner.ll-section-media-layout{grid-template-columns:1fr;column-gap:0!important;row-gap:30px!important}
  .ll-section-media-layout>:not(.ll-section-media),
  .ll-section-media-layout--media-left>:not(.ll-section-media),
  .ll-section-media-layout>.ll-section-media,
  .ll-section-media-layout--media-left>.ll-section-media{grid-column:1;grid-row:auto}
  .ll-section-media{width:min(680px,100%);aspect-ratio:16/10}
  .ll-section-media-layout>.ll-section-media{margin-top:0!important}
}
@media(max-width:520px){
  .ll-section-media{aspect-ratio:4/3;border-radius:18px}
}


/* v4.5 Completed Jobs evidence system */
.ll-project-archive-hero,.ll-project-single-hero{background:linear-gradient(135deg,var(--ll-primary),color-mix(in srgb,var(--ll-primary) 78%,#000));color:#fff;padding:clamp(64px,8vw,104px) 0}
.ll-project-archive-hero h1,.ll-project-single-hero h1{color:#fff;margin:.15em 0 .3em;font-size:clamp(40px,5vw,68px);letter-spacing:-.045em}
.ll-project-archive-hero p:not(.ll-eyebrow){max-width:720px;color:rgba(255,255,255,.8);font-size:clamp(17px,2vw,21px)}
.ll-project-evidence-grid{align-items:stretch}
.ll-project-evidence-card,.ll-projects-section .ll-project-card{padding:0;overflow:hidden;background:#fff;border:1px solid var(--ll-line);box-shadow:var(--ll-card-shadow)}
.ll-project-image,.ll-project-evidence-card>a:first-child,.ll-projects-section .ll-project-card>a:first-child{display:block;overflow:hidden}
.ll-project-evidence-card img,.ll-projects-section .ll-project-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0;display:block;transition:transform .35s ease}
.ll-project-evidence-card:hover img,.ll-projects-section .ll-project-card:hover img{transform:scale(1.025)}
.ll-project-card-body{padding:24px}
.ll-project-card-body h2,.ll-project-card-body h3{margin:.35em 0 .65em;letter-spacing:-.025em}
.ll-project-card-body h2 a,.ll-project-card-body h3 a{color:var(--ll-primary);text-decoration:none}
.ll-project-meta{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 8px;font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--ll-primary) 68%,#fff)}
.ll-project-meta span{display:inline-flex;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--ll-primary) 7%,#fff);border:1px solid color-mix(in srgb,var(--ll-primary) 13%,#fff)}
.ll-project-summary{font-size:15px;line-height:1.6;margin:.5em 0;color:color-mix(in srgb,var(--ll-text) 88%,#fff)}
.ll-project-summary strong{color:var(--ll-primary)}
.ll-project-single-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:clamp(36px,6vw,84px);align-items:center}
.ll-project-single-image{margin:0;border-radius:calc(var(--ll-card-radius) + 4px);overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.24)}
.ll-project-single-image img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.ll-project-hero-details{display:grid;gap:9px;margin-top:24px}
.ll-project-hero-detail{display:flex;align-items:baseline;gap:12px;margin:0;color:rgba(255,255,255,.88);font-size:16px;line-height:1.55}
.ll-project-hero-detail-label{flex:0 0 70px;color:var(--ll-accent);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.ll-project-hero-detail-value{color:#fff;font-weight:700}
.ll-project-hero-detail-value .ll-project-service-link,.ll-project-hero-detail-value .ll-project-location-link{color:#fff;text-decoration-color:rgba(255,255,255,.55)}
.ll-project-single-content{padding-top:clamp(56px,7vw,92px);padding-bottom:clamp(64px,8vw,110px)}
.ll-project-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:54px}
.ll-project-story-card{padding:30px;border-radius:var(--ll-card-radius);background:#fff;border:1px solid var(--ll-line);box-shadow:var(--ll-card-shadow)}
.ll-project-story-card>span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--ll-accent) 18%,#fff);color:var(--ll-primary);font-size:12px;font-weight:900}
.ll-project-story-card h2{font-size:22px;margin:.8em 0 .45em}
.ll-project-story-card p{margin:0;line-height:1.7}
.ll-project-facts{padding:32px;border-radius:var(--ll-card-radius);background:color-mix(in srgb,var(--ll-primary) 4%,#fff);border:1px solid var(--ll-line);margin:0 0 52px}
.ll-project-facts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ll-project-facts-grid div{display:grid;gap:6px}.ll-project-facts-grid span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#667681}.ll-project-facts-grid strong{font-size:17px;color:var(--ll-primary)}
.ll-project-editorial{max-width:820px;margin:0 auto;font-size:1.05rem;line-height:1.78}.ll-project-editorial img{border-radius:var(--ll-card-radius)}
.ll-project-back{margin-top:48px}
@media(max-width:900px){.ll-project-single-hero-grid{grid-template-columns:1fr}.ll-project-story-grid{grid-template-columns:1fr}.ll-project-facts-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ll-project-facts-grid{grid-template-columns:1fr}.ll-project-card-body{padding:20px}.ll-project-hero-detail{display:grid;gap:2px}.ll-project-hero-detail-label{flex-basis:auto}}

/* v4.6 guided completed job pages */
.ll-project-facts-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.ll-project-gallery{margin:0 0 56px}
.ll-project-gallery>h2{margin:.15em 0 .7em;letter-spacing:-.03em}
.ll-project-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ll-project-gallery-grid figure{margin:0;border-radius:var(--ll-card-radius);overflow:hidden;background:#eef2f4;box-shadow:var(--ll-card-shadow)}
.ll-project-gallery-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:1000px){.ll-project-facts-grid-five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.ll-project-gallery-grid{grid-template-columns:1fr 1fr}.ll-project-facts-grid-five{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ll-project-gallery-grid,.ll-project-facts-grid-five{grid-template-columns:1fr}}

/* v4.7: Completed Job guided editor reliability fix is admin-only. */


/* v4.8 — Completed Job → relevant service internal linking */
.ll-project-service-link,.ll-project-location-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font-weight:700}
.ll-project-service-link:hover,.ll-project-service-link:focus,.ll-project-location-link:hover,.ll-project-location-link:focus{color:var(--ll-accent,var(--wp--preset--color--accent));text-decoration-thickness:2px}
.ll-project-related-service{margin:clamp(32px,5vw,64px) 0 24px;padding:clamp(24px,4vw,40px);display:flex;gap:28px;align-items:center;justify-content:space-between;border:1px solid rgba(15,39,64,.10);border-radius:var(--ll-card-radius,22px);background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(245,248,250,.98));box-shadow:0 18px 45px rgba(15,39,64,.08)}
.ll-project-related-service h2{margin:.15em 0 .35em}.ll-project-related-service p:last-child{margin-bottom:0}.ll-project-related-service-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.ll-project-related-service-actions .wp-element-button{white-space:nowrap}
@media (max-width:760px){.ll-project-related-service{align-items:flex-start;flex-direction:column}.ll-project-related-service-actions{justify-content:flex-start;width:100%}.ll-project-related-service-actions .wp-element-button{width:100%;text-align:center}}


/* v5.2 — Compact additional photos on completed job pages */
.ll-project-gallery-grid img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
}
@media(max-width:520px){
  .ll-project-gallery-grid img{aspect-ratio:16/10;}
}


/* v5.3 — Post-enquiry "What happens next?" panel */
.ll-quote-success-panel{
  position:relative;
  overflow:hidden;
  padding:clamp(24px,4vw,38px);
  border:1px solid color-mix(in srgb,var(--ll-primary) 10%,#fff);
  border-radius:calc(var(--ll-card-radius,22px) + 2px);
  background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--ll-primary) 3%,#fff) 100%);
  color:var(--ll-text,#162731);
  box-shadow:0 22px 58px rgba(15,39,64,.11);
}
.ll-quote-success-panel:before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-86px;
  top:-94px;
  border-radius:50%;
  background:color-mix(in srgb,var(--ll-accent) 10%,transparent);
  pointer-events:none;
}
.ll-quote-success-icon{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin:0 0 18px;
  border-radius:16px;
  background:color-mix(in srgb,var(--ll-accent) 18%,#fff);
  color:var(--ll-primary);
  font-size:25px;
  font-weight:950;
  line-height:1;
}
.ll-quote-success-eyebrow{
  margin:0 0 8px!important;
  color:color-mix(in srgb,var(--ll-primary) 70%,var(--ll-accent));
  font-size:11px!important;
  line-height:1.2;
  font-weight:900!important;
  letter-spacing:.12em;
}
.ll-quote-success-panel h3{
  margin:0 0 10px!important;
  color:var(--ll-primary)!important;
  font-size:clamp(24px,3vw,32px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em;
}
.ll-quote-success-intro{
  margin:0!important;
  color:color-mix(in srgb,var(--ll-text) 82%,#fff)!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.ll-quote-next{
  margin-top:26px;
  padding-top:23px;
  border-top:1px solid color-mix(in srgb,var(--ll-primary) 10%,#fff);
}
.ll-quote-next-title{
  margin:0 0 14px!important;
  color:var(--ll-primary)!important;
  font-size:15px!important;
  font-weight:900!important;
}
.ll-quote-next-steps{
  list-style:none;
  margin:0!important;
  padding:0!important;
  display:grid;
  gap:14px;
}
.ll-quote-next-steps li{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:0!important;
}
.ll-quote-next-number{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:10px;
  background:var(--ll-primary);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.ll-quote-next-steps strong{
  display:block;
  margin:1px 0 2px;
  color:var(--ll-primary);
  font-size:14px;
  line-height:1.35;
}
.ll-quote-next-steps li div>span{
  display:block;
  color:color-mix(in srgb,var(--ll-text) 76%,#fff);
  font-size:13px;
  line-height:1.5;
}
.ll-quote-local-test-note{
  margin:20px 0 0!important;
  padding:12px 14px;
  border-radius:12px;
  background:#fff8e4;
  border:1px solid #efdca8;
  color:#654d12!important;
  font-size:12px!important;
  line-height:1.55!important;
}
.ll-design-finish-premium .ll-ai-quote-form-card .ll-quote-success-panel,
.ll-design-finish-premium .ll-hero-form-card .ll-quote-success-panel{
  box-shadow:none;
  border-color:color-mix(in srgb,var(--ll-primary) 9%,#fff);
}
@media(max-width:520px){
  .ll-quote-success-panel{padding:22px 19px;}
  .ll-quote-success-panel h3{font-size:24px!important;}
}


/* v6.6 responsive, preload-discoverable hero image / video background media */
.ll-hero,.ll-ai-hero{position:relative;overflow:hidden;}
.ll-hero-media-picture{
  position:absolute!important;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  z-index:0!important;
  pointer-events:none;
}
.ll-hero-media-image{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover;
  object-position:center;
}
.ll-hero-bg-video{
  position:absolute!important;
  inset:0;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover;
  object-position:center;
  z-index:1!important;
  pointer-events:none;
}
.ll-hero-media-overlay{
  position:absolute!important;
  inset:0;
  z-index:2!important;
  pointer-events:none;
  background:rgba(5,18,28,.58);
}
.ll-hero>:not(.ll-hero-media-picture):not(.ll-hero-bg-video):not(.ll-hero-media-overlay),
.ll-ai-hero>:not(.ll-hero-media-picture):not(.ll-hero-bg-video):not(.ll-hero-media-overlay){position:relative;z-index:3;}
.ll-hero-has-media .ll-hero:after{z-index:2;}
.ll-hero-has-media .ll-ai-hero:before{z-index:2;}
.ll-hero-has-media .ll-ai-hero>.ll-ai-hero-grid,
.ll-hero-has-media .ll-hero>.ll-hero-grid,
.ll-hero-has-media .ll-hero>.wp-block-columns,
.ll-hero-has-media .ll-hero>.wp-block-group{position:relative;z-index:3;}
.ll-hero-has-media .ll-ai-hero-actions .is-style-outline .wp-block-button__link,
.ll-hero-has-media .ll-hero .is-style-outline .wp-block-button__link{color:#fff!important;border-color:rgba(255,255,255,.75)!important;background:rgba(255,255,255,.06)!important;}
@media(prefers-reduced-motion:reduce){
  .ll-hero-bg-video{display:none!important;}
}
@media(max-width:782px){
  .ll-hero-bg-video{display:none!important;}
}


/* v6.1 — Premium Local Trades preset
   Presentation-only enhancements: existing Gutenberg content, managed service
   data, forms and schema remain untouched. */
.ll-design-preset-premium-trades{
  --ll-v61-soft:#f5f8f9;
  --ll-v61-line:color-mix(in srgb,var(--ll-primary) 11%,#fff);
  --ll-v61-shadow:0 18px 50px rgba(10,34,48,.10);
  --ll-v61-shadow-hover:0 28px 64px rgba(10,34,48,.16);
}
.ll-design-preset-premium-trades .ll-shell{width:min(var(--ll-wide,1180px),calc(100% - 48px))}
.ll-design-preset-premium-trades .ll-content>.wp-block-group.alignfull{margin-block-start:0}

/* Hero variants work with both Framework and AI Lab page structures. */
.ll-design-preset-premium-trades .ll-hero,
.ll-design-preset-premium-trades .ll-ai-hero{
  min-height:clamp(650px,76vh,820px);
  display:grid;
  align-items:center;
  padding:clamp(74px,8vw,112px) 0!important;
  background:linear-gradient(112deg,var(--ll-primary) 0%,color-mix(in srgb,var(--ll-secondary) 76%,var(--ll-primary)) 100%);
  isolation:isolate;
}
.ll-design-preset-premium-trades .ll-hero:before,
.ll-design-preset-premium-trades .ll-ai-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 42%);
  pointer-events:none;
}
.ll-design-preset-premium-trades .ll-hero-grid,
.ll-design-preset-premium-trades .ll-ai-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr)!important;
  gap:clamp(44px,6vw,84px)!important;
  align-items:center;
}
.ll-design-preset-premium-trades .ll-hero-copy>.wp-block-heading,
.ll-design-preset-premium-trades .ll-ai-hero-copy h1{
  font-size:clamp(44px,5.7vw,76px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  max-width:820px;
  text-shadow:0 3px 28px rgba(3,17,25,.18);
}
.ll-design-preset-premium-trades .ll-hero-copy>p:not(.ll-eyebrow):not(.ll-hero-trust),
.ll-design-preset-premium-trades .ll-ai-hero-copy>p:not(.ll-eyebrow){
  max-width:680px;
  font-size:clamp(17px,1.5vw,20px)!important;
  line-height:1.65!important;
  color:rgba(255,255,255,.84)!important;
}
.ll-design-preset-premium-trades .ll-hero-form-card{
  padding:clamp(25px,3vw,34px)!important;
  border-radius:26px!important;
  border:1px solid rgba(255,255,255,.46)!important;
  box-shadow:0 34px 90px rgba(2,17,25,.30)!important;
  backdrop-filter:blur(2px);
}
.ll-design-preset-premium-trades.ll-hero-layout-editorial .ll-hero-form-card{transform:translateY(16px)}
.ll-design-preset-premium-trades.ll-hero-layout-balanced .ll-hero,
.ll-design-preset-premium-trades.ll-hero-layout-balanced .ll-ai-hero{min-height:620px}
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-hero-grid,
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-ai-hero-grid{grid-template-columns:1fr!important;max-width:920px;text-align:center}
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-hero-copy>.wp-block-heading,
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-hero-copy>p,
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-ai-hero-copy h1,
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-ai-hero-copy>p{margin-inline:auto}
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-hero-copy .wp-block-buttons,
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-ai-hero-actions,
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-hero-trust,
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-ai-trust-row{justify-content:center}
.ll-design-preset-premium-trades.ll-hero-layout-centred .ll-hero-form-card{width:min(720px,100%);margin-inline:auto;transform:none}

/* Stronger section rhythm and quieter supporting surfaces. */
.ll-design-preset-premium-trades .ll-section:not(.ll-hero):not(.ll-cta),
.ll-design-preset-premium-trades .ll-ai-section:not(.ll-ai-hero):not(.ll-ai-cta){padding-top:clamp(74px,8vw,108px)!important;padding-bottom:clamp(74px,8vw,108px)!important}
.ll-design-preset-premium-trades .ll-section>h2,
.ll-design-preset-premium-trades .ll-section>.wp-block-heading,
.ll-design-preset-premium-trades .ll-dynamic-section>h2{font-size:clamp(32px,3.5vw,48px);line-height:1.06;letter-spacing:-.042em}

/* Photographic service cards. A page Featured Image wins over bundled imagery. */
.ll-design-preset-premium-trades .ll-service-card,
.ll-design-preset-premium-trades .ll-ai-service-card{
  border:1px solid var(--ll-v61-line)!important;
  border-radius:24px!important;
  box-shadow:var(--ll-v61-shadow)!important;
  overflow:hidden;
  background:#fff;
}
.ll-design-preset-premium-trades .ll-service-card:hover,
.ll-design-preset-premium-trades .ll-ai-service-card:hover{transform:translateY(-6px);box-shadow:var(--ll-v61-shadow-hover)!important}
.ll-design-preset-premium-trades .ll-service-card-image{position:relative;aspect-ratio:16/10;background:var(--ll-v61-soft)}
.ll-design-preset-premium-trades .ll-service-card-image:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(5,20,29,.30));pointer-events:none}
.ll-design-preset-premium-trades .ll-service-card-image img{width:100%;height:100%!important;object-fit:cover;transition:transform .45s ease}
.ll-design-preset-premium-trades .ll-service-card:hover .ll-service-card-image img{transform:scale(1.045)}
.ll-design-preset-premium-trades .ll-service-card-body{padding:27px 28px 29px!important}
.ll-design-preset-premium-trades .ll-service-card-body h3{font-size:clamp(21px,2vw,25px);margin-bottom:11px}
.ll-design-preset-premium-trades .ll-service-card-body h3 a{color:var(--ll-primary);text-decoration:none}
.ll-design-preset-premium-trades .ll-service-card-body>p:not(:last-child){color:#526974!important;line-height:1.67!important}

/* Project proof cards receive the same premium visual language. */
.ll-design-preset-premium-trades .ll-projects-section{width:min(var(--ll-wide),100%);margin-inline:auto}
.ll-design-preset-premium-trades .ll-project-grid{gap:26px}
.ll-design-preset-premium-trades .ll-projects-section .ll-project-card{border-radius:24px;box-shadow:var(--ll-v61-shadow);transition:transform .25s ease,box-shadow .25s ease}
.ll-design-preset-premium-trades .ll-projects-section .ll-project-card:hover{transform:translateY(-5px);box-shadow:var(--ll-v61-shadow-hover)}
.ll-design-preset-premium-trades .ll-projects-section .ll-project-card img{aspect-ratio:16/11}
.ll-design-preset-premium-trades .ll-project-card-body{padding:26px}
.ll-design-preset-premium-trades .ll-project-meta span{background:color-mix(in srgb,var(--ll-accent) 12%,#fff);border-color:color-mix(in srgb,var(--ll-accent) 24%,#fff)}

/* CTA bands and locations feel designed without introducing decorative assets. */
.ll-design-preset-premium-trades .ll-cta,
.ll-design-preset-premium-trades .ll-ai-cta{position:relative;overflow:hidden;isolation:isolate;border-radius:28px!important;box-shadow:0 28px 68px rgba(8,31,44,.16)}
.ll-design-preset-premium-trades .ll-cta:after,
.ll-design-preset-premium-trades .ll-ai-cta:after{content:"";position:absolute;z-index:-1;width:470px;height:470px;right:-190px;top:-260px;border:72px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}
.ll-design-preset-premium-trades .ll-area-chips{gap:12px;margin-top:26px}
.ll-design-preset-premium-trades .ll-area-chips span{position:relative;padding:11px 16px 11px 38px;border-color:var(--ll-v61-line);box-shadow:0 8px 20px rgba(10,34,48,.055)}
.ll-design-preset-premium-trades .ll-area-chips span:before{content:"";position:absolute;left:16px;top:50%;width:9px;height:9px;transform:translateY(-65%) rotate(45deg);border-radius:50% 50% 50% 0;background:var(--ll-accent)}

/* Refined mobile navigation and thumb-friendly fixed actions. */
.ll-design-preset-premium-trades .ll-mobile-cta{padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--ll-v61-line);box-shadow:0 -12px 36px rgba(8,31,44,.14)}
.ll-design-preset-premium-trades .ll-mobile-cta a{min-height:56px;display:grid;place-items:center;font-size:15px;letter-spacing:-.01em}

@media(prefers-reduced-motion:no-preference){
  .ll-design-preset-premium-trades .ll-hero-copy,
  .ll-design-preset-premium-trades .ll-ai-hero-copy{animation:ll-v61-rise .65s ease both}
  .ll-design-preset-premium-trades .ll-hero-form-card{animation:ll-v61-rise .65s .1s ease both}
  @keyframes ll-v61-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
  .ll-design-preset-premium-trades.ll-hero-layout-editorial .ll-hero-form-card{animation-name:ll-v61-rise-form}
  @keyframes ll-v61-rise-form{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(16px)}}
}
@media(max-width:980px){
  .ll-design-preset-premium-trades .ll-hero,.ll-design-preset-premium-trades .ll-ai-hero{min-height:0}
  .ll-design-preset-premium-trades .ll-hero-grid,.ll-design-preset-premium-trades .ll-ai-hero-grid{grid-template-columns:1fr!important}
  .ll-design-preset-premium-trades.ll-hero-layout-editorial .ll-hero-form-card{transform:none}
}
@media(max-width:980px) and (prefers-reduced-motion:no-preference){
  .ll-design-preset-premium-trades.ll-hero-layout-editorial .ll-hero-form-card{animation-name:ll-v61-rise}
}
@media(max-width:700px){
  .ll-design-preset-premium-trades .ll-shell{width:min(100% - 28px,var(--ll-wide,1180px))}
  .ll-design-preset-premium-trades .ll-hero,.ll-design-preset-premium-trades .ll-ai-hero{padding:58px 0 54px!important}
  .ll-design-preset-premium-trades .ll-hero-copy>.wp-block-heading,.ll-design-preset-premium-trades .ll-ai-hero-copy h1{font-size:clamp(39px,12vw,53px)!important}
  .ll-design-preset-premium-trades .ll-hero-form-card{padding:22px!important;border-radius:20px!important}
  .ll-design-preset-premium-trades .ll-section:not(.ll-hero):not(.ll-cta),.ll-design-preset-premium-trades .ll-ai-section:not(.ll-ai-hero):not(.ll-ai-cta){padding-top:60px!important;padding-bottom:60px!important}
  .ll-design-preset-premium-trades .ll-service-card,.ll-design-preset-premium-trades .ll-projects-section .ll-project-card{border-radius:19px!important}
  .ll-design-preset-premium-trades .ll-cta,.ll-design-preset-premium-trades .ll-ai-cta{border-radius:20px!important;margin-inline:14px!important}
}


/* v6.3 — Configurable Google rating badge inside hero copy. */
.ll-google-rating-badge{
  width:fit-content;
  max-width:100%;
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  gap:11px;
  margin-top:25px;
  padding:11px 14px 11px 12px;
  border:1px solid rgba(255,255,255,.44);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  color:#173142!important;
  text-decoration:none!important;
  box-shadow:0 15px 38px rgba(3,18,27,.20);
  backdrop-filter:blur(9px);
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}
a.ll-google-rating-badge:hover,
a.ll-google-rating-badge:focus-visible{transform:translateY(-2px);background:#fff;box-shadow:0 20px 48px rgba(3,18,27,.27)}
.ll-google-rating-brand{
  display:grid;
  place-items:center;
  min-width:46px;
  min-height:36px;
  padding:0 11px 0 3px;
  border-right:1px solid rgba(16,42,58,.12);
}
.ll-google-rating-brand svg{display:block;width:29px;height:29px;overflow:visible}
.ll-google-rating-stars{color:#f4a51c;font-size:17px;line-height:1;letter-spacing:1px;text-shadow:0 1px 0 rgba(94,56,0,.10)}
.ll-google-rating-copy{display:grid;grid-template-columns:auto;gap:1px;min-width:0}
.ll-google-rating-copy strong{color:var(--ll-primary);font-size:17px;line-height:1;font-weight:900;letter-spacing:-.025em}
.ll-google-rating-copy>span{color:#5a6d77;font-size:11px;line-height:1.25;font-weight:750;white-space:nowrap}
.ll-hero-layout-centred .ll-google-rating-badge{margin-inline:auto}
@media(max-width:700px){
  .ll-google-rating-badge{grid-template-columns:auto auto minmax(0,1fr);margin-top:20px;padding:10px 12px 10px 9px;gap:8px;border-radius:14px}
  .ll-google-rating-brand{display:grid;min-width:35px;min-height:31px;padding:0 8px 0 0}
  .ll-google-rating-brand svg{width:25px;height:25px}
  .ll-google-rating-stars{font-size:15px}
  .ll-google-rating-copy strong{font-size:16px}
  .ll-google-rating-copy>span{font-size:10.5px}
}

/* v6.6 — accessibility-safe brand colours, focus, forms and mobile controls. */
.ll-topbar,.ll-topbar a{color:var(--ll-on-primary)!important}
.ll-header-style-bold .ll-brand,.ll-header-style-bold .ll-primary-nav>.ll-menu>li>a{color:var(--ll-on-primary)!important}
.ll-footer-style-brand .ll-site-footer,
.ll-footer-style-brand .ll-site-footer a,
.ll-footer-style-brand .ll-site-footer h2,
.ll-footer-style-brand .ll-site-footer h3{color:var(--ll-on-secondary)!important}
.ll-design-finish-premium.ll-footer-style-brand .ll-site-footer,
.ll-design-finish-premium.ll-footer-style-brand .ll-site-footer a,
.ll-design-finish-premium.ll-footer-style-brand .ll-site-footer h2,
.ll-design-finish-premium.ll-footer-style-brand .ll-site-footer h3{color:var(--ll-on-primary)!important}
.ll-header-cta,
.wp-block-button:not(.is-style-outline) .wp-element-button,
.ll-mobile-cta a:last-child{color:var(--ll-on-accent)!important}
.ll-quote-form .ll-submit,.ll-hero-form-card .ll-submit,.ll-card .ll-submit{color:var(--ll-on-primary)!important}
.ll-mobile-cta a:first-child{color:var(--ll-on-primary)!important}
body:not(.ll-hero-media-active) .ll-hero,
body:not(.ll-hero-media-active) .ll-ai-hero,
body:not(.ll-hero-media-active) .ll-hero h1,
body:not(.ll-hero-media-active) .ll-hero h2,
body:not(.ll-hero-media-active) .ll-hero h3,
body:not(.ll-hero-media-active) .ll-ai-hero h1,
body:not(.ll-hero-media-active) .ll-ai-hero h2,
body:not(.ll-hero-media-active) .ll-ai-hero h3{color:var(--ll-on-hero)!important}
body:not(.ll-hero-media-active) .ll-hero p:not(.ll-hero-form-card p),
body:not(.ll-hero-media-active) .ll-ai-hero p:not(.ll-hero-form-card p){color:var(--ll-on-hero)!important}
body:not(.ll-hero-media-active) .ll-hero .ll-hero-form-card h1,
body:not(.ll-hero-media-active) .ll-hero .ll-hero-form-card h2,
body:not(.ll-hero-media-active) .ll-hero .ll-hero-form-card h3,
body:not(.ll-hero-media-active) .ll-ai-hero .ll-hero-form-card h1,
body:not(.ll-hero-media-active) .ll-ai-hero .ll-hero-form-card h2,
body:not(.ll-hero-media-active) .ll-ai-hero .ll-hero-form-card h3{color:var(--ll-primary)!important}
body:not(.ll-hero-media-active) .ll-hero .ll-hero-form-card p,
body:not(.ll-hero-media-active) .ll-ai-hero .ll-hero-form-card p{color:#61727c!important}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #0b63ce!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px #fff,0 0 0 5px #0b63ce!important;
}
.ll-skip:focus{left:20px;top:20px;color:#111;background:#fff;border:2px solid #0b63ce;border-radius:6px}
.ll-menu-toggle,.ll-header-cta,.ll-submit,.ll-mobile-cta a{min-height:44px}
.ll-quote-form [aria-invalid="true"]{border:2px solid #b42318!important;background:#fff8f7!important}
.ll-alert-error{color:#71120b;background:#fff0ee;border:1px solid #e7a39d}
@media(max-width:900px){
  .ll-primary-nav .ll-menu>li>a{display:flex;align-items:center;min-height:44px;padding:8px 4px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* v6.7 — conversion-led homepage order and evidence-safe Why Choose Us. */
.ll-home-services-section{background:linear-gradient(180deg,var(--ll-bg),color-mix(in srgb,var(--ll-primary) 3%,var(--ll-bg)))}
.ll-home-why-section{
  position:relative;
  overflow:hidden;
  width:100%;
  background:
    radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--ll-accent) 16%,transparent),transparent 28%),
    linear-gradient(180deg,color-mix(in srgb,var(--ll-primary) 4%,#fff),#fff);
  border-block:1px solid color-mix(in srgb,var(--ll-primary) 10%,#fff);
}
.ll-home-why-section:after{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  right:-210px;
  bottom:-280px;
  border:70px solid color-mix(in srgb,var(--ll-primary) 4%,transparent);
  border-radius:50%;
  pointer-events:none;
}
.ll-home-section-inner{position:relative;z-index:1;width:min(var(--ll-wide,1180px),calc(100% - 40px));margin-inline:auto}
.ll-home-why-section .ll-eyebrow{margin:0 0 10px}
.ll-home-why-section h2{max-width:800px;margin:.12em 0 .35em;font-size:clamp(32px,3.7vw,50px);line-height:1.06;letter-spacing:-.042em;color:var(--ll-primary)}
.ll-home-section-intro{max-width:760px;margin:0;color:color-mix(in srgb,var(--ll-text) 78%,#fff);font-size:clamp(16px,1.5vw,19px);line-height:1.7}
.ll-home-benefit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:18px;margin-top:36px}
.ll-home-benefit-card{
  position:relative;
  min-width:0;
  min-height:240px;
  padding:27px 24px 24px;
  border:1px solid color-mix(in srgb,var(--ll-primary) 11%,#fff);
  border-radius:var(--ll-card-radius,20px);
  background:var(--ll-surface,#fff);
  box-shadow:0 14px 36px rgba(10,34,48,.08);
}
.ll-home-benefit-number{display:grid;place-items:center;width:42px;height:42px;margin:0 0 22px;border-radius:13px;background:color-mix(in srgb,var(--ll-accent) 18%,#fff);color:var(--ll-primary);font-size:12px;font-weight:950;letter-spacing:.06em}
.ll-home-benefit-check{font-size:21px;line-height:1;letter-spacing:0}
.ll-home-benefit-card h3{margin:0 0 11px;color:var(--ll-primary);font-size:20px;line-height:1.22;letter-spacing:-.025em}
.ll-home-benefit-card p{margin:0;color:#526873;font-size:14.5px;line-height:1.65}
.ll-home-reviews-wrap .ll-reviews-section{width:min(var(--ll-wide,1180px),100%);margin-inline:auto}
.ll-home-projects-wrap .ll-projects-section{margin-inline:auto}
.ll-home-reviews-wrap:empty,.ll-home-projects-wrap:empty{display:none!important;padding:0!important}
@supports selector(:has(*)){
  .ll-home-reviews-wrap:not(:has(.ll-reviews-section)),
  .ll-home-projects-wrap:not(:has(.ll-projects-section)){display:none!important;padding:0!important;margin:0!important}
}
@media(max-width:1050px){.ll-home-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ll-home-benefit-card{min-height:210px}}
@media(max-width:700px){
  .ll-home-section-inner{width:min(100% - 28px,var(--ll-wide,1180px))}
  .ll-home-benefit-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}
  .ll-home-benefit-card{min-height:0;padding:22px}
  .ll-home-benefit-number{margin-bottom:17px}
}
