/* LMTec · Professional website system · 30 October 2026 */
:root{--ink:#203641;--blue:#47758c;--red:#b34b4d;--muted:#5d6e76;--line:#dce4e7;--soft:#f2f5f6;--white:#fff;--navy:#203641;--gray:#5d6e76;--pale:#f2f5f6;--font:'Plus Jakarta Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.75 var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.035em;line-height:1.15}h1{font-size:clamp(40px,5vw,68px)}h2{font-size:clamp(32px,3.3vw,44px)}h3{font-size:23px}p{color:var(--muted)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,summary{cursor:pointer}img{display:block;max-width:100%;height:auto}svg{flex:none}video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#14262f;object-fit:contain;border-radius:3px}a,button{transition:color .18s,background .18s,border-color .18s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #36728e;outline-offset:5px}[hidden]{display:none!important}.wrap{width:calc(100% - 96px);max-width:1240px;margin-inline:auto}.section{padding-block:100px}.narrow{max-width:850px}.soft{background:var(--soft)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-200px;left:12px;z-index:2000;background:#fff;padding:14px}.skip:focus{top:10px}.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:14px 25px;border:1px solid var(--line);border-radius:3px;font-size:14px;font-weight:600;line-height:1.5;background:#fff;color:var(--ink);text-align:center}.button:hover,.btn:hover{background:#edf2f4;border-color:#9cabb3}.red,.btn-primary{color:#fff;background:var(--red);border-color:var(--red)}.red:hover,.btn-primary:hover{background:#983b3e;border-color:#983b3e}.navy{background:var(--ink);border-color:var(--ink);color:#fff}.navy:hover{background:#355360;color:#fff}.ghost{background:transparent;border-color:#99aab4}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:32px}.action-arrow{width:20px;height:20px}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#a5b9c2;color:#355e72}.text-link:hover{color:var(--red);text-decoration-color:var(--red)}.section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:80px;margin-bottom:46px}.section-head>p{font-size:15px;max-width:470px}.check-list{list-style:none;padding:0;margin:25px 0;color:var(--muted);font-size:14px}.check-list li{position:relative;padding:13px 0 13px 27px;border-bottom:1px solid var(--line)}.check-list li:before{content:'✓';color:var(--blue);position:absolute;left:0}.num{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.03em;color:var(--blue)}.eyebrow{font-size:12px;color:var(--muted);margin-bottom:18px}.fade-up{opacity:1;transform:none}
/* Brand and navigation */
.utility-bar{background:var(--soft);border-bottom:1px solid #e5eaed;font-size:11px;color:#60737d}.utility-bar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:31px;gap:20px}.utility-bar a{font-weight:600}.navbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.nav-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand,.footer-brand{display:block;position:relative;overflow:hidden;flex:none;width:212px;height:64px}.brand img,.footer-brand img{position:absolute;width:228px;height:auto;max-width:none;top:-18px;left:-7.6px;filter:none;padding:0;background:transparent}.navbar-links{display:flex;align-items:center;gap:21px;white-space:nowrap;font-size:12px;font-weight:600}.navbar-links>a{padding-block:24px}.navbar-links a:hover,.navbar-links a.active{color:var(--red)}.nav-dropdown{position:relative}.nav-dropdown-toggle{background:none;border:0;padding:24px 0;font-size:12px;font-weight:600;color:var(--ink)}.menu-chevron{width:13px;height:13px;margin-left:3px;vertical-align:middle}.nav-dropdown-menu{position:absolute;top:100%;left:-20px;min-width:230px;border:1px solid var(--line);background:white;padding:9px;display:none;box-shadow:0 14px 32px #20364112}.nav-dropdown-menu a{display:block;padding:12px}.nav-dropdown.is-open .nav-dropdown-menu{display:block}.nav-dropdown-menu a:hover{background:var(--soft)}.nav-call{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;min-height:44px;border:1px solid var(--line);border-radius:3px;padding:10px 15px;font-size:12px;font-weight:600}.nav-call svg{width:17px;height:17px;stroke:var(--blue)}.nav-call:hover{border-color:var(--blue);background:var(--soft)}.mobile-toggle{display:none;border:0;background:none;width:48px;height:48px;padding:12px;flex-direction:column;justify-content:center;gap:5px}.mobile-toggle span{width:24px;height:2px;background:var(--ink);transition:transform .18s}.mobile-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-toggle.open span:nth-child(2){opacity:0}.mobile-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none}.mobile-menu a{min-height:48px;padding:12px 8px;border-bottom:1px solid var(--line);font-size:16px}.mobile-menu a.active{color:var(--red)}.mobile-menu a.mobile-call{display:flex;justify-content:center;align-items:center;gap:12px;background:var(--red);color:white;margin-top:18px;border:0;border-radius:3px}.mobile-call svg{width:18px;height:18px}.mobile-quick-contact{display:none}
/* Home: architecture, specialist services, evidence */
.home-hero{position:relative;isolation:isolate;overflow:hidden;background:#203641;color:#fff}.home-hero-grid{min-height:610px;display:flex;align-items:center}.home-hero-copy{position:relative;z-index:2;padding-block:74px 80px;max-width:700px}.home-kicker{font-size:11px;font-weight:600;line-height:1.6;letter-spacing:.13em;color:#d2e5f0;margin-bottom:20px}.home-hero h1{font-size:clamp(48px,5.4vw,76px);font-weight:800;line-height:1.12;letter-spacing:-.04em;overflow-wrap:break-word}.home-hero h1 span{color:#79cbe6}.home-lead{font-size:17px;line-height:1.85;color:#e2eaf0;max-width:475px;margin-top:26px}.home-region{font-size:12px;color:#d0dce4;margin-top:16px}.home-hero .actions{margin-top:31px}.home-phone{font-size:15px;font-weight:500;color:#fff;padding-block:12px;border-bottom:1px solid #ffffff65}.home-audience{margin-top:39px;font-size:12px;color:#d3dfe5}.home-hero-visual{position:absolute;inset:0;z-index:-1}.home-hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#142936cc 0%,#14293680 60%,#1429364d 100%)}.home-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.home-hero-visual figcaption{position:absolute;bottom:21px;right:max(48px,calc((100vw - 1240px)/2));z-index:2;font-size:10px;letter-spacing:.02em;color:#e4edf2}.home-hero-visual figcaption span{display:none}.home-trust{border-bottom:1px solid var(--line);background:white}.home-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:29px}.home-trust-grid>*{padding-inline:34px;border-left:1px solid var(--line)}.home-trust-grid>:first-child{padding-left:0;border:0}.home-trust strong{display:block;font-size:15px;font-weight:600;color:var(--ink)}.home-trust span{font-size:12px;color:var(--muted)}.home-trust a:hover strong{color:var(--red)}.home-trust span span{margin-left:8px}.home-services{padding-bottom:90px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.service-card{display:flex;flex-direction:column;align-items:start;border-top:2px solid var(--blue);padding:28px 0 12px}.service-card:hover{border-color:var(--red)}.service-number{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#6b818c;margin-bottom:33px}.service-card h3{font-size:27px;margin-bottom:16px}.service-card p{font-size:14px;line-height:1.85;margin-bottom:22px}.service-card .service-lead{font-size:15px;color:var(--ink);margin-bottom:12px}.service-card .text-link{margin-top:auto}.home-practice{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px 80px;align-items:center}.practice-photo{position:relative}.practice-photo img{width:100%;height:410px;object-fit:cover;border-radius:3px}.practice-photo span{position:absolute;bottom:18px;left:18px;background:#fff;padding:8px 12px;font-size:11px}.practice h2{margin-bottom:22px}.practice p{font-size:15px}.documentation-compact{grid-column:1/-1;display:grid;grid-template-columns:140px 1fr;gap:40px;align-items:center;border-top:1px solid var(--line);padding-top:42px}.documentation-cover{background:var(--soft);padding:12px;display:block}.documentation-cover img{width:100%;max-height:165px;object-fit:contain}.documentation-compact h3{font-size:25px;margin-bottom:12px}.documentation-compact p{max-width:780px}.document-links{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:15px}.sample-note{font-size:11px!important;line-height:1.7!important;color:#637780!important;margin-top:14px!important}.home-story{background:var(--soft);padding-block:90px}.home-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.home-story-copy>p{font-size:14px;margin-top:15px}.owner-identity{display:flex;gap:22px;align-items:center;margin-block:30px 24px}.owner-identity>img{width:74px;height:92px;object-fit:cover;object-position:center 28%;border-radius:2px}.owner-identity strong{font-size:18px;font-weight:600}.owner-identity p{font-size:12px;margin-top:4px}.owner-identity .text-link{font-size:12px;min-height:34px}.home-story-film h3{font-size:25px;margin-bottom:12px}.home-story-film>p{font-size:14px;margin-bottom:24px}.video-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 15px;font-size:11px;color:var(--muted);margin-top:15px}.video-caption a{text-decoration:underline;text-underline-offset:4px;min-height:32px;display:flex;align-items:center}.certificate-details{margin-top:50px;border-block:1px solid #cdd8de}.certificate-details summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:80px;list-style:none;font-size:16px;font-weight:600;padding:20px 0}.certificate-details summary::-webkit-details-marker{display:none}.certificate-summary-action{color:#476879;font-size:12px;display:flex;align-items:center;gap:20px}.certificate-summary-action:after{content:'+';font-size:27px;font-weight:400}.certificate-details[open] .certificate-summary-action:after{content:'−'}.certificate-content{display:grid;grid-template-columns:1fr 280px;gap:80px;padding:18px 0 40px}.qualification-copy h3{margin-bottom:20px}.qualification-copy p{margin-bottom:18px;font-size:14px}.qualification-preview img{max-height:430px;width:auto;margin-inline:auto}.qualification-preview figcaption{font-size:11px;text-align:center;margin-top:12px}.qualification-hint{font-size:11px!important;margin-top:12px}.reviews-section{padding-block:100px}.reviews-heading{margin-bottom:42px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.review-card{border-top:1px solid var(--line);padding-top:26px}.review-person{display:flex;gap:13px;align-items:center}.review-avatar{background:var(--soft);color:var(--blue);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600}.review-person h3{font-size:15px;letter-spacing:0}.review-source{font-size:11px;color:var(--muted)}.review-stars{display:flex;gap:3px;margin-block:22px 16px}.review-stars svg{width:14px;height:14px}.review-card blockquote p{font-size:14px;line-height:1.9;color:#425b67}.review-excerpt{display:block;font-size:10px;color:var(--muted);margin-top:14px}.reviews-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:36px}.reviews-bottom p{font-size:11px}.reviews-google{font-size:12px}.home-manager{padding-bottom:70px}.manager-teaser{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:35px 0;border-top:1px solid var(--line)}.manager-teaser h3{font-size:23px;margin-bottom:10px}.manager-teaser p{font-size:14px}.manager-teaser .button{flex-shrink:0}.contact-band{padding-block:70px;background:var(--ink);color:#fff}.contact-band .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-band p{color:#d3dfe5;font-size:15px}.contact-band .text-link{color:#fff;text-decoration-color:#6e8998}.contact-band .actions{margin-top:26px}
/* Footer and consent */
footer{padding-block:65px 25px;background:#fff;color:var(--ink)}.foot-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr 1.25fr;gap:40px}.foot-grid>div{min-width:0}.foot-grid h2{font-size:13px;letter-spacing:0;margin:5px 0 19px}.foot-grid a:not(.footer-brand){display:block;font-size:12px;padding:4px 0;overflow-wrap:anywhere;color:#526c79}.foot-grid a:hover{color:var(--red)}.foot-grid p{font-size:12px;margin-top:20px;line-height:1.9}.foot-grid .footer-brand{width:190px;height:58px;margin-top:-12px}.footer-brand img{width:205px;left:-6.8px;top:-16.4px}.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:22px;margin-top:45px;font-size:11px;color:var(--muted)}.foot-bottom>div{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.cookie-settings{font:inherit;border:0;background:none;padding:10px 0;color:inherit;min-height:44px}.cookie-settings:hover{text-decoration:underline}.cookie-banner{display:none;position:fixed;bottom:20px;left:20px;width:min(500px,calc(100% - 40px));z-index:1000;background:#fff;border:1px solid #b8c8d0;box-shadow:0 12px 50px #102a3b26;border-radius:4px;padding:26px;max-height:75dvh;overflow:auto}.cookie-text strong{font-size:17px;display:block;margin-bottom:10px}.cookie-text p{font-size:12px;line-height:1.7;margin-bottom:8px}.cookie-text a{text-decoration:underline;text-underline-offset:3px}.cookie-buttons{display:flex;gap:12px;margin-top:20px}.cookie-buttons button{flex:1;min-width:0;font-size:12px;min-height:46px;padding:11px}.btn-outline{border:1px solid #8a9fa9;background:#fff;color:var(--ink)}
@media(max-width:1199px){.navbar-links,.nav-call{display:none}.mobile-toggle{display:flex}.nav-inner{height:84px}.brand{width:190px;height:58px}.brand img{width:205px;left:-6.8px;top:-16.4px}.mobile-menu.open{display:flex;flex-direction:column;position:fixed;inset:84px 0 0;background:#fff;overflow:auto;padding:24px 48px max(40px,env(safe-area-inset-bottom));height:calc(100dvh - 84px)}.home-hero-grid{min-height:570px}.section-head,.home-practice,.home-story-grid,.contact-band .wrap{gap:45px}.service-grid,.reviews-grid{gap:28px}.foot-grid{gap:25px}.foot-grid{grid-template-columns:1fr 1fr}.home-hero h1{font-size:64px}}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}.section,.reviews-section{padding-block:75px}.home-story{padding-block:75px}.home-hero h1{font-size:58px}.home-trust-grid>*{padding-inline:20px}.home-trust strong{font-size:13px}.home-trust span{font-size:11px}.home-practice,.home-story-grid{gap:35px}.service-card h3{font-size:23px}.section-head{gap:35px}.section-head>p{font-size:14px}.service-grid{gap:24px}.home-hero-visual figcaption{right:32px}.reviews-grid{grid-template-columns:1fr;gap:28px}.review-card{display:grid;grid-template-columns:180px 1fr;gap:0 28px}.review-stars{grid-column:1;margin-block:15px}.review-card blockquote{grid-column:2;grid-row:1/4}.review-excerpt{grid-column:2;margin-top:8px}.manager-teaser{align-items:start;flex-direction:column;gap:22px}.certificate-content{gap:40px;grid-template-columns:1fr 220px}}
@media(max-width:600px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}body{font-size:15px}.utility-bar{display:none}.nav-inner{height:78px}.brand{width:166px;height:51px}.brand img{width:179px;left:-5.95px;top:-14.3px}.mobile-menu.open{top:78px;height:calc(100dvh - 78px);padding:14px 20px 90px}.mobile-menu a{font-size:15px}.mobile-quick-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:90;background:white;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-quick-contact a{display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600;border:1px solid #b8c7cf;border-radius:3px;min-height:43px}.mobile-quick-contact a:last-child{background:var(--red);color:#fff;border-color:var(--red)}.mobile-quick-contact svg{width:17px;height:17px}.home-hero-grid{min-height:600px}.home-hero-copy{padding-block:54px 83px;max-width:100%}.home-hero h1{font-size:clamp(38px,10.8vw,56px);line-height:1.15;letter-spacing:-.035em}.home-lead{font-size:15px;line-height:1.85;max-width:340px;margin-top:24px}.home-region{font-size:11px;max-width:300px;margin-top:17px}.home-hero .actions{gap:13px 22px;margin-top:27px}.home-phone{font-size:13px}.home-audience{margin-top:30px;font-size:11px;max-width:300px}.home-hero-visual img{object-position:60% center}.home-hero-visual:after{background:linear-gradient(90deg,#132b3bd9,#132b3b88 70%,#132b3b55)}.home-hero-visual figcaption{right:20px;bottom:19px;font-size:9px}.home-trust-grid{grid-template-columns:1fr;padding-block:9px}.home-trust-grid>*,.home-trust-grid>:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-left:0;border-bottom:1px solid var(--line);padding:15px 0}.home-trust-grid>:last-child{border-bottom:0}.home-trust strong{font-size:12px;max-width:155px}.home-trust span{font-size:10px;text-align:right}.section,.reviews-section,.home-story{padding-block:57px}.section-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}h2{font-size:32px;line-height:1.2}.button,.btn{padding:13px 21px;font-size:13px;min-height:49px}.service-grid{grid-template-columns:1fr;gap:28px}.service-card{padding:23px 0 0}.service-number{margin-bottom:18px}.service-card h3{font-size:26px;margin-bottom:13px}.service-card p{margin-bottom:14px}.service-card .service-lead{font-size:15px}.home-practice{grid-template-columns:1fr;gap:29px}.practice-photo{order:1}.practice-photo+div{order:0}.practice-photo img{height:295px}.documentation-compact{order:2;grid-template-columns:82px 1fr;gap:20px;padding-top:28px}.documentation-cover{padding:7px;align-self:start}.documentation-compact h3{font-size:22px}.documentation-compact p{font-size:13px}.document-links{gap:0;flex-direction:column;align-items:start;margin-top:12px}.document-links .text-link{font-size:12px;min-height:40px}.sample-note{font-size:10px!important}.home-story-grid{grid-template-columns:1fr;gap:40px}.home-story-film h3{font-size:24px}.certificate-details{margin-top:35px}.certificate-details summary{align-items:flex-start;flex-direction:column;gap:6px;font-size:15px}.certificate-summary-action{width:100%;justify-content:space-between;font-size:11px}.certificate-content{grid-template-columns:1fr;gap:25px}.qualification-preview img{max-height:360px}.reviews-heading{margin-bottom:30px}.review-card{display:block}.review-stars{margin-block:15px}.reviews-bottom{flex-direction:column;align-items:start;gap:15px}.reviews-bottom p{font-size:10px}.home-manager{padding-bottom:32px}.manager-teaser{padding-top:28px}.manager-teaser h3{font-size:23px}.manager-teaser .button{width:100%}.contact-band{padding-block:52px}.contact-band .wrap{grid-template-columns:1fr;gap:25px}.contact-band h2{font-size:34px}.contact-band p{font-size:14px}.contact-band .actions{gap:16px}.contact-band .text-link{font-size:13px}footer{padding:52px 0 calc(92px + env(safe-area-inset-bottom))}.foot-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.foot-grid>div:first-child,.foot-grid>div:last-child{grid-column:1/-1}.foot-grid h2{font-size:13px;margin-bottom:13px}.foot-grid a:not(.footer-brand){font-size:12px;min-height:35px;padding:5px 0}.foot-grid p{font-size:12px;margin-top:15px}.foot-bottom{flex-direction:column;align-items:start;gap:8px;font-size:10px;margin-top:30px}.foot-bottom>div{gap:18px}.cookie-banner{bottom:80px;left:12px;width:calc(100% - 24px);max-height:calc(100dvh - 175px);padding:20px}.cookie-text p{font-size:12px}.cookie-buttons{gap:9px;margin-top:15px}.cookie-buttons button{font-size:12px;padding:11px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* LMTec · Inner pages. Append after the shared site foundation. */

.page-intro {
  padding: 72px 0 84px;
  color: var(--ink);
  background: var(--soft);
  border-bottom: 1px solid var(--line);
}
.page-intro h1 {
  max-width: 1000px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(42px, 4.6vw, 66px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.page-intro p {
  max-width: 810px;
  margin: 25px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.85;
}
.page-intro p:empty { display: none; }
.page-intro .actions { margin-top: 30px; }
.page-intro :is(.breadcrumb, .breadcrumbs) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin: 0 0 31px;
  padding: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  list-style: none;
}
.page-intro :is(.breadcrumb, .breadcrumbs) ol {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-intro :is(.breadcrumb, .breadcrumbs) a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.page-intro :is(.breadcrumb, .breadcrumbs) a:hover { color: var(--ink); }

.steps, .manager-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px;
  margin-top: 48px;
}
.steps article, .manager-benefits article {
  min-width: 0;
  padding: 25px 0 0;
  border-top: 1px solid var(--line);
}
.steps .num, .manager-benefits .num {
  display: block;
  margin-bottom: 27px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .07em;
  line-height: 1.5;
}
.steps h3, .manager-benefits h3 { margin: 0 0 15px; }
.steps p, .manager-benefits p {
  margin: 0;
  color: var(--muted);
  line-height: 1.85;
}
.steps .text-link { display: inline-block; margin-top: 20px; }

.procedure-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 42px;
}
.procedure-grid .service-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px 28px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 3px;
  text-decoration: none;
  box-shadow: none;
  transition: border-color .18s ease, background-color .18s ease;
}
.procedure-grid .service-card:hover {
  border-color: var(--blue);
  background: #fbfcfd;
  transform: none;
}
.procedure-grid .service-card h3 { margin: 0 0 17px; font-size: 21px; }
.procedure-grid .service-card p { margin: 0 0 28px; color: var(--muted); line-height: 1.8; }
.procedure-grid .service-card .text-link { margin-top: auto; }

.film-section { padding: 76px 0 82px; background: var(--soft); }
.film-section .film-narrow { max-width: 1000px; }
.film-section h2 { margin: 0 0 32px; }
.film-section video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 3px;
}
.film-section .video-caption {
  max-width: 760px;
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}
.section.wrap.narrow { max-width: 960px; }
.narrow > h2 { max-width: 760px; }
.narrow > p { max-width: 760px; color: var(--muted); line-height: 1.85; }
.narrow .check-list, .manager-document .check-list {
  padding: 0;
  margin: 28px 0;
  list-style: none;
}
.narrow .check-list li, .manager-document .check-list li {
  position: relative;
  padding: 17px 0 17px 28px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  line-height: 1.8;
}
.narrow .check-list li::before, .manager-document .check-list li::before {
  position: absolute;
  top: 28px;
  left: 1px;
  width: 9px;
  height: 5px;
  border-bottom: 1.5px solid var(--blue);
  border-left: 1.5px solid var(--blue);
  content: "";
  transform: rotate(-45deg);
}

.person {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .8fr);
  align-items: center;
  gap: 96px;
}
.person > div { min-width: 0; }
.person h2 { margin: 0 0 27px; }
.person p { margin: 0 0 20px; color: var(--muted); line-height: 1.9; }
.person .button { margin-top: 14px; }
.person figure { width: 100%; max-width: 400px; justify-self: end; margin: 0; }
.person figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: 3px;
}
.person figcaption { margin-top: 15px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.qualification { padding: 84px 0; background: var(--soft); }
.qualification-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  align-items: center;
  gap: 100px;
}
.qualification-copy h2 { margin: 0 0 26px; }
.qualification-copy p { max-width: 640px; margin: 0 0 18px; color: var(--muted); line-height: 1.85; }
.qualification-copy strong { color: var(--ink); font-weight: 600; }
.qualification-copy .qualification-date { margin: 26px 0 22px; font-size: 13px; }
.qualification-copy .qualification-hint { margin: 11px 0 0; font-size: 12px; }
.qualification-preview { width: 100%; max-width: 300px; margin: 0 auto; }
.qualification-preview > a { display: block; border: 1px solid var(--line); background: #fff; }
.qualification-preview img { display: block; width: 100%; height: auto; }
.qualification-preview figcaption { margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.7; text-align: center; }

.manager-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
  align-items: center;
  gap: 70px;
}
.manager-intro h1 { font-size: clamp(42px, 4.1vw, 58px); }
.manager-intro p { max-width: 680px; }
.manager-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 27px;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: #fff;
}
.manager-contact img { display: block; width: 100px; height: 124px; margin-bottom: 22px; object-fit: cover; border-radius: 3px; }
.manager-contact strong { display: block; font-size: 20px; font-weight: 600; line-height: 1.4; }
.manager-contact span { display: block; margin-top: 9px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.manager-contact a { display: inline-block; margin-top: 22px; color: var(--ink); font-size: 19px; font-weight: 600; text-decoration: none; }
.manager-contact a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 5px; }
.manager-soft { background: var(--soft); }
.manager-prep, .manager-document {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 90px;
}
.manager-prep > div > h2, .manager-document h2 { margin: 0 0 25px; }
.manager-prep > div > p, .manager-document > div > p { color: var(--muted); line-height: 1.85; }
.manager-prep > div > .text-link { display: inline-block; margin-top: 14px; }
.manager-checks article { padding: 26px 0; border-top: 1px solid var(--line); }
.manager-checks article:first-child { padding-top: 0; border-top: 0; }
.manager-checks article:last-child { padding-bottom: 0; }
.manager-checks h3 { margin: 0 0 13px; font-size: 20px; }
.manager-checks p { margin: 0; color: var(--muted); line-height: 1.85; }
.manager-process {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 62px;
  row-gap: 40px;
  margin: 44px 0 0;
  padding: 0;
  list-style: none;
}
.manager-process li { display: flex; align-items: flex-start; gap: 22px; min-width: 0; padding-top: 25px; border-top: 1px solid var(--line); }
.manager-process li > span { flex: 0 0 29px; padding-top: 3px; color: var(--blue); font-size: 13px; font-weight: 600; }
.manager-process h3 { margin: 0 0 14px; font-size: 21px; }
.manager-process p { margin: 0; color: var(--muted); line-height: 1.85; }
.manager-document { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: center; }
.manager-document .sample-note { margin: 15px 0 0; font-size: 12px; }
.manager-report-cover { display: block; width: 100%; max-width: 330px; margin: 0 auto; border: 1px solid var(--line); background: #fff; }
.manager-report-cover img { display: block; width: 100%; height: auto; }
.manager-faq { max-width: 960px; }
.manager-faq > h2 { margin: 0 0 38px; }
.manager-faq details { border-bottom: 1px solid var(--line); }
.manager-faq details:first-of-type { border-top: 1px solid var(--line); }
.manager-faq summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding: 24px 0;
  color: var(--ink);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.7;
  cursor: pointer;
  list-style: none;
}
.manager-faq summary::-webkit-details-marker { display: none; }
.manager-faq summary::marker { content: ""; }
.manager-faq summary::after { flex: 0 0 20px; color: var(--blue); content: "+"; font-size: 24px; font-weight: 400; line-height: 1.15; text-align: center; }
.manager-faq details[open] summary::after { content: "−"; }
.manager-faq details p { max-width: 770px; margin: -3px 48px 26px 0; color: var(--muted); line-height: 1.85; }
.manager-faq .manager-qualification { margin-top: 28px; color: var(--muted); font-size: 14px; line-height: 1.85; }

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
  align-items: start;
  gap: 85px;
}
.contact-layout > * { min-width: 0; }
.contact-direct { padding-top: 9px; }
.contact-identity { display: flex; align-items: center; gap: 23px; margin-bottom: 31px; }
.contact-portrait { display: block; flex: 0 0 96px; width: 96px; height: 122px; object-fit: cover; border-radius: 3px; }
.contact-identity h2 { margin: 0 0 10px; font-size: 24px; line-height: 1.35; letter-spacing: -.025em; }
.contact-identity p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.contact-phone { display: block; width: fit-content; margin: 0 0 16px; color: var(--ink); font-size: clamp(22px, 2.1vw, 28px); font-weight: 500; letter-spacing: -.025em; text-decoration: none; }
.contact-phone:hover { color: var(--blue); }
.contact-email { display: inline; font-size: 14px; overflow-wrap: anywhere; }
.contact-address { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }
.contact-address p { max-width: 320px; margin: 0 0 16px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.contact-form { padding: 35px; border: 1px solid var(--line); border-top: 2px solid var(--blue); border-radius: 3px; background: #fff; box-shadow: none; }
.contact-form > h3 { margin: 0 0 12px; font-size: 25px; font-weight: 500; letter-spacing: -.025em; }
.contact-form .form-intro { margin: 0 0 29px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.contact-form .form-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; margin: 0 0 22px; }
.contact-form .form-row-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-form .form-group { min-width: 0; }
.form-group label { display: block; margin-bottom: 9px; color: var(--ink); font-size: 12px; font-weight: 600; line-height: 1.6; }
.form-group :is(input, select, textarea) {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 49px;
  padding: 12px 13px;
  border: 1px solid #cdd7dc;
  border-radius: 3px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  line-height: 1.5;
  box-shadow: none;
  transition: border-color .16s ease;
}
.form-group textarea { min-height: 152px; resize: vertical; }
.form-group input::placeholder, .form-group textarea::placeholder { color: #74838b; opacity: 1; }
.form-group :is(input, select, textarea):focus-visible { border-color: var(--blue); outline: 2px solid var(--blue); outline-offset: 3px; }
.form-group :is(input, select, textarea)[aria-invalid="true"],
.form-group :is(input, select, textarea):user-invalid { border-color: var(--red); }
.form-group :is(.field-error, .error-message) { margin: 9px 0 0; color: #923b3e; font-size: 12px; line-height: 1.7; }
.contact-form .form-privacy { margin: 1px 0 25px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.contact-form .form-privacy a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.form-submit { display: flex; align-items: center; margin-top: 25px; }
.form-submit .btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 11px;
  min-height: 50px;
  padding: 13px 25px;
  border: 1px solid var(--red);
  border-radius: 3px;
  background: var(--red);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease;
}
.form-submit .btn:hover { border-color: #983f41; background: #983f41; }
.form-submit .btn:disabled { opacity: .65; cursor: wait; }
.form-submit .btn svg { flex: 0 0 16px; }
.form-success { padding: 14px 0; }
.form-success svg { display: block; width: 42px; height: 42px; margin-bottom: 22px; color: var(--blue); }
.form-success h3 { margin: 0 0 13px; }
.form-success p { margin: 0; color: var(--muted); line-height: 1.85; }
#form-error { border-radius: 3px !important; font-size: 14px !important; line-height: 1.8; }
#contact-form, #form-success, #form-error { scroll-margin-top: 110px; }

.legal { max-width: 960px; }
.legal .container { width: 100%; max-width: none; margin: 0; padding: 0; }
.legal-content { max-width: 850px; }
.legal-content h2 { margin: 52px 0 20px; font-size: clamp(23px, 2.2vw, 29px); font-weight: 500; line-height: 1.4; letter-spacing: -.025em; }
.legal-content h2:first-child { margin-top: 0; }
.legal-content h3 { margin: 30px 0 13px; font-size: 20px; line-height: 1.5; }
.legal-content p, .legal-content li { color: var(--muted); font-size: 15px; line-height: 1.95; overflow-wrap: anywhere; }
.legal-content p { margin: 0 0 19px; }
.legal-content ul, .legal-content ol { margin: 20px 0 26px; padding-left: 23px; }
.legal-content li { padding-left: 4px; margin-bottom: 5px; }
.legal-content strong { color: var(--ink); font-weight: 600; }
.legal-content a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 900px) {
  .page-intro { padding: 52px 0 64px; }
  .page-intro h1 { font-size: clamp(38px, 5.7vw, 52px); }
  .page-intro p { font-size: 16px; }
  .steps, .manager-benefits { gap: 26px; }
  .steps h3, .manager-benefits h3 { font-size: 20px; }
  .procedure-grid { gap: 16px; }
  .procedure-grid .service-card { padding: 26px 20px; }
  .procedure-grid .service-card h3 { font-size: 19px; overflow-wrap: anywhere; }
  .person, .qualification-inner { gap: 45px; }
  .manager-intro-grid { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .manager-contact { flex-direction: row; align-items: center; gap: 24px; max-width: 560px; padding: 24px; }
  .manager-contact img { width: 90px; height: 112px; flex: 0 0 90px; margin: 0; }
  .manager-contact a { margin-top: 13px; }
  .manager-prep, .manager-document { gap: 42px; }
  .manager-process { column-gap: 36px; }
  .manager-process li { gap: 15px; }
  .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 42px; }
  .contact-direct { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 36px; align-items: start; }
  .contact-identity { grid-column: 1; grid-row: 1 / 4; margin-bottom: 0; }
  .contact-phone, .contact-email, .contact-address { grid-column: 2; }
  .contact-address { margin-top: 21px; padding-top: 17px; }
  .contact-address p:last-child { margin-bottom: 0; }
  .contact-form { padding: 32px; }
}

@media (max-width: 600px) {
  .page-intro { padding: 35px 0 47px; }
  .page-intro h1, .manager-intro h1 { font-size: clamp(32px, 8.7vw, 43px); line-height: 1.16; letter-spacing: -.04em; }
  .page-intro p { margin-top: 21px; line-height: 1.8; }
  .page-intro :is(.breadcrumb, .breadcrumbs) { margin-bottom: 25px; font-size: 11px; }
  .page-intro .actions { margin-top: 25px; }
  .steps, .manager-benefits, .procedure-grid { grid-template-columns: minmax(0, 1fr); gap: 27px; margin-top: 31px; }
  .steps article, .manager-benefits article { padding-top: 22px; }
  .steps .num, .manager-benefits .num { margin-bottom: 18px; }
  .steps h3, .manager-benefits h3 { font-size: 22px; }
  .procedure-grid { gap: 15px; }
  .procedure-grid .service-card { padding: 26px; }
  .procedure-grid .service-card h3 { font-size: 22px; overflow-wrap: normal; }
  .procedure-grid .service-card p { margin-bottom: 24px; }
  .film-section { padding: 49px 0 51px; }
  .film-section h2 { margin-bottom: 25px; }
  .film-section .video-caption { font-size: 12px; }
  .narrow .check-list li, .manager-document .check-list li { padding-top: 14px; padding-bottom: 14px; }
  .narrow .check-list li::before, .manager-document .check-list li::before { top: 25px; }
  .person, .qualification-inner { grid-template-columns: minmax(0, 1fr); gap: 37px; }
  .person figure { max-width: 320px; justify-self: start; }
  .person h2, .qualification-copy h2 { margin-bottom: 23px; }
  .qualification { padding: 54px 0; }
  .qualification-preview { max-width: 260px; }
  .manager-intro-grid { gap: 30px; }
  .manager-contact { align-items: flex-start; gap: 18px; padding: 21px; }
  .manager-contact img { flex-basis: 72px; width: 72px; height: 94px; }
  .manager-contact strong { font-size: 18px; }
  .manager-contact span { font-size: 12px; }
  .manager-contact a { font-size: 17px; }
  .manager-prep, .manager-document { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .manager-checks article:first-child { padding-top: 25px; border-top: 1px solid var(--line); }
  .manager-process { grid-template-columns: minmax(0, 1fr); gap: 26px; margin-top: 31px; }
  .manager-process li { gap: 18px; }
  .manager-report-cover { max-width: 280px; }
  .manager-faq > h2 { margin-bottom: 29px; }
  .manager-faq summary { gap: 18px; padding: 21px 0; font-size: 16px; }
  .manager-faq details p { margin-right: 0; font-size: 15px; }
  .contact-layout { gap: 33px; }
  .contact-direct { display: block; }
  .contact-identity { gap: 21px; margin-bottom: 27px; }
  .contact-portrait { flex-basis: 84px; width: 84px; height: 106px; }
  .contact-identity h2 { font-size: 23px; }
  .contact-phone { font-size: 25px; }
  .contact-email { font-size: 14px; }
  .contact-form { padding: 25px 20px; }
  .contact-form > h3 { font-size: 24px; }
  .contact-form .form-row-2 { grid-template-columns: minmax(0, 1fr); }
  .contact-form .form-row { gap: 20px; margin-bottom: 20px; }
  .form-submit .btn { width: 100%; }
  .legal-content h2 { margin-top: 38px; font-size: 23px; }
  .legal-content h3 { font-size: 19px; }
  .legal-content p, .legal-content li { font-size: 14px; line-height: 1.9; }
}

@media (prefers-reduced-motion: reduce) {
  .procedure-grid .service-card, .form-group :is(input, select, textarea), .form-submit .btn { transition: none; }
}

@media(max-width:1199px){.utility-bar{display:none}}

/* Authentic practice photography · 31 October 2026 */
.practice-photo-person img{height:460px;object-position:50% 61%}
.practice-methods{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.practice-methods figure,.field-evidence figure{margin:0;min-width:0}
.practice-image{height:480px;overflow:hidden;border-radius:3px;background:var(--soft)}
.practice-image img,.field-photo img{width:100%;height:100%;object-fit:cover}
.smoke-image img{object-position:50% 34%}
.green-roof-image img{object-position:50% 70%}
.practice-methods figcaption{padding-top:22px}
.practice-methods h3{font-size:24px;line-height:1.3;margin-bottom:10px}
.practice-methods p{font-size:14px;line-height:1.8;margin:0 0 7px}
.field-evidence{border-top:1px solid var(--line)}
.field-photo-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
.field-photo{height:570px;overflow:hidden;border-radius:3px;background:var(--soft)}
.smoke-overview img{object-position:50% 53%}
.field-evidence figcaption{margin-top:15px;font-size:13px;color:var(--muted);line-height:1.8}
.field-evidence-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:80px}
.field-evidence-split h2{margin-bottom:24px}
.field-evidence-split p{margin:0 0 19px;line-height:1.9;font-size:15px}
.field-evidence-split .field-photo{height:500px}
.field-evidence-about .field-photo img{object-position:50% 61%}
.owner-identity>img{width:100px;height:125px}
.owner-identity p,.owner-identity .text-link{font-size:13px}
.video-caption,.sample-note{font-size:12px!important}
.foot-grid a:not(.footer-brand),.foot-grid p{font-size:13px}
.form-group input::placeholder,.form-group textarea::placeholder{color:#5d6e76}
@media(max-width:900px){.practice-methods,.field-photo-pair{gap:28px}.practice-image{height:400px}.field-photo{height:480px}.field-evidence-split{gap:38px}.field-evidence-split .field-photo{height:450px}}
@media(max-width:600px){.practice-photo-person img{height:360px;object-position:50% 61%}.practice-methods{order:2;grid-template-columns:minmax(0,1fr);gap:34px}.documentation-compact{order:3}.practice-image{height:420px}.practice-methods h3{font-size:23px}.field-photo-pair,.field-evidence-split{grid-template-columns:minmax(0,1fr);gap:30px}.field-photo,.field-evidence-split .field-photo{height:450px}.field-evidence-split>div{grid-row:1}.field-evidence figcaption{font-size:12px}.owner-identity{gap:18px}.owner-identity>img{width:92px;height:115px}.owner-identity strong{font-size:17px}.owner-identity p{font-size:12px}.foot-grid a:not(.footer-brand){min-height:40px}}

@media(max-width:600px){.field-evidence h2,.film-section h2{font-size:clamp(28px,8vw,32px);overflow-wrap:anywhere}.field-photo.smoke-image img{object-position:50% 50%}}

/* Original smoke-test footage */
.practice-video-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:center;gap:80px;margin-top:64px;padding-top:64px;border-top:1px solid var(--line)}
.practice-video-copy{max-width:520px}
.practice-video-copy h3{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.04em;margin:0 0 24px;overflow-wrap:anywhere}
.practice-video-copy p{font-size:16px;line-height:1.9;margin:0 0 20px}
.practice-video-figure{width:100%;max-width:340px;justify-self:end}
.practice-video-figure video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#11232e;border-radius:3px}
@media(max-width:900px){.practice-video-layout{gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,300px)}}
@media(max-width:600px){.practice-video-layout{grid-template-columns:minmax(0,1fr);gap:30px;margin-top:42px;padding-top:42px}.practice-video-copy p{font-size:15px}.practice-video-figure{justify-self:start}.practice-video-copy h3{font-size:28px}}
